Keep single-device circuit names equal to their device row

A circuit with exactly one device row and no fed distribution board is
shown as that row, so its own name was hidden and could drift (e.g.
"Neuer Stromkreis" in the print view). Commands that create or leave
such a circuit, rename its row or unlink its downstream board now set
the circuit name to the row name and store the change as optional
circuitDisplayNames, so Undo restores an overwritten free name exactly.
Migration 0016 aligns existing data.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Julian Appel 2026-10-29 13:55:42 +01:00
parent 58cec53713
commit 01312b89fe
21 changed files with 4330 additions and 111 deletions

View file

@ -58,6 +58,11 @@ See `docs/current-architecture.md` for the complete module and request flow.
- A circuit contains zero, one or multiple device rows.
- A single-device circuit may be displayed as one compact row.
- A multi-device circuit must be displayed with a circuit summary row and indented device rows.
- A circuit with exactly one device row and no fed distribution board carries
that row's name (`syncSingleDeviceCircuitDisplayNames`). Commands that create
or leave such a circuit, rename its row or unlink its downstream board store
the circuit-name changes as optional `circuitDisplayNames`, so Undo restores
an overwritten free name. Migration `0016` aligned existing data.
- Equipment identifiers belong to circuits, not to every device row.
- Device rows inside a circuit do not have their own equipment identifiers.
- Protection and cable data belong to the circuit, not to individual devices.