Aggregiert alle raum_outline-Flaechen nach raum_sia-Klassifikation
(hnf/nnf/vf/ff) und zeigt sie als kompakte Mini-Tabelle direkt unter
dem Geschoss-Header in der Project-Browser-Uebersicht.
Backend (_build_overview):
- Neuer Returnschluessel siaBilanz: {geschossId: {hnf, nnf, vf, ff,
ohne, nf, total, count}} in m^2
- NF = HNF + NNF (Nutzflaeche nach SIA 416)
- Raeume ohne SIA-Tag landen in "ohne"
Frontend (ElementeUebersichtApp):
- Direkt unter dem Geschoss-Header eine Inline-Tabelle mit nur den
Klassen die > 0 sind (kein Spam wenn nichts klassifiziert ist)
- NF separat hervorgehoben (Accent-Farbe) als wichtigste Kennzahl
- Read-only, aktualisiert sich mit jedem state-emit (Raum-Aenderung,
SIA-Tag setzen, neue Raeume) automatisch
Zwei neue Satellite-Windows (analog Kamera/Text-Editor):
1) Projekt-Übersicht (elemente_uebersicht.py + ElementeUebersichtApp.jsx)
- Tree Geschoss → Kind → Element-Instanzen
- Suche + Kind-Filter-Chips
- Klick = selektieren in Rhino, Shift+Klick = zoomen
- Erreichbar via account_tree-Button im Elemente-Panel-Header
2) Properties-Satellite (elemente_properties.py + ElementePropertiesApp.jsx)
- Eigenes Fenster mit der PropertiesView (gemeinsame Komponente)
- Live-Updates: elemente._send_state forwarded zu satellite-bridge via sticky
- Erreichbar via open_in_new-Icon oben rechts in der Properties-Karte
- Inline-Properties im Panel bleiben — Satellite ist für mehr Platz
Plus ElementeApp-Cleanup:
- ElementList (alle Elemente-Liste) raus — wird jetzt von Projekt-
Übersicht abgedeckt.
- Properties springen bei Selektion nach oben, NeuesElement bleibt
voll sichtbar darunter (kein Scrollen mehr).
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>