diff --git a/README.md b/README.md index 4887cd7..c9adbb8 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ Rhino-8 Plugin für architektonisches Entwerfen mit smarten Bauteilen — Geschosse, Wände, Decken, Dächer, Öffnungen (Fenster/Türen), Treppen (gerade · L · Wendel). Teil der **OpenStudio-Suite** (mit Rapport als Schwestertool). -Die React-UI wird in Rhinos Eto.Forms-WebView über `LoadHtml` (inline) eingebettet — die Plugin-Logik läuft in IronPython3 in Rhino 8 (Mac). +Die React-UI wird in Rhinos Eto.Forms-WebView über `LoadHtml` (inline) eingebettet — die Plugin-Logik läuft in **CPython 3.9** (Rhino 8 Script-Editor-Engine, Mac). ## Voraussetzungen @@ -11,7 +11,7 @@ Die React-UI wird in Rhinos Eto.Forms-WebView über `LoadHtml` (inline) eingebet | Rhino | 8 (Mac · Windows untestet) | | Node.js | ≥ 20 (für Vite 8) | | npm | ≥ 10 | -| Python | IronPython 3 (in Rhino integriert) | +| Python | CPython 3.9 (Rhino 8 Script-Editor-Engine) | Optional — für den Standalone-Launcher: @@ -105,7 +105,8 @@ for m in list(sys.modules): │ ├── MassstabApp.jsx Massstab/Display-Modes │ ├── DimensionenApp.jsx Objekt-Info (Position/Abmessungen) │ ├── OverridePanel.jsx Override-Regeln + Kombinationen -│ ├── components/ EbenenManager, GeschossManager, ... +│ ├── TextEditorApp.jsx DOSSIER-Text WYSIWYG-Editor (Rich-Text via RTF) +│ ├── components/ EbenenManager, GeschossManager, BarControls (shared Pill-UI), ... │ └── lib/rhinoBridge.js React↔Python Bridge ├── rhino/ Backend (IronPython 3) │ ├── rhinopanel.py Haupt-Entry, Bridge-Pattern @@ -118,6 +119,8 @@ for m in list(sys.modules): │ ├── dimensionen.py Objekt-Info Panel │ ├── gestaltung.py Gestaltung (Override-Editor) │ ├── werkzeuge.py Werkzeug-Sammlung +│ ├── text_editor.py DOSSIER-Text Backend (Frame-Pick + Rich-Text-RTF) +│ ├── text_create.py Text-Styles, Font-Apply, Selection-Settings │ └── oberleiste.py Top-Menue (verbindet alle Panels) ├── launcher/ Tauri-2 Standalone-Launcher (optional) ├── dist/ Gebaute React-App (npm run build) @@ -128,9 +131,10 @@ for m in list(sys.modules): ## Bekannte Limitierungen -- IronPython3-spezifisch: keine Umlaute in Source-Strings (`ue/oe/ae` statt `ü/ö/ä`); UTF-8-Header-Kommentar in allen `.py`-Files. +- **Python-Identifier ohne Umlaute** (`ue/oe/ae` statt `ü/ö/ä`) — UI-Strings dürfen Umlaute, Code-Bezeichner / Layer-Codes / UserString-Keys nicht. Konvention seit der Py3-Migration. - **Kein Docking** der Panels (Rhinos `RegisterPanel` schlägt fehl: `"constructor must accept uint, RhinoDoc or no params"`). Panels laufen daher als schwebende `forms.Form`-Fenster. - **`LoadHtml`-inline** statt `file://`-URL — Rhinos WKWebView blockiert sonst `