leistungsbilanz-ts/docs/circuit-list-editor-known-limitations.md
Grovy311 49488f4e1b Add optional cable-sizing module
Per-circuit cross-section recommendation as a separate module attached to
the circuit list. It never writes project data itself: "Übernehmen" applies
cable type, cross-section and length through the regular circuit.update
command, so revisions and Undo/Redo stay intact.

- Pure domain module (src/cable-sizing) with IEC 60364-5-52:2009 Annex B
  tables for PVC and XLPE, copper and aluminium, methods A1, A2, B1, B2, C,
  D1, D2 and E. Every value was cross-checked against public reproductions;
  where sources differ the lower value is used (docs/cable-sizing-module.md).
- Temperature and grouping between table values round to the safer value;
  values outside the tables return no result instead of a factor of 1.
  Ground methods use B.52.18 (D2) and B.52.19 A (D1).
- Overload protection: circuit-breakers In <= Iz; gG fuses additionally
  I2 <= 1.45 Iz with I2 = 1.6/1.9/2.1 In.
- Inputs prefilled from the circuit: power, phase (group or device rows),
  project voltage, power-weighted cos phi, length and protective device.
- Opened from a "Leitungsberechnung" button in the row actions, not from a
  grid cell, so cable cells keep the spreadsheet behavior.
- Stateless API under /api/cable-sizing; no database table or migration.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 11:16:18 +02:00

2.2 KiB

Circuit List Editor Known Limitations

  • All currently supported Circuit and CircuitDeviceRow editor writes use persistent project commands and project-wide toolbar undo/redo, including moves, atomic multi-section reorders and explicit renumbering. Undo/redo eligibility is restored from server history after a page reload.
  • The project page exposes the paginated revision timeline; the circuit editor itself currently exposes only the next eligible Undo/Redo actions.
  • Named and automatic logical project snapshots can be listed and restored through the project page with persistent Undo/Redo. Automatic snapshots are created every 25 revisions and only their newest 12 entries are retained.
  • The Revit/CSV foundation and confirmed initial import are implemented. Existing-row assignment, move and detach plus creation of an external-only row in an existing or newly created circuit have atomic persistent commands. Their API planning and editor UI, follow-up import, conflict review and return export are pending.
  • Persistence currently targets local SQLite; PostgreSQL is an architectural option, not an implemented runtime.
  • The global device library supports basic CRUD and copy operations, but has no versioning, permissions or controlled synchronization model.
  • There is no automatic sizing of all circuits. The optional cable sizing module suggests a cross-section for one circuit on demand (IEC 60364-5-52 Annex B tables; no short-circuit, disconnection-time or selectivity checks, no methods F/G, soil resistivity fixed at 2.5 K·m/W) and does not validate manually entered cable values. National tables (DIN VDE 0298-4) must be checked by the planner; see docs/cable-sizing-module.md.
  • Sorting is view-only until users explicitly apply sorted order.
  • Complete-circuit drag supports one circuit at a time between groups of the same category. Cross-category moves and multi-circuit moves across group boundaries are intentionally rejected; multi-circuit reorder inside one group remains supported.
  • Protection and cable values are planner-owned manual selections. The later sizing/warning engine does not yet validate them against load, length or voltage-drop rules.