Transforms JavaScript into its 'tinyest' form, to be used in generating equivalent (or close to) WGSL code. Used by TypeGPU to allow for shaders to be written in JS.
tinyest-for-wgsl
is responsible for transforming JS function bodies of TypeGPU declarations (e.g., tgpu.fn
) into an embeddable syntax tree, gathering external names outside of the scope of the function.
`(a, b) => {
return a + b + double(a);
}`
This can then be used to generate the following Embeddable Syntax Tree:
// Can be injected with a simple JSON.stringify of a value that can be computed in the Rollup plugin.
{b:[{r:{x:[{x:['a','+','b']},'+',{f:['double',['a']]}]}}]}