46 lines
2.2 KiB
Markdown
46 lines
2.2 KiB
Markdown
# Operator Invariants Evaluation
|
|
|
|
Date: 2026-07-12
|
|
|
|
Gitea issue:
|
|
[`#33`](https://git.spacetrainclubhouse.com/Falling-Metal-Interactive/Blacksite/issues/33)
|
|
|
|
This acceptance record covers the source-level production operator contract. It does not nominate a
|
|
release candidate or replace the clean-checkout rerun required by production-readiness gate G3.
|
|
|
|
## Accepted Coverage
|
|
|
|
- Registered commands distinguish immediate completion from modal Preview ownership; validation
|
|
failures terminate with their stable command ID.
|
|
- Group Selection is one history transaction and preserves unrelated hierarchy rows through repeated
|
|
undo/redo even though the transient group entity is respawned.
|
|
- Reset Lighting and Project Sun changes are grouped, undoable light transactions.
|
|
- Asset/sub-asset placement; material/texture/audio/animation assignment; and exact viewport material
|
|
drops cover commit, block/failure, cancel where applicable, and semantic undo/redo projections.
|
|
- Draw Brush, CSG, clip, and element-gizmo paths exercise production modal finalizers and helper
|
|
cleanup.
|
|
- Terrain sculpt/paint cover multi-dab commit, failure rollback, cancel, clean-view interruption, and
|
|
resource cleanup.
|
|
- Physics placement covers prerequisite block, exact cancel, real settle commit, multi-selection
|
|
grouping, helper cleanup, undo, and redo.
|
|
- The transform tracker covers continuous multi-target grouping and no-op release termination.
|
|
|
|
## Verification
|
|
|
|
The publication worktree passed:
|
|
|
|
- `cargo test -p editor --lib --no-fail-fast`: 245 passed, 0 failed.
|
|
- `cargo clippy -p editor --lib --tests -- -D warnings`.
|
|
- `cargo fmt --all -- --check`.
|
|
- `cargo test --workspace --all-targets --no-fail-fast`.
|
|
- `cargo clippy --workspace --all-targets -- -D warnings`.
|
|
- `cargo validate-levels --project .`: 62 dependencies, 5 expected non-blocking findings, 0 blocking
|
|
errors.
|
|
|
|
The Gitea closure comment records these results with the exact publication commit.
|
|
|
|
No screenshot is required for this ticket: the accepted surface is lifecycle, rollback, cleanup, and
|
|
history behavior exercised through headless production entry points. Live command/status checks add
|
|
confidence but are not substituted for semantic assertions. Packaged-runtime testing remains
|
|
deferred by project-owner request.
|