# WASM build — placeholder Phase 0 task **"WASM hello-world build (Emscripten)"** and the Phase 2 task **"WASM rendering path"** live here. Not implemented yet. **Rule R5: WASM never blocks shipping.** Server-side rendering is always the fallback. The Phase 0 WASM task is *validation only* — prove that Emscripten can compile a C++ function callable from JS. Do not gate Phase 1 on it. Planned pipeline (engine blueprint §6): ```sh emcmake cmake --preset wasm emmake cmake --build --preset wasm # outputs: engine.wasm + engine.js ``` Key build flags to carry forward: `ALLOW_MEMORY_GROWTH=1`, Web Worker + OffscreenCanvas for off-main-thread rendering. The `cmake/toolchains/wasm.cmake` hook and a `wasm` CMake preset are stubbed in this session so the integration point exists.