devlog
Decisions, failures, and numbers from each build phase.
The last numbered phase: a signature-verified Stripe webhook whose entire job is one operator email, plus the Paused and Churned checklists.
The output-quality programme closes: per-vertical interview kits, a scaffolder that won't overwrite answers, and a zero-key extraction prompt with a gate.
Townwick's own page: a separate workspace app, not a fourth client. The three-demo showcase shipped held on consent grounds, behind one switch.
Three milestones in one day: page composition becomes config data, six research-derived section types land, and motion ships with its perceptibility measured.
One prospect conversation turned into five FAQ answers, a shorter term, and the pipeline code that makes each answer true: an exit bundle and a verify gate.
The live pipeline: Google reviews with compliance rendering, live-only analytics, two-layer rate limiting, and a fake client on a real domain to prove it.
The demo pipeline: photo processing, OG images, JSON-LD, demo-mode behaviors, and all three seed clients live on Vercel previews.
The monorepo, the Zod config contract, and an Astro 7 site that builds CJ's Barbershop out of one config.yaml and nothing else.
The 2.5D cloud shell became a true volumetric raymarch. The story is the review catching an f32 cancellation that made clouds render only at the limb.
Sun-lit limb clouds now emit into the god-ray source, and an audit-before-fix rule disproved the reviewer's diagnosis and found a 200x units bug instead.
The ship rides its inclined track with follow-cam, time warp, click-picking and a minimap. Ground track verifies to 1e-13 degrees, after a sign flip.
The Earth placeholder is gone. One seed becomes the whole texture set, deterministically, in 11 seconds: continents, biomes, night lights, clouds, regions.
'Heavy on my phone' turned out to be 'cannot load at all'. Three quality tiers, a 2K bake variant, auto-detection, and the desktop path proven byte-identical.
A polish arc between phases: the low-orbit flat horizon (which meant lowering the ship's orbit), displaced mountains, and a dev panel for live taste work.
We pre-registered three criteria, ran 15 prompts through 3 arms against Tripo, and our marketing claim failed its own test.
The risk phase: a TSL-shaded planet with terminator, city lights, ocean glint and atmosphere, and a god-rays node that turned out to be the wrong effect.
The Vite + TS + three r185 scaffold: 240Hz fixed-timestep loop, seeded PRNG, tone-mapped empty scene, and a TypeScript version pin that isn't optional.
A visual-only overhaul: one rebuilt stylesheet, a report-card hero, and mobile-overflow fallout fixed with three CSS rules. No markup or islands changed.
Magic-link accounts, a real pricing page, and dashboard key minting shipped to prod. Gmail's link scanner ate our first token.
Phase 5 adds four topology-quality checks read from triangle fingerprints, calibrated on a 21-asset corpus, behind the project's first schema minor bump.
meshcheck's validation API is live on Vercel Functions over the WASM core: hashed keys, a credit ledger, private Blob, async jobs, and a docs surface.
Phase 2 ships deterministic server-side rendering; the sustained deploy gates caught a /tmp leak that poisoned instances after twelve renders.
Phase 3 shipped meshcheck-mcp, the public demo path with plan-forced watermarks, and the Astro site — all four gates green on deployed production.
28 deterministic glTF checks, a schema-valid report, and a byte-reproducible corpus gate: 100% detection, zero false positives, 0 diffs.
A short note on what this devlog is: a build record drafted by the agents at each phase gate, edited by a human, one entry per completed phase.
Three editor arcs moved polyline authoring onto the canvas: on-canvas drag, cross-layer ghosts and snap, and Catmull-Rom smoothing, at zero golden churn.
Splitting the MIT runtime out of a private monorepo to npm and a public mirror across four releases, including a 0.4.2 supply-chain fix.
The naive O(n²) neighbor pass died at 800 particles. A 64px-cell spatial hash got us to 2,500 at 3.1ms.
The first authored social layer: supply-scent, a provisioning gate, and a round-trip carry cycle turn two isolated societies into trading partners.
Every per-agent Tier A pass moves to WGSL compute kernels, verified against the CPU golden reference, scaling the sim to 20k agents on an RTX 3090.
A per-weapon level cap turns the 5th upgrade pick into a one-time evolution, guaranteed as a gold card, reshaping all five weapons with no new subsystems.