Alpha-blended shapes were rendering nearly invisible due to incorrect
blend function configuration in two places:
1. FBO rendering (webgl_gal.cpp): Changed to glBlendFuncSeparate to handle
RGB and alpha channels independently. Alpha channel now accumulates
coverage correctly (prevents it from staying near 0.0 when rendering
with alpha=0.5).
2. Compositor (webgl_compositor.cpp): Changed from premultiplied alpha
blend (GL_ONE, GL_ONE_MINUS_SRC_ALPHA) to straight alpha blend
(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA) since our FBOs use straight alpha.
Also marked Transform() as dead code with explanation - never called in
KiCad and has no effect even in native OPENGL_GAL.
Result: Alpha-blending scenario now renders correctly with proper color
mixing for overlapping shapes.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>