Commit graph

43 commits

Author SHA1 Message Date
dce31ee143 Add optional room areas 2026-09-27 20:00:03 +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
Grovy311
7692699ee2 Add print cover fields and office profile
- Project settings gain siteAddress, workStage, projectLead and
  projectEditor (project.update-settings schema version 3, migration 0009);
  versions 2 and 1 stay executable and keep the current cover values.
  Snapshot schema 6 carries the fields; older versions upgrade with null.
- Global office profile (office name/address) next to the document logo:
  table document_branding_settings, PUT /api/document-branding/office,
  editable from the print view toolbar.
- Cover page reads all fields; empty values show the "[ergänzen]" marker.
  The Planstände editor column shows the project editor.
- Shared logo constants moved to a dependency-free module so the Next.js
  bundler can import them.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 10:39:18 +02:00
Grovy311
4779e4a1a7 Add print view, board info card and document logo upload
- Seitenansicht (/projects/:projectId/print): tabular cover page, board
  overview with supply structure and power sums, one plan per board with a
  repeating title block; PDF via the browser print dialog with named @page
  rules (A4 portrait cover, A4/A3 landscape plans, page x of y).
- Distribution-board info card (board number, location, fed-from, remark)
  in the board edit dialog, persisted through the additively extended
  distribution-board.update command (migration 0008, snapshot schema 6,
  legacy subtree commands normalized).
- Global document logo upload (PNG/JPEG/SVG, max 2 MB) outside project
  revisions and snapshots.
- fed-from stays free text; the overview hierarchy and cumulated sums are
  preliminary until the feed link is modeled.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 10:38:59 +02:00
74bea1a3c9 Add Revit circuit list object feed 2026-08-02 18:59:01 +02:00
dac19b093c Add external row quantity foundation 2026-08-02 18:26:22 +02:00
ab2449419b Add Revit initial import wizard 2026-08-02 17:52:21 +02:00
a9d6301753 Add Revit CSV project dialog 2026-08-02 16:59:18 +02:00
44b6fde940 Add public building project setting 2026-07-31 17:41:30 +02:00
1e3c721cfa Derive project device phases from category 2026-07-31 14:37:45 +02:00
734a2bcfc4 Create clean release database baseline 2026-07-31 14:07:26 +02:00
5bee3cb103 Add distribution board copy and delete controls 2026-07-31 12:03:52 +02:00
86f1d42e60 Expose distribution board copy and delete API 2026-07-31 11:59:31 +02:00
7a9530a914 Expose protected tree structure 2026-07-30 20:14:45 +02:00
9ea081179d Add distribution power summaries 2026-07-29 19:02:18 +02:00
dcb303284c Describe snapshot source revisions 2026-07-29 11:52:26 +02:00
096ba8aa1c Standardize phase type labels 2026-07-29 10:46:00 +02:00
084103bf54 Derive device voltages from project settings 2026-07-29 09:53:58 +02:00
b1a11397b3 Add configurable distribution supply types 2026-07-29 09:31:20 +02:00
d77cfbeb49 Add versioned project settings modal 2026-07-28 18:16:22 +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
1a77eedaa8 Add automatic project snapshots 2026-07-25 23:27:51 +02:00
b2763f72d5 Persist project settings updates 2026-07-25 23:08:07 +02:00
d00ae30bda Expose project version history 2026-07-25 22:56:51 +02:00
76d8d59391 Persist circuit cell edits 2026-07-25 20:26:45 +02:00
3977a6e6e1 Persist project device synchronization 2026-07-24 11:47:03 +02:00
e930cb75b8 Route project devices through history 2026-07-24 10:57:50 +02:00
e4c7cf06e9 Add project command API 2026-07-23 21:56:13 +02:00
1e4dd26bb8 Add persistent history stacks 2026-07-23 21:48:24 +02:00
903d977443 Add project revision foundation 2026-07-23 21:17:48 +02:00
04c299e3f2 Remove legacy consumer UI 2026-07-23 19:23:53 +02:00
5dc3ab90be Prepare circuits for future sizing 2026-07-22 20:53:04 +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
9d07ed9856 Align project devices with circuit model 2026-07-22 19:31:08 +02:00
ad498f2bb5 New usable editor 2026-05-03 23:00:46 +02:00
d1ce485572 Added 1B, 2 and added bootstrap again for site 2026-05-03 22:04:45 +02:00
18a4fdd893 All first todos completed 2026-05-01 17:58:14 +02:00
65819900b1 Rewrite frontend, added rooms, voltage selection per project, startet with todos 2026-05-01 17:07:56 +02:00
81d47ce16f Added power sum per distributionboard 2026-04-30 22:04:08 +02:00
ac48e03404 First frontend 2026-04-30 21:37:21 +02:00