Generator - Depth & exposure dynamics: per-track chamber depth (z) + event age drive opacity, bubble size and defocus (depthFactors); depth/aging dials. - Palette abstraction (src/render/palette.js) — one registry entry per "feel": mono, charge, beta, kind, kindlife, kindrise, lifecycle, psychedelic, cyanotype, magentarise. Per-track ink + per-bubble bubbleInk hooks. - Global colour controls: saturation, hue shift; paper toning (cream/sepia/ selenium/cool/olive/neutral + brightness + gas-glow), bubble edge softness, iridescent disk (spectral sunburst), chromatic halo. Ink blend chosen by ground luminance so light-on-dark chemistries composite correctly. - Tracks carry charge q; bubbles carry lifecycle position + local beta. - All effects in raster + layered SVG + CMYK/OCG PDF; B&W remains the default. Tooling & art - tools/find-semicircle.mjs; render-svg/pdf --seed mode + k=v overrides. - Curated vector SVG sets under output/ with browsable index.html. Repo hygiene - .gitignore: stop tracking generated rasters/PDFs (reproducible from seeds), the reference image, and a stray db; keep curated SVGs + code + docs. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
8.8 KiB
Roadmap — artistic direction & development
This is the creative north star plus a staged plan. The technical backlog lives at the bottom; the top is about why, because every feature should serve a feeling.
What these images are, and what they evoke
A bubble-chamber photograph is evidence of the invisible. You cannot see a particle; you can only see where it has been — a wake, a trace, a confession. The plate is the one proof that something happened. There is something devotional in that: faith made visible, an instrument straining to record the unseeable.
It is also a single millisecond, embalmed. The collision is over before the flash fires; what we keep is the frozen aftermath, an instant given the permanence of a relic. So the picture is always already a memory — which is why the worn, stained, scratched plate feels more true than a clean one. The damage is time itself, made visible alongside the event.
And it is a rhyme across scales. The δ-ray's tight logarithmic spiral is the nautilus, the fern, the hurricane, the galaxy arm. The radial shock disk is a sun, a pupil, a drain, a mandala, a struck bell. A subatomic event quotes the shapes of the cosmos. Stand a person in front of a four-metre print and the collapse of scale — the very small wearing the clothes of the very large — produces vertigo and recognition at once.
Finally there's the human urge to read it. We can't help scanning these tracks like entrails, tea leaves, constellations — looking for the message, the figure, the meaning in marks that were authored by chance under deterministic law. Order and chaos, in the same gesture.
The feelings to chase
- Awe / reverence at the unseen made manifest.
- Contemplative stillness — despite the violence of a collision, the plate is silent.
- Melancholy / nostalgia — the aged document, the people who once bent over it with calipers.
- Vertigo of scale — atom and galaxy in one frame.
- Uncanny familiarity — "I have seen this shape before," in water, smoke, bone, sky.
- The numinous — physics as a secular mysticism, the search for the fundamental.
Principles for invoking them
- Scale is content. At wall size the viewer is inside the event, not looking at a diagram. Design for the body, not the thumbnail.
- Depth and layering are time. A palimpsest of events reads as history; volumetric depth reads as a real chamber you could fall into. (This is your layered-print instinct, and Phase 1 & 3 below.)
- Colour is transcendence — when it is meaningful. False-colour that encodes physics (charge, speed, depth, time) bridges the scientific and the mystical; arbitrary rainbow does not. Earn the colour.
- Keep the hand in it. The smudge, the grease-pencil ring, the handwritten angle — traces of the human who studied the plate — are what separate "artifact" from "render."
- The series is an argument. One plate is an image; a grid of them is a worldview (taxonomy, the archive, the scientific gaze). Becher typology energy.
- Determinism is a feature. The seed as a true name. Every piece is reproducible, citable, ownable — a hash you can print on the frame.
Staged plan
Phase 1 — Depth & exposure dynamics ✅ done
Make per-trail intensity mean something instead of being event-flat.
- Depth (z) per event/track → opacity, softness, and bubble size. Tracks near the focal plane sharp & dark; deep tracks faint, soft, slightly smaller. Turns the flat diagram into a volume.
- Event age → background events read as earlier in the cycle: fainter, fuzzier, slightly bloated bubbles (risen/diffused). Layering becomes time.
- Overall exposure → global dial for accumulated faint background trails + veiling fog. "Single trigger" ↔ "the chamber ran all night."
- Variation is driven by these axes, not free noise, so it reads as depth/time.
Phase 2 — Parameterised colour ("regimes") ◐ in progress
Colour as a first-class, seeded, swappable layer (palette.js abstraction; B&W
default). Each regime is a mapping from physics → colour via palette hooks
(ink/paper/feature/vign), consumed uniformly by all renderers.
- False-colour (scientific sublime): ✅
chargeduotone andbeta(velocity → spectral) shipped. - Per-bubble colour hook: ✅ done —
bubbleInk+ per-bubblelife/beta. - Lifecycle: ✅
lifecyclefeel — colour follows each particle birth→death. - By particle type: ✅
kind(one hue per type) andkindlife/kindrise(type→hue, lifecycle→intensity, fading or rising).magentarise✅ shows a composed, restrained feel (magenta family + burnt-orange disk). - Saturation/intensity ✅ global dial.
- Paper toning & shading ✅ separate from ink (absolute paper tones: cream/ sepia/selenium/cool/olive/neutral + strength + brightness + gas-glow).
- Hue shift ✅ global hue rotation of any palette; psychedelic ✅ hue-cycle
along trails (
hueCycles); cyanotype ✅ a full chemistry (paper+ink override, blueprint). Renderers now choose blend by ground luminance, so light-on-dark chemistries composite correctly. - Iridescent disk ✅ (
diskSpectrum) — spectral hue across the sunburst striations/rings/rim (raster + SVG + PDF). Chromatic halo ✅ (halo,haloHue) — a hue-shifted blurred aura around trails: coloured drop-shadow on light grounds, neon glow on dark (raster; SVG/PDF approximation TBD via filter). - Next: more chemistries (Van Dyke, platinum); per-bubble β (local velocity hue); SVG halo via feGaussianBlur+feFlood filter.
- Spectral / narrowband: astronomical palettes (Hubble SHO, emission lines) — the chamber as deep-sky object.
- Analog photographic: cyanotype, sepia/albumen, silver-gelatin, blueprint — alternate plate chemistries rather than hues.
- Psychedelic (mind set free): hue cycling along each track (rainbow wakes), hue-by-depth, complementary bloom/halation, solarisation, oil-on-water iridescence on the shock disk. Energy, synaesthesia, the numinous turned up.
- All seeded and parameterised; a "colour" axis orthogonal to geometry, so any existing seed can be re-coloured without changing its forms.
Phase 3 — Literal depth (the chamber as a volume)
Take "depth is time/space" all the way.
- Depth-of-field: true z-based blur in the raster compositor (cinematic focus).
- Stereo pairs / anaglyph: render two eye-views from the z-model → 3D diptych, or red/cyan anaglyph. Real bubble chambers were shot in stereo for exactly this.
- Translucent layered print: export the existing render layers (tracks / disk / damage / depth-bands) as separate files designed to be printed on acetate or film and physically stacked with air gaps — a real, three-dimensional plate the viewer can move around. The strongest fusion of your layered-print plan and the chamber's actual geometry.
Phase 4 — The archive & the human hand
- Plate series / typology: deterministic grids (MUON-001…024), contact-sheet- as-artwork, a fabricated catalogue with consistent archival furniture.
- Annotation fiction: hand-drawn measurement marks — angle arcs at vertices, momentum labels, grease-pencil circles around a "find," ruled scales, stamped plate numbers, a faux logbook caption. The forensic, studied layer.
- Archival apparatus: fiducial coordinate grids, exposure metadata, a "lab" identity system (letterpress-style headers, reference codes).
Phase 5 — Time & cross-modal (stretch / exhibition)
- Animation: the event forming — particles drawing inward, δ-rays spiralling to rest; a slow living plate for screens/projection.
- Sonification: map tracks/curvature/density to sound — the plate as score; long cosmics as drones, δ-ray spirals as glissandi.
- Field visualisation: optional rendering of the B-field the particles obey — the invisible cause behind the visible trace.
Cross-cutting
- Composition control: golden-ratio / thirds vertex placement, multi-vertex narratives, deliberate placement of the disk as anchor; "art-directed" seeds.
- Material & print: metallic / duotone inks, risograph, substrate tests; the hash printed on the frame as title/edition.
- Curation tools: favourite/lock seeds, a named collection manifest, side-by- side compare in the app.
Immediate next steps
- Phase 1 depth/exposure dynamics (answers the open "more per-trail variation?" question — yes, depth- and age-driven).
- Phase 2 colour regimes, starting with charge duotone + a β false-colour, then the psychedelic set.
- Decide Phase 3 direction with the physical print plan (acetate-stack test).
Guiding test for any new feature: does it deepen the sense that we are looking at a real trace of something unseen — and does it reward standing closer?