Initial commit: DOSSIER Hugo website

This commit is contained in:
2026-05-26 11:23:18 +02:00
commit 53c0532f60
417 changed files with 32891 additions and 0 deletions
+101
View File
@@ -0,0 +1,101 @@
---
title: Symbol-Library
linkTitle: Symbol-Library
weight: 6
---
Die Symbol-Library lebt im **PROJECT-SETTINGS**-Tab "Symbole" und macht ein klassisches Architekturbüro-Problem zentral verwaltbar: Möbel, Sanitär-Apparate, Bäume, Autos, technische Symbole — überall im Modell, aber konsistent in der Darstellung.
## 2D+3D Pair-Files
Jedes Symbol besteht aus zwei verknüpften Files:
```text
sofa-3sitz.3dm — 3D-Modell (Block-Definition)
sofa-3sitz.2d.3dm — 2D-Plandarstellung (Block-Definition)
```
Beim Plazieren entscheidet der View-Type:
- **3D-View / Perspektive** → 3D-File wird verwendet
- **Top-View im Grundriss** → 2D-File wird verwendet
- **Section-Plane aktiv** → Section-Cut wird aus dem 3D-File abgeleitet
So bleibt ein Sofa im Schnitt eine sauber gezeichnete 2D-Plandarstellung, in der Visualisierung aber ein vollständiges 3D-Möbel.
## Satellite-Picker
Statt Symbole in einem schwergewichtigen Browser zu suchen, öffnet DOSSIER einen **Satellite-Picker** — ein eigenständiges, kleines Fenster mit Live-Thumbnails:
- Floating-Window neben dem Modellraum
- Filter nach Kategorie (Möbel · Sanitär · Vegetation · Verkehr · …)
- Klick auf Thumbnail → Symbol wird in Rhino plaziert (Drag-Place)
- Mehrfach-Plazierung in Serie ohne Picker zu schliessen
Bleibt offen während aktivem Modell-Edit — typischer Workflow für Wohnungs-Möblierung.
## Multi-Format-Import
Symbole müssen nicht in `.3dm` vorliegen. CRUD im PROJECT-SETTINGS-Symbole-Tab unterstützt:
| Format | Verwendung |
|--------------|-----------------------------------------------------|
| `.3dm` | Rhino-native (Pair-Files werden so behandelt) |
| `.dwg` | AutoCAD-Möbelbibliotheken |
| `.obj` | Generische 3D-Modelle (z.B. von Polantis, Free3D) |
| `.fbx` | 3D-Modelle aus DCC-Tools |
| `.dae` | Collada — SketchUp-Export |
| `.stl` | Mesh-only — Grobgeometrie |
Beim Import wird das File in den projektbezogenen `symbols/`-Ordner kopiert, ein Block in der Rhino-Block-Tabelle registriert und das Thumbnail generiert.
## Auto-Thumbnails (Base64-PNG)
Thumbnails werden **automatisch** beim Import erzeugt:
1. Symbol wird headless in einer 256×256-Viewport gerendert
2. Iso-Ansicht für 3D-Files, Top-Ansicht für 2D-Files
3. PNG wird als **Base64-String** in die `dossier.project.json` geschrieben
Vorteil von Base64: Thumbnails sind teil der Projekt-Konfiguration — der Satellite-Picker kann sie ohne File-IO im Hintergrund anzeigen, und Library-Sharing wird trivial (Config kopieren = Thumbnails mitkopiert).
Cache-Größe pro Symbol typisch 412 KB.
## CRUD-Operationen
Volle Verwaltung im PROJECT-SETTINGS-Symbole-Tab:
- **Create** — Import-Button öffnet File-Picker, Format wird auto-detected
- **Read** — Liste mit Thumbnails, Filter nach Kategorie, Suche im Namen
- **Update** — Symbol-Eigenschaften (Name, Kategorie, 2D-Pair zuordnen) editieren
- **Delete** — Block-Definition aus Rhino entfernen, File aus `symbols/`-Ordner löschen, JSON-Eintrag entfernen
Lösch-Operation prüft, ob das Symbol im Modell verwendet wird, und bietet Replace-Optionen statt blockierender Hard-Delete.
## Datenhaltung
```text
projekt-ordner/
├── projekt.3dm
├── dossier.project.json
│ └── symbols: [
│ { id: "sofa-3sitz", name: "Sofa 3-Sitz",
│ file_3d: "symbols/sofa-3sitz.3dm",
│ file_2d: "symbols/sofa-3sitz.2d.3dm",
│ thumbnail: "data:image/png;base64,iVBORw0KGgo...",
│ category: "moebel" }
│ ]
└── symbols/
├── sofa-3sitz.3dm
├── sofa-3sitz.2d.3dm
├── tisch-esstisch.3dm
└── …
```
Symbol-Files relativ referenziert — Projekt verschieben = Symbole ziehen mit.
## Roadmap
**Library Phase C** (geplant): Cloud-Sync via GitHub-Releases — Team-Sharing einer projektübergreifenden Symbol-Library mit semantischer Versionierung. Siehe [Roadmap](../../docs/roadmap).
**Satellite-Windows-Restyle** (geplant): alle Satellite-Windows (Symbol-Picker, Material-Picker, …) im einheitlichen Pill-Style. Siehe [Roadmap](../../docs/roadmap).