# Direct connections and port placement ## User workflow and decisions Architecture has explicit Select/move and perspective-specific drawing tools: OA Interaction, SA Functional exchange and SA Boundary exchange. Select a source and a highlighted target, or drag between them. Function cards generate/reuse typed ports through the existing atomic planner; explicit port hits retain the chosen identity. Boundary links use actual compatible component ports. Middle drag and canvas-focused arrows pan while retaining the chosen source. Escape cancels; empty space restarts. Hover details identify ports, owners and aliases. Port sides and normalized positions belong to each diagram placement, preserving semantic ownership. Dragging snaps to the owner's border; automatic placement uses direction, connected peers and available border space. Right-click Reset automatic position restores the derived anchor. Core commands, source bundles, JSON/REST and SVG use the same model and projected geometry. Each completed gesture makes one source-aware history operation. Menus and source-file folders are covered separately in release-context-menus.md. The bounded automatic router still permits dense-model crossings. Authored bends remain available; no perfect-layout guarantee is made. Input direction and carried items are not guessed from geometry. Drawing creates an empty carried-item list; Properties supplies the name and contract editing workflow. ## Findings resolved during integration - Shared feasibility queries previously scanned unrelated interface roles for every candidate. Commit93fd32c reduced the measured4000-port/4000-role picker from804ms to3.169ms optimized without relaxing final validation. - Per-placement port anchors are integrated in35133de. Owner changes repair graphical anchors atomically; raw source/API reject invalid owner references. - Automatic labels now avoid other edge strokes as well as nodes/labels, with bounded deterministic placement. Both source-ID orders have regression tests. - Iced supplies a batch-final window cursor for every event. Ordered motion is now authoritative for both press and release, preserving stationary-source drags and preventing later motion from converting a click into a model edit. Menu transitions invalidate cached pointer state through captured epochs. - Enlarged port hit areas overlap at overview zoom. All three picking paths now choose the nearest glyph, with stable tie-breaking for coincident ports. - Port labels use a separate screen-space frame, avoiding text overprint and keeping target identification legible while zoomed out. ## Earlier verification (superseded by final acceptance below) Full Windows workspace passed485 tests (264 core,185 desktop,36 server); full Linux passed488 (267 core,185 desktop,36 server), with strict Linux workspace Clippy and optimized desktop/server builds. These full runs precede the last ordered-release/hover changes. Four subsequent production lifecycle tests and nine external lifecycle probes passed. Final189-test desktop runs, strict workspace Clippy and rebuilds passed on both Windows and Linux. Native acceptance is still in progress; do not infer it from automated suites. Root operated DE6BD100 and46EE7BD9 Windows builds through Computer Use. OA palette click-click creation/history, SA direct FE/Flow boundary links, fast port-to-port drag, four port sides across trials, automatic reset/Undo, draft/menu guards and save/reopen passed. The46EE build was inspected at1100x700, rejected an input port as an outgoing source, and cancelled without dirtying the saved model. Its window closed normally, exit0. The final ordered-pointer/hover/pan build still needs native acceptance on both platforms; middle-button dragging is unavailable in the native tool, so use the actual keyboard-pan path plus production mouse probes. Saved evidence under `D:/CodexBuilds/Capella2-release1-01a06e2e/`: - `ui-port-drawing/authored/project.arcadia`:41objects,27links,0checks; Left anchor, FE and Flow boundary link. Reopened on46EE and exported `project.svg` (5050bytes). Root inspected its raster rendering for port direction, nesting and routes; the renderer's fallback font differs from the application. - `ui-port-drawing-reviewed/authored/project.arcadia`:41objects,26links,0checks; Bottom anchor and fast-drawn FE, source bytes inspected after native Save. - `port-drawing-final-tests.log`, `port-drawing-final-linux-*.log` and independent review/probe folders retain exact command scopes. Root's final Windows build9A7FF074 passed fast FE drag, first Bottom port drag, repeated Left drag, readable hover name/owner/alias, arrow pan with source retained offscreen, target completion and one Undo. Current native window328292 has the isolated41object/26link model; independent native reviewer owns it exclusively for the remaining Windows tasks. Linux final build23CEAE18 passed189 desktop tests and strict workspace Clippy but still needs native verification. Pending: final menu lifecycle, Function-card auto endpoint creation, Standard boundary drawing, minimum layout, save/reopen and Linux native workflow. The broader first-release objective remains incomplete. ## Final tooltip and native acceptance The earlier statement that separate Frames eliminated overprint was falsified by independent native QA. Iced batches text after meshes within one GPU layer. A passive second Canvas in Stack now creates a real layer above diagram text, with no input capture or cursor override. Context-scoped held-button tracking prevents stale suppression after menu dismissal and premature tooltips during leave/reentry. Four production lifecycle tests passed on Windows and Linux. Final Windows193 desktop tests, strict desktop Clippy and build passed. Root tested binary1EEBDC3C (full SHA256 in ui-port-tooltip-final executable): first Bottom drag, menu outside dismissal, first repeated Left drag, FE creation and Save,41/26/0. Independent9A7/3F534C review passed Standard rejection/completion, function-card endpoint generation, one Undo/Redo, Save/reopen and minimum1100x700; it reproduced then verified the tooltip fix. Exact report: drawing-independent-native-review.md in the external evidence directory. Root operated Linux binary7AC5EEEFFFD5514C771CF0E3B75471CA771DF75BE5DEBE9B9928B1527E1591F1: first FE drag; Right→Bottom and Bottom→Left port movement; Reset/Undo; arrow pan with source offscreen and target completion; Save/reopen; source folders and file opening. Saved ui-port-tooltip-linux/project.arcadia,41/27/0, contains both exchanges and Left anchor. Runtime log empty; normal close exit0. Inspected1440x900; minimum layout evidence is Windows. Linux189 desktop tests/strict Clippy/release passed, then four new lifecycle tests passed separately. A stale142-test shared-worktree cache result was excluded and main explicitly rebuilt; targets must be checkout-specific. Drawing milestone accepted with these evidence boundaries. The broader first release and direct behavior editing remain incomplete.