<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
<title>STELLATE — the complete release archive</title>
<link>https://stellate.app/</link>
<description>Every release note in STELLATE's history, back to the first commit on 2026-06-06. The live feed (https://stellate.app/feed.xml) carries the most recent 50.</description>
<language>en-us</language>
<managingEditor>ford@ftrain.com (Paul Ford)</managingEditor>
<webMaster>ford@ftrain.com (Paul Ford)</webMaster>
<copyright>MIT — © 2026 Paul Ford. Source: https://github.com/aboard-io/stellate</copyright>
<lastBuildDate>Thu, 30 Jul 2026 00:04:05 GMT</lastBuildDate>
<pubDate>Thu, 30 Jul 2026 00:00:35 GMT</pubDate>
<generator>tools/build/gen-feed.js (stellate) — release notes from the git log</generator>
<docs>https://www.rssboard.org/rss-specification</docs>
<ttl>1440</ttl>
<category>Music</category><category>Generative art</category><category>Open source</category>
<image><url>https://stellate.app/assets/icon-180.png</url><title>STELLATE — the complete release archive</title><link>https://stellate.app/</link><width>144</width><height>144</height></image>
<atom:link rel="self" href="https://stellate.app/feed-archive.xml" type="application/rss+xml"/>
<atom:link rel="alternate" href="https://stellate.app/colophon.html" type="text/html" title="Colophon — how STELLATE is made and what it is made of"/>
<atom:link rel="related" href="https://github.com/aboard-io/stellate" type="text/html" title="Source on GitHub"/>
<item>
<title>the planets get a gig, the swap ducks, and staging stops lying about what shipped</title>
<link>https://stellate.app/embed.html?genre=citypop&amp;seed=9033&amp;path=1530.6199,1549.6232,1511.6232&amp;xdur=13.122</link>
<guid isPermaLink="false">27407e31d7cfc124cf50de209f6b344908221c50</guid>
<pubDate>Thu, 30 Jul 2026 00:00:35 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>embed</category>
<description><![CDATA[A STAGING SERVER, AND IT IS THE DEFAULT. ship.sh now deploys to test.stellate.app; stellate.app moves only on `ship.sh --prod`. Same droplet, second vhost over /srv/stellate-test, noindexed twice over (X-Robots-Tag plus its own robots.txt), and /found is a SYMLINK to prod's media so the ~900 MB…]]></description>
<content:encoded><![CDATA[<p>A STAGING SERVER, AND IT IS THE DEFAULT. ship.sh now deploys to test.stellate.app; stellate.app moves only on `ship.sh --prod`. Same droplet, second vhost over /srv/stellate-test, noindexed twice over (X-Robots-Tag plus its own robots.txt), and /found is a SYMLINK to prod's media so the ~900 MB…</p>
<ul><li>face eye-ring 600/822 (73%) -&gt; 7 families, largest 30% archetype 7 of 9 alien forms won ZERO draws -&gt; 12 appear, largest 22% plan stalk+insectoid = 91% -&gt; 6 plans</li><li>None of it was new capability. The face test opened on `body.eyes &gt;= 4` and eyes tops out at exactly 4, so the eye count — the weakest, saturating signal — took first refusal from five better ones.</li><li>THE HORIZON IS NOT EMPTY. backdrop.js — 1,300 lines of tested city/farm shape grammar — was replaced by an empty Object3D and drew nothing.</li><li>THE SOUNDFONT SWAP DUCKS. It stalled: zone ids are font-qualified so two fonts can coexist, which means every zone of an incoming sampled font is a cache miss</li></ul>
<p><em>Verified:</em> verify.sh 13/13; font-rotation, starcruise and backdrop gates pass. -&gt; v56.</p>
<p><a href="https://stellate.app/embed.html?genre=citypop&amp;seed=9033&amp;path=1530.6199,1549.6232,1511.6232&amp;xdur=13.122">▶ Play it: Neon Fiscal Year — the embeddable player, in someone else's page</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/27407e31d7cfc124cf50de209f6b344908221c50">27407e3</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/27407e31d7cfc124cf50de209f6b344908221c50</comments>
</item>
<item>
<title>call it analog, open zoomed out, and stop the bass walking over the mix</title>
<link>https://stellate.app/?genre=bigband&amp;seed=5024&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">454e2848003aef89ae7ace9d0085dee8ce81611f</guid>
<pubDate>Wed, 29 Jul 2026 17:21:48 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[FIVE THINGS FROM LISTENING, plus one measurement that answers a question.]]></description>
<content:encoded><![CDATA[<p>FIVE THINGS FROM LISTENING, plus one measurement that answers a question.</p>
<ul><li>CALL IT ANALOG. The font key was `minimoog`; this is an analog-style subtractive voice, not a Model D, and naming it after a specific instrument claims something untrue.</li><li>OPEN FULLY ZOOMED OUT. The first view has one job — show the whole journey — and the only way to be sure of that is to show the whole world.</li><li>THE BASS WAS WALKING OVER THE MIX, and it is the widening's fault. Instruments that were never basses now sit in the bass chair, and the strip they inherited is written for a bass GUITAR: at lpf 5200 a bass…</li><li>THE BASS WAS NOT ON THE BUSES AT ALL. &quot;Never mud / bass stays centered&quot; is right in principle and had been taken all the way to dry</li></ul>
<p><em>Verified:</em> verify.sh 13/13; all-sampled, segment-parity, strip-fuzz, font-rotation, explorer-ui and genre-viz pass. -&gt; v54.</p>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=5024&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/454e2848003aef89ae7ace9d0085dee8ce81611f">454e284</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/454e2848003aef89ae7ace9d0085dee8ce81611f</comments>
</item>
<item>
<title>the set changes instruments every 32 bars, and keeps coming home to the analog one</title>
<link>https://stellate.app/?genre=citypop&amp;seed=8732&amp;path=1530.6199,1549.6232,1511.6232&amp;xdur=13.122</link>
<guid isPermaLink="false">776415345172c583515ed5cb033d18a741ad1c64</guid>
<pubDate>Wed, 29 Jul 2026 16:37:34 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>sampler</category>
<description><![CDATA[fluidr3 → Pure Analog → SGM Pro 15 → Pure Analog → Seattle Glass Factory → Pure Analog → Pure FM → Pure Analog. A full tour every 256 bars, analog on four of the eight steps. app/audio/fonts.js FONT_CYCLE.]]></description>
<content:encoded><![CDATA[<p>fluidr3 → Pure Analog → SGM Pro 15 → Pure Analog → Seattle Glass Factory → Pure Analog → Pure FM → Pure Analog. A full tour every 256 bars, analog on four of the eight steps. app/audio/fonts.js FONT_CYCLE.</p>
<ul><li>THE BLOCKER WAS THAT ZONE IDS WERE NOT FONT-QUALIFIED. Every font reused the same `ins_&lt;instr&gt;_&lt;n&gt;` id pointing at a different file</li><li>THE GENTLE PART NEEDED NOTHING NEW. Set the font, re-target, and the flip queue walks the voices over one at a time — one flip per two bars, HOLD_BARS apart, identity dims first.</li><li><strong>ONE THING WAS GENUINELY MISSING</strong> — state.samplerLib was in no flip. It is the map forceSampled resolves a voice through when the voice carries no sampler of its own, and while every state was built under one soundfont it never mattered.</li><li>Also fixed, my own from earlier this round: warmSetFor's memo key stringified `one.instruments` to &quot;[object Object]&quot;, so the key was really just genre+seed and the warm set never invalidated when the…</li></ul>
<p><em>Verified:</em> browser/font-rotation.test.js gates it — and NOT with handle.rms(). That is an instantaneous meter: the quietest bar of four identical rides came out 0.0025, 0.1617, 0.0264 and 0.1047, so no…</p>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=8732&amp;path=1530.6199,1549.6232,1511.6232&amp;xdur=13.122">▶ Play it: Neon Fiscal Year — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/776415345172c583515ed5cb033d18a741ad1c64">7764153</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/776415345172c583515ed5cb033d18a741ad1c64</comments>
</item>
<item>
<title>the accessible page's Announce button actually announces</title>
<link>https://stellate.app/access.html?genre=ambient&amp;seed=3569</link>
<guid isPermaLink="false">c8a70741de63aee1136db123c3aa1f1855e56d5e</guid>
<pubDate>Wed, 29 Jul 2026 14:42:43 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>accessibility</category>
<description><![CDATA["🔊 Announce what's playing" wrote its snapshot into #announce and stopped there. That element is sr-only + role=alert, so its ONLY effect is a screen reader speaking it — which means with no screen reader running the button did nothing you could see or hear.]]></description>
<content:encoded><![CDATA[<p>&quot;🔊 Announce what's playing&quot; wrote its snapshot into #announce and stopped there. That element is sr-only + role=alert, so its ONLY effect is a screen reader speaking it — which means with no screen reader running the button did nothing you could see or hear.</p>
<ul><li>It now SPEAKS, through the platform's own synthesiser, with a &quot;Speak it aloud&quot; checkbox (default on, persisted) beside it.</li><li>· the live-region path cleared and re-set inside ONE requestAnimationFrame. rAF runs before paint, so both mutations can coalesce into a single accessibility-tree update and an UNCHANGED snapshot gets…</li></ul>
<p><em>Verified:</em> browser/access-ui.test.js gates the whole contract with the synthesiser stubbed (headless Chromium has one that accepts speak() and makes no sound, which would pass vacuously): speaks once…</p>
<p><a href="https://stellate.app/access.html?genre=ambient&amp;seed=3569">▶ Play it: Stationary Weather — the accessible text version, where the same music arrives as prose</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c8a70741de63aee1136db123c3aa1f1855e56d5e">c8a7074</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c8a70741de63aee1136db123c3aa1f1855e56d5e</comments>
</item>
<item>
<title>register the last 15 instruments, scope the warm-ahead, and pin the bed budget</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=2172&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">069f7ba4c3a87c709a299fda0bc3bb208a5d0f46</guid>
<pubDate>Wed, 29 Jul 2026 13:15:51 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[THE MISSING 15 ARE IN. Of the 26 GM presets that were extracted but never registered, 15 are instruments; they are now in SAMPLERS with their extractor zone metadata and named in the pools that should always have had them.]]></description>
<content:encoded><![CDATA[<p>THE MISSING 15 ARE IN. Of the 26 GM presets that were extracted but never registered, 15 are instruments; they are now in SAMPLERS with their extractor zone metadata and named in the pools that should always have had them.</p>
<ul><li>registered in SAMPLERS 108 -&gt; 123 reached by some state 102 -&gt; 122 (only synth_drum, an unpitched GM drum patch, goes unused) overall effective 62.1 -&gt; 95.0 bass distinct / effective 21/10.4 -&gt; 43/35.9 pad…</li><li>Checked: 825,424 pitched sampler notes across the catalogue, every one resolving to a real zone; every registered zone file present on disk; matrix 274/274.</li><li>THE WARM-AHEAD WAS FETCHING THE WHOLE LIBRARY, and counting the bed budget is how that surfaced. A state's foundSources carries the ENTIRE candidate sampler library — measured 629 zone rows, ~105 MB</li><li>BEDS 3.44 per track (max 6), 1.31 MB BBC reach 38.5% FOUND 3.98 per track, 1.51 MB (beds+breaks+chops+hits+vox) INSTRUMENT 23 zones per track, 3.21 MB (what the song can voice) a track's fetched media: 4.72 MB</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=2172&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/069f7ba4c3a87c709a299fda0bc3bb208a5d0f46">069f7ba</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/069f7ba4c3a87c709a299fda0bc3bb208a5d0f46</comments>
</item>
<item>
<title>the bass chair is not restricted to basses, and the flip queue stops missing re-picks</title>
<link>https://stellate.app/?genre=sequinfreight&amp;seed=8760&amp;path=1231.7188,859.2784,1530.6221&amp;xdur=0.168</link>
<guid isPermaLink="false">bf33eb086222e23fb79eb569544f4cd04d2e7154</guid>
<pubDate>Wed, 29 Jul 2026 12:41:42 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>sequinfreight</category>
<category>neoclassical</category>
<category>citypop</category>
<category>sampler</category>
<description><![CDATA[WIDEN THE POOLS. The bass was the narrowest voice in the instrument by a distance — 21 distinct, an EFFECTIVE 10.4 (2^entropy), one upright on 22% of every sampled bass in the catalogue — while the lead ran 81 distinct / 54.5 effective.]]></description>
<content:encoded><![CDATA[<p>WIDEN THE POOLS. The bass was the narrowest voice in the instrument by a distance — 21 distinct, an EFFECTIVE 10.4 (2^entropy), one upright on 22% of every sampled bass in the catalogue — while the lead ran 81 distinct / 54.5 effective.</p>
<ul><li>The list is now &quot;what can HOLD DOWN THE BOTTOM&quot;, not &quot;what is sold as a bass&quot;: a tuba is the bass of a brass band, a bari sax the bass of a ska horn line, a cello and a bassoon are bass instruments with other…</li><li>bass distinct / effective 21 / 10.4 -&gt; 41 / 25.4 pad distinct / effective 45 / 21.9 -&gt; 54 / 35.3 library reached 102 of 108 -&gt; 106 of 108 overall effective 62.1 -&gt; 79.1 top 10 share of voices 35.5% -&gt; 25.1%</li><li>seed 1 22 distinct / effective 8.1 -&gt; 40 / 30.8 (was yamaha_grand_piano on 31% of genres) seed 7 20 distinct / effective 6.0 -&gt; 39 / 29.4 (was picked_bass on 40%)</li><li>At one seed it now reads: citypop pizzicato strings, jazz upright, dub contrabass, ambient harp, disco church organ, neoclassical felt piano</li></ul>
<p><a href="https://stellate.app/?genre=sequinfreight&amp;seed=8760&amp;path=1231.7188,859.2784,1530.6221&amp;xdur=0.168">▶ Play it: Mirrorball Tonnage → Requiem Appendix → Neon Fiscal Year — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/bf33eb086222e23fb79eb569544f4cd04d2e7154">bf33eb0</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/bf33eb086222e23fb79eb569544f4cd04d2e7154</comments>
</item>
<item>
<title>the gates ask the engine instead of repeating it, and the landing stops yanking</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=1054&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">95b800f6c99e653d94214c73825c0e760b7f90e7</guid>
<pubDate>Wed, 29 Jul 2026 11:46:58 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[Nine red gates, diagnosed. Eight were the SAME failure in different clothes: a gate that spelled out a fact the engine owns, and went red when the engine moved.]]></description>
<content:encoded><![CDATA[<p>Nine red gates, diagnosed. Eight were the SAME failure in different clothes: a gate that spelled out a fact the engine owns, and went red when the engine moved.</p>
<ul><li>all-sampled / segment-parity / vocoder spelled found/&lt;id&gt;.mp3. The engine names fetched media found/&lt;id&gt;.64.mp3 (the bitrate rides in the name because found/ is immutable-by-name) and a synthText source has NO…</li><li>STARCRUISE-BARCADENCE WAS REAL. The descent is built to arrive at SURFACE_POSE at essentially zero velocity (0.0036 units on the last transit frame), and the landed camera's establish ease then ran a…</li><li>Also, from the instrument analysis: the ⓘ read General MIDI catalog indices out loud. GM numbers its variants — &quot;Synth Bass 2&quot;, &quot;Synth Strings 1&quot;</li></ul>
<p><em>Verified:</em> verify.sh 13/13. -&gt; v49.</p>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=1054&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/95b800f6c99e653d94214c73825c0e760b7f90e7">95b800f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/95b800f6c99e653d94214c73825c0e760b7f90e7</comments>
</item>
<item>
<title>every station has a name to say, the flat shelves are cast, and the horizon is halved</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=4385&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">075d2b1188e747408bc7879b852d3c9d6190628f</guid>
<pubDate>Wed, 29 Jul 2026 10:42:39 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[Three decisions and the work they imply.]]></description>
<content:encoded><![CDATA[<p>Three decisions and the work they imply.</p>
<ul><li>THE IDENT TIER GETS ITS 45 MISSING BANKS. A genre whose form is dj/drop/vamp speaks a station ident over its own NameBank identity, but 45 of the 65 had no per-genre bank and fell back to GENERIC</li><li>Two defects found while writing them. A band name may not also be a title or an album inside its own bank — the exact collision the ident code cut two frames over</li><li>THE FLAT VOICE SHELVES ARE CAST, and the remaining drops turn out to be structural rather than a curation gap.</li><li>THE PRECACHE HORIZON IS HALVED, 10 minutes -&gt; 5 (HORIZON_MIN). Everything downstream is derived from it, so the fences, the moving horizon and resume are unchanged</li></ul>
<p><em>Verified:</em> gates/speech.test.js was red before this branch and is now green and doing more: its &quot;no other genre grows a synthText source&quot; law had been superseded by the IDENT tier (techno's form is…</p>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=4385&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/075d2b1188e747408bc7879b852d3c9d6190628f">075d2b1</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/075d2b1188e747408bc7879b852d3c9d6190628f</comments>
</item>
<item>
<title>the readout tells the truth about the bar it is hearing, and the loop opens on a song</title>
<link>https://stellate.app/?genre=citypop&amp;seed=6045&amp;path=1530.6221,1747.7896&amp;xdur=0.444</link>
<guid isPermaLink="false">9fed970d54e708aa8a9e2643f0f370839c11ebf6</guid>
<pubDate>Wed, 29 Jul 2026 04:54:07 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>toastercore</category>
<category>voice</category>
<description><![CDATA[Two reports from the field, both invisible to verify.sh because neither the release suite nor CI rides the live path.]]></description>
<content:encoded><![CDATA[<p>Two reports from the field, both invisible to verify.sh because neither the release suite nor CI rides the live path.</p>
<ul><li>&quot;All the tracks are playing but only two show notes in the ⓘ.&quot; The live walk picks its section BY INDEX — secs[secIdx]; the name is only a label</li><li>&quot;crunch guitar says it is missing.&quot; Two defects, one of them not the reported one. The ring route kicked a sampler zone's decode on the first bar that SOUNDED it, so the transit form's metal solo</li><li>The opening loop spawns on city pop instead of on the geometric middle of the chart, and climbs: candidates for each vertex must be at least as danceable as the spawn, the pick maximizes ENERGY less an…</li><li>the pure-node starcruise probes needed a package-type MARKER, not a package-type decision: three &quot;type&quot;: &quot;module&quot; files in app/, vendor/simplex-noise/ and vendor/three/, matching the one vendor/espeak-ng/…</li></ul>
<p><em>Verified:</em> verify.sh 13/13. → v46.</p>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=6045&amp;path=1530.6221,1747.7896&amp;xdur=0.444">▶ Play it: Neon Fiscal Year → Nichrome Panic — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9fed970d54e708aa8a9e2643f0f370839c11ebf6">9fed970</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9fed970d54e708aa8a9e2643f0f370839c11ebf6</comments>
</item>
<item>
<title>the opening loop is spread in the direction that is cheap</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=8078&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046</link>
<guid isPermaLink="false">c8b889b648d34ebcabf86b72a06011d721e6cc87</guid>
<pubDate>Wed, 29 Jul 2026 03:34:45 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>jungle</category>
<category>travel</category>
<description><![CDATA[Two corrections to the previous attempt, both found by measuring rather than by looking.]]></description>
<content:encoded><![CDATA[<p>Two corrections to the previous attempt, both found by measuring rather than by looking.</p>
<ul><li>FIRST, the radius was circular in a space that is not. drawMap fits each axis to the viewport independently (X = x*width/WORLD_W, Y = y*height/WORLD_H) and the world is ~10x taller than wide, so one world unit…</li><li>SECOND, and this is what the gate caught: the previous commit claimed loop duration was unaffected because paceSpeed scales with the perimeter.</li><li>So the shape changed instead of the size. The triangle now uses its two LOWER vertices rather than the top one, because the dropped vertex pointed straight up — the expensive direction.</li><li>Screen legs 373/695/389 px against a 67px halo — a 239px clear gap where the nearest pair used to overlap. Perimeter 4432, under the 4523 that already walked cleanly.</li></ul>
<p><em>Verified:</em> verify.sh 13/13; explorer-ui, share-url, full-boot, feed-links, genre-viz pass.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=8078&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046">▶ Play it: Food Court Eternity → Smoke Arithmetic → Barometric Stampede — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c8b889b648d34ebcabf86b72a06011d721e6cc87">c8b889b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c8b889b648d34ebcabf86b72a06011d721e6cc87</comments>
</item>
<item>
<title>the opening loop opens wider</title>
<link>https://stellate.app/?genre=doomdrone&amp;seed=9165&amp;path=1579.13027,1107.11381,1161.12218&amp;xdur=0.433</link>
<guid isPermaLink="false">e642db2d7122f68f8ffa06422669c396e4fb8f37</guid>
<pubDate>Wed, 29 Jul 2026 03:08:05 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>doomdrone</category>
<category>standbylightdrive</category>
<category>lasertemple</category>
<category>mix</category>
<description><![CDATA[The three numbered waypoints sat close enough together that the default loop read as one cluster rather than a journey. Radius x3, which buys 2.4x of actual spread: perimeter 1853 -> 4523, legs 414/911/529 -> 1251/2087/1185.]]></description>
<content:encoded><![CDATA[<p>The three numbered waypoints sat close enough together that the default loop read as one cluster rather than a journey. Radius x3, which buys 2.4x of actual spread: perimeter 1853 -&gt; 4523, legs 414/911/529 -&gt; 1251/2087/1185.</p>
<ul><li>The multiplier and the result differ because the spread saturates — the two outer points snap to the nearest genre, so past a point a bigger radius just picks a different neighbour.</li><li>Loop DURATION is unchanged, which is the reason this is safe to do: paceSpeed scales with the perimeter and loopDuration does not, so the traveler moves faster in world units and crosses more genres in the…</li><li>The loop now opens on standbylightdrive and silkmist rather than lasertemple and doomdrone.</li></ul>
<p><em>Verified:</em> verify.sh 13/13; explorer-ui, share-url, full-boot and feed-links all pass.</p>
<p><a href="https://stellate.app/?genre=doomdrone&amp;seed=9165&amp;path=1579.13027,1107.11381,1161.12218&amp;xdur=0.433">▶ Play it: Subduction Hymnal → Diode Vigil → Collimated Chapel — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/e642db2d7122f68f8ffa06422669c396e4fb8f37">e642db2</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/e642db2d7122f68f8ffa06422669c396e4fb8f37</comments>
</item>
<item>
<title>tidy: retire the finished queue, keep the reasoning</title>
<link>https://stellate.app/?genre=jungle&amp;seed=5055&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">ccbf8f0752ba47266d8c9087cd858e5c97fc3b1e</guid>
<pubDate>Wed, 29 Jul 2026 02:44:58 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>found</category>
<description><![CDATA[docs/TODO.md was 1,192 lines describing work that is done, and it held 38 of the 48 citations in this repo that point at files no longer there. Rewritten to 113 lines of what is actually open, keeping the measurements that make each item decidable]]></description>
<content:encoded><![CDATA[<p>docs/TODO.md was 1,192 lines describing work that is done, and it held 38 of the 48 citations in this repo that point at files no longer there. Rewritten to 113 lines of what is actually open, keeping the measurements that make each item decidable</p>
<ul><li>Dead path citations across the tree: 48 -&gt; 17. The four that survive in source are deliberate: two documented dead pointers, a HEAD-compatibility fallback that must name the old path to work, and one…</li><li>WHAT I DID NOT DO. Roughly a hundred comments in app/ and engine/ narrate the past — &quot;the live granular bed used to mint ~28 buffers&quot;, &quot;on touchdown the landed camera used to SNAP&quot;.</li><li>Removed instead: five dated attributions in test/ that narrate a reorg rather than explain a mechanism, and a stray jungle-s7.state.json at the repo root.</li><li>The three starcruise pure-node probes are renamed .mjs and given a createRequire shim, which fixes the half-converted CJS/ESM mixing inside them.</li></ul>
<p><em>Verified:</em> verify.sh 13/13.</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=5055&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/ccbf8f0752ba47266d8c9087cd858e5c97fc3b1e">ccbf8f0</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/ccbf8f0752ba47266d8c9087cd858e5c97fc3b1e</comments>
</item>
<item>
<title>Stage F: the docs describe this repository</title>
<link>https://stellate.app/access.html?genre=ambient&amp;seed=1922</link>
<guid isPermaLink="false">2afdfaf24443b5be8a48cb90c68dea54316a157e</guid>
<pubDate>Tue, 28 Jul 2026 23:21:04 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>accessibility</category>
<description><![CDATA[Every documented command was executed or path-resolved — 502 invocations across 177 distinct targets — and every quantitative claim checked against the code rather than against the last person who wrote it down.]]></description>
<content:encoded><![CDATA[<p>Every documented command was executed or path-resolved — 502 invocations across 177 distinct targets — and every quantitative claim checked against the code rather than against the last person who wrote it down.</p>
<ul><li>CLAUDE.md and ARCHITECTURE.md now document engine/genres-data.js and engine/registry-data.js, which held the entire genre catalogue and the sample registries while being mentioned nowhere.</li><li>Descriptions ARE generated, and both files now say hand-editing them is forbidden. That is the failure that rotted genre-specs the first time.</li><li>ARCHITECTURE's load order was wrong in content as well as in paths: it omitted two engine scripts and put an async counter inside the ordered chain.</li><li><strong>FIXED IN THE LEDGER</strong> — SOURCES.md pointed at engine/faust/voices/sf2.js. There is no such file — it is build/sf2.js, and the wrong path was introduced by this session's own doc pass, in the one file whose rows are legally…</li></ul>
<p><em>Verified:</em> verify.sh 13/13.</p>
<p><a href="https://stellate.app/access.html?genre=ambient&amp;seed=1922">▶ Play it: Stationary Weather — the accessible text version, where the same music arrives as prose</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/2afdfaf24443b5be8a48cb90c68dea54316a157e">2afdfaf</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/2afdfaf24443b5be8a48cb90c68dea54316a157e</comments>
</item>
<item>
<title>Stage D: the tree says what it is</title>
<link>https://stellate.app/access.html?genre=ambient&amp;seed=6098</link>
<guid isPermaLink="false">0a76d1bafc1437fa5a230e6c53ece1687e67cd34</guid>
<pubDate>Tue, 28 Jul 2026 19:52:37 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>accessibility</category>
<description><![CDATA[app/ is five folders instead of seventeen loose modules: core (state, world, share), audio (live, targeting, fonts, precache, export, notefeed), map, panels, entries. engine/faust/ separates the three unrelated things it had been holding in one place — live/ press/ voices/ codec/ build/ data/.]]></description>
<content:encoded><![CDATA[<p>app/ is five folders instead of seventeen loose modules: core (state, world, share), audio (live, targeting, fonts, precache, export, notefeed), map, panels, entries. engine/faust/ separates the three unrelated things it had been holding in one place — live/ press/ voices/ codec/ build/ data/.</p>
<ul><li>THE CYCLE. app/ carried two import cycles that worked only because ESM live-bindings resolve at call time.</li><li>THREE SPLITS. starcruise.js 2,297 -&gt; bridge/scene/camera/probes; starmap.js 910 -&gt; viewport/layout/draw/gestures/viz-zoom behind an unchanged import surface</li><li>THE PAGES. Six HTML files carried duplicated head and inline style; the CSS is extracted and the social head is consistent and gated.</li><li>FIVE REGRESSIONS the sweep caught and fixed, each broken-then-green: three test/unit gates and one tools/build script had require paths one level off after the move, which no import checker sees because they…</li></ul>
<p><em>Verified:</em> verify.sh 13/13. diagonal dominant: 274/274. meter green. Structure is all any of that proves; the ears are still owed.</p>
<p><a href="https://stellate.app/access.html?genre=ambient&amp;seed=6098">▶ Play it: Stationary Weather — the accessible text version, where the same music arrives as prose</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0a76d1bafc1437fa5a230e6c53ece1687e67cd34">0a76d1b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0a76d1bafc1437fa5a230e6c53ece1687e67cd34</comments>
</item>
<item>
<title>sw: v43 -&gt; v44, so the deployed build actually reaches a browser</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=3163&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">61a699435187be41feb2780fcf77f57d3a12c98c</guid>
<pubDate>Tue, 28 Jul 2026 18:23:41 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[The last deploy shipped new engine code under an unchanged service-worker version. sw.js was byte-identical between the two deploys, so no browser ever saw a new worker, no install fired, APP_CACHE kept its name, and every returning client went on being served the previous app shell cache-first.]]></description>
<content:encoded><![CDATA[<p>The last deploy shipped new engine code under an unchanged service-worker version. sw.js was byte-identical between the two deploys, so no browser ever saw a new worker, no install fired, APP_CACHE kept its name, and every returning client went on being served the previous app shell cache-first.</p>
<ul><li>The visible symptom was a wall of 404s for found/&lt;id&gt;.mp3 — the pre-diet filenames, requested by the stale shell, against a server that now holds only found/&lt;id&gt;.64.mp3.</li><li>This is what the comment on VERSION has always said to do.</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=3163&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/61a699435187be41feb2780fcf77f57d3a12c98c">61a6994</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/61a699435187be41feb2780fcf77f57d3a12c98c</comments>
</item>
<item>
<title>export the specs: 274 descriptions and two fences, round-tripped</title>
<link>https://stellate.app/?genre=meadhallbellow&amp;seed=5374&amp;path=461.14316,1405.21491,1237.17819&amp;xdur=0.103</link>
<guid isPermaLink="false">d09417e61a4b00da140e9750941daa179c80cdda</guid>
<pubDate>Tue, 28 Jul 2026 15:28:48 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>meadhallbellow</category>
<category>acidhouse</category>
<category>afrobeat</category>
<category>voice</category>
<description><![CDATA[genre-specs mirror the kernel's info string and the verifier's target row, so the generated descriptions and the dub/meadhallbellow fence moves both land here. Regenerated with `node tools/genre-tool.js export --all`, not by hand — the diff is 274 info lines and the two fences, nothing else.]]></description>
<content:encoded><![CDATA[<p>genre-specs mirror the kernel's info string and the verifier's target row, so the generated descriptions and the dub/meadhallbellow fence moves both land here. Regenerated with `node tools/genre-tool.js export --all`, not by hand — the diff is 274 info lines and the two fences, nothing else.</p>
<p><a href="https://stellate.app/?genre=meadhallbellow&amp;seed=5374&amp;path=461.14316,1405.21491,1237.17819&amp;xdur=0.103">▶ Play it: Diaphragm Muster → Titration Rapture → Polyrhythm Senate — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/d09417e61a4b00da140e9750941daa179c80cdda">d09417e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/d09417e61a4b00da140e9750941daa179c80cdda</comments>
</item>
<item>
<title>the found layer gets heard, the ⓘ tells the truth, aliens leave the boot path</title>
<link>https://stellate.app/?genre=boombap&amp;seed=4876&amp;path=205.10395,461.14316&amp;xdur=0.191</link>
<guid isPermaLink="false">dc447ca477d0b0c4b64be7ae8dc97ba2e4671c8c</guid>
<pubDate>Tue, 28 Jul 2026 15:27:11 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>boombap</category>
<category>meadhallbellow</category>
<category>embed</category>
<description><![CDATA[Nine measured changes, each gated on its own numbers rather than on a hunch.]]></description>
<content:encoded><![CDATA[<p>Nine measured changes, each gated on its own numbers rather than on a hunch.</p>
<ul><li>The found layer was diluted and rare. Bed/narration pools now expand wider and cap at 12 (break/chops deliberately untouched</li><li>The hits coin was the real rarity: 70% of tracks carried no one-shot layer at all. Lifting each genre's authored probability through p -&gt; 1-(1-p)^5 preserves the endpoints and the per-genre ordering while…</li><li>The speech idents kept their tier but lost two of five forms. Read as text across all 2480 realized lines, the split was total: three forms are station idiom and score 100% plausible-or-filler</li><li>The 274 descriptions are repaired in the generator as value-keyed tables, never per-genre overrides. 45% of them said &quot;a light shuffle&quot; because one swing bucket spanned .02-.08</li></ul>
<p><a href="https://stellate.app/?genre=boombap&amp;seed=4876&amp;path=205.10395,461.14316&amp;xdur=0.191">▶ Play it: Milk Crate Scripture → Diaphragm Muster — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/dc447ca477d0b0c4b64be7ae8dc97ba2e4671c8c">dc447ca</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/dc447ca477d0b0c4b64be7ae8dc97ba2e4671c8c</comments>
</item>
<item>
<title>TODO: make the queue tell the truth before we clear context</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=1365&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">9b72aeedd5e4e12cc70be370ccd2add980fe8807</guid>
<pubDate>Tue, 28 Jul 2026 12:01:28 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[The running queue is the handoff document, and it was describing a repo that stopped existing about eighteen commits ago. Rewritten as something a fresh context can act on without re-deriving anything.]]></description>
<content:encoded><![CDATA[<p>The running queue is the handoff document, and it was describing a repo that stopped existing about eighteen commits ago. Rewritten as something a fresh context can act on without re-deriving anything.</p>
<ul><li>· WHERE THINGS STAND — what is done, what is left, and the fact that SEVEN COMMITS ARE UNDEPLOYED (stellate.app is running 76c905e) · the commit-by-commit ledger of what landed and what each one was · the new…</li><li>And FOUR TRAPS, written down because every one of them looked like a confident result and was wrong: the homoglyph label match, the guessed WORLD_W projection, calling a correct intro a frozen viz and telling…</li><li>Stage headers now say DONE where they are done, so nobody redoes Stage C. Stage F carries its own known-wrong list, since tonight moved the ground under it: CLAUDE.md still describes a 996 KB kernel with an…</li></ul>
<p><em>Verified:</em> verify.sh 13/13, doc-counts PASS.</p>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=1365&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9b72aeedd5e4e12cc70be370ccd2add980fe8807">9b72aee</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9b72aeedd5e4e12cc70be370ccd2add980fe8807</comments>
</item>
<item>
<title>E4: the genre descriptions are generated from the anchor now</title>
<link>https://stellate.app/?genre=house&amp;seed=2666&amp;path=1101.20850,1405.21491,1237.17819&amp;xdur=0.202</link>
<guid isPermaLink="false">85352d0a16c7255118d97b3ed25445c8844185e2</guid>
<pubDate>Tue, 28 Jul 2026 10:35:13 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>house</category>
<category>acidhouse</category>
<category>afrobeat</category>
<category>voice</category>
<description><![CDATA[274 blurbs, every one derived from the anchor that ships. Paul's direction: generate deterministically from genre mix, instrumentation and rhythmic variation rather than editing prose.]]></description>
<content:encoded><![CDATA[<p>274 blurbs, every one derived from the anchor that ships. Paul's direction: generate deterministically from genre mix, instrumentation and rhythmic variation rather than editing prose.</p>
<ul><li>That fixes the tic AND the deeper problem underneath it. The old blurbs were hand-written beside live data and drifted the way that always drifts</li><li>em-dash punchlines 234 -&gt; 0 lower-case openers 241 -&gt; 0 length median 173 -&gt; 114, max 378 -&gt; 171 card-lie count 0 -&gt; 0, now by construction</li><li>A machine four at 124-140. Acid bass under an organ, with a pluck lead.</li><li>&quot;A breakbeat at 96-144&quot; card:amen/break on 6 genres. checkCardClaims reads &quot;breakbeat&quot; as the SAMPLED amen; these kits are synthesized and carry no break role.</li></ul>
<p><a href="https://stellate.app/?genre=house&amp;seed=2666&amp;path=1101.20850,1405.21491,1237.17819&amp;xdur=0.202">▶ Play it: Congregation Furnace → Titration Rapture → Polyrhythm Senate — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/85352d0a16c7255118d97b3ed25445c8844185e2">85352d0</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/85352d0a16c7255118d97b3ed25445c8844185e2</comments>
</item>
<item>
<title>Stage E4, the safe half: 241 descriptions start with a capital letter</title>
<link>https://stellate.app/?genre=gospel&amp;seed=4727&amp;path=171.7086,1101.20850,1237.17819&amp;xdur=0.054</link>
<guid isPermaLink="false">277d89e74566969645f6755b894db92fcaae3b5b</guid>
<pubDate>Tue, 28 Jul 2026 10:20:55 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>gospel</category>
<category>house</category>
<category>afrobeat</category>
<category>voice</category>
<description><![CDATA[E4 lists four tics in the genre prose. This fixes the one that is unambiguous — 241 of 274 blurbs opened lower-case, which is not a style so much as an accident — and stops before the one that is not.]]></description>
<content:encoded><![CDATA[<p>E4 lists four tics in the genre prose. This fixes the one that is unambiguous — 241 of 274 blurbs opened lower-case, which is not a style so much as an accident — and stops before the one that is not.</p>
<ul><li>Proved rather than eyeballed: GENRES is byte-identical to HEAD ignoring case, and zero infos differ beyond capitalisation.</li><li>gospel &quot;hand-clap church gospel ~92bpm — Hammond organ and gospel piano, a massed choir…&quot; — the em-dash is STRUCTURAL, introducing the instrumentation.</li><li>Telling a poetic punchline from a structural separator is a judgement per string, not a pattern, and these are 274 user-visible strings.</li><li>There is also a gate coupling worth stating: musicality's checkCardClaims parses `info` for instrument nouns, so rewriting prose can create or hide card-lies.</li></ul>
<p><em>Verified:</em> verify.sh otherwise green, card-lie 0, specs round-trip PASS.</p>
<p><a href="https://stellate.app/?genre=gospel&amp;seed=4727&amp;path=171.7086,1101.20850,1237.17819&amp;xdur=0.054">▶ Play it: Rapture Logistics → Congregation Furnace → Polyrhythm Senate — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/277d89e74566969645f6755b894db92fcaae3b5b">277d89e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/277d89e74566969645f6755b894db92fcaae3b5b</comments>
</item>
<item>
<title>the ⓘ piano roll is telling the truth; the audit hatching is not</title>
<link>https://stellate.app/?genre=gospel&amp;seed=3169&amp;path=171.7064,190.7097,152.7097&amp;xdur=13.122</link>
<guid isPermaLink="false">465d3779cf1e876b8b079304156963711c1ddc95</guid>
<pubDate>Tue, 28 Jul 2026 03:13:49 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>gospel</category>
<category>harmony</category>
<description><![CDATA[Chased Paul's report that the inside view sometimes shows empty lanes while everything plays fine. Conclusion: the LANES ARE CORRECT, and I could not reproduce the freeze.]]></description>
<content:encoded><![CDATA[<p>Chased Paul's report that the inside view sometimes shows empty lanes while everything plays fine. Conclusion: the LANES ARE CORRECT, and I could not reproduce the freeze.</p>
<ul><li>WHAT THE LANES DO. Replayed barVoiceEvents' exact windowing in node — no browser, no timing, no flake</li><li>verse 2 {pad:16, bass:4, drums:59, sfx:1} — no melody events at all bridge {pad:16, bass:4, melody:10} — no drum events at all</li><li>gospel's bridge genuinely drops the kit and verse 2 genuinely has no lead line. The viz drawing melody:0 and drums:0 there is the truth, not a bug.</li><li>I ALSO COULD NOT REPRODUCE &quot;doesn't update at all&quot;, and I twice mistook a too-short sample for a freeze: 24 samples over 19s of a 92bpm chordEvery-8 track is about three chord bars, so seeing two distinct…</li></ul>
<p><em>Verified:</em> verify.sh 13/13, comment-only proof clean.</p>
<p><a href="https://stellate.app/?genre=gospel&amp;seed=3169&amp;path=171.7064,190.7097,152.7097&amp;xdur=13.122">▶ Play it: Rapture Logistics — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/465d3779cf1e876b8b079304156963711c1ddc95">465d377</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/465d3779cf1e876b8b079304156963711c1ddc95</comments>
</item>
<item>
<title>speech reaches 99 of 274 genres: station idents for the mix forms</title>
<link>https://stellate.app/?genre=jungle&amp;seed=9094&amp;path=1718.20526,1101.20850,2103.13302&amp;xdur=0.096</link>
<guid isPermaLink="false">422eb07e191b9770869605e1a018694fc6ef9570</guid>
<pubDate>Tue, 28 Jul 2026 02:54:11 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>house</category>
<category>ambient</category>
<category>voice</category>
<description><![CDATA[The bespoke cast is twelve genres that had a voice waiting in their own card — the OYEZ, the ATC read-back, the auction chant. That does not scale to a hundred: writing ninety more idioms by hand is ninety chances to write a bad one, and most genres have no such line in them.]]></description>
<content:encoded><![CDATA[<p>The bespoke cast is twelve genres that had a voice waiting in their own card — the OYEZ, the ATC read-back, the auction chant. That does not scale to a hundred: writing ninety more idioms by hand is ninety chances to write a bad one, and most genres have no such line in them.</p>
<ul><li>So the derived tier is picked by a STRUCTURAL property rather than by me choosing forty-one names out of a hat. Genres whose FORM is a mix — dj, drop, vamp, the ones built to be beat-matched and talked over</li><li>genres with speech 58 -&gt; 99 of 274 bespoke cast 12 (unchanged; a bespoke voice always beats an ident) derived idents 41 (dj 20, drop 12, vamp 9)</li><li>The VOICE is hashed from the genre name, not the track seed, so every station sounds like a different station and the same genre always gets the same announcer: house is a fast m2, jungle a mid m1, disco an f3.</li><li>A REAL BUG CAUGHT ON THE WAY, and the reason the samples are worth printing: the first cut used `&gt;&gt;`, which is a SIGNED 32-bit shift, so any hash above 2^31 went negative and dragged the modulo with it.</li></ul>
<p><em>Verified:</em> determinism identical on repeat, no out-of-range voice anywhere, and house and jungle both synthesize live in a real browser with zero console errors.</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=9094&amp;path=1718.20526,1101.20850,2103.13302&amp;xdur=0.096">▶ Play it: Barometric Stampede → Congregation Furnace → Stationary Weather — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/422eb07e191b9770869605e1a018694fc6ef9570">422eb07</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/422eb07e191b9770869605e1a018694fc6ef9570</comments>
</item>
<item>
<title>speech: 230 pre-rendered clips become live synthesis, 12 genres become 58</title>
<link>https://stellate.app/?genre=jungle&amp;seed=4017&amp;path=1718.20526,1679.4415,1089.13532&amp;xdur=0.046</link>
<guid isPermaLink="false">700d9f99a1e937add65a886172e1de0201bb2697</guid>
<pubDate>Tue, 28 Jul 2026 02:48:33 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>vaporwave</category>
<category>budstep</category>
<category>voice</category>
<description><![CDATA[Every kind:"speech" id in the registry was espeak output — sp_ (203), hp_ (the hogcore cast, 24), wd_ (budstep strain names, 16). Checked BEFORE touching anything: the Naropa readings (vx_, 49) and the BBC material carry no `kind` at all, so they were never in this set and are never at risk.]]></description>
<content:encoded><![CDATA[<p>Every kind:&quot;speech&quot; id in the registry was espeak output — sp_ (203), hp_ (the hogcore cast, 24), wd_ (budstep strain names, 16). Checked BEFORE touching anything: the Naropa readings (vx_, 49) and the BBC material carry no `kind` at all, so they were never in this set and are never at risk.</p>
<ul><li>Because it is all espeak, the engine can simply say it. A registry entry with synthText is synthesized by engine/speech.js at play time — what the transit PA already did.</li><li>genres emitting live speech 12 -&gt; 58 distinct live ids in play 1 -&gt; 221</li><li>THE BUG THAT MADE IT A NO-OP AT FIRST. Converting the registry changed nothing: still 12 genres, still one id.</li><li><strong>WHAT IS DELIBERATELY NOT CONVERTED</strong> — saytransit's station voices are not plain espeak. They are a three-voice harmonized robot choir — root, a fifth above, an octave below, rubberband-shifted and mixed time-aligned.</li></ul>
<p><em>Verified:</em> rather than assumed: determinism holds (same seed twice, identical), jungle gains nothing, and sp_paleo_rex — a CONVERTED id, not the organ</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=4017&amp;path=1718.20526,1679.4415,1089.13532&amp;xdur=0.046">▶ Play it: Barometric Stampede → Food Court Eternity → Amen Monolith — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/700d9f99a1e937add65a886172e1de0201bb2697">700d9f9</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/700d9f99a1e937add65a886172e1de0201bb2697</comments>
</item>
<item>
<title>Stage E2: the spec folder describes the genres that actually ship</title>
<link>https://stellate.app/?genre=ragtime&amp;seed=5906&amp;path=753.14457,292.16891,1405.21491&amp;xdur=0.105</link>
<guid isPermaLink="false">712cceb2f6d238aa80845da96a9820d25f5b4442</guid>
<pubDate>Tue, 28 Jul 2026 02:23:43 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ragtime</category>
<category>jazz</category>
<category>acidhouse</category>
<category>voice</category>
<description><![CDATA[genre-specs/ was one-directional for its whole life. genre-tool wrote a spec when a genre was born; every later edit happened by hand in the kernel and nothing was ever written back.]]></description>
<content:encoded><![CDATA[<p>genre-specs/ was one-directional for its whole life. genre-tool wrote a spec when a genre was born; every later edit happened by hand in the kernel and nothing was ever written back.</p>
<ul><li>`genre-tool.js export &lt;genre&gt; | --all` is the direction that was missing: it reads the LIVE anchor and emits the spec that would produce it.</li><li>274 specs, one per genre, uniform shape: name label info pos anchor mind 274 targets 274 perc 52 (only genres with a perc style)</li><li>Three of those keys are NEW, and they are what closes the authorability gap the plan measured — the kernel reads 289 anchor paths, specs could express 184: mind the derived theory/pipes/rhythm axes, whose only…</li><li>Four keys are dropped because nothing reads them: clips (GENRE_CLIPS is gone), materials, invented, damp. genre-specs/invented/ is flattened</li></ul>
<p><em>Verified:</em> genre-specs.test.js is what stops the rot returning: coverage, no orphans, required keys, no retired keys, trailing newline, and the one that matters</p>
<p><a href="https://stellate.app/?genre=ragtime&amp;seed=5906&amp;path=753.14457,292.16891,1405.21491&amp;xdur=0.105">▶ Play it: Perforated Afterlife → Smoke Arithmetic → Titration Rapture — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/712cceb2f6d238aa80845da96a9820d25f5b4442">712cceb</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/712cceb2f6d238aa80845da96a9820d25f5b4442</comments>
</item>
<item>
<title>redraw the star map: label-box packing with headroom for 400 genres</title>
<link>https://stellate.app/?genre=crimsoncourt&amp;seed=4741&amp;path=1109.13089,265.13466,1854.5732&amp;xdur=0.093</link>
<guid isPermaLink="false">43ffe4dd4a7d604748eac046f808123ec93aefca</guid>
<pubDate>Tue, 28 Jul 2026 02:19:32 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>crimsoncourt</category>
<category>crumpetwhirl</category>
<category>folk</category>
<category>harmony</category>
<description><![CDATA[Names were being culled at default zoom -- 254 of 274 on a 1600px screen, 229 at 1280, 113 on a phone. I first argued against a redraw, on the grounds that zoom recovers most of them (254 -> 271 by k=6) and only two genres, crimsoncourt and folk, were never labelled at any zoom.]]></description>
<content:encoded><![CDATA[<p>Names were being culled at default zoom -- 254 of 274 on a 1600px screen, 229 at 1280, 113 on a phone. I first argued against a redraw, on the grounds that zoom recovers most of them (254 -&gt; 271 by k=6) and only two genres, crimsoncourt and folk, were never labelled at any zoom.</p>
<ul><li>THE CAUSE. drawMap fits each axis to the viewport INDEPENDENTLY, so the world's own aspect is invisible in the render -- only the distribution in normalized space matters.</li><li>It was never an area problem. At default zoom the rendered world is 12.5M px² and 400 labels want 2.7M of it.</li><li>THE FACTOR I GOT WRONG FIRST, and it is the whole thing: drawMap grows type with zoom, fs = min(3, max(1, k^0.85)), so at the default k=2.8 the font is 2.4x, not 1x.</li><li>tools/relayout-map.js relaxes label RECTANGLES until none overlap, each star on a weak spring to where it started, boxes inflated sqrt(400/274) so genres that do not exist yet still get a name.</li></ul>
<p><em>Verified:</em> verify.sh 12/12, matrix 274/274, explorer-ui PASS (was FAIL on the separation floor), pos-coverage 274/274, full-boot healthy.</p>
<p><a href="https://stellate.app/?genre=crimsoncourt&amp;seed=4741&amp;path=1109.13089,265.13466,1854.5732&amp;xdur=0.093">▶ Play it: Non Euclidean Court → Teatime Anomaly → Kettle Eschaton — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/43ffe4dd4a7d604748eac046f808123ec93aefca">43ffe4d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/43ffe4dd4a7d604748eac046f808123ec93aefca</comments>
</item>
<item>
<title>deploy: excluded must mean GONE from the droplet, not merely unsent</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=7731&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">76c905e3c8436b10a215b8224545d3be7116d923</guid>
<pubDate>Tue, 28 Jul 2026 01:52:50 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[I claimed the last commit took 28 MB off the deploy. It took 28 MB off the TRANSFER and left every byte of it live on stellate.app, which I should have checked before saying so.]]></description>
<content:encoded><![CDATA[<p>I claimed the last commit took 28 MB off the deploy. It took 28 MB off the TRANSFER and left every byte of it live on stellate.app, which I should have checked before saying so.</p>
<ul><li>rsync's plain --delete only removes receiver files that are absent from the SOURCE. It deliberately PROTECTS anything matching an --exclude, on the theory that you may be excluding files you want left alone on…</li><li>154 engine/faust/node_modules the @grame cut that did not take 134 found/samples/*/zones.json extractor output nothing fetches ~600 tools/node_modules better-sqlite3, semver, tar-fs and friends -- build-time…</li><li>Nothing outside those buckets is touched. MEDIA_MANIFEST appears in the deletion list and is irrelevant: it is not in the source tree, so plain --delete already removed it on every deploy, and the very next…</li><li>This is the same failure shape as the found/midi leak that had to be scrubbed from the droplet by hand: an exclusion that everyone believed was removing something when it was only declining to send it.</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=7731&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/76c905e3c8436b10a215b8224545d3be7116d923">76c905e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/76c905e3c8436b10a215b8224545d3be7116d923</comments>
</item>
<item>
<title>espeak is an ES module; say so, and the speech gate goes green</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=4246&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">5f6aa3b69f548c40aaba47e10368c221ec4817ed</guid>
<pubDate>Tue, 28 Jul 2026 01:48:48 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[vendor/espeak-ng/espeak-ng.js is emscripten ESM glue: it reads import.meta.url to locate espeak-ng.data beside itself. But node resolves a .js file against the nearest package.json, and the nearest one is the repo root, which is type=commonjs -- so the glue was parsed as CommonJS, where import.meta…]]></description>
<content:encoded><![CDATA[<p>vendor/espeak-ng/espeak-ng.js is emscripten ESM glue: it reads import.meta.url to locate espeak-ng.data beside itself. But node resolves a .js file against the nearest package.json, and the nearest one is the repo root, which is type=commonjs -- so the glue was parsed as CommonJS, where import.meta…</p>
<ul><li>prove-browser.js is the single CommonJS script in that directory, so it becomes prove-browser.cjs (README and its own header updated). prove.js was already ESM and needed nothing.</li><li>This closes a real hole rather than a cosmetic one: the artifact's DETERMINISM LAW -- same text twice must give byte-identical PCM from a fresh worker per call -- was documented in engine/speech.js and never…</li><li>Browser path is untouched -- package.json type affects node resolution only, and the browser loads the glue by URL.</li><li>speech.test: 5/5 ALL PASS, up from 4/5.</li></ul>
<p><em>Verified:</em> speech.test.js has been failing synth_determinism with &quot;Cannot use 'import.meta' outside a module&quot; -- and because tools/ship.sh gates on that test under `set -e`, the project's one deploy…</p>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=4246&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/5f6aa3b69f548c40aaba47e10368c221ec4817ed">5f6aa3b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/5f6aa3b69f548c40aaba47e10368c221ec4817ed</comments>
</item>
<item>
<title>Stage E1 complete: the kernel is a library again</title>
<link>https://stellate.app/?genre=jungle&amp;seed=7254&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">e62dada64b32fd48f2dfcd9e4ab2821ec7cfd79b</guid>
<pubDate>Tue, 28 Jul 2026 01:31:33 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>voice</category>
<description><![CDATA[The last E1 bullet. 243 lines of CLI lived at the bottom of engine/genre-kernel.js behind `isNode && require.main===module`, so every browser downloaded and parsed fs, child_process, ffmpeg shelling and WAV muxing that it could never run.]]></description>
<content:encoded><![CDATA[<p>The last E1 bullet. 243 lines of CLI lived at the bottom of engine/genre-kernel.js behind `isNode &amp;&amp; require.main===module`, so every browser downloaded and parsed fs, child_process, ffmpeg shelling and WAV muxing that it could never run.</p>
<ul><li>engine/genre-kernel.js 193 KB -&gt; 180 KB, 2,798 -&gt; 2,554 lines tools/kernel-cli.js 260 lines</li><li>The kernel now contains zero require(&quot;fs&quot;), zero require(&quot;child_process&quot;) and zero execFileSync -- checked, not assumed.</li><li>The extraction was mechanical but not blind: the block was brace-matched rather than sliced at a guessed line (the first attempt was off by one and its assertion caught it before anything was written), and its…</li><li>Every documented invocation was repointed, since `node engine/genre-kernel.js track ...` now silently does nothing: CLAUDE.md, README.md, docs/SETUP.md, docs/GENRE-SPACE.md, three fetch recipes…</li></ul>
<p><em>Verified:</em> verify.sh 12/12, matrix --no-cache 274/274 diagonal dominant, kerneldata byte-identical, boot-smoke 16/16, full-boot healthy in a real browser, and `kernel-cli.js anchors` + `track jungle…</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=7254&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/e62dada64b32fd48f2dfcd9e4ab2821ec7cfd79b">e62dada</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/e62dada64b32fd48f2dfcd9e4ab2821ec7cfd79b</comments>
</item>
<item>
<title>the speech organ gets a cast: 1 producer -&gt; 12 voices</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=8182&amp;path=749.12558,1026.13988,1968.25160&amp;xdur=0.059</link>
<guid isPermaLink="false">4807f9866c3ed386d41cf0273e8327fc9e7e89d9</guid>
<pubDate>Tue, 28 Jul 2026 01:26:17 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>towncrier</category>
<category>dishwasherwave</category>
<category>voice</category>
<description><![CDATA[Phase 4 of the found-layer plan. Live espeak synthesis had exactly ONE trigger in 274 genres -- transitwave's PA, fired once as an opener -- so the organ in engine/speech.js was effectively unwired and everything else that SOUNDED like espeak was a pre-rendered mp3.]]></description>
<content:encoded><![CDATA[<p>Phase 4 of the found-layer plan. Live espeak synthesis had exactly ONE trigger in 274 genres -- transitwave's PA, fired once as an opener -- so the organ in engine/speech.js was effectively unwired and everything else that SOUNDED like espeak was a pre-rendered mp3.</p>
<ul><li>Twelve genres speak now, and the text is not invented for them: each one already carried the vocabulary in its own card.</li><li>transitwave f3 165 the arrivals PA airtrafficdrone m3 190 flight levels and runway assignments towncrier m1 120 OYEZ, slow and grave auctioncore m2 260 the chant, and it is FAST dmvstep f2 150 now serving…</li><li>The per-speaker variant/pitch/speed is the point: one voice at twelve texts would be one narrator in twelve hats.</li><li>Every law the transit PA established is preserved, because they are what make this safe: text derives purely from (seed, genre) through NameBank, so ZERO rng draws on the resolve stream</li></ul>
<p><em>Verified:</em> not assumed: determinism (same seed twice, identical), jungle gains nothing, a 20% towncrier blend stays silent, and three of the new voices -- including the croak -- synthesize live in a…</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=8182&amp;path=749.12558,1026.13988,1968.25160&amp;xdur=0.059">▶ Play it: Rail Replacement Rapture → Oyez Oblivion → Heated Dry Eternity — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/4807f9866c3ed386d41cf0273e8327fc9e7e89d9">4807f98</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/4807f9866c3ed386d41cf0273e8327fc9e7e89d9</comments>
</item>
<item>
<title>Stage E1: 810 KB of data out of the kernel, byte for byte</title>
<link>https://stellate.app/access.html?genre=ambient&amp;seed=6362</link>
<guid isPermaLink="false">8508e002d8894269196ac0bf013b0ed2eb810e9b</guid>
<pubDate>Tue, 28 Jul 2026 00:45:05 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>accessibility</category>
<description><![CDATA[engine/genre-kernel.js was 966 KB and 8,956 lines, of which 82% was inert literal data, and it shipped a node-only CLI to every browser. It is now 193 KB and 2,739 lines -- a file a person can read.]]></description>
<content:encoded><![CDATA[<p>engine/genre-kernel.js was 966 KB and 8,956 lines, of which 82% was inert literal data, and it shipped a node-only CLI to every browser. It is now 193 KB and 2,739 lines -- a file a person can read.</p>
<ul><li>engine/genres-data.js 648 KB the 274 anchors engine/registry-data.js 131 KB SOURCES / SOURCE_POOLS / SAMPLES / VOXBANK / SAMPLERS / PERCBANK</li><li>THE DATA MOVED AS SOURCE TEXT, NOT AS JSON. The obvious implementation is to load the kernel and JSON.stringify each object, and that is the one that loses: round-tripping normalizes -0 to 0, drops undefined…</li><li>Classic scripts, not JSON-over-fetch, because app/access.js and app/starmap.js read the kernel synchronously at module top level -- the data has to exist the moment genre-kernel.js runs.</li><li>Everything that reached into the kernel by path was repointed, not left to fail quietly later: genre-tool.js (including TERM.genres, whose terminator was the kernel section that used to follow the literal and…</li></ul>
<p><em>Verified:</em> rather than assumed, at every layer: kerneldata GENRES + 4 registries byte-identical vs HEAD, same order, 5 resolved tracks identical (the only reach into the module-private VOXBANK and…</p>
<p><a href="https://stellate.app/access.html?genre=ambient&amp;seed=6362">▶ Play it: Stationary Weather — the accessible text version, where the same music arrives as prose</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/8508e002d8894269196ac0bf013b0ed2eb810e9b">8508e00</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/8508e002d8894269196ac0bf013b0ed2eb810e9b</comments>
</item>
<item>
<title>Stage E1 step 1: a gate that proves the genre data survived the move</title>
<link>https://stellate.app/?genre=gospel&amp;seed=3652&amp;path=171.7064,190.7097,152.7097&amp;xdur=13.122</link>
<guid isPermaLink="false">bebf85bc9e425590a759f4f88dcd260bfff6a191</guid>
<pubDate>Tue, 28 Jul 2026 00:11:32 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>gospel</category>
<category>harmony</category>
<description><![CDATA[Stage E1 lifts ~810 KB of inert data out of genre-kernel.js into generated classic scripts. The plan says to build the check before anything moves, and it is right to: GENRES is 99.8% literal, but a generator that round-trips through JSON can reorder a key, normalize -0, drop an undefined, or…]]></description>
<content:encoded><![CDATA[<p>Stage E1 lifts ~810 KB of inert data out of genre-kernel.js into generated classic scripts. The plan says to build the check before anything moves, and it is right to: GENRES is 99.8% literal, but a generator that round-trips through JSON can reorder a key, normalize -0, drop an undefined, or…</p>
<ul><li>The gate compares the WORKING TREE against HEAD, the way meter.test.js's head_byte_identity already does, so it is a no-op green today, the proof during the split, and self-healing on commit afterwards -- an…</li><li>genre_order Object.keys(GENRES) drives matrix row order and the star layout. A pure reordering is invisible to a sorted hash and catastrophic downstream, so the order is compared as an ordered array and the…</li><li>Wired into verify.sh as &quot;kerneldata&quot;: 12/12 PASS.</li><li>The split itself is the next commit. Nothing has moved yet.</li></ul>
<p><em>Verified:</em> it actually fails, rather than assuming: a one-digit cutoff change (1700 -&gt; 1701, buried 547 KB into GENRES) is caught twice independently -- by the byte hash, which points straight at the…</p>
<p><a href="https://stellate.app/?genre=gospel&amp;seed=3652&amp;path=171.7064,190.7097,152.7097&amp;xdur=13.122">▶ Play it: Rapture Logistics — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/bebf85bc9e425590a759f4f88dcd260bfff6a191">bebf85b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/bebf85bc9e425590a759f4f88dcd260bfff6a191</comments>
</item>
<item>
<title>gospel gets its piano, yachtrock its guitar</title>
<link>https://stellate.app/?genre=gospel&amp;seed=1064&amp;path=171.7086,2296.6531&amp;xdur=0.341</link>
<guid isPermaLink="false">2a6960886808f35398d9e7db10810547840e5bdf</guid>
<pubDate>Mon, 27 Jul 2026 23:42:17 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>gospel</category>
<category>yachtrock</category>
<category>harmony</category>
<description><![CDATA[The last two card-lies, fixed the way the cards asked rather than by editing the cards down. gospel's blurb promises "Hammond organ and gospel piano" and yachtrock's promises "Rhodes and clean electric guitar"]]></description>
<content:encoded><![CDATA[<p>The last two card-lies, fixed the way the cards asked rather than by editing the cards down. gospel's blurb promises &quot;Hammond organ and gospel piano&quot; and yachtrock's promises &quot;Rhodes and clean electric guitar&quot;</p>
<ul><li>Both go in the COMP pool, not the lead. Each card names its own hook -- a massed choir for gospel, a lyrical alto sax for yachtrock -- and those stay where they are</li><li>gospel + bright_yamaha_grand (not felt/upright: gospel piano is percussive and forward, and it comps against the Hammond) yachtrock + clean_guitar (the card's own words)</li><li>Capability, drawn: over 12 seeds the gospel comp resolves church_organ / rock_organ / strings / bright_yamaha_grand and yachtrock's rhodes_ep / electric_piano / strings / clean_guitar, each new instrument…</li><li>This is a kernel change and therefore a matrix change, so it was gated as one rather than assumed: matrix --no-cache still prints diagonal dominant 274/274, and no column moved off its own row.</li></ul>
<p><em>Verified:</em> verify.sh 11/11, matrix --no-cache 274/274, musicality ALL GREEN (card-lie count 3 -&gt; 0), meter byte-identity green.</p>
<p><a href="https://stellate.app/?genre=gospel&amp;seed=1064&amp;path=171.7086,2296.6531&amp;xdur=0.341">▶ Play it: Rapture Logistics → Isobar Regatta — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/2a6960886808f35398d9e7db10810547840e5bdf">2a69608</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/2a6960886808f35398d9e7db10810547840e5bdf</comments>
</item>
<item>
<title>gates: a negated noun is not a promise, and 33 was never the number</title>
<link>https://stellate.app/?genre=gospel&amp;seed=9625&amp;path=171.7086,2296.6531&amp;xdur=0.341</link>
<guid isPermaLink="false">d52b8ed96ee5dddf1d91592c32ae37bd92677481</guid>
<pubDate>Mon, 27 Jul 2026 23:31:52 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>gospel</category>
<category>yachtrock</category>
<category>harmony</category>
<description><![CDATA[Two long-standing red gates, both stale in the same way -- an assertion that had drifted from what it was actually describing.]]></description>
<content:encoded><![CDATA[<p>Two long-standing red gates, both stale in the same way -- an assertion that had drifted from what it was actually describing.</p>
<ul><li>musicality card-lie: the catalog reported 3 over-promises. One was the checker's fault. chamber's card says &quot;NO piano and NO drums&quot;, and checkCardClaims scanned for instrument nouns with no notion of negation…</li><li>Audited rather than assumed: across all 274 cards that strip suppresses exactly one claim, chamber's piano. No other genre's warnings move.</li><li>starcruise-nav 1A/1C hardcoded 33 clusters against a clusterer that emits 34, so a healthy galaxy reported as a failure.</li><li>STILL RED, and deliberately left for a human: card-lie is now 2, not 0. gospel's card promises &quot;gospel piano&quot; and yachtrock's promises &quot;clean electric guitar&quot;, and neither pool contains the instrument -…</li></ul>
<p><em>Verified:</em> verify.sh 11/11, matrix --no-cache 274/274 diagonal dominant, starcruise-nav ALL PASS.</p>
<p><a href="https://stellate.app/?genre=gospel&amp;seed=9625&amp;path=171.7086,2296.6531&amp;xdur=0.341">▶ Play it: Rapture Logistics → Isobar Regatta — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/d52b8ed96ee5dddf1d91592c32ae37bd92677481">d52b8ed</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/d52b8ed96ee5dddf1d91592c32ae37bd92677481</comments>
</item>
<item>
<title>SOURCES: stop promising what the deploy does not do</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=3280&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">a6499598585054772e1afa23498997c3efdb6cdd</guid>
<pubDate>Mon, 27 Jul 2026 23:25:58 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[The media policy said tier-3 material is "never redistributed, in any form: never committed, never in a packaged build, never in a distributed render." The deploy has been contradicting that: tools/deploy-stellate.sh rsyncs found/, the root-anchored --exclude '/*.wav' never touches it, and…]]></description>
<content:encoded><![CDATA[<p>The media policy said tier-3 material is &quot;never redistributed, in any form: never committed, never in a packaged build, never in a distributed render.&quot; The deploy has been contradicting that: tools/deploy-stellate.sh rsyncs found/, the root-anchored --exclude '/*.wav' never touches it, and…</p>
<ul><li>Decision: keep the deploy, drop the promise. So this rewrites the policy header to say what actually happens -- the fetched media is served from the public web -- and rewrites the per-item promises into…</li><li>What is deliberately NOT removed: the licence facts. Every ⚠, every &quot;no licence chain&quot;, every NC/ND flag stays exactly where it was, and the header now says plainly that the terms still bind, that serving…</li><li>Also added: a note for anyone forking, since the risk is a decision the repo owner made and does not travel with the code -- with a pointer at the rsync filter that is where a stricter policy would be enforced.</li><li>One &quot;never redistributed&quot; survives, at the MIDI trove, because it is true: found/midi/ is excluded from the rsync and the corpus lives off-repo on the external drive.</li></ul>
<p><em>Verified:</em> doc-counts PASS.</p>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=3280&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a6499598585054772e1afa23498997c3efdb6cdd">a649959</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a6499598585054772e1afa23498997c3efdb6cdd</comments>
</item>
<item>
<title>LOFO: 28 MB off the deploy, and two &quot;free&quot; cuts that measured otherwise</title>
<link>https://stellate.app/?genre=bigband&amp;seed=9429&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">b96a25b592ce76c4c51d42e7fc43dab00cbcddd5</guid>
<pubDate>Mon, 27 Jul 2026 23:18:42 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[The free-cuts phase of the LOFO plan (docs/TODO.md). Two of the four listed cuts are genuinely free and land here; the other two were mis-scoped, and the measurements are what changed the answer.]]></description>
<content:encoded><![CDATA[<p>The free-cuts phase of the LOFO plan (docs/TODO.md). Two of the four listed cuts are genuinely free and land here; the other two were mis-scoped, and the measurements are what changed the answer.</p>
<ul><li>Landed, both rsync filters -- no app code moves. Measured with --dry-run --stats, old filters vs new: 526.18 MB / 9,591 files -&gt; 497.88 MB / 9,303.</li><li>zones.json + _gm-extract-summary.json: 134 files, 544 KB of extractor output that nothing fetches. The browser reads zone geometry from K.SAMPLERS, and faust/sf2.js says so outright.</li><li>@grame narrowed 28 MB -&gt; 194 KB. The web needs exactly one file of that tree, dist/esm/index.js, from which live.js / stream-worker.js / stem-worker.js import FaustWasmInstantiator and FaustMonoDspGenerator to…</li><li>dx7-presets.json. The 671 KB in the plan is the raw size; the live server sends it gzipped at 74.7 KB.</li></ul>
<p><em>Verified:</em> verify.sh 11/11; deploy script syntax-checked and its filters dry-run verified to ship exactly dist/esm/index.js and no zones.json.</p>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=9429&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b96a25b592ce76c4c51d42e7fc43dab00cbcddd5">b96a25b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b96a25b592ce76c4c51d42e7fc43dab00cbcddd5</comments>
</item>
<item>
<title>strip the session out of the source: no dates, no attributions, no branches</title>
<link>https://stellate.app/?genre=trap&amp;seed=6754&amp;path=1504.8922,1523.8955,1485.8955&amp;xdur=13.122</link>
<guid isPermaLink="false">4e0f650a8d0e82861e5eba25fddee1538a052396</guid>
<pubDate>Mon, 27 Jul 2026 23:18:24 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>trap</category>
<category>accessibility</category>
<description><![CDATA[Stage C of the 1.0 source cleanup (docs/TODO.md). The comments kept every technical claim they were making and lost the provenance around it: dated attributions, quoted session speech, git SHAs, branch-name narration, and ~330 bare dates that told a reader when something happened rather than what it…]]></description>
<content:encoded><![CDATA[<p>Stage C of the 1.0 source cleanup (docs/TODO.md). The comments kept every technical claim they were making and lost the provenance around it: dated attributions, quoted session speech, git SHAs, branch-name narration, and ~330 bare dates that told a reader when something happened rather than what it…</p>
<ul><li>Also in scope, all named in the plan: glyphs.js's 15-line ARCHAEOLOGY block; four test files still heading themselves &quot;// faust/...&quot; from before they moved into test/</li><li>Deliberately kept: author metadata, the visible credits and the MIT line -- that is attribution, not narration. Citations of docs that still exist (TIMING-AUDIT, ENGINE-AUDIT)</li><li>The tool needed fixing first. Its walker knew about strings but not regex literals, so a literal like /['&quot;]/ flipped it into &quot;inside a string&quot; and it silently stopped stripping comments for the rest of the…</li><li>Two failures predate this and are untouched, confirmed identical against a stashed clean tree: musicality.test's card-lie count (3 genre cards promise an instrument their recipe cannot realize) and…</li></ul>
<p><em>Verified:</em> comment-only.js is the tool for this pass: it strips comments and whitespace from both revisions and diffs what is left, so &quot;I only edited comments&quot; is checkable instead of merely claimed.</p>
<p><a href="https://stellate.app/?genre=trap&amp;seed=6754&amp;path=1504.8922,1523.8955,1485.8955&amp;xdur=13.122">▶ Play it: Locust Arithmetic — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/4e0f650a8d0e82861e5eba25fddee1538a052396">4e0f650</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/4e0f650a8d0e82861e5eba25fddee1538a052396</comments>
</item>
<item>
<title>delete what is actually dead; keep what only looked dead</title>
<link>https://stellate.app/embed.html?genre=citypop&amp;seed=6859&amp;path=1530.6199,1549.6232,1511.6232&amp;xdur=13.122</link>
<guid isPermaLink="false">0d0fea6baf00b9dd23c6cb59e79daee15adeb38a</guid>
<pubDate>Mon, 27 Jul 2026 21:34:21 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>embed</category>
<description><![CDATA[The audit that proposed this pass graded far too much as dead, because it grepped for test wrappers instead of the requires. Checking each claim first:]]></description>
<content:encoded><![CDATA[<p>The audit that proposed this pass graded far too much as dead, because it grepped for test wrappers instead of the requires. Checking each claim first:</p>
<ul><li>engine/checks/ (5 files, 899 lines) — &quot;zero CI reach&quot;. WRONG.</li><li>tools/make-mix-page.js — &quot;zero references&quot;. WRONG. genre-kernel.js:8942 and :8978 execFileSync it from the playlist and journey CLIs.</li><li>tools/fetch-found-voice.sh — &quot;dead&quot;. It is the committed recipe SOURCES.md cites as the provenance for the voice tier, which is the whole media policy: we ship the recipe, not the media.</li><li>What was genuinely unreferenced, and is now gone (1,431 lines): seven probe-*.js with no citation anywhere, and the four starcruise screenshot scripts, which produce PNGs and assert nothing.</li></ul>
<p><em>Verified:</em> probe-reverb.js and friends — &quot;unreferenced one-offs&quot;. Five .dsp source files and engine/faust/VOICES.md cite them by name as the tuning instruments for those DSPs.</p>
<p><a href="https://stellate.app/embed.html?genre=citypop&amp;seed=6859&amp;path=1530.6199,1549.6232,1511.6232&amp;xdur=13.122">▶ Play it: Neon Fiscal Year — the embeddable player, in someone else's page</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0d0fea6baf00b9dd23c6cb59e79daee15adeb38a">0d0fea6</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0d0fea6baf00b9dd23c6cb59e79daee15adeb38a</comments>
</item>
<item>
<title>doc-counts: check tracked files, not the filesystem</title>
<link>https://stellate.app/?genre=citypop&amp;seed=9135&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">38286bcfa23acd43ea777f60fd046d455ebd8402</guid>
<pubDate>Mon, 27 Jul 2026 19:58:43 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[It walked the working tree and swept in a nested git worktree left lying around, then failed on THAT checkout's copies of the docs. A checkout which is not part of this commit cannot make this commit wrong. `git ls-files '*.md'` is both narrower and exactly the intent: the docs we ship.]]></description>
<content:encoded><![CDATA[<p>It walked the working tree and swept in a nested git worktree left lying around, then failed on THAT checkout's copies of the docs. A checkout which is not part of this commit cannot make this commit wrong. `git ls-files '*.md'` is both narrower and exactly the intent: the docs we ship.</p>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=9135&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/38286bcfa23acd43ea777f60fd046d455ebd8402">38286bc</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/38286bcfa23acd43ea777f60fd046d455ebd8402</comments>
</item>
<item>
<title>LOFO: the instrument zone library is MP3 now — 98.65 MB to 7.08 MB</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=1309&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">f9ffe5dd888d5b73a8cc3e1f1ea3f30abd9a537c</guid>
<pubDate>Mon, 27 Jul 2026 19:58:43 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[13.94x, measured, across all 108 samplers and 614 zones, at mono 22.05 kHz 48 kbps. Not a fidelity trade in disguise: instrument zones carry 0.254% mean energy above 11 kHz, so 48k/22.05k measures a HIGHER SNR (24.7 dB) than 64k/44.1k while being 25% smaller.]]></description>
<content:encoded><![CDATA[<p>13.94x, measured, across all 108 samplers and 614 zones, at mono 22.05 kHz 48 kbps. Not a fidelity trade in disguise: instrument zones carry 0.254% mean energy above 11 kHz, so 48k/22.05k measures a HIGHER SNR (24.7 dB) than 64k/44.1k while being 25% smaller.</p>
<ul><li>HOSTING.md said this was impossible, because loop points are absolute sample indices and 552 of the 614 zones loop.</li><li>len — the decoded sample count, so a padded buffer can be spotted at all. sr — the zone FILE's rate.</li><li>Two ordering bugs in the tool, found by review: it deleted each sampler's WAVs as that sampler finished but spliced the metadata once at the very end, so an interrupt left media gone with nothing describing…</li><li>: the rename lives inside genre-kernel.js, which rides stale-while-revalidate, so without a bump a returning listener's first load after deploy would serve the WAV-era kernel and 404 every zone.</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=1309&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/f9ffe5dd888d5b73a8cc3e1f1ea3f30abd9a537c">f9ffe5d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/f9ffe5dd888d5b73a8cc3e1f1ea3f30abd9a537c</comments>
</item>
<item>
<title>docs: delete three docs that were actively misleading</title>
<link>https://stellate.app/?genre=citypop&amp;seed=3698&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">bd94b1ea7720a5c7bcc6edd132f6af9f8cd2083a</guid>
<pubDate>Mon, 27 Jul 2026 18:27:33 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[KERNEL-MAP.md was a line-number index into genre-kernel.js in which every one of the thirteen entries was wrong — GENRES documented at 1663 and actually at 1327, toState at 7908 and actually at 8198.]]></description>
<content:encoded><![CDATA[<p>KERNEL-MAP.md was a line-number index into genre-kernel.js in which every one of the thirteen entries was wrong — GENRES documented at 1663 and actually at 1327, toState at 7908 and actually at 8198.</p>
<ul><li>ROADMAP.md was a 2026-07-11 plan with 38 items already marked done, referencing four docs that were never written, and opening with a ground-truth block asserting 249 anchors while scolding other docs for…</li><li>STARCRUISE-LIBS.md was an adoption plan for five libraries; two shipped and are recorded in vendor/*/VERSION.txt and NOTICE, and the other three never existed in this tree.</li><li>Their citations are fixed rather than orphaned: ARCHITECTURE.md drops the KERNEL-MAP pointer, planet.js loses it from a code comment, TODO stops calling ROADMAP the place plans graduate to.</li><li>STARCRUISE.md said &quot;Status: SCAFFOLD (this commit)&quot; and called five modules stubs rendering a placeholder scene. They are ~7,300 lines.</li></ul>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=3698&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/bd94b1ea7720a5c7bcc6edd132f6af9f8cd2083a">bd94b1e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/bd94b1ea7720a5c7bcc6edd132f6af9f8cd2083a</comments>
</item>
<item>
<title>delete playlist/ — committed derived output that was deploying</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=3695&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046</link>
<guid isPermaLink="false">695c4cf7ee52b82a653d052f401d390c2f64cf83</guid>
<pubDate>Mon, 27 Jul 2026 18:27:12 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>jungle</category>
<category>travel</category>
<description><![CDATA[31 tracked files, untouched since 2026-06-11, read by no code: `track` and `journey` write a playlist.json into whatever --out you give them, and make-mix-page.js takes its directory as an argument.]]></description>
<content:encoded><![CDATA[<p>31 tracked files, untouched since 2026-06-11, read by no code: `track` and `journey` write a playlist.json into whatever --out you give them, and make-mix-page.js takes its directory as an argument.</p>
<ul><li>It also contradicted the repo's headline rule in public — source is committed, audio is derived and gitignored</li><li>The .gitignore comment that kept them tracked cited &quot;playlist/ and mix/&quot;; mix/ has not existed for some time.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=3695&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046">▶ Play it: Food Court Eternity → Smoke Arithmetic → Barometric Stampede — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/695c4cf7ee52b82a653d052f401d390c2f64cf83">695c4cf</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/695c4cf7ee52b82a653d052f401d390c2f64cf83</comments>
</item>
<item>
<title>verify: run the load-order gate, and fix the race that hid it</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=7717&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046</link>
<guid isPermaLink="false">f6ebdd2d5cc2e4fa1e08d1dc027e3e9f9240b64a</guid>
<pubDate>Mon, 27 Jul 2026 18:27:12 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>jungle</category>
<category>travel</category>
<description><![CDATA[boot-smoke.js parses index.html, replays its classic <script> block in a vm sandbox, and fails if a script moves, disappears or stops publishing its window global. It is the gate that makes moving engine files survivable — and it lived only in `npm run test:pure`, which CI never calls.]]></description>
<content:encoded><![CDATA[<p>boot-smoke.js parses index.html, replays its classic &lt;script&gt; block in a vm sandbox, and fails if a script moves, disappears or stops publishing its window global. It is the gate that makes moving engine files survivable — and it lived only in `npm run test:pure`, which CI never calls.</p>
<ul><li>Adding it surfaced a latent race. The wait loop sized itself with `jobs -rp | wc -l`, which lists only jobs still RUNNING, so any suite finishing before the count was taken went unrecorded: the loop exited…</li><li>Also adds doc-counts.test.js: the anchor count has been wrong in the docs three times over and drifts silently because nothing reads it.</li><li>And corrects the header, which advertised four suites while the body forked ten, and pointed at scratch/.verify-cache when the cache is under engine/scratch/.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=7717&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046">▶ Play it: Food Court Eternity → Smoke Arithmetic → Barometric Stampede — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/f6ebdd2d5cc2e4fa1e08d1dc027e3e9f9240b64a">f6ebdd2</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/f6ebdd2d5cc2e4fa1e08d1dc027e3e9f9240b64a</comments>
</item>
<item>
<title>hosting: don't hardcode the droplet's IP</title>
<link>https://stellate.app/?genre=citypop&amp;seed=3215&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">46f5ca3f55cdb51825fc121b2b64db77830e8ec6</guid>
<pubDate>Mon, 27 Jul 2026 17:48:42 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[Ahead of the repo going public. The address is public via DNS anyway, so this is not a secret — but writing it down pins a box that DNS already answers for, and it goes stale the moment the droplet is replaced. `dig +short stellate.app` is both current and correct.]]></description>
<content:encoded><![CDATA[<p>Ahead of the repo going public. The address is public via DNS anyway, so this is not a secret — but writing it down pins a box that DNS already answers for, and it goes stale the moment the droplet is replaced. `dig +short stellate.app` is both current and correct.</p>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=3215&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/46f5ca3f55cdb51825fc121b2b64db77830e8ec6">46f5ca3</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/46f5ca3f55cdb51825fc121b2b64db77830e8ec6</comments>
</item>
<item>
<title>drop the verifier-catalog submodule</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=1943&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046</link>
<guid isPermaLink="false">72b60eb762fceaa987c3ec8593b5c8a8dc162297</guid>
<pubDate>Mon, 27 Jul 2026 17:47:22 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>jungle</category>
<category>travel</category>
<description><![CDATA[Nothing in the app, the gates or CI ever imported it — it was reference data plus an MCP tool, already documented as optional and deliberately not checked out by the workflow.]]></description>
<content:encoded><![CDATA[<p>Nothing in the app, the gates or CI ever imported it — it was reference data plus an MCP tool, already documented as optional and deliberately not checked out by the workflow.</p>
<ul><li>Removes the submodule, .gitmodules and .mcp.json, and rewrites the places that explained them: CLAUDE.md loses the catalog section, README/SETUP lose the submodule init line, CONTRIBUTING loses the…</li><li>The generator-verifier-feedback-loop idea stays — it is the thing this repo demonstrates, and it no longer needs a footnote pointing somewhere else.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=1943&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046">▶ Play it: Food Court Eternity → Smoke Arithmetic → Barometric Stampede — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/72b60eb762fceaa987c3ec8593b5c8a8dc162297">72b60eb</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/72b60eb762fceaa987c3ec8593b5c8a8dc162297</comments>
</item>
<item>
<title>vendor: serve the modules as .js — nginx does not map .mjs</title>
<link>https://stellate.app/?genre=citypop&amp;seed=8524&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">63cdc83ca28430f172fefeeab0c67d8a3ac410b6</guid>
<pubDate>Mon, 27 Jul 2026 17:34:07 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[Deployed and immediately broken: stock nginx mime.types has no .mjs entry, so preact.mjs and htm.mjs went out as application/octet-stream and every browser refused them.]]></description>
<content:encoded><![CDATA[<p>Deployed and immediately broken: stock nginx mime.types has no .mjs entry, so preact.mjs and htm.mjs went out as application/octet-stream and every browser refused them.</p>
<ul><li>Renaming to .js fixes it with no server config: .js is mapped to text/javascript on every host, so this cannot regress on a reinstall, a new box, or the second site served off this same tree.</li><li>This is the same failure the probe harness hit before it learned .mjs, which is the one place .mjs still needs to work: the harness serves the tree itself.</li></ul>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=8524&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/63cdc83ca28430f172fefeeab0c67d8a3ac410b6">63cdc83</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/63cdc83ca28430f172fefeeab0c67d8a3ac410b6</comments>
</item>
<item>
<title>ui: uncrop the radar labels, alienize the region names, fix the contact</title>
<link>https://stellate.app/?genre=techno&amp;seed=7338&amp;path=1956.22436,1718.20526,1679.4415&amp;xdur=0.042</link>
<guid isPermaLink="false">392746ca2b58c1c7cb7c300a7aebfe219ac0457b</guid>
<pubDate>Mon, 27 Jul 2026 17:30:13 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>techno</category>
<category>jungle</category>
<category>vaporwave</category>
<category>visual</category>
<description><![CDATA[The feel radar's viewBox was 0 0 220 220 with axis labels centred on each spoke at r=1.26. "adventure" sits at exactly 180 degrees and is the longest axis name, so it ran 7.4px past x=0 and lost its first letter.]]></description>
<content:encoded><![CDATA[<p>The feel radar's viewBox was 0 0 220 220 with axis labels centred on each spoke at r=1.26. &quot;adventure&quot; sits at exactly 180 degrees and is the longest axis name, so it ran 7.4px past x=0 and lost its first letter.</p>
<ul><li>The big territory watermarks on the star map now wear the same alien alphabet as the genre labels. Drawn only -- the __REGIONS debug hook still emits real names, because the headless gates match on them.</li><li>.ab-foot wore a footer's top border after moving to the top of the About card; it gets a header's bottom rule instead.</li><li>security.txt contact -&gt; paul.ford@aboard.com.</li></ul>
<p><a href="https://stellate.app/?genre=techno&amp;seed=7338&amp;path=1956.22436,1718.20526,1679.4415&amp;xdur=0.042">▶ Play it: Unblinking Interval → Barometric Stampede → Food Court Eternity — a three-star constellation to watch the map work</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/392746ca2b58c1c7cb7c300a7aebfe219ac0457b">392746c</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/392746ca2b58c1c7cb7c300a7aebfe219ac0457b</comments>
</item>
<item>
<title>map: push the two crowded star pairs back over the separation floor</title>
<link>https://stellate.app/?genre=reedrush&amp;seed=8285&amp;path=845.15075,1137.16213,249.13036&amp;xdur=0.227</link>
<guid isPermaLink="false">2e75c5cda03a067f7b0fee087ca302d36f0bdf2b</guid>
<pubDate>Mon, 27 Jul 2026 17:30:13 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>reedrush</category>
<category>hexagonstampede</category>
<category>salsa</category>
<description><![CDATA[world.js warned [POS] min pairwise 75.0 on every load. Two pairs were under MIN_SEP_FLOOR, not one -- only the minimum gets reported: salsa/reggaeton at 75.0 and ragtime/reedrush at 80.0.]]></description>
<content:encoded><![CDATA[<p>world.js warned [POS] min pairwise 75.0 on every load. Two pairs were under MIN_SEP_FLOOR, not one -- only the minimum gets reported: salsa/reggaeton at 75.0 and ragtime/reedrush at 80.0.</p>
<ul><li>Each pair is pushed apart along its own axis with the midpoint held -- the smallest move that clears the floor, and the one that least disturbs either star's relationship to everything else.</li><li>Min pairwise is now 93.1 (flamenco/hexagonstampede) and the warning is gone.</li></ul>
<p><a href="https://stellate.app/?genre=reedrush&amp;seed=8285&amp;path=845.15075,1137.16213,249.13036&amp;xdur=0.227">▶ Play it: Bulrush Cyclotron → Benzene Cavalry → Clave Reactor — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/2e75c5cda03a067f7b0fee087ca302d36f0bdf2b">2e75c5c</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/2e75c5cda03a067f7b0fee087ca302d36f0bdf2b</comments>
</item>
<item>
<title>vendor preact, htm and the two webfonts: nothing is fetched from anyone else</title>
<link>https://stellate.app/embed.html?genre=citypop&amp;seed=9259&amp;path=1530.6199,1549.6232,1511.6232&amp;xdur=13.122</link>
<guid isPermaLink="false">de6c9de38b9f724897993cb5bfee377d3107915a</guid>
<pubDate>Mon, 27 Jul 2026 17:29:50 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>embed</category>
<description><![CDATA[app/state.js imported preact and htm from esm.sh at runtime, and five pages linked fonts.googleapis.com. Three consequences, one of them serious:]]></description>
<content:encoded><![CDATA[<p>app/state.js imported preact and htm from esm.sh at runtime, and five pages linked fonts.googleapis.com. Three consequences, one of them serious:</p>
<ul><li>The PWA could not boot offline. sw.js passes cross-origin through and never caches it, so the service worker could hold the entire app and all its media and the instrument still would not start without a live…</li><li>The page is COEP require-corp and neither host sends Cross-Origin-Resource- Policy, which is what Safari was reporting -- and it means Orbitron and VT323 were very likely not rendering in production at all.</li><li>And a third party saw a request from every visitor, which undercuts the &quot;no accounts, no cookies, no data&quot; posture the security.txt advertises.</li><li>vendor/preact, vendor/htm and vendor/fonts follow the pattern the other five vendored libraries already use: exact version, upstream LICENSE, a VERSION.txt saying why.</li></ul>
<p><a href="https://stellate.app/embed.html?genre=citypop&amp;seed=9259&amp;path=1530.6199,1549.6232,1511.6232&amp;xdur=13.122">▶ Play it: Neon Fiscal Year — the embeddable player, in someone else's page</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/de6c9de38b9f724897993cb5bfee377d3107915a">de6c9de</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/de6c9de38b9f724897993cb5bfee377d3107915a</comments>
</item>
<item>
<title>found: fade the layer across a blend instead of falling off a cliff</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=4594&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">b66fe5a215ab510024030348162b35111ae556ff</guid>
<pubDate>Mon, 27 Jul 2026 17:29:36 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[FOUND-AT-90% dropped the whole found layer one notch past dominance. Measured on a vaporwave->techno sweep, that left zero found events from t=0.15 to t=0.95 -- about 89% of every crossfade -- and 75% of sampled playlist tracks with no found layer at all.]]></description>
<content:encoded><![CDATA[<p>FOUND-AT-90% dropped the whole found layer one notch past dominance. Measured on a vaporwave-&gt;techno sweep, that left zero found events from t=0.15 to t=0.95 -- about 89% of every crossfade -- and 75% of sampled playlist tracks with no found layer at all.</p>
<ul><li>Two changes. The delete becomes an amplitude ramp: full out to t=0.1, linear to silence by 0.5, events under a small floor dropped rather than scheduled as inaudible voices.</li><li>And a bug the cliff was hiding: genreMeta.t is the raw blend position, not distance from the nearest anchor, so testing t alone killed the layer across the entire second half of every crossfade -- including…</li><li>FOUND_FADE_T is a named constant because the width is an ears question; no gate can settle it.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=4594&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b66fe5a215ab510024030348162b35111ae556ff">b66fe5a</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b66fe5a215ab510024030348162b35111ae556ff</comments>
</item>
<item>
<title>precache: warm the set the engine actually asks for</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=3668&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">27e62ad42d591d583adc6f32e74f70a7c94fd048</guid>
<pubDate>Mon, 27 Jul 2026 17:29:22 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[genreFiles read s.file and instruments.pad.sampler. Neither shape exists: found sources carry samplePath, and the voice objects have no .sampler key at all, so addSampler returned at its first guard every time.]]></description>
<content:encoded><![CDATA[<p>genreFiles read s.file and instruments.pad.sampler. Neither shape exists: found sources carry samplePath, and the voice objects have no .sampler key at all, so addSampler returned at its first guard every time.</p>
<ul><li>It now reads the same set live.js schedules from -- sch.found srcIds union the sampler zone srcIds -- via buildSchedule, and resolves them through the player's own local resolver rather than s.url, which is…</li><li>Deliberately NOT keyed off state.foundSources: the resolved state declares the whole crate, not the draw set, which would pull ~625 files / 100MB per genre.</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=3668&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/27e62ad42d591d583adc6f32e74f70a7c94fd048">27e62ad</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/27e62ad42d591d583adc6f32e74f70a7c94fd048</comments>
</item>
<item>
<title>found: never fetch from archive.org again</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=7542&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">22608f864f8b672c92429e4cea583038853f3358</guid>
<pubDate>Mon, 27 Jul 2026 17:29:05 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[The player resolved a source url through found-manifest.json's byUrl map and, on a miss, streamed the original from archive.org in escalating Range requests. 79 of 192 sources were unmapped -- and every one of them already had a local twin on disk, deployed, unused.]]></description>
<content:encoded><![CDATA[<p>The player resolved a source url through found-manifest.json's byUrl map and, on a miss, streamed the original from archive.org in escalating Range requests. 79 of 192 sources were unmapped -- and every one of them already had a local twin on disk, deployed, unused.</p>
<ul><li>localCacheFor becomes a convention resolver: url -&gt; SOURCES id -&gt; found/&lt;id&gt;.mp3, with byUrl kept only as an override for names that don't follow it.</li></ul>
<p><em>Verified:</em> no-remote-sources.test.js makes it permanent: every source must resolve to a found/ path that exists on disk, and the decoder must contain no remote path.</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=7542&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/22608f864f8b672c92429e4cea583038853f3358">22608f8</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/22608f864f8b672c92429e4cea583038853f3358</comments>
</item>
<item>
<title>FM level match: the fonts are the same music at the same loudness now</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=7392&amp;path=1679.4415,859.9931,1530.6221&amp;xdur=0.134</link>
<guid isPermaLink="false">a9a2daf8f8854a62a340bae992e9b9804fb8ae76</guid>
<pubDate>Sun, 26 Jul 2026 13:47:36 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>synthwave</category>
<category>citypop</category>
<category>sampler</category>
<description><![CDATA[Paul: "the FM seems a little distorted/saturated" and "switching soundfonts to analog or FM and back... feels like a huge jump in tonality — like they're not related.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;the FM seems a little distorted/saturated&quot; and &quot;switching soundfonts to analog or FM and back... feels like a huge jump in tonality — like they're not related.</p>
<ul><li>He was not wrong, and the two complaints are one cause. FIRST, the reassuring half, measured: switching fonts does NOT change the music.</li><li>SECOND, the real defect: LEVEL. With v39's fix finally delivering pitch to the FM voices, dx7 measured ~5 dB hotter than the sampled default on the genres that lean on it (live master RMS: fluidr3 -16.4…</li><li>The trim initially did NOTHING because synth voices bake their gain into extGainPerAmp at unit-creation time, before this post-resolution pass runs; scaling lvl alone is a no-op for them.</li><li>minimoog is left at 1.0, a DELIBERATE no-op: its gain does not flow through extGainPerAmp either, and matching it needs the kernel's levelMul mechanism.</li></ul>
<p><em>Verified:</em> verify.sh, segment-parity 10/10 byte-equal, engine.test (incl. both v39 dx7 gates), meter, matrix 274/274.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=7392&amp;path=1679.4415,859.9931,1530.6221&amp;xdur=0.134">▶ Play it: Food Court Eternity → Highway Heat Death → Neon Fiscal Year — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a9a2daf8f8854a62a340bae992e9b9804fb8ae76">a9a2daf</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a9a2daf8f8854a62a340bae992e9b9804fb8ae76</comments>
</item>
<item>
<title>The FM font has never played a note — and MIDI comes back</title>
<link>https://stellate.app/?genre=bigband&amp;seed=2022&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">a57a0f968aad3dc3412bf8930b26a4a4ec2b0c54</guid>
<pubDate>Sun, 26 Jul 2026 04:06:08 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[THE BUG, and it is old. Paul: "with FM I hear a high pitched mono tone that never changes, samples, drums, and that's it." Cause: dx7.lib wraps its whole interface in an hgroup "DX7", so Faust roots every param path at the GROUP — /DX7/freq, /DX7/gate]]></description>
<content:encoded><![CDATA[<p>THE BUG, and it is old. Paul: &quot;with FM I hear a high pitched mono tone that never changes, samples, drums, and that's it.&quot; Cause: dx7.lib wraps its whole interface in an hgroup &quot;DX7&quot;, so Faust roots every param path at the GROUP — /DX7/freq, /DX7/gate</p>
<ul><li>Fix: derive the param root from the UI TREE, not the declared name (render-core paramRoot, used by press/stream-worker/stem-worker/stem-parity).</li><li>Consequences honestly handled: yesterday's DX7_MAKEUP=2.0 / OUT_CEIL=1.8 was fitted against SILENT voices and is void (with pitch landing, it pressed 12dB hot)</li><li>Two new gates in engine.test, both verified to FAIL against the old code: param_root_addressable (structural</li><li>MIDI IS BACK (Paul: &quot;I want midi back&quot;). The ⤓ midi button returns to the ⚙ modal — MIDI only; the wav/mp3 machinery stays on legacy-download-video.</li></ul>
<p><em>Verified:</em> live, dominant peak sampled 1Hz for 20s: dx7 was 468/468/468 stuck at -47..-56dB; now 11 distinct pitches, longest stuck run 3, -23..-30dB.</p>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=2022&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a57a0f968aad3dc3412bf8930b26a4a4ec2b0c54">a57a0f9</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a57a0f968aad3dc3412bf8930b26a4a4ec2b0c54</comments>
</item>
<item>
<title>HOSTING: the analytics dashboard is public at /stats (and the base-path trap)</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=2111&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046</link>
<guid isPermaLink="false">9d20ac0f4ce9b3606c7fd5358c755641d16ca68d</guid>
<pubDate>Sat, 25 Jul 2026 23:47:39 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>jungle</category>
<category>travel</category>
<description><![CDATA[GoatCounter now serves at https://stellate.app/stats/ behind its own login, via -base-path /stats so no HTML rewriting, subdomain or second cert is needed. Recorded here because it is all server-side config a rebuilt droplet would otherwise lose.]]></description>
<content:encoded><![CDATA[<p>GoatCounter now serves at https://stellate.app/stats/ behind its own login, via -base-path /stats so no HTML rewriting, subdomain or second cert is needed. Recorded here because it is all server-side config a rebuilt droplet would otherwise lose.</p>
<ul><li>The trap, written down because it cost two minutes of dead analytics today: -base-path moves the COLLECTION endpoint as well, so the beacon proxy must target /stats/count.</li><li>Also corrects the password-reset invocation (db update user, not db update-user) and notes the localhost-only tunnel shim as the fallback.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=2111&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046">▶ Play it: Food Court Eternity → Smoke Arithmetic → Barometric Stampede — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9d20ac0f4ce9b3606c7fd5358c755641d16ca68d">9d20ac0</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9d20ac0f4ce9b3606c7fd5358c755641d16ca68d</comments>
</item>
<item>
<title>Groove, honest sensors, and real headroom</title>
<link>https://stellate.app/?genre=jungle&amp;seed=5731&amp;path=1718.20526,292.16891,1956.22436&amp;xdur=0.129</link>
<guid isPermaLink="false">1165cad38a10c460ff336641b85f104458ce9ac5</guid>
<pubDate>Sat, 25 Jul 2026 21:46:42 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>jazz</category>
<category>techno</category>
<category>voice</category>
<description><![CDATA[GROOVE (Paul: "maybe things need more groove... different tracks have different groove too"). The audit measured the problem: 247 of 274 genres had ZERO per-lane push/pull — bass sat on kick to within 0.31ms — so every genre shared one rhythmic feel with only tempo differing.]]></description>
<content:encoded><![CDATA[<p>GROOVE (Paul: &quot;maybe things need more groove... different tracks have different groove too&quot;). The audit measured the problem: 247 of 274 genres had ZERO per-lane push/pull — bass sat on kick to within 0.31ms — so every genre shared one rhythmic feel with only tempo differing.</p>
<ul><li><strong>SWING</strong> — deliberately NOT raised, with evidence. In every jazz genre the RIDE plays only on the beat, so the knob cannot reach the instrument whose swing defines the music</li><li>VOICE REPEAT GOVERNOR (Paul: &quot;no vocal or textural sample should repeat more than five times in 64 bars... speech phrases looping ad nauseum&quot;).</li><li>KICK -20% (Paul: &quot;pretty enormous — it can grate&quot;), one named constant after the existing hot-kit balance so it composes rather than fights.</li><li><strong>MASTER BRICKWALL</strong> — the output exceeded full scale in 14.3% of loud 100ms windows (the limiter was a 2ms-attack compressor). A lookahead brickwall with a sliding minimum takes that to 0.00% with octave bands within +/-0.5dB</li></ul>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=5731&amp;path=1718.20526,292.16891,1956.22436&amp;xdur=0.129">▶ Play it: Barometric Stampede → Smoke Arithmetic → Unblinking Interval — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/1165cad38a10c460ff336641b85f104458ce9ac5">1165cad</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/1165cad38a10c460ff336641b85f104458ce9ac5</comments>
</item>
<item>
<title>The timing pass: the seam coin-flip, the dry crossfade, and the notes we scheduled in the past</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=5845&amp;path=1679.4415,859.9931&amp;xdur=0.134</link>
<guid isPermaLink="false">5436455dae26f84213af90973e61fd192a6ea7c5</guid>
<pubDate>Sat, 25 Jul 2026 19:34:48 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>synthwave</category>
<category>harmony</category>
<description><![CDATA[Paul: "drill in deeply on timing and scheduling. It seems fine but I'm paranoid... isn't it possible we missed something." It was. docs/TIMING-AUDIT- 2026-07.md is the full measurement report; three defects came out of it.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;drill in deeply on timing and scheduling. It seems fine but I'm paranoid... isn't it possible we missed something.&quot; It was. docs/TIMING-AUDIT- 2026-07.md is the full measurement report; three defects came out of it.</p>
<ul><li>1. THE SEAM COIN-FLIP (live only, ~1/4 of downbeats). makeWalk regenerates the collapsed section every chord bar with a DIFFERENT seed, and mapEvents binned events by their POST-humanize beat</li><li>2. THE DRY CROSSFADE.</li><li>3. NOTES SCHEDULED IN THE PAST. 92.6% of notes ride the native lane, drained on a 30ms timer with ZERO lookahead while visible (the hidden-tab path already used 0.6s and was strictly more accurate).</li><li>4. clickmon tapped before makeup with a fixed threshold and read 0 clicks through a measured full-scale dropout. Moved to the limiter output — a sensor that lies is worse than no sensor.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=5845&amp;path=1679.4415,859.9931&amp;xdur=0.134">▶ Play it: Food Court Eternity → Highway Heat Death — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/5436455dae26f84213af90973e61fd192a6ea7c5">5436455</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/5436455dae26f84213af90973e61fd192a6ea7c5</comments>
</item>
<item>
<title>The alien alphabet: cluster names, and letters that are not quite ours</title>
<link>https://stellate.app/?genre=sourdough&amp;seed=5664&amp;path=2141.12627,740.16243&amp;xdur=0.193</link>
<guid isPermaLink="false">b4eeb48869db4e64c72d1fdc62bdb62fdeaa9c1b</guid>
<pubDate>Sat, 25 Jul 2026 16:57:05 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>sourdough</category>
<category>chromepiston</category>
<category>visual</category>
<description><![CDATA[CLUSTERS — the 34 galaxy clusters were still labelled with raw medoid genre ids (chromepiston, sourdough) — never renamed.]]></description>
<content:encoded><![CDATA[<ul><li><strong>CLUSTERS</strong> — the 34 galaxy clusters were still labelled with raw medoid genre ids (chromepiston, sourdough) — never renamed.</li><li><strong>TRANSLITERATION</strong> — 1-2 letters per genre/cluster name swapped for a visually-adjacent glyph — homoglyphic on purpose, so the word stays scannable where a random rune would just be noise.</li><li>Re-rolled ONCE PER SESSION, not per frame: the star map measures label widths to decide which names it can draw without overlap, so a name that re-rolled between frames would make labels flicker in and out of…</li><li>Both gates that broke were matching drawn text against the plain literal — the same stale-literal class as GX1/F2d. glyphs.js now exports deglyph() and exposes it on window; D2f and GX3 compare de-glyphed.</li></ul>
<p><a href="https://stellate.app/?genre=sourdough&amp;seed=5664&amp;path=2141.12627,740.16243&amp;xdur=0.193">▶ Play it: Mother Culture Vigil → Camshaft Litany — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b4eeb48869db4e64c72d1fdc62bdb62fdeaa9c1b">b4eeb48</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b4eeb48869db4e64c72d1fdc62bdb62fdeaa9c1b</comments>
</item>
<item>
<title>Demoscene: dissolve the cart swap instead of cutting</title>
<link>https://stellate.app/?genre=ambient&amp;seed=4567&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122</link>
<guid isPermaLink="false">1f8469eff29e0ceacbdc930d5a5d9c149731ac38</guid>
<pubDate>Sat, 25 Jul 2026 16:44:50 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>mobile</category>
<description><![CDATA[Paul: "could you fade between demoscene transitions it's very sudden". A second canvas holds a FROZEN copy of the outgoing cart's last frame, stacked over the live one and faded out by CSS over 1.4s while the incoming cart draws underneath.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;could you fade between demoscene transitions it's very sudden&quot;. A second canvas holds a FROZEN copy of the outgoing cart's last frame, stacked over the live one and faded out by CSS over 1.4s while the incoming cart draws underneath.</p>
<ul><li>Proven: opacity 1 -&gt; 0.89 -&gt; 0.69 -&gt; 0.48 -&gt; 0.25 -&gt; 0 across 1.4s, monotonic, with the frozen frame carrying real content throughout. demo-layer / bg-cart / explorer gates PASS.</li></ul>
<p><a href="https://stellate.app/?genre=ambient&amp;seed=4567&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122">▶ Play it: Stationary Weather — a long-form genre — put the phone in your pocket and it keeps playing</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/1f8469eff29e0ceacbdc930d5a5d9c149731ac38">1f8469e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/1f8469eff29e0ceacbdc930d5a5d9c149731ac38</comments>
</item>
<item>
<title>Kill the master wobble (it lurched) + un-darken the demoscene</title>
<link>https://stellate.app/?genre=jungle&amp;seed=2494&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">3a59feeef08cc1029bd40a71e92ea3302b4423ac</guid>
<pubDate>Sat, 25 Jul 2026 16:37:40 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>drums</category>
<description><![CDATA[THE LURCH — the tape wow/flutter I added yesterday is a MODULATED DELAY — master-bus state — and fx_bus is instantiated fresh at every stream open() (stream-renderer 379/442).]]></description>
<content:encoded><![CDATA[<ul><li><strong>THE LURCH</strong> — the tape wow/flutter I added yesterday is a MODULATED DELAY — master-bus state — and fx_bus is instantiated fresh at every stream open() (stream-renderer 379/442).</li><li>Diagnosis note: the SCORE was innocent — blend drum grids are byte-identical across the batch for 4/5 test blends, the fifth differing only by the 3 spill events the perc fix correctly removed.</li><li><strong>THE DARK BACKGROUND</strong> — yesterday's TV pass stacked four reductions on the same layer (brightness .8-&gt;.55, deepened veil, new vignette, 4px blur) against an opacity of .45</li></ul>
<p><em>Verified:</em> segment-parity 10/10 byte-equal, engine, blend-arrival all PASS.</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=2494&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — the genre that is mostly drums, so the kit has nowhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/3a59feeef08cc1029bd40a71e92ea3302b4423ac">3a59fee</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/3a59feeef08cc1029bd40a71e92ea3302b4423ac</comments>
</item>
<item>
<title>HOSTING: the types{} rule for feed/manifest content types</title>
<link>https://stellate.app/?genre=citypop&amp;seed=6274&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">7f02f14a6427ed0b05380a7fbdea15ab3162ddba</guid>
<pubDate>Sat, 25 Jul 2026 16:16:05 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[nginx maps .xml to text/xml already, so default_type is ignored for the feeds; an empty types{} block must clear the map first. The manifest was serving as application/octet-stream, which browsers may refuse to install from.]]></description>
<content:encoded><![CDATA[<p>nginx maps .xml to text/xml already, so default_type is ignored for the feeds; an empty types{} block must clear the map first. The manifest was serving as application/octet-stream, which browsers may refuse to install from.</p>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=6274&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/7f02f14a6427ed0b05380a7fbdea15ab3162ddba">7f02f14</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/7f02f14a6427ed0b05380a7fbdea15ab3162ddba</comments>
</item>
<item>
<title>Embed: a way back to the instrument</title>
<link>https://stellate.app/?genre=jungle&amp;seed=6542&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">63bdd25e5909971fa2437968adaabb770cec477a</guid>
<pubDate>Sat, 25 Jul 2026 16:11:14 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>embed</category>
<description><![CDATA[In an embed the wordmark was plain text and the only outbound links were the credit's — a listener could reach Paul and Aboard but not the thing making the sound.]]></description>
<content:encoded><![CDATA[<p>In an embed the wordmark was plain text and the only outbound links were the credit's — a listener could reach Paul and Aboard but not the thing making the sound.</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=6542&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/63bdd25e5909971fa2437968adaabb770cec477a">63bdd25</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/63bdd25e5909971fa2437968adaabb770cec477a</comments>
</item>
<item>
<title>verify.sh: count the background jobs instead of hardcoding the tally</title>
<link>https://stellate.app/?genre=ambient&amp;seed=7934&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122</link>
<guid isPermaLink="false">05f2f2be40075846d3c4d7c84d4dce04ca36e997</guid>
<pubDate>Sat, 25 Jul 2026 16:02:31 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>mobile</category>
<description><![CDATA[Adding the social-meta gate made eight jobs where the loop said seven: it exited a job early, the EXIT trap wiped $TMP under the still-running matproof, and its half-written .res read as a spurious coordscover FAIL.]]></description>
<content:encoded><![CDATA[<p>Adding the social-meta gate made eight jobs where the loop said seven: it exited a job early, the EXIT trap wiped $TMP under the still-running matproof, and its half-written .res read as a spurious coordscover FAIL.</p>
<p><a href="https://stellate.app/?genre=ambient&amp;seed=7934&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122">▶ Play it: Stationary Weather — a long-form genre — put the phone in your pocket and it keeps playing</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/05f2f2be40075846d3c4d7c84d4dce04ca36e997">05f2f2b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/05f2f2be40075846d3c4d7c84d4dce04ca36e997</comments>
</item>
<item>
<title>The open-web pass: social cards, an embeddable player, a playable release feed, and the tape master</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=5209&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">c9bb15b96eef0850f65f10bbef30a6565ee88ae5</guid>
<pubDate>Sat, 25 Jul 2026 16:00:44 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>accessibility</category>
<description><![CDATA[SOCIAL — full Open Graph + Twitter card (@aboard) + JSON-LD naming Paul Ford as author and Aboard (aboard.com) as publisher]]></description>
<content:encoded><![CDATA[<ul><li><strong>SOCIAL</strong> — full Open Graph + Twitter card (@aboard) + JSON-LD naming Paul Ford as author and Aboard (aboard.com) as publisher</li><li><strong>EMBEDDABLE</strong> — embed.html — same engine, same modules, an EMBED MODE class that drops what makes no sense in a 400px box</li><li><strong>THE FEED</strong> — git log -&gt; RSS 2.0 + JSON Feed release notes, where EVERY entry links to a mix that plays what changed</li><li><strong>WEB CITIZEN</strong> — PWA manifest + install icons, robots.txt welcoming crawlers (AI ones named explicitly) and pointing at the GitHub repo, sitemap with 22 deep playable URLs, RFC 9116 security.txt, colophon.html telling the real…</li></ul>
<p><em>Verified:</em> verify.sh green (now incl. social-meta), meter byte-identity green, segment parity 10/10 byte-equal (press == live restored), live/blend/wavout/ access/boot/full-boot/embed-audio/feed-links…</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=5209&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c9bb15b96eef0850f65f10bbef30a6565ee88ae5">c9bb15b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c9bb15b96eef0850f65f10bbef30a6565ee88ae5</comments>
</item>
<item>
<title>The voice layer: 25 Naropa readings + a 360-clip synthesized voice bank</title>
<link>https://stellate.app/?genre=jazz&amp;seed=9354&amp;path=292.16891,196.11743,749.12558&amp;xdur=0.143</link>
<guid isPermaLink="false">59f18c726ef93451a9ca3df97059360e48723587</guid>
<pubDate>Sat, 25 Jul 2026 14:07:44 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jazz</category>
<category>spokenword</category>
<category>transitwave</category>
<category>voice</category>
<description><![CDATA[NAROPA — Corso across 1975/77/81, Orlovsky's "Poetry for Dumb Students", di Prima solo '87 + the '94 trio, Kyger '89/'93, a Waldman chant-poem, Snyder reading AND teaching the Book of Songs, Whalen in both registers…]]></description>
<content:encoded><![CDATA[<ul><li><strong>NAROPA</strong> — Corso across 1975/77/81, Orlovsky's &quot;Poetry for Dumb Students&quot;, di Prima solo '87 + the '94 trio, Kyger '89/'93, a Waldman chant-poem, Snyder reading AND teaching the Book of Songs, Whalen in both registers…</li><li><strong>VOICE BANK</strong> — 360 deterministic espeak-ng clips over 12 genre-family phrase banks — 14 voices, 100-212 wpm, pitch/pace/tone derived by hash so a rebuild is byte-stable.</li><li><strong>THE CLIP GATE</strong> — every generated clip must pass duration, RMS, and pure-tone-dominance FFT checks before it can enter a pool. 360/360 passed, zero flagged, zero dropped.</li><li>12 vb_* one-shot pools wired matrix-safely into 81 existing hits blocks across the wings. Matrix 274/274, validate PASS, engine smoke PASS, four wing probes render non-silent (transitwave -18.2, spokenword…</li></ul>
<p><a href="https://stellate.app/?genre=jazz&amp;seed=9354&amp;path=292.16891,196.11743,749.12558&amp;xdur=0.143">▶ Play it: Smoke Arithmetic → Dial Tone Prophet → Rail Replacement Rapture — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/59f18c726ef93451a9ca3df97059360e48723587">59f18c7</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/59f18c726ef93451a9ca3df97059360e48723587</comments>
</item>
<item>
<title>The overnight batch: rename wave, glyphs return, the air shelf, leak fixes, byte-identical speedups, Pure FM audible, atonality pullback, playhead truth, spacebar, cookie-free analytics</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=6629&amp;path=1679.4415,1036.22151,1681.19828&amp;xdur=0.042</link>
<guid isPermaLink="false">fc5183f54c9d0d030404bdf161a4e291a4761db3</guid>
<pubDate>Sat, 25 Jul 2026 07:03:04 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>blues</category>
<category>floppycore</category>
<category>accessibility</category>
<description><![CDATA[RENAME WAVE — 252/274 display names rewritten to the cosmic-weirdness brief (eldritch/ridiculous/scientific) — Food Court Eternity, Rail Replacement Rapture, Ottoman Heat Death, Crossroads Paperwork, Abort Retry Fail]]></description>
<content:encoded><![CDATA[<ul><li><strong>RENAME WAVE</strong> — 252/274 display names rewritten to the cosmic-weirdness brief (eldritch/ridiculous/scientific) — Food Court Eternity, Rail Replacement Rapture, Ottoman Heat Death, Crossroads Paperwork, Abort Retry Fail</li><li><strong>GLYPHS</strong> — the video-era alien station idents (box-drawing/braille/rune/I-Ching clusters incl. E-R-R) rebuilt flicker-free as app/glyphs.js</li><li><strong>SOUND</strong> — master AIR SHELF -3dB@8k+ (measured -2.7/-2.8 on real presses, mids 0.00 — the headphone ask); APPLIED_DOM_FLOOR halved (mild genres -42% uninvited secondary dominants, jazz keeps ~90%</li><li><strong>ENGINE</strong> — retired ring gens now eng.close() at every exit + guarded module-global clears (13-25MB/crossfade recovered); liveBars/ST.bars slots nulled + sweeps pruned (15-40MB/h on long sessions)</li></ul>
<p><em>Verified:</em> wall: verify.sh, meter (head gate green), theory-tables, segment-parity, live, blend-arrival, wavout, access 12/12, boot-smoke 13/13, full-boot, bg-cart, demo-layer all PASS</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=6629&amp;path=1679.4415,1036.22151,1681.19828&amp;xdur=0.042">▶ Play it: Food Court Eternity → Crossroads Paperwork → Abort Retry Fail — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/fc5183f54c9d0d030404bdf161a4e291a4761db3">fc5183f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/fc5183f54c9d0d030404bdf161a4e291a4761db3</comments>
</item>
<item>
<title>The quiet TV: always-on demoscene, seizure-safe, 10x slower + the static fix + blind-user fixes + the engine audit</title>
<link>https://stellate.app/access.html?genre=ambient&amp;seed=9126</link>
<guid isPermaLink="false">c3bf3d0e9398c6fc62f5d18da327277d3de112c8</guid>
<pubDate>Sat, 25 Jul 2026 05:38:27 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>accessibility</category>
<description><![CDATA[Visualizer (Paul's four asks): the ▢/▦ chip is gone — the demoscene is ambient wallpaper (?bg=off escapes); GRADE darkened + blued into a cold CRT (brightness .55, sepia->hue-rotate 175deg) with a new tube vignette over the scan/hum stack]]></description>
<content:encoded><![CDATA[<p>Visualizer (Paul's four asks): the ▢/▦ chip is gone — the demoscene is ambient wallpaper (?bg=off escapes); GRADE darkened + blued into a cold CRT (brightness .55, sepia-&gt;hue-rotate 175deg) with a new tube vignette over the scan/hum stack</p>
<ul><li>Post-planet static: reproduced headlessly (ring underrun quanta 609-4933 after a cruise, 0 in control), mechanism = main-thread stalls breaching the 3s ring runway (entry shader compile, per-frame sky uploads…</li><li>Blind-user pass: &quot;playing&quot; narration (the log no longer sticks on &quot;loading engine…&quot;), journey ARRIVAL announcements (&quot;Now crossing into Porchlight Overdrive.&quot;</li><li>Engine audit: docs/ENGINE-AUDIT-2026-07.md — 37 adversarially-verified findings tiered for fixing (ring leaks, snare-law 40% build cost, dead strum pipe, PERC meter latency, per-sample strip = 87% of sampler…</li></ul>
<p><a href="https://stellate.app/access.html?genre=ambient&amp;seed=9126">▶ Play it: Stationary Weather — the accessible text version, where the same music arrives as prose</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c3bf3d0e9398c6fc62f5d18da327277d3de112c8">c3bf3d0</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c3bf3d0e9398c6fc62f5d18da327277d3de112c8</comments>
</item>
<item>
<title>The beep audit + ⓘ visibility + galaxy zoom + the download/video excision</title>
<link>https://stellate.app/access.html?genre=ambient&amp;seed=8232</link>
<guid isPermaLink="false">3dce7b98c00a48d5f1a7d024981dcb61c9595f10</guid>
<pubDate>Sat, 25 Jul 2026 04:32:45 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>accessibility</category>
<description><![CDATA[Beeps ALL OVER the map (Paul): FFT'd every pool one-shot. bbc_electro_gong = 95% one 1163Hz sine (added to the chime pool this very morning) — benched; vox_b/vox_c/vox_e carry constant carrier tones (2.97k/1.6k) — benched; vx_apollo bed benched from the general voices pool (identity uses stay).]]></description>
<content:encoded><![CDATA[<p>Beeps ALL OVER the map (Paul): FFT'd every pool one-shot. bbc_electro_gong = 95% one 1163Hz sine (added to the chime pool this very morning) — benched; vox_b/vox_c/vox_e carry constant carrier tones (2.97k/1.6k) — benched; vx_apollo bed benched from the general voices pool (identity uses stay).</p>
<ul><li>ⓘ visibility wave: rubato joins the feel radar, an always-on meter badge (the 8-cell fold erased the waltz), harmony provenance (reharm + which tables) in the mind line.</li><li>Download + laserdisc-video paths EXCISED (everything preserved on branch legacy-download-video): export/journey/video-layer + tools + docs + the J/H gate rewrite; background chip is now off &lt;-&gt; demoscene.</li></ul>
<p><a href="https://stellate.app/access.html?genre=ambient&amp;seed=8232">▶ Play it: Stationary Weather — the accessible text version, where the same music arrives as prose</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/3dce7b98c00a48d5f1a7d024981dcb61c9595f10">3dce7b9</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/3dce7b98c00a48d5f1a7d024981dcb61c9595f10</comments>
</item>
<item>
<title>BBC Sound Effects crate + the public-release sweep</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=7824&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">1cef5c78603c2ac58c923f5368ce7c9128868f9c</guid>
<pubDate>Sat, 25 Jul 2026 03:13:27 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[The crate: 36 RemArc beds + 4 chimes curated across the ten pool classes (fetch-found-bbc.sh — sequential, courteous, idempotent; local urls only, the BBC CDN sends no CORP), wired 4-per-class into SOURCE_POOLS + the chime pool, ledgered tier-2-strict in SOURCES.md.]]></description>
<content:encoded><![CDATA[<p>The crate: 36 RemArc beds + 4 chimes curated across the ten pool classes (fetch-found-bbc.sh — sequential, courteous, idempotent; local urls only, the BBC CDN sends no CORP), wired 4-per-class into SOURCE_POOLS + the chime pool, ledgered tier-2-strict in SOURCES.md.</p>
<ul><li>The sweep (39 verified review findings): NODE_PATH=/home/ford/... gone from all 46 files (gates run plain after npm install &amp;&amp; npm run setup:browser); relative requires in lesson/genome-diff</li></ul>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=7824&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/1cef5c78603c2ac58c923f5368ce7c9128868f9c">1cef5c7</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/1cef5c78603c2ac58c923f5368ce7c9128868f9c</comments>
</item>
<item>
<title>Soundfont full coverage: the comparator, the family fixes, the register fold, 8 silent ROM patches remapped</title>
<link>https://stellate.app/?genre=bigband&amp;seed=3446&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">07239ceeb7c6c2923f1411b8d73d723f2425471b</guid>
<pubDate>Thu, 16 Jul 2026 13:58:28 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[Paul: sf=minimoog at a specific mix "drops out the bass and guitar; other dropouts across the soundfonts — make sure we have full coverage using the power of comparing data structures."]]></description>
<content:encoded><![CDATA[<p>Paul: sf=minimoog at a specific mix &quot;drops out the bass and guitar; other dropouts across the soundfonts — make sure we have full coverage using the power of comparing data structures.&quot;</p>
<ul><li>tools/font-coverage.js (+ test/font-coverage.test.js gate) IS that comparator: A. instrFamily over all 108 SAMPLERS ids vs a rule table B. both synth fonts resolve every id to a complete voice</li><li>instrFamily: &quot;nylon_STRING_guitar&quot; matched the string rule before pluck ever ran (guitars -&gt; slow juno pad voice), /bass/ ate &quot;bassoon&quot;, /reed/ ate &quot;reed_organ&quot;, bright_yamaha_grand fell to generic lead.</li><li>minimoog voicing, audit-measured at Paul's URL (live per-voice audit, headless): juno60's pad swell on a MELODY role never opened before short notes ended (lead rms .004 vs fluidr3 .021</li><li>state-engine mapEvents HARD-CLAMPED note freq to the module's freqMax — every note above the compiled range played AT the ceiling (the dx7 freq slider tops at 1000Hz = MIDI ~83, a register where FM operator…</li></ul>
<p><em>Verified:</em> font-coverage structural audit clean, matrix 274/274, verify.sh PASS, engine/theory/pipes ALL PASS, wavout live gate PASS.</p>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=3446&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/07239ceeb7c6c2923f1411b8d73d723f2425471b">07239ce</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/07239ceeb7c6c2923f1411b8d73d723f2425471b</comments>
</item>
<item>
<title>Speed slider: a log duration MULTIPLE over the path's own distance-derived time</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=1934&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">dbd30216c017cc70abb1e341345d93fc0cb6f997</guid>
<pubDate>Thu, 16 Jul 2026 02:02:06 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[Paul: "change the duration slider to a logarithmic duration multiple between faster and slower, 100x speed to a million times longer; as nodes are added and expand, measure the full distance and come up with a reasonable default duration; put that duration up as a tooltip when people move nodes]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;change the duration slider to a logarithmic duration multiple between faster and slower, 100x speed to a million times longer; as nodes are added and expand, measure the full distance and come up with a reasonable default duration; put that duration up as a tooltip when people move nodes</p>
<ul><li>share.js: the path's own length sets the BASE time — BASE_SPW = 1.2s per world-unit, tuned so the seeded default triangle (~1500wu) keeps its historical ~30 minutes at x1</li><li>panels.js: the slider is 8 log decades, x1 detent at center; readout &quot;x12 · 6.4 hr&quot;; label tooltip states the path's own time at x1.</li><li>starmap.js: dragging a waypoint floats a live tooltip — &quot;loop ≈ 32 min&quot; (recomputed as the drag stretches the perimeter), plus &quot;x100 -&gt; 2.2 days&quot; when the dial is off x1.</li><li>access.js: the a11y twin dials the same multiple with a spoken aria-valuetext (multiple, effective time, and the path's own time).</li></ul>
<p><em>Verified:</em> share-url-run 13/13, access-ui-run 12/12, full-boot green. explorer-ui-test's H section (background alternation) fails IDENTICALLY at the pre-session baseline 081a256</p>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=1934&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/dbd30216c017cc70abb1e341345d93fc0cb6f997">dbd3021</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/dbd30216c017cc70abb1e341345d93fc0cb6f997</comments>
</item>
<item>
<title>MIDI trove off the deploy path: rips to the external drive, deploy exclusion, incident recorded</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=2697&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">51bcdc71b0d608d14f47d531808bfe76f9bac2b6</guid>
<pubDate>Thu, 16 Jul 2026 01:00:29 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[The 2026-07-15 deploy rsynced found/midi/ (154MB of MIDIMAN rips) to the public web root — violating SOURCES.md's "never redistributed" commitment. Caught by the deploy invariant check on the next ship (its name-join also chokes on the rips' space-laden filenames — moot now).]]></description>
<content:encoded><![CDATA[<p>The 2026-07-15 deploy rsynced found/midi/ (154MB of MIDIMAN rips) to the public web root — violating SOURCES.md's &quot;never redistributed&quot; commitment. Caught by the deploy invariant check on the next ship (its name-join also chokes on the rips' space-laden filenames — moot now).</p>
<ul><li>rips relocated to /mnt/sources/relocated/stellate-midi-corpus/rips/; fetch-midi-trove.sh defaults there (arg overrides), CLAUDE.md/SOURCES.md/ midi-mine.test paths updated; SOURCES.md records the incident</li><li>deploy-stellate.sh: found/midi/ excluded from BOTH the rsync and the manifest find — the belt if a fetch ever lands there again</li><li>the already-deployed copy still needs the manual droplet scrub (rm -rf /srv/stellate/found/midi) — remote deletion left to Paul</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=2697&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/51bcdc71b0d608d14f47d531808bfe76f9bac2b6">51bcdc7</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/51bcdc71b0d608d14f47d531808bfe76f9bac2b6</comments>
</item>
<item>
<title>Fix the sticking wasm sky: planet-keyed carts in the cruise + a mode-2 rotator</title>
<link>https://stellate.app/?genre=bebop&amp;seed=3324&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">8db570b45ec3953847b7957036e6549096c7dd93</guid>
<pubDate>Thu, 16 Jul 2026 00:55:29 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[Paul: "the wasm background is sticking — seems to be the same and not shift on the planets." Two holes, one symptom:]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;the wasm background is sticking — seems to be the same and not shift on the planets.&quot; Two holes, one symptom:</p>
<ul><li>The star-cruise forces the demo layer up via bgWant(), but the only cart rotator (bgFlip) gated on bgMode===1 — in the aliens view the same cart wrapped every planet forever.</li><li>Mode 2 (demos-only) had NO rotator at all — same cart forever on the 2D map too (both the bgFlip gate and the 1s clock's caller gate excluded it).</li></ul>
<p><em>Verified:</em> test/bg-cart-run.js (mode-2 idle rotation via ?bgAltMs, the cruise stand-down guard, zero page errors). demo-layer-test + full-boot-run green.</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=3324&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/8db570b45ec3953847b7957036e6549096c7dd93">8db570b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/8db570b45ec3953847b7957036e6549096c7dd93</comments>
</item>
<item>
<title>Weave v2: approach-tone connectors + guitar/classical wired (bossanova, chamber)</title>
<link>https://stellate.app/?genre=bossanova&amp;seed=2425&amp;path=575.11711,600.2169,292.16891&amp;xdur=0.051</link>
<guid isPermaLink="false">cc5a08494f933072ccac718bdcbd409351850ba7</guid>
<pubDate>Wed, 15 Jul 2026 04:27:34 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bossanova</category>
<category>chamber</category>
<category>jazz</category>
<category>harmony</category>
<description><![CDATA[The v1 ladder walk could not do scale-step motion (corpus stepFrac ~.4-.5, weave ~.07 — chord tones sit thirds apart). v2 spends each family's MINED stepFrac (mine-weave now emits it): a wide leap into the next landing tone fills with passing tones on IOI subdivisions, placed by APPROACH (the last…]]></description>
<content:encoded><![CDATA[<p>The v1 ladder walk could not do scale-step motion (corpus stepFrac ~.4-.5, weave ~.07 — chord tones sit thirds apart). v2 spends each family's MINED stepFrac (mine-weave now emits it): a wide leap into the next landing tone fills with passing tones on IOI subdivisions, placed by APPROACH (the last…</p>
<ul><li>Rendered stepFrac: folk .35 jazz .34 (corpus .48/.44), guitar .24 classical .24 (corpus .39/.45 — their remaining steps live inside fast runs no subdivision can host; the scale-aware walk is the noted v3).</li><li>guitarweave wired into bossanova (the mined nylon idiom on its native nylon-string lead) and classicalweave into chamber (The Greats' line on violin/viola).</li></ul>
<p><a href="https://stellate.app/?genre=bossanova&amp;seed=2425&amp;path=575.11711,600.2169,292.16891&amp;xdur=0.051">▶ Play it: Saudade Observatory → Rosin Seance → Smoke Arithmetic — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/cc5a08494f933072ccac718bdcbd409351850ba7">cc5a084</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/cc5a08494f933072ccac718bdcbd409351850ba7</comments>
</item>
<item>
<title>The weave organ: mined generative melody (Markov walk over the voicing ladder + IOI rhythm chain)</title>
<link>https://stellate.app/?genre=jazz&amp;seed=9427&amp;path=292.16891,1854.5732&amp;xdur=0.067</link>
<guid isPermaLink="false">ae1cc2abb1b6a6f9be0e8230bfe94ed894c25183</guid>
<pubDate>Wed, 15 Jul 2026 04:15:45 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jazz</category>
<category>folk</category>
<category>harmony</category>
<description><![CDATA[tools/mine-weave.js fits two first-order chains per genre family from the corpus DB melody lines, in the engine's own alphabet: pitch over the 8-slot voicing ladder (leadIndex 0..3 x octave 0..1 — chord-safe by construction), rhythm over quantized IOIs [.25..4] + a mined legato scalar.]]></description>
<content:encoded><![CDATA[<p>tools/mine-weave.js fits two first-order chains per genre family from the corpus DB melody lines, in the engine's own alphabet: pitch over the 8-slot voicing ladder (leadIndex 0..3 x octave 0..1 — chord-safe by construction), rhythm over quantized IOIs [.25..4] + a mined legato scalar.</p>
<ul><li>Four families ship (rip:alias syntax): folkweave, jazzweave (wired into folk/ jazz lead pools), guitarweave, classicalweave (registered, unwired — awaiting a home genre + ears).</li><li>Known limit (stated in the csd-engine comment): the ladder alphabet cannot do scale-step motion (corpus stepFrac ~.5, weave ~.07) — passing-tone connectors are the v2.</li></ul>
<p><em>Verified:</em> test/melody-weave.test.js (stochastic rows, registration, density, chord-safety on the ladder, determinism, corpus density order). Full suite + matrix 274/274 green.</p>
<p><a href="https://stellate.app/?genre=jazz&amp;seed=9427&amp;path=292.16891,1854.5732&amp;xdur=0.067">▶ Play it: Smoke Arithmetic → Kettle Eschaton — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/ae1cc2abb1b6a6f9be0e8230bfe94ed894c25183">ae1cc2a</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/ae1cc2abb1b6a6f9be0e8230bfe94ed894c25183</comments>
</item>
<item>
<title>The MIDI trove: corpus-calibrated fences, mined vocabulary, corpus-fit harmony walk, ragtime (273-&gt;274)</title>
<link>https://stellate.app/?genre=ragtime&amp;seed=7150&amp;path=753.14457,292.16891,1036.22151&amp;xdur=0.097</link>
<guid isPermaLink="false">898bf64e423a2ff55cc3a3322b388752625395f9</guid>
<pubDate>Wed, 15 Jul 2026 03:34:17 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ragtime</category>
<category>jazz</category>
<category>blues</category>
<category>explainer</category>
<description><![CDATA[Everything learned from the MIDIMAN Melody Kit (archive.org, ~130k files), distilled into committed capability — the trove itself stays off-repo (found/midi/ labeled rips; 120k bulk + 5GB corpus.db on the external drive).]]></description>
<content:encoded><![CDATA[<p>Everything learned from the MIDIMAN Melody Kit (archive.org, ~130k files), distilled into committed capability — the trove itself stays off-repo (found/midi/ labeled rips; 120k bulk + 5GB corpus.db on the external drive).</p>
<ul><li>tools/fetch-midi-trove.sh / fetch-midi-bulk.sh — the fetch recipes</li><li>tools/mine-midi.js — SMF parser + verifier-formula features + KK key detection (72% vs embedded sigs)</li><li>tools/corpus-db.js — SQLite corpus: 120,652 files / 40M+ notes as integer blobs, extracted melody lines w/ honest mel_conf, 26-dim vectors (full-corpus cosine scan 111ms</li><li>tools/mine-theory.js — FUNC_NEXT/POOL harmony tables from 86,301 deduped files / 4.4M diatonic transitions; --splice REFUSES tables that lose the held-out comparison.</li></ul>
<p><a href="https://stellate.app/?genre=ragtime&amp;seed=7150&amp;path=753.14457,292.16891,1036.22151&amp;xdur=0.097">▶ Play it: Perforated Afterlife → Smoke Arithmetic → Crossroads Paperwork — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/898bf64e423a2ff55cc3a3322b388752625395f9">898bf64</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/898bf64e423a2ff55cc3a3322b388752625395f9</comments>
</item>
<item>
<title>Demoscene sky, 3 views, two-drum desynced drummer, top-right HUD, repo tidy</title>
<link>https://stellate.app/?genre=bigband&amp;seed=5545&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">072ea1a1ce016b613278585d9541b9975fa9be25</guid>
<pubDate>Mon, 13 Jul 2026 15:33:31 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[DEMOSCENE ATMOSPHERE — the planet's sky dome now projects the WASM demoscene (DemoLayer canvas — generative, same-origin) instead of the found-video, with a local-video fallback when no demo is running (Paul: "project the wasm…]]></description>
<content:encoded><![CDATA[<ul><li><strong>DEMOSCENE ATMOSPHERE</strong> — the planet's sky dome now projects the WASM demoscene (DemoLayer canvas — generative, same-origin) instead of the found-video, with a local-video fallback when no demo is running (Paul: &quot;project the wasm…</li><li><strong>THREE VIEWS</strong> — removed the standalone video view. The ✦ chip now cycles map -&gt; viz -&gt; aliens -&gt; map.</li><li><strong>DRUMMER</strong> — a real SECOND drum (its own membrane + rim at the second hand's reach) and the two hands beat at DIFFERENT paces -- the primary strikes the real note onsets, the second hand keeps its own steady per-alien…</li><li><strong>HUD</strong> — moved to the top-RIGHT (right-anchored, right-aligned).</li></ul>
<p><em>Verified:</em> verify.sh, full-boot, starcruise-run 79/79 + nav.</p>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=5545&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/072ea1a1ce016b613278585d9541b9975fa9be25">072ea1a</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/072ea1a1ce016b613278585d9541b9975fa9be25</comments>
</item>
<item>
<title>Video-in-sky: wrap the footage around the planet as a glowing atmosphere</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=9063&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">eb7851f723375f5bede0aa5095fed29e961d2ee2</guid>
<pubDate>Mon, 13 Jul 2026 14:42:50 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Refine v26's sky-video from a flat billboard screen behind the band into an ATMOSPHERE (Paul: "the video should be mapped around the planet like its atmosphere").]]></description>
<content:encoded><![CDATA[<p>Refine v26's sky-video from a flat billboard screen behind the band into an ATMOSPHERE (Paul: &quot;the video should be mapped around the planet like its atmosphere&quot;).</p>
<p><em>Verified:</em> full-boot, starcruise-run + nav.</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=9063&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/eb7851f723375f5bede0aa5095fed29e961d2ee2">eb7851f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/eb7851f723375f5bede0aa5095fed29e961d2ee2</comments>
</item>
<item>
<title>Five fixes: video-in-sky, streaming metadata, 3D settings z-index, vapor in access, MIDI-only downloads</title>
<link>https://stellate.app/access.html?genre=ambient&amp;seed=6177</link>
<guid isPermaLink="false">37e210415ae409f92ba9db2d9bb869e0214bf8da</guid>
<pubDate>Mon, 13 Jul 2026 14:14:30 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>accessibility</category>
<description><![CDATA[VIDEO IN THE SKY — project the found-video layer onto a big yaw-billboard screen high in the night sky behind the 3D band. Uses VideoLayer._frontEl() as a THREE.VideoTexture, LOCAL clips only (_frontKind === "local")]]></description>
<content:encoded><![CDATA[<ul><li><strong>VIDEO IN THE SKY</strong> — project the found-video layer onto a big yaw-billboard screen high in the night sky behind the 3D band. Uses VideoLayer._frontEl() as a THREE.VideoTexture, LOCAL clips only (_frontKind === &quot;local&quot;)</li><li><strong>STREAMING METADATA</strong> — MediaSession now reports artist &quot;stellate.app&quot;, album = the PARENT (dominant) genre, song/title = the CURRENT CLOSEST genre (S.best, the verifier's nearest, which drifts as you travel).</li><li><strong>SETTINGS IN 3D MODE</strong> — the star-cruise canvas (z40) / VHS overlay (z44) / HUD (z55) sat above the settings + about modals (z7), so opening the gear in aliens view popped the panel behind the flight.</li><li><strong>VAPOR IN THE ACCESSIBLE VIEW</strong> — add the live-only mall-haze master-EQ slider to access.html (parity with the map); wired via setVapor, persisted, aria-valuetext.</li></ul>
<p><em>Verified:</em> full-boot, starcruise-run + nav, access-ui 12/12.</p>
<p><a href="https://stellate.app/access.html?genre=ambient&amp;seed=6177">▶ Play it: Stationary Weather — the accessible text version, where the same music arrives as prose</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/37e210415ae409f92ba9db2d9bb869e0214bf8da">37e2104</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/37e210415ae409f92ba9db2d9bb869e0214bf8da</comments>
</item>
<item>
<title>Genre build-out 250 -&gt; 273 + accessible type-to-filter combobox</title>
<link>https://stellate.app/?genre=atticlament&amp;seed=7915&amp;path=1145.12655,814.14156,1206.17398&amp;xdur=0.157</link>
<guid isPermaLink="false">e7d7f53b8cb0ca85432a6cc4ca894c64c5ec16ab</guid>
<pubDate>Mon, 13 Jul 2026 12:48:13 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>atticlament</category>
<category>bigband</category>
<category>breakbop</category>
<category>accessibility</category>
<description><![CDATA[Fill the hollow regions of the genre space via genre-tool delta-scaffolding, every addition refereed by the genre-confusion matrix (stays diagonal-dominant 273/273).]]></description>
<content:encoded><![CDATA[<p>Fill the hollow regions of the genre space via genre-tool delta-scaffolding, every addition refereed by the genre-confusion matrix (stays diagonal-dominant 273/273).</p>
<ul><li>Named regions (distinct instruments -&gt; open feature-space): 5 classical (romanticism/chamber/impressionism/postminimal/symphony), 4 rock (punk/indie/grunge/postrock), 8 world/latin/jazz/hiphop…</li><li>6 INVENTED &quot;lerp&quot; genres filling the emptiest midpoints of the 23-D feature space (cryptvespers/nocturnesmash/glacialgabber/breakbop/atticlament/ hazebunker), via the new tools/lerp-genre.js (interpolate two…</li><li>New authoring tools: tools/lerp-genre.js (invent-by-interpolation) and tools/rm-genre.js (clean removal).</li><li>Accessible view (access.html): the three 273-row genre &lt;select&gt;s were unusable, so they become native type-to-filter comboboxes -- one shared &lt;datalist&gt; + three &lt;input list&gt;.</li></ul>
<p><em>Verified:</em> matrix 273/273, verify.sh (validate/engine/prove/matproof/poscover/ coordscover), full-boot-run, starcruise-run 79/79 + nav, access-ui 12/12.</p>
<p><a href="https://stellate.app/?genre=atticlament&amp;seed=7915&amp;path=1145.12655,814.14156,1206.17398&amp;xdur=0.157">▶ Play it: Servo Elegy → Ballroom Leviathan → Amen Hypotenuse — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/e7d7f53b8cb0ca85432a6cc4ca894c64c5ec16ab">e7d7f53</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/e7d7f53b8cb0ca85432a6cc4ca894c64c5ec16ab</comments>
</item>
<item>
<title>Docs refresh + open-source clean-clone runnability (250 genres, package.json)</title>
<link>https://stellate.app/how.html</link>
<guid isPermaLink="false">8dcadb7b45ed60dd8ad90b15ac4f976541f33711</guid>
<pubDate>Mon, 13 Jul 2026 03:47:35 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>explainer</category>
<description><![CDATA[DOCS (task: "update docs and info in the app"):]]></description>
<content:encoded><![CDATA[<p>DOCS (task: &quot;update docs and info in the app&quot;):</p>
<ul><li>Genre count corrected everywhere: 228/240/249 -&gt; 250 (matrix prints 250/250, verified). index.html about panel, how.html, README.md, CLAUDE.md, CONTRIBUTING.md.</li><li>index.html help line already reflects the four views (map/viz/video/aliens) + the duration control.</li><li>Added a root package.json declaring the ONE browser-test dep (playwright ^1.57.0), and gitignored /node_modules/.</li><li>CONTRIBUTING documents the browser-gate setup.</li></ul>
<p><em>Verified:</em> verify.sh (matrix/validate/engine/prove/matproof/poscover/coordscover) all PASS at 250/250; full-boot green. No app behaviour change.</p>
<p><a href="https://stellate.app/how.html">▶ read how a song is made — the drawn pipeline itself</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/8dcadb7b45ed60dd8ad90b15ac4f976541f33711">8dcadb7</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/8dcadb7b45ed60dd8ad90b15ac4f976541f33711</comments>
</item>
<item>
<title>Star-cruise: aliens-as-a-view, dramatic spotlights, Earth-animal creatures, wider bare stage</title>
<link>https://stellate.app/?genre=bebop&amp;seed=9174&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">6e5cd73ec5ac2b9d0ed953a640fab01f38e1d806</guid>
<pubDate>Mon, 13 Jul 2026 03:05:56 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[VIEW INTEGRATION (panels.js, background.js, starcruise.js, app.css, index.html):]]></description>
<content:encoded><![CDATA[<p>VIEW INTEGRATION (panels.js, background.js, starcruise.js, app.css, index.html):</p>
<ul><li>The aliens (3D star-cruise) are now the 4th VIEW — the ✦ chip cycles map → viz → video → aliens → map (👾 icon). Removed the standalone 🛸 chip and the ✕ EXIT button entirely</li><li>VHS scanline overlay (scanlines + drifting tracking-roll + vignette) in front of the 3D view, on top of the PS1 post pass.</li><li>Band spaced much wider (spread ~3.2-4.2 -&gt; 5-7; world grown to hold it, capped so it stays a little planet).</li><li>Backdrop REMOVED — no city/farm/trees/objects; the bare planet is the stage (empty backdrop group keeps the lifecycle intact).</li></ul>
<p><em>Verified:</em> starcruise-run 79/79, full-boot, traits-run, alien-run, alien-face-run, alien-dancer-run all green.</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=9174&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/6e5cd73ec5ac2b9d0ed953a640fab01f38e1d806">6e5cd73</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/6e5cd73ec5ac2b9d0ed953a640fab01f38e1d806</comments>
</item>
<item>
<title>Bake vapor into the render — works on mobile now, takes effect over time (like BPM)</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=9127&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">91f1e11fbb2d2de96f5e58dae6450d3ac574b57c</guid>
<pubDate>Mon, 13 Jul 2026 00:16:16 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[Vapor was a desktop-only LIVE effect (a filter + reverb on the output WebAudio graph), so it was silent on the pocket-proof mobile path, which plays pre-rendered WAV segments through a plain <audio> with no live graph.]]></description>
<content:encoded><![CDATA[<p>Vapor was a desktop-only LIVE effect (a filter + reverb on the output WebAudio graph), so it was silent on the pocket-proof mobile path, which plays pre-rendered WAV segments through a plain &lt;audio&gt; with no live graph.</p>
<ul><li>stream-renderer.js (renderChunk): applyVapor() bakes the &quot;walking through a mall&quot; master EQ into the full-mix stereo stream that feeds BOTH the desktop ring and the mobile WAV segments</li><li>live.js: both conductors now carry the vapor amount into each fed bar (ring: curVapor; wav-first: curVaporWav), and their setVapor() updates it</li></ul>
<p><em>Verified:</em> segment-parity 14/14 BYTE-EQUAL at vapor 0 (maxΔ 0); a render at vapor 0.7 muffles the highs to ~60% + ducks level to ~87%; share-url live audio path clean, zero page errors.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=9127&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — the brightest, most processed corner of the space</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/91f1e11fbb2d2de96f5e58dae6450d3ac574b57c">91f1e11</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/91f1e11fbb2d2de96f5e58dae6450d3ac574b57c</comments>
</item>
<item>
<title>Duration-as-time slider, void-blend evolution, and add/remove-nodes fix</title>
<link>https://stellate.app/?genre=canawave&amp;seed=6696&amp;path=1505.3698,1524.3731,1486.3731&amp;xdur=13.122</link>
<guid isPermaLink="false">39c0a9d0b9680d70ea2d22698fe1c786381db36b</guid>
<pubDate>Sun, 12 Jul 2026 21:15:07 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>canawave</category>
<category>harmony</category>
<description><![CDATA[DURATION SLIDER — the loop's travel is now dialed directly as a TIME — 8 min to 24 h on a log slider, default 30 min — replacing the abstract bars-per-leg "pace".]]></description>
<content:encoded><![CDATA[<ul><li><strong>DURATION SLIDER</strong> — the loop's travel is now dialed directly as a TIME — 8 min to 24 h on a log slider, default 30 min — replacing the abstract bars-per-leg &quot;pace&quot;.</li><li><strong>VOID-BLEND</strong> — the genre mix used to pin ONE genre at 100% across any sparse region — a path drawn through empty space then played the same genre for hours (Paul's ?path sat on canawave ~20 min).</li><li><strong>ADD/REMOVE NODES</strong> — double-tap-to-add/remove had stopped working — the two-tap proximity was measured in LOGICAL world units (&lt;16), but the map spans ~25000 units tall, so at default zoom that window was ~0.4 SCREEN px: no finger…</li><li>simulate-path.js: the auto walk length is now loopBars() (one full loop at the current speed) instead of pace×legs, which under the duration model no longer completes a loop.</li></ul>
<p><em>Verified:</em> simulate-path 4/4 (all 3 default genres crossed), share-url 13/13 (legacy pace URL maps identically), explorer-ui constant-pace seamless, full-boot healthy.</p>
<p><a href="https://stellate.app/?genre=canawave&amp;seed=6696&amp;path=1505.3698,1524.3731,1486.3731&amp;xdur=13.122">▶ Play it: Loon Referendum — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/39c0a9d0b9680d70ea2d22698fe1c786381db36b">39c0a9d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/39c0a9d0b9680d70ea2d22698fe1c786381db36b</comments>
</item>
<item>
<title>Star-cruise camera round 2: persistent free-look, whole-alien framing, top-down arrival</title>
<link>https://stellate.app/?genre=techno&amp;seed=7627&amp;path=1956.22436,1718.20526,1679.4415&amp;xdur=0.042</link>
<guid isPermaLink="false">ff9c74eb3c79a1f2d68e38224d5ae5681267b515</guid>
<pubDate>Sun, 12 Jul 2026 20:31:45 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>techno</category>
<category>jungle</category>
<category>vaporwave</category>
<category>visual</category>
<description><![CDATA[Follow-up to the user's rapid-fire camera feedback (all three deployed live were mechanically working but didn't match intent):]]></description>
<content:encoded><![CDATA[<p>Follow-up to the user's rapid-fire camera feedback (all three deployed live were mechanically working but didn't match intent):</p>
<ul><li>FREE-LOOK persists (app/starcruise.js): removed the 3.5s auto-recenter that snapped the view back to forward — it read as &quot;can't change my view when flying between planets.&quot; A drag now HOLDS where you leave it</li><li>WHOLE-ALIEN framing (app/starcruise.js): the landed auto-cam still filled the frame with the (big, winged/horned) creatures.</li><li><strong>TOP-DOWN ARRIVAL</strong> — the descent now falls to a pose high OVER the landing pad looking straight DOWN at the little planet, then eases onto the pad</li></ul>
<p><em>Verified:</em> starcruise-run 79/79, full-boot-run healthy.</p>
<p><a href="https://stellate.app/?genre=techno&amp;seed=7627&amp;path=1956.22436,1718.20526,1679.4415&amp;xdur=0.042">▶ Play it: Unblinking Interval → Barometric Stampede → Food Court Eternity — a three-star constellation to watch the map work</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/ff9c74eb3c79a1f2d68e38224d5ae5681267b515">ff9c74e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/ff9c74eb3c79a1f2d68e38224d5ae5681267b515</comments>
</item>
<item>
<title>Star-cruise: landed auto-cam frames the WHOLE alien, not a tight crop</title>
<link>https://stellate.app/?genre=techno&amp;seed=8796&amp;path=1956.22436,1718.20526,1679.4415&amp;xdur=0.042</link>
<guid isPermaLink="false">bd6ae32ca3a5bc876b382e69a5755f8c932cf9b7</guid>
<pubDate>Sun, 12 Jul 2026 19:00:05 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>techno</category>
<category>jungle</category>
<category>vaporwave</category>
<category>visual</category>
<description><![CDATA[The landed music-video camera zoomed in too far and cropped the (now bigger, horned/winged/tailed) creatures. Pull the closeups/drummer/through shots back to a full-figure FRONT framing so the entire alien is always in view:]]></description>
<content:encoded><![CDATA[<p>The landed music-video camera zoomed in too far and cropped the (now bigger, horned/winged/tailed) creatures. Pull the closeups/drummer/through shots back to a full-figure FRONT framing so the entire alien is always in view:</p>
<ul><li>closeups dist 3.6 -&gt; 7.0, target y 1.3 -&gt; 1.15, yaw ±0.30 -&gt; ±0.14 (near-front), fov 50 -&gt; 52</li><li>drummer dist 3.9 -&gt; 6.8, matched framing</li><li>through: was a hard dolly (-1.4 from 4.5) that cratered onto the band; now a gentle push (-0.6 from 9.0) that never zooms past a whole-body view</li><li>orbit.minDist 2.2 -&gt; 3.6 so nothing (auto or manual) craters in past the body</li></ul>
<p><em>Verified:</em> starcruise-run 79/79 (CA1-3 framing asserts green, min shot camY 1.96), full-boot-run healthy.</p>
<p><a href="https://stellate.app/?genre=techno&amp;seed=8796&amp;path=1956.22436,1718.20526,1679.4415&amp;xdur=0.042">▶ Play it: Unblinking Interval → Barometric Stampede → Food Court Eternity — a three-star constellation to watch the map work</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/bd6ae32ca3a5bc876b382e69a5755f8c932cf9b7">bd6ae32</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/bd6ae32ca3a5bc876b382e69a5755f8c932cf9b7</comments>
</item>
<item>
<title>Star-cruise v18: continuous flight + free-look, real planets/flaming suns, creature-collection aliens</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=1284&amp;path=1679.4415,430.3999&amp;xdur=0.57</link>
<guid isPermaLink="false">07d661ec83622a441093c4f899b04e63c94eb1c2</guid>
<pubDate>Sun, 12 Jul 2026 18:49:39 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>heavymetal</category>
<category>mix</category>
<description><![CDATA[CAMERA/FLIGHT (app/starcruise.js, flight.js):]]></description>
<content:encoded><![CDATA[<p>CAMERA/FLIGHT (app/starcruise.js, flight.js):</p>
<ul><li>Continuous space flight: the &quot;moves every 8 bars&quot; lurch survived the v15 fix because only the lateral PAN was dead-reckoned</li><li>Free-look in transit: a drag now turns the view about the flying eye (transitLook yaw/pitch) without fighting the auto-flight path; gentle recenter (TC 3.5s), zeroed on depart.</li><li>Planets are planets, not colored blobs: makePlanetMarkerMaterial adds procedural continents/oceans/polar-caps + a fresnel atmosphere rim over the per-genre hue, per-instance aSeed, still one instanced draw…</li><li>Suns are darker + flaming: makeSunMaterial renders churning emissive plasma (dark ember valleys, fiery granulation, sunspots, limb darkening) off the deterministic dt clock, with a rounder/warmer corona.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=1284&amp;path=1679.4415,430.3999&amp;xdur=0.57">▶ Play it: Food Court Eternity → Molten Horsepower — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/07d661ec83622a441093c4f899b04e63c94eb1c2">07d661e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/07d661ec83622a441093c4f899b04e63c94eb1c2</comments>
</item>
<item>
<title>star-cruise v17: cute faces, jointed varied bodies, feet planted on the ground</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=7734&amp;path=1679.4415,430.3999&amp;xdur=0.57</link>
<guid isPermaLink="false">796bb88e44b89e66a53c6bd821c2e08ea4a69d50</guid>
<pubDate>Sun, 12 Jul 2026 17:18:19 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>heavymetal</category>
<category>mix</category>
<description><![CDATA[Alien band visual polish (render-only star-cruise factories; no engine or render-path file touched — byte-identity preserved):]]></description>
<content:encoded><![CDATA[<p>Alien band visual polish (render-only star-cruise factories; no engine or render-path file touched — byte-identity preserved):</p>
<ul><li><strong>FACES</strong> — big cute eyes (sclera + iris + pupil + catchlight) now sit PROUD of the marching-cubes body front instead of buried inside it; rosy cheeks, hinged-jaw mouths.</li><li><strong>JOINTED LIMBS</strong> — visible shoulder/hip socket where each limb meets the core, plus elbow/wrist and knee/ankle knobs; arms flex to reach instruments (onset contact reach&lt;0.05 preserved), tentacles show joint nodes.</li><li><strong>BODY VARIETY</strong> — the 7 metaball body plans now read as distinct silhouettes (cephalopod/insectoid/stalk/crystalline/blob/radial/gas) and per-alien seeds differ</li><li><strong>FEET PLANTED</strong> — liftY computed off the true standing foot line (body+legs only, excluding the lowered instrument/arms) instead of the worst-case rest pose, so aliens rest at y~0 on the curved surface (were floating…</li></ul>
<p><em>Verified:</em> full-boot-run (real main.js boot, 🛸 present, 0 errors), alien / alien-dancer / alien-face / starcruise suites green (new O2 FEET-TOUCH assertion), determinism preserved.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=7734&amp;path=1679.4415,430.3999&amp;xdur=0.57">▶ Play it: Food Court Eternity → Molten Horsepower — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/796bb88e44b89e66a53c6bd821c2e08ea4a69d50">796bb88</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/796bb88e44b89e66a53c6bd821c2e08ea4a69d50</comments>
</item>
<item>
<title>Star-cruise v16: the Little Prince landing (small curved worlds, organic aliens)</title>
<link>https://stellate.app/?genre=techno&amp;seed=2082&amp;path=1956.22436,1718.20526,1679.4415&amp;xdur=0.042</link>
<guid isPermaLink="false">24566a4a1ac89ef1bf5efc7fb47e52ff2b17f52c</guid>
<pubDate>Sun, 12 Jul 2026 15:25:35 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>techno</category>
<category>jungle</category>
<category>vaporwave</category>
<category>visual</category>
<description><![CDATA[Four parallel passes + integration (each isolation-verified, then combined):]]></description>
<content:encoded><![CDATA[<p>Four parallel passes + integration (each isolation-verified, then combined):</p>
<ul><li><strong>LITTLE PRINCE SCALE</strong> — land on a SMALL curved procedural planet (planet.js smallWorld, radius ~23, horizon bends away underfoot) — the band + dancers stand ON its surface oriented to the normal</li><li><strong>PER-GENRE VARIETY</strong> — 9 terrain types (hills/mountains/seas/archipelago/desert/ canyons/craters/ice/volcanic) now GENRE-KEYED (terrain seed = hash(genre)^seed) so each planet's landscape shape differs, not just its palette</li><li><strong>ORGANIC ALIENS</strong> — THREE.MarchingCubes vendored (r160, offline import); alien bodies are baked metaball FUSED surfaces (limbs melt into the torso) instead of clamped tubes</li><li><strong>CONTINUOUS CAMERA</strong> — the 8-bar lurch is gone — the followed target dead-reckons a linear ramp across each bar interval (advances every frame at constant velocity) instead of easing to a static target and waiting</li></ul>
<p><em>Verified:</em> all 12 suites + full-boot CLEAN + verify.sh green; landed shots (inspected) show black space, band on a visibly curved little planet, per-genre terrain+city.</p>
<p><a href="https://stellate.app/?genre=techno&amp;seed=2082&amp;path=1956.22436,1718.20526,1679.4415&amp;xdur=0.042">▶ Play it: Unblinking Interval → Barometric Stampede → Food Court Eternity — a three-star constellation to watch the map work</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/24566a4a1ac89ef1bf5efc7fb47e52ff2b17f52c">24566a4</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/24566a4a1ac89ef1bf5efc7fb47e52ff2b17f52c</comments>
</item>
<item>
<title>Star-cruise: unified scene + continuous camera (real descent, no lurch)</title>
<link>https://stellate.app/?genre=bebop&amp;seed=6085&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">9fa1a5cd3d07c3fc5d916fc68bd8ef59190aeb06</guid>
<pubDate>Sun, 12 Jul 2026 12:46:42 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[The nav FELT broken (lurch every ~8 bars, hard CUT to the planet) because the galaxy and surface were SEPARATE scenes and the camera targeted the DISCRETE dominant planet.]]></description>
<content:encoded><![CDATA[<p>The nav FELT broken (lurch every ~8 bars, hard CUT to the planet) because the galaxy and surface were SEPARATE scenes and the camera targeted the DISCRETE dominant planet.</p>
<ul><li>ONE unified Object3D scene: the dominant genre's surface/band is built (on APPROACH, keyed by the live weights) at the planet and GROWS IN during the descent, persisting through touchdown</li><li>CONTINUOUS camera: critically-damped springs (smoothDamp, dt-only) on land/space progress + aim at the CONTINUOUS weight-blend centroid (not the discrete dominant), so a bar-boundary weight flip only nudges…</li><li><strong>PROCEDURAL PLANET GROUND</strong> — vendored simplex-noise (jwagner v4, MIT, ~19KB, lazy-imported, no CDN) + app/starcruise/planet.js — a deterministic fBm- displaced icosphere with a CPU-samplable heightAt()</li></ul>
<p><em>Verified:</em> (measured + FRAME SEQUENCE inspected): barcadence boundary-lurch worst 33x-&gt;1.0x; scene-jump 60.9x-&gt;2.31x; descent camDist 272-&gt;4.6 continuous (max step &lt; teleport)</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=6085&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9fa1a5cd3d07c3fc5d916fc68bd8ef59190aeb06">9fa1a5c</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9fa1a5cd3d07c3fc5d916fc68bd8ef59190aeb06</comments>
</item>
<item>
<title>Star-cruise polish: limbs off the body, contrasting instruments, no floor shots</title>
<link>https://stellate.app/?genre=jungle&amp;seed=3015&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">03f67b17551b7cee1057f835768dd81cb1e1c85e</guid>
<pubDate>Sun, 12 Jul 2026 04:50:14 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>drums</category>
<description><![CDATA[LIMBS NO LONGER INTERSECT THE BODY — pushRootToSurface seats arm/leg/tentacle roots onto the torso surface (coreR*1.05), and keepOutOfCore clamps the IK target(copy)/elbow/wrist outside a coreR*1.02 keep-out shell]]></description>
<content:encoded><![CDATA[<ul><li><strong>LIMBS NO LONGER INTERSECT THE BODY</strong> — pushRootToSurface seats arm/leg/tentacle roots onto the torso surface (coreR*1.05), and keepOutOfCore clamps the IK target(copy)/elbow/wrist outside a coreR*1.02 keep-out shell</li><li><strong>CONTRASTING INSTRUMENT COLOURS</strong> — instColBase rotates the alien's per-alien skin hue 180deg (complementary) + high sat/lightness, on both instrument body + accents, so instruments pop as separate objects (hue distance ~0.5).</li><li><strong>NO FROM-BELOW SHOTS</strong> — raised the low auto-cam pitches to look DOWN at the band, plus a hard FROM-BELOW GUARD that lifts any shot whose resolved eye height would fall below band eye-level.</li><li>Fixed the stale test/flight-run.js assertion (removed-3D-ship descent -&gt; the camera's own continuous descent, z 26-&gt;4.4, no teleport).</li></ul>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=3015&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — the genre that is mostly drums, so the kit has nowhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/03f67b17551b7cee1057f835768dd81cb1e1c85e">03f67b1</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/03f67b17551b7cee1057f835768dd81cb1e1c85e</comments>
</item>
<item>
<title>Star-cruise nav FEEL rework: spread galaxy, no lurch, real zoom-land</title>
<link>https://stellate.app/?genre=bebop&amp;seed=3756&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">b0360aececeb45669da845cfefe73db236de7a10</guid>
<pubDate>Sun, 12 Jul 2026 04:22:18 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[The v11/v12 nav passed structural tests but FELT wrong (piled up, lurched every 8 measures, zoom didn't land). Fixed the feel, verified by measurement:]]></description>
<content:encoded><![CDATA[<p>The v11/v12 nav passed structural tests but FELT wrong (piled up, lurched every 8 measures, zoom didn't land). Fixed the feel, verified by measurement:</p>
<ul><li><strong>SPREAD + STARS</strong> — FIELD scale 0.55-&gt;3.5 (~6.4x); closest suns 3-&gt;19 units apart (real empty space). Suns render as EMISSIVE glowing stars (self-lit core + additive corona/halo InstancedMesh)</li><li><strong>NO 8-MEASURE LURCH</strong> — the lurch was a first-order follow spiking on the first frame after each discrete blend update. Replaced with a critically-damped spring (smoothDamp, CAM_SMOOTH=0.7s, dt-driven/deterministic) easing the galaxy…</li><li><strong>CONTINUOUS ZOOM-LAND</strong> — unified the star-map and surface regions — the transit pose is one lerp in t (0 deep-space .. 1 touchdown) into a SURFACE_POSE that is byte-identical to the landed pose (C0 handoff, no teleport).</li><li>Preserved: fidelity model, band/faces/dancers/shaders/shadows/HUD, drummer-on-fill, front-on landing, teardown.</li></ul>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=3756&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b0360aececeb45669da845cfefe73db236de7a10">b0360ae</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b0360aececeb45669da845cfefe73db236de7a10</comments>
</item>
<item>
<title>Star-cruise: expressive puppet faces (rigged, animated, lip-sync)</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=9040&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">99f3a6f8d4e237d66fd482dcd88bc7fd4db586d6</guid>
<pubDate>Sun, 12 Jul 2026 03:50:53 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[The faces were static masks. Now each alien has an animated face RIG on its (contiguous) head — sockets/pupils, upper+lower eyelids, brows, hinged jaw — driven every frame by a puppeteer:]]></description>
<content:encoded><![CDATA[<p>The faces were static masks. Now each alien has an animated face RIG on its (contiguous) head — sockets/pupils, upper+lower eyelids, brows, hinged jaw — driven every frame by a puppeteer:</p>
<ul><li><strong>GAZE</strong> — pupils lerp toward a seeded wandering target biased to the camera (eased, no jitter) — reads as tracking; all eyes converge.</li><li><strong>BLINK</strong> — per-alien interval+phase (crowd never blinks in unison); lids sweep shut.</li><li><strong>BROWS</strong> — raise on onset-accent / loudness.</li><li><strong>MOUTH</strong> — the LEAD/vocalist LIP-SYNCS on its own ctx.notes onsets (wider on higher velocity), the DRUMMER grimaces on hard hits, bass/perc stay near-closed, pad hums, dancers bob with loudness; shape varies O &lt;-&gt; wide.</li></ul>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=9040&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/99f3a6f8d4e237d66fd482dcd88bc7fd4db586d6">99f3a6f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/99f3a6f8d4e237d66fd482dcd88bc7fd4db586d6</comments>
</item>
<item>
<title>Star-cruise smooth galaxy + polish: clusters=stars, planets=genres, legible aliens</title>
<link>https://stellate.app/?genre=folk&amp;seed=7148&amp;path=1854.5710,1873.5743,1835.5743&amp;xdur=13.122</link>
<guid isPermaLink="false">184a5b046b79358f79528fdc0b5c4abcd1713376</guid>
<pubDate>Sun, 12 Jul 2026 03:22:44 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>folk</category>
<category>harmony</category>
<description><![CDATA[Two-level galaxy navigation + the polish batch from live feedback:]]></description>
<content:encoded><![CDATA[<p>Two-level galaxy navigation + the polish batch from live feedback:</p>
<ul><li><strong>GALAXY</strong> — 31 clusters = colored labeled SUNS (InstancedMesh, 1 draw call) at their star coords; 250 genres = PLANETS. Dominant genre's planet is the target.</li><li><strong>SMOOTH</strong> — removed the beat-driven camera bob/drift; damped frame-rate-independent transit follow (measured zero per-frame jitter).</li><li><strong>ALIENS</strong> — contiguous (neck/clavicle/shoulder/antenna-tip/sash close every gap); FLOOR collision (liftY so feet rest on ground, groove only hops up); PER-ALIEN colour/outfit (same-genre seeds -&gt; distinct palettes)</li><li><strong>SHADERS SIMPLIFIED</strong> — material vocab reduced to the readable set (no wireframe / no pure-mesh); post-fx capped to gentle levels (no over-processing).</li></ul>
<p><em>Verified:</em> all 7 star-cruise suites + full-boot gate PASS first-hand (no crash, 🛸, starmap); GX1-7 (suns/no-ship/HUD/smooth/floor/drummer-on-fill/gated-dancers)…</p>
<p><a href="https://stellate.app/?genre=folk&amp;seed=7148&amp;path=1854.5710,1873.5743,1835.5743&amp;xdur=13.122">▶ Play it: Kettle Eschaton — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/184a5b046b79358f79528fdc0b5c4abcd1713376">184a5b0</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/184a5b046b79358f79528fdc0b5c4abcd1713376</comments>
</item>
<item>
<title>Gates: POS-coverage (CI) + full-app boot smoke — prevent the folk-class outage</title>
<link>https://stellate.app/?genre=folk&amp;seed=6716&amp;path=1854.5710,1873.5743,1835.5743&amp;xdur=13.122</link>
<guid isPermaLink="false">874a9fbc49a528ddae3576e44c8dfeb76d5c2dbb</guid>
<pubDate>Sun, 12 Jul 2026 02:02:23 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>folk</category>
<category>visual</category>
<description><![CDATA[The folk outage (missing app/world.js POS -> boot-time relaxation crashed the renderer) shipped green because the star-cruise tests stub app/main.js. Two gates:]]></description>
<content:encoded><![CDATA[<p>The folk outage (missing app/world.js POS -&gt; boot-time relaxation crashed the renderer) shipped green because the star-cruise tests stub app/main.js. Two gates:</p>
<ul><li>Docs: NEXT.md ship-law (POS-completeness outage law + full-boot in the battery); ADDING-A-GENRE.md (missing POS now noted as CRASHES, not just invisible).</li></ul>
<p><em>Verified:</em> pos-coverage.js (plain node, CI-safe, wired into verify.sh as `poscover`): every GenreKernel.GENRES key MUST have an app/world.js POS entry, else FAIL.</p>
<p><a href="https://stellate.app/?genre=folk&amp;seed=6716&amp;path=1854.5710,1873.5743,1835.5743&amp;xdur=13.122">▶ Play it: Kettle Eschaton — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/874a9fbc49a528ddae3576e44c8dfeb76d5c2dbb">874a9fb</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/874a9fbc49a528ddae3576e44c8dfeb76d5c2dbb</comments>
</item>
<item>
<title>HOTFIX: bake folk into world.js POS — missing POS crashed the app boot</title>
<link>https://stellate.app/?genre=folk&amp;seed=5851&amp;path=1854.5710,1873.5743,1835.5743&amp;xdur=13.122</link>
<guid isPermaLink="false">d378711b261a6da4aef229777e17e7831edabcf7</guid>
<pubDate>Sun, 12 Jul 2026 01:54:26 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>folk</category>
<category>drums</category>
<description><![CDATA[v9 shipped the folk genre into GENRES/TARGETS but not into app/world.js POS. With POS incomplete, app/main.js's boot runs computeGenreLayout's synchronous force-directed relaxation instead of the complete-POS early-return; that relaxation collapses the layout and crashes the WebGL renderer at load]]></description>
<content:encoded><![CDATA[<p>v9 shipped the folk genre into GENRES/TARGETS but not into app/world.js POS. With POS incomplete, app/main.js's boot runs computeGenreLayout's synchronous force-directed relaxation instead of the complete-POS early-return; that relaxation collapses the layout and crashes the WebGL renderer at load</p>
<ul><li>Fix: add folk:[1850,5750] to POS (acoustic/country cluster, min-sep clear) → POS covers all 250 genres → computeGenreLayout early-returns → clean boot.</li></ul>
<p><em>Verified:</em> full-app headless boot probe (real main.js) now boots with NO crash, zero console errors, 🛸 chip present, all 4 chips, starmap rendered, window.__S + GenreKernel + __STARCRUISE all live…</p>
<p><a href="https://stellate.app/?genre=folk&amp;seed=5851&amp;path=1854.5710,1873.5743,1835.5743&amp;xdur=13.122">▶ Play it: Kettle Eschaton — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/d378711b261a6da4aef229777e17e7831edabcf7">d378711</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/d378711b261a6da4aef229777e17e7831edabcf7</comments>
</item>
<item>
<title>Star-cruise cinematic: fidelity-zoom camera, abstract planets, de-squared, motion-by-volume</title>
<link>https://stellate.app/?genre=bebop&amp;seed=1709&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">c98f7f855d0af82c04f440d25035af462773f931</guid>
<pubDate>Sun, 12 Jul 2026 01:36:09 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[FIDELITY-DRIVEN CAMERA — the dominant blend weight drives one continuous zoom — deep space when mixed (viewport visible, 249 genre-planets as glowing balls at their GENRE_COORDS, one InstancedMesh draw call), descend/zoom as a genre's…]]></description>
<content:encoded><![CDATA[<ul><li><strong>FIDELITY-DRIVEN CAMERA</strong> — the dominant blend weight drives one continuous zoom — deep space when mixed (viewport visible, 249 genre-planets as glowing balls at their GENRE_COORDS, one InstancedMesh draw call), descend/zoom as a genre's…</li><li>MUSIC-VIDEO camera: when landed, a beat-synced auto-camera cuts (~2 bars) between per-alien closeups and wide stage shots; manual drag/pinch/WASD overrides.</li><li><strong>MOTION BY VOLUME</strong> — body groove scales with each voice's level (loud 0.11 vs quiet 0.02) — no more constant bopping; onset contact (the score) untouched.</li><li>Per-alien randomization (5 seeds -&gt; 5 distinct rigs); de-squared (round 234 vs box 7): sphere/claw/pincer/orb parts + floating light-balls; contrast (emissive orbs, colour spread 150-&gt;255)</li></ul>
<p><em>Verified:</em> all star-cruise headless suites PASS first-hand (starcruise-run 65, alien, alien-dancer, backdrop, traits). No engine/render-path file touched.</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=1709&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c98f7f855d0af82c04f440d25035af462773f931">c98f7f8</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c98f7f855d0af82c04f440d25035af462773f931</comments>
</item>
<item>
<title>Music variety: rhythmic strumming + folk genre + new fills/sweeps/stabs</title>
<link>https://stellate.app/?genre=folk&amp;seed=9283&amp;path=1854.5732,139.12607,1361.12568&amp;xdur=0.099</link>
<guid isPermaLink="false">936328e3b91a947bd4aee08e0a3be22d948cff63</guid>
<pubDate>Sat, 11 Jul 2026 23:51:37 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>folk</category>
<category>tango</category>
<category>disco</category>
<category>harmony</category>
<description><![CDATA[The chord voicing was a dead-flat block struck once per 8-beat bar (only a sub-perceptual ~20ms micro-roll existed); fills/stabs/sweeps were small pools reused catalog-wide.]]></description>
<content:encoded><![CDATA[<p>The chord voicing was a dead-flat block struck once per 8-beat bar (only a sub-perceptual ~20ms micro-roll existed); fills/stabs/sweeps were small pools reused catalog-wide.</p>
<ul><li><strong>STRUMMING</strong> — a real rhythmic down/up strum-comping articulation for chords/guitar (per-beat strum pattern, strum direction + spread + seeded humanize), opt-in — byte-identical for genres that don't use it.</li><li>FOLK genre: genre-specs/folk.json (acoustic strummed guitar, acoustic bass, light/brushed drums, warm production, modal/diatonic folk progressions) added via genre-tool</li><li><strong>MORE VARIETY</strong> — new transitions/drum fills, synth sweeps, and stabs; a curated subset wired into genres that were monotonous.</li><li>Byte-safe: additions are opt-in (segment-parity 8/8 BYTE-EQUAL, zero collateral drift). Intentional fixture drift scoped to EXACTLY the wired genres</li></ul>
<p><a href="https://stellate.app/?genre=folk&amp;seed=9283&amp;path=1854.5732,139.12607,1361.12568&amp;xdur=0.099">▶ Play it: Kettle Eschaton → Habanera Tribunal → Mirrorball Panopticon — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/936328e3b91a947bd4aee08e0a3be22d948cff63">936328e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/936328e3b91a947bd4aee08e0a3be22d948cff63</comments>
</item>
<item>
<title>Star-cruise: aliens are a real band — non-human species play the SCORE</title>
<link>https://stellate.app/?genre=bebop&amp;seed=3696&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">c1cefc50b25e390444f3ec4a2fbd2014ffc5ed67</guid>
<pubDate>Sat, 11 Jul 2026 22:34:45 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[NON-HUMAN bodies: traits.body.plan (radial/cephalopod/insectoid/blob/stalk/ crystalline/floating-gas) + appendage budget + wild face family, all from the 23-feature vector.]]></description>
<content:encoded><![CDATA[<p>NON-HUMAN bodies: traits.body.plan (radial/cephalopod/insectoid/blob/stalk/ crystalline/floating-gas) + appendage budget + wild face family, all from the 23-feature vector.</p>
<ul><li><strong>ONE ALIEN PER ACTIVE VOICE</strong> — a score bridge in starcruise.js resolves the playing state, calls E.buildEvents ONCE, buckets events per voice, and hands each alien its voice's real per-bar notes {t,pitch,dur,vel} + level.</li><li><strong>PLAYS THE SCORE / RESTS WHEN SILENT</strong> — the playing appendage contacts on real onsets (syncopation shows; pitch biases position; sustains hold across a note); a silent/quiet voice (level&lt;=0.05) rests — no fake beat-strikes.</li><li>3D GENRE-SPACE COORDS: app/starcruise/genre-coords.js (PCA-top3 of the feature centroids, deterministic, nearby=similar-sounding) + tools/feature-layout3d.js generator</li><li>Preserves the per-genre shaders (post-fx + material), shadows, dancers, nav, cockpit/fly-away. No engine/render-path file touched.</li></ul>
<p><em>Verified:</em> starcruise-run onset-model H2/H3 (plays real onsets, rests when silent) + SB1-SB6 score bridge; traits/alien/alien-dancer green.</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=3696&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c1cefc50b25e390444f3ec4a2fbd2014ffc5ed67">c1cefc5</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c1cefc50b25e390444f3ec4a2fbd2014ffc5ed67</comments>
</item>
<item>
<title>Fix 16-bar pad dropout: don't re-swell established voices on live-loop re-entry</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=2161&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">0fd2d071d8d1b0072bab52dc8f1600c35c82b56f</guid>
<pubDate>Sat, 11 Jul 2026 22:34:44 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[Repro (seed 70277 journey, sf=minimoog): pads dropped to ~0.28 of full every form cycle (~16-18 bars). Root cause (measured, not assumed]]></description>
<content:encoded><![CDATA[<p>Repro (seed 70277 journey, sf=minimoog): pads dropped to ~0.28 of full every form cycle (~16-18 bars). Root cause (measured, not assumed</p>
<ul><li>Fix (live-path only): makeWalk gains per-voice loop memory — an established voice (whose run has ended at least once, incl. across the loop seam) re-enters at FULL via _voiceRun[v].noIn</li><li>Byte-safe: press/offline never sets _voiceRun, so fixtures are byte-stable (3861 hashes, NO recapture); matrix 249/249, segment-parity byte-equal, wavout-seam + verify.sh PASS.</li></ul>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=2161&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0fd2d071d8d1b0072bab52dc8f1600c35c82b56f">0fd2d07</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0fd2d071d8d1b0072bab52dc8f1600c35c82b56f</comments>
</item>
<item>
<title>Star-cruise: genre vector drives the shaders (post-fx + materials)</title>
<link>https://stellate.app/?genre=ambient&amp;seed=2111&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122</link>
<guid isPermaLink="false">0907ad7fc1cf7d38e5982a46796849082669c250</guid>
<pubDate>Sat, 11 Jul 2026 21:23:55 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>mobile</category>
<description><![CDATA[A per-genre renderStyle (derived from the 23-feature vector, drawn last so it perturbs no earlier rng) drives two rendering layers so each planet renders in its own visual language:]]></description>
<content:encoded><![CDATA[<p>A per-genre renderStyle (derived from the 23-feature vector, drawn last so it perturbs no earlier rng) drives two rendering layers so each planet renders in its own visual language:</p>
<ul><li>post-fx (app/starcruise/postfx.js): one fragment pass parameterized by renderStyle.post — selectable dither (none/ordered/onebit), posterize, per-channel grade, cheap single-pass bloom, chromatic aberration…</li><li>materials (alien.js + backdrop.js + ship.js): renderStyle.material selects flat/cel(toon)/iridescent(fresnel-hue)/wireframe/glitch(vertex-jitter+rgb-split) /matte — built once per style, reused (mobile-cheap).</li></ul>
<p><em>Verified:</em> traits-run (6 genres -&gt; 6 distinct post bags, 4 materials, deterministic); starcruise-run ALL PASS incl RS1-RS3 (live uniforms match the landed genre, two genres render distinctly…</p>
<p><a href="https://stellate.app/?genre=ambient&amp;seed=2111&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122">▶ Play it: Stationary Weather — a long-form genre — put the phone in your pocket and it keeps playing</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0907ad7fc1cf7d38e5982a46796849082669c250">0907ad7</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0907ad7fc1cf7d38e5982a46796849082669c250</comments>
</item>
<item>
<title>Star-cruise round 2: front-centred nav, 800x600, richer aliens+city, fly-away cockpit, shadows (sw v7)</title>
<link>https://stellate.app/?genre=bebop&amp;seed=2543&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">bc3da11710fbe151c3415fe65765f2b2a8446d4d</guid>
<pubDate>Sat, 11 Jul 2026 20:51:18 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[From live feedback:]]></description>
<content:encoded><![CDATA[<p>From live feedback:</p>
<ul><li><strong>NAV FIX</strong> — the landed camera was inheriting the star-map's raw world-X (drift). Clamped drift and seed the orbit FRONT-ON to the band centroid (yaw 0, gentle down-pitch).</li><li>RESOLUTION up a lot: internal target now near-native (~800x600, DPR/mobile capped), still light (geometry stays cheap).</li><li><strong>ALIENS</strong> — real faces (brow/snout/mouth that opens on the pulse, fangs, pupils), gently waving eyestalks, 3-segment limbs (shoulder/elbow/wrist), bolder contrast + a reused procedural texture, and background DANCERS…</li><li><strong>CITY</strong> — 11 polyhedra families (spires/domes/pyramids/ziggurats/tetra/octa…), blinking window/beacon lights, foliage — no more stacked cubes.</li></ul>
<p><em>Verified:</em> test/starcruise-run.js 48/48 PASS (band plays on beat max-dist 0.000, nav orbit responds, dancers spawn, cockpit shows planet+genres, shadows on, exit works, clean teardown).</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=2543&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/bc3da11710fbe151c3415fe65765f2b2a8446d4d">bc3da11</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/bc3da11710fbe151c3415fe65765f2b2a8446d4d</comments>
</item>
<item>
<title>Star-cruise: exit button + drag/pinch/WASD nav + 512x384 res (sw v6)</title>
<link>https://stellate.app/?genre=bebop&amp;seed=6241&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">58c9d4e12231d7451607819b139ea5f4cdd91a35</guid>
<pubDate>Sat, 11 Jul 2026 19:28:15 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[Fixes from live feedback:]]></description>
<content:encoded><![CDATA[<p>Fixes from live feedback:</p>
<ul><li><strong>EXIT</strong> — an always-visible ✕ button (z-60, thumb target, safe-area) + Escape + the 🛸 toggle — the overlay can no longer trap you; torn down on stop().</li><li><strong>NAV</strong> — hand-rolled orbit/dolly/pan (no new Three addon). Mouse drag = look, wheel = zoom; touch drag = look, two-finger pinch = zoom; WASD/arrows fly.</li><li><strong>RESOLUTION</strong> — internal target now aspect-fit, DPR/mobile-aware, capped long edge 512 (fine) / 448 (touch) — 512x384 on desktop; still dithered/crunchy PS1.</li><li>so the deploy lands on reload.</li></ul>
<p><em>Verified:</em> test/starcruise-run.js 37/37 PASS (adds EXIT-click-stops-mode + 512x384 assertions; core band-plays-on-beat + clean-teardown preserved).</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=6241&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/58c9d4e12231d7451607819b139ea5f4cdd91a35">58c9d4e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/58c9d4e12231d7451607819b139ea5f4cdd91a35</comments>
</item>
<item>
<title>Star-cruise 3D video mode: fly the genre map, land, alien BANDS play</title>
<link>https://stellate.app/?genre=lofi&amp;seed=1299&amp;path=263.9049,282.9082,244.9082&amp;xdur=13.122</link>
<guid isPermaLink="false">a9ea72bbdfbc2c319f8f73985b270f2ee8751b8c</guid>
<pubDate>Sat, 11 Jul 2026 19:15:12 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>lofi</category>
<category>harmony</category>
<description><![CDATA[A new PS1-lofi 3D video mode (its own 🛸 button). The cockpit flies the genre star map; landing on a genre opens the ship and 1..N aliens assemble a BAND playing INVENTED procedural instruments with their appendages IN TIME with the music (2-bone IK]]></description>
<content:encoded><![CDATA[<p>A new PS1-lofi 3D video mode (its own 🛸 button). The cockpit flies the genre star map; landing on a genre opens the ship and 1..N aliens assemble a BAND playing INVENTED procedural instruments with their appendages IN TIME with the music (2-bone IK</p>
<ul><li>Three.js r160 (MIT) vendored at vendor/three/, LAZY-loaded only on activation (dynamic import) so the zero-dependency initial/mobile load is untouched.</li><li>app/starcruise.js (controller) + app/starcruise/{traits,alien,backdrop,postfx, flight}.js; bright flat vivid lighting + a linear-&gt;sRGB post-fx fix.</li><li>OFF by default; no engine/render-path file touched (byte-identity safe); index.html +1 module line; docs/STARCRUISE.md.</li></ul>
<p><em>Verified:</em> test/starcruise-run.js 30/30 PASS (band spawns on land, plays on the beat max-dist 0.000, clean teardown, no leak); traits deterministic + diverse; explorer-ui regression gate green.</p>
<p><a href="https://stellate.app/?genre=lofi&amp;seed=1299&amp;path=263.9049,282.9082,244.9082&amp;xdur=13.122">▶ Play it: Dust Census — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a9ea72bbdfbc2c319f8f73985b270f2ee8751b8c">a9ea72b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a9ea72bbdfbc2c319f8f73985b270f2ee8751b8c</comments>
</item>
<item>
<title>Video export: fix silent canvas taint + iOS guard + container/ext + hidden-tab</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=6642&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">dc5dc84adab8ff9cefc4e56de2219587cb836f89</guid>
<pubDate>Sat, 11 Jul 2026 18:05:46 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[docs/ROADMAP.md 2.1-2.3 statically-sound fixes:]]></description>
<content:encoded><![CDATA[<p>docs/ROADMAP.md 2.1-2.3 statically-sound fixes:</p>
<ul><li>restrict the export take to LOCAL clips (a cross-origin drawImage silently taints the canvas; the old try/catch could not catch it) + fix the false &quot;caught and skipped&quot; header comment</li><li>feature-detect captureStream + a working audio track; disable on iOS/unsupported</li><li>derive the download extension AND Blob type from rec.mimeType (was hard-coded .webm)</li><li>refuse/pause recording when document.hidden (drop the false &quot;immune to throttling&quot;)</li></ul>
<p><em>Verified:</em> video-export-probe PASS (168 frames, audio, graceful taint-degrade, hidden-tab refusal). Safari-mp4 / iOS-disable / real-remote-taint / real-throttle remain device-pending.</p>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=6642&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/dc5dc84adab8ff9cefc4e56de2219587cb836f89">dc5dc84</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/dc5dc84adab8ff9cefc4e56de2219587cb836f89</comments>
</item>
<item>
<title>Genre-intelligence layer: offline analysis/search tools + WARN gates + docs</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=2942&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">ab8f3fe6ecb18a9e51210cbb1812920474e2bce6</guid>
<pubDate>Sat, 11 Jul 2026 18:05:46 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[Build out docs/ROADMAP.md Workstream 1 — a read-only, byte-safe layer over the verifier's already-computed feature geometry and 249x249 confusion matrix (both previously computed then discarded).]]></description>
<content:encoded><![CDATA[<p>Build out docs/ROADMAP.md Workstream 1 — a read-only, byte-safe layer over the verifier's already-computed feature geometry and 249x249 confusion matrix (both previously computed then discarded).</p>
<ul><li>engine/genre-geometry.js (centroids/dist/nearest/matrix; centroids byte-identical to validate-genres gateGeometry) + engine/genre-sim.js (node-safe anchor-Jaccard)</li><li>genre-verifier.js: persist matrix.json; opt-in scoreRow contributions (default path byte-unchanged)</li><li>Five WARN gates in validate-genres.js (never hard-fail): near-duplicate, margin-sentinel, determinism-fuzz, blend-monotonicity, dead-axis</li><li>14 CLI tools incl. target-blend (nearest-reachable solver), target-lint, leak-attribution, neighbors, genome-diff, coverage, feature-pca, feature-layout, mutate, genre-math, surprise, empty-space, lesson</li></ul>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=2942&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/ab8f3fe6ecb18a9e51210cbb1812920474e2bce6">ab8f3fe</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/ab8f3fe6ecb18a9e51210cbb1812920474e2bce6</comments>
</item>
<item>
<title>Six known Western genres: Yacht Rock, R&amp;B, Gospel, Honky-Tonk, Country Pop, Alt-Country</title>
<link>https://stellate.app/?genre=gospel&amp;seed=9064&amp;path=171.7086,2178.5049,795.22032&amp;xdur=0.043</link>
<guid isPermaLink="false">8e5a0c50dbe8806caaf12beec1c65114a87eff68</guid>
<pubDate>Sat, 11 Jul 2026 15:12:48 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>gospel</category>
<category>honkytonk</category>
<category>altcountry</category>
<category>explainer</category>
<description><![CDATA[Paul asked for the genres we were weak on: "yacht rock and r&b and gospel... country. Both new and old.]]></description>
<content:encoded><![CDATA[<p>Paul asked for the genres we were weak on: &quot;yacht rock and r&amp;b and gospel... country. Both new and old.</p>
<ul><li>yachtrock — Rhodes/sax soft rock, neosoul/ii_v_i, ~112bpm, dry polished mix</li><li>rnb — slow-jam quiet-storm soul, solo-vox lead, ~72bpm</li><li>gospel — choir + church organ, big backbeat, wide reverb, major cadences, ~92bpm</li><li>honkytonk — steel-string/fiddle/harmonica, high-swing shuffle, dry spring, ~108bpm</li></ul>
<p><em>Verified:</em> matrix 249/249 diagonal-dominant, validate PASS (0 fail), explorer-ui PASS, prove + matproof byte-identical (composition unchanged; new anchors only).</p>
<p><a href="https://stellate.app/?genre=gospel&amp;seed=9064&amp;path=171.7086,2178.5049,795.22032&amp;xdur=0.043">▶ Play it: Rapture Logistics → Last Call Cosmology → Tumbleweed Perihelion — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/8e5a0c50dbe8806caaf12beec1c65114a87eff68">8e5a0c5</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/8e5a0c50dbe8806caaf12beec1c65114a87eff68</comments>
</item>
<item>
<title>Three international/modal genres: Silk Mist, Taqsim, Vespers</title>
<link>https://stellate.app/?genre=vespers&amp;seed=9965&amp;path=2374.14021,121.16807,2335.13068&amp;xdur=0.169</link>
<guid isPermaLink="false">beda65ddbd3a4dc15bc6cbc42e49f8b30213c8fd</guid>
<pubDate>Sat, 11 Jul 2026 14:23:44 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vespers</category>
<category>taqsim</category>
<category>silkmist</category>
<category>explainer</category>
<description><![CDATA[Paul: "I really expect more Chinese music and Arab music with those modalities and instrumentation. I expect Bulgarian chant."]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;I really expect more Chinese music and Arab music with those modalities and instrumentation. I expect Bulgarian chant.&quot;</p>
<ul><li>silkmist — Chinese pentatonic: koto/pan_flute/fiddle, mode_mixo/dorian/drone_min</li><li>taqsim — Arab hijaz maqam: sitar/oboe/pan_flute, hijaz/andalusian/phrygian</li><li>vespers — Bulgarian Orthodox chant: ahh_choir/ohh_voices, drone_min, no drums</li><li>Authored via tools/genre-tool.js create (specs in genre-specs/). vespers needed all-sampler voices + heavy shimmer reverb + acoustic/wash-weighted verify to break a matrix tie with the sourdough/termswave…</li></ul>
<p><em>Verified:</em> matrix 243/243 diagonal-dominant, validate PASS, explorer-ui PASS, prove + matproof byte-identical (composition unchanged; new anchors only).</p>
<p><a href="https://stellate.app/?genre=vespers&amp;seed=9965&amp;path=2374.14021,121.16807,2335.13068&amp;xdur=0.169">▶ Play it: Basalt Antiphon → Sirocco Sermon → Jade Vapor Archive — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/beda65ddbd3a4dc15bc6cbc42e49f8b30213c8fd">beda65d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/beda65ddbd3a4dc15bc6cbc42e49f8b30213c8fd</comments>
</item>
<item>
<title>Playhead scrub SNAPS to where you drop it + soundfont rides the URL</title>
<link>https://stellate.app/?genre=bigband&amp;seed=6840&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">918ca208919238cfed972c82e16a13c3e3f56281</guid>
<pubDate>Sat, 11 Jul 2026 13:48:14 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[PLAYHEAD — while live, retarget only GLIDED (never set playing), so a scrub moved the visual traveler but the audio slow-glided back toward the old spot.]]></description>
<content:encoded><![CDATA[<ul><li><strong>PLAYHEAD</strong> — while live, retarget only GLIDED (never set playing), so a scrub moved the visual traveler but the audio slow-glided back toward the old spot.</li><li><strong>SOUNDFONT IN URL</strong> — buildShareUrl adds ?sf=&lt;font&gt; (non-default), and the chosen font restores from ?sf= (over localStorage) on load — a shared link brings its Pure Analog / Pure FM / GM font with it.</li></ul>
<p><em>Verified:</em> share-url PASS (13 checks); explorer-ui PASS (boot + live ride, zero errors — the targeting/starmap changes don't break playback).</p>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=6840&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/918ca208919238cfed972c82e16a13c3e3f56281">918ca20</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/918ca208919238cfed972c82e16a13c3e3f56281</comments>
</item>
<item>
<title>GM variety: use the whole palette — marimba/koto/dulcimer, not just winds</title>
<link>https://stellate.app/?genre=bigband&amp;seed=3311&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">527dae3779df701306eff709b9a5693b2da74e67</guid>
<pubDate>Sat, 11 Jul 2026 13:38:20 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[Paul: "use way more General MIDI — where are marimbas?? see how often we fall back on samples… we use so much of the same bases." We have 108 sampled instruments but the fallback (a synth-model voice remapped to a sample under sampledOnly) funneled almost every UNMAPPED generic synth…]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;use way more General MIDI — where are marimbas?? see how often we fall back on samples… we use so much of the same bases.&quot; We have 108 sampled instruments but the fallback (a synth-model voice remapped to a sample under sampledOnly) funneled almost every UNMAPPED generic synth…</p>
<ul><li>Widened SAMPLED_BASSES (+synth_bass_1/2), SAMPLED_PADS (+synth_strings_2/ atmosphere/fantasia/crystal/ice_rain), and every SAMPLED_LEAD family</li><li>UNMAPPED generic synths now draw a lead family PER SONG across the whole palette (was always &quot;wind&quot;), so marimba/vibraphone/koto/dulcimer/accordion actually appear.</li><li>RENDER-only (pickSampledId runs in forceSampled, not buildEvents) → fixtures 0-drift, matrix/segment-parity byte-identical; the instrument HEARD changes, the score does not.</li></ul>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=3311&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/527dae3779df701306eff709b9a5693b2da74e67">527dae3</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/527dae3779df701306eff709b9a5693b2da74e67</comments>
</item>
<item>
<title>Fix the broken video export: real frames + audio (was 1 frame, no sound)</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=7687&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">c4e72927d25f7c2c5371dc825ed770930f49d3ec</guid>
<pubDate>Sat, 11 Jul 2026 13:27:57 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[Paul: the recorded video was "one frame for an hour with no audio, VLC crashes." My earlier headless probe only checked blob size + a SEPARATE press-path rms, not the actual video content — so it missed all of this.]]></description>
<content:encoded><![CDATA[<p>Paul: the recorded video was &quot;one frame for an hour with no audio, VLC crashes.&quot; My earlier headless probe only checked blob size + a SEPARATE press-path rms, not the actual video content — so it missed all of this.</p>
<ul><li><strong>NO AUDIO</strong> — on DESKTOP the classic graph has no msDest (userGain → destination directly), so audioStream() returned null and there was no mediaEl to fall back to.</li><li>ONE FRAME / hour-long / VLC-crash: the capture canvas was OFF-DOM and driven by requestAnimationFrame — captureStream produced a near-static, malformed stream.</li></ul>
<p><em>Verified:</em> (test/video-export-probe.js, now checks REAL content): 6 s take → 171 composited frames, audio track present, vp9+opus webm, 536 KB (was a static ~200 KB).</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=7687&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — the brightest, most processed corner of the space</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c4e72927d25f7c2c5371dc825ed770930f49d3ec">c4e7292</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c4e72927d25f7c2c5371dc825ed770930f49d3ec</comments>
</item>
<item>
<title>Found-at-90%: the vocal/chop/bed layer only plays at a dominant genre</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=9792&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">c572b820aaf08fcadef280bdb5810576bf323ca6</guid>
<pubDate>Sat, 11 Jul 2026 13:21:04 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>voice</category>
<description><![CDATA[Paul: "whatever vocal or sampled chops and found sound beds are in use stop playing unless a genre is at 90% or above." The found layer now renders only when the top blend weight >= 90% (genreMeta.t <= 0.1)]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;whatever vocal or sampled chops and found sound beds are in use stop playing unless a genre is at 90% or above.&quot; The found layer now renders only when the top blend weight &gt;= 90% (genreMeta.t &lt;= 0.1)</p>
<p><em>Verified:</em> fixtures 0-drift; vaporwave found events = 10 at t=0/0.05, 0 at t=0.3.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=9792&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c572b820aaf08fcadef280bdb5810576bf323ca6">c572b82</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c572b820aaf08fcadef280bdb5810576bf323ca6</comments>
</item>
<item>
<title>Fix batch (Paul's stellate.app feedback) + SW bump so it actually lands</title>
<link>https://stellate.app/?genre=bebop&amp;seed=4451&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">9d829f9bd738b212bae4ebbb5e80d4d530541914</guid>
<pubDate>Sat, 11 Jul 2026 13:16:30 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[The v2 service worker served a load-behind copy, so Paul saw NONE of the recent batch. Bump VERSION v2→v3 (purges old cache on activate → a deploy lands in ONE load).]]></description>
<content:encoded><![CDATA[<p>The v2 service worker served a load-behind copy, so Paul saw NONE of the recent batch. Bump VERSION v2→v3 (purges old cache on activate → a deploy lands in ONE load).</p>
<ul><li>VAPOR is a real &quot;empty mall&quot; now: as vapor 0→1 the master MUFFLES (lowpass 20k→1.4k), RECEDES (dry ducks) and drenches in a big DIFFUSE hall wash (3 lowpassed comb delays + pre-delay)</li><li><strong>SYNTH-FONT DRUMS</strong> — a synth font now drops the sampled kit so drums are the engine's synthesized voices too. The real gate was applySampledOnly (runs on every track() and re-added a kit after toState)</li><li>HOVERING VOICES fixed on the analog font: voice/choir/string/organ instruments (and all PADS) route to the POLY juno60 instead of collapsing on mono modeld.</li><li>Renamed the fonts: MiniMoog → &quot;Pure Analog&quot;, DX7 → &quot;Pure FM&quot;; small oscillator drift floor across the analog voices.</li></ul>
<p><em>Verified:</em> fixtures 0-drift (all opt-in/live-only); synthfont probe both fonts render audio (Pure Analog rms .074 / Pure FM .080), pads poly juno60 at render; video probe PASS (201KB webm + progress)</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=4451&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9d829f9bd738b212bae4ebbb5e80d4d530541914">9d829f9</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9d829f9bd738b212bae4ebbb5e80d4d530541914</comments>
</item>
<item>
<title>E: video export — record the live visuals + audio to webm (no ffmpeg)</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=8739&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">55938b0316f266c1be71b4f8c4e007b0d4d3dc28</guid>
<pubDate>Sat, 11 Jul 2026 12:39:34 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[A ⏺ video button in the ⚙ panel records the live journey to a .webm: the built-in MediaRecorder muxes a canvas.captureStream() with the engine's master audio track — NO 30MB ffmpeg.wasm dependency.]]></description>
<content:encoded><![CDATA[<p>A ⏺ video button in the ⚙ panel records the live journey to a .webm: the built-in MediaRecorder muxes a canvas.captureStream() with the engine's master audio track — NO 30MB ffmpeg.wasm dependency.</p>
<ul><li>Compositor (app/video-export.js): the found-VIDEO front clip cover-fit as the background with the DEMOSCENE screen-blended on top — the same look as live.</li><li>live.js handle: audioStream() → the msDest MediaStream (falls back to mediaEl.captureStream).</li><li>video-layer.js: _frontEl() → the front &lt;video&gt; for compositing.</li><li>panels.js: the ⏺/⏹ button. video-export.js: recordVideo/stopVideo (+ window.__VIDEO).</li></ul>
<p><em>Verified:</em> test/video-export-probe.js (browser) — button present, MediaRecorder supported, a 4s take returns a valid ~421 KB webm (vp9) of the composited visuals + audio.</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=8739&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/55938b0316f266c1be71b4f8c4e007b0d4d3dc28">55938b0</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/55938b0316f266c1be71b4f8c4e007b0d4d3dc28</comments>
</item>
<item>
<title>B: synth fonts — MiniMoog + DX7 in the ⚙ soundfont switcher</title>
<link>https://stellate.app/?genre=bigband&amp;seed=8607&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">dbc5c9ffc76af800befb875263eb54bd5c6fa916</guid>
<pubDate>Sat, 11 Jul 2026 12:26:35 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[Two NON-sample fonts: picking one routes the sampler lane to a Faust synth voice per GM instrument instead of samples (Wendy-Carlos "Switched-On Bach"). Built-in, no assets — pure params, registered into the kernel at init.]]></description>
<content:encoded><![CDATA[<p>Two NON-sample fonts: picking one routes the sampler lane to a Faust synth voice per GM instrument instead of samples (Wendy-Carlos &quot;Switched-On Bach&quot;). Built-in, no assets — pure params, registered into the kernel at init.</p>
<ul><li>MiniMoog (analog): each GM instrument → a modeld voice by tonal family (brass/ reed/flute/string/mallet/pluck/bass/key/organ/voice/lead → cutoff/env/attack/ sustain/drive/oscMix/drift).</li><li><strong>DX7</strong> — each GM instrument → a Yamaha DX7 ROM patch ({algorithm,params} from the 114-patch bank) — per-instrument where the ROM names it (SITAR/KOTO/MARIMBA/ ACCORDION/…), else the family patch…</li><li>genre-kernel: instrMerge() (default toState path) + _sampledOnlySpec() (the allSampled path) emit {model:modeld/juno60/dx7, params/dx7} instead of zones when a synth font is active</li><li>state-engine forceSampled: one branch — spec.synth → route to the existing modeld/dx7 dispatch (level/sends/register ride through the recipe).</li></ul>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=8607&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/dbc5c9ffc76af800befb875263eb54bd5c6fa916">dbc5c9f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/dbc5c9ffc76af800befb875263eb54bd5c6fa916</comments>
</item>
<item>
<title>D.2: a little Bach-minuet chromaticism — applied dominants</title>
<link>https://stellate.app/?genre=bossanova&amp;seed=4425&amp;path=575.11711,694.13856,1016.6498&amp;xdur=0.102</link>
<guid isPermaLink="false">952a0e9128bb5963b9bddcfe3081605162627167</guid>
<pubDate>Sat, 11 Jul 2026 11:56:57 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bossanova</category>
<category>bebop</category>
<category>oscillatorminuet</category>
<category>harmony</category>
<description><![CDATA[Paul: "just a little. Think Bach minuet." The harmony organ had secondary dominants gated at adventure>0.5, so most genres never reached them and read as all-diatonic.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;just a little. Think Bach minuet.&quot; The harmony organ had secondary dominants gated at adventure&gt;0.5, so most genres never reached them and read as all-diatonic.</p>
<ul><li>Dose: +~0.75–1.3 non-diatonic tones per 8-bar phrase in the mild-to-mid band (≈ one applied-dominant moment per phrase), tapering at the extremes.</li></ul>
<p><em>Verified:</em> theory.test (monotonicity + voice-leading motion &lt;3st both green); pipes; verify.sh with FRESH matrix (theory.js isn't a cache-key) = 240/240 diagonal-dominant</p>
<p><a href="https://stellate.app/?genre=bossanova&amp;seed=4425&amp;path=575.11711,694.13856,1016.6498&amp;xdur=0.102">▶ Play it: Saudade Observatory → Mercury Interrogation → Voltage Curtsy — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/952a0e9128bb5963b9bddcfe3081605162627167">952a0e9</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/952a0e9128bb5963b9bddcfe3081605162627167</comments>
</item>
<item>
<title>D.1: instrument-register law — good octave choices, no shrieks</title>
<link>https://stellate.app/?genre=jungle&amp;seed=1572&amp;path=1718.20526,196.11743&amp;xdur=0.084</link>
<guid isPermaLink="false">90d7f6fce599ffc6b95203daba7c0298bbb872b0</guid>
<pubDate>Sat, 11 Jul 2026 11:45:48 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[Each melodic instrument now has a MUSICAL playing range (MIDI), and a note outside it octave-FOLDS into range (whole octaves → same pitch class → stays in key) — so a flute never climbs into its shriek register and a bass never rumbles below its body.]]></description>
<content:encoded><![CDATA[<p>Each melodic instrument now has a MUSICAL playing range (MIDI), and a note outside it octave-FOLDS into range (whole octaves → same pitch class → stays in key) — so a flute never climbs into its shriek register and a bass never rumbles below its body.</p>
<ul><li>fixtures: 0 drift (composition identical)</li><li>segment-parity: ALL byte-equal (press==stream both fold; covers jungle sampler trombone, spokenword sax, etc.)</li><li>Ranges are my best musical judgment (comfortable ceilings a touch under the physical extreme, where the shriek lives) — tunable per instrument by ear.</li></ul>
<p><em>Verified:</em> verify.sh + theory/pipes/speech: green</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=1572&amp;path=1718.20526,196.11743&amp;xdur=0.084">▶ Play it: Barometric Stampede → Dial Tone Prophet — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/90d7f6fce599ffc6b95203daba7c0298bbb872b0">90d7f6f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/90d7f6fce599ffc6b95203daba7c0298bbb872b0</comments>
</item>
<item>
<title>C.1: global VAPOR slider — live-only &quot;walking through a mall&quot; master EQ</title>
<link>https://stellate.app/?genre=jungle&amp;seed=6117&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">e3643c7d4de3c3807bd1f855f5288a76d3c3107d</guid>
<pubDate>Sat, 11 Jul 2026 05:10:24 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>drums</category>
<description><![CDATA[A new ⚙ slider (0..100%) that, on the live classic exploreLive graph, rolls the top off (high-shelf down to -16 dB) and adds a short reverb wash, both scaled by vapor 0..1 — the department-store-muffle knob.]]></description>
<content:encoded><![CDATA[<p>A new ⚙ slider (0..100%) that, on the live classic exploreLive graph, rolls the top off (high-shelf down to -16 dB) and adds a short reverb wash, both scaled by vapor 0..1 — the department-store-muffle knob.</p>
<ul><li>live.js: vaporShelf + a small feedback-delay reverb send in the output graph; handle.setVapor(v) -&gt; applyVapor rides both, click-free.</li><li>app/live.js: setVapor wrapper (persist + apply), vapor passed in exploreLive opts.</li><li>state.js: _vapor persisted like _masterVol. panels.js: the slider row.</li><li>WAV-first mobile path plays a plain &lt;audio&gt; (no live graph), so vapor rides the classic/desktop path only</li></ul>
<p><em>Verified:</em> (test/vapor-loopexport-probe.js, browser): slider persists to localStorage, S.vapor tracks, riding it on the RUNNING graph throws nothing and playback survives.</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=6117&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — the genre that is mostly drums, so the kit has nowhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/e3643c7d4de3c3807bd1f855f5288a76d3c3107d">e3643c7</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/e3643c7d4de3c3807bd1f855f5288a76d3c3107d</comments>
</item>
<item>
<title>F.3: make the whole-path AUDIO export walk async + chunked</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=6521&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046</link>
<guid isPermaLink="false">17ab74c91b9cc83c2d7e82f55e07f4ade129f1a0</guid>
<pubDate>Sat, 11 Jul 2026 04:57:27 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>jungle</category>
<category>travel</category>
<description><![CDATA[buildLoopPlan walked the entire loop SYNCHRONOUSLY on the main thread (same shape as the MIDI-export crash) — a long path's per-bar stateAt + buildEvents + voice units froze the page.]]></description>
<content:encoded><![CDATA[<p>buildLoopPlan walked the entire loop SYNCHRONOUSLY on the main thread (same shape as the MIDI-export crash) — a long path's per-bar stateAt + buildEvents + voice units froze the page.</p>
<p><em>Verified:</em> journey.js/export.js parse; simulate-path gate green (walk intact). Browser export-flow verification to follow at the checkpoint.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=6521&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046">▶ Play it: Food Court Eternity → Smoke Arithmetic → Barometric Stampede — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/17ab74c91b9cc83c2d7e82f55e07f4ade129f1a0">17ab74c</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/17ab74c91b9cc83c2d7e82f55e07f4ade129f1a0</comments>
</item>
<item>
<title>A.2: granular repitch on far-from-root sampled notes (opt-in, render-only)</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=3301&amp;path=1679.4415,292.16891&amp;xdur=0.06</link>
<guid isPermaLink="false">38c3a6bd07b685d7bbf7263006d20e7124ca2e1d</guid>
<pubDate>Sat, 11 Jul 2026 04:57:12 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>found</category>
<description><![CDATA[The sampler's granular capability now fires automatically: a unit that sets recipe `granular:<st>` takes the formant/length-preserving grain path for any note whose playback rate stretches the sample >= that many semitones from a zone root — instead of chipmunk/rumble rate-stretch.]]></description>
<content:encoded><![CDATA[<p>The sampler's granular capability now fires automatically: a unit that sets recipe `granular:&lt;st&gt;` takes the formant/length-preserving grain path for any note whose playback rate stretches the sample &gt;= that many semitones from a zone root — instead of chipmunk/rumble rate-stretch.</p>
<ul><li>sampler.js mixPCM: threshold trigger off sends.granularOverSt (per-note rate); n.granular still forces it. Absent =&gt; byte-identical.</li><li>state-engine samplerUnit: carry granularOverSt/grainSec from the recipe.</li><li>press.js + stream-renderer.js: pass the config through the per-unit sends.</li><li>genre-kernel: RECIPE_PASSTHROUGH set so the scalar flag blends WITHOUT an inRange draw — the composition is byte-identical, ONLY the render changes (vaporwave events+features unchanged; just the new state key).</li></ul>
<p><em>Verified:</em> fixtures scoped to vaporwave state only (events/features identical); verify.sh green; segment-parity ALL byte-equal incl vaporwave_s1. ~13% of the sax notes trigger.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=3301&amp;path=1679.4415,292.16891&amp;xdur=0.06">▶ Play it: Food Court Eternity → Smoke Arithmetic — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/38c3a6bd07b685d7bbf7263006d20e7124ca2e1d">38c3a6b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/38c3a6bd07b685d7bbf7263006d20e7124ca2e1d</comments>
</item>
<item>
<title>Scratch: opt in ALL chops-role genres by default (Paul: &quot;lots of other genres&quot;)</title>
<link>https://stellate.app/?genre=techno&amp;seed=3222&amp;path=1956.22436,1101.20850,1718.20526&amp;xdur=0.339</link>
<guid isPermaLink="false">b4dc8a5ed410d392a6a339fc421dc2a7cd491bde</guid>
<pubDate>Sat, 11 Jul 2026 04:24:42 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>techno</category>
<category>house</category>
<category>jungle</category>
<category>voice</category>
<description><![CDATA["Opt in lots of other genres for scratching anywhere we loop a vocal chop / synth sample / instrumental." The CHOPS found role IS that looped material, so it now scratches BY DEFAULT catalog-wide: foundScratch defaults 0.14 for role "chops" (explicit per-genre `scratch:` still overrides, incl 0 to…]]></description>
<content:encoded><![CDATA[<p>&quot;Opt in lots of other genres for scratching anywhere we loop a vocal chop / synth sample / instrumental.&quot; The CHOPS found role IS that looped material, so it now scratches BY DEFAULT catalog-wide: foundScratch defaults 0.14 for role &quot;chops&quot; (explicit per-genre `scratch:` still overrides, incl 0 to…</p>
<ul><li>BREAK (drum loops) is deliberately NOT defaulted — it's not the vocal/instrumental material named; boombap/jungle keep their explicit stutter-only scratch.</li><li>Byte-scope: drift is EXACTLY the chops/break genres (bed/narration/response/buried untouched, byte-identical); fixtures recaptured.</li></ul>
<p><a href="https://stellate.app/?genre=techno&amp;seed=3222&amp;path=1956.22436,1101.20850,1718.20526&amp;xdur=0.339">▶ Play it: Unblinking Interval → Congregation Furnace → Barometric Stampede — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b4dc8a5ed410d392a6a339fc421dc2a7cd491bde">b4dc8a5</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b4dc8a5ed410d392a6a339fc421dc2a7cd491bde</comments>
</item>
<item>
<title>Wire scratch to FIRE: turntablist genres get the fwd↔back hand (A.1)</title>
<link>https://stellate.app/?genre=jungle&amp;seed=4466&amp;path=1718.20526,205.10395,90.9508&amp;xdur=0.067</link>
<guid isPermaLink="false">fd145a3a97ce097e4b31f719864be59892c1ecd5</guid>
<pubDate>Sat, 11 Jul 2026 04:15:35 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>boombap</category>
<category>crateflip</category>
<category>voice</category>
<description><![CDATA[The f.scratch DSP capability landed opt-in/silent last session; this makes it play. Deterministic + occasional, biased to turntablist genres, byte-safe when absent (a dedicated +7333 rng stream never drawn unless a genre opts in).]]></description>
<content:encoded><![CDATA[<p>The f.scratch DSP capability landed opt-in/silent last session; this makes it play. Deterministic + occasional, biased to turntablist genres, byte-safe when absent (a dedicated +7333 rng stream never drawn unless a genre opts in).</p>
<ul><li>csd-engine: stamp scratch on chops-role hits (crateflip's soul-78 chops) and ONLY the break-role stutter ornament (boombap/jungle amen) so the drum groove stays intact; carry scratch onto srcById conditionally.</li><li>state-engine: plumb scratch through the chop push -&gt; found-player sees f.scratch.</li><li>found-player: the real-time FoundLive.chop pre-renders the triangle scrub into a one-shot buffer (WebAudio has no scrub primitive), same math as mixPCM.</li><li>genre-kernel: foundScratch pulled from the found parent; scratch key baked onto opted sources only. crateflip 0.18 (chops), boombap 0.5 / jungle 0.45 (stutter).</li></ul>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=4466&amp;path=1718.20526,205.10395,90.9508&amp;xdur=0.067">▶ Play it: Barometric Stampede → Milk Crate Scripture → Shellac Excavation — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/fd145a3a97ce097e4b31f719864be59892c1ecd5">fd145a3</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/fd145a3a97ce097e4b31f719864be59892c1ecd5</comments>
</item>
<item>
<title>Fix MIDI-still-crashing: async chunked whole-path walk (don't freeze the page)</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=6618&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">d62db0da89cd76ee874e61afce6583a36f49a44a</guid>
<pubDate>Sat, 11 Jul 2026 03:29:22 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[The 2048-bar cap wasn't enough: the per-bar stateAt (K.mix genre blend) + buildEvents cost ~11ms, so a long loop's SYNCHRONOUS main-thread walk blocked the UI ~22s and the browser killed the page.]]></description>
<content:encoded><![CDATA[<p>The 2048-bar cap wasn't enough: the per-bar stateAt (K.mix genre blend) + buildEvents cost ~11ms, so a long loop's SYNCHRONOUS main-thread walk blocked the UI ~22s and the browser killed the page.</p>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=6618&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/d62db0da89cd76ee874e61afce6583a36f49a44a">d62db0d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/d62db0da89cd76ee874e61afce6583a36f49a44a</comments>
</item>
<item>
<title>Found-player: scratch mode on chops (turntablist read-rate DSP)</title>
<link>https://stellate.app/?genre=jungle&amp;seed=5585&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">def90c618427e2a97229e6b64d39c9fd900fb365</guid>
<pubDate>Sat, 11 Jul 2026 03:18:09 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>found</category>
<description><![CDATA[Paul: 'introduce the concept of scratching on samples from time to time.' Adds an opt-in f.scratch to the chop renderer: the read position oscillates forward<->reverse (a triangle wave, constant rate each direction) over passes across a small of the buffer, so the chop plays fwd/back/fwd]]></description>
<content:encoded><![CDATA[<p>Paul: 'introduce the concept of scratching on samples from time to time.' Adds an opt-in f.scratch to the chop renderer: the read position oscillates forward&lt;-&gt;reverse (a triangle wave, constant rate each direction) over passes across a small of the buffer, so the chop plays fwd/back/fwd</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=5585&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/def90c618427e2a97229e6b64d39c9fd900fb365">def90c6</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/def90c618427e2a97229e6b64d39c9fd900fb365</comments>
</item>
<item>
<title>Playhead scrub: use constant-pace distance math so ▶ resumes where you dragged</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=8501&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046</link>
<guid isPermaLink="false">3ee93f5dd1a0d28d7591fb17dee079c2544459fe</guid>
<pubDate>Sat, 11 Jul 2026 03:13:11 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>jungle</category>
<category>travel</category>
<description><![CDATA[Paul: 'when I move the playhead and hit play it just goes back where it was.' dragPlayhead still computed the measure as (seg+t)*pace (old fixed-bars-per-leg), but goLive's drop-in and the URL now use the distance-based travelForBar]]></description>
<content:encoded><![CDATA[<p>Paul: 'when I move the playhead and hit play it just goes back where it was.' dragPlayhead still computed the measure as (seg+t)*pace (old fixed-bars-per-leg), but goLive's drop-in and the URL now use the distance-based travelForBar</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=8501&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046">▶ Play it: Food Court Eternity → Smoke Arithmetic → Barometric Stampede — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/3ee93f5dd1a0d28d7591fb17dee079c2544459fe">3ee93f5</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/3ee93f5dd1a0d28d7591fb17dee079c2544459fe</comments>
</item>
<item>
<title>Viz: bigger everything, more vertical spread, larger fx chips</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=9159&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046</link>
<guid isPermaLink="false">baffad0fee6008d1ede9f0aad23eb88a6f7b39b8</guid>
<pubDate>Sat, 11 Jul 2026 03:13:11 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>jungle</category>
<category>travel</category>
<description><![CDATA[Paul: 'make everything bigger and spread it out vertically' + 'the effects don't need to be tiny.' Taller blend bar (16->22) + rolls (34->50px), larger radar (262->340), roomier section + lane spacing (tlrow .85rem->1.45rem), bigger lane titles (16->19) + labels, wider graph (380->470)]]></description>
<content:encoded><![CDATA[<p>Paul: 'make everything bigger and spread it out vertically' + 'the effects don't need to be tiny.' Taller blend bar (16-&gt;22) + rolls (34-&gt;50px), larger radar (262-&gt;340), roomier section + lane spacing (tlrow .85rem-&gt;1.45rem), bigger lane titles (16-&gt;19) + labels, wider graph (380-&gt;470)</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=9159&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046">▶ Play it: Food Court Eternity → Smoke Arithmetic → Barometric Stampede — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/baffad0fee6008d1ede9f0aad23eb88a6f7b39b8">baffad0</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/baffad0fee6008d1ede9f0aad23eb88a6f7b39b8</comments>
</item>
<item>
<title>reedrush: lead forward + softer kick (fix quiet lead + kick transient click)</title>
<link>https://stellate.app/?genre=reedrush&amp;seed=4057&amp;path=845.15053,864.15086,826.15086&amp;xdur=13.122</link>
<guid isPermaLink="false">94a23b9913868fbd0bfef5481cd3e7c97ee8839b</guid>
<pubDate>Sat, 11 Jul 2026 03:13:11 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>reedrush</category>
<category>drums</category>
<description><![CDATA[Paul at a reedrush location: 'lead too quiet' + 'bass drum processed, bad transient click.' Lead: the kpluck arp was level 0.62-0.74 but drowning in its OWN delay (dsend 0.46-0.56) — level up to 0.84-0.98, dsend halved to 0.2-0.32 so the dry lead sits up front.]]></description>
<content:encoded><![CDATA[<p>Paul at a reedrush location: 'lead too quiet' + 'bass drum processed, bad transient click.' Lead: the kpluck arp was level 0.62-0.74 but drowning in its OWN delay (dsend 0.46-0.56) — level up to 0.84-0.98, dsend halved to 0.2-0.32 so the dry lead sits up front.</p>
<p><a href="https://stellate.app/?genre=reedrush&amp;seed=4057&amp;path=845.15053,864.15086,826.15086&amp;xdur=13.122">▶ Play it: Bulrush Cyclotron — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/94a23b9913868fbd0bfef5481cd3e7c97ee8839b">94a23b9</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/94a23b9913868fbd0bfef5481cd3e7c97ee8839b</comments>
</item>
<item>
<title>Viz zoom is independent + contain the iOS pinch-escape</title>
<link>https://stellate.app/?genre=bebop&amp;seed=5407&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">1688b6a7b54ffc3f014599d476ceb3dbd0f98ecc</guid>
<pubDate>Sat, 11 Jul 2026 03:02:08 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[Paul: (a) 'let me zoom in on the viz but don't let it affect the other modes' zoom' and (b) 'max zoom-out + keep going in iOS gets me to my browser tabs.' (a) The viz view gets its own VIZ={k,ox,oy} zoom state (CSS transform on #inside), completely separate from the map's ZOOM]]></description>
<content:encoded><![CDATA[<p>Paul: (a) 'let me zoom in on the viz but don't let it affect the other modes' zoom' and (b) 'max zoom-out + keep going in iOS gets me to my browser tabs.' (a) The viz view gets its own VIZ={k,ox,oy} zoom state (CSS transform on #inside), completely separate from the map's ZOOM</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=5407&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/1688b6a7b54ffc3f014599d476ceb3dbd0f98ecc">1688b6a</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/1688b6a7b54ffc3f014599d476ceb3dbd0f98ecc</comments>
</item>
<item>
<title>Viz graph: draw the fx chain as CONNECTED, directed nodes</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=2619&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">132df3bb13abce8a6c42f7f19c319d53d1edbab1</guid>
<pubDate>Sat, 11 Jul 2026 03:02:08 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[Paul: 'show how the node graph works... I can't see how they're connected.' The per-voice chips were a floating list; now the chain is drawn as connected nodes with arrowheads — voice -> fx1 -> fx2 -> ... -> sends -> delay -> reverb -> master -> out — so the signal flow reads as a directed graph.]]></description>
<content:encoded><![CDATA[<p>Paul: 'show how the node graph works... I can't see how they're connected.' The per-voice chips were a floating list; now the chain is drawn as connected nodes with arrowheads — voice -&gt; fx1 -&gt; fx2 -&gt; ... -&gt; sends -&gt; delay -&gt; reverb -&gt; master -&gt; out — so the signal flow reads as a directed graph.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=2619&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — the brightest, most processed corner of the space</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/132df3bb13abce8a6c42f7f19c319d53d1edbab1">132df3b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/132df3bb13abce8a6c42f7f19c319d53d1edbab1</comments>
</item>
<item>
<title>Fix browser crash: cap the whole-path walk length (constant-pace regression)</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=8747&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046</link>
<guid isPermaLink="false">bd3d6e434e8f0dd895733b2117ed98073081778f</guid>
<pubDate>Sat, 11 Jul 2026 03:02:08 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>jungle</category>
<category>travel</category>
<description><![CDATA[Paul hit a crash downloading MIDI from a large-coordinate loop URL (?m=787, path spanning y~16k-19k). Constant-pace made the loop length perim/speed]]></description>
<content:encoded><![CDATA[<p>Paul hit a crash downloading MIDI from a large-coordinate loop URL (?m=787, path spanning y~16k-19k). Constant-pace made the loop length perim/speed</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=8747&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046">▶ Play it: Food Court Eternity → Smoke Arithmetic → Barometric Stampede — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/bd3d6e434e8f0dd895733b2117ed98073081778f">bd3d6e4</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/bd3d6e434e8f0dd895733b2117ed98073081778f</comments>
</item>
<item>
<title>Sampler: granular repitch mode (Pass 1 of the Faust-fun program)</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=1563&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">671f77eb10cfaca4b3780b14b8208dd5c9d8602a</guid>
<pubDate>Sat, 11 Jul 2026 02:50:51 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Paul: 'I really miss granular repitching when it made sense.' Adds an opt-in n.granular mode to the sampler's mixPCM: it decouples pitch from duration]]></description>
<content:encoded><![CDATA[<p>Paul: 'I really miss granular repitching when it made sense.' Adds an opt-in n.granular mode to the sampler's mixPCM: it decouples pitch from duration</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=1563&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/671f77eb10cfaca4b3780b14b8208dd5c9d8602a">671f77e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/671f77eb10cfaca4b3780b14b8208dd5c9d8602a</comments>
</item>
<item>
<title>Viz graph: show each voice's FULL fx chain as chips, not just declared inserts</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=4243&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">904b8493cd85c7cae3a65c9bc92ebc68a3979331</guid>
<pubDate>Sat, 11 Jul 2026 02:35:33 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[Paul: 'there were tons of effects listed and none showing up in the nodes — were they not actually on?' They were on — the graph only drew u.inserts (<=2), dropping the real channel-strip DSP (HPF/LPF/EQ/saturate/comp/chorus/…) that the old per-lane line listed via fxLabels.]]></description>
<content:encoded><![CDATA[<p>Paul: 'there were tons of effects listed and none showing up in the nodes — were they not actually on?' They were on — the graph only drew u.inserts (&lt;=2), dropping the real channel-strip DSP (HPF/LPF/EQ/saturate/comp/chorus/…) that the old per-lane line listed via fxLabels.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=4243&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — the brightest, most processed corner of the space</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/904b8493cd85c7cae3a65c9bc92ebc68a3979331">904b849</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/904b8493cd85c7cae3a65c9bc92ebc68a3979331</comments>
</item>
<item>
<title>longshipwhip: thick death metal, not dry thrash — big reverb + ringing chords</title>
<link>https://stellate.app/?genre=longshipwhip&amp;seed=2338&amp;path=576.3328,430.3999&amp;xdur=1.092</link>
<guid isPermaLink="false">8d3aca52b32131ad8e305d6fda66449c93dacb2c</guid>
<pubDate>Sat, 11 Jul 2026 02:23:56 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>longshipwhip</category>
<category>heavymetal</category>
<category>harmony</category>
<description><![CDATA[Paul: 'I expect big reverb and chords on longshipwhip; it's not supposed to be that dry, supposed to feel thick like death metal.' Eased the tail-choking higain gate on lead + pads (0.6-0.8 -> 0.3-0.48) so the riff and the power-chord wall RING OUT]]></description>
<content:encoded><![CDATA[<p>Paul: 'I expect big reverb and chords on longshipwhip; it's not supposed to be that dry, supposed to feel thick like death metal.' Eased the tail-choking higain gate on lead + pads (0.6-0.8 -&gt; 0.3-0.48) so the riff and the power-chord wall RING OUT</p>
<p><a href="https://stellate.app/?genre=longshipwhip&amp;seed=2338&amp;path=576.3328,430.3999&amp;xdur=1.092">▶ Play it: Maelstrom Rowing Club → Molten Horsepower — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/8d3aca52b32131ad8e305d6fda66449c93dacb2c">8d3aca5</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/8d3aca52b32131ad8e305d6fda66449c93dacb2c</comments>
</item>
<item>
<title>Inside viz: translucent graph nodes (read the send curves beneath)</title>
<link>https://stellate.app/?genre=jungle&amp;seed=9715&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">270832cb9862f5bba6856e9522fed00f4ca303e9</guid>
<pubDate>Sat, 11 Jul 2026 02:23:56 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>drums</category>
<description><![CDATA[Paul: 'make the nodes translucent so I can read beneath them.' The voice boxes were the only opaque node (fill .85); dropped to .42 so the send curves passing behind them show through.]]></description>
<content:encoded><![CDATA[<p>Paul: 'make the nodes translucent so I can read beneath them.' The voice boxes were the only opaque node (fill .85); dropped to .42 so the send curves passing behind them show through.</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=9715&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — the genre that is mostly drums, so the kit has nowhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/270832cb9862f5bba6856e9522fed00f4ca303e9">270832c</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/270832cb9862f5bba6856e9522fed00f4ca303e9</comments>
</item>
<item>
<title>Inside viz: effects are graph nodes only, not a line under each roll</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=9354&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">0ffd38aac780ff473a367068052e6e4b23dfd4b0</guid>
<pubDate>Sat, 11 Jul 2026 02:23:56 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[Paul: 'the effects listed under the piano rolls — don't put them there, they should be nodes in the graph.' Removed the per-lane .vz-fxline caption; the mixing node graph beneath the rolls (insert chips + reverb/delay/master nodes) is now the sole fx surface.]]></description>
<content:encoded><![CDATA[<p>Paul: 'the effects listed under the piano rolls — don't put them there, they should be nodes in the graph.' Removed the per-lane .vz-fxline caption; the mixing node graph beneath the rolls (insert chips + reverb/delay/master nodes) is now the sole fx surface.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=9354&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — the brightest, most processed corner of the space</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0ffd38aac780ff473a367068052e6e4b23dfd4b0">0ffd38a</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0ffd38aac780ff473a367068052e6e4b23dfd4b0</comments>
</item>
<item>
<title>Constant-pace travel: the playhead moves at a fixed speed, not fixed bars/leg</title>
<link>https://stellate.app/?genre=bebop&amp;seed=5266&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">2a769ff27b178ed4f46efd3a37f692e652d6115d</guid>
<pubDate>Sat, 11 Jul 2026 02:23:56 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[Paul: 'the playhead should always move at a constant pace; distance between nodes shouldn't matter.' The old model gave every leg exactly `pace` bars, so the traveler raced across long legs and crawled short ones.]]></description>
<content:encoded><![CDATA[<p>Paul: 'the playhead should always move at a constant pace; distance between nodes shouldn't matter.' The old model gave every leg exactly `pace` bars, so the traveler raced across long legs and crawled short ones.</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=5266&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/2a769ff27b178ed4f46efd3a37f692e652d6115d">2a769ff</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/2a769ff27b178ed4f46efd3a37f692e652d6115d</comments>
</item>
<item>
<title>disco (Mirrorball Shift): drums -25% — the kit dominated the mix</title>
<link>https://stellate.app/?genre=disco&amp;seed=7383&amp;path=1361.12546,1380.12579,1342.12579&amp;xdur=13.122</link>
<guid isPermaLink="false">e1a93b5f27dd360702e9bba129aad5a08e3ac892</guid>
<pubDate>Sat, 11 Jul 2026 01:56:39 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>disco</category>
<category>drums</category>
<description><![CDATA[Paul, ear-checking live: 'drums dominate and should come down about 25%.' The mirrorball power kit (kick 1.1-1.3, snare .75-1, hat 1.1-1.4) sat too hot over the octave bass + organ glitter; the gentle global drum-balance only trimmed it ~4% (peak just over target).]]></description>
<content:encoded><![CDATA[<p>Paul, ear-checking live: 'drums dominate and should come down about 25%.' The mirrorball power kit (kick 1.1-1.3, snare .75-1, hat 1.1-1.4) sat too hot over the octave bass + organ glitter; the gentle global drum-balance only trimmed it ~4% (peak just over target).</p>
<p><a href="https://stellate.app/?genre=disco&amp;seed=7383&amp;path=1361.12546,1380.12579,1342.12579&amp;xdur=13.122">▶ Play it: Mirrorball Panopticon — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/e1a93b5f27dd360702e9bba129aad5a08e3ac892">e1a93b5</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/e1a93b5f27dd360702e9bba129aad5a08e3ac892</comments>
</item>
<item>
<title>Whole-path audio export: render the ENTIRE loop, not just the current song</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=7739&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">1f12c0f3dfb085fea4995da1cead32e8b638d3ca</guid>
<pubDate>Sat, 11 Jul 2026 01:46:16 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Paul: 'export the entire path, not just the current song. The whole mix.' journey.js buildLoopPlan groups the offline loop-walk into topology-stable RUNS (a new run = a reverb/master/unit-topology change = a crossfade seam) and enumerates every found/sampler/vocoder source the loop touches (decode…]]></description>
<content:encoded><![CDATA[<p>Paul: 'export the entire path, not just the current song. The whole mix.' journey.js buildLoopPlan groups the offline loop-walk into topology-stable RUNS (a new run = a reverb/master/unit-topology change = a crossfade seam) and enumerates every found/sampler/vocoder source the loop touches (decode…</p>
<ul><li>export.js exportLoopAudio decodes the sources, drives the worker, and assembles a WAV Blob-of-parts (int16 bodies, no giant contiguous copy) or feeds the mp3 worker block-by-block</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=7739&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/1f12c0f3dfb085fea4995da1cead32e8b638d3ca">1f12c0f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/1f12c0f3dfb085fea4995da1cead32e8b638d3ca</comments>
</item>
<item>
<title>Inside viz: a mixing node graph under the piano rolls (vertical, mobile-first)</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=6438&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">3cfb1b1ecb1a1f9ef00923dbbd5cfb5bd8b0c424</guid>
<pubDate>Sat, 11 Jul 2026 01:46:03 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[Paul: 'the effects being text isn't working for me — render the full mixing node graph under the piano rolls, showing how effects are invoked and what levels.' The master effects TEXT is replaced by an inline-SVG signal-flow graph: voice boxes with their insert chain (each chip labelled with type +…]]></description>
<content:encoded><![CDATA[<p>Paul: 'the effects being text isn't working for me — render the full mixing node graph under the piano rolls, showing how effects are invoked and what levels.' The master effects TEXT is replaced by an inline-SVG signal-flow graph: voice boxes with their insert chain (each chip labelled with type +…</p>
<ul><li>Arranged VERTICALLY (top-&gt;bottom) so it stays legible on a phone — a portrait column capped at 380px, not a wide fan that shrinks to nothing.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=6438&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — the brightest, most processed corner of the space</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/3cfb1b1ecb1a1f9ef00923dbbd5cfb5bd8b0c424">3cfb1b1</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/3cfb1b1ecb1a1f9ef00923dbbd5cfb5bd8b0c424</comments>
</item>
<item>
<title>Ring-out + delay: give the dreamy guitar genres real tails</title>
<link>https://stellate.app/?genre=surfrock&amp;seed=4327&amp;path=1315.6203,945.16205,1089.13532&amp;xdur=0.075</link>
<guid isPermaLink="false">3a1ab70fdecc5beef6b6c466e5776bc06158242f</guid>
<pubDate>Sat, 11 Jul 2026 01:45:51 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>surfrock</category>
<category>desertblues</category>
<category>budstep</category>
<category>harmony</category>
<description><![CDATA[The taste pass for 'power chords with long fuzzy reverb tails phasing in and out, MBV levels of processing' — on the RING-CLASS guitar/string genres only (moonlagoon, budstep, meadowmellotron, walrusfuzz, surfrock, desertblues, meadowjangle, flannelburst, chromeufo)]]></description>
<content:encoded><![CDATA[<p>The taste pass for 'power chords with long fuzzy reverb tails phasing in and out, MBV levels of processing' — on the RING-CLASS guitar/string genres only (moonlagoon, budstep, meadowmellotron, walrusfuzz, surfrock, desertblues, meadowjangle, flannelburst, chromeufo)</p>
<ul><li>Also fixes a latent bug: 'delay' was a working state-engine module but was never registered in the kernel's INSERT_DEFAULTS, so any pool-declared delay was silently dropped catalog-wide</li></ul>
<p><a href="https://stellate.app/?genre=surfrock&amp;seed=4327&amp;path=1315.6203,945.16205,1089.13532&amp;xdur=0.075">▶ Play it: Undertow Sock Hop → Dune Recursion → Amen Monolith — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/3a1ab70fdecc5beef6b6c466e5776bc06158242f">3a1ab70</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/3a1ab70fdecc5beef6b6c466e5776bc06158242f</comments>
</item>
<item>
<title>Filter-env on sampled voices + a gentle drum balance</title>
<link>https://stellate.app/?genre=gabber&amp;seed=3188&amp;path=1809.17511,1828.17544,1790.17544&amp;xdur=13.122</link>
<guid isPermaLink="false">a13609a42eeb97b8c45b4b9f4980009dd51285e5</guid>
<pubDate>Sat, 11 Jul 2026 01:45:39 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>gabber</category>
<category>sampler</category>
<description><![CDATA[fenv on samples (Paul: 'filter envelopes on samples are great esp when you want resonance and to mess with dynamics'): the recipe fenv key was inert on the native sampler lane (only synth models read it).]]></description>
<content:encoded><![CDATA[<p>fenv on samples (Paul: 'filter envelopes on samples are great esp when you want resonance and to mess with dynamics'): the recipe fenv key was inert on the native sampler lane (only synth models read it).</p>
<ul><li>Drum balance (Paul: 'drums in the louder genres are very hot — balance voices everywhere'): a gentle hot-kit level pull at the shared mastering choke point (press + stream + live-bake).</li></ul>
<p><a href="https://stellate.app/?genre=gabber&amp;seed=3188&amp;path=1809.17511,1828.17544,1790.17544&amp;xdur=13.122">▶ Play it: Jackhammer Communion — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a13609a42eeb97b8c45b4b9f4980009dd51285e5">a13609a</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a13609a42eeb97b8c45b4b9f4980009dd51285e5</comments>
</item>
<item>
<title>Sampler loop-end clamp: the Turtle Beach (Montego) short-envelope fix</title>
<link>https://stellate.app/?genre=bigband&amp;seed=2550&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">0399807efd1a047bdf3db57c771cdc9428f68b5f</guid>
<pubDate>Sat, 11 Jul 2026 01:45:29 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[A soundfont-importer off-by-one wrote loopEnd = sampleLen+1 on some switcher fonts (montego 19 zones, blackberry 9, diet_candy 6), so the sampler's buffer-end guard (pos >= src.length-1) fired BEFORE the loop-wrap could]]></description>
<content:encoded><![CDATA[<p>A soundfont-importer off-by-one wrote loopEnd = sampleLen+1 on some switcher fonts (montego 19 zones, blackberry 9, diet_candy 6), so the sampler's buffer-end guard (pos &gt;= src.length-1) fired BEFORE the loop-wrap could</p>
<ul><li>Fix, two layers: sampler.js clamps loopEnd = min(z.loopEnd, src.length-1) in BOTH the mixPCM (press/stream/bake) and live-native paths</li></ul>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=2550&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0399807efd1a047bdf3db57c771cdc9428f68b5f">0399807</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0399807efd1a047bdf3db57c771cdc9428f68b5f</comments>
</item>
<item>
<title>Faithful export: whole-path MIDI (the full loop, not the current song)</title>
<link>https://stellate.app/?genre=bigband&amp;seed=6805&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">4eaada1de7a77579b9f3c69f50d7110e0991d5c0</guid>
<pubDate>Fri, 10 Jul 2026 22:37:43 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[Paul: "video, audio, and MIDI export … the entire path, not just the current song." First of the three: MIDI.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;video, audio, and MIDI export … the entire path, not just the current song.&quot; First of the three: MIDI.</p>
<ul><li>makeWalk's per-bar payload now carries `ev` (the note-level buildEvents of that bar's collapsed section).</li><li>midi-export.buildMidiJourney(bars) concatenates the per-bar note events (each offset by its absolute startBeat) into ONE SMF with a tempo map — pads/bass/ melody + GM drums across every genre the loop crosses.</li><li>journey.buildLoopMidi() walks one full loop and assembles it.</li><li>app/export.js downloadMidi now exports the WHOLE PATH when a loop is drawn (&quot;… (full path).mid&quot;), falling back to the current song when there's no path.</li></ul>
<p><em>Verified:</em> a 3-waypoint loop -&gt; a valid format-1 5-track SMF; explorer-ui's MIDI gate parses it clean.</p>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=6805&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/4eaada1de7a77579b9f3c69f50d7110e0991d5c0">4eaada1</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/4eaada1de7a77579b9f3c69f50d7110e0991d5c0</comments>
</item>
<item>
<title>Faithful whole-path export: the offline loop-walk foundation</title>
<link>https://stellate.app/?genre=bebop&amp;seed=4640&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">a43c0bf0a9c76291565d1f8107020f5b9c6661d8</guid>
<pubDate>Fri, 10 Jul 2026 22:32:49 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[Paul's program #2 (export the whole path, not just the current song). The pieces that let us render the full journey offline without playing it in real time:]]></description>
<content:encoded><![CDATA[<p>Paul's program #2 (export the whole path, not just the current song). The pieces that let us render the full journey offline without playing it in real time:</p>
<ul><li>FaustLive.makeWalk is EXPORTED — the same per-bar walk the live conductors run.</li><li>targeting.stateAt(pt): the pure blend state (K.mix + key/bpm/mode) with no store side effects.</li><li>app/journey.js walkLoop(): drives makeWalk with a getState that walks the loop (pointOnPath(travelForBar(b)) -&gt; stateAt), returning per-bar render payloads for one full loop (waypoints × pace bars).</li></ul>
<p><em>Verified:</em> headless: a 3-waypoint loop walks 72 bars / 303s, states evolve (2 unit topologies), events 26-59/bar, zero errors.</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=4640&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a43c0bf0a9c76291565d1f8107020f5b9c6661d8">a43c0bf</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a43c0bf0a9c76291565d1f8107020f5b9c6661d8</comments>
</item>
<item>
<title>Soundfont pack: 11 character fonts in the switcher</title>
<link>https://stellate.app/?genre=chiptune&amp;seed=4780&amp;path=1336.7608,1355.7641,1317.7641&amp;xdur=13.122</link>
<guid isPermaLink="false">576570b46f3acf325c572da693bc9976fa0b22b7</guid>
<pubDate>Fri, 10 Jul 2026 22:12:57 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>chiptune</category>
<category>found</category>
<description><![CDATA[Extracted (tools/gen-font.js, full-capture) the fonts Paul linked into the picker: SGM Pro 15, Windows GM, Yamaha XG, Turtle Beach Montego, Roland SC-55, Gravis Ultrasound, Game Boy Advance, E-mu APS, Diet Candy, Blackberry, 8-bit Chiptune]]></description>
<content:encoded><![CDATA[<p>Extracted (tools/gen-font.js, full-capture) the fonts Paul linked into the picker: SGM Pro 15, Windows GM, Yamaha XG, Turtle Beach Montego, Roland SC-55, Gravis Ultrasound, Game Boy Advance, E-mu APS, Diet Candy, Blackberry, 8-bit Chiptune</p>
<p><a href="https://stellate.app/?genre=chiptune&amp;seed=4780&amp;path=1336.7608,1355.7641,1317.7641&amp;xdur=13.122">▶ Play it: Sprite Metabolism — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/576570b46f3acf325c572da693bc9976fa0b22b7">576570b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/576570b46f3acf325c572da693bc9976fa0b22b7</comments>
</item>
<item>
<title>Soundfont switcher: pick the sampled-instrument font live in settings</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=3416&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">0c7bd2889e7b34d00062ac98d7af9f82481505fe</guid>
<pubDate>Fri, 10 Jul 2026 22:10:43 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Paul: "let me switch soundfonts in the settings section … that sounds really fun." The sampled instruments were baked FluidR3; this makes the font a runtime choice.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;let me switch soundfonts in the settings section … that sounds really fun.&quot; The sampled instruments were baked FluidR3; this makes the font a runtime choice.</p>
<ul><li>tools/gen-font.js extracts any GM SF2 into a parallel set (found/samples/instruments-&lt;key&gt;/, full-capture via sf2.js) + a compact engine/faust/font-&lt;key&gt;.json {base, instr:{slug:{sr,zones}}}, matching kernel…</li><li>genre-kernel routes the 4 sampler-build sites through fontInstr(id): the ACTIVE font's zones + sample dir, with PER-INSTRUMENT fallback to FluidR3 for anything a font lacks (specialty slugs: upright piano…</li><li>native sampler zoneFor now selects the zone by VELOCITY too (vlo/vhi; absent = full range, so single-velocity fonts are unaffected)</li><li>app/fonts.js loads the manifest, lazy-registers a font on pick, rebuilds the mix and hot-restarts the engine (shared srcIds → reload the caches).</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=3416&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0c7bd2889e7b34d00062ac98d7af9f82481505fe">0c7bd28</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0c7bd2889e7b34d00062ac98d7af9f82481505fe</comments>
</item>
<item>
<title>sf2 extract: FULL CAPTURE — every key-zone + every velocity layer</title>
<link>https://stellate.app/?genre=bigband&amp;seed=5049&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">8b13bae10203105cb5a66153eff96481fe1f9de0</guid>
<pubDate>Fri, 10 Jul 2026 21:44:59 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[Paul: "re-extract the soundfont fully, capture everything." zonesOf kept only the forte layer (vel~100) and extract thinned to --max-zones 6. Now zonesOf keeps EVERY velocity layer (records velLo/velHi), and extract defaults to no thinning (--max-zones 0 = full capture]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;re-extract the soundfont fully, capture everything.&quot; zonesOf kept only the forte layer (vel~100) and extract thinned to --max-zones 6. Now zonesOf keeps EVERY velocity layer (records velLo/velHi), and extract defaults to no thinning (--max-zones 0 = full capture</p>
<ul><li>Validated: UprightPianoKW -&gt; 66 zones across BOTH velocity layers (0-80 soft, 81-127 loud, previously the soft layer was discarded); FluidR3 Yamaha Grand -&gt; all 20 key-zones (was 6).</li><li>This is the extract side only. Consuming it needs the kernel INSTRUMENTS block regenerated from the fuller zones.json (velLo/velHi added) + the native sampler selecting a zone by velocity, not just note</li></ul>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=5049&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/8b13bae10203105cb5a66153eff96481fe1f9de0">8b13bae</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/8b13bae10203105cb5a66153eff96481fe1f9de0</comments>
</item>
<item>
<title>Viz: the constantly-firing stab lane is SYNTH stabs, not &quot;sampled stabs&quot;</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=3701&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">503559e53f71e588c41b0b1a19a6c01d30779293</guid>
<pubDate>Fri, 10 Jul 2026 21:17:07 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[Paul: "sampled stabs show up a lot but never play audio." Diagnosis: the timeline "stabs" lane keys on role sfx — which is the SYNTH stab voice (stab.dsp), and that voice DOES play (72–124 hits/song, ~77% of seeds).]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;sampled stabs show up a lot but never play audio.&quot; Diagnosis: the timeline &quot;stabs&quot; lane keys on role sfx — which is the SYNTH stab voice (stab.dsp), and that voice DOES play (72–124 hits/song, ~77% of seeds).</p>
<ul><li>Relabel the sfx lane &quot;synth stabs&quot; so the viz is honest; &quot;sampled stabs&quot; now refers only to the real sample layer.</li><li>Not touched here: the sampled-hit layer is genuinely rare because the engine picks ONE hits source per seed and most EDM genres mix stab pools with speech ids (sp_system/sp_energy) ~50/50</li></ul>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=3701&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/503559e53f71e588c41b0b1a19a6c01d30779293">503559e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/503559e53f71e588c41b0b1a19a6c01d30779293</comments>
</item>
<item>
<title>Master bus on the live mix: glue + makeup + limiter (fix &quot;muted&quot;)</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=5896&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">c42f3ff00f1b5dda2864e44c5307f224214a7d16</guid>
<pubDate>Fri, 10 Jul 2026 21:14:08 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[Paul: "everything sounds very muted … I don't hear a lot of the master chain." Diagnosis (signal-chain audit): on desktop the LIVE ring path summed into a UNITY masterGain with no glue and no makeup.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;everything sounds very muted … I don't hear a lot of the master chain.&quot; Diagnosis (signal-chain audit): on desktop the LIVE ring path summed into a UNITY masterGain with no glue and no makeup.</p>
<ul><li>This adds a causal master bus on the live SUM: a gentle glue compressor (−22 dB, 2.2:1) → a makeup lift (~+8 dB) → a brickwall limiter (−1.5 dB, 20:1) for peak safety.</li><li><strong>LIVE-ONLY</strong> — the baked export path keeps its own mastering, so segment-parity and the fixtures byte-identity are untouched.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=5896&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — the brightest, most processed corner of the space</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c42f3ff00f1b5dda2864e44c5307f224214a7d16">c42f3ff</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c42f3ff00f1b5dda2864e44c5307f224214a7d16</comments>
</item>
<item>
<title>Playhead scrub rewrites the URL measure while stopped</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=1247&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046</link>
<guid isPermaLink="false">fbb1db5f974b0f6456eaf75b1a6cdc3562ef0ca3</guid>
<pubDate>Fri, 10 Jul 2026 21:04:26 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>jungle</category>
<category>travel</category>
<description><![CDATA[Paul: moving the playhead then hitting play "reverts" and "isn't updating the URL." urlTick fired only from onBar (live) and stopLive — never on a stopped playhead drag, so the address bar's ?m= went stale the moment you scrubbed.]]></description>
<content:encoded><![CDATA[<p>Paul: moving the playhead then hitting play &quot;reverts&quot; and &quot;isn't updating the URL.&quot; urlTick fired only from onBar (live) and stopLive — never on a stopped playhead drag, so the address bar's ?m= went stale the moment you scrubbed.</p>
<ul><li>(The drop-in itself is correct: verified headless that setting startBar=137 and hitting ▶ drops the walk in at serial 137 with matching travel — goLive honors the measure, no revert.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=1247&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046">▶ Play it: Food Court Eternity → Smoke Arithmetic → Barometric Stampede — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/fbb1db5f974b0f6456eaf75b1a6cdc3562ef0ca3">fbb1db5</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/fbb1db5f974b0f6456eaf75b1a6cdc3562ef0ca3</comments>
</item>
<item>
<title>Master volume control + reposition the ⚙ panel above the settings button</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=5970&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">77736bea01ffbec3c717ef6df36e70426cd8206b</guid>
<pubDate>Fri, 10 Jul 2026 21:00:27 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[Paul: "add a master volume control to the settings popup panel and pop that panel up aligned right above the settings button rather than at the top."]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;add a master volume control to the settings popup panel and pop that panel up aligned right above the settings button rather than at the top.&quot;</p>
<ul><li><strong>VOLUME</strong> — a dedicated userGain node rides AFTER the analyser in the ring path (engine/faust/live.js) — placed there so the listener's volume never collides with the engine's fade/mute automation on masterGain, and the…</li><li><strong>PANEL POSITION</strong> — #panel was pinned top-right; it now anchors bottom-right ABOVE the chips row (bottom:4.2rem, right:.7rem — the settings button's edge) and grows upward, matching what the mobile layout already did.</li></ul>
<p><em>Verified:</em> headless: panel opens above the chips, right-aligned, off the top of the screen, volume slider drives S.masterVol + localStorage</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=5970&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — the brightest, most processed corner of the space</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/77736bea01ffbec3c717ef6df36e70426cd8206b">77736be</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/77736bea01ffbec3c717ef6df36e70426cd8206b</comments>
</item>
<item>
<title>Live found voices fade when the mix leaves their genre</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=6630&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">3d592de64b0114696fd9c23b50c7957ddb27f013</guid>
<pubDate>Fri, 10 Jul 2026 20:48:17 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[Paul: Terms & Conditions Wave kept playing its synthesized vocal loop at full volume even at 2% of the mix — and after it was gone. Root cause: narration is emitted as a long looping chop (csd-engine ~1444: dur=secBeats, amp≈vol*1.5) played by FoundPlayer's live.chop with the amp fixed at schedule…]]></description>
<content:encoded><![CDATA[<p>Paul: Terms &amp; Conditions Wave kept playing its synthesized vocal loop at full volume even at 2% of the mix — and after it was gone. Root cause: narration is emitted as a long looping chop (csd-engine ~1444: dur=secBeats, amp≈vol*1.5) played by FoundPlayer's live.chop with the amp fixed at schedule…</p>
<ul><li>FoundLive gains a fadeAll(sec) (+ bed handle.fade) — the graceful sibling of stopAll: chops ramp their amp envelope, beds ramp out.gain, then stop.</li><li><strong>LIVE-ONLY</strong> — the native FoundLive voices are never baked into the worker stream, so the baked press mix — and segment-parity / fixtures byte-identity — are untouched. live-test + sampler-inserts-live green, zero errors.</li></ul>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=6630&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/3d592de64b0114696fd9c23b50c7957ddb27f013">3d592de</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/3d592de64b0114696fd9c23b50c7957ddb27f013</comments>
</item>
<item>
<title>Starmap regions: color-coded territories with big goofy labels</title>
<link>https://stellate.app/?genre=jungle&amp;seed=8835&amp;path=1718.20526,1379.18248,1670.17099&amp;xdur=0.217</link>
<guid isPermaLink="false">5d5db34b5666f4e6434deabe0510c9f4873a6386</guid>
<pubDate>Fri, 10 Jul 2026 19:58:21 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>dubstep</category>
<category>hogcore</category>
<description><![CDATA[Paul, 2026-07-10: "the starmap is now so large that we should be dividing it into regions by color with big textual labels … equivalently goofy to the current names."]]></description>
<content:encoded><![CDATA[<p>Paul, 2026-07-10: &quot;the starmap is now so large that we should be dividing it into regions by color with big textual labels … equivalently goofy to the current names.&quot;</p>
<ul><li>computeRegions() (starmap.js) carves the finalized POS into 10 territories via deterministic k-means (farthest-point seeding + Lloyd, NO Math.random</li><li>drawMap() paints each territory first (behind stars/lines): a soft color wash at the centroid + a big uppercase label (.region, dark-stroked for legibility over footage), and every inactive star halo now wears…</li></ul>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=8835&amp;path=1718.20526,1379.18248,1670.17099&amp;xdur=0.217">▶ Play it: Barometric Stampede → Seismic Ultimatum → Perihelion Squeal — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/5d5db34b5666f4e6434deabe0510c9f4873a6386">5d5db34</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/5d5db34b5666f4e6434deabe0510c9f4873a6386</comments>
</item>
<item>
<title>Background: superimpose the two layers, bigger/livelier glyphs, slower demoscene</title>
<link>https://stellate.app/?genre=bebop&amp;seed=6299&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">0c62df5bc143b155f8c4dc22dd0d0aea49ab6749</guid>
<pubDate>Fri, 10 Jul 2026 19:46:16 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[Paul, 2026-07-10: "superimpose things … everything animate MUCH more slowly."]]></description>
<content:encoded><![CDATA[<p>Paul, 2026-07-10: &quot;superimpose things … everything animate MUCH more slowly.&quot;</p>
<ul><li>SUPERIMPOSE (background.js). The demoscene canvas was already built to composite THROUGH the footage (mix-blend:screen @ .45 — &quot;mix them&quot;), but the 2026-07-09 STRICT EXCLUSIVITY law forced one layer at a time.</li><li>GLYPHS livelier (video-layer.js). The roaming station idents are the loudest voice in the chaos deck now: weight 7-&gt;14, denser swarms (often 3-5), size band 2.6..24 -&gt; 4.5..34 vmin (bigger), desktop pool 4-&gt;10…</li><li>SLOWER DEMOSCENE (demo-layer.js). Steady time multiplier speed 1 -&gt; 0.3 (~3x slower) — cosmetic only: the beat-synced `kick` (pulse/note) is untouched so downbeats still punch, and the video wall (already…</li></ul>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=6299&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0c62df5bc143b155f8c4dc22dd0d0aea49ab6749">0c62df5</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0c62df5bc143b155f8c4dc22dd0d0aea49ab6749</comments>
</item>
<item>
<title>world.js PROG_MODE: label the six wave-3 progressions</title>
<link>https://stellate.app/?genre=happyhardcore&amp;seed=9342&amp;path=1992.10036,694.13856,1463.10683&amp;xdur=0.184</link>
<guid isPermaLink="false">0ec721cef3c69d49c8a43aa89f766eb24cde6426</guid>
<pubDate>Fri, 10 Jul 2026 19:16:42 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>happyhardcore</category>
<category>bebop</category>
<category>moonlagoon</category>
<category>harmony</category>
<description><![CDATA[The forms wave added whole_tone/interchange/mediant/blues_16/quartal/epic_maj to csd-engine PROGRESSIONS and wired them into anchors (moonlagoon, bebop, idm, happyhardcore, …).]]></description>
<content:encoded><![CDATA[<p>The forms wave added whole_tone/interchange/mediant/blues_16/quartal/epic_maj to csd-engine PROGRESSIONS and wired them into anchors (moonlagoon, bebop, idm, happyhardcore, …).</p>
<p><a href="https://stellate.app/?genre=happyhardcore&amp;seed=9342&amp;path=1992.10036,694.13856,1463.10683&amp;xdur=0.184">▶ Play it: Serotonin Stampede → Mercury Interrogation → Tidal Locking — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0ec721cef3c69d49c8a43aa89f766eb24cde6426">0ec721c</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0ec721cef3c69d49c8a43aa89f766eb24cde6426</comments>
</item>
<item>
<title>The viz shows every track (and every drum)</title>
<link>https://stellate.app/?genre=umpirehouse&amp;seed=6670&amp;path=1735.12588,1647.15288&amp;xdur=0.278</link>
<guid isPermaLink="false">06b9a4e63414e75733391c9c985e4032cb05b0e7</guid>
<pubDate>Fri, 10 Jul 2026 18:43:40 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>umpirehouse</category>
<category>auctioncore</category>
<category>voice</category>
<description><![CDATA[Paul: "synthesized samples and other samples don't show up in the viz… maybe it's just that you're not showing all tracks." Both true:]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;synthesized samples and other samples don't show up in the viz… maybe it's just that you're not showing all tracks.&quot; Both true:</p>
<ul><li>EVERY DRUM PIECE. The sampled kits' clap/rim/ride/crash/perc units fell through noteRole and matched no lane — half of every sampled kit (the default sound!) was invisible.</li><li>ALL TRACKS. The six fixed lanes hid two layers: stabs/hits rode inside the lead lane, and the spoken/vocal sample layers (the auctioneer chant, the umpire, every commission voice) were mushed into the one…</li><li>Probed: auctioncore shows voices &quot;cut-up announcer voice&quot; + its break chops; umpirehouse shows stabs(4) + voices(1); reggae's onedrop shows all 18 kit events. genre-viz + explorer-ui green.</li></ul>
<p><a href="https://stellate.app/?genre=umpirehouse&amp;seed=6670&amp;path=1735.12588,1647.15288&amp;xdur=0.278">▶ Play it: Full Count Judgment → Going Going Gone — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/06b9a4e63414e75733391c9c985e4032cb05b0e7">06b9a4e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/06b9a4e63414e75733391c9c985e4032cb05b0e7</comments>
</item>
<item>
<title>found-video wave 3: 47 new PD clips, every anchor gets a pool, top-5 de-cloned</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=5177&amp;path=1679.4415,835.759,530.12523&amp;xdur=0.063</link>
<guid isPermaLink="false">b7d423395aa504b389e8ea4a484f3fd04559e130</guid>
<pubDate>Fri, 10 Jul 2026 18:41:35 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>cloisterloom</category>
<category>marblefury</category>
<category>found</category>
<description><![CDATA[THE CENSUS said the video layer was a quarter-catalog monoculture: 89 clips, night_lines in 57 genres, kaleido 56, blue_dinner 53, night_lights 53, dark_face 49 — and 42 anchors had NO pool at all (journeys fell back to the vaporwave pool).]]></description>
<content:encoded><![CDATA[<p>THE CENSUS said the video layer was a quarter-catalog monoculture: 89 clips, night_lines in 57 genres, kaleido 56, blue_dinner 53, night_lights 53, dark_face 49 — and 42 anchors had NO pool at all (journeys fell back to the vaporwave pool).</p>
<ul><li><strong>THE FETCH</strong> — 47 new clips cut from 21 archive.org items — weather/storms (Tornado, the 1938 hurricane, the dust front from The Plow that Broke the Plains, Tacoma Narrows galloping), volcano fire (Kilauea in color), snow…</li><li><strong>THE SPREAD</strong> — 164 genre pools extended (each genre that leaned on a top-5 clip gains &gt;=2 mood-matched new clips</li><li><strong>THE NUMBERS</strong> — 89 -&gt; 136 distinct clips; 240/240 anchors have pools (min 4); night_lines 57-&gt;18, kaleido 56-&gt;27, blue_dinner 53-&gt;24, night_lights 53-&gt;39, dark_face 49-&gt;39; new top-5 share of slots 13.8%.</li></ul>
<p><em>Verified:</em> verify.sh --no-cache FULLY GREEN (matrix 240/240 diagonal dominant, validate, engine, prove, matproof)</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=5177&amp;path=1679.4415,835.759,530.12523&amp;xdur=0.063">▶ Play it: Food Court Eternity → Swarm Motet → Tectonic Tantrum — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b7d423395aa504b389e8ea4a484f3fd04559e130">b7d4233</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b7d423395aa504b389e8ea4a484f3fd04559e130</comments>
</item>
<item>
<title>The final chrome: one view button, a four-row panel, fiction everywhere</title>
<link>https://stellate.app/?genre=chiptune&amp;seed=9689&amp;path=1336.7608,1355.7641,1317.7641&amp;xdur=13.122</link>
<guid isPermaLink="false">00350119d76facb976ced3441ea98499c51c630d</guid>
<pubDate>Fri, 10 Jul 2026 18:36:02 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>chiptune</category>
<category>sampler</category>
<description><![CDATA[Paul's closing UI batch (2026-07-10):]]></description>
<content:encoded><![CDATA[<p>Paul's closing UI batch (2026-07-10):</p>
<ul><li>ONE VIEW BUTTON. insideChip + bgChip merge into #viewChip, cycling the three 100% views — ✦ star map -&gt; ⓘ infoviz -&gt; ▣ video -&gt; map.</li><li>THE FOUR-ROW PANEL. ⚙ is now: seed + 🎲 + ⧉ share · pace · ±bpm · downloads. Gone: LIVE/STOP/MORE/VIDEO buttons, mode/scale lock, the eleven DIMS detail sliders, preset/path import-export, reset-loop.</li><li><strong>FICTION EVERYWHERE</strong> — the STAR MAP now draws kernel labels (culling measures the label), the chyron's blend readout and the lock-screen Media Session speak the fiction too.</li><li>The ? about panel re-written for the new world: three views, the playhead drag, stop-twice, ±bpm, the bookmarkable address bar.</li></ul>
<p><em>Verified:</em> re-pinned and green: genre-viz (3-chip row, #viewChip opens the viz), explorer-ui (view cycle reaches video mode via the loop, downloads on the main panel), share-url 13, access-ui 11.</p>
<p><a href="https://stellate.app/?genre=chiptune&amp;seed=9689&amp;path=1336.7608,1355.7641,1317.7641&amp;xdur=13.122">▶ Play it: Sprite Metabolism — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/00350119d76facb976ced3441ea98499c51c630d">0035011</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/00350119d76facb976ced3441ea98499c51c630d</comments>
</item>
<item>
<title>De-clone the STRUCTURE: six new form arcs + six new progressions (REPERTOIRE wave 3)</title>
<link>https://stellate.app/?genre=funk&amp;seed=6236&amp;path=1030.7218,694.13856,292.16891&amp;xdur=0.077</link>
<guid isPermaLink="false">acbad08c5169dcf04d8462a4a8c235ecc25ae3ca</guid>
<pubDate>Fri, 10 Jul 2026 18:29:34 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>funk</category>
<category>bebop</category>
<category>jazz</category>
<category>harmony</category>
<description><![CDATA[The census said form "pop" = 128/240 — half the catalog walked one 8-node arc — and minor_run/deep_two carried 79/67 of 28 progressions. This adds six genuinely different dramatic shapes as FORMS data (same Tok vocabulary, same buildForm walker, names chosen to classify correctly under csd-engine…]]></description>
<content:encoded><![CDATA[<p>The census said form &quot;pop&quot; = 128/240 — half the catalog walked one 8-node arc — and minor_run/deep_two carried 79/67 of 28 progressions. This adds six genuinely different dramatic shapes as FORMS data (same Tok vocabulary, same buildForm walker, names chosen to classify correctly under csd-engine…</p>
<ul><li><strong>NEW ARCS</strong> — aaba head / head 2 / bridge / head 3 / coda — the 32-bar song form; SOLO_IDIOM splices head-&gt;bridge-&gt;SOLO-&gt;head out (jazz, bebop) vamp groove / layer in / cook / peak vamp / breakdown / layer out / outro</li><li><strong>NEW PROGRESSIONS</strong> — whole_tone (aug planing), interchange (I-bVII-IV-iv), mediant (I-III-I-bVI), blues_16 (Watermelon Man vein — 128-beat cycles, fast genres only), quartal (sus4 planing), epic_maj (I-V-IV-V — authors' wishlist).</li><li><strong>REASSIGNED</strong> — pop 128-&gt;88 (-40), dj 40-&gt;37, wave 39-&gt;35; vamp 10, aaba 13, duet 7, throughline 6, suite 5, storm 4.</li><li>MEASURED, retuned by assignment (never the fence): first pass 224/240 — the losers were tight-auto-target invented genres (7 reverted to pop) and knife-edge progression hosts (7 additions dropped/re-homed)</li></ul>
<p><em>Verified:</em> verify.sh --no-cache FULLY GREEN (matrix 240/240 diagonal-dominant, validate --quick 0 fail incl. per-seed dominance, engine, prove, matproof)</p>
<p><a href="https://stellate.app/?genre=funk&amp;seed=6236&amp;path=1030.7218,694.13856,292.16891&amp;xdur=0.077">▶ Play it: Downbeat Notary → Mercury Interrogation → Smoke Arithmetic — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/acbad08c5169dcf04d8462a4a8c235ecc25ae3ca">acbad08</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/acbad08c5169dcf04d8462a4a8c235ecc25ae3ca</comments>
</item>
<item>
<title>Repertoire wave 3: the hits+breaks expansion + the one-shot pool sweep</title>
<link>https://stellate.app/?genre=house&amp;seed=7433&amp;path=1101.20850,315.4670,2067.11314&amp;xdur=0.046</link>
<guid isPermaLink="false">386c193136add79512bc8cae2f893547f995f244</guid>
<pubDate>Fri, 10 Jul 2026 18:02:23 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>house</category>
<category>spacelounge</category>
<category>crtwave</category>
<category>voice</category>
<description><![CDATA[The census said the one-shot vocabulary was four samples deep (vox_a in 55 genres, vox_b 47, sp_herenow 40, tw_ding 32; four amens carrying 79 break slots). This wave expands it and de-clones it through THE POOL LAW:]]></description>
<content:encoded><![CDATA[<p>The census said the one-shot vocabulary was four samples deep (vox_a in 55 genres, vox_b 47, sp_herenow 40, tw_ding 32; four amens carrying 79 break slots). This wave expands it and de-clones it through THE POOL LAW:</p>
<ul><li>12 breaks 82-140bpm, drumloops113 (archive.org, CC BY 2.5, author-made, bpm measured by classify-sample-cd.py and pinned)</li><li>11 one-shots from VCSL (CC0 via GitHub license API): 4 chimes (tubular bells C4/E3, hand chime, glockenspiel) + 7 orchestral percussion (timpani, gong, anvil, woodblock, slapstick, agogo, cowbell)</li><li>4 pre-1923 78rpm cuts (PD by age, MMA; deterministic loudest-window cut): 2 military-band horn tuttis (1918/1922), Caruso's Tosca climax (1909), a 1920 laughing record</li><li>3 more Apollo capcom one-liners (NASA PD)</li></ul>
<p><em>Verified:</em> validate-genres orPool() accepts pool tokens on found/hits/vox source checks (valid iff class exists and EVERY member passes the registry check)</p>
<p><a href="https://stellate.app/?genre=house&amp;seed=7433&amp;path=1101.20850,315.4670,2067.11314&amp;xdur=0.046">▶ Play it: Congregation Furnace → Martini Parallax → Phosphor Persistence — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/386c193136add79512bc8cae2f893547f995f244">386c193</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/386c193136add79512bc8cae2f893547f995f244</comments>
</item>
<item>
<title>BED EXPANSION + THE POOL SWEEP: 79 new beds, ten classes, 152 anchors rotate</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=1577&amp;path=1679.4415,749.12558,1579.13027&amp;xdur=0.084</link>
<guid isPermaLink="false">6e16d3099eb8cda4c6b19856cdb2ba5b218e7bbf</guid>
<pubDate>Fri, 10 Jul 2026 17:58:57 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>transitwave</category>
<category>doomdrone</category>
<category>found</category>
<description><![CDATA[The repertoire program (NEXT.md 5f) lands its bed wave:]]></description>
<content:encoded><![CDATA[<p>The repertoire program (NEXT.md 5f) lands its bed wave:</p>
<ul><li>tools/fetch-bed-expansion.sh (adopted from the 2026-07-10 bed-curation round): 79 radio-aporee beds, license-verified per item (PD Mark x55, CC BY x12, CC BY-SA x12 — zero NC/ND), incl.</li><li>engine/genre-kernel.js SOURCES: +79 classed, license-flagged entries; SOURCES.md gains the full attribution table (BY/BY-SA flags complete).</li><li>SOURCE_POOLS filled: city 16, road 10, industry 10, voices 11, nature 7, water 9, room 8 + three NEW classes weather 9, smalltown 8, shortwave 5.</li><li><strong>THE SWEEP</strong> — 152 of 240 anchors' role:&quot;bed&quot; found.sources swapped from raw generic ids to pool:&lt;class&gt;*N tokens, SAME class mix per anchor.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=1577&amp;path=1679.4415,749.12558,1579.13027&amp;xdur=0.084">▶ Play it: Food Court Eternity → Rail Replacement Rapture → Subduction Hymnal — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/6e16d3099eb8cda4c6b19856cdb2ba5b218e7bbf">6e16d30</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/6e16d3099eb8cda4c6b19856cdb2ba5b218e7bbf</comments>
</item>
<item>
<title>Loads fast again: stale-while-revalidate + a precache that waits its turn</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=2595&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">33e14253ff55a0a8c3a3801e366a3fb9fca2c67a</guid>
<pubDate>Fri, 10 Jul 2026 17:50:18 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Paul: "It loads very slowly now." Diagnosis (playwright vs stellate.app): the shell is 2.6MB across ~40 requests and the origin serves cache-control: no-cache on everything — so every visit has ALWAYS revalidated ~20 files serially (one RTT each]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;It loads very slowly now.&quot; Diagnosis (playwright vs stellate.app): the shell is 2.6MB across ~40 requests and the origin serves cache-control: no-cache on everything — so every visit has ALWAYS revalidated ~20 files serially (one RTT each</p>
<ul><li>sw.js v2: app code goes STALE-WHILE-REVALIDATE — a repeat visit paints from the SW cache instantly (measured: 29 app/engine files cache-served on reload, zero errors) while a background fetch refreshes the…</li><li>precache: NEVER competes with the music or the boot — the warm now waits for the engine to be live and 3+ bars deep (its own decodes done), or 25s of idle; phones get a 120-file cap (desktop 400).</li></ul>
<p><em>Verified:</em> explorer-ui, access-ui, share-url green.</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=2595&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/33e14253ff55a0a8c3a3801e366a3fb9fca2c67a">33e1425</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/33e14253ff55a0a8c3a3801e366a3fb9fca2c67a</comments>
</item>
<item>
<title>The sax rename: the immutability invariant is right a fourth time</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=9717&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">6bb6daf55e032a5b036b83c78ab4f09af2282621</guid>
<pubDate>Fri, 10 Jul 2026 17:37:07 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Ship caught CHANGED-UNDER-SAME-NAME: the tenor-sax REPLACEMENT rewrote found/samples/instruments/tenor_sax/*.wav in place — exactly what the deploy invariant forbids, and doubly fatal now that sw.js caches found/ cache-first- forever (every existing client would keep the FluidR3 sax under the old…]]></description>
<content:encoded><![CDATA[<p>Ship caught CHANGED-UNDER-SAME-NAME: the tenor-sax REPLACEMENT rewrote found/samples/instruments/tenor_sax/*.wav in place — exactly what the deploy invariant forbids, and doubly fatal now that sw.js caches found/ cache-first- forever (every existing client would keep the FluidR3 sax under the old…</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=9717&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/6bb6daf55e032a5b036b83c78ab4f09af2282621">6bb6daf</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/6bb6daf55e032a5b036b83c78ab4f09af2282621</comments>
</item>
<item>
<title>Instrument-library upgrade wave 1: real crunch, real breath, a real upright</title>
<link>https://stellate.app/?genre=heavymetal&amp;seed=9261&amp;path=430.3999,749.12558,292.16891&amp;xdur=0.058</link>
<guid isPermaLink="false">07142efd02fc2aa4ff3c54882f98f480388841ed</guid>
<pubDate>Fri, 10 Jul 2026 17:27:49 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>heavymetal</category>
<category>transitwave</category>
<category>jazz</category>
<category>voice</category>
<description><![CDATA[Roadmap items 1-5 from the guitar-research report (scratch/guitar-research/ REPORT.md), all CC0 except one CC-BY row, all fetched by the NEW reproducible recipe tools/fetch-guitar-samples.sh (idempotent: sha256-checked cache, 7z/ py7zr fallback, extract-gm.js, 8s+fade trim pass for unlooped guitar…]]></description>
<content:encoded><![CDATA[<p>Roadmap items 1-5 from the guitar-research report (scratch/guitar-research/ REPORT.md), all CC0 except one CC-BY row, all fetched by the NEW reproducible recipe tools/fetch-guitar-samples.sh (idempotent: sha256-checked cache, 7z/ py7zr fallback, extract-gm.js, 8s+fade trim pass for unlooped guitar…</p>
<ul><li>1. tenor_sax REPLACED in place (FreePats/VCSL CC0): 8 zones, ALL with infinite sustain loops, 4.3MB (was 6-zone FluidR3).</li><li>attribution row added to SOURCES.md): pc_ds2_open/pc_ds2_pm/pc_ds2_pm2/ pc_as2_open in SAMPLES (kind:hit, measured D#2/A#2 roots, 0.26-12.5s).</li><li>Fixture drift CLASSIFIED (derived, not committed): all 1140 genre-seed pairs drift because sampled-by-default injects the ENTIRE SAMPLERS library into every state (samplerLib + vol-0 foundSources + events…</li><li>Known pre-existing red (NOT this change, proven on stashed HEAD): test/meter.test.js head_byte_identity copies a fixed HEAD file list that lacks the new engine/columns.js - its temp require fails.</li></ul>
<p><em>Verified:</em> verify.sh --no-cache FULLY GREEN (matrix 228/228 diagonal-dominant, validate PASS, engine presses PASS, prove PASS, matproof PASS).</p>
<p><a href="https://stellate.app/?genre=heavymetal&amp;seed=9261&amp;path=430.3999,749.12558,292.16891&amp;xdur=0.058">▶ Play it: Molten Horsepower → Rail Replacement Rapture → Smoke Arithmetic — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/07142efd02fc2aa4ff3c54882f98f480388841ed">07142ef</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/07142efd02fc2aa4ff3c54882f98f480388841ed</comments>
</item>
<item>
<title>The pool law: sources may name a CLASS, not a sample</title>
<link>https://stellate.app/?genre=canawave&amp;seed=8631&amp;path=1505.3720,430.7497&amp;xdur=0.191</link>
<guid isPermaLink="false">0cae4d3f9f306596af6e162618cb9dc7cbc3f90f</guid>
<pubDate>Fri, 10 Jul 2026 17:23:53 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>canawave</category>
<category>whalejazz</category>
<category>voice</category>
<description><![CDATA[The repertoire program's mechanism (Paul: "not lock one bit of found sound into one genre"). A found/hits/vox sources list may now carry "pool:city" (3 seeded members) or "pool:city*N"]]></description>
<content:encoded><![CDATA[<p>The repertoire program's mechanism (Paul: &quot;not lock one bit of found sound into one genre&quot;). A found/hits/vox sources list may now carry &quot;pool:city&quot; (3 seeded members) or &quot;pool:city*N&quot;</p>
<ul><li>SOURCE_POOLS ships with seven conservative classes drawn from the current corpus (city/road/industry/voices/nature/water/room)</li></ul>
<p><a href="https://stellate.app/?genre=canawave&amp;seed=8631&amp;path=1505.3720,430.7497&amp;xdur=0.191">▶ Play it: Loon Referendum → Leviathan Turnaround — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0cae4d3f9f306596af6e162618cb9dc7cbc3f90f">0cae4d3</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0cae4d3f9f306596af6e162618cb9dc7cbc3f90f</comments>
</item>
<item>
<title>The twelve new stars find screen-safe homes</title>
<link>https://stellate.app/?genre=fugue&amp;seed=2574&amp;path=196.90,1486.8187,2110.6172&amp;xdur=0.09</link>
<guid isPermaLink="false">8ce6794e8b225f0686e229ca847af5b87dcde887</guid>
<pubDate>Fri, 10 Jul 2026 17:12:53 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>fugue</category>
<category>talcumcasino</category>
<category>subrattle</category>
<category>travel</category>
<description><![CDATA[The new-genres agent placed by logical distance (>=100 units), but the explorer gate measures SCREEN geometry at the 1200x850 reference — and the map's units are anisotropic on screen (~2 x-units/px vs ~30 y-units/px), so subrattle sat 29px from talcumcasino and 18 label boxes overlapped.]]></description>
<content:encoded><![CDATA[<p>The new-genres agent placed by logical distance (&gt;=100 units), but the explorer gate measures SCREEN geometry at the 1200x850 reference — and the map's units are anisotropic on screen (~2 x-units/px vs ~30 y-units/px), so subrattle sat 29px from talcumcasino and 18 label boxes overlapped.</p>
<p><a href="https://stellate.app/?genre=fugue&amp;seed=2574&amp;path=196.90,1486.8187,2110.6172&amp;xdur=0.09">▶ Play it: The Patient Chase → Centrifuge Ballroom → Infrasound Omen — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/8ce6794e8b225f0686e229ca847af5b87dcde887">8ce6794</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/8ce6794e8b225f0686e229ca847af5b87dcde887</comments>
</item>
<item>
<title>Three 100% views, one vector rose, per-cell playhead, undarkened footage</title>
<link>https://stellate.app/access.html?genre=ambient&amp;seed=8219</link>
<guid isPermaLink="false">ba997d237f62d00ee26348977b4a5576e54dcb32</guid>
<pubDate>Fri, 10 Jul 2026 16:50:02 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>accessibility</category>
<description><![CDATA[Paul 2026-07-10, the viz + layout batch:]]></description>
<content:encoded><![CDATA[<p>Paul 2026-07-10, the viz + layout batch:</p>
<ul><li>THREE EXCLUSIVE VIEWS (&quot;star map, video, and viz are three different 100% views. when video is on turn off star map&quot;).</li><li>ONE VECTOR ROSE. The &quot;mind&quot; meters (adventure/color/motion) were a different display than the feel radar for no reason</li><li><strong>PER-CELL PLAYHEAD</strong> — each ruler cell lights as the music passes through it (MEAS_BEATS 4 -&gt; 1) and the bright leading-edge stripe is gone — a soft stepping block only.</li><li><strong>BEDS</strong> — it was the viz's ONE fallback label for 48 different field-recording beds (census: tokyo_station under 73 genres, shibuya 64, highway_night 52 — top-5 = 52% of 501 bed slots).</li></ul>
<p><em>Verified:</em> genre-viz re-pinned to the new contracts (viz IS a 100% view + map hidden, &gt;=11 axes incl. the mind trio, zero numeric readouts) and PASSES</p>
<p><a href="https://stellate.app/access.html?genre=ambient&amp;seed=8219">▶ Play it: Stationary Weather — the accessible text version, where the same music arrives as prose</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/ba997d237f62d00ee26348977b4a5576e54dcb32">ba997d2</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/ba997d237f62d00ee26348977b4a5576e54dcb32</comments>
</item>
<item>
<title>THE MATHEMATICAL FICTION: the 67 real genres get invented names + re-voiced cards</title>
<link>https://stellate.app/?genre=house&amp;seed=3379&amp;path=1101.20850,1784.4857,896.90&amp;xdur=0.036</link>
<guid isPermaLink="false">40f8603307bee87e3ad7e18af26ecf819ec3289b</guid>
<pubDate>Fri, 10 Jul 2026 16:46:52 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>house</category>
<category>italo</category>
<category>prelude</category>
<category>accessibility</category>
<description><![CDATA[Paul: "Rename all the 'real' genres with evocative names. Make this whole thing a work of mathematical fiction." Anchor ids, recipes, comments, POS, fixtures: UNTOUCHED (134 diff lines in genre-kernel.js = exactly 67 label/info pairs).]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;Rename all the 'real' genres with evocative names. Make this whole thing a work of mathematical fiction.&quot; Anchor ids, recipes, comments, POS, fixtures: UNTOUCHED (134 diff lines in genre-kernel.js = exactly 67 label/info pairs).</p>
<ul><li>Consistency sweep: how.html stage-1/2 diagrams now show fiction labels (basement sermon/mirrorball shift/sweat equity/rollerlacquer + far stars), &quot;prog: disco&quot; corrected to the real id funk_vamp (no &quot;disco&quot;…</li><li>The 67, old -&gt; new: techno Techno -&gt; Concrete Metronome house House -&gt; Basement Sermon jungle Jungle -&gt; Canopy Pressure triphop Trip hop -&gt; Drizzle Noir vaporwave Vaporwave -&gt; Marble Escalator synthwave…</li><li>Worldbuilding pins: prelude/fugue share a stone room (The Turning Stair / The Patient Chase cross-reference); italo winks at synthwave (&quot;the night-drive two doors down&quot;) without naming it.</li><li>Deliberately skipped (out of territory): other anchors' cards that mention real genres (pigeonstep/dmvstep say &quot;2-step garage&quot;, transitwave says &quot;vaporwave&quot;)</li></ul>
<p><em>Verified:</em> verify.sh --no-cache: matrix PASS (diagonal-dominant) + engine + validate + prove + matproof, total PASS 57.8s. theory/pipes/invariants suites green.</p>
<p><a href="https://stellate.app/?genre=house&amp;seed=3379&amp;path=1101.20850,1784.4857,896.90&amp;xdur=0.036">▶ Play it: Congregation Furnace → Espresso Laser → The Turning Stair — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/40f8603307bee87e3ad7e18af26ecf819ec3289b">40f8603</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/40f8603307bee87e3ad7e18af26ecf819ec3289b</comments>
</item>
<item>
<title>Twelve new genre spaces: the hip hop cosmos, grunge, emo, indie pop, diva pop, the floor</title>
<link>https://stellate.app/?genre=subrattle&amp;seed=5636&amp;path=2110.6172,1961.12359,1446.5785&amp;xdur=0.111</link>
<guid isPermaLink="false">2ffd1ec447c5e4bf3b5360c04c303bb608aa138b</guid>
<pubDate>Fri, 10 Jul 2026 16:34:50 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>subrattle</category>
<category>drywire</category>
<category>bouffantbeat</category>
<category>sampler</category>
<description><![CDATA[Paul's missing-spaces ask (NEXT.md wave 2), born as mathematical fiction — no real-world names, cards describe the sound. All authored through tools/genre-tool.js (measured target rows, never guessed), 228 -> 240:]]></description>
<content:encoded><![CDATA[<p>Paul's missing-spaces ask (NEXT.md wave 2), born as mathematical fiction — no real-world names, cards describe the sound. All authored through tools/genre-tool.js (measured target rows, never guessed), 228 -&gt; 240:</p>
<ul><li>hip hop cosmos: crateflip (sample-flip at 98, chopUse .4-.6), lowglide (g-funk whine: mono glide lead + sub, 88-96), subrattle (trap: 808 sub + rolling hats 1.2-2.4/beat at 140), hollerknock (crunk chant at…</li><li>Numbers: matrix 240/240 diagonal-dominant --no-cache; validate --quick PASS (dominance every genre, determinism byte-stable, 0 dangling refs); musicality all green (card-lie count 0</li><li>Guitar note: higain insert claims were attempted and REJECTED by mechanism — kernel INSERT_DEFAULTS has no higain entry (pool entries silently drop) and constrain() routes sampler voices to distort-only (the…</li></ul>
<p><a href="https://stellate.app/?genre=subrattle&amp;seed=5636&amp;path=2110.6172,1961.12359,1446.5785&amp;xdur=0.111">▶ Play it: Infrasound Omen → Ohmic Grievance → Beehive Antenna — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/2ffd1ec447c5e4bf3b5360c04c303bb608aa138b">2ffd1ec</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/2ffd1ec447c5e4bf3b5360c04c303bb608aa138b</comments>
</item>
<item>
<title>Transport law: stop resumes at the playhead, stop TWICE rewinds</title>
<link>https://stellate.app/?genre=ambient&amp;seed=3807&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122</link>
<guid isPermaLink="false">74ef73cfdb5cb7a47cfb4ac01af4604fb160ceac</guid>
<pubDate>Fri, 10 Jul 2026 16:25:52 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>mobile</category>
<description><![CDATA[Paul: "When I hit stop and start keep playing at the playhead. If I click stop TWICE, then reset to the beginning."]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;When I hit stop and start keep playing at the playhead. If I click stop TWICE, then reset to the beginning.&quot;</p>
<ul><li>The first stop already recorded the measure (the bookmarkable-mix work) so ▶ resumes at the playhead. Now a stop while ALREADY stopped</li></ul>
<p><em>Verified:</em> share-url-run grows the transport-law checks (stop remembers, double-stop rewinds, URL m dropped) — 13/13; explorer-ui + access-ui green.</p>
<p><a href="https://stellate.app/?genre=ambient&amp;seed=3807&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122">▶ Play it: Stationary Weather — a long-form genre — put the phone in your pocket and it keeps playing</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/74ef73cfdb5cb7a47cfb4ac01af4604fb160ceac">74ef73c</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/74ef73cfdb5cb7a47cfb4ac01af4604fb160ceac</comments>
</item>
<item>
<title>THE MASTERING STAGE: per-voice pan + collision carve + reverb budget + press makeup</title>
<link>https://stellate.app/?genre=gabber&amp;seed=2829&amp;path=1809.17533,1679.4415,289.13893&amp;xdur=0.056</link>
<guid isPermaLink="false">af677c4d0c7b4566aaea12539eb97903dfdddeb6</guid>
<pubDate>Fri, 10 Jul 2026 16:23:54 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>gabber</category>
<category>vaporwave</category>
<category>dinosynth</category>
<category>sampler</category>
<description><![CDATA[Paul: "a final mixing/balancing/panning/gainstage/compression stage that does what a good DJ or live sound engineer does. The sound of the fugue is very muddy in the final mix.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;a final mixing/balancing/panning/gainstage/compression stage that does what a good DJ or live sound engineer does. The sound of the fugue is very muddy in the final mix.</p>
<ul><li>1. STEREO PLACEMENT (state-engine applyMasterPan + renderers): constant-power per-unit pan — melody +0.10, pad -0.08 (+ per-note pitch spread 0.28/oct on sampled pads via notePan), solos alternating +/-0.14…</li><li>2. SAME-TIMBRE COLLISION CARVE (state-engine collisionCarve): two pitched voices on ONE sampler id =&gt; the lead keeps full range, accompaniment gets HPF 300 + a -4dB@450 mud dip on a CLONED strip (bass keeps…</li><li>3. REVERB BUDGET (state-engine reverbScale -&gt; fxParams + reverbColor): wetSum = (sum of voice sends) x reverb, gated by beat DENSITY (share of sections with drums on)</li><li>4. GAIN STAGING (press computeMakeup): per-press peak normalization toward -6 dBFS, ceiling +18 dB, gain 1 for any press already at/above target</li></ul>
<p><em>Verified:</em> verify.sh --no-cache FULLY GREEN (matrix 28.6s + engine + validate + prove + matproof). segment-parity-test: ALL 9 states PASS BYTE-EQUAL (pan mirrored press/stream/stem-worker).</p>
<p><a href="https://stellate.app/?genre=gabber&amp;seed=2829&amp;path=1809.17533,1679.4415,289.13893&amp;xdur=0.056">▶ Play it: Jackhammer Communion → Food Court Eternity → Cretaceous Vespers — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/af677c4d0c7b4566aaea12539eb97903dfdddeb6">af677c4</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/af677c4d0c7b4566aaea12539eb97903dfdddeb6</comments>
</item>
<item>
<title>Balance loop 3: the anchors claim the synthesis-depth machinery</title>
<link>https://stellate.app/?genre=sludgemetal&amp;seed=2056&amp;path=1337.9352,1030.7218,859.9931&amp;xdur=0.267</link>
<guid isPermaLink="false">02cad068adb77bffec1c53587cb1f20554138150</guid>
<pubDate>Fri, 10 Jul 2026 15:59:18 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>sludgemetal</category>
<category>funk</category>
<category>synthwave</category>
<category>found</category>
<description><![CDATA[b328159 shipped hi-gain staging, filter envelopes, and tempo-synced LFOs with no anchor claiming them. Nineteen anchors now do:]]></description>
<content:encoded><![CDATA[<p>b328159 shipped hi-gain staging, filter envelopes, and tempo-synced LFOs with no anchor claiming them. Nineteen anchors now do:</p>
<ul><li>HIGAIN, the metal wing (per-archetype stage/tone, replaces strip distort where it stood): heavymetal (2-3 stages, the wall), longshipwhip (thrash TIGHT-GATED, mid-scooped, gate .55-.8), sludgemetal +…</li><li><strong>FENV</strong> — electro bass+lead and acidhouse's pluck-lead seeds claim the unified fenvAmount/fenvDecay (the legacy multiplier fenv removed on those voices so envelopes never stack; tb303 keeps envmod).</li><li>LFO sync: dubstep wobbleBars .125 (THE 1/8 wobble, was free-running 1.5-4.5 Hz), italo juno60 pwmBase/pwmLfo, trance pad tremolo gate at a 1/16 (rateBars .0625, shape .7-1).</li><li><strong>WAH TRIM</strong> — disco/newjack/picnicswing/ chromeufo wah mix ranges -&gt; .6-.7 (full-wet trimmed sampled funk bass ~3.9 dB).</li></ul>
<p><em>Verified:</em> verify.sh --no-cache fully green (matrix 228/228 + validate + engine + prove + matproof); probes higain/fenv/lfo-sync all PASS; theory/pipes/meter/musicality/invariants PASS</p>
<p><a href="https://stellate.app/?genre=sludgemetal&amp;seed=2056&amp;path=1337.9352,1030.7218,859.9931&amp;xdur=0.267">▶ Play it: Molasses Avalanche → Downbeat Notary → Highway Heat Death — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/02cad068adb77bffec1c53587cb1f20554138150">02cad06</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/02cad068adb77bffec1c53587cb1f20554138150</comments>
</item>
<item>
<title>vector-kernel STEP 1: columnar events (engine/columns.js) behind buildEvents, byte-identical</title>
<link>https://stellate.app/access.html?genre=ambient&amp;seed=1744</link>
<guid isPermaLink="false">1ebf2a88645876da74f383e5db802a1e1e0fcd85</guid>
<pubDate>Fri, 10 Jul 2026 15:31:33 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>accessibility</category>
<description><![CDATA[docs/NEXT.md 5b, Paul's directive: rebuild the kernel toward lists of vectors run through streaming transformations, APL-style. This step introduces the struct-of-arrays substrate and converts the first two passes; the randomness tape (step 2) and the combinator DSL (step 3) build on it.]]></description>
<content:encoded><![CDATA[<p>docs/NEXT.md 5b, Paul's directive: rebuild the kernel toward lists of vectors run through streaming transformations, APL-style. This step introduces the struct-of-arrays substrate and converts the first two passes; the randomness tape (step 2) and the combinator DSL (step 3) build on it.</p>
<ul><li>toColumns(events, fields[, {view}]) -&gt; { n, &lt;f&gt;:Float64Array, mask:{&lt;f&gt;:Uint8Array}, keys, rest } - numeric fields become columns, everything else (strings, bend objects, solo flags, undefined-valued keys)…</li><li>fromColumns(cols) -&gt; rows JSON.stringify-identical to the input: key insertion order preserved, present-with-undefined vs absent preserved</li><li>writeBack(cols, events[, fields]) - mask-gated assignment into the ORIGINAL row objects (columns as a compute view, zero re-materialization risk)</li><li>map/scale/shift (elementwise, in-place, optional mask, scalar or per-row array operands) + where/and mask builders</li></ul>
<p><em>Verified:</em> columns.test.js (NEW): 6 gates - adversarial round-trip (key order, absent-vs-undefined, NaN/±0, nested objects), compute round-trip, helper semantics, mask-gated writeBack + view mode +…</p>
<p><a href="https://stellate.app/access.html?genre=ambient&amp;seed=1744">▶ Play it: Stationary Weather — the accessible text version, where the same music arrives as prose</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/1ebf2a88645876da74f383e5db802a1e1e0fcd85">1ebf2a8</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/1ebf2a88645876da74f383e5db802a1e1e0fcd85</comments>
</item>
<item>
<title>The priming hang: split oversized chord-bars into worker sub-windows</title>
<link>https://stellate.app/?genre=atlantidrone&amp;seed=1903&amp;path=2133.13956,1579.13027,2141.12627&amp;xdur=0.484</link>
<guid isPermaLink="false">f7572aa76949e225e2ece878e946f2dd71dab06c</guid>
<pubDate>Fri, 10 Jul 2026 15:29:09 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>atlantidrone</category>
<category>doomdrone</category>
<category>sourdough</category>
<category>found</category>
<description><![CDATA[Root cause (docs/NEXT.md §5, mechanism not per-genre): the chord-bar is the stream-worker's feed/render QUANTUM — runLivePump renders one fed bar as ONE blocking renderChunk, posts "primed" only after that first chunk lands, and hard-openfails any chunk bigger than the 30s SAB ring.]]></description>
<content:encoded><![CDATA[<p>Root cause (docs/NEXT.md §5, mechanism not per-genre): the chord-bar is the stream-worker's feed/render QUANTUM — runLivePump renders one fed bar as ONE blocking renderChunk, posts &quot;primed&quot; only after that first chunk lands, and hard-openfails any chunk bigger than the 30s SAB ring.</p>
<ul><li>chalkvespers 38.4s / atlantidrone 33.7s / sourdough 32.5s &gt; 30s ring -&gt; &quot;openfail gen1: chunk 1485504 &gt; ring 1323000&quot; (captured headless), swallowed into handle.errors, app spins &quot;priming…&quot; forever, rms 0…</li><li>sourdough is the 4th member of the class (never in the original 22-genre scan); next-largest bar is mallsoft at 19.2s, which always fit.</li><li>Fix: splitFeedWindows() in the ring conductor's feed() — any bar over MAX_FEED_SEC (6s) goes to the WORKER as contiguous [lo..hi) sub-windows.</li><li>Residual (deliberate): the WAV-FIRST mobile conductor still feeds whole bars (runBarAccumPump has no ring cap — slow first segment, not a hang)</li></ul>
<p><em>Verified:</em> (headless, live-test.html?wavOut=0, seed 7, scratch/ probes): before: atlantidrone NEVER primes (openfail above)</p>
<p><a href="https://stellate.app/?genre=atlantidrone&amp;seed=1903&amp;path=2133.13956,1579.13027,2141.12627&amp;xdur=0.484">▶ Play it: Hadal Vespers → Subduction Hymnal → Mother Culture Vigil — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/f7572aa76949e225e2ece878e946f2dd71dab06c">f7572aa</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/f7572aa76949e225e2ece878e946f2dd71dab06c</comments>
</item>
<item>
<title>Offline where possible + the accessible link becomes untappable-proof</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=7455&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">9cb9351fdeea73a64c638a7b4cab39ce57a5d0a2</guid>
<pubDate>Fri, 10 Jul 2026 15:18:06 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[OFFLINE (Paul: "we need it to work offline — where possible. For example precache samples for instruments along a route"). sw.js splits strategy by the repo's own immutability law: CACHE-FIRST for /found/** and /engine/faust/dist/** (the deploy invariant already guarantees those classes never change…]]></description>
<content:encoded><![CDATA[<p>OFFLINE (Paul: &quot;we need it to work offline — where possible. For example precache samples for instruments along a route&quot;). sw.js splits strategy by the repo's own immutability law: CACHE-FIRST for /found/** and /engine/faust/dist/** (the deploy invariant already guarantees those classes never change…</p>
<ul><li>app/precache.js warms the ROUTE AHEAD of the traveler: on any path/seed change (debounced, keyed) it samples weightsAt along every leg, mixes the crossed genres once each, resolves the actual draw set</li><li>THE ACCESSIBLE LINK (Paul: &quot;tapping accessible text version goes nowhere&quot;). Unreproducible in chromium at any viewport — iOS-Safari-side</li></ul>
<p><em>Verified:</em> explorer-ui, access-ui, share-url all green (one flaky explorer FAIL under fleet CPU contention, clean on re-run).</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=7455&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9cb9351fdeea73a64c638a7b4cab39ce57a5d0a2">9cb9351</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9cb9351fdeea73a64c638a7b4cab39ce57a5d0a2</comments>
</item>
<item>
<title>card-truth: fix the 3 genuine card-lies (hoover / rave piano+break / ska guitar)</title>
<link>https://stellate.app/?genre=gabber&amp;seed=3506&amp;path=1809.17533,1992.10036&amp;xdur=0.1</link>
<guid isPermaLink="false">111a5d5a64a4b80d20b901c043267ec954ae6197</guid>
<pubDate>Fri, 10 Jul 2026 15:10:16 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>gabber</category>
<category>happyhardcore</category>
<category>sampler</category>
<description><![CDATA[The promises gate named 3 remaining lies (NEXT.md 4b); all three are now KEPT and the catalog card-lie count is ZERO:]]></description>
<content:encoded><![CDATA[<p>The promises gate named 3 remaining lies (NEXT.md 4b); all three are now KEPT and the catalog card-lie count is ZERO:</p>
<ul><li>1. HOOVER as a SIGNATURE model (gabber + happyhardcore): the cards promise hoover stabs but &quot;stack&quot; was sampled away to a wind fallback.</li><li>2. happyhardcore's piano + breakbeat: lead pool now [&quot;hoover&quot; x3, &quot;sampler&quot;] with samplerPool [&quot;bright_yamaha_grand&quot;] (the '92 rave piano riff, 2/12 seeds measured) and a one-bar amen ROLL into every section…</li><li>3. ska's guitar skank: pads samplerPool [&quot;clean_guitar&quot; x2, &quot;percussive_organ&quot;,&quot;rock_organ&quot;] - the choppy offbeat comp layer is guitar-first (7/20 seeds draw it; the 2-tone organ keeps the rest).</li></ul>
<p><em>Verified:</em> verify.sh --no-cache fully green (matrix 228/228 diagonal dominant, gabber/happyhardcore/ska all 100* self; validate/engine/prove/matproof PASS).</p>
<p><a href="https://stellate.app/?genre=gabber&amp;seed=3506&amp;path=1809.17533,1992.10036&amp;xdur=0.1">▶ Play it: Jackhammer Communion → Serotonin Stampede — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/111a5d5a64a4b80d20b901c043267ec954ae6197">111a5d5</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/111a5d5a64a4b80d20b901c043267ec954ae6197</comments>
</item>
<item>
<title>The mix is a URL: bookmarkable measures, a draggable playhead, no macros</title>
<link>https://stellate.app/access.html?genre=ambient&amp;seed=5468</link>
<guid isPermaLink="false">d5d2e614bc350784043e765353afa6385333ee8e</guid>
<pubDate>Fri, 10 Jul 2026 15:07:38 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>accessibility</category>
<description><![CDATA[Paul 2026-07-10: "make the positions of the nodes and the seed update in a query string so the entire site is bookmarkable. Update it with measure numbers so we can drop in on any part of the mix.]]></description>
<content:encoded><![CDATA[<p>Paul 2026-07-10: &quot;make the positions of the nodes and the seed update in a query string so the entire site is bookmarkable. Update it with measure numbers so we can drop in on any part of the mix.</p>
<ul><li>THE BOOKMARKABLE MIX (app/share.js). ?seed&amp;path&amp;pace&amp;mode&amp;m ride the address bar, refreshed per bar (history.replaceState — no history spam).</li><li>THE DRAGGABLE PLAYHEAD (starmap). With a path, the pink traveler IS the playhead: grab it (screen-space hit-test like the waypoints) and slide</li><li>THE MEASURE-BLOCK PLAYHEAD (ⓘ viz). The one long sweep line is now a soft 4-beat block that lights the ACTIVE MEASURE and steps to the next — you read &quot;measure 2 of this bar&quot; at a glance.</li><li>MACROS REMOVED SITEWIDE. The eight sliders leave panels/access/state/targeting/ main; test/macro-live-run.js retired; access-ui's slider check dropped.</li></ul>
<p><em>Verified:</em> NEW test/share-url-run.js (11 checks: restore, drop-in serial, live URL advance, playhead drag, macros gone, zero errors) + genre-viz + blend-arrival + live-test + access-ui + explorer-ui +…</p>
<p><a href="https://stellate.app/access.html?genre=ambient&amp;seed=5468">▶ Play it: Stationary Weather — the accessible text version, where the same music arrives as prose</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/d5d2e614bc350784043e765353afa6385333ee8e">d5d2e61</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/d5d2e614bc350784043e765353afa6385333ee8e</comments>
</item>
<item>
<title>The offline matrix prover: the anchor catalog as vectors, verified twice</title>
<link>https://stellate.app/?genre=jungle&amp;seed=6979&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">b8f9c653f3c20b910c3e315b44a468788a13a780</guid>
<pubDate>Fri, 10 Jul 2026 14:34:37 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>drums</category>
<description><![CDATA[Paul: "the kernel can be simplified and rebuilt in terms of lists of vectors run through streaming transformations… think about ways to increase the verifiability and expressiveness of the musical kernel"]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;the kernel can be simplified and rebuilt in terms of lists of vectors run through streaming transformations… think about ways to increase the verifiability and expressiveness of the musical kernel&quot;</p>
<ul><li>hull() 38 dims proven in one pass (bpm/swing/fx/bass/lead/pad/drums) diff() DIFFERENTIAL cross-check against invariants.js's hand-rolled intervals: 37/38 dims EXACTLY EQUAL, 1 TIGHTER (fx.jux</li><li>Vectorized with plain typed arrays (228×38 is instant); the BLAS/GSL-WASM seam is matrix()/hull()</li></ul>
<p><em>Verified:</em> prove-matrix.test.js gates it: differential agreement, witness, byte-equal determinism, and SENSITIVITY</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=6979&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — the genre that is mostly drums, so the kit has nowhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b8f9c653f3c20b910c3e315b44a468788a13a780">b8f9c65</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b8f9c653f3c20b910c3e315b44a468788a13a780</comments>
</item>
<item>
<title>Solo taste pass: snares choke like real drums, combos lose the EDM sweep</title>
<link>https://stellate.app/?genre=bebop&amp;seed=4983&amp;path=694.13856,1036.22151,292.16891&amp;xdur=0.09</link>
<guid isPermaLink="false">a87e950fdbfea7d66efc6383a797d49eff587560</guid>
<pubDate>Fri, 10 Jul 2026 14:26:45 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>blues</category>
<category>jazz</category>
<category>melody</category>
<description><![CDATA[Paul's ear on the first solo render (which — mea culpa — never reached the actual solo; at 217bpm the 60s cut ended at beat ~200, the solo starts at 384; what he heard was the verse micro-lick, the pre-chorus master sweep, and the chorus lead.]]></description>
<content:encoded><![CDATA[<p>Paul's ear on the first solo render (which — mea culpa — never reached the actual solo; at 217bpm the 60s cut ended at beat ~200, the solo starts at 384; what he heard was the verse micro-lick, the pre-chorus master sweep, and the chorus lead.</p>
<ul><li>SNARE SELF-CHOKE (&quot;snares stumbling on top of each other — the samples not cutting off fast enough&quot;).</li><li>NO MASTER SWEEPS IN AN ACOUSTIC COMBO (&quot;a huge filter sweep comes in&quot;). The pop form's pre-chorus open sweep (260-&gt;18kHz across a whole section) is an EDM gesture with no place in a jazz/blues/funk/bluegrass…</li></ul>
<p><em>Verified:</em> verify.sh --no-cache all green (matrix 228/228, validate, engine, prove), segment-parity BYTE-EQUAL.</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=4983&amp;path=694.13856,1036.22151,292.16891&amp;xdur=0.09">▶ Play it: Mercury Interrogation → Crossroads Paperwork → Smoke Arithmetic — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a87e950fdbfea7d66efc6383a797d49eff587560">a87e950</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a87e950fdbfea7d66efc6383a797d49eff587560</comments>
</item>
<item>
<title>Promises gate precision: hybrid capability, 38 lies -&gt; 3 genuine</title>
<link>https://stellate.app/?genre=happyhardcore&amp;seed=2356&amp;path=1992.10036,1505.3720,1809.17533&amp;xdur=0.054</link>
<guid isPermaLink="false">c191b7643d8526b56c0f4e33a10d6eb876677c48</guid>
<pubDate>Fri, 10 Jul 2026 14:08:16 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>happyhardcore</category>
<category>canawave</category>
<category>gabber</category>
<category>sampler</category>
<description><![CDATA[The first card-parse read only the mixed STATE, which false-flags an instrument in the recipe POOL that this seed didn't draw (whalejazz's tenor_sax is in the samplerPool; seeds 1,2 drew the muted trumpet).]]></description>
<content:encoded><![CDATA[<p>The first card-parse read only the mixed STATE, which false-flags an instrument in the recipe POOL that this seed didn't draw (whalejazz's tenor_sax is in the samplerPool; seeds 1,2 drew the muted trumpet).</p>
<ul><li>guitar accepts kpluck (canawave's arpeggiated Karplus guitar);</li><li>theremin accepts a sine/stack/modeld lead (spacelounge's card literally says &quot;theremin-vibrato sine&quot;);</li><li>strings accepts bowed_glass/atmosphere pads; and add a skip-regex so &quot;electric piano&quot; doesn't trip the acoustic-piano claim (crumpetwhirl) and &quot;palm-muted low strings&quot;/&quot;guitar&quot; don't trip orchestral strings…</li><li>38 flagged genres collapse to 3 GENUINE lies the gate should keep naming: gabber + happyhardcore's hoover (never sounds in sampled mode</li></ul>
<p><a href="https://stellate.app/?genre=happyhardcore&amp;seed=2356&amp;path=1992.10036,1505.3720,1809.17533&amp;xdur=0.054">▶ Play it: Serotonin Stampede → Loon Referendum → Jackhammer Communion — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c191b7643d8526b56c0f4e33a10d6eb876677c48">c191b76</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c191b7643d8526b56c0f4e33a10d6eb876677c48</comments>
</item>
<item>
<title>Solos: the lead improvises over the changes</title>
<link>https://stellate.app/?genre=blues&amp;seed=3870&amp;path=1036.22151,694.13856,1618.5296&amp;xdur=0.044</link>
<guid isPermaLink="false">3433f35eb1eb244ff26e6902c4a7257d2bac4c57</guid>
<pubDate>Fri, 10 Jul 2026 14:00:44 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>blues</category>
<category>bebop</category>
<category>bluegrass</category>
<category>found</category>
<description><![CDATA[Task #23, never started: sec.solo/LICKS existed but the concept didn't. Now five idiomatic genres — bebop, jazz, blues, funk, bluegrass — get a real solo section where the lead improvises over the chord changes, not a pattern table.]]></description>
<content:encoded><![CDATA[<p>Task #23, never started: sec.solo/LICKS existed but the concept didn't. Now five idiomatic genres — bebop, jazz, blues, funk, bluegrass — get a real solo section where the lead improvises over the chord changes, not a pattern table.</p>
<ul><li>The improviser (csd-engine melodyEvents &quot;solo&quot;): per chord bar it builds a line from the chord tones (lead[]) with scale-step connectors and CHROMATIC APPROACH notes into the next target (the bop enclosure)…</li><li>The solo section (genre-kernel buildSections): spliced before the final head (head -&gt; SOLO -&gt; head), the genre's own lead voice takes it, the comp ducks (soloDuck halves the pad bed so the line sits forward).</li></ul>
<p><em>Verified:</em> matrix 228/228 --no-cache (the dense solo section moves melody/motion features but no genre loses itself), verify.sh green (validate + engine + prove, incl.</p>
<p><a href="https://stellate.app/?genre=blues&amp;seed=3870&amp;path=1036.22151,694.13856,1618.5296&amp;xdur=0.044">▶ Play it: Crossroads Paperwork → Mercury Interrogation → Centrifugal Hymnal — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/3433f35eb1eb244ff26e6902c4a7257d2bac4c57">3433f35</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/3433f35eb1eb244ff26e6902c4a7257d2bac4c57</comments>
</item>
<item>
<title>The promises gate: cards can't lie in silence anymore</title>
<link>https://stellate.app/?genre=gabber&amp;seed=6034&amp;path=1809.17533,1992.10036,694.13856&amp;xdur=0.098</link>
<guid isPermaLink="false">901410725ef7582d333db4705e3204b347b8eaa7</guid>
<pubDate>Fri, 10 Jul 2026 13:21:31 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>gabber</category>
<category>happyhardcore</category>
<category>bebop</category>
<category>sampler</category>
<description><![CDATA[Ports the card-truth sweep into engine/musicality.js as an automatic card-parse mode on the PROMISES law. It reads each genre's `info` blurb as a falsifiable contract: parse the concrete instrument/voice NOUNS the card names, and check each against what the genre can actually realize.]]></description>
<content:encoded><![CDATA[<p>Ports the card-truth sweep into engine/musicality.js as an automatic card-parse mode on the PROMISES law. It reads each genre's `info` blurb as a falsifiable contract: parse the concrete instrument/voice NOUNS the card names, and check each against what the genre can actually realize.</p>
<ul><li>The one subtlety that makes it accurate: capability is read from the MIXED STATES, not the spec pools.</li><li>Catalog: 38 card-lie WARNs across 228 genres after this session's wave — the honest remainder (gabber's hoover that never sounds sampled, dnb's absent amen source, whalejazz's empty-pool sax, happyhardcore's…</li><li>All musicality gates green; validate/matrix/engine/prove unaffected.</li></ul>
<p><a href="https://stellate.app/?genre=gabber&amp;seed=6034&amp;path=1809.17533,1992.10036,694.13856&amp;xdur=0.098">▶ Play it: Jackhammer Communion → Serotonin Stampede → Mercury Interrogation — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/901410725ef7582d333db4705e3204b347b8eaa7">9014107</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/901410725ef7582d333db4705e3204b347b8eaa7</comments>
</item>
<item>
<title>Card-truth wave: the commission cast finds its voice (20 genres)</title>
<link>https://stellate.app/?genre=microwave&amp;seed=2410&amp;path=1276.5376,2129.10846,1913.14117&amp;xdur=0.085</link>
<guid isPermaLink="false">1bf606ba7d5bb95ad1c3b5f0193f994e2712305d</guid>
<pubDate>Fri, 10 Jul 2026 13:12:07 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>microwave</category>
<category>termswave</category>
<category>cerealwave</category>
<category>voice</category>
<description><![CDATA[The espeak speech cast — 66 lines recorded for the "commission" genres — was registered in SAMPLES but wired to nothing: cards promising an auctioneer, an umpire, a DMV window, a modem, and 20 more, delivering silence.]]></description>
<content:encoded><![CDATA[<p>The espeak speech cast — 66 lines recorded for the &quot;commission&quot; genres — was registered in SAMPLES but wired to nothing: cards promising an auctioneer, an umpire, a DMV window, a modem, and 20 more, delivering silence.</p>
<ul><li>buried vox layers for the running voices (rotating the pool, every:2-4, maxDur sized so each clip finishes): sp_atc → airtrafficdrone, sp_ca → canawave, sp_cereal → cerealwave, sp_crier → towncrier, sp_dmv →…</li><li>The three ambiguous mappings were resolved by reading the cards, not guessing: cereal→cerealwave (its card names the cereal ad</li></ul>
<p><em>Verified:</em> matrix 228/228 --no-cache (no genre dropped, no vol rescue needed), every genre resolves its sp_* ids into foundSources and emits 3-64 speech events, verify.sh (validate + engine + prove)…</p>
<p><a href="https://stellate.app/?genre=microwave&amp;seed=2410&amp;path=1276.5376,2129.10846,1913.14117&amp;xdur=0.085">▶ Play it: Magnetron Benediction → Hereinafter Forever → Riboflavin Rapture — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/1bf606ba7d5bb95ad1c3b5f0193f994e2712305d">1bf606b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/1bf606ba7d5bb95ad1c3b5f0193f994e2712305d</comments>
</item>
<item>
<title>Dynamics vs the snare-law: reconcile on the composed accent</title>
<link>https://stellate.app/?genre=sludgemetal&amp;seed=2814&amp;path=1337.9352,593.5882,1895.13440&amp;xdur=0.098</link>
<guid isPermaLink="false">b1e706e6313e27599205243ce53f7020d0815b7a</guid>
<pubDate>Fri, 10 Jul 2026 13:02:55 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>sludgemetal</category>
<category>bramblestep</category>
<category>strawberryfog</category>
<category>drums</category>
<description><![CDATA[The drum-dynamics pass scales snare/hat amps, and TWO systems read those amps: the snare-law's no-three-peat dedup (accent buckets) and validate's rendered drum features (drumDensity/snareBalance/hatDensity).]]></description>
<content:encoded><![CDATA[<p>The drum-dynamics pass scales snare/hat amps, and TWO systems read those amps: the snare-law's no-three-peat dedup (accent buckets) and validate's rendered drum features (drumDensity/snareBalance/hatDensity).</p>
<ul><li>dynamics AFTER the dedup -&gt; invariants prove sees three-peats in the faded loudness (octopusminuet×strawberryfog, bramblestep×urchinmatinee);</li><li>dynamics BEFORE the dedup -&gt; the dedup's variation choices shift, drifting the drum features and tipping validate's 2-seed dominance on sludgemetal.</li><li>The resolution is conceptual: the snare-law is a PATTERN promise (no ad-nauseam accent repeat); the dynamics envelope is LOUDNESS.</li></ul>
<p><em>Verified:</em> matrix 228/228 --no-cache, validate + engine + prove all PASS, segment-parity BYTE-EQUAL, drum swells intact (kick slams 0.640, hat swells 0.047 -&gt; full).</p>
<p><a href="https://stellate.app/?genre=sludgemetal&amp;seed=2814&amp;path=1337.9352,593.5882,1895.13440&amp;xdur=0.098">▶ Play it: Molasses Avalanche → Hedge Maze Vespers → Doppler Orchard — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b1e706e6313e27599205243ce53f7020d0815b7a">b1e706e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b1e706e6313e27599205243ce53f7020d0815b7a</comments>
</item>
<item>
<title>Drum kits breathe too: variable dynamics per drum voice</title>
<link>https://stellate.app/?genre=jungle&amp;seed=6947&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">131c4d7bacdc4ff81408ec59cc71370ea25b650c</guid>
<pubDate>Fri, 10 Jul 2026 12:51:33 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>drums</category>
<description><![CDATA[Paul: "different drum voices can have variable dynamics." The first dynamics pass exempted drums wholesale — too blunt. Generalize the ramp to per-voice [floorIn, floorExit] and give drums their own table.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;different drum voices can have variable dynamics.&quot; The first dynamics pass exempted drums wholesale — too blunt. Generalize the ramp to per-voice [floorIn, floorExit] and give drums their own table.</p>
<ul><li>The BACKBONE (kick / snare / clap / rim) slams in — floorIn 1, so a drop stays slammed — but still fades on the way OUT into a breakdown.</li><li>The pitched voices are unchanged (their floors just moved into the [in,out] shape). A shared dynRuns() walks each lane's active runs once</li><li>Measured on default_song: kick enters unchanged at 0.640 (slam preserved), hat swells 0.047 -&gt; full over its entrance.</li></ul>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=6947&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — the genre that is mostly drums, so the kit has nowhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/131c4d7bacdc4ff81408ec59cc71370ea25b650c">131c4d7</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/131c4d7bacdc4ff81408ec59cc71370ea25b650c</comments>
</item>
<item>
<title>Voices breathe: musical dynamics in the composition</title>
<link>https://stellate.app/?genre=bebop&amp;seed=7229&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">14daa065a3472c64e40311f6b5d3e79cad976c2b</guid>
<pubDate>Fri, 10 Jul 2026 12:40:35 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[Paul: "voices today enter and exit abruptly. Very often dynamics are an active part of every composition." They were right — a section turning a voice on snapped it to full level; turning it off cut it dead.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;voices today enter and exit abruptly. Very often dynamics are an active part of every composition.&quot; They were right — a section turning a voice on snapped it to full level; turning it off cut it dead.</p>
<ul><li>Add a renderer-stage dynamics pass (applyVoiceDynamics). A harmonic/melodic voice — pad, bass, melody</li><li>Serves BOTH engines. Press hands the whole multi-section song, so the run edges are computed from state.sections + spans.</li><li>Renderer-only — the symbolic verifier and musicality never see it, so the confusion matrix is untouched.</li><li>(stem-parity's citypop_s7 error is pre-existing — identical before/after, the sampled-by-default re-pin already filed in NEXT.md.)</li></ul>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=7229&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/14daa065a3472c64e40311f6b5d3e79cad976c2b">14daa06</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/14daa065a3472c64e40311f6b5d3e79cad976c2b</comments>
</item>
<item>
<title>Card-truth wave: the silent sources find their voice (12 urls restored)</title>
<link>https://stellate.app/?genre=floppycore&amp;seed=5433&amp;path=1681.19828,1556.19248,2103.13302&amp;xdur=0.114</link>
<guid isPermaLink="false">d31cb31931fb8bd5275eaedd53ef12ff2e46d790</guid>
<pubDate>Fri, 10 Jul 2026 12:19:50 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>floppycore</category>
<category>laundrycore</category>
<category>ambient</category>
<category>found</category>
<description><![CDATA[The modem was not alone. Twelve SOURCES carried url:"" while their generated audio sat on disk as found/<id>.mp3 — so the found-player fetched "" and got silence.]]></description>
<content:encoded><![CDATA[<p>The modem was not alone. Twelve SOURCES carried url:&quot;&quot; while their generated audio sat on disk as found/&lt;id&gt;.mp3 — so the found-player fetched &quot;&quot; and got silence.</p>
<ul><li>Restore all twelve urls to their disk files: crt_whine, floppy_seek, hvac_hum, fax_tone, dryer_spin, chickadee, pigeon_coo, dw_cycle, ferment_bubble, crickets, hydrophone, whale_song.</li><li>Two were also unwired entirely, and the bpm-matched `break` role silently drops a texture clip (no bpm to match), so a naive found.sources add is inert.</li><li>Two honest notes, both in NEXT.md: (1) ~15 genres just gained their intended ambient beds — the matrix guards identity but only Paul's ear can say none sit too loud.</li></ul>
<p><em>Verified:</em> matrix 228/228 --no-cache, verify.sh (validate + engine + prove) green, affected genres (faxbossa, crtwave, thermostatwave, whalejazz, crickettempo, floppycore, laundrycore) live-render…</p>
<p><a href="https://stellate.app/?genre=floppycore&amp;seed=5433&amp;path=1681.19828,1556.19248,2103.13302&amp;xdur=0.114">▶ Play it: Abort Retry Fail → Unbalanced Load → Stationary Weather — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/d31cb31931fb8bd5275eaedd53ef12ff2e46d790">d31cb31</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/d31cb31931fb8bd5275eaedd53ef12ff2e46d790</comments>
</item>
<item>
<title>Card-truth wave: the orphans get wired, the gavel stops stuttering</title>
<link>https://stellate.app/?genre=auctioncore&amp;seed=2010&amp;path=1647.15288,1276.5376,1423.11686&amp;xdur=0.076</link>
<guid isPermaLink="false">dfff27b246e947f9ad0123f617aae7e878dc7c2e</guid>
<pubDate>Fri, 10 Jul 2026 12:03:37 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>auctioncore</category>
<category>microwave</category>
<category>dialupgabber</category>
<category>voice</category>
<description><![CDATA[The card-truth sweep found a whole cast of registered-but-unwired samples — cards promising an auctioneer, a modem, an umpire, whose audio existed and played for no one.]]></description>
<content:encoded><![CDATA[<p>The card-truth sweep found a whole cast of registered-but-unwired samples — cards promising an auctioneer, a modem, an umpire, whose audio existed and played for no one.</p>
<ul><li>THE LIVE CADENCE AMPLIFIER (foundation). stepWalk feeds the engine a ONE-SECTION, one-cycle song per chord-bar, so buildEvents' sampleEvents pass saw every bar as both the first section (opener) and a section…</li><li>sp_auction_1/2/3 -&gt; auctioncore. &quot;the auctioneer chant IS the genre,&quot; but the three speech clips were wired to nothing.</li><li>modem_handshake -&gt; dialupgabber. Root cause was url:&quot;&quot; — found/modem_handshake .mp3 was on disk but unfetchable, so the &quot;screaming modem negotiation&quot; the card sells never played.</li></ul>
<p><em>Verified:</em> matrix 228/228 --no-cache, verify.sh (validate + engine + prove) green, musicality green, explorer-ui + access-ui green, auctioncore/dialupgabber/ microwave live-render clean with zero…</p>
<p><a href="https://stellate.app/?genre=auctioncore&amp;seed=2010&amp;path=1647.15288,1276.5376,1423.11686&amp;xdur=0.076">▶ Play it: Going Going Gone → Magnetron Benediction → Carrier Lost — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/dfff27b246e947f9ad0123f617aae7e878dc7c2e">dfff27b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/dfff27b246e947f9ad0123f617aae7e878dc7c2e</comments>
</item>
<item>
<title>The instrument grows a second door: an accessible text version</title>
<link>https://stellate.app/?genre=atlantidrone&amp;seed=8314&amp;path=2133.13956,1727.16539&amp;xdur=0.287</link>
<guid isPermaLink="false">7395b9fa90e36b7ea29009bd32893914110bfd30</guid>
<pubDate>Fri, 10 Jul 2026 11:41:39 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>atlantidrone</category>
<category>chalkvespers</category>
<category>accessibility</category>
<description><![CDATA[access.html + app/access.js — a screen-reader- and keyboard-first way to play Stellate, no vision required. It is not a reduced clone: it imports the same state/world/targeting/live modules the star map uses and drives them by an explicit genre choice or an ordered journey instead of a cursor, so it…]]></description>
<content:encoded><![CDATA[<p>access.html + app/access.js — a screen-reader- and keyboard-first way to play Stellate, no vision required. It is not a reduced clone: it imports the same state/world/targeting/live modules the star map uses and drives them by an explicit genre choice or an ordered journey instead of a cursor, so it…</p>
<ul><li>retargetWeights(weights, pt?) added to targeting.js; retarget(pt) now delegates to it (map behavior unchanged — explorer-ui green).</li><li>Genre picker (all 228, with each card's blurb), explicit-percentage blend, journey builder (an ordered loop of stops), 8 labeled &quot;shape&quot; macro sliders, seed, mode, Play/Stop (Space toggles).</li><li>Only the two DOM ids the imported modules touch at load (#boot, #bgChip) exist as inert aria-hidden stubs; panels.js/starmap.js are never imported.</li><li>Discoverability: a focus-revealed .a11y-skip link at the top of index.html and an About-panel link. Fixed stale &quot;178-genre&quot; -&gt; 228 copy in the About.</li></ul>
<p><em>Verified:</em> access-ui-run.js: the accessible-page gate (12 checks — all 228 genres, hold + A/B blend + journey with real audio, determinism, zero errors).</p>
<p><a href="https://stellate.app/?genre=atlantidrone&amp;seed=8314&amp;path=2133.13956,1727.16539&amp;xdur=0.287">▶ Play it: Hadal Vespers → Antiphon Decay — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/7395b9fa90e36b7ea29009bd32893914110bfd30">7395b9f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/7395b9fa90e36b7ea29009bd32893914110bfd30</comments>
</item>
<item>
<title>Compiled wasm is code, not media: dist/ leaves the immutable class</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=4047&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">93bb61e7ce467b6544102700e7887939b207e69a</guid>
<pubDate>Fri, 10 Jul 2026 04:09:13 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[The MEDIA_MANIFEST invariant fired on the synthesis-depth recompiles and was right for the third time: engine/faust/dist/ wasm changes under the same name whenever a .dsp recompiles — an immutable cache would serve STALE SYNTHESIS to returning visitors after any voice change.]]></description>
<content:encoded><![CDATA[<p>The MEDIA_MANIFEST invariant fired on the synthesis-depth recompiles and was right for the third time: engine/faust/dist/ wasm changes under the same name whenever a .dsp recompiles — an immutable cache would serve STALE SYNTHESIS to returning visitors after any voice change.</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=4047&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/93bb61e7ce467b6544102700e7887939b207e69a">93bb61e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/93bb61e7ce467b6544102700e7887939b207e69a</comments>
</item>
<item>
<title>Simulator findings: revised flips re-tier, brushed crossings, dead gate removed</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=1489&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046</link>
<guid isPermaLink="false">fbca2af9f40099fbba72d4a9e79ff531891bad62</guid>
<pubDate>Fri, 10 Jul 2026 04:07:42 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>jungle</category>
<category>travel</category>
<description><![CDATA[The path-simulator follow-ups (terminated by session limit at the final gate step — changes complete; battery run below by the main session): identity-churn fix in the glide queue (a REVISED identity dim re-enters tier 1 instead of waiting a full cycle at tier 2), dwell-aware verdict semantics in…]]></description>
<content:encoded><![CDATA[<p>The path-simulator follow-ups (terminated by session limit at the final gate step — changes complete; battery run below by the main session): identity-churn fix in the glide queue (a REVISED identity dim re-enters tier 1 instead of waiting a full cycle at tier 2), dwell-aware verdict semantics in…</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=1489&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046">▶ Play it: Food Court Eternity → Smoke Arithmetic → Barometric Stampede — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/fbca2af9f40099fbba72d4a9e79ff531891bad62">fbca2af</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/fbca2af9f40099fbba72d4a9e79ff531891bad62</comments>
</item>
<item>
<title>Synthesis depth: hi-gain staging, filter envelopes, tempo-synced LFOs</title>
<link>https://stellate.app/?genre=dubstep&amp;seed=8380&amp;path=1379.18226,1398.18259,1360.18259&amp;xdur=13.122</link>
<guid isPermaLink="false">656d567c58da3448ba03ab4e9382f404efbbd45a</guid>
<pubDate>Fri, 10 Jul 2026 04:07:42 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>dubstep</category>
<category>voice</category>
<description><![CDATA[The three-part modulation program (terminated by session limit at the documentation step — work complete and gated, report reconstructed from the tree):]]></description>
<content:encoded><![CDATA[<p>The three-part modulation program (terminated by session limit at the documentation step — work complete and gated, report reconstructed from the tree):</p>
<ul><li>insert_higain.dsp — the staged amp heavy genres deserved: tightness gate -&gt; cascaded drive stages with inter-stage HP -&gt; tone stack -&gt; cab-sim -&gt; DC blocker</li><li>insert_fenv.dsp + a unified filter-envelope surface across 17 synth models (fenvAmount/fenvAttack/fenvDecay with consistent semantics</li><li>Tempo-synced LFO slice (Part C): musical-division rates on the modulation surface, probe-proven (test/probe-lfo-sync.js).</li><li>Plus the invariants finding: INSERT_DEFAULTS gains the granular entry — dubstep's declared &quot;granular stutter clouds&quot; can now actually fire (was dead 0/60 seeds).</li></ul>
<p><a href="https://stellate.app/?genre=dubstep&amp;seed=8380&amp;path=1379.18226,1398.18259,1360.18259&amp;xdur=13.122">▶ Play it: Seismic Ultimatum — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/656d567c58da3448ba03ab4e9382f404efbbd45a">656d567</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/656d567c58da3448ba03ab4e9382f404efbbd45a</comments>
</item>
<item>
<title>Formal methods: the convexity proof + property sweeps, wired into verify</title>
<link>https://stellate.app/?genre=dubstep&amp;seed=8386&amp;path=1379.18248,1109.13089&amp;xdur=0.145</link>
<guid isPermaLink="false">6d1b9db2f6c563d649be1b72d5fcd81649c0eade</guid>
<pubDate>Fri, 10 Jul 2026 03:30:27 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>dubstep</category>
<category>crimsoncourt</category>
<category>found</category>
<description><![CDATA[Paul: "What can you do with the kernel using formal or verifiable methods?" engine/invariants.js answers with an epistemic ladder (docs/INVARIANTS.md): PROVEN > SWEPT > GATED-ELSEWHERE > EARS.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;What can you do with the kernel using formal or verifiable methods?&quot; engine/invariants.js answers with an epistemic ladder (docs/INVARIANTS.md): PROVEN &gt; SWEPT &gt; GATED-ELSEWHERE &gt; EARS.</p>
<ul><li>The centerpiece is a real proof, not a sample: resolveMulti's scalar paths are weighted means (Sigma w = 1), so every blend is a convex combination of anchor endpoints</li><li>The sweeps (seeded, deterministic, falsifiability-tested): totality over all anchors + 155,268 exhaustive state-level pair resolutions, constrain idempotence, duration-solver contract, snare-law's…</li><li>Findings — the product: (1) bpm is consumer-UNBOUNDED (nothing clamps tempo anywhere; a bpm-300 anchor would sail through — filed)</li></ul>
<p><em>Verified:</em> verify.sh grows a fourth concurrent suite: prove (quick, ~15s; the wait loop learned to count to four).</p>
<p><a href="https://stellate.app/?genre=dubstep&amp;seed=8386&amp;path=1379.18248,1109.13089&amp;xdur=0.145">▶ Play it: Seismic Ultimatum → Non Euclidean Court — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/6d1b9db2f6c563d649be1b72d5fcd81649c0eade">6d1b9db</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/6d1b9db2f6c563d649be1b72d5fcd81649c0eade</comments>
</item>
<item>
<title>Balance loop 2: 228/228 musical — zero anchors edited, three mechanisms</title>
<link>https://stellate.app/?genre=lofi&amp;seed=2251&amp;path=263.9071,1829.2992,1838.21125&amp;xdur=0.041</link>
<guid isPermaLink="false">54eea62ba90c8e1ffc369df0039d6fdbd3941cf7</guid>
<pubDate>Fri, 10 Jul 2026 03:18:27 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>lofi</category>
<category>dancepop</category>
<category>footwork</category>
<category>voice</category>
<description><![CDATA[Paul: "What about the other genres." All of them, now: 169 OK / 59 WARN -> 228 OK / 0 WARN / 0 FAIL (verified at seeds 1-5 too), worst 0.92 -> 0.99, and every fix was mechanism-level:]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;What about the other genres.&quot; All of them, now: 169 OK / 59 WARN -&gt; 228 OK / 0 WARN / 0 FAIL (verified at seeds 1-5 too), worst 0.92 -&gt; 0.99, and every fix was mechanism-level:</p>
<ul><li><strong>SAMPLER REGISTER HOME</strong> — progressions voice leads at the synth-lead octave (midi 60-95) while sampled winds/ guitars/choirs top out at 81-86 — so phrase PEAKS folded down an octave at render and the climax inverted.</li><li>The grow tie-break, one level down: pre-chorus and chorus are both &quot;peak&quot;, so loop 1's energy-aware growth still stacked on the FIRST peak and pushed toastercore's hook 192 -&gt; 224.</li><li>BLOOM v1.2 design floors: four &quot;stragglers&quot; (standbylightdrive, singeli, bebop, walrusfuzz) were ON their form's designed proportions — the beat tables punished tempo/cycle geometry, not drag.</li></ul>
<p><em>Verified:</em> Matrix 228/228 --no-cache three times over; verify/meter/theory/ pipes/speech green; musicality suite grew to 24 gates; determinism byte-proven</p>
<p><a href="https://stellate.app/?genre=lofi&amp;seed=2251&amp;path=263.9071,1829.2992,1838.21125&amp;xdur=0.041">▶ Play it: Dust Census → Confetti Escape Velocity → Ankle Velocity — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/54eea62ba90c8e1ffc369df0039d6fdbd3941cf7">54eea62</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/54eea62ba90c8e1ffc369df0039d6fdbd3941cf7</comments>
</item>
<item>
<title>Sampled voices get their inserts: the road, not the escape hatch</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=6356&amp;path=1679.4415,1530.6221,430.3999&amp;xdur=0.267</link>
<guid isPermaLink="false">a1d3bd649f5a09644a68eb40804c6b785136e18e</guid>
<pubDate>Fri, 10 Jul 2026 02:56:48 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>citypop</category>
<category>heavymetal</category>
<category>voice</category>
<description><![CDATA[The blues-organ fix made hammond a signature synth to recover its leslie; this is the general solution the audio charter designed and deferred: anchor-declared insert chains (chorus/phaser/leslie/ flanger/delay/ringmod/tremolo/filtersweep/wah) now apply to SAMPLED voices on every path.]]></description>
<content:encoded><![CDATA[<p>The blues-organ fix made hammond a signature synth to recover its leslie; this is the general solution the audio charter designed and deferred: anchor-declared insert chains (chorus/phaser/leslie/ flanger/delay/ringmod/tremolo/filtersweep/wah) now apply to SAMPLED voices on every path.</p>
<ul><li>Offline (press + stream + the wavOut MOBILE lane): the REAL dist/ insert_* Faust modules process each unit's pre-send mix whole-song (render-core's exact insert law, barSec tempo-sync included)</li><li>The absent-law holds byte-exactly: no declared inserts = zero new processing (heavymetal/jazz/vaporwave presses byte-identical to HEAD)</li></ul>
<p><em>Verified:</em> harness repaired first: segment-parity pointed at the pre-diet tokyo_station.wav — green on HEAD before any change, then 9/9 byte-equal INCLUDING two new sampled-insert cases.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=6356&amp;path=1679.4415,1530.6221,430.3999&amp;xdur=0.267">▶ Play it: Food Court Eternity → Neon Fiscal Year → Molten Horsepower — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a1d3bd649f5a09644a68eb40804c6b785136e18e">a1d3bd6</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a1d3bd649f5a09644a68eb40804c6b785136e18e</comments>
</item>
<item>
<title>A path is now a checkable object: the state-level simulator + 3-node default</title>
<link>https://stellate.app/?genre=doomdrone&amp;seed=9948&amp;path=1579.13027,940.12178,1161.12218&amp;xdur=0.683</link>
<guid isPermaLink="false">bf5571cc4daed01d89e46a073c82fe00ce940a94</guid>
<pubDate>Fri, 10 Jul 2026 02:41:14 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>doomdrone</category>
<category>brinedub</category>
<category>lasertemple</category>
<category>harmony</category>
<description><![CDATA[Paul: "Are you able to fully simulate a path? At a state level, then test." tools/simulate-path.js is the fast middle fidelity between the glide sim and the realtime headless rides: it boots the REAL app headless and dynamic-imports the page's own targeting singleton (no forked logic to drift), then…]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;Are you able to fully simulate a path? At a state level, then test.&quot; tools/simulate-path.js is the fast middle fidelity between the glide sim and the realtime headless rides: it boots the REAL app headless and dynamic-imports the page's own targeting singleton (no forked logic to drift), then…</p>
<ul><li>The default loop is now THREE nodes: centre (reads ~96% disco) -&gt; lasertemple -&gt; doomdrone — three forms, three kit families, an energy arc that closes back on the dance floor</li></ul>
<p><em>Verified:</em> simulate-path-run.js is the committed gate: the default loop must arrive everywhere within the contract, no musicality hard-fails, byte-deterministic</p>
<p><a href="https://stellate.app/?genre=doomdrone&amp;seed=9948&amp;path=1579.13027,940.12178,1161.12218&amp;xdur=0.683">▶ Play it: Subduction Hymnal → Saltwater Reliquary → Collimated Chapel — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/bf5571cc4daed01d89e46a073c82fe00ce940a94">bf5571c</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/bf5571cc4daed01d89e46a073c82fe00ce940a94</comments>
</item>
<item>
<title>Balance loop 1: 19 -&gt; 169 genres fully musical; reggae keeps its promise</title>
<link>https://stellate.app/?genre=reggae&amp;seed=4716&amp;path=508.4799,263.9071,1829.2992&amp;xdur=0.117</link>
<guid isPermaLink="false">48506e7c767985d2f003bc49951ad42625873733</guid>
<pubDate>Fri, 10 Jul 2026 02:28:43 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>reggae</category>
<category>lofi</category>
<category>dancepop</category>
<category>voice</category>
<description><![CDATA[The first run of the MUSICALITY balance loop (docs/MUSICALITY.md), mechanism-first per Paul's law that specific complaints are classes:]]></description>
<content:encoded><![CDATA[<p>The first run of the MUSICALITY balance loop (docs/MUSICALITY.md), mechanism-first per Paul's law that specific complaints are classes:</p>
<ul><li><strong>THE INTRO-DRAG WAS ONE LINE OF KERNEL</strong> — the duration solver's grow tie-break picked the first tied index, stacking ALL residual growth at the track's front</li><li><strong>THE ONE-DROP EXISTS</strong> — KITS grows `onedrop` — kick + cross-stick TOGETHER on beat 3, beat 1 empty, hats on the skank off-eighths.</li><li>chalkvespers stops asking its choir for midi 107 (ceiling 87): new zero-rng anchor dimension `leadOctave` (dominant-parent pick, absent = byte-identical), chant at -2 — asks within the window now</li><li>PRELUDE OPENS ON THE FIGURATION, BAR 1 (introMode off): the wave arrive-node held the first keyboard note out 37-101s (seed 3: 101s, bass at 202s).</li></ul>
<p><a href="https://stellate.app/?genre=reggae&amp;seed=4716&amp;path=508.4799,263.9071,1829.2992&amp;xdur=0.117">▶ Play it: Third Beat Gravity → Dust Census → Confetti Escape Velocity — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/48506e7c767985d2f003bc49951ad42625873733">48506e7</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/48506e7c767985d2f003bc49951ad42625873733</comments>
</item>
<item>
<title>Transit arrival: crossed genres get their instruments (the flute exorcism)</title>
<link>https://stellate.app/?genre=bebop&amp;seed=4545&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">477e50c1480b88b7ebd2787052d0e7b1ad0b1a3e</guid>
<pubDate>Fri, 10 Jul 2026 01:49:35 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[Paul: "Moving from blues to industrial we hit dnb. It's loaded but the promised instruments don't show up.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;Moving from blues to industrial we hit dnb. It's loaded but the promised instruments don't show up.</p>
<ul><li>The blend-arrival fix's tiered flip queue kept a journey-scoped never-applied memory, cleared only on convergence — which never happens during continuous travel.</li><li>Fix, ~3 lines: the never-applied memory clears when the DOMINANT genre changes, so each new neighborhood's identity flips (form / drum kit / lead voice) re-enter tier 0 and land within ~6 bars of dominance</li></ul>
<p><em>Verified:</em> transit-arrival-run.js is the committed contract (pre-fix FAIL confirmed): dnb lead arrival rel 16 -&gt; 0, kit rel 18 -&gt; 2, lead held 18 bars, 10 rhodes note() calls the first melody-on bar.</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=4545&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/477e50c1480b88b7ebd2787052d0e7b1ad0b1a3e">477e50c</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/477e50c1480b88b7ebd2787052d0e7b1ad0b1a3e</comments>
</item>
<item>
<title>Instruments sound like themselves: register law, level fixes, the B-3 returns</title>
<link>https://stellate.app/?genre=gabber&amp;seed=2125&amp;path=1809.17533,1505.3720,1036.22151&amp;xdur=0.041</link>
<guid isPermaLink="false">ec1c75bd606dc05ce61693eb02f9f77355d8204e</guid>
<pubDate>Fri, 10 Jul 2026 01:45:44 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>gabber</category>
<category>canawave</category>
<category>blues</category>
<category>voice</category>
<description><![CDATA[Four Paul complaints, one charter, all measured:]]></description>
<content:encoded><![CDATA[<p>Four Paul complaints, one charter, all measured:</p>
<ul><li><strong>REGISTER LAW</strong> — a catalog scan found 545 sampled lanes playing +12..+34 st above their top zone (a tuba solo at +33.8).</li><li>Steel guitar (standbylightdrive): the anchor's lead level [.3,.42] was tuned for hot synth plucks; sampled-default remapped it to guitar multisamples AND (wet = send/lvl) inflated its own wash.</li><li>Blues organ (&quot;reedy and distant&quot;): the anchor's deliberate B-3 (drawbars, leslie .85-.95, 3rd-harm perc) was being remapped to GM strings/reed organ — drawbar and rotary params no zone honors.</li><li>Gabber's oboe: masked by design (healthy level under kick 1.7 + pump .68 at 175 bpm), not under-leveled — deferred to the MUSICALITY AUDIBLE audit with the honest options on record.</li></ul>
<p><em>Verified:</em> Matrix 228/228 --no-cache; fixture drift exactly the intended 10 state hashes (the two anchor fixes), mapping guards zero-drift</p>
<p><a href="https://stellate.app/?genre=gabber&amp;seed=2125&amp;path=1809.17533,1505.3720,1036.22151&amp;xdur=0.041">▶ Play it: Jackhammer Communion → Loon Referendum → Crossroads Paperwork — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/ec1c75bd606dc05ce61693eb02f9f77355d8204e">ec1c75b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/ec1c75bd606dc05ce61693eb02f9f77355d8204e</comments>
</item>
<item>
<title>The viz survives the flip storm: stale-ci re-window, clamps, lane guards</title>
<link>https://stellate.app/?genre=bebop&amp;seed=5290&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">dfe67c62843e42316919eed9ae431a37afde6faa</guid>
<pubDate>Fri, 10 Jul 2026 01:32:28 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[Paul: "the viz just drops, often when the transition to a new genre starts." Not a crash — an 18,240-combo fuzz was clean. The killer: live bars are scheduled a runway AHEAD of playback, and a glide flip rewrites progression/sections between a bar's scheduling and its sounding]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;the viz just drops, often when the transition to a new genre starts.&quot; Not a crash — an 18,240-combo fuzz was clean. The killer: live bars are scheduled a runway AHEAD of playback, and a glide flip rewrites progression/sections between a bar's scheduling and its sounding</p>
<ul><li>Fixes: (1) re-window on divergence — a ci&gt;0 window with zero notes AND zero chops retries once on the first chord bar, an honest picture of the state now sounding, engine meta re-syncs next bar</li></ul>
<p><em>Verified:</em> L: a pure deterministic pre-fix-failing case (stale section + overflowed ci vs freshly-flipped state must still yield notes) plus a live house-&gt;prelude flip with the panel open</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=5290&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/dfe67c62843e42316919eed9ae431a37afde6faa">dfe67c6</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/dfe67c62843e42316919eed9ae431a37afde6faa</comments>
</item>
<item>
<title>MUSICALITY: the second verifier — genres proven good, not just distinct</title>
<link>https://stellate.app/?genre=reggae&amp;seed=2882&amp;path=508.4799,1727.16539&amp;xdur=0.064</link>
<guid isPermaLink="false">c05551727fe1557fcfb6ec61afe0a3215d5a210f</guid>
<pubDate>Fri, 10 Jul 2026 01:30:16 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>reggae</category>
<category>chalkvespers</category>
<category>drums</category>
<description><![CDATA[Paul: "You've got it with the diagonal. Look at the class of issues we're facing and make it possible to improve and balance genres for true musicality." docs/MUSICALITY.md is the design: today's taste complaints, formalized as per-genre laws with NAMED failures.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;You've got it with the diagonal. Look at the class of issues we're facing and make it possible to improve and balance genres for true musicality.&quot; docs/MUSICALITY.md is the design: today's taste complaints, formalized as per-genre laws with NAMED failures.</p>
<ul><li>engine/musicality.js ships the symbolic half: BLOOM (per-part time-to-first-onset against per-FORM bounds</li><li>Reggae's kick-on-three promise measured FALSE at the state level — its kit pool has no one-drop (kick lands on 1); the transition fix was necessary but the card still lies.</li><li>The worst-10 is SYSTEMIC, not individual: pop/drop form intros hold drums out ~2 sections (beat 62 vs bound 32) across ten genres</li><li>chalkvespers asks its choir 20 semitones above its natural ceiling. Baseline: 19 OK / 209 WARN / 0 FAIL; no never-sounding parts; all three seed promises hold.</li></ul>
<p><a href="https://stellate.app/?genre=reggae&amp;seed=2882&amp;path=508.4799,1727.16539&amp;xdur=0.064">▶ Play it: Third Beat Gravity → Antiphon Decay — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c05551727fe1557fcfb6ec61afe0a3215d5a210f">c055517</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c05551727fe1557fcfb6ec61afe0a3215d5a210f</comments>
</item>
<item>
<title>Docs aligned to the 228-genre reality — every count measured, not copied</title>
<link>https://stellate.app/how.html</link>
<guid isPermaLink="false">21d4d344a539010e9b412f219f73bbf1b657450a</guid>
<pubDate>Fri, 10 Jul 2026 01:06:28 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>explainer</category>
<description><![CDATA[The full agreement pass after the batch: README/CLAUDE/GENRE-SPACE/ MUSIC-MIND/HOSTING/how.html/CONTRIBUTING all agree on the live truth (228 genres, 228/228 matrix, meter anchors named, the 3/7-bar travel arrival contract, the ⤓ downloads, the tab survival, the ⓘ overhaul, CPU meter gone, 608 MB…]]></description>
<content:encoded><![CDATA[<p>The full agreement pass after the batch: README/CLAUDE/GENRE-SPACE/ MUSIC-MIND/HOSTING/how.html/CONTRIBUTING all agree on the live truth (228 genres, 228/228 matrix, meter anchors named, the 3/7-bar travel arrival contract, the ⤓ downloads, the tab survival, the ⓘ overhaul, CPU meter gone, 608 MB…</p>
<p><a href="https://stellate.app/how.html">▶ read how a song is made — the drawn pipeline itself</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/21d4d344a539010e9b412f219f73bbf1b657450a">21d4d34</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/21d4d344a539010e9b412f219f73bbf1b657450a</comments>
</item>
<item>
<title>Viz: pages + a playhead, not double bars; travel default 256, max 4096</title>
<link>https://stellate.app/?genre=prelude&amp;seed=2820&amp;path=896.68,915.101,877.101&amp;xdur=13.122</link>
<guid isPermaLink="false">6c8172a4ddd020b12879751c27d79307a7abd5c1</guid>
<pubDate>Fri, 10 Jul 2026 01:06:28 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>prelude</category>
<category>harmony</category>
<description><![CDATA[Paul, looking at prelude: "double bars for each" — right. The 8-cell fold stacked a 16-beat chord bar as two rows per lane, which reads as duplication.]]></description>
<content:encoded><![CDATA[<p>Paul, looking at prelude: &quot;double bars for each&quot; — right. The 8-cell fold stacked a 16-beat chord bar as two rows per lane, which reads as duplication.</p>
<ul><li>And the pace: fixing blend-arrival made flips actually LAND, so the old default (128 bars/leg) suddenly read &quot;way too fast&quot; — default is now 256 and the slider is LOG-SCALE to 4096 (2^4..2^12</li></ul>
<p><a href="https://stellate.app/?genre=prelude&amp;seed=2820&amp;path=896.68,915.101,877.101&amp;xdur=13.122">▶ Play it: The Turning Stair — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/6c8172a4ddd020b12879751c27d79307a7abd5c1">6c8172a</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/6c8172a4ddd020b12879751c27d79307a7abd5c1</comments>
</item>
<item>
<title>Cycle 4: motown grooves and nordic frost — 228/228, expansion complete</title>
<link>https://stellate.app/?genre=valkyrieswoop&amp;seed=8705&amp;path=549.6571,234.9952,1547.9373&amp;xdur=0.192</link>
<guid isPermaLink="false">bc800da10e60e54487758c3edd16b6b95e143028</guid>
<pubDate>Fri, 10 Jul 2026 00:41:54 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>valkyrieswoop</category>
<category>mirrorseven</category>
<category>ravensquall</category>
<category>explainer</category>
<description><![CDATA[The final sixteen: velvetconveyor, talcumcasino, capesnap, chromeufo, mirrorseven, sundialsyrup, sequinfreight, rollerlacquer (the motown/funk/Stevie wing) and longshipwhip, bogironwallow, barrowwake, ravensquall, runeromp, meadhallbellow, valkyrieswoop, permafrostveil (the metal/nordic wing).]]></description>
<content:encoded><![CDATA[<p>The final sixteen: velvetconveyor, talcumcasino, capesnap, chromeufo, mirrorseven, sundialsyrup, sequinfreight, rollerlacquer (the motown/funk/Stevie wing) and longshipwhip, bogironwallow, barrowwake, ravensquall, runeromp, meadhallbellow, valkyrieswoop, permafrostveil (the metal/nordic wing).</p>
<ul><li>Crush-family MIND_OVERRIDES per the sludgemetal precedent: longshipwhip pipes:[] (the wall answers nobody), bogironwallow sweepArc-only (the reese earns its slow swell)</li><li>POS re-baked for 228 (51s relaxation once, 651ms boot; fugue re-nudged for D2e; three under-floor pairs nudged to a 106.6 min sep). how.html counts follow.</li><li>The genre space: 178 at dawn, 228 at close — classical, the eras, synth gods, prog, motown/funk, metal/nordic, all ridiculous, all verified.</li></ul>
<p><a href="https://stellate.app/?genre=valkyrieswoop&amp;seed=8705&amp;path=549.6571,234.9952,1547.9373&amp;xdur=0.192">▶ Play it: Soprano Ballistics → Heptagram Vamp → Whiteout Psalter — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/bc800da10e60e54487758c3edd16b6b95e143028">bc800da</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/bc800da10e60e54487758c3edd16b6b95e143028</comments>
</item>
<item>
<title>The frozen watchdog learns the difference between dead and starving</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=8731&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">229aab43b0946b6a4f3bc2b1d05d4acaa1c3448a</guid>
<pubDate>Fri, 10 Jul 2026 00:02:24 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[live-resilience's PITCHED leg failed on a coin flip: under a decode storm the mse-mp3 element underruns at the buffered edge (measured: currentTime frozen 3.8s, paused=false, readyState=2 — the UA itself reporting starvation]]></description>
<content:encoded><![CDATA[<p>live-resilience's PITCHED leg failed on a coin flip: under a decode storm the mse-mp3 element underruns at the buffered edge (measured: currentTime frozen 3.8s, paused=false, readyState=2 — the UA itself reporting starvation</p>
<ul><li>journey-crash-run: the h._pools hook died with the pool scheduler in 1648ad7; the probe now reads the ring handle's honest nodeCount().</li></ul>
<p><em>Verified:</em> live-resilience full PASS x2 (all legs — previously failing), journey-crash PASS, wavout (incl. stepDown/mmsStall demotions), live-test, bg-survival, explorer-ui, verify.sh all green.</p>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=8731&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/229aab43b0946b6a4f3bc2b1d05d4acaa1c3448a">229aab4</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/229aab43b0946b6a4f3bc2b1d05d4acaa1c3448a</comments>
</item>
<item>
<title>Cycle 3: the classical wing — 212/212, and the first real waltzes</title>
<link>https://stellate.app/?genre=greasepaintoompah&amp;seed=2164&amp;path=1106.10559,781.3854,896.90&amp;xdur=0.072</link>
<guid isPermaLink="false">06e27fdc70e45cba6e20a9401229e4c115f9b0af</guid>
<pubDate>Fri, 10 Jul 2026 00:01:23 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>greasepaintoompah</category>
<category>salondawdle</category>
<category>prelude</category>
<category>explainer</category>
<description><![CDATA[Ten anchors, zero damps, every self-score 100 on first attempt: chalkvespers (chant), salondawdle (Satie), candlegauze (Debussy), cloisterloom (Tallis), miasmarow (Schoenberg/Scriabin), greasepaintoompah (Weill), urchinmatinee (showtunes), marblefury (Beethoven/Brahms), perukelotto (the Mozart dice…]]></description>
<content:encoded><![CDATA[<p>Ten anchors, zero damps, every self-score 100 on first attempt: chalkvespers (chant), salondawdle (Satie), candlegauze (Debussy), cloisterloom (Tallis), miasmarow (Schoenberg/Scriabin), greasepaintoompah (Weill), urchinmatinee (showtunes), marblefury (Beethoven/Brahms), perukelotto (the Mozart dice…</p>
<ul><li>salondawdle and greasepaintoompah are the meters program's first production users: meter:{beats:3,unit:4}, waltz/waltzswing kits, waltzroot and oompahpah bass, chordEvery 12/6.</li><li>POS re-baked for 212 (fugue re-nudged by grid search under the D2e gate's own constraints — cloisterloom/prelude now its neighborhood); boot fast-path 553ms; how.html counts follow</li></ul>
<p><a href="https://stellate.app/?genre=greasepaintoompah&amp;seed=2164&amp;path=1106.10559,781.3854,896.90&amp;xdur=0.072">▶ Play it: Actuarial Cabaret → Ottoman Heat Death → The Turning Stair — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/06e27fdc70e45cba6e20a9401229e4c115f9b0af">06e27fd</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/06e27fdc70e45cba6e20a9401229e4c115f9b0af</comments>
</item>
<item>
<title>Cycle 2: prog + the eras take the map — 202/202</title>
<link>https://stellate.app/?genre=walrusfuzz&amp;seed=2756&amp;path=801.7257,1137.16213,1536.7809&amp;xdur=0.082</link>
<guid isPermaLink="false">3dd3e4742f36ff144e477cca7ea6c9eb3b523123</guid>
<pubDate>Thu, 09 Jul 2026 23:34:22 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>walrusfuzz</category>
<category>hexagonstampede</category>
<category>meadowjangle</category>
<category>explainer</category>
<description><![CDATA[Sixteen anchors, one at a time, each landing at self-score 100 with measured auto-tightened rows: the prog cluster (wizardcape, meadowmellotron, hexagonstampede, crimsoncourt, moonlagoon, sliderule, crumpetwhirl, polygonforge) and the Liverpool eras (moptoprattle, meadowjangle, strawberryfog…]]></description>
<content:encoded><![CDATA[<p>Sixteen anchors, one at a time, each landing at self-score 100 with measured auto-tightened rows: the prog cluster (wizardcape, meadowmellotron, hexagonstampede, crimsoncourt, moonlagoon, sliderule, crumpetwhirl, polygonforge) and the Liverpool eras (moptoprattle, meadowjangle, strawberryfog…</p>
<ul><li>Seven specs took damps, all at the spec (never a hand-edited TARGETS row): bpm-band nudges (hexagonstampede off canawave/disco, walrusfuzz off disco), verify-feature fences (sub/bedUse/crackle/seventh/…</li><li>Pipeline note for future cycles: validate's &quot;loses to X&quot; names the RUNNER-UP, not the argmax — score the new row directly before blaming the named genre.</li><li>POS re-baked for 202 (35.9s relaxation once, 690ms boot after; fugue re-nudged to keep prelude 2nd-nearest — the D2e gate); how.html counts follow.</li></ul>
<p><a href="https://stellate.app/?genre=walrusfuzz&amp;seed=2756&amp;path=801.7257,1137.16213,1536.7809&amp;xdur=0.082">▶ Play it: Pinniped Overload → Benzene Cavalry → Tambourine Equinox — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/3dd3e4742f36ff144e477cca7ea6c9eb3b523123">3dd3e47</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/3dd3e4742f36ff144e477cca7ea6c9eb3b523123</comments>
</item>
<item>
<title>Waltzes exist; the synth gods take the map; porchdice is wickershimmy</title>
<link>https://stellate.app/?genre=wickershimmy&amp;seed=8752&amp;path=1247.14807,292.16891,896.90&amp;xdur=0.044</link>
<guid isPermaLink="false">7f3e08284039638c856be8473be86184fc1684dc</guid>
<pubDate>Thu, 09 Jul 2026 22:59:36 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>wickershimmy</category>
<category>jazz</category>
<category>prelude</category>
<category>explainer</category>
<description><![CDATA[ODD METERS — state.meter = {beats:3|6, unit:4|8}, absent = byte-identical (proven against a git-materialized HEAD engine on state AND events).]]></description>
<content:encoded><![CDATA[<ul><li><strong>ODD METERS</strong> — state.meter = {beats:3|6, unit:4|8}, absent = byte-identical (proven against a git-materialized HEAD engine on state AND events).</li><li><strong>INTEGRATION CYCLE 1</strong> — porchdice -&gt; wickershimmy (all 8 rename points, repo grep zero — porch wicker + funk shimmy, roots unused) and the synth-gods cluster is real: androidlament, lasertemple, oscillatorminuet, cometwhistle…</li></ul>
<p><a href="https://stellate.app/?genre=wickershimmy&amp;seed=8752&amp;path=1247.14807,292.16891,896.90&amp;xdur=0.044">▶ Play it: Seance Cakewalk → Smoke Arithmetic → The Turning Stair — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/7f3e08284039638c856be8473be86184fc1684dc">7f3e082</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/7f3e08284039638c856be8473be86184fc1684dc</comments>
</item>
<item>
<title>The blend reaches the ear: drums arrive in 3 bars, identity in 7</title>
<link>https://stellate.app/?genre=bigband&amp;seed=9269&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">f484a73d4781dc8e42a38d34315320e549f448c3</guid>
<pubDate>Thu, 09 Jul 2026 22:59:14 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[Paul's critical bug — 99% reggae from fugue still sounded like a slow drumless fugue — was never the kernel (a 200-seed sweep exonerated the state at t=.99). The live glide layer killed the drums twice:]]></description>
<content:encoded><![CDATA[<p>Paul's critical bug — 99% reggae from fugue still sounded like a slow drumless fugue — was never the kernel (a 200-seed sweep exonerated the state at t=.99). The live glide layer killed the drums twice:</p>
<ul><li>1. Drum sections never turned ON: the &quot;drum kit&quot; flip only rewrote sections whose drums were already playing — from an all-drums-off genre it was a no-op that erased its own diff</li><li>2. And when they finally turned on, they were mute: the &quot;sample&quot; flip replaced foundSources wholesale but zone-carried only pad/bass/melody</li><li>Plus the sync residue: topology crossfades re-anchored the beat grid mid-bar while old native notes rang across the new downbeat</li></ul>
<p><em>Verified:</em> blend-arrival-run.js is the committed contract: parked on reggae after fugue — drums within 3 bars (was: never), kit/lead/bpm within 7 (was: ~118), fugue side unregressed, RMS real, zero…</p>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=9269&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/f484a73d4781dc8e42a38d34315320e549f448c3">f484a73</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/f484a73d4781dc8e42a38d34315320e549f448c3</comments>
</item>
<item>
<title>Genre fleet groundwork: 50 themed specs + three genre-tool repairs</title>
<link>https://stellate.app/?genre=androidlament&amp;seed=1919&amp;path=1653.10719,1694.13472,776.10446&amp;xdur=0.219</link>
<guid isPermaLink="false">f5a9bd1f9f87f27c21ac7f8893750363b1e33c77</guid>
<pubDate>Thu, 09 Jul 2026 22:07:32 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>androidlament</category>
<category>barrowwake</category>
<category>beakstampede</category>
<category>found</category>
<description><![CDATA[Six spec-author agents wrote 50 new genre specs across themed clusters, every one dry-run-validated at self-score 100/100 with no diagonal knock-offs (specs only — integration is the next, serialized phase):]]></description>
<content:encoded><![CDATA[<p>Six spec-author agents wrote 50 new genre specs across themed clusters, every one dry-run-validated at self-score 100/100 with no diagonal knock-offs (specs only — integration is the next, serialized phase):</p>
<ul><li>classical (10): chalkvespers (chant), salondawdle (Satie), candlegauze (Debussy), cloisterloom (Tallis's 40 voices), miasmarow (Schoenberg/Scriabin), greasepaintoompah (Weill), urchinmatinee (showtunes)…</li><li>the Liverpool eras (8): moptoprattle, meadowjangle, strawberryfog, octopusminuet, walrusfuzz, rooftopholler, submarinelullaby, tangerinearcade</li><li>synth gods (8): androidlament (Vangelis), lasertemple (Jarre), oscillatorminuet (Carlos), cometwhistle (Tomita), chromepiston (Moroder), patchcordmirage (Tangerine Dream), velourregatta (Winwood MOR)…</li><li>prog (8): wizardcape, meadowmellotron, hexagonstampede, crimsoncourt, moonlagoon, sliderule, crumpetwhirl, polygonforge</li></ul>
<p><a href="https://stellate.app/?genre=androidlament&amp;seed=1919&amp;path=1653.10719,1694.13472,776.10446&amp;xdur=0.219">▶ Play it: Decommission Hymn → Cairn Respiration → Theropod Liturgy — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/f5a9bd1f9f87f27c21ac7f8893750363b1e33c77">f5a9bd1</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/f5a9bd1f9f87f27c21ac7f8893750363b1e33c77</comments>
</item>
<item>
<title>Desktop tabs keep playing; the song is downloadable (midi/wav/mp3)</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=2341&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">faaff835d3c377f582185b39c378842a1ad3d574</guid>
<pubDate>Thu, 09 Jul 2026 22:07:03 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[Safari tab-blur: the silence was SELF-INFLICTED — goHidden muted the ring worklet on every platform's visibilitychange, defending against a WebKit suspension that was REMOVED in March 2022 (bug 231105 / r291267); the old bg-survival gate asserted "hidden -> RMS ~0", enforcing the bug.]]></description>
<content:encoded><![CDATA[<p>Safari tab-blur: the silence was SELF-INFLICTED — goHidden muted the ring worklet on every platform's visibilitychange, defending against a WebKit suspension that was REMOVED in March 2022 (bug 231105 / r291267); the old bg-survival gate asserted &quot;hidden -&gt; RMS ~0&quot;, enforcing the bug.</p>
<ul><li>Export, first slice: the ⚙ panel gains ⤓ midi / ⤓ wav / ⤓ mp3 for the current song, named from the chyron's invented band identity.</li></ul>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=2341&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/faaff835d3c377f582185b39c378842a1ad3d574">faaff83</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/faaff835d3c377f582185b39c378842a1ad3d574</comments>
</item>
<item>
<title>App surface: CPU box gone, viz speaks character, backgrounds never stack</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=1572&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">09f18a7c14df37b1a1e4296694c53ab9cf74f407</guid>
<pubDate>Thu, 09 Jul 2026 22:06:42 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Three Paul asks in one surface pass:]]></description>
<content:encoded><![CDATA[<p>Three Paul asks in one surface pass:</p>
<ul><li>The ⚡ CPU meter box is removed (DOM, CSS, 1Hz ticker, its screenshot probe); the engine's load/eco machinery is untouched and still reads out in the chyron tech line.</li><li>Inside-the-sound overhaul: the voice timeline is ALWAYS 8 cells — chordEvery-16/32 genres fold into stacked rows instead of shrinking (mobile was cramped)</li><li>Background exclusivity: the video/demo alternator was XOR-correct all along — three BYPASS paths stacked the layers: the ⚙ panel's video button toggled VideoLayer directly (under the demo canvas's…</li><li>(panels.js also carries the export cluster's ⤓ buttons — committed with their engine half in the next commit's story; kept here because the file merges both agents' work.)</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=1572&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/09f18a7c14df37b1a1e4296694c53ab9cf74f407">09f18a7</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/09f18a7c14df37b1a1e4296694c53ab9cf74f407</comments>
</item>
<item>
<title>tools/ship.sh: gates -&gt; push -&gt; deploy, so deployed means committed</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=2904&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">0240cfb0e39ff93af2538811df81ea1484101d8b</guid>
<pubDate>Thu, 09 Jul 2026 21:09:01 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[One command closes the deploy gap: ship.sh refuses a dirty tree (the deploy rsyncs the WORKING TREE, not a git ref — without the check, uncommitted work ships silently and stellate.app drifts ahead of main), runs the full gate suite (verify.sh + theory/pipes/speech), pushes, then runs…]]></description>
<content:encoded><![CDATA[<p>One command closes the deploy gap: ship.sh refuses a dirty tree (the deploy rsyncs the WORKING TREE, not a git ref — without the check, uncommitted work ships silently and stellate.app drifts ahead of main), runs the full gate suite (verify.sh + theory/pipes/speech), pushes, then runs…</p>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=2904&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0240cfb0e39ff93af2538811df81ea1484101d8b">0240cfb</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0240cfb0e39ff93af2538811df81ea1484101d8b</comments>
</item>
<item>
<title>tw_vocal joins the mutable class; the PA verified live</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=7326&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">5f12856e07bfc9e100fbc827cf4525e7f12d00a2</guid>
<pubDate>Thu, 09 Jul 2026 20:40:52 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>voice</category>
<description><![CDATA[The MEDIA_MANIFEST invariant fired on its second real deploy and was right again: sing.py re-sings found/tw_vocal.mp3 on every offline render under a fixed name — mutable by nature, so it joins the manifests in the no-cache class (excluded from the invariant set]]></description>
<content:encoded><![CDATA[<p>The MEDIA_MANIFEST invariant fired on its second real deploy and was right again: sing.py re-sings found/tw_vocal.mp3 on every offline render under a fixed name — mutable by nature, so it joins the manifests in the no-cache class (excluded from the invariant set</p>
<ul><li>Production-verified end to end: headless chromium parked the travel loop on transitwave at https://stellate.app</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=7326&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/5f12856e07bfc9e100fbc827cf4525e7f12d00a2">5f12856</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/5f12856e07bfc9e100fbc827cf4525e7f12d00a2</comments>
</item>
<item>
<title>The machine speaks: client-side espeak-ng WASM + the transit PA</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=1500&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">71f3516c16ab4a94ab0ada6be8a6de6bad03a50a</guid>
<pubDate>Thu, 09 Jul 2026 20:37:42 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>voice</category>
<description><![CDATA[engine/speech.js (CsdSpeech) — speech synthesis moves into the client. vendor/espeak-ng/ carries a TRIMMED emscripten espeak-ng (242 KB gz glue + 452 KB gz en-only data, repacked from the @echogarden 0.3.5 artifact by trim.mjs — the 24 MB all-languages pack stays upstream]]></description>
<content:encoded><![CDATA[<p>engine/speech.js (CsdSpeech) — speech synthesis moves into the client. vendor/espeak-ng/ carries a TRIMMED emscripten espeak-ng (242 KB gz glue + 452 KB gz en-only data, repacked from the @echogarden 0.3.5 artifact by trim.mjs — the 24 MB all-languages pack stays upstream</p>
<ul><li>Determinism, the hard way: SetRandSeed is not exported and espeak's wavegen consumes rand(), so same-instance repeats drift</li><li>Wired additively at both engines: found-player synthToBuffer feeds the same url-keyed buffer cache; live's ring + wavOut speech paths and press's decode loop all branch on src.synthText</li><li>The worked example: when a state carries real transitwave presence (weight &gt;= .35), the PA announces THIS seed's namebank act — &quot;Now arriving: The Signalmen.&quot;</li><li>Licensing: NOTICE gains a combined-work section (deliberately NOT the lamejs LGPL carve-out shape</li></ul>
<p><em>Verified:</em> test/speech.test.js (synth determinism, upsampler exactness, key canon, false-path, namebank-text determinism), test/speech-live- run.js (chromium rides transitwave 6 bars…</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=1500&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/71f3516c16ab4a94ab0ada6be8a6de6bad03a50a">71f3516</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/71f3516c16ab4a94ab0ada6be8a6de6bad03a50a</comments>
</item>
<item>
<title>Deploy the MP3 diet to stellate.app; manifests leave the immutable set</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=3566&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">bffe430e2121bb1fd5e8b891cf3d0a3fd89166d3</guid>
<pubDate>Thu, 09 Jul 2026 19:07:36 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>found</category>
<description><![CDATA[First real exercise of the MEDIA_MANIFEST invariant caught a script bug: the manifest hashed found/*.json alongside the media, but manifests are MUTABLE by design (nginx serves them no-cache — they map names; only the named bytes are immutable). .json now excluded from the invariant set.]]></description>
<content:encoded><![CDATA[<p>First real exercise of the MEDIA_MANIFEST invariant caught a script bug: the manifest hashed found/*.json alongside the media, but manifests are MUTABLE by design (nginx serves them no-cache — they map names; only the named bytes are immutable). .json now excluded from the invariant set.</p>
<ul><li>Production-verified: headless chromium rode vaporwave on live stellate.app — crossOriginIsolated, MP3 beds fetched 200 + decoded, maxRms 0.207, zero errors.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=3566&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/bffe430e2121bb1fd5e8b891cf3d0a3fd89166d3">bffe430</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/bffe430e2121bb1fd5e8b891cf3d0a3fd89166d3</comments>
</item>
<item>
<title>The MP3 diet: beds + speech ship compressed (317 MB -&gt; 43 MB)</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=5473&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">5327ba1957c21c7c80483095b8768c880912cbd9</guid>
<pubDate>Thu, 09 Jul 2026 19:05:06 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[HOSTING.md §3, executed: the 53 top-level beds (found/*.wav, 270 MB) and 244 espeak speech files (found/samples/speech/, 47 MB) are now MP3 (libmp3lame -q:a 2, mono 44.1k) — 35 MB + 8 MB.]]></description>
<content:encoded><![CDATA[<p>HOSTING.md §3, executed: the 53 top-level beds (found/*.wav, 270 MB) and 244 espeak speech files (found/samples/speech/, 47 MB) are now MP3 (libmp3lame -q:a 2, mono 44.1k) — 35 MB + 8 MB.</p>
<ul><li>Every touchpoint from the §3 list, plus the ones the grep law caught beyond it: found-manifest.json values, both fetch recipes, the speech/tw_vocal literals in genre-kernel, press.js's bed fallback (now…</li><li>New committed gate: test/mp3-bed-decode-run.js — headless chromium parks the travel loop on spokenword and rides 5 bars against the COOP/COEP server, asserting real RMS, found/vx_ginsberg*.mp3 fetched 200 +…</li></ul>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=5473&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/5327ba1957c21c7c80483095b8768c880912cbd9">5327ba1</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/5327ba1957c21c7c80483095b8768c880912cbd9</comments>
</item>
<item>
<title>Deploy stellate.app: droplet live, tools/deploy-stellate.sh is the recipe</title>
<link>https://stellate.app/how.html</link>
<guid isPermaLink="false">c630cd0afc399faef9e2955f3bf4b0d5c66a1d1e</guid>
<pubDate>Thu, 09 Jul 2026 18:36:42 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>explainer</category>
<description><![CDATA[Enacted docs/HOSTING.md via doctl (2026-07-09): droplet stellate-app (nyc3, s-1vcpu-1gb, 159.89.38.37), DO DNS zone (A @ + www CNAME), Let's Encrypt cert (.app is HSTS-preloaded]]></description>
<content:encoded><![CDATA[<p>Enacted docs/HOSTING.md via doctl (2026-07-09): droplet stellate-app (nyc3, s-1vcpu-1gb, 159.89.38.37), DO DNS zone (A @ + www CNAME), Let's Encrypt cert (.app is HSTS-preloaded</p>
<ul><li>tools/deploy-stellate.sh makes the deploy repeatable and the server disposable: MEDIA_MANIFEST immutable-invariant check (ABORTS on a changed hash under an unchanged name) -&gt; rsync with the §5 deny-list…</li></ul>
<p><em>Verified:</em> in production by headless chromium: crossOriginIsolated, SharedArrayBuffer live, star map drawn, how.html 200, and a real ride on the SAB ring engine</p>
<p><a href="https://stellate.app/how.html">▶ read how a song is made — the drawn pipeline itself</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c630cd0afc399faef9e2955f3bf4b0d5c66a1d1e">c630cd0</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c630cd0afc399faef9e2955f3bf4b0d5c66a1d1e</comments>
</item>
<item>
<title>Hosting plan + docs aligned to one canonical fact sheet</title>
<link>https://stellate.app/how.html</link>
<guid isPermaLink="false">7d02d6555ee755c814463229a8c5718350362841</guid>
<pubDate>Thu, 09 Jul 2026 17:55:23 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>explainer</category>
<description><![CDATA[docs/HOSTING.md — the stellate.app plan, argued from verified facts: a small DO droplet + nginx with ALL media same-origin (COOP/COEP require-corp for the SAB ring engine disqualifies DO Spaces — no CORP headers for the no-cors <video> loads — and App Platform static — no custom headers at all)]]></description>
<content:encoded><![CDATA[<p>docs/HOSTING.md — the stellate.app plan, argued from verified facts: a small DO droplet + nginx with ALL media same-origin (COOP/COEP require-corp for the SAB ring engine disqualifies DO Spaces — no CORP headers for the no-cors &lt;video&gt; loads — and App Platform static — no custom headers at all)</p>
<ul><li>Docs alignment: README and CLAUDE.md finish the STELLATE rename, gain Open source + how.html + HOSTING pointers, and the submodule leaves the golden setup path (optional; public clones run without it).</li></ul>
<p><a href="https://stellate.app/how.html">▶ read how a song is made — the drawn pipeline itself</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/7d02d6555ee755c814463229a8c5718350362841">7d02d65</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/7d02d6555ee755c814463229a8c5718350362841</comments>
</item>
<item>
<title>Open source: MIT + NOTICE + CONTRIBUTING + CI — recipes, not media</title>
<link>https://stellate.app/?genre=bigband&amp;seed=8517&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">4f592615f05bb2e99aef1da8c9e9a65211566e87</guid>
<pubDate>Thu, 09 Jul 2026 17:55:02 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[The release kit, built on a verified provenance audit of every third-party component:]]></description>
<content:encoded><![CDATA[<p>The release kit, built on a verified provenance audit of every third-party component:</p>
<ul><li>LICENSE — MIT (c) 2026 Paul Ford, except-as-noted-in-NOTICE.</li><li>NOTICE — MicroW8 (Unlicense), lamejs (LGPL-3.0 carve-out), faustwasm (LGPL-2.1+, npm dep — its soundfile patch rescued into engine/faust/patches/ so it survives npm ci), Faust stdlib generated-code credit…</li><li>SOURCES.md — &quot;The media policy&quot; up top: three bright-line tiers (free / attribution-encumbered fetch-only / unlicensed-commercial never-redistributed), and the ledger's frankest rows made frank (the sample CD…</li><li>CONTRIBUTING.md — the social contract: the one rule, the gates a PR must keep green (178/178 matrix, determinism byte-identity, vocabulary), per-contribution-type guidance (anchors matrix-safe, pipes bring…</li></ul>
<p><em>Verified:</em> verify.sh — media guard: fails if any audio/video/model binary is ever tracked (the one rule, now enforced).</p>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=8517&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/4f592615f05bb2e99aef1da8c9e9a65211566e87">4f59261</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/4f592615f05bb2e99aef1da8c9e9a65211566e87</comments>
</item>
<item>
<title>The app is STELLATE, and ? now explains it</title>
<link>https://stellate.app/how.html</link>
<guid isPermaLink="false">4a09760cd5ad7f5b7d385280be5ad66e1420323b</guid>
<pubDate>Thu, 09 Jul 2026 17:54:44 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>explainer</category>
<description><![CDATA[The app branded itself CONSTELLATE while the project/repo/site are stellate — one name now (title, brand, Media Session artist, download filenames, mix pages, chyron comments).]]></description>
<content:encoded><![CDATA[<p>The app branded itself CONSTELLATE while the project/repo/site are stellate — one name now (title, brand, Media Session artist, download filenames, mix pages, chyron comments).</p>
<ul><li>The ? chip grows from an instructions toggle into a real about layer: what stellate is, how to play (the old .sub text migrated, corrected), made by Aboard, the GitHub repo, MIT</li><li>Explorer-UI gate extended: the about layer's links and how.html's reachability + genre count are pinned assertions.</li></ul>
<p><a href="https://stellate.app/how.html">▶ read how a song is made — the drawn pipeline itself</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/4a09760cd5ad7f5b7d385280be5ad66e1420323b">4a09760</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/4a09760cd5ad7f5b7d385280be5ad66e1420323b</comments>
</item>
<item>
<title>Docs refresh: 178 everywhere, MUSIC-MIND in the README and layout</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=5569&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">f2a155f1ae526f68029037fd5d406f2d3f276b07</guid>
<pubDate>Thu, 09 Jul 2026 13:30:31 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[The genre count had drifted across four docs (~110 in README/CLAUDE, 17/17 in GENRE-SPACE, 32-genre in FAUST-PORT, 63/63 in a verifier comment — each true when written); all now say 178, with the historical measurements clarified rather than falsified.]]></description>
<content:encoded><![CDATA[<p>The genre count had drifted across four docs (~110 in README/CLAUDE, 17/17 in GENRE-SPACE, 32-genre in FAUST-PORT, 63/63 in a verifier comment — each true when written); all now say 178, with the historical measurements clarified rather than falsified.</p>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=5569&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/f2a155f1ae526f68029037fd5d406f2d3f276b07">f2a155f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/f2a155f1ae526f68029037fd5d406f2d3f276b07</comments>
</item>
<item>
<title>MUSIC-MIND: generative harmony, event pipes, and intelligence axes</title>
<link>https://stellate.app/?genre=electro&amp;seed=3495&amp;path=1383.16230,1923.21823,1315.6203&amp;xdur=0.048</link>
<guid isPermaLink="false">1aad46e71b377e1c845bf937dda059eb188e79c8</guid>
<pubDate>Thu, 09 Jul 2026 13:30:16 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>electro</category>
<category>minimal</category>
<category>surfrock</category>
<category>sampler</category>
<description><![CDATA[Three organs answer "what would make richer, more interesting music across all 178 genres" (docs/MUSIC-MIND.md):]]></description>
<content:encoded><![CDATA[<p>Three organs answer &quot;what would make richer, more interesting music across all 178 genres&quot; (docs/MUSIC-MIND.md):</p>
<ul><li>engine/theory.js (CsdTheory) — the harmony brain: modes, minimal- motion voice leading (close/open/drop2/quartal/cluster), and a functional-harmony progression generator whose `adventure` knob gates diatonic…</li><li>engine/pipes.js (CsdPipes) — the scheduler as pipes: state.pipes runs ten composable seeded transforms (harmonize, echoCanon, strum, ghost, callResponse, densityArc, sweepArc, vibratoSwell, throwFx…</li><li>rhythm intelligence — new clave/cell bass vocabulary (tresillo, son, hemiola, charleston), per-cycle bass-cell mutation, and melody rhythm cells (dotted pairs / tresillo / 3-3-2), all under state.rhythm…</li><li>The genre space grows the axes: deriveMind() infers every anchor's theory/pipes/rhythm from what it already declares (progression pool -&gt; adventure/color, kit pool -&gt; complexity, models -&gt; pipes), with an…</li></ul>
<p><a href="https://stellate.app/?genre=electro&amp;seed=3495&amp;path=1383.16230,1923.21823,1315.6203&amp;xdur=0.048">▶ Play it: Vocoder Ambassador → Anechoic Census → Undertow Sock Hop — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/1aad46e71b377e1c845bf937dda059eb188e79c8">1aad46e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/1aad46e71b377e1c845bf937dda059eb188e79c8</comments>
</item>
<item>
<title>Background program: cut every 8 TRUE measures, on the beat</title>
<link>https://stellate.app/?genre=bebop&amp;seed=2155&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">501d0533c1f310e0862a10aef9d463479c8a3c64</guid>
<pubDate>Thu, 09 Jul 2026 13:29:52 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[The video clip advance and the video<->demo alternation both counted chord-bar ticks, but a chord bar is state.chordEvery beats (default 8 = two 4/4 measures) — so "8 bars" was really 16 measures.]]></description>
<content:encoded><![CDATA[<p>The video clip advance and the video&lt;-&gt;demo alternation both counted chord-bar ticks, but a chord bar is state.chordEvery beats (default 8 = two 4/4 measures) — so &quot;8 bars&quot; was really 16 measures.</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=2155&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/501d0533c1f310e0862a10aef9d463479c8a3c64">501d053</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/501d0533c1f310e0862a10aef9d463479c8a3c64</comments>
</item>
<item>
<title>Incorporate the Fatboy Slim &quot;Skip to My Loops&quot; sample CD + a reusable sample-CD pipeline</title>
<link>https://stellate.app/?genre=house&amp;seed=3894&amp;path=1101.20850,1030.7218,893.15798&amp;xdur=0.055</link>
<guid isPermaLink="false">ef420f366deb31b1e5f208be0f52d4db0fe93729</guid>
<pubDate>Thu, 09 Jul 2026 11:36:24 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>house</category>
<category>funk</category>
<category>bigbeat</category>
<category>voice</category>
<description><![CDATA[Adds a repeatable "incorporate a sample CD" workflow and uses it to fold Norman Cook's Skip to My Loops (archive.org fatboy-slim-skip-to-my-loops) across the big-beat/house/funk genres.]]></description>
<content:encoded><![CDATA[<p>Adds a repeatable &quot;incorporate a sample CD&quot; workflow and uses it to fold Norman Cook's Skip to My Loops (archive.org fatboy-slim-skip-to-my-loops) across the big-beat/house/funk genres.</p>
<ul><li>tools/fetch-sample-cd.sh &lt;item&gt; &lt;zip&gt; &lt;prefix&gt; — download → extract → mono 44.1k → trim silence + loudnorm → drop near-empty → classify → rename by detected metadata → found/samples/&lt;prefix&gt;/ + manifest + a…</li><li>tools/classify-sample-cd.py — numpy/scipy analyzer (no librosa/aubio): YIN pitch+clarity, onset-autocorrelation BPM, spectral centroid → loop/tonal/ oneshot/chop.</li><li>Documented as &quot;Incorporating a sample CD&quot; in CLAUDE.md.</li><li>Skip to My Loops: 42 curated samples registered in genre-kernel SAMPLES (34 breakbeat loops with detected bpm, 5 vocal/funk chops, 3 one-shot hits), wired MATRIX-SAFELY into 17 genres</li></ul>
<p><a href="https://stellate.app/?genre=house&amp;seed=3894&amp;path=1101.20850,1030.7218,893.15798&amp;xdur=0.055">▶ Play it: Congregation Furnace → Downbeat Notary → Airhorn Apocrypha — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/ef420f366deb31b1e5f208be0f52d4db0fe93729">ef420f3</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/ef420f366deb31b1e5f208be0f52d4db0fe93729</comments>
</item>
<item>
<title>Star map: label level-of-detail so dense/mobile views don't overlap</title>
<link>https://stellate.app/?genre=jungle&amp;seed=3308&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">1e0e2c3c88e8059eb36b94a8dd0e8c2312fa889c</guid>
<pubDate>Thu, 09 Jul 2026 02:44:37 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>drums</category>
<description><![CDATA[Paul (mobile screenshot): names overlapping badly at default zoom; only legible zoomed all the way in. Root cause: the map renders anamorphically stretched to the viewport, and a ~430px-wide phone simply hasn't the horizontal pixels to show 178 readable names without overlap]]></description>
<content:encoded><![CDATA[<p>Paul (mobile screenshot): names overlapping badly at default zoom; only legible zoomed all the way in. Root cause: the map renders anamorphically stretched to the viewport, and a ~430px-wide phone simply hasn't the horizontal pixels to show 178 readable names without overlap</p>
<ul><li>Fix: draw every STAR always, but a NAME only if its box clears the names already placed at the current zoom. Active (weighted) genres always win a slot; the rest fill greedily in a stable order.</li></ul>
<p><em>Verified:</em> desktop 1200×850 → all 178 labels, 0 overlaps, 42px gap, gate PASS; mobile 430×900 → 131 names shown, 0 drawn-label overlaps (was 180+).</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=3308&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — the genre that is mostly drums, so the kit has nowhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/1e0e2c3c88e8059eb36b94a8dd0e8c2312fa889c">1e0e2c3</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/1e0e2c3c88e8059eb36b94a8dd0e8c2312fa889c</comments>
</item>
<item>
<title>Star map: bake the genre layout so boot doesn't run the O(N²) relaxation</title>
<link>https://stellate.app/?genre=prelude&amp;seed=7835&amp;path=896.90,196.90&amp;xdur=1.071</link>
<guid isPermaLink="false">fc567a4b60c83c4b15b10ab14c67f2df281e08a0</guid>
<pubDate>Thu, 09 Jul 2026 02:18:04 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>prelude</category>
<category>fugue</category>
<category>mix</category>
<description><![CDATA[The spread commit pushed computeGenreLayout to N*40 iterations over an all-pairs O(N²) inner loop; at 178 genres that's ~112M pair-evaluations run synchronously at boot before first paint — a multi-second stall (Paul: "load is very slow").]]></description>
<content:encoded><![CDATA[<p>The spread commit pushed computeGenreLayout to N*40 iterations over an all-pairs O(N²) inner loop; at 178 genres that's ~112M pair-evaluations run synchronously at boot before first paint — a multi-second stall (Paul: &quot;load is very slow&quot;).</p>
<ul><li>Bake it: POS in world.js now ships the full relaxed 178-genre layout, precomputed once at a 1200×850 reference viewport.</li><li>Subtlety fixed along the way: the relaxation's normalize keys off the SEED's median spacing, which is much denser once every genre is seeded</li><li>The spread itself is unchanged: 42px min label gap, 0 overlaps, clusters intact (fugue next to prelude), min pairwise 194 &gt; floor.</li></ul>
<p><em>Verified:</em> 178/178 placed, 0 overlaps, 42.2px gap, D2e PASS.</p>
<p><a href="https://stellate.app/?genre=prelude&amp;seed=7835&amp;path=896.90,196.90&amp;xdur=1.071">▶ Play it: The Turning Stair → The Patient Chase — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/fc567a4b60c83c4b15b10ab14c67f2df281e08a0">fc567a4</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/fc567a4b60c83c4b15b10ab14c67f2df281e08a0</comments>
</item>
<item>
<title>Star map: spread genres ~2.2x farther apart (fix 178-genre crowding)</title>
<link>https://stellate.app/?genre=citypop&amp;seed=9846&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">98955686829289314383d50cc3fc16fde2b4b5aa</guid>
<pubDate>Thu, 09 Jul 2026 01:42:00 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[Paul: "spread the vectors out farther, they're overlapping, it's easy to zoom, we have room." At 178 genres the layout only cleared labels by a hair (~19px min gap at default zoom), which reads as overlapping/crowded.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;spread the vectors out farther, they're overlapping, it's easy to zoom, we have room.&quot; At 178 genres the layout only cleared labels by a hair (~19px min gap at default zoom), which reads as overlapping/crowded.</p>
<ul><li>Widened the relaxation's separation targets: MIN_DOT 52-&gt;72 (guaranteed dot spacing at default zoom) plus a per-label SEP moat, and strengthened the similarity spring (0.012-&gt;0.014, active longer) so clusters…</li><li>Note for the record: the layout measures a monospace font for determinism, but labels render in VT323, which measures ~0.66x as wide</li></ul>
<p><em>Verified:</em> 178/178 placed, 0 overlaps, 42px min gap, D2e clusters intact, PASS.</p>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=9846&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/98955686829289314383d50cc3fc16fde2b4b5aa">9895568</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/98955686829289314383d50cc3fc16fde2b4b5aa</comments>
</item>
<item>
<title>Make main csound-free: remove render.sh + royal-road.csd + the csound tooling</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=9384&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">572424509e8b10be98c0d5d1518a98b0ea94aeec</guid>
<pubDate>Thu, 09 Jul 2026 01:17:20 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Item 7 of the export queue. The entire csound era is preserved fully working on branch legacy-csound; main no longer carries any csound.]]></description>
<content:encoded><![CDATA[<p>Item 7 of the export queue. The entire csound era is preserved fully working on branch legacy-csound; main no longer carries any csound.</p>
<ul><li>royal-road.csd — the founding score (archived; still the origin story)</li><li>tools/render.sh — the csound renderer</li><li>tools/render-sung-melody.js — csound-dependent one-off (unreferenced)</li><li>engine/faust/legacy-tools/ — the csound A/B harness (needs csound + buildCsd, both gone from main; its results live on in docs/history/ab-report.md, and the harness is recoverable from git history)</li></ul>
<p><em>Verified:</em> matrix 178/178, validate --quick PASS, engine ALL PASS.</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=9384&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/572424509e8b10be98c0d5d1518a98b0ea94aeec">5724245</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/572424509e8b10be98c0d5d1518a98b0ea94aeec</comments>
</item>
<item>
<title>Star map: scale layout iterations with genre count (fix dense-map label overlap)</title>
<link>https://stellate.app/?genre=citypop&amp;seed=7437&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">8fb45e056d0454d1ecd6b68a3ae7008f14f13f77</guid>
<pubDate>Thu, 09 Jul 2026 01:08:10 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[computeGenreLayout's overlap relaxation self-normalizes its bounds every pass (spread apart -> world grows -> screen scale shrinks -> labels re-shrink), so it converges asymptotically.]]></description>
<content:encoded><![CDATA[<p>computeGenreLayout's overlap relaxation self-normalizes its bounds every pass (spread apart -&gt; world grows -&gt; screen scale shrinks -&gt; labels re-shrink), so it converges asymptotically.</p>
<ul><li>Result: 178/178 placed, 0 label overlaps, min gap 19.2px, explorer-ui gate PASS. Deterministic (no randomness); sub-second at boot; maps under 60 genres unchanged.</li></ul>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=7437&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/8fb45e056d0454d1ecd6b68a3ae7008f14f13f77">8fb45e0</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/8fb45e056d0454d1ecd6b68a3ae7008f14f13f77</comments>
</item>
<item>
<title>Flood the empty vector space: 118 -&gt; 178 (60 root-unique invented genres)</title>
<link>https://stellate.app/?genre=house&amp;seed=8976&amp;path=1101.20850,1030.7218,1491.17202&amp;xdur=0.055</link>
<guid isPermaLink="false">138c41c0e93e9ec6fa112f79041061275d32c5cb</guid>
<pubDate>Thu, 09 Jul 2026 01:04:46 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>house</category>
<category>funk</category>
<category>magmastrut</category>
<category>embed</category>
<description><![CDATA[Runs invent-genres.js sequentially across seeds, each --write re-embedding the grown committed set so gaps are found in what's actually left. Stops when the naming-root pool saturates (three near-dry seeds), the honest ceiling: 60 accepted, then no fresh gap could earn a root nobody else holds.]]></description>
<content:encoded><![CDATA[<p>Runs invent-genres.js sequentially across seeds, each --write re-embedding the grown committed set so gaps are found in what's actually left. Stops when the naming-root pool saturates (three near-dry seeds), the honest ceiling: 60 accepted, then no fresh gap could earn a root nobody else holds.</p>
<ul><li>Root-uniqueness guard (the taste fix): an unbounded flood otherwise decays into name-mush -- four vendingmachine* genres, magmastrut+magmastomp -- because the vectors stay verifier-distinct long after the…</li><li>Every invented genre still earns its own verifier diagonal without knocking a neighbor off theirs (per-seed forward+backward gate across seeds 1-5), and the names correlate to character (tundradoom = cold sub…</li></ul>
<p><em>Verified:</em> matrix 178/178 diagonal-dominant (zero off-diagonal), validate --quick PASS (178 anchors, 0 dangling), determinism byte-stable, no duplicate keys, renders non-silent with names correlating.</p>
<p><a href="https://stellate.app/?genre=house&amp;seed=8976&amp;path=1101.20850,1030.7218,1491.17202&amp;xdur=0.055">▶ Play it: Congregation Furnace → Downbeat Notary → Basalt Swagger — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/138c41c0e93e9ec6fa112f79041061275d32c5cb">138c41c</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/138c41c0e93e9ec6fa112f79041061275d32c5cb</comments>
</item>
<item>
<title>Auto-invent 8 genres in empty vector regions: 110 -&gt; 118</title>
<link>https://stellate.app/?genre=picnicswing&amp;seed=1388&amp;path=1234.1889,987.5821,361.5351&amp;xdur=0.181</link>
<guid isPermaLink="false">6cdef274cfabada3d92530d23126c721de6cfaf1</guid>
<pubDate>Thu, 09 Jul 2026 00:43:29 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>picnicswing</category>
<category>cerealboxwave</category>
<category>rosinamblelilt</category>
<category>harmony</category>
<description><![CDATA[tools/invent-genres.js: deterministic gap-finder -> inventor -> algorithmic namer -> verifier gate. Embeds every genre in the verifier's own 22 scored dims (Euclidean distance == genre distinctness), ranks the largest empty regions by farthest-point selection, clones the nearest neighbor for a valid…]]></description>
<content:encoded><![CDATA[<p>tools/invent-genres.js: deterministic gap-finder -&gt; inventor -&gt; algorithmic namer -&gt; verifier gate. Embeds every genre in the verifier's own 22 scored dims (Euclidean distance == genre distinctness), ranks the largest empty regions by farthest-point selection, clones the nearest neighbor for a valid…</p>
<ul><li>8 accepted at seed 7 (7 rejected for colliding with existing columns -- the honest signal that the far gaps are real but finite): picnicswing, rosinamblelilt, subwooferbalm, sepiadrive, moltenhouse, sparkbreak…</li><li>genre-tool.js refactored to export measure/derive/splice behind a require.main guard so the new tool reuses the proven machinery. inventGenreName added to namebank.js.</li></ul>
<p><em>Verified:</em> matrix 118/118 diagonal-dominant (zero off-diagonal), validate --quick PASS, engine smoke ALL PASS, 6 renders non-silent with names correlating.</p>
<p><a href="https://stellate.app/?genre=picnicswing&amp;seed=1388&amp;path=1234.1889,987.5821,361.5351&amp;xdur=0.181">▶ Play it: Gingham Event Horizon → Prize Inside → Rosin Parallax — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/6cdef274cfabada3d92530d23126c721de6cfaf1">6cdef27</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/6cdef274cfabada3d92530d23126c721de6cfaf1</comments>
</item>
<item>
<title>Percussion: play the unused hits + the full GM hand-perc bank, per-genre lane</title>
<link>https://stellate.app/?genre=jazz&amp;seed=4487&amp;path=292.16891,1101.20850,1361.12568&amp;xdur=0.089</link>
<guid isPermaLink="false">a6415cef7061b934e375487ed007c5a51ae40721</guid>
<pubDate>Thu, 09 Jul 2026 00:07:22 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jazz</category>
<category>house</category>
<category>disco</category>
<category>found</category>
<description><![CDATA[The drum engine only ever triggered kick/snare/hat. Now:]]></description>
<content:encoded><![CDATA[<p>The drum engine only ever triggered kick/snare/hat. Now:</p>
<ul><li>Wired the hits already sampled in every kit but never played: clap, crash, ride, rim — added to DRUMKITS + both kit builders + new state-engine voices (sampled from the kit, synth fallback).</li><li>Extracted the wider GM percussion (sf2.js new `percbank` command, bank-128): all 24 hits clean — sideStick/clap/tambourine/cowbell/vibraslap/bongos/congas/…</li><li>Per-genre PERC lane (~35 genres, PERC_STYLES + a beat-gated perc pass in buildEvents on its own rng stream): shaker+congas+agogo for afro/latin/tropical, rim+shaker+clave for bossa/tango, ride+rim for…</li><li>Perc is timbral color, kept verifier-INVISIBLE (matrix measures core kit only) — so matrix stays 110/110 byte-unchanged, zero anchor retuning.</li></ul>
<p><em>Verified:</em> matrix 110/110, validate, engine, segment-parity BYTE-EQUAL (house claps + jazz ride/rim), all-sampled, wavout-seam, live-resilience; perc-heavy peaks -2.1 to -4.4 dBFS (no clip).</p>
<p><a href="https://stellate.app/?genre=jazz&amp;seed=4487&amp;path=292.16891,1101.20850,1361.12568&amp;xdur=0.089">▶ Play it: Smoke Arithmetic → Congregation Furnace → Mirrorball Panopticon — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a6415cef7061b934e375487ed007c5a51ae40721">a6415ce</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a6415cef7061b934e375487ed007c5a51ae40721</comments>
</item>
<item>
<title>Timeline: effects beneath each voice's roll, lanes evenly spaced</title>
<link>https://stellate.app/?genre=citypop&amp;seed=1302&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">65a72ec65a4a0b58fa2f8aa75d070596823d8450</guid>
<pubDate>Wed, 08 Jul 2026 23:24:58 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[The fx line was a third flex sibling of the piano-roll, so it sat BESIDE the roll and squished the grid (Paul: "they're messing up the grid").]]></description>
<content:encoded><![CDATA[<p>The fx line was a third flex sibling of the piano-roll, so it sat BESIDE the roll and squished the grid (Paul: &quot;they're messing up the grid&quot;).</p>
<p><em>Verified:</em> genre-viz (full fx line beneath, no stacked pills) + explorer-ui green.</p>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=1302&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/65a72ec65a4a0b58fa2f8aa75d070596823d8450">65a72ec</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/65a72ec65a4a0b58fa2f8aa75d070596823d8450</comments>
</item>
<item>
<title>Reorg stage 2: split index.html into app/ ES modules + app.css (build-free)</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=7144&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">a13da6b0d0e6b4af604893ceae6fce640e12921b</guid>
<pubDate>Wed, 08 Jul 2026 23:15:33 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[index.html 2106 → 55 lines: <head> links app/app.css, <body> is the DOM skeleton + the engine/ classic <script src> tags (order preserved — they define the window.* globals) + one <script type="module" src="app/main.js">.]]></description>
<content:encoded><![CDATA[<p>index.html 2106 → 55 lines: &lt;head&gt; links app/app.css, &lt;body&gt; is the DOM skeleton + the engine/ classic &lt;script src&gt; tags (order preserved — they define the window.* globals) + one &lt;script type=&quot;module&quot; src=&quot;app/main.js&quot;&gt;.</p>
<ul><li>app/ modules, shared state threaded via imports (state.js), not accidental globals: state (store + html/render + engine aliases), world (POS/bounds), targeting (weightsAt/retarget/glide/travel), starmap (SVG…</li><li>Three load-mechanics fixes the external CSS/modules needed: probe-harness serves .css with the right MIME (nginx already does); main.js gates boot on the stylesheet applying</li></ul>
<p><em>Verified:</em> explorer-ui, genre-viz, demo-layer, live-test-run, wavout-test-run, live-resilience, bg-survival all green; live deploy serves app/main.js + app/app.css (200) and boots the modular page.</p>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=7144&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a13da6b0d0e6b4af604893ceae6fce640e12921b">a13da6b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a13da6b0d0e6b4af604893ceae6fce640e12921b</comments>
</item>
<item>
<title>Reorg into app/engine/tools/test/docs (build-free) — stage 1: folders + repaths</title>
<link>https://stellate.app/?genre=trap&amp;seed=9587&amp;path=1504.8922,1523.8955,1485.8955&amp;xdur=13.122</link>
<guid isPermaLink="false">873f44fb5c56bcf019bf586080ba9f7133a4686f</guid>
<pubDate>Wed, 08 Jul 2026 22:15:12 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>trap</category>
<category>found</category>
<description><![CDATA[Full folder layout (Paul's choice), no framework/bundler. 344 git-mv moves (history preserved):]]></description>
<content:encoded><![CDATA[<p>Full folder layout (Paul's choice), no framework/bundler. 344 git-mv moves (history preserved):</p>
<ul><li>index.html at root (was explorer.html) — deploy URL /projects/stellate/ unchanged; nginx index flipped explorer.html -&gt; index.html.</li><li>engine/ — genre-kernel/csd-engine/genre-verifier/validate-genres/song-verifier/ midi-export/namebank/video-layer/demo-layer + faust/ moved INTACT as engine/faust/ (keeps its dense internal relative requires +…</li><li>tools/ — Node CLIs + fetch/render shell scripts.</li><li>docs/ — GENRE-SPACE, FAUST-PORT (join docs/history/). Every require / &lt;script src&gt; / fetch / SITE-root derivation / .gitignore / serve.sh / verify.sh path rewritten.</li></ul>
<p><em>Verified:</em> every gate/harness/probe + live-test.html. Verified: all gates green from new homes (matrix 110/110, engine, parity, all-sampled, seam, + headless…</p>
<p><a href="https://stellate.app/?genre=trap&amp;seed=9587&amp;path=1504.8922,1523.8955,1485.8955&amp;xdur=13.122">▶ Play it: Locust Arithmetic — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/873f44fb5c56bcf019bf586080ba9f7133a4686f">873f44f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/873f44fb5c56bcf019bf586080ba9f7133a4686f</comments>
</item>
<item>
<title>Bold effects: unbreak sampler inserts, huge metal, SUNN-scale budstep, clear speech</title>
<link>https://stellate.app/?genre=budstep&amp;seed=6821&amp;path=1089.13532,1379.18248,1809.17533&amp;xdur=0.156</link>
<guid isPermaLink="false">4deff2850c4e58354839af4b7d7db64a882e0bb0</guid>
<pubDate>Wed, 08 Jul 2026 21:33:01 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>budstep</category>
<category>dubstep</category>
<category>gabber</category>
<category>voice</category>
<description><![CDATA[The real reason effects were timid: aggressive genres DECLARE distortion on their guitar/bass, but those voices resolve to sampled instruments, and two places silently dropped every insert from a sampler voice (genre-kernel insOk returned false for model==="sampler"]]></description>
<content:encoded><![CDATA[<p>The real reason effects were timid: aggressive genres DECLARE distortion on their guitar/bass, but those voices resolve to sampled instruments, and two places silently dropped every insert from a sampler voice (genre-kernel insOk returned false for model===&quot;sampler&quot;</p>
<ul><li>heavymetal: guitar + power-chord pad wall + bass all distort-driven, fdn room reverb (deep), padDouble octave-below wall-of-sound, levels/grit up.</li><li>budstep: new csd-engine &quot;sludge&quot; melody pattern (doubled octave power CHORDS, slow relentless) + &quot;sludge&quot; bass (root+octave, big), greyhole cathedral verb — SUNN O)))/SLEEP scale.</li><li>speech intelligibility: SPEECH_RATE_CAP 0.82 on every speech source (was up to 1.42) + vocoder carrier dropped an octave into the formant band (robot_choir.dsp rebuilt)</li><li>aggressive-family pools enriched (doomdrone/sludgemetal/industrialmetal/dubstep/ gabber): distort, greyhole/fdn rooms, granular on dubstep leads.</li></ul>
<p><a href="https://stellate.app/?genre=budstep&amp;seed=6821&amp;path=1089.13532,1379.18248,1809.17533&amp;xdur=0.156">▶ Play it: Amen Monolith → Seismic Ultimatum → Jackhammer Communion — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/4deff2850c4e58354839af4b7d7db64a882e0bb0">4deff28</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/4deff2850c4e58354839af4b7d7db64a882e0bb0</comments>
</item>
<item>
<title>Explorer UI: wheel-zoom, reliable background alternation, effects as tiny text</title>
<link>https://stellate.app/?genre=bebop&amp;seed=8242&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">adffe73ab7858869867665807d06db6584bf22ee</guid>
<pubDate>Wed, 08 Jul 2026 20:43:10 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[Desktop mouse wheel now zooms the star map toward the cursor (no ctrl needed; deltaMode-normalised). ctrl+wheel / pinch still work.]]></description>
<content:encoded><![CDATA[<p>Desktop mouse wheel now zooms the star map toward the cursor (no ctrl needed; deltaMode-normalised). ctrl+wheel / pinch still work.</p>
<ul><li>Background &quot;video+demos&quot; mode actually alternates now: a wall-clock backstop (~16s) drives it whether live or idle, so it no longer depends on onBar firing and no longer imperceptibly slow.</li><li>The ⓘ timeline's effect labels were stacked lozenges that clipped to one visible; now the FULL chain renders as one tiny &quot; · &quot;-joined line under each lane (and the master line), tightening the panel.</li></ul>
<p><em>Verified:</em> explorer-ui (adds wheel-zoom + clock-alternation + layer-tracking asserts), genre-viz (asserts the full fx line, no stacked pills).</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=8242&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/adffe73ab7858869867665807d06db6584bf22ee">adffe73</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/adffe73ab7858869867665807d06db6584bf22ee</comments>
</item>
<item>
<title>Tidy for export: single-page app, docs organized, dead code removed, README reset</title>
<link>https://stellate.app/?genre=bigband&amp;seed=3645&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">3e5aa0359a66428090f00c1ee82239326e76011b</guid>
<pubDate>Wed, 08 Jul 2026 20:42:53 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[Rename fallout + pre-export cleanup:]]></description>
<content:encoded><![CDATA[<p>Rename fallout + pre-export cleanup:</p>
<ul><li>Deleted the tombstone pages builder.html / play.html and the dead csound-era harnesses (faust/{index,ring-test,soak,insert-test,clicktest} + runners) and the now-orphaned faust/{bench,ring-conductor}.js</li><li>Moved the completed planning docs (WAV-FIRST, KERNEL-V4, ZERO-STATIC, NEXT, EVALUATION, VALIDATION, ab-report) to docs/history/, keeping the architecture trail out of the root.</li><li>Rewrote README.md from scratch for stellate as it is now (~110 genres, sampled-by-default + GM, per-voice Faust FX, the verifier loop, WAV-FIRST mobile, the CONSTELLATE explorer)</li><li>CLAUDE.md / serve.sh / VOICES.md / legacy-tools updated for the rename and the current layout; all doc/page references fixed.</li></ul>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=3645&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/3e5aa0359a66428090f00c1ee82239326e76011b">3e5aa03</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/3e5aa0359a66428090f00c1ee82239326e76011b</comments>
</item>
<item>
<title>Rename: vaporwave -&gt; stellate (repo, GitHub, nginx deploy path)</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=7958&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">f4ec97663b68c26f69e3587f1545d12e2fd183ea</guid>
<pubDate>Wed, 08 Jul 2026 20:15:07 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[Project renamed to "stellate". Repo dir /home/ford/vaporwave -> /home/ford/stellate, GitHub ftrain/vaporwave -> ftrain/stellate, and nginx now serves aboardresearch.com/projects/stellate/ (COOP/COEP preserved); the old /projects/vaporwave/ path 301-redirects here so every prior link resolves.]]></description>
<content:encoded><![CDATA[<p>Project renamed to &quot;stellate&quot;. Repo dir /home/ford/vaporwave -&gt; /home/ford/stellate, GitHub ftrain/vaporwave -&gt; ftrain/stellate, and nginx now serves aboardresearch.com/projects/stellate/ (COOP/COEP preserved); the old /projects/vaporwave/ path 301-redirects here so every prior link resolves.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=7958&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/f4ec97663b68c26f69e3587f1545d12e2fd183ea">f4ec976</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/f4ec97663b68c26f69e3587f1545d12e2fd183ea</comments>
</item>
<item>
<title>The Faust insert fleet: leslie, flanger, tape delay, ringmod, granular, shimmer — and two effects per voice as the house style</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=6509&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">2b6e1c5d5f40d6544d32ba1eb3c0516130258f0d</guid>
<pubDate>Wed, 08 Jul 2026 19:33:33 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Six new DSP modules (all compile clean, all bit-exact bypass at mix 0): insert_leslie (dual inertial rotors, AM + doppler swirl), insert_flanger (signed-feedback swept comb), insert_delay (per-voice tempo-synced tape echo with wow]]></description>
<content:encoded><![CDATA[<p>Six new DSP modules (all compile clean, all bit-exact bypass at mix 0): insert_leslie (dual inertial rotors, AM + doppler swirl), insert_flanger (signed-feedback swept comb), insert_delay (per-voice tempo-synced tape echo with wow</p>
<ul><li>Two-per-voice becomes the default: when a kernel recipe carries no explicit inserts, every voice deterministically dresses itself (pads chorus+leslie/ phaser, leads delay+chorus/flanger, organs leslie+delay…</li></ul>
<p><em>Verified:</em> probe-inserts2 (new: bypass/nonsilence/param-sensitivity/shimmer octave partial), strip-fuzz 360 runs finite, segment-parity BYTE-EQUAL, all-sampled, engine, wavout-seam, resilience, wavout…</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=6509&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/2b6e1c5d5f40d6544d32ba1eb3c0516130258f0d">2b6e1c5</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/2b6e1c5d5f40d6544d32ba1eb3c0516130258f0d</comments>
</item>
<item>
<title>17 new genres: the uptempo wave + heavymetal, budstep, pixiewave (93 -&gt; 110)</title>
<link>https://stellate.app/?genre=budstep&amp;seed=3827&amp;path=1089.13532,2026.9521,1618.5296&amp;xdur=0.09</link>
<guid isPermaLink="false">891f026b9b291046fe90b6a39623d534e8c1118d</guid>
<pubDate>Wed, 08 Jul 2026 19:21:37 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>budstep</category>
<category>eurodance</category>
<category>bluegrass</category>
<category>voice</category>
<description><![CDATA[Filling the canonical gaps with a strong uptempo bias (12 of 17 live at or above ~140 BPM): dnb (liquid rolling two-step), footwork (808 triplet juke), happy hardcore, hardstyle, eurodance, singeli (200+ Tanzanian hyperspeed]]></description>
<content:encoded><![CDATA[<p>Filling the canonical gaps with a strong uptempo bias (12 of 17 live at or above ~140 BPM): dnb (liquid rolling two-step), footwork (808 triplet juke), happy hardcore, hardstyle, eurodance, singeli (200+ Tanzanian hyperspeed</p>
<ul><li>Every genre carries a verifier anchor fenced for mutual distinctness (the hard pairs: eurodance↔trance via the sampled M1 piano's acoustic read, the four-way acoustic-uptempo band split klezmer/ska/bluegrass…</li></ul>
<p><em>Verified:</em> matrix 110/110, validate --quick (all hard gates), engine.test, determinism byte-stable re-renders.</p>
<p><a href="https://stellate.app/?genre=budstep&amp;seed=3827&amp;path=1089.13532,2026.9521,1618.5296&amp;xdur=0.09">▶ Play it: Amen Monolith → Chartbuster Esperanto → Centrifugal Hymnal — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/891f026b9b291046fe90b6a39623d534e8c1118d">891f026</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/891f026b9b291046fe90b6a39623d534e8c1118d</comments>
</item>
<item>
<title>Dank up the demo layer: the footage's analog stack, ported and darkened</title>
<link>https://stellate.app/?genre=jungle&amp;seed=9724&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">9ca4c7b450b97aee4456b76eec3fad2c2d969654</guid>
<pubDate>Wed, 08 Jul 2026 18:45:13 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>drums</category>
<description><![CDATA[The MicroW8 canvas now wears the found-footage treatment: the same feTurbulence grain tile (slightly heavier), drifting vertical-blanking hum bars + subliminal scanlines, a VHS grade on the canvas (brightness .8, contrast 1.32, warm sepia + magenta lean]]></description>
<content:encoded><![CDATA[<p>The MicroW8 canvas now wears the found-footage treatment: the same feTurbulence grain tile (slightly heavier), drifting vertical-blanking hum bars + subliminal scanlines, a VHS grade on the canvas (brightness .8, contrast 1.32, warm sepia + magenta lean</p>
<p><em>Verified:</em> demo-layer-test extended (stack present + positioned, grade applied, deterministic _burst twitches then decays, disable hides all).</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=9724&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — the genre that is mostly drums, so the kit has nowhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9ca4c7b450b97aee4456b76eec3fad2c2d969654">9ca4c7b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9ca4c7b450b97aee4456b76eec3fad2c2d969654</comments>
</item>
<item>
<title>Background program: alternate video and MicroW8 demos every 8 bars</title>
<link>https://stellate.app/?genre=bebop&amp;seed=6976&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">5888e2d8462539654c6293a4138090c301d4a75e</guid>
<pubDate>Wed, 08 Jul 2026 18:22:50 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[The "video" background mode is now a PROGRAM: while live it cuts between the found-footage layer and a FRESH demo cart every 8 chord-bars (idle stays ambient video; the demoscene-only mode is unchanged).]]></description>
<content:encoded><![CDATA[<p>The &quot;video&quot; background mode is now a PROGRAM: while live it cuts between the found-footage layer and a FRESH demo cart every 8 chord-bars (idle stays ambient video; the demoscene-only mode is unchanged).</p>
<p><em>Verified:</em> explorer-ui H-series — 24 unit-driven ticks flip sides exactly 3x, the cart advances each demo turn, and the enabled layer tracks the active side.</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=6976&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/5888e2d8462539654c6293a4138090c301d4a75e">5888e2d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/5888e2d8462539654c6293a4138090c301d4a75e</comments>
</item>
<item>
<title>Instrument identity is per-song, not per-bar: pin the sampled pick to the song seed</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=4113&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">9ff93bc9c25352ede18bd622ccc308f595de7213</guid>
<pubDate>Wed, 08 Jul 2026 16:33:50 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[The live walk reseeds every bar (seed + serial*7919) for PATTERN variety, but that churned seed also fed the sampled-instrument pick — so every voice was silently swapping instruments EVERY BAR (pad: french_horns → synth_strings → ohh_voices → church_organ, bar to bar).]]></description>
<content:encoded><![CDATA[<p>The live walk reseeds every bar (seed + serial*7919) for PATTERN variety, but that churned seed also fed the sampled-instrument pick — so every voice was silently swapping instruments EVERY BAR (pad: french_horns → synth_strings → ohh_voices → church_organ, bar to bar).</p>
<ul><li>The walk now stashes the pre-churn song seed as state.instrumentSeed (live.js makeWalk + the explorer's barVoiceEvents mirror) and forceSampled picks with it — the band stays the band for the whole song</li></ul>
<p><em>Verified:</em> engine, all-sampled, segment-parity byte-equal, wavout-seam, matrix 93/93, validate, resilience, audit, wavout (all routes), live, genre-viz.</p>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=4113&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9ff93bc9c25352ede18bd622ccc308f595de7213">9ff93bc</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9ff93bc9c25352ede18bd622ccc308f595de7213</comments>
</item>
<item>
<title>Per-bar decode-ahead: mid-gen instrument swaps no longer bake silent bars</title>
<link>https://stellate.app/?genre=bigband&amp;seed=5482&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">985c247a89566f98dbb5738f73f8687b5787f076</guid>
<pubDate>Wed, 08 Jul 2026 16:16:59 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[The device audit caught the remaining "random mute" exactly: a sampler→sampler instrument swap inside a gen (holdUntil churn — "new hands on the pads") keeps the topology sig, so there is no reopen, and only reopen decoded buffers]]></description>
<content:encoded><![CDATA[<p>The device audit caught the remaining &quot;random mute&quot; exactly: a sampler→sampler instrument swap inside a gen (holdUntil churn — &quot;new hands on the pads&quot;) keeps the topology sig, so there is no reopen, and only reopen decoded buffers</p>
<ul><li>The ring path never had this because it decodes what each bar needs as it's fed. Ported: before feeding a bar, the wav pump kicks any missing zone/found PCM through the decode gate and HOLDS that bar until it…</li></ul>
<p><em>Verified:</em> live-resilience, audit-gate, wavout (all routes), live, segment-parity byte-equal, engine.</p>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=5482&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/985c247a89566f98dbb5738f73f8687b5787f076">985c247</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/985c247a89566f98dbb5738f73f8687b5787f076</comments>
</item>
<item>
<title>Audio-truth audit: per-voice expected-vs-actual, painted red + downloadable</title>
<link>https://stellate.app/?genre=bigband&amp;seed=5990&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">1a18501e28b17dba52908df1e8c247bdaa710978</guid>
<pubDate>Wed, 08 Jul 2026 15:02:09 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA["Track when a node is expected to produce sound and doesn't" (Paul) — the renderer now measures each voice's ACTUAL contribution RMS per bar as it bakes (sampler + faust units, additive meters, mix bytes untouched]]></description>
<content:encoded><![CDATA[<p>&quot;Track when a node is expected to produce sound and doesn't&quot; (Paul) — the renderer now measures each voice's ACTUAL contribution RMS per bar as it bakes (sampler + faust units, additive meters, mix bytes untouched</p>
<ul><li>Hunting the &quot;random mutes&quot;: the strip-fuzz gate found a real NaN landmine — the per-note chorus delay read could wrap negative (undefined → NaN poisoning the whole bar's dry bus, silencing every voice).</li></ul>
<p><em>Verified:</em> strip-fuzz, audit-gate (new), segment-parity byte-equal, resilience, wavout, live, genre-viz, explorer-ui, engine, matrix 93/93.</p>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=5990&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/1a18501e28b17dba52908df1e8c247bdaa710978">1a18501</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/1a18501e28b17dba52908df1e8c247bdaa710978</comments>
</item>
<item>
<title>MicroW8 demoscene background layer</title>
<link>https://stellate.app/?genre=dubstep&amp;seed=8147&amp;path=1379.18226,1398.18259,1360.18259&amp;xdur=13.122</link>
<guid isPermaLink="false">fd723453c2e4eb75afc093b5e18c13ad71ce6081</guid>
<pubDate>Wed, 08 Jul 2026 05:19:30 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>dubstep</category>
<category>bass</category>
<description><![CDATA[A self-contained DemoLayer module runs vendored MicroW8 (public-domain) carts on a canvas behind the star map, screen-blended with the found-video so both show through.]]></description>
<content:encoded><![CDATA[<p>A self-contained DemoLayer module runs vendored MicroW8 (public-domain) carts on a canvas behind the star map, screen-blended with the found-video so both show through.</p>
<ul><li>Reacts to the music: a bar-level pulse plus per-note reactivity (DemoLayer.note) fed from the explorer's timeline — bass swells the clock, leads flash and hue- shift by pitch class, drums tick</li></ul>
<p><em>Verified:</em> demo-layer-test (32 carts animate, note-perturbation, cycling).</p>
<p><a href="https://stellate.app/?genre=dubstep&amp;seed=8147&amp;path=1379.18226,1398.18259,1360.18259&amp;xdur=13.122">▶ Play it: Seismic Ultimatum — the genre that is mostly bass</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/fd723453c2e4eb75afc093b5e18c13ad71ce6081">fd72345</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/fd723453c2e4eb75afc093b5e18c13ad71ce6081</comments>
</item>
<item>
<title>Explorer overhaul: dynamic genre layout, voice timeline, unified background chip</title>
<link>https://stellate.app/?genre=afrobeat&amp;seed=3544&amp;path=1237.17797,1256.17830,1218.17830&amp;xdur=13.122</link>
<guid isPermaLink="false">b94095887a7c37a0d01d26aeba1fe20b029cacbf</guid>
<pubDate>Wed, 08 Jul 2026 05:19:30 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>afrobeat</category>
<category>melody</category>
<description><![CDATA[Genre star map is now laid out DYNAMICALLY at load (deterministic force-directed relaxation with label-box repulsion) instead of a hand-tuned POS table]]></description>
<content:encoded><![CDATA[<p>Genre star map is now laid out DYNAMICALLY at load (deterministic force-directed relaxation with label-box repulsion) instead of a hand-tuned POS table</p>
<ul><li>The busted mixer (its gain/mute/solo were no-ops on the WAV engine) is gone, replaced by an &quot;INSIDE THE SOUND&quot; info tool: live genre-blend, a feel radar, and a per-voice TIMELINE piano-roll showing each…</li><li>Chips slimmed (the play button was overflowing off-screen): note chip removed, video + demoscene merged into one background chip (off → video → demoscene), default off</li></ul>
<p><em>Verified:</em> explorer-ui-test (93 stars, 0 label overlaps, loop/zoom/traveler), genre-viz-test (timeline, note-feed, mixer-gone).</p>
<p><a href="https://stellate.app/?genre=afrobeat&amp;seed=3544&amp;path=1237.17797,1256.17830,1218.17830&amp;xdur=13.122">▶ Play it: Polyrhythm Senate — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b94095887a7c37a0d01d26aeba1fe20b029cacbf">b940958</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b94095887a7c37a0d01d26aeba1fe20b029cacbf</comments>
</item>
<item>
<title>Sampled by default: full General MIDI + fugue genre + per-voice channel strips</title>
<link>https://stellate.app/?genre=psytrance&amp;seed=3233&amp;path=1691.14484,1710.14517,1672.14517&amp;xdur=13.122</link>
<guid isPermaLink="false">88f3bde12cbc3aebd7d723b38ba5e778c39e4538</guid>
<pubDate>Wed, 08 Jul 2026 05:19:08 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>psytrance</category>
<category>voice</category>
<description><![CDATA[Sampled instruments become the default sound (state.sampledOnly on by default; opts.synth / ?allSampled=0 / --synth is the escape hatch).]]></description>
<content:encoded><![CDATA[<p>Sampled instruments become the default sound (state.sampledOnly on by default; opts.synth / ?allSampled=0 / --synth is the escape hatch).</p>
<ul><li>Full General MIDI extracted: faust/extract-gm.js pulls all 128 bank-0 FluidR3 presets in one parse (105 usable multi-zone), baked into the genre-kernel SAMPLERS registry (browser has no fs) and drawn from by…</li><li>New genre: fugue — steady drumless Bach counterpoint next to prelude, a running- SIXTEENTH subject with an imitative answer (new csd-engine &quot;fugue&quot; pattern), fenced off prelude on voice-count / tempo / rubato…</li><li>Per-voice channel strips on the sampled path: band-appropriate HPF/EQ/compressor + broad gentle saturation + chorus/phaser/reverb air, so the samples breathe without clipping (peaks stay &lt; -3 dBFS).</li></ul>
<p><em>Verified:</em> matrix 93/93, validate --quick, engine.test, all-sampled-test, segment-parity. FluidR3 GM (MIT) credited in SOURCES.md.</p>
<p><a href="https://stellate.app/?genre=psytrance&amp;seed=3233&amp;path=1691.14484,1710.14517,1672.14517&amp;xdur=13.122">▶ Play it: Third Eye Turbine — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/88f3bde12cbc3aebd7d723b38ba5e778c39e4538">88f3bde</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/88f3bde12cbc3aebd7d723b38ba5e778c39e4538</comments>
</item>
<item>
<title>WAV-FIRST: pocket-proof mobile audio pipeline + iOS decode resilience</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=1655&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">9df4f9d76674ab2f3ca2ab3226720aeb7b42934c</guid>
<pubDate>Wed, 08 Jul 2026 05:18:44 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[Mobile can't keep a live WebAudio graph alive in the background — iOS suspends it and CoreAudio loops the last buffer. So on mobile the audible path becomes a single <audio> element fed a continuous, deterministically-rendered stream: segment WAVs → MP3 → finally fMP4/AAC (ManagedMediaSource on iOS…]]></description>
<content:encoded><![CDATA[<p>Mobile can't keep a live WebAudio graph alive in the background — iOS suspends it and CoreAudio loops the last buffer. So on mobile the audible path becomes a single &lt;audio&gt; element fed a continuous, deterministically-rendered stream: segment WAVs → MP3 → finally fMP4/AAC (ManagedMediaSource on iOS…</p>
<ul><li>iOS resilience: sample decodes are concurrency-capped + retried (the unbounded ~20-decode fan-out flooded iOS and stranded pitched voices), the vocoder speech carrier is non-blocking, and the producer now…</li></ul>
<p><em>Verified:</em> wavout-test-run (all routes), wavout-seam, fmp4-test, live-resilience (decode-then-render A/B), bg-survival-run, segment-parity byte-equal. lamejs vendored under faust/vendor/ (LGPL).</p>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=1655&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9df4f9d76674ab2f3ca2ab3226720aeb7b42934c">9df4f9d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9df4f9d76674ab2f3ca2ab3226720aeb7b42934c</comments>
</item>
<item>
<title>Cleanup: drop dead engine flags from explorer</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=4381&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">b06b55fdd183788ff6dd8036a5f719484fd47c75</guid>
<pubDate>Tue, 07 Jul 2026 05:49:46 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[The ring-buffer engine has no stem-cache / sentinel / seam-log concept, so the ?debugSentinel, ?stems, ?stemLookahead, and ?seamLog flags (and the opts they fed exploreLive) were dead no-ops.]]></description>
<content:encoded><![CDATA[<p>The ring-buffer engine has no stem-cache / sentinel / seam-log concept, so the ?debugSentinel, ?stems, ?stemLookahead, and ?seamLog flags (and the opts they fed exploreLive) were dead no-ops.</p>
<ul><li>Final verification of the whole rebuild: segment-parity byte-equal, engine.test ALL PASS, genre matrix diagonal-dominant 92/92, validate-genres --quick PASS, clicktest mode 1 clicks=0 (mode 3 clicks=0</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=4381&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b06b55fdd183788ff6dd8036a5f719484fd47c75">b06b55f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b06b55fdd183788ff6dd8036a5f719484fd47c75</comments>
</item>
<item>
<title>Feed vocoder speech in live mode: fix the robot_choir hum</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=2840&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">c0f411e8c010ac2f2ba853eade361b23a81373e4</guid>
<pubDate>Tue, 07 Jul 2026 05:43:47 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[The live conductor passed speech:null to every openLive, so the vocoder voice (robot_choir, u.vocoder) got an empty carrier and droned. Two gaps closed:]]></description>
<content:encoded><![CDATA[<p>The live conductor passed speech:null to every openLive, so the vocoder voice (robot_choir, u.vocoder) got an empty carrier and droned. Two gaps closed:</p>
<ul><li>live.js: decode the speech source (vocoderSourceId, else first sp_/vx_/vox_ found source — mirrors press.js decodeInputs) once per id via FP.decodeUrlToBuffer (local cache) into a mono Float32</li><li>stream-renderer.js: the LIVE vocIns now LOOPS the carrier (modulo) so it keeps speaking past the clip length; the whole-song open() speech-tile path (parity) is untouched.</li></ul>
<p><em>Verified:</em> segment-parity byte-equal, engine.test ALL PASS, clicktest 0 clicks. Functional (electro, vocoder lead): every openLive received a non-null ~3.2s carrier (speechOpens 3, nullOpens 0)</p>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=2840&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c0f411e8c010ac2f2ba853eade361b23a81373e4">c0f411e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c0f411e8c010ac2f2ba853eade361b23a81373e4</comments>
</item>
<item>
<title>Sampled drum kits: 6 real kits from FluidR3 percussion, additive</title>
<link>https://stellate.app/?genre=triphop&amp;seed=1965&amp;path=388.8037,263.9071,859.2784&amp;xdur=0.119</link>
<guid isPermaLink="false">3359b4a55df0715143152d1f5535ee9af31acf7f</guid>
<pubDate>Tue, 07 Jul 2026 05:26:37 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>triphop</category>
<category>lofi</category>
<category>neoclassical</category>
<category>found</category>
<description><![CDATA[The drums were "super basic" — three Faust synth kicks (boom/808/909) + noise snare/hat. Add an ADDITIVE sampled-drum path: real recorded kits, synth stays the default so untouched genres render byte-identically.]]></description>
<content:encoded><![CDATA[<p>The drums were &quot;super basic&quot; — three Faust synth kicks (boom/808/909) + noise snare/hat. Add an ADDITIVE sampled-drum path: real recorded kits, synth stays the default so untouched genres render byte-identically.</p>
<ul><li>faust/sf2.js: new `drumkit` mode extracts GM percussion (bank 128) per-hit one-shots. fetch-found-samples.sh grows a drumkits section (FluidR3 GM/GS, MIT). 6 kits — acoustic/room/power/electronic/jazz/brush</li><li>genre-kernel.js: DRUMKITS registry (len values inline, like SAMPLERS) + drumKitSpec() resolves drums.kit -&gt; per-hit native-sampler specs on the kick/snare/hat/tom voices, riding the wavs into foundSources like…</li><li>faust/state-engine.js: voiceUnits overlays .sampler on the drum voices when a kit is set (stays drum:true/mustLive)</li><li>Rewired 10 genres for variety: acoustic-&gt;neoclassical/bossanova/blues, brush-&gt;jazz/whalejazz, room-&gt;lofi/triphop, power-&gt;citypop/disco, jazz-&gt;spacelounge/exotica.</li></ul>
<p><em>Verified:</em> engine.test ALL PASS (default renders unchanged), segment-parity byte- equal (+ jazz_s3 sampled-kit case), matrix diagonal-dominant 92/92 (drums are matrix-invisible: same events/levels)…</p>
<p><a href="https://stellate.app/?genre=triphop&amp;seed=1965&amp;path=388.8037,263.9071,859.2784&amp;xdur=0.119">▶ Play it: Inclement Surveillance → Dust Census → Requiem Appendix — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/3359b4a55df0715143152d1f5535ee9af31acf7f">3359b4a</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/3359b4a55df0715143152d1f5535ee9af31acf7f</comments>
</item>
<item>
<title>Strongly weight sampled instruments over synths in acoustic genres</title>
<link>https://stellate.app/?genre=citypop&amp;seed=3743&amp;path=1530.6221,1832.7062,1679.4415&amp;xdur=0.28</link>
<guid isPermaLink="false">731bb55f8a58276c9e095a0d43e0c8cbe9ae5f9d</guid>
<pubDate>Tue, 07 Jul 2026 04:53:56 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>shibuyakei</category>
<category>vaporwave</category>
<category>voice</category>
<description><![CDATA[The genres were "boopy" because acoustic-leaning ones leaned on Faust synth models despite a full FluidR3 sampler already being wired. Strongly raise the sampler odds (mostly on the lead voice]]></description>
<content:encoded><![CDATA[<p>The genres were &quot;boopy&quot; because acoustic-leaning ones leaned on Faust synth models despite a full FluidR3 sampler already being wired. Strongly raise the sampler odds (mostly on the lead voice</p>
<ul><li>exotica 60→80% (steel-drums/sitar/vibes/marimba), blues 50→67% (real harmonica), dub 50→75% (harmonica/trombone/clarinet), bossanova 67→100% (nylon/flute) + upright bass, afrobeat 67→100% (trumpet/sax/trombone…</li></ul>
<p><em>Verified:</em> Matrix stays diagonal-dominant 92/92 (before and after); validate-genres --quick PASS; no genre collapsed.</p>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=3743&amp;path=1530.6221,1832.7062,1679.4415&amp;xdur=0.28">▶ Play it: Neon Fiscal Year → Parfait Cosmonaut → Food Court Eternity — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/731bb55f8a58276c9e095a0d43e0c8cbe9ae5f9d">731bb55</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/731bb55f8a58276c9e095a0d43e0c8cbe9ae5f9d</comments>
</item>
<item>
<title>Randomize video clips: top up the genre pool from the full catalog</title>
<link>https://stellate.app/?genre=citypop&amp;seed=6711&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">f8ae6ce7c80057bed411ca353064fea84f278922</guid>
<pubDate>Tue, 07 Jul 2026 04:47:38 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[The per-genre affine clip pool was only ~8-12 clips (GENRE_CLIPS ∪ tag matches), so the no-repeat bag recycled the same handful every 8 bars while ~220 of the 231 cached clips were never seen]]></description>
<content:encoded><![CDATA[<p>The per-genre affine clip pool was only ~8-12 clips (GENRE_CLIPS ∪ tag matches), so the no-repeat bag recycled the same handful every 8 bars while ~220 of the 231 cached clips were never seen</p>
<p><em>Verified:</em> headless: pool 61 clips, 59/60 draws distinct, 0 immediate repeats.</p>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=6711&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/f8ae6ce7c80057bed411ca353064fea84f278922">f8ae6ce</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/f8ae6ce7c80057bed411ca353064fea84f278922</comments>
</item>
<item>
<title>Fix iOS background double-audio: pause the media-element route on handoff</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=1094&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">f94985867226579bd1eb0f6186c70c18124fdb7f</guid>
<pubDate>Tue, 07 Jul 2026 04:46:44 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[After the background-WAV handoff landed, backgrounding on mobile played BOTH the WAV (good — music continues) AND a looping chunk. The chunk was the media- element route's <audio>: it plays the live MediaStream, and when iOS suspends the ctx it loops that stream's last buffer.]]></description>
<content:encoded><![CDATA[<p>After the background-WAV handoff landed, backgrounding on mobile played BOTH the WAV (good — music continues) AND a looping chunk. The chunk was the media- element route's &lt;audio&gt;: it plays the live MediaStream, and when iOS suspends the ctx it loops that stream's last buffer.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=1094&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — the brightest, most processed corner of the space</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/f94985867226579bd1eb0f6186c70c18124fdb7f">f949858</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/f94985867226579bd1eb0f6186c70c18124fdb7f</comments>
</item>
<item>
<title>Background-WAV handoff: keep music playing on iOS background</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=3969&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">8c88b3097e72380e8011521c0381af7099645de1</guid>
<pubDate>Tue, 07 Jul 2026 04:35:03 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[iOS Safari suspends the AudioContext when the page is hidden, so the ring engine can't play in the background — the old behavior was mute-on-hidden (clean silence, resume on return).]]></description>
<content:encoded><![CDATA[<p>iOS Safari suspends the AudioContext when the page is hidden, so the ring engine can't play in the background — the old behavior was mute-on-hidden (clean silence, resume on return).</p>
<ul><li>A third stream-worker renders a deterministic ~32s WAV (~2.8MB) of the current genre off the audio path (press-parity open()/renderChunk), refreshed debounced on genre/topology change</li><li>On visibilitychange hidden: mute the live worklet synchronously (C_STATE=2 + master 0), then play the ready WAV blob in a pre-unlocked looping &lt;audio&gt; (silent-WAV data-URI unlock inside the play gesture so the…</li><li>On visible: fade+pause the &lt;audio&gt;, resume ctx, unmute (20ms fade-in).</li><li>MediaSession metadata/playbackState for lock-screen. Whole path gated on mobile/Safari; desktop/foreground byte-identical to before.</li></ul>
<p><em>Verified:</em> headless: valid RIFF/WAVE blob reaches a playing &lt;audio&gt;, worklet mutes/unmutes on the visibility transitions</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=3969&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — the brightest, most processed corner of the space</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/8c88b3097e72380e8011521c0381af7099645de1">8c88b30</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/8c88b3097e72380e8011521c0381af7099645de1</comments>
</item>
<item>
<title>Rebuild the live engine: continuous ring-buffer playback, click-free by construction</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=9797&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">723702b5c705ebfd45cc9619d6fa3d7fd5f64f7a</guid>
<pubDate>Tue, 07 Jul 2026 04:09:59 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[The per-bar stem cache rendered byte-clean audio then chopped it into separately-scheduled AudioBufferSourceNodes whose seams could not be sample-welded — the source of the travel clicks.]]></description>
<content:encoded><![CDATA[<p>The per-bar stem cache rendered byte-clean audio then chopped it into separately-scheduled AudioBufferSourceNodes whose seams could not be sample-welded — the source of the travel clicks.</p>
<ul><li>stream-renderer.js: persistent stateful FULL-MIX renderer (voices + drums + found + fx_bus reverb/delay/master). open() = whole-song, BYTE-EQUAL to press.js (segment-parity-test.js, incl.</li><li>ring-player.js: AudioWorklet reading the ring; two rings + equal-power crossfade; monotonic read cursor; underrun =&gt; silence (never loops).</li><li>stream-worker.js: browser Worker wrapping the renderer, fills the ring.</li><li>ring-conductor.js: two producers ping-ponging, bridge + crossfade state machine, rapid-change coalescing.</li></ul>
<p><em>Verified:</em> green: segment-parity byte-equal, engine.test ALL PASS, ?clicktest 1/2/3 clickMon clicks=0 + underruns=0, real cross-genre ride 0 clicks/0 errors.</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=9797&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/723702b5c705ebfd45cc9619d6fa3d7fd5f64f7a">723702b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/723702b5c705ebfd45cc9619d6fa3d7fd5f64f7a</comments>
</item>
<item>
<title>Drop archive.org at runtime: local-first found audio + video</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=9087&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">1638b4ef4aa41adaf87d768483bbbd244355ff77</guid>
<pubDate>Tue, 07 Jul 2026 04:09:39 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[The live app streamed found sounds and background video straight from archive.org, which CORS-blocked and 500'd in the browser (Safari). Now the runtime prefers the local cache and never touches archive.org for anything we have on disk.]]></description>
<content:encoded><![CDATA[<p>The live app streamed found sounds and background video straight from archive.org, which CORS-blocked and 500'd in the browser (Safari). Now the runtime prefers the local cache and never touches archive.org for anything we have on disk.</p>
<ul><li>found-manifest.json maps each archive source URL -&gt; local found/&lt;id&gt;.wav; found-player.decodeUrlToBuffer resolves local FIRST, archive only as a warned fallback.</li><li>video-layer srcFor prefers kind:&quot;local&quot; when the clip is cached; archive &quot;remote&quot; only for clips with no local file.</li><li>fetch-found-video-catalog.sh caches the 97 archive-only av_* cue-windows (~124MB, range-seeked) so all 231 catalog clips play local; clips.json + the mp4s stay gitignored (derived).</li></ul>
<p><em>Verified:</em> headless: found decodes from found/*.wav, video from found/video/*, zero archive.org requests for any cached asset.</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=9087&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/1638b4ef4aa41adaf87d768483bbbd244355ff77">1638b4e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/1638b4ef4aa41adaf87d768483bbbd244355ff77</comments>
</item>
<item>
<title>Kill the stem clicks at the root: crossfade seams + eliminate resets</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=4148&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">e1f8b234243458caf182a1e313864ba7f2219058</guid>
<pubDate>Mon, 06 Jul 2026 21:44:35 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[THE root cause of the travel clicks, proven with the Faust click monitor + CPU throttling: the stem cache butt-spliced consecutive per-bar buffers, relying on the worker's persistent-processor continuity for sample-clean seams.]]></description>
<content:encoded><![CDATA[<p>THE root cause of the travel clicks, proven with the Faust click monitor + CPU throttling: the stem cache butt-spliced consecutive per-bar buffers, relying on the worker's persistent-processor continuity for sample-clean seams.</p>
<ul><li>Fix 1 — equal-power crossfade at every NON-continuous seam: on a reset/vamp/fallback the incoming bar starts ~6ms early and its head fades in (cos/sin) while the outgoing tail fades out, turning the step into…</li><li>deterministic fixed path, stems-ON vs stems-OFF: hard-jumps(&gt;0.9) 0 vs 0, totals ~equal (program content only) — cache adds no clicks.</li><li>FORCED 10 resets mid-travel: 0 hard jumps, 0 near any reset — the crossfade masks the exact discontinuity that used to click.</li><li>natural resets 0/run (was 2-5). Transparency: stationary corr 0.9994-1.0. engine.test ALL PASS; stem-parity byte-exact (worker untouched); node --check clean.</li></ul>
<p><em>Verified:</em> (playwright + 4× CPU throttle, Faust clickmon):</p>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=4148&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/e1f8b234243458caf182a1e313864ba7f2219058">e1f8b23</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/e1f8b234243458caf182a1e313864ba7f2219058</comments>
</item>
<item>
<title>Faust click monitor: always-on discontinuity detector + console metadata</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=1991&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">0ad5c9cf9d3d138de56ac3153a200045afa83107</guid>
<pubDate>Mon, 06 Jul 2026 19:57:48 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[Paul: "filter the audio in-browser live for click detection in Faust ... log click data to console with metadata." faust/dsp/clickmon.dsp is a sink-style monitor (process = _ <: attach(_, metrics)]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;filter the audio in-browser live for click detection in Faust ... log click data to console with metadata.&quot; faust/dsp/clickmon.dsp is a sink-style monitor (process = _ &lt;: attach(_, metrics)</p>
<ul><li>live.js polls at 220ms and on any new click console.logs 🔊CLICK with full context: genre, bar, awakeCost/ceiling, loadRatio, eco, nodes, stem state (misses/vamps/fallbacks/resets/headroom), and the last 8…</li><li>Used it immediately (playwright): stationary = 0 clicks (peakjump 0.13), travel = real discontinuities (peakjump 1.357).</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=1991&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — the brightest, most processed corner of the space</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0ad5c9cf9d3d138de56ac3153a200045afa83107">0ad5c9c</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0ad5c9cf9d3d138de56ac3153a200045afa83107</comments>
</item>
<item>
<title>Stems are the DEFAULT now: always pre-render, 4-bar runway, rate shown</title>
<link>https://stellate.app/?genre=bebop&amp;seed=7046&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">eaf337aefedbb245fca80eeaa6d3b102d04214c9</guid>
<pubDate>Mon, 06 Jul 2026 19:31:21 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[Paul: "always cache as default — the system has no concept of 'live' so we can always pre-render... cut it to four bars, we have plenty of headroom." The stopped click-hunt agent confirmed the premise: stationary genres are CLEAN (0 clicks); clicks appear during TRAVEL — i.e.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;always cache as default — the system has no concept of 'live' so we can always pre-render... cut it to four bars, we have plenty of headroom.&quot; The stopped click-hunt agent confirmed the premise: stationary genres are CLEAN (0 clicks); clicks appear during TRAVEL — i.e.</p>
<ul><li>explorer: ?stems now DEFAULT ON; ?stems=0 is the escape hatch to the byte-identical classic all-live path.</li><li>live.js: the pre-render runway is denominated in CHORD BARS (opts.stemBars, default 4) and computed from live bpm each pass (stemLooka()), replacing the flat ~10s</li><li>the ⬡ readout shows the STEMS rate by default (was only when active, which now means always). CPU ⚡% already always-on.</li></ul>
<p><em>Verified:</em> headless: default =&gt; stems active, readout &quot;⚡13% 1.00× ⬡7:8/8 STEMS 7.0×&quot;, 0 errors; ?stems=0 =&gt; stem handle null, classic path, 0 errors.</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=7046&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/eaf337aefedbb245fca80eeaa6d3b102d04214c9">eaf337a</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/eaf337aefedbb245fca80eeaa6d3b102d04214c9</comments>
</item>
<item>
<title>⚡ CPU monitor in the ⬡ readout: DSP load as % of budget</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=3962&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">a782d7aab92711341c9d4a9f5fdceaa950dadc52</guid>
<pubDate>Mon, 06 Jul 2026 19:17:33 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[The little readout gains a ⚡NN% figure: the DSP LOAD — sum of SE.COST over the AWAKE (computing) worklets as a percent of SE.BUDGET (40 cost units = the mobile-safety ceiling, 100% = about to fall over).]]></description>
<content:encoded><![CDATA[<p>The little readout gains a ⚡NN% figure: the DSP LOAD — sum of SE.COST over the AWAKE (computing) worklets as a percent of SE.BUDGET (40 cost units = the mobile-safety ceiling, 100% = about to fall over).</p>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=3962&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a782d7aab92711341c9d4a9f5fdceaa950dadc52">a782d7a</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a782d7aab92711341c9d4a9f5fdceaa950dadc52</comments>
</item>
<item>
<title>Grand tour rides BETWEEN genres: waypoints at inter-genre midpoints</title>
<link>https://stellate.app/?genre=dancepop&amp;seed=8401&amp;path=1829.2992,1237.17819&amp;xdur=0.051</link>
<guid isPermaLink="false">14322441d44e13d4824b905355452d735fc5d6d0</guid>
<pubDate>Mon, 06 Jul 2026 18:48:37 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>dancepop</category>
<category>afrobeat</category>
<category>synth</category>
<description><![CDATA[Correcting the prior read — Paul wanted the LINES in the gaps, not the numbers moved. Reverted the numbered badges to the original centered discs, and moved the waypoints themselves: the energy-weighted walk now picks 9 genre ANCHORS and the 8 waypoints are the midpoints between consecutive anchors.]]></description>
<content:encoded><![CDATA[<p>Correcting the prior read — Paul wanted the LINES in the gaps, not the numbers moved. Reverted the numbered badges to the original centered discs, and moved the waypoints themselves: the energy-weighted walk now picks 9 genre ANCHORS and the 8 waypoints are the midpoints between consecutive anchors.</p>
<p><em>Verified:</em> updated: waypoints are midpoints (no genre name), so count is wp.length (6-9 tolerance), anchors = waypoints+1 and stay unique, and the delete test identifies the removed waypoint by…</p>
<p><a href="https://stellate.app/?genre=dancepop&amp;seed=8401&amp;path=1829.2992,1237.17819&amp;xdur=0.051">▶ Play it: Confetti Escape Velocity → Polyrhythm Senate — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/14322441d44e13d4824b905355452d735fc5d6d0">1432244</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/14322441d44e13d4824b905355452d735fc5d6d0</comments>
</item>
<item>
<title>Grand tour: 8 short steps, numbers beside genres, afrobeat off the map</title>
<link>https://stellate.app/?genre=afrobeat&amp;seed=5137&amp;path=1237.17797,1256.17830,1218.17830&amp;xdur=13.122</link>
<guid isPermaLink="false">be2bea91148174cdf3e04cbb01b4612f58252b10</guid>
<pubDate>Mon, 06 Jul 2026 18:34:58 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>afrobeat</category>
<category>synth</category>
<description><![CDATA[Three map/tour changes (Paul 2026-07-06):]]></description>
<content:encoded><![CDATA[<p>Three map/tour changes (Paul 2026-07-06):</p>
<ul><li>8 waypoints (down from 10-16) and each hop reaches half as far (TOUR_MAXLEG 90-&gt;45, MINLEG 24-&gt;12) — a tighter, more local journey of shorter steps.</li><li>The numbered badges no longer sit ON the genre stars. Straight leg-lines can only pass THROUGH the genres if the vertices ARE the genres, so the path still threads vertex-to-vertex through the true star…</li><li>afrobeat removed from the star map (POS) — gone from chart, tours and journeys. Kernel catalog entry kept (still renderable via CLI/press); say the word to purge it there too.</li><li>default-path gate PASS (8 stops, legs 29-43px, delete/drag/ride green, 0 errors); screenshot-verified.</li></ul>
<p><a href="https://stellate.app/?genre=afrobeat&amp;seed=5137&amp;path=1237.17797,1256.17830,1218.17830&amp;xdur=13.122">▶ Play it: Polyrhythm Senate — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/be2bea91148174cdf3e04cbb01b4612f58252b10">be2bea9</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/be2bea91148174cdf3e04cbb01b4612f58252b10</comments>
</item>
<item>
<title>ZERO-STATIC Stage 3: the 16-bar stem cache goes live, behind ?stems=1</title>
<link>https://stellate.app/?genre=citypop&amp;seed=6871&amp;path=1530.6199,1549.6232,1511.6232&amp;xdur=13.122</link>
<guid isPermaLink="false">8bc625f7edb4f09a6e49d7cf63ac21cfb7136016</guid>
<pubDate>Mon, 06 Jul 2026 16:19:19 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>harmony</category>
<description><![CDATA[The heavy synthesis (CACHED = unitCost>=2.0: dx7 fleet, supersaw leads, juno60/vp330/hammond/... pads + their inserts) renders one chord-bar ahead in a Web Worker via the byte-exact stem-worker; bass/drums/stab/ sfx/found stay live.]]></description>
<content:encoded><![CDATA[<p>The heavy synthesis (CACHED = unitCost&gt;=2.0: dx7 fleet, supersaw leads, juno60/vp330/hammond/... pads + their inserts) renders one chord-bar ahead in a Web Worker via the byte-exact stem-worker; bass/drums/stab/ sfx/found stay live.</p>
<ul><li>Deadline-miss ladder (ZERO-STATIC §4), failure = repetition never noise: a bar's stems late by t0-1s -&gt; RUNG 1 vamp the previous bar's buffers (50ms seam)</li><li><strong>DORMANT WHEN OFF</strong> — stem stays null unless opts.stems; every new branch keys off stemsOn (=stem&amp;&amp;healthy()), LOOKAHEAD stays classic, ensurePool is byte-identical without wantN.</li><li>A/B, stationary heavy genres (the target case): awake cost ~halved (citypop 9.1-&gt;4.4), underruns better (0.94-&gt;0.19), layer RMS corr 0.998, sentinel 0, worker headroom 280-650x, all 92 genres' dx7 algs in…</li></ul>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=6871&amp;path=1530.6199,1549.6232,1511.6232&amp;xdur=13.122">▶ Play it: Neon Fiscal Year — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/8bc625f7edb4f09a6e49d7cf63ac21cfb7136016">8bc625f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/8bc625f7edb4f09a6e49d7cf63ac21cfb7136016</comments>
</item>
<item>
<title>Grand tour leans dancey: energy-weighted waypoint walk</title>
<link>https://stellate.app/?genre=mallsoft&amp;seed=9976&amp;path=1873.8827,2133.13956,2141.12627&amp;xdur=0.146</link>
<guid isPermaLink="false">0f2d96d87524ca7fffb7f254653ee20f713f8d65</guid>
<pubDate>Mon, 06 Jul 2026 15:30:52 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>mallsoft</category>
<category>atlantidrone</category>
<category>sourdough</category>
<category>drums</category>
<description><![CDATA[The boot tour random-walked all 92 stars unweighted, so ~1/3 of stops landed on wash anchors (the fictional-genre expansion flooded the low-energy half). Now each genre gets a derived ENERGY score = 0.6*bpmMid + 0.4*(non-off kit fraction)]]></description>
<content:encoded><![CDATA[<p>The boot tour random-walked all 92 stars unweighted, so ~1/3 of stops landed on wash anchors (the fictional-genre expansion flooded the low-energy half). Now each genre gets a derived ENERGY score = 0.6*bpmMid + 0.4*(non-off kit fraction)</p>
<ul><li>8 fresh tours: 84.3% groovy stops vs 64.1% unweighted — a clear energy shift while keeping per-load variety and down/up arcs.</li></ul>
<p><a href="https://stellate.app/?genre=mallsoft&amp;seed=9976&amp;path=1873.8827,2133.13956,2141.12627&amp;xdur=0.146">▶ Play it: Atrium Standing Wave → Hadal Vespers → Mother Culture Vigil — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0f2d96d87524ca7fffb7f254653ee20f713f8d65">0f2d96d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0f2d96d87524ca7fffb7f254653ee20f713f8d65</comments>
</item>
<item>
<title>Envelope declick: micro-ramp the DX7 velocity + pingpong-send gain steps</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=1485&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">db6f700d69c9040f2574f3151ded9bda0c775e8d</guid>
<pubDate>Mon, 06 Jul 2026 15:30:52 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[Paul's hunch confirmed: two instantaneous native-gain STEPS were amplitude discontinuities on possibly-ringing voices, independent of CPU load. (1) The DX7 per-note velocity set v.out.gain by setValueAtTime, so a retrigger jumped the prior note's still-ringing release tail]]></description>
<content:encoded><![CDATA[<p>Paul's hunch confirmed: two instantaneous native-gain STEPS were amplitude discontinuities on possibly-ringing voices, independent of CPU load. (1) The DX7 per-note velocity set v.out.gain by setValueAtTime, so a retrigger jumped the prior note's still-ringing release tail</p>
<ul><li>Fix 3 (discrete wave/type/voices enum steps on sounding voices) left in place, documented: an a-rate selector can't micro-ramp, and deferring to gate-off breaks mono-legato voices that hold the gate high…</li><li>engine.test ALL PASS; soak gate PASS, workletTruth converges. The steps sit on ~-15dB tails, below the sentinel's discontinuity threshold</li></ul>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=1485&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/db6f700d69c9040f2574f3151ded9bda0c775e8d">db6f700</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/db6f700d69c9040f2574f3151ded9bda0c775e8d</comments>
</item>
<item>
<title>stem-worker: byte-exact pad parity — the bar-seam double-render is gone</title>
<link>https://stellate.app/?genre=bebop&amp;seed=9330&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">0dc95902c45322ea2f5b6a301a47fe52174fd6e3</guid>
<pubDate>Mon, 06 Jul 2026 15:30:52 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[The pads diverged (corr 0.94) because the old worker rendered each bar in isolation: bar N's final block (the s-BS declick pre-roll of bar N+1's downbeat) was rendered once with STALE params, then double-rendered as bar N+1's discarded pre-roll]]></description>
<content:encoded><![CDATA[<p>The pads diverged (corr 0.94) because the old worker rendered each bar in isolation: bar N's final block (the s-BS declick pre-roll of bar N+1's downbeat) was rendered once with STALE params, then double-rendered as bar N+1's discarded pre-roll</p>
<ul><li>Fix: split the walk into ingest (queue a bar's events) and render (windowed block walk), driven as a one-bar pipeline</li><li>Parity now BYTE-EQUAL (corr 1.000000, maxΔ 0) on every bus across four states incl. added cached-dx7-lead and cached-supersaw-lead cases. render-core/press untouched; engine.test ALL PASS. ~3.4x realtime.</li></ul>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=9330&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0dc95902c45322ea2f5b6a301a47fe52174fd6e3">0dc9590</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0dc95902c45322ea2f5b6a301a47fe52174fd6e3</comments>
</item>
<item>
<title>Stage 3 scaffolding: CBEATS chord-bar refactor + stem classing + dormant worker (WIP)</title>
<link>https://stellate.app/?genre=mallsoft&amp;seed=9331&amp;path=1873.8805,1892.8838,1854.8838&amp;xdur=13.122</link>
<guid isPermaLink="false">9667165bcdf905d04cd75689e133d6ff08d98531</guid>
<pubDate>Mon, 06 Jul 2026 15:10:45 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>mallsoft</category>
<category>sampler</category>
<description><![CDATA[The verified, inert groundwork for the 16-bar stem cache:]]></description>
<content:encoded><![CDATA[<p>The verified, inert groundwork for the 16-bar stem cache:</p>
<ul><li>state-engine stemClass(units): CACHED = unitCost &gt;= 2.0 (dx7 fleet, supersaw leads, heavy pads + their inserts — R7's steady-state cost); LIVE = bass/drums/stab/sfx/vocoder/sampler/mono-legato.</li><li>live.js CBEATS refactor: the three hardcoded `8`s (bar window, beatAbs, nextTime advance) now route through Math.max(2,round(chordEvery||8)), matching csd-engine buildEvents</li><li>LOOKAHEAD widens to ~10s only under opts.stems; `stem` handle is null-safe and dormant. onBar's stemRepeat flag is scaffolding.</li><li>faust/stem-worker.js + stem-parity-test.js: WIP — worker renders CACHED units through render-core with persistent per-unit offline processors</li></ul>
<p><em>Verified:</em> green: engine.test ALL PASS, validate-genres --quick PASS, matrix untouched.</p>
<p><a href="https://stellate.app/?genre=mallsoft&amp;seed=9331&amp;path=1873.8805,1892.8838,1854.8838&amp;xdur=13.122">▶ Play it: Atrium Standing Wave — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9667165bcdf905d04cd75689e133d6ff08d98531">9667165</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9667165bcdf905d04cd75689e133d6ff08d98531</comments>
</item>
<item>
<title>MAKE IT MOVE: energy-preserving blends + the dancey genres get their own vocabulary back</title>
<link>https://stellate.app/?genre=deephouse&amp;seed=7386&amp;path=1157.21707,859.9931,1405.21491&amp;xdur=0.063</link>
<guid isPermaLink="false">8db1ee82e07c3024234f4e389da08bba66e032f2</guid>
<pubDate>Mon, 06 Jul 2026 14:56:58 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>deephouse</category>
<category>synthwave</category>
<category>acidhouse</category>
<category>harmony</category>
<description><![CDATA[Paul: "we seem to be exclusively super downtempo." Census verdict: no blend bug — statistical dilution. 35% of the map's melody mass was off/sparse; the arp family had 14%; and the dancey anchors themselves under-requested their vocabulary (acidhouse's lead pool was 67% off/sparse]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;we seem to be exclusively super downtempo.&quot; Census verdict: no blend bug — statistical dilution. 35% of the map's melody mass was off/sparse; the arp family had 14%; and the dancey anchors themselves under-requested their vocabulary (acidhouse's lead pool was 67% off/sparse</p>
<ul><li>resolveMulti pattern draws are now ENERGY-PRESERVING: a blend inherits the clearly-dancier parent's bass/lead pool once that parent carries weight &gt;= 0.35 (mallsoft .65 x deephouse .35 now keeps…</li><li>13 genres' pattern pools upgraded (acidhouse sixteenths+double, deephouse rolling+arps, synthwave/darksynth arp16, house/disco/edm/ garage/citypop/miamibass arp floors). techno keeps its off — that IS techno.</li><li>4000-blend monte carlo: off/sparse leads 34.4% -&gt; 24.3%, moving leads 46 -&gt; 59.3%, dancey bass 51.5 -&gt; 63.9%. Gates: determinism PASS, matrix 92/92 diagonal-dominant, vocabulary PASS, engine.test PASS.</li></ul>
<p><a href="https://stellate.app/?genre=deephouse&amp;seed=7386&amp;path=1157.21707,859.9931,1405.21491&amp;xdur=0.063">▶ Play it: Benthic Concierge → Highway Heat Death → Titration Rapture — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/8db1ee82e07c3024234f4e389da08bba66e032f2">8db1ee8</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/8db1ee82e07c3024234f4e389da08bba66e032f2</comments>
</item>
<item>
<title>ZERO-STATIC stage 2: the prewarm burst was the miamibass click, cost is the unit of harm</title>
<link>https://stellate.app/?genre=miamibass&amp;seed=4884&amp;path=1021.15403,289.13893&amp;xdur=0.447</link>
<guid isPermaLink="false">f5646ecc4914c91cd208baa54aa5d92a13e14ec3</guid>
<pubDate>Mon, 06 Jul 2026 14:30:15 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>miamibass</category>
<category>dinosynth</category>
<category>bass</category>
<description><![CDATA[Miami Bass "9:15/8 + clicking" diagnosed: NOT an accounting leak — 15 nodes is the legitimate protected set of a 10-unit genre (playing music wins over the cap, by contract).]]></description>
<content:encoded><![CDATA[<p>Miami Bass &quot;9:15/8 + clicking&quot; diagnosed: NOT an accounting leak — 15 nodes is the legitimate protected set of a 10-unit genre (playing music wins over the cap, by contract).</p>
<ul><li>2.1 prewarm is now a load-gated drip: 1 module per 2s, only while loadRatio &gt; 0.97, instance destroyed 500ms after registration, modules already built by real pools skipped.</li><li>Miamibass stationary A/B: underruns 174/Σ2.90 -&gt; 1/Σ0.021 (fair-load), sentinel 0 both sides, prewarm burst gone from the cold window.</li></ul>
<p><a href="https://stellate.app/?genre=miamibass&amp;seed=4884&amp;path=1021.15403,289.13893&amp;xdur=0.447">▶ Play it: Richter Scale Cookout → Cretaceous Vespers — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/f5646ecc4914c91cd208baa54aa5d92a13e14ec3">f5646ec</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/f5646ecc4914c91cd208baa54aa5d92a13e14ec3</comments>
</item>
<item>
<title>default-path gate: mouse mirror catches up to the 720x520 star chart</title>
<link>https://stellate.app/?genre=jungle&amp;seed=5995&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">6b41a8236197ca3d433b4d6090c1272248670591</guid>
<pubDate>Mon, 06 Jul 2026 14:29:24 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>drums</category>
<description><![CDATA[The waypoint delete/drag assertions failed not because explorer broke but because 2be4473 grew the logical canvas 500x400 -> 720x520 (the Eastern continent) and updated explorer's three coordinate sites while the gate's screen-coord mirror kept dividing by 500/400]]></description>
<content:encoded><![CDATA[<p>The waypoint delete/drag assertions failed not because explorer broke but because 2be4473 grew the logical canvas 500x400 -&gt; 720x520 (the Eastern continent) and updated explorer's three coordinate sites while the gate's screen-coord mirror kept dividing by 500/400</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=5995&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — the genre that is mostly drums, so the kit has nowhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/6b41a8236197ca3d433b4d6090c1272248670591">6b41a82</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/6b41a8236197ca3d433b4d6090c1272248670591</comments>
</item>
<item>
<title>THE BIRDS GO HOME: loon to Canada, iriomote benched, beds open seeded</title>
<link>https://stellate.app/?genre=crickettempo&amp;seed=6473&amp;path=762.8634,1505.3720,1315.6203&amp;xdur=0.151</link>
<guid isPermaLink="false">d0fba80191baea5f0b4c9f1151a5e7ea732c75e1</guid>
<pubDate>Mon, 06 Jul 2026 14:29:24 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>crickettempo</category>
<category>canawave</category>
<category>surfrock</category>
<category>found</category>
<description><![CDATA[Paul: "make birds much more rare... they're really only for canadians." The loon plays ONLY in canawave (its vol .035 whisper, as designed). iriomote — the bird-heavy island ambience that impersonated a loon across a dozen genres — leaves every pool (catalog entry benched).]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;make birds much more rare... they're really only for canadians.&quot; The loon plays ONLY in canawave (its vol .035 whisper, as designed). iriomote — the bird-heavy island ambience that impersonated a loon across a dozen genres — leaves every pool (catalog entry benched).</p>
<ul><li>Plus: the bed rotation opens at a seeded index (Knuth hash of seed, no rng draw consumed) instead of always sources[0] — intros stop deterministically leading with the same recording across seeds.</li></ul>
<p><em>Verified:</em> determinism byte-stable x92, matrix 92/92 diagonal-dominant, vocabulary 0 dangling, engine.test ALL PASS.</p>
<p><a href="https://stellate.app/?genre=crickettempo&amp;seed=6473&amp;path=762.8634,1505.3720,1315.6203&amp;xdur=0.151">▶ Play it: Chirp Thermometry → Loon Referendum → Undertow Sock Hop — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/d0fba80191baea5f0b4c9f1151a5e7ea732c75e1">d0fba80</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/d0fba80191baea5f0b4c9f1151a5e7ea732c75e1</comments>
</item>
<item>
<title>found-player: one looping bed buffer (-92% grain churn) + the loon fixes</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=7443&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">d49bbdbbca206ce517c90cecac3e77644354744c</guid>
<pubDate>Mon, 06 Jul 2026 14:29:00 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[Stage 2.4: the granular bed's ~28 src+gain pairs/sec collapse into ONE looping AudioBufferSourceNode — the grain cloud renders once via the mixPCM math (extracted as mixGrains, byte-parity kept for press) in idle-time slices, LRU-cached (6), crossfaded in from the legacy scheduler on first hearing…]]></description>
<content:encoded><![CDATA[<p>Stage 2.4: the granular bed's ~28 src+gain pairs/sec collapse into ONE looping AudioBufferSourceNode — the grain cloud renders once via the mixPCM math (extracted as mixGrains, byte-parity kept for press) in idle-time slices, LRU-cached (6), crossfaded in from the legacy scheduler on first hearing…</p>
<ul><li>The loon fixes (Paul: &quot;fix the loons... they're really only for canadians&quot;): (1) the spokenword quiet-boost is now SPEECH-GATED — median F0 in 70-350Hz + voicedness</li></ul>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=7443&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/d49bbdbbca206ce517c90cecac3e77644354744c">d49bbdb</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/d49bbdbbca206ce517c90cecac3e77644354744c</comments>
</item>
<item>
<title>render-core: press's per-unit walk extracted, byte-parity proven</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=9171&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">b3273cf383d5eedafd432f7e981509f443dc0a41</guid>
<pubDate>Mon, 06 Jul 2026 14:29:00 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[The Stage 3 prerequisite (ZERO-STATIC.md): the pure-compute render loop (param walks, proc.render block loops, mono-legato, insert chains, merged active intervals) moves to faust/render-core.js]]></description>
<content:encoded><![CDATA[<p>The Stage 3 prerequisite (ZERO-STATIC.md): the pure-compute render loop (param walks, proc.render block loops, mono-legato, insert chains, merged active intervals) moves to faust/render-core.js</p>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=9171&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b3273cf383d5eedafd432f7e981509f443dc0a41">b3273cf</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b3273cf383d5eedafd432f7e981509f443dc0a41</comments>
</item>
<item>
<title>ZERO-STATIC stages 0+1: kill the last zombies, instrument the truth, hygiene the render window</title>
<link>https://stellate.app/?genre=jungle&amp;seed=4391&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">405c1c5779c8fa218e69faffe1eadd748953f941</guid>
<pubDate>Mon, 06 Jul 2026 13:30:23 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>drums</category>
<description><![CDATA[The 12-agent verdict on "is it too many effects?": no — it was two more zombie-worklet leaks (retire() and insert type-change teardown disconnected without destroy(), so every reverb-color/insert swap during travel leaked a forever-computing worklet invisible to countWorklets), plus four…]]></description>
<content:encoded><![CDATA[<p>The 12-agent verdict on &quot;is it too many effects?&quot;: no — it was two more zombie-worklet leaks (retire() and insert type-change teardown disconnected without destroy(), so every reverb-color/insert swap during travel leaked a forever-computing worklet invisible to countWorklets), plus four…</p>
<ul><li>faust/sentinel-processor.js: click/gap/peak sentinel on the audio thread, adaptive click bar (instant-attack/4s-release peak hold over block max-delta — square program raises its own bar</li><li>zombie registry (workletTruth: created/destroyed/alive vs counted) + 2048-entry structural-event journal, always on; sentinel + renderCapacity/playbackStats underrun truth behind ?debugSentinel=1</li><li>soak-travel-run.js: --minutes/--throttle/--gate, per-leg click-&gt; mechanism attribution histograms (nearest journal event ±2.5s)</li><li>destroy-on-retire for color/mb/insert-chain teardowns (the R1 fix)</li></ul>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=4391&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — the genre that is mostly drums, so the kit has nowhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/405c1c5779c8fa218e69faffe1eadd748953f941">405c1c5</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/405c1c5779c8fa218e69faffe1eadd748953f941</comments>
</item>
<item>
<title>Tectonic SLOTH: 64 — transforms you can never catch moving</title>
<link>https://stellate.app/?genre=dubstep&amp;seed=3624&amp;path=1379.18226,1398.18259,1360.18259&amp;xdur=13.122</link>
<guid isPermaLink="false">8356bc684a40211d0852cfde5073639be178a299</guid>
<pubDate>Mon, 06 Jul 2026 13:30:01 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>dubstep</category>
<category>bass</category>
<description><![CDATA[Paul: "EVEN SLOWER, like 1/4th that slow. They shouldn't be obvious." Every zoom/squeeze/lean/wobble now runs 4x slower again; the chaos scheduler self-spaces 4x wider to match; crossfades stay pinned at the 8s FADE_CAP so a dissolve still finishes inside the switch window.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;EVEN SLOWER, like 1/4th that slow. They shouldn't be obvious.&quot; Every zoom/squeeze/lean/wobble now runs 4x slower again; the chaos scheduler self-spaces 4x wider to match; crossfades stay pinned at the 8s FADE_CAP so a dissolve still finishes inside the switch window.</p>
<p><a href="https://stellate.app/?genre=dubstep&amp;seed=3624&amp;path=1379.18226,1398.18259,1360.18259&amp;xdur=13.122">▶ Play it: Seismic Ultimatum — the genre that is mostly bass</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/8356bc684a40211d0852cfde5073639be178a299">8356bc6</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/8356bc684a40211d0852cfde5073639be178a299</comments>
</item>
<item>
<title>Kill the zombie worklets: destroy-on-retire, cap 8, voice sleep/wake</title>
<link>https://stellate.app/?genre=dinosynth&amp;seed=2671&amp;path=289.13871,308.13904,270.13904&amp;xdur=13.122</link>
<guid isPermaLink="false">ce74176f001a18b4bfb936bff18e0ec227c9f637</guid>
<pubDate>Mon, 06 Jul 2026 11:22:06 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>dinosynth</category>
<category>harmony</category>
<description><![CDATA[Paul's desktop clicks, root-caused: audio-thread render-budget exhaustion from worklets that NEVER STOP COMPUTING. Three mechanisms:]]></description>
<content:encoded><![CDATA[<p>Paul's desktop clicks, root-caused: audio-thread render-budget exhaustion from worklets that NEVER STOP COMPUTING. Three mechanisms:</p>
<ul><li>1. ZOMBIES (the big one): retirePool only DISCONNECTED nodes — a Faust worklet whose process() returns true keeps computing after disconnection, forever, per spec.</li><li>The regime, layered: destroy-on-retire kills zombies at the source; an idle reaper tears down off-genre pools after 16 bars (&lt;=3/bar at bar boundaries)</li><li>The proof: the identical 29-station tour that drove eco-mode to level 3 by station 18 (load dips 0.85, heap 22-&gt;95MB, clicks rising) now runs load 1.000 flat, eco 0, clicks 0.1, 0 errors, node curve…</li><li>Meter upgraded: &quot;1.00x 8:8/8&quot; = load, computing:resident/cap — Paul's 2-3-active observation is now literally the first number.</li></ul>
<p><em>Verified:</em> BEFORE/FINAL curves; cap-pin@8 torture (24 harvests, music voiced 11/11, revisit identical); cap8 tour returns to &lt;=8 idle; standing single-genre soak sample-equal to baseline</p>
<p><a href="https://stellate.app/?genre=dinosynth&amp;seed=2671&amp;path=289.13871,308.13904,270.13904&amp;xdur=13.122">▶ Play it: Cretaceous Vespers — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/ce74176f001a18b4bfb936bff18e0ec227c9f637">ce74176</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/ce74176f001a18b4bfb936bff18e0ec227c9f637</comments>
</item>
<item>
<title>Deeper, slower, more twisted: RATE .35, SLOTH 16, DRAMA 1.6</title>
<link>https://stellate.app/?genre=ambient&amp;seed=6535&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122</link>
<guid isPermaLink="false">d769f55ffd5d3aa45f50d66239861c3f23b6e105</guid>
<pubDate>Mon, 06 Jul 2026 04:58:52 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>mobile</category>
<description><![CDATA[Paul: "Slow the video and the effects even more. Make the effects more dramatic, since they're now going so slow it feels organic.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;Slow the video and the effects even more. Make the effects more dramatic, since they're now going so slow it feels organic.</p>
<ul><li>Footage now plays at 0.35x through the defaultPlaybackRate law (cue windows are media-time so loops are unaffected; 15-45s windows = 42-128s of wall-time dream per clip).</li><li>SEVEN new twisted events: lean (the marquee — the whole frame tilts 25-90 degrees and back over its long life, with an exact never-expose cover scale |cos t| + AR|sin t| held for the sweep), persplean (3D tilt…</li><li>Scanlines: the single hum band becomes THREE stacked soft bands (46/22/66vh) drifting at different speeds and phases, higher contrast, bolder soft-ramp texture — thicker but still analog, no digital grid.</li><li>Mid-flight fix that mattered: multi-cycle warps at SLOTH 16 ballooned to 1-2 minute events starving the scheduler — step timing re-derived from a 15-30s target so they read geological without squatting.</li></ul>
<p><em>Verified:</em> lean 3-point capture with zero corner exposure at 79 degrees; every new event fired with logged transforms; never-unwatchable spot-checks on bright + dark clips</p>
<p><a href="https://stellate.app/?genre=ambient&amp;seed=6535&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122">▶ Play it: Stationary Weather — a long-form genre — put the phone in your pocket and it keeps playing</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/d769f55ffd5d3aa45f50d66239861c3f23b6e105">d769f55</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/d769f55ffd5d3aa45f50d66239861c3f23b6e105</comments>
</item>
<item>
<title>The footage is ALWAYS slow; glyphs fade in and out</title>
<link>https://stellate.app/?genre=techno&amp;seed=2470&amp;path=1956.22436,1718.20526,1679.4415&amp;xdur=0.042</link>
<guid isPermaLink="false">9433eeee6582d9b5ebf6f0f8fd96ed0626a4e4b5</guid>
<pubDate>Mon, 06 Jul 2026 04:08:56 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>techno</category>
<category>jungle</category>
<category>vaporwave</category>
<category>visual</category>
<description><![CDATA[Paul: "The video isn't always slow any more. It should always be very slowed down" + "Glyphs should fade in and out."]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;The video isn't always slow any more. It should always be very slowed down&quot; + &quot;Glyphs should fade in and out.&quot;</p>
<ul><li><strong>THE RATE RACE</strong> — playbackRate was set immediately after src=, but the media load algorithm resets playbackRate to defaultPlaybackRate when the new source loads</li><li><strong>GLYPH FADES</strong> — roaming idents are born at opacity 0 and carry an opacity ease (30% of life, capped 3.2s) alongside their drift</li></ul>
<p><a href="https://stellate.app/?genre=techno&amp;seed=2470&amp;path=1956.22436,1718.20526,1679.4415&amp;xdur=0.042">▶ Play it: Unblinking Interval → Barometric Stampede → Food Court Eternity — a three-star constellation to watch the map work</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9433eeee6582d9b5ebf6f0f8fd96ed0626a4e4b5">9433eee</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9433eeee6582d9b5ebf6f0f8fd96ed0626a4e4b5</comments>
</item>
<item>
<title>Roaming glyphs + the analog scanline</title>
<link>https://stellate.app/?genre=ambient&amp;seed=1486&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122</link>
<guid isPermaLink="false">264fea1ed09d8200d9da0188e9c5f59d5e7e0b72</guid>
<pubDate>Mon, 06 Jul 2026 04:05:16 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>mobile</category>
<description><![CDATA[Paul: "Glyphs should appear all over the place and move around... different sizes" + "the multi-line scanline is too much and too obviously digital."]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;Glyphs should appear all over the place and move around... different sizes&quot; + &quot;the multi-line scanline is too much and too obviously digital.&quot;</p>
<ul><li><strong>GLYPHS</strong> — the single anchored ident is now a pooled swarm (4 desktop / 3 mobile, zero DOM churn). Each spawn: random position frame-wide with size-aware clip insets, sizes from 2.6vmin ticker to 24vmin quarter-screen…</li><li><strong>SCANLINE</strong> — the dense 1px repeating-gradient grid is deleted. In its place the classic analog vertical-blanking bar</li><li>0 console errors both tiers; audio smoke PASS; 38 distinct glyph positions / 17 sizes observed desktop, 27/16 mobile.</li></ul>
<p><a href="https://stellate.app/?genre=ambient&amp;seed=1486&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122">▶ Play it: Stationary Weather — a long-form genre — put the phone in your pocket and it keeps playing</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/264fea1ed09d8200d9da0188e9c5f59d5e7e0b72">264fea1</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/264fea1ed09d8200d9da0188e9c5f59d5e7e0b72</comments>
</item>
<item>
<title>THE CATALOG GOES TO 92: 29 fictional genres join the vector space</title>
<link>https://stellate.app/?genre=zubrovia&amp;seed=9371&amp;path=364.17761,2191.9087,2001.24486&amp;xdur=0.048</link>
<guid isPermaLink="false">61ba0e8b58d610be0a2a57c92dd01977fd5694dc</guid>
<pubDate>Mon, 06 Jul 2026 03:47:46 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>zubrovia</category>
<category>airtrafficdrone</category>
<category>aldente</category>
<category>voice</category>
<description><![CDATA[Paul's commission ("30 more, totally ridiculous fictional genres") lands: 29 inserted via genre-tool, every one self-scoring 100/100 with measured targets, matrix 92/92 diagonal-dominant, and the star chart expanded (logical canvas 500x400 -> 720x520) to hold the Eastern continent and Southern shore…]]></description>
<content:encoded><![CDATA[<p>Paul's commission (&quot;30 more, totally ridiculous fictional genres&quot;) lands: 29 inserted via genre-tool, every one self-scoring 100/100 with measured targets, matrix 92/92 diagonal-dominant, and the star chart expanded (logical canvas 500x400 -&gt; 720x520) to hold the Eastern continent and Southern shore…</p>
<ul><li>The roll call, drone to gabber: atlantidrone (drowned church organ, 32-bar plateaus), sourdough (fermentation as generative ambient), crtwave (the 15.7kHz flyback elegy), termswave (nobody has finished a…</li><li>magpiehouse DEFERRED with honor (spec kept as .deferred): its joke — house distinguishable only by WHICH samples it steals</li><li>Conductor discipline held: specs fixed, never the tool (per-genre fences documented — zubrovia was the worst offender, rebuilt around a narrow bedUse band after stealing six diagonals)</li></ul>
<p><em>Verified:</em> verify quick + full PASS; snare-law 460/460 clean; all 29 spot-rendered non-silent with signature crates confirmed in events; press determinism x2 byte-identical</p>
<p><a href="https://stellate.app/?genre=zubrovia&amp;seed=9371&amp;path=364.17761,2191.9087,2001.24486&amp;xdur=0.048">▶ Play it: Zubrovian Irredenta → Squawk Ineffable → Rolling Boil Plateau — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/61ba0e8b58d610be0a2a57c92dd01977fd5694dc">61ba0e8</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/61ba0e8b58d610be0a2a57c92dd01977fd5694dc</comments>
</item>
<item>
<title>SLOTH=10: the station stops twitching and starts dreaming</title>
<link>https://stellate.app/?genre=ambient&amp;seed=1282&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122</link>
<guid isPermaLink="false">b86f1f6a6cad3a53cc8453ce2e983d98309255d5</guid>
<pubDate>Mon, 06 Jul 2026 03:47:05 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>mobile</category>
<description><![CDATA[Paul: "The video transitions and effects should be 10x slower." One dial at the top of video-layer.js, applied at every motion's realization point: crossfades 1600ms -> 8s (capped at ~80% of the 8-bar window at the fastest bpm so a dissolve always completes]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;The video transitions and effects should be 10x slower.&quot; One dial at the top of video-layer.js, applied at every motion's realization point: crossfades 1600ms -&gt; 8s (capped at ~80% of the 8-bar window at the fastest bpm so a dissolve always completes</p>
<ul><li>Ten documented deviations where literal 10x breaks the dream: hsync skews now SLEW (stepped x10 = slideshow); pump eases into a slow throb; invert becomes one long wash to negative and back</li></ul>
<p><em>Verified:</em> 5/5 dissolves complete before the next switch at 187bpm; 13/13 captured events conform ~10x; three gradual-motion sequences captured (a tracking band drifting 45-&gt;778px over 7.8s)</p>
<p><a href="https://stellate.app/?genre=ambient&amp;seed=1282&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122">▶ Play it: Stationary Weather — a long-form genre — put the phone in your pocket and it keeps playing</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b86f1f6a6cad3a53cc8453ce2e983d98309255d5">b86f1f6</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b86f1f6a6cad3a53cc8453ce2e983d98309255d5</comments>
</item>
<item>
<title>Mobile broadcast parity: streaming, chaos, glyphs-only, tamed bars</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=2296&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">a144fe3056981d7a86338b9c4318ee7003ba613d</guid>
<pubDate>Mon, 06 Jul 2026 03:04:16 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Paul's mobile report, all four + the addendum:]]></description>
<content:encoded><![CDATA[<p>Paul's mobile report, all four + the addendum:</p>
<ul><li>1. ARCHIVE VIDEO ON MOBILE: the root cause of &quot;just the old stuff&quot; — the mobile path built ONE video element, so loadBack's prefetch guard (vids.length&lt;2) returned early on every prefetch and remote only ever…</li><li>Desktop unregressed (15 distinct events, 0 errors); audio smoke PASS. Honest caveat: mobile verification is emulated Chromium — the Safari risk was designed out rather than measured on-device.</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=2296&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a144fe3056981d7a86338b9c4318ee7003ba613d">a144fe3</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a144fe3056981d7a86338b9c4318ee7003ba613d</comments>
</item>
<item>
<title>Sampler apply: 11 instruments, real uprights, harpsichord Bach, sax bends</title>
<link>https://stellate.app/?genre=jazz&amp;seed=7646&amp;path=292.16891,139.12607,1679.4415&amp;xdur=0.06</link>
<guid isPermaLink="false">3dc8fb0ede9e958042beb03bdb5de7f71feff45e</guid>
<pubDate>Mon, 06 Jul 2026 03:00:32 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jazz</category>
<category>tango</category>
<category>vaporwave</category>
<category>voice</category>
<description><![CDATA[The sampler review + extraction batch, applied in full — every touched genre's margin BYTE-IDENTICAL before/after (bass and pool additions proved matrix-invisible exactly as the review predicted; nothing scaled back):]]></description>
<content:encoded><![CDATA[<p>The sampler review + extraction batch, applied in full — every touched genre's margin BYTE-IDENTICAL before/after (bass and pool additions proved matrix-invisible exactly as the review predicted; nothing scaled back):</p>
<ul><li><strong>REGISTRY</strong> — 11 new SAMPLERS (accordion, tuba, pan_flute, kalimba, glockenspiel, harpsichord, pizzicato_strings, clavinet, finger_bass, sitar, steel_drums) + the 30-genre commission's 82 SAMPLES (66 espeak lines, 16…</li><li><strong>THE UPRIGHTS</strong> — tango gains the orquesta contrabass under the habanera; lofi gets the Dilla upright; downtempo the Bristol upright (sub-fence measured, holds at .867 over the .5 floor)</li><li><strong>HISTORY</strong> — prelude leads on a real harpsichord 2/3 of seeds (it is literally Bach; felt piano remains the alternate); newjack's DX7 FUNK CLAV fake replaced by the real clavinet; tango pads gain literal pizzicato marcato</li><li><strong>CAPABILITIES</strong> — vaporwave + mallsoft pads breathe through the mellotron tape-wow (the review's strongest call — the worn-VHS move on the genre that IS worn VHS)</li></ul>
<p><em>Verified:</em> verify quick + full PASS, matrix 63/63, snare-law audit clean, press determinism byte-identical, fixture drift exactly the 9 touched genres.</p>
<p><a href="https://stellate.app/?genre=jazz&amp;seed=7646&amp;path=292.16891,139.12607,1679.4415&amp;xdur=0.06">▶ Play it: Smoke Arithmetic → Habanera Tribunal → Food Court Eternity — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/3dc8fb0ede9e958042beb03bdb5de7f71feff45e">3dc8fb0</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/3dc8fb0ede9e958042beb03bdb5de7f71feff45e</comments>
</item>
<item>
<title>Fix the building static: the media-element sink drifts — mobile-only now</title>
<link>https://stellate.app/?genre=citypop&amp;seed=9363&amp;path=1530.6221,1405.21491&amp;xdur=0.049</link>
<guid isPermaLink="false">ca11cd8be51eb418e4e1358a3252399f931c545e</guid>
<pubDate>Mon, 06 Jul 2026 02:46:13 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>acidhouse</category>
<category>bass</category>
<description><![CDATA[Paul: static builds over ~10 minutes, any genre, worse over time. The 13-15min instrumented soaks found it: the mobile background-audio route (master -> MediaStreamAudioDestinationNode -> <audio>) made the element THE output for every session, and the element's playback clock DRIFTS from the…]]></description>
<content:encoded><![CDATA[<p>Paul: static builds over ~10 minutes, any genre, worse over time. The 13-15min instrumented soaks found it: the mobile background-audio route (master -&gt; MediaStreamAudioDestinationNode -&gt; &lt;audio&gt;) made the element THE output for every session, and the element's playback clock DRIFTS from the…</p>
<ul><li>Exonerated with the same soaks: the tb303 mono-voice param timeline (13min: 0 clicks, flat noise floor), fx_bus automation, heap, node counts — all flat.</li><li>The fix: the media-element route is now MOBILE-ONLY — it exists for iOS/Android screen-lock survival, which desktop never needed; desktop reverts to the classic analyser -&gt; ctx.destination path.</li><li>KNOWN FOLLOW-UP flagged honestly: mobile long sessions still carry the drifting sink; the fix there is periodic gapless recreation of the element/stream — queued separately.</li><li>faust/soak-run.js + soak.html join the standing harnesses (the class of bug no 30-second gate can see).</li></ul>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=9363&amp;path=1530.6221,1405.21491&amp;xdur=0.049">▶ Play it: Neon Fiscal Year → Titration Rapture — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/ca11cd8be51eb418e4e1358a3252399f931c545e">ca11cd8</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/ca11cd8be51eb418e4e1358a3252399f931c545e</comments>
</item>
<item>
<title>The snare law: nothing repeats exactly more than twice, kernel-wide</title>
<link>https://stellate.app/?genre=jungle&amp;seed=6100&amp;path=1718.20526,1505.3720,1873.8827&amp;xdur=0.045</link>
<guid isPermaLink="false">9b3e6ee4cfd830fa3cbf7807fd2d6651291c5b1f</guid>
<pubDate>Mon, 06 Jul 2026 02:27:05 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>canawave</category>
<category>mallsoft</category>
<category>found</category>
<description><![CDATA[Paul: "Snare patterns tend to repeat ad nauseum... filtered, delayed, manipulated, and the rhythm should change. Nothing should repeat exactly the same more than twice.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;Snare patterns tend to repeat ad nauseum... filtered, delayed, manipulated, and the rhythm should change. Nothing should repeat exactly the same more than twice.</p>
<ul><li><strong>THE NO-THRICE RULE</strong> — each 8-beat kit cell's snare bar gets a compact signature (1/16-grid onsets + 3-level accent buckets; hats add the open flag).</li><li>FEEL-AWARE VOCABULARY via kit-family machineness: machine moves (hit drop, accent migration, on-grid sync shift, syncopation substitute</li><li>MEASURED PROPORTIONALITY, no new dimension: 176 snare fires across 315 states — blues/canawave/surfrock/jazz fire most (human moves)</li><li>Listen for: ghosts and drags creeping into the third bar of any settled blues/jazz groove; a backbeat that suddenly rings into the delay; mallsoft hat beds opening instead of looping.</li></ul>
<p><em>Verified:</em> matrix 63/63 quick+full, NO rows re-measured; determinism double-renders byte-identical x2; snare-law-run.js joins the standing gates (315/315 clean, --quick/--stats)</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=6100&amp;path=1718.20526,1505.3720,1873.8827&amp;xdur=0.045">▶ Play it: Barometric Stampede → Loon Referendum → Atrium Standing Wave — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9b3e6ee4cfd830fa3cbf7807fd2d6651291c5b1f">9b3e6ee</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9b3e6ee4cfd830fa3cbf7807fd2d6651291c5b1f</comments>
</item>
<item>
<title>ALIEN BROADCAST: the video layer becomes an insane 80s TV station</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=5682&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">f700285ad61c4e0a481fe07114271ffcb8a3c9e9</guid>
<pubDate>Mon, 06 Jul 2026 02:12:50 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Paul: "WAY glitchier and more surprising... all kinds of wackadoodle effects, often at random... an 80s TV station run by slightly insane alien AI intelligences." A chaos layer rides the 5 genre-family base grades: 21 weighted events, never twice in a row —]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;WAY glitchier and more surprising... all kinds of wackadoodle effects, often at random... an 80s TV station run by slightly insane alien AI intelligences.&quot; A chaos layer rides the 5 genre-family base grades: 21 weighted events, never twice in a row —</p>
<ul><li>analog decay (vertical-hold roll with overscan so never-black extends to never-black-edges, h-sync jolt volleys, tracking bands, chroma lurch, ghosting doubles, brightness pumping, invert/posterize blinks…</li><li>Scheduler: Poisson gaps over per-family base rates x a random-walk storm scalar (real bursts and lulls; glitch family 46.7 events/min, ambient 11.7 sparse-but-deeply-weird with weird-events biased 2.1x).</li></ul>
<p><em>Verified:</em> 20 distinct events in a 3-min glitch session; 0 back-to-back repeats (fixed a pulse-path bypass); audio live smoke PASS with the chaos running</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=5682&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/f700285ad61c4e0a481fe07114271ffcb8a3c9e9">f700285</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/f700285ad61c4e0a481fe07114271ffcb8a3c9e9</comments>
</item>
<item>
<title>Extract 11 FluidR3 instruments: the sampler-review batch</title>
<link>https://stellate.app/?genre=citypop&amp;seed=4761&amp;path=1530.6221,1832.7062,1691.14506&amp;xdur=0.09</link>
<guid isPermaLink="false">7969574915defb9feb07aba2e898c5d21fb1fa97</guid>
<pubDate>Mon, 06 Jul 2026 01:54:09 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>shibuyakei</category>
<category>psytrance</category>
<category>sampler</category>
<description><![CDATA[The sampler review found the soundfont barely tapped (29 of 128 GM programs) and five of the incoming 30 fictional genres pointing at placeholder instruments.]]></description>
<content:encoded><![CDATA[<p>The sampler review found the soundfont barely tapped (29 of 128 GM programs) and five of the incoming 30 fictional genres pointing at placeholder instruments.</p>
<ul><li>Tubular Bells REJECTED honestly: FluidR3 ships one C6 sample split across five keyranges with no root overrides — five byte-identical zone wavs (the DrawbarOrgan failure exactly)</li><li>Zone wavs on disk (gitignored, recoverable by this recipe); the SAMPLERS registry entries + genre pool repoints ride with the next kernel round (lock currently held by the snare-law crew).</li></ul>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=4761&amp;path=1530.6221,1832.7062,1691.14506&amp;xdur=0.09">▶ Play it: Neon Fiscal Year → Parfait Cosmonaut → Third Eye Turbine — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/7969574915defb9feb07aba2e898c5d21fb1fa97">7969574</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/7969574915defb9feb07aba2e898c5d21fb1fa97</comments>
</item>
<item>
<title>30-genre commission materials: 95 samples across all signature crates</title>
<link>https://stellate.app/?genre=sourdough&amp;seed=6623&amp;path=2141.12627,1276.5376&amp;xdur=0.103</link>
<guid isPermaLink="false">535ad4b7595e8b6b749a783c90055aebb55c5182</guid>
<pubDate>Mon, 06 Jul 2026 01:45:36 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>sourdough</category>
<category>microwave</category>
<category>voice</category>
<description><![CDATA[The Phase B crates for the 30 fictional genres, everything recoverable by committed recipe (wavs gitignored as always):]]></description>
<content:encoded><![CDATA[<p>The Phase B crates for the 30 fictional genres, everything recoverable by committed recipe (wavs gitignored as always):</p>
<ul><li>66 espeak speech (found/samples/speech/sp_*): the hold-music apology cast, the EULA reader, DMV window calls, elevator floors, survey prompts, the auctioneer chant, ATC read-backs, the umpire, the town crier…</li><li>16 synthesized one-shots (found/samples/hits/): DTMF digits FFT-verified to exact telephone frequencies, microwave beep, kitchen timer, gavel, handbell, degauss thump, CRT whine at the true 15734Hz NTSC…</li><li>13 beds (found/): 8 archive.org fetches with per-item license basis (NPS whale song PD, hydrophone, crickets, fermenting sourdough starter +15dB, dishwasher cycle, pigeon coo, chickadee, dryer spin) + 5…</li><li>Flags recorded in SOURCES.md: pigeon_coo (CC BY-SA 4.0) and dryer_spin (CC BY-SA 3.0) carry ShareAlike; chickadee needs attribution; lower-restriction alternatives noted if we'd rather not carry SA.</li></ul>
<p><a href="https://stellate.app/?genre=sourdough&amp;seed=6623&amp;path=2141.12627,1276.5376&amp;xdur=0.103">▶ Play it: Mother Culture Vigil → Magnetron Benediction — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/535ad4b7595e8b6b749a783c90055aebb55c5182">535ad4b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/535ad4b7595e8b6b749a783c90055aebb55c5182</comments>
</item>
<item>
<title>Wire catalog tags into the clip pools — the new footage was unreachable</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=4248&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">528faf584bde6aa3686c4fff401a54109a7ff2e0</guid>
<pubDate>Mon, 06 Jul 2026 01:29:50 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[Paul: "I don't see anything new yet." Correct: the 97 sourced avant-garde/3D windows carry their genre tags in stream-catalog.json, but the live pool builder read only the kernel's GENRE_CLIPS table — the new clips were loaded, indexed, and never selectable.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;I don't see anything new yet.&quot; Correct: the 97 sourced avant-garde/3D windows carry their genre tags in stream-catalog.json, but the live pool builder read only the kernel's GENRE_CLIPS table — the new clips were loaded, indexed, and never selectable.</p>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=4248&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/528faf584bde6aa3686c4fff401a54109a7ff2e0">528faf5</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/528faf584bde6aa3686c4fff401a54109a7ff2e0</comments>
</item>
<item>
<title>Initial load draws a grand tour: 10-16 waypoints, every leg short</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=1027&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">157d677b2deb220d943b490abf0940b1b6eed05d</guid>
<pubDate>Mon, 06 Jul 2026 01:24:43 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[Paul: "offer a much longer path with many shorter steps — it works best when traveling from one genre to another over the course of a single edge." The boot autoPath (previously 3 distant stars >=150px apart, a cross-chart jump) is now a greedy nearest-unvisited walk: 10-16 waypoints, every leg…]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;offer a much longer path with many shorter steps — it works best when traveling from one genre to another over the course of a single edge.&quot; The boot autoPath (previously 3 distant stars &gt;=150px apart, a cross-chart jump) is now a greedy nearest-unvisited walk: 10-16 waypoints, every leg…</p>
<p><em>Verified:</em> (faust/default-path-run.js, standing): shape + variety + real DOM-event edit checks + a two-leg-boundary ride with zero quiet bars and 0 errors. engine.test + live smoke PASS.</p>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=1027&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/157d677b2deb220d943b490abf0940b1b6eed05d">157d677</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/157d677b2deb220d943b490abf0940b1b6eed05d</comments>
</item>
<item>
<title>Prefetch gives remote streams the real window, not a 3.8s cap</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=7774&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">a70611865ef06f2ff4ff762ea59375e773ac6c99</guid>
<pubDate>Mon, 06 Jul 2026 01:17:41 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Re-verification finding: nextCand applied REMOTE_READY_MS (3.8s) even during a PREFETCH — the next clip starts loading a full 8-bar window early, but the timeout dropped it to local after 3.8s anyway, so a slow-but-reachable archive.org stream could never win, only fail earlier.]]></description>
<content:encoded><![CDATA[<p>Re-verification finding: nextCand applied REMOTE_READY_MS (3.8s) even during a PREFETCH — the next clip starts loading a full 8-bar window early, but the timeout dropped it to local after 3.8s anyway, so a slow-but-reachable archive.org stream could never win, only fail earlier.</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=7774&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a70611865ef06f2ff4ff762ea59375e773ac6c99">a706118</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a70611865ef06f2ff4ff762ea59375e773ac6c99</comments>
</item>
<item>
<title>Video goes streaming: archive.org direct + browser effects + 8-bar cadence</title>
<link>https://stellate.app/?genre=breakcore&amp;seed=4674&amp;path=1811.18518,1044.3292&amp;xdur=0.049</link>
<guid isPermaLink="false">773f377a6d876d0fef106f899a6525768095d956</guid>
<pubDate>Mon, 06 Jul 2026 01:11:17 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>breakcore</category>
<category>darksynth</category>
<category>found</category>
<description><![CDATA[Paul's direction: stream straight from archive.org, let the browser do the processing, lighten the load, more avant-garde and 3D, eight measures per clip.]]></description>
<content:encoded><![CDATA[<p>Paul's direction: stream straight from archive.org, let the browser do the processing, lighten the load, more avant-garde and 3D, eight measures per clip.</p>
<ul><li>stream-catalog.json (committed source): {base, clips:[{name, item, file, in, out, tags, credit, title}]} — cue windows into remote files, played as &lt;video&gt; src with #t seeks.</li><li>Clip advance rides the BAR CLOCK: every 8 measures, dominant-genre change the only off-cycle interrupt (fixed an order-sensitive poolKey bug that made every bar look like a pool change).</li><li>Effects moved from baked ffmpeg to live CSS/SVG, 5 genre-family looks (neon/vhs/dusty/glitch/clean; glitch = feDisplacementMap + RGB split for idm/darksynth/breakcore), eased on genre change.</li><li>Never-black law: next clip prebuffers a full 8-bar window; slow/ failed streams hold the current picture; local corpus demoted to optional cache/fallback (fetch scripts re-documented).</li></ul>
<p><em>Verified:</em> 8-bar cadence exact; never-black under +4s throttle AND full archive.org block; 6 genre looks screenshotted distinct; audio load unaffected with glitch running; 0 console errors.</p>
<p><a href="https://stellate.app/?genre=breakcore&amp;seed=4674&amp;path=1811.18518,1044.3292&amp;xdur=0.049">▶ Play it: Shrapnel Lullaby → Apex Curfew — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/773f377a6d876d0fef106f899a6525768095d956">773f377</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/773f377a6d876d0fef106f899a6525768095d956</comments>
</item>
<item>
<title>Halve the drags + tape wobble; CPU budget in the vector realization</title>
<link>https://stellate.app/?genre=triphop&amp;seed=4303&amp;path=388.8037,263.9071,586.10667&amp;xdur=0.283</link>
<guid isPermaLink="false">284066f7a4783e4644456deb38f75beee6f4c893</guid>
<pubDate>Sat, 04 Jul 2026 18:30:06 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>triphop</category>
<category>lofi</category>
<category>downtempo</category>
<category>melody</category>
<description><![CDATA[PART A — all six pushPull anchors halved (lofi/triphop bass .03->.015 hat -.01->-.005, downtempo .022/.014->.011/.007, blues .03/.02-> .015/.01, jazz .03->.015, bossanova .02->.01)]]></description>
<content:encoded><![CDATA[<ul><li><strong>PART A</strong> — all six pushPull anchors halved (lofi/triphop bass .03-&gt;.015 hat -.01-&gt;-.005, downtempo .022/.014-&gt;.011/.007, blues .03/.02-&gt; .015/.01, jazz .03-&gt;.015, bossanova .02-&gt;.01)</li><li>PART B — CPU budgeting where the vectors are realized. Measured per-module cost table (8s offline renders, min-of-3, pad_saw=1.0) stored as COST in state-engine</li></ul>
<p><em>Verified:</em> verify quick PASS, live smoke PASS (0.971, 0 errors), macro-live PASS, worst-case under budget. journey-crash-run's ~5.6min headless render dies identically on the stashed baseline</p>
<p><a href="https://stellate.app/?genre=triphop&amp;seed=4303&amp;path=388.8037,263.9071,586.10667&amp;xdur=0.283">▶ Play it: Inclement Surveillance → Dust Census → Benthic Patience — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/284066f7a4783e4644456deb38f75beee6f4c893">284066f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/284066f7a4783e4644456deb38f75beee6f4c893</comments>
</item>
<item>
<title>Fix the journey wedge; 4-bar instrument hold; bass -25% global</title>
<link>https://stellate.app/?genre=neoclassical&amp;seed=8454&amp;path=859.2784,1718.20526&amp;xdur=0.042</link>
<guid isPermaLink="false">792dcbe663613cc33fd9c0db0ef90e6d74e756f6</guid>
<pubDate>Sat, 04 Jul 2026 17:57:02 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>neoclassical</category>
<category>jungle</category>
<category>sampler</category>
<description><![CDATA[Paul's ride (blues -> tango -> neoclassical): half a measure of guitar, silence, then the whole song stops. Three interlocking causes, all fixed:]]></description>
<content:encoded><![CDATA[<p>Paul's ride (blues -&gt; tango -&gt; neoclassical): half a measure of guitar, silence, then the whole song stops. Three interlocking causes, all fixed:</p>
<ul><li>1. THE WEDGE: any throw inside injectChord (a voice module failing to instantiate under load, a bad param time) escaped before nextTime/serial advanced</li><li>2. THE HALF-MEASURE GUITAR: continuous blend weights re-pick the dominant genre every bar, so the flip queue swapped the sampler lead in and out within a measure</li><li>3. BASS_TRIM=0.75 at the single bass-level realization point (Paul: &quot;lower the bass 25% everywhere&quot;) — all 63 genres, press + live, relative balances preserved.</li></ul>
<p><em>Verified:</em> the exact ride passes (0 errors, never silent, tango's nylon/bandoneon lead full sections, flip minGap 4 bars); hold + wedge + macro + live smokes all PASS.</p>
<p><a href="https://stellate.app/?genre=neoclassical&amp;seed=8454&amp;path=859.2784,1718.20526&amp;xdur=0.042">▶ Play it: Requiem Appendix → Barometric Stampede — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/792dcbe663613cc33fd9c0db0ef90e6d74e756f6">792dcbe</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/792dcbe663613cc33fd9c0db0ef90e6d74e756f6</comments>
</item>
<item>
<title>Macro sliders: eight global axes bend every vector at once</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=3911&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">a2cf4a17a723a604f60a085b9e36c0eadef873c5</guid>
<pubDate>Sat, 04 Jul 2026 16:48:43 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[Paul's desk: acoustic<->synthesized, simple<->layered, dusty<->clean, dry<->drenched, dark<->bright, tight<->loose, calm<->intense, instrumental<->vocal. (sad<->happy dropped by request.)]]></description>
<content:encoded><![CDATA[<p>Paul's desk: acoustic&lt;-&gt;synthesized, simple&lt;-&gt;layered, dusty&lt;-&gt;clean, dry&lt;-&gt;drenched, dark&lt;-&gt;bright, tight&lt;-&gt;loose, calm&lt;-&gt;intense, instrumental&lt;-&gt;vocal. (sad&lt;-&gt;happy dropped by request.)</p>
<ul><li>Architecture at the keyOffset altitude: opts.macros {-1..+1 each, absent/0 = no-op} is a pure-arithmetic post-resolution transform in applyMacros, run at the top of toState (so the energy bpm nudge flows into…</li><li>Mappings ride existing state fields (no engine changes needed): acoustic biases crackle/humanize/detune/voices and at |A|&gt;=0.6 does a curated model swap between the synth fleet and the acoustic family</li><li><strong>UI</strong> — a MACROS section in the controls popup — eight center-detented sliders with pole labels in the site chrome, reset button, persisted in __S, applied through the same retarget/glide path as a genre move so…</li></ul>
<p><em>Verified:</em> (the proportional set): fixtures 1047/1047 at neutral; verify quick PASS; press determinism double-renders md5-identical at two non-neutral settings; spot renders</p>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=3911&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a2cf4a17a723a604f60a085b9e36c0eadef873c5">a2cf4a1</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a2cf4a17a723a604f60a085b9e36c0eadef873c5</comments>
</item>
<item>
<title>Mobile background audio: media-element output + lock-screen controls</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=6495&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">281d013799e697e52819d4dfebe785b1cc02e66d</guid>
<pubDate>Sat, 04 Jul 2026 16:32:57 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[Paul: keep audio playing when the screen blanks. A bare WebAudio graph is silenced on mobile screen-lock; a PLAYING media element is kept alive as media playback.]]></description>
<content:encoded><![CDATA[<p>Paul: keep audio playing when the screen blanks. A bare WebAudio graph is silenced on mobile screen-lock; a PLAYING media element is kept alive as media playback.</p>
<ul><li>Media Session: lock screen shows the current genre (or &quot;a + b&quot; when the second blend weight rides above 25%, mirroring the chyron) by CONSTELLATE, updated on genre change via onBar</li></ul>
<p><em>Verified:</em> live-test-run PASS through the element route (load 0.988, 0 errors); dedicated headless verify</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=6495&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — the brightest, most processed corner of the space</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/281d013799e697e52819d4dfebe785b1cc02e66d">281d013</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/281d013799e697e52819d4dfebe785b1cc02e66d</comments>
</item>
<item>
<title>Simplify pass over the 2026-07-04 session (12 findings applied)</title>
<link>https://stellate.app/?genre=gabber&amp;seed=3715&amp;path=1809.17533,1811.18518&amp;xdur=0.761</link>
<guid isPermaLink="false">90bf6a63194a69ffef4ba2006c2b76b8a7dbc755</guid>
<pubDate>Sat, 04 Jul 2026 16:24:35 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>gabber</category>
<category>breakcore</category>
<category>harmony</category>
<description><![CDATA[Four parallel reviewers (reuse/simplification/efficiency/altitude) audited b340b6f..HEAD; all twelve surviving findings applied under the byte-stability law (fixtures 1047-stable except one justified drift):]]></description>
<content:encoded><![CDATA[<p>Four parallel reviewers (reuse/simplification/efficiency/altitude) audited b340b6f..HEAD; all twelve surviving findings applied under the byte-stability law (fixtures 1047-stable except one justified drift):</p>
<ul><li>state-engine mp() param-reader: 101 clamp-idiom sites collapsed across the fleet/tb303/mellotron cases (||-semantics and cross-derived keys deliberately untouched)</li><li>resolveMulti: the pure-copy dominant-parent dims (sampleEvents/ reverbColor/autoTune/masterComp/introMode) collapsed to one registry loop over one hoisted top; vestigial empty NO_AUTO_GENRE set deleted.</li><li>csd-engine matchSec regex compiled per-spec, not per-section.</li><li>genre-verifier exports scoreRow; genre-tool imports it instead of carrying a copy of the scoring formula (matrix stdout diffed byte-identical)</li></ul>
<p><em>Verified:</em> verify.sh quick + full PASS; live smoke PASS (0.986, balance green); press determinism and djMix output md5-identical through the WAV refactor.</p>
<p><a href="https://stellate.app/?genre=gabber&amp;seed=3715&amp;path=1809.17533,1811.18518&amp;xdur=0.761">▶ Play it: Jackhammer Communion → Shrapnel Lullaby — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/90bf6a63194a69ffef4ba2006c2b76b8a7dbc755">90bf6a6</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/90bf6a63194a69ffef4ba2006c2b76b8a7dbc755</comments>
</item>
<item>
<title>Install the full effects audit: 24 items across 27 genres</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=1527&amp;path=1679.4415,2097.8214,639.7941&amp;xdur=0.167</link>
<guid isPermaLink="false">149c9aa7d6e5de15d55faa81cc2bdb3833fe32a8</guid>
<pubDate>Sat, 04 Jul 2026 15:29:00 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>chinawave</category>
<category>sovietwave</category>
<category>harmony</category>
<description><![CDATA[Paul approved every tier ("these are all great, apply them"); all applied with genre-true values, one scaled back with reason (krautrock mellotron needs a pad-pool change first — its pad is organ-dominant, nothing for the flag to bite).]]></description>
<content:encoded><![CDATA[<p>Paul approved every tier (&quot;these are all great, apply them&quot;); all applied with genre-true values, one scaled back with reason (krautrock mellotron needs a pad-pool change first — its pad is organ-dominant, nothing for the flag to bite).</p>
<ul><li>Tier A: disco dattorro (the Sigma Sound plate), dub spring (King Tubby's BX20) + Perry phaser on the skank, psytrance morning-lead phaser, lofi/triphop Dilla drag (pushPull bass +.03 hat -.01).</li><li>Firing-rate fix the smoke check caught: surfrock's defining tremolo fired 0/16 — the sampled steel-string lead skips inserts.</li><li>Soft-top re-fence (the one matrix-visible piece), measured: VHS muffle on vaporwave [9-13k], two-storefronts on mallsoft [6-9k], wire-recorder band on chinawave, shortwave band on sovietwave.</li></ul>
<p><em>Verified:</em> verify.sh quick + full PASS; matrix 63/63 before and after; net new dominance losses 0; only 3 rows moved +-1 (rng drift from their own new inserts).</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=1527&amp;path=1679.4415,2097.8214,639.7941&amp;xdur=0.167">▶ Play it: Food Court Eternity → Harvest Quota Anthem → Cosmodrome Lullaby — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/149c9aa7d6e5de15d55faa81cc2bdb3833fe32a8">149c9aa</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/149c9aa7d6e5de15d55faa81cc2bdb3833fe32a8</comments>
</item>
<item>
<title>DJ-mix seams: journeys and playlists mix like a set, not a CD</title>
<link>https://stellate.app/?genre=lofi&amp;seed=9282&amp;path=263.9071,1530.6221,1811.18518&amp;xdur=0.06</link>
<guid isPermaLink="false">a25ee61a6079095fde01a94c2c61771f7936342a</guid>
<pubDate>Sat, 04 Jul 2026 14:47:27 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>lofi</category>
<category>citypop</category>
<category>breakcore</category>
<category>harmony</category>
<description><![CDATA[Paul: "songs should mix together like a DJ mix, not stop and start." The journey/playlist driver now emits a continuous DJ-mixed journey.mp3 (per-track mp3s + mix page unchanged).]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;songs should mix together like a DJ mix, not stop and start.&quot; The journey/playlist driver now emits a continuous DJ-mixed journey.mp3 (per-track mp3s + mix page unchanged).</p>
<ul><li>Alignment: the incoming track's beat 0 lands sample-accurately on an outgoing bar downbeat.</li><li>Blend: equal-power cos/sin crossfade. Gap &lt;= 8 bpm: 4-bar window with the outgoing tail VARISPED to the incoming tempo (the turntable pitch-nudge; build-time bpm ramps need a kernel time-model change</li><li>The DJ slam: introMode:&quot;off&quot; incoming (gabber/breakcore) or gap &gt; 40 = hard cut on the downbeat.</li><li>Streaming overlap-add (one track in memory + the seam tail), so hours-long journeys stay flat in RAM. press.js untouched; renderState split into pressState + encodeMp3 in the driver.</li></ul>
<p><em>Verified:</em> playlist lofi-&gt;citypop-&gt;breakcore seed 5, measured on the lossless mix: seam 1 opens at exactly lofi bar 62.00, 2.00-bar overlap, smooth RMS through the boundary</p>
<p><a href="https://stellate.app/?genre=lofi&amp;seed=9282&amp;path=263.9071,1530.6221,1811.18518&amp;xdur=0.06">▶ Play it: Dust Census → Neon Fiscal Year → Shrapnel Lullaby — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a25ee61a6079095fde01a94c2c61771f7936342a">a25ee61</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a25ee61a6079095fde01a94c2c61771f7936342a</comments>
</item>
<item>
<title>insert_tremolo: the missing surf/exotica amplitude modulation</title>
<link>https://stellate.app/?genre=surfrock&amp;seed=5991&amp;path=1315.6181,1334.6214,1296.6214&amp;xdur=13.122</link>
<guid isPermaLink="false">160b9d97a2ab355fd028f991d1dec149cc4ac124</guid>
<pubDate>Sat, 04 Jul 2026 14:44:23 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>surfrock</category>
<category>harmony</category>
<description><![CDATA[The effects audit found two defining effects absent for infrastructure reasons: surf rock's Fender-amp tremolo and exotica's vibraphone fan. One module serves both]]></description>
<content:encoded><![CDATA[<p>The effects audit found two defining effects absent for infrastructure reasons: surf rock's Fender-amp tremolo and exotica's vibraphone fan. One module serves both</p>
<ul><li>Probe-verified: bypass bit-identical (maxAbsDiff 0); envelope peak-to-peak 0.7000 at depth 0.7, DFT locked to the LFO rate (14x over neighbors)</li><li>NOT yet wired: the apply round adds the insertChain case, manifest entry, prewarm-list entry, and the surfrock/exotica recipes (spec in the round report).</li></ul>
<p><a href="https://stellate.app/?genre=surfrock&amp;seed=5991&amp;path=1315.6181,1334.6214,1296.6214&amp;xdur=13.122">▶ Play it: Undertow Sock Hop — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/160b9d97a2ab355fd028f991d1dec149cc4ac124">160b9d9</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/160b9d97a2ab355fd028f991d1dec149cc4ac124</comments>
</item>
<item>
<title>Ear notes: liberal snare ping-pong + bass warmth</title>
<link>https://stellate.app/?genre=lofi&amp;seed=6299&amp;path=263.9071,749.12558,388.8037&amp;xdur=0.165</link>
<guid isPermaLink="false">34f9778bc8602229fc0e63af4dc66080841ae9cd</guid>
<pubDate>Sat, 04 Jul 2026 14:24:56 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>lofi</category>
<category>transitwave</category>
<category>triphop</category>
<category>harmony</category>
<description><![CDATA[Paul: "genres like lofi used to use ping pong delay more liberally — nice for the snare" + "bass could be less synthy, a little distortion or chorus." Investigated first: git log -S snarePP shows ONE commit ever (its v3 birth on transitwave) — lofi never had it.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;genres like lofi used to use ping pong delay more liberally — nice for the snare&quot; + &quot;bass could be less synthy, a little distortion or chorus.&quot; Investigated first: git log -S snarePP shows ONE commit ever (its v3 birth on transitwave) — lofi never had it.</p>
<ul><li>snarePP: the throw loop now scales liberality with the send — &gt;= .65 gets &gt;=2-beat spacing at prob .82 (most backbeats echo, the dusty smear)</li><li>Bass: soft insert_distort (cubicnl saturation, drive .09-.22, mix .3-.6 — adds upper harmonics, keeps the fundamental) on lofi/ triphop/downtempo (deep sub stays deep; a chorus would comb-hollow it)</li></ul>
<p><em>Verified:</em> verify.sh quick + full PASS; margins byte-identical for all five touched-or-adjacent genres; fixture drift exactly the 4 touched genres (57 hashes), transitwave + 59 others byte-stable</p>
<p><a href="https://stellate.app/?genre=lofi&amp;seed=6299&amp;path=263.9071,749.12558,388.8037&amp;xdur=0.165">▶ Play it: Dust Census → Rail Replacement Rapture → Inclement Surveillance — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/34f9778bc8602229fc0e63af4dc66080841ae9cd">34f9778</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/34f9778bc8602229fc0e63af4dc66080841ae9cd</comments>
</item>
<item>
<title>Two-tier module prewarm: kill the genre-entry hitch cheaply</title>
<link>https://stellate.app/?genre=lofi&amp;seed=1821&amp;path=263.9049,282.9082,244.9082&amp;xdur=13.122</link>
<guid isPermaLink="false">82bb1d55f840b7f4f363b1e96edbe5a29e8077e6</guid>
<pubDate>Sat, 04 Jul 2026 13:52:30 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>lofi</category>
<category>mix</category>
<description><![CDATA[The 2026-07-04 regression hunt (Paul: "rendering crackles have returned" + "the scheduler seems slightly off") found NO engine regression]]></description>
<content:encoded><![CDATA[<p>The 2026-07-04 regression hunt (Paul: &quot;rendering crackles have returned&quot; + &quot;the scheduler seems slightly off&quot;) found NO engine regression</p>
<ul><li>Fix, measured into shape: full-node-prewarming the heavy voices tanked the load gate (0.987 -&gt; 0.82-0.87</li><li>Vinyl crackle on high-crackle genres (lofi .52, blues .36) renders at exactly the fixed level by design — if it reads too hot by ear, the knob is fx_bus.dsp:55, a deliberate re-voicing not a repair.</li></ul>
<p><a href="https://stellate.app/?genre=lofi&amp;seed=1821&amp;path=263.9049,282.9082,244.9082&amp;xdur=13.122">▶ Play it: Dust Census — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/82bb1d55f840b7f4f363b1e96edbe5a29e8077e6">82bb1d5</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/82bb1d55f840b7f4f363b1e96edbe5a29e8077e6</comments>
</item>
<item>
<title>Explorer: six UI items + genre-tool learns the star chart</title>
<link>https://stellate.app/?genre=hogcore&amp;seed=8848&amp;path=1670.17099,1718.20526,388.8037&amp;xdur=0.06</link>
<guid isPermaLink="false">decc5430e5de71203263ed77bda3555875c0df0c</guid>
<pubDate>Sat, 04 Jul 2026 13:46:19 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>hogcore</category>
<category>jungle</category>
<category>triphop</category>
<category>meter</category>
<description><![CDATA[Paul's batch, all headless-verified with 0 console errors:]]></description>
<content:encoded><![CDATA[<p>Paul's batch, all headless-verified with 0 console errors:</p>
<ul><li>1. Zoomed edge-reach FIXED: PAN_PAD was screen-space but far too small (0.18 let an edge star reach only 18% in from the rim). 0.55 lets every corner star reach dead center</li><li>genre-tool.js: create now REQUIRES spec.pos [x,y] and splices it into explorer.html's new /* genre-tool:positions */ block</li></ul>
<p><em>Verified:</em> live smoke PASS (load 0.987, balance 0.936, 0 errors); verify.sh PASS; genre-tool check hogcore self 100 unchanged.</p>
<p><a href="https://stellate.app/?genre=hogcore&amp;seed=8848&amp;path=1670.17099,1718.20526,388.8037&amp;xdur=0.06">▶ Play it: Perihelion Squeal → Barometric Stampede → Inclement Surveillance — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/decc5430e5de71203263ed77bda3555875c0df0c">decc543</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/decc5430e5de71203263ed77bda3555875c0df0c</comments>
</item>
<item>
<title>Hogcore: every name declares &quot;is trans&quot; + two quick-gate repairs</title>
<link>https://stellate.app/?genre=hogcore&amp;seed=5819&amp;path=1670.17099,1285.14089,749.12558&amp;xdur=0.161</link>
<guid isPermaLink="false">95b062d3db5a321b0131b4e076e98c22c4e43e35</guid>
<pubDate>Sat, 04 Jul 2026 13:29:55 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>hogcore</category>
<category>witchhouse</category>
<category>transitwave</category>
<category>voice</category>
<description><![CDATA[THE GENRE — all 24 espeak cast voices regenerated as full phrases ("Hermione Granger is trans", "Severus Snape is trans", ...) — same per-character voice/pitch/speed, the cast stays the cast]]></description>
<content:encoded><![CDATA[<ul><li><strong>THE GENRE</strong> — all 24 espeak cast voices regenerated as full phrases (&quot;Hermione Granger is trans&quot;, &quot;Severus Snape is trans&quot;, ...) — same per-character voice/pitch/speed, the cast stays the cast</li><li>REPAIR 1 — quick-gate dominance FAIL (latent since d4b1671): witchhouse &quot;loses to dub&quot; was a tie-break artifact</li><li>REPAIR 2 — validate gate 6 emitted 30 stale &quot;unknown form&quot; warnings: its form check source-scraped the retired if/else chain. genre-kernel now exports FORM_NAMES from the FORMS table</li></ul>
<p><em>Verified:</em> verify.sh --no-cache PASS and --full --no-cache PASS. Fixtures re-blessed: witchhouse s2/s5 + hogcore s1-5 only, 1047/1047 stable.</p>
<p><a href="https://stellate.app/?genre=hogcore&amp;seed=5819&amp;path=1670.17099,1285.14089,749.12558&amp;xdur=0.161">▶ Play it: Perihelion Squeal → Chandelier Drowning → Rail Replacement Rapture — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/95b062d3db5a321b0131b4e076e98c22c4e43e35">95b062d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/95b062d3db5a321b0131b4e076e98c22c4e43e35</comments>
</item>
<item>
<title>Margin round: jazz/blues fence, the interlock feature, exemptions empty</title>
<link>https://stellate.app/?genre=afrobeat&amp;seed=5219&amp;path=1237.17819,1718.20526,2097.8214&amp;xdur=0.061</link>
<guid isPermaLink="false">984138d32e3648ddecfeb38fd1f80664bb76da4a</guid>
<pubDate>Sat, 04 Jul 2026 13:09:38 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>afrobeat</category>
<category>jungle</category>
<category>chinawave</category>
<category>harmony</category>
<description><![CDATA[Item 1 — the last negative column in the matrix (jazz -1, blues scoring 100 AS jazz) was a miscalibrated jazz row: measured over 8 seeds, jazz renders a strong comping snare (.67-.89) on a SPARSE ride (.51-.64) while blues is kick-forward shuffle with a quiet snare on a fuller kit]]></description>
<content:encoded><![CDATA[<p>Item 1 — the last negative column in the matrix (jazz -1, blues scoring 100 AS jazz) was a miscalibrated jazz row: measured over 8 seeds, jazz renders a strong comping snare (.67-.89) on a SPARSE ride (.51-.64) while blues is kick-forward shuffle with a quiet snare on a fuller kit</p>
<ul><li>Item 2 — interlock: the verifier can finally see Fela's arithmetic. Per 8-beat window: (fraction of kick onsets OFF the four-on-floor quarters) x (fraction of 16th slots covered by exactly one lane).</li><li>Item 3 — the four remaining floored seeds (chinawave s5, newage s1, prelude s2/s3) stay floored, documented at the solver: a shorter- progression swap would land them but trades the long-figuration identity…</li></ul>
<p><em>Verified:</em> verify.sh --full --no-cache PASS: matrix 63/63, NO negative columns remain; validate 5-seed; engine full-length.</p>
<p><a href="https://stellate.app/?genre=afrobeat&amp;seed=5219&amp;path=1237.17819,1718.20526,2097.8214&amp;xdur=0.061">▶ Play it: Polyrhythm Senate → Barometric Stampede → Harvest Quota Anthem — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/984138d32e3648ddecfeb38fd1f80664bb76da4a">984138d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/984138d32e3648ddecfeb38fd1f80664bb76da4a</comments>
</item>
<item>
<title>Live video variety: shuffled no-repeat bags per play session</title>
<link>https://stellate.app/?genre=ambient&amp;seed=6695&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122</link>
<guid isPermaLink="false">96672f37aaa686114e563065afdf9c345e290731</guid>
<pubDate>Sat, 04 Jul 2026 13:08:58 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ambient</category>
<category>mobile</category>
<description><![CDATA[Paul: "we see the same clips every time we hit play." Cause: the genre-affine pool was built in fixed array order and walked with a module-scope linear index that never reshuffled — every session identical — and ambient idle stepped clips.json linearly with the first clip always disc_sunset.]]></description>
<content:encoded><![CDATA[<p>Paul: &quot;we see the same clips every time we hit play.&quot; Cause: the genre-affine pool was built in fixed array order and walked with a module-scope linear index that never reshuffled — every session identical — and ambient idle stepped clips.json linearly with the first clip always disc_sunset.</p>
<ul><li>Now: explorer's genre pool is a Fisher-Yates shuffled bag (fresh shuffle at every goLive, so each play differs), rotating with no repeats until drained, rebuilt when travel changes the pool, never back-to-back…</li><li>Only the LIVE presentational layer uses Math.random; the seeded journey/press video path is untouched (renders stay reproducible).</li></ul>
<p><em>Verified:</em> live audio smoke PASS 0 errors; two-session variety gates on both the mobile hard-cut and desktop crossfade paths show fully different clip sequences with the crossfade intact, 0 console…</p>
<p><a href="https://stellate.app/?genre=ambient&amp;seed=6695&amp;path=2103.13280,2122.13313,2084.13313&amp;xdur=13.122">▶ Play it: Stationary Weather — a long-form genre — put the phone in your pocket and it keeps playing</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/96672f37aaa686114e563065afdf9c345e290731">96672f3</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/96672f37aaa686114e563065afdf9c345e290731</comments>
</item>
<item>
<title>Kit-as-data close-out: euclid overlay compiled to lane notation</title>
<link>https://stellate.app/?genre=bebop&amp;seed=1950&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">96ec2f1645b5feb3ba1a70a622415a65d89ca4ec</guid>
<pubDate>Sat, 04 Jul 2026 12:48:23 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[Phase 1 already made the 18 named kits data (KITS + drumEvents); the one procedural remnant was the euclid overlay — three hardcoded place() calls with inline amp lambdas.]]></description>
<content:encoded><![CDATA[<p>Phase 1 already made the 18 named kits data (KITS + drumEvents); the one procedural remnant was the euclid overlay — three hardcoded place() calls with inline amp lambdas.</p>
<ul><li>Kept procedural with in-code reason: the euclid pass remains a once-per-bar post-pass — byte-identity pins (a) the shadowed kit lane's rng draws having already fired, (b) the closed-vs-open hat distinction per…</li><li>ZERO fixture drift: 1047/1047 incl. all 102 kit-stream hashes vs the pre-edit baseline. verify.sh --full --no-cache PASS (matrix 63/63, validate 5-seed, engine).</li></ul>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=1950&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/96ec2f1645b5feb3ba1a70a622415a65d89ca4ec">96ec2f1</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/96ec2f1645b5feb3ba1a70a622415a65d89ca4ec</comments>
</item>
<item>
<title>Form grammar: seven forms as data, optional intro, section-drop lever</title>
<link>https://stellate.app/?genre=gabber&amp;seed=8461&amp;path=1809.17533,1679.4415,859.9931&amp;xdur=0.057</link>
<guid isPermaLink="false">c0e7cbcdcd3be8759f1af9480362598daf3d831e</guid>
<pubDate>Sat, 04 Jul 2026 12:41:20 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>gabber</category>
<category>vaporwave</category>
<category>synthwave</category>
<category>sampler</category>
<description><![CDATA[Stage 1 — the seven-branch buildSections if/else chain is now a FORMS data table walked by one generic buildForm. Nodes are [name, spec] pairs typed via sectionTag]]></description>
<content:encoded><![CDATA[<p>Stage 1 — the seven-branch buildSections if/else chain is now a FORMS data table walked by one generic buildForm. Nodes are [name, spec] pairs typed via sectionTag</p>
<ul><li>Stage 2a — introMode (Paul: &quot;four bar intro almost everywhere — make it optional&quot;): zero-rng dominant-parent enum</li><li>Stage 2b — section-drop solver lever: when cycle-flooring lands over-band, drop optional low-energy nodes (never build/peak/hook), commit ONLY if the result lands in [162,198]s, else revert byte-identical.</li><li>Stage 3 — generateSong DELETED: defaultState inlined as the value-identical royal-road literal; render-sample-video's synthwave preset inlined value-identical (vaporwave preset stays on defaultState</li></ul>
<p><em>Verified:</em> verify.sh --full --no-cache PASS; walker 0.219 ms/track vs 0.225 baseline (no regression); rng streams untouched, proven by the 47 untouched genres' byte-stability.</p>
<p><a href="https://stellate.app/?genre=gabber&amp;seed=8461&amp;path=1809.17533,1679.4415,859.9931&amp;xdur=0.057">▶ Play it: Jackhammer Communion → Food Court Eternity → Highway Heat Death — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c0e7cbcdcd3be8759f1af9480362598daf3d831e">c0e7cbc</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c0e7cbcdcd3be8759f1af9480362598daf3d831e</comments>
</item>
<item>
<title>Reverb-color tap-out: colored genres get the echo-into-reverb glue</title>
<link>https://stellate.app/?genre=jungle&amp;seed=5832&amp;path=1718.20526,1873.8827,1315.6203&amp;xdur=0.052</link>
<guid isPermaLink="false">eff2f8080d7dcd8e55f396f81668b33c1876927c</guid>
<pubDate>Sat, 04 Jul 2026 12:21:24 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>mallsoft</category>
<category>surfrock</category>
<category>mix</category>
<description><![CDATA[Genres with a reverbColor sent only the raw rev bus through the external color node; the fx_bus delay/pingpong bleed into reverb (d*0.2 + pp*0.12) fed only the internal zita — muted when a color is active — so colored genres were subtly drier after echoes than uncolored ones.]]></description>
<content:encoded><![CDATA[<p>Genres with a reverbColor sent only the raw rev bus through the external color node; the fx_bus delay/pingpong bleed into reverb (d*0.2 + pp*0.12) fed only the internal zita — muted when a color is active — so colored genres were subtly drier after echoes than uncolored ones.</p>
<ul><li>dsp/rev_bleed.dsp (new, subset-built): recomputes the exact fx_bus bleed term (identical fbdel + cross-fed pingpong, same 0.2/0.12).</li><li>press: inside the color path, render rev_bleed over the del/pp buses and feed the color node rev + bleed.</li><li>live: a native-node bleed graph (feedback delay + cross-fed pingpong — no extra worklet, budget stands) folded into the color node's input, built lazily on the first colored bar, params driven per-bar from the…</li><li>TRIM recalibration measured as unnecessary: tail energies unchanged (all colors ~3.3-3.9e-5 vs zita ~3.6e-5), press L-RMS moved &lt;0.1dB.</li></ul>
<p><em>Verified:</em> probe-reverb extended with a bleed-echo assertion, PASS; surfrock colored double-render byte-identical; verify.sh PASS; live smoke PASS (load 0.976, balance 0.936, 0 errors).</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=5832&amp;path=1718.20526,1873.8827,1315.6203&amp;xdur=0.052">▶ Play it: Barometric Stampede → Atrium Standing Wave → Undertow Sock Hop — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/eff2f8080d7dcd8e55f396f81668b33c1876927c">eff2f80</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/eff2f8080d7dcd8e55f396f81668b33c1876927c</comments>
</item>
<item>
<title>Explorer: continuous blend weights (no midpoint snap) + 4 UI fixes</title>
<link>https://stellate.app/?genre=triphop&amp;seed=1957&amp;path=388.8037,449.16468,945.16205&amp;xdur=0.087</link>
<guid isPermaLink="false">cee5ed2dd541d9c893b0c75734386ba9b5bc3b9e</guid>
<pubDate>Sat, 04 Jul 2026 12:14:09 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>triphop</category>
<category>arabpop</category>
<category>desertblues</category>
<category>harmony</category>
<description><![CDATA[THE BUG — weightsAt() hard-snapped to the nearest anchor inside SNAP=26px. arabpop and triphop sit ~39 logical px apart, so their snap radii OVERLAP]]></description>
<content:encoded><![CDATA[<ul><li><strong>THE BUG</strong> — weightsAt() hard-snapped to the nearest anchor inside SNAP=26px. arabpop and triphop sit ~39 logical px apart, so their snap radii OVERLAP</li><li><strong>UI</strong> — path points 2x (halo 14-&gt;28, dot 9-&gt;18, numbers 11-&gt;22px); labels hold WHITE for 10s after the last interaction (single reset timer, no leak)</li></ul>
<p><em>Verified:</em> live smoke PASS (load 0.987, L/R balance 0.939, 0 errors); full headless session tap-&gt;zoom-&gt;pan-&gt;draw-&gt;play across a leg boundary, 0 console errors.</p>
<p><a href="https://stellate.app/?genre=triphop&amp;seed=1957&amp;path=388.8037,449.16468,945.16205&amp;xdur=0.087">▶ Play it: Inclement Surveillance → Sirocco Telemetry → Dune Recursion — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/cee5ed2dd541d9c893b0c75734386ba9b5bc3b9e">cee5ed2</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/cee5ed2dd541d9c893b0c75734386ba9b5bc3b9e</comments>
</item>
<item>
<title>Add guitars to tango: the Gardel-quartet nylon string</title>
<link>https://stellate.app/?genre=bigband&amp;seed=4224&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">c67d53d0b4c04e1640637393f8e5f09990a986ed</guid>
<pubDate>Sat, 04 Jul 2026 12:10:07 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[At Paul's direction. The real sampled nylon-string guitar (FluidR3) joins tango's acoustic combo: it takes the lead from the bandoneon on ~1/3 of seeds (hard staccato, same recipe — the guitar-quartet tradition) and joins the comping pool alongside the marcato strings.]]></description>
<content:encoded><![CDATA[<p>At Paul's direction. The real sampled nylon-string guitar (FluidR3) joins tango's acoustic combo: it takes the lead from the bandoneon on ~1/3 of seeds (hard staccato, same recipe — the guitar-quartet tradition) and joins the comping pool alongside the marcato strings.</p>
<ul><li>Sampler-pool additions only: one pick draw each, draw order unchanged, so only tango's own outcomes shift. Measured across 12 seeds: guitar appears in 6 (lead and/or comping). verify.sh PASS</li></ul>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=4224&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c67d53d0b4c04e1640637393f8e5f09990a986ed">c67d53d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c67d53d0b4c04e1640637393f8e5f09990a986ed</comments>
</item>
<item>
<title>Retire stations/horn/ding onto sampleEvents; keep vox/vocal with reason</title>
<link>https://stellate.app/?genre=hogcore&amp;seed=3012&amp;path=1670.17099,749.12558,1505.3720&amp;xdur=0.056</link>
<guid isPermaLink="false">60800684b4ece81c3af9e540bfe4aca28a6787fc</guid>
<pubDate>Sat, 04 Jul 2026 12:02:08 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>hogcore</category>
<category>transitwave</category>
<category>canawave</category>
<category>voice</category>
<description><![CDATA[Three bespoke sample-event mechanisms ported to the generic state.sampleEvents path genre-by-genre behind A/B equivalence gates, then their engine handlers + toState specials DELETED:]]></description>
<content:encoded><![CDATA[<p>Three bespoke sample-event mechanisms ported to the generic state.sampleEvents path genre-by-genre behind A/B equivalence gates, then their engine handlers + toState specials DELETED:</p>
<ul><li>stations -&gt; buried (hogcore 24 HP names, transitwave 96 metro names): st-main counts A/B-EXACT every seed (128&lt;-&gt;128, 96&lt;-&gt;96); glitch tail within rng variance on the independent +9091 stream</li><li>horn -&gt; opener (canawave, transitwave): treatment reproduced exactly (canawave amp 0.756 = 0.42x1.8, cut 6000); count collapses to the single true opener per the charter intent + bigbeat precedent.</li><li>ding -&gt; oneShot+cadence (transitwave): n=8 A/B-exact, every treatment number identical (dur 2.20, ppsend 0.7).</li><li>Vocabulary extended zero-rng: treatment.vol/maxDur/glitchBursts + a buried downward-glitch tail; absent keys byte-identical for all pre-existing sampleEvents users.</li></ul>
<p><em>Verified:</em> verify.sh --full --no-cache PASS: matrix 63/63, margins held (canawave 2, transitwave 3, hogcore 2). Fixtures re-blessed: events drift confined to the 3 migrated genres</p>
<p><a href="https://stellate.app/?genre=hogcore&amp;seed=3012&amp;path=1670.17099,749.12558,1505.3720&amp;xdur=0.056">▶ Play it: Perihelion Squeal → Rail Replacement Rapture → Loon Referendum — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/60800684b4ece81c3af9e540bfe4aca28a6787fc">6080068</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/60800684b4ece81c3af9e540bfe4aca28a6787fc</comments>
</item>
<item>
<title>Fix hard-left dry bus in live: pin dryBus to explicit 2 channels</title>
<link>https://stellate.app/?genre=jungle&amp;seed=1191&amp;path=1718.20526,1530.6221&amp;xdur=0.052</link>
<guid isPermaLink="false">4a80f487b810de8d6c7db432ecccc8feba7e337a</guid>
<pubDate>Sat, 04 Jul 2026 11:47:41 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>citypop</category>
<category>harmony</category>
<description><![CDATA[The stereo-voice dry path (5b26293) had a channel-count trap: with the default "max" mode, a genre with only MONO voices computed a 1-channel dryBus, and ChannelSplitter upmixes DISCRETELY — channel 1 padded with silence — so the entire dry mix (bass always]]></description>
<content:encoded><![CDATA[<p>The stereo-voice dry path (5b26293) had a channel-count trap: with the default &quot;max&quot; mode, a genre with only MONO voices computed a 1-channel dryBus, and ChannelSplitter upmixes DISCRETELY — channel 1 padded with silence — so the entire dry mix (bass always</p>
<ul><li>The smoke gate never saw it because AnalyserNode DOWNMIXES to mono. Added handle.balance() (splitter + per-channel analysers off master) and a standing L/R assertion in live-test-run.js: quieter channel must…</li><li>Reported by Paul by ear — &quot;bass is always panned left&quot;.</li></ul>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=1191&amp;path=1718.20526,1530.6221&amp;xdur=0.052">▶ Play it: Barometric Stampede → Neon Fiscal Year — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/4a80f487b810de8d6c7db432ecccc8feba7e337a">4a80f48</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/4a80f487b810de8d6c7db432ecccc8feba7e337a</comments>
</item>
<item>
<title>Remove the June-11 mix demo set and its page</title>
<link>https://stellate.app/?genre=citypop&amp;seed=1617&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">95fe3001a837fabc910bde6e1859394e544cae7a</guid>
<pubDate>Sat, 04 Jul 2026 11:35:53 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[At Paul's direction: mix/ (six csound-era tracks, their state seeds, mix.m3u, and the served mix page) is gone from the live site. make-mix-page.js stays — it regenerates a mix page from any rendered playlist dir.]]></description>
<content:encoded><![CDATA[<p>At Paul's direction: mix/ (six csound-era tracks, their state seeds, mix.m3u, and the served mix page) is gone from the live site. make-mix-page.js stays — it regenerates a mix page from any rendered playlist dir.</p>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=1617&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/95fe3001a837fabc910bde6e1859394e544cae7a">95fe300</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/95fe3001a837fabc910bde6e1859394e544cae7a</comments>
</item>
<item>
<title>Cleanup: delete the umiwashi reel + 340MB of derived render outputs</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=1425&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">47f24f99a9ff5373142dc199209c050c5106d290</guid>
<pubDate>Sat, 04 Jul 2026 11:34:20 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[At Paul's direction ("delete unused data and old wavs"): the flagged 1943 propaganda reel is deleted from found/video/lib/ (86MB, never cued; SOURCES.md row replaced with a tombstone, cut-lib-clips.sh entry pruned to a comment), along with all regenerable derived audio]]></description>
<content:encoded><![CDATA[<p>At Paul's direction (&quot;delete unused data and old wavs&quot;): the flagged 1943 propaganda reel is deleted from found/video/lib/ (86MB, never cued; SOURCES.md row replaced with a tombstone, cut-lib-clips.sh entry pruned to a comment), along with all regenerable derived audio</p>
<ul><li>Cross-referenced every found/ file against all live registries (genre-kernel SOURCES/SAMPLES/GENRE_CLIPS/stationPool, sample manifest, clip manifests, fetch recipes): no orphaned found audio exists</li><li>Total freed this round ~340MB (+ 840MB grand tour in 1461353). verify.sh PASS after deletion — no live registry lost a file.</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=1425&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/47f24f99a9ff5373142dc199209c050c5106d290">47f24f9</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/47f24f99a9ff5373142dc199209c050c5106d290</comments>
</item>
<item>
<title>Delete the grand tour (journey/, 840MB) and its mix page</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=9385&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046</link>
<guid isPermaLink="false">064f64917a3839ab1257c48b4f98bc217bab04a0</guid>
<pubDate>Sat, 04 Jul 2026 11:33:39 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>jungle</category>
<category>travel</category>
<description><![CDATA[At Paul's direction: the July-3 csound-era grand-tour artifact — tracks, gapless journey.mp3/.mp4, and its journey/index.html mix page — is removed from the live site (the tree is the web root).]]></description>
<content:encoded><![CDATA[<p>At Paul's direction: the July-3 csound-era grand-tour artifact — tracks, gapless journey.mp3/.mp4, and its journey/index.html mix page — is removed from the live site (the tree is the web root).</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=9385&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046">▶ Play it: Food Court Eternity → Smoke Arithmetic → Barometric Stampede — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/064f64917a3839ab1257c48b4f98bc217bab04a0">064f649</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/064f64917a3839ab1257c48b4f98bc217bab04a0</comments>
</item>
<item>
<title>NEXT.md: the 2026-07-04 marathon is complete; remaining = future rounds</title>
<link>https://stellate.app/?genre=citypop&amp;seed=3815&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">66755a1f10866791897c9d5443130b3e04fac8ba</guid>
<pubDate>Sat, 04 Jul 2026 08:00:18 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[NEXT.md: the 2026-07-04 marathon is complete; remaining = future rounds]]></description>
<content:encoded><![CDATA[<p><a href="https://stellate.app/?genre=citypop&amp;seed=3815&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/66755a1f10866791897c9d5443130b3e04fac8ba">66755a1</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/66755a1f10866791897c9d5443130b3e04fac8ba</comments>
</item>
<item>
<title>Deep pass: coldwave, triphop, idm, sludgemetal — worst-10 CLOSED</title>
<link>https://stellate.app/?genre=coldwave&amp;seed=3682&amp;path=1900.4416,388.8037,2097.8214&amp;xdur=0.159</link>
<guid isPermaLink="false">1ef26b62999ea2d3cf61c11d16a0674c82c0fba4</guid>
<pubDate>Sat, 04 Jul 2026 07:59:13 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>coldwave</category>
<category>triphop</category>
<category>chinawave</category>
<category>drums</category>
<description><![CDATA[coldwave (margin 0 -> +6): the tie was chinawave (mutual 100/100) — they share ~110bpm/dry triads/crackle/motion; the real musical difference is the drum mix, so it's structural now: chinawave's stated identity is the march snare UP (renders .74-.90), coldwave is bass-forward post-punk (kick up…]]></description>
<content:encoded><![CDATA[<p>coldwave (margin 0 -&gt; +6): the tie was chinawave (mutual 100/100) — they share ~110bpm/dry triads/crackle/motion; the real musical difference is the drum mix, so it's structural now: chinawave's stated identity is the march snare UP (renders .74-.90), coldwave is bass-forward post-punk (kick up…</p>
<ul><li>triphop (+1 -&gt; +6): the oldest confusion pair (lofi 99) broken on the claim triphop always had — the SLOWED SAMPLED BREAK (renders breakUse .5) vs lofi's programmed boombap (0). lofi's row simply never read it.</li><li>idm (+1 -&gt; +8): checked the variation-feature hypothesis — it saturates at 1.0 nearly everywhere, can't carry transform density.</li><li>sludgemetal (+8 held, identity deepened): the doom drag — timeFeel pushPull, the whole band behind the beat with the bass draggiest (the amp about to die pulls the riff late)</li><li><strong>WORST-10 CLOSE-OUT</strong> — darksynth 0-&gt;+6, mallsoft 0-&gt;+8, witchhouse +1-&gt;+7, downtempo +1-&gt;+6, newage +1-&gt;+5, exotica +1-&gt;+5, spacelounge +1-&gt;+6, arabpop +1-&gt;+5 deepened, coldwave 0-&gt;+6, triphop +1-&gt;+6, idm +1-&gt;+8, sludgemetal +8…</li></ul>
<p><em>Verified:</em> verify.sh --full --no-cache PASS: matrix 63/63, validate 5-seed, engine. Fixtures: only coldwave/sludgemetal drifted (30 hashes); 59 genres + kit streams byte-stable.</p>
<p><a href="https://stellate.app/?genre=coldwave&amp;seed=3682&amp;path=1900.4416,388.8037,2097.8214&amp;xdur=0.159">▶ Play it: Unheated Archive → Inclement Surveillance → Harvest Quota Anthem — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/1ef26b62999ea2d3cf61c11d16a0674c82c0fba4">1ef26b6</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/1ef26b62999ea2d3cf61c11d16a0674c82c0fba4</comments>
</item>
<item>
<title>Deep pass: exotica, spacelounge, arabpop — tiki, orbit, maqam</title>
<link>https://stellate.app/?genre=spacelounge&amp;seed=4328&amp;path=315.4670,586.10667,1220.4964&amp;xdur=0.118</link>
<guid isPermaLink="false">d960f61894413e939687708986df115f6a4b2422</guid>
<pubDate>Sat, 04 Jul 2026 07:40:06 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spacelounge</category>
<category>downtempo</category>
<category>newjack</category>
<category>voice</category>
<description><![CDATA[exotica (margin 1 -> 7): the Baxter/Denny signature made literal — a sampleEvents AVIARY answers the melodic phrase on the back half of ~40% of chord bars (loon/iriomote/frogs, bright and DRY, the tiki room renders wash .21-.28).]]></description>
<content:encoded><![CDATA[<p>exotica (margin 1 -&gt; 7): the Baxter/Denny signature made literal — a sampleEvents AVIARY answers the melodic phrase on the back half of ~40% of chord bars (loon/iriomote/frogs, bright and DRY, the tiki room renders wash .21-.28).</p>
<ul><li>spacelounge (margin 1 -&gt; 5): the claim exotica cannot make — width and electronics, not acoustic birds.</li><li>arabpop (margin 8 held; identity deepened): culturally serious, no fake-vocal pastiche — the lead is the ornamented MONOPHONIC maqam line (voices [1,1]</li></ul>
<p><em>Verified:</em> verify.sh --full --no-cache PASS: matrix 63/63, validate 5-seed, engine. Fixtures: exactly the three genres drifted (31 hashes), kit streams byte-stable, rng streams undisturbed.</p>
<p><a href="https://stellate.app/?genre=spacelounge&amp;seed=4328&amp;path=315.4670,586.10667,1220.4964&amp;xdur=0.118">▶ Play it: Martini Parallax → Benthic Patience → Chrome Cotillion — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/d960f61894413e939687708986df115f6a4b2422">d960f61</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/d960f61894413e939687708986df115f6a4b2422</comments>
</item>
<item>
<title>Deep pass: witchhouse + the wash trio — margins +1 -&gt; +5..+7</title>
<link>https://stellate.app/?genre=downtempo&amp;seed=2439&amp;path=586.10667,1285.14089,1679.4415&amp;xdur=0.077</link>
<guid isPermaLink="false">0f32018fbd140e776608187b82ab773920f0b230</guid>
<pubDate>Sat, 04 Jul 2026 07:15:10 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>downtempo</category>
<category>witchhouse</category>
<category>vaporwave</category>
<category>harmony</category>
<description><![CDATA[The gate-3 wash cluster, structurally differentiated (one identity claim each that the neighbors cannot make, not target gerrymandering):]]></description>
<content:encoded><![CDATA[<p>The gate-3 wash cluster, structurally differentiated (one identity claim each that the neighbors cannot make, not target gerrymandering):</p>
<ul><li>ambient — the STATIC one: drone_min-dominant progressions (motion renders 0), kits [&quot;off&quot;] only (drumDensity strictly 0), chordEvery:32 (the longest harmonic plateau in the catalog).</li><li>downtempo — the BEAT one: swing floor raised (never straight), bpm dropped below exotica's tiki floor, timeFeel pushPull bass +.022 / hat -.014 (the head-nod lean, drawless).</li><li>newage — the MELODIC one: rubato prob 1 (gentler/slower than neoclassical — the only wash genre that breathes; every rival renders rubato 0), progressions always-moving.</li><li>witchhouse — the drowned occult drone: drone-dominant progressions + a sampleEvents pitched-down ghost voice (dragged to .42, lowpassed, drenched) answering the back half of each drone bar (26 events at seed…</li></ul>
<p><em>Verified:</em> verify.sh --full --no-cache PASS: matrix 63/63, validate 5-seed, engine. Fixtures: exactly 60 drifted hashes = the four genres; 59 others + all kit streams byte-stable.</p>
<p><a href="https://stellate.app/?genre=downtempo&amp;seed=2439&amp;path=586.10667,1285.14089,1679.4415&amp;xdur=0.077">▶ Play it: Benthic Patience → Chandelier Drowning → Food Court Eternity — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0f32018fbd140e776608187b82ab773920f0b230">0f32018</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0f32018fbd140e776608187b82ab773920f0b230</comments>
</item>
<item>
<title>Deep pass: darksynth + mallsoft — the audit's two margin-0 failures</title>
<link>https://stellate.app/?genre=dubstep&amp;seed=3390&amp;path=1379.18248,1044.3292,1873.8827&amp;xdur=0.05</link>
<guid isPermaLink="false">1b3959deaee7879d6a0538077394599469dd7e39</guid>
<pubDate>Sat, 04 Jul 2026 06:42:26 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>dubstep</category>
<category>darksynth</category>
<category>mallsoft</category>
<category>harmony</category>
<description><![CDATA[darksynth (was: scored 100 AS dubstep): the horror gate — transforms pool [stutter,rot] @ .16, ~1/6 of bars snap into a gated 16th-stutter or displaced-hat lurch over the relentless pulse.]]></description>
<content:encoded><![CDATA[<p>darksynth (was: scored 100 AS dubstep): the horror gate — transforms pool [stutter,rot] @ .16, ~1/6 of bars snap into a gated 16th-stutter or displaced-hat lurch over the relentless pulse.</p>
<ul><li>mallsoft (was: pool-shuffle, 100 as vaporwave): the dead-mall thesis made structural — form wave (arrive/drift/swell/recede/depart, kit mostly off: the band left), chordEvery:16 (muzak drifts the length of the…</li><li>Latent determinism bug found while recapturing fixtures and fixed: the module-global section-id counter made every track's section ids depend on how many genres resolved earlier in-process</li></ul>
<p><em>Verified:</em> verify.sh --full --no-cache PASS: matrix 63/63, validate 5-seed, engine. Dominance losses: fixed 5, added 0.</p>
<p><a href="https://stellate.app/?genre=dubstep&amp;seed=3390&amp;path=1379.18248,1044.3292,1873.8827&amp;xdur=0.05">▶ Play it: Seismic Ultimatum → Apex Curfew → Atrium Standing Wave — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/1b3959deaee7879d6a0538077394599469dd7e39">1b3959d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/1b3959deaee7879d6a0538077394599469dd7e39</comments>
</item>
<item>
<title>v4 Phase 6: source-class axis, ARTIC absorbed, deletion-list close-out</title>
<link>https://stellate.app/?genre=bigband&amp;seed=8117&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">92564065a50c733152a137c3cdfe74fd8d0e1b6d</guid>
<pubDate>Sat, 04 Jul 2026 06:09:21 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[SOURCE_CLASS in csd-engine: all 32 pitched models classified into five source classes (analog incl. the emulation fleet, fm, sampler, electromech, mechanical), each with an acoustic-membership grade; exported with sourceClassOf().]]></description>
<content:encoded><![CDATA[<p>SOURCE_CLASS in csd-engine: all 32 pitched models classified into five source classes (analog incl. the emulation fleet, fm, sampler, electromech, mechanical), each with an acoustic-membership grade; exported with sourceClassOf().</p>
<ul><li>Deletion list, item by item: ARTIC load-time patching TAKEN (12 genres now carry their envelope identity inline); STYLES presets TAKEN (zero live readers)</li><li>Fixture drift: ZERO — 1047/1047 byte-stable through every edit, nothing regenerated. verify --no-cache PASS: matrix 63/63, validate full 5-seed 5/1/0, engine smoke.</li><li>This closes the KERNEL-V4 strangler program: transforms, timeFeel, chordEvery, sampleEvents, and the source-class axis are dimensional infrastructure behind byte-stable adapters</li></ul>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=8117&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/92564065a50c733152a137c3cdfe74fd8d0e1b6d">9256406</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/92564065a50c733152a137c3cdfe74fd8d0e1b6d</comments>
</item>
<item>
<title>v4 Phase 5: 3-minute duration solver + form-graph section tags</title>
<link>https://stellate.app/?genre=witchhouse&amp;seed=5656&amp;path=1285.14089,1237.17819,1378.11127&amp;xdur=0.112</link>
<guid isPermaLink="false">37a60af0544859d95fe5df356d6c6c5c88470f85</guid>
<pubDate>Sat, 04 Jul 2026 05:53:56 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>witchhouse</category>
<category>afrobeat</category>
<category>industrialmetal</category>
<category>found</category>
<description><![CDATA[The charter's 3-min rule completes: track/blend/mix default targetSec:180 (journeys keep per-leg targets), and the blunt +/-15% deadband scaler is replaced by a deterministic solver]]></description>
<content:encoded><![CDATA[<p>The charter's 3-min rule completes: track/blend/mix default targetSec:180 (journeys keep per-leg targets), and the blunt +/-15% deadband scaler is replaced by a deterministic solver</p>
<ul><li>sectionTag(name) classifier (ground/build/peak/release/exposed/ cadence) exported from csd-engine; sampleEvents sections accepts &quot;tag:peak,cadence&quot; — rename-proof attach points, byte-safe, opt-in.</li><li>Exemptions (strangler, documented in-code): VIDEO_LOCKED forms (ritual/anthem/transit — hand-authored cycles graft onto committed videos, events byte-identical, cut-lock preserved) and MARGIN_FRAGILE (afrobeat…</li><li>Refusals: the seven form branches stay as the grammar instances (a byte-identical data rewrite buys nothing); forced bridge-bed/intro- outro pads entangled with the bedUse feature</li></ul>
<p><em>Verified:</em> verify.sh --no-cache PASS: matrix 63/63, validate incl. 5-seed dominance, engine; weakest gate-3 margins byte-identical to baseline.</p>
<p><a href="https://stellate.app/?genre=witchhouse&amp;seed=5656&amp;path=1285.14089,1237.17819,1378.11127&amp;xdur=0.112">▶ Play it: Chandelier Drowning → Polyrhythm Senate → Hydraulic Tantrum — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/37a60af0544859d95fe5df356d6c6c5c88470f85">37a60af</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/37a60af0544859d95fe5df356d6c6c5c88470f85</comments>
</item>
<item>
<title>v4 Phase 4: generalized sample-event roles (state.sampleEvents)</title>
<link>https://stellate.app/?genre=dinosynth&amp;seed=8663&amp;path=289.13893,893.15798&amp;xdur=0.375</link>
<guid isPermaLink="false">e9872ec726095c2e1011e739735aa5ada1847f44</guid>
<pubDate>Sat, 04 Jul 2026 05:27:02 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>dinosynth</category>
<category>bigbeat</category>
<category>found</category>
<description><![CDATA[One vocabulary replaces the need for per-idea special fields: sampleEvents:[{pool, placement, sync, sections, treatment, gain, prob}] with seven placements (bed/slice/oneShot/opener/cadence/ buried/response), section filters (all/first/quiet/name-regex), and a treatment block…]]></description>
<content:encoded><![CDATA[<p>One vocabulary replaces the need for per-idea special fields: sampleEvents:[{pool, placement, sync, sections, treatment, gain, prob}] with seven placements (bed/slice/oneShot/opener/cadence/ buried/response), section filters (all/first/quiet/name-regex), and a treatment block…</p>
<ul><li>Deletion REFUSED, justified: the charter's full deletion of the bespoke handlers (toState specials + engine L571-751) is the full-adoption vision</li><li>Pilots (fixture drift exactly 20 entries, state+events only, features byte-identical so the matrix holds by construction): bigbeat opener air-horn (fires once at beat 0.25), dinosynth response paleontologist…</li></ul>
<p><em>Verified:</em> verify.sh --no-cache PASS: matrix 63/63, validate 5/1/0 with gate 6 at 0 dangling, engine smoke. Perf 1.44 -&gt; 1.38 ms/state (pass gated off for 59/61 genres).</p>
<p><a href="https://stellate.app/?genre=dinosynth&amp;seed=8663&amp;path=289.13893,893.15798&amp;xdur=0.375">▶ Play it: Cretaceous Vespers → Airhorn Apocrypha — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/e9872ec726095c2e1011e739735aa5ada1847f44">e9872ec</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/e9872ec726095c2e1011e739735aa5ada1847f44</comments>
</item>
<item>
<title>v4 Phase 3: unified timeFeel — swing/humanize/rubato as one family</title>
<link>https://stellate.app/?genre=bebop&amp;seed=4734&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">922b5a6e56e6ef550684e463fd454fc9df58fe30</guid>
<pubDate>Sat, 04 Jul 2026 05:12:41 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[resolveTimeFeel(state) resolves the time dimensions to one spec applied in two stages: grid stage (applyGroove refactored — SWING_GRIDS table replaces the hardwired 8th special-case: "8th" byte-identical default, "16th" e/a offbeats, "triplet" generalized shuffle]]></description>
<content:encoded><![CDATA[<p>resolveTimeFeel(state) resolves the time dimensions to one spec applied in two stages: grid stage (applyGroove refactored — SWING_GRIDS table replaces the hardwired 8th special-case: &quot;8th&quot; byte-identical default, &quot;16th&quot; e/a offbeats, &quot;triplet&quot; generalized shuffle</p>
<ul><li>Kernel: state.timeFeel {grid, pushPull} blendable zero-rng (dominant grid, pushPull union + value-lerp)</li><li>Charter deviation, justified: the shuffle-kit placement (L372) was NOT deleted — skip=0.5+(2/3-0.5)*sw/0.3 IS the blues triplet ride, not avoidance code; deleting it drifts blues for no sonic gain.</li></ul>
<p><em>Verified:</em> verify.sh --no-cache PASS (matrix 63/63, validate, engine). Perf noise-dominated, no regression (medians overlap; best-of-8 1.15 vs 1.35 ms/state).</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=4734&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/922b5a6e56e6ef550684e463fd454fc9df58fe30">922b5a6</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/922b5a6e56e6ef550684e463fd454fc9df58fe30</comments>
</item>
<item>
<title>v4 Phase 2: pattern-transform algebra as a blendable dimension</title>
<link>https://stellate.app/?genre=bebop&amp;seed=5435&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">b991e96beacce34d253562390a45e91113b691c0</guid>
<pubDate>Sat, 04 Jul 2026 04:58:38 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[The Strudel per-cycle transform pass is no longer a hardcoded 5-case switch: state.transforms = {pool, rate, schedule, everyN, targets} drives ONE generic lane-tagged pass in buildEvents.]]></description>
<content:encoded><![CDATA[<p>The Strudel per-cycle transform pass is no longer a hardcoded 5-case switch: state.transforms = {pool, rate, schedule, everyN, targets} drives ONE generic lane-tagged pass in buildEvents.</p>
<ul><li>Kernel resolution is zero-rng (the reverbColor dominant-parent law): pool UNION across declaring parents in weight order + rate LERP; schedule/everyN/targets from the dominant declaring parent</li><li>Three pilot adopters (fixtures regenerated, drift confined exactly to their 41 entries): idm full 7-op pool @ rate .5 (drum tangles that never repeat, now literally true), minimal reductive pool everyN:8 (one…</li></ul>
<p><em>Verified:</em> verify.sh --no-cache PASS (matrix 63/63, validate, engine). Perf 1.488 -&gt; 1.389 ms/state (315-state harness) — the unification is free</p>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=5435&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b991e96beacce34d253562390a45e91113b691c0">b991e96</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b991e96beacce34d253562390a45e91113b691c0</comments>
</item>
<item>
<title>NEXT.md: record the multiband bake-vs-extract load measurements</title>
<link>https://stellate.app/?genre=citypop&amp;seed=2162&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">d9144c7211b7fb764875975093be0a7d4f5a0d5d</guid>
<pubDate>Sat, 04 Jul 2026 04:45:59 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[NEXT.md: record the multiband bake-vs-extract load measurements]]></description>
<content:encoded><![CDATA[<p><a href="https://stellate.app/?genre=citypop&amp;seed=2162&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/d9144c7211b7fb764875975093be0a7d4f5a0d5d">d9144c7</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/d9144c7211b7fb764875975093be0a7d4f5a0d5d</comments>
</item>
<item>
<title>Wings 2-4: found-vocal auto-tune, crybaby wah insert, multiband glue</title>
<link>https://stellate.app/?genre=hogcore&amp;seed=6357&amp;path=1670.17099,1679.4415,196.11743&amp;xdur=0.058</link>
<guid isPermaLink="false">a526c4ad0ace083a14dd479a1b5ea6e8beaeaa52</guid>
<pubDate>Sat, 04 Jul 2026 04:43:00 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>hogcore</category>
<category>vaporwave</category>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[STAGE 2 — auto-tune of the voice crates to song key (the unified deterministic clip-snap): found-player detects each clip's median F0 offline (decimated autocorrelation, first-peak anti-octave, parabolic interp, WeakMap-cached), bends playbackRate so the heard median lands on the nearest scale…]]></description>
<content:encoded><![CDATA[<p>STAGE 2 — auto-tune of the voice crates to song key (the unified deterministic clip-snap): found-player detects each clip's median F0 offline (decimated autocorrelation, first-peak anti-octave, parabolic interp, WeakMap-cached), bends playbackRate so the heard median lands on the nearest scale…</p>
<ul><li>STAGE 3 — insert_wah.dsp (amp-follower resonant bandpass sweep, mix 0 = bit-exact bypass) into the disco/newjack/afrobeat bass insert pools at prob .4-.45; live prewarms it; probe-wah PASS.</li><li>STAGE 4 — multiband master glue as an EXTERNAL post-pass module (master_mb.dsp, 3-band gentle comp) selected via state.masterComp, keeping fx_bus at committed bytes (same pattern as reverb color)</li><li>Blast radius verified: state-hash sweep 63 genres x 3 seeds — exactly six genres changed (hogcore, vaporwave, spokenword, disco, newjack, afrobeat), 57 byte-identical</li></ul>
<p><a href="https://stellate.app/?genre=hogcore&amp;seed=6357&amp;path=1670.17099,1679.4415,196.11743&amp;xdur=0.058">▶ Play it: Perihelion Squeal → Food Court Eternity → Dial Tone Prophet — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a526c4ad0ace083a14dd479a1b5ea6e8beaeaa52">a526c4a</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a526c4ad0ace083a14dd479a1b5ea6e8beaeaa52</comments>
</item>
<item>
<title>Mellotron sampler-mode + hammond joins the verifier's acoustic list</title>
<link>https://stellate.app/?genre=neoclassical&amp;seed=1750&amp;path=859.2784,1405.21491,289.13893&amp;xdur=0.04</link>
<guid isPermaLink="false">94afcb0ed68f80b069b0e27099344d2809477fec</guid>
<pubDate>Sat, 04 Jul 2026 03:55:58 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>neoclassical</category>
<category>acidhouse</category>
<category>dinosynth</category>
<category>sampler</category>
<description><![CDATA[PART A — Mellotron tape mode on the native sampler, both engines: wow (~0.7Hz) + flutter (~7Hz) semitone undulation on playbackRate, 8s tape-strip cap with tape-runs-out pitch sag, gentle head-EQ.]]></description>
<content:encoded><![CDATA[<p>PART A — Mellotron tape mode on the native sampler, both engines: wow (~0.7Hz) + flutter (~7Hz) semitone undulation on playbackRate, 8s tape-strip cap with tape-runs-out pitch sag, gentle head-EQ.</p>
<ul><li>PART B — measured both ways, then decided: hammond (a tonewheel organ, genuinely electro-mechanical) joins genre-verifier's acoustic model-list at organ-grade .6</li></ul>
<p><em>Verified:</em> verify.sh PASS both parts: matrix 63/63, validate, engine smoke.</p>
<p><a href="https://stellate.app/?genre=neoclassical&amp;seed=1750&amp;path=859.2784,1405.21491,289.13893&amp;xdur=0.04">▶ Play it: Requiem Appendix → Titration Rapture → Cretaceous Vespers — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/94afcb0ed68f80b069b0e27099344d2809477fec">94afcb0</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/94afcb0ed68f80b069b0e27099344d2809477fec</comments>
</item>
<item>
<title>Reverb COLOR as a genre dimension + crate-dig clips into the pools</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=3709&amp;path=1679.4415,289.13893,1336.7630&amp;xdur=0.078</link>
<guid isPermaLink="false">9f31b02d363d190f2e4f5950cd0619cbe24fbb0e</guid>
<pubDate>Sat, 04 Jul 2026 03:26:53 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>dinosynth</category>
<category>chiptune</category>
<category>harmony</category>
<description><![CDATA[Faust wings stage 1: four reverb characters, each a precompiled 2-in/ 2-out module — dattorro plate (citypop/house), greyhole smear (witchhouse/dinosynth), dry freeverb FDN room (tango/blues/prelude), hand-rolled spring tank with dispersive allpass boing (surfrock, its identity).]]></description>
<content:encoded><![CDATA[<p>Faust wings stage 1: four reverb characters, each a precompiled 2-in/ 2-out module — dattorro plate (citypop/house), greyhole smear (witchhouse/dinosynth), dry freeverb FDN room (tango/blues/prelude), hand-rolled spring tank with dispersive allpass boing (surfrock, its identity).</p>
<ul><li>Byte-safety trap documented in VOICES.md: a full node build.js churns all 97 committed wasm files (compiler not byte-deterministic)</li><li>Also: the 16 crate-dig library clips (cmm_/im_/jm_/la_/mo_ — commit c70d20d) wired into GENRE_CLIPS across 24 genre pools per the cueing crew's frame-inspection affinities (Bell Labs CGI -&gt; vaporwave/…</li><li>Wings stages 2-4 (auto-tune, wah, scale-snap/multiband) deferred with architecture notes in NEXT.md — the found layer is native, so auto-tune needs the unified deterministic clip-snap, not a Faust drop-in.</li></ul>
<p><em>Verified:</em> verify.sh PASS: matrix 63/63, validate, engine press smoke.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=3709&amp;path=1679.4415,289.13893,1336.7630&amp;xdur=0.078">▶ Play it: Food Court Eternity → Cretaceous Vespers → Sprite Metabolism — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9f31b02d363d190f2e4f5950cd0619cbe24fbb0e">9f31b02</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9f31b02d363d190f2e4f5950cd0619cbe24fbb0e</comments>
</item>
<item>
<title>Cue the crate-dig video library: cut-lib-clips.sh recipe + credits</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=6506&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">12a235daa42abe7d42a12be2da91824e4cc0b26e</guid>
<pubDate>Sat, 04 Jul 2026 03:19:59 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[The ~525MB of orphaned reels in found/video/lib/ (no fetch recipe, no cue manifest, from the crew that died on credit exhaustion) are now cued: 16 silent 640px clips across 5 reels — Bell Labs early CGI incl.]]></description>
<content:encoded><![CDATA[<p>The ~525MB of orphaned reels in found/video/lib/ (no fetch recipe, no cue manifest, from the crew that died on credit exhaustion) are now cued: 16 silent 640px clips across 5 reels — Bell Labs early CGI incl.</p>
<ul><li>anime_momotaro_umiwashi (1943) left UN-CUED: explicit air-raid propaganda + racial caricature, no usable windows — flagged in SOURCES.md for human review/deletion.</li><li>GENRE_CLIPS pool additions wait on the kernel file (wings crew holds it); the suggested per-genre list is in segments.json genre tags.</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=6506&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/12a235daa42abe7d42a12be2da91824e4cc0b26e">12a235d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/12a235daa42abe7d42a12be2da91824e4cc0b26e</comments>
</item>
<item>
<title>NEXT.md: fleet round landed; queue = wings, mellotron, verifier organs</title>
<link>https://stellate.app/?genre=citypop&amp;seed=9364&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">3c3de93c730358f35bf005c74055c5d7a5a8e573</guid>
<pubDate>Sat, 04 Jul 2026 02:47:36 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[NEXT.md: fleet round landed; queue = wings, mellotron, verifier organs]]></description>
<content:encoded><![CDATA[<p><a href="https://stellate.app/?genre=citypop&amp;seed=9364&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/3c3de93c730358f35bf005c74055c5d7a5a8e573">3c3de93</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/3c3de93c730358f35bf005c74055c5d7a5a8e573</comments>
</item>
<item>
<title>Integrate synth fleet: stereo voice path, live mono-legato, 303 accent/slide</title>
<link>https://stellate.app/?genre=italo&amp;seed=9210&amp;path=1784.4857,639.7941,1530.6221&amp;xdur=0.227</link>
<guid isPermaLink="false">38267fea1c85e1f5c92ebd0e0214b0f03b7b644b</guid>
<pubDate>Sat, 04 Jul 2026 02:46:50 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>italo</category>
<category>sovietwave</category>
<category>citypop</category>
<category>harmony</category>
<description><![CDATA[Wires the nine 5f8c11e voices into the engine and genre space; all gates green (verify.sh --no-cache: matrix 63/63, validate 5/1/0, engine PASS; live smoke RMS 60/60 nonzero, 0 console errors).]]></description>
<content:encoded><![CDATA[<p>Wires the nine 5f8c11e voices into the engine and genre space; all gates green (verify.sh --no-cache: matrix 63/63, validate 5/1/0, engine PASS; live smoke RMS 60/60 nonzero, 0 console errors).</p>
<ul><li>manifest.json: full rebuild registers all nine (juno60/hammond/vp330 outputs:2); recompiled binaries reverted to committed bytes, diff is manifest-only</li><li>state-engine.js: pitchedUnit cases for all nine with recipe mappings per the builder contracts; disambiguated keys (chorusSpread, czWave, czDetune, syncDetune, obDetune, vpDetune) where shared names collide</li><li>STEREO voice path (first 2-out voices): press accumulates [0]/[1] into wide L/R dry buses (sends stay mono-sum); live splits dryBus through a ChannelSplitter into merger L/R, mono voices up-mix centered.</li><li><strong>LIVE MONO-LEGATO</strong> — pool forced to 1 when u.mono, all notes to node 0, params set before gate-on, gate HELD across legato groups (press parity). probe-modeld: nodes 3-&gt;1, re-attacks many-&gt;1, 19 glide runs.</li></ul>
<p><a href="https://stellate.app/?genre=italo&amp;seed=9210&amp;path=1784.4857,639.7941,1530.6221&amp;xdur=0.227">▶ Play it: Espresso Laser → Cosmodrome Lullaby → Neon Fiscal Year — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/38267fea1c85e1f5c92ebd0e0214b0f03b7b644b">38267fe</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/38267fea1c85e1f5c92ebd0e0214b0f03b7b644b</comments>
</item>
<item>
<title>Synth fleet (9 voices) + genre-tool.js + hogcore/prelude commissions</title>
<link>https://stellate.app/?genre=hogcore&amp;seed=1701&amp;path=1670.17099,896.90,1101.20850&amp;xdur=0.036</link>
<guid isPermaLink="false">844f45b537067978cd04b49b0fee477e7339ba3c</guid>
<pubDate>Sat, 04 Jul 2026 02:00:33 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>hogcore</category>
<category>prelude</category>
<category>house</category>
<category>voice</category>
<description><![CDATA[Nine classic-synth Faust voices, every one compiled clean and probe- verified on real offline renders (identity behaviors measured, not assumed): juno60 (BBD chorus widener, first stereo voice), tb303 (true accent/slide semantics]]></description>
<content:encoded><![CDATA[<p>Nine classic-synth Faust voices, every one compiled clean and probe- verified on real offline renders (identity behaviors measured, not assumed): juno60 (BBD chorus widener, first stereo voice), tb303 (true accent/slide semantics</p>
<ul><li>hogcore (spec in genre-specs/): 24 espeak HP names as the hook — pitched-up chops + rotating station names + drop stabs over simple 150-164 hyperpop; self-score 100, nearest gabber 98 (keeps its diagonal)</li><li>prelude: Bach broken-chord 16ths, chordEvery:16 (v4 Phase 1's first real user), felt piano/bright grand, kit off, light rubato; self- score 100, nearest newage 96/neoclassical 95</li></ul>
<p><em>Verified:</em> verify.sh PASS: matrix 63/63 diagonal-dominant, validate 5 pass/1 pre-existing wash-cluster warn, engine press smoke non-silent.</p>
<p><a href="https://stellate.app/?genre=hogcore&amp;seed=1701&amp;path=1670.17099,896.90,1101.20850&amp;xdur=0.036">▶ Play it: Perihelion Squeal → The Turning Stair → Congregation Furnace — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/844f45b537067978cd04b49b0fee477e7339ba3c">844f45b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/844f45b537067978cd04b49b0fee477e7339ba3c</comments>
</item>
<item>
<title>Model D voice + live DX7 patch morphing; hogcore material; handoff</title>
<link>https://stellate.app/?genre=hogcore&amp;seed=1850&amp;path=1670.17099,859.9931,1784.4857&amp;xdur=0.061</link>
<guid isPermaLink="false">d4f7411a8cc351c943a06df2ae1923ab0f6121df</guid>
<pubDate>Sat, 04 Jul 2026 01:25:40 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>hogcore</category>
<category>synthwave</category>
<category>italo</category>
<category>voice</category>
<description><![CDATA[Four crews died mid-task on credit exhaustion; this commits the coherent survivors (all pass verify.sh + live headless smoke):]]></description>
<content:encoded><![CDATA[<p>Four crews died mid-task on credit exhaustion; this commits the coherent survivors (all pass verify.sh + live headless smoke):</p>
<ul><li>Model D voice (faust/dsp/modeld.dsp): 3-osc + ladder + filter-env + drive + portamento/glide, mono-legato pool; wired to synthwave/ darksynth/edm/krautrock/italo/disco/spacelounge; presses clean</li><li>Live DX7 patch morphing (explorer.html, faust/live.js): discrete voice-flips now deep-copy the dx7+sampler object; same-algorithm blends lerp the 144-dim param vector live</li><li>hogcore material: 24 espeak HP-name voices (found/, gitignored) + fetch recipe; genre-tool.js + anchor still TODO (crew died blocked)</li><li>NEXT.md: full state + queue for the next session</li></ul>
<p><em>Verified:</em> verify.sh PASS (matrix 61/61, validate, engine); orphan crate-dig video (~525MB, gitignored, no manifest yet) noted in NEXT.md</p>
<p><a href="https://stellate.app/?genre=hogcore&amp;seed=1850&amp;path=1670.17099,859.9931,1784.4857&amp;xdur=0.061">▶ Play it: Perihelion Squeal → Highway Heat Death → Espresso Laser — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/d4f7411a8cc351c943a06df2ae1923ab0f6121df">d4f7411</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/d4f7411a8cc351c943a06df2ae1923ab0f6121df</comments>
</item>
<item>
<title>Zoom laws: pinch scales type, white-on-interact, chrome pixel-locked</title>
<link>https://stellate.app/?genre=citypop&amp;seed=5701&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">54e29de5ee0643f841dcf738713f98a031ff8917</guid>
<pubDate>Sat, 04 Jul 2026 00:44:33 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[label font = 11px * clamp(k^0.85, 1, 3); badges/offsets scale with it]]></description>
<content:encoded><![CDATA[<p>label font = 11px * clamp(k^0.85, 1, 3); badges/offsets scale with it</p>
<ul><li>anchors flash white during any map interaction, ease back over .45s</li><li>page-zoom leaks closed (viewport max-scale, body touch-action, ctrl+wheel and Safari gesture preventDefault) — chips/video/brand rects byte-identical under synthetic pinch; park-at-2.5x error 0</li></ul>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=5701&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/54e29de5ee0643f841dcf738713f98a031ff8917">54e29de</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/54e29de5ee0643f841dcf738713f98a031ff8917</comments>
</item>
<item>
<title>v4 Phase 1: pulse-set rhythm lanes; audio laws; census recovered</title>
<link>https://stellate.app/?genre=bigband&amp;seed=6563&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">ffb68873db974be6deb31572f1f5e7430ff98970</guid>
<pubDate>Sat, 04 Jul 2026 00:41:27 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[18 procedural kits -> KITS data lanes + one interpreter; euclid is lane notation not an overlay; chordEvery dimension replaces the CHORD_BEATS=8 assumption (default 8, zero rng when absent)]]></description>
<content:encoded><![CDATA[<p>18 procedural kits -&gt; KITS data lanes + one interpreter; euclid is lane notation not an overlay; chordEvery dimension replaces the CHORD_BEATS=8 assumption (default 8, zero rng when absent)</p>
<ul><li>fixtures.js harness: 1017/1017 hashes byte-stable across the refactor; buildEvents ~30% faster (2.1 -&gt; 1.4 ms/state)</li><li>audio laws (human-calibrated): crackle -6dB at the one realization point; noise sweeps -9dB with deep resonant cuts (riser 150-2200Hz res .72) — in-context riser contribution -18 -&gt; -35dB peak</li><li>lost transitions census reconstructed: micro lick 31.8% / kit fill 23.3% of auto picks, sweep 0%; 3-min rule firing 72/183 tracks; sampler 200/366; honky_tonk wired into blues comping</li><li>render-sample-video cut-lock math learns chordEvery</li></ul>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=6563&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/ffb68873db974be6deb31572f1f5e7430ff98970">ffb6887</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/ffb68873db974be6deb31572f1f5e7430ff98970</comments>
</item>
<item>
<title>Neoclassical deep pass + musical transitions round (merged)</title>
<link>https://stellate.app/?genre=neoclassical&amp;seed=5914&amp;path=859.2762,878.2795,840.2795&amp;xdur=13.122</link>
<guid isPermaLink="false">ae241f6248b0210b3400b7869f34e1ca66a6a694</guid>
<pubDate>Fri, 03 Jul 2026 23:53:50 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>neoclassical</category>
<category>sampler</category>
<description><![CDATA[neoclassical: felt piano (2/3+ lead+bass), strings swell pads (organ purged), contrary-motion counterpoint, pedal thunks, RUBATO as a real time dimension (beat-warp in buildEvents, all layers sample-locked, 0.15ms skew); margins vs ambient/newage +0 -> +6/+7]]></description>
<content:encoded><![CDATA[<p>neoclassical: felt piano (2/3+ lead+bass), strings swell pads (organ purged), contrary-motion counterpoint, pedal thunks, RUBATO as a real time dimension (beat-warp in buildEvents, all layers sample-locked, 0.15ms skew); margins vs ambient/newage +0 -&gt; +6/+7</p>
<ul><li>transitions round (report lost to API error, edits verified in-tree + verify.sh green): sampler micro-lick transitions, 3-min evolution rule, soundfont liberalization, sweep demotion</li></ul>
<p><em>Verified:</em> verify.sh PASS 9.8s on merged tree</p>
<p><a href="https://stellate.app/?genre=neoclassical&amp;seed=5914&amp;path=859.2762,878.2795,840.2795&amp;xdur=13.122">▶ Play it: Requiem Appendix — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/ae241f6248b0210b3400b7869f34e1ca66a6a694">ae241f6</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/ae241f6248b0210b3400b7869f34e1ca66a6a694</comments>
</item>
<item>
<title>Blues deep pass (acoustic soul) + verification suite 5x-20x faster</title>
<link>https://stellate.app/?genre=bigband&amp;seed=1679&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">4343fb27dce07c73203867fac6f630c655f50836</guid>
<pubDate>Fri, 03 Jul 2026 22:53:28 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[upright bass via sampler-for-bass (sub gone), sampled organ COMPING not wash, blue-note bends (playbackRate glides, live+press parity), shuffle kit on the true triplet grid, 2-bar call/response with the 1920s 78rpm singer answered by the guitar]]></description>
<content:encoded><![CDATA[<p>upright bass via sampler-for-bass (sub gone), sampled organ COMPING not wash, blue-note bends (playbackRate glides, live+press parity), shuffle kit on the true triplet grid, 2-bar call/response with the 1920s 78rpm singer answered by the guitar</p>
<p><em>Verified:</em> verify: matrix per-cell rebuild hoisted (23s-&gt;1.2s), content-addressed cache (0.17s replays), sharding, concurrent press smoke, verify.sh gates: matrix 61/61 (blues 100 vs jazz 99), validate…</p>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=1679&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/4343fb27dce07c73203867fac6f630c655f50836">4343fb2</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/4343fb27dce07c73203867fac6f630c655f50836</comments>
</item>
<item>
<title>Variety round: 114 DX7 presets, SoundFont sampler, acoustic identities</title>
<link>https://stellate.app/?genre=citypop&amp;seed=7621&amp;path=1530.6199,1549.6232,1511.6232&amp;xdur=13.122</link>
<guid isPermaLink="false">b239e8e563ffcff5e1b4342a27a15d79dc4084ba</guid>
<pubDate>Fri, 03 Jul 2026 22:02:29 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>sampler</category>
<description><![CDATA[DX7 — 8 factory ROMs decoded/curated to 114 presets across 27 anchors; 24 algorithm modules; patch morphing in blends]]></description>
<content:encoded><![CDATA[<ul><li><strong>DX7</strong> — 8 factory ROMs decoded/curated to 114 presets across 27 anchors; 24 algorithm modules; patch morphing in blends</li><li>SoundFonts: sf2.js zone parser + sampler model (FluidR3 MIT) — sax, guitars, trumpet, flute, clarinet, vibes, strings, bandoneon; acoustic genres now LEAD with sampled voices (jazz sax 2/3, tango bandoneon 3/3)</li><li>tango rebuilt from evidence: frost purged, pad wall down (1/8 at .31), dry, habanera piano bass; ear-proxy gate: 3/3 minor vs citypop 3/3 major</li><li>bass patterns syncopated+pedal; arps rebalanced; cycle mutation 98.6%</li></ul>
<p><em>Verified:</em> matrix 61/61, validate PASS, 10/10 loop sustains, load 0.98</p>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=7621&amp;path=1530.6199,1549.6232,1511.6232&amp;xdur=13.122">▶ Play it: Neon Fiscal Year — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b239e8e563ffcff5e1b4342a27a15d79dc4084ba">b239e8e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b239e8e563ffcff5e1b4342a27a15d79dc4084ba</comments>
</item>
<item>
<title>Mixer, per-voice insert FX as vector dimensions, automated fills</title>
<link>https://stellate.app/?genre=ragtime&amp;seed=8522&amp;path=753.14435,772.14468,734.14468&amp;xdur=13.122</link>
<guid isPermaLink="false">954fe28a4aea46cf662376d6e42ca3eb5f1dd2fc</guid>
<pubDate>Fri, 03 Jul 2026 20:54:06 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ragtime</category>
<category>melody</category>
<description><![CDATA[mixer modal: 10 layer taps/meters/faders/mute-solo; buried-vs-absent answered at a glance (not-in-this-section state)]]></description>
<content:encoded><![CDATA[<p>mixer modal: 10 layer taps/meters/faders/mute-solo; buried-vs-absent answered at a glance (not-in-this-section state)</p>
<ul><li>insert FX dimension: distort/phaser/chorus/filtersweep pools on ~32 anchors, blended + constrained like every dimension; kernel emits instruments.*.inserts</li><li>fills: 100% of major section boundaries filled, seeded no-repeat, 3 new flavors (snare roll, stutter gate, dropout); genre-curated</li></ul>
<p><em>Verified:</em> matrix 61/61, validate PASS, ab regression md5-identical, live load &gt;=0.97 with inserts + mixer</p>
<p><a href="https://stellate.app/?genre=ragtime&amp;seed=8522&amp;path=753.14435,772.14468,734.14468&amp;xdur=13.122">▶ Play it: Perforated Afterlife — the anchor authored from a measured corpus of real melodies</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/954fe28a4aea46cf662376d6e42ca3eb5f1dd2fc">954fe28</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/954fe28a4aea46cf662376d6e42ca3eb5f1dd2fc</comments>
</item>
<item>
<title>Clean-sky modal chrome; audio survives background tabs</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=9793&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">efc2470961a29ad4abcc84b1fe14207e05e16ffd</guid>
<pubDate>Fri, 03 Jul 2026 20:09:30 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[sky shows brand + three chips (play/stop, chyron, controls); panel and lower-third are modals (backdrop/Esc/chip dismiss)]]></description>
<content:encoded><![CDATA[<p>sky shows brand + three chips (play/stop, chyron, controls); panel and lower-third are modals (backdrop/Esc/chip dismiss)</p>
<ul><li>lookahead 4-&gt;6s vs background timer clamp; visibility/focus resume handlers; audited: nothing in the audio path depends on rAF</li></ul>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=9793&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/efc2470961a29ad4abcc84b1fe14207e05e16ffd">efc2470</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/efc2470961a29ad4abcc84b1fe14207e05e16ffd</comments>
</item>
<item>
<title>Live engine: instant stop, declicked, single-clock scheduler; one overlay; map pinch zoom</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=4869&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">21542dc53cd2753e22fd730e1d477f4465b502fa</guid>
<pubDate>Fri, 03 Jul 2026 19:47:04 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[stop: master mute ramp (60ms) + scheduler abort + found stopAll + ctx close — reverb tails and pre-scheduled grains no longer survive]]></description>
<content:encoded><![CDATA[<p>stop: master mute ramp (60ms) + scheduler abort + found stopAll + ctx close — reverb tails and pre-scheduled grains no longer survive</p>
<ul><li>clicks: chop-sag step -&gt; ramp (csound parity), glide params via setTargetAtTime, voice-steal declick dip, looping grains (no mid-hann truncation)</li><li>tempo drift root cause: per-event ctx.currentTime re-sampling + awaits mid-bar gave layers different clocks; now all awaits precede time math, one now per bar, uniform late shift</li><li><strong>UI</strong> — playhead/chyron/status merged into one hideable lower-third; pinch / ctrl+wheel zoom on the star chart only (1-4x, exact inverse mapping verified while parked at 2x)</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=4869&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — the brightest, most processed corner of the space</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/21542dc53cd2753e22fd730e1d477f4465b502fa">21542dc</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/21542dc53cd2753e22fd730e1d477f4465b502fa</comments>
</item>
<item>
<title>61 genres; MTV chyron; auto-journeys; spokenword fix; strudel+csound removed</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=2739&amp;path=196.11743,1220.4964,1530.6221&amp;xdur=0.108</link>
<guid isPermaLink="false">e0bb94eb3aa07dc881ad95a7c24d7054de093829</guid>
<pubDate>Fri, 03 Jul 2026 17:31:32 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>newjack</category>
<category>citypop</category>
<category>voice</category>
<description><![CDATA[Round 3: 29 anchors (citypop shibuyakei bossanova idm electro miamibass phonk witchhouse mallsoft wintersynth gabber psytrance minimal deephouse coldwave ebm krautrock newjack breakcore acidhouse surfrock spacelounge arabpop tango afrobeat desertblues sludgemetal industrialmetal darksynth) with…]]></description>
<content:encoded><![CDATA[<p>Round 3: 29 anchors (citypop shibuyakei bossanova idm electro miamibass phonk witchhouse mallsoft wintersynth gabber psytrance minimal deephouse coldwave ebm krautrock newjack breakcore acidhouse surfrock spacelounge arabpop tango afrobeat desertblues sludgemetal industrialmetal darksynth) with…</p>
<ul><li>spokenword root cause: archive recordings open with minutes of tape hiss; found-player now finds sustained active audio, refetches deeper, boost- normalizes speech (voice provably in the mix)</li><li>explorer: boots with a seeded 3-stop journey across distant anchors; MTV chyron via shared namebank.js (48 banks; deterministic band/album/label + per-instrument musicians that change on lineup flips)</li><li>simplification: strudel surface + csound removed from main (all preserved on legacy-csound); builder/play tombstoned; engine.test = faust smoke; scratch renders swept to scratch/</li></ul>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=2739&amp;path=196.11743,1220.4964,1530.6221&amp;xdur=0.108">▶ Play it: Dial Tone Prophet → Chrome Cotillion → Neon Fiscal Year — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/e0bb94eb3aa07dc881ad95a7c24d7054de093829">e0bb94e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/e0bb94eb3aa07dc881ad95a7c24d7054de093829</comments>
</item>
<item>
<title>Composition algebra + DX7 patch space; Faust parity gaps closed</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=2579&amp;path=1679.4415,263.9071,639.7941&amp;xdur=0.154</link>
<guid isPermaLink="false">9148ba33bd52544b64d1a4b45bd2fa02e2d031cf</guid>
<pubDate>Fri, 03 Jul 2026 15:41:12 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>lofi</category>
<category>sovietwave</category>
<category>mix</category>
<description><![CDATA[buildEvents: euclidean rhythm dimension (5 anchors), per-cycle seeded transform pool, jux stereo divergence (per-event pan; legacy ignores)]]></description>
<content:encoded><![CDATA[<p>buildEvents: euclidean rhythm dimension (5 anchors), per-cycle seeded transform pool, jux stereo divergence (per-event pan; legacy ignores)</p>
<ul><li>DX7 patch space: patches as 144-dim vectors; same-algorithm blends LERP the vectors (vaporwave x lofi -&gt; &quot;TUB BELLS~E.PIANO 1&quot;); pool options in lofi/vaporwave/newage/ambient/sovietwave/house</li><li>faust: snarePP routing, per-recipe release/fenv, hann live grains, per-note DX7 velocity, eco 3, on-demand algorithm compile</li></ul>
<p><em>Verified:</em> matrix 32/32, validate-genres PASS, ab 40/0, engine.test 64/64</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=2579&amp;path=1679.4415,263.9071,639.7941&amp;xdur=0.154">▶ Play it: Food Court Eternity → Dust Census → Cosmodrome Lullaby — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9148ba33bd52544b64d1a4b45bd2fa02e2d031cf">9148ba3</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9148ba33bd52544b64d1a4b45bd2fa02e2d031cf</comments>
</item>
<item>
<title>Faust engine phases 1-3: sole backend, gated switchover</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=9472&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">391fe4b0c1fdb8e21a0798f2b95e283427ab23fb</guid>
<pubDate>Fri, 03 Jul 2026 14:38:45 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[42-model voice library, A/B-verified vs legacy csound (40 PASS / 2 deliberate substitutions); DX7 sysex pipeline; channel vocoder]]></description>
<content:encoded><![CDATA[<p>42-model voice library, A/B-verified vs legacy csound (40 PASS / 2 deliberate substitutions); DX7 sysex pipeline; channel vocoder</p>
<ul><li>state-engine + native found-sound player + exploreLive-compatible live facade + press.js CLI (2-10x realtime offline renders)</li><li>CONSTELLATE defaults to Faust (?engine=csound = legacy escape hatch); journey press routed through press.js; rgain ceiling widened</li></ul>
<p><em>Verified:</em> 6-genre full-length A/B within 3dB (BDJ soft-clip curve ported exactly), Discogs-EffNet rank parity, live glide 0.98x zero errors</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=9472&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/391fe4b0c1fdb8e21a0798f2b95e283427ab23fb">391fe4b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/391fe4b0c1fdb8e21a0798f2b95e283427ab23fb</comments>
</item>
<item>
<title>FAUST-PORT charter: Faust as sole backend; kernel unchanged; phased gates</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=3098&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">af523422b1863bd985e3057ef1a1e5285e3fe7f9</guid>
<pubDate>Fri, 03 Jul 2026 13:02:07 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>synth</category>
<description><![CDATA[FAUST-PORT charter: Faust as sole backend; kernel unchanged; phased gates]]></description>
<content:encoded><![CDATA[<p><a href="https://stellate.app/?genre=synthwave&amp;seed=3098&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — where the synthesis is the identity, not the decoration</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/af523422b1863bd985e3057ef1a1e5285e3fe7f9">af52342</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/af523422b1863bd985e3057ef1a1e5285e3fe7f9</comments>
</item>
<item>
<title>Sung chorus toolchain (sing.py WORLD vocoder + render script); ignore venv/journey artifacts</title>
<link>https://stellate.app/?genre=ragtime&amp;seed=8933&amp;path=753.14435,772.14468,734.14468&amp;xdur=13.122</link>
<guid isPermaLink="false">410ca5ddb82b65b9847efce9f40b0307f3c51812</guid>
<pubDate>Fri, 03 Jul 2026 13:00:01 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ragtime</category>
<category>melody</category>
<description><![CDATA[Sung chorus toolchain (sing.py WORLD vocoder + render script); ignore venv/journey artifacts]]></description>
<content:encoded><![CDATA[<p><a href="https://stellate.app/?genre=ragtime&amp;seed=8933&amp;path=753.14435,772.14468,734.14468&amp;xdur=13.122">▶ Play it: Perforated Afterlife — the anchor authored from a measured corpus of real melodies</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/410ca5ddb82b65b9847efce9f40b0307f3c51812">410ca5d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/410ca5ddb82b65b9847efce9f40b0307f3c51812</comments>
</item>
<item>
<title>Faust prototype: per-voice WASM engine, DX7 sysex pipeline, port map</title>
<link>https://stellate.app/?genre=bigband&amp;seed=1654&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">fe22b5e6874bb005d93c06e689f028b683af83ee</guid>
<pubDate>Fri, 03 Jul 2026 12:59:09 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[Benchmarked: recompile-free timbre (144-param DX7 patch swap in 0.43ms live), clean at 8x CPU throttle, offline node rendering 3x realtime. dx7.lib + sysex2params.js decode any cartridge bank (learnfm corpus compatible).]]></description>
<content:encoded><![CDATA[<p>Benchmarked: recompile-free timbre (144-param DX7 patch swap in 0.43ms live), clean at 8x CPU throttle, offline node rendering 3x realtime. dx7.lib + sysex2params.js decode any cartridge bank (learnfm corpus compatible).</p>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=1654&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/fe22b5e6874bb005d93c06e689f028b683af83ee">fe22b5e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/fe22b5e6874bb005d93c06e689f028b683af83ee</comments>
</item>
<item>
<title>Crates: 23 voice sources, 118 video clips, socialist-wave material; docs</title>
<link>https://stellate.app/?genre=spokenword&amp;seed=8038&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122</link>
<guid isPermaLink="false">f49868eea70321fc50073536399b79a9145bfdc5</guid>
<pubDate>Fri, 03 Jul 2026 12:59:09 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>spokenword</category>
<category>voice</category>
<description><![CDATA[fetch-found-voice.sh: Naropa poets, Conet numbers stations, LibriVox, OTR, FDR/D-Day, WWVH/Apollo/time ladies, East Is Red, Red Army choir, Lenin 1919-21, Radio Moscow (licenses flagged per item in SOURCES.md)]]></description>
<content:encoded><![CDATA[<p>fetch-found-voice.sh: Naropa poets, Conet numbers stations, LibriVox, OTR, FDR/D-Day, WWVH/Apollo/time ladies, East Is Red, Red Army choir, Lenin 1919-21, Radio Moscow (licenses flagged per item in SOURCES.md)</p>
<ul><li>fetch-found-video.sh: +30 clips (Prelinger dream-Americana, Manhatta, Market Street 1906, Ballet Mecanique, molten steel, Apollo 16mm, Kodachrome Hawaii, soundies, coffee-house hootenanny)</li><li>docs: journey pipeline, genre-space updates</li></ul>
<p><a href="https://stellate.app/?genre=spokenword&amp;seed=8038&amp;path=196.11721,215.11754,177.11754&amp;xdur=13.122">▶ Play it: Dial Tone Prophet — the genre built out of recorded and synthesized voices</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/f49868eea70321fc50073536399b79a9145bfdc5">f49868e</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/f49868eea70321fc50073536399b79a9145bfdc5</comments>
</item>
<item>
<title>CONSTELLATE: star-map explorer, journey press, self-hosted Strudel remix</title>
<link>https://stellate.app/?genre=bebop&amp;seed=9538&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">9c487dfa1fe66bd9f406c965935db74fc5822d5f</guid>
<pubDate>Fri, 03 Jul 2026 12:59:09 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[explorer -> CONSTELLATE: full-bleed star map over genre-affine found video, path draw/import/export, pace slider, per-neighborhood keys, pre-LIVE cursor placement, now-playing chip, mobile profile]]></description>
<content:encoded><![CDATA[<p>explorer -&gt; CONSTELLATE: full-bleed star map over genre-affine found video, path draw/import/export, pace slider, per-neighborhood keys, pre-LIVE cursor placement, now-playing chip, mobile profile</p>
<ul><li>wasm-audio: samples fix (samplePath fallback + full neededSources), live fidelity (toms/solos/sweeps/chop p-fields, voctab), perf surgery (coalesced recompiles, batched injection, channel diffing, LRU wav…</li><li>render-sample-video journey mode (genre-affine clips); mix page with embedded journey player, blends, strudel links; 18-genre name banks</li><li>strudel-export + vendored @strudel/repl (AGPL, unmodified) + remix.html: every state opens as live-editable pattern code, same-origin</li><li>serve.sh sends COOP/COEP (cross-origin isolation), matching production</li></ul>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=9538&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9c487dfa1fe66bd9f406c965935db74fc5822d5f">9c487df</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9c487dfa1fe66bd9f406c965935db74fc5822d5f</comments>
</item>
<item>
<title>Kernel v3: 32 verified genres, vocoder instrument, validation framework</title>
<link>https://stellate.app/?genre=jungle&amp;seed=1348&amp;path=1718.20526,1505.3720,1581.9806&amp;xdur=0.045</link>
<guid isPermaLink="false">daa034bcc3840b90369d69ac2fd2603caeaf11a9</guid>
<pubDate>Fri, 03 Jul 2026 12:58:40 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>canawave</category>
<category>trance</category>
<category>voice</category>
<description><![CDATA[14 new anchors (dub trance disco italo bigbeat garage doomdrone newage exotica industrial spokenword chiptune chinawave sovietwave), all diagonal-dominant; synth-vs-sample identity declared per anchor]]></description>
<content:encoded><![CDATA[<p>14 new anchors (dub trance disco italo bigbeat garage doomdrone newage exotica industrial spokenword chiptune chinawave sovietwave), all diagonal-dominant; synth-vs-sample identity declared per anchor</p>
<ul><li>vocoder synthesis model (pvsvoc speech x carrier cross-synthesis)</li><li>journey(): playlists along drawn weight-vector paths; GENRE_CLIPS map</li><li>hits resolve from SAMPLES or SOURCES; per-dimension-group parent draws (fixes vox-genre x plain-genre crash); jungle breaks dominant; Chicago house rebuild; canawave triadic (kept its diagonal vs disco)</li><li>validate-genres.js: determinism / multi-seed dominance / margins / geometry / blend-monotonicity / vocabulary gates (see VALIDATION.md)</li></ul>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=1348&amp;path=1718.20526,1505.3720,1581.9806&amp;xdur=0.045">▶ Play it: Barometric Stampede → Loon Referendum → Sunrise Protocol — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/daa034bcc3840b90369d69ac2fd2603caeaf11a9">daa034b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/daa034bcc3840b90369d69ac2fd2603caeaf11a9</comments>
</item>
<item>
<title>Fade the rendered mp3 out instead of stopping abruptly</title>
<link>https://stellate.app/?genre=citypop&amp;seed=2671&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">75acacafb6169696ffc52aea2b173315f5a36326</guid>
<pubDate>Sun, 28 Jun 2026 13:49:08 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[renderState now applies an ffmpeg afade over the last min(4s, 10% of length) so CLI renders end with a fade to silence rather than a hard stop. (The video graft already fades; this brings the standalone audio in line.)]]></description>
<content:encoded><![CDATA[<p>renderState now applies an ffmpeg afade over the last min(4s, 10% of length) so CLI renders end with a fade to silence rather than a hard stop. (The video graft already fades; this brings the standalone audio in line.)</p>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=2671&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/75acacafb6169696ffc52aea2b173315f5a36326">75acaca</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/75acacafb6169696ffc52aea2b173315f5a36326</comments>
</item>
<item>
<title>canawave mix/arrangement overhaul + shared-voice synthesis fixes</title>
<link>https://stellate.app/?genre=canawave&amp;seed=2525&amp;path=1505.3698,1524.3731,1486.3731&amp;xdur=13.122</link>
<guid isPermaLink="false">fd766035537b2999e22d7c3249ef1d0cdd7058eb</guid>
<pubDate>Sun, 28 Jun 2026 13:41:51 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>canawave</category>
<category>sampler</category>
<description><![CDATA[Arrangement:]]></description>
<content:encoded><![CDATA[<p>Arrangement:</p>
<ul><li>lead is now THE Edge guitar: a 16th-note arpeggio tracing a melodic motif (octave-lower, octave-doubled), through chorus + 1/4-triplet delay + an evolving phaser/flanger (continuous across the arp via absolute…</li><li>proper diatonic walking bassline all through (was one-note-per-bar), pulled far down in the mix</li><li>bridge is an exposed GRAND BRASS SWELL that builds: drums/narration drop out, bass drone + swelling pads + crescendo brass climb ~15 dB and peak above the choruses, then a Peart tom fill crashes the band back…</li><li>simplified FX + per-voice level rebalance for a cleaner mix</li></ul>
<p><a href="https://stellate.app/?genre=canawave&amp;seed=2525&amp;path=1505.3698,1524.3731,1486.3731&amp;xdur=13.122">▶ Play it: Loon Referendum — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/fd766035537b2999e22d7c3249ef1d0cdd7058eb">fd76603</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/fd766035537b2999e22d7c3249ef1d0cdd7058eb</comments>
</item>
<item>
<title>canawave: U2-style 16th-note arp guitar (1/4T delay) + grand brass swell</title>
<link>https://stellate.app/?genre=canawave&amp;seed=2986&amp;path=1505.3698,1524.3731,1486.3731&amp;xdur=13.122</link>
<guid isPermaLink="false">9c74333adca719add85515fa2bd12a0cd77b314c</guid>
<pubDate>Sun, 28 Jun 2026 12:13:15 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>canawave</category>
<category>melody</category>
<description><![CDATA[engine: add `arp16` 16th-note arpeggio melody pattern]]></description>
<content:encoded><![CDATA[<p>engine: add `arp16` 16th-note arpeggio melody pattern</p>
<ul><li>canawave delay → quarter-note-triplet (0.667 beat) with cascading feedback; the guitar arp (kpluck, low drive, high delay send) chimes through it = U2/Edge</li><li>guitar arp now runs the band sections (verse/chorus/verse2/chorus2)</li><li>bridge is now a big grand triumphant brass swell at the midpoint (loud brass on the anthem theme, sweep open, tom fill) — the brass finally speaks</li><li>structure/length unchanged, so the audio grafts onto the existing video</li></ul>
<p><em>Verified:</em> matrix 17/17; existing genres render unchanged.</p>
<p><a href="https://stellate.app/?genre=canawave&amp;seed=2986&amp;path=1505.3698,1524.3731,1486.3731&amp;xdur=13.122">▶ Play it: Loon Referendum — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9c74333adca719add85515fa2bd12a0cd77b314c">9c74333</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9c74333adca719add85515fa2bd12a0cd77b314c</comments>
</item>
<item>
<title>Add canawave genre: proud Canadiana pop with engine additions</title>
<link>https://stellate.app/?genre=canawave&amp;seed=8578&amp;path=1505.3698,1524.3731,1486.3731&amp;xdur=13.122</link>
<guid isPermaLink="false">5e10e9320bcf10a37004fe6a117b34780f5b1ae3</guid>
<pubDate>Sun, 28 Jun 2026 11:57:12 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>canawave</category>
<category>voice</category>
<description><![CDATA[A bright major-key Canadian pop anchor — arpeggiated/distorted guitar, toms + hi-hats, loon calls, the national news, and a Stephen Leacock narration bed — plus the engine vocabulary it needed.]]></description>
<content:encoded><![CDATA[<p>A bright major-key Canadian pop anchor — arpeggiated/distorted guitar, toms + hi-hats, loon calls, the national news, and a Stephen Leacock narration bed — plus the engine vocabulary it needed.</p>
<ul><li>real tom instrument (instr 13) + descending tom-roll &quot;tom fill&quot; (was a snare roll)</li><li>real sampled hi-hats via GM soundfont sfplay (state.realHats); rhodes + organ pad voices; `kpluck` Karplus-Strong guitar (octave-down, body resonance, pick attack, distortion, chorus, octave doubling) and an…</li><li>countermelody layer (sec.counter) so a brass section / arpeggiated guitar can play over the lead</li><li>per-sample reverb/delay/fade sends on instr 5 (distant horn &quot;across the lake&quot;, glitched faded loon, glitched-but-coherent voiceover that no longer 2x-loops)</li></ul>
<p><a href="https://stellate.app/?genre=canawave&amp;seed=8578&amp;path=1505.3698,1524.3731,1486.3731&amp;xdur=13.122">▶ Play it: Loon Referendum — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/5e10e9320bcf10a37004fe6a117b34780f5b1ae3">5e10e93</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/5e10e9320bcf10a37004fe6a117b34780f5b1ae3</comments>
</item>
<item>
<title>Add dino-synth genre: tribal kit, creature solos, glitched paleo VO, Lost World video</title>
<link>https://stellate.app/?genre=dinosynth&amp;seed=7326&amp;path=289.13871,308.13904,270.13904&amp;xdur=13.122</link>
<guid isPermaLink="false">27d5780e0b4b0b8e019320edc8df02271bfadd08</guid>
<pubDate>Sun, 28 Jun 2026 02:30:53 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>dinosynth</category>
<category>voice</category>
<description><![CDATA[A dinosaur-themed dungeon-synth anchor, built end-to-end through the generator → verifier loop and a planetarium-style video.]]></description>
<content:encoded><![CDATA[<p>A dinosaur-themed dungeon-synth anchor, built end-to-end through the generator → verifier loop and a planetarium-style video.</p>
<ul><li>`tribal` kit — full ritual percussion (galloping kicks, busy hand-hats + open-hat swells, quiet tom accents, no snare-roll)</li><li>`fuzz` distorted lead voice + `roar` melody pattern + `primeval` progression</li><li>per-section solo voices: any section with a `solo` recipe gets its own melody instrument (instr 7+), so different &quot;dinosaurs&quot; and a fuzz guitar each solo</li><li>glitched voiceover handler: a speech phrase plays clean, then stutter/ pitch-jumps (slow-down only) with delay swelling in/out (instr 5 gains a per-event delay-send p-field; default preserved)</li></ul>
<p><a href="https://stellate.app/?genre=dinosynth&amp;seed=7326&amp;path=289.13871,308.13904,270.13904&amp;xdur=13.122">▶ Play it: Cretaceous Vespers — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/27d5780e0b4b0b8e019320edc8df02271bfadd08">27d5780</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/27d5780e0b4b0b8e019320edc8df02271bfadd08</comments>
</item>
<item>
<title>Tidy: drop scratch genre-kernel state files, ignore future ones</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=8138&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">a50cd71a695a9e28cd222993bc7aa6feb800f1fe</guid>
<pubDate>Fri, 26 Jun 2026 03:46:53 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[Remove six unreferenced root *.state.json files left over from `genre-kernel.js track <genre>` runs (the intentional demo sets live in playlist/ and mix/). Add `/*.state.json` so future scratch runs don't get re-committed; the leading slash keeps playlist/ and mix/ states tracked.]]></description>
<content:encoded><![CDATA[<p>Remove six unreferenced root *.state.json files left over from `genre-kernel.js track &lt;genre&gt;` runs (the intentional demo sets live in playlist/ and mix/). Add `/*.state.json` so future scratch runs don't get re-committed; the leading slash keeps playlist/ and mix/ states tracked.</p>
<ul><li>Also removed ~88MB of loose regenerable renders from the working tree (already gitignored, not committed).</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=8138&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — the brightest, most processed corner of the space</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a50cd71a695a9e28cd222993bc7aa6feb800f1fe">a50cd71</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a50cd71a695a9e28cd222993bc7aa6feb800f1fe</comments>
</item>
<item>
<title>Deep pass: live song structure, glitch fix, sonic fingerprints, EVALUATION</title>
<link>https://stellate.app/?genre=triphop&amp;seed=8272&amp;path=388.8037,1679.4415,1829.2992&amp;xdur=0.143</link>
<guid isPermaLink="false">b66397f0051de8c1187890146c921d324cb8eb82</guid>
<pubDate>Thu, 11 Jun 2026 17:48:13 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>triphop</category>
<category>vaporwave</category>
<category>dancepop</category>
<category>harmony</category>
<description><![CDATA[Glitch/static fix: live engine recompiled instruments EVERY bar (glided numerics changed the signature) — now recompiles only on model swaps or an 8-bar numeric refresh; lookahead 2.2s -> 4.5s.]]></description>
<content:encoded><![CDATA[<p>Glitch/static fix: live engine recompiled instruments EVERY bar (glided numerics changed the signature) — now recompiles only on model swaps or an 8-bar numeric refresh; lookahead 2.2s -&gt; 4.5s.</p>
<ul><li>Song structure LIVE: exploreLive walks the form's real sections (cycles, fills on final cycle, sweeps on entry/exit) instead of looping one groove</li><li>Sonic fingerprints: brass + strings models (pad/lead), master grit drive (per-genre + live channel + slider), generative &quot;melodic&quot; bass (walks chord tones with approach notes, never repeats a bar), bass…</li><li>Samples: 78rpm shellac via George Blood collection (Armstrong horns, After You've Gone) wired into blues/jazz/triphop hits; recipe url-encodes and is fault-tolerant.</li><li>EVALUATION.md: honest model assessment vs the actual purpose + roadmap (scale-aware melodies, perc lanes, fill intelligence, form-quantized journeys, audio-verifier in the generation loop).</li></ul>
<p><a href="https://stellate.app/?genre=triphop&amp;seed=8272&amp;path=388.8037,1679.4415,1829.2992&amp;xdur=0.143">▶ Play it: Inclement Surveillance → Food Court Eternity → Confetti Escape Velocity — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b66397f0051de8c1187890146c921d324cb8eb82">b66397f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b66397f0051de8c1187890146c921d324cb8eb82</comments>
</item>
<item>
<title>Fix waypoint double-click: pointerdown preventDefault was suppressing dblclick; manual double-tap detection (works on touch too)</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=6571&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046</link>
<guid isPermaLink="false">e84c41531ae0e6dced2dec7a122a25c689e9f7cf</guid>
<pubDate>Thu, 11 Jun 2026 17:11:41 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>jungle</category>
<category>travel</category>
<description><![CDATA[Fix waypoint double-click: pointerdown preventDefault was suppressing dblclick; manual double-tap detection (works on touch too)]]></description>
<content:encoded><![CDATA[<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=6571&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046">▶ Play it: Food Court Eternity → Smoke Arithmetic → Barometric Stampede — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/e84c41531ae0e6dced2dec7a122a25c689e9f7cf">e84c415</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/e84c41531ae0e6dced2dec7a122a25c689e9f7cf</comments>
</item>
<item>
<title>Explorer: Preact+htm (no build step), mix paths, mode/scale dimension</title>
<link>https://stellate.app/?genre=triphop&amp;seed=3938&amp;path=388.8037,586.10667&amp;xdur=0.284</link>
<guid isPermaLink="false">42b6910a9bd6fb3520c3cb4d083b31d15f5c32e6</guid>
<pubDate>Thu, 11 Jun 2026 17:09:33 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>triphop</category>
<category>downtempo</category>
<category>harmony</category>
<description><![CDATA[UI rewritten as Preact + htm via esm.sh — declarative components, one store with pub/sub, zero build step (still view-source static files). The map stays imperative SVG so 60Hz drags never touch the diff.]]></description>
<content:encoded><![CDATA[<p>UI rewritten as Preact + htm via esm.sh — declarative components, one store with pub/sub, zero build step (still view-source static files). The map stays imperative SVG so 60Hz drags never touch the diff.</p>
<ul><li>Mix paths: double-click drops waypoints, lines connect them, a traveler walks the path (16 bars per segment, looping) and IS the live destination — the song morphs through every genre the line crosses.</li><li>Mode/scale is a dimension: modal progressions in the engine (dorian i7-IV7, phrygian i-bII, lydian IΔ-II, mixolydian I7-bVII) woven into jazz/triphop/ambient/downtempo anchor pools, plus a mode lock dropdown…</li></ul>
<p><a href="https://stellate.app/?genre=triphop&amp;seed=3938&amp;path=388.8037,586.10667&amp;xdur=0.284">▶ Play it: Inclement Surveillance → Benthic Patience — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/42b6910a9bd6fb3520c3cb4d083b31d15f5c32e6">42b6910</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/42b6910a9bd6fb3520c3cb4d083b31d15f5c32e6</comments>
</item>
<item>
<title>Live genre journeys: N-way space, 15 anchors, glide engine, playhead</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=8156&amp;path=1679.4415,859.2784,1829.2992&amp;xdur=0.353</link>
<guid isPermaLink="false">15a975543fecc7d19d85086a81751637265c33e9</guid>
<pubDate>Thu, 11 Jun 2026 17:03:16 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>neoclassical</category>
<category>dancepop</category>
<category>harmony</category>
<description><![CDATA[The explorer is now an instrument. csound boots once as a persistent synth (orchestra split into header + hot-recompilable instrument block]]></description>
<content:encoded><![CDATA[<p>The explorer is now an instrument. csound boots once as a persistent synth (orchestra split into header + hot-recompilable instrument block</p>
<ul><li><strong>NO JUMPS</strong> — the cursor sets a destination. The playing state journeys there — tempo max 3bpm/bar, scalars ease ~16 bars, and the composition (synth models, kit, kick/snare/hat, bassline, lead line, harmony, samples, form)…</li><li>Space: 15 anchors (+neoclassical, dancepop, edm, dubstep, blues, jazz) and true N-way mixing (resolveMulti: weighted scalars, per-dimension parent draws; missing-key renormalization</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=8156&amp;path=1679.4415,859.2784,1829.2992&amp;xdur=0.353">▶ Play it: Food Court Eternity → Requiem Appendix → Confetti Escape Velocity — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/15a975543fecc7d19d85086a81751637265c33e9">15a9755</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/15a975543fecc7d19d85086a81751637265c33e9</comments>
</item>
<item>
<title>Audio verifier, filter sweeps, speech instrument, 30-min mix, genre explorer</title>
<link>https://stellate.app/?genre=jungle&amp;seed=1353&amp;path=1718.20526,1679.4415,388.8037&amp;xdur=0.046</link>
<guid isPermaLink="false">0216e6f96776292058c041f4c586c97a2ead243f</guid>
<pubDate>Thu, 11 Jun 2026 16:15:12 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>vaporwave</category>
<category>triphop</category>
<category>voice</category>
<description><![CDATA[audio-verifier.py — the empirical gate: Essentia Discogs-EffNet (400 real Discogs styles) scores rendered audio, styles mapped to our 9 anchors. Jungle ranks #1 (DnB .36/Jungle .29); techno family reads electro-adjacent; vaporwave/triphop read ambient/experimental to it]]></description>
<content:encoded><![CDATA[<p>audio-verifier.py — the empirical gate: Essentia Discogs-EffNet (400 real Discogs styles) scores rendered audio, styles mapped to our 9 anchors. Jungle ranks #1 (DnB .36/Jungle .29); techno family reads electro-adjacent; vaporwave/triphop read ambient/experimental to it</p>
<ul><li>Filter sweeps (THE missing move): gkCut master filter bus + instr 96 exponential glides. sec.sweep &quot;open&quot; blooms across a section landing on the next downbeat; &quot;close&quot; sinks then SNAPS open at the drop.</li><li>Speech synthesis as an instrument: espeak-ng phrases (10, per-genre pools — &quot;welcome to the digital plaza&quot; for vaporwave, &quot;rewind.</li><li>mix/ + make-mix-page.js: 31:33 six-track generated mix walking techno→vaporwave→synthwave→jungle, page with per-track kernel coordinates + mix.m3u (nginx serves audio/x-mpegurl</li><li>explorer.html: the genre space as a draggable 2D map. Every position blends the two nearest anchors through the kernel IN THE BROWSER</li></ul>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=1353&amp;path=1718.20526,1679.4415,388.8037&amp;xdur=0.046">▶ Play it: Barometric Stampede → Food Court Eternity → Inclement Surveillance — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0216e6f96776292058c041f4c586c97a2ead243f">0216e6f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0216e6f96776292058c041f4c586c97a2ead243f</comments>
</item>
<item>
<title>Kernel v2: timbre/mixing/sampling as dimensions + genre verifier loop</title>
<link>https://stellate.app/?genre=jungle&amp;seed=1104&amp;path=1718.20526,1679.4415&amp;xdur=0.047</link>
<guid isPermaLink="false">915f8060a1096314f9b1f9dad403a9447fe519c6</guid>
<pubDate>Thu, 11 Jun 2026 15:21:04 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>vaporwave</category>
<category>harmony</category>
<description><![CDATA[From listening feedback (jungle = white-noise wall under vaporwave reverb, snare dominating, 1-bar loops, no effects identity):]]></description>
<content:encoded><![CDATA[<p>From listening feedback (jungle = white-noise wall under vaporwave reverb, snare dominating, 1-bar loops, no effects identity):</p>
<ul><li>Engine — synthesis MODELS per voice, codegen'd per state: pad saw/organ/fm, bass saw/sub/acid/reese, lead stack/pluck/fm, kick boom/808/909, snare noise/crack/clap, hat noise/metal.</li><li>fetch-found-samples.sh — Amen pack variants (165-175bpm), silence-split rave one-shots from a 1990s sample CD, PD Apollo 11 radio voice clips, auto-manifest.</li><li>genre-verifier.js — symbolic features (syncopation, HEARD snare/kick balance incl kit levels, hat density, motion, seventh color, wash, sub, break usage, swing, variation ratio) scored against per-genre target…</li></ul>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=1104&amp;path=1718.20526,1679.4415&amp;xdur=0.047">▶ Play it: Barometric Stampede → Food Court Eternity — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/915f8060a1096314f9b1f9dad403a9447fe519c6">915f806</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/915f8060a1096314f9b1f9dad403a9447fe519c6</comments>
</item>
<item>
<title>Genre kernel: genre as a multidimensional space, playlists as paths</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=9897&amp;path=1679.4415,1718.20526,859.9931&amp;xdur=0.046</link>
<guid isPermaLink="false">3d2019a9a7fd66472590cc429d61c4dc77486089</guid>
<pubDate>Thu, 11 Jun 2026 14:32:08 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jungle</category>
<category>synthwave</category>
<category>found</category>
<description><![CDATA[GENRE-SPACE.md + genre-kernel.js: a genre is a point in a 14-dimension typed space (tempo, rhythm pools, harmonic motion vs color, bass/lead/pad recipes, production scalars, found-sound role+sources, form); a song is a seeded sample near a point; a playlist is a path.]]></description>
<content:encoded><![CDATA[<p>GENRE-SPACE.md + genre-kernel.js: a genre is a point in a 14-dimension typed space (tempo, rhythm pools, harmonic motion vs color, bass/lead/pad recipes, production scalars, found-sound role+sources, form); a song is a seeded sample near a point; a playlist is a path.</p>
<ul><li>Blending is combinatorial, not averaging: scalars lerp, discrete dimensions draw independently from either parent (house drums under vaporwave harmony), constraints keep midpoints musical.</li><li>Engine vocabulary to escape the vaporwave gravity well (defaults unchanged, 56 test renders ALL PASS): kits techno/house/breaks/jungle (mutate per chord + seed), bass rolling/sub/stab…</li><li>playlist/: techno→vaporwave→synthwave→jungle, 30 tracks, 6.02h, every track's resolved coordinates in playlist.json (the genre-learning artifact).</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=9897&amp;path=1679.4415,1718.20526,859.9931&amp;xdur=0.046">▶ Play it: Food Court Eternity → Barometric Stampede → Highway Heat Death — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/3d2019a9a7fd66472590cc429d61c4dc77486089">3d2019a</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/3d2019a9a7fd66472590cc429d61c4dc77486089</comments>
</item>
<item>
<title>Supersaw lead + pulse kit + humanized fills</title>
<link>https://stellate.app/?genre=bigband&amp;seed=5241&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">b83863897ee51f36dac7620577a93e80ce286884</guid>
<pubDate>Thu, 11 Jun 2026 07:29:45 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[Engine (all defaults preserve existing renders byte-for-byte paths):]]></description>
<content:encoded><![CDATA[<p>Engine (all defaults preserve existing renders byte-for-byte paths):</p>
<ul><li>melody voices/spread params: 3+ voices generates a detuned unison stack (supersaw); &lt;=2 emits the original two-osc code.</li><li>melody pattern &quot;hero&quot;: 16th runs, syncopation, octave leaps, A/B phrase variants alternating per chord</li><li>drum kit &quot;pulse&quot;: four-on-floor + per-chord wandering ghost snares, alternating push-kick, accented 16th hats</li><li>tom fill takes the song rng: flams, optional extra 8th, final roll resolves straight-16ths or triplet — every fill in a song differs</li></ul>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=5241&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/b83863897ee51f36dac7620577a93e80ce286884">b838638</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/b83863897ee51f36dac7620577a93e80ce286884</comments>
</item>
<item>
<title>Night Drive v2: pure synthesis, washed Collins drums, drive pulse, POV footage</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=1147&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122</link>
<guid isPermaLink="false">9286c27bf56bae1a48f98a65090b5b677e1e41bb</guid>
<pubDate>Thu, 11 Jun 2026 06:57:57 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>found</category>
<description><![CDATA[Engine additions (all surfaced in the builder, all render-tested):]]></description>
<content:encoded><![CDATA[<p>Engine additions (all surfaced in the builder, all render-tested):</p>
<ul><li>bass pattern &quot;drive&quot;: straight 8ths on the root — the pulse that never lifts</li><li>transition &quot;tom fill&quot;: four-beat halves-&gt;quarters-&gt;crescendo roll</li><li>instruments.drums.send: drum reverb send (snare full, kick/hat scaled); default 0.18 preserves every existing render</li><li>Synthwave preset rework from feedback (less reedy / bigger reverbed drums / more driving / big fills / more night drives): saw lead instead of square, bigger detuned saw pads, found-sound bed pulled to 0.12…</li></ul>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=1147&amp;path=859.9909,878.9942,840.9942&amp;xdur=13.122">▶ Play it: Highway Heat Death — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/9286c27bf56bae1a48f98a65090b5b677e1e41bb">9286c27</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/9286c27bf56bae1a48f98a65090b5b677e1e41bb</comments>
</item>
<item>
<title>Night Drive: Kavinsky-esque synthwave preset + gradual smear glitches</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=8190&amp;path=859.9931,1679.4415&amp;xdur=0.134</link>
<guid isPermaLink="false">2b0c155e39411d041975fceb12cac599c472b792</guid>
<pubDate>Thu, 11 Jun 2026 06:32:15 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>vaporwave</category>
<category>found</category>
<description><![CDATA[Glitches are now smears, not jumps: the render script ramps chromashift on a sine envelope via stepped sendcmd (one smear spanning every section fade, slow random tape damage between); the browser layer eases filter/transform over ~1-1.7s with a drifting tear band.]]></description>
<content:encoded><![CDATA[<p>Glitches are now smears, not jumps: the render script ramps chromashift on a sine envelope via stepped sendcmd (one smear spanning every section fade, slow random tape damage between); the browser layer eases filter/transform over ~1-1.7s with a drifting tear band.</p>
<ul><li>render-sample-video.js refactored into presets (argv picks one): vaporwave -&gt; sample.mp4 (unchanged song/footage) synthwave -&gt; synthwave.mp4 (new, moody)</li><li>The synthwave song: 92bpm B minor i-VI-III-VII, octave-pulse saw bass that never changes gear, halftime verses into four-on-floor choruses, sparse square lead (updown in choruses), dark low-cutoff pads…</li></ul>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=8190&amp;path=859.9931,1679.4415&amp;xdur=0.134">▶ Play it: Highway Heat Death → Food Court Eternity — a shuttle between the two genres this change names — the blend is the point</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/2b0c155e39411d041975fceb12cac599c472b792">2b0c155</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/2b0c155e39411d041975fceb12cac599c472b792</comments>
</item>
<item>
<title>Found-video layer: curated laserdisc clips, VHS/deep-fry, structure-locked sample</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=9837&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">e8548b757b8e9092a91d59cc1ae6e933a4d570ff</guid>
<pubDate>Thu, 11 Jun 2026 06:19:49 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Stabilization: fix undefined --yellow CSS var in the verifier score, validate preset imports against defaults, fast offline export in play.html (capture is now the fallback), section-play highlight/status clear themselves, drop dead move().]]></description>
<content:encoded><![CDATA[<p>Stabilization: fix undefined --yellow CSS var in the verifier score, validate preset imports against defaults, fast offline export in play.html (capture is now the fallback), section-play highlight/status clear themselves, drop dead move().</p>
<ul><li>Found video, same thesis as found sound — the recipe is committed, the media is derived: fetch-found-video.sh range-seeks five laserdisc rips on the Internet Archive (LaserVision '86, Pioneer Laser Optics II…</li><li>video-layer.js: dual &lt;video&gt; crossfade behind the UI — switches per song section while playing (builder playhead leads by the 1.6s fade so the fade RESOLVES on the downbeat), ambient cycling while idle, 0.5x…</li><li>render-sample-video.js: sample.mp4 from the SAME buildEvents state as the audio — csound renders the score, every xfade ends exactly on a section downbeat, sections map to clips by name.</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=9837&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/e8548b757b8e9092a91d59cc1ae6e933a4d570ff">e8548b7</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/e8548b757b8e9092a91d59cc1ae6e933a4d570ff</comments>
</item>
<item>
<title>Stand alone: vendor verifier-catalog as a submodule, consume it via MCP</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=7596&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">c68c9f54278ddcc4ddd1a4b365062daa1a8a6d9d</guid>
<pubDate>Thu, 11 Jun 2026 01:48:49 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[Extracted from ftrain/verifier-catalog (music/vaporwave) via subtree split, history preserved. The catalog rides along as a submodule (relative URL, so it resolves locally and on GitHub) and .mcp.json points Claude Code at its methods-catalog MCP server.]]></description>
<content:encoded><![CDATA[<p>Extracted from ftrain/verifier-catalog (music/vaporwave) via subtree split, history preserved. The catalog rides along as a submodule (relative URL, so it resolves locally and on GitHub) and .mcp.json points Claude Code at its methods-catalog MCP server.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=7596&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c68c9f54278ddcc4ddd1a4b365062daa1a8a6d9d">c68c9f5</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c68c9f54278ddcc4ddd1a4b365062daa1a8a6d9d</comments>
</item>
<item>
<title>Fast offline export via OfflineAudioContext (render to WAV, not realtime capture)</title>
<link>https://stellate.app/?genre=citypop&amp;seed=8274&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">e9b6f7a20e19a88d58ccce41eace746f3f911a42</guid>
<pubDate>Sun, 07 Jun 2026 03:42:57 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[You were right that Csound should render to a file fast. @csound/browser ties performance to the audio clock (1x), but an OfflineAudioContext renders an AudioWorklet graph faster than realtime and silently.]]></description>
<content:encoded><![CDATA[<p>You were right that Csound should render to a file fast. @csound/browser ties performance to the audio clock (1x), but an OfflineAudioContext renders an AudioWorklet graph faster than realtime and silently.</p>
<p><em>Verified:</em> 16s song renders in ~10.8s (faster than realtime), silent, real audio -&gt; 3MB WAV / 342KB MP3.</p>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=8274&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/e9b6f7a20e19a88d58ccce41eace746f3f911a42">e9b6f7a</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/e9b6f7a20e19a88d58ccce41eace746f3f911a42</comments>
</item>
<item>
<title>Export via realtime capture (offline render is realtime here &amp; looked frozen)</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=6623&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046</link>
<guid isPermaLink="false">3f107eb76ac37ec4adef6e81aae7c368501153fb</guid>
<pubDate>Sun, 07 Jun 2026 03:36:24 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>jungle</category>
<category>travel</category>
<description><![CDATA[@csound/browser's worklet only performs at real time (perform() without start() no-ops; with start() it conflicts/hangs) — so offline render of a long song ran for minutes with no feedback and read as frozen/stopped.]]></description>
<content:encoded><![CDATA[<p>@csound/browser's worklet only performs at real time (perform() without start() no-ops; with start() it conflicts/hangs) — so offline render of a long song ran for minutes with no feedback and read as frozen/stopped.</p>
<ul><li>Replace export with captureExport(): play the song live (audible), tap the output losslessly via a ScriptProcessor, show a live &quot;recording N%&quot;, and build a stereo WAV from the captured PCM (then lamejs -&gt; MP3).</li></ul>
<p><em>Verified:</em> 4s song -&gt; 1MB WAV / 117KB MP3, real audio.</p>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=6623&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046">▶ Play it: Food Court Eternity → Smoke Arithmetic → Barometric Stampede — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/3f107eb76ac37ec4adef6e81aae7c368501153fb">3f107eb</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/3f107eb76ac37ec4adef6e81aae7c368501153fb</comments>
</item>
<item>
<title>Fix export hang on &quot;stop promise timed out&quot; + empty MP3</title>
<link>https://stellate.app/?genre=citypop&amp;seed=6597&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">015535fdc2b42cf6f99106c5af4759c096bf84a4</guid>
<pubDate>Sun, 07 Jun 2026 03:24:53 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[csound stop()/destroy() can hang (the "stop promise timed out" warning); stopLive() and render()'s finalize now race the stop against a short timeout so export can't stall on teardown of the playing instance.]]></description>
<content:encoded><![CDATA[<p>csound stop()/destroy() can hang (the &quot;stop promise timed out&quot; warning); stopLive() and render()'s finalize now race the stop against a short timeout so export can't stall on teardown of the playing instance.</p>
<ul><li>MP3 came out ~0 bytes because Csound leaves the WAV data-chunk size field unfinalized; parseWav now falls back to the actual remaining byte length.</li></ul>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=6597&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/015535fdc2b42cf6f99106c5af4759c096bf84a4">015535f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/015535fdc2b42cf6f99106c5af4759c096bf84a4</comments>
</item>
<item>
<title>Design cleanup + lighter MP3 export (lamejs instead of ffmpeg.wasm)</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=2534&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">f981d9366abde045411dc220e1c0a209331be84c</guid>
<pubDate>Sun, 07 Jun 2026 03:19:57 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[Design: rebuilt the stylesheet around a calmer, cohesive system — one restrained vaporwave palette, consistent spacing/type scale, color reserved for the tiles (not glowing everywhere), tidy section blocks, a labeled sources table (column headers), cleaner popover/editor, verifier, and transport.]]></description>
<content:encoded><![CDATA[<p>Design: rebuilt the stylesheet around a calmer, cohesive system — one restrained vaporwave palette, consistent spacing/type scale, color reserved for the tiles (not glowing everywhere), tidy section blocks, a labeled sources table (column headers), cleaner popover/editor, verifier, and transport.</p>
<ul><li><strong>MP3</strong> — replaced ffmpeg.wasm (~30MB core + worker + COOP/COEP) with lamejs, a pure-JS LAME encoder (~50KB). wavToMp3 parses the rendered WAV (16-bit, mono/stereo) and LAME-encodes it.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=2534&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/f981d9366abde045411dc220e1c0a209331be84c">f981d93</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/f981d9366abde045411dc220e1c0a209331be84c</comments>
</item>
<item>
<title>Spinner tiles + flowing layout, per-section play, found vol/tone, reliable play</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=7709&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">a8103615e2303988d17528ca558099e7959efba6</guid>
<pubDate>Sun, 07 Jun 2026 03:08:19 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[UX overhaul from feedback:]]></description>
<content:encoded><![CDATA[<p>UX overhaul from feedback:</p>
<ul><li>Grid is no longer a rigid table. Each section is a block whose cells FLOW as self-labeled tiles (6 across on desktop, 3x2 on mobile) — fixes mobile width, no horizontal scroll.</li><li>Every cell is a click-to-cycle SPINNER (right-click = back), incl. an &quot;off&quot; state. Dropdowns/popovers for options are gone</li><li>Per-section ▶ (play just one section); ⚙ on synth tiles opens the synth editor.</li><li>Found sound: per-source VOLUME + tone (lowpass) controls in the sources panel (instr 3 gains a cutoff p-field); role bed/solo dropped.</li></ul>
<p><em>Verified:</em> native render clean; headless shows 48 tiles, spinner cycles, ⚙ on 4 synth tiles, mobile reflows to 3 cols with no overflow.</p>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=7709&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/a8103615e2303988d17528ca558099e7959efba6">a810361</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/a8103615e2303988d17528ca558099e7959efba6</comments>
</item>
<item>
<title>Builder: fall back on engine option lists to survive a stale cached engine</title>
<link>https://stellate.app/?genre=ragtime&amp;seed=8779&amp;path=753.14435,772.14468,734.14468&amp;xdur=13.122</link>
<guid isPermaLink="false">8404893323ee4538f634c801d233382211aca88b</guid>
<pubDate>Sun, 07 Jun 2026 02:55:13 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ragtime</category>
<category>melody</category>
<description><![CDATA[A browser-cached older csd-engine.js lacking TRANSITIONS made E.TRANSITIONS undefined -> forEach threw in renderMatrix -> blank page. Add fallback constants for TRANSITIONS/BASS/MELODY/DRUM/WAVES so a version mismatch degrades gracefully.]]></description>
<content:encoded><![CDATA[<p>A browser-cached older csd-engine.js lacking TRANSITIONS made E.TRANSITIONS undefined -&gt; forEach threw in renderMatrix -&gt; blank page. Add fallback constants for TRANSITIONS/BASS/MELODY/DRUM/WAVES so a version mismatch degrades gracefully.</p>
<p><a href="https://stellate.app/?genre=ragtime&amp;seed=8779&amp;path=753.14435,772.14468,734.14468&amp;xdur=13.122">▶ Play it: Perforated Afterlife — the anchor authored from a measured corpus of real melodies</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/8404893323ee4538f634c801d233382211aca88b">8404893</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/8404893323ee4538f634c801d233382211aca88b</comments>
</item>
<item>
<title>Audible found sound, distinct melodies, alternating bass, ⚡ as dropdown</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=7196&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">94948c3c299e99e91b0da878e5b1a3ef56125f64</guid>
<pubDate>Sun, 07 Jun 2026 02:52:39 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Found sound was inaudible: instr 3 applied amplitude twice (syncgrain amp AND an envelope that peaked at the same amp -> level^2). Now syncgrain runs at unity and the envelope sets the level.]]></description>
<content:encoded><![CDATA[<p>Found sound was inaudible: instr 3 applied amplitude twice (syncgrain amp AND an envelope that peaked at the same amp -&gt; level^2). Now syncgrain runs at unity and the envelope sets the level.</p>
<ul><li>Melody variety: replaced the mechanical chord-tone arps with distinct rhythmic/contour phrases per style (arpup/arpdown/updown/pentaup each its own shape, octave leaps), and wander is now a rhythmic random…</li><li>Alternating basslines across the song (verse simple, pre-chorus root, verse2/ chorus2 a busier variant) instead of one bass throughout.</li><li>⚡ transition is now a native &lt;select&gt; dropdown (off/drum fill/riser/sweep/ downlift/impact/reverse/noise) instead of a custom popover that read as a stuck &quot;transition&quot; window.</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=7196&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/94948c3c299e99e91b0da878e5b1a3ef56125f64">94948c3</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/94948c3c299e99e91b0da878e5b1a3ef56125f64</comments>
</item>
<item>
<title>Fold SFX into the ⚡ transition control; drop the SFX column</title>
<link>https://stellate.app/?genre=jungle&amp;seed=9620&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">40bb15bcc5813389ed873b02da56f5413e649893</guid>
<pubDate>Sun, 07 Jun 2026 02:44:14 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>drums</category>
<description><![CDATA[Per feedback, the lightning-bolt is now a per-section transition menu instead of a drum-fill toggle: off / drum fill / riser / sweep / downlift / impact / reverse / noise.]]></description>
<content:encoded><![CDATA[<p>Per feedback, the lightning-bolt is now a per-section transition menu instead of a drum-fill toggle: off / drum fill / riser / sweep / downlift / impact / reverse / noise.</p>
<ul><li>Engine: sec.fill (string) drives the end-of-section transition — &quot;drum fill&quot; emits the snare roll; SFX types emit instr 20 (build-ups in the final bar, hits on the next downbeat).</li><li>Defaults: pre-chorus -&gt; riser, bridge -&gt; drum fill.</li><li>Verifier counts any transition; improve adds a riser into the drop.</li><li>Fix: ⚡ menu was self-closing (click bubbled to the popover's outside-click handler) — stopPropagation.</li></ul>
<p><em>Verified:</em> engine renders clean; ⚡ menu lists all 8 transitions.</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=9620&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — the genre that is mostly drums, so the kit has nowhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/40bb15bcc5813389ed873b02da56f5413e649893">40bb15b</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/40bb15bcc5813389ed873b02da56f5413e649893</comments>
</item>
<item>
<title>Fix audio breaking with console open; louder found; smarter SFX placement</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=8663&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">4a8af4f7ddb10279797b32de26370440c35f8d4d</guid>
<pubDate>Sun, 07 Jun 2026 02:39:34 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Silence Csound's per-note logging (-m0 -d on all boot paths). It was console.log-ing "new alloc"/"rtevent"/amp lines for every event; with DevTools open the browser rendered the flood and janked the main thread, killing audio ("works again the moment I close the console").]]></description>
<content:encoded><![CDATA[<p>Silence Csound's per-note logging (-m0 -d on all boot paths). It was console.log-ing &quot;new alloc&quot;/&quot;rtevent&quot;/amp lines for every event; with DevTools open the browser rendered the flood and janked the main thread, killing audio (&quot;works again the moment I close the console&quot;).</p>
<ul><li>Found sound bed level 0.05 -&gt; 0.22 so it's actually audible mixed under the band (was inaudible). Solo 0.42 -&gt; 0.45.</li><li>SFX build-ups (riser/sweep/downlift/reverse) now play in the FINAL bar of a section, rising into the next, instead of at the section start (&quot;riser only makes sense as the final bar&quot;)</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=8663&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/4a8af4f7ddb10279797b32de26370440c35f8d4d">4a8af4f</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/4a8af4f7ddb10279797b32de26370440c35f8d4d</comments>
</item>
<item>
<title>Fix live mode going silent after the intro</title>
<link>https://stellate.app/?genre=bebop&amp;seed=5860&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122</link>
<guid isPermaLink="false">c97295c45b34d244209284c70390645cacf5524f</guid>
<pubDate>Sun, 07 Jun 2026 02:27:58 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bebop</category>
<category>harmony</category>
<description><![CDATA[csound inputMessage schedules p2 as a delay FROM the moment the message is received, not as absolute score time. The scheduler was sending absolute seconds, so section 1 (injected at t~0) played on time but every later section fired ~(its injection time) late, leaving silent gaps]]></description>
<content:encoded><![CDATA[<p>csound inputMessage schedules p2 as a delay FROM the moment the message is received, not as absolute score time. The scheduler was sending absolute seconds, so section 1 (injected at t~0) played on time but every later section fired ~(its injection time) late, leaving silent gaps</p>
<ul><li>Fix: send p2 = eventAbsoluteSeconds - currentScoreTime(now). Verified with Puppeteer: audio now continuous across section boundaries (RMS 0.05-0.18, no gaps; was dropping to ~0.005 between sections).</li></ul>
<p><a href="https://stellate.app/?genre=bebop&amp;seed=5860&amp;path=694.13834,713.13867,675.13867&amp;xdur=13.122">▶ Play it: Mercury Interrogation — where the harmony organ has the least anywhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c97295c45b34d244209284c70390645cacf5524f">c97295c</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c97295c45b34d244209284c70390645cacf5524f</comments>
</item>
<item>
<title>Remove Paris Market found sound; default to Tokyo/Tsukiji/Asakusa</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=1267&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">46eb52c399db98a5934233830faa51edac0d5e2d</guid>
<pubDate>Sun, 07 Jun 2026 02:23:52 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Remove Paris Market found sound; default to Tokyo/Tsukiji/Asakusa]]></description>
<content:encoded><![CDATA[<p><a href="https://stellate.app/?genre=transitwave&amp;seed=1267&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/46eb52c399db98a5934233830faa51edac0d5e2d">46eb52c</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/46eb52c399db98a5934233830faa51edac0d5e2d</comments>
</item>
<item>
<title>Live edit-while-playing: just-in-time scheduler</title>
<link>https://stellate.app/?genre=jungle&amp;seed=2443&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122</link>
<guid isPermaLink="false">c3adf86b956ce1b92b6d0f589e18b6bf3c98bc0b</guid>
<pubDate>Sun, 07 Jun 2026 01:18:08 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>jungle</category>
<category>drums</category>
<description><![CDATA[Play now uses playLive(): Csound runs with `f 0` keeping it alive; a JS lookahead scheduler injects each section's events ~1.5s before they play via inputMessage, reading the CURRENT state each tick (absolute score-time seconds, no t-tempo).]]></description>
<content:encoded><![CDATA[<p>Play now uses playLive(): Csound runs with `f 0` keeping it alive; a JS lookahead scheduler injects each section's events ~1.5s before they play via inputMessage, reading the CURRENT state each tick (absolute score-time seconds, no t-tempo).</p>
<ul><li>Both deferred features now done (SFX channel + live editing).</li></ul>
<p><em>Verified:</em> with Puppeteer: audio flows (RMS 0.19), 314 events injected, and a section toggled drums-off -&gt; open mid-playback emitted 81 drum events at its scheduled time (the live edit applied).</p>
<p><a href="https://stellate.app/?genre=jungle&amp;seed=2443&amp;path=1718.20504,1737.20537,1699.20537&amp;xdur=13.122">▶ Play it: Barometric Stampede — the genre that is mostly drums, so the kit has nowhere to hide</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c3adf86b956ce1b92b6d0f589e18b6bf3c98bc0b">c3adf86</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c3adf86b956ce1b92b6d0f589e18b6bf3c98bc0b</comments>
</item>
<item>
<title>Add SFX transition channel (risers, sweeps, impacts, reverse, noise)</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=3628&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">e19493446c6ce5d97a32bcbb52f790cfd96c5e9a</guid>
<pubDate>Sun, 07 Jun 2026 01:13:32 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>mix</category>
<description><![CDATA[New instr 20 with 6 transition types (riser / sweep / downlift / impact / reverse swell / noise hit), one per section as an entering transition: lead-in types end on the section downbeat, hits land on it.]]></description>
<content:encoded><![CDATA[<p>New instr 20 with 6 transition types (riser / sweep / downlift / impact / reverse swell / noise hit), one per section as an entering transition: lead-in types end on the section downbeat, hits land on it.</p>
<ul><li>Engine verified: renders clean with SFX (peak 0.71, 0 errors). UI verified headless: 6 instrument columns / 48 cells, mobile no overflow, no errors.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=3628&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — the brightest, most processed corner of the space</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/e19493446c6ce5d97a32bcbb52f790cfd96c5e9a">e194934</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/e19493446c6ce5d97a32bcbb52f790cfd96c5e9a</comments>
</item>
<item>
<title>Styles, delay, more progressions/drums, a song verifier, IDB cache, mobile</title>
<link>https://stellate.app/?genre=synthwave&amp;seed=3806&amp;path=859.9931,1679.4415,263.9071&amp;xdur=0.131</link>
<guid isPermaLink="false">726d06de8c18d59df6de174929c97889195796ee</guid>
<pubDate>Sat, 06 Jun 2026 22:03:37 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>synthwave</category>
<category>vaporwave</category>
<category>lofi</category>
<category>found</category>
<description><![CDATA[Big musical + good-loop expansion (engine verified: ALL PASS, 30+ native renders).]]></description>
<content:encoded><![CDATA[<p>Big musical + good-loop expansion (engine verified: ALL PASS, 30+ native renders).</p>
<ul><li>15 chord progressions (added pop/synthwave/andalusian/neosoul/lofi/canon/...).</li><li>4 STYLE presets — vaporwave / synthwave / downtempo / lo-fi — that recast the whole song (tempo, reverb, delay, instruments, progression, drum/bass/melody).</li><li>Delay bus (instr 98) routed per-instrument like reverb (delay send per synth; global delay time/feedback/cutoff).</li><li>8 drum kits (added four/boombap/halftime/trap) with a fill on the last bar of each cycle (4-bar development).</li></ul>
<p><a href="https://stellate.app/?genre=synthwave&amp;seed=3806&amp;path=859.9931,1679.4415,263.9071&amp;xdur=0.131">▶ Play it: Highway Heat Death → Food Court Eternity → Dust Census — the three genres this change names, as one path</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/726d06de8c18d59df6de174929c97889195796ee">726d06d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/726d06de8c18d59df6de174929c97889195796ee</comments>
</item>
<item>
<title>Faster found-sound: range-fetch a chunk, trim, prewarm, dedupe cache</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=1275&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">fee6cf8bd568ce26827b1502a6e057ff71aab17b</guid>
<pubDate>Sat, 06 Jun 2026 21:35:31 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[First Play was ~50s because each found source downloaded + decoded in full. Now:]]></description>
<content:encoded><![CDATA[<p>First Play was ~50s because each found source downloaded + decoded in full. Now:</p>
<ul><li>fetchAudioBytes() uses an HTTP Range request for the first ~1MB and only falls back to the whole file if the host ignores Range or the truncated stream won't decode.</li><li>trim the decoded audio to 45s before encoding (syncgrain only needs a window) — shrinks the WAV and the Csound ftgen table load ~4x.</li><li>builder prewarms the arrangement's sources in the background on load, so the first Play is instant.</li><li>decodeUrlToWav now caches the in-flight Promise, so prewarm + a Play click share one fetch instead of double-fetching.</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=1275&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/fee6cf8bd568ce26827b1502a6e057ff71aab17b">fee6cf8</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/fee6cf8bd568ce26827b1502a6e057ff71aab17b</comments>
</item>
<item>
<title>Fix silent playback: revert useSPN -&gt; worklet, match sample rate</title>
<link>https://stellate.app/?genre=bigband&amp;seed=4237&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">e14a6d4534fbe2fb9d5c84bb20a1b3a53e2411ff</guid>
<pubDate>Sat, 06 Jun 2026 21:20:18 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[Read the @csound/browser source: useSPN uses createScriptProcessor(0,...) (a deprecated node that was producing silence here) and CLOSES a provided AudioContext on teardown.]]></description>
<content:encoded><![CDATA[<p>Read the @csound/browser source: useSPN uses createScriptProcessor(0,...) (a deprecated node that was producing silence here) and CLOSES a provided AudioContext on teardown.</p>
<ul><li>Drop useSPN; let Csound use the worklet with our provided, resumed context.</li><li>Create the AudioContext at sampleRate 44100 to match the CSD (was 48k default).</li><li>Recreate the context if it ever ends up closed.</li></ul>
<p><em>Verified:</em> objectively with Puppeteer by splicing an AnalyserNode before the destination and reading levels: maxRMS 0.33 (was silent). ctx state &quot;running&quot;.</p>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=4237&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/e14a6d4534fbe2fb9d5c84bb20a1b3a53e2411ff">e14a6d4</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/e14a6d4534fbe2fb9d5c84bb20a1b3a53e2411ff</comments>
</item>
<item>
<title>Fix MP3/WAV export crash + harden audio backend</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=3090&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046</link>
<guid isPermaLink="false">3eec0c829b231afeaf0ed4ecfc17c9e0330ea21a</guid>
<pubDate>Sat, 06 Jun 2026 21:12:42 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>jazz</category>
<category>jungle</category>
<category>travel</category>
<description><![CDATA[Reproduced with Puppeteer:]]></description>
<content:encoded><![CDATA[<p>Reproduced with Puppeteer:</p>
<ul><li>Export crashed with &quot;memory access out of bounds&quot; at csoundSetOption, preceded by &quot;Csound Command ERROR: no outfilename&quot;.</li><li>renderEnded never fires and start() may not resolve at score end, so offline render now polls the output file until it stops growing, then stop()s to finalize the WAV header and reads it.</li><li>Playback hardening for plain HTTPS hosts (no COOP/COEP): use the ScriptProcessor backend (useSPN) with our resumed AudioContext</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=3090&amp;path=1679.4415,292.16891,1718.20526&amp;xdur=0.046">▶ Play it: Food Court Eternity → Smoke Arithmetic → Barometric Stampede — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/3eec0c829b231afeaf0ed4ecfc17c9e0330ea21a">3eec0c8</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/3eec0c829b231afeaf0ed4ecfc17c9e0330ea21a</comments>
</item>
<item>
<title>Fix: no audio out — resume AudioContext inside the click gesture</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=6363&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">8d336f9beec1e4ce81feea57637e58f47e0c4e8f</guid>
<pubDate>Sat, 06 Jun 2026 21:01:49 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Diagnosed with Puppeteer (real Chrome, default autoplay policy): Csound booted, decoded the found sound, compiled and performed — but the AudioContext stayed suspended, so nothing reached the speakers.]]></description>
<content:encoded><![CDATA[<p>Diagnosed with Puppeteer (real Chrome, default autoplay policy): Csound booted, decoded the found sound, compiled and performed — but the AudioContext stayed suspended, so nothing reached the speakers.</p>
<ul><li>Fix: resume a shared AudioContext synchronously as the FIRST thing in play() (before any await), and hand that same context to Csound via Csound({audioContext}).</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=6363&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/8d336f9beec1e4ce81feea57637e58f47e0c4e8f">8d336f9</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/8d336f9beec1e4ce81feea57637e58f47e0c4e8f</comments>
</item>
<item>
<title>Builder: replace hand-rolled drag with SortableJS (fixes glitch/gap)</title>
<link>https://stellate.app/?genre=citypop&amp;seed=8629&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">511545d57736fca96ac9db8c16a43c31a754308c</guid>
<pubDate>Sat, 06 Jun 2026 20:50:03 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[The custom pointer-drag rebuilt the DOM on every midpoint crossing, which fought the cursor and left gaps. Swap in SortableJS (vanilla, CDN, ~40KB):]]></description>
<content:encoded><![CDATA[<p>The custom pointer-drag rebuilt the DOM on every midpoint crossing, which fought the cursor and left gaps. Swap in SortableJS (vanilla, CDN, ~40KB):</p>
<ul><li>grip is the handle; smooth animated reordering with a real ghost placeholder (row-ghost) and a floating drag clone (row-drag, forceFallback+fallbackOnBody);</li><li>rows now live in a flex .rows list with uniform gap — removed the between-row .addgap strips that caused the gapping; insert (⊕) moved into the row header;</li><li>onEnd syncs state.sections and re-renders once (no mid-drag rebuilds).</li></ul>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=8629&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/511545d57736fca96ac9db8c16a43c31a754308c">511545d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/511545d57736fca96ac9db8c16a43c31a754308c</comments>
</item>
<item>
<title>Builder: visible drag-and-drop reordering</title>
<link>https://stellate.app/?genre=citypop&amp;seed=3775&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056</link>
<guid isPermaLink="false">c3d4dad787532d01e911d2da15597e20ca8536e0</guid>
<pubDate>Sat, 06 Jun 2026 20:44:42 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>citypop</category>
<category>downtempo</category>
<category>dnb</category>
<description><![CDATA[HTML5 drag gave no feedback (drop worked, but nothing moved on screen). Replace with a pointer-based sortable on the ⠿ grip:]]></description>
<content:encoded><![CDATA[<p>HTML5 drag gave no feedback (drop worked, but nothing moved on screen). Replace with a pointer-based sortable on the ⠿ grip:</p>
<ul><li>a neon chip follows the cursor,</li><li>the dragged row dims (.dragging),</li><li>rows shuffle LIVE as you move past their midpoints (array reorder + re-render each crossing), so you see the arrangement rearranging in real time.</li></ul>
<p><a href="https://stellate.app/?genre=citypop&amp;seed=3775&amp;path=1530.6221,586.10667,1376.19565&amp;xdur=0.056">▶ Play it: Neon Fiscal Year → Benthic Patience → Silken Reentry — a constellation across three families — the path is the mix</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/c3d4dad787532d01e911d2da15597e20ca8536e0">c3d4dad</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/c3d4dad787532d01e911d2da15597e20ca8536e0</comments>
</item>
<item>
<title>Builder overhaul: fix silent drums, per-instrument synths, swing/humanize, vaporwave UI</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=2928&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">848cad58ff51dda92248f3874ec5c5bba59a9b6c</guid>
<pubDate>Sat, 06 Jun 2026 20:41:47 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>found</category>
<description><![CDATA[Major fix:]]></description>
<content:encoded><![CDATA[<p>Major fix:</p>
<ul><li>DRUMS WERE SILENT — instr 10/11/12 read amp from p5 but the score passes it in p4. Fixed in both csd-engine.js and royal-road.csd (drums-only render now peaks 0.71 vs 0.00; royal-road.csd peak 0.31 -&gt; 0.67).</li><li>Removed the solo/chords section type; every section is uniform, found sound is just another (off-by-default) layer instead of forced on every row.</li><li>Compacted rows; drag ⠿ to reorder sections.</li><li>Per-instrument synth editors (click an instrument header): waveform (sine/saw/square/pulse), cutoff, resonance, detune, attack, vibrato, level, reverb send — all wired into a parameterized orchestra.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=2928&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/848cad58ff51dda92248f3874ec5c5bba59a9b6c">848cad5</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/848cad58ff51dda92248f3874ec5c5bba59a9b6c</comments>
</item>
<item>
<title>Builder: rotate to clip matrix, MIDI export, reseed/preview/playhead</title>
<link>https://stellate.app/?genre=transitwave&amp;seed=5669&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122</link>
<guid isPermaLink="false">43f063d579618959579e7fac6dc037635a388951</guid>
<pubDate>Sat, 06 Jun 2026 20:03:26 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>transitwave</category>
<category>found</category>
<description><![CDATA[Address UX feedback:]]></description>
<content:encoded><![CDATA[<p>Address UX feedback:</p>
<ul><li>Rotate the grid: sections are rows (time ↓), instruments are columns (Pads/Bass/Drums/Melody/Found), each color-coded.</li><li>Remove the on-page Csound source viewer entirely.</li><li>Playhead: highlights the currently-playing section row during playback (performance.now → beat → section), Ableton-style.</li><li>Per-cell ▶ to audition just that layer/section.</li></ul>
<p><a href="https://stellate.app/?genre=transitwave&amp;seed=5669&amp;path=749.12536,768.12569,730.12569&amp;xdur=13.122">▶ Play it: Rail Replacement Rapture — a bed-heavy genre where the found-sound layer carries the room</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/43f063d579618959579e7fac6dc037635a388951">43f063d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/43f063d579618959579e7fac6dc037635a388951</comments>
</item>
<item>
<title>Redesign builder UI: Pico.css + Ableton-style arrangement matrix</title>
<link>https://stellate.app/?genre=ragtime&amp;seed=9722&amp;path=753.14435,772.14468,734.14468&amp;xdur=13.122</link>
<guid isPermaLink="false">619428ca30b9b064fa05d5c6c9cf9ba49d3559c2</guid>
<pubDate>Sat, 06 Jun 2026 19:45:55 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ragtime</category>
<category>melody</category>
<description><![CDATA[Fixes the unreadable white-bar controls and the weak card-list UX.]]></description>
<content:encoded><![CDATA[<p>Fixes the unreadable white-bar controls and the weak card-list UX.</p>
<ul><li>Adopt Pico.css (CDN) for accessible, high-contrast chrome; set color-scheme:dark so native selects/range/number controls stop rendering as white bars with light text.</li><li>Replace the vertical section cards with a clip matrix: layers (Pads/Bass/ Drums/Melody/Found) as color-coded rows, sections as time columns scaled by cycle count.</li><li>Transition gutters between columns: ⚡ toggles &quot;fill into next&quot;, ＋ inserts a section; per-section name / type / cycles / reorder / delete in the header.</li><li>Color used as meaning (one hue per layer), with a legend.</li></ul>
<p><a href="https://stellate.app/?genre=ragtime&amp;seed=9722&amp;path=753.14435,772.14468,734.14468&amp;xdur=13.122">▶ Play it: Perforated Afterlife — the anchor authored from a measured corpus of real melodies</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/619428ca30b9b064fa05d5c6c9cf9ba49d3559c2">619428c</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/619428ca30b9b064fa05d5c6c9cf9ba49d3559c2</comments>
</item>
<item>
<title>Add browser (Csound WASM) player + interactive song builder, with MP3 export</title>
<link>https://stellate.app/?genre=bigband&amp;seed=5329&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122</link>
<guid isPermaLink="false">0ce7a7a9a102bd0ac4c83a6d45e0933c6fa1f2d5</guid>
<pubDate>Sat, 06 Jun 2026 11:31:47 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>bigband</category>
<category>sampler</category>
<description><![CDATA[Run the capability in a browser tab — no Csound install:]]></description>
<content:encoded><![CDATA[<p>Run the capability in a browser tab — no Csound install:</p>
<ul><li>csd-engine.js — pure buildCsd(state) -&gt; Csound text. Same engine as royal-road.csd, but the score is data-driven so a UI can rearrange it.</li><li>wasm-audio.js — boots @csound/browser; decodes ANY audio URL via Web Audio into a WAV that ftgen can granulate (mp3/ogg/wav/m4a); realtime play + offline WAV render.</li><li>wasm-ffmpeg.js — MP3 export via ffmpeg.wasm (single-thread core; no SharedArrayBuffer / COOP-COEP needed, runs on plain localhost).</li><li>builder.html — full song builder: every knob, add audio by URL, export WAV / MP3 / .csd / preset JSON.</li></ul>
<p><em>Verified:</em> the generator emits valid Csound (13 native renders pass) and the builder UI initializes + generates CSD in a real (headless) browser.</p>
<p><a href="https://stellate.app/?genre=bigband&amp;seed=5329&amp;path=814.14134,833.14167,795.14167&amp;xdur=13.122">▶ Play it: Ballroom Leviathan — a horn-and-piano genre that plays almost entirely sampled instruments</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/0ce7a7a9a102bd0ac4c83a6d45e0933c6fa1f2d5">0ce7a7a</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/0ce7a7a9a102bd0ac4c83a6d45e0933c6fa1f2d5</comments>
</item>
<item>
<title>Speed up to 88 BPM and vary the reprise</title>
<link>https://stellate.app/?genre=ragtime&amp;seed=9146&amp;path=753.14435,772.14468,734.14468&amp;xdur=13.122</link>
<guid isPermaLink="false">46136cc27b60baa5be78d9b15f9f2de3d474fbd1</guid>
<pubDate>Sat, 06 Jun 2026 05:11:02 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ragtime</category>
<category>melody</category>
<description><![CDATA[Tempo 70 -> 88: slowed, but with an actual pulse.]]></description>
<content:encoded><![CDATA[<p>Tempo 70 -&gt; 88: slowed, but with an actual pulse.</p>
<ul><li>BASS2 — busier eighth-note walking bass</li><li>MEL2 — higher, more ornamented lead variation</li><li>DRUMS2 — ghost snares + open hats on the offbeats</li><li>FILL macro: a 2-beat snare-roll into each drop (into the full kit at the end of cyc C, and out of the interlude into the reprise).</li></ul>
<p><a href="https://stellate.app/?genre=ragtime&amp;seed=9146&amp;path=753.14435,772.14468,734.14468&amp;xdur=13.122">▶ Play it: Perforated Afterlife — the anchor authored from a measured corpus of real melodies</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/46136cc27b60baa5be78d9b15f9f2de3d474fbd1">46136cc</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/46136cc27b60baa5be78d9b15f9f2de3d474fbd1</comments>
</item>
<item>
<title>Add a synth drum kit and rebuild as a layered, bit-by-bit arrangement</title>
<link>https://stellate.app/?genre=ragtime&amp;seed=3501&amp;path=753.14435,772.14468,734.14468&amp;xdur=13.122</link>
<guid isPermaLink="false">ffb8aefd9c3d65d5f42a607e45ec7be65097e790</guid>
<pubDate>Sat, 06 Jun 2026 05:02:46 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>ragtime</category>
<category>melody</category>
<description><![CDATA[Nothing starts at once now — the track builds: intro (city alone) -> +pads -> +bass -> +kick pulse -> full kit + melody -> stripped interlude (city alone) -> full reprise -> outro (city fades).]]></description>
<content:encoded><![CDATA[<p>Nothing starts at once now — the track builds: intro (city alone) -&gt; +pads -&gt; +bass -&gt; +kick pulse -&gt; full kit + melody -&gt; stripped interlude (city alone) -&gt; full reprise -&gt; outro (city fades).</p>
<ul><li>New voices: instr 10 kick (pitch-drop sine + saturation), instr 11 snare/rim (band-passed noise + tones), instr 12 hats (high-passed noise).</li><li>New master bus (instr 100) sums everything through a soft limiter (clip), and reverb (instr 99) now feeds the master too — so the full stack peaks ~0.31 with zero clipped samples instead of risking overload.</li><li>Score rewritten around PAD/BASS/DRUMKICK/DRUMS/MEL macros keyed by start beat; arrangement reads as labelled section calls. ~3 min.</li><li>Renders clean under csound 6.18.</li></ul>
<p><a href="https://stellate.app/?genre=ragtime&amp;seed=3501&amp;path=753.14435,772.14468,734.14468&amp;xdur=13.122">▶ Play it: Perforated Afterlife — the anchor authored from a measured corpus of real melodies</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/ffb8aefd9c3d65d5f42a607e45ec7be65097e790">ffb8aef</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/ffb8aefd9c3d65d5f42a607e45ec7be65097e790</comments>
</item>
<item>
<title>Add a moving bassline and a lead melody to the vaporwave sketch</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=2822&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">cdb511ae3529d20c5a4bc6a10ec6bf7984d8c604</guid>
<pubDate>Sat, 06 Jun 2026 04:55:03 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>harmony</category>
<description><![CDATA[instr 2 reworked from a static held root into a syncopated city-pop bass figure (root / octave / fifth movement), pluckier envelope so the line articulates; driven by a new BASS score macro per chord.]]></description>
<content:encoded><![CDATA[<p>instr 2 reworked from a static held root into a syncopated city-pop bass figure (root / octave / fifth movement), pluckier envelope so the line articulates; driven by a new BASS score macro per chord.</p>
<ul><li>instr 4 (new): lead melody — detuned sines + soft octave partial, gentle vibrato, reverb send. A wistful top line over both Royal Road passes via a MEL score macro.</li><li>Score refactored to PAD/BASS/MEL macros so the harmony stays readable.</li><li>Renders clean under csound 6.18, peak ~0.34, no clipping.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=2822&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/cdb511ae3529d20c5a4bc6a10ec6bf7984d8c604">cdb511a</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/cdb511ae3529d20c5a4bc6a10ec6bf7984d8c604</comments>
</item>
<item>
<title>Restore the full vaporwave capability: found sound + MP3, as recipe</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=9228&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">d7744c9c33d059e88a00d0f4849995b90b86c04f</guid>
<pubDate>Sat, 06 Jun 2026 04:42:20 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>found</category>
<description><![CDATA[The earlier pipeline didn't just play synth chords — it layered field recordings from the Internet Archive (radio aporee: Tokyo Station, Tsukiji, Asakusa, a Paris market), granular-processed through syncgrain (stretched, pitched down, into the reverb), arranged as solo interludes where the band…]]></description>
<content:encoded><![CDATA[<p>The earlier pipeline didn't just play synth chords — it layered field recordings from the Internet Archive (radio aporee: Tokyo Station, Tsukiji, Asakusa, a Paris market), granular-processed through syncgrain (stretched, pitched down, into the reverb), arranged as solo interludes where the band…</p>
<ul><li>royal-road.csd — adds instr 3: syncgrain found-sound layer (Tokyo Station), plus an arrangement with intro/interlude/outro city solos and a haze bed under two Royal Road passes.</li><li>fetch-found-sound.sh — downloads + trims the aporee recordings from the Internet Archive (the recipe; the .ogg/.wav are external, not committed).</li><li>render.sh — now also encodes vaporwave.mp3 (libmp3lame 160k).</li><li>SOURCES.md — archive.org items + CC BY-NC-SA attribution.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=9228&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/d7744c9c33d059e88a00d0f4849995b90b86c04f">d7744c9</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/d7744c9c33d059e88a00d0f4849995b90b86c04f</comments>
</item>
<item>
<title>Add Royal Road vaporwave as a committed, reproducible capability</title>
<link>https://stellate.app/?genre=vaporwave&amp;seed=9244&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122</link>
<guid isPermaLink="false">4b0af4dc75ab553eed6ec853ce7d3051133ce0cc</guid>
<pubDate>Sat, 06 Jun 2026 04:33:10 GMT</pubDate>
<dc:creator>Paul Ford</dc:creator>
<author>ford@ftrain.com (Paul Ford)</author>
<category>vaporwave</category>
<category>harmony</category>
<description><![CDATA[We once rendered ten vaporwave tracks into an unversioned home dir; the renders survived but the .csd that made them was lost, then the renders themselves were deleted.]]></description>
<content:encoded><![CDATA[<p>We once rendered ten vaporwave tracks into an unversioned home dir; the renders survived but the .csd that made them was lost, then the renders themselves were deleted.</p>
<ul><li>This fixes it the way the rest of the repo works: source is the artifact, renders are derived.</li><li>royal-road.csd — the capability (Fmaj7-G7-Em7-Am7, ~70 BPM, detuned saw pads, tape-wow wobble, hall reverb). Renders cleanly under csound 6.18, no clipping.</li><li>render.sh — one command back from text to sound.</li><li>.gitignore — *.wav/*.mp3 derived, never committed.</li></ul>
<p><a href="https://stellate.app/?genre=vaporwave&amp;seed=9244&amp;path=1679.4393,1698.4426,1660.4426&amp;xdur=13.122">▶ Play it: Food Court Eternity — parked on the genre this change names</a></p>
<p><small><a href="https://github.com/aboard-io/stellate/commit/4b0af4dc75ab553eed6ec853ce7d3051133ce0cc">4b0af4d</a> · <a href="https://stellate.app/colophon.html">colophon</a> · <a href="https://github.com/aboard-io/stellate">source</a></small></p>]]></content:encoded>
<comments>https://github.com/aboard-io/stellate/commit/4b0af4dc75ab553eed6ec853ce7d3051133ce0cc</comments>
</item>
</channel>
</rss>
