3.8 KiB
Issue 21 source implementation handoff
Commit 43c2d51, branch codex/nested-call-956atf-20260912, worktree .local/nested-call-implementation-20260912, base f7d84fa. Root owns issue 21 coordination, integration, compilation, native validation and release. This contribution changes only behavior.rs, behavior/scenario_activation.rs and behavior/scenario_activation/tests.rs.
Implemented typed call/receiver/scope activation segments, semantic-order overlap columns, exact-correlated Reply source anchors, self-call receive versus send y, and shared final bar/route geometry for hit testing. Square activation fills paint over lifeline guides, under cards/messages, shallow before deep. Large line hit tolerances follow actual activation-body hits so zoomed-out shoulder points do not select a nearby unrelated message. Selected and unselected bars share geometry. No schema, source semantics, endpoint IDs, reply correlation or persisted layout change.
Twelve production Scene regressions construct actual OA/SA Projects with validation and canonical source round trips. Coverage includes both directions; sequential/nested/crossed and permuted UUIDs; self/reentrant calls; three exposed nested columns; exact canvas press/release selection under pan and scales 1/.25/.05; incomplete correlation; ALT/PAR scope separation; inherited outer execution; and fragment-boundary false-nesting falsifiers. Existing direct-canvas ALT/open tests now inspect typed activation records.
Independent source critic /root/nested_call_design/activation_source_review found (1) scope-clipped crossed calls appearing nested and (2) ALT sibling return order incorrectly rejecting true nesting. Corrections retain correlation-level reply endpoints and compare only compatible reply paths; critic rechecked both. This is source review, not independent runtime acceptance. The critic disclosed one initial read-only git diff despite its requested no-Git boundary; no Git mutation occurred.
Executed: rustfmt with edition 2024 and skip_children=true on the three owned files; unstaged and staged git diff --check; owned-files commit. No compiler, Cargo, desktop/native input, Gitea or root tracked edits. Initial checkout failed on historical long filenames; per-command git -c core.longpaths=true worktree add succeeded without changing global settings or overwriting existing work.
Root had previously compiled/run .local/nested-call-fixtures-20260912.rs against exact full425 core dependencies: .local/native-qa/nested-call-f7-core/build.json, fixtures.json/log; output .local/native-qa/nested-call-fixture-20260912; 132 elements / 77 completeness warnings. This validates that separate fixture generator, not the new desktop implementation.
Next: root compiles commit 43c2d51 and runs behavior::scenario_activation::tests, existing behavior::direct_canvas_tests activation/ALT/selection gates and affected workspace/input tests. Verify actual unselected and selected paint, both-direction message edge anchors, loops, shoulder selection, source correlation edits, Undo/Redo and save/reopen with a bound exchange. The fixture intentionally omits exchange references to isolate activation geometry; repeat the user model with actual exchanges/values for native acceptance.
Width 12 and offset 6 are world-pixel style candidates. At scale .05 they become .6/.3 screen pixels: pointer identity tests at that scale do not prove raster legibility or practical selection. Root explicitly retains native evaluation at realistic and minimum scale. Incomplete isolated calls keep the existing 26-unit open stub; branch continuations remain explicit open continuations. No general execution/thread metamodel or new LIFO rule is introduced. This work does not satisfy issues 20/22's free geometry or the broader Behavior UX objective.