# Tiny Planet

A walkable mini planet that doubles as a portfolio.

Category: 3D world

## The brief

Build a tiny 3D planet that I explore in third person, as a playful personal portfolio. Controls: WASD or arrow keys on desktop, and an on-screen joystick on touch screens. Gravity is spherical: my character stays upright anywhere on the surface and can walk all the way around the planet in about 30 seconds, with a camera that follows smoothly. Give the world a distinctive art direction, with props, ambient creatures and a day–night cycle. Place four landmarks (About, Projects, Writing, Contact) that open a panel with the owner's content when I walk up to them; the content is in `./input/owner.md`. Hide five collectibles around the planet and celebrate when all five are found.

## The exact prompt every model received

````markdown
Build a tiny 3D planet that I explore in third person, as a playful personal portfolio. Controls: WASD or arrow keys on desktop, and an on-screen joystick on touch screens. Gravity is spherical: my character stays upright anywhere on the surface and can walk all the way around the planet in about 30 seconds, with a camera that follows smoothly. Give the world a distinctive art direction, with props, ambient creatures and a day–night cycle. Place four landmarks (About, Projects, Writing, Contact) that open a panel with the owner's content when I walk up to them; the content is in `./input/owner.md`. Hide five collectibles around the planet and celebrate when all five are found.

Input resources for this brief are in `./input/` (`owner.md`). Treat them as reference material and copy anything you use into `./site/`.

## House rules (identical for every model)

- Build a website in `./site/`. The entry point is `./site/index.html`. Only `./site/` gets published, so keep scratch files, scripts and tooling outside it.
- It must be fully static: no backend, no server code, no API keys, no logins. It will be served as plain files from a CDN under a sub-path and shown inside an iframe, so use relative URLs only.
- JavaScript libraries and web fonts from public CDNs are fine (cdn.jsdelivr.net, unpkg.com, cdnjs.cloudflare.com, esm.sh, Google Fonts). Nothing else may be fetched at runtime.
- Resources: you may create any media the site needs (images, textures, audio, video, 3D models, data files) and put them in `./site/`. Make them yourself with code or local tools: node, python3 and ffmpeg are installed, and you may `npm install` packages into a folder outside `./site/`. Do not download third-party media. Budget: 40 MB total, 15 MB per file.
- It must work with mouse, keyboard and touch, on screens from 375 px phones to wide desktops, and run smoothly on a mid-range laptop.
- The first 3 seconds matter: it should look impressive immediately.
- Test it. Run `node .prism/check.mjs`: it opens `./site` in a real headless Chromium at desktop (1440×900) and phone (390×844) sizes, prints console errors and failed requests, and saves screenshots to `./.prism/shots/`. Look at the screenshots. Run it as often as you like.
- Work autonomously; nobody will answer questions. You have up to 60 minutes.
- When you are done, write `./NOTES.md` (outside `./site/`) covering what you built, your key decisions, and known issues.
````

## Artifacts

- **Opus 5.5** (`claude-opus-5-5`, 22m 52s): live https://prism-artifacts.berrocal.xyz/tiny-planet/opus-5-5/site/index.html · replicate https://prism.berrocal.xyz/i/tiny-planet/opus-5-5/index.md · pack https://prism-artifacts.berrocal.xyz/tiny-planet/opus-5-5/pack.zip
- **Sonnet 5.5** (`claude-sonnet-5-5`, 28m 58s): live https://prism-artifacts.berrocal.xyz/tiny-planet/sonnet-5-5/site/index.html · replicate https://prism.berrocal.xyz/i/tiny-planet/sonnet-5-5/index.md · pack https://prism-artifacts.berrocal.xyz/tiny-planet/sonnet-5-5/pack.zip
- **Haiku 4.5** (`claude-haiku-4-5-20251001`, 8m 37s): live https://prism-artifacts.berrocal.xyz/tiny-planet/haiku-4-5/site/index.html · replicate https://prism.berrocal.xyz/i/tiny-planet/haiku-4-5/index.md · pack https://prism-artifacts.berrocal.xyz/tiny-planet/haiku-4-5/pack.zip
- **GPT-6 Astra** (`gpt-6-astra`, 28m 44s): live https://prism-artifacts.berrocal.xyz/tiny-planet/gpt-6-astra/site/index.html · replicate https://prism.berrocal.xyz/i/tiny-planet/gpt-6-astra/index.md · pack https://prism-artifacts.berrocal.xyz/tiny-planet/gpt-6-astra/pack.zip
- **GPT-6 Sol** (`gpt-6-sol`, 19m 37s): live https://prism-artifacts.berrocal.xyz/tiny-planet/gpt-6-sol/site/index.html · replicate https://prism.berrocal.xyz/i/tiny-planet/gpt-6-sol/index.md · pack https://prism-artifacts.berrocal.xyz/tiny-planet/gpt-6-sol/pack.zip
- **GPT-6 Luna** (`gpt-6-luna`, 23m 59s): live https://prism-artifacts.berrocal.xyz/tiny-planet/gpt-6-luna/site/index.html · replicate https://prism.berrocal.xyz/i/tiny-planet/gpt-6-luna/index.md · pack https://prism-artifacts.berrocal.xyz/tiny-planet/gpt-6-luna/pack.zip

Input resources: https://prism-artifacts.berrocal.xyz/inputs/tiny-planet/resources/owner.md
