Read only the cells the category levels use and cut the category dimension
at the per-series cap, so a multi-level axis keeps all its levels.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Add command and UI controls for chart data tables, shared chart and PDF rendering, and native XLSX persistence. Cover live values, blanks, formatting, alignment, undo/redo, bounds and table flags with regression tests.
Co-Authored-By: Codex <noreply@openai.com>
A chart keeps at most 2,000,000 series x points (every series and the
categories keep their first points), 16 trendlines per chart; columns and
bars narrower than 0.25 px are merged per pixel column; series references
are cut after the rows that can matter before calc evaluates them; the
moving average is linear; fit_trendline allocates no Vec per point;
render borrows clean data instead of cloning it.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>