# Machine DNA — chronicle (site mirror + worked examples)

**Canonical meaning lives in the genotype repo:**

→ **[walhimer-studio/Machine-DNA `docs/CHRONICLE.md`](https://github.com/walhimer-studio/Machine-DNA/blob/main/docs/CHRONICLE.md)**

This file mirrors that contract for agents working in **walhimer.github.io** and adds **piece-specific** maps. If meaning drifts, fix **Machine-DNA** first, then update this mirror.

**Local clone (typical):** `/Users/markwalhimer/Documents/GitHub/Machine-DNA/docs/CHRONICLE.md`

---

## Document map (this site)

| Doc | Job |
|-----|-----|
| **[Machine-DNA CHRONICLE](https://github.com/walhimer-studio/Machine-DNA/blob/main/docs/CHRONICLE.md)** | **Canonical meaning** |
| **[Machine-DNA RECORDING](https://github.com/walhimer-studio/Machine-DNA/blob/main/docs/RECORDING.md)** | **Solidification recording** — two-step deliverable · formats · copy august-29 |
| [Machine-DNA SPEC](https://github.com/walhimer-studio/Machine-DNA/blob/main/docs/SPEC.md) | Type 1/2/3 + canonical **splitmix32 + sfc32** |
| [`practice/machine-dna.html`](../practice/machine-dna.html) | Public essay |
| [`machine-aesthetic/emergent-dna/README.md`](../machine-aesthetic/emergent-dna/README.md) | Site organism / `express()` host experiment — must not redefine DNA |
| [`practice/artwork-pipeline.html`](../practice/artwork-pipeline.html) | Shipping checklist |
| [`docs/SPEC-LOCK.md`](./SPEC-LOCK.md) | Locked sketch law (canvas, lifeline *pattern*, recorder) |
| [`.cursor/MACHINE_DNA_CANON.md`](../.cursor/MACHINE_DNA_CANON.md) | Commit-enforced copy-paste blocks |
| [`docs/blackdove-system.md`](./blackdove-system.md) | Black Dove **body** delivery |

**Agents:** Meaning → Machine-DNA chronicle. **Recording / solidification deliverable** → [Machine-DNA `docs/RECORDING.md`](https://github.com/walhimer-studio/Machine-DNA/blob/main/docs/RECORDING.md). Locked sketch copy-paste → SPEC-LOCK + `.cursor/MACHINE_DNA_CANON.md`.

---

## Contract (summary — full text in Machine-DNA)

1. **Many nests (species / series)** — Centered · Fluid Dynamics · Surrender Machines · Witness Mirror · Invisible Layer · Bloom · … New nests can be founded; old ones keep living.  
2. **Genotype** — seed / **splitmix32 + sfc32** / traits from [Machine-DNA](https://github.com/walhimer-studio/Machine-DNA); Type 1 · 2 · 3 per SPEC.  
3. **Co-created phenotype** — `visualExpress` + `soundExpress` same snapshot; no reactive master/slave as DNA.  
4. **Ecology** — each **artwork** is an individual life inside a nest (short, aggressive, protected, long) — **not** a global 8 min / `480000`  
5. **Bodies** — browser · N150 · wall · Black Dove · OF · PD · LED.  
6. **Solidification** — exports from one seeded run; **slice ≠ whole life**.  
7. **PRNG (closed)** — going forward: **splitmix32 + sfc32** only. Legacy sine `Rand` seeds stay on the engine they shipped with; no silent switch.

---

## Studio nests (this site)

| Nest | Phenotype sketch |
|------|------------------|
| **Centered** | One **column**, ~30 rows; square · portrait · landscape (filenames often say “one-row”) |
| **Fluid Dynamics** | Viscosity / mix |
| **Surrender Machines** | Sliders + smartphone co-creation |
| **Witness Mirror** | DeepFace / ML mirrors |
| **Invisible Layer** | RGB ↔ XYZ GPU ping-pong |
| **Bloom** | Flower series |

Animal metaphor optional — nest = series = species.

---

## Worked example — Centered nest · Black Dove · N150

| Field | Value |
|-------|--------|
| DNA type | **Type 1 — Seeded** |
| Nest / species | **Centered** (one column · ~30 rows · formats) |
| Stack today | p5.js WEBGL |
| Desk / live | `sketches/one-row-v2.html` |
| Multi-format recorder | `sketches/blackdove/centered/one-row-v2-record-60.html?format=square\|portrait\|landscape` |
| Lifeline (catalog) | 8 min (`480000` ms); rebirth `seed+1` |
| Narrative | Arc inside the life (build / crest / fall / silence / black — sound+visual together) |
| N150 body | Full lifeline, all day |
| Black Dove body | Solidify **≤2 min slice**; formats via `?format=` |
| Sound | Co-created; long-decay real instruments; Salamander not default for this piece |
| Provenance | Seed in filename; live URL beside delivery |

Local unpushed files (`one-row-square-record.html`, `one-row-v2-portrait.html`, …) are experiments. Architecture: **one recorder + format param**.

Live square check: [one-row-v2-record-60.html?format=square](https://mark-walhimer.com/sketches/blackdove/centered/one-row-v2-record-60.html?format=square)

---

## How site work maps today

| Work | Type / status | Visual ↔ sound | Path |
|------|---------------|----------------|------|
| Emergent DNA demo | Kernel experiment | Same snapshot | Align with Machine-DNA genotype |
| Surrender Machines | Hybrid (target) | Mixed | Dual express per body |
| Invisible Layer | Often Type 2-ish reactive | Motion → piano | Label Type 2 **or** split to dual express |
| Chapel groove POCs | Sound lab | Own clock | Wire to organism tick |
| **Centered / One Row V2** | Type 1 in progress | Visual + lifeline; sound pending | Co-create sound; N150 life; Black Dove slice |
| Black Dove recorder | Body of Centered | Video-only today | A+V solidification from same run |
| Wall screen edition | Physical body | Per edition | Golden = solidified run |

---

## Site checklist add-ons

Follow Machine-DNA chronicle checklist, then:

- Self-contained HTML · `check_self_contained.py`  
- Catalog refresh · [archive chronicle](./archive-chronicle.md)  
- One Row family lifeline/recorder patterns · SPEC-LOCK / MACHINE_DNA_CANON  

---

*Mirror of [Machine-DNA/docs/CHRONICLE.md](https://github.com/walhimer-studio/Machine-DNA/blob/main/docs/CHRONICLE.md). Prefer editing the genotype repo for meaning changes.*
