Skip to content

feat(jam): in-app Lobby Jam — lo-fi study music + guitar-playing cat#10

Merged
JOhnsonKC201 merged 1 commit into
mainfrom
feat/lobby-jam
Jun 18, 2026
Merged

feat(jam): in-app Lobby Jam — lo-fi study music + guitar-playing cat#10
JOhnsonKC201 merged 1 commit into
mainfrom
feat/lobby-jam

Conversation

@JOhnsonKC201

Copy link
Copy Markdown
Owner

Builds Lobby Jam — synthesized lo-fi study/focus music — right into PixelCat, so the cat plays it.

What you get

  • A Lobby Jam section in Settings (play toggle + Cozy / Dreamy / Upbeat mood) and a 🎸 Lobby Jam tray toggle.
  • When on, the cat holds and strums a little pixel guitar, bobs to the beat, and floats ♪ notes.
  • The music is an endless, improvising lo-fi guitar loop — Karplus–Strong plucked strings over lazy ii–V–I voicings + soft bass + brushed percussion, tape-warmed. 100% synthesized, no audio files (true to PixelCat's ethos).
  • Auto-resumes at launch if you left it on; respects the Volume slider and reduced-motion/low-power.

How it's wired (reuses existing patterns)

  • src/jam.js — the synth engine, reusing the overlay's shared AudioContext/master from audio.js.
  • Config gains lobbyJam: { on, mood } (normalized + persisted); the existing config broadcast drives the cat — no new IPC.
  • effects.js drawGuitar/drawNote (procedural pixel art, like the existing hearts/think-bubble); renderer.js reconciles audio + draws the guitar/bob/notes.

Verification

  • npm run lint clean; npm test 13/13 (added a lobbyJam normalize test; also corrected a pre-existing stale email-TLS assertion).
  • Guitar rendered via --shot --state=jam and visually confirmed.
  • Note: npm start works; the packed build can't be rebuilt on this machine (Smart App Control + winCodeSign), so test in dev.

…playing cat

The cat plays an endless, improvising lo-fi guitar loop (Karplus-Strong, 100%
synthesized — no audio files) and holds a little pixel guitar while it plays.

- src/jam.js: the synth engine, reusing the overlay's shared AudioContext/master
  so it respects the Volume slider and mixes with meow/purr.
- Settings: new "Lobby Jam" section (play toggle + Cozy/Dreamy/Upbeat mood) and a
  tray "Lobby Jam" toggle. Config persists { on, mood } and auto-resumes on launch.
- renderer/effects: the cat holds + strums a procedurally-drawn guitar, bobs to the
  beat, and floats music notes (drawGuitar/drawNote); reduced-motion / low-power aware.
- main: autoplay-policy switch so the music can resume at launch without a click.
- tests: lobbyJam normalize test; correct a stale email-TLS assertion.
@JOhnsonKC201 JOhnsonKC201 merged commit 5dfedb3 into main Jun 18, 2026
2 checks passed
@JOhnsonKC201 JOhnsonKC201 deleted the feat/lobby-jam branch June 18, 2026 04:28
@vercel

vercel Bot commented Jun 18, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
pixelcat Ready Ready Preview, Comment Jun 18, 2026 4:28am

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant