# **Crystal Spires: Light Bridge Specification** This document details the generation logic for "Light Bridges" (ID 20) connecting floating islands in the Crystal Spires biome. ## **1. Visual & Gameplay Goals** - **Visuals:** Translucent, glowing blue pathways projected between solid structures. - **Gameplay:** Must be strictly walkable. - **Max Step Height:** 1 Voxel (Units cannot jump 2 blocks up). - **Width:** 1 voxel (Standard) or 2 voxels (Main thoroughfares). - **Material:** "Hard Light" (ID 20). Unlike stone, it has no "thickness" below it (floating). - **Trajectory:** Organic curves or arcs, not strict straight lines. Can defy gravity slightly (arcing up/down). ## **2. Generation Logic: Additive Bezier Arcs** Bridges are constructed using **Quadratic Bezier Curves** that strictly adhere to an **Additive-Only** rule. **Algorithm:** 1. **Anchor Selection (Edge-to-Edge):** - Do not connect centers. Find the voxel on the _perimeter_ of Island A that is closest to Island B. - Find the corresponding perimeter voxel on Island B (or the surface of a Spire). 2. **Control Point Calculation:** - Calculate the midpoint between Start and End. - Apply a randomized **Vertical Offset** (Arch) and **Lateral Offset** (Curve) to the midpoint to create the Bezier Control Point ($P_1$). 3. **Voxelization (Non-Destructive):** - Interpolate the curve. - **Collision Scan:** Before placing a voxel, verify that the target coordinate is Air (ID 0) AND the two voxels above it (Headroom) are Air (ID 0). - **Placement:** If and ONLY if the scan is clear, set the target coordinate to Bridge (ID 20). - **Abort:** If the scan finds any solid block in the path (Floor or Headroom), the bridge segment stops or the entire connection is recalculated. ## **3. Conditions of Acceptance (CoA)** **CoA 1: Walkability (Gradient)** - Between any two adjacent voxels on the bridge path, the Y-difference must be <= 1. **CoA 2: Strictly Additive (No Destruction)** - The generator must **never** set a Voxel ID to 0 (Air) if it was previously non-zero. - The generator must **never** set a Voxel ID to 20 (Bridge) if it was previously non-zero. - Bridges must weave around existing geometry or fail; they cannot tunnel. **CoA 3: Headroom Validation** - Instead of _carving_ headroom, the generator must _validate_ headroom. - A bridge voxel is only valid if Grid[y+1] and Grid[y+2] are already 0. **CoA 4: Connectivity** - The bridge must connect the edge of the start platform to the edge of the end platform without leaving a gap. **CoA 5: Global Reachability (No Orphans)** - After all bridges are generated, a **Flood Fill** check from the player spawn zone is mandatory. - Any platform that is not reached by this fill is considered an "Orphan." - **Resolution:** Orphans must be explicitly connected via a fallback teleport node. The Orphan will have one teleport node randomly placed on it, and the other will be randomly on a non-Orphan platform