File size: 8,197 Bytes
732765a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 |
<svg width="750" height="500" xmlns="http://www.w3.org/2000/svg" font-family="sans-serif" font-size="10">
<title>OV Inverse Trace - Conflict Node Attribution Residue Map</title>
<style>
.map-bg { fill: #f4f4f4; }
.axis-label { font-weight: bold; text-anchor: middle; }
.node-label { text-anchor: middle; dominant-baseline: central; }
.conflict-label { font-weight: bold; text-anchor: end; dominant-baseline: central; }
.glyph { font-size: 16px; text-anchor: middle; dominant-baseline: central; }
.annotation { font-size: 9px; text-anchor: middle; fill: #4a4a4a; font-style: italic; }
.symbolic-annotation { font-size: 9px; text-anchor: start; fill: #800080; font-weight: bold; }
.trace-line { stroke: #6c757d; stroke-width: 1.5; marker-start: url(#arrowhead-rev); fill: none; } /* marker-start for reverse */
.residue-line { stroke: #ff7b00; stroke-width: 1; marker-start: url(#arrowhead-res); fill: none; stroke-dasharray: 2, 2; }
.grid-line { stroke: #e0e0e0; stroke-width: 0.5; }
.interaction-glyph { fill: #003049; /* Dark blue for interaction */ }
.node-glyph { fill: #d62828; /* Red for nodes/conflicts */ }
.residue-value { opacity: 0.7; /* Base opacity for residue */ }
</style>
<defs>
<marker id="arrowhead-rev" markerWidth="6" markerHeight="4" refX="5" refY="2" orient="auto">
<polygon points="6 0, 0 2, 6 4" fill="#6c757d" />
</marker>
<marker id="arrowhead-res" markerWidth="5" markerHeight="3.5" refX="4" refY="1.75" orient="auto">
<polygon points="5 0, 0 1.75, 5 3.5" fill="#ff7b00" />
</marker>
<symbol id="glyph-interaction" viewBox="-10 -10 20 20">
<text class="glyph interaction-glyph" x="0" y="0">β</text> </symbol>
<symbol id="glyph-node" viewBox="-10 -10 20 20">
<text class="glyph node-glyph" x="0" y="0">π</text> </symbol>
</defs>
<rect width="100%" height="100%" fill="#ffffff"/>
<g transform="translate(100, 70)">
<rect width="600" height="380" class="map-bg"/>
<text x="300" y="-35" class="axis-label">Upstream Attribution Sources (Inverse Trace)</text>
<text x="-65" y="190" class="axis-label" transform="rotate(-90, -65, 190)">OV Conflict Nodes</text>
<text x="75" y="-15" class="node-label">Layer N (OV)</text>
<text x="225" y="-15" class="node-label">Layer N-1 (K/V)</text>
<text x="375" y="-15" class="node-label">Layer N-2 (Q/K)</text>
<text x="525" y="-15" class="node-label">Layer N-x (Source)</text>
<g id="rows">
<g id="conflict-A" transform="translate(0, 63.33)">
<text x="-15" y="0" class="conflict-label">Conflict A</text>
<line x1="0" y1="0" x2="600" y2="0" class="grid-line"/>
<text x="5" y="15" class="symbolic-annotation">[Symbolic: Polarity Inversion]</text>
</g>
<g id="conflict-B" transform="translate(0, 190)">
<text x="-15" y="0" class="conflict-label">Conflict B</text>
<line x1="0" y1="0" x2="600" y2="0" class="grid-line"/>
<text x="5" y="15" class="symbolic-annotation">[Symbolic: Semantic Ambiguity]</text>
</g>
<g id="conflict-C" transform="translate(0, 316.67)">
<text x="-15" y="0" class="conflict-label">Conflict C</text>
<line x1="0" y1="0" x2="600" y2="0" class="grid-line"/>
<text x="5" y="15" class="symbolic-annotation">[Symbolic: Context Mismatch]</text>
</g>
</g>
<line x1="0" y1="380" x2="600" y2="380" class="grid-line"/> <g id="columns">
<line x1="0" y1="0" x2="0" y2="380" class="grid-line"/>
<line x1="150" y1="0" x2="150" y2="380" class="grid-line"/>
<line x1="300" y1="0" x2="300" y2="380" class="grid-line"/>
<line x1="450" y1="0" x2="450" y2="380" class="grid-line"/>
<line x1="600" y1="0" x2="600" y2="380" class="grid-line"/>
</g>
<g id="inverse-trace-data">
<g transform="translate(0, 63.33)">
<use href="#glyph-node" x="75" y="0"/>
<text x="75" y="15" class="annotation">(OV Conflict)</text>
<path d="M 60 0 C 30 0, 255 -10, 240 -10" class="trace-line"/>
<use href="#glyph-interaction" x="225" y="-10"/>
<path d="M 65 -5 C 100 -15, 180 -25, 215 -25" class="residue-line"/> <use href="#glyph-node" x="225" y="-25" class="residue-value"/>
<path d="M 210 -10 C 180 -10, 405 5, 390 5" class="trace-line"/>
<use href="#glyph-interaction" x="375" y="5"/>
<path d="M 215 -25 C 250 -30, 330 -10, 365 -10" class="residue-line"/> <use href="#glyph-node" x="375" y="-10" class="residue-value"/>
<path d="M 360 5 C 330 5, 555 0, 540 0" class="trace-line"/>
<use href="#glyph-node" x="525" y="0"/>
<text x="525" y="15" class="annotation">(Source A1)</text>
</g>
<g transform="translate(0, 190)">
<use href="#glyph-node" x="75" y="0"/>
<text x="75" y="15" class="annotation">(OV Conflict)</text>
<path d="M 60 0 C 30 0, 255 -15, 240 -15" class="trace-line"/>
<use href="#glyph-interaction" x="225" y="-15"/>
<path d="M 60 0 C 30 0, 255 15, 240 15" class="trace-line"/>
<use href="#glyph-interaction" x="225" y="15"/>
<path d="M 65 -5 C 100 -20, 180 -25, 215 -25" class="residue-line"/> <use href="#glyph-node" x="225" y="-25" class="residue-value"/>
<path d="M 210 -15 C 180 -15, 405 0, 390 0" class="trace-line"/>
<path d="M 210 15 C 180 15, 405 0, 390 0" class="trace-line"/>
<use href="#glyph-interaction" x="375" y="0"/>
<text x="375" y="15" class="annotation">(Merge)</text>
<path d="M 360 0 C 330 0, 555 0, 540 0" class="trace-line"/>
<use href="#glyph-node" x="525" y="0"/>
<text x="525" y="15" class="annotation">(Source B1)</text>
</g>
<g transform="translate(0, 316.67)">
<use href="#glyph-node" x="75" y="0"/>
<text x="75" y="15" class="annotation">(OV Conflict)</text>
<path d="M 60 0 C 0 0, 300 -10, 390 -10" class="trace-line" style="stroke-dasharray: 5, 5;"/>
<use href="#glyph-interaction" x="375" y="-10"/>
<text x="375" y="-22" class="annotation">(Weak Link)</text>
<path d="M 60 0 C 30 0, 255 10, 240 10" class="trace-line" style="stroke-width: 2.5;"/>
<use href="#glyph-interaction" x="225" y="10" style="font-size: 20px;"/>
<path d="M 65 5 C 100 -5, 180 -15, 215 -15" class="residue-line" style="stroke-width: 2;"/> <use href="#glyph-node" x="225" y="-15" class="residue-value" style="opacity: 1;"/>
<path d="M 210 10 C 180 10, 555 5, 540 5" class="trace-line" style="stroke-width: 2.5;"/>
<use href="#glyph-node" x="525" y="5"/>
<text x="525" y="20" class="annotation">(Source C1)</text>
</g>
</g>
</g>
<g transform="translate(100, 465)">
<text x="0" y="10" font-weight="bold">Legend:</text>
<use href="#glyph-node" x="70" y="10"/>
<text x="85" y="12">π: Node (OV Conflict / Source / Residue Anchor)</text>
<use href="#glyph-interaction" x="350" y="10"/>
<text x="365" y="12">β: Interaction Point (Inverse Trace)</text>
<g transform="translate(0, 15)">
<line x1="70" y1="10" x2="100" y2="10" class="trace-line"/>
<text x="105" y="12">Inverse Attribution Trace</text>
<line x1="280" y1="10" x2="310" y2="10" class="residue-line"/>
<text x="315" y="12">Attribution Residue Path</text>
<text x="480" y="12" class="symbolic-annotation">[Symbolic Annotation]</text>
</g>
</g>
</svg>
|