Commit Graph
48 Commits
Author SHA1 Message Date
teahubxyzandClaude Fable 5.1 b4809dbbe1 updates: the app checks for a new version on every return to the foreground and shows a NEW VERSION · RELOAD pill; RELOAD is also on the seed screen for the installed app
shots / shots (push) Canceled after 0s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 03:40:36 +00:00
teahubxyzandClaude Fable 5.1 e699de83aa repeat survives the crackle hold
shots / shots (push) Canceled after 2m14s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 03:38:41 +00:00
teahubxyzandClaude Fable 5.1 2edb835cc7 if the next track isn't cooked when one ends, the player itself loops the crackle inside the ended event, so a locked phone keeps a live playback session until the track lands
shots / shots (push) Canceled after 0s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 03:38:29 +00:00
teahubxyzandClaude Fable 5.1 7d10ff41d7 locked-screen continuity: when a track ends and the next is already cooked, the swap to it happens synchronously inside the ended event (iOS only lets playback continue that way in the background); the bookkeeping follows
shots / shots (push) Canceled after 2m14s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 03:36:43 +00:00
teahubxyzandClaude Fable 5.1 5725ed3ebc station sheet: an × in the top right instead of a CLOSE button
shots / shots (push) Successful in 2m18s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 03:15:46 +00:00
teahubxyzandClaude Fable 5.1 38c5a9ec76 crackle starts the moment there's nothing ready to play (DJ writing + render), and is loud enough to hear
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 03:13:14 +00:00
teahubxyzandClaude Fable 5.1 b891f698e5 emoji tray: seven most-used + the picker
shots / shots (push) Successful in 2m22s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 03:08:19 +00:00
teahubxyzandClaude Fable 5.1 0bf78b5d8a meta chips say intermission / sponsored / remix
shots / shots (push) Canceled after 33s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 03:07:26 +00:00
teahubxyzandClaude Fable 5.1 94edeaca94 scrub the progress bar (tap or drag, with a time readout while dragging); remixes say so on the meta line
shots / shots (push) Canceled after 33s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 03:07:11 +00:00
teahubxyzandClaude Fable 5.1 fcdaaff678 station sheet gets STATION FROM THIS TRACK and SHARE STATION; the * STATION pill goes; one fewer emoji in the tray so + stays on the row on phones
shots / shots (push) Successful in 2m17s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 03:04:23 +00:00
teahubxyzandClaude Fable 5.1 97d8bc938f the first tap unlocks the crackle too
shots / shots (push) Successful in 2m43s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 02:49:50 +00:00
teahubxyzandClaude Fable 5.1 8607d325ef share links carry the render seed, length, meter, look and palette, so the other end hears the same song; vinyl crackle while a track cooks and between tracks (a second quiet <audio>, no Web Audio, so iOS is fine)
shots / shots (push) Canceled after 36s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 02:49:37 +00:00
teahubxyzandClaude Fable 5.1 006597719f the unlock clip is 50 ms of real silence (an empty wav is rejected by some players)
shots / shots (push) Successful in 2m18s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 02:35:01 +00:00
teahubxyzandClaude Fable 5.1 027d069787 prime only while no track is loaded
shots / shots (push) Canceled after 56s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 02:34:06 +00:00
teahubxyzandClaude Fable 5.1 0ffeefe94d mobile: the first tap anywhere unlocks the player (silent clip inside the gesture) so the first track autoplays when it lands; on iOS the cover pulses to the beat instead of the spectrum, so music keeps playing with the screen off and ignores the mute switch
shots / shots (push) Canceled after 28s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 02:33:56 +00:00
teahubxyzandClaude Fable 5.1 d372da5950 breaks look like breaks: the cover goes monochrome under an ON AIR ring with the asterisk as the mark
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 02:22:33 +00:00
teahubxyzandClaude Fable 5.1 9da4b4db14 speak() works with a personal Venice key too
shots / shots (push) Successful in 2m18s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 02:15:03 +00:00
teahubxyzandClaude Fable 5.1 5f8afacda9 spoken breaks are read by a TTS voice the DJ keeps (welcome, recap, shout-out, tease); sung breaks stay on the song model; errors name the renderer, not Venice
shots / shots (push) Canceled after 0s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 02:14:53 +00:00
teahubxyzandClaude Fable 5.1 2c53627bac shots workflow: no pip step, the icon script needs nothing
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 02:10:37 +00:00
teahubxyzandClaude Fable 5.1 f718d1869e icons: standard-library PNG writer (the runner has no pip)
shots / shots (push) Failing after 2m16s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 02:10:31 +00:00
teahubxyzandClaude Fable 5.1 4bc0dacd97 welcome break comes after the third track, when the brain turns on
shots / shots (push) Failing after 2m15s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 02:04:59 +00:00
teahubxyzandClaude Fable 5.1 71e4feee03 welcome break: after the first track the DJ pops on once — a name they pick and keep, the station's name, what the station listens for, react or drop a line, thanks for listening to gandora, enjoy
shots / shots (push) Canceled after 0s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 02:04:32 +00:00
teahubxyzandClaude Fable 5.1 0874f1566a intermissions wait until the station has three real tracks (when the brain wakes up)
shots / shots (push) Canceled after 2m15s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 02:02:37 +00:00
teahubxyzandClaude Fable 5.1 37bf31d6ba brain: intermissions of any kind stay out of taste
shots / shots (push) Canceled after 2m21s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:59:52 +00:00
teahubxyzandClaude Fable 5.1 4f96b9ec82 DJ intermissions: every fifth slot is a 30 s break — ident, recap of the last tracks, tease of what's next, a shout-out to the listener, or the pro word — in the station's own sound, marked, kept out of taste
shots / shots (push) Canceled after 0s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:59:45 +00:00
teahubxyzandClaude Fable 5.1 a178e5c9b2 shots workflow: Pillow for the icons; rerun when the icon script changes
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:58:09 +00:00
teahubxyzandClaude Fable 5.1 c488529e14 icons: drawn by tools/icons.py (Pillow, supersampled), not screenshotted — the runner's Chrome cropped them
shots / shots (push) Canceled after 29s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:58:01 +00:00
teahubxyzandClaude Fable 5.1 fb1f816ebe brain: sponsored idents never train taste or appear in THE FIVE
shots / shots (push) Successful in 2m22s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:53:41 +00:00
teahubxyzandClaude Fable 5.1 fc2170ab70 sponsored: every sixth track is a 30 s station ident in the station's own style — thanks for listening to g*ndora, a nod to pro — marked SPONSORED, kept out of taste
shots / shots (push) Canceled after 28s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:53:34 +00:00
teahubxyzandClaude Fable 5.1 390323baf9 remix: the reference sets the length, so when the DJ changed the length by 30 s or more the remix goes without it
shots / shots (push) Successful in 3m53s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:45:30 +00:00
teahubxyzandClaude Fable 5.1 6a8e8bed8c trail: bigger thumbs on the cover
shots / shots (push) Successful in 2m36s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:31:16 +00:00
teahubxyzandClaude Fable 5.1 c82a340d15 brain: track length is an input to the taste net
shots / shots (push) Canceled after 0s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:29:58 +00:00
teahubxyzandClaude Fable 5.1 d9dbedd956 icons: PNGs for the installed app (separate any / maskable entries), SVG keeps explicit size; desktop PWA icon was clipped
shots / shots (push) Canceled after 0s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:29:44 +00:00
teahubxyzandClaude Fable 5.1 e89bb9c538 length and meter are the DJ's to choose (30–300 s, 4/4 3/4 6/8 …), steered by what the listener says; remixes and track-born stations hand the source audio to the renderer as a reference
shots / shots (push) Canceled after 0s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 01:29:18 +00:00
teahubxyzandClaude Fable 5.1 31805089f0 start a station from a track (pandora-style): * STATION pill on the player and a * button on library tiles — the track opens the new station, its tags seed the taste, the DJ carries on from there
shots / shots (push) Successful in 2m24s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 00:30:28 +00:00
teahubxyzandClaude Fable 5.1 f8527d6d76 taste: the five picks say what they are
shots / shots (push) Canceled after 2m8s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 00:27:34 +00:00
teahubxyzandClaude Fable 5.1 150a1cc14a taste: the five picks sit at the top, under the tabs
shots / shots (push) Canceled after 28s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-21 00:27:27 +00:00
teahubxyzandClaude Fable 5.1 83bf464b49 taste canvases read the theme's colours instead of hard-coded dark ones
shots / shots (push) Successful in 2m22s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 23:53:40 +00:00
teahubxyzandClaude Fable 5.1 2beac64165 ui: no more gold — the accent is ink (white in dark, near-black in light); light/dark toggle (LIGHT/DARK next to LIBRARY), follows the system until set
shots / shots (push) Canceled after 35s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 23:53:19 +00:00
teahubxyzandClaude Fable 5.1 42d68a2a4c icons: icon.html draws a fixed box at the requested size (?s=512) so the runner's screenshot crop is exact
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-20 23:46:28 +00:00
teahubxyzandClaude Fable 5.1 4140f511f2 shots workflow: commit the rendered icons too; rerun when the icon or the script changes
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 23:41:25 +00:00
teahubxyzandClaude Fable 5.1 8c01818950 shots: also render icons/icon-512.png, icon-192.png and apple-touch-icon.png from icons/icon.svg
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 23:41:17 +00:00
teahubxyzandClaude Fable 5.1 ea1a0b0d1f pwa: manifest + icons + service worker + Media Session (lock-screen art and controls); g*ndora wordmark; * as the seed placeholder
shots / shots (push) Canceled after 33s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 23:40:58 +00:00
teahubxyzandClaude Fable 5.1 bd5eab0c7c brand: the asterisk — white, square terminals. favicon.svg, icons/, manifest, service worker (library plays offline), Media Session, g*ndora wordmark
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-20 23:40:30 +00:00
teahubxyzandClaude Fable 5.1 d3ff1799b3 lyrics/keep/share sit right above the bpm · key · tags line; the trail lives on the cover — hover (or always on touch) shows it, wheel scrolls it
shots / shots (push) Successful in 2m16s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 22:45:46 +00:00
teahubxyzandClaude Fable 5.1 c7db36473e player order (cover, transport, trail, title, bar, lyrics/keep/share, dj/next/tags) + 120 s tracks — re-applied after the move from time#gh-pages
shots / shots (push) Successful in 2m16s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6
2026-10-20 22:40:04 +00:00
teahubxyzandClaude Fable 5.1 9a4e34268f shots: a workflow that renders shots/desktop.png with headless Chromium and commits it
Teahub pages serves this repo at gandora.yolopreneur.lol; the yolopreneur.lol
venture list shows shots/desktop.png as the card image. Actions -> shots ->
Run workflow (also runs on a push to main that touches index.html).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Hn2DWhV7Z1qUxjhCprDb88
2026-10-20 22:33:29 +00:00
teahubxyz 68f8cd1571 gandora: moved out of teahubxyz/time ventures/gandora into its own repo 2026-10-20 22:29:58 +00:00