# 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.