A dataframe-style grid: an index column, column labels, minimal padding, no rules.
Remarks
The form a values grid actually wants, and the reason it is not a GFM pipe table. Three things
follow from the task the grid exists for — scanning a column for the value that does not match
its neighbors:
No box characters. Pipes and the |---| rule are per-row overhead that carry no
information, and on a narrow screen they are what forces the wrap that breaks the column.
Real A1 labels as index and header. A1 addressing IS the coordinate system, and an index
plus A B C D columns preserves it natively — which is exactly what a CSV or a 1..n index
would throw away.
Per-cell alignment, one width per column. A ragged column defeats the scan. Numbers
right and strings left is what makes the stray text in a numeric column visible at a glance,
so alignment is carried per cell and the header follows the column's dominant one.
A dataframe-style grid: an index column, column labels, minimal padding, no rules.
Remarks
The form a values grid actually wants, and the reason it is not a GFM pipe table. Three things follow from the task the grid exists for — scanning a column for the value that does not match its neighbors:
|---|rule are per-row overhead that carry no information, and on a narrow screen they are what forces the wrap that breaks the column.A B C Dcolumns preserves it natively — which is exactly what a CSV or a1..nindex would throw away.