# Thrive Sacred geometry, lifted into three dimensions with [three.js](https://threejs.org/). Most sacred-geometry figures are drawn flat. This project asks what they look like when they are built in real 3D space: the Fruit of Life as a rotated cubic sphere packing, the Platonic solids nested inside it with their vertices on the circle centres, the torus as a field of winding strands, and so on. Every page is an interactive scene with orbit controls and a lil-gui panel for playing with the parameters. ## Pages | Page | File | What it shows | | --- | --- | --- | | Landing | `src/index.js` | Overview of all explorations, with an animated seed-of-life backdrop | | Metatron's Cube | `src/metatron.js` | The 3D Fruit of Life circle grid with the five Platonic solids (fire, earth, air, water, aether) aligned to it, plus the Merkaba and the full Metatron web | | Toroidal Field | `src/torus.js` | A torus with field-line strands winding around the surface and particles flowing along them | | Vector Equilibrium | `src/matrix.js` | The cuboctahedron: radial spokes equal to the edges, and the 12-around-1 kissing-sphere packing | | Golden Spiral | `src/phyllotaxis.js` | Phyllotaxis at the golden angle: sunflower disc, pinecone and Fibonacci sphere; nudge the angle to watch the pattern collapse | | Flower of Life | `src/flower.js` | A cubic grid of interlocking spheres | | Seed of Life | `src/seed.js` | The seven seed circles rotated through space | ## Development ```sh npm install npm start # dev server with hot reload npm run build # production build into build/ ``` Each page is its own webpack entry; the page list lives at the top of `webpack.config.js`. To add a new exploration, add `src/.js` (the shared scene setup is in `src/lib/stage.js`) and one line to the `pages` array. Every page shares the chrome in `src/lib/chrome.js`: fade transitions between pages and a dark/light toggle (bottom right, persisted in localStorage). Dark mode matches the landing page; light mode is the original orange room. ## Debug flags (Metatron page) * `?noaa` - disable antialiasing * `?noshadow` - disable shadow maps * `?only=` - show a single solid