BS-PR-710 - Keep editor actions safe during scoped UI rendering #57
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#57
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
Keep synchronous editor UI actions safe while the main egui state is temporarily scoped out of the ECS world during rendering.
Why
Native #55 acceptance on 2026-07-13 reproduced an immediate editor crash after File > New Scene followed by toolbar Spawn cube:
show_ui_systemintentionally ownsUiStatethrough Bevyresource_scopewhile drawing the editor. Synchronous UI callbacks must use state already owned by that UI call or communicate through independent resources; they cannot query the temporarily absentUiState.Independent review found the same root in:
UiStatelookup always fails inside the scope.Deferred command-palette actions run after the scope and are not affected.
Implementation notes
SelectedEntity; let end-of-pass reconciliation update the owned egui selection.resource_scopearchitecture unchanged.UiStatelookup.Acceptance criteria
UiStatescoped out.Docs/tests
This restores intended workflows rather than changing them. Record the native regression evidence and exact commit. Packaged-runtime tests remain owner-deferred.
BS-PR-710 - Keep toolbar authoring safe during scoped UI renderingto BS-PR-710 - Keep editor actions safe during scoped UI renderingCompleted and published on
main.Implementation
9e23ae731f95dc351ecc744d6ca61f6bc4467317a048233fceab86649f8c1004137a59f0cd62ac12Source gates
cargo fmt --all -- --check: passgit diff --check: passcargo clippy --workspace --all-targets -- -D warnings: passcargo test --workspace --all-targets --no-fail-fast: pass; editor 290/290Native Linux acceptance
Packaged-runtime acceptance remains explicitly owner-deferred; no production-candidate signoff is claimed.