#rust #wasm #trunk

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.