# DOSSIER C# Plugin — Build & Install Das Plugin (`.rhp`) bootstrappt beim Rhino-Start die Python-Module und registriert native Commands (`dWall`, `dDoor`, `dSlab`, …). ## Voraussetzungen ```bash brew install dotnet@7 ``` Oder direkt von Microsoft: https://dotnet.microsoft.com/download/dotnet/7.0 RhinoCommon wird beim ersten Build automatisch via NuGet geladen. ## Repo-Pfad setzen (nach Neuinstallation wichtig) Das Plugin sucht das Repo in dieser Reihenfolge: 1. Env-Var `DOSSIER_HOME` 2. Datei `~/.dossier_home` (eine Zeile: absoluter Pfad zum Repo-Root) 3. Hardcoded Fallback `/Users/karim/STUDIO/DOSSIER` Einfachste Variante — einmalig nach dem Klonen: ```bash echo "/Users/karim/PROJECTS/DOSSIER" > ~/.dossier_home ``` Ohne das findet das Plugin `rhino/startup.py` nicht und bootet nicht. ## Build ```bash cd csharp/DOSSIER ./build.sh # Release → bin/Release/net7.0/DOSSIER.rhp ./build.sh debug # Debug-Build mit Symbols ./build.sh clean # bin/ + obj/ löschen ./build.sh install # Build + yak install in Rhino-User-Plugin-Pfad ``` ## Installation in Rhino (einmalig nach Build) Mac Rhino 8 unterstützt kein Drag & Drop für `.rhp`-Dateien. 1. Rhino 8 öffnen 2. Befehl: `PluginManager` 3. Button **Install…** → `csharp/DOSSIER/bin/Release/net7.0/DOSSIER.rhp` 4. Rhino neu starten Der Pfad bleibt in Rhinos Settings-XML registriert. Bei späteren Builds einfach wieder in denselben Output-Pfad bauen — Rhino lädt den neuen Stand automatisch beim nächsten Start. ## Startup-Eintrag (Python-Bootstrap) Der Launcher trägt den Startup-Eintrag automatisch ein. Für manuelle Dev-Setups ohne Launcher: Rhino → Options → General → „Run these commands every time a model is opened": ``` _-RunPythonScript "/Users/karim/PROJECTS/DOSSIER/rhino/startup.py" ``` (Mit Dash, mit Quotes, voller Pfad — siehe CLAUDE.md für Details warum.) ## Nach Neuinstallation Mac — Checkliste - [ ] Repo klonen: `git clone https://git.kgva.ch/karim/DOSSIER.git` - [ ] `echo "/Users/karim/PROJECTS/DOSSIER" > ~/.dossier_home` - [ ] `brew install dotnet@7 node` - [ ] `cd DOSSIER && npm install && npm run build` - [ ] `cd csharp/DOSSIER && ./build.sh install` - [ ] Rhino öffnen → PluginManager → Install → `.rhp` registrieren - [ ] Rhino neu starten → DOSSIER bootstrappt (Panels + Commands) - [ ] `~/Library/Application Support/RhinoPanel/override_presets.json` von Backup zurückkopieren