Technical diary · generated from gaad_diary_technical_20260724.md by Scripts/gaad_diary_html.py · never hand-edited
Bench, AFAL prototype, Blender 5.1.2 on Windows. Every version passed the pre-flight (check_blender_script.py) before handover. pyflakes was missing at the start of the day and was installed first, so the undefined-name scan was real and not a silent pass.
Versions built and retired
v3_010 -> confirmed loading (panel registered).
v3_011 Reset AFAL. Confirmed.
v3_012 Test D197 (wiring assertion plus 50 vs 500 visual A/B).
v3_013 Test D197 diagnostics (per-check console output).
v3_014 Test D197 fix. D197 VALIDATED, 5 of 5 wiring plus visual.
v3_015 Demo tour (Play, Step, playlist).
v3_016 Demo extremes and speed 0.1.
v3_017 GG manual rule sliders.
v3_018 Fig 2.17 outputs load the sliders.
v3_019 GG RNG range windows. Confirmed.
v3_020 GG memory M1-M8 and auto-framing. First file under the amended D149
v3_026 GG more presets Fan, Vortex, Frond. Confirmed.
v3_027 GG 144 x Rule and Spread. Confirmed.
v3_028 Per-species roll range, Shell slice. AWAITS Blender test.
Class count grew from 25 (v3_010) to 36 (v3_028). ENGINE_VERSION is 8.
Rules and records touched
D197 validated in Blender. The Test D197 tool asserts the exponent is the
guarded normalised index t and the base is the Growth socket, so tip equals Growth at any Population, and confirms it by the eye with a 50 vs 500 pair.
D149 amended: version filenames now carry 2 to 4 underscore-joined descriptive
words after the version, no spaces, from v3_020 onward. Drafted as DR-1. The D149 record head is Miles's to reconcile in the Live bundle.
D198 filed by the Specification Owner from a bench draft: the fourth GAAD seat
is named Code Technician.
Bugs found and fixed
1. Test D197 false-negative FAIL. The instance-scale trace compared nodes with the identity operator; Blender returns a fresh Python wrapper per node access, so identity fails on the same node. Fixed to match on node.name. Rule for the future: never identity-compare Blender nodes; use == or name. 2. Sphere not rendering. set_value and get_value resolve a modifier only when its node group is the chain engine, so they silently no-op on Growth Generator objects. The Module value never reached the GG modifier and it held the default 0 (cube). Fixed with gg_set_socket, which writes the GG modifier directly from the GG engine interface. The same no-op had long masked the GG Gravity call, hidden because the default is True. Rule for the future: set_value and get_value are chain-engine only; use gg_set_socket for GG.
Finding (candidate T1, A0020)
The 1994 Growth Generator grows ARITHMETICALLY: position adds a constant per block, scale is additive (sx += gx). Nature's signature forms - shells, horns, phyllotaxis - grow GEOMETRICALLY: the radius multiplies by a constant ratio. The model adds where nature multiplies, which is why its forms feel organic but never resolve into a true logarithmic spiral. The geometric laws already live in the chain species: SHELL is the true log spiral (its growth law is multiplicative, which D197 proved), and PHYLLO is the golden-angle law. The GG NATURE presets are the model's nearest ordered forms, real as shapes but arithmetic in law.
Housekeeping
Twenty-three superseded AFAL add-ons were cleared out of Blender's user
add-ons folder, moved to a backup, leaving only the current version to install.
BENCH_HANDOVER.md was placed and CLAUDE.md gained a Code Technician paragraph.
Open at the bench
v3_028 Shell range AWAITS a Blender test: validate the SPECIES RANGE UI and
tune the Shell emergence window (the band where every roll reads as a shell).
Per-species range: once Shell is validated, roll the mechanism to Spiral,
Phyllotaxis, Cone and Hyperboloid, with proper per-species storage. Reconcile that a Shell mutation still clamps to the mode limits, not the Shell window.
Tuned per-species windows and the arithmetic-vs-geometric finding are both
candidate T1 research material for action A0020.
Offered, not built: a geometric NATURE row on the Singularity panel with a
Nautilus log-spiral lock and a Sunflower golden-angle lock, for the species side to sit beside the GG's arithmetic presets.
D149 record head to be reconciled in the Live bundle to match the amendment.
OPEN ACTIONS (open and part done only; done actions are not shown)
AFAL
A0019 high / Claude - the language file is behind the engine
A0024 high / Claude Code - validate the Shell range slice, tune the emergence window, roll to five
A0020 medium / Claude - T1 research for the bench species
A0021 medium / Claude - surface topology: the tier that makes a panel system possible
A0025 low / Claude Code - geometric NATURE row on the Singularity panel
GALF
A0011 high / Miles - rule the fourth element: does a relationship carry a rationale
A0012 high / Miles - TWAL s6: map the three retired types
A0013 medium / Miles - ARAL s6 declares types but states no triples
MHAL
A0001 high / Miles - Midtown East recount under the D181 tax block rule
A0015 medium / Miles - the prototype carries MHAL verbatim at v0.003
Platform
A0014 high / Claude - language-file renderer: PART DONE
A0022 high / Claude - AFAL has no assert contract and no Validate steps
A0016 medium / Miles - Fly Past on generator strings: PART DONE
A0008 low / Miles - Prototype/ carries stray ARAL versions
Website
A0007 medium / Claude - canonicals for generated record and language pages: PART DONE
A0023 medium / Claude - Episode 6: AFAL and the singularity
A0006 low / Miles - latest episode first: name the surface
A0010 low / Miles - website drifts from the bundle: PART DONE
FILMS
A0017 medium / Miles - Film 001 The Rebirth: PART DONE
AT CLOSE OF DAY
v3_028 Shell range awaits Miles's Blender test (A0024).
Records filed from this session's handover by the Specification Owner: D199,
D200, F046 to F051, Q042; actions A0024 and A0025 opened; A0020 carries the arithmetic-vs-geometric finding as candidate T1.