No description
  • TypeScript 80.3%
  • Python 14.2%
  • CSS 2.9%
  • HTML 0.9%
  • Dockerfile 0.9%
  • Other 0.8%
Find a file
2026-10-07 18:14:06 +02:00
.husky initial commit 2026-10-07 11:43:10 +02:00
.vscode initial commit 2026-10-07 11:43:10 +02:00
docs style: normalize project configuration and handoff formatting 2026-10-07 12:39:53 +02:00
public docs: simplify readme and license website code under agpl 2026-10-07 17:21:09 +02:00
scripts refactor: move script to proper uv setup 2026-10-07 17:09:24 +02:00
src feat: add my links 2026-10-07 18:14:06 +02:00
.dockerignore ops: add all scripts to dockerignore 2026-10-07 17:51:09 +02:00
.gitignore docs: document the explorer and remove starter assets 2026-10-07 12:38:59 +02:00
.oxfmtrc.json initial commit 2026-10-07 11:43:10 +02:00
.oxlintrc.json initial commit 2026-10-07 11:43:10 +02:00
Caddyfile initial commit 2026-10-07 11:43:10 +02:00
docker-compose.yml ops: prepare dockiy host 2026-10-07 11:44:22 +02:00
Dockerfile initial commit 2026-10-07 11:43:10 +02:00
dockiy.config.yml style: normalize project configuration and handoff formatting 2026-10-07 12:39:53 +02:00
dockiy.yml style: normalize project configuration and handoff formatting 2026-10-07 12:39:53 +02:00
index.html style(header): replace branding and headline with the descriptive title 2026-10-07 12:51:50 +02:00
LICENSE docs: simplify readme and license website code under agpl 2026-10-07 17:21:09 +02:00
package.json feat: use Robinson projection for the flat map 2026-10-07 16:54:18 +02:00
pnpm-lock.yaml build: add three.js globe dependencies 2026-10-07 12:18:26 +02:00
README.md docs: simplify readme and license website code under agpl 2026-10-07 17:21:09 +02:00
tsconfig.app.json initial commit 2026-10-07 11:43:10 +02:00
tsconfig.json initial commit 2026-10-07 11:43:10 +02:00
tsconfig.node.json initial commit 2026-10-07 11:43:10 +02:00
vite.config.ts initial commit 2026-10-07 11:43:10 +02:00

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