docs(odf): plan the drawing work #771 asks for, in the order the corpus argues for - #795
Merged
Conversation
…us argues for The umbrella issue lists four sub-topics and nine unparsed shape tags; this writes down which of them are worth building, in what order, and what the test corpus says about each. Five of the nine tags — `draw:polygon`, `draw:polyline`, `draw:caption`, `draw:regular-polygon`, `dr3d:scene` — occur in none of the 124 odf files under `test/data/input`, and `draw:enhanced-geometry` occurs 350 times, which is what puts the enhanced path ahead of the shape list. Two decisions are taken up front because every later stage depends on them: no new `ElementType` (`custom_shape` becomes the general "geometry given rather than named" type, the way `draw:g` already collapses onto `frame`), and a transform is an element accessor rather than a `GraphicStyle` field, since `get_intermediate_style` would otherwise leak a group's transform onto each of its children. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017XABfEapaADjFQCt1vjmDF
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
🤖 Generated with Claude Code
First of a six-PR stack closing #771. Docs only:
src/odr/internal/odf/PLAN.md,plus the links to it from the root
AGENTS.mdandodf/AGENTS.md.#771 lists four sub-topics and nine unparsed shape tags. This writes down which
of them are worth building, in what order, and what the test corpus says about
each — the same shape as
iwork/PLAN.mdandrtf/PLAN.md.What the corpus argued for
Occurrences over the 124 ODF files in
test/data/input, counted across every.xmlpart:draw:enhanced-geometrydraw:objectdraw:transform=draw:measuredraw:pathdraw:polygon,draw:polyline,draw:caption,draw:regular-polygon,dr3d:sceneFive of the nine unparsed tags occur nowhere, and
draw:enhanced-geometryisby far the most common — which is what puts the enhanced path ahead of the
shape list, and what argues against inventing an
ElementTypeper tag.The two decisions every later stage depends on
ElementType.custom_shapebecomes the general "geometry givenrather than named" type, the way
draw:galready collapses ontoframe.Adding one type costs 14 files across four binding layers.
GraphicStylefield.get_intermediate_styleoverrides down the element parent chain, so a stylefield would leak a group's transform onto every child.
The stack
draw:transform— this PR's successordraw:enhanced-pathanddraw:equation, parser onlydraw:objectcharts — closes ods chart missing #179No consumer-visible change, so no
CHANGELOG.mdentry.