62 lines
3.9 KiB
Markdown
62 lines
3.9 KiB
Markdown
# State multiselect composition review
|
|
|
|
Parent Codex-956atf reviewed the production delta from ordinary delivery
|
|
`7e348d967d1787c052a145b7448636613a6a7054` to State delivery
|
|
`bed7f825fd00ec32299032a664a5f5d753aad86d`, its independent review and native
|
|
report. This is a static integration review plus an
|
|
[offline evidence audit](../experiments/state-multiselect-delivery-audit-20260923/README.md),
|
|
not a fresh review of every fixture or native screenshot and not combined
|
|
acceptance. The independently authored 911-line model evaluator was not rereviewed
|
|
in this pass; its reported checker results remain peer evidence.
|
|
|
|
State now reuses the typed selection envelope while keeping exact row identity
|
|
as `(placement, relation)`. Visibility rechecks both the live placement and
|
|
relation source, preventing a surviving reassigned relation from rebinding a
|
|
stale row selection. Primary inspection remains separate from selected membership.
|
|
Queued singleton Select/Move/Remove refusals occur before shared App navigation
|
|
and allocation hooks. This addresses the peer critic's confirmed late-refusal
|
|
finding; preserve that ordering alongside e34's Scenario and Text admission.
|
|
|
|
Group preview uses the existing simultaneous placement planner and applies its
|
|
node/route commands to a diagram clone. State's explicit unsnapped displacement
|
|
policy preserves the fractional pointer delta, while the ordinary constructor
|
|
retains its ten-unit grid. Singleton bend snapping remains separate. The gesture
|
|
keeps its selection/context/viewport snapshot, retires on context and focus
|
|
changes, and refuses unsupported mixed selections as a whole. The State toolbar
|
|
reserves picker and selection-control space to avoid canvas refitting as group
|
|
membership changes. Keep those fixed slots when composing newer controls.
|
|
|
|
Exact State menu targets use `Option<Box<Target>>`; matching checks placement,
|
|
semantic object and current visibility. The menu's group branch precedes the
|
|
State-specific singleton actions. Preserve the existing attachment/reconnect
|
|
and bend menu payloads when adding this field to constructors and tests.
|
|
|
|
A `git merge-tree --write-tree` probe of candidate
|
|
`e34ba27e26ede3ab55f276acc250d92b2e0c3204` with delivery bed7 produced conflict
|
|
tree `5490ff2bd8d40ae594e7a6c2e8b66066107ea48d` without changing a checkout.
|
|
It found seven conflicted paths: app/state_attachment_escape_tests.rs,
|
|
app/state_bend_tests.rs, app/state_diagram.rs, behavior/state_bend_tests.rs,
|
|
behavior/state_canvas.rs, diagram.rs and diagram/attachment_tests.rs, all under
|
|
crates/oa-desktop/src. These reflect independently integrated attachment/bend
|
|
history as well as the new adapter; whole-file replacement would lose evidence
|
|
or behavior. Resolve against both exact parents and inspect the combined diff.
|
|
The auto-merged app.rs/model_menu.rs still require semantic review. Add
|
|
`Diagram.layout: None` to the peer evaluator if the combined schema requires it.
|
|
|
|
Required combined checks follow the actual risks: early stale-envelope refusal
|
|
with unchanged navigation/selection state, singleton attachment/bend routing with
|
|
production selection enabled, exact row targeting, fractional simultaneous group
|
|
movement, fixed viewport dimensions, Hide/Undo/Redo and source/model conservation.
|
|
Native peer evidence is bounded to its delivered branch; the combined executable
|
|
must be exercised before integration acceptance. Shared picker Escape issue 35
|
|
and reported State label overlap are existing open usability findings, not
|
|
successful behavior redefined by this review.
|
|
|
|
After the probe, the parent resolved all 15 conflict hunks in a separate checkout,
|
|
added `layout: None` to both native examples, and obtained an independent review
|
|
of the combined event paths. Frozen source
|
|
`a2a326f183ba0486814cd9fbdce19eb98cad7017` on
|
|
`codex/multiselect-union-956atf-20260923` contains the full source handoff and
|
|
`harness/reviews/state-multiselect-merged-20260923.md`. Its source checks pass;
|
|
compilation, runtime and combined acceptance remain unestablished.
|