What problem does it solve? Writing custom GLSL shaders in Three.js requires knowing built-in uniforms, attribute declarations, varying syntax, and material injection points, which are easy to get wrong and hard to debug. ## Core Features & Use Cases - ShaderMaterial and RawShaderMaterial Setup: Provides working templates for vertex and fragment shaders with correct uniform, attribute, and varying declarations. - Common Effect Patterns: Includes ready-to-adapt implementations of vertex displacement, Fresnel, rim lighting, dissolve, noise, gradients, and texture sampling. - Extending Built-in Materials: Shows how to use onBeforeCompile to inject custom GLSL into MeshStandardMaterial and other built-in materials at known shader chunk points. - Use Case: You want an animated wave effect on a plane mesh. Use the vertex displacement pattern with a time uniform updated in the animation loop to produce the effect without searching documentation. ## Quick Start Ask the AI to create a Three.js ShaderMaterial with a Fresnel glow effect on a sphere mesh.