# Threejs Earth Render

Clone or update https://github.com/vibe-motion/threejs-earth and render the Three.js...

- Repository: https://github.com/vibe-motion/skills (1498 stars)
- Category: Design
- License: see repository
- Last updated: 2026-10-05
- Runs scripts: yes, review before use

## Install

Claude Code: `npx skills add vibe-motion/skills --skill threejs-earth-render -g -a claude-code -y`
Codex: `npx skills add vibe-motion/skills --skill threejs-earth-render -g -a codex -y`
Cursor: `npx skills add vibe-motion/skills --skill threejs-earth-render -g -a cursor -y`
Gemini CLI: `npx skills add vibe-motion/skills --skill threejs-earth-render -g -a gemini-cli -y`

## Description

Clone or update https://github.com/vibe-motion/threejs-earth and render the Three.js Earth route animation with Puppeteer frame capture. Use when users ask for 三维地球航线动画, Three.js Earth, 地球飞线, globe route animation, or exporting an Earth GIF/MP4/PNG sequence.

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# Three.js Earth Render

## Workflow

1. Use `scripts/render_threejs_earth.py` from this skill.
2. Pass `--workspace` when the user specifies where the source checkout should live; otherwise use the current directory.
3. Pass `--output` when the user specifies a GIF/MP4 path; otherwise use `out/threejs-earth.gif`.
4. For customized routes, edit `threejs-earth/src/routeConfig.js` first and render with `--skip-update` so local edits are preserved.
5. Run the script and wait for completion.
6. Return the final absolute output path printed by the script.

## Command

```bash
/usr/local/bin/python3 scripts/render_threejs_earth.py \
  --workspace "$(pwd)" \
  --output "$(pwd)/out/threejs-earth.gif"
```

## Installed Skill Resolution

Use the installed skill copy, not the source repo checkout:

```bash
skill_dir=""
for base in "${AGENTS_HOME:-$HOME/.agents}" "${CLAUDE_HOME:-$HOME/.claude}" "${CODEX_HOME:-$HOME/.codex}"; do
  if [ -d "$base/skills/threejs-earth-render" ]; then
    skill_dir="$base/skills/threejs-earth-render"
    break
  fi
done
[ -n "$skill_dir" ] || { echo "threejs-earth-render skill not found under ~/.agents, ~/.claude, or ~/.codex"; exit 1; }

/usr/local/bin/python3 "$skill_dir/scripts/render_threejs_earth.py" \
  --workspace "$(pwd)" \
  --output "$(pwd)/out/threejs-earth.gif"
```

## Behavior

The rest: https://github.com/vibe-motion/skills/blob/HEAD/threejs-earth-render/SKILL.md
