4.2 KiB
Saved Scenario and Text composition
Branch-specific source composition from root 5960563b23b3f28f83343c283b7c156bf248994a
and Scenario/inspector 14e7e6aa46f59346c7a9a478fc9498fd0b496aaf.
This is an unverified integration candidate, not a release or completed native gate.
Live integration/release ownership remains with the parent session and Gitea #27.
Source decisions
The functional Scenario delta is 208268c..14e7e6a under crates/: typed
activations, saved layout and source lifecycle, complete geometry, scoped
navigation and spacing, Details/Properties, arrangement picker and fixed
inspector actions. Applying that delta with three-way content reconciliation
avoids replaying historical work independently integrated by root. Root's
instructions, user specification, records, dependencies, vendor patch and
documentation are retained; old live ledgers are not imported. Attachments,
State bends, latest transition work, private source8 and resize are separate.
The lossless writer retains root's CompleteForEdit comparison authority and Compact/CompactValues insertion templates. Scenario EditContext is threaded through the same record/list writer and keys only Diagram.layout.Scenario rows by their qualified identity. Authored layout none survives unrelated changes; clearing a real payload removes it and retains comments. No global null default was added to the comparison representation.
App admission preserves current TextWorkspace/source/allocation/navigation and rename-scroll envelopes before shared boundary effects. Scenario spacing and representation/visit checks also run before those effects. Scope input-owner equality now includes Scenario representation and visit. Current source Tab and selection behavior are retained, as are passive WorkDrag reveal exceptions.
Root intentionally removed the obsolete panel-focus mode and Canvas button. This integration retains that always-active canvas policy. Saved Scenario Details opens the current inspector and dismisses its outline without replacing the view or camera. Peer tests formerly hiding/restoring panels now exercise the visible inspector and retained selection/view/camera. F6/Tab logical keyboard ownership and root's same-batch suppression remain unchanged.
Typed hit roles retain the root activation-priority rules and boundary paint. The derived sequence helper remains available to root's production deletion eligibility guard; peer's test-only gate is inappropriate with that caller. Properties uses the corrected two-child outer column with its Scrollable at child 1, preserving the Properties/Connections reconciliation fix.
Verification to perform after compiler lease
Rustfmt parsing and Git whitespace/conflict-marker checks precede the source commit. No compiler, tests or GUI have run for this candidate at this checkpoint. New discriminating tests combine ordinary omitted/authored defaults with Scenario row reorder, alias rename and layout clear, and retain a live saved spacing gesture across stale Text commands and prior Scenario visit messages.
First compile/list core and desktop tests on the frozen candidate, inspect the
actual inventory, and resolve union-only API/literal failures. Run core
scenario_layout, references::scenario_layout_tests, default-omission and
source lifecycle checks; desktop Scenario/spacing/Details/navigation,
source_indentation, rename-scroll, source-input and canvas-focus tests; HTTP
Scenario layout transaction/export/restart checks. Then full workspace tests,
strict workspace/all-target lint and matching GUI build. Existing peer totals
are not additive acceptance targets.
Native combined acceptance must include saved view/picker/Details, lower-field Apply/Revert and Properties/Connections return, spacing plus cancellation, Text Tab/undo/edit/Apply and return, exact view/visit restoration, save/reopen, and preserved active keyboard focus. No native or cross-platform claim follows from source composition. Existing smaller-window and accessibility limits stay in force until separately exercised.
Later attachment integration must adapt new EdgeRoute literals, notably core scenario_layout tests. Later transition integration must retain Scenario's architecture-destination exclusion while adding counterpart search/footer.