-
no preview yet
The sterile master
Asymmetric hero, one continuous turn in even 66° steps, four scroll notes carrying one sourced fact each. Poses live in the markup, so a note added in HTML gets choreography for free.
Built to settle All eight sections of the brief in one page, plus the reveal sequence. Every other page is a copy of this one.
-
no preview yet
Centred, on the client's own model
alt.csssits aftermain.cssand re-composes the three blocks where the directions actually differ. Same tokens, same type, same components —main.cssis untouched.Built to settle Whether the system holds when the hero is centred rather than asymmetric, without forking anything below it.
-
no preview yet
A title sequence, not a turntable
data-sequence="shots"switches choreography from a turn to a shot list: eased segments, uneven steps by design, and the even-step guard turned off because even steps are what a shot list must not have. Six frames, each different in angle, crop, scale and subject.Built to settle Whether a pinned film beats a rotation. GSAP is imported as modules here, never as UMD globals — two instances would mean two tickers.
-
no preview yet
The car does not exist yet
The camera holds one frame. Nothing orbits, nothing drifts; the only thing scroll drives is how much car is there.
lanes.jsderives the caption's position and the camera's offset from one declaration, so the two cannot disagree — and asserts it by projecting the car's bounding box against the caption's.Built to settle The page's own headline says nobody buys one of these off a lot, and a finished object rotating is what a lot shows.
-
no preview yet
Ten parts, then the lamps
D's premise as a manifest.
parts.jsis a table — id, label, node prefixes, and the axis each part arrives along — separated from the motion so re-ordering the build never means touching a timeline. At most three flights in the air at once.Built to settle Whether the assembly reads as an ordered build rather than a bang. All 31 node prefixes verified against the GLB, not against the brief.
-
no preview yet
A room, a floor, and a turn you make
The hero alone, no fold. A wall with a gradient, a pool of light on the floor, the word on the wall, and nine scroll beats with a camera that walks and callouts pinned to the car.
Built to settle The interior atlas at its source 4096 — the cockpit carpet rendered as crushed gravel at 2048. It cost the budget: 10.21 MB gzipped against a 5 MB ceiling, recorded over the line on purpose.
-
no preview yet
The car comes apart
Built on someone else's skill on purpose —
scroll-craft, vendored whole and never edited. Its engine owns the scroll grammar and publishes each act's progress as--sc-p, which is the entire contract between the two halves. Score: pin, flow, pan, pin, flow.Built to settle The one thing here that could not be a photograph. Two standing rules are set aside by name: mono is not loaded, and
--sc-*is the only token system on the page. -
no preview yet
The hero alone
Direction B's page driving the bought car, cut to the scene and nothing else. Header, footer, inventory, build, about, services, consignment and community are parked, not deleted — each commented out above an inventory of what went with it.
Built to settle Cutting the page to the sequence is what exposed the real bug: ScrollSmoother's transform on
#smooth-contentkills the canvas'sposition: stickyoutright. This page ships no wrapper at all. -
no preview yet
The campaign
Built from the storyboard language rather than from the previous hero. A pinned hero in three acts, and the whole page under it. The backing pool is placed from the camera azimuth every frame, so the room follows the lens instead of one rig aimed at act 01.
Built to settle Measured rather than looked at: holds and cuts at 78.1% composed, 21.5% transition, 0.4% empty. Zero AA failures, tightest 4.97. All eleven image slots are empty plates that state their own subject — no photograph is invented.
-
no preview yet
One column, and a news section
The page arrives as you scroll. One
--edgetoken carries the same gutter to the header, the hero and every section below — above 1920 those three had been standing on different figures. The hero's exit is scroll-linked through--hero-exitand has no duration of its own.Built to settle Motion tied to the wheel rather than to a clock. All of it sits behind
@supports (animation-timeline: view()); where that is unsupported the sections stand still and fully visible, because the observer version misfired and took four sections with it. -
no preview yet
The client’s September changes
v10 with the change request of 10 September applied: the original white mark, Backdraft Racing as the maker’s credit, a hero that plays the video once and dissolves through stills, the client’s own About copy, a pinned Grand Opening with a countdown, a credit application, and the four social accounts. Reviews and Car Collection are out.
Built to settle A design for approval, not a working site. The application sends nothing and says so; where its data goes is a later conversation. Every new claim is in the content ledger under “index11”.
-
no preview yet
The client’s second round
v11 with the four changes of 11 September: Home in the nav (Evan would never have known the logo goes to the top), the build panel closing on a call to book a visit, color spelt the American way, and the credit application off the scroll and onto its own page — finance.html — with the Finance section staying and sending people there.
Built to settle The same standing as 11: a design for approval. index11 is untouched; everything that changed lives in v12.css, v12.js and the two pages’ own markup. Ledger under “index12”.