Skip to content

Add timelapse skill + rendered build-progression video#3

Open
radiantnode wants to merge 4 commits into
mainfrom
claude/timelapse-skill
Open

Add timelapse skill + rendered build-progression video#3
radiantnode wants to merge 4 commits into
mainfrom
claude/timelapse-skill

Conversation

@radiantnode

Copy link
Copy Markdown
Owner

Introduce a self-contained pipeline that walks the entire commit history
oldest->newest and plays a real round on each commit, then stitches the
frames into an MP4.

  • Timelapse/bin/make_timelapse.sh: orchestrator — per-worker shared clones,
    parallel capture across ports, then video stitch (arc | board modes)
  • Timelapse/bin/launch.py: boots any commit's app with telemetry neutralized
    so it runs standalone (no Postgres/Grafana)
  • Timelapse/bin/play.py: drives two browser contexts (host=winner,
    guest=loser) to capture an 8-frame arc per commit — loading, lobby, first
    roll, dice locking, WIN, and the opponent's LOSS — via stable selectors and
    button text that survive markup/protocol drift across history
  • Timelapse/bin/shoot.py: lightweight board-only capture (board mode)
  • Timelapse/bin/build_video.py: frames -> MP4, holding win/loss beats longer
  • Timelapse/tensies-gameplay-timelapse.mp4: the rendered result (80 commits)
  • .claude/skills/timelapse/skill.md: user-invocable skill to (re)build it

https://claude.ai/code/session_01HfybSYfuaU6E5jAsEpbfVF

claude added 4 commits May 30, 2026 02:02
Introduce a self-contained pipeline that walks the entire commit history
oldest->newest and plays a real round on each commit, then stitches the
frames into an MP4.

- Timelapse/bin/make_timelapse.sh: orchestrator — per-worker shared clones,
  parallel capture across ports, then video stitch (arc | board modes)
- Timelapse/bin/launch.py: boots any commit's app with telemetry neutralized
  so it runs standalone (no Postgres/Grafana)
- Timelapse/bin/play.py: drives two browser contexts (host=winner,
  guest=loser) to capture an 8-frame arc per commit — loading, lobby, first
  roll, dice locking, WIN, and the opponent's LOSS — via stable selectors and
  button text that survive markup/protocol drift across history
- Timelapse/bin/shoot.py: lightweight board-only capture (board mode)
- Timelapse/bin/build_video.py: frames -> MP4, holding win/loss beats longer
- Timelapse/tensies-gameplay-timelapse.mp4: the rendered result (80 commits)
- .claude/skills/timelapse/skill.md: user-invocable skill to (re)build it

https://claude.ai/code/session_01HfybSYfuaU6E5jAsEpbfVF
Retake every commit's gameplay arc in a real mobile browser context
emulating an iPhone 17 Pro Max (440x956 @ DPR 3 -> native 1320x2868,
is_mobile/has_touch, iOS Safari UA), so the page renders its true phone
layout instead of a scaled desktop window.

- play.py: DEVICE profile drives both contexts as iPhone 17 Pro Max
- build_video.py: keep frames' native resolution (no downscale) and encode
  for phones — H.264 Main + yuv420p, CRF 26 / veryslow / -tune stillimage,
  silent AAC track, +faststart
- tensies-gameplay-timelapse.mp4: re-rendered at 1320x2868
- README/skill: document the device profile, the encode, and the 3x-DPR
  parallelism/OOM caveat (use ~4 workers)

https://claude.ai/code/session_01HfybSYfuaU6E5jAsEpbfVF
Driving the game by clicks leaves a full-viewport .screen element focused;
under the mobile/iOS-UA context that paints an amber WebKit focus ring around
the whole frame. Inject a global `outline:none` (and clear the tap-highlight)
into each browser context, and blur the active element before each screenshot.

(The committed video is re-rendered in a follow-up once frames regenerate.)

https://claude.ai/code/session_01HfybSYfuaU6E5jAsEpbfVF
All 80 commits re-captured with the outline fix from e96f6aa; same native
1320x2868 resolution and mobile encode (H.264 Main, CRF 26, veryslow,
-tune stillimage, silent AAC, faststart).

https://claude.ai/code/session_01HfybSYfuaU6E5jAsEpbfVF
@radiantnode radiantnode force-pushed the claude/timelapse-skill branch from e8b6109 to 2356d27 Compare June 9, 2026 21:27
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.

2 participants