Obstbaum: B/H-Band gilt fuer dieses Preset nicht mehr (Regel festgehalten)

Nur Doku und Test-Kommentare, keine Geometrie-Aenderung - deshalb kein
Versionssprung.

Die Spielseite hat den Dauerkonflikt aufgeloest: Kronenradius >= 1.80 schlaegt
B/H <= 0.75. Zweimal war die Abwaegung dieselbe (Kronenradius traegt die
Frucht-Streuung), beim zweiten Mal wurde daraus eine Regel statt einer
Einzelfallentscheidung. Die gemessenen 0.77-0.82 sind der Preis der
Frucht-Tragflaeche.

Sachlich richtig ist das auch deshalb, weil B/H die Form gar nicht absichert:
es haette sowohl den Trichter (oben/mitte 1.07) als auch die Pilzform
(unten/mitte 1.17) durchgelassen. Das Breitenprofil trennt beide sauber.

Festgehalten in test_obstbaum.py (Kopf + Kommentarblock), im Preset selbst und
in der README - damit die Abwaegung nicht ein drittes Mal von vorn gefuehrt
wird. Im Preset stehen jetzt die Neun-Seed-Werte statt der alten
Drei-Seed-Zahlen.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-08-06 14:42:07 +02:00
co-authored by Claude Opus 4.8
parent 0b6f0deff9
commit d87450a4b8
3 changed files with 38 additions and 14 deletions
+10 -4
View File
@@ -697,10 +697,16 @@ Zwei Fallen beim Einregeln, beide gemessen statt vermutet:
gemessen 29 %, nicht 37 %.
`tests/test_obstbaum.py` prueft die funktionale Bedingung ueber alle neun Seeds.
B/H wird BEWUSST nicht hart geprueft: die Vorgaben B/H 0.55-0.75 und
Kronenradius >= 1.80 m bei 4-5 m Hoehe lassen zusammen nur ein 4 % breites
Fenster zu, waehrend die Streuung von Seed zu Seed rund 12 % betraegt. Vorrang
hat der Kronenradius, weil an ihm die Fruechte haengen.
**B/H gilt fuer dieses Preset nicht** (Entscheidung der Spielseite,
2026-08-06). Das urspruengliche Band 0.55-0.75 und Kronenradius >= 1.80 m bei
4-5 m Hoehe lassen zusammen nur ein 4 % breites Fenster zu, waehrend die
Streuung von Seed zu Seed rund 12 % betraegt. Zweimal ist die Abwaegung
zugunsten des Kronenradius ausgefallen - beim zweiten Mal wurde daraus eine
Regel: **Kronenradius >= 1.80 schlaegt B/H <= 0.75**, die gemessenen 0.77-0.82
sind der Preis der Frucht-Tragflaeche. Die Form sichert ohnehin das
BREITENPROFIL ab, und das trennt schaerfer: B/H haette sowohl den Trichter
(oben/mitte 1.07) als auch die Pilzform (unten/mitte 1.17) durchgelassen.
### Card-Groesse misst sich an der Baumhoehe
+9 -2
View File
@@ -187,8 +187,15 @@ PRESETS = {
# die Krone selbst ist 3-4 m hoch. 1.8 m Ansatz plus 3 m Krone sind 4.8 m
# Gesamthoehe und ein Ansatz bei knapp 40 % - genau das Band der Spielseite.
#
# Gemessen ueber drei Seeds: H 4.96 m, B 3.66 m, B/H 0.74, Ansatz 39 %,
# Kronenradius 1.83 m, 1316 Tris. Alle vier Vorgaben erfuellt.
# Gemessen ueber alle neun Produktions-Seeds: H 4.90 m, Kronenradius
# 1.88-2.01 m, Kronenansatz 39 %, Breitenprofil oben/mitte 0.63-0.84,
# Deckung 100-134 % der Eiche, 3752-4166 Tris.
#
# Fuer dieses Preset gilt B/H NICHT (Entscheidung der Spielseite,
# 2026-08-06): Kronenradius >= 1.80 schlaegt B/H <= 0.75, weil an der
# Kronen-Aussenhaut die Frucht-Streuung haengt. Gemessen 0.77-0.82. Die Form
# sichert das BREITENPROFIL ab, das schaerfer trennt - B/H haette sowohl den
# Trichter als auch die Pilzform durchgelassen. Siehe tests/test_obstbaum.py.
#
# FALLE beim Einregeln: "Height" ist die STAMMlaenge, nicht die Baumhoehe.
# Die Aeste ragen darueber hinaus - mit Height 4.8 kam der Baum auf 5.4-6.2 m.
+19 -8
View File
@@ -10,8 +10,10 @@ Deshalb ist das hier KEIN Silhouetten-Test mit Geschmacksurteil, sondern eine
funktionale Bedingung: Kronenradius > Card-Groesse.
Vorgaben der Spielseite, die mitgeprueft werden:
Kronenansatz 35-40 %, Kronenradius S4 >= 1.8 m, Hoehe 4-5 m.
B/H ist bewusst NICHT hart geprueft - siehe Kommentar unten.
Kronenansatz 35-40 %, Kronenradius S4 >= 1.8 m, Hoehe 4-5 m,
Breitenprofil (die Krone muss sich nach oben schliessen),
Deckung gegen die Eiche.
B/H gilt fuer dieses Preset NICHT - siehe Kommentar unten.
Aufruf: blender --background --factory-startup --python tests/test_obstbaum.py
"""
@@ -262,13 +264,22 @@ for seed in SEEDS:
fails.append("Seed %d: Kronenansatz %.0f %%, Vorgabe 35-40 %% "
"(33-45 als Toleranz)" % (seed, ansatz))
# B/H wird BEWUSST nicht hart geprueft.
# B/H gilt fuer dieses Preset NICHT MEHR - Entscheidung der Spielseite,
# 2026-08-06. Es wird nur noch mitgedruckt.
#
# Die Spielseite nennt 0.55-0.75 UND Kronenradius >= 1.80 m bei 4-5 m Hoehe.
# Beides zusammen laesst bei H = 5.0 nur B zwischen 3.60 und 3.75 zu - ein
# Fenster von 4 %, waehrend die Streuung von Seed zu Seed rund 12 % betraegt.
# Die Vorgaben sind also nur im Mittel gleichzeitig erfuellbar. Vorrang hat die
# funktionale (Kronenradius), weil an ihr die Frucht-Streuung haengt.
# Vorgeschichte: das urspruengliche Band war 0.55-0.75, zusammen mit
# Kronenradius >= 1.80 m bei 4-5 m Hoehe. Beides zusammen laesst bei H = 5.0 nur
# B zwischen 3.60 und 3.75 zu - ein Fenster von 4 %, waehrend die Streuung von
# Seed zu Seed rund 12 % betraegt. Zweimal ist die Abwaegung deshalb zugunsten
# des Kronenradius ausgefallen (er traegt die Frucht-Streuung); beim zweiten Mal
# hat die Spielseite daraus eine Regel gemacht:
#
# Kronenradius >= 1.80 schlaegt B/H <= 0.75.
# Die gemessenen 0.77-0.82 sind der Preis der Frucht-Tragflaeche.
#
# Die Form sichert ohnehin das BREITENPROFIL schaerfer ab, als B/H es je
# konnte: B/H haette sowohl den Trichter (oben/mitte 1.07) als auch die
# Pilzform (unten/mitte 1.17) durchgelassen.
print("")
print("Kronenradius/Card ueber alle Seeds: %.2f - %.2f" % (min(verh), max(verh)))
print("Krone oben/mitte ueber alle Seeds: %.2f - %.2f (Eiche 0.90, "