What problem does it solve? Adding post-processing effects like bloom, SSAO, or anti-aliasing to a Three.js scene often fails due to mixing the incompatible built-in EffectComposer with pmndrs/postprocessing, wrong pass ordering, missing RenderPass or OutputPass, and forgotten composer resizing. This Skill provides the correct architecture, pass APIs, and anti-patterns to build working post-processing pipelines. ## Core Features & Use Cases - EffectComposer Pipeline Setup: Correct pass ordering with RenderPass first, effect passes in the middle, anti-aliasing after effects, and OutputPass last. - 27+ Pass Reference: Covers UnrealBloomPass, SSAOPass, GTAOPass, OutlinePass, BokehPass, SMAAPass, FXAAPass, custom ShaderPass, and more with constructor signatures and key properties. - pmndrs/postprocessing Integration: Guidance on the merged-effect EffectPass approach for performance-critical and React Three Fiber applications. - Use Case: Add HDR bloom to a glowing emissive object by enabling ACES tone mapping, creating an EffectComposer with RenderPass, UnrealBloomPass, and OutputPass, and calling composer.render() in the animation loop. ## Quick Start Add a bloom effect to my Three.js scene using EffectComposer with the correct pass order and resize handling.