33 lines
1.3 KiB
Markdown
33 lines
1.3 KiB
Markdown
# WBV2-P2-002 status
|
|
|
|
- task: `WBV2-P2-002`
|
|
- parent: `WBV2-P2-001`
|
|
- parity: `OBJECT.TRANSFORM_HIERARCHY`
|
|
- implementationClass: `LOCAL_EXACT`
|
|
- status: `done`
|
|
- fixture: `tests/files/web/generated/WBV2-P2-002-OBJECT.TRANSFORM_HIERARCHY.blend`
|
|
|
|
## Evidence
|
|
|
|
- Desktop and WASM preserve stable parent/child object IDs, local transforms, world matrices, and source/target collection membership.
|
|
- `setObjectTransform` commits parent translation and propagates child world translation to `[2, 2, 0]`.
|
|
- Parent-cycle and invalid linked/locked target edits reject before commit without changing revision.
|
|
- Collection move and unparent-with-keep-world commit through authoritative Main; undo and redo are exact.
|
|
- Desktop and WASM save/reopen preserve nodes and collections; malformed input is rejected without Main mutation.
|
|
|
|
## Production fixes
|
|
|
|
- Failed command history restoration no longer advances session revision; undo/redo still advance it.
|
|
- Unparent keep-world uses authoritative raw parent/local matrices and decomposes the captured world matrix.
|
|
|
|
## Commands
|
|
|
|
- `npm --prefix web run test:generated-gap -- --task WBV2-P2-002`
|
|
- `node tools/web/check-generated-gap.mjs --task WBV2-P2-002`
|
|
- `node tools/web/check-task-context.mjs --task WBV2-P2-002 --write`
|
|
|
|
## Handoff
|
|
|
|
- nextTask: `WBV2-P2-003`
|
|
- queue mutation: allowed after manifest and parent hash validation
|