Placeholder
A spinning cube that proves the code-splitting boundary works.
- Desktop:
- Drag to orbit, scroll to zoom.
- Mobile:
- Drag to orbit, pinch to zoom.
Devlog
This one isn't really a game. It's the fixture the rest of the site is built against — the thing I load when I want to know whether the platform works before there's anything fun to put in it.
It exists to hold three contracts honest:
- The code-splitting boundary. three.js and
@react-three/fiberare only reachable fromsrc/games/**, behind a lazy import withssr: false. If the WebGL payload ever leaks into the catalog pages, the first place it shows up is here, in a build where the only scene is a cube. - The host contract. The cube mounts through the shared canvas, which reads
pausedandqualityoff itsGameHostContext, and it reportsreadyback throughonEventexactly like a real game would. Pausing on tab blur and the low-quality DPR clamp are wired and testable with nothing but a<boxGeometry>. - The content pipeline.
meta.json→ generated registry → archive page → this devlog. Every step runs at build time, so a broken slug or a missing poster fails the build instead of the site.
Once there are real entries in the archive this will stop being the front page and go back to being what it is: a spinning cube, kept around because it's the cheapest smoke test I have.