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

113 lines
6.9 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.
## 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.