Etappe D: Solitaergehoelze, Kronenschattierung, Nachbargelaende Sued
Deploy App / deploy (push) Successful in 27s

- blob(): die Auslenkung war ein Zufallswert je Vertex. IcosahedronGeometry
  ist unindiziert, jeder Eckpunkt kommt mehrfach vor - die Flaeche riss in
  Splitter auf. Jetzt eine stetige Funktion der Richtung, dazu wahlweise
  die Normalen der ungestoerten Kugel: die Krone wird weich schattiert,
  die Silhouette bleibt unregelmaessig.
- Baumkronen mit eigener Laubtextur (laubBaum) statt flacher Farbe.
- Parrotia als mehrstaemmiges Solitaergehoelz: die drei Staemme laufen aus
  einem Punkt schraeg auseinander, die Kronenblasen sitzen darueber.
- Gelaendezonen: Grenze Garten/Sued liegt jetzt auf den Winkelelementen
  bei z 4.96, Grenze Garten/Ost auf den Winkelelementen bei x 3.74.
  Das Nachbargrundstueck Sued liegt hoeher als der Garten - dafuer stehen
  dort Winkelelemente und die bestehende Betonmauer. Koten setzen den
  Trend der Grenzkoten fort.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
2026-09-10 18:04:05 +02:00
co-authored by Claude Opus 5
parent 32ceba7de0
commit 5d5bc50b38
4 changed files with 73 additions and 27 deletions
+16 -7
View File
@@ -393,7 +393,7 @@ export const NEIGHBOUR_BUILDINGS = [
export const TERRAIN_ZONES = [
{
id: 'garten', label: 'Garten Kellenberger',
polygon: [[-20.90, -6.60], [3.00, -6.60], [3.00, 5.95], [-20.90, 5.95]],
polygon: [[-20.90, -6.60], [3.74, -6.60], [3.74, 4.96], [-20.90, 4.96]],
fallback: -0.05,
},
{
@@ -407,13 +407,16 @@ export const TERRAIN_ZONES = [
fallback: -1.70,
},
{
// Die Grenze der Zone liegt auf den Winkelelementen bei z 4.96: dort
// faengt der Nachbar sein hoeher liegendes Terrain, dahinter steht die
// bestehende Betonmauer.
id: 'sued', label: 'Nachbargrundstück Süd',
polygon: [[-22.00, 5.95], [6.00, 5.95], [6.00, 12.00], [-22.00, 12.00]],
fallback: -0.20,
polygon: [[-22.00, 4.96], [6.00, 4.96], [6.00, 12.00], [-22.00, 12.00]],
fallback: 0.45,
},
{
id: 'ost', label: 'Wiese Ost',
polygon: [[3.00, -6.60], [9.00, -6.60], [9.00, 5.95], [3.00, 5.95]],
polygon: [[3.74, -6.60], [9.00, -6.60], [9.00, 4.96], [3.74, 4.96]],
fallback: 0.55,
},
];
@@ -430,9 +433,15 @@ export const EXTRA_SPOTS = [
{ x: -20.0, z: -12.5, y: -1.75, zone: 'zollet' },
{ x: -8.0, z: -12.5, y: -1.70, zone: 'zollet' },
{ x: 2.0, z: -11.5, y: -1.65, zone: 'zollet' },
{ x: -18.0, z: 9.0, y: -0.40, zone: 'sued' },
{ x: -6.0, z: 9.0, y: 0.10, zone: 'sued' },
{ x: 4.0, z: 9.0, y: 0.60, zone: 'sued' },
// Das Nachbargrundstueck im Sueden liegt hoeher als der Garten - genau
// deshalb stehen dort Winkelelemente und die bestehende Betonmauer. Die
// Werte setzen den Trend der Grenzkoten (-0.04 / 0.26 / 0.63) fort.
{ x: -18.0, z: 5.6, y: 0.10, zone: 'sued' },
{ x: -6.0, z: 5.6, y: 0.45, zone: 'sued' },
{ x: 4.0, z: 5.6, y: 0.85, zone: 'sued' },
{ x: -18.0, z: 9.0, y: 0.25, zone: 'sued' },
{ x: -6.0, z: 9.0, y: 0.60, zone: 'sued' },
{ x: 4.0, z: 9.0, y: 1.00, zone: 'sued' },
{ x: 7.5, z: -5.0, y: 0.10, zone: 'ost' },
{ x: 7.5, z: 0.0, y: 0.45, zone: 'ost' },
{ x: 7.5, z: 5.0, y: 0.80, zone: 'ost' },