Specify Revit assignment dialog and per-project socket limit

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Julian Appel 2026-10-30 21:10:23 +01:00
parent 38019fe087
commit 85cbdbf8e0
2 changed files with 232 additions and 25 deletions

View file

@ -19,6 +19,10 @@ Der alte CSV-Plan 14.0–14.6 ist abgelöst und wird nicht fortgeschrieben.
| R8 | abgeschlossen | Rückgabe-Excel für alle, abweichende oder ausgewählte Objekte und append-only Exportnachweis sind umgesetzt. |
| R9 | abgeschlossen | Vollständiger Folgeimport nach exakter Worksharing-ID mit Quellentscheidungen, fehlenden Objekten, bestätigtem Löschen und persistentem Undo/Redo. |
| R10 | abgeschlossen | Ende-zu-Ende-Kette, 5.000-Objekte-Lasttest, gebatchte Zustandspersistenz und Abschlussdokumentation. |
| R11 | geplant | Projekteinstellung `maxSocketsPerCircuit` und Geräteart-Merkmal `isSocket` samt Hochstufung und Einstellungs-UI. |
| R12 | geplant | Reines Planungsmodul für Row-Bildung, Belegung, Konflikte und raumweise Aufteilung. |
| R13 | geplant | Atomarer Command `external-object.apply-assignment-plan` mit Route und exakter Inverse. |
| R14 | geplant | Zuordnungsdialog mit Drag-and-drop und Plan, Row-Objektliste mit Einzel-Lösen, Entfernen des R7-Drawers. |
## R0 – Audit
@ -223,7 +227,56 @@ ist für alle vollständigen External-Model-Zustandspfade behoben. Messwerte und
Abnahme stehen in [R10-Abnahme](revit-excel-r10-validation.md). Phase 14 ist
damit abgeschlossen.
## Pflichtprüfungen je Paket R1–R10
## R11–R14 – Zuordnungsdialog und Steckdosen-Höchstwert
Fachgrundlage: Abschnitte 5, 6 und 11 der
[Anforderungen](revit-excel-integration-requirements.md), Stand 30.10.2026.
Anlass: Der R7-Drawer kann gleichartige Objekte eines Raums nur gesamt oder
einzeln zuordnen. Steckdosen müssen objektweise und unter einem
auftraggeberabhängigen Höchstwert auf mehrere Stromkreise verteilt werden.
### R11 – Einstellungen
- Projekteinstellung `maxSocketsPerCircuit`: Migration `0018` (nullable
Spalte), `project.update-settings` Schema-Version 4 (1–3 bleiben ausführbar
und lassen den Wert unverändert), Snapshot-Schema 11 (1–10 mit `null`
hochgestuft), Projekttransfer, PUT-Route und Projekteinstellungsdialog;
- `ExternalModelConfiguration` Schema-Version 2 mit `deviceTypes[].isSocket`;
Version 1 wird beim Lesen aus den `socketCount`-Regeln hochgestuft
(gespeicherte Konfiguration, Importbatch-Kopien, History-Commands,
Snapshots, Transfer);
- Revit-Einstellungen: Merkmal „Steckdose“ je Geräteart; Wizards belegen es
vor.
### R12 – Planungsmodul
- reines, importfreies Modul für Client und Server;
- Row-Bildung im Zielstromkreis, Belegung je Stromkreis, Konfliktliste,
Kategorieprüfung und raumweise Aufteilung nach Anforderung 11.6;
- fokussierte Unit-Tests, u. a.: 8 Doppelsteckdosen bei Grenze 8 ergeben
zwei Stromkreise mit je 4 Objekten; Räume werden nur bei Bedarf geteilt;
ein Einzelobjekt über der Grenze erhält einen eigenen Stromkreis.
### R13 – Command
- `external-object.apply-assignment-plan` über die gemeinsame
Project-Command-Transaktionsgrenze und
`external-object-assignment.persistence.ts`;
- serverseitige Neuprüfung mit dem R12-Modul; Konflikte und Überschreitungen
nur mit ausdrücklich gelisteter Bestätigung;
- strikte zod-Eingabe, Routentests (nicht angemeldet, fremdes Objekt,
ungültige Eingabe), SQLite-Commit/Rollback, Undo/Redo nach Neustart.
### R14 – Editor-UI
- Zuordnungsdialog nach Anforderung 11.2–11.7 mit lokalem Plan, Drag-and-drop,
Tastaturalternative, Prüfansicht und 409-Neuprüfung;
- Kontextmenü-Einstieg mit vorausgewähltem Ziel;
- Row-Badge öffnet die Objektliste mit Einzel- und Gesamt-Lösen;
- R7-Drawer und Grid-Drop für Revit-Objekte entfernen; AGENTS.md und
Architekturdokumentation nachziehen.
## Pflichtprüfungen je Paket R1–R14
```text
fokussierte Tests