"""i-want-a-39e7-prod: 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": "i-want-a-39e7-prod", "cut": "princess", "carat": 3.0, "size": 8, "metal": "14k_rose_gold", "shank": {"type": "band"}, "head": {"type": "prong"}, "accents": [{"type": "side_stones", "ratio": 0.5}, {"type": "pave"}], "production": true}'
"""
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': 'i-want-a-39e7-prod', 'cut': 'princess', 'carat': 3.0, 'size': 8, 'metal': '14k_rose_gold', 'shank': {'type': 'band'}, 'head': {'type': 'prong'}, 'accents': [{'type': 'side_stones', 'ratio': 0.5}, {'type': 'pave'}], 'production': True}


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)
