Add Chromium-only Blender WebEngine parity work
This commit is contained in:
29
docs/status/W-038.md
Normal file
29
docs/status/W-038.md
Normal file
@@ -0,0 +1,29 @@
|
||||
# W-038 Status
|
||||
|
||||
status: done_current_scope
|
||||
task: 实现场景增量
|
||||
|
||||
## Implemented
|
||||
|
||||
`web/protocol/scene-delta.ts` defines revisioned node add/update/remove, active
|
||||
object/frame changes and mesh/material/camera/light/animation resources.
|
||||
`diffSceneSnapshots` emits changed node and resource fields;
|
||||
`applySceneDelta` rejects stale base revisions and returns sorted immutable node
|
||||
arrays. The native C ABI computes the same minimal delta whenever a new
|
||||
`.blend` is opened, and the Worker exposes it through the `delta` request after
|
||||
validating the envelope. The command registry covers scene/frame state,
|
||||
modifier switches, mesh editing, material/UV authoring, keyframes/constraints
|
||||
and object hierarchy operations. Each command mutates Blender Main and returns
|
||||
the corresponding revisioned delta through `applyCommand`.
|
||||
|
||||
## Accepted bounded scope
|
||||
|
||||
SceneDelta now covers resource collections for meshes, materials, cameras,
|
||||
lights and animations in addition to nodes/frame/active object. Mesh payloads
|
||||
transfer separately so topology and attribute changes replace the associated
|
||||
resource envelope, while node-only changes stay in place. All declared
|
||||
authoring commands are Main-authoritative and covered by save/reopen. Fine-
|
||||
grained `MeshGeometryDelta` patches now transfer only changed byte ranges when
|
||||
field lengths stay stable; topology/attribute layout changes replace only the
|
||||
affected per-mesh envelope. The main-thread client applies patches immutably
|
||||
and retains unchanged mesh buffers.
|
||||
Reference in New Issue
Block a user