diff --git a/PENDENZEN.md b/PENDENZEN.md index 0da4197..ddcb53b 100644 --- a/PENDENZEN.md +++ b/PENDENZEN.md @@ -76,6 +76,8 @@ ## ⏭️ Als Nächstes +- [ ] **Kopieren/Einfügen (Strg/Cmd+C/V) fehlt für 3D-Elemente** (Nutzer-Report 2026-07-22). Der Mechanismus in `App.tsx` (Zeile ~1945–1978) ist NUR für 2D-Zeichenelemente (`drawingClipboard`/`selectedDrawingIds`) verdrahtet. Wand/Decke/Dach/Öffnung/Treppe/Raum/Extrusion/Stütze haben keine eigene Zwischenablage — bei Kopieren mit einer 3D-Auswahl passiert nichts (kein `preventDefault`, `ids.size===0`→return), Einfügen benutzt trotzdem den ALTEN Inhalt von `drawingClipboard` aus einer früheren 2D-Kopie → wirkt wie „kopiert nix, fügt das letzte 2D-Element ein". Kein Regressions-Bug, bestand schon vor der App.tsx-Verkleinerungs-Serie dieser Session. **Scope beim Umsetzen:** analog zum 2D-Mechanismus (tiefe Kopie der gewählten Elemente in eine Zwischenablage, Einfügen mit neuen IDs auf aktivem Geschoss) für jede der acht Bauteil-Arten je einzeln nötig — unterschiedliche Datenformen (z. B. Wand braucht neue Endpunkte/Verbindungslogik, nicht nur eine ID-Kopie wie ein Drawing2D). + - [ ] **BIM-Elemente „wirklich 1:1" (Tür/Fenster/Dach/Decke)** — volle Studie + Priorisierung: **[docs/design/bim-elements-depth-study.md](docs/design/bim-elements-depth-study.md)** (623 Zeilen, Referenzmatrix VW/ArchiCAD/Revit/Allplan gegen IST). ✅ **Bereits erledigt 2026-07-10:** Fenster-Schachtelung Blendrahmen→Flügelrahmen→Glas + fest/öffenbar + Einbaulage 2D (`9a38636`); Mansard-Untertypen Giebel/Walm/Zelt + Knick (`bfb80b3`); Dach-Dicke 3D (`e99bb24`) + **Dach-Schichtlogik RoofType/Layer[]** (`3a986ec`); zweiflügelige Türen leafCount 2D+3D (`4319e12`); getrennter Traufe/Ortgang-Überstand (`c9baff5`); Glas/glazingPanes 2D+3D + Rollladenkasten (`2e13ec3`/`d131683`). **Offen (nach Doc-Priorität):** - [x] ~~**Decken-Aussparungen**~~ — **erledigt 2026-07-10 (`37f4fe8`+`cdbef99`+`aee8846`+`83dcdd0`):** `Ceiling.openings?: Vec2[][]` + **Brücken-Trick** (`mergeHoles` in `src/geometry/polygonHoles.ts`: Löcher über schmale Brücken in den Aussenring → EIN einfacher Ring, paritätskorrekt für SVG/Hatch/Ear-Clipping/Pick — KEIN Loch-Support in den Primitiven nötig, kein Rust-Change). 2D-Poché-Loch (Brückenkanten via noStrokeEdges) + 3D-Slab-Loch; Befehl „Deckenloch" (Aliase deckenloch/aussparung, BIM-Ribbon); Panel listet Aussparungen mit Entfernen. +11 Tests. - [x] ~~**Dach in 2D-Aufsicht + Vertikalschnitt**~~ — **erledigt 2026-07-10 (`9a00c8e`+`f248e2a`):** Grundriss-Aufsicht trägt die Ansichts-Schraffur (viewHatchId) der Eindeckungs-Schicht; Vertikalschnitt via `appendRoofSections` (analytischer TS-Schnitt: Cyrus–Beck gegen die Aufsichts-Polygone, lineare Oberkante, Dicke/cos(Neigung), Schicht-Bänder aussen→innen mit Bauteil-Schraffur). **Offen:** Ansichts-/Silhouettenkanten des Dachs in Elevationen (nur Schnitt-Polygone bisher).