Files
settled-reach/docs/diagrams/ui/interaction-flow.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

116 lines
44 KiB
XML

<?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 3912 1349"><svg class="d2-1194282146 d2-svg" width="3912" height="1349" viewBox="-58 -149 3912 1349"><rect x="-58.000000" y="-149.000000" width="3912.000000" height="1349.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
.d2-1194282146 .text {
font-family: "d2-1194282146-font-regular";
}
@font-face {
font-family: d2-1194282146-font-regular;
src: url("data:application/font-woff;base64,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");
}
.d2-1194282146 .text-bold {
font-family: "d2-1194282146-font-bold";
}
@font-face {
font-family: d2-1194282146-font-bold;
src: url("data:application/font-woff;base64,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");
}
.d2-1194282146 .text-italic {
font-family: "d2-1194282146-font-italic";
}
@font-face {
font-family: d2-1194282146-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-1194282146 .fill-N1{fill:#0A0F25;}
.d2-1194282146 .fill-N2{fill:#676C7E;}
.d2-1194282146 .fill-N3{fill:#9499AB;}
.d2-1194282146 .fill-N4{fill:#CFD2DD;}
.d2-1194282146 .fill-N5{fill:#DEE1EB;}
.d2-1194282146 .fill-N6{fill:#EEF1F8;}
.d2-1194282146 .fill-N7{fill:#FFFFFF;}
.d2-1194282146 .fill-B1{fill:#0D32B2;}
.d2-1194282146 .fill-B2{fill:#0D32B2;}
.d2-1194282146 .fill-B3{fill:#E3E9FD;}
.d2-1194282146 .fill-B4{fill:#E3E9FD;}
.d2-1194282146 .fill-B5{fill:#EDF0FD;}
.d2-1194282146 .fill-B6{fill:#F7F8FE;}
.d2-1194282146 .fill-AA2{fill:#4A6FF3;}
.d2-1194282146 .fill-AA4{fill:#EDF0FD;}
.d2-1194282146 .fill-AA5{fill:#F7F8FE;}
.d2-1194282146 .fill-AB4{fill:#EDF0FD;}
.d2-1194282146 .fill-AB5{fill:#F7F8FE;}
.d2-1194282146 .stroke-N1{stroke:#0A0F25;}
.d2-1194282146 .stroke-N2{stroke:#676C7E;}
.d2-1194282146 .stroke-N3{stroke:#9499AB;}
.d2-1194282146 .stroke-N4{stroke:#CFD2DD;}
.d2-1194282146 .stroke-N5{stroke:#DEE1EB;}
.d2-1194282146 .stroke-N6{stroke:#EEF1F8;}
.d2-1194282146 .stroke-N7{stroke:#FFFFFF;}
.d2-1194282146 .stroke-B1{stroke:#0D32B2;}
.d2-1194282146 .stroke-B2{stroke:#0D32B2;}
.d2-1194282146 .stroke-B3{stroke:#E3E9FD;}
.d2-1194282146 .stroke-B4{stroke:#E3E9FD;}
.d2-1194282146 .stroke-B5{stroke:#EDF0FD;}
.d2-1194282146 .stroke-B6{stroke:#F7F8FE;}
.d2-1194282146 .stroke-AA2{stroke:#4A6FF3;}
.d2-1194282146 .stroke-AA4{stroke:#EDF0FD;}
.d2-1194282146 .stroke-AA5{stroke:#F7F8FE;}
.d2-1194282146 .stroke-AB4{stroke:#EDF0FD;}
.d2-1194282146 .stroke-AB5{stroke:#F7F8FE;}
.d2-1194282146 .background-color-N1{background-color:#0A0F25;}
.d2-1194282146 .background-color-N2{background-color:#676C7E;}
.d2-1194282146 .background-color-N3{background-color:#9499AB;}
.d2-1194282146 .background-color-N4{background-color:#CFD2DD;}
.d2-1194282146 .background-color-N5{background-color:#DEE1EB;}
.d2-1194282146 .background-color-N6{background-color:#EEF1F8;}
.d2-1194282146 .background-color-N7{background-color:#FFFFFF;}
.d2-1194282146 .background-color-B1{background-color:#0D32B2;}
.d2-1194282146 .background-color-B2{background-color:#0D32B2;}
.d2-1194282146 .background-color-B3{background-color:#E3E9FD;}
.d2-1194282146 .background-color-B4{background-color:#E3E9FD;}
.d2-1194282146 .background-color-B5{background-color:#EDF0FD;}
.d2-1194282146 .background-color-B6{background-color:#F7F8FE;}
.d2-1194282146 .background-color-AA2{background-color:#4A6FF3;}
.d2-1194282146 .background-color-AA4{background-color:#EDF0FD;}
.d2-1194282146 .background-color-AA5{background-color:#F7F8FE;}
.d2-1194282146 .background-color-AB4{background-color:#EDF0FD;}
.d2-1194282146 .background-color-AB5{background-color:#F7F8FE;}
.d2-1194282146 .color-N1{color:#0A0F25;}
.d2-1194282146 .color-N2{color:#676C7E;}
.d2-1194282146 .color-N3{color:#9499AB;}
.d2-1194282146 .color-N4{color:#CFD2DD;}
.d2-1194282146 .color-N5{color:#DEE1EB;}
.d2-1194282146 .color-N6{color:#EEF1F8;}
.d2-1194282146 .color-N7{color:#FFFFFF;}
.d2-1194282146 .color-B1{color:#0D32B2;}
.d2-1194282146 .color-B2{color:#0D32B2;}
.d2-1194282146 .color-B3{color:#E3E9FD;}
.d2-1194282146 .color-B4{color:#E3E9FD;}
.d2-1194282146 .color-B5{color:#EDF0FD;}
.d2-1194282146 .color-B6{color:#F7F8FE;}
.d2-1194282146 .color-AA2{color:#4A6FF3;}
.d2-1194282146 .color-AA4{color:#EDF0FD;}
.d2-1194282146 .color-AA5{color:#F7F8FE;}
.d2-1194282146 .color-AB4{color:#EDF0FD;}
.d2-1194282146 .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-1194282146);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-1194282146);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-1194282146);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-1194282146);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-1194282146);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-1194282146);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-1194282146);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-1194282146);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-1194282146);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-1194282146);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-1194282146);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-1194282146);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-1194282146);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-1194282146);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-1194282146);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-1194282146);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-1194282146);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-1194282146);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="Y3Vyc29y"><g class="shape" ><rect x="43.000000" y="20.000000" width="746.000000" height="810.000000" stroke="#c8d8f0" fill="#1a1e24" style="stroke-width:2;" /></g><text x="416.000000" y="-21.000000" fill="#c8d0e0" class="text" style="text-anchor:middle;font-size:28px"><tspan x="416.000000" dy="0.000000">Cursor States (D-056)</tspan><tspan x="416.000000" dy="32.000000">(insert&#39;s own interface element · z-layer 7)</tspan></text></g><g class="Y3Vyc29yX3J1bGVz"><g class="shape" ><rect x="839.000000" y="636.000000" width="1515.000000" height="186.000000" stroke="#333340" fill="#1a1e24" style="stroke-width:2;" /></g><text x="1596.500000" y="623.000000" fill="#c8d0e0" class="text" style="text-anchor:middle;font-size:28px">Cursor Rules</text></g><g class="ZW50aXR5X2xpc3Q="><g class="shape" ><rect x="2394.000000" y="672.000000" width="1359.000000" height="427.000000" stroke="#c8d8f0" fill="#1a1e24" style="stroke-width:2;" /></g><text x="3073.500000" y="631.000000" fill="#c8d0e0" class="text" style="text-anchor:middle;font-size:28px"><tspan x="3073.500000" dy="0.000000">Entity Interaction List (D-057)</tspan><tspan x="3073.500000" dy="32.000000">(left-click on entity)</tspan></text></g><g class="d29ybGRfbWVudQ=="><g class="shape" ><rect x="1688.000000" y="321.000000" width="1360.000000" height="142.000000" stroke="#c8d8f0" fill="#1a1e24" style="stroke-width:2;" /></g><text x="2368.000000" y="280.000000" fill="#c8d0e0" class="text" style="text-anchor:middle;font-size:28px"><tspan x="2368.000000" dy="0.000000">World Radial Menu (D-058)</tspan><tspan x="2368.000000" dy="32.000000">(right-click)</tspan></text></g><g class="Y3Vyc29yLmRlZmF1bHRfY3Vyc29y"><g class="shape" ><rect x="523.000000" y="50.000000" width="236.000000" height="98.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="641.000000" y="88.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="641.000000" dy="0.000000">Default</tspan><tspan x="641.000000" dy="17.666667">4 thin inward ticks + bloom</tspan><tspan x="641.000000" dy="17.666667">White-blue · barely visible</tspan></text></g><g class="Y3Vyc29yLmVudGl0eV9ob3Zlcg=="><g class="shape" ><rect x="103.000000" y="335.000000" width="341.000000" height="114.000000" stroke="#c8d8f0" fill="#2a3040" style="stroke-width:2;" /></g><text x="273.500000" y="373.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="273.500000" dy="0.000000">Entity Hover</tspan><tspan x="273.500000" dy="17.250000">Ticks expand outward (150ms)</tspan><tspan x="273.500000" dy="17.250000">Corner brackets · D-033 relationship color</tspan><tspan x="273.500000" dy="17.250000">Verb tooltip in insert styling</tspan></text></g><g class="Y3Vyc29yLm9iamVjdF9ob3Zlcg=="><g class="shape" ><rect x="504.000000" y="343.000000" width="254.000000" height="98.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="631.000000" y="381.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="631.000000" dy="0.000000">Object Hover</tspan><tspan x="631.000000" dy="17.666667">Ticks rotate 45° → X-shape</tspan><tspan x="631.000000" dy="17.666667">Muted grey (amber if flagged)</tspan></text></g><g class="Y3Vyc29yLndlYXBvbl9haW0="><g class="shape" ><rect x="73.000000" y="686.000000" width="274.000000" height="114.000000" stroke="#c8d8f0" fill="#2a3040" style="stroke-width:2;" /></g><text x="210.000000" y="724.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="210.000000" dy="0.000000">Weapon Aim</tspan><tspan x="210.000000" dy="17.250000">Ticks extend · center gap widens</tspan><tspan x="210.000000" dy="17.250000">Lines 1 to 2px · warm white</tspan><tspan x="210.000000" dy="17.250000">NO bloom · D-033 tint on target</tspan></text></g><g class="Y3Vyc29yX3J1bGVzLmxvc190cmlnZ2Vy"><g class="shape" ><rect x="869.000000" y="710.000000" width="297.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="1017.500000" y="748.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Changes on LOS · not just proximity</text></g><g class="Y3Vyc29yX3J1bGVzLnJhbmdl"><g class="shape" ><rect x="1226.000000" y="710.000000" width="298.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="1375.000000" y="748.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Interaction range ~2 sim tiles (= 1m)</text></g><g class="Y3Vyc29yX3J1bGVzLndlYXBvbl9zdXBwcmVzcw=="><g class="shape" ><rect x="1584.000000" y="702.000000" width="373.000000" height="82.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="1770.500000" y="740.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="1770.500000" dy="0.000000">Weapon mode suppresses interaction prompts</tspan><tspan x="1770.500000" dy="18.500000">(unless Shift held)</tspan></text></g><g class="Y3Vyc29yX3J1bGVzLmluc2VydF9vZmY="><g class="shape" ><rect x="2017.000000" y="694.000000" width="307.000000" height="98.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;stroke-dasharray:8.000000,7.892511;" /></g><text x="2170.500000" y="732.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="2170.500000" dy="0.000000">Insert OFF: cursor shape still changes</tspan><tspan x="2170.500000" dy="17.666667">(body reacts) · verb labels hidden</tspan><tspan x="2170.500000" dy="17.666667">(insert doesn&#39;t process targets)</tspan></text></g><g class="ZW50aXR5X2xpc3QuZm9ybWF0"><g class="shape" ><rect x="2424.000000" y="971.000000" width="237.000000" height="98.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="2542.500000" y="1009.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="2542.500000" dy="0.000000">Compact vertical list</tspan><tspan x="2542.500000" dy="17.666667">anchored to entity position</tspan><tspan x="2542.500000" dy="17.666667">2-4 options max</tspan></text></g><g class="ZW50aXR5X2xpc3QubmV3X2dsb3c="><g class="shape" ><rect x="2721.000000" y="979.000000" width="327.000000" height="82.000000" stroke="#c8d8f0" fill="#2a3040" style="stroke-width:2;" /></g><text x="2884.500000" y="1017.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="2884.500000" dy="0.000000">New options: gradient glow background</tspan><tspan x="2884.500000" dy="18.500000">(knowledge change signal)</tspan></text></g><g class="ZW50aXR5X2xpc3Quel9sYXllcg=="><g class="shape" ><rect x="3108.000000" y="979.000000" width="279.000000" height="82.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="3247.500000" y="1017.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="3247.500000" dy="0.000000">Labels on z-layer 6</tspan><tspan x="3247.500000" dy="18.500000">(insert data — hidden if insert off)</tspan></text></g><g class="ZW50aXR5X2xpc3QucGhhc2Ux"><g class="shape" ><rect x="3435.000000" y="702.000000" width="288.000000" height="82.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="3579.000000" y="740.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="3579.000000" dy="0.000000">Phase 1 (simulation): max verb set</tspan><tspan x="3579.000000" dy="18.500000">from ObjectType component</tspan></text></g><g class="ZW50aXR5X2xpc3QucGhhc2Uy"><g class="shape" ><rect x="3447.000000" y="979.000000" width="264.000000" height="82.000000" stroke="#c8d8f0" fill="#2a3040" style="stroke-width:2;" /></g><text x="3579.000000" y="1017.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="3579.000000" dy="0.000000">Phase 2 (observer): filter by KG</tspan><tspan x="3579.000000" dy="18.500000">archetype variation · POI flip</tspan></text></g><g class="d29ybGRfbWVudS52MDFfc3Bva2Vz"><g class="shape" ><rect x="1718.000000" y="351.000000" width="254.000000" height="82.000000" stroke="#c8d8f0" fill="#2a3040" style="stroke-width:2;" /></g><text x="1845.000000" y="389.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="1845.000000" dy="0.000000">v0.1: 2 spokes</tspan><tspan x="1845.000000" dy="18.500000">Observe (eye) · Insert (phone)</tspan></text></g><g class="d29ybGRfbWVudS5mdXR1cmVfc3Bva2Vz"><g class="shape" ><rect x="2032.000000" y="351.000000" width="260.000000" height="82.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;stroke-dasharray:8.000000,7.892511;" /></g><text x="2162.000000" y="389.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="2162.000000" dy="0.000000">Future: up to 6 spokes</tspan><tspan x="2162.000000" dy="18.500000">+ Comms (signal) · Wait (clock)</tspan></text></g><g class="d29ybGRfbWVudS5pbnB1dA=="><g class="shape" ><rect x="2352.000000" y="351.000000" width="236.000000" height="82.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="2470.000000" y="389.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="2470.000000" dy="0.000000">Drag-release (power users)</tspan><tspan x="2470.000000" dy="18.500000">Click-click (newcomers)</tspan></text></g><g class="d29ybGRfbWVudS53aHlfcmFkaWFs"><g class="shape" ><rect x="2648.000000" y="351.000000" width="370.000000" height="82.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="2833.000000" y="389.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="2833.000000" dy="0.000000">Fixed categories → spatial memory</tspan><tspan x="2833.000000" dy="18.500000">(unlike entity verbs which vary by knowledge)</tspan></text></g><g class="Y3Vyc29yLihkZWZhdWx0X2N1cnNvciAtJmd0OyBlbnRpdHlfaG92ZXIpWzBd"><marker id="mk-d2-1194282146-1961329247" 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="#c8d8f0" class="connection" stroke-width="2" /> </marker><path d="M 520.845002 137.336089 C 323.149994 200.544998 273.250000 295.000000 273.250000 331.000000" stroke="#c8d8f0" fill="none" class="connection" style="stroke-width:2;" marker-end="url(#mk-d2-1194282146-1961329247)" mask="url(#d2-1194282146)" /><text x="353.500000" y="188.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="353.500000" dy="0.000000">entity in LOS</tspan><tspan x="353.500000" dy="18.500000">+ proximity</tspan></text></g><g class="Y3Vyc29yLihkZWZhdWx0X2N1cnNvciAtJmd0OyBvYmplY3RfaG92ZXIpWzBd"><marker id="mk-d2-1194282146-3962577600" 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="#333340" class="connection" stroke-width="2" /> </marker><path d="M 636.576741 149.492481 C 631.950012 202.699997 630.750000 296.600006 630.750000 339.000000" stroke="#333340" fill="none" class="connection" style="stroke-width:2;" marker-end="url(#mk-d2-1194282146-3962577600)" mask="url(#d2-1194282146)" /><text x="631.000000" y="243.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="631.000000" dy="0.000000">object in LOS</tspan><tspan x="631.000000" dy="18.500000">+ proximity</tspan></text></g><g class="Y3Vyc29yLihlbnRpdHlfaG92ZXIgLSZndDsgd2VhcG9uX2FpbSlbMF0="><path d="M 195.405816 450.207715 C 144.199997 489.000000 131.000000 512.700012 131.000000 533.250000 C 131.000000 553.799988 138.399994 646.000000 165.620628 682.784633" stroke="#c8d8f0" fill="none" class="connection" style="stroke-width:2;" marker-end="url(#mk-d2-1194282146-1961329247)" mask="url(#d2-1194282146)" /><text x="131.000000" y="563.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">weapon selected</text></g><g class="Y3Vyc29yLih3ZWFwb25fYWltIC0mZ3Q7IGVudGl0eV9ob3ZlcilbMF0="><path d="M 253.189686 684.392316 C 281.600006 646.000000 289.000000 622.299988 289.000000 601.750000 C 289.000000 581.200012 287.600006 489.000000 282.554592 452.961367" stroke="#333340" fill="none" class="connection" style="stroke-width:2;stroke-dasharray:8.000000,7.892511;" marker-end="url(#mk-d2-1194282146-3962577600)" mask="url(#d2-1194282146)" /><text x="289.000000" y="578.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">weapon deselected</text></g><g class="KGN1cnNvci5lbnRpdHlfaG92ZXIgLSZndDsgZW50aXR5X2xpc3QpWzBd"><path d="M 417.856953 449.742781 C 516.000000 489.000000 541.000000 512.700012 541.000000 533.250000 C 541.000000 553.799988 911.599976 649.000000 2390.002459 700.859773" stroke="#c8d8f0" fill="none" class="connection" style="stroke-width:2;" marker-end="url(#mk-d2-1194282146-1961329247)" mask="url(#d2-1194282146)" /><text x="1370.500000" y="663.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="1370.500000" dy="0.000000">left-click</tspan><tspan x="1370.500000" dy="18.500000">→ shows interaction list</tspan></text></g><g class="KGN1cnNvci5kZWZhdWx0X2N1cnNvciAtJmd0OyB3b3JsZF9tZW51KVswXQ=="><path d="M 683.549768 149.020067 C 729.450012 202.699997 930.650024 296.600006 1684.257481 342.755474" stroke="#c8d8f0" fill="none" class="connection" style="stroke-width:2;" marker-end="url(#mk-d2-1194282146-1961329247)" mask="url(#d2-1194282146)" /><text x="1162.500000" y="308.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px"><tspan x="1162.500000" dy="0.000000">right-click</tspan><tspan x="1162.500000" dy="18.500000">→ opens radial</tspan></text></g><g class="KGN1cnNvciAtJmd0OyBjdXJzb3JfcnVsZXMpWzBd"><marker id="mk-d2-1194282146-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 791.498402 665.079936 L 835.503196 666.840128" stroke="#0D32B2" fill="none" class="connection stroke-B1" style="stroke-width:2;" marker-end="url(#mk-d2-1194282146-3488378134)" mask="url(#d2-1194282146)" /></g><g class="ZW50aXR5X2xpc3QuKHBoYXNlMSAtJmd0OyBwaGFzZTIpWzBd"><path d="M 3578.750000 786.000000 C 3578.750000 836.799988 3578.750000 924.299988 3578.750000 975.500000" stroke="#c8d8f0" fill="none" class="connection" style="stroke-width:2;" marker-end="url(#mk-d2-1194282146-1961329247)" mask="url(#d2-1194282146)" /><text x="3579.000000" y="887.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">filtered</text></g><mask id="d2-1194282146" maskUnits="userSpaceOnUse" x="-58" y="-149" width="3912" height="1349">
<rect x="-58" y="-149" width="3912" height="1349" fill="white"></rect>
<rect x="310.000000" y="172.000000" width="87" height="37" fill="black"></rect>
<rect x="586.000000" y="227.000000" width="90" height="37" fill="black"></rect>
<rect x="74.000000" y="547.000000" width="114" height="21" fill="black"></rect>
<rect x="224.000000" y="562.000000" width="130" height="21" fill="black"></rect>
<rect x="1292.000000" y="647.000000" width="157" height="37" fill="black"></rect>
<rect x="1113.000000" y="292.000000" width="99" height="37" fill="black"></rect>
<rect x="3553.000000" y="871.000000" width="52" height="21" fill="black"></rect>
</mask></svg></svg>