Preserve current core, source, REST, desktop, recovery, documentation and validation work, including AGENTS.md and the development summary. This is a work-in-progress checkpoint: the new compact palette has outstanding compilation errors and native acceptance; earlier passing gates retain their documented scope.
4.7 KiB
Contextual path native finding
Confirmed from accepted source and production code, independently of the screenshot.
The accepted oa-link-accepted/project.arcadia SHA256 is
40351AF825518FE44FCD67E33D5289C2FD3C1AFBF29A2A7D27BA11896918CD5F.
Its link d5eb66cc-231e-477a-97ea-521c065e1415 has owner oa_caller, source
[]/oa_x, target [oa_r1]/oa_b, and guard Check accepted. The source identity
and endpoint_rect matching are correct.
Defect
With the fixture's ordinary preview, all caller contributions occupy x=24..294.
X occupies y=24..128. First assessment begins at y=164; its visible B mini-card is
(161,282,113,32). The old route correctly ended at (161,298), but used
end.x-16=145 as its long vertical return gutter. That lies inside First, Second,
and Nested assessment cards. The route unnecessarily went below every card first.
Additionally, contextual arrows were painted before opaque outer reference backgrounds. That covered the terminal arrow even though its semantic anchor was correct. Selection prioritized the enclosing reference over the visible terminal stub. This is a routing/paint/hit-testing defect, not an endpoint or model defect.
Bounded correction (desktop only)
- Route via outer-card column gutters. Visible left/right mini-columns connect through their outward-facing host padding; hidden addresses use the host border.
- The native X→First.B case now follows
(294,76) → (312,76) → (312,298) → (274,298): a short clear right gutter terminating on B's right border. Other-side routes retain a bounded below-card detour. Parallel exact links keep distinct paths and labels. Caller layout, source identities, and bounded preview enumeration stay unchanged. - Explicit paint passes keep legacy direct edges below node backgrounds while painting contextual paths after outer backgrounds and before mini-card content. Thus the arrowhead stays visible in the selected mini-card's clear outer padding.
- Exact mini-card selection remains first, followed by selected direct-link endpoint handles, then contextual stubs, then enclosing references. Independent review caught an initial mixed-edge priority regression: when both edge kinds shared X's source anchor, the contextual hit stole the direct reconnect press. The corrected ordering preserves that selected handle's drag behavior.
Owned files: behavior/topology.rs, behavior/topology/direct.rs, and new
behavior/topology/contextual_routing.rs. Targeted rustfmt completed; no Cargo run
was made while the Linux worker held the heavy execution lease. This desktop delta
does not change the frozen Linux core/server snapshot's tested sources.
Three prepared tests reconstruct the tracked native baseline in both layers, assert the exact corrected route, reject intersections with unrelated outer/mini cards, check the paint-pass ordering actually consumed by drawing, and exercise real mouse publication at 45% and 100% (stub→link, mini→qualified endpoint). Further cases cover nested visible/hidden targets, parallel links, and unchanged legacy procedure routes/extents. Selected direct reconnection sharing a contextual source anchor is also exercised through real mouse input at both scales. That regression checks the press publishes no replacement selection and the drag emits the exact direct-link source reconnect event.
After Linux shutdown, Windows one-job execution passed without further changes:
cargo test --locked -p oa-desktop --bin arcadia-studio contextual_route_ -- --test-threads=1: 3/3 passed, exit 0; command 182.18 s including compilation, tests 0.12 s. Log.local/source7-routing-focused-tests.log.- Full
oa-desktop --bin arcadia-studiotests: 564/564 passed, exit 0; command 280.16 s, tests 277.65 s. Log.local/source7-desktop-post-routing-tests.log.
This compiled the desktop test binary and ran existing process interaction, source/history and all other desktop regressions. A fresh standalone GUI build, strict checks and native routing/terminal-paint verification remain separate gates.
Native recheck
Open the unchanged accepted oa-link-accepted source in the rebuilt desktop.
Select First assessment gate at 100%, then Fit. Confirm the path stays to the right
of the reference cards and terminates visibly at First.B's right border; it must
not pass through Second/Nested or dive below them for this one link. Click the
terminal stub to select the link, then B's mini-card to select [oa_r1]/oa_b.
Verify the full From/To labels, unchanged accepted model/source bytes, and existing
Open definition/Back controls. Check one expanded nested target and its collapsed
host fallback. Fit may change slightly because the unnecessary detour no longer
extends canvas height; the underlying column layout is deliberately unchanged.