5.5 KiB
HANDOVER — Stand 2026-07-04 (Schraffur/Linien-Epic + Folgethemen)
Übergabe an eine frische Instanz. Alles unten Gelistete ist committet, sofern nicht anders vermerkt. Ältere Handover-Stände (< 2026-07-04) siehe git-Historie. Zuerst CONVENTIONS.md lesen.
Konventionen (ZWINGEND — zuerst lesen)
- Keine KI-/Assistant-Spuren im Repo: vor jedem Commit
git diff | grep -iE "claude|anthropic|opus|sonnet|generated with|co-authored|gpt|openai|assistant"→ muss leer sein. Commits deutsch, sachlich, KEINE Co-Authored-By-Trailer. - NICHT ANFASSEN (fremde WIP):
.gitignore,public/assets/materials/manifest.json,src/materials/library.ts,scripts/fetch-materials.mjs— bleiben dauerhaft dirty, nie stagen. - Agenten-Regeln: Subagenten default Sonnet (Nutzer-Wunsch 2026-07-04); Opus nur bei intricater Geometrie. Agenten dürfen NICHT weiterdelegieren (Agent/Task-Tool verbieten — sonst Spawn-Schleifen), NICHT committen, keine Memory. Hauptinstanz verifiziert (
tsc --noEmitclean +vitest run) + trace-scan, committet dann selbst, staged nur die Task-Dateien (Kollisionen: parallelen Agenten disjunkte Datei-Lanes geben; i18n exklusiv einem Agenten). - Budget: Session-Ende bei 98% — Sparflamme.
- Engine = „Nordstern" (render2d/render3d/WASM). Referenz DOSSIER-Rhino:
https://git.openbureau.ch/karim/dossier(Alias git.kgva.ch), geklont/tmp/dossier-ref.
In dieser Session gelandet (Auswahl Commits)
Schraffur/Linien-Epic komplett: Typmodell (vector/image Hatch, dash/zigzag/custom Line, Component Vordergrund/Hintergrund), ResourceManager Master-Detail (Schraffuren/Linien/Wandstile/Deckenstile, 9695748), Rendering neuer Typen (Bild-<pattern>, random modellraum-verankert, Zickzack, Custom-Motiv-Editor src/ui/MotifEditor.tsx), modulares Linien-Segment-System (Strich/Punkt/Lücke), Attribut Vordergrund/Hintergrund + By-Layer/By-Object-Quellen (Nach Ebene/Bauteil/eigener Wert für Vordergrund/Hintergrund/Strichstärke/Schraffur, d02781e).
Weiter: Gehrung spitze Winkel (2D+Schnitt+Rust), TopBar/Footer-Reorg, Zoom-% am Massstab, Tool-Shortcuts 1..0, Verschiebe-Dreieck flacher + Snap, Statusleiste „Nordstern", ResourceManager als floating nicht-modales Fenster, swisstopo Gebäude(extrudiert)+Terrain-Mesh in 3D (f22970f), Schnitt-Wandschicht-Orientierung (7569524), Schnitt-Boolean-Dominanz nach joinPriority (23d81be).
IN FLIGHT bei Session-Ende (PRÜFEN!)
- Snap an Wand-Schichttrennlinien (Agent Sonnet): sollte
src/tools/snapping.ts(+ ggf.src/model/geometry.ts+ Test) geändert haben.git statusprüfen — falls dirty:tsc+vitest+trace, committen. Falls nicht gelandet: neu beauftragen (Schicht-Offsetlinien ausaddWallPoche-Logik in generatePlan spiegeln [nur LESEN], als Snap-Targets in snapping.ts einspeisen).
Offener Backlog (Priorität grob absteigend)
- Ebene-Schraffur editierbar: „Nach Ebene"-Schraffur ist in der Resolve fertig, aber
LayerCategory.hatchist im Kategorie-Dialog (App.tsx ~3350, editiert nur name/color/lw) noch nicht editierbar. Kleine Folge-Arbeit. - GEO-BLOCK (gemeinsame Dateien io/geoContext/swissTopo/terrain/ContextImportDialog/Viewport3D/siteSlice):
- Reale Höhen + Projekt-MüM: Gebäude/Terrain sind auf z=0 (Terrain zentriert, Gebäude-Basis z=0). Nutzer will Projekt-Setting für MüM (EG-Referenzhöhe), Terrain georeferenziert bei realem z relativ dazu, Gebäude auf Terrain drapiert.
- Luftbild/SWISSIMAGE-Orthofoto als Textur aufs Terrain-Mesh.
- Importierte Geo-Elemente auf aktives Geschoss (
viewSlice.activeLevelId) + eine Gelände-Ebene; Kontext liegt inproject.context(siteSlice) ohne floorId/categoryCode. - Nordstern-Geo-Rendering: importierte Meshes (heute nur three.js
importedMesh/terrainMeshin Viewport3D) auch inprojectToModel3deinspeisen — Nordstern zeigt sie sonst nicht. - 3D-Mesh-DXF/DWG-Import für präzise Gebäude (heute DXF nur 2D); Building-Draping; höhere DTM-Auflösung.
- ResourceManager Bauteile-Tab auf Master-Detail (wie Wandstile) — BEVOR Bauteil-Logik angefasst wird.
- Einstellungs-Fenster: Auswahlrahmen Default Yuyake #CEB188; Snap/Endpunkt Default = RÜCKFRAGE „aki" (nicht in Accents: Ajisai/Sakura/Suna/Ichigo/Yuyake/Sora/Kusa/Kori/Amagumo/Yuki); freier Picker + Accents-Presets; verdrahten in PlanView (Selektionsrahmen + Snap-Marker). Dazu Projekt-MüM-Feld.
- 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. Belege in
/tmp/dossier-ref/rhino/*.py. - Elemente im Schnitt anwählbar; render3d 2D-Schraffur auf 3D-Flächen.
Offene Rückfragen
- „aki" = welcher Accent für Snap/Endpunkt-Farbe.
- Floating-ResourceManager „headless" = ganz ohne Titelleiste? (aktuell MIT).
- Geo-Block: Projekt-MüM zuerst oder Nordstern-Geo-Rendering.
Verifikation
npx tsc --noEmit + npx vitest run (zuletzt 152 grün) + trace-scan vor jedem Commit.