# Sacred Geometry — `sacred-geometry@1.0.0`

The Flower of Life in polished gold: circles built up ring by ring, glowing at the crossings, turning, then folding away. Loops perfectly.

The Flower of Life in polished metal: nineteen identical circles, each passing through the centres of its neighbours, built up ring by ring from a single circle at the middle, shining at the crossings, turning slowly and then folding away again so the loop starts and ends on nothing. The circles are rings of metal at slightly different depths, so the flower has real body as the camera drifts. Choose the metal (gold, silver, rose gold or copper), how many rings of circles, how far the rings stand apart in depth, the thickness of the metal, the backdrop colour and whether the camera drifts.

- Kind: object; status: published; digest sha256:82752504dd5fd76111d9f3e5a645ba3f946a624262bb8c14a50db40dcb44491c
- Role: Object (3D, three.js): a calm, meditative geometric showpiece for wellness, spiritual and design content.
- Implementation: three; entry `src/sacred-geometry.js`
- Files: https://aipixelwizard.com/registry/sacred-geometry/1.0.0/<path> (`LICENSE`, `asset.json`, `demo.js`, `index.html`, `src/sacred-geometry.js`)
- Manifest JSON: https://aipixelwizard.com/api/v1/visuals/sacred-geometry/versions/1.0.0
- Runnable demo: https://aipixelwizard.com/registry/sacred-geometry/1.0.0/index.html (open over http; it imports sibling packages by relative path)
- Dependencies (exact): `three@0.185.1` (source) — Renderer, geometry and shader materials.; `chrome-material@1.1.0` (demo) — Studio environment light, backdrop and contact shadow.; `apw-runtime@1.0.0` (demo) — Demo harness.

## Exports
- `createFlowerOfLife({ metal?, rings?, depth?, thickness? }) => { group, setProgress(progress), dispose() }` — The circles and glowing crossings as a group in the xy plane (about 9 across for two rings), facing +z; needs an environment map.
- `METALS: { gold, silver, rose, copper }` — Metal finishes with colour, roughness and glow.

## Parameters
- `metal` (select one of gold | silver | rose | copper, default "gold") — Metal
- `rings` (integer 1–3, default 2) — Rings
- `depth` (number 0–2, default 1) — Depth
- `thickness` (number 0.6–1.8, default 1) — Metal thickness
- `background` (color, default "#10121c") — Backdrop
- `orbit` (boolean, default true) — Camera drift

## Composition
- Inputs: Time within the loop; the metal, rings, depth, thickness, backdrop and camera drift.
- Outputs: A full frame rendered in 3D with a studio environment.
- Coordinates: The flower is centred on the origin in the xy plane; every circle has radius 1.5 and its neighbours' centres on its rim; rings stand ±0.12 × ring number apart in depth.
- Lighting: A warm key light and the studio environment on metal; the crossings are self-lit.
- Timing: setProgress(progress) sets every circle's scale and every crossing's glow; frames render in any order.
- Works with: chrome-material, orbit-camera, kinetic-title, number-reveal
- Crossings are the lattice points and the triangle centres inside the flower: one instanced sphere mesh with instance colours.

## Output and loop
- 1080×1080, 30 fps, 16 s, procedural
- Seamless loop: yes — The circles rise in order from the middle and fold away in order before the end, the crossings pulse by whole cycles, the pattern turns by a sixth of a turn per loop (it has sixfold symmetry) and the camera drift is a sine of the loop, so the last frame meets the first.
- Verified 2026-10-06 in Chrome 154.0.8037.97 headless on Linux 7.0.0-38-generic (x64), Node 22.14.0 (WebGL 2 via SwiftShader (software)); deterministic: yes; loop check: Frame 0 vs end state (progress 1): mean |Δ| 0.0000, max |Δ| 0 of 255.

## Use it
New project: Create a WebGLRenderer with a studio environment, add createFlowerOfLife().group and call flower.setProgress(progress) each frame.

Existing project: Copy src/sacred-geometry.js; add the group to your scene with an environment map.

Reuse ideas:
- Wellness title: Gold, two rings.
- Cool luxe: Silver, three rings.
- Warm: Rose gold, deep.

## Limitations
- Circles overlap physically in space at the crossings; the metal tubes intersect rather than weave.
- Crossings are drawn as glowing beads rather than as lines of light.

## License
MIT. Copyright (c) 2026 AI Pixel Wizard. Released under the MIT License. See LICENSE in this folder.

Provenance: Adapted from the owner's threejs-sketches/geometry-math/sacred-geometry (MIT) and rebuilt for AI Pixel Wizard in October 2026 as an original studio object: Flower of Life tori built and folded in ring order with glowing crossings and a sixfold-symmetric turn on an exact loop.

