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:
2026-08-06 11:08:24 +02:00
co-authored by Claude Opus 4.8
parent 1b833bf44a
commit fa7067d42e
8 changed files with 127 additions and 16 deletions
+1 -1
View File
@@ -1,7 +1,7 @@
schema_version = "1.0.0"
id = "stylized_tree_generator"
version = "1.34.0"
version = "1.35.0"
name = "Stylized Tree Generator"
tagline = "Parametrische Baeume, Palmen, Bueschen mit Wachstums-Stufen"
maintainer = "D4rkst3r"