# drawingml
Published on crates.io as `drawingml` (the plain name `drawing` was already taken by an unrelated crate) — referred to simply as `drawing` inside the workspace and in every `use drawing::...` in the code, via a local package alias.
Shared DrawingML content model — shape geometry, transforms, fills, colors, lines, visual effects, and text bodies (paragraphs/runs/bullets) — factored out once and reused by `word-ooxml`, `excel-ooxml`, `powerpoint-ooxml`, and `chart` instead of being duplicated three times over.
Builds on `xml-core` (low-level XML) only.
Models a shape's *content* only — `CT_ShapeProperties`, the type behind `<a:spPr>` wherever it appears (position/size via `Transform2D`, outline via `Geometry`, interior paint via `Fill`/`Color`, stroke via `Line`, effects via `EffectList`) — never a shape's *anchor/container*, since how a shape is placed within its host document (`xdr:twoCellAnchor` for Excel, `wp:inline`/`wp:anchor` for Word, direct placement in `p:spTree` for PowerPoint) is structurally different per format and stays each host crate's own responsibility.
Part of the [office-toolkit](https://github.com/Fab2bprog/office-toolkit) workspace — see that repository's `docs/Architecture.md` for how this crate fits into the rest of the stack.
## License
Licensed under the [MIT license](https://github.com/Fab2bprog/office-toolkit/blob/main/LICENSE).