Masse-Dropdown in Oberleiste + Satellite-Settings statt Dimensionen-Inline

User-Feedback: Mass-Style passt nicht ins Dimensionen-Panel, und der
Name "Mass-Style" gefaellt nicht. Umzug in die Oberleiste (analog Display)
+ Zahnrad oeffnet eigenes Settings-Fenster. UI-Begriff jetzt "Masse".

Frontend:
- OberleisteApp: neue Gruppe "Masse" mit Preset-Dropdown + Zahnrad-Button
  zwischen Display und Massstab
- MasseSettingsApp.jsx (neu): Satellite-Fenster mit Name/Raum-Rundung/
  Mass-Dezimalstellen/Mass-Einheit + Picker + Add/Delete
- DimensionenApp: MassStyleSection raus
- rhinoBridge: setMasseActive + openMasseSettings (Topbar);
  masseSetActive/masseSavePreset/masseDeletePreset (Settings-Fenster)

Backend:
- rhino/masse_settings.py (neu): Bridge fuer das Satellite-Fenster,
  Topics SET_ACTIVE / SAVE / DELETE, triggert regen_all_rooms + topbar refresh
- mass_style.regen_all_rooms(doc): neue cross-modul-Helper, queued
  Raum-Regen fuer alle raum_outline-Objekte
- oberleiste.py: massePresets + masseActiveId im State, SET_MASSE_ACTIVE
  + OPEN_MASSE_SETTINGS handler, Signature update
- dimensionen.py: Mass-Style-Endpoints + State raus (sind jetzt im
  OberleisteBridge bzw. MasseSettingsBridge)

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-05-20 21:29:23 +02:00
parent 0b4b25cf47
commit 2ee4688fe3
9 changed files with 347 additions and 186 deletions
+8 -4
View File
@@ -171,10 +171,14 @@ export function saveOverridesPreset(name) { send('SAVE_OVERRIDES_PRESET', { name
export function openOverridesPanel() { send('OPEN_OVERRIDES_PANEL', {}) }
export function openKameraPanel() { send('OPEN_KAMERA_PANEL', {}) }
// --- Mass-Style (Dimensionen-Panel hostet) ---
export function setMassStyleActive(id) { send('MASS_STYLE_SET_ACTIVE', { id }) }
export function saveMassStyle(preset) { send('MASS_STYLE_SAVE', { preset }) }
export function deleteMassStyle(id) { send('MASS_STYLE_DELETE', { id }) }
// --- Masse (in Oberleiste + Satellite-Fenster MasseSettings) ---
// Topbar: aktives Mass setzen + Settings-Fenster oeffnen
export function setMasseActive(id) { send('SET_MASSE_ACTIVE', { id }) }
export function openMasseSettings() { send('OPEN_MASSE_SETTINGS', {}) }
// MasseSettings-Fenster: eigene Bridge (Topics ohne MASSE_ prefix)
export function masseSetActive(id) { send('SET_ACTIVE', { id }) }
export function masseSavePreset(preset) { send('SAVE', { preset }) }
export function masseDeletePreset(id) { send('DELETE', { id }) }
// --- Kamera-Panel ---
export function setKameraViewport(state) { send('SET_VIEWPORT', { ...state }) }