"""prod-smoke: generated by ringcli — DO NOT hand-edit geometry.
To change this ring, change SPEC (or STYLE in ringcli/templates.py) and rerun:
  .cad-venv/bin/python -m ringcli.cli build --spec-json '{"name": "prod-smoke", "cut": "round", "carat": 1.02, "standard": "US", "size": 6.5, "archetype": "solitaire", "metal": "18k_white_gold", "production": true, "stone_mm": {"width": 6.48, "length": 6.52, "depth": 3.95}, "stone": {"cert": "GIA 2141234567"}, "casting": {"alloy": "18k_white", "shrink_scale": 1.025}}'
"""
import sys
from pathlib import Path

for _anc in Path(__file__).resolve().parents:
    if (_anc / "ringcli").is_dir():
        sys.path.insert(0, str(_anc))
        break
from ringcli.templates import build_ring  # noqa: E402

SPEC = {'name': 'prod-smoke', 'cut': 'round', 'carat': 1.02, 'standard': 'US', 'size': 6.5, 'archetype': 'solitaire', 'metal': '18k_white_gold', 'production': True, 'stone_mm': {'width': 6.48, 'length': 6.52, 'depth': 3.95}, 'stone': {'cert': 'GIA 2141234567'}, 'casting': {'alloy': '18k_white', 'shrink_scale': 1.025}}


def gen_step():
    return build_ring(SPEC)


def gen_parts():
    """Raw colored parts list for the renderer (Compound drops colors)."""
    return build_ring(SPEC, parts_only=True)


def gen_metal():
    """The single fused metal Solid — the printable/castable body."""
    return build_ring(SPEC, fused=True)


def gen_supports():
    """Green casting sprue + feeder stems (render/print aid, never cast)."""
    from ringcli.templates import supports_for
    return supports_for(SPEC)
