No description
- TypeScript 80.3%
- Python 14.2%
- CSS 2.9%
- HTML 0.9%
- Dockerfile 0.9%
- Other 0.8%
| .husky | ||
| .vscode | ||
| docs | ||
| public | ||
| scripts | ||
| src | ||
| .dockerignore | ||
| .gitignore | ||
| .oxfmtrc.json | ||
| .oxlintrc.json | ||
| Caddyfile | ||
| docker-compose.yml | ||
| Dockerfile | ||
| dockiy.config.yml | ||
| dockiy.yml | ||
| index.html | ||
| LICENSE | ||
| package.json | ||
| pnpm-lock.yaml | ||
| README.md | ||
| tsconfig.app.json | ||
| tsconfig.json | ||
| tsconfig.node.json | ||
| vite.config.ts | ||
Tectonic — A planet in motion
An interactive 3D globe showing 1.8 billion years of plate tectonics, built with React and Three.js. Inspired by Howtown's YouTube animation.
Based on Cao et al. (2024), Earth's tectonic and plate boundary evolution over 1.8 billion years, using their v2.4 dataset under CC BY 4.0. Model geometry and rotations were processed for browser playback; full credits and modifications.
Website code is licensed under AGPL-3.0-only. Research assets remain under CC BY 4.0; fonts and dependencies retain their own licenses.
Run locally
Requires Node.js 24+ and pnpm.
pnpm install --frozen-lockfile
pnpm dev
Build and check
pnpm build # production output in dist/
pnpm preview # serve the build locally
pnpm test
pnpm lint
Regenerate model assets (optional)
Requires uv. Download and extract the dataset archive, then:
cd scripts/model
uv run --locked prepare-model.py /path/to/1.8Ga_model_GSF
Deployment
Includes Docker/Caddy configuration and deployment hooks for DockIY. To run the Docker build hook locally:
DOCKIY_APP_IMAGE=tectonic:local DOCKIY_PLATFORM=linux/amd64 bash scripts/build.sh