Commit graph

35 commits

Author SHA1 Message Date
1cfeb06ec7 Replace Revit CSV backend with Linear XLSX 2026-09-30 08:46:07 +02:00
ade21fe386 Create feeder circuits while linking boards 2026-09-28 22:14:30 +02:00
Grovy311
37a70b6b36 Add the rough power balance module for early design phases
In LPH 2/3 there are no circuits yet, but the office needs a power
balance by DIN 276 cost group, as in the Excel template "Leistungsbilanz -
KG400": each trade enters consumers by piece or by area (W/m²) with GLF
and cos phi; the balance sums AV and SV per cost group, adds a reserve and
derives the maximum current.

The module is separate from the circuit structure: own tables
(migration 0010), own folder src/estimate-balance and an import-free
shared calculation used by API and UI. Writes go through project commands
(estimate-balance.insert/.update/.delete with complete documents), so
revision checks and Undo/Redo apply; it is not part of project snapshots
or transfer yet. A comparison endpoint sums the device rows of all circuit
lists by cost group (longest prefix) against the estimate.

The UI adds a sidebar entry, a list of Stände (template KG 400, empty or
copy) and a spreadsheet-like editor with autosave, AMEV picker for the
GLF, totals, reserve, maximum current, comparison table and print layout.
The tests reproduce the template example exactly (143.24 kW, 148.48 kVA,
157.56 kW / 163.33 kVA with 10 % reserve, 235.75 A). See
docs/estimate-balance.md and issue #7.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 17:39:28 +02:00
Grovy311
cd89c4a499 Add buildings above floors and a building structure page
Projects with several buildings could not be structured: floors and rooms
hung directly off the project. Floors can now belong to a building
(migration 0009: table buildings, nullable floors.building_id). Rooms and
distribution boards keep their floor; their building follows from it.
Existing floors stay without a building.

Buildings use the location-structure command store with
project-building.insert/.update/.delete, inverses and persistent Undo/Redo;
deleting a building with assigned floors is rejected. Floor commands carry
buildingId since command version 2. Version 1 floor commands from existing
history predate buildings and are upgraded with buildingId = null before
they are executed and persisted, so forward and inverse keep one version.

Project snapshot schema 7 stores buildings and floor.buildingId; versions
1-6 are upgraded without buildings. Restore and portable transfer include
buildings, and the transfer remaps building ids.

Buildings, floors and rooms move from the project overview to their own
page /projects/:id/struktur with three columns (Gebäude -> Etagen -> Räume)
that filter each other, and a sidebar entry. Floor selects in the board and
room dialogs are grouped by building. Unchanged dialogs close without a
command. Details in docs/building-structure.md; see issue #6.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 12:52:34 +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
c634570018 Add atomic Revit initial import 2026-08-02 17:33:32 +02:00
219da5ec3b Persist Revit CSV configuration 2026-08-02 16:33:18 +02:00
1eed19ef6b Add editable project floors and rooms 2026-07-31 14:46:06 +02:00
0fd564a930 Persist complete distribution board subtrees 2026-07-31 11:57:10 +02:00
18ca5eb3d4 Persist circuit protection updates 2026-07-31 07:37:38 +02:00
99bdf6491b Persist populated group deletion 2026-07-30 20:10:10 +02:00
3399fcd88b Persist circuit group moves 2026-07-30 20:03:11 +02:00
07925b2fd9 Persist circuit group renumbering 2026-07-30 19:56:59 +02:00
e702712bd8 Add circuit group reordering 2026-07-30 19:49:27 +02:00
1250f9a6af Add circuit group commands 2026-07-30 19:46:55 +02:00
69b020339e Add component update commands 2026-07-30 19:42:09 +02:00
604604f056 Add component structure commands 2026-07-30 19:38:48 +02:00
b1a11397b3 Add configurable distribution supply types 2026-07-29 09:31:20 +02:00
ac465a1cc0 Persist project locations 2026-07-26 10:56:29 +02:00
1cf26a932e Persist distribution board setup 2026-07-25 23:41:27 +02:00
b2763f72d5 Persist project settings updates 2026-07-25 23:08:07 +02:00
384a5769ab Restore named project snapshots 2026-07-25 22:41:24 +02:00
abcb468807 Persist circuit reorders 2026-07-25 21:22:10 +02:00
ac16cca77a Add project device structure history 2026-07-24 09:09:59 +02:00
0bc6c7372f Add project device update history 2026-07-24 08:57:57 +02:00
2668fc2f16 Add project device sync history 2026-07-24 08:47:25 +02:00
4b4603b71b Add section renumber history 2026-07-24 08:34:31 +02:00
332dfdb5d9 Add circuit reorder history 2026-07-24 08:21:32 +02:00
53282e8c7c Add placeholder move history 2026-07-23 22:39:59 +02:00
0a51703315 Add device row move history 2026-07-23 22:29:44 +02:00
ca13efbfcb Add circuit history commands 2026-07-23 22:18:36 +02:00
bd5f4f925f Add device row history commands 2026-07-23 22:09:53 +02:00
e4c7cf06e9 Add project command API 2026-07-23 21:56:13 +02:00