You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1.7 KiB

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 <pre> 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.