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

84 lines
5.1 KiB
Markdown

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