Colophon
Honest accounting: what ships, what it weighs, what it does. Measured from this exact build, not estimated.
Stack
No framework. A single Node generator (scripts/build.mjs) reads data/*.json and emits static HTML. Vanilla ES modules; three@0.170 tree-shaken per-page by esbuild with code-splitting, loaded on intersection + idle so first paint never waits for WebGL. Fonts: Fraunces variable, instanced to the axes actually used and subset to latin-core — 66 KB across two faces. System neo-grotesque for data: zero bytes.
Algorithms
- VineLSystem — deterministic L-system, asymmetric turn angles, phyllotaxis leaf placement (golden angle 137.507°)
- StainedGlass — sampled Voronoi with Lloyd-style relaxation, came-leading strokes, emissive pane selection
- TendrilField — GPU curl-noise flow field, five time-slices composited in one fragment pass
- Guilloche — hypotrochoids of rolling circles (rose-engine curves)
- PeacockFractal — recursive barb rings around a spectral eye-spot
- IridescentMaterial — view-angle thin-film spectral shader (fresnel-driven cosine palette)
- WhiplashCurve — cubic Bézier with unequal handle lengths; identical math as SVG path and THREE.Line
Byte budget
assets/css/main.css | 21 KB | 6.0 KB | undefined |
assets/fonts/fraunces-display.woff2 | 33 KB | 33 KB | undefined |
assets/fonts/fraunces-display-italic.woff2 | 33 KB | 33 KB | undefined |
assets/js/home.js | 0.5 KB | 0.3 KB | undefined |
assets/js/object.js | 1.0 KB | 0.6 KB | undefined |
assets/js/atelier.js | 0.7 KB | 0.4 KB | undefined |
chunks (6 shared) | 525 KB | 137 KB | undefined |
assets/js/site.js | 0.8 KB | 0.5 KB | undefined |
assets/js/archive.js | 0.8 KB | 0.4 KB | undefined |
| Total (uncompressed) | 616 KB | 211 KB gz / 211 KB br | across listed assets |
|---|
First-load transfer target <400 KB per route including the renderer chunk. The generative art earns a larger envelope than a text site would — every byte above is either font, layout CSS, or the mathematics doing the drawing. HTML itself carries all text content and the SVG fallback stills, so the page reads completely before any JavaScript arrives.
Disclosures
- The gold-foil headings are a light gradient, honestly labelled — not metal, not texture.
- Fallback stills are generated at build time by the same module code as the live scenes, from fixed seeds.
- No cookies, no analytics, no third-party requests of any kind.
- All historical facts trace to the locations cited on each object page; dating conflicts are disclosed there.