forked from jappel/leistungsbilanz-ts
Replace the Revit drawer with the assignment dialog
- RevitAssignmentDialog: objects as room/group/object with multi-select, filters and drag-and-drop or keyboard assignment onto rows, circuits or new circuits; room-wise automatic split under the socket limit; local plan with review of conflicts and limit overruns, one command on apply and re-check after a revision conflict. - Row badge and context menu list linked objects and detach single objects or all; the context menu opens the dialog for a circuit. - Remove the R7 drawer and direct grid drops; update AGENTS.md, API and architecture docs and mark R11-R14 complete. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
fd45a1caeb
commit
191455c745
12 changed files with 1885 additions and 157 deletions
23
AGENTS.md
23
AGENTS.md
|
|
@ -323,7 +323,9 @@ not change the project revision or undo/redo stacks. Restoring a server-stored
|
|||
snapshot verifies its checksum and the current-state hash, replaces supported
|
||||
project data atomically and records a new `restore` revision with a complete
|
||||
inverse command. Restore can therefore be undone and redone after a restart.
|
||||
Current snapshot schema version 10 stores the Linear-XLSX configuration and
|
||||
Current snapshot schema version 11 adds the project setting
|
||||
`maxSocketsPerCircuit`; version 10 is upgraded with `null`. Version 10 stores
|
||||
the Linear-XLSX configuration and
|
||||
external state with Worksharing-ID identity. Empty versions 1 to 9 are upgraded;
|
||||
versions containing legacy CSV configuration or external CSV state are rejected
|
||||
with a German migration error. Version 9 additionally stores
|
||||
|
|
@ -408,8 +410,22 @@ to preserve the row.
|
|||
with stable BMK/UUIDs, derived voltage, one external-only row, required default
|
||||
protection and its external object links. Its history-only inverse requires the
|
||||
complete unchanged circuit snapshot and exact link set. Redo never recalculates
|
||||
the BMK. All three external assignment stores share
|
||||
the BMK. All external assignment stores share
|
||||
`external-object-assignment.persistence.ts` for compatibility and link safety.
|
||||
The editor no longer uses these three commands (they stay executable for
|
||||
stored history): it assigns through the Revit assignment dialog
|
||||
(`revit-assignment-dialog.tsx`, requirements §11). The dialog builds a local
|
||||
plan with drag-and-drop, keyboard assignment and a room-wise automatic split
|
||||
(`src/shared/revit/assignment-plan.ts`, shared with the API); a Revit object is
|
||||
indivisible and always lands on exactly one row and circuit.
|
||||
`external-object.apply-assignment-plan` writes the whole plan (new circuits
|
||||
with BMKs planned once, new rows, row quantities, links) as one revision; its
|
||||
history-only inverse `external-object.revert-assignment-plan` removes only
|
||||
unchanged created structure. Planning-value conflicts and circuits above the
|
||||
project socket limit need explicit confirmation. Only Revit device types with
|
||||
`isSocket` (configuration schema 2; version 1 derives it from `socketCount`
|
||||
rules) count towards `maxSocketsPerCircuit`. The row badge lists linked objects
|
||||
and detaches single objects or all of them.
|
||||
The current read-only
|
||||
`GET /api/projects/:projectId/circuit-lists/:circuitListId/external-objects`
|
||||
projection resolves the board through the owned CircuitList and returns compact
|
||||
|
|
@ -452,6 +468,9 @@ Schema version 3 additionally carries the print cover fields `siteAddress`,
|
|||
`workStage`, `projectLead` and `projectEditor` (migration `0008`); version 2
|
||||
(without them) and baseline version 1 stay executable and keep the current
|
||||
cover values. The PUT route accepts the cover fields optionally.
|
||||
Schema version 4 adds the client-specific `maxSocketsPerCircuit` (migration
|
||||
`0018`, positive integer or `null` = no limit); versions 1 to 3 keep the
|
||||
current value. The PUT route accepts it optionally.
|
||||
The public-building flag is the future sizing input for requiring halogen-free
|
||||
cables and lines. The system catalog is `AV`, `SV`, `EV`,
|
||||
`USV`, `MSR`, `SiBe`; at least one must be enabled and a type used by a board
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue