Implement REQ-UI-MODAL-DIM: dim game behind modals
Add a window-wide semi-transparent black scrim drawn over the entire game window (header bar, game world view, side panel column) while any auto-pausing modal or end-game screen is open, behind that modal. - New ModalDimOverlay widget: a full-window, mouse-transparent child of MainWindow that paints the dim color. Visibility is reference-counted (pushModal/popModal) so nested or back-to-back modals show a single dim, not stacked layers; a ModalDimScope RAII guard drives it. - Wire a guard around every modal opened from MainWindow: schematic choice, escape menu, layout dialog, recipe/schematic selection (spanning the auto-opened layout dialog), game-over, and win. The nested Create Blueprint dialog is covered by the layout-dialog dim. - Config-driven color via visuals.toml [overlays].modal_dim, following the existing OverlayVisuals/parseColor pattern; refreshed on the Restart config-reload paths (REQ-CFG-RELOAD). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DZR44tA8sn4dPqDzAVXyps
This commit is contained in:
@@ -350,6 +350,7 @@ tile_highlight = "#ffffff22" # tile under cursor
|
||||
selected_outline = "#ffff00" # outline drawn around currently-selected building(s)
|
||||
copy_config = "#33ccff66" # copy-settings eligible-target tint + copy/paste flash (REQ-BLD-COPY-CONFIG-FEEDBACK)
|
||||
locked_asteroid = "#0000007f" # tint over the asteroid left of the buildable edge (not yet unlocked by expansion)
|
||||
modal_dim = "#00000099" # semi-transparent black dim behind modal dialogs/menus (REQ-UI-MODAL-DIM)
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Schematic-drop toasts (REQ-UI-SCHEMATIC-TOAST)
|
||||
|
||||
Reference in New Issue
Block a user