feat(ui): all overlay dialogs adopt the blur backdrop (Phase 2 core)

Flip the positional BeginOverlayDialog overload's default to blurBackdrop=true, so
every app dialog (~43 call sites) now renders its card on the live-blur backdrop
instead of the opaque scrim — matching the Manage-Portfolio look. Cards stay
auto-height (small dialogs stay small = "card for small") and render opaque via
the existing sole-consumer fallback (a translucent glass card would thrash the
single-slot blur cache against the radius-64 backdrop). Nested dialogs (address
book edit) already pass a distinct idSuffix, so their blur windows/capture keys
don't collide. A dialog that wants the old scrim can pass a spec with
blurBackdrop=false. Big visual change — needs a GUI sweep; trivially reverted.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-07-04 02:55:40 -05:00
parent 5caffc84b0
commit c6b32e86c0

View File

@@ -1298,7 +1298,10 @@ inline bool BeginOverlayDialog(const OverlayDialogSpec& spec)
return childVisible;
}
// Legacy positional overload — forwards to the spec impl with GlassCard defaults (byte-identical).
// Positional overload — the default look for the app's dialogs: a card (auto-height, so small
// dialogs stay small) on the live-blur backdrop. The card renders opaque via the sole-consumer
// fallback (glass would thrash the single-slot blur cache against the radius-64 backdrop). A dialog
// that wants the old opaque scrim (no blur) can pass a spec with blurBackdrop = false.
inline bool BeginOverlayDialog(const char* title, bool* p_open, float cardWidth = 460.0f,
float scrimOpacity = 0.92f, float cardBottomViewportRatio = 0.85f,
const char* idSuffix = nullptr)
@@ -1306,6 +1309,7 @@ inline bool BeginOverlayDialog(const char* title, bool* p_open, float cardWidth
OverlayDialogSpec s;
s.title = title; s.p_open = p_open; s.cardWidth = cardWidth;
s.scrimOpacity = scrimOpacity; s.cardBottomViewportRatio = cardBottomViewportRatio; s.idSuffix = idSuffix;
s.blurBackdrop = true;
return BeginOverlayDialog(s);
}