yakmesh 2.8.2 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +637 -0
- package/CONTRIBUTING.md +42 -0
- package/Caddyfile +77 -0
- package/README.md +119 -29
- package/adapters/adapter-mlv-bible/README.md +124 -0
- package/adapters/adapter-mlv-bible/index.js +400 -0
- package/adapters/chat-mod-adapter.js +532 -0
- package/adapters/content-adapter.js +273 -0
- package/content/api.js +50 -41
- package/content/index.js +2 -2
- package/content/store.js +355 -173
- package/dashboard/index.html +19 -3
- package/database/replication.js +117 -37
- package/docs/CRYPTO-AGILITY.md +204 -0
- package/docs/MTLS-RESEARCH.md +367 -0
- package/docs/NAMCHE-SPEC.md +681 -0
- package/docs/PEERQUANTA-YAKMESH-INTEGRATION.md +407 -0
- package/docs/PRECISION-DISCLOSURE.md +96 -0
- package/docs/README.md +76 -0
- package/docs/ROADMAP-2.4.0.md +447 -0
- package/docs/ROADMAP-2.5.0.md +244 -0
- package/docs/SECURITY-AUDIT-REPORT.md +306 -0
- package/docs/SST-INTEGRATION.md +712 -0
- package/docs/STEADYWATCH-IMPLEMENTATION.md +303 -0
- package/docs/TERNARY-AUDIT-REPORT.md +247 -0
- package/docs/TME-FAQ.md +221 -0
- package/docs/WHITEPAPER.md +623 -0
- package/docs/adapters.html +1001 -0
- package/docs/advanced-systems.html +1045 -0
- package/docs/annex.html +1046 -0
- package/docs/api.html +970 -0
- package/docs/business/response-templates.md +160 -0
- package/docs/c2c.html +1225 -0
- package/docs/cli.html +1332 -0
- package/docs/configuration.html +1248 -0
- package/docs/darshan.html +1085 -0
- package/docs/dharma.html +966 -0
- package/docs/docs-bundle.html +1075 -0
- package/docs/docs.css +3120 -0
- package/docs/docs.js +556 -0
- package/docs/doko.html +969 -0
- package/docs/geo-proof.html +858 -0
- package/docs/getting-started.html +840 -0
- package/docs/gumba-tutorial.html +1144 -0
- package/docs/gumba.html +1098 -0
- package/docs/index.html +914 -0
- package/docs/jhilke.html +1312 -0
- package/docs/karma.html +1100 -0
- package/docs/katha.html +1037 -0
- package/docs/lama.html +978 -0
- package/docs/mandala.html +1067 -0
- package/docs/mani.html +964 -0
- package/docs/mantra.html +967 -0
- package/docs/mesh.html +1409 -0
- package/docs/nakpak.html +869 -0
- package/docs/namche.html +928 -0
- package/docs/nav-order.json +53 -0
- package/docs/prahari.html +1043 -0
- package/docs/prism-bash.min.js +1 -0
- package/docs/prism-javascript.min.js +1 -0
- package/docs/prism-json.min.js +1 -0
- package/docs/prism-tomorrow.min.css +1 -0
- package/docs/prism.min.js +1 -0
- package/docs/privacy.html +699 -0
- package/docs/quick-reference.html +1181 -0
- package/docs/sakshi.html +1402 -0
- package/docs/sandboxing.md +386 -0
- package/docs/seva.html +911 -0
- package/docs/sherpa.html +871 -0
- package/docs/studio.html +860 -0
- package/docs/stupa.html +995 -0
- package/docs/tailwind.min.css +2 -0
- package/docs/tattva.html +1332 -0
- package/docs/terms.html +686 -0
- package/docs/time-server-deployment.md +166 -0
- package/docs/time-sources.html +1392 -0
- package/docs/tivra.html +1127 -0
- package/docs/trademark-policy.html +686 -0
- package/docs/tribhuj.html +1183 -0
- package/docs/trust-security.html +1029 -0
- package/docs/tutorials/backup-recovery.html +654 -0
- package/docs/tutorials/dashboard.html +604 -0
- package/docs/tutorials/domain-setup.html +605 -0
- package/docs/tutorials/host-website.html +456 -0
- package/docs/tutorials/mesh-network.html +505 -0
- package/docs/tutorials/mobile-access.html +445 -0
- package/docs/tutorials/privacy.html +467 -0
- package/docs/tutorials/raspberry-pi.html +600 -0
- package/docs/tutorials/security-basics.html +539 -0
- package/docs/tutorials/share-files.html +431 -0
- package/docs/tutorials/troubleshooting.html +637 -0
- package/docs/tutorials/trust-karma.html +419 -0
- package/docs/tutorials/yak-protocol.html +456 -0
- package/docs/tutorials.html +1034 -0
- package/docs/vani.html +1270 -0
- package/docs/webserver.html +809 -0
- package/docs/yak-protocol.html +940 -0
- package/docs/yak-timeserver-design.md +475 -0
- package/docs/yakapp.html +1015 -0
- package/docs/ypc27.html +1069 -0
- package/docs/yurt.html +1344 -0
- package/embedded-docs/bundle.js +334 -74
- package/gossip/protocol.js +247 -27
- package/identity/key-resolver.js +262 -0
- package/identity/machine-seed.js +632 -0
- package/identity/node-key.js +669 -368
- package/identity/tribhuj-ratchet.js +506 -0
- package/knowledge-base.js +37 -8
- package/launcher/yakmesh.bat +62 -0
- package/launcher/yakmesh.sh +70 -0
- package/mesh/annex.js +462 -108
- package/mesh/beacon-broadcast.js +113 -1
- package/mesh/darshan.js +1718 -0
- package/mesh/gumba.js +1567 -0
- package/mesh/jhilke.js +651 -0
- package/mesh/katha.js +1012 -0
- package/mesh/nakpak-routing.js +8 -5
- package/mesh/network.js +724 -34
- package/mesh/pulse-sync.js +4 -1
- package/mesh/rate-limiter.js +127 -15
- package/mesh/seva.js +526 -0
- package/mesh/sherpa-discovery.js +89 -8
- package/mesh/sybil-defense.js +19 -5
- package/mesh/temporal-encoder.js +4 -3
- package/mesh/vani.js +1364 -0
- package/mesh/yurt.js +1340 -0
- package/models/entropy-sentinel.onnx +0 -0
- package/models/karma-trust.onnx +0 -0
- package/models/manifest.json +43 -0
- package/models/sakshi-anomaly.onnx +0 -0
- package/oracle/code-proof-protocol.js +7 -6
- package/oracle/codebase-lock.js +257 -28
- package/oracle/index.js +74 -15
- package/oracle/ma902-snmp.js +678 -0
- package/oracle/module-sealer.js +5 -3
- package/oracle/network-identity.js +16 -0
- package/oracle/packet-checksum.js +201 -0
- package/oracle/sst.js +579 -0
- package/oracle/ternary-144t.js +714 -0
- package/oracle/ternary-ml.js +481 -0
- package/oracle/time-api.js +239 -0
- package/oracle/time-source.js +137 -47
- package/oracle/validation-oracle-hardened.js +1111 -1071
- package/oracle/validation-oracle.js +4 -2
- package/oracle/ypc27.js +211 -0
- package/package.json +20 -3
- package/protocol/yak-handler.js +35 -9
- package/protocol/yak-protocol.js +28 -13
- package/reference/cpp/yakmesh_mceliece_shard.cpp +168 -0
- package/reference/cpp/yakmesh_ypc27.cpp +179 -0
- package/sbom.json +87 -0
- package/scripts/security-audit.mjs +264 -0
- package/scripts/update-docs-nav.js +194 -0
- package/scripts/update-docs-sidebar.cjs +164 -0
- package/security/crypto-config.js +4 -3
- package/security/dharma-moderation.js +517 -0
- package/security/doko-identity.js +193 -143
- package/security/domain-consensus.js +86 -85
- package/security/fs-hardening.js +620 -0
- package/security/hardware-attestation.js +5 -3
- package/security/hybrid-trust.js +227 -87
- package/security/karma-rate-limiter.js +692 -0
- package/security/khata-protocol.js +22 -21
- package/security/khata-trust-integration.js +277 -150
- package/security/memory-safety.js +635 -0
- package/security/mesh-auth.js +11 -10
- package/security/mesh-revocation.js +373 -5
- package/security/namche-gateway.js +298 -69
- package/security/sakshi.js +460 -3
- package/security/sangha.js +770 -0
- package/security/secure-config.js +473 -0
- package/security/silicon-parity.js +13 -10
- package/security/steadywatch.js +1142 -0
- package/security/strike-system.js +32 -3
- package/security/temporal-signing.js +488 -0
- package/security/trit-commitment.js +464 -0
- package/server/crypto/annex.js +247 -0
- package/server/darshan-api.js +343 -0
- package/server/index.js +3259 -362
- package/server/komm-api.js +668 -0
- package/utils/accel.js +2273 -0
- package/utils/ternary-id.js +79 -0
- package/utils/verify-worker.js +57 -0
- package/webserver/index.js +95 -5
- package/assets/yakmesh-logo.png +0 -0
- package/assets/yakmesh-logo.svg +0 -80
- package/assets/yakmesh-logo2.png +0 -0
- package/assets/yakmesh-logo2sm.png +0 -0
- package/assets/ymsm.png +0 -0
- package/website/assets/silhouettes/adapters.svg +0 -107
- package/website/assets/silhouettes/api-endpoints.svg +0 -115
- package/website/assets/silhouettes/atomic-clock.svg +0 -83
- package/website/assets/silhouettes/base-camp.svg +0 -81
- package/website/assets/silhouettes/bridge.svg +0 -69
- package/website/assets/silhouettes/docs-bundle.svg +0 -113
- package/website/assets/silhouettes/doko-basket.svg +0 -70
- package/website/assets/silhouettes/fortress.svg +0 -93
- package/website/assets/silhouettes/gateway.svg +0 -54
- package/website/assets/silhouettes/gears.svg +0 -93
- package/website/assets/silhouettes/globe-satellite.svg +0 -67
- package/website/assets/silhouettes/karma-wheel.svg +0 -137
- package/website/assets/silhouettes/lama-council.svg +0 -141
- package/website/assets/silhouettes/mandala-network.svg +0 -169
- package/website/assets/silhouettes/mani-stones.svg +0 -149
- package/website/assets/silhouettes/mantra-wheel.svg +0 -116
- package/website/assets/silhouettes/mesh-nodes.svg +0 -113
- package/website/assets/silhouettes/nakpak.svg +0 -56
- package/website/assets/silhouettes/peak-lightning.svg +0 -73
- package/website/assets/silhouettes/sherpa.svg +0 -69
- package/website/assets/silhouettes/stupa-tower.svg +0 -119
- package/website/assets/silhouettes/tattva-eye.svg +0 -78
- package/website/assets/silhouettes/terminal.svg +0 -74
- package/website/assets/silhouettes/webserver.svg +0 -145
- package/website/assets/silhouettes/yak.svg +0 -78
- package/website/assets/yakmesh-logo.png +0 -0
- package/website/assets/yakmesh-logo.webp +0 -0
- package/website/assets/yakmesh-logo128x140.webp +0 -0
- package/website/assets/yakmesh-logo2.png +0 -0
- package/website/assets/yakmesh-logo2.svg +0 -51
- package/website/assets/yakmesh-logo40x44.webp +0 -0
- package/website/assets/yakmesh.gif +0 -0
- package/website/assets/yakmesh.ico +0 -0
- package/website/assets/yakmesh.jpg +0 -0
- package/website/assets/yakmesh.pdf +0 -0
- package/website/assets/yakmesh.png +0 -0
- package/website/assets/yakmesh.svg +0 -70
- package/website/assets/yakmesh128.webp +0 -0
- package/website/assets/yakmesh32.png +0 -0
- package/website/assets/yakmesh32.svg +0 -65
- package/website/assets/yakmesh32o.ico +0 -2
- package/website/assets/yakmesh32o.svg +0 -65
- package/website/assets/yakmesh32o.svgz +0 -0
|
@@ -1,145 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
|
|
2
|
-
<defs>
|
|
3
|
-
<radialGradient id="globeGlow" cx="50%" cy="50%" r="50%">
|
|
4
|
-
<stop offset="0%" stop-color="#4a8a6a" stop-opacity="0.2"/>
|
|
5
|
-
<stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
|
|
6
|
-
</radialGradient>
|
|
7
|
-
<linearGradient id="dataStream" x1="0%" y1="0%" x2="100%" y2="0%">
|
|
8
|
-
<stop offset="0%" stop-color="#3d6a5a" stop-opacity="0"/>
|
|
9
|
-
<stop offset="50%" stop-color="#5a9a7a" stop-opacity="0.4"/>
|
|
10
|
-
<stop offset="100%" stop-color="#3d6a5a" stop-opacity="0"/>
|
|
11
|
-
</linearGradient>
|
|
12
|
-
</defs>
|
|
13
|
-
|
|
14
|
-
<!-- MOUNTAIN BACKDROP -->
|
|
15
|
-
<polygon points="0,600 150,350 350,580 500,280 700,600 700,1080 0,1080" fill="#1a2a22" opacity="0.3"/>
|
|
16
|
-
<polygon points="1400,650 1550,380 1700,550 1920,420 1920,1080 1400,1080" fill="#1a2a22" opacity="0.3"/>
|
|
17
|
-
|
|
18
|
-
<!-- LEFT SIDE - Server rack -->
|
|
19
|
-
<rect x="100" y="300" width="250" height="450" rx="10" fill="#0a120e" opacity="0.9"/>
|
|
20
|
-
<rect x="100" y="300" width="250" height="450" rx="10" stroke="#2e4c43" stroke-width="3" fill="none" opacity="0.5"/>
|
|
21
|
-
|
|
22
|
-
<!-- Server rack units -->
|
|
23
|
-
<rect x="120" y="320" width="210" height="60" rx="3" fill="#1a2a22" opacity="0.7"/>
|
|
24
|
-
<rect x="120" y="320" width="210" height="60" rx="3" stroke="#2e4c43" stroke-width="1" fill="none" opacity="0.3"/>
|
|
25
|
-
<circle cx="140" cy="350" r="5" fill="#4a8a6a" opacity="0.6"/>
|
|
26
|
-
<circle cx="160" cy="350" r="5" fill="#3d6a5a" opacity="0.4"/>
|
|
27
|
-
<rect x="200" y="340" width="80" height="8" fill="#2e4c43" opacity="0.4"/>
|
|
28
|
-
<rect x="200" y="355" width="60" height="8" fill="#2e4c43" opacity="0.3"/>
|
|
29
|
-
|
|
30
|
-
<rect x="120" y="400" width="210" height="60" rx="3" fill="#1a2a22" opacity="0.7"/>
|
|
31
|
-
<rect x="120" y="400" width="210" height="60" rx="3" stroke="#2e4c43" stroke-width="1" fill="none" opacity="0.3"/>
|
|
32
|
-
<circle cx="140" cy="430" r="5" fill="#5a9a7a" opacity="0.6"/>
|
|
33
|
-
<circle cx="160" cy="430" r="5" fill="#4a8a6a" opacity="0.5"/>
|
|
34
|
-
<rect x="200" y="420" width="100" height="8" fill="#2e4c43" opacity="0.4"/>
|
|
35
|
-
<rect x="200" y="435" width="70" height="8" fill="#2e4c43" opacity="0.3"/>
|
|
36
|
-
|
|
37
|
-
<rect x="120" y="480" width="210" height="60" rx="3" fill="#1a2a22" opacity="0.7"/>
|
|
38
|
-
<rect x="120" y="480" width="210" height="60" rx="3" stroke="#2e4c43" stroke-width="1" fill="none" opacity="0.3"/>
|
|
39
|
-
<circle cx="140" cy="510" r="5" fill="#4a8a6a" opacity="0.5"/>
|
|
40
|
-
<circle cx="160" cy="510" r="5" fill="#3d6a5a" opacity="0.4"/>
|
|
41
|
-
<rect x="200" y="500" width="90" height="8" fill="#2e4c43" opacity="0.4"/>
|
|
42
|
-
<rect x="200" y="515" width="55" height="8" fill="#2e4c43" opacity="0.3"/>
|
|
43
|
-
|
|
44
|
-
<rect x="120" y="560" width="210" height="60" rx="3" fill="#1a2a22" opacity="0.7"/>
|
|
45
|
-
<rect x="120" y="560" width="210" height="60" rx="3" stroke="#2e4c43" stroke-width="1" fill="none" opacity="0.3"/>
|
|
46
|
-
<circle cx="140" cy="590" r="5" fill="#5a9a7a" opacity="0.6"/>
|
|
47
|
-
<circle cx="160" cy="590" r="5" fill="#4a8a6a" opacity="0.4"/>
|
|
48
|
-
<rect x="200" y="580" width="75" height="8" fill="#2e4c43" opacity="0.4"/>
|
|
49
|
-
<rect x="200" y="595" width="50" height="8" fill="#2e4c43" opacity="0.3"/>
|
|
50
|
-
|
|
51
|
-
<rect x="120" y="640" width="210" height="60" rx="3" fill="#1a2a22" opacity="0.7"/>
|
|
52
|
-
<rect x="120" y="640" width="210" height="60" rx="3" stroke="#2e4c43" stroke-width="1" fill="none" opacity="0.3"/>
|
|
53
|
-
<circle cx="140" cy="670" r="5" fill="#4a8a6a" opacity="0.5"/>
|
|
54
|
-
<circle cx="160" cy="670" r="5" fill="#3d6a5a" opacity="0.4"/>
|
|
55
|
-
<rect x="200" y="660" width="85" height="8" fill="#2e4c43" opacity="0.4"/>
|
|
56
|
-
<rect x="200" y="675" width="60" height="8" fill="#2e4c43" opacity="0.3"/>
|
|
57
|
-
|
|
58
|
-
<!-- Server label -->
|
|
59
|
-
<text x="225" y="780" fill="#4a8a6a" opacity="0.5" font-size="20" font-family="monospace" text-anchor="middle">WEB SERVER</text>
|
|
60
|
-
|
|
61
|
-
<!-- CENTER - Connection lines radiating out -->
|
|
62
|
-
<line x1="350" y1="400" x2="750" y2="350" stroke="#3d6a5a" stroke-width="2" opacity="0.4"/>
|
|
63
|
-
<line x1="350" y1="480" x2="750" y2="430" stroke="#3d6a5a" stroke-width="2" opacity="0.4"/>
|
|
64
|
-
<line x1="350" y1="520" x2="750" y2="520" stroke="#4a8a6a" stroke-width="3" opacity="0.5"/>
|
|
65
|
-
<line x1="350" y1="560" x2="750" y2="620" stroke="#3d6a5a" stroke-width="2" opacity="0.4"/>
|
|
66
|
-
<line x1="350" y1="640" x2="750" y2="700" stroke="#3d6a5a" stroke-width="2" opacity="0.4"/>
|
|
67
|
-
|
|
68
|
-
<!-- Data packets flowing -->
|
|
69
|
-
<circle cx="450" cy="520" r="6" fill="#5a9a7a" opacity="0.5"/>
|
|
70
|
-
<circle cx="550" cy="520" r="6" fill="#5a9a7a" opacity="0.5"/>
|
|
71
|
-
<circle cx="650" cy="520" r="6" fill="#5a9a7a" opacity="0.5"/>
|
|
72
|
-
|
|
73
|
-
<!-- CENTER - Globe -->
|
|
74
|
-
<circle cx="960" cy="520" r="220" fill="url(#globeGlow)"/>
|
|
75
|
-
<circle cx="960" cy="520" r="200" fill="#0a120e" opacity="0.9"/>
|
|
76
|
-
<circle cx="960" cy="520" r="200" stroke="#3d6a5a" stroke-width="3" fill="none" opacity="0.6"/>
|
|
77
|
-
|
|
78
|
-
<!-- Globe latitude lines -->
|
|
79
|
-
<ellipse cx="960" cy="520" rx="200" ry="60" fill="none" stroke="#2e4c43" stroke-width="1.5" opacity="0.35"/>
|
|
80
|
-
<ellipse cx="960" cy="420" rx="150" ry="40" fill="none" stroke="#2e4c43" stroke-width="1.5" opacity="0.3"/>
|
|
81
|
-
<ellipse cx="960" cy="620" rx="150" ry="40" fill="none" stroke="#2e4c43" stroke-width="1.5" opacity="0.3"/>
|
|
82
|
-
|
|
83
|
-
<!-- Globe longitude lines -->
|
|
84
|
-
<ellipse cx="960" cy="520" rx="60" ry="200" fill="none" stroke="#2e4c43" stroke-width="1.5" opacity="0.35"/>
|
|
85
|
-
<ellipse cx="960" cy="520" rx="130" ry="200" fill="none" stroke="#2e4c43" stroke-width="1.5" opacity="0.3"/>
|
|
86
|
-
|
|
87
|
-
<!-- Continents suggested by polygons -->
|
|
88
|
-
<polygon points="880,400 920,380 970,400 960,450 900,440" fill="#2e4c43" opacity="0.4"/>
|
|
89
|
-
<polygon points="1000,380 1060,400 1080,450 1040,480 990,450" fill="#2e4c43" opacity="0.35"/>
|
|
90
|
-
<polygon points="840,500 890,480 920,520 880,560 830,540" fill="#2e4c43" opacity="0.4"/>
|
|
91
|
-
<polygon points="980,540 1040,520 1100,550 1080,620 1020,640 960,600" fill="#2e4c43" opacity="0.35"/>
|
|
92
|
-
<polygon points="900,620 940,590 990,610 970,680 920,670" fill="#2e4c43" opacity="0.35"/>
|
|
93
|
-
|
|
94
|
-
<!-- Connection points on globe -->
|
|
95
|
-
<circle cx="870" cy="450" r="8" fill="#4a8a6a" opacity="0.6"/>
|
|
96
|
-
<circle cx="1040" cy="420" r="8" fill="#4a8a6a" opacity="0.6"/>
|
|
97
|
-
<circle cx="860" cy="540" r="8" fill="#5a9a7a" opacity="0.6"/>
|
|
98
|
-
<circle cx="1060" cy="580" r="8" fill="#4a8a6a" opacity="0.6"/>
|
|
99
|
-
<circle cx="950" cy="640" r="8" fill="#4a8a6a" opacity="0.6"/>
|
|
100
|
-
|
|
101
|
-
<!-- YAKMESH text in globe -->
|
|
102
|
-
<text x="960" y="510" fill="#4a8a6a" opacity="0.5" font-size="24" font-family="monospace" text-anchor="middle">YAKMESH</text>
|
|
103
|
-
<text x="960" y="540" fill="#3d6a5a" opacity="0.4" font-size="16" font-family="monospace" text-anchor="middle">WEB</text>
|
|
104
|
-
|
|
105
|
-
<!-- RIGHT SIDE - Client devices -->
|
|
106
|
-
<line x1="1160" y1="350" x2="1450" y2="280" stroke="#3d6a5a" stroke-width="2" opacity="0.4"/>
|
|
107
|
-
<line x1="1160" y1="430" x2="1500" y2="400" stroke="#3d6a5a" stroke-width="2" opacity="0.4"/>
|
|
108
|
-
<line x1="1160" y1="520" x2="1550" y2="520" stroke="#4a8a6a" stroke-width="3" opacity="0.5"/>
|
|
109
|
-
<line x1="1160" y1="610" x2="1500" y2="640" stroke="#3d6a5a" stroke-width="2" opacity="0.4"/>
|
|
110
|
-
<line x1="1160" y1="690" x2="1450" y2="760" stroke="#3d6a5a" stroke-width="2" opacity="0.4"/>
|
|
111
|
-
|
|
112
|
-
<!-- Desktop client -->
|
|
113
|
-
<rect x="1480" y="240" width="100" height="80" rx="5" fill="#1a2a22" opacity="0.7"/>
|
|
114
|
-
<rect x="1480" y="240" width="100" height="80" rx="5" stroke="#2e4c43" stroke-width="2" fill="none" opacity="0.4"/>
|
|
115
|
-
<rect x="1490" y="250" width="80" height="50" fill="#2e4c43" opacity="0.3"/>
|
|
116
|
-
<rect x="1510" y="320" width="40" height="8" fill="#2e4c43" opacity="0.4"/>
|
|
117
|
-
|
|
118
|
-
<!-- Laptop client -->
|
|
119
|
-
<rect x="1540" y="380" width="90" height="60" rx="5" fill="#1a2a22" opacity="0.7"/>
|
|
120
|
-
<rect x="1540" y="380" width="90" height="60" rx="5" stroke="#2e4c43" stroke-width="2" fill="none" opacity="0.4"/>
|
|
121
|
-
<polygon points="1530,440 1640,440 1650,460 1520,460" fill="#1a2a22" opacity="0.7"/>
|
|
122
|
-
|
|
123
|
-
<!-- Mobile client -->
|
|
124
|
-
<rect x="1580" y="480" width="50" height="80" rx="8" fill="#1a2a22" opacity="0.7"/>
|
|
125
|
-
<rect x="1580" y="480" width="50" height="80" rx="8" stroke="#2e4c43" stroke-width="2" fill="none" opacity="0.4"/>
|
|
126
|
-
<rect x="1588" y="490" width="34" height="55" fill="#2e4c43" opacity="0.3"/>
|
|
127
|
-
|
|
128
|
-
<!-- Tablet client -->
|
|
129
|
-
<rect x="1540" y="620" width="80" height="60" rx="5" fill="#1a2a22" opacity="0.7"/>
|
|
130
|
-
<rect x="1540" y="620" width="80" height="60" rx="5" stroke="#2e4c43" stroke-width="2" fill="none" opacity="0.4"/>
|
|
131
|
-
<rect x="1548" y="628" width="64" height="44" fill="#2e4c43" opacity="0.3"/>
|
|
132
|
-
|
|
133
|
-
<!-- Terminal client -->
|
|
134
|
-
<rect x="1480" y="740" width="100" height="60" rx="5" fill="#1a2a22" opacity="0.7"/>
|
|
135
|
-
<rect x="1480" y="740" width="100" height="60" rx="5" stroke="#2e4c43" stroke-width="2" fill="none" opacity="0.4"/>
|
|
136
|
-
<text x="1530" y="775" fill="#4a8a6a" opacity="0.4" font-size="10" font-family="monospace" text-anchor="middle">>_</text>
|
|
137
|
-
|
|
138
|
-
<!-- Data flow on main line -->
|
|
139
|
-
<circle cx="1250" cy="520" r="5" fill="#5a9a7a" opacity="0.5"/>
|
|
140
|
-
<circle cx="1350" cy="520" r="5" fill="#5a9a7a" opacity="0.5"/>
|
|
141
|
-
<circle cx="1450" cy="520" r="5" fill="#5a9a7a" opacity="0.5"/>
|
|
142
|
-
|
|
143
|
-
<!-- Ground -->
|
|
144
|
-
<polygon points="0,900 400,880 700,930 1000,890 1400,950 1700,900 1920,940 1920,1080 0,1080" fill="#101a16" opacity="0.75"/>
|
|
145
|
-
</svg>
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
|
|
2
|
-
<defs>
|
|
3
|
-
<radialGradient id="yakGlow" cx="40%" cy="70%" r="50%">
|
|
4
|
-
<stop offset="0%" stop-color="#4a8a6a" stop-opacity="0.08"/>
|
|
5
|
-
<stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
|
|
6
|
-
</radialGradient>
|
|
7
|
-
</defs>
|
|
8
|
-
|
|
9
|
-
<!-- MOUNTAIN BACKDROP -->
|
|
10
|
-
<polygon points="0,650 200,350 400,580 400,1080 0,1080" fill="#1a2a22" opacity="0.4"/>
|
|
11
|
-
<polygon points="300,620 550,280 800,550 800,1080 300,1080" fill="#1a2a22" opacity="0.45"/>
|
|
12
|
-
<polygon points="1200,600 1450,300 1700,550 1700,1080 1200,1080" fill="#1a2a22" opacity="0.4"/>
|
|
13
|
-
<polygon points="1600,650 1800,400 1920,600 1920,1080 1600,1080" fill="#1a2a22" opacity="0.35"/>
|
|
14
|
-
|
|
15
|
-
<!-- Mid-ground ridge -->
|
|
16
|
-
<polygon points="0,800 300,750 600,780 900,720 1200,760 1500,730 1920,800 1920,1080 0,1080" fill="#1a2a22" opacity="0.55"/>
|
|
17
|
-
|
|
18
|
-
<!-- THE MIGHTY YAK - center-left, large and imposing -->
|
|
19
|
-
<!-- Body - massive and shaggy -->
|
|
20
|
-
<ellipse cx="700" cy="700" rx="280" ry="180" fill="#101a16"/>
|
|
21
|
-
|
|
22
|
-
<!-- Shaggy fur texture on body -->
|
|
23
|
-
<path d="M450,680 Q420,720 440,780" stroke="#1f332d" stroke-width="3" fill="none" opacity="0.4"/>
|
|
24
|
-
<path d="M480,700 Q450,750 470,820" stroke="#1f332d" stroke-width="3" fill="none" opacity="0.4"/>
|
|
25
|
-
<path d="M520,720 Q490,780 510,860" stroke="#1f332d" stroke-width="3" fill="none" opacity="0.4"/>
|
|
26
|
-
<path d="M880,700 Q910,750 890,820" stroke="#1f332d" stroke-width="3" fill="none" opacity="0.4"/>
|
|
27
|
-
<path d="M920,680 Q950,720 930,780" stroke="#1f332d" stroke-width="3" fill="none" opacity="0.4"/>
|
|
28
|
-
|
|
29
|
-
<!-- Shoulder hump -->
|
|
30
|
-
<ellipse cx="600" cy="600" rx="120" ry="80" fill="#101a16"/>
|
|
31
|
-
|
|
32
|
-
<!-- Head -->
|
|
33
|
-
<ellipse cx="380" cy="620" rx="100" ry="70" fill="#101a16"/>
|
|
34
|
-
|
|
35
|
-
<!-- Snout -->
|
|
36
|
-
<ellipse cx="290" cy="650" rx="50" ry="35" fill="#101a16"/>
|
|
37
|
-
|
|
38
|
-
<!-- HORNS - curved and powerful -->
|
|
39
|
-
<path d="M350,570 Q280,480 200,500" stroke="#101a16" stroke-width="25" fill="none"/>
|
|
40
|
-
<path d="M350,570 Q280,480 200,500" stroke="#2e4c43" stroke-width="3" fill="none" opacity="0.4"/>
|
|
41
|
-
<path d="M410,570 Q480,480 560,500" stroke="#101a16" stroke-width="25" fill="none"/>
|
|
42
|
-
<path d="M410,570 Q480,480 560,500" stroke="#2e4c43" stroke-width="3" fill="none" opacity="0.4"/>
|
|
43
|
-
|
|
44
|
-
<!-- Eye -->
|
|
45
|
-
<circle cx="340" cy="600" r="8" fill="#2e4c43" opacity="0.5"/>
|
|
46
|
-
|
|
47
|
-
<!-- Nostril -->
|
|
48
|
-
<ellipse cx="260" cy="660" rx="8" ry="5" fill="#1a2a22" opacity="0.4"/>
|
|
49
|
-
|
|
50
|
-
<!-- Legs - sturdy -->
|
|
51
|
-
<rect x="520" y="850" width="50" height="150" fill="#101a16"/>
|
|
52
|
-
<rect x="620" y="860" width="50" height="140" fill="#101a16"/>
|
|
53
|
-
<rect x="750" y="855" width="50" height="145" fill="#101a16"/>
|
|
54
|
-
<rect x="850" y="850" width="50" height="150" fill="#101a16"/>
|
|
55
|
-
|
|
56
|
-
<!-- Hooves -->
|
|
57
|
-
<ellipse cx="545" cy="1000" rx="30" ry="15" fill="#1a2a22" opacity="0.6"/>
|
|
58
|
-
<ellipse cx="645" cy="1000" rx="30" ry="15" fill="#1a2a22" opacity="0.6"/>
|
|
59
|
-
<ellipse cx="775" cy="1000" rx="30" ry="15" fill="#1a2a22" opacity="0.6"/>
|
|
60
|
-
<ellipse cx="875" cy="1000" rx="30" ry="15" fill="#1a2a22" opacity="0.6"/>
|
|
61
|
-
|
|
62
|
-
<!-- Tail -->
|
|
63
|
-
<path d="M980,680 Q1050,720 1030,850" stroke="#101a16" stroke-width="20" fill="none"/>
|
|
64
|
-
<path d="M1030,850 Q1020,920 1050,950" stroke="#1f332d" stroke-width="15" fill="none" opacity="0.5"/>
|
|
65
|
-
|
|
66
|
-
<!-- Yak outline highlight -->
|
|
67
|
-
<ellipse cx="700" cy="700" rx="280" ry="180" stroke="#2e4c43" stroke-width="2" fill="none" opacity="0.25"/>
|
|
68
|
-
<ellipse cx="380" cy="620" rx="100" ry="70" stroke="#2e4c43" stroke-width="1.5" fill="none" opacity="0.2"/>
|
|
69
|
-
|
|
70
|
-
<!-- Yak glow -->
|
|
71
|
-
<ellipse cx="650" cy="750" rx="400" ry="250" fill="url(#yakGlow)"/>
|
|
72
|
-
|
|
73
|
-
<!-- Path behind the yak -->
|
|
74
|
-
<path d="M1100,900 Q1300,850 1500,880 Q1700,850 1920,900" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.2" stroke-dasharray="15,8"/>
|
|
75
|
-
|
|
76
|
-
<!-- Ground -->
|
|
77
|
-
<polygon points="0,920 200,900 400,940 600,910 800,950 1000,920 1200,960 1400,930 1600,970 1800,940 1920,980 1920,1080 0,1080" fill="#101a16" opacity="0.7"/>
|
|
78
|
-
</svg>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|