The starting point
The Reef is one underwater world that everyone shares. You plant seeds and tend them with four verbs, plant, feed, prune, and graft, and the reef grows procedurally between visits, downward into the dark where bioluminescence takes over. Nobody places anything. Geometry only ever grows.
What I built
Three.js and TypeScript with a deterministic growth engine in its own package, and Supabase for the world: Postgres, anonymous identities, edge functions, and a cron that commits growth epochs every thirty seconds. Each identity gets twelve tending points a day. The build is contract-driven, with twelve rules of the world and a performance budget (60fps target, 250 draw calls, 600k triangles) checked every phase. Other players show up as what they planted, not as avatars.
Current state
Phase two is done: growth epochs, spore seeding under a structure cap, a custom bloom pass for the bioluminescence, and the tending HUD. The genesis reef is pre-grown to day 45 on first boot.
