Skip to content

Add globe animation capture tooling#76

Merged
rdhyee merged 1 commit intoisamplesorg:mainfrom
rdhyee:feature/globe-capture-tooling
Mar 27, 2026
Merged

Add globe animation capture tooling#76
rdhyee merged 1 commit intoisamplesorg:mainfrom
rdhyee:feature/globe-capture-tooling

Conversation

@rdhyee
Copy link
Copy Markdown
Contributor

@rdhyee rdhyee commented Mar 27, 2026

Summary

  • Adds tools/globe_capture.html — standalone Cesium page with DuckDB-WASM that loads H3 data and exposes the viewer for Playwright
  • Adds tools/capture_globe_rotation.py — captures 360° rotation frames and stitches animated WebP via img2webp

Why check this in

The animated globe hero (PR #69) will need periodic re-capture as we tweak camera angle, rotation speed, point styling, or when data updates. Having the tooling in-repo means anyone can regenerate it.

How to use

python -m http.server 8765 --directory tools/
python tools/capture_globe_rotation.py --duration 15 --frames 120 --quality 40
cp /tmp/isamples_globe.webp assets/isamples_globe.webp

Tunable parameters

  • --duration — loop length in seconds (higher = slower rotation)
  • --frames — frame count (more = smoother)
  • --quality — WebP quality 0-100 (lower = smaller file)
  • --width / --height — viewport dimensions

Dependencies

playwright, img2webp (from brew install webp), ffmpeg (for GIF fallback)

🤖 Generated with Claude Code

tools/globe_capture.html — standalone Cesium page that loads H3 res4
data from R2 via DuckDB-WASM and exposes the viewer for Playwright.

tools/capture_globe_rotation.py — Playwright script that rotates the
camera 360°, captures frames, and stitches into animated WebP via
img2webp (ffmpeg's libwebp_anim doesn't produce proper multi-frame
WebP). Configurable frames, duration, quality, viewport size.

Current defaults produce a 120-frame, 15-second loop at 800x500,
~3.8 MB WebP. Run with:

    python -m http.server 8765 --directory tools/
    python tools/capture_globe_rotation.py

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@rdhyee rdhyee merged commit 9b929b3 into isamplesorg:main Mar 27, 2026
1 check passed
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