acdream/docs/architecture
Erik a31fd631ad fix #381: Options-panel footer needs an opaque backing field
Root cause: a live-DAT probe found retail authors NO backing element
behind the Character/Chat/Config tabs' Apply/Reset/Defaults footer —
each page root has exactly five children (the row ListBox, its
scrollbar, and the three buttons) with zero direct-state media on the
root itself. Scrolled row content therefore bled through visibly
between/behind the three buttons; the bleed-through is a rendering gap
in our own composition, not a missing import.

Fix: new minimal widget UiSolidSpriteFill tiles
RetailChromeSprites.CenterFill (the SAME panel-background sprite the
Options window's own chrome already draws behind everything, not an
invented color) across the footer strip's rect, derived from the three
buttons' own resolved Top/Height and z-ordered strictly behind every
other child so it can never intercept input or occlude the buttons.
Register row AP-205 records the synthesis. Regressed by
OptionsPanelControllerTests.
Bind_SynthesizesOneOpaqueFooterBacking_PerPageWithApplyResetDefaults,
which pins exactly one backing field per page, sized from the live
button rects, z-ordered behind every sibling.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-11 23:01:43 +02:00
..
acdream-architecture.md feat(physics): C4 route 4b-3 — remote teleport + cell-less through the canonical placement 2026-08-04 16:00:10 +02:00
code-structure.md fix(settings): OP9 review residuals — restore SaveAudio live-apply pin, delete dead residues 2026-08-11 13:42:39 +02:00
retail-divergence-register.md fix #381: Options-panel footer needs an opaque backing field 2026-08-11 23:01:43 +02:00
worldbuilder-inventory.md fix(physics): validate retail cell containment roots 2026-07-31 14:48:26 +02:00