Dach: getrennter Überstand Traufe/Ortgang (statt ringsum)

Bisher ein einziger overhang ringsum (Designdoc-Prio #2). Neu Roof.overhangGable
für den Ortgang (Giebelseite, entlang First); overhang gilt für die Traufe
(senkrecht zum First). Fehlt overhangGable, gilt ringsum overhang (rückwärts-
kompatibel). Geometrie mappt die Überstände je nach ridgeAxis auf die Outline-
Achsen. Panel: zweites Feld 'Überstand Ortgang' (ausser flach/zelt). +3 Tests.
672/672 grün.
This commit is contained in:
2026-07-10 02:10:03 +02:00
parent 4319e12e35
commit c9baff58b0
7 changed files with 58 additions and 9 deletions
+3
View File
@@ -88,6 +88,8 @@ export interface RoofInfo {
mansardKneeRatio?: number;
/** Dachüberstand an der Traufe (Meter). */
overhang: number;
/** Dachüberstand am Ortgang (Giebelseite, Meter); fehlt ⇒ = Traufüberstand. */
overhangGable?: number;
/** Firstrichtung entlang X oder Y. */
ridgeAxis: "x" | "y";
/** Dachdicke (Meter). */
@@ -636,6 +638,7 @@ function roofSelection(project: Project, roof: Roof): Selection {
mansardType: roof.mansardType,
mansardKneeRatio: roof.mansardKneeRatio,
overhang: roof.overhang,
overhangGable: roof.overhangGable,
ridgeAxis: roof.ridgeAxis,
thickness: roof.thickness,
baseElevation: eavesZ,