Ansicht: echter Flächen-Generator (Painter) + Schlagschatten-Kern

generateElevationPlan (toElevation.ts) baut aus projectToModel3d die
Fassadenansicht als gefüllte Flächen statt blossem Kanten-Durchlauf:
Wand-Aussenseiten + Decken-Stirnflächen auf die Ansichtsebene projiziert
(u entlang, v = Höhe), rückseiten-gecullt, vor der Ebene verworfen und per
Painter (fern->nah) emittiert. Fenster/Türen als Rahmen+Glas, Bodenlinie,
tiefengestaffelte Graustufen. Schlagschatten (45°, klassisch): auskragende
Slabs werfen ein geclipptes Schatten-Parallelogramm auf die Fassade dahinter.
Modellfeld DrawingLevel.shadows (additiv). Tests rein geometrisch.
This commit is contained in:
2026-07-11 00:18:46 +02:00
parent 132622b479
commit 7f00f5f1b0
3 changed files with 943 additions and 0 deletions
+7
View File
@@ -478,6 +478,13 @@ export interface DrawingLevel {
linePoints?: [Vec2, Vec2];
/** Blickrichtung relativ zur Schnittlinie (nur Schnitt/Ansicht). */
directionSign?: 1 | -1;
/**
* Schlagschatten in der Ansicht (nur kind "elevation"). Additiv; fehlt/`false`
* ⇒ keine Schatten (heutiges Verhalten). Steuert `generateElevationPlan`
* (toElevation.ts): auskragende Bauteile werfen einen 45°-Schlagschatten auf
* die dahinterliegende Fassade.
*/
shadows?: boolean;
}
/**