{"slug":"games-agentabrams","total":43,"limit":100,"offset":0,"since":null,"commits":[{"hash":"ddb5d46","date":"2026-07-25 11:36:06 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-25T11:35:57 (1 files) — sync.sh","body":""},{"hash":"686fd16","date":"2026-07-25 11:33:48 -0700","author":"Steve","subject":"sync guard: deploy re-syncs from source first + sync.sh --check drift detector","body":"Closes the silent-drift hole where editing a source build (e.g. particle-text)\nand forgetting ./sync.sh would rsync a stale games/<id>/ copy to the live site.\ndeploy.sh now runs sync.sh before rsync; sync.sh gains a non-mutating --check\nmode (exit 3 on drift) for canary/CI use.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"c13d678","date":"2026-07-25 10:40:30 -0700","author":"Steve Abrams","subject":"hopper + tower-stack: fix desktop scale","body":"hopper: clip lane rendering to the play-field rect so off-field lane items\n(logs/cars/pads that spawn beyond the columns) no longer bleed into the\nletterbox on wide desktops. tower-stack: cap the playfield to a centered ~2:3\nportrait column (W=min(innerWidth, round(H*0.66))) like flappy-sky, so the\nblock doesn't slide across a 1440px field. Both mirror into their .aa copies.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"989a1b2","date":"2026-07-25 10:15:29 -0700","author":"Steve Abrams","subject":"flappy-sky: restore portrait-column fix (sync reverted it) + desktop-scale regression guard","body":"A parallel sync.sh re-copied the unpatched standalone source over the arcade\nindex.html, reverting commit 589241e's fix (the .aa kept it). Restore index.html\nfrom the fixed .aa and add a 1440x900 canvas-width assertion to tests/motion.mjs\nfor the flappy family — the animation loop runs at a phone viewport where the\nstretch bug can't manifest, so nothing caught the revert. Standalone source\npatched in a companion commit so future syncs don't revert again.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"47b2f29","date":"2026-07-25 10:11:11 -0700","author":"Steve Abrams","subject":"Fix: Runner had no Share button (share() was dead code) — add wired Share button + .ghost style (contrarian P0)","body":""},{"hash":"b51f468","date":"2026-07-25 10:07:12 -0700","author":"Steve Abrams","subject":"Trivia + Runner share payloads now link to 90210.agentabrams.com hub","body":""},{"hash":"79106c9","date":"2026-07-25 10:05:38 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-25T10:05:29 (2 files) — games/rodeo-runner/index.html games/trivia-90210/index.html","body":""},{"hash":"589241e","date":"2026-07-25 10:00:38 -0700","author":"Steve Abrams","subject":"flappy-sky: cap playfield to a centered portrait column (fixes unplayable desktop scale)","body":"The game filled the whole window (W=innerWidth, H=innerHeight), so on a wide\ndesktop a phone-tuned portrait game stretched into an ultra-wide field with one\ntiny bird — unplayable. Wrap the play elements in a centered #stage capped to a\n~2:3 column (letterboxed on desktop, full-width on phones). Physics constants,\nwhich are tuned for a ~480px portrait frame, now stay correct at any window size.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"903d618","date":"2026-07-25 09:57:36 -0700","author":"Steve Abrams","subject":"Cross-link main arcade -> Beverly Hills 90210 collection hub","body":""},{"hash":"8b233d3","date":"2026-07-25 09:45:02 -0700","author":"Steve Abrams","subject":"tests: add motion regression test — proves all 19 action games actually animate","body":"Existing e2e/popout tests only checked structure + pop-out links; nothing\nverified the moving games' loops actually run. Engine-agnostic (screenshot\ndiff, so WebGL games like atmos-skyfire count), starts each game via\nSpace/Enter/canvas-click (not chrome buttons — those pause), and requires\n>=2 distinct post-start frames to distinguish a live loop from a splash fade.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"d6891a2","date":"2026-07-25 09:28:35 -0700","author":"Steve","subject":"Every game opens in its own window: pop-out controls are now real target=_blank links (Cmd/middle-click + popup-block-safe)","body":""},{"hash":"10428c6","date":"2026-07-25 09:17:48 -0700","author":"Steve Abrams","subject":"Add Beverly Hills Slots (PinkPalaceSlots.aa) — source-backed via sources.tsv, 38 games","body":""},{"hash":"8039f76","date":"2026-07-25 09:12:05 -0700","author":"Steve Abrams","subject":"Add Rodeo Drive Runner — glam Beverly Hills endless lane-dodge arcade (Canvas 2D)","body":""},{"hash":"2c42688","date":"2026-07-25 08:56:46 -0700","author":"Steve Abrams","subject":"90210 Trivia: expand bank to 35 verified questions, swap tile icon to 💎","body":""},{"hash":"4a98487","date":"2026-07-25 08:45:59 -0700","author":"Steve Abrams","subject":"Add 90210 Trivia game — glam Beverly Hills pop quiz, timed w/ streak multiplier + scorecard","body":""},{"hash":"5c7f274","date":"2026-07-25 00:44:57 -0700","author":"Steve","subject":"deploy: add rsync --delete so retired games are purged from server","body":""},{"hash":"0bbf2b0","date":"2026-07-25 00:40:31 -0700","author":"Steve","subject":"Retire old particle-text (Particle Word); keep improved Starling only","body":""},{"hash":"db80d5d","date":"2026-07-25 00:32:16 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-25T00:32:03 (39 files) — games.json index.html sync.sh games-data.js games/2048/Abrams2048.aa","body":""},{"hash":"1aa9269","date":"2026-07-25 00:27:37 -0700","author":"Steve","subject":"Backgammon: 🎲 per-game hub icon (was default 🎮)","body":""},{"hash":"db6d49e","date":"2026-07-25 00:19:14 -0700","author":"Steve","subject":"Backgammon: iPad touch hardening (no double-tap zoom / tap-flash / text-select); verify 2-player hot-seat on touch","body":""},{"hash":"2b93b5e","date":"2026-07-25 00:13:51 -0700","author":"Steve","subject":"games.aa: add 90210 Backgammon to the arcade","body":""},{"hash":"b8cd4c8","date":"2026-07-25 00:07:00 -0700","author":"Steve","subject":"Arcade: sync.sh + sources.tsv — reconcile standalone source builds into the hub","body":""},{"hash":"f7583fe","date":"2026-07-24 23:59:50 -0700","author":"Steve","subject":"Arcade: add Starling build + per-game icon + open-in-own-window pop-out","body":""},{"hash":"36c7d11","date":"2026-07-24 23:37:26 -0700","author":"Steve Abrams","subject":"games.aa: upgrade Emoji Memory to the richer free-roster build (theme toggle, 4×4/6×6/8×8)","body":""},{"hash":"423a750","date":"2026-07-24 20:29:43 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-24T20:29:36 (10 files) — games/chomp/ games/gems/ games/hopper/ games/invaders/ games/missile/","body":""},{"hash":"f4e6a87","date":"2026-07-24 19:23:47 -0700","author":"Steve Abrams","subject":"Fix stale e2e: decouple cube checks from list order (deep-link) + wait for window.__cube — 7/7 green","body":""},{"hash":"94a2079","date":"2026-07-24 19:23:47 -0700","author":"Steve Abrams","subject":"Add 8 new arcade games: Asteroids, Minesweeper, Simon, Connect 4, Stack, Maze, Lights Out, Whack (16→24)","body":""},{"hash":"9a1b82f","date":"2026-07-24 18:54:44 -0700","author":"Steve","subject":"Add 3 newest Model Arena game winners: DVD Bounce, Verlet Rope, Particle Word","body":""},{"hash":"aeeb0bf","date":"2026-07-24 18:45:29 -0700","author":"Steve Abrams","subject":"Add 4 arcade games: Pong 2P, Emoji Memory, Spirograph, Constellation Clock","body":"- pong/emoji-memory: fresh house-standard builds (Canvas 2D / DOM grid,\n  procedural Web Audio, keyboard+touch, pause/mute, persistent best)\n- spirograph: reused polished Spirograph Studio build from graphics-agentabrams\n- constellation-clock: reused star-clock.html from model-arena\n- registered all 4 in games.json (9 -> 13 games)\n- tests/new-games-2.mjs: headless Chromium smoke test, 8/8 pass"},{"hash":"a788194","date":"2026-07-24 18:24:23 -0700","author":"Steve","subject":"Fix Flappy Sky ghosting: opaque per-frame sky clear (was translucent → smear trail)","body":""},{"hash":"c24ee2b","date":"2026-07-24 17:15:08 -0700","author":"Steve Abrams","subject":"Add 3 new-genre arcade games: Abrams Snake, Abrams Break, Abrams 2048","body":"- snake (grid arcade), breakout (paddle/ball), 2048 (sliding puzzle) — all\n  self-contained zero-dep games/<id>/index.html, wired into games.json\n- headless smoke test tests/new-games.mjs (6/6 pass)\n- fix stale e2e assertion (RubiksCube.aa -> AbramsCube.aa), suite now 7/7\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"8784aaf","date":"2026-07-24 08:37:21 -0700","author":"Steve Abrams","subject":"Add Abrams Blocks (Tetris) to the arcade — a genuinely different genre","body":"Full-featured Tetris: SRS rotation with wall kicks, 7-bag randomizer,\nghost piece, hold, next-queue, level speed-up, standard line-clear scoring.\nKeyboard + touch (swipe move, tap rotate, fling hard-drop), procedural\nWeb Audio, persistent best, pause/mute. Pure Canvas 2D, zero dependencies.\nHeadless-verified: 8/8 playability checks, error-free game + hub deep-link.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>"},{"hash":"3e43c0f","date":"2026-07-24 07:56:40 -0700","author":"Steve Abrams","subject":"auto-save: 2026-07-24T07:56:29 (1 files) — index.html","body":""},{"hash":"d6f86bc","date":"2026-07-24 07:26:16 -0700","author":"Steve Abrams","subject":"Arcade: correctly label all games; add my Flappy Clone alongside Flappy Sky","body":"- Rename cube game Rubik's -> Abrams Cube (label + in-game title)\n- Move parallel session's Flappy Sky content to games/flappy-sky/ (rename only)\n- Restore my daytime Flappy Clone to games/flappy-clone/ (card already matched)\n- Add flappy-sky manifest entry so all 5 cards match their served game\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>"},{"hash":"de543fd","date":"2026-07-23 15:44:44 -0700","author":"Steve Abrams","subject":"Add Flappy Flight to the arcade","body":"New games/flappy-flight/ (single-file Canvas 2D game) + games.json\nentry. Additive — leaves the existing flappy-clone untouched.\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>"},{"hash":"a2063b7","date":"2026-07-23 15:44:33 -0700","author":"Steve","subject":"arcade: upgrade flappy-clone to polished verified build","body":"Adds pause (P), auto-pause on blur, soft ceiling, ground plane, medals,\nWebAudio SFX, screen shake, fixed-step physics, reduced-motion. Loads + plays\nclean inside the hub iframe (Playwright, 0 console errors).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>"},{"hash":"99396ea","date":"2026-07-23 15:40:55 -0700","author":"Steve Abrams","subject":"Add Flappy Clone to the arcade","body":"New game at games/flappy-clone/ + games.json entry. Self-contained Canvas 2D\nFlappy-Bird clone (parallax, medals, persistent best, sound, pause).\n\nCo-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>"},{"hash":"5b0bad6","date":"2026-07-23 15:26:30 -0700","author":"Steve Abrams","subject":"Arcade hub: cache-bust the games.json fetch so new games show without a hard refresh","body":""},{"hash":"fd95fec","date":"2026-07-23 15:14:33 -0700","author":"Steve Abrams","subject":"Arcade: focus iframe on game load (keyboard-primary games) + clarify Skyfire tribute credit","body":"Contrarian-caught: hub set frame.src without focusing the iframe, so keyboard-primary\ngames (Skyfire's 'press space to begin') got no key events until the user clicked in.\nVerified end-to-end: after selecting a game the iframe is document.activeElement and a\nreal Space keypress starts Skyfire. Also fixed self-contradicting 'original clone' credit."},{"hash":"ab05d7a","date":"2026-07-23 14:57:12 -0700","author":"Steve Abrams","subject":"Add ATMOS — Skyfire to the arcade (Three.js flyer, vendored locally for zero-dep)","body":""},{"hash":"d8a99a6","date":"2026-07-23 11:08:26 -0700","author":"Steve Abrams","subject":"live: games.agentabrams.com deployed (explicit-IP listen fix, certbot SSL); sync final nginx conf","body":""},{"hash":"7d4ac89","date":"2026-07-23 11:04:54 -0700","author":"Steve Abrams","subject":"deploy package: nginx conf + gated one-shot deploy.sh (DNS + rsync + certbot)","body":""},{"hash":"cd005d2","date":"2026-07-23 11:03:28 -0700","author":"Steve Abrams","subject":"initial scaffold: games hub (left panel manifest list, right panel iframe) + RubiksCube.aa","body":""}]}