Add Weishui camps chapter

This commit is contained in:
2026-06-24 18:38:21 +09:00
parent 84a1eccb5d
commit 40078eabe3
12 changed files with 866 additions and 85 deletions

View File

@@ -0,0 +1,96 @@
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 2048 1760" role="img" aria-labelledby="title desc">
<title id="title">Weishui camps map</title>
<desc id="desc">Original tactical battlefield map with Wei River crossings, Shu supply camps, Wei fortified palisades, signal towers, villages, cliffs, roads, and winter ridges.</desc>
<defs>
<linearGradient id="ground" x1="0" x2="1" y1="0" y2="1">
<stop offset="0" stop-color="#4b594a"/>
<stop offset="0.45" stop-color="#77806a"/>
<stop offset="1" stop-color="#9a805e"/>
</linearGradient>
<linearGradient id="river" x1="0" x2="1" y1="0" y2="0">
<stop offset="0" stop-color="#1f405a"/>
<stop offset="0.45" stop-color="#4b7f90"/>
<stop offset="1" stop-color="#9ab5a8"/>
</linearGradient>
<linearGradient id="road" x1="0" x2="1" y1="0" y2="0">
<stop offset="0" stop-color="#b27a4d"/>
<stop offset="0.52" stop-color="#dfbf7b"/>
<stop offset="1" stop-color="#946842"/>
</linearGradient>
<filter id="grain" x="-10%" y="-10%" width="120%" height="120%">
<feTurbulence type="fractalNoise" baseFrequency="0.012" numOctaves="4" seed="64"/>
<feColorMatrix type="saturate" values="0.18"/>
<feBlend mode="multiply" in2="SourceGraphic"/>
</filter>
<filter id="mist" x="-6%" y="-6%" width="112%" height="112%">
<feGaussianBlur stdDeviation="2.2"/>
</filter>
</defs>
<rect width="2048" height="1760" fill="url(#ground)"/>
<path d="M0 426 C250 328 432 414 640 510 C870 618 1060 574 1284 492 C1528 404 1754 462 2048 344" fill="none" stroke="url(#river)" stroke-width="102" stroke-linecap="round"/>
<path d="M0 560 C292 482 474 580 700 668 C936 760 1118 710 1346 628 C1592 540 1812 584 2048 496" fill="none" stroke="#2c6678" stroke-width="64" stroke-linecap="round" opacity="0.92"/>
<path d="M110 1580 C322 1428 548 1308 790 1160 C1058 996 1324 894 1568 752 C1778 630 1900 560 2040 520" fill="none" stroke="url(#road)" stroke-width="48" stroke-linecap="round"/>
<path d="M250 1422 C458 1322 684 1194 884 1014 C1078 842 1302 810 1532 664 C1748 526 1898 442 2030 384" fill="none" stroke="#c98f5e" stroke-width="30" stroke-linecap="round"/>
<path d="M420 1680 C560 1500 728 1370 952 1246 C1198 1110 1452 1058 1642 914 C1840 764 1940 626 2044 586" fill="none" stroke="#dfb96d" stroke-width="30" stroke-linecap="round"/>
<path d="M610 1234 C760 1100 856 950 1038 840 C1224 728 1428 650 1620 520" fill="none" stroke="#ead08e" stroke-width="24" stroke-linecap="round" opacity="0.92"/>
<g fill="#344734" opacity="0.9">
<path d="M0 0 L610 0 L498 226 L650 440 L360 574 L0 472 Z"/>
<path d="M732 0 L1210 0 L1074 292 L840 430 L676 218 Z"/>
<path d="M1334 0 L2048 0 L2048 300 L1878 258 L1646 382 L1448 226 Z"/>
<path d="M0 722 L436 696 L320 982 L510 1226 L0 1342 Z"/>
<path d="M1546 780 L2048 658 L2048 1222 L1774 1128 L1512 1208 Z"/>
</g>
<g fill="#26372f" opacity="0.82">
<ellipse cx="316" cy="812" rx="270" ry="152"/>
<ellipse cx="630" cy="1050" rx="252" ry="142"/>
<ellipse cx="1110" cy="1300" rx="324" ry="160"/>
<ellipse cx="1522" cy="1164" rx="282" ry="136"/>
<ellipse cx="1116" cy="734" rx="286" ry="132"/>
<ellipse cx="1638" cy="492" rx="232" ry="112"/>
</g>
<g fill="#75593c" stroke="#2f2318" stroke-width="8">
<rect x="238" y="1426" width="286" height="150" rx="6"/>
<rect x="612" y="1236" width="294" height="160" rx="6"/>
<rect x="1014" y="1052" width="306" height="166" rx="6"/>
<rect x="1390" y="798" width="336" height="184" rx="6"/>
<rect x="1714" y="548" width="302" height="168" rx="6"/>
</g>
<g fill="#563d35" stroke="#241915" stroke-width="10">
<path d="M1450 460 L1686 414 L1824 552 L1758 728 L1506 762 L1372 612 Z"/>
<path d="M986 742 L1222 696 L1360 826 L1294 1000 L1040 1032 L912 880 Z"/>
<path d="M1636 196 L1878 168 L2024 292 L1960 460 L1716 496 L1568 354 Z"/>
<path d="M1176 1268 L1400 1230 L1532 1352 L1468 1508 L1228 1534 L1102 1392 Z"/>
<path d="M1712 1012 L1940 980 L2040 1112 L1998 1266 L1756 1284 L1642 1146 Z"/>
</g>
<g fill="#e4c88c" stroke="#58442c" stroke-width="7">
<rect x="166" y="1304" width="126" height="86" rx="5"/>
<rect x="516" y="1142" width="136" height="88" rx="5"/>
<rect x="800" y="988" width="142" height="90" rx="5"/>
<rect x="1260" y="878" width="152" height="94" rx="5"/>
<rect x="1508" y="626" width="142" height="90" rx="5"/>
<rect x="1820" y="376" width="132" height="84" rx="5"/>
</g>
<g opacity="0.26" stroke="#eef0dd" stroke-width="5" stroke-linecap="round" filter="url(#mist)">
<path d="M124 244 C326 194 482 206 684 266"/>
<path d="M732 466 C930 414 1110 430 1318 492"/>
<path d="M1200 158 C1382 116 1580 132 1760 194"/>
<path d="M1320 1086 C1490 1040 1690 1058 1902 1122"/>
</g>
<g fill="#d9b65f" stroke="#4a3320" stroke-width="5">
<circle cx="340" cy="1436" r="22"/>
<circle cx="418" cy="1462" r="18"/>
<circle cx="688" cy="1266" r="21"/>
<circle cx="1108" cy="1080" r="22"/>
<circle cx="1476" cy="822" r="20"/>
<circle cx="1844" cy="562" r="22"/>
<circle cx="1858" cy="1046" r="20"/>
</g>
<g opacity="0.62" fill="#74302c">
<path d="M346 1378 l62 20 -62 20 z"/>
<path d="M700 1204 l66 20 -66 20 z"/>
<path d="M1122 1018 l68 20 -68 20 z"/>
<path d="M1510 766 l68 20 -68 20 z"/>
<path d="M1848 984 l58 18 -58 18 z"/>
</g>
<rect width="2048" height="1760" fill="url(#ground)" opacity="0.06" filter="url(#grain)"/>
</svg>

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 MiB