BS-JD-502 - Tool regression tests and undo invariants #33

Open
opened 2026-06-06 01:49:05 -04:00 by Rbanh · 0 comments
Owner

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

  • Create shared test harness for operators/modal tools.
  • Cover commit, cancel, dirty flag, helper cleanup, and undo grouping.
  • Add fixtures for asset drops, brush strokes, terrain strokes, and physics settle sessions.
  • Make failures identify the invariant that broke.

Acceptance criteria

  • Every production modal tool has commit/cancel/undo coverage.
  • Helper entities are verified absent after cancel/commit as appropriate.
  • Undo grouping is tested for continuous actions.
  • Test harness is easy to reuse for new tools.

Tests/docs

This ticket is test infrastructure. Document how to add tool regression tests.

## 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 - Create shared test harness for operators/modal tools. - Cover commit, cancel, dirty flag, helper cleanup, and undo grouping. - Add fixtures for asset drops, brush strokes, terrain strokes, and physics settle sessions. - Make failures identify the invariant that broke. ## Acceptance criteria - [ ] Every production modal tool has commit/cancel/undo coverage. - [ ] Helper entities are verified absent after cancel/commit as appropriate. - [ ] Undo grouping is tested for continuous actions. - [ ] Test harness is easy to reuse for new tools. ## Tests/docs This ticket is test infrastructure. Document how to add tool regression tests.
Rbanh added this to the M5 - Regression, docs, and first-hour UX milestone 2026-06-06 01:49:05 -04:00
Rbanh added the
roadmap:jackdaw
type:architecture
priority:P0
area:quality
labels 2026-06-06 01:49:05 -04:00
Sign in to join this conversation.
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: Falling-Metal-Interactive/Blacksite#33
No description provided.