This is the 2D companion to the 3D Shape material viewer. Instead of rasterizing an actual rotated mesh through a WebGL PBR pipeline, it fakes the same visual language directly on a flat canvas: a horizontal squash by |cos(θ)| stands in for turntable rotation, a Lambertian cosine term stands in for diffuse shading, and a radial gradient — sized by roughness and tinted between white and the base color by metalness — stands in for the specular highlight a physically-based material would produce. Picking a silhouette, dragging metalness or roughness, or toggling wireframe recomputes every one of those terms live, so the same six primitives and the same two material sliders as the 3D scene drive a genuinely different, purely 2D rendering technique.