Files
calctext/_bmad-output/implementation-artifacts/9-1-wasm-engine-integration.md
2026-03-16 19:54:53 -04:00

1.4 KiB

epic, story, title, status
epic story title status
9 9.1 WASM Engine Integration draft

Epic 9 — Web App (React + WASM)

Goal: Zero-install web experience with real-time collaboration.

Story 9.1: WASM Engine Integration

As a web user, I want the CalcPad engine running natively in my browser via WebAssembly, So that I get full calculation fidelity without installing anything.

Acceptance Criteria:

Given the calcpad-engine Rust crate is configured with wasm-pack targets When the WASM module is compiled with wasm-pack build --target web Then a valid .wasm binary and JS glue code are produced And the gzipped WASM bundle is less than 500KB

Given the web app is loaded in a browser When the WASM engine is initialized Then it is loaded inside a dedicated Web Worker thread And the main UI thread remains unblocked during computation

Given the WASM engine is running in a Web Worker When the UI sends an evaluation request Then communication occurs via postMessage serialization And the worker returns the computed result back to the main thread via postMessage

Given the WASM engine is initialized in the worker When a user types a valid CalcPad expression Then the engine evaluates it with identical results to the native Rust engine And all supported operations (arithmetic, units, conversions, variables, functions) produce matching output