# W-031 Status status: done task: 定义 SceneIR v1 ## Evidence - TypeScript contract: `web/protocol/scene-ir.ts` - C++ serializer: `blender-5.2.0/source/blender/web_engine/web_engine_blend_reader.cpp` - Golden: `tests/golden/W-031/scene-ir-v1.json` SceneIR v1 now carries versioned source metadata, Blender Z-up coordinate semantics, stable type/name IDs, nodes, collections, meshes, materials, images, cameras, lights, animations, scenes, frame bounds and active object. Browser validation rejects unsupported schema, coordinate, matrix and tuple shapes. IDs are generated from Blender ID names with deterministic duplicate suffixes; the wire format contains no raw WASM pointer. ## Verification ```text npm run typecheck node tools/web/run-web-engine-smoke.mjs ``` ## Remaining risk Image and animation arrays are schema-ready but are still empty until their datablock extraction tasks are implemented.