89 lines
3.9 KiB
XML
89 lines
3.9 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" width="700" height="520" viewBox="0 0 700 520">
|
|
<style>
|
|
text { font-family: system-ui, -apple-system, sans-serif; }
|
|
.title { font-size: 16px; font-weight: 600; fill: #1a1a1a; }
|
|
.label { font-size: 13px; fill: #1a1a1a; }
|
|
.small { font-size: 11px; fill: #555; }
|
|
.edge { font-size: 11px; font-weight: 600; }
|
|
.yes { fill: #2d7d46; }
|
|
.no { fill: #c0392b; }
|
|
.arrow { stroke: #666; stroke-width: 1.5; fill: none; marker-end: url(#arrowhead); }
|
|
.diamond { fill: #fff3cd; stroke: #e0c36a; stroke-width: 1.5; }
|
|
.result-native { fill: #d4edda; stroke: #7bc88f; stroke-width: 1.5; rx: 8; }
|
|
.result-compose { fill: #cce5ff; stroke: #6cb3f5; stroke-width: 1.5; rx: 8; }
|
|
.platform { fill: #f0f0f0; stroke: #ccc; stroke-width: 1; stroke-dasharray: 4 2; rx: 6; }
|
|
</style>
|
|
<defs>
|
|
<marker id="arrowhead" markerWidth="8" markerHeight="6" refX="8" refY="3" orient="auto">
|
|
<path d="M0,0 L8,3 L0,6 Z" fill="#666"/>
|
|
</marker>
|
|
</defs>
|
|
|
|
<text x="350" y="30" text-anchor="middle" class="title">Interactive Mode: Backend Selection</text>
|
|
|
|
<!-- Config check -->
|
|
<rect x="225" y="50" width="250" height="44" class="diamond" rx="6"/>
|
|
<text x="350" y="69" text-anchor="middle" class="label">compose_backend = "compose"</text>
|
|
<text x="350" y="84" text-anchor="middle" class="small">in sandcage.toml?</text>
|
|
|
|
<!-- Windows-only box -->
|
|
<rect x="30" y="140" width="340" height="290" class="platform"/>
|
|
<text x="50" y="160" class="small" font-style="italic">Windows only</text>
|
|
|
|
<!-- MSYSTEM check -->
|
|
<rect x="100" y="175" width="200" height="44" class="diamond" rx="6"/>
|
|
<text x="200" y="194" text-anchor="middle" class="label">MSYSTEM env var set?</text>
|
|
<text x="200" y="209" text-anchor="middle" class="small">(Git Bash / MSYS2)</text>
|
|
|
|
<!-- Console handle check -->
|
|
<rect x="100" y="275" width="200" height="44" class="diamond" rx="6"/>
|
|
<text x="200" y="294" text-anchor="middle" class="label">Console handle valid?</text>
|
|
<text x="200" y="309" text-anchor="middle" class="small">(GetConsoleMode)</text>
|
|
|
|
<!-- Raw mode check -->
|
|
<rect x="225" y="380" width="250" height="44" class="diamond" rx="6"/>
|
|
<text x="350" y="399" text-anchor="middle" class="label">Raw mode supported?</text>
|
|
<text x="350" y="414" text-anchor="middle" class="small">(crossterm probe)</text>
|
|
|
|
<!-- Result: Native TTY -->
|
|
<rect x="195" y="468" width="200" height="38" class="result-native"/>
|
|
<text x="295" y="491" text-anchor="middle" class="label" font-weight="600">Native TTY</text>
|
|
|
|
<!-- Result: Compose fallback -->
|
|
<rect x="500" y="200" width="170" height="38" class="result-compose"/>
|
|
<text x="585" y="223" text-anchor="middle" class="label" font-weight="600">Compose fallback</text>
|
|
|
|
<!-- Arrows -->
|
|
<!-- Config → MSYSTEM (No) -->
|
|
<path d="M350,94 L350,120 L200,120 L200,175" class="arrow"/>
|
|
<text x="280" y="115" class="edge no">no</text>
|
|
|
|
<!-- Config → Compose (Yes) -->
|
|
<path d="M475,72 L585,72 L585,200" class="arrow"/>
|
|
<text x="510" y="65" class="edge yes">yes</text>
|
|
|
|
<!-- MSYSTEM → Console (No) -->
|
|
<path d="M200,219 L200,275" class="arrow"/>
|
|
<text x="210" y="252" class="edge no">no</text>
|
|
|
|
<!-- MSYSTEM → Compose (Yes) -->
|
|
<path d="M300,197 L430,197 L430,219 L500,219" class="arrow"/>
|
|
<text x="340" y="190" class="edge yes">yes</text>
|
|
|
|
<!-- Console → Raw mode (Yes) -->
|
|
<path d="M200,319 L200,355 L350,355 L350,380" class="arrow"/>
|
|
<text x="210" y="345" class="edge yes">yes</text>
|
|
|
|
<!-- Console → Compose (No) -->
|
|
<path d="M300,297 L430,297 L430,219 L500,219" class="arrow"/>
|
|
<text x="340" y="290" class="edge no">no</text>
|
|
|
|
<!-- Raw mode → Native (Yes) -->
|
|
<path d="M295,424 L295,468" class="arrow"/>
|
|
<text x="275" y="450" class="edge yes">yes</text>
|
|
|
|
<!-- Raw mode → Compose (No) -->
|
|
<path d="M475,402 L585,402 L585,238" class="arrow"/>
|
|
<text x="510" y="395" class="edge no">no</text>
|
|
</svg>
|