4.9 KiB
Canvas correction evidence — 2026-09-12
This is a branch-specific correction checkpoint, not release acceptance. Live ownership and acceptance remain in Gitea 15, 21 and 25.
Implementation and evidence boundary
24bb248preserves an existing diagram keyboard owner across revision changes and passive Save, while suspended input cannot acquire ownership or retain a held gesture. The Windowsapp::diagramgate passed 22 tests and failed the persisted state-placement Save/Undo regression. That failure remains archived; this source did not satisfy the focus acceptance criterion.e2c027efixes the underlying state view's positional Iced tree replacement: optional placement controls now occupy a stable child slot ahead of the canvas. Hide/Undo no longer changes the canvas widget's position in its parent. The strengthened test keeps the actual Save/Undo/Delete sequence and observes focus through each intermediate redraw. Runtime acceptance is pending.956a584derives activation segments from typed call/receiver/scope identities and compatible reply correlations. It uses distinct columns for overlapping calls and exact activation endpoints for replies, including self-calls. The source includes twelve production-scene tests; their execution and native legibility/selection checks are pending. Hit tests at small zoom do not establish raster legibility. The 12-unit bar width and 6-unit offset remain a visual candidate until the actual application has been inspected.b25065cremoves the redundant Canvas and Focus canvas/Restore panels buttons. Pointer editing already worked without activation. Strict all-target Clippy at combined sourcee2c027e54c6be0d051820374f669c52278d90f97failed on two obsoleteCanvasEvent::Focusvariants used only by tests. The 533 recorded inputs were unchanged. Removing the stale panel-mode paths and updating dependent tests is required before a new gate; warnings are not suppressed.
The closed gate receipts identify the exact commands, input bytes, source commits, failures and logs. Earlier full-suite and native results in the deletion report do not establish acceptance of these production changes.
Scenario evaluator preparation
The 26-payload archive preserves design/review notes, fixture builders, exact build/run receipts and generated source. Builders link the identified existing core artifacts only after verifying their source inputs against the completed core-containing gate; this is not a desktop build or desktop rendering check.
The draft fixture passes core validation and complete canonical round trip with 132 elements and 77 completeness warnings. It covers OA/SA nested, sequential, crossed, self, reentrant, open, ALT and PAR cases. It deliberately lacks exchange bindings and values, so a separate bound fixture supplies those checks.
The corrected bound fixture compiles with warnings denied and generates three scenarios with 34 elements, 6 relations, zero errors and two completeness warnings. It preserves complete Project canonical round trip and exact SA operation resolution. OA uses an Operation information item carried by an Interaction; SA uses standard component ports, required/provided interfaces, synchronous item allocation, a boundary exchange and explicit Call operation use. Replies derive the exact correlated Call allocation. A third OA scenario exercises reentrant calls using the explicit reverse Interaction.
The nested sequence is C1, C2, R2, R1. Requests are 420.0 and 380.0 kPa; replies are 418.0 and 378.0 kPa. Unicode labels are preserved. The generated identity table and model make native selection and value inspection reproducible.
The first bound builder compiled but failed during fixture construction: it used the OA Actor kind for SA and attempted a generic Port constructor. Its exact source and failure receipts are preserved. The correction uses SystemActor and the dedicated port constructor; validation assertions were retained.
Full desktop tests, strict lint, matching GUI build, native Save/Undo focus, bound nested-call rendering and direct pointer/text-focus workflows remain required. Broader process/scenario free placement, resizing and the Details redesign are separate outstanding requirements; these corrections do not close them. Linux/WSL checking remains deferred by the user.