Extends the generator beyond plane-wave blobs to real STRUCTURE, still pure-integer
and byte-exact. Each drawn component is now one of three types, mixed by the
prompt's shape intent:
- plane : directional waves (as before)
- radial : concentric rings, sin(fr·|p−centre| + φ) with the integer distance via
u64::isqrt — sun / ring / target / ripple / halo / mandala
- mirror : bilateral 4-fold fold, sin(fx·|x−cx| + fy·|y−cy| + φ) — kaleidoscope /
crystal / snowflake / gem / prism / butterfly
plus a vertical brightness GRADIENT (sky / dawn / dusk / fade / horizon).
- Lexicon entries grew to 8 elements [r,g,b,freq,orient,radial,mirror,gradient]
(model version /3); ~40 shape words added (a SHAPE overlay merged onto the base
colour/texture entries in tools/wai_generate_model.py).
- src/generate.rs: an Intent struct carries hue/freq/orient + radial/mirror/gradient;
generate() draws each component's type from the plane/radial/mirror mix and adds
the gradient ramp. Pure i64 (isqrt is exact); the prompt+seed still fix the draw.
- Committed model + pin regenerated (4bd80c0ef51bb843); never-skip test holds
(pin + determinism + sensitivity).
Verified: ring/target → concentric rings, kaleidoscope/crystal → symmetry,
sky/gradient → vertical fade, all byte-exact and reproducible. Live at
wai.transaction.science/generate with shape example chips + updated copy.
Co-Authored-By: Claude Opus 4.8 <[email protected]>
1 line
100 B
JSON
1 line
100 B
JSON
{"prompt":"a calm spectral horizon","seed":7,"steps":4,"h":96,"w":96,"rgb_hash":"4bd80c0ef51bb843"}
|