Blacksite/docs/editor/evaluations/operator-invariants/README.md

3.1 KiB

Operator Invariants Evaluation

Evidence record — not current product guidance. Use the documentation index for current behavior and architecture.

Date: 2026-07-12

Gitea issue: #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. Palette execution and cancellation fully dismiss the palette instead of leaving an empty title bar.
  • Group Selection is one history transaction and preserves unrelated hierarchy rows through repeated undo/redo even though the transient group entity is respawned. Newly spawned and redone group actors own their visibility hierarchy before viewport icon children attach.
  • 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.

Native Editor Follow-up

A native-editor replay on 2026-07-13 loaded the collider diagnostics scene, exercised Draw Brush Preview/cancel, and grouped two hierarchy actors through undo/redo. The replay exposed two issues that source-only checks did not make visible: command execution left a collapsed palette title bar, and the viewport icon child briefly inherited from a group actor without Bevy visibility hierarchy components. Both paths now have focused regression assertions; a rebuilt replay dismissed the palette completely and emitted no hierarchy warning.

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.