Commit graph

37 commits

Author SHA1 Message Date
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
44b6fde940 Add public building project setting 2026-07-31 17:41:30 +02:00
43a3bb0b69 Align documentation with clean baseline 2026-07-31 16:41:37 +02:00
734a2bcfc4 Create clean release database baseline 2026-07-31 14:07:26 +02:00
084103bf54 Derive device voltages from project settings 2026-07-29 09:53:58 +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
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
3977a6e6e1 Persist project device synchronization 2026-07-24 11:47:03 +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
1e4dd26bb8 Add persistent history stacks 2026-07-23 21:48:24 +02:00
2d0aa11d9c Add atomic device row updates 2026-07-23 21:38:20 +02:00
296cb0f1c4 Add atomic circuit update commands 2026-07-23 21:32:25 +02:00
b79faed320 Add serializable project commands 2026-07-23 21:23:31 +02:00
903d977443 Add project revision foundation 2026-07-23 21:17:48 +02:00
6b6d2c2a42 Rewrite project documentation 2026-07-23 21:05:43 +02:00
6696bba72a Document future project history architecture 2026-07-23 18:11:09 +02:00