# Copper Field - Iteration Log A running log of the interactive background behind this site: what each iteration tried, what it taught, where it went. Live code sits at the end of publish.js and publish.css under the Copper Field headers. Related: [[08.26.26 - The Copper Field - Growing Metal Grass on a Website|the build entry]] and [[Thesis - Ship Probes, Not Monoliths]]. **v1 - Scattered strands (08.26):** Evenly spaced curved strokes on warm paper. Read as body hair at any useful density. Killed the same night. Lesson: density does not fix structure. **v2 - Point tufts (08.26):** Three to five tapered blades fanning from shared points, dark ground locked in, tuning dials shipped behind a chip. Approved and shipped; at higher density the radial fans read as urchins. Lessons: clumping makes vegetation read as vegetation, and the dark ground won on sight. **v2.5 - The engineering pass (08.27):** Same look, rebuilt renderer: idle field composed in chunks offscreen, only disturbed blades redrawn per frame. Fixed a trailing halo (a stale cursor-shaped exclusion) and a twitch (snapping deflection angles). Seventeen frames a second became sixty. Dials later removed; defined defaults ship instead. **v3 - Combed clumps (08.29):** Blades side by side across a lay direction, arc-scattered roots, whorl flow field, full-resolution rendering after finding a quiet pixel-ratio cap on large windows, ground desaturated toward black. Flowing and organic, and it went live. The critique that ended it: full-length sideways strokes are what wind-flattened grass looks like. **v4 - Upright field (08.30):** Standing grass from overhead foreshortens to short, near-uniform marks. The field is still at rest; weather arrives as an occasional gust from the upper left, a soft band that bends blades and carries a copper sheen. Idle cost drops to nearly nothing. Verdict: better, with a fix list. **v4.1 - Weather with terrain (08.30):** Rolling hills (slopes toward the light brighten, crests lengthen), ragged gust fronts that wander a few degrees per gust, blades that bend rather than stretch, and one satisfying find: the hard band edge and the mouse's perfect circle were the same bug, overlay copies snapping in at a threshold instead of fading. Boundary artifacts were architecture, not aesthetics. **v4.2 - The blade itself (08.30):** The tapered dash reads as a scratch, and this corner is studied: game grass builds every blade as a curved ribbon (curvature and tip curl say "blade"), painters add a shaded root and a lit tip, or crossing strokes. Built four switchable styles: Dashes, Curved, Layered, Crossed. **v4.3 - Converged (08.30):** Curved wins. Spacing 10, height 1.1, lean 0.28, opacity 0.19, sheen 0.7, gusts every ~9s at 230 px/s with band 135, gust sheen 0.55, gust lean 0.14, mouse radius 40 at strength 0.45, calm 0.45, ground down to #111010. **v4.4 - Shipped (08.30):** The v4 curved engine replaced v3 in publish.js with the settled values baked in and no dials; the whole surface family in publish.css stepped a notch darker to match the ground. Recomposition is event driven and chunked, so scrolling and idling stay free. The meadow rests, the weather visits, the cursor is a hand at grass height.