# Native Dialog Responsiveness Evaluation Date: 2026-07-12 Branch: `codex/non-blocking-native-dialogs` Implementation commits: `d038cf3` and the closing commit for Gitea #52 This record captures live acceptance for the non-blocking native-dialog broker. The permanent workflow contract lives in the [native-dialog guide](../../native-dialogs.md). ## Live Editor Evidence The native KDE portal Open dialog below was launched through the production `SceneIoRequest::Open` path in a native Wayland debug editor and held open for 12 seconds. ![Native KDE Open dialog over the still-rendered Blacksite editor](native-open-dialog.png) During the hold, Hyprland continued to report Blacksite as mapped, visible, input-capable, and native Wayland. No application-not-responding client appeared. Cancel closed the picker without changing the active scene, and the editor then stopped cleanly. ## Acceptance Results | Area | Result | Evidence | |------|--------|----------| | Frame responsiveness | Pass | A blocked-dialog regression test advances eight Bevy frames before releasing the worker; live editor remained compositor-responsive during the 12-second picker hold | | Shared coverage | Pass | Every `rfd::FileDialog` and `rfd::MessageDialog` construction is inside a `NativeDialogBroker::request` worker closure | | Request exclusivity | Pass | Focused test rejects a second request while one is pending and permits work after one-shot completion | | Cancellation | Pass | Live Open cancellation preserved the active scene; workflow callbacks retain explicit non-mutating cancel branches | | Main-thread application | Pass | Paths/results cross the broker, while scene, asset, history, registry, project, and collaboration work remains in `&mut World` completions | | Stale initiating state | Pass | Prefab/export completions reject missing initiating entities; composition validates against current state after selection | | Packaged acceptance | Deferred | Explicitly deferred by project-owner direction; no packaged result is claimed here | ## Automated Verification | Command/suite | Result | |---------------|--------| | `cargo fmt --all -- --check` | Pass | | `cargo check --workspace --all-targets` | Pass | | `cargo clippy --workspace --all-targets -- -D warnings` | Pass | | `cargo test --workspace` | Pass | | Focused native-dialog lifecycle and frame-progress tests | 2 passed | | `git diff --check` | Pass |