Build notes · Site 186 · Wave 8 — Form
REULEAUX is a fictional machine-shop demonstration bench for curves of constant width — shapes that gauge the same across in every direction without being circles. The audience is anyone who trusts a micrometer. The page has a single job: make you watch a cornered shape roll between fixed rails without a bounce, then drill a square hole with a triangle, and believe both.
Argued from the shop floor, not from taste: oil-dark timber, one red gauge needle, brass stock, chalk marks.
Anton is the stencilled shop signage — one weight, all caps, cut tight at display sizes for the headline and the big spec numerals. Fira Code sets everything measured: body, captions, gauge readouts, lane labels. A monospaced body makes the whole page read like a data sheet, which is the joke — the data never changes. 120.0, every line, every angle.
Everything is inline SVG driven by one rAF loop; no libraries. Each curve is a support
function h(θ): the distance from centre to the tangent line whose outward normal points along
θ. Constant width is the identity h(θ) + h(θ+π) = W — which is why the rails
cannot jostle: both tangencies are algebraic, not simulated. Rolling on the bottom rail
puts the hub at height h(θ) and horizontal position s(θ) − h′(θ), where
s = ∫(h + h″) is the no-slip odometer; body rotation is φ = −π/2 − θ.
For Reuleaux polygons h is piecewise trig (arcs roll at rate W, corners pivot at rate 0 — the
contact tick freezing on the rail is that pivot); lane 04 is a random odd-harmonic support
function W/2 + Σ aₖcos kθ + bₖsin kθ, k ∈ {3,5,7}, kept convex by budgeting
Σ(k²−1)·ampₖ < W/2. Barbier's theorem (perimeter = πW for all of them) is what
keeps the four lanes in lockstep at equal spin rates.
The square drill is the same machinery pointed at four walls: with the guide square side W,
the bit's centre is pinned to C(φ) = (W/2 − h(−φ), W/2 − h(π/2 − φ)) — the true
trammel-style motion. All four wall tangencies hold at every φ by the same identity, and C traces
the small four-arc circuit three times per revolution. The hole "fills" by stamping the bit's
silhouette into 90 rotation bins (bounded DOM, arrives mid-drill so the 7-second settle reads);
the swept union covers 98.77% of the square, and the four corner slivers survive because a
120° corner can never reach a 90° one.
Drove the signature and asserted on it: max |h(θ)+h(θ+π)−W| over 720 samples came back < 1e−12 for all four lanes, and the rendered roller bounding boxes tracked both rails within sub-pixel across a live sweep — rails provably not jostling. Found the pentagon's lane label colliding with the gauge readout at narrow widths (dropped the station-head right tag under 560px), lifted caption contrast from #99907D to #ADA394 (4.7→6.1:1), and re-cut the hero so "a circle." carries the only brass in the headline.
Added the second-read details: the contact tick on each lower rail that freezes whenever a corner pivots (the rolling law made visible), true contact dots on the roving caliper that slide off the perpendicular near corners, and lane 04 re-rolling its harmonics every visit. Re-timed the drill to arrive mid-sweep (~24 of 90 bins pre-stamped) so the settled frame reads as work in progress, and slowed the caliper orbit to 16 s so the constant readout is legible, not frantic.
375px: lanes and stations stack clean, scrollWidth stays 375, wordmark and nav inside the
viewport. Reduced motion renders a settled mid-roll frame with the hole fully swept — both
the CSS media query and a matchMedia gate before the loop starts. Caught here: the settled
sweep pre-stamp accumulated φ += binStep in float, drifted, and folded two
samples into one bin — 89/90 forever; stamping bin centres by index made it exactly 90/90. rAF pauses on
document.hidden with a clamped delta on resume; a paused-state refresh handles resize
(geometry itself is viewBox-scaled). Chanel rule: cut a planned ruler strip along the mill's
top edge — the hatching already says "machine". Verified drill coverage 98.7% by grid
sampling against the exact poses, corners provably unswept.