What problem does it solve? Loading 3D assets in Three.js involves many loader classes, async patterns, compression formats, and configuration details that are easy to get wrong, leading to broken textures, failed model loads, or untracked loading progress. ## Core Features & Use Cases - Model Loading: Load GLTF/GLB, OBJ, FBX, STL, and PLY models, including Draco-compressed geometry and KTX2 textures. - Texture & Environment Loading: Configure TextureLoader, CubeTextureLoader, RGBELoader, EXRLoader, and PMREMGenerator for color maps and PBR environment lighting. - Progress & Error Handling: Coordinate multiple loaders with LoadingManager, promisify loaders for async/await, and implement retry, timeout, and fallback logic. - Use Case: You are building a web-based 3D product viewer and need to load a Draco-compressed GLB model with an HDR environment map while showing a progress bar and handling network failures gracefully. ## Quick Start Ask the AI to write Three.js code that loads a GLB model with a loading progress bar and an HDR environment map.