Changelog
2026-10-05Site
Live.
The new site, the studio and the public engine repository are live. The privacy page now says that Cloudflare, which serves the site, counts visits in aggregate with its Web Analytics script: no cookie, nothing stored in the browser, and never the contents of a theme link.
2026-10-02Engine 0.9.7, studio
The final pass.
The sound switch now mutes scheduled sounds too, and a short drone gesture decays as soon as it is released, from the level it had reached. Malformed theme sections recover safely. Preset previews cannot overwrite saved work, and a theme link keeps the current work if recovery storage is full. A late microphone permission cannot reopen capture after leaving the section. Dialog and menu cancellation work consistently across browsers.
2026-10-01Engine 0.9.6
The launch pass.
A theme changed while sound is switched off now reaches the output bus, so what you hear after switching back on is the theme you set: before, the new theme played through the old brightness and level until the next edit. A refund that arrives before its purchase is no longer lost. The engine installs from its repository, with no package registry. The site states what it is for search and answer engines, an unknown address is a real 404, and the examples share the site's frame and footer. Sound armed on one page stays armed on the next where the browser allows it. Harness: 38 checks to 41.
2026-09-06Studio
The free door.
The export gate asks how the work will ship. Personal is the first door: it finishes the export, is remembered, and stamps nothing. A verified key also finishes the waiting export. The agreement is a line under the doors, not a checkbox.
2026-08-30Engine 0.9.5
The pre-launch audit.
The drone and progress maps refuse hostile ids, and a non-finite volume never reaches the audio graph. One studio tab can no longer delete another tab's saved theme, and a failed save says so. Recovery mail is rate-limited atomically: a burst of requests sends one mail. Harness: 35 checks to 38.
2026-08-29Site
The ending, and the keyboard.
The footer holds the hero's frame while the tape becomes the mark and seats onto its detent. Arrow keys step section to section, centering each. No text rests under the turning reel.
2026-08-18Engine 0.9.4
The hardening pass.
A malformed theme falls back to defaults instead of throwing. A hostile event name is a silent no-op, NaN is rejected at every public edge, getTheme returns a true copy, and render and resume work without a window. The studio survives a broken stored theme and keeps unsaved edits while auditioning presets. The site survives a lost WebGL context and plays its signature once on a first touch. Harness: 25 checks to 35.
2026-08-06Site
The reel resolves into the mark.
The tape turns into the A\T mark at the end of the page. The mark is specified once, as data (three anchors and one operator on a square lattice), and every shipped mark embeds it. Six grammar glyphs joined the icon set.
2026-08-05Terms, register, pricing
The model, written down.
The studio terms and the commercial license, published as a draft. The identity register opened as a public, dated file. Pricing: Personal free, Commercial 249 per brand, Bespoke on request.
2026-08-02Site
The landing page, rebuilt on the tape.
The real 3D tape, drawn by a dependency-free WebGL renderer under seven hundred lines, with nothing fetched. Material and lamps come from the original patch, night renders the same object on the other field, and the scroll drives the reel.
2026-07-31Engine 0.9.3, studio
The first tap on iOS, and the gesture family.
The first tap now sounds on every iOS browser. The studio gained Gestures: swipe, pinch and rotate, pull to refresh, and long press, all on existing events.
2026-07-30Fulfillment
Keys that mint themselves.
A purchase records one row, and the license key mints and mails itself. A lost key is re-sent, byte-identical, from the row. None of it runs in the product: the studio stays serverless.
2026-07-27Package
anti-tapes, the package, and the gallery.
The engine became a package (anti-tapes) and stayed a script tag: the same file in ESM, CommonJS and global form, typed for both. Four example pages map one interaction family each onto the grammar. The studio saves themes by name, loads them from a file or a drop, and carries them in a link.
2026-07-21Engine 0.9.1 and 0.9.2, studio
One page, and a way to leave it.
Anti.silence() stops every held drone and progress run at once, for views left mid-gesture. Anti.events lists the grammar in canonical order. The studio became one page of scenario sections (controls, layers, text and forms, voice, motion and navigation) on one shared theme.
2026-07-19Engine 0.4 to 0.9.0
The grammar completed, and given its voices.
- 0.9.0: noise as a timbre, pitched on the ladder; the tape theme.
- 0.8.0: undo, the grammar's one reversed envelope.
- 0.7.0 and 0.7.1: the signature, a roughly two-second brand motif generated from the theme; then seeded, so the motif repeats, with safe theme ingest and a hard-clip loudness ceiling.
- 0.6.0: stone, paper (the first scatter-voiced material), and chirp articulation.
- 0.5.0: tick; progress hold; the repetition governor; drone intensity; scale-aware commit, so minor themes commit minor.
- 0.4.0: ten materials, eight scales, a persisted off switch and volume, and a limiter.
2026-07-17Engine 0.1 to 0.3
Seeded.
The engine, the theme format and the first studio, from ten years of interaction sound work. Synthesis only, one theme object, lazy start, graceful silence.