teahubxyz
6da217f4c4
mcp: spike — gandora MCP App audio probe (ui://gandora/probe + get_track)
2026-10-22 19:13:41 +00:00
teahubxyz and Claude Opus 5.5
f173b9dffd
dev: bump the SW REV so phones drop the pre-split cache
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-22 06:21:38 +00:00
teahubxyz
62f6f3951c
Merge pull request 'split → dev: index.html as ES modules (no build step), for a phone pass' ( #4 ) from split into dev
2026-10-22 06:20:49 +00:00
teahubxyz and Claude Opus 5.5
7cf03eb1f5
dev: webamp.html as on main (tapes, museum skins), so the split merges cleanly
...
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-22 06:20:25 +00:00
teahubxyz and Claude Fable 5.1
4aa94d8315
handoff: the seams after the module split, what the split left alone, the harness modes
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Dhu3iHseRewQ2WpBSVLokG
2026-10-21 22:35:15 +00:00
teahubxyz and Claude Fable 5.1
2b2936a831
architecture: tidy the render.js row
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Dhu3iHseRewQ2WpBSVLokG
2026-10-21 22:34:55 +00:00
teahubxyz and Claude Fable 5.1
db33db4673
architecture: the file map (ES modules, no build step) and the harness modes as they are now
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Dhu3iHseRewQ2WpBSVLokG
2026-10-21 22:34:48 +00:00
teahubxyz and Claude Fable 5.1
4bbe457421
app.js: the comment on the seq accessor
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Dhu3iHseRewQ2WpBSVLokG
2026-10-21 22:34:19 +00:00
teahubxyz and Claude Fable 5.1
189023b66f
docs: the file map after the split, the globals brain.js and the harness use, and the harness modes as they are now
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Dhu3iHseRewQ2WpBSVLokG
2026-10-21 22:34:13 +00:00
Claude Fable 5.1
479e110f5e
split 4/4: player.js (the state machine and the one <audio>, moved as-is), ui/player.js, ui/library.js, ui/sheet.js, ui/taste.js, mashup.js and app.js (boot, window.g, brain.js globals); index.html is markup + CSS + two script tags
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Dhu3iHseRewQ2WpBSVLokG
2026-10-21 22:31:34 +00:00
Claude Fable 5.1
cc6c971423
split 3/4, fixed: the inline module imports setFetcher from render.js (the harness stub reaches it through window.g)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Dhu3iHseRewQ2WpBSVLokG
2026-10-21 22:29:14 +00:00
teahubxyz and Claude Fable 5.1
5525104679
split.js: setFetcher (added by split-post) belongs to render.js, so the globals block imports it
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Dhu3iHseRewQ2WpBSVLokG
2026-10-21 22:28:20 +00:00
teahubxyz and Claude Fable 5.1
cd6e02be11
harness-cdp: when the harness did not run, print the page's uncaught exceptions (a module that failed to load, say)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Dhu3iHseRewQ2WpBSVLokG
2026-10-21 22:27:29 +00:00
Claude Fable 5.1
baf43525f6
split 3/4: dj.js (the DJ prompt, askDJ/askBreak/askMash, modes, voices, personas, speak) and render.js (venice behind an injectable fetcher, renderTrack, noise and tone generators, wavBlob) out of index.html
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Dhu3iHseRewQ2WpBSVLokG
2026-10-21 22:24:29 +00:00
teahubxyz and Claude Fable 5.1
5268620470
split-post: the regex-literal false positive (crackle) also points at index.html in the intermediate steps
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Dhu3iHseRewQ2WpBSVLokG
2026-10-21 22:23:48 +00:00
Claude Fable 5.1
7274c21b63
split 2/4: store.js (db, saveStation, remember, the ledger, tapes incl. the KEPT virtual tape, tapeSpec) out of index.html
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Dhu3iHseRewQ2WpBSVLokG
2026-10-21 22:20:29 +00:00
Claude Fable 5.1
455f139842
split 1/4: covers.js (hash32, prng, keyHue, palettes, drawCover and the looks) and core.js (state, hooks, $, utils) out of index.html; the rest stays as an inline module
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Dhu3iHseRewQ2WpBSVLokG
2026-10-21 22:18:36 +00:00
teahubxyz and Claude Fable 5.1
f33029c261
harness-safari: copy the modules beside the page, not just brain.js
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Dhu3iHseRewQ2WpBSVLokG
2026-10-21 22:17:59 +00:00
teahubxyz and Claude Fable 5.1
f855ee15b7
split tooling: line-map splitter, post edits, node checks, harness fragments as modules over window.g, a workflow that performs a step
...
The harness fragments now run as inline modules (after app.js) and stub the renderer through render.setFetcher; harness.sh's loop mode goes over http + DevTools like resume (file:// cannot load modules; --dump-dom also hangs on current Chrome). No page change yet.
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01Dhu3iHseRewQ2WpBSVLokG
2026-10-21 22:17:50 +00:00
gitea-actions[bot]
0786964677
asmr: renders
2026-10-21 19:11:07 +00:00
teahubxyz
9376bd8c70
asmr: optional per-voice label
2026-10-21 19:10:18 +00:00
teahubxyz
d8784c0318
asmr: Luna and eve rendered slower natively (pitch kept), to A/B against the 0.9× toggle
asmr / render (push) Successful in 1m10s
2026-10-21 19:10:16 +00:00
teahubxyz
f02bc04c98
asmr: show cost per clip and per minute of audio on every voice
2026-10-21 19:01:51 +00:00
teahubxyz
8d200c5988
asmr: Venice TTS prices (USD per 1M input characters, from /models)
asmr / render (push) Successful in 1m0s
2026-10-21 19:01:40 +00:00
gitea-actions[bot]
6ca5c4d70d
asmr: renders
2026-10-21 18:45:31 +00:00
gitea-actions[bot]
1cb6d53de1
asmr: renders
2026-10-21 18:43:42 +00:00
gitea-actions[bot]
f7acd316ed
asmr: renders
2026-10-21 18:42:31 +00:00
teahubxyz
4683129167
asmr: Inworld is wav-only; re-render Gemini and Grok with their whisper lead (first pass went out without it)
asmr / render (push) Successful in 1m20s
2026-10-21 18:41:11 +00:00
teahubxyz
599051c33f
asmr: pull before rendering so back-to-back runs don't collide
asmr / render (push) Successful in 1m23s
2026-10-21 18:41:09 +00:00
gitea-actions[bot]
c17a45f143
asmr: renders
2026-10-21 18:39:05 +00:00
teahubxyz
87de965fc9
asmr: hide the next-round list when it's empty; absolute favicon for the subdomain
2026-10-21 18:36:44 +00:00
teahubxyz
6803dfb029
asmr: per-voice lead/tail around the script (whisper tags, spoken direction)
asmr / render (push) Failing after 1m32s
2026-10-21 18:36:07 +00:00
teahubxyz
97e246507c
asmr: round two — Inworld, Gemini, MiniMax, Grok
asmr / render (push) Successful in 1m40s
2026-10-21 18:35:31 +00:00
gitea-actions[bot]
c883da7890
asmr: renders
2026-10-21 18:29:51 +00:00
teahubxyz
dc1843c56d
asmr: render workflow
asmr / render (push) Successful in 4m30s
2026-10-21 18:25:19 +00:00
teahubxyz
f41c7abaac
asmr: sampler page
2026-10-21 18:24:48 +00:00
teahubxyz
e1e299788a
asmr: renderer for the voice bake-off
2026-10-21 18:23:57 +00:00
teahubxyz
5e5b3b9e66
asmr: voice bake-off config
2026-10-21 18:23:46 +00:00
teahubxyz and Claude Fable 5.1
7176eb1f86
tools/harness-safari.py: the loop harness in WebKit, driven by safaridriver with a real click
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 09:37:11 +00:00
teahubxyz and Claude Fable 5.1
234dd00379
harness: safari mode (WebKit over safaridriver, real activation)
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 09:36:51 +00:00
teahubxyz and Claude Fable 5.1
b1c8e231d7
handoff: the player rules learned the hard way, and the dev-first lane for player changes
...
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 09:36:43 +00:00
gitea-actions[bot]
d0797bc2c3
shots + sw stamp be3bce8aac
2026-10-21 09:32:11 +00:00
teahubxyz and Claude Fable 5.1
be3bce8aac
handoff: the playing flag follows play()'s promise; a refused play shows TAP TO PLAY instead of a playing UI with no sound
...
shots / shots (push) Successful in 2m15s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 09:30:08 +00:00
gitea-actions[bot]
c9b89d0b15
shots + sw stamp 36a8d64684
2026-10-21 08:44:16 +00:00
teahubxyz and Claude Fable 5.1
36a8d64684
voice preview: one at a time; a later tap stops the earlier one, even mid-fetch
...
shots / shots (push) Successful in 2m21s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 08:41:54 +00:00
teahubxyz and Claude Fable 5.1
6071116a26
station sheet: the × stays put while the sheet scrolls
...
shots / shots (push) Canceled after 42s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 08:41:08 +00:00
teahubxyz and Claude Fable 5.1
12f92bc28f
station sheet scrolls (capped at 88vh); the DJ section is a collapsed disclosure
...
shots / shots (push) Canceled after 34s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 08:40:53 +00:00
gitea-actions[bot]
49010877ec
shots + sw stamp d97628d1ad
2026-10-21 08:40:33 +00:00
teahubxyz and Claude Fable 5.1
d97628d1ad
hold: the level is baked into the sample (iOS ignores element volume); OFF holds on pure silence
...
shots / shots (push) Successful in 2m21s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 08:38:29 +00:00
gitea-actions[bot]
bc7a16bb34
shots + sw stamp dbe369d2c3
2026-10-21 08:34:34 +00:00