Help screen, explore→set-connector-type Enter, settype UI polish.

- New `screen_help.cpp` (`screen_idx = 6`). Left column: menu of 13
  topics (Overview, Dashboard, Console, Palette, Explore,
  Connect/plug, set-connector-type, Signal types, NC pins, Analyze,
  Scripting, Save/restore, Quitting). Centre column: paragraphs of
  the focused topic, word-wrapped via `paragraph()` and scrollable.
  Right column: standard help panel.
- `help` bare → opens the screen; `help <name>` keeps the existing
  textual command-help behaviour for scripts.
- Dashboard `[h]` shortcut opens the screen, and the dashboard help
  panel (both the loaded and the no-system branch) lists it.
- Console: title gets the standard breadcrumb (`essim → console —
  type commands, read textual output`). Module/connection counters
  moved off (they live on the dashboard now).
- Explore Enter on a part jumps to `set-connector-type` with the
  exact-match index pre-computed in the filtered list (avoids the
  substring-match collision where `J20` would land on the wrong
  row when J200/J21 also matched).
- set-connector-type screen: bind `focused_entry` to `selected` on
  both menus so the cursor `>` tracks the selected row when state
  is pre-seeded from outside. Right column drops its strict
  `size(WIDTH, EQUAL, 40)` in favour of `flex`, and the `new type`
  input uses `xflex` so it actually stretches across the column.
- Esc on `set-connector-type` honours `screen_back_idx` — when
  entered via Enter on a part in `explore`, Esc returns to explore;
  otherwise it returns to the dashboard like every other screen.
  Standalone command entries explicitly reset the back-link.
- Net-member rows in the explore detail pane carry a
  `module\tsignal` payload so Enter opens the popup scoped to the
  peer module rather than mis-firing on the locally selected one.
  Same scheme for local-pin rows.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-15 10:31:09 +02:00
parent 792e4745d3
commit 300e871aed
10 changed files with 395 additions and 66 deletions

View File

@@ -126,8 +126,16 @@ Every classification is advisory. To force a different type:
- **Signal type**: from the `explore` screen, press Enter on a
signal entry → a popup lets you pick `power` / `gnd` / `other`.
Or type `set-signal-type <module> <signal> <type>` in the console
(or from the palette).
The same popup also opens when you press Enter on a pin row in
the parts detail (changes the pin's signal type) or on a net
member row in the signal detail (works across modules). Or type
`set-signal-type <module> <signal> <type>` in the console (or
from the palette).
- **Connector type**: from `explore` with `type = parts`, press
Enter on a part to jump to the dedicated `set-connector-type`
screen with that part pre-selected and the cursor on the type
input. The `set-connector-type` command also keeps working from
the console / palette.
- **Connector type**: `set-connector-type <module> <part> <connector-kind>`
(also via the dashboard `[t]` shortcut). This drives the pin role
expectations, which feed the `pin-role` check.