80 lines
4.7 KiB
Markdown
80 lines
4.7 KiB
Markdown
# Native navigation corrections — 2026-09-11
|
|
|
|
Codex-9e8r6t `/root`; [issue 6](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/6).
|
|
The four-file correction above `f4e426ae2a6971395e1ca7e6f094b0c20056cf93`
|
|
passes its focused Windows gates and independent source review. A corrected
|
|
full desktop run, GUI and native acceptance remain separate requirements.
|
|
|
|
## Changes and review
|
|
|
|
The [initial DF71 native trial](release-text-navigation-native-initial-20260911.md)
|
|
found four interaction defects. The correction reserves the existing bounded
|
|
header's outer height so lint cannot move the editor; keeps results closed on a
|
|
successful Back without a notice; dismisses Find alone through the existing
|
|
captured-Escape bridge; and suppresses exactly focused Windows Alt-only Space
|
|
in the source editor. Ordinary Space, shifted input and Ctrl+Alt/AltGr remain
|
|
on their existing paths. The header still scrolls when its contents overflow.
|
|
|
|
Find Close and ordinary dismissing Escape restore the existing source selection
|
|
through the guarded viewport/focus ticket. Modal dismissal retains priority.
|
|
Independent review found that the previously unscoped Find Close could now
|
|
restore focus in a newer workspace or Find invocation. Its actual button message
|
|
now carries session/path plus an invocation token renewed on every Find Open.
|
|
Stale envelopes and bare legacy Close are rejected before invalidating current
|
|
navigation; current Close still works. Review2 accepted this closure. Root also
|
|
reviewed the final renderer-bound and evaluator-only changes.
|
|
|
|
## Verified scope
|
|
|
|
- `cargo test --locked --offline -p oa-desktop --bin arcadia-studio source_ -- --test-threads=1`:
|
|
**188 passed, 0 failed, 1 ignored, 562 filtered**, 41.73 s execution,
|
|
finished 19:38:11 UTC.
|
|
- `cargo clippy --locked --offline -p oa-desktop --all-targets -- -D warnings`:
|
|
**passed**, finished 19:40:12 UTC. Scoped formatting and diff checks passed.
|
|
- All **499 inputs / 9,470,838 bytes** were unchanged at 19:41:08 UTC.
|
|
ZIP members were also compared with the manifest and current source bytes.
|
|
Final correction `inputs4` archive SHA256:
|
|
`7ff9e5703e33bd72e5c2186dd61125e965b82b8dfbf085961d514b005e716798`.
|
|
|
|
Seven added regressions exercise Back visibility, actual captured Find Escape,
|
|
stale Find Close across reset/file switch/reopen, mounted guarded focus, stable
|
|
editor geometry, real Scrollable wheel/offset behavior, and text-bearing Windows
|
|
key events with ordinary/international input controls. Affected App assertions
|
|
compare accepted Project, raw SourceBundle, selection and history.
|
|
|
|
Geometry uses the shared production layout helper with real paragraph/editor
|
|
metrics and representative dynamic header content, not the whole App view.
|
|
The focus tree verifies removal of Find and later foreign focus; its raw-clock
|
|
case also changes focus, so it does not independently isolate that race end to
|
|
end. Existing primitive guards provide narrower separate coverage. The supplied
|
|
Alt+Space payload test is not instrumentation of the native Windows event.
|
|
Actual settled menu/neutral-click behavior must still be repeated on a new GUI.
|
|
|
|
## Preserved failures
|
|
|
|
The first PowerShell 5 wrapper stopped on ordinary Cargo stderr. The corrected
|
|
PowerShell 7 run reached three real E0659 macro-import errors and was stopped
|
|
after the independent stale-Close finding; both diagnostics and interruption
|
|
are retained. Inputs2 then failed compilation because the generic helper needed
|
|
`text::Renderer`. Inputs3 fixed only that bound; 187 tests passed, but its geometry
|
|
test incorrectly equated the short inner Scrollable with the fixed outer slot
|
|
(243.70001 versus 294 px). Inputs4 corrected only the measurement to the actual
|
|
outer Container/editor boundary. Exact editor rectangle stability and the
|
|
separate overflow/offset assertions then passed. No production layout change
|
|
was made merely to satisfy that assertion. Failed runs are not Clippy or native
|
|
passes; every earlier input snapshot retains its own readback.
|
|
|
|
## Evidence and continuation
|
|
|
|
[Raw correction archive](experiments/text-navigation-native-20260911/corrections/manifest.json):
|
|
44 payloads, 9,167,596 bytes; manifest SHA256
|
|
`25a210de4a65b2221007e077fe72dfe0bb68483a068127e122839798aa4da332`.
|
|
It preserves original files, exact source ZIPs, helpers, patch, actual logs and
|
|
receipts, independent reviews and final gate result. The test executable has an
|
|
identity receipt; its large binary is not included.
|
|
|
|
The next native evaluation must repeat the four failures, existing navigation
|
|
and draft/Undo behavior, invalid-source repair and the realistic 30-file
|
|
engineering walkthrough, followed by explicit Save and complete saved equality.
|
|
The existing contextual release remains unchanged. Linux/WSL remains paused.
|