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.8 KiB

G-080 deterministic cell-grid html rendering mode (seamless block art)

Status: proposed Scope: the G-078 punk::ansi html api (additional rendering mode); scratch prototypes as baseline Goal: an optional rendering mode that emulates the terminal cell grid explicitly - each styled run emitted as inline-block with exact integer-px cell width/height, inner line-height equal to the cell, overflow hidden, vertical-align top (newlines outside spans) - making row/column geometry fully deterministic instead of dependent on font metrics, inline-background box heights and sub-pixel glyph rasterization. Optionally decompose half-block cells (U+2580/2584/258C/2590 and quadrants) into sized background rectangles for complete seam-proofing. Acceptance: the testansi gallery samples show no vertical or horizontal seams in chrome and firefox at 100%/125%/150% zoom (the residual shade/half-block seams accepted in the span-mode recipe are eliminated); cost (page size, loss of text selectability granularity if any) measured and documented; span mode remains the default with cell-grid selectable per block.

Context

The 2026-07-14 seam investigation (scratch/argdoc2man-trial-2026-07-13/seam_compare.tcl) settled a span-mode recipe (integer 9px advance, tight pitch + scaleY aspect, solid-block background sealing, integer 17px doc pitch) that reduces but cannot eliminate seams: shade (U+2591-2593) and half-block glyph edges still antialias against differing neighbours at fractional device-pixel positions (display scaling), and inline background box height is a font-metric browsers don't agree on (metric normalization was tried and rejected - see fontprep/README.md). Cell-grid emulation removes every one of those degrees of freedom at the cost of heavier markup. Only worth building if/when the accepted residual seams stop passing review - the glance test passes today.