Build the canonical sc--prefixed DOM id for a structural path. Use
this as the base id for an input element; derived ids (panel, tab,
hint) compose suffixes onto the returned string.
An empty path is permitted — it surfaces as the bare prefix sc-
so a leaf renderer at the schema root (e.g.
renderToHtml(z.string())) still emits a usable id without throwing.
Container renderers always thread a non-empty path through
renderChild, so the empty-id case can never produce sibling
collisions inside a structured form.
Build the canonical
sc--prefixed DOM id for a structural path. Use this as the base id for an input element; derived ids (panel, tab, hint) compose suffixes onto the returned string.An empty
pathis permitted — it surfaces as the bare prefixsc-so a leaf renderer at the schema root (e.g.renderToHtml(z.string())) still emits a usable id without throwing. Container renderers always thread a non-empty path throughrenderChild, so the empty-id case can never produce sibling collisions inside a structured form.