What problem does it solve? Working with textures in Three.js involves many subtle details—color spaces, wrapping modes, mipmaps, HDR environments, and memory disposal—that are easy to get wrong and cause washed-out colors, blurry surfaces, or GPU memory leaks. ## Core Features & Use Cases - Texture Loading & Configuration: Load images with TextureLoader, set sRGB color space for color maps, configure wrapping, repeat, offset, rotation, filtering, and anisotropy. - Environment Maps & HDR: Build cubemaps, convert equirectangular HDR/EXR files with PMREMGenerator, and control scene background blur, intensity, and rotation. - Advanced Texture Workflows: Create DataTexture, CanvasTexture, and VideoTexture procedurally, render to WebGLRenderTarget, generate dynamic reflections with CubeCamera, and manage PBR texture sets (normal, roughness, metalness, AO, displacement). - Use Case: You are building a product configurator and need to apply a full PBR texture set to a mesh, add an HDR studio environment for realistic reflections, and dispose of textures properly when switching models. ## Quick Start Ask the AI to load a color, normal, and roughness texture in Three.js, apply them to a MeshStandardMaterial with correct color spaces, and add an HDR environment map to the scene.