Record verified canvas paint correction and integration evidence
This commit is contained in:
@@ -0,0 +1,93 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user