Restructure chart family docs and navigation
Problem
Rework the chart docs navigation around chart families, build stable family pages for line graphs, sector charts, bar charts, maps, area charts, and point charts, fix related docs rendering issues, and establish the new Tables and Text framing.
Context
The chart docs had grown into a mixed taxonomy with legacy pages such as Chart Types, Pie And Donut Charts, More Chart Types, Map Charts, and Spark Charts (Sparklines). The goal was to replace that with a clearer family-based structure that readers can navigate more naturally.
Relevant work touched:
- docs/docs/charts/*.md family pages and overview pages
- docs/docs/charts/examples/** example files
- docs/macros.py and docs/docs/stylesheets/example.css for example rendering
- dataface/core/render/chart/standard_renderer.py and tests/core/test_vega_lite.py when docs work exposed renderer gaps
Constraints:
- preserve the stable docs server workflow on port 8101
- keep family pages consistent where useful, but avoid forcing Vega-Lite-shaped structure onto non-Vega-Lite surfaces such as tables and text
- use reader-facing terminology when clearer than raw API literals
Possible Solutions
- Keep the existing page mix and polish it incrementally. Trade-off: lower effort up front, but readers still have to navigate a taxonomy built around leftovers and one-off pages.
- Rework the docs around chart families and use one page as the structural template for the others. Recommended because it creates a stable information architecture, makes the docs easier to scan, and lets examples and field-reference sections follow a consistent pattern across families.
- Mirror Vega-Lite internals directly in the docs. Trade-off: technically tidy, but too far from how Dataface readers think about chart selection and usage.
Plan
- Stabilize one family page first (
Line Graphs) and turn it into the reference model. - Clean up the chart navigation to reflect the target family structure.
- Build the remaining family pages using the shared template and a two-pass workflow: build pass, then audit pass.
- Fix any renderer or preview-system issues discovered while making the docs honest.
- Leave
Tables and Textintentionally partial until its non-Vega-Lite structure is better defined.
Implementation Progress
- Renamed and rebuilt
Line Graphsas the stable family-page model. - Established and documented the shared chart-family template, including: mutually exclusive reference tables, example conventions, title-case rules, and the build-plus-audit workflow.
- Reworked chart nav to the family structure:
Bar Charts,Line Graphs,Sector Charts,Point Charts,Area Charts,Maps,Tables and Text,Chart Interactions. - Hid legacy transitional pages from nav (
Chart Types,Pie And Donut Charts,More Chart Types,Spark Charts, template page). - Built and iterated the
Sector Charts,Bar Charts,Maps,Area Charts, andPoint Chartsfamily pages. - Reframed
TablesasTables and Textand intentionally reduced the page to scoped top-level framing only. - Fixed docs preview/example issues:
duplicate rendered-example IDs in
docs/macros.pyand fixed-height example panels indocs/docs/stylesheets/example.css. - Fixed renderer gaps discovered through docs work:
enabled point/scatter and area passthrough support where needed,
added streamgraph support via
encoding.y.stack: center, and fixed categoricalyinference for dot plots. - Added regression coverage in
tests/core/test_vega_lite.pyfor the renderer fixes above.
QA Exploration
Used the local docs preview repeatedly with browser verification against http://localhost:8101/ pages for:
- nav visibility and family ordering
- example rendering and layout behavior
- chart-specific example quality
- stale-build / rebuild issues in the docs server flow
Notable bugs found and fixed during QA:
- duplicate example YAML rendering blocks
- fixed-height preview panels with excessive empty space
- stale include rebuilds requiring clean server restarts
- missing Connecticut in choropleth examples due to join-key mismatch
- invisible dot-plot marks caused by scatter/point y type being forced quantitative
- [x] QA exploration completed (or N/A for non-UI tasks)
Review Feedback
Docs-only work was iterated live with user review in-session rather than through a separate formal review pass. Follow-up changes from review included:
- retitling and renaming line graph materials
- tightening example structure and removing duplicated example blocks
- improving title case and example-heading conventions
- replacing poor example data with clearer teaching datasets
- broadening the Tables and Text framing and hiding unfinished placeholder sections
- [x] Review cleared