Files
DOSSIER-STANDALONE/PENDENZEN.md
T

7.7 KiB

PENDENZEN — Aufgaben-Queue (Single Source of Truth)

Diese Datei ist die einzige verbindliche Aufgabenliste. HANDOVER.md enthält nur noch Kontext/Konventionen/Environment/Zielmodelle — keinen Backlog mehr.

Arbeitsprotokoll (ZWINGEND)

Worker-Instanz (führt aus):

  1. Zuerst diese Datei lesen, dann CONVENTIONS.md + verlinkte Detailquellen des Items.
  2. Oberstes nicht-blockiertes Item aus 🔧 In Arbeit bzw. sonst ⏭️ Als Nächstes nehmen, fertig machen, verifizieren (npx tsc --noEmit + npx vitest run + trace-scan), abhaken, eine Ergebniszeile nach Erledigt schreiben (mit Commit-Hash, sobald committet).
  3. Rückfrage-Recht: Bei Unklarheit/Design-Entscheid NICHT raten — Item mit markieren, kurze Frage darunter notieren, nächstes freies Item nehmen. Fragen sammeln sich unter Offene Rückfragen.
  4. Kein Arbeitsschritt endet ohne aktualisierte Liste. Status hier ist immer aktuell, sonst driftet es wieder.
  5. Worker committet nicht selbst und delegiert nicht weiter (Agent/Task verboten) — das macht die Hauptinstanz. (Konvention HANDOVER.)

Planungs-Instanz (mit dem Nutzer, kuratiert):

  • Nimmt Nutzer-Feedback, pflegt daraus die Liste (rein/umpriorisieren/aufspalten). Führt selbst keine Queue-Items aus.
  • Prüft -Zeilen mit dem Nutzer, wandelt sie in konkrete Items.

Blocker (zuerst klären)

  • Toolchain prüfenERLEDIGT 2026-07-04 (macOS-Gerät): node/npm/cargo (1.96.0)/wasm-pack (0.15.0) alle vorhanden. npm install + npm approve-scripts esbuild wasm-pack … (npm gated Install-Scripts → allowScripts-Block in package.json, ungetrackt gelassen), rustup target add wasm32-unknown-unknown, beide WASM-Engines gebaut, Frontend gebaut, npm run tauri:build → Mac-App (cad.app + cad_0.1.0_aarch64.dmg, arm64) läuft. Verifikations-Baseline grün: tsc --noEmit sauber, vitest run 230/230, cargo test render3d 56/56. Kein Blocker mehr für Engine-Slices auf diesem Gerät.

🔧 In Arbeit

(leer — Worker trägt hier ein, was er gerade anpackt)

⚠️ Zu prüfen (evtl. schon erledigt / Status unklar)

  • Snap an Wand-Schichttrennliniengelandet 339202b (wallLayerBoundarySegments in src/tools/snapping.ts), verifiziert vorhanden.

⏭️ Als Nächstes

(Öffnungen als Boolean-Löcher ist jetzt in 🔧 In Arbeit)

📋 Backlog (Priorität grob absteigend)

  • Ebene-Schraffur editierbargelandet dcb6ed5: Kategorie-Dialog (App.tsx, editor.hatch-Feld) hat <select> auf cat.hatch + HatchSwatch-Vorschau. Verifiziert vorhanden.
  • GEO-BLOCK (gemeinsame Dateien io/geoContext/swissTopo/terrain/ContextImportDialog/Viewport3D/siteSlice):
    • Reale Höhen + Projekt-MüM (EG-Referenzhöhe): Terrain georeferenziert bei realem z relativ dazu, Gebäude auf Terrain drapiert (heute alles z=0).
    • Luftbild/SWISSIMAGE-Orthofoto als Textur aufs Terrain-Mesh.
    • Importierte Geo-Elemente auf aktives Geschoss (viewSlice.activeLevelId) + Gelände-Ebene.
    • Nordstern-Geo-Rendering: importierte Meshes (heute nur three.js importedMesh/terrainMesh) auch in projectToModel3d einspeisen.
    • 3D-Mesh-DXF/DWG-Import (heute DXF nur 2D); Building-Draping; höhere DTM-Auflösung.
  • ResourceManager Bauteile-Tab auf Master-Detailbereits Master-Detail (ComponentsTab/ComponentDetail in src/ui/ResourceManager.tsx, Liste links res-md-list / Detail rechts). Verifiziert vorhanden.
  • Einstellungs-Fenster (Rest): Verdrahtung ist da (viewSlice.snapColor/marqueeColor → PlanView SnapMarker/Marquee, Defaults aus theme/accents.ts, Projekt-MüM-Feld referenceElevationMasl). Offen bleibt nur: Snap/Endpunkt-Default = „aki" (s.u., derzeit Sora #5FA1C9) — reine Farbentscheidung des Nutzers.
  • Bildschraffur: ambientCG/CGI-Colorfiles als Quelle (Material-Lib WIP — erst nach Freigabe); Bild-Filter Sättigung/Helligkeit/Kontrast/SW (image.filters).
  • E2b Schraffur-Kachel-Motiv (MotifEditor für HatchStyle-Tile wiederverwenden).
  • Linienstile aufräumen (Weight-only-Stile → „Volllinie", lineStyleId-Referenzen remappen).
  • 2D-Plan z-Anordnen (Kombo-Schraffuren); Bild-Schraffur GL/DXF (heute Fallback).
  • AUDIT (DOSSIER-Studie): A1 Override-Regel-Engine; A2→A3 View-Snapshots → Print-Layout-Blätter (PDF pro Blatt); A5 reichere Öffnungen; B1 Text-Werkzeug (+ Kreis-Tool → Shortcuts 1&3); A4 Tragwerk; B2 Object-Info numerisch. (A6 Bauteil-Schedule-CSV erledigt.) Belege in /tmp/dossier-ref/rhino/*.py.
  • Elemente im Schnitt anwählbar; render3d 2D-Schraffur auf 3D-Flächen.

3D-REST (engine-schwer, bewusst NICHT blind — mit Nutzer angehen)

  • Textur-/PBR-Pipeline (Sampler/Bindings/UV in wgpu; dann textured-Style + Component.texture3d/Material echt rendern).
  • Wand-Schicht-Bänder in 3D Option Bbereits umgesetzt in resolveWallBands(layered=true) (src/plan/toWalls3d.ts:236-241): 3D-Viewer-Pfad liefert je Materiallage ein eigenes WallBand (Dicke + Component-Albedo + Normalen-Versatz), pushSegment emittiert jede Lage als eigene Voll-Box. dominantLayerColor ist nur noch Fallback für den Schnitt-Einkörper-Pfad (layered=false). Verifiziert per Code-Lesung.
  • Ortho-Ray-Picking (aktuell perspektivischer Pick-Strahl; Front/Top/Side-Presets vor erster Navigation leicht ungenau).
  • 3D-Griffe/Editieren (Wand-Endpunkte im 3D ziehen etc. — bisher nur Auswahl + Panel-Edit).

Offene Rückfragen (an den Nutzer)

  • „aki" Snap/Endpunkt-Farbeentschieden 2026-07-04: Sora #5FA1C9 als endgültiger Default festgeschrieben (src/theme/accents.ts DEFAULT_SNAP_COLOR, Doc aktualisiert). Frage geschlossen.
  • Floating-ResourceManager „headless" = ganz ohne Titelleiste? (aktuell MIT)
  • Geo-Block: Projekt-MüM zuerst oder Nordstern-Geo-Rendering?
  • Verifizieren/klären: Isometrie „echte" orthographische Iso (teilw. durch Locked-Iso cb8fae5 adressiert)? · TopBar-Detailgrad (zoom% ganz aus Footer)? · DOSSIER-Audit welche Features konkret übernommen?

Erledigt (Verlauf, neueste oben)

Nur jüngste Session; ältere Historie siehe git log und HANDOVER-Narrative.

  • 2026-07-04 Snap-Farbe entschieden: Sora #5FA1C9 als endgültiger Default festgeschrieben (DEFAULT_SNAP_COLOR, Doc), „aki"- geschlossen.
  • 2026-07-04 Mac-Build via Tauri + Queue-Abgleich — Toolchain auf macOS-Gerät verifiziert, cad.app/cad_0.1.0_aarch64.dmg gebaut & gestartet. Verifikations-Baseline grün (tsc/vitest 230/cargo 56). Queue-Reconciliation: Toolchain-Blocker, Snap-Slice (339202b), Ebene-Schraffur (dcb6ed5), Bauteile-Tab-Master-Detail, Einstellungs-Verdrahtung UND Wand-Schicht-Bänder 3D (Option B, toWalls3d.ts) waren allesamt bereits gelandet, aber in PENDENZEN noch als offen gelistet → abgehakt. (kein Code-Commit)
  • 2026-07-04 Öffnungen als echte Boolean-Löcher (+ Deckentrim-nur-3D) — Fenster/Türen = 1 Wandkörper mit rechteckigen holes (Rechteck-Gitter-Zerlegung + Laibungsquads), Segment-Boxen weg; Deckentrim nur noch im 3D-Pfad, Schnitt volle Höhe. Pflicht-Testfall versetzt-überlappende Fenster grün. cargo test 56, vitest 230, build:engine3d + tsc sauber — 1407c68
  • 2026-07-04 Joins Phase 1c Durchgangswand am T-Stoss echt aufbrechen (spanCutouts) — c5a344d
  • 2026-07-04 Locked-Iso-Fix freie Kamera bleibt nach Ortho-Preset orthografisch — cb8fae5
  • 2026-07-04 3D-Live-Schnittebene mit schraffierten Schnittflächen — 03f0c40
  • 2026-07-04 Joins Phase 2 Merge-Regel im Schnitt (gleiche Komponente verschmilzt) — 82d354f