Five-sound concurrency caps and the 125-second screencast war
Taking BuckyBounce from prototype to shipped repo required taming two very different physics engines: in-browser audio concurrency and macOS window focus. Eliminating the 6,536 audio console errors took a lazy singleton AudioContext paired with a 50ms cooldown and a strict 5-sound concurrency limiter in utils.ts. But the real friction hit during asset capture, burning nearly 60% of the launch session's effort on screen recording and demo GIF generation. The Antigravity IDE stole window focus between every automated tool call, while 60fps shatter physics hurled atoms offscreen in under 300ms—consistently leaving screencapture with an empty viewport. Solved both by scripting AppleScript window hiding and extracting discrete frames from a 125-second screencast using ffmpeg timestamps. Shipped 24 files and 5,399 insertions in commit 7866c8d, then turned the bruised session into a lasting rule for our capture skills: lessons are earned, not learned.