Files
manual_slop/conductor/tracks/frosted_glass_20260313/plan.md
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

1.8 KiB

Implementation Plan: Frosted Glass Background Effect (REPAIR - TRUE GPU)

Phase 1: Robust Shader & FBO Foundation

  • Task: Implement: Create ShaderManager methods for downsampled FBO setup (scene, temp, blur). [d9148ac]
  • Task: Implement: Develop the "Deep Sea" background shader and integrate it as the FBO source. [d85dc3a]
  • Task: Implement: Develop the 2-pass Gaussian blur shaders with a wide tap distribution. [c8b7fca]
  • Task: Conductor - User Manual Verification 'Phase 1: Robust Foundation' (Protocol in workflow.md)

Phase 2: High-Performance Blur Pipeline

  • [~] Task: Implement: Create the prepare_global_blur method that renders the background and blurs it at 1/4 resolution.
  • Task: Implement: Ensure the pipeline correctly handles high-DPI scaling (fb_scale) for internal FBO dimensions.
  • Task: Conductor - User Manual Verification 'Phase 2: High-Performance Pipeline' (Protocol in workflow.md)

Phase 3: GUI Integration & Screen-Space Sampling

  • Task: Implement: Update _render_frosted_background to perform normalized screen-space UV sampling.
  • Task: Implement: Update _begin_window and _end_window to manage global transparency and call the blur renderer.
  • Task: Implement: Apply the new window wrappers to all primary panels in src/gui_2.py.
  • Task: Conductor - User Manual Verification 'Phase 3: GUI Integration' (Protocol in workflow.md)

Phase 4: UI Tuning & Persistence

  • Task: Implement: Add "Frosted Glass" tuning sliders to the Shader Editor.
  • Task: Implement: Update src/theme_2.py to persist all frosted glass settings.
  • Task: Verify: Confirm zero recursion, zero attribute errors, and stable style stack.
  • Task: Conductor - User Manual Verification 'Phase 4: Final Polishing' (Protocol in workflow.md)