Generative Assets · Industry demo build notes
A fictional Welshpool bus and coach charter operator, built as a one-page conversion demo: wedding planners, club coordinators and families land, price a bus in the Charter Planner, and send an enquiry with the scenario already attached. Back to the site or the collection.
Wattleline Charters moves groups — 13, 24 or 48 seats, driver included, from a Welshpool depot across the Perth metro and a Swan Valley day-trip ring. The page has one job: a charter enquiry with the bus size, hours and price already quoted. The art direction is the depot at 6am — morning-grey ground, the coach long and confident in livery green, headlight beams as the only warm light. Punctual, unhurried; the page should feel like the bus that’s already there when you walk out.
The ink/line split holds throughout: wattle gold draws beams, stars, rings and plate borders but never sets small copy; on the night surfaces (plates, destination boards, footer) the brighter #E9B84C carries display-size figures only.
Anton (one weight, 400) is the destination-board face — block caps for the h1, section heads and the route plate, set like the roller signs on the front of a bus. The display moment is “EVERYONE ON THE SAME BUS” as a black roller strip with gold caps, straight off the destination board. Public Sans does everything else: a plain, legible workhorse that reads like signage regulation text, body ≥16px on mobile, tabular numerals in the steppers and ledger.
An SVG bus side profile drawn procedurally — body, windscreen, door, mirror, wheel arches, gold skirt stripe — that swaps length with the bus chips: the 13-seat minibus, 24-seat mini coach and 48-seat coach each rebuild the profile with more window bays. Every seat is a window cell, and windows light one per passenger, filled front-to-rear; a glow sweep travels the lit rows on a rAF loop with a never-invisible floor — settled opacity never drops below 0.55, so the 7-second thumbnail always catches a lit bus. The quoted price sits on the bus as a route-number plate (gold-bordered, Anton figures), inside the first 750px at 1200 wide.
Engineering notes: the entrance staggers 45 ms per window on first draw and 8 ms on every later state change (dual-speed redraw); handlers bump an invalidation token before the state swap; the rAF delta is clamped at zero and capped; the settled probe flag flips only when every lit window’s entrance fade has actually completed — it’s derived from the rendered state, not a timer. Reduced motion renders all lit windows at a static 0.82 and settles immediately. The scene is pure SVG — no canvas, no libraries.
| Bus | Hourly (driver incl.) | Airport transfer (flat, one-way, metro) | Seats |
|---|---|---|---|
| 13-seat minibus | $120/hr | $260 | 13 |
| 24-seat mini coach | $150/hr | $320 | 24 |
| 48-seat coach | $190/hr | $420 | 48 |
The demo page itself carries only WebPage/CreativeWork schema naming it a demonstration — fictional structured data in a real index is dishonest markup. For a real operator we’d ship:
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "LocalBusiness",
"additionalType": "https://www.wikidata.org/wiki/Q1316657",
"name": "Wattleline Charters",
"description": "Bus and coach charter with driver across Perth —
13 to 48 seats from the Welshpool depot.",
"telephone": "+61 8 9000 0320",
"address": {
"@type": "PostalAddress",
"addressLocality": "Welshpool",
"addressRegion": "WA",
"postalCode": "6106",
"addressCountry": "AU"
},
"areaServed": ["Perth", "Swan Valley", "Mandurah"],
"openingHours": "Mo-Fr 07:00-17:00",
"priceRange": "$260 - $1,900",
"review": {
"@type": "Review",
"reviewRating": { "@type": "Rating", "ratingValue": "5" },
"author": { "@type": "Person", "name": "…real customer…" },
"reviewBody": "…from the operator's verified reviews feed…"
},
"aggregateRating": {
"@type": "AggregateRating",
"ratingValue": "4.9",
"reviewCount": "…measured…"
}
}
</script>
schema.org has no charter-bus subtype, so the top-level type stays LocalBusiness and a real build would add additionalType pointing at a bus-charter concept (shown above), plus service-page schema per offering. Review and rating values would come from the operator’s real, verifiable feed — never authored.
Their fleet photography replacing the procedural scene (or sitting beside it — the planner keeps earning its place), their reviews feed (Google Business Profile API), online booking and dispatch through their charter system — CoachManager, Busmin or a Tradify-style job flow for the smaller operators — GPS/duty integration (Geotab, Logmaster for fatigue compliance on longer runs), and Xero for invoicing. The quote form would post to their dispatch inbox or booking API with the planner scenario attached as structured data.
points attribute — parsed leniently by Chrome but invalid SVG; fixed.settled flag flipping true while a late window was still mid-fade (sampled 0.433 against the 0.55 floor). Rewired: settled now derives from every lit window’s entrance being complete in the render loop, not from time bookkeeping — the floor assert holds at any settled sample.pattern v-flag-validated with every literal special escaped.