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

6.9 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.

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.