Files
ARCADIA-Studio/harness/release-port-drawing.md
T

5.1 KiB

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.

Observed verification and remaining acceptance

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.