87 lines
5.2 KiB
Markdown
87 lines
5.2 KiB
Markdown
# 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.
|
|
|
|
Independent review found a same-visit, newer-epoch stale action could retire a
|
|
newer deferred reveal before its late rejection. Active Scenario actions now
|
|
require the exact context before shared boundaries. FormShown, Viewport,
|
|
Restored and Scrolled retain their existing passive admission, while Camera
|
|
retains its separate lifetime rule. A regression captures arrangement/outline/
|
|
selection/zoom actions, starts a same-view reveal, verifies all stale actions
|
|
preserve its full receipt/focus/source/history, and completes the live viewport.
|
|
|
|
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 preceded the initial
|
|
source commit. The first frozen `0b61771` core listing compiled and listed 129
|
|
tests. Its `scenario_layout` run passed 20 and failed seven source lifecycle
|
|
cases: the ordinary parser's field inventory did not admit `layout`. The repair
|
|
adds the optional field to Diagram's parser inventory only, preserving the
|
|
CompleteForEdit omission/clear distinction above. These first receipts bind 742
|
|
unchanged inputs and the actual executable; they are failed-run evidence, not
|
|
acceptance of the repaired source. A fresh listing and affected runs are required.
|
|
No desktop runtime or GUI gate has run 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.
|