Commit Graph

13 Commits

Author SHA1 Message Date
Ed_
cf5eac8c43 fix(gui): Guard against invalid display_size in blur pipeline init
- Remove _init_blur_pipeline call from _post_init (display_size invalid at startup)
- Add validation for ws.x > 0 and ws.y > 0 before FBO creation
- Add validation for fb_scale > 0 with default fallback to 1.0
- Make _init_blur_pipeline return bool for success/failure
- Update plan.md to reflect current progress

Fixes crash: GLError(err=1281, description=b'invalid value')
2026-03-13 21:08:13 -04:00
Ed_
e6a57cddc2 conductor(plan): Mark Phase 3 Task 1 complete, begin Tasks 2-3 2026-03-13 20:46:59 -04:00
Ed_
5416546207 conductor(plan): Mark Phase 2 complete, begin Phase 3 2026-03-13 20:39:20 -04:00
Ed_
9c2078ad78 feat(shader): Add prepare_global_blur and high-DPI scaling support
- Add prepare_global_blur() method combining Deep Sea render + blur
- Add fb_scale parameter to setup_fbos() for high-DPI display support
- FBOs now created at scaled resolution (width * fb_scale, height * fb_scale)
- prepare_global_blur() auto-initializes FBOs if scale changes
- Add test_blur_pipeline_prepare_global_blur
- Add test_blur_pipeline_high_dpi_scaling

Task: Phase 2, Tasks 1-2 of frosted_glass_20260313 track
2026-03-13 20:38:03 -04:00
Ed_
ab44102bad conductor(plan): Mark task 'Wide tap Gaussian blur' as complete 2026-03-13 20:28:42 -04:00
Ed_
c8b7fca368 feat(shader): Expand Gaussian blur to 13-tap wide distribution
- Update horizontal and vertical blur shaders from 9-tap to 13-tap kernel
- Use Gaussian weights with sigma=3.5 for creamier 'milky' blur effect
- Add test_blur_pipeline_wide_tap_distribution to verify >= 11 texture samples
- Weights: [0.0152, 0.0300, 0.0525, 0.0812, 0.1110, 0.1342, 0.1432] (symmetric)

Task: Phase 1, Task 3 of frosted_glass_20260313 track
2026-03-13 20:28:12 -04:00
Ed_
b3e6590cb4 conductor(plan): Mark task 'Deep Sea background shader' as complete 2026-03-13 20:25:57 -04:00
Ed_
d85dc3a1b3 feat(shader): Add Deep Sea background shader for BlurPipeline
- Add compile_deepsea_shader() with animated underwater-like GLSL shader
- Add render_deepsea_to_fbo() to render background to scene FBO
- Deep Sea shader features: FBM noise, animated blobs, caustic lines, vignette
- Add deepsea_program to cleanup() for proper resource management
- Add 2 new tests for Deep Sea shader compilation and FBO rendering

Task: Phase 1, Task 2 of frosted_glass_20260313 track
2026-03-13 20:25:26 -04:00
Ed_
2947948ac6 conductor(plan): Mark task 'BlurPipeline FBO setup' as complete 2026-03-13 20:22:43 -04:00
Ed_
d9148acb0c feat(shader): Add BlurPipeline class for frosted glass FBO setup
- Add BlurPipeline class with downsampled FBO support (scene, blur_a, blur_b)
- Implement 2-pass Gaussian blur shaders (horizontal + vertical)
- Add setup_fbos(), compile_blur_shaders(), prepare_blur(), cleanup() methods
- Add tests for BlurPipeline initialization, FBO setup, shader compilation, blur execution, and cleanup

Task: Phase 1, Task 1 of frosted_glass_20260313 track
2026-03-13 20:22:16 -04:00
Ed_
1a8efa880a tired 2026-03-13 20:12:56 -04:00
Ed_
11eb69449d dumb ai 2026-03-13 19:46:23 -04:00
Ed_
879e0991c9 chore(conductor): Add new track 'Frosted Glass Background Effect' 2026-03-13 14:40:43 -04:00