mirror of
https://github.com/storytold/wordcraft.git
synced 2026-11-06 18:51:26 +00:00
A chart object (`draw:object` whose sub-document is an `office:chart`, ODF 1.3 §10.4.3, Part 3 §11) used to open as its replacement picture. It is now read into WordCraft's chart model: column, bar (stacked or not), line, area, pie, doughnut and scatter charts, with categories, series names and values (gaps included) taken from the chart's own table through the series' cell range addresses, plus title, legend position and data labels. The engine draws opened charts in the document's theme colours, and Chart Design's commands edit them. Charts WordCraft can't edit as they are (3D, percent-stacked, mixed plot types, a second value axis, radar and the like) keep their picture. WordCraft charts are written as ODF chart objects shaped like LibreOffice's: a data table, each series and slice in its accent colour, pies clockwise from the top. They validate against the ODF 1.3 schema, and LibreOffice draws them like WordCraft does. In flat documents they are written inline as an `office:document`. Bug fixed: flat ODT reading ended the body at the first nested `</office:body>`, so an inline sub-document dropped the text after it. Element lookup now follows nesting, with a bounded depth. Flow model: new `Inline::Chart`, kept only by flows that ask for boxes (ODT); other formats still get the alt text. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GBVQLyDnrG8Tn1yDQcUabC