Files
manual_slop/conductor/tracks/frosted_glass_20260313/debrief.md
2026-03-13 20:12:56 -04:00

2.5 KiB

Debrief: Failed Frosted Glass Implementation (Attempt 1)

1. Post-Mortem Summary

The initial implementation of the Frosted Glass effect was a catastrophic failure resulting in application crashes (RecursionError, AttributeError, RuntimeError) and visual non-functionality (black backgrounds or invisible blurs).

2. Root Causes

A. Architectural Blindness (ImGui Timing)

I attempted to use glCopyTexImage2D to capture the "backbuffer" during the _gui_func execution. In an immediate-mode GUI (ImGui), the backbuffer is cleared at the start of the frame and draw commands are only recorded during _gui_func. The actual GPU rendering happens after _gui_func finishes. Consequently, I was capturing and blurring an empty black screen every frame.

B. Sub-Agent Fragmentation (Class Scope Breaks)

By delegating massive file refactors to the generalist sub-agent, I lost control over the strict 1-space indentation required by this project. The sub-agent introduced unindented blocks that silently closed the App class scope, causing all subsequent methods to become global functions. This lead to the avalanche of AttributeError: 'App' object has no attribute '_render_operations_hub_contents' and similar errors.

C. Style Stack Imbalance

The implementation of _begin_window and _end_window wrappers failed to account for mid-render state changes. Toggling the "Frosted Glass" checkbox mid-frame resulted in mismatched PushStyleColor and PopStyleColor calls, triggering internal ImGui assertions and hard crashes.

D. High-DPI Math Errors

The UV coordinate math failed to correctly account for display_framebuffer_scale. On high-resolution screens, the blur sampling was offset by thousands of pixels, rendering the effect physically invisible or distorted.

TODO:

LOOK AT THIS SHIT: https://www.unknowncheats.me/forum/general-programming-and-reversing/617284-blurring-imgui-basically-window-using-acrylic-blur.html https://github.com/Speykious/opengl-playground/blob/main/src/scenes/blurring.rs https://www.intel.com/content/www/us/en/developer/articles/technical/an-investigation-of-fast-real-time-gpu-based-image-blur-algorithms.html 45aa431286/Renderer/RendererRuntime/src/DebugGui/DebugGuiManager.cpp 45aa431286/Renderer/RendererRuntime/src/DebugGui/Detail/Shader/DebugGui_GLSL_410.h https://github.com/itsRythem/ImGui-Blur