Add Chromium-only Blender WebEngine parity work
This commit is contained in:
34
docs/status/W-060.md
Normal file
34
docs/status/W-060.md
Normal file
@@ -0,0 +1,34 @@
|
||||
# W-060 Status
|
||||
|
||||
status: done_current_scope
|
||||
task: 对象模式命令
|
||||
|
||||
The first native command registry slice is implemented end to end. The Worker
|
||||
serializes validated `WebEngineEditCommand` payloads into the local Blender
|
||||
WASM ABI, and the native engine currently supports:
|
||||
|
||||
- `setFrame`: updates the current timeline frame and emits a frame SceneDelta.
|
||||
- `setObjectVisibility`: updates an existing object node and emits a node update
|
||||
SceneDelta.
|
||||
- `setModifierEnabled`: updates the persistent modifier mode in Blender Main.
|
||||
- `decimateMesh`: commits ordinary mesh topology/UV/color/material output to Blender Main;
|
||||
skin/shape-key replacement remains structurally blocked from save.
|
||||
- `undo`/`redo`: restore both SceneIR and a reopenable Blender Main history entry.
|
||||
- `createPrimitive`, `duplicateObject`, `deleteObject`: mutate Main IDs and Collections, then rebuild SceneIR from the writer buffer; linked duplicate preserves the shared Mesh datablock for instancing.
|
||||
- `setObjectTransform`, `translateMeshVertices`: persist Object Mode TRS and the first Edit Mode vertex workflow.
|
||||
- `meshEdit`: Main-authoritative Merge, Dissolve, Extrude, Inset, Bevel and Loop Cut transactions.
|
||||
- UV/material/image commands: UV map lifecycle/projection, material slots/face assignment, bounded Principled graph and packed PNG/JPEG images.
|
||||
- animation/hierarchy commands: keyframes/interpolation/actions, constraints, parent/collection moves, rename, Join/Separate, Apply Transform and Origin.
|
||||
|
||||
The commands have native smoke coverage and browser E2E tests that check
|
||||
revision base/next values and the resulting snapshot. Unknown commands and
|
||||
malformed payloads return typed native errors.
|
||||
|
||||
The Blender-style UI now routes Timeline frame changes and Outliner eye-button
|
||||
visibility changes through the same command path. React SceneIR, transferable
|
||||
geometry state, Three visibility and the dirty marker are updated from the
|
||||
command response; the browser E2E suite covers the Outliner interaction.
|
||||
|
||||
Every declared command writes back to `.blend`, survives undo/redo and passes save/reopen
|
||||
regression. Unsupported modifier families, mutations of read-only linked-library IDs and topology
|
||||
changes that would invalidate shape keys remain structured native blocks.
|
||||
Reference in New Issue
Block a user