970281e10a
Properties-Panel: - Konsistentes 50px/1fr/14px Grid fuer alle Treppen-Rows - Lage + Unten als Dropdown (lowercase Labels) - Versatz: Dropdown (Geschoss-OKFF) oder eigenes Z mit Input + x-Button - Ziel: gleich (Geschoss-Liste oder eigene Hoehe), Geschosse-Filter excludes das Start-Geschoss - Start-Dropdown filtert auf okff < Ziel-Z (kein hoeheres Geschoss als Start waehlbar, beachtet auch eigene-Hoehe-Ziel) - Stufen: Dropdown 2-40 (statt freie Eingabe), mit Lock nur S-konforme Werte - Dropdowns nutzen System-Font (statt mono) - Ausgrenzung 'Aussenlinie'-Toggle (Aussenlinie immer an) - Pfeil-Style-Dropdown unter Lauflinie-Checkbox: klassisch / gefuellt (Solid-Hatch) / breit / voll (Spitzen bis Treppen-Aussenkanten) Backend Treppe: - Start-Z-Override via treppe_uk_over (m Offset relativ zu Geschoss-OKFF) - 2D-Symbol bleibt auf OKFF (egal ob Versatz) — Symbol klebt am Boden - Lauflinie-Schaft auf visuellen Treppen-Mittelpunkt versetzt (bei Lage=links/rechts), nicht mehr auf der Referenz-Achse - Trittmass-Lock: treppe_lock_s + target_S/A. Beim Aktivieren werden S+A als Ziel gespeichert. Bei H-Change wird N=round(H/target_S) recomputed + Axis-Laenge auf N*target_A angepasst (gerade Treppen) - Bruchsymbol-Toggle aus: ganze Treppe ungesplittet zeichnen (eff_cut_h=0 → kein Lower/Upper-Split) - Treppen-Endpunkt-Marker (treppe_grips.py) — gruene Punkte an Start/ Ende der Lauflinie, beachtet treppe_art (Wendel: poly[1]/poly[2]) Verdoppelungs-Fix: - _find_target_volume skipt treppe_2d_symbol explicit (sind 2D-Curves, kein Volume). Vorher konnte Replace(curve, brep) fehlschlagen → das echte Treppen-Brep blieb stehen + neues kam dazu → Duplikat - _find_objects_by_wall_id mit HiddenObjects+LockedObjects-Iterator, findet auch Objs auf hidden 3D-Layer - Anti-Dup-Cleanup in _regenerate_element: bei mehreren treppe_volume mit gleicher element_id → alle ausser dem ersten loeschen State-Pipeline: - geschosse-Liste enthaelt jetzt okff+hoehe (fuer Frontend-Constraints) - Treppe-State neu: ukOver, arrowStyle, lockS, targetS, targetA - Hidden-Source-Fallback in _send_state findet auch Treppen wenn der 3D-Layer aus ist (sodass Properties-Panel angezeigt wird) Dimensionen-Panel: - on_select + on_idle skippen waehrend Partnership-Cascade oder User-Transform — kein Flicker mehr beim Drag Andere: - Wand-Polyline-Vertex-Grips (alle Vertices, nicht nur Enden) - PopupMenu unterstuetzt _divider + checked-Items - TREPPEN/RAEUME Layer-Migration auf Capital-Case - selection-partnership tolerant: hidden Source wird trotzdem in die Selection genommen (sonst kann Drag nicht durch Pure-Transform)