{
  "schemaVersion": 1,
  "id": "sacred-geometry",
  "version": "1.0.0",
  "status": "published",
  "kind": "object",
  "title": "Sacred Geometry",
  "summary": "The Flower of Life in polished gold: circles built up ring by ring, glowing at the crossings, turning, then folding away. Loops perfectly.",
  "description": "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.",
  "role": "Object (3D, three.js): a calm, meditative geometric showpiece for wellness, spiritual and design content.",
  "collections": [
    "hypnotic-loops",
    "chrome-glass",
    "backgrounds"
  ],
  "tags": [
    "flower of life",
    "sacred geometry",
    "gold",
    "circles",
    "mandala",
    "geometry",
    "meditation",
    "metal",
    "studio",
    "loop",
    "3d"
  ],
  "synonyms": [
    "flower of life",
    "mandala",
    "vesica piscis",
    "seed of life",
    "overlapping circles",
    "spiritual geometry"
  ],
  "useCases": [
    "A wellness, yoga or meditation title scene",
    "A luxurious gold geometric backdrop",
    "A symbol or logo reveal"
  ],
  "featured": null,
  "publishedAt": "2026-10-06",
  "implementation": {
    "target": "three",
    "runtime": "browser",
    "language": "javascript",
    "module": "esm",
    "entry": "src/sacred-geometry.js",
    "exports": [
      {
        "name": "createFlowerOfLife",
        "signature": "createFlowerOfLife({ metal?, rings?, depth?, thickness? }) => { group, setProgress(progress), dispose() }",
        "description": "The circles and glowing crossings as a group in the xy plane (about 9 across for two rings), facing +z; needs an environment map."
      },
      {
        "name": "METALS",
        "signature": "METALS: { gold, silver, rose, copper }",
        "description": "Metal finishes with colour, roughness and glow."
      }
    ],
    "reusable": [
      "src/sacred-geometry.js"
    ],
    "demo": "demo.js",
    "harness": "index.html"
  },
  "dependencies": [
    {
      "id": "three",
      "version": "0.185.1",
      "reason": "Renderer, geometry and shader materials."
    },
    {
      "id": "chrome-material",
      "version": "1.1.0",
      "scope": "demo",
      "reason": "Studio environment light, backdrop and contact shadow."
    },
    {
      "id": "apw-runtime",
      "version": "1.0.0",
      "scope": "demo",
      "reason": "Demo harness."
    }
  ],
  "params": [
    {
      "key": "metal",
      "label": "Metal",
      "type": "select",
      "default": "gold",
      "options": [
        {
          "value": "gold",
          "label": "Gold"
        },
        {
          "value": "silver",
          "label": "Silver"
        },
        {
          "value": "rose",
          "label": "Rose gold"
        },
        {
          "value": "copper",
          "label": "Copper"
        }
      ]
    },
    {
      "key": "rings",
      "label": "Rings",
      "type": "integer",
      "min": 1,
      "max": 3,
      "step": 1,
      "default": 2
    },
    {
      "key": "depth",
      "label": "Depth",
      "type": "number",
      "min": 0,
      "max": 2,
      "step": 0.1,
      "default": 1
    },
    {
      "key": "thickness",
      "label": "Metal thickness",
      "type": "number",
      "min": 0.6,
      "max": 1.8,
      "step": 0.1,
      "default": 1
    },
    {
      "key": "background",
      "label": "Backdrop",
      "type": "color",
      "default": "#10121c"
    },
    {
      "key": "orbit",
      "label": "Camera drift",
      "type": "boolean",
      "default": true
    }
  ],
  "presets": [
    {
      "id": "default",
      "label": "Gold, two rings",
      "params": {}
    },
    {
      "id": "silver",
      "label": "Silver, three rings",
      "params": {
        "metal": "silver",
        "rings": 3,
        "background": "#0c141e"
      }
    },
    {
      "id": "rose",
      "label": "Rose gold, deep",
      "params": {
        "metal": "rose",
        "depth": 2,
        "background": "#1c1218"
      }
    },
    {
      "id": "seed",
      "label": "Copper seed of life",
      "params": {
        "metal": "copper",
        "rings": 1,
        "thickness": 1.5,
        "background": "#1c1410"
      }
    }
  ],
  "output": {
    "width": 1080,
    "height": 1080,
    "fps": 30,
    "durationSeconds": 16,
    "posterSeconds": 6,
    "alpha": false,
    "motion": "procedural",
    "loop": {
      "seamless": true,
      "cycleSeconds": 16,
      "method": "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."
    },
    "seed": null
  },
  "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.",
    "compatibleWith": [
      "chrome-material",
      "orbit-camera",
      "kinetic-title",
      "number-reveal"
    ],
    "notes": [
      "Crossings are the lattice points and the triangle centres inside the flower: one instanced sphere mesh with instance colours."
    ]
  },
  "reuse": [
    "Wellness title: Gold, two rings.",
    "Cool luxe: Silver, three rings.",
    "Warm: Rose gold, deep."
  ],
  "integration": {
    "newProject": "Create a WebGLRenderer with a studio environment, add createFlowerOfLife().group and call flower.setProgress(progress) each frame.",
    "existingProject": "Copy src/sacred-geometry.js; add the group to your scene with an environment map."
  },
  "performance": {
    "notes": "Up to 37 tori of about 2 400 triangles and a few hundred instanced spheres: under a millisecond a frame on an integrated Intel GPU.",
    "limits": "Software WebGL renders in about a second a frame."
  },
  "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": {
    "spdx": "MIT",
    "notice": "Copyright (c) 2026 AI Pixel Wizard. Released under the MIT License. See LICENSE in this folder.",
    "thirdParty": []
  },
  "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.",
  "changelog": [
    {
      "version": "1.0.0",
      "date": "2026-10-05",
      "notes": "Initial release."
    }
  ]
}
