1d36357c64
fix(shader): Disable frosted glass - OpenGL 3.3 core profile incompatible with fixed-function
...
The issue is that imgui-bundle uses OpenGL 3.3 core profile which doesn't
support glBegin/glEnd. The shaders require VAO setup which is failing.
This needs proper OpenGL debugging in the imgui-bundle context.
2026-03-13 21:28:39 -04:00
3113e4137b
fix(shader): Disable frosted glass - OpenGL context issues
...
The frosted glass effect crashes with GLError 1282 'invalid operation'
when calling glDrawArrays. This is likely due to missing VAO setup
or OpenGL context issues in the hello_imgui/imgui-bundle environment.
DISABLED the effect by default to allow the app to run.
Feature needs proper OpenGL VAO setup to work.
2026-03-13 21:24:14 -04:00
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
db00fba836
fix(gui): Guard against invalid display_size in blur pipeline init
...
- Remove _init_blur_pipeline call from _post_init (display_size not valid yet)
- Add dimension validation in _init_blur_pipeline (ws.x > 0 and ws.y > 0)
- Add fb_scale validation (default to 1.0 if <= 0)
- Lazy init only happens when frosted glass is enabled and dimensions are valid
- Fixes GLError 1281 'invalid value' crash on startup
2026-03-13 21:07:09 -04:00
a862119922
feat(gui): Add frosted glass tests
...
- Add test_frosted_glass_disabled (basic test)
- Add test_frosted_glass_enabled (mock-based test)
Task: Phase 3, Task 1-2 complete
2026-03-13 20:56:50 -04:00
e6a57cddc2
conductor(plan): Mark Phase 3 Task 1 complete, begin Tasks 2-3
2026-03-13 20:46:59 -04:00
928318fd06
feat(gui): Integrate BlurPipeline with GUI for frosted glass
...
- Add BlurPipeline import and instance in App class
- Add _pre_new_frame callback to call prepare_global_blur before
- Add ui_frosted_glass_enabled toggle in Shader Editor
- Add _render_frosted_background with screen-space UV sampling
- Add _draw_blurred_rect using ImGui DrawList add_image_quad
- All 12 BlurPipeline tests pass
Task: Phase 3, Task 1 of frosted_glass_20260313 track
2026-03-13 20:46:36 -04:00
5416546207
conductor(plan): Mark Phase 2 complete, begin Phase 3
2026-03-13 20:39:20 -04:00
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
ab44102bad
conductor(plan): Mark task 'Wide tap Gaussian blur' as complete
2026-03-13 20:28:42 -04:00
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
b3e6590cb4
conductor(plan): Mark task 'Deep Sea background shader' as complete
2026-03-13 20:25:57 -04:00
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
2947948ac6
conductor(plan): Mark task 'BlurPipeline FBO setup' as complete
2026-03-13 20:22:43 -04:00
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
2c39f1dcf4
sigh
2026-03-13 20:13:51 -04:00
1a8efa880a
tired
2026-03-13 20:12:56 -04:00
11eb69449d
dumb ai
2026-03-13 19:46:23 -04:00
3a0d388502
adjust tracks.md
2026-03-13 14:41:08 -04:00
879e0991c9
chore(conductor): Add new track 'Frosted Glass Background Effect'
2026-03-13 14:40:43 -04:00
d96adca67c
update track ordering
2026-03-13 14:40:37 -04:00
4b0ebe44ff
chore(conductor): Add new track 'Advanced Text Viewer with Syntax Highlighting'
2026-03-13 14:28:32 -04:00
6b8151235f
adjust track loc
2026-03-13 13:59:43 -04:00
69107a75d3
chore(conductor): Add new track 'Rich Thinking Trace Handling'
2026-03-13 13:54:13 -04:00
89c9f62f0c
use maple mono.
2026-03-13 13:49:27 -04:00
87e6b5c665
more win32 wrap
2026-03-13 13:39:42 -04:00
9f8dd48a2e
wrap win32 usage in conditionals
2026-03-13 13:29:13 -04:00
87bd2ae11c
fixed.
2026-03-13 13:23:31 -04:00
a57a3c78d4
fixes
2026-03-13 13:15:58 -04:00
ca01397885
checkpoint: fixing ux with window frame bar
2026-03-13 13:13:35 -04:00
c76aba64e4
docs(conductor): Synchronize docs for track 'Custom Shader and Window Frame Support'
2026-03-13 12:45:58 -04:00
96de21b2b2
chore(conductor): Mark track 'Custom Shader and Window Frame Support' as complete
2026-03-13 12:45:13 -04:00
25d7d97455
conductor(plan): Mark Phase 5 as complete
2026-03-13 12:45:03 -04:00
da478191e9
conductor(checkpoint): Checkpoint end of Phase 5
2026-03-13 12:44:37 -04:00
9b79044caa
conductor(plan): Mark Phase 5 implementations as complete
2026-03-13 12:44:19 -04:00
229fbe2b3f
feat(gui): Implement live shader editor panel
2026-03-13 12:43:54 -04:00
d69434e85f
feat(config): Implement parsing for shader and window frame configurations
2026-03-13 12:41:24 -04:00
830bd7b1fb
conductor(plan): Mark Phase 4 as complete
2026-03-13 12:38:05 -04:00
50f98deb74
conductor(checkpoint): Checkpoint end of Phase 4
2026-03-13 12:37:45 -04:00
67ed51056e
conductor(plan): Mark Phase 4 implementations as complete
2026-03-13 12:36:05 -04:00
905ac00e3f
feat(shaders): Implement CRT post-process shader logic
2026-03-13 12:35:43 -04:00
836168a2a8
feat(shaders): Implement dynamic background shader
2026-03-13 12:33:27 -04:00
2dbd570d59
conductor(plan): Mark Phase 3 as complete
2026-03-13 12:31:02 -04:00
5ebce894bb
conductor(checkpoint): Checkpoint end of Phase 3
2026-03-13 12:30:41 -04:00
6c4c567ed0
conductor(plan): Mark Phase 3 as complete
2026-03-13 12:29:34 -04:00
09383960be
feat(shaders): Implement uniform data passing for ShaderManager
2026-03-13 12:29:10 -04:00
ac4f63b76e
feat(shaders): Create ShaderManager with basic compilation
2026-03-13 12:27:01 -04:00
356d5f3618
conductor(plan): Mark Phase 2 as complete
2026-03-13 12:24:03 -04:00
b9ca69fbae
conductor(checkpoint): Checkpoint end of Phase 2
2026-03-13 12:23:40 -04:00
3f4ae21708
conductor(plan): Mark Phase 2 implementation as complete
2026-03-13 12:20:59 -04:00