# W-027 Status status: done task: 建立真实 WebEngineWorker ready 路径 ## Evidence - Worker: `web/app/src/workers/web-engine.worker.ts` - Client: `web/app/src/engine-client/WebEngineClient.ts` - Vendored runtime: `web/app/src/vendor/blender/web_engine.js` and `web/app/src/vendor/blender/web_engine.wasm` - Static deployment copies: `web/app/public/vendor/blender/` - Install script: `tools/web/install-web-engine-assets.sh` - Golden: `tests/golden/W-027/worker-ready.json` The worker dynamically imports the local Emscripten glue, fetches the local WASM asset, initializes the ABI and returns deterministic memory stats. The UI reports this as `WASM ABI: ready`; `.blend` loading now uses the same real ABI and returns SceneIR snapshots. The legacy mock EngineClient remains only for protocol regression tests. ## Verification ```text npm run test:e2e # 4 passed, including local web_engine worker npm run build # web-engine.worker and vendor/blender assets present ```