From de75c0adb5d2c77a0e00fcb5b4079a03888fbbc5 Mon Sep 17 00:00:00 2001
From: 0xDarkMatter <143511969+0xDarkMatter@users.noreply.github.com>
Date: Tue, 18 Aug 2026 17:50:19 +1000
Subject: [PATCH] feat(types): add treemap for part-of-whole by area (#87)
Add Treemap as the 28th visual type with light, dark, and editorial variants; area, label, and information-marker verification; synchronized documentation and manifests; and plugin version 2.5.0.
---
.claude-plugin/marketplace.json | 2 +-
.claude-plugin/plugin.json | 4 +-
.codex-plugin/plugin.json | 6 +-
.github/workflows/ci.yml | 12 +
CONTRIBUTING.md | 10 +-
README.md | 19 +-
...tic-patterns-do-not-expand-the-taxonomy.md | 8 +-
docs/screenshots/treemap.png | Bin 0 -> 105474 bytes
scripts/test-verify-motion.py | 4 +-
scripts/test-verify-treemap.py | 190 ++++++++++
scripts/verify-docs-sync.py | 64 +++-
scripts/verify-semantic-motion.py | 12 +-
scripts/verify-treemap.py | 356 ++++++++++++++++++
skills/diagram-design/SKILL.md | 10 +-
.../assets/example-treemap-dark.html | 107 ++++++
.../assets/example-treemap-full.html | 134 +++++++
.../assets/example-treemap.html | 107 ++++++
skills/diagram-design/assets/index.html | 3 +
.../diagram-design/references/onboarding.md | 2 +-
.../references/semantic-patterns.md | 2 +-
.../diagram-design/references/type-treemap.md | 56 +++
21 files changed, 1072 insertions(+), 36 deletions(-)
create mode 100644 docs/screenshots/treemap.png
create mode 100644 scripts/test-verify-treemap.py
create mode 100644 scripts/verify-treemap.py
create mode 100644 skills/diagram-design/assets/example-treemap-dark.html
create mode 100644 skills/diagram-design/assets/example-treemap-full.html
create mode 100644 skills/diagram-design/assets/example-treemap.html
create mode 100644 skills/diagram-design/references/type-treemap.md
diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json
index fc96082..c564a39 100644
--- a/.claude-plugin/marketplace.json
+++ b/.claude-plugin/marketplace.json
@@ -1,7 +1,7 @@
{
"name": "diagram-design",
"metadata": {
- "description": "Create branded architecture, IT current-state, flowchart, sequence, state machine, ER/data model, timeline, swimlane, quadrant, radar/spider, loop/flywheel, nested, tree, org chart, layer stack, Venn, pyramid/funnel, bar, line, Gantt and scatter charts, high-level, process, medallion, data flow, DP integration, or DP security matrix diagrams as standalone HTML/SVG/PNG. Redraw .drawio/.drawio.png/.drawio.svg or Mermaid .mmd sources at a chosen size/detail; onboard brand tokens from a website; add semantic patterns, callouts, accessible motion, or sketchy/hand-drawn styling."
+ "description": "Create branded architecture, IT current-state, flowchart, sequence, state machine, ER/data model, timeline, swimlane, quadrant, radar/spider, loop/flywheel, nested, tree, org chart, layer stack, Venn, pyramid/funnel, treemap, bar, line, Gantt and scatter charts, high-level, process, medallion, data flow, DP integration, or DP security matrix diagrams as standalone HTML/SVG/PNG. Redraw .drawio/.drawio.png/.drawio.svg or Mermaid .mmd sources at a chosen size/detail; onboard brand tokens from a website; add semantic patterns, callouts, accessible motion, or sketchy/hand-drawn styling."
},
"owner": {
"name": "Cathryn Lavery"
diff --git a/.claude-plugin/plugin.json b/.claude-plugin/plugin.json
index b7a82a8..c6b21ff 100644
--- a/.claude-plugin/plugin.json
+++ b/.claude-plugin/plugin.json
@@ -1,7 +1,7 @@
{
"name": "diagram-design",
- "description": "Create branded architecture, IT current-state, flowchart, sequence, state machine, ER/data model, timeline, swimlane, quadrant, radar/spider, loop/flywheel, nested, tree, org chart, layer stack, Venn, pyramid/funnel, bar, line, Gantt and scatter charts, high-level, process, medallion, data flow, DP integration, or DP security matrix diagrams as standalone HTML/SVG/PNG. Redraw .drawio/.drawio.png/.drawio.svg or Mermaid .mmd sources at a chosen size/detail; onboard brand tokens from a website; add semantic patterns, callouts, accessible motion, or sketchy/hand-drawn styling.",
- "version": "2.4.8",
+ "description": "Create branded architecture, IT current-state, flowchart, sequence, state machine, ER/data model, timeline, swimlane, quadrant, radar/spider, loop/flywheel, nested, tree, org chart, layer stack, Venn, pyramid/funnel, treemap, bar, line, Gantt and scatter charts, high-level, process, medallion, data flow, DP integration, or DP security matrix diagrams as standalone HTML/SVG/PNG. Redraw .drawio/.drawio.png/.drawio.svg or Mermaid .mmd sources at a chosen size/detail; onboard brand tokens from a website; add semantic patterns, callouts, accessible motion, or sketchy/hand-drawn styling.",
+ "version": "2.5.0",
"author": {
"name": "Cathryn Lavery",
"url": "https://github.com/cathrynlavery"
diff --git a/.codex-plugin/plugin.json b/.codex-plugin/plugin.json
index cf6a81b..f8d63a3 100644
--- a/.codex-plugin/plugin.json
+++ b/.codex-plugin/plugin.json
@@ -1,7 +1,7 @@
{
"name": "diagram-design",
- "description": "Create branded architecture, IT current-state, flowchart, sequence, state machine, ER/data model, timeline, swimlane, quadrant, radar/spider, loop/flywheel, nested, tree, org chart, layer stack, Venn, pyramid/funnel, bar, line, Gantt and scatter charts, high-level, process, medallion, data flow, DP integration, or DP security matrix diagrams as standalone HTML/SVG/PNG. Redraw .drawio/.drawio.png/.drawio.svg or Mermaid .mmd sources at a chosen size/detail; onboard brand tokens from a website; add semantic patterns, callouts, accessible motion, or sketchy/hand-drawn styling.",
- "version": "2.4.8",
+ "description": "Create branded architecture, IT current-state, flowchart, sequence, state machine, ER/data model, timeline, swimlane, quadrant, radar/spider, loop/flywheel, nested, tree, org chart, layer stack, Venn, pyramid/funnel, treemap, bar, line, Gantt and scatter charts, high-level, process, medallion, data flow, DP integration, or DP security matrix diagrams as standalone HTML/SVG/PNG. Redraw .drawio/.drawio.png/.drawio.svg or Mermaid .mmd sources at a chosen size/detail; onboard brand tokens from a website; add semantic patterns, callouts, accessible motion, or sketchy/hand-drawn styling.",
+ "version": "2.5.0",
"author": {
"name": "Cathryn Lavery",
"url": "https://github.com/cathrynlavery"
@@ -26,7 +26,7 @@
"interface": {
"displayName": "Diagram Design",
"shortDescription": "Create editorial technical and product diagrams as standalone HTML.",
- "longDescription": "Create branded architecture, IT current-state, flowchart, sequence, state machine, ER/data model, timeline, swimlane, quadrant, radar/spider, loop/flywheel, nested, tree, org chart, layer stack, Venn, pyramid/funnel, bar, line, Gantt and scatter charts, high-level, process, medallion, data flow, DP integration, or DP security matrix diagrams as standalone HTML/SVG/PNG. Redraw .drawio/.drawio.png/.drawio.svg or Mermaid .mmd sources at a chosen size/detail; onboard brand tokens from a website; add semantic patterns, callouts, accessible motion, or sketchy/hand-drawn styling.",
+ "longDescription": "Create branded architecture, IT current-state, flowchart, sequence, state machine, ER/data model, timeline, swimlane, quadrant, radar/spider, loop/flywheel, nested, tree, org chart, layer stack, Venn, pyramid/funnel, treemap, bar, line, Gantt and scatter charts, high-level, process, medallion, data flow, DP integration, or DP security matrix diagrams as standalone HTML/SVG/PNG. Redraw .drawio/.drawio.png/.drawio.svg or Mermaid .mmd sources at a chosen size/detail; onboard brand tokens from a website; add semantic patterns, callouts, accessible motion, or sketchy/hand-drawn styling.",
"developerName": "Cathryn Lavery",
"category": "Productivity",
"capabilities": [
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e091ad1..88cfd9f 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -185,6 +185,16 @@ jobs:
id: geometry_tests
run: python scripts/test-verify-geometry.py
+ - name: Verify treemap area fidelity and label fit
+ if: always()
+ id: treemap
+ run: python scripts/verify-treemap.py --all
+
+ - name: Verify treemap checker
+ if: always()
+ id: treemap_tests
+ run: python scripts/test-verify-treemap.py
+
- name: Verify generated icon assets
if: always()
id: icons
@@ -219,4 +229,6 @@ jobs:
echo "| Packaged Self-Check | ${{ steps.self_check.outcome == 'success' && '✅ Passed' || (steps.self_check.outcome == 'skipped' && '⏭️ Skipped' || '❌ Failed') }} |" >> $GITHUB_STEP_SUMMARY
echo "| Label Geometry | ${{ steps.geometry.outcome == 'success' && '✅ Passed' || (steps.geometry.outcome == 'skipped' && '⏭️ Skipped' || '❌ Failed') }} |" >> $GITHUB_STEP_SUMMARY
echo "| Label Geometry Checker | ${{ steps.geometry_tests.outcome == 'success' && '✅ Passed' || (steps.geometry_tests.outcome == 'skipped' && '⏭️ Skipped' || '❌ Failed') }} |" >> $GITHUB_STEP_SUMMARY
+ echo "| Treemap Area & Label Fit | ${{ steps.treemap.outcome == 'success' && '✅ Passed' || (steps.treemap.outcome == 'skipped' && '⏭️ Skipped' || '❌ Failed') }} |" >> $GITHUB_STEP_SUMMARY
+ echo "| Treemap Checker | ${{ steps.treemap_tests.outcome == 'success' && '✅ Passed' || (steps.treemap_tests.outcome == 'skipped' && '⏭️ Skipped' || '❌ Failed') }} |" >> $GITHUB_STEP_SUMMARY
echo "| Primitive Icons & Documentation | ${{ steps.icons.outcome == 'success' && '✅ Passed' || (steps.icons.outcome == 'skipped' && '⏭️ Skipped' || '❌ Failed') }} |" >> $GITHUB_STEP_SUMMARY
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 110866c..d23cf23 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -8,7 +8,7 @@ Please read [CODE_OF_CONDUCT.md](CODE_OF_CONDUCT.md) first. All contributions ar
## What this project is
-Diagram Design is an agent skill (Claude Code, Codex, Pi) that produces editorial-quality diagrams as self-contained HTML files. The repo is documentation-first: `skills/diagram-design/SKILL.md` is the index, each of the 27 visual types has its own reference file, and the extractor scripts in `skills/diagram-design/scripts/` turn draw.io and Mermaid sources into a structured IR.
+Diagram Design is an agent skill (Claude Code, Codex, Pi) that produces editorial-quality diagrams as self-contained HTML files. The repo is documentation-first: `skills/diagram-design/SKILL.md` is the index, each of the 28 visual types has its own reference file, and the extractor scripts in `skills/diagram-design/scripts/` turn draw.io and Mermaid sources into a structured IR.
See [README.md](README.md) for the full picture, including the design system and the import/export flows.
@@ -56,6 +56,8 @@ The helper refuses to run if the Claude and Codex versions already differ. If an
| Packaged output self-check behaves (pass + adversarial cases) | `python3 scripts/test-self-check.py` |
| Label masks are never clipped by a node painted after them | `python3 scripts/verify-geometry.py --all` |
| Label geometry checker behaves (pass + adversarial cases) | `python3 scripts/test-verify-geometry.py` |
+| Treemap cells match the values they are labelled with, and labels fit | `python3 scripts/verify-treemap.py --all` |
+| Treemap checker behaves (pass + adversarial cases) | `python3 scripts/test-verify-treemap.py` |
| Generated icon assets are up to date (`icons.html`, `primitive-icons.md`) | `python3 scripts/build-icons.py` then `git diff --exit-code` on the two generated files |
The semantic-pattern gate also caps `skills/diagram-design/SKILL.md` at 40,000 bytes so the installed skill remains practical to load. If that gate fails, reduce duplication or move detail into a routed reference; do not remove routing vocabulary from frontmatter.
@@ -79,7 +81,9 @@ python3 scripts/test-plugin-package.py \
&& python3 scripts/test-verify-docs-sync.py \
&& python3 scripts/test-self-check.py \
&& python3 scripts/verify-geometry.py --all \
- && python3 scripts/test-verify-geometry.py
+ && python3 scripts/test-verify-geometry.py \
+ && python3 scripts/verify-treemap.py --all \
+ && python3 scripts/test-verify-treemap.py
```
### If a gate fails
@@ -127,7 +131,7 @@ Motion is opt-in. Start from `skills/diagram-design/assets/template-motion.html`
## Design decisions (ADRs)
-Settled policies live as short records in `docs/adr/` — one pinned motion controller, semantic patterns never expanding the 27-type taxonomy, the reveal-only autoplay rule, the SKILL.md byte cap with its trigger-rich description requirement, and geometric label placement being verified rather than reviewed. Read the relevant ADR before proposing a change that touches one; when a PR settles a new policy, add an ADR in the same PR.
+Settled policies live as short records in `docs/adr/` — one pinned motion controller, semantic patterns never expanding the visual-type taxonomy, the reveal-only autoplay rule, the SKILL.md byte cap with its trigger-rich description requirement, and geometric label placement being verified rather than reviewed. Read the relevant ADR before proposing a change that touches one; when a PR settles a new policy, add an ADR in the same PR.
## Adding a new diagram type
diff --git a/README.md b/README.md
index 59293e5..ab6987d 100644
--- a/README.md
+++ b/README.md
@@ -12,7 +12,7 @@
*New in 2.3: semantic system patterns and optional accessible motion, while static output stays the default.*
-27 visual types. One agent skill for Claude Code, Codex, and Pi. Semantic patterns describe behavior separately from layout, so a queue, policy trace, or trust boundary can use the nearest existing type without expanding the type count. Static HTML remains the default; optional motion is available for ordered explanations. The skill also redraws draw.io or Mermaid sources at a chosen format, size, and detail level.
+28 visual types. One agent skill for Claude Code, Codex, and Pi. Semantic patterns describe behavior separately from layout, so a queue, policy trace, or trust boundary can use the nearest existing type without expanding the type count. Static HTML remains the default; optional motion is available for ordered explanations. The skill also redraws draw.io or Mermaid sources at a chosen format, size, and detail level.
No Figma. No generic rounded boxes. No 30-minute color-picking sessions.
@@ -22,7 +22,7 @@ No Figma. No generic rounded boxes. No 30-minute color-picking sessions.
I write at [littlemight.com](https://littlemight.com?utm_source=diagram-design&utm_medium=readme&utm_campaign=github&utm_content=intro) (and run [BestSelf.co](https://bestself.co?utm_source=diagram-design&utm_medium=readme&utm_campaign=github&utm_content=intro) on the side). Every time I needed a diagram — an architecture sketch, a flowchart, a pyramid of what matters most — I'd ask Claude and get back a generic rounded-box thing that looked nothing like the rest of the site. I'd either fight with Figma for 30 minutes or just skip the diagram.
-So I built a Claude Code skill for it. Twenty-seven visual types, editorial quality, matches your brand in 60 seconds by reading your website.
+So I built a Claude Code skill for it. Twenty-eight visual types, editorial quality, matches your brand in 60 seconds by reading your website.
> *The highest-quality move is usually deletion.* Every node earns its place. The accent color is reserved for the 1–2 things the reader should look at first. Target density: 4/10.
@@ -30,7 +30,7 @@ So I built a Claude Code skill for it. Twenty-seven visual types, editorial qual
## What it makes
-All 27 visual types ship in three static variants: minimal light, minimal dark, and full-editorial. Open any of them directly in a browser. There is no build step, JavaScript, or external image dependency.
+All 28 visual types ship in three static variants: minimal light, minimal dark, and full-editorial. Open any of them directly in a browser. There is no build step, JavaScript, or external image dependency.
@@ -80,12 +80,12 @@ All 27 visual types ship in three static variants: minimal light, minimal dark,
 DP security matrix Per-role access permissions |
- |
+  Treemap Part-of-whole by area |
|
-**Browse the live gallery:** [cathrynlavery.github.io/diagram-design](https://cathrynlavery.github.io/diagram-design/) — or open [`skills/diagram-design/assets/index.html`](skills/diagram-design/assets/index.html) locally to flip through all 27 diagrams with light / dark / full-editorial tabs.
+**Browse the live gallery:** [cathrynlavery.github.io/diagram-design](https://cathrynlavery.github.io/diagram-design/) — or open [`skills/diagram-design/assets/index.html`](skills/diagram-design/assets/index.html) locally to flip through all 28 diagrams with light / dark / full-editorial tabs.
---
@@ -185,7 +185,7 @@ Every diagram template gives the inline SVG an accessible name and description:
### Manual override
-Prefer to set tokens by hand? Open [`skills/diagram-design/references/style-guide.md`](skills/diagram-design/references/style-guide.md) and edit the table. Everything downstream reads from there — all 27 diagrams, the annotation primitive, and the gallery all inherit semantic role names (`accent`, not `#eb6c36`).
+Prefer to set tokens by hand? Open [`skills/diagram-design/references/style-guide.md`](skills/diagram-design/references/style-guide.md) and edit the table. Everything downstream reads from there — all 28 diagrams, the annotation primitive, and the gallery all inherit semantic role names (`accent`, not `#eb6c36`).
### First-run gate
@@ -206,7 +206,7 @@ The profile library is shared across Claude Code, Codex, and Pi. Use `/diagram-d
## Quickstart
```bash
-# From a cloned checkout, open the gallery to see all 27 diagrams
+# From a cloned checkout, open the gallery to see all 28 diagrams
open skills/diagram-design/assets/index.html # macOS
xdg-open skills/diagram-design/assets/index.html # Linux
@@ -370,7 +370,7 @@ diagram-design/
│ └── assets/
│ ├── index.html — live gallery, tabbed
│ ├── template*.html — scaffolds for new diagrams
-│ ├── example-.html — 3 variants × 27 types
+│ ├── example-.html — 3 variants × 28 types
│ ├── example-loop-terminal.html
│ ├── example-quadrant-consultant.html
│ ├── example-import-drawio.html
@@ -407,6 +407,7 @@ it covers all supported grammars, multi-block Markdown, adversarial labels, trus
behavior, resource caps, named failures, and reference/command wiring.
Label placement is gated geometrically: `python3 scripts/verify-geometry.py --all` fails CI when a label mask overlaps a node declared later in the document, because the node fill would clip the text at render time. `python3 scripts/test-verify-geometry.py` keeps that checker honest in both directions.
+Treemaps get a second geometric gate, because their whole claim is that area *is* the encoding: `python3 scripts/verify-treemap.py --all` fails CI when a cell's share of the drawn area doesn't match the value printed inside it, or when a label overruns the cell it names. It measures area error as a *relative* figure — an absolute one passes exactly the small cells most likely to be wrong. `python3 scripts/test-verify-treemap.py` keeps it honest in both directions.
Docs and routing surfaces are themselves gated: `python3 scripts/verify-docs-sync.py` fails CI if the SKILL.md description loses a type's lexical hook, the gallery can't reach a shipped example, the README tree names a file that doesn't exist, a relative `references/*.md` link in SKILL.md is broken, or the Claude/Pi profile surfaces drift from `profiles.md`. `python3 scripts/test-verify-docs-sync.py` exercises those newer checks adversarially. The skill also ships `skills/diagram-design/scripts/self_check.py` — a distilled output checker installed agents can run on their own generated diagrams; `python3 scripts/test-self-check.py` keeps it honest. Settled design decisions (why one pinned controller, why patterns never add types, the autoplay policy, the SKILL.md byte cap, why label placement is verified geometrically, and why client profiles use marker-first resolution) live as short ADRs in `docs/adr/` — read them before relitigating one, add one when you settle a new policy.
All pull requests and pushes are automatically validated across Linux, Windows, and macOS runners via GitHub Actions CI (`.github/workflows/ci.yml`).
@@ -428,7 +429,7 @@ At startup, the agent sees only the skill name and description. When a request m
| "Give me a terminal / CLI-window version" | `SKILL.md` + `references/primitive-terminal.md` |
| "Redraw this .drawio file for my deck" | `SKILL.md` + `references/import-drawio.md` + `references/output-spec.md` + the chosen type's reference |
| "Redraw this Mermaid block for my deck" | `SKILL.md` + `references/import-mermaid.md` + `references/output-spec.md` + the chosen type's reference |
-| Routine static diagram-making (any of the 27 visual types) | Only `SKILL.md` + that one type's reference |
+| Routine static diagram-making (any of the 28 visual types) | Only `SKILL.md` + that one type's reference |
No matter how many types exist, the agent only reads the one you need. Add a new type tomorrow and nothing else changes.
diff --git a/docs/adr/0002-semantic-patterns-do-not-expand-the-taxonomy.md b/docs/adr/0002-semantic-patterns-do-not-expand-the-taxonomy.md
index 529c2ec..389cc80 100644
--- a/docs/adr/0002-semantic-patterns-do-not-expand-the-taxonomy.md
+++ b/docs/adr/0002-semantic-patterns-do-not-expand-the-taxonomy.md
@@ -12,6 +12,12 @@ Behavior is a separate axis. The seven semantic patterns in `references/semantic
## Consequences
-- "27 visual types" is a stable, verifiable claim (`verify-semantic-motion.py` and `verify-docs-sync.py` both count it).
+- The visual-type count is a stable, verifiable claim (`verify-semantic-motion.py` and `verify-docs-sync.py` both count it) — 27 when this record was accepted; see Amendments for the current figure.
- A new behavior costs one pattern section plus a routing-table row — not a new type reference, template set, and example triple.
- If a pattern ever needs a layout no existing type provides, that is the signal to add a type, with the full §10 shipping set.
+
+## Amendments
+
+**2026-08-18 — the count is 28.** Treemap was admitted under the escape clause above: recursive area subdivision is a layout grammar no existing type provides (bar encodes with length, nested with containment and no quantity, pyramid with rank). It shipped the full §10 set, and the counters named above moved 27 → 28 together with the prose.
+
+The decision itself is unchanged — semantic patterns still never add a type, and the count still moves only for a new *layout* grammar. What this amendment records is the procedure: the two counters are this ADR's enforcement, so a PR that edits them without amending this file has quietly made itself the authority. Amend here in the same PR, or the number in the test is just whatever the last contributor typed.
diff --git a/docs/screenshots/treemap.png b/docs/screenshots/treemap.png
new file mode 100644
index 0000000000000000000000000000000000000000..936bfa784bc07682551e192007a593720543f392
GIT binary patch
literal 105474
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 <
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 |