A reusable, data-declared operator lowered to the existing closed IR. No
source strings, dynamic code evaluation, or backend-specific operators.
Parameters substitute uniform nodes; all uniforms must be parameters so
separate calls cannot accidentally share mutable values. Samplers remain
explicit named resources and preserve render-graph feedback validation.
Inline one call in the receiving builder's scope. Repeating a call with
the same argument node IDs returns the same expression (call-site cache).
Node IDs are remapped at every new call, including intermediate results.
A reusable, data-declared operator lowered to the existing closed IR. No source strings, dynamic code evaluation, or backend-specific operators. Parameters substitute uniform nodes; all uniforms must be parameters so separate calls cannot accidentally share mutable values. Samplers remain explicit named resources and preserve render-graph feedback validation.