Commit graph

29 commits

Author SHA1 Message Date
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
a69b7b603f Add external object new circuit command 2026-08-02 18:55:57 +02:00
347b3717c3 Add external object new row command 2026-08-02 18:44:46 +02:00
1a7dd7fe03 Add external object row assignment command 2026-08-02 18:38:38 +02:00
ab2449419b Add Revit initial import wizard 2026-08-02 17:52:21 +02:00
734a2bcfc4 Create clean release database baseline 2026-07-31 14:07:26 +02:00
7c8d4a7ddf Document protected circuit groups 2026-07-31 08:06:10 +02:00
1a77eedaa8 Add automatic project snapshots 2026-07-25 23:27:51 +02:00
d00ae30bda Expose project version history 2026-07-25 22:56:51 +02:00
384a5769ab Restore named project snapshots 2026-07-25 22:41:24 +02:00
7c670fece3 Add named project snapshots 2026-07-25 22:15:22 +02:00
5a0c9019af Expose project revision timeline 2026-07-25 21:57:03 +02:00
4b47bc2bcc Restore editor history after reload 2026-07-25 21:45:58 +02:00
c45afd0981 Persist section renumbering 2026-07-25 21:30:29 +02:00
abcb468807 Persist circuit reorders 2026-07-25 21:22:10 +02:00
08a2775a88 Persist device row moves 2026-07-25 21:09:02 +02:00
2eba4ea75e Persist circuit structure edits 2026-07-25 20:49:34 +02:00
76d8d59391 Persist circuit cell edits 2026-07-25 20:26:45 +02:00
e930cb75b8 Route project devices through history 2026-07-24 10:57:50 +02:00
6b6d2c2a42 Rewrite project documentation 2026-07-23 21:05:43 +02:00
3fbf3ac622 Remove legacy consumer API 2026-07-23 20:00:48 +02:00
04c299e3f2 Remove legacy consumer UI 2026-07-23 19:23:53 +02:00
6696bba72a Document future project history architecture 2026-07-23 18:11:09 +02:00
9cc3b7c08c Make bulk row moves atomic 2026-07-23 17:22:56 +02:00
b3a7ff79da Confirm cross-section device moves 2026-07-22 20:31:55 +02:00
fd62bf2e15 Validate project device drop targets 2026-07-22 20:07:09 +02:00
b2f5ce77a5 Make device sync atomic and undoable 2026-07-22 19:47:10 +02:00
6f8b292b6b Add explicit project device sync 2026-07-22 19:38:21 +02:00
7580ad0ade Documentation 2026-05-07 22:55:15 +02:00