
    ^j                    >    d Z ddlmZ ddlZddlmZmZmZmZ dddZ	y)u  Casting supports — the sprue + feeder stems the resin print needs.

Per the jeweler's reference (green stems in his CAD screenshots): a main sprue
rod feeding the bottom of the shank plus two angled feeder stems lower on the
band. Stones are set after casting, so stems never touch a stone seat.

`sprues(spec)` recomputes the band radii from the spec exactly as
templates.band() does, so a design file can expose `gen_supports()` without
rebuilding any geometry (fast enough to render every time).
    )annotationsN)SUPPORTseginner_radiusMIN_WALLc                   ||nt        | d         t        |t              z   }| dz
  }g }t        dd| dz   fdd|fdd      }t        |_        |j                  |       dD ]~  }t        j                  d      }||z  t        j                  |      z  }	| t        j                  |      z  }
t        |	d|
d	z   f|	d|fd
d      }t        |_        |j                  |        |S )uR  Green support solids: main sprue + 2 stems, ALL vertical.

    Everything drops straight down to the build-plate plane — an angled stem
    is itself an unsupported overhang and makes the print fail. The ring
    prints upright exactly as rendered. drop_r (shank meta) overrides the
    band-derived lowest radius for helix/path shanks.sizeg      @r   g333333?g?g333333?)   (   g      ?gffffff?g      ?)r   maxr   r   r   colorappendmathradianssincos)specband_thicknessdrop_router_rz_platepartsmainsgnaxz_touchstems               "/opt/ringagent/ringcli/supports.pyspruesr!      s     *fT&\"S%BB hnGE 1whn%1gdCDDJ	LL LL'MDHHQK'(TXXa[(Aq'C-(1a/3D
T L    )N)r   dictr   floatr   zfloat | None)
__doc__
__future__r   r   ringcli.partsr   r   r   r   r!    r"   r    <module>r)      s   	 #  > >r"   