fn evaluate(
    input: SurfaceInput,
    params: SurfaceParams,
    samples: SurfaceSamples,
) -> Surface {
    var surface = surface_default();
    surface.base_color = params.lanes[0];
    surface.perceptual_roughness = params.lanes[1].x;
    surface.metallic = params.lanes[2].x;
    surface.emissive = params.lanes[3].rgb * params.lanes[4].x;
    surface.reflectance = 0.5;
    surface.occlusion = 1.0;
    return surface;
}
