# Native canvas follow-up at 83f53c7 This report describes Windows native observations of source `83f53c7c6e277e250f06d2ae6bfa6a7988bd2e4b`, not acceptance of the complete release. The [same-source Windows gates](release-canvas-followup-20260912.md) pass 834 desktop tests, strict all-target Clippy and the matching GUI build. Executable SHA-256: `49eb87b4a239c586a16b9efbfd036b3823adc8b62a8992feeaa934bca4f5743b`. The native process used disposable compact and bound fixtures in an isolated profile. It launched at 22:41:22 UTC and closed normally at 22:58:28 UTC on 2026-09-12, with a retained process exit code of zero. Both output logs are empty. The [portable archive](experiments/canvas-native-83f53c7-20260912/manifest.json) contains the exact build identity, procedure, screenshots, source checkpoints, oracle receipts and closure record. Source comparisons use the previously identified actual core oracle; they compare the complete Project and exact SourceBundle, including the compact fixture's Unicode/CRLF included file. ## Architecture and state focus Starting from a single pointer selection of Target work, the native architecture sequence was Delete, Save, Undo, Save, Redo, Save, Undo, Shift+Delete. No intervening canvas click or F6 was used. Each saved removal matches the independently derived baseline Delete of placement `de1e7e00-0000-4000-8000-00000000001f`; each saved restoration exactly matches the original Project and SourceBundle. Shift+Delete opens the confirmation for Target work. Cancel and Save leave the exact baseline. This verifies the originally observed loss of keyboard ownership is corrected for this sequence. In the persisted SA state view, first-click selection of SA Ready followed by Delete exposes the unplaced-element picker. Save matches the independent Delete of placement `de1e7e00-0000-4000-8000-00000000003f`. Undo removes that picker and restores the selected state; immediate Shift+Delete opens the confirmation for SA Ready without another canvas click. After Cancel and Save, both source files and the complete Project exactly match the baseline. This exercises the actual Iced child-slot replacement that failed before e2c027e. Inspector Name editing is protected: Home, Delete changes only the pending text from SA Ready to A Ready; Shift+Delete edits the text again without opening model deletion or removing the drawn state. Revert restores the original name and clears pending edits. No Canvas or Focus canvas button is required in either workflow. Persisted state uses a different keyboard policy from process/scenario controls: F6 after Inspector Revert is a no-op, and Tab enters Inspector Name. Source review confirms state Owner has no F6 handler. This is a cross-workspace inconsistency, not evidence of a failed implemented state F6 shortcut. In the scenario workspace, F6 from an Inspector field visibly clears text focus, and Tab advances to the Select palette control. F6/Tab are toolbar navigation, not occurrence traversal. These observations do not establish process/scenario Save focus continuity. An interleaved held-drag/Save native test was not performed; the available atomic drag API cannot hold the mouse across another action. Mounted regression evidence is separately scoped in the earlier report. ## Bound nested scenarios The real bound fixture contains OA and SA C1, C2, R2, R1 scenarios and an OA reentrant reverse call. At 100%, clicking the exposed inner and outer activation interiors selects their exact C2 and C1 occurrences. The reverse-call bar selects C2 on L1. Inner and outer reply endpoints visibly terminate on their respective activation edges. Inspector readback includes OA C1 requested_pressure 420.0, OA R1 measured_pressure 418.0 correlated to C1, SA C2 requested_pressure 380.0 with its explicit synchronous interface allocation, and SA R2 measured_pressure 378.0 derived from that exact C2 allocation. These are sampled native readbacks; the full fixture identities and values are covered by core source comparisons. Save, native Open of the same bound source, return to its scenario, and Save pass exact complete Project/SourceBundle comparison. No semantic modification was made to the bound fixture. The window was resized using its observed borders to 1102x732 outer pixels (1100x700 client). The scene remains navigable, and Fit gives 66% zoom. At 100% the right lifeline header is partly clipped within the narrow canvas; Fit exposes it with considerably smaller text. Native inspection found a real rendering defect despite the passing Scene tests: opaque, 225-unit message-label backgrounds erase the outer activation border in 22-unit bands above C2/R2/R1. The visible shortened text ends before the bar, but its background and label hit rectangle extend over it. Screenshot `oa-outer-activation-selected-0.png` is the primary witness. Rendering acceptance therefore fails at 83f53c7. Correction d61f1f3 moves backplates behind activations and gives exposed bars priority over label rectangles while preserving precise message hits. Its tests/build/native acceptance are separate from this trial. Unselected bars and message labels are visibly faint on white, especially at 66% zoom. Issue 26 records this broader contrast concern; the paint-order repair does not address it. Native self/crossed/ALT/PAR rendering was not exercised in this trial. Geometry tests and generated fixtures do not substitute for those remaining native checks or for peer lifecycle integration. ## Scope and coordination Live outcomes remain in Gitea issues 15, 21, 25 and 26. The architecture/state focus regression passes this bounded native trial; nested rendering needs the identified correction and recheck. Broader free geometry, resizing, Details UX, lifeline union, graphical/source/API parity and complete release acceptance remain open. Linux/WSL checks remain deferred by the user.