Reading the WASM Trunk Pipeline
How evolution, chladni, and the CAD externals share one Trunk + DNA workspace layout.
Several too.foo sims never touch Node at runtime. They compile Rust to WASM with Trunk, copy static assets from public/, and deploy the resulting dist/ to Cloudflare Pages.
Layout
apps-external/evolution/
Cargo.toml # workspace root + WASM crate
DNA/ # shared simulation kernel
src/lib.rs # canvas + RAF loop
index.html # trunk entry + fleet header chrome
Trunk.toml
app.json points deploy.root_dir at the external folder so fleet-score and audit.mjs resolve the real build root.
Fleet-score signals
Simulation apps get credit for URL params (?seed=) and prefers-reduced-motion — shareable state and accessibility are part of the archetype grade.
Deploy verify
After pnpm --filter @too-foo/evolution build, tools/deploy.sh evolution uploads in ~10s. Verification greps the live HTML for landmarks, not just HTTP 200 — CF Pages serves the home page as a fallback for missing routes.