Files
settled-reach/docs/diagrams/architecture/specialization-layer.svg
T
jpmschweitzerandClaude Opus 5 0817befcba docs(diagrams): SVG replaces PNG, and a map of the wiki generator flow
d2 emits SVG natively; its PNG path wants a ~150 MB headless-Chromium
download and prompts interactively, so every PNG here was produced by an
out-of-band magick step. There is no Chromium on this system. Dropping PNG
removes the dependency rather than trading one format for another, and cuts
docs/diagrams/ from 17 MB to 3.3 MB. SVG renders in Gitea and in clide
(`clide draw --file <path>`, which takes .d2 source directly), and diffs as
text.

One PNG is kept on purpose: design/star-map-concentric.png has no .d2 source.

Also renders the 7 star-map .d2 files for the first time. star-map-plan.md
listed their renders as a deliverable in March and the step never ran; the
new `make check-diagrams` is what surfaced it.

New: docs/diagrams/data-flow/wiki-generator-flow.d2 — which way the arrows
point for any file under wiki/. Every edge was read in the tool's own source
rather than inferred. It records the trap that keeps costing us: scaffold_bodies.py
writes a body page once and never overwrites it, and the generator then reads
that frontmatter directly — so a hand-edit there is not reverted, it is obeyed,
and silently changes world generation.

Two rendering traps found the expensive way and now written down:

- A d2 `|md` block becomes an SVG <foreignObject>. ImageMagick and flutter_svg
  both silently drop it, so the legend was in the file and invisible in every
  viewer except a browser. Plain labels render as real <text> everywhere.
- Container boxes fight the layout engine. Grouping nodes whose flow-depths
  differ forces long edge routes; this diagram went from an unreadable 2.4:1
  sprawl to a legible 0.75:1 by deleting five containers and changing nothing
  else. Colour classes carry the grouping instead.

make diagrams / make check-diagrams render and gate. Repo-specific rules in
.claude/rules/diagrams.md; d2 syntax and the traps live in the user-scope
d2-diagram skill, whose PNG default was flipped to SVG to match.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-20 01:49:19 +02:00

115 lines
41 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?><svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" data-d2-version="v0.8.1-HEAD" preserveAspectRatio="xMinYMin meet" viewBox="0 0 3307 1238"><svg class="d2-3502391388 d2-svg" width="3307" height="1238" viewBox="-101 -95 3307 1238"><rect x="-101.000000" y="-95.000000" width="3307.000000" height="1238.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-3502391388 .text {
font-family: "d2-3502391388-font-regular";
}
@font-face {
font-family: d2-3502391388-font-regular;
src: url("data:application/font-woff;base64,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");
}
.d2-3502391388 .text-bold {
font-family: "d2-3502391388-font-bold";
}
@font-face {
font-family: d2-3502391388-font-bold;
src: url("data:application/font-woff;base64,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");
}
.d2-3502391388 .text-italic {
font-family: "d2-3502391388-font-italic";
}
@font-face {
font-family: d2-3502391388-font-italic;
src: url("data:application/font-woff;base64,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");
}]]></style><style type="text/css"><![CDATA[.shape {
shape-rendering: geometricPrecision;
stroke-linejoin: round;
}
.connection {
stroke-linecap: round;
stroke-linejoin: round;
}
.blend {
mix-blend-mode: multiply;
opacity: 0.5;
}
.d2-3502391388 .fill-N1{fill:#0A0F25;}
.d2-3502391388 .fill-N2{fill:#676C7E;}
.d2-3502391388 .fill-N3{fill:#9499AB;}
.d2-3502391388 .fill-N4{fill:#CFD2DD;}
.d2-3502391388 .fill-N5{fill:#DEE1EB;}
.d2-3502391388 .fill-N6{fill:#EEF1F8;}
.d2-3502391388 .fill-N7{fill:#FFFFFF;}
.d2-3502391388 .fill-B1{fill:#0D32B2;}
.d2-3502391388 .fill-B2{fill:#0D32B2;}
.d2-3502391388 .fill-B3{fill:#E3E9FD;}
.d2-3502391388 .fill-B4{fill:#E3E9FD;}
.d2-3502391388 .fill-B5{fill:#EDF0FD;}
.d2-3502391388 .fill-B6{fill:#F7F8FE;}
.d2-3502391388 .fill-AA2{fill:#4A6FF3;}
.d2-3502391388 .fill-AA4{fill:#EDF0FD;}
.d2-3502391388 .fill-AA5{fill:#F7F8FE;}
.d2-3502391388 .fill-AB4{fill:#EDF0FD;}
.d2-3502391388 .fill-AB5{fill:#F7F8FE;}
.d2-3502391388 .stroke-N1{stroke:#0A0F25;}
.d2-3502391388 .stroke-N2{stroke:#676C7E;}
.d2-3502391388 .stroke-N3{stroke:#9499AB;}
.d2-3502391388 .stroke-N4{stroke:#CFD2DD;}
.d2-3502391388 .stroke-N5{stroke:#DEE1EB;}
.d2-3502391388 .stroke-N6{stroke:#EEF1F8;}
.d2-3502391388 .stroke-N7{stroke:#FFFFFF;}
.d2-3502391388 .stroke-B1{stroke:#0D32B2;}
.d2-3502391388 .stroke-B2{stroke:#0D32B2;}
.d2-3502391388 .stroke-B3{stroke:#E3E9FD;}
.d2-3502391388 .stroke-B4{stroke:#E3E9FD;}
.d2-3502391388 .stroke-B5{stroke:#EDF0FD;}
.d2-3502391388 .stroke-B6{stroke:#F7F8FE;}
.d2-3502391388 .stroke-AA2{stroke:#4A6FF3;}
.d2-3502391388 .stroke-AA4{stroke:#EDF0FD;}
.d2-3502391388 .stroke-AA5{stroke:#F7F8FE;}
.d2-3502391388 .stroke-AB4{stroke:#EDF0FD;}
.d2-3502391388 .stroke-AB5{stroke:#F7F8FE;}
.d2-3502391388 .background-color-N1{background-color:#0A0F25;}
.d2-3502391388 .background-color-N2{background-color:#676C7E;}
.d2-3502391388 .background-color-N3{background-color:#9499AB;}
.d2-3502391388 .background-color-N4{background-color:#CFD2DD;}
.d2-3502391388 .background-color-N5{background-color:#DEE1EB;}
.d2-3502391388 .background-color-N6{background-color:#EEF1F8;}
.d2-3502391388 .background-color-N7{background-color:#FFFFFF;}
.d2-3502391388 .background-color-B1{background-color:#0D32B2;}
.d2-3502391388 .background-color-B2{background-color:#0D32B2;}
.d2-3502391388 .background-color-B3{background-color:#E3E9FD;}
.d2-3502391388 .background-color-B4{background-color:#E3E9FD;}
.d2-3502391388 .background-color-B5{background-color:#EDF0FD;}
.d2-3502391388 .background-color-B6{background-color:#F7F8FE;}
.d2-3502391388 .background-color-AA2{background-color:#4A6FF3;}
.d2-3502391388 .background-color-AA4{background-color:#EDF0FD;}
.d2-3502391388 .background-color-AA5{background-color:#F7F8FE;}
.d2-3502391388 .background-color-AB4{background-color:#EDF0FD;}
.d2-3502391388 .background-color-AB5{background-color:#F7F8FE;}
.d2-3502391388 .color-N1{color:#0A0F25;}
.d2-3502391388 .color-N2{color:#676C7E;}
.d2-3502391388 .color-N3{color:#9499AB;}
.d2-3502391388 .color-N4{color:#CFD2DD;}
.d2-3502391388 .color-N5{color:#DEE1EB;}
.d2-3502391388 .color-N6{color:#EEF1F8;}
.d2-3502391388 .color-N7{color:#FFFFFF;}
.d2-3502391388 .color-B1{color:#0D32B2;}
.d2-3502391388 .color-B2{color:#0D32B2;}
.d2-3502391388 .color-B3{color:#E3E9FD;}
.d2-3502391388 .color-B4{color:#E3E9FD;}
.d2-3502391388 .color-B5{color:#EDF0FD;}
.d2-3502391388 .color-B6{color:#F7F8FE;}
.d2-3502391388 .color-AA2{color:#4A6FF3;}
.d2-3502391388 .color-AA4{color:#EDF0FD;}
.d2-3502391388 .color-AA5{color:#F7F8FE;}
.d2-3502391388 .color-AB4{color:#EDF0FD;}
.d2-3502391388 .color-AB5{color:#F7F8FE;}.appendix text.text{fill:#0A0F25}.md{--color-fg-default:#0A0F25;--color-fg-muted:#676C7E;--color-fg-subtle:#9499AB;--color-canvas-default:#FFFFFF;--color-canvas-subtle:#EEF1F8;--color-border-default:#0D32B2;--color-border-muted:#0D32B2;--color-neutral-muted:#EEF1F8;--color-accent-fg:#0D32B2;--color-accent-emphasis:#0D32B2;--color-attention-subtle:#676C7E;--color-danger-fg:red;}.sketch-overlay-B1{fill:url(#streaks-darker-d2-3502391388);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-3502391388);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-3502391388);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-3502391388);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-3502391388);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-3502391388);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-3502391388);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-3502391388);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-3502391388);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-3502391388);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-3502391388);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-3502391388);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-3502391388);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-3502391388);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-3502391388);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-3502391388);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-3502391388);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-3502391388);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="c291cmNl"><g class="shape" ><path d="M 14 491 L 14 407 L 255 407 L 255 491 C 215 473 175 473 135 491 C 94 508 54 508 14 491 Z" stroke="#0D32B2" fill="#e8f4e8" class=" stroke-B1" style="stroke-width:2;" /></g><text x="134.500000" y="440.378468" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="134.500000" dy="0.000000">wiki/economics/</tspan><tspan x="134.500000" dy="18.500000">system_specialization.toml</tspan></text></g><g class="dm9jYWI="><g class="shape" ><path d="M 0 992 L 0 908 L 269 908 L 269 992 C 224 974 179 974 135 992 C 90 1009 45 1009 0 992 Z" stroke="#0D32B2" fill="#e8f4e8" class=" stroke-B1" style="stroke-width:2;" /></g><text x="134.500000" y="941.378468" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="134.500000" dy="0.000000">wiki/economics/</tspan><tspan x="134.500000" dy="18.500000">specialisation_vocabulary.toml</tspan></text></g><g class="ZGI="><g class="shape" ><path d="M 719 70 C 719 46 934 46 958 46 C 982 46 1197 46 1197 70 V 1014 C 1197 1038 982 1038 958 1038 C 934 1038 719 1038 719 1014 V 70 Z" stroke="#0D32B2" fill="#f0f0f0" class=" stroke-B1" style="stroke-width:2;" /><path d="M 719 70 C 719 94 934 94 958 94 C 982 94 1197 94 1197 70" stroke="#0D32B2" fill="#f0f0f0" class=" stroke-B1" style="stroke-width:2;" /></g><text x="958.000000" y="33.000000" fill="#0A0F25" class="text fill-N1" style="text-anchor:middle;font-size:28px">systems.db</text></g><g class="ZmFsbGJhY2s="><g class="shape" ><path d="M 1641 165 L 1550 247 L 1641 330 L 1822 330 L 1913 247 L 1822 165 Z" stroke="#0D32B2" fill="#fff3cd" class=" stroke-B1" style="stroke-width:2;" /></g><text x="1731.500000" y="221.000000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="1731.500000" dy="0.000000">Deterministic-varied</tspan><tspan x="1731.500000" dy="17.000000">heuristic fallback</tspan><tspan x="1731.500000" dy="17.000000">(seed-hashed weighted draw</tspan><tspan x="1731.500000" dy="17.000000">W_ROLE=8000, W_CORP=5000,</tspan><tspan x="1731.500000" dy="17.000000">W_NOISE=400)</tspan></text></g><g class="ZDIzMw=="><g class="shape" ><rect x="2158.000000" y="62.000000" width="276.000000" height="130.000000" stroke="#0D32B2" fill="#dce8f5" class=" stroke-B1" style="stroke-width:2;" /></g><text x="2296.000000" y="100.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="2296.000000" dy="0.000000">D-233</tspan><tspan x="2296.000000" dy="17.000000">Economic block-fill</tspan><tspan x="2296.000000" dy="17.000000">(BulkClass × ProductionUbiquity</tspan><tspan x="2296.000000" dy="17.000000">→ coverage, vocabulary,</tspan><tspan x="2296.000000" dy="17.000000">operations surface)</tspan></text></g><g class="ZDIzMg=="><g class="shape" ><rect x="1609.000000" y="390.000000" width="246.000000" height="130.000000" stroke="#0D32B2" fill="#dce8f5" class=" stroke-B1" style="stroke-width:2;" /></g><text x="1732.000000" y="428.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="1732.000000" dy="0.000000">D-232</tspan><tspan x="1732.000000" dy="17.000000">Architecture-flavor</tspan><tspan x="1732.000000" dy="17.000000">(template pool selection</tspan><tspan x="1732.000000" dy="17.000000">for corridor vs</tspan><tspan x="1732.000000" dy="17.000000">heritage-divergent systems)</tspan></text></g><g class="ZDIxNA=="><g class="shape" ><rect x="1615.000000" y="580.000000" width="233.000000" height="146.000000" stroke="#0D32B2" fill="#dce8f5" class=" stroke-B1" style="stroke-width:2;" /></g><text x="1731.500000" y="618.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="1731.500000" dy="0.000000">D-214</tspan><tspan x="1731.500000" dy="16.833333">PoliticalArchetype</tspan><tspan x="1731.500000" dy="16.833333">(settlement spatial layout:</tspan><tspan x="1731.500000" dy="16.833333">commission radial /</tspan><tspan x="1731.500000" dy="16.833333">corporate campus /</tspan><tspan x="1731.500000" dy="16.833333">cooperative distributed)</tspan></text></g><g class="ZDE3NA=="><g class="shape" ><rect x="1646.000000" y="786.000000" width="171.000000" height="98.000000" stroke="#0D32B2" fill="#e8dce8" class=" stroke-B1" style="stroke-width:2;" /></g><text x="1731.500000" y="824.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="1731.500000" dy="0.000000">D-174</tspan><tspan x="1731.500000" dy="17.666667">Shadow economy</tspan><tspan x="1731.500000" dy="17.666667">intensity</tspan></text></g><g class="ZDE3Mg=="><g class="shape" ><rect x="1659.000000" y="944.000000" width="146.000000" height="98.000000" stroke="#0D32B2" fill="#e8dce8" class=" stroke-B1" style="stroke-width:2;" /></g><text x="1732.000000" y="982.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="1732.000000" dy="0.000000">D-172</tspan><tspan x="1732.000000" dy="17.666667">Currency zone</tspan><tspan x="1732.000000" dy="17.666667">validation</tspan></text></g><g class="Z3Jvb21icmlkZ2U="><g class="shape" ><ellipse rx="156.500000" ry="76.500000" cx="2948.500000" cy="127.500000" stroke="#0D32B2" fill="#fde8cc" class="shape stroke-B1" style="stroke-width:2;" /></g><text x="2948.500000" y="101.000000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="2948.500000" dy="0.000000">Groombridge</tspan><tspan x="2948.500000" dy="17.000000">landmark mechanism:</tspan><tspan x="2948.500000" dy="17.000000">financial_hub (Specialist)</tspan><tspan x="2948.500000" dy="17.000000">+ GSH hero-element</tspan><tspan x="2948.500000" dy="17.000000">via D-222 + D-232 pin</tspan></text></g><g class="ZGIuZWNvbg=="><g class="shape" ><rect x="846.000000" y="86.000000" width="225.000000" height="82.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="958.500000" y="124.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="958.500000" dy="0.000000">system_economy</tspan><tspan x="958.500000" dy="18.500000">.economic_specialization</tspan></text></g><g class="ZGIuY3VsdA=="><g class="shape" ><rect x="852.000000" y="414.000000" width="212.000000" height="82.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="958.000000" y="452.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="958.000000" dy="0.000000">system_economy</tspan><tspan x="958.000000" dy="18.500000">.cultural_specialization</tspan></text></g><g class="ZGIuZmFjdA=="><g class="shape" ><rect x="870.000000" y="766.000000" width="177.000000" height="82.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="958.500000" y="804.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="958.500000" dy="0.000000">system_factions</tspan><tspan x="958.500000" dy="18.500000">.dominant_faction</tspan></text></g><g class="ZGIuc3BlY3ZvY2Fi"><g class="shape" ><rect x="842.000000" y="916.000000" width="233.000000" height="82.000000" stroke="#0D32B2" fill="#EDF0FD" class=" stroke-B1 fill-B5" style="stroke-width:2;" /></g><text x="958.500000" y="954.500000" fill="#0A0F25" class="text-bold fill-N1" style="text-anchor:middle;font-size:16px"><tspan x="958.500000" dy="0.000000">specialization_vocabulary</tspan><tspan x="958.500000" dy="18.500000">(compiled reference table)</tspan></text></g><g class="KHNvdXJjZSAtJmd0OyBkYi5lY29uKVswXQ=="><marker id="mk-d2-3502391388-2177206569" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B2" stroke-width="2" /> </marker><path d="M 188.477700 405.652260 C 432.600006 183.000000 744.299988 127.000000 841.500000 127.000000" stroke="#0D32B2" fill="none" class="connection stroke-B2" style="stroke-width:2;stroke-dasharray:6.000000,5.919384;" marker-end="url(#mk-d2-3502391388-2177206569)" mask="url(#d2-3502391388)" /><text x="474.500000" y="173.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="474.500000" dy="0.000000">import_economics.py</tspan><tspan x="474.500000" dy="18.500000">import_system_specialization()</tspan></text></g><g class="KHNvdXJjZSAtJmd0OyBkYi5jdWx0KVswXQ=="><path d="M 257.000000 455.000000 C 446.200012 455.000000 745.599976 455.000000 848.000000 455.000000" stroke="#0D32B2" fill="none" class="connection stroke-B2" style="stroke-width:2;stroke-dasharray:6.000000,5.919384;" marker-end="url(#mk-d2-3502391388-2177206569)" mask="url(#d2-3502391388)" /></g><g class="KHNvdXJjZSAtJmd0OyBkYi5mYWN0KVswXQ=="><path d="M 163.429200 483.399066 C 427.600006 742.000000 749.099976 807.000000 865.500000 807.000000" stroke="#0D32B2" fill="none" class="connection stroke-B2" style="stroke-width:2;stroke-dasharray:6.000000,5.919384;" marker-end="url(#mk-d2-3502391388-2177206569)" mask="url(#d2-3502391388)" /></g><g class="KHZvY2FiIC0mZ3Q7IGRiLnNwZWN2b2NhYilbMF0="><path d="M 270.999995 956.004445 C 449.000000 956.400024 743.500000 956.500000 837.500000 956.500000" stroke="#0D32B2" fill="none" class="connection stroke-B2" style="stroke-width:2;stroke-dasharray:6.000000,5.919384;" marker-end="url(#mk-d2-3502391388-2177206569)" mask="url(#d2-3502391388)" /><text x="555.000000" y="962.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">compiled reference</text></g><g class="KGRiLmVjb24gLSZndDsgZDIzMylbMF0="><marker id="mk-d2-3502391388-3488378134" markerWidth="10.000000" markerHeight="12.000000" refX="7.000000" refY="6.000000" viewBox="0.000000 0.000000 10.000000 12.000000" orient="auto" markerUnits="userSpaceOnUse"> <polygon points="0.000000,0.000000 10.000000,6.000000 0.000000,12.000000" fill="#0D32B2" class="connection fill-B1" stroke-width="2" /> </marker><path d="M 1072.992422 117.326058 C 1171.800049 108.699997 1232.300049 106.500000 1285.250000 106.500000 C 1338.199951 106.500000 1445.099976 106.500000 1552.500000 106.500000 C 1659.900024 106.500000 2060.100098 108.500000 2154.513154 116.175866" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3502391388-3488378134)" mask="url(#d2-3502391388)" /><text x="1615.000000" y="104.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="1615.000000" dy="0.000000">primary source</tspan><tspan x="1615.000000" dy="18.500000">(authored wins)</tspan></text></g><g class="KGRiLmVjb24gLSZndDsgZmFsbGJhY2spWzBd"><path d="M 1040.784314 168.403450 C 1165.400024 231.500000 1409.000000 247.600006 1547.000016 247.988733" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3502391388-3488378134)" mask="url(#d2-3502391388)" /><text x="1287.000000" y="245.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">NULL → heuristic</text></g><g class="KGZhbGxiYWNrIC0mZ3Q7IGQyMzMpWzBd"><path d="M 1913.999984 247.008097 C 2010.800049 247.399994 2060.100098 236.100006 2154.870758 192.181846" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3502391388-3488378134)" mask="url(#d2-3502391388)" /></g><g class="KGRiLmN1bHQgLSZndDsgZDIzMilbMF0="><path d="M 1066.000000 455.000000 C 1170.400024 455.000000 1420.500000 455.000000 1604.500000 455.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3502391388-3488378134)" mask="url(#d2-3502391388)" /><text x="1336.000000" y="453.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="1336.000000" dy="0.000000">D-232 template</tspan><tspan x="1336.000000" dy="18.500000">pool override</tspan></text></g><g class="KGRiLmZhY3QgLSZndDsgZDIxNClbMF0="><path d="M 1023.680170 764.915090 C 1162.000000 675.599976 1421.900024 653.000000 1611.500000 653.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3502391388-3488378134)" mask="url(#d2-3502391388)" /></g><g class="KGRiLmZhY3QgLSZndDsgZDE3NClbMF0="><path d="M 1049.486235 817.602228 C 1167.099976 831.473022 1428.099976 835.000000 1642.500000 835.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3502391388-3488378134)" mask="url(#d2-3502391388)" /></g><g class="KGRiLmZhY3QgLSZndDsgZDE3MilbMF0="><path d="M 1012.577334 849.229642 C 1159.800049 964.000000 1430.500000 993.000000 1654.500000 993.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3502391388-3488378134)" mask="url(#d2-3502391388)" /></g><g class="KGQyMzMgLSZndDsgZ3Jvb21icmlkZ2UpWzBd"><path d="M 2436.000000 127.000000 C 2577.199951 127.000000 2648.800049 127.000000 2788.000000 127.000000" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-3502391388-3488378134)" mask="url(#d2-3502391388)" /><text x="2613.500000" y="125.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="2613.500000" dy="0.000000">Specialist district</tspan><tspan x="2613.500000" dy="18.500000">character</tspan></text></g><mask id="d2-3502391388" maskUnits="userSpaceOnUse" x="-101" y="-95" width="3307" height="1238">
<rect x="-101" y="-95" width="3307" height="1238" fill="white"></rect>
<rect x="370.000000" y="157.000000" width="209" height="37" fill="black"></rect>
<rect x="490.000000" y="946.000000" width="130" height="21" fill="black"></rect>
<rect x="1561.000000" y="88.000000" width="108" height="37" fill="black"></rect>
<rect x="1231.000000" y="229.000000" width="112" height="21" fill="black"></rect>
<rect x="1283.000000" y="437.000000" width="106" height="37" fill="black"></rect>
<rect x="2555.000000" y="109.000000" width="117" height="37" fill="black"></rect>
</mask></svg></svg>