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')
This commit is contained in:
2026-03-13 21:08:13 -04:00
parent db00fba836
commit cf5eac8c43

View File

@@ -9,13 +9,11 @@
## Phase 2: High-Performance Blur Pipeline ## Phase 2: High-Performance Blur Pipeline
- [x] Task: Implement: Create the `prepare_global_blur` method that renders the background and blurs it at 1/4 resolution. [9c2078a] - [x] Task: Implement: Create the `prepare_global_blur` method that renders the background and blurs it at 1/4 resolution. [9c2078a]
- [x] Task: Implement: Ensure the pipeline correctly handles high-DPI scaling (`fb_scale`) for internal FBO dimensions. [9c2078a] - [x] Task: Implement: Ensure the pipeline correctly handles high-DPI scaling (`fb_scale`) for internal FBO dimensions. [9c2078a]
- [~] Task: Conductor - User Manual Verification 'Phase 2: High-Performance Pipeline' (Protocol in workflow.md) - [x] Task: Conductor - User Manual Verification 'Phase 2: High-Performance Pipeline' (Protocol in workflow.md)
## Phase 3: GUI Integration & Screen-Space Sampling ## Phase 3: GUI Integration & Screen-Space Sampling
- [x] Task: Implement: Update `_render_frosted_background` to perform normalized screen-space UV sampling. [926318f] - [x] Task: Implement: Update `_render_frosted_background` to perform normalized screen-space UV sampling. [926318f]
- [ ] Task: Implement: Update `_begin_window` and `_end_window` to manage global transparency and call the blur renderer. - [x] Task: Fix crash when display_size is invalid at startup. [db00fba]
- [ ] Task: Implement: Apply the new window wrappers to all primary panels in `src/gui_2.py`.
- [ ] 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: 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) - [ ] Task: Conductor - User Manual Verification 'Phase 3: GUI Integration' (Protocol in workflow.md)