# G-079 default-colour semantics through renderspace/flattened output Status: proposed Scope: src/modules/overtype-999999.0a1.0.tm (renderspace/renderline replay-code emission), punk::ansi flatten consumers (ansicat), ansi2html consumer mapping (G-078) Goal: flattened/rendered ANSI output preserves "default foreground/background" as a semantic value (SGR 39/49 or absence) instead of baking in explicit colours (replay/overlay output currently emits literal `0;40` - black background - for cells whose background was never set). Consumers can then map defaults to their own backdrop: html pages theme-match any page background, terminal replays keep the user's colour scheme. Acceptance: ansicat/usage flattened output for content that never sets a background contains no explicit SGR 40/black-bg codes for those cells; the punk-native html pages render example-helper top/bottom bars (e.g. grepstr @cmd -help examples) blending with a NON-black page background with no contrasting bars; existing terminal display output is visually unchanged (regression-checked against current renderings). ## Context Found 2026-07-14 while reviewing the punk::ansi punknative doc page: example blocks produced by the punk::ansi example helper show bars whose "background half" rendered as black boxes contrasting with a grey page. Probe evidence: renderspace overlay replay emits `replay_codes_overlay: ESC[0;40m`. Interim workaround (shipped in the punknative generator): the `
` backdrop is hard black so baked-black blends -
this constrains doc page theming and leaves lighter antialiasing seams at half-block
edges against non-matching content. Proper fix is upstream in the renderer's
replay-code model, then a `-defaultbg`/`-defaultfg` mapping option in the G-078 api.