Tree Gen 1.35.0: Node-Gruppen-Waechter + Mindestradius fuer Saemlinge
1) build_group riss Szenen-Baeume ab Die Gruppe GN_Tree wurde bei JEDEM Erzeugen geloescht und neu angelegt - damit zeigten alle bereits erzeugten Baeume auf ein totes Datablock und evaluierten leer. Gemessen: nach vier Arten-Erzeugungen lebte nur noch die letzte. Dass direkt nach dem Erzeugen exportiert wurde, hat das verdeckt. Jetzt ein Waechter mit ZWEI Kriterien: abgelegte Schema-Version (TREE_SCHEMA) UND die tatsaechlich vorhandenen Eingaenge. Die Version allein reicht nicht - wer waehrend der Entwicklung Sockets aendert ohne die Zahl anzufassen, bekaeme eine veraltete Gruppe untergeschoben. Muss doch neu gebaut werden, werden bestehende Modifier auf die neue Gruppe umgehaengt. Beide Pfade gemessen: vier Arten nacheinander leben alle (624/796/924/1036 Verts), und nach build_group(rebuild=True) ebenfalls unveraendert. 2) Saemlinge zu duenn Die McMahon-Skalierung macht duennstaemmige Arten am Setzling zu Draehten: Birke 0.6 cm Fussradius gegen 1.9 der Eiche - dreimal duenner, waehrend der Unterschied beim Altbaum nur 1.2x betraegt. Die Regel gilt fuer die Statik ausgewachsener Baeume; ein Saemling ist eine Pflanze, kein Balken. SEEDLING_MIN_RADIUS + SEEDLING_MIN_FLARE heben die duennen Arten an, ohne die dicken anzufassen. Danach liegen alle bei 2.8 cm. test_proportionen laesst die McMahon-Abweichung genau dort zu, wo der Boden greift, und prueft dass sie nicht weiter geht - die Regel bleibt sonst scharf. 23 Tests bestehen. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -563,6 +563,36 @@ Der Kaktus erzeugt regulaer **0 Cards** — kein Ast ist duenner als `Max Radius
|
||||
und das ist botanisch richtig. Vorher lief das still durch und man stand vor
|
||||
einer leeren `_Leaf`-Ebene; jetzt sagt der Operator es und nennt den Regler.
|
||||
|
||||
### Die Node-Gruppe wird WIEDERVERWENDET, nicht neu gebaut
|
||||
|
||||
`build_group()` loeschte die Gruppe `GN_Tree` bei jedem Erzeugen und legte sie
|
||||
neu an — damit riss sie sie **allen bereits erzeugten Baeumen** unter dem
|
||||
Modifier weg. Gemessen: nach vier Arten-Erzeugungen lebte nur noch die letzte,
|
||||
alle frueheren evaluierten leer. Dass in der Praxis direkt nach dem Erzeugen
|
||||
exportiert wurde, hat das lange verdeckt.
|
||||
|
||||
Jetzt prueft ein Waechter zwei Dinge, bevor er ueberhaupt neu baut: die
|
||||
abgelegte **Schema-Version** (`TREE_SCHEMA`) *und* die tatsaechlich vorhandenen
|
||||
Eingaenge. Die Version allein reichte nicht — wer waehrend der Entwicklung
|
||||
Sockets aendert, ohne die Zahl anzufassen, bekaeme sonst eine veraltete Gruppe
|
||||
untergeschoben. Muss doch neu gebaut werden, werden **bestehende Modifier auf
|
||||
die neue Gruppe umgehaengt**. Beide Pfade sind gemessen: vier Arten
|
||||
nacheinander leben alle, und nach einem erzwungenen `build_group(rebuild=True)`
|
||||
ebenfalls.
|
||||
|
||||
### Saemlinge: Mindestradius sticht McMahon
|
||||
|
||||
Die Skalierung nach McMahon (Durchmesser ~ Hoehe^1.5) macht duennstaemmige
|
||||
Arten am Setzling zu Draehten: gemessen kam die Birke auf **0.6 cm** Fussradius
|
||||
gegen **1.9 cm** der Eiche — dreimal duenner, waehrend der Unterschied beim
|
||||
Altbaum nur 1.2x betraegt. Die Regel gilt fuer die Statik ausgewachsener Baeume;
|
||||
ein Saemling ist eine Pflanze, kein Balken.
|
||||
|
||||
`SEEDLING_MIN_RADIUS` und `SEEDLING_MIN_FLARE` heben die duennen Arten an, ohne
|
||||
die dicken (Tanne, Palme, Kaktus) anzufassen. Danach liegen alle bei **2.8 cm**.
|
||||
`tests/test_proportionen.py` laesst die McMahon-Abweichung genau dort zu, wo der
|
||||
Boden greift — und prueft, dass sie nicht weiter geht.
|
||||
|
||||
### Faell-Teile (Punkt 4)
|
||||
|
||||
Kein Laufzeit-Zerlegen: beim Faellen tauscht das Spiel die ISM-Instanz gegen
|
||||
|
||||
Reference in New Issue
Block a user