Live · 2026-08-17 · build a3f2

Every version
we've shipped.

Engine releases, visual styles, preset schemas, and the daily personalities the cloud pipeline generates. This is the source of truth for what's live, what's deprecated, and what's next.

Pick a random preset from the live manifest
pick #—

id · created

Family
Shader
Palette
Motion
FX keys
Audio bias
Open in engine →
00

Live state

Probing…
Engine
v1.0
self-evolving
Preset schema
swr-preset/v1
stable
Daily pipeline
2 / day
10 shaders × 8 palettes × 7 motions
Manifest
presets
Latest preset
Production
sainted-word-records.vercel.app
200 · iad1
Visual styles
22
per-page GLSL
On-device variants
per user · 3-use threshold
01

Engine releases

Newest first · git history

v1.0 · self-evolving 2026-08-17

The engine creates new audio-reactive personalities on its own. A daily cloud pipeline ships 2 fresh presets every morning, the engine ingests them on load, and after 3 uses of a single persona, the engine mutates a personalized variant tuned to your song's BPM and key.

  • Daily cloud pipeline (cron 0 9 * * *) — 2 presets/day from 10 shaders × 8 palettes × 7 motions
  • Engine fetches /presets/manifest.json on load and surfaces new ones in a gold pill
  • On-device variant generation after 3 uses (BPM/key/palette mutation)
  • ★ personal badge for self-evolved variants
  • Manifest auto-committed + pushed + redeployed to Vercel by cron
  • Daily press kit + 7 marketing pages + status probe

v0.9 · engine upgrade option 2026-08-14

build fec5c2

Engine stops being a static visualizer. Adds the manifest endpoint, a presets.client.js ingest layer, and the daily cron that auto-redeploys. Engine upgrade option = user can swap personalities without reloading the app.

  • Preset manifest served at /presets/manifest.json
  • presets.client.js — load / diff / markSeen / apply
  • presets-panel.client.js — "N new personalit*" pill in footer
  • macOS crontab: 0 9 * * * preset-pipeline/cron.sh
  • Vite dist/ auto-deploy via npx vercel build + deploy --prebuilt

v0.7 · URL restructure 2026-08-14

build e71200

Splash at /, app at /engine/, no index.html at root. PWA launches straight into the app. Service worker bumped to swr-v2 to invalidate the old cache.

  • / → landing.html, /engine → engine.html, /index.html → 404
  • vercel.json rewrites for /, /engine, /engine/
  • manifest.webmanifest start_url = /engine, scope = /engine/
  • sw.js APP_SHELL includes /landing.html, /engine, /engine.html, /pt.client.js

v0.6 · 12 visual styles 2026-08-12

build 7617b1c

Each style is a self-contained engine variant at /versions/<style>.html with its own GLSL post-process pass. Same WebGL pipeline, different uniforms + page-specific effect function.

  • 12 styles: neon, film, grid, smoke, hallucination, glitch, aurora, pulse, void, chrome, watercolor, fractal (+ eclipse legacy)
  • versions-presets.js — shared WebGL post-process, per-page uniform dictionary
  • Single GLSL with switch on u_page (0..5)
  • Media sets per style (library/<style>/)

v0.5 · first play 2026-08-07

build 8592b42

The engine works. Drop a song, drop a library, get a music video. Audio-reactive WebGL post-process with persona-style FX uniforms, MediaRecorder for MP4 export, project save/load with audio source.

  • WebGL post-process: 14 FX uniforms (temp, mut, chroma, vignette, grain, sepia, glow, blur, grayscale, posterize, etc.)
  • Audio features: bass / mid / treble / air / sub / rms / centroid / beat / onset / bpm
  • MediaRecorder MP4 export (30s default, configurable)
  • Project save/load (JSON + audio source)
  • 20 generated persona assets (20-box-set, etc.)

v0.1 · initial commit 2026-07-31

build init

First commit. Single HTML file, two layers, one shader pass. The idea is simple: a music video shouldn't require an editor, a renderer, or a render farm.

02

Visual styles

22 self-contained engine variants
Saturated · halo

Neon

Bright halos around saturated pixels. Pure nightclub energy.

16mm · sepia · scanlines

Film

16mm grain, sepia, warm temperature. For songs that want a music video.

Monochrome · posterized

Grid

Hard cells, heavy posterize, snap-to-the-beat. Pure geometry.

Wisps · slow drift

Smoke

Gentle horizontal wisps. The visualizer for slow songs.

Scanlines · RGB drift

Hallucination

Scanlines plus RGB-drift stripes. Visceral, cinematic, wrong.

Snap-beat · corrupt

Glitch

Snap-pan on every beat. The video breaks with the song.

Soft · pastel

Aurora

Soft pastel light bands. For songs that breathe.

Beat · ring

Pulse

A ring that pulses on every beat. Minimalist club aesthetic.

Black · isolation

Void

Pure black canvas, single point of light. Negative space.

Reflective · metallic

Chrome

Reflective metallic surfaces. Late 90s / Vaporwave.

Soft · bleed

Watercolor

Soft, bleeding edges. For songs that feel like memory.

Recursive · organic

Fractal

Recursive organic shapes. Math as music video.

Corona · legacy

Eclipse

Deep black with a bright corona glow. The original light-destroyer.

Ornate · gilded

Baroque

Gilded ornament and gold filigree. For songs that want cathedral weight.

Split-screen · magazine

Mixed-media collage

Multi-clip split-screen composition. Magazine-grid cuts to the beat.

White-wall · curated

Gallery

Clean gallery-white frames. The art-show version of your song.

Paper · recycled

Kraft

Brown-paper texture, raw edges. For songs that feel handmade.

Stained glass · tiles

Mosaic

Posterize tiles in stained-glass colors. Cuts that read like a window.

SWR://01SECTOR A$ ████░░
CRT · terminal

Phosphor

Green-CRT terminal aesthetic. For hacker-beats and lo-fi.

Audio · reactive

Spectrum

Pure audio-reactive visualizer. No footage — just your track and the analyzer.

PLAY ▸ REC ●
VHS · degraded

Tape

VHS tape-tone, scan lines, soft chroma bleed. Late-night mixtape energy.

dropmusic.
Animated · type

Typography

Animated type for designers and brands. Drop copy, audio, and a brand kit.

03

Preset schema

swr-preset spec · JSON

swr-preset/v1

current

The single source of truth for a personality. A preset is a complete FX state + a palette + audio-reactive mapping. 12 required fields, 3 optional. Validated by preset-pipeline/verify.mjs (20/20 checks).

  • id req
  • schema req
  • name req
  • family req
  • shader req
  • palette req
  • motion req
  • fx req
  • reactivity req
  • tags req
  • created req
  • seed req
  • _meta opt · basePersona / usageCount / bpmAvg / key
  • color opt
  • parent opt · for on-device variants
{
  "id": "swr-preset-2026-08-17-annihilation-curl-static",
  "schema": "swr-preset/v1",
  "name": "Annihilation Curl Static",
  "family": "annihilation",
  "shader": "curl-noise",
  "palette": "annihilation-aurora",
  "motion": "static-grid",
  "fx": { "temp": 0.12, "mut": 0.78, "chroma": 0.34, "grain": 0.22, "vignette": 0.55, "posterize": 0.18 },
  "reactivity": { "bass": 0.85, "mid": 0.6, "treble": 0.4, "beat": 0.95 },
  "tags": ["psychedelic", "slow", "iridescent"],
  "created": "2026-08-17T00:00:00Z",
  "seed": "swr-preset/2026-08-17/annihilation-curl-static"
}

swr-preset/v1.5

draft · Q3 2026

Adds LLM-curated novelty pass. Pipeline takes the top 5 user-favorite presets and asks a model to mutate one into a fresh variant. Adds novelty: { source, method, rationale } and a compatibility: { engines: ["≥v1.0"] } field for cross-engine reuse.

04

Daily preset timeline

— presets

Loading…

fetching manifest