Add Chromium-only Blender WebEngine parity work

This commit is contained in:
mes123456
2026-08-12 04:47:48 -04:00
commit 9fd26010f6
18225 changed files with 11622124 additions and 0 deletions

26
docs/status/W-037.md Normal file
View File

@@ -0,0 +1,26 @@
# W-037 Status
status: done_current_scope
task: 实现场景完整快照
## Implemented
`get_scene_snapshot` remains a validated JSON compatibility ABI, including
bounded positions/index/normals and optional
UV/color/material-slot arrays for available meshes. The Worker validates that
fallback snapshot, packs the geometry into little-endian `Float32Array`/`Uint32Array`
buffers, strips the large arrays from the browser snapshot, and transfers the
buffers to React/Three.js. Browser parsing is centralized in
`parseSceneSnapshotIR` and failures become stable worker error reports. The
envelope and chunk rules are documented in `docs/web/mesh-buffer-layout.md`.
## Accepted bounded scope
The preferred native WBG1 metadata/geometry ABI now emits positions, indices,
corner attributes, material/face/edge indices, tangents and split normals as
tightly packed little-endian buffers. The Worker validates lengths/bounds and
keeps large arrays out of React state. Per-mesh envelopes, Worker processing,
Three.js frustum culling, linked-data `InstancedMesh` groups and LOD cover the
current large-scene contract. `?offscreen=1` capability-gates real canvas/WebGL
ownership in a render Worker with orbit, selection and nonblank-pixel E2E;
unsupported browsers retain the main-thread renderer.