BS-JD-502 - Tool regression tests and undo invariants #33
Labels
No Label
area:animation
area:assets
area:audio
area:brushes
area:build-release
area:extensions
area:governance
area:hierarchy
area:inspector
area:navigation
area:operators
area:physics
area:project-ux
area:quality
area:rendering
area:runtime
area:scene-io
area:terrain
area:viewport
priority:P0
priority:P1
priority:P2
priority:P3
roadmap:jackdaw
roadmap:production
type:architecture
type:docs
type:epic
type:feature
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: Falling-Metal-Interactive/Blacksite#33
Loading…
Reference in New Issue
Block a user
No description provided.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
Add reusable tests for every modal tool and every editor operator.
Why
The roadmap depends on consistent preview/commit/cancel/undo behavior across all tools.
Implementation notes
Acceptance criteria
Tests/docs
This ticket is test infrastructure. Document how to add tool regression tests.
Production-operator regression pass (2026-07-10):
Implemented reusable
operators::test_harness::OperatorInvariantHarnesswith shared assertions for:Current production coverage now includes:
The harness exposed and this pass fixed two real defects:
MaterialDesccould bypass history; this is nowSetMaterialGroup.Documentation:
docs/editor/operator-regression-testing.md, indexed from both documentation maps and architecture.Validation: strict workspace Clippy clean, strict editor dev-feature Clippy clean, 135 tests passed / 1 intentional migration test ignored,
cargo validate-levels, formatting, and diff checks clean.Ticket remains open intentionally: terrain-stroke and physics-settle fixtures belong here when those roadmap tools are implemented; current production modal/editor operators are covered.
Implemented and published on
mainin commit1ab3886.Acceptance completed:
Verification on the publication worktree:
cargo test --workspace --all-targets --no-fail-fastpassed; editor library: 245 passed, 0 failed.cargo clippy --workspace --all-targets -- -D warningspassed.cargo fmt --all -- --checkandgit diff --checkpassed.cargo validate-levels --project .: 62 dependencies, 5 expected non-blocking findings, 0 blocking errors.Evidence: operator invariant evaluation and testing contract.
Packaged tests remain deferred by project-owner request. A supplementary native editor smoke was attempted, but the Codex desktop approval broker rejected the GUI launch because its reviewer was at capacity; no project runtime failure was observed. Release-candidate G3 remains Partial until the exact candidate is rerun from a clean checkout.
Native-editor follow-up completed on
mainatc55f347.Live replay on the rebuilt Linux editor:
assets/levels/collider_diagnostics_showcase.scn.ron; viewport rendered nonblank with the dark editor chrome, hierarchy, inspector, and asset browser correctly framed.Ctrl+P->Draw Brushentered Preview;Escterminated as Canceled with no history entry.Group Selectioncommitted exactly one history item; undo restored the original rows and redo restored the transient Group and children.Verification on the follow-up commit:
cargo test --workspace --all-targets --no-fail-fast(editor library: 246 passed, 0 failed)cargo clippy --workspace --all-targets -- -D warningscargo fmt --all -- --checkcargo validate-levels --project .(62 dependencies, 5 expected non-blocking findings, 0 blocking)git diff --checkPackaged-runtime tests remain intentionally deferred by project-owner request.