-- Test scalar-to-vector splat constructors
@entry(fragment)
function shade(value: float) -> vec4
-- Splat: single scalar to all components
let zero3 = vec3(0.0)
let one4 = vec4(1.0)
let half2 = vec2(0.5)
-- Should still work with full args
let full = vec3(1.0, 2.0, 3.0)
-- Variable splat
let x = value
let splatted = vec4(x)
return vec4(zero3.x + one4.x + half2.x + full.x + splatted.x, 0.0, 0.0, 1.0)
end