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>
114 lines
38 KiB
XML
114 lines
38 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 1969 2159"><svg class="d2-721050231 d2-svg" width="1969" height="2159" viewBox="-101 -85 1969 2159"><rect x="-101.000000" y="-85.000000" width="1969.000000" height="2159.000000" rx="0.000000" fill="#FFFFFF" class=" fill-N7" stroke-width="0" /><style type="text/css"><![CDATA[
|
||
.d2-721050231 .text {
|
||
font-family: "d2-721050231-font-regular";
|
||
}
|
||
@font-face {
|
||
font-family: d2-721050231-font-regular;
|
||
src: url("data:application/font-woff;base64,d09GRgABAAAAABPgAAoAAAAAHawAAguFAAAAAAAAAAAAAAAAAAAAAAAAAABPUy8yAAAA9AAAAGAAAABgXd/Vo2NtYXAAAAFUAAAA3QAAAS4HbSmSZ2x5ZgAAAjQAAAynAAARXN86NZZoZWFkAAAO3AAAADYAAAA2G4Ue32hoZWEAAA8UAAAAJAAAACQKhAX9aG10eAAADzgAAADMAAAA7G6/C5dsb2NhAAAQBAAAAHgAAAB4grCHem1heHAAABB8AAAAIAAAACAAUwD2bmFtZQAAEJwAAAMjAAAIFAbDVU1wb3N0AAATwAAAAB0AAAAg/9EAMgADAgkBkAAFAAACigJYAAAASwKKAlgAAAFeADIBIwAAAgsFAwMEAwICBGAAAvcAAAADAAAAAAAAAABBREJPAEAAIP//Au7/BgAAA9gBESAAAZ8AAAAAAeYClAAAACAAA3icjM7LLqMBHMbh55t2ZjrTzvno/LVOrao6VbttLEQkIiJsWYqN2LkNF2GLLeJwFXYSd8HqLz434F3/kvdBIidBST6poCqVV5CqqWtoaunoWrJsxZoNW3btO3RXPopAqqpuUtO0tq7FrFy1btOOPQevZTwoKnrvQzzFY9zGTVzHVVzGRZzHWZzGSWzfH2eWty0xZ96CGbNaaiYyRcNUJnknJ//y5qOCTz4rKvniq2++++GnX377469//uvRq0+/AYOGpMoqho0YNWZcVVuHZwAAAP//AQAA//8FMTEJAAAAeJyMV2twG9d1vvdiySUJ8LEElguAAIHdJbF4EiAWiwUJECBBAAQpkCABURQpkdSDEinJUi0qlitbQ7W1bGls10Uad+KRZElpPNOorRt5MkPXo2kztWKVbmrnMamdlzRufjCe2ElqlmlqxVx0dgFBlFLP5A+Xg7n3nHu+7zvfuRdUgSkAkIBeBCpQCxpBMyAB4Ama6KA5jsVFXhRZSiVykMCn4E+lAoRDASwYxLriH8VPnTkDdy6jFzcf6Tm7sPDW7OOPS3++9qHkh+9+CBBQAYDMqABqAQGAFuc5m41jq6tVWl7Lciz+bctblmZrE9Zo/fGd2TtT0V/H4B/Nz4tHu7uPStOosPno6ioAAEAQKG6gVnQJmAGoYmw2IRAM8v4WCrfZWKa6mtS1tPD+oEhVV8Nc7k+3Zc7mI7tNHmPcGZ3h/bui3mFLJ7dPM/7SkcMv5bqsQRPTfzKXOxW3MwGPHwCAwDQAKIAKoEY+J0/w/hZSV81yvD8oBGwsO/3KS5df/quJbSdOnDixDRWuXXr5HxLPnT79tHK2aQDgHVQAagUzkiZ5kiVpcho+If3o009hFyqk3h381WBl7Q8UPO6vJZSVd++iQupOSvpxpV4bugSsn1evXK7ACjxRXQ1373gmM3p+MjFj6jTE/fF9wvFDbJ/2ufcth8ol821BY3v/ydzpL5LNf5eUPqZd5bOAV1FB5ogneGI6LwNe+h3FUAFoSr/zkMe1rAonp/MqSMy+88uZbx1HBel1OHRXOgwnnv5uORbyoALQKnu0FG+zCQRPsCqObWkhiekdvxzEVHh2x68GMQxHBWn+vP9IAOY3H4Uvn+taDEjXAFJqPoAugcaHWJapqOb8QYUKRiEbZnJnBgfP5PLL6fRyPjzpO7xz52HfTs32C4cOfXl8/MuHDl3YPjRwKvfECy88kTs1ACocqxWedGWOFZJZgqjQfGP4WPSZRx7ZtyM/uWMWFdon0gvz0mcw3Z8aFCsxrKgAGgC1JYaMz9Yw7wwshscSfzN7+fFjI7ncyDFUYMcTmRlC+hkkpY/gVKyvP1DStbO4AX+NLgGPUjEnKjoWAjYbx3WiB1mX66aoNiSjAZuSJ11+do7vT5u7LLOWXocwGw7Ps562oU5xgPYbZ2y97cF5jeDu6fCEfYzd1OCod8Z9/qzH0x400wG3xWFU25s8/V2BCT+AwAQA/AwVAC5XxQo0yRI/uwU/uIWGU6nNldJZZQBUqADqAeBVvLalheKDQVHLq77//alDza1arNlEHJr4LipIl3sO9PQc6IH7FD1RAKC7qADoh/ZticCqSr6Aq/76uR3JWl0tptard2V2afQarLa5Ljl2fn5/bWMNhjfX7EUF6aJwWBCOBOAB6WLgSOm/zUfhc7Yhm23IJj1W0hJ8Da4DI2gHgGJkKYkBBUacU0AlCVZOyMltpDTUm73jf3GRcNmdw2Yrs79naiyBq5jxFjbKntrr1wz1j00QlhBr1XW3OI7ukt7rMTnjjOVcY8Tr6AAI5Iob8HdoFWjLHcuxOEvwJF7KVdJvSb442dICHcyQVYXHc4jO2uf2hedSkWw4aeljrTENbfaj1Td3mrlnjudPRpML02P7GWvRRJU46CxuwK/DdZmvz/cF2Qab+xYj/UeivqTBSXrN7iSXH2B6WtrpMU1kaSy3FGGooFbvnQjlF8w60UzL2vYWN+CP7tVQwkwJzgn8PbBEoZLof3cdC+8VnVErlk/gKlPG0BexdLdxMVtK8/Sp7IlomzF/YzPUbXIkByQT5c2HJvcDpJz/3+A60APLAxXITURXTFxFK1BBqv9wNDYvzhyASPrHqskUG241W7Lfhlismx/X9C5lx5aipxfrDbUju0kiqGuDtuGRrIJTGwAwhn5QmmOsIAqBMk4sQyqeuyceTw5RzqbmVlNiYQF+NVo1MjxZi8c0syMD0gwAQAU8RSv8GK6DLtALRioqEmxbPkpQnmRLHsUyXImDMucq/33L0pa9gbGV1vzP1KM2utnAaPWcf3uXrr3+2jxB+cb8HFPf3NE1OzEROZZx9kZcrkhvMLWd925voJuM+m0fJGKW7hZMbTdZOusxXcIljDrxqliTYAlkHIS6VUe1ib2ejBe+FhOESEQQYtL5XhtjxDCtk+Q6FWxyAMD30WrZBe9plGCJkj6JXE7FjvhHBnNuX0e4A62+OU97985I/w4diaitQ7oKikWQBAB8A60gG+gGAFSDntOgEnsNrVZmh1aeHRxO5sZV39n11TemX9iFVqU2CG5Kt39x+E/Ke4ob4IdoFTSWMCZ4oiLja52OXEMthuPqmhZNt4AObr6oJSCMYlgpF/oEriu+QvCylchsPFANXvnmErjKmnGFYo22Ufe2oZy7M5jIub3BBFxLsd4utyNwr8Rt0tXy5x5WcL2MVTnHVqwSuIodrYClBHsAq7Lm/wuug0bQ+v/OtYpGYGN4IRZbCEcOxmIHI7GRkVh0dLTcr5Gl3NhSJLGQ3764uD2/ABTP4eHv4Hq5X++fTlGijaNI7VbPkU9KZ12z+8JzIWaAQY8rlhNrp6PvoG+ETPZzx3Mno23GiVdg9UOeI2MwC9fLN6NSlrLjlAAwpB1mqkmja7QMGODazs5gXRrD/FGpfHczFTfgU3AdOBV+t844ZcQ9NOFKA+57gVnWYU24fD6ab2XizqmsZ9RkNwStna42Xyub8DiyGs4kGmiPxcBQdfW04AhnrVRAq3eaKDOprqfFTi5uV/LrixswiY7Jc0jRFyuIIq+YQEVnH432pjN1yaeeop31bZomnVcznYb10arz5wekdU9XLRbF1UqsbcUN+C5ck/XwgFaJskV+MJLOu3y2MCPjwmQ0e2dgQHo/EeVccEoyZuw+AOXegP8K135/jt74+sRuNaXG1FTd7vG/h2vSx+1plk23Q51klOsAAK3AtT9sjl45tz1d04BjNU2128YytUQNVtOID47+2XyqtrEWq2mqS8A16efMAMMMMNCw5T8jrGITHR1JVvoMQNAAALwO14ABAF7keKqcSuRxii3f5XG84cqXpvrV+npM3aIO7/jS5anBemMDVq/XxKUPj2idOp1Te+ST3xxvcZOkizqu4KgpehUMWrdqQhQfgKMBTTeZNU01ulpHsFF9c2K/2qDG1Lq6ybHXCW/ye9VYP6oKe9rhz6X/tqQZOm2F9ZvrvoxH7g13cQO+hZ4F6nusB8qtsbXfPt1z9OieuaNH50KJRCiUTGpevfqVr33tK1dfjZ95/vknn3z++TPKWbMAwNfRsuJp8igUgkFRNs7sX37B3W+MnU3A94QaqmnzVqKk93YA4LfQs3JtvBBF5RbkKs0pGy5P2vc8k4r02hMmr31XdOrgwGMZY8jwRteeLz7GiymP1esWFiYiT57LImwQQGAsbsB/Rs/+fg+xQuVifD+F3O9ypo8zB61O82ioZ5ibyiSyTJi3D5jdHdOh/CN9gZ6x0JxGZINtnX2CrdsaswZpb7DdHGA9EyM9wzqsPh8P5dwAyX0P/wMtg1pZ9SIvTz+Zdq1AC1DGgSUXVzGIaYwNvPSfkNg9Obn+hjFtoNyUFLgehC9JX4hfl3ExFDfgv6Dl8u3ifg3K0bU0yeL3bfEXmXnabs6EwuPDUdprdpMw9luC6jSLU8HefZogHTR5sgPxYZ3WBPnBf9I0uHYmk3v9Jfzdcn+hZaW/okikBZpsUOGvVXMjMelNeLE7bddhf/zNa5ODfPrpcxdKs95R3ICr6FlgAW55olFll94y5hXmyJI7qba+RVRlM1PG+t3IrMiKbWzQl+Pze012ndlv5WcIK9sjuMOORFUo6ct22visxjPmd/Z3NWGGtL9r2LFnmA57G7Emd6/LO+qBi+Y+1hsPeW1+VroV63IEbM2GlFtIlurzFneAW2AJNANAccEgV82wWwQ+oHP5IKpGerbdYO1I/a1PG7NDs6nVEvD07VX2O8BPYCM0yu8+UeBJx9pPYrHSHB6DteinMm5U6ZJDKTVR70VTqSjf093dc/3A7bNn78zr524vLd2eAxDYimPgdnkPp6Ai80rqqqeU9Xw0lbpeXq2fv3P27G0AQV1xDxxHt+T8FORhHVRHpN9cVR387EKpPgYswu8gt/yeVp64gmLW5A9XVvpXVhZvRm/ejN6U1/nBMvwmIpV1nMiJlEjhFM7Nui9edF+8IP+9sOy5ctlz5Yrn8hXPVSU2V/wEZREuv7+rOFkanAhJGHO9LQ3DlbddsKmx80biRqf0W6wy+8ArcO3eGzmXg2uyFxffRsNARCtybmIL+HqLRa+3WNCw2aBva9MbzOD/AAAA//8BAAD///vlvTgAAAEAAAACC4XfyW1JXw889QADA+gAAAAA2F2goQAAAADdZi82/jr+2whvA8gAAAADAAIAAAAAAAAAAQAAA9j+7wAACJj+Ov46CG8AAQAAAAAAAAAAAAAAAAAAADt4nCzKzypEYRyH8ef7PQslEQsOTdOJiY4/c0pvJFnJykL9dl5lK7kQK3t792E9NjbuA+9mGqsRze7p6eMnrhmBGyqfknxH9hJZn2TfkzRH9jnZj2Q/k3xE9gnZq+y6pucKqhXWNCG5JTRi6D06fTPUgL4mHLghGHOhL4IpUZ0R3iLc/7ehG0Iv9BTUbrjUBwt+p9Yri3+twr4KVyoMVNhQYVmF9dlv+aHTMa06Qh3bumVehU0VDv3ADmMCpm+/AAAA//8BAAD//5TNLKUAAAAsACwAUACAAJ4AtADIAPoBBgEgAUIBcgGUAbwCAAISAi4CaAKgAtQDAgM0A2gDigP2BBgEJAQ+BFoEjASuBNoFDgUuBW4FlAW2BdIGDAY4BmgGjgamBtAHDgcyB2YHgAfWB/YIAggcCDYIRghaCHQIjAiYCK4AAQAAADsAjAAMAGYABwABAAAAAAAAAAAAAAAAAAQAA3icnJTdThtXFIU/B9ttVDUXFYrIDTqXbZWM3QiiBK5MCYpVhFOP0x+pqjR4xj9iPDPyDFCqPkCv+xZ9i1z1OfoQVa+rs7wNNqoUgRCwzpy991lnr7UPsMm/bFCrPwT+av5guMZ2c8/wAx41nxre4Ljxt+H6SkyDuPGb4SZfNvqGP+J9/Q/DH7NT/9nwQ7bqR4Y/4Xl90/CnG45/DD9ih/cLXIOX/G64xhaF4Qds8pPhDR5jNWt1HtM23OAztg032QYGTKlImZIxxjFiyphz5iSUhCTMmTIiIcbRpUNKpa8ZkZBj/L9fI0Iq5kSqOKHCkRKSElEysYq/KivnrU4caTW3vQ4VEyJOlXFGRIYjZ0xORsKZ6lRUFOzRokXJUHwLKkoCSqakBOTMGdOixxHHDJgwpcRxpEqeWUjOiIpLIp3vLMJ3ZkhCRmmszsmIxdOJX6LsLsc4ehSKXa18vFbhKY7vlO255Yr9ikC/boXZ+rlLNhEX6meqrqTauZSCE+36czt8K1yxh7tXf9aZfLhHsf5XqnzKufSPpVQmJhnObdEhlINC9wTHgdZdQnXke7oMeEOPdwy07tCnT4cTBnR5rdwefRxf0+OEQ2V0hRd7R3LMCT/i+IauYnztxPqzUCzhFwpzdymOc91jRqGee+aB7prohndX2M9QvuaOUjlDzZGPdNIv05xFjM0VhRjO1MulN0rrX2yOmOkuXtubfT8NFzZ7yym+ItcMe7cuOHnlFow+pGpwyzOX+gmIiMk5VcSQnBktKq7E+y0R56Q4DtW9N5qSis51jj/nSi5JmIlBl0x15hT6G5lvQuM+XPO9s7ckVr5nenZ9q/uc4tSrG43eqXvLvdC6nKwo0DJV8xU3DcU1M+8nmqlV/qFyS71uOc/ok0j1VDe4/Q48J6DNDrvsM9E5Q+1c2BvR1jvR5hX76sEZiaJGcnViFXYJeMEuu7zixVrNDocc0GP/DhwXWT0OeH1rZ12nZRVndf4Um7b4Op5dr17eW6/P7+DLLzRRNy9jX9r4bl9YtRv/nxAx81zc1uqd3BOC/wAAAP//AQAA//8HW0wwAHicYmBmAIP/5xiMGLAAAAAAAP//AQAA//8vAQIDAAAA");
|
||
}
|
||
.d2-721050231 .text-bold {
|
||
font-family: "d2-721050231-font-bold";
|
||
}
|
||
@font-face {
|
||
font-family: d2-721050231-font-bold;
|
||
src: url("data:application/font-woff;base64,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");
|
||
}
|
||
.d2-721050231 .text-italic {
|
||
font-family: "d2-721050231-font-italic";
|
||
}
|
||
@font-face {
|
||
font-family: d2-721050231-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-721050231 .fill-N1{fill:#0A0F25;}
|
||
.d2-721050231 .fill-N2{fill:#676C7E;}
|
||
.d2-721050231 .fill-N3{fill:#9499AB;}
|
||
.d2-721050231 .fill-N4{fill:#CFD2DD;}
|
||
.d2-721050231 .fill-N5{fill:#DEE1EB;}
|
||
.d2-721050231 .fill-N6{fill:#EEF1F8;}
|
||
.d2-721050231 .fill-N7{fill:#FFFFFF;}
|
||
.d2-721050231 .fill-B1{fill:#0D32B2;}
|
||
.d2-721050231 .fill-B2{fill:#0D32B2;}
|
||
.d2-721050231 .fill-B3{fill:#E3E9FD;}
|
||
.d2-721050231 .fill-B4{fill:#E3E9FD;}
|
||
.d2-721050231 .fill-B5{fill:#EDF0FD;}
|
||
.d2-721050231 .fill-B6{fill:#F7F8FE;}
|
||
.d2-721050231 .fill-AA2{fill:#4A6FF3;}
|
||
.d2-721050231 .fill-AA4{fill:#EDF0FD;}
|
||
.d2-721050231 .fill-AA5{fill:#F7F8FE;}
|
||
.d2-721050231 .fill-AB4{fill:#EDF0FD;}
|
||
.d2-721050231 .fill-AB5{fill:#F7F8FE;}
|
||
.d2-721050231 .stroke-N1{stroke:#0A0F25;}
|
||
.d2-721050231 .stroke-N2{stroke:#676C7E;}
|
||
.d2-721050231 .stroke-N3{stroke:#9499AB;}
|
||
.d2-721050231 .stroke-N4{stroke:#CFD2DD;}
|
||
.d2-721050231 .stroke-N5{stroke:#DEE1EB;}
|
||
.d2-721050231 .stroke-N6{stroke:#EEF1F8;}
|
||
.d2-721050231 .stroke-N7{stroke:#FFFFFF;}
|
||
.d2-721050231 .stroke-B1{stroke:#0D32B2;}
|
||
.d2-721050231 .stroke-B2{stroke:#0D32B2;}
|
||
.d2-721050231 .stroke-B3{stroke:#E3E9FD;}
|
||
.d2-721050231 .stroke-B4{stroke:#E3E9FD;}
|
||
.d2-721050231 .stroke-B5{stroke:#EDF0FD;}
|
||
.d2-721050231 .stroke-B6{stroke:#F7F8FE;}
|
||
.d2-721050231 .stroke-AA2{stroke:#4A6FF3;}
|
||
.d2-721050231 .stroke-AA4{stroke:#EDF0FD;}
|
||
.d2-721050231 .stroke-AA5{stroke:#F7F8FE;}
|
||
.d2-721050231 .stroke-AB4{stroke:#EDF0FD;}
|
||
.d2-721050231 .stroke-AB5{stroke:#F7F8FE;}
|
||
.d2-721050231 .background-color-N1{background-color:#0A0F25;}
|
||
.d2-721050231 .background-color-N2{background-color:#676C7E;}
|
||
.d2-721050231 .background-color-N3{background-color:#9499AB;}
|
||
.d2-721050231 .background-color-N4{background-color:#CFD2DD;}
|
||
.d2-721050231 .background-color-N5{background-color:#DEE1EB;}
|
||
.d2-721050231 .background-color-N6{background-color:#EEF1F8;}
|
||
.d2-721050231 .background-color-N7{background-color:#FFFFFF;}
|
||
.d2-721050231 .background-color-B1{background-color:#0D32B2;}
|
||
.d2-721050231 .background-color-B2{background-color:#0D32B2;}
|
||
.d2-721050231 .background-color-B3{background-color:#E3E9FD;}
|
||
.d2-721050231 .background-color-B4{background-color:#E3E9FD;}
|
||
.d2-721050231 .background-color-B5{background-color:#EDF0FD;}
|
||
.d2-721050231 .background-color-B6{background-color:#F7F8FE;}
|
||
.d2-721050231 .background-color-AA2{background-color:#4A6FF3;}
|
||
.d2-721050231 .background-color-AA4{background-color:#EDF0FD;}
|
||
.d2-721050231 .background-color-AA5{background-color:#F7F8FE;}
|
||
.d2-721050231 .background-color-AB4{background-color:#EDF0FD;}
|
||
.d2-721050231 .background-color-AB5{background-color:#F7F8FE;}
|
||
.d2-721050231 .color-N1{color:#0A0F25;}
|
||
.d2-721050231 .color-N2{color:#676C7E;}
|
||
.d2-721050231 .color-N3{color:#9499AB;}
|
||
.d2-721050231 .color-N4{color:#CFD2DD;}
|
||
.d2-721050231 .color-N5{color:#DEE1EB;}
|
||
.d2-721050231 .color-N6{color:#EEF1F8;}
|
||
.d2-721050231 .color-N7{color:#FFFFFF;}
|
||
.d2-721050231 .color-B1{color:#0D32B2;}
|
||
.d2-721050231 .color-B2{color:#0D32B2;}
|
||
.d2-721050231 .color-B3{color:#E3E9FD;}
|
||
.d2-721050231 .color-B4{color:#E3E9FD;}
|
||
.d2-721050231 .color-B5{color:#EDF0FD;}
|
||
.d2-721050231 .color-B6{color:#F7F8FE;}
|
||
.d2-721050231 .color-AA2{color:#4A6FF3;}
|
||
.d2-721050231 .color-AA4{color:#EDF0FD;}
|
||
.d2-721050231 .color-AA5{color:#F7F8FE;}
|
||
.d2-721050231 .color-AB4{color:#EDF0FD;}
|
||
.d2-721050231 .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-721050231);mix-blend-mode:lighten}.sketch-overlay-B2{fill:url(#streaks-darker-d2-721050231);mix-blend-mode:lighten}.sketch-overlay-B3{fill:url(#streaks-bright-d2-721050231);mix-blend-mode:darken}.sketch-overlay-B4{fill:url(#streaks-bright-d2-721050231);mix-blend-mode:darken}.sketch-overlay-B5{fill:url(#streaks-bright-d2-721050231);mix-blend-mode:darken}.sketch-overlay-B6{fill:url(#streaks-bright-d2-721050231);mix-blend-mode:darken}.sketch-overlay-AA2{fill:url(#streaks-dark-d2-721050231);mix-blend-mode:overlay}.sketch-overlay-AA4{fill:url(#streaks-bright-d2-721050231);mix-blend-mode:darken}.sketch-overlay-AA5{fill:url(#streaks-bright-d2-721050231);mix-blend-mode:darken}.sketch-overlay-AB4{fill:url(#streaks-bright-d2-721050231);mix-blend-mode:darken}.sketch-overlay-AB5{fill:url(#streaks-bright-d2-721050231);mix-blend-mode:darken}.sketch-overlay-N1{fill:url(#streaks-darker-d2-721050231);mix-blend-mode:lighten}.sketch-overlay-N2{fill:url(#streaks-dark-d2-721050231);mix-blend-mode:overlay}.sketch-overlay-N3{fill:url(#streaks-normal-d2-721050231);mix-blend-mode:color-burn}.sketch-overlay-N4{fill:url(#streaks-normal-d2-721050231);mix-blend-mode:color-burn}.sketch-overlay-N5{fill:url(#streaks-bright-d2-721050231);mix-blend-mode:darken}.sketch-overlay-N6{fill:url(#streaks-bright-d2-721050231);mix-blend-mode:darken}.sketch-overlay-N7{fill:url(#streaks-bright-d2-721050231);mix-blend-mode:darken}.light-code{display: block}.dark-code{display: none}]]></style><g class="bnBj"><g class="shape" ><path d="M 130 805 H 0 V 804 C 0 789 14 776 37 769 C 24 764 17 756 17 746 C 17 731 38 718 65 718 C 91 718 113 731 113 746 C 113 755 106 764 93 769 C 115 775 130 789 130 804 V 805 H 130 Z" stroke="#c8d8f0" fill="#2a3040" style="stroke-width:2;" /></g><text x="65.000000" y="826.000000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">NPC (generated)</text></g><g class="ZXNzZW50aWFs"><g class="shape" ><rect x="585.000000" y="1091.000000" width="263.000000" height="882.000000" stroke="#c8d8f0" fill="#1a1e24" style="stroke-width:2;" /></g><text x="716.500000" y="1078.000000" fill="#c8d0e0" class="text" style="text-anchor:middle;font-size:28px">7 Essential Axes</text></g><g class="c3VwcG9ydGluZw=="><g class="shape" ><rect x="584.000000" y="56.000000" width="266.000000" height="378.000000" stroke="#333340" fill="#1a1e24" style="stroke-width:2;" /></g><text x="717.000000" y="43.000000" fill="#c8d0e0" class="text" style="text-anchor:middle;font-size:28px">3 Supporting Axes</text></g><g class="Y29tYmF0X2NvbXA="><g class="shape" ><path d="M 1475 325 L 1590 325 L 1590 344 L 1705 344 L 1705 418 L 1475 418 Z" stroke="#c8d8f0" fill="#2a3040" style="stroke-width:2;stroke-dasharray:8.000000,7.892511;" /></g><text x="1590.000000" y="378.300000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="1590.000000" dy="0.000000">CombatCapability</tspan><tspan x="1590.000000" dy="18.500000">(optional ECS component)</tspan></text></g><g class="a2V5X2ludGVyYWN0aW9ucw=="><g class="shape" ><rect x="1447.000000" y="1217.000000" width="287.000000" height="630.000000" stroke="#333340" fill="#1a1e24" style="stroke-width:2;" /></g><text x="1590.500000" y="1204.000000" fill="#c8d0e0" class="text" style="text-anchor:middle;font-size:28px">Key Contradiction Interactions</text></g><g class="c29jaWFsX3NpdGU="><g class="shape" ><rect x="512.000000" y="548.000000" width="409.000000" height="426.000000" stroke="#c8d8f0" fill="#1a1e24" style="stroke-width:2;" /></g><text x="716.500000" y="507.000000" fill="#c8d0e0" class="text" style="text-anchor:middle;font-size:28px"><tspan x="716.500000" dy="0.000000">Social Site</tspan><tspan x="716.500000" dy="32.000000">(atomic Tier 2 template unit)</tspan></text></g><g class="ZXNzZW50aWFsLndhbnQ="><g class="shape" ><rect x="676.000000" y="1121.000000" width="82.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="717.000000" y="1159.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Want</text></g><g class="ZXNzZW50aWFsLnNlY3JldA=="><g class="shape" ><rect x="619.000000" y="1247.000000" width="195.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="716.500000" y="1285.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Secret / Vulnerability</text></g><g class="ZXNzZW50aWFsLnJlbGF0aW9uc2hpcHM="><g class="shape" ><rect x="628.000000" y="1373.000000" width="177.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="716.500000" y="1411.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Relationships (1-3)</text></g><g class="ZXNzZW50aWFsLnRvbGVyYW5jZQ=="><g class="shape" ><rect x="622.000000" y="1499.000000" width="190.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="717.000000" y="1537.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Tolerance Threshold</text></g><g class="ZXNzZW50aWFsLnJvdXRpbmU="><g class="shape" ><rect x="647.000000" y="1625.000000" width="139.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="716.500000" y="1663.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Daily Routine</text></g><g class="ZXNzZW50aWFsLmluZm9faW52"><g class="shape" ><rect x="615.000000" y="1751.000000" width="203.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="716.500000" y="1789.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Information Inventory</text></g><g class="ZXNzZW50aWFsLmNvbnRlbnRtZW50"><g class="shape" ><rect x="647.000000" y="1877.000000" width="140.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="717.000000" y="1915.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Contentment</text></g><g class="c3VwcG9ydGluZy5wZXJzb25hbGl0eQ=="><g class="shape" ><rect x="614.000000" y="86.000000" width="206.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="717.000000" y="124.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Personality Traits (2-3)</text></g><g class="c3VwcG9ydGluZy50ZWxs"><g class="shape" ><rect x="653.000000" y="212.000000" width="127.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="716.500000" y="250.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Tell System</text></g><g class="c3VwcG9ydGluZy5za2lsbHM="><g class="shape" ><rect x="665.000000" y="338.000000" width="103.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="716.500000" y="376.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Skill Set</text></g><g class="a2V5X2ludGVyYWN0aW9ucy5pMQ=="><g class="shape" ><rect x="1519.000000" y="1247.000000" width="142.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="1590.000000" y="1285.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Want × Secret</text></g><g class="a2V5X2ludGVyYWN0aW9ucy5pMg=="><g class="shape" ><rect x="1510.000000" y="1373.000000" width="160.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="1590.000000" y="1411.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Routine × Secret</text></g><g class="a2V5X2ludGVyYWN0aW9ucy5pMw=="><g class="shape" ><rect x="1477.000000" y="1499.000000" width="227.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="1590.500000" y="1537.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Tolerance × Relationships</text></g><g class="a2V5X2ludGVyYWN0aW9ucy5pNA=="><g class="shape" ><rect x="1493.000000" y="1625.000000" width="194.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="1590.000000" y="1663.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Want × Relationships</text></g><g class="a2V5X2ludGVyYWN0aW9ucy5pNQ=="><g class="shape" ><rect x="1485.000000" y="1751.000000" width="211.000000" height="66.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="1590.500000" y="1789.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px">Personality × Tolerance</text></g><g class="c29jaWFsX3NpdGUuZ3JvdXA="><g class="shape" ><rect x="556.000000" y="578.000000" width="321.000000" height="82.000000" stroke="#c8d8f0" fill="#2a3040" style="stroke-width:2;" /></g><text x="716.500000" y="616.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="716.500000" dy="0.000000">Social Group (4-8 NPCs)</tspan><tspan x="716.500000" dy="18.500000">2+ triangles + 1 cross-template triangle</tspan></text></g><g class="c29jaWFsX3NpdGUuY2x1c3Rlcg=="><g class="shape" ><rect x="590.000000" y="720.000000" width="254.000000" height="82.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="717.000000" y="758.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="717.000000" dy="0.000000">Functional Cluster</tspan><tspan x="717.000000" dy="18.500000">15-40 tiles, internal sightlines</tspan></text></g><g class="c29jaWFsX3NpdGUub3duZXJzaGlw"><g class="shape" ><rect x="542.000000" y="862.000000" width="349.000000" height="82.000000" stroke="#333340" fill="#2a3040" style="stroke-width:2;" /></g><text x="716.500000" y="900.500000" fill="#c8d0e0" class="text-bold" style="text-anchor:middle;font-size:16px"><tspan x="716.500000" dy="0.000000">NPC Ownership</tspan><tspan x="716.500000" dy="18.500000">owned by 1 template, referenced by others</tspan></text></g><g class="KG5wYyAtJmd0OyBlc3NlbnRpYWwpWzBd"><marker id="mk-d2-721050231-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 69.567189 806.917889 C 241.000000 1386.599976 344.200012 1532.000000 581.000000 1532.000000" stroke="#c8d8f0" fill="none" class="connection" style="stroke-width:2;" marker-end="url(#mk-d2-721050231-1961329247)" mask="url(#d2-721050231)" /><text x="214.000000" y="1302.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">generated with</text></g><g class="KG5wYyAtJmd0OyBzdXBwb3J0aW5nKVswXQ=="><marker id="mk-d2-721050231-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 85.771432 719.154765 C 244.199997 340.200012 344.000000 245.000000 580.000000 245.000000" stroke="#333340" fill="none" class="connection" style="stroke-width:2;" marker-end="url(#mk-d2-721050231-3962577600)" mask="url(#d2-721050231)" /><text x="237.000000" y="362.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">generated with</text></g><g class="KHN1cHBvcnRpbmcuc2tpbGxzIC0mZ3Q7IGNvbWJhdF9jb21wKVswXQ=="><path d="M 770.000000 371.000000 C 949.599976 371.000000 1032.598999 371.000000 1089.000000 371.000000 C 1145.400024 371.000000 1391.800049 371.000000 1471.000000 371.000000" stroke="#c8d8f0" fill="none" class="connection" style="stroke-width:2;stroke-dasharray:8.000000,7.892511;" marker-end="url(#mk-d2-721050231-1961329247)" mask="url(#d2-721050231)" /><text x="1122.000000" y="377.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">combat tag → component</text></g><g class="KGVzc2VudGlhbCAtJmd0OyBrZXlfaW50ZXJhY3Rpb25zKVswXQ=="><path d="M 850.000000 1532.000000 C 1116.000000 1532.000000 1235.800049 1532.000000 1443.000000 1532.000000" stroke="#333340" fill="none" class="connection" style="stroke-width:2;" marker-end="url(#mk-d2-721050231-3962577600)" mask="url(#d2-721050231)" /><text x="1148.000000" y="1538.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">produces</text></g><g class="KG5wYyAtJmd0OyBzb2NpYWxfc2l0ZSlbMF0="><path d="M 108.000000 761.000000 C 248.399994 761.000000 329.600006 761.000000 508.000000 761.000000" stroke="#c8d8f0" fill="none" class="connection" style="stroke-width:2;" marker-end="url(#mk-d2-721050231-1961329247)" mask="url(#d2-721050231)" /><text x="309.500000" y="767.000000" fill="#676C7E" class="text-italic fill-N2" style="text-anchor:middle;font-size:16px">placed in</text></g><mask id="d2-721050231" maskUnits="userSpaceOnUse" x="-101" y="-85" width="1969" height="2159">
|
||
<rect x="-101" y="-85" width="1969" height="2159" fill="white"></rect>
|
||
<rect x="162.000000" y="1286.000000" width="104" height="21" fill="black"></rect>
|
||
<rect x="185.000000" y="346.000000" width="104" height="21" fill="black"></rect>
|
||
<rect x="1036.000000" y="361.000000" width="172" height="21" fill="black"></rect>
|
||
<rect x="1115.000000" y="1522.000000" width="66" height="21" fill="black"></rect>
|
||
<rect x="277.000000" y="751.000000" width="65" height="21" fill="black"></rect>
|
||
</mask></svg></svg>
|