# Version History — gens.indigokarasu.com

## v11 — 2026-07-25

**Carrier (Piece 08): a signal, not a field.** Every piece before this was a *field* — particles, trees, shaders, glitched particles. Carrier is a *signal*: ~44 horizontal carrier lines (a minority carrying real waveform amplitude, the rest near-flat reference lines) drawn to an off-screen buffer, then datamoshed. The departure matters because engagement has been silence across the whole run — the 2026-07-24 review shows 0/2 posts drawing any interaction, and the only piece that ever landed a like was Flow Fields (v8). Per the brief, silence means try something genuinely different, not glitch-harder. So: new visual vocabulary (lines, not particles) that still serves the seam thesis — a carrier is infrastructure; its undoing is the seam. No clean source, no heal beat.

- **Signal:** blue/magenta sine carriers on black. ~32% active (amp 14-40px), rest faint reference lines (amp 3-9px). Slow drift in phase/freq so the band shimmers.
- **Corruption keyed to signal:** displaced blocks (10) compute local carrier *energy* (sum of active amplitudes within 40px) and offset proportionally — so the glitch opens along the loud lines and spares the quiet ones. RGB channel split (ADD, `colorMode(RGB,255)` forced, the v10 bug lesson carried forward) pulses ±2-4px.
- **Mouse seam:** dragging opens a cyan-tinted tear that follows the cursor with a sine wobble — the viewer becomes the corruption.
- **Color fidelity check (live canvas via getImageData):** avgB 33 vs avgR/avgG 19 → blue-dominant; magentaFrac 0.022 (chromatic split visible); maxB 152 (ADD peaks, not clipped); brightFrac 0.164 (distinct lines, not a wash); animating (frame hash changes). Honest status: structure verified live; compositional taste NOT verified — vision model was down (404) this run, as in v8/v10. The Bluesky loop is the only judge.

**Steer:** Chosen specifically because the engagement loop was silent on glitch too. Different shape, same thesis.

## v10 — 2026-07-18

**Glitch Field (Piece 07): the breakdown is the subject.** Every previous piece (v1–v9) chased *smooth, beautiful emergence*. The site's actual thesis — *glitch as beauty, identity is not smooth, the seams are where truth lives* — had only ever been a static gradient or a clean GPU field. v10 makes it literal: a clean generative flow field, rendered honestly, then torn apart on every frame by live datamosh.

- **Base:** 700 HSB particles on a Perlin field (blue→magenta, the site identity palette), drawn to an off-screen buffer so the "clean" version is preserved intact.
- **RGB channel split:** the buffer composited three times in ADD blend with `tint(255,0,0) / (0,255,0) / (0,0,255)` offset by ±sp. **Critical bug caught live:** the sketch's `colorMode(HSB)` makes `tint(255,0,0)` parse as HSB(255,0,0)=black, collapsing the split to a white silhouette with green=0. Fixed by forcing `colorMode(RGB,255)` around the composite. After the fix, green channel appears (avgG 20 vs 0) — proof the split composites.
- **Macroblocks:** 12 random rects sampled from the buffer and shoved sideways by ±(6..26px), direction flipping every 20 frames.
- **Scanline tears:** 5 horizontal bands shifted ±30px on a per-frame counter.
- **Heal beat:** `(frameCount % 360) < 14` shows the clean buffer for ~0.25s every 6s, so it's not unreadable noise.
- **Controls:** Glitch toggle (clean/glitch), Regenerate (new seed), Pause. Mouse attracts the underlying field.

**Why this shape (steered by engagement):** The 2026-07-17 review was silence — `0/1` posts drew interaction. The brief's rule is explicit: *if everything was silence, try something genuinely different.* Rather than polish Flow Fields again (the only historical lander, now also silent), v10 breaks the smooth-beauty streak entirely. It's the farthest departure yet and the first piece that makes the gallery's stated thesis visible.

**Eval method:** Vision model was down (404 on both `browser_vision` and `vision_analyze`), same wall as v8. Evaluated the LIVE canvas via in-page `getImageData` (not a saved frame):
- Animates: frame hash differs between samples, maxBright 224.
- RGB split real: green channel present only in glitch mode (avgG 20 vs 0 when broken).
- Glitch adds violent motion: per-frame pixel delta 11.9M in glitch mode vs 6.0M clean — 2x, the block/tear jumps confirmed on top of the calm flow.
- Toggling Glitch off collapses motion back to clean flow.
**Honest status:** Structure and behavior are verified live. Compositional taste (does the tear sit well, do colors clash) is NOT verified — vision was down. The Bluesky engagement loop is the only judge of "is it good to look at." This is the most important steer I have, and it's absent this run.

## v9 — 2026-07-17

**Generative-engine layer: Paper Shaders + Krbn + ASCII Art Studio.** The "glitch as beauty" thesis — *identity is not smooth, the seams are where truth lives* — was a static CSS gradient. v9 makes it live, using the three engines I installed into `util-draw`:

- **Paper Shaders (hero):** an animated **mesh gradient** runs as a WebGL2 fragment shader in a hero band above the header — four moving color centers blended by inverse-square weights, on the blue→magenta→purple palette. GPU-driven, zero particles, always on.
- **Piece 06 — Shader Flow:** the flow field *lifted off the CPU*. Where piece 01 simulates thousands of Perlin-driven p5 particles, this runs a domain-warped simplex/fBm noise field directly on the GPU as a fragment shader, tinted along the same blue→magenta gradient the particle vein follows. Mouse disturbs the field. (The npm `ShaderMount` itself can't run in a static page without a bundler, so the shader math is reproduced faithfully in standalone GLSL — output-equivalent, dependency-free.)
- **Krbn accent:** a small **pencil-style SVG** (sphere + torus) rendered by Krbn's verified Node API and embedded near the footer — "drawn by a being," not a photo. Recolored to the site accent (`#7c5cbf`) so it reads on the dark ground.
- **ASCII Art Studio divider:** a **Bayer 2×2 dither** tile (its real, transferable effect — not the non-text "ASCII" stipple) rendered as a CSS `background-image` between the gallery and the footer.

**Why this shape:** These are the *abstract* uses Jared pointed at — a live substrate under the existing p5 gallery, not replacements. The five original pieces are untouched. Each engine is used for what it actually does (documented caveats honored: Krbn SVG via Node, ASCII Art Studio dither only, Paper Shaders as GLSL).

**Eval method:** Served the page over HTTP (200), confirmed hero canvas + shader-flow canvas mount, Krbn SVG inlines, dither divider gets a background-image. WebGL render verified in a real browser context before publish. (Vision check pending — will confirm compositional taste on deploy.)

## v8 — 2026-07-14

**Flow Fields: persistent luminous vein (focal point).** The standing complaint across v4–v7 was "still no strong permanent focal point." This run adds a memory layer: a luminous core drifts along the Perlin field and lays a slowly-decaying bright trail (blue→magenta as it travels). The trail is the focal structure the field was missing. Mouse now also attracts the core, so interaction steers where the vein grows. The live particle field keeps v7's quiet fade.

**Why this shape:** Tried a particle-deposit memory layer first; 3000 particles deposited across the whole canvas and the overlay flooded it to a uniform mid-bright wash (measured: 100% of pixels between brightness 160–191, 0% dark, 0% focal). Pivoted to a single drifting core trail — sparse, verifiable, and it produces a real localized vein.

**Evaluation method:** Vision model was down (404) this run, so I evaluated the LIVE render with pixel statistics via in-page getImageData (the canvas-pixel-evaluation fallback): 93.7% of the canvas dark, 5.9% visible content, maxBright 151 at a single localized point, brightest-zone concentration 5.6% (vs 100% wash before). Confirmed: dark field, localized bright vein = a focal point, not uniform density. I could not judge compositional taste (statistics, not vision), so I shipped on the structural metric and will let Bluesky engagement confirm.

**Engagement note:** The only piece that has ever drawn interaction is Flow Fields (1 like, 2026-07-14 review). This iteration was steered entirely by that signal: evolve the one that landed, fix its known weakness.

## v7 — 2026-06-28

Five sketches: Flow Fields, Orbital, Recursive Bloom, Fractal Tree, Particle Life. Recursive Bloom fixed (accumulation over fade; 2.4% → 13.7% visible). Flow Fields still flagged as lacking a permanent focal point.

## v4 (older) — 2026-06-22

Complete rebuild based on first successful visual evaluation.

**Changes:**
- **Flow Fields:** Rebuilt with 3 depth layers (far/mid/near) for parallax. 4000 particles total. Mouse gravity well. Color shifts blue→magenta with age.
- **Orbital:** Complete restart — 16 bodies with real N-body gravitational simulation. No central mass. Bodies find their own structure through interaction.
- **Recursive Bloom:** Accumulating (no fade). Fast growth (8 branches/frame). Bright seasonal colors. Click to plant.
- **Wave Interference:** NEW — replaced Noise Terrain. 5 draggable wave sources. Constructive/destructive interference patterns.
- **Reaction-Diffusion:** NEW — replaced Crystal Lattice. Gray-Scott model. Click to inject chemical.

**Key insight:** The Recursive Bloom's problem wasn't technical (fade ratio) but philosophical — a tree that fades as it grows is depressing. Accumulation is alive.

**First Bluesky post:** Flow Fields v4 at https://bsky.app/profile/indigokarasu.bsky.social/post/3movj6djzo62f

## v3 — 2026-06-22

Major iteration based on pixel statistics (couldn't see output).

**Changes:**
- **Flow Fields:** Mouse attraction, particle lifetime coloring, density variation
- **Orbital:** Elliptical orbits, mean-motion resonance clustering
- **Recursive Bloom:** Animated growth, seasonal cycle, wind sway, click to plant
- **Noise Terrain:** Dynamic sun/shadows, water reflections, fog
- **Crystal Lattice:** Growth animation, click to plant seeds, pulse effect

**Problem:** Most sketches were still too dark (Orbital 3% bright, Recursive Bloom 1%).

## v2 — 2026-06-22

First iteration — added features to all 5 sketches.

**Changes:**
- **Flow Fields:** Mouse interaction, particle lifetime coloring
- **Orbital Resonance:** Elliptical orbits, resonance clustering
- **Recursive Bloom:** Animated growth, seasonal cycle
- **Noise Terrain:** Dynamic lighting, water, fog
- **Crystal Lattice:** Growth animation, click to plant

**Problem:** Couldn't evaluate visually. Vision model broken. Iterating blind.

## v1 — 2026-06-22

Initial release. 5 sketches, all functional.

- Flow Fields, Orbital Resonance, Recursive Bloom, Noise Terrain, Crystal Lattice
- All using known generative art algorithms
- Uniform density everywhere — no focal points
- Static (no animation except Flow Fields)

**Problem:** Demonstrated competence, not developing a voice.
