BS-PR-709 - Guarded editor shutdown and clean history savepoints #55
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#55
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
Prevent silent loss of authored scene work when closing the editor, and make the dirty marker follow the actual saved history position.
Why
Native operator QA on 2026-07-13 exposed two production blockers:
apply_command_undounconditionally marks the scene dirty and history has no saved-state checkpoint.Alt+F4closed the dirty editor immediately. Dirty confirmation currently protects scene-tab close and project switch, but not native window/application exit. Recovery snapshots reduce impact but are not a substitute for an explicit Save / Discard / Cancel decision.Implementation notes
NativeDialogBroker; never block the render loop.Acceptance criteria
Alt+F4, window close, menu quit, and programmatic editor exit share the guarded path.Docs/tests
Update scene persistence/recovery docs and ADR 0023 if the shutdown contract changes. Packaged-runtime tests remain deferred until re-enabled.
Completed and published on
main.Implementation
4b33f3235761fd0dd3daf219e5bbbaee884eb626a048233fceab86649f8c1004137a59f0cd62ac129e23ae731f95dc351ecc744d6ca61f6bc4467317(#57)Source gates at the #55 implementation
cargo fmt --all -- --check: passgit diff --check: passcargo clippy --workspace --all-targets -- -D warnings: passcargo test --workspace --all-targets --no-fail-fast: pass; editor 282 testsNative Linux acceptance
The temporary QA scene was removed. Packaged-runtime acceptance remains explicitly owner-deferred; no packaged result or production-candidate signoff is claimed.