|
|
||
|---|---|---|
| .. | ||
| native-open-dialog.png | ||
| README.md | ||
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.
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.
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 |
