Blacksite/docs/editor/evaluations/scoped-ui-actions
Rbanh a048233fce
Some checks are pending
CI / Format, lint, test, build (push) Waiting to run
Record guarded shutdown and scoped UI acceptance
2026-07-13 10:23:56 -04:00
..
README.md Record guarded shutdown and scoped UI acceptance 2026-07-13 10:23:56 -04:00

Scoped UI Action Safety Evaluation

Date: 2026-07-13

Issue: Gitea #57

Implementation commit: 9e23ae731f95dc351ecc744d6ca61f6bc4467317

Release-candidate commit: Not nominated

Source validation: Pass

Native acceptance: Pass

This record covers synchronous editor actions invoked while the egui host scopes UiState out of the Bevy World. The implementation keeps callback-owned state in independently registered resources, passes viewport data into toolbar/navigation actions, routes cross-panel selection and tab requests through explicit APIs, and reconciles the complete selection slice so a direct UI selection takes precedence over a stale deferred request.

Automated Verification

Command or suite Result Evidence
cargo fmt --all -- --check Pass Formatting check completed without changes.
git diff --check Pass No whitespace errors.
cargo clippy --workspace --all-targets -- -D warnings Pass Workspace and all targets completed with warnings denied.
cargo test --workspace --all-targets --no-fail-fast Pass All workspace targets passed; the editor crate reported 290 of 290 tests passing.
Scoped-action regressions Pass Six focused regressions cover history multi-selection, diagnostics selection, Inspector collapse and asset reveal state, primitive spawn, and navigation spawn while UiState is scoped out.
Selection precedence Pass Full-slice reconciliation preserves a direct primary or secondary UI selection over stale single- or multi-selection requests.
Independent re-review Pass The post-fix review found no remaining blockers.
Packaged acceptance Deferred Explicitly deferred by project-owner direction; no packaged result is claimed.

Native Acceptance

The exact rebuilt debug binary from the implementation commit was launched as target/debug/editor --project ..

Workflow Result Evidence
Toolbar authoring actions Pass After File > New Scene, Cube, Ramp, Sphere, Point Light, and Navigation Bounds all spawned. Selection, transform gizmo, viewport overlay, hierarchy, and Inspector stayed synchronized.
Inspector state Pass Collapsing the Transform component persisted across subsequent UI rendering and selection work.
Cross-panel diagnostics action Pass Window > Brush Diagnostics > Select kept the editor live and synchronized the selected actor across hierarchy, viewport, and Inspector.
Guarded shutdown Pass The dirty native-close decision accepted Discard and the editor exited with code 0.

Native Evidence

Scoped toolbar actions with authored actors selected in the live editor

  • Gitea attachment asset 37: blacksite-issue57-scoped-ui-actions.png, 3426x1384 RGB PNG, 890,021 bytes.
  • SHA-256: 4225aca19268e4817148507e95cdad56a5f18734fd69e2fe5702df1dc304142e.

Brush Diagnostics Select synchronized hierarchy, viewport, and Inspector

  • Gitea attachment asset 38: blacksite-issue57-diagnostics-select.png, 3426x1384 RGB PNG, 1,418,849 bytes.
  • SHA-256: 40422be59766a3e61005973c315d0fd6f663dd2d227aa92055fa2aa2e91320c3.

Both images were uploaded as ordinary Gitea issue attachments; this record does not use repository raw or LFS pointer URLs.

Release Use

The #57 source and native feature-level acceptance record is complete. A future production candidate must still rerun representative toolbar, Inspector, diagnostics, selection, and guarded-exit paths from the exact nominated commit. This record does not nominate a candidate or establish production readiness.