Fix live-device slot ID resolution, add print and tighten wire routing

_slot_name_by_id() now resolves SOX link slot IDs against the
inheritance-flattened final_components_registry instead of the
per-type slot_registry whose local IDs were wrong for types with
intermediate parents (e.g. RegFloat→Register→Component). This
produced incorrect link endpoints, inflated linked-slot visibility,
and different box sizes between file and live modes.

Also: tighten routing constants for denser wiring, add wiresheet
PNG print/export (Ctrl+P), sort link routing jobs by gap distance,
remove debug route logging, and fix live tree-expand re-selection.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-09-12 21:51:22 +03:00
co-authored by Claude Opus 4.6
parent 6cd030c7ea
commit c59cd22153
5 changed files with 222 additions and 18 deletions
+2 -6
View File
@@ -633,12 +633,8 @@ And two things worth knowing about the manifests themselves rather than the code
## Known gaps
- The yellow square in each box header is drawn but wired to nothing; it is the natural
place for a per-box collapse/expand toggle.
- Undo covers box moves, adds and deletes. Nothing else pushes a command, so a change made
outside those three is not reversible.
- `on_canvas_release` snaps using the rounded-rectangle polygon's first coordinate,
which is `x1 + radius` rather than `x1`, so snapping is offset by the corner radius.
- The yellow square in each box header is a type-icon placeholder that is drawn but not yet
functional; no icon set has been wired to it.
- Slot values are edited from the Properties view only; a wiresheet box row is still
display-only.
- The Link View stacks each side in one column, so a component with a dozen peers makes a