Dach: Traufhöhe editierbar + Abwählen an allen Reset-Stellen

- RoofSection bekommt ein Traufhöhe-Feld (Roof.baseElevation, absolutes Z) —
  z. B. um das Dach für einen Kniestock über die Geschoss-Oberkante zu heben.
  RoofInfo.baseElevation trägt den aufgelösten Wert (Override oder Default).
- Dach-Auswahl wird jetzt an ALLEN Selektions-Reset-Stellen mitgeleert
  (Kontextmenü-/Ebenen-Operationen), nicht nur bei Klick/Geschosswechsel/
  Marquee/Delete — kein Geister-Dach mehr in der Auswahl.
tsc + vitest grün.
This commit is contained in:
2026-07-10 00:30:21 +02:00
parent 8cfe01837e
commit 7cfdf59c29
5 changed files with 20 additions and 0 deletions
+3
View File
@@ -86,6 +86,8 @@ export interface RoofInfo {
ridgeAxis: "x" | "y";
/** Dachdicke (Meter). */
thickness: number;
/** Traufhöhe (absolutes Z, Meter) — aufgelöst (Override ODER Geschoss-Oberkante). */
baseElevation: number;
/** Firsthöhe über der Traufe (Meter, abgeleitet). */
ridgeHeight: number;
/** Grundfläche des Umriss-Rechtecks (m², ohne Überstand). */
@@ -618,6 +620,7 @@ function roofSelection(project: Project, roof: Roof): Selection {
overhang: roof.overhang,
ridgeAxis: roof.ridgeAxis,
thickness: roof.thickness,
baseElevation: eavesZ,
ridgeHeight: g.ridgeHeight,
footprintArea,
};