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
package/assets/yakmesh-logo2.png
DELETED
|
Binary file
|
|
Binary file
|
package/assets/ymsm.png
DELETED
|
Binary file
|
|
@@ -1,107 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
|
|
2
|
-
<defs>
|
|
3
|
-
<linearGradient id="connectionGlow" x1="0%" y1="50%" x2="100%" y2="50%">
|
|
4
|
-
<stop offset="0%" stop-color="#3d6a5a" stop-opacity="0.15"/>
|
|
5
|
-
<stop offset="50%" stop-color="#4a8a6a" stop-opacity="0.2"/>
|
|
6
|
-
<stop offset="100%" stop-color="#3d6a5a" stop-opacity="0.15"/>
|
|
7
|
-
</linearGradient>
|
|
8
|
-
</defs>
|
|
9
|
-
|
|
10
|
-
<!-- MOUNTAIN BACKDROP -->
|
|
11
|
-
<polygon points="0,700 200,400 400,650 400,1080 0,1080" fill="#1a2a22" opacity="0.35"/>
|
|
12
|
-
<polygon points="1550,680 1750,380 1920,620 1920,1080 1550,1080" fill="#1a2a22" opacity="0.35"/>
|
|
13
|
-
|
|
14
|
-
<!-- LEFT SIDE - External systems (puzzle pieces) -->
|
|
15
|
-
|
|
16
|
-
<!-- Database block -->
|
|
17
|
-
<rect x="100" y="300" width="180" height="120" rx="10" fill="#1a2a22" opacity="0.7"/>
|
|
18
|
-
<rect x="100" y="300" width="180" height="120" rx="10" stroke="#2e4c43" stroke-width="2" fill="none" opacity="0.4"/>
|
|
19
|
-
<ellipse cx="190" cy="340" rx="60" ry="20" fill="#2e4c43" opacity="0.5"/>
|
|
20
|
-
<rect x="130" y="340" width="120" height="50" fill="#2e4c43" opacity="0.3"/>
|
|
21
|
-
<ellipse cx="190" cy="390" rx="60" ry="20" fill="#2e4c43" opacity="0.4"/>
|
|
22
|
-
<text x="190" y="440" fill="#3d6a5a" opacity="0.4" font-size="16" font-family="monospace" text-anchor="middle">DATABASE</text>
|
|
23
|
-
<!-- Puzzle tab right -->
|
|
24
|
-
<rect x="280" y="340" width="40" height="40" fill="#1a2a22" opacity="0.7"/>
|
|
25
|
-
|
|
26
|
-
<!-- API block -->
|
|
27
|
-
<rect x="100" y="500" width="180" height="120" rx="10" fill="#1a2a22" opacity="0.7"/>
|
|
28
|
-
<rect x="100" y="500" width="180" height="120" rx="10" stroke="#2e4c43" stroke-width="2" fill="none" opacity="0.4"/>
|
|
29
|
-
<text x="190" y="550" fill="#3d6a5a" opacity="0.5" font-size="18" font-family="monospace" text-anchor="middle">{REST}</text>
|
|
30
|
-
<text x="190" y="580" fill="#2e4c43" opacity="0.35" font-size="14" font-family="monospace" text-anchor="middle">External API</text>
|
|
31
|
-
<text x="190" y="640" fill="#3d6a5a" opacity="0.4" font-size="16" font-family="monospace" text-anchor="middle">API</text>
|
|
32
|
-
<!-- Puzzle tab right -->
|
|
33
|
-
<rect x="280" y="540" width="40" height="40" fill="#1a2a22" opacity="0.7"/>
|
|
34
|
-
|
|
35
|
-
<!-- Message Queue block -->
|
|
36
|
-
<rect x="100" y="700" width="180" height="120" rx="10" fill="#1a2a22" opacity="0.7"/>
|
|
37
|
-
<rect x="100" y="700" width="180" height="120" rx="10" stroke="#2e4c43" stroke-width="2" fill="none" opacity="0.4"/>
|
|
38
|
-
<rect x="130" y="740" width="40" height="30" fill="#2e4c43" opacity="0.4"/>
|
|
39
|
-
<rect x="175" y="740" width="40" height="30" fill="#2e4c43" opacity="0.35"/>
|
|
40
|
-
<rect x="220" y="740" width="40" height="30" fill="#2e4c43" opacity="0.3"/>
|
|
41
|
-
<text x="190" y="840" fill="#3d6a5a" opacity="0.4" font-size="16" font-family="monospace" text-anchor="middle">QUEUE</text>
|
|
42
|
-
<!-- Puzzle tab right -->
|
|
43
|
-
<rect x="280" y="740" width="40" height="40" fill="#1a2a22" opacity="0.7"/>
|
|
44
|
-
|
|
45
|
-
<!-- CENTER - YAKMESH Adapter Hub -->
|
|
46
|
-
<rect x="600" y="350" width="350" height="400" rx="20" fill="#0a120e" opacity="0.85"/>
|
|
47
|
-
<rect x="600" y="350" width="350" height="400" rx="20" stroke="#3d6a5a" stroke-width="3" fill="none" opacity="0.5"/>
|
|
48
|
-
|
|
49
|
-
<!-- Puzzle slots on left -->
|
|
50
|
-
<rect x="580" y="380" width="40" height="40" fill="#0a120e" opacity="0.85"/>
|
|
51
|
-
<rect x="580" y="530" width="40" height="40" fill="#0a120e" opacity="0.85"/>
|
|
52
|
-
<rect x="580" y="680" width="40" height="40" fill="#0a120e" opacity="0.85"/>
|
|
53
|
-
|
|
54
|
-
<!-- Hub content -->
|
|
55
|
-
<text x="775" y="420" fill="#4a8a6a" opacity="0.6" font-size="28" font-family="monospace" text-anchor="middle">YAKMESH</text>
|
|
56
|
-
<text x="775" y="455" fill="#3d6a5a" opacity="0.45" font-size="22" font-family="monospace" text-anchor="middle">ADAPTERS</text>
|
|
57
|
-
|
|
58
|
-
<!-- Adapter icons inside hub -->
|
|
59
|
-
<rect x="650" y="500" width="80" height="60" rx="5" fill="#1a2a22" opacity="0.6"/>
|
|
60
|
-
<text x="690" y="540" fill="#3d6a5a" opacity="0.4" font-size="12" font-family="monospace" text-anchor="middle">SQL</text>
|
|
61
|
-
|
|
62
|
-
<rect x="750" y="500" width="80" height="60" rx="5" fill="#1a2a22" opacity="0.6"/>
|
|
63
|
-
<text x="790" y="540" fill="#3d6a5a" opacity="0.4" font-size="12" font-family="monospace" text-anchor="middle">HTTP</text>
|
|
64
|
-
|
|
65
|
-
<rect x="850" y="500" width="80" height="60" rx="5" fill="#1a2a22" opacity="0.6"/>
|
|
66
|
-
<text x="890" y="540" fill="#3d6a5a" opacity="0.4" font-size="12" font-family="monospace" text-anchor="middle">MQ</text>
|
|
67
|
-
|
|
68
|
-
<rect x="700" y="600" width="80" height="60" rx="5" fill="#1a2a22" opacity="0.6"/>
|
|
69
|
-
<text x="740" y="640" fill="#3d6a5a" opacity="0.4" font-size="12" font-family="monospace" text-anchor="middle">WS</text>
|
|
70
|
-
|
|
71
|
-
<rect x="800" y="600" width="80" height="60" rx="5" fill="#1a2a22" opacity="0.6"/>
|
|
72
|
-
<text x="840" y="640" fill="#3d6a5a" opacity="0.4" font-size="12" font-family="monospace" text-anchor="middle">gRPC</text>
|
|
73
|
-
|
|
74
|
-
<!-- CONNECTION LINES - left to center -->
|
|
75
|
-
<line x1="320" y1="360" x2="580" y2="400" stroke="#3d6a5a" stroke-width="3" opacity="0.4"/>
|
|
76
|
-
<line x1="320" y1="560" x2="580" y2="550" stroke="#3d6a5a" stroke-width="3" opacity="0.4"/>
|
|
77
|
-
<line x1="320" y1="760" x2="580" y2="700" stroke="#3d6a5a" stroke-width="3" opacity="0.4"/>
|
|
78
|
-
|
|
79
|
-
<!-- Connection glow -->
|
|
80
|
-
<rect x="320" y="340" width="260" height="450" fill="url(#connectionGlow)"/>
|
|
81
|
-
|
|
82
|
-
<!-- RIGHT SIDE - YAKMESH Network -->
|
|
83
|
-
<circle cx="1400" cy="550" r="180" fill="#1a2a22" opacity="0.6"/>
|
|
84
|
-
<circle cx="1400" cy="550" r="180" stroke="#4a8a6a" stroke-width="3" fill="none" opacity="0.5"/>
|
|
85
|
-
<circle cx="1400" cy="550" r="120" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.3"/>
|
|
86
|
-
<circle cx="1400" cy="550" r="60" fill="#2e4c43" opacity="0.4"/>
|
|
87
|
-
<text x="1400" y="545" fill="#4a8a6a" opacity="0.5" font-size="20" font-family="monospace" text-anchor="middle">MESH</text>
|
|
88
|
-
<text x="1400" y="570" fill="#3d6a5a" opacity="0.4" font-size="14" font-family="monospace" text-anchor="middle">NETWORK</text>
|
|
89
|
-
|
|
90
|
-
<!-- Network nodes -->
|
|
91
|
-
<circle cx="1280" cy="420" r="15" fill="#3d6a5a" opacity="0.4"/>
|
|
92
|
-
<circle cx="1520" cy="440" r="15" fill="#3d6a5a" opacity="0.4"/>
|
|
93
|
-
<circle cx="1300" cy="680" r="15" fill="#3d6a5a" opacity="0.4"/>
|
|
94
|
-
<circle cx="1500" cy="660" r="15" fill="#3d6a5a" opacity="0.4"/>
|
|
95
|
-
|
|
96
|
-
<!-- Connection from hub to network -->
|
|
97
|
-
<line x1="950" y1="550" x2="1220" y2="550" stroke="#4a8a6a" stroke-width="4" opacity="0.5"/>
|
|
98
|
-
<polygon points="1220,540 1240,550 1220,560" fill="#4a8a6a" opacity="0.5"/>
|
|
99
|
-
|
|
100
|
-
<!-- Data flow indicators -->
|
|
101
|
-
<circle cx="1050" cy="550" r="5" fill="#5a9a7a" opacity="0.5"/>
|
|
102
|
-
<circle cx="1120" cy="550" r="5" fill="#5a9a7a" opacity="0.5"/>
|
|
103
|
-
<circle cx="1180" cy="550" r="5" fill="#5a9a7a" opacity="0.5"/>
|
|
104
|
-
|
|
105
|
-
<!-- Ground -->
|
|
106
|
-
<polygon points="0,920 300,900 600,950 900,920 1200,970 1500,930 1920,980 1920,1080 0,1080" fill="#101a16" opacity="0.75"/>
|
|
107
|
-
</svg>
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
|
|
2
|
-
<defs>
|
|
3
|
-
<linearGradient id="hubGlow" x1="50%" y1="0%" x2="50%" y2="100%">
|
|
4
|
-
<stop offset="0%" stop-color="#4a8a6a" stop-opacity="0.3"/>
|
|
5
|
-
<stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
|
|
6
|
-
</linearGradient>
|
|
7
|
-
</defs>
|
|
8
|
-
|
|
9
|
-
<!-- MOUNTAIN BACKDROP -->
|
|
10
|
-
<polygon points="0,650 200,380 400,600 0,1080" fill="#1a2a22" opacity="0.3"/>
|
|
11
|
-
<polygon points="1600,620 1800,350 1920,550 1920,1080 1600,1080" fill="#1a2a22" opacity="0.3"/>
|
|
12
|
-
|
|
13
|
-
<!-- CENTER - API Hub hexagon -->
|
|
14
|
-
<polygon points="960,180 1160,280 1160,480 960,580 760,480 760,280" fill="#0a120e" opacity="0.9"/>
|
|
15
|
-
<polygon points="960,180 1160,280 1160,480 960,580 760,480 760,280" stroke="#4a8a6a" stroke-width="4" fill="none" opacity="0.6"/>
|
|
16
|
-
<polygon points="960,220 1120,300 1120,460 960,540 800,460 800,300" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.35"/>
|
|
17
|
-
|
|
18
|
-
<!-- API label in center -->
|
|
19
|
-
<text x="960" y="360" fill="#5a9a7a" opacity="0.7" font-size="48" font-family="monospace" text-anchor="middle">API</text>
|
|
20
|
-
<text x="960" y="410" fill="#4a8a6a" opacity="0.5" font-size="20" font-family="monospace" text-anchor="middle">GATEWAY</text>
|
|
21
|
-
|
|
22
|
-
<!-- Glow behind hub -->
|
|
23
|
-
<ellipse cx="960" cy="380" rx="250" ry="250" fill="url(#hubGlow)"/>
|
|
24
|
-
|
|
25
|
-
<!-- ENDPOINT BOXES arranged around the hub -->
|
|
26
|
-
|
|
27
|
-
<!-- TOP LEFT - /auth -->
|
|
28
|
-
<rect x="350" y="100" width="200" height="100" rx="10" fill="#1a2a22" opacity="0.8"/>
|
|
29
|
-
<rect x="350" y="100" width="200" height="100" rx="10" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.5"/>
|
|
30
|
-
<text x="450" y="145" fill="#4a8a6a" opacity="0.6" font-size="16" font-family="monospace" text-anchor="middle">POST</text>
|
|
31
|
-
<text x="450" y="175" fill="#5a9a7a" opacity="0.5" font-size="20" font-family="monospace" text-anchor="middle">/auth</text>
|
|
32
|
-
<line x1="550" y1="150" x2="760" y2="280" stroke="#3d6a5a" stroke-width="2" opacity="0.4"/>
|
|
33
|
-
<circle cx="650" cy="215" r="4" fill="#4a8a6a" opacity="0.5"/>
|
|
34
|
-
|
|
35
|
-
<!-- TOP RIGHT - /nodes -->
|
|
36
|
-
<rect x="1370" y="100" width="200" height="100" rx="10" fill="#1a2a22" opacity="0.8"/>
|
|
37
|
-
<rect x="1370" y="100" width="200" height="100" rx="10" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.5"/>
|
|
38
|
-
<text x="1470" y="145" fill="#4a8a6a" opacity="0.6" font-size="16" font-family="monospace" text-anchor="middle">GET</text>
|
|
39
|
-
<text x="1470" y="175" fill="#5a9a7a" opacity="0.5" font-size="20" font-family="monospace" text-anchor="middle">/nodes</text>
|
|
40
|
-
<line x1="1370" y1="150" x2="1160" y2="280" stroke="#3d6a5a" stroke-width="2" opacity="0.4"/>
|
|
41
|
-
<circle cx="1265" cy="215" r="4" fill="#4a8a6a" opacity="0.5"/>
|
|
42
|
-
|
|
43
|
-
<!-- LEFT - /geo -->
|
|
44
|
-
<rect x="200" y="320" width="200" height="100" rx="10" fill="#1a2a22" opacity="0.8"/>
|
|
45
|
-
<rect x="200" y="320" width="200" height="100" rx="10" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.5"/>
|
|
46
|
-
<text x="300" y="365" fill="#4a8a6a" opacity="0.6" font-size="16" font-family="monospace" text-anchor="middle">POST</text>
|
|
47
|
-
<text x="300" y="395" fill="#5a9a7a" opacity="0.5" font-size="20" font-family="monospace" text-anchor="middle">/geo/proof</text>
|
|
48
|
-
<line x1="400" y1="370" x2="760" y2="380" stroke="#4a8a6a" stroke-width="3" opacity="0.5"/>
|
|
49
|
-
<circle cx="580" cy="375" r="5" fill="#5a9a7a" opacity="0.5"/>
|
|
50
|
-
|
|
51
|
-
<!-- RIGHT - /sync -->
|
|
52
|
-
<rect x="1520" y="320" width="200" height="100" rx="10" fill="#1a2a22" opacity="0.8"/>
|
|
53
|
-
<rect x="1520" y="320" width="200" height="100" rx="10" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.5"/>
|
|
54
|
-
<text x="1620" y="365" fill="#4a8a6a" opacity="0.6" font-size="16" font-family="monospace" text-anchor="middle">WS</text>
|
|
55
|
-
<text x="1620" y="395" fill="#5a9a7a" opacity="0.5" font-size="20" font-family="monospace" text-anchor="middle">/sync</text>
|
|
56
|
-
<line x1="1520" y1="370" x2="1160" y2="380" stroke="#4a8a6a" stroke-width="3" opacity="0.5"/>
|
|
57
|
-
<circle cx="1340" cy="375" r="5" fill="#5a9a7a" opacity="0.5"/>
|
|
58
|
-
|
|
59
|
-
<!-- BOTTOM LEFT - /time -->
|
|
60
|
-
<rect x="350" y="550" width="200" height="100" rx="10" fill="#1a2a22" opacity="0.8"/>
|
|
61
|
-
<rect x="350" y="550" width="200" height="100" rx="10" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.5"/>
|
|
62
|
-
<text x="450" y="595" fill="#4a8a6a" opacity="0.6" font-size="16" font-family="monospace" text-anchor="middle">GET</text>
|
|
63
|
-
<text x="450" y="625" fill="#5a9a7a" opacity="0.5" font-size="20" font-family="monospace" text-anchor="middle">/time</text>
|
|
64
|
-
<line x1="550" y1="600" x2="760" y2="480" stroke="#3d6a5a" stroke-width="2" opacity="0.4"/>
|
|
65
|
-
<circle cx="655" cy="540" r="4" fill="#4a8a6a" opacity="0.5"/>
|
|
66
|
-
|
|
67
|
-
<!-- BOTTOM RIGHT - /mesh -->
|
|
68
|
-
<rect x="1370" y="550" width="200" height="100" rx="10" fill="#1a2a22" opacity="0.8"/>
|
|
69
|
-
<rect x="1370" y="550" width="200" height="100" rx="10" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.5"/>
|
|
70
|
-
<text x="1470" y="595" fill="#4a8a6a" opacity="0.6" font-size="16" font-family="monospace" text-anchor="middle">POST</text>
|
|
71
|
-
<text x="1470" y="625" fill="#5a9a7a" opacity="0.5" font-size="20" font-family="monospace" text-anchor="middle">/mesh</text>
|
|
72
|
-
<line x1="1370" y1="600" x2="1160" y2="480" stroke="#3d6a5a" stroke-width="2" opacity="0.4"/>
|
|
73
|
-
<circle cx="1265" cy="540" r="4" fill="#4a8a6a" opacity="0.5"/>
|
|
74
|
-
|
|
75
|
-
<!-- BOTTOM CENTER - /oracle -->
|
|
76
|
-
<rect x="860" y="680" width="200" height="100" rx="10" fill="#1a2a22" opacity="0.8"/>
|
|
77
|
-
<rect x="860" y="680" width="200" height="100" rx="10" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.5"/>
|
|
78
|
-
<text x="960" y="725" fill="#4a8a6a" opacity="0.6" font-size="16" font-family="monospace" text-anchor="middle">POST</text>
|
|
79
|
-
<text x="960" y="755" fill="#5a9a7a" opacity="0.5" font-size="20" font-family="monospace" text-anchor="middle">/oracle</text>
|
|
80
|
-
<line x1="960" y1="680" x2="960" y2="580" stroke="#4a8a6a" stroke-width="3" opacity="0.5"/>
|
|
81
|
-
<circle cx="960" cy="630" r="5" fill="#5a9a7a" opacity="0.5"/>
|
|
82
|
-
|
|
83
|
-
<!-- Additional small endpoints floating -->
|
|
84
|
-
<rect x="100" y="550" width="120" height="60" rx="5" fill="#1a2a22" opacity="0.6"/>
|
|
85
|
-
<text x="160" y="590" fill="#3d6a5a" opacity="0.4" font-size="14" font-family="monospace" text-anchor="middle">/health</text>
|
|
86
|
-
|
|
87
|
-
<rect x="1700" y="550" width="120" height="60" rx="5" fill="#1a2a22" opacity="0.6"/>
|
|
88
|
-
<text x="1760" y="590" fill="#3d6a5a" opacity="0.4" font-size="14" font-family="monospace" text-anchor="middle">/metrics</text>
|
|
89
|
-
|
|
90
|
-
<rect x="600" y="720" width="120" height="60" rx="5" fill="#1a2a22" opacity="0.6"/>
|
|
91
|
-
<text x="660" y="760" fill="#3d6a5a" opacity="0.4" font-size="14" font-family="monospace" text-anchor="middle">/config</text>
|
|
92
|
-
|
|
93
|
-
<rect x="1200" y="720" width="120" height="60" rx="5" fill="#1a2a22" opacity="0.6"/>
|
|
94
|
-
<text x="1260" y="760" fill="#3d6a5a" opacity="0.4" font-size="14" font-family="monospace" text-anchor="middle">/status</text>
|
|
95
|
-
|
|
96
|
-
<!-- HTTP methods legend at bottom -->
|
|
97
|
-
<rect x="700" y="850" width="60" height="30" rx="5" fill="#2e4c43" opacity="0.4"/>
|
|
98
|
-
<text x="730" y="870" fill="#4a8a6a" opacity="0.5" font-size="12" font-family="monospace" text-anchor="middle">GET</text>
|
|
99
|
-
|
|
100
|
-
<rect x="780" y="850" width="60" height="30" rx="5" fill="#3d6a5a" opacity="0.4"/>
|
|
101
|
-
<text x="810" y="870" fill="#4a8a6a" opacity="0.5" font-size="12" font-family="monospace" text-anchor="middle">POST</text>
|
|
102
|
-
|
|
103
|
-
<rect x="860" y="850" width="60" height="30" rx="5" fill="#4a8a6a" opacity="0.4"/>
|
|
104
|
-
<text x="890" y="870" fill="#5a9a7a" opacity="0.5" font-size="12" font-family="monospace" text-anchor="middle">PUT</text>
|
|
105
|
-
|
|
106
|
-
<rect x="940" y="850" width="60" height="30" rx="5" fill="#2e4c43" opacity="0.4"/>
|
|
107
|
-
<text x="970" y="870" fill="#4a8a6a" opacity="0.5" font-size="12" font-family="monospace" text-anchor="middle">WS</text>
|
|
108
|
-
|
|
109
|
-
<!-- Response arrows going back -->
|
|
110
|
-
<polygon points="450,210 445,200 455,200" fill="#4a8a6a" opacity="0.4"/>
|
|
111
|
-
<polygon points="1490,210 1485,200 1495,200" fill="#4a8a6a" opacity="0.4"/>
|
|
112
|
-
|
|
113
|
-
<!-- Ground -->
|
|
114
|
-
<polygon points="0,920 300,900 600,950 900,920 1200,970 1500,930 1920,980 1920,1080 0,1080" fill="#101a16" opacity="0.75"/>
|
|
115
|
-
</svg>
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
|
|
2
|
-
<defs>
|
|
3
|
-
<radialGradient id="clockGlow" cx="50%" cy="50%" r="50%">
|
|
4
|
-
<stop offset="0%" stop-color="#4a8a6a" stop-opacity="0.15"/>
|
|
5
|
-
<stop offset="70%" stop-color="#3d6a5a" stop-opacity="0.08"/>
|
|
6
|
-
<stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
|
|
7
|
-
</radialGradient>
|
|
8
|
-
</defs>
|
|
9
|
-
|
|
10
|
-
<!-- MOUNTAIN BACKDROP -->
|
|
11
|
-
<polygon points="0,650 200,350 400,600 400,1080 0,1080" fill="#1a2a22" opacity="0.35"/>
|
|
12
|
-
<polygon points="300,680 500,380 700,620 700,1080 300,1080" fill="#1a2a22" opacity="0.4"/>
|
|
13
|
-
<polygon points="1300,660 1500,360 1700,600 1700,1080 1300,1080" fill="#1a2a22" opacity="0.4"/>
|
|
14
|
-
<polygon points="1600,680 1800,420 1920,650 1920,1080 1600,1080" fill="#1a2a22" opacity="0.35"/>
|
|
15
|
-
|
|
16
|
-
<!-- GIANT CLOCK FACE - center -->
|
|
17
|
-
<circle cx="960" cy="500" r="380" fill="#0a120e" opacity="0.8"/>
|
|
18
|
-
<circle cx="960" cy="500" r="380" stroke="#2e4c43" stroke-width="4" fill="none" opacity="0.5"/>
|
|
19
|
-
<circle cx="960" cy="500" r="360" stroke="#1f332d" stroke-width="2" fill="none" opacity="0.3"/>
|
|
20
|
-
|
|
21
|
-
<!-- Clock glow -->
|
|
22
|
-
<circle cx="960" cy="500" r="400" fill="url(#clockGlow)"/>
|
|
23
|
-
|
|
24
|
-
<!-- Clock hour markers -->
|
|
25
|
-
<line x1="960" y1="140" x2="960" y2="180" stroke="#3d6a5a" stroke-width="4" opacity="0.5"/>
|
|
26
|
-
<line x1="960" y1="820" x2="960" y2="860" stroke="#3d6a5a" stroke-width="4" opacity="0.5"/>
|
|
27
|
-
<line x1="600" y1="500" x2="640" y2="500" stroke="#3d6a5a" stroke-width="4" opacity="0.5"/>
|
|
28
|
-
<line x1="1280" y1="500" x2="1320" y2="500" stroke="#3d6a5a" stroke-width="4" opacity="0.5"/>
|
|
29
|
-
|
|
30
|
-
<!-- Minor hour markers -->
|
|
31
|
-
<circle cx="1120" cy="222" r="5" fill="#2e4c43" opacity="0.4"/>
|
|
32
|
-
<circle cx="1238" cy="340" r="5" fill="#2e4c43" opacity="0.4"/>
|
|
33
|
-
<circle cx="1238" cy="660" r="5" fill="#2e4c43" opacity="0.4"/>
|
|
34
|
-
<circle cx="1120" cy="778" r="5" fill="#2e4c43" opacity="0.4"/>
|
|
35
|
-
<circle cx="800" cy="778" r="5" fill="#2e4c43" opacity="0.4"/>
|
|
36
|
-
<circle cx="682" cy="660" r="5" fill="#2e4c43" opacity="0.4"/>
|
|
37
|
-
<circle cx="682" cy="340" r="5" fill="#2e4c43" opacity="0.4"/>
|
|
38
|
-
<circle cx="800" cy="222" r="5" fill="#2e4c43" opacity="0.4"/>
|
|
39
|
-
|
|
40
|
-
<!-- Clock hands - frozen at high precision moment -->
|
|
41
|
-
<!-- Hour hand -->
|
|
42
|
-
<line x1="960" y1="500" x2="960" y2="280" stroke="#3d6a5a" stroke-width="8" opacity="0.5"/>
|
|
43
|
-
<!-- Minute hand -->
|
|
44
|
-
<line x1="960" y1="500" x2="1150" y2="380" stroke="#4a8a6a" stroke-width="5" opacity="0.5"/>
|
|
45
|
-
<!-- Second hand - ultra thin, precision -->
|
|
46
|
-
<line x1="960" y1="500" x2="780" y2="340" stroke="#5a9a7a" stroke-width="2" opacity="0.6"/>
|
|
47
|
-
|
|
48
|
-
<!-- Center hub -->
|
|
49
|
-
<circle cx="960" cy="500" r="15" fill="#4a8a6a" opacity="0.5"/>
|
|
50
|
-
|
|
51
|
-
<!-- ATOMIC ORBITS around the clock -->
|
|
52
|
-
<ellipse cx="960" cy="500" rx="450" ry="150" stroke="#3d6a5a" stroke-width="1.5" fill="none" opacity="0.25" transform="rotate(-30, 960, 500)"/>
|
|
53
|
-
<ellipse cx="960" cy="500" rx="480" ry="160" stroke="#3d6a5a" stroke-width="1.5" fill="none" opacity="0.2" transform="rotate(30, 960, 500)"/>
|
|
54
|
-
<ellipse cx="960" cy="500" rx="420" ry="140" stroke="#2e4c43" stroke-width="1.5" fill="none" opacity="0.2" transform="rotate(90, 960, 500)"/>
|
|
55
|
-
|
|
56
|
-
<!-- Electrons on orbits -->
|
|
57
|
-
<circle cx="560" cy="380" r="8" fill="#4a8a6a" opacity="0.4"/>
|
|
58
|
-
<circle cx="1380" cy="600" r="8" fill="#4a8a6a" opacity="0.4"/>
|
|
59
|
-
<circle cx="960" cy="100" r="8" fill="#4a8a6a" opacity="0.35"/>
|
|
60
|
-
|
|
61
|
-
<!-- GPS SATELLITES in corners -->
|
|
62
|
-
<!-- Top left -->
|
|
63
|
-
<circle cx="200" cy="150" r="6" fill="#4a8a6a" opacity="0.35"/>
|
|
64
|
-
<line x1="200" y1="150" x2="700" y2="350" stroke="#3d6a5a" stroke-width="1" opacity="0.2" stroke-dasharray="5,5"/>
|
|
65
|
-
|
|
66
|
-
<!-- Top right -->
|
|
67
|
-
<circle cx="1700" cy="180" r="6" fill="#4a8a6a" opacity="0.35"/>
|
|
68
|
-
<line x1="1700" y1="180" x2="1200" y2="380" stroke="#3d6a5a" stroke-width="1" opacity="0.2" stroke-dasharray="5,5"/>
|
|
69
|
-
|
|
70
|
-
<!-- Bottom left -->
|
|
71
|
-
<circle cx="250" cy="750" r="6" fill="#4a8a6a" opacity="0.3"/>
|
|
72
|
-
<line x1="250" y1="750" x2="650" y2="600" stroke="#3d6a5a" stroke-width="1" opacity="0.15" stroke-dasharray="5,5"/>
|
|
73
|
-
|
|
74
|
-
<!-- Precision indicator -->
|
|
75
|
-
<text x="960" y="680" fill="#4a8a6a" opacity="0.35" font-size="28" font-family="monospace" text-anchor="middle">±1ms</text>
|
|
76
|
-
|
|
77
|
-
<!-- Stratum levels -->
|
|
78
|
-
<text x="100" y="950" fill="#3d6a5a" opacity="0.2" font-size="20" font-family="monospace">Stratum 0 ← GPS/Atomic</text>
|
|
79
|
-
<text x="100" y="980" fill="#2e4c43" opacity="0.15" font-size="18" font-family="monospace">Stratum 1 ← NTP Server</text>
|
|
80
|
-
|
|
81
|
-
<!-- Ground -->
|
|
82
|
-
<polygon points="0,920 300,900 600,940 900,910 1200,950 1500,920 1920,960 1920,1080 0,1080" fill="#101a16" opacity="0.75"/>
|
|
83
|
-
</svg>
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
|
|
2
|
-
<defs>
|
|
3
|
-
<linearGradient id="skyGradient" x1="0%" y1="0%" x2="0%" y2="100%">
|
|
4
|
-
<stop offset="0%" stop-color="#101a16" stop-opacity="1"/>
|
|
5
|
-
<stop offset="60%" stop-color="#1a2a22" stop-opacity="0.8"/>
|
|
6
|
-
<stop offset="100%" stop-color="#1f332d" stop-opacity="0.4"/>
|
|
7
|
-
</linearGradient>
|
|
8
|
-
<radialGradient id="campGlow" cx="50%" cy="90%" r="50%">
|
|
9
|
-
<stop offset="0%" stop-color="#4a8a6a" stop-opacity="0.08"/>
|
|
10
|
-
<stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
|
|
11
|
-
</radialGradient>
|
|
12
|
-
</defs>
|
|
13
|
-
|
|
14
|
-
<!-- DISTANT MOUNTAIN RANGE -->
|
|
15
|
-
<!-- Far peaks - very subtle -->
|
|
16
|
-
<polygon points="0,600 200,300 400,550 400,1080 0,1080" fill="#1a2a22" opacity="0.35"/>
|
|
17
|
-
<polygon points="300,580 550,250 800,520 800,1080 300,1080" fill="#1a2a22" opacity="0.4"/>
|
|
18
|
-
<polygon points="700,550 960,180 1220,540 1220,1080 700,1080" fill="#1a2a22" opacity="0.45"/>
|
|
19
|
-
<polygon points="1100,560 1350,280 1600,530 1600,1080 1100,1080" fill="#1a2a22" opacity="0.4"/>
|
|
20
|
-
<polygon points="1500,590 1750,320 1920,550 1920,1080 1500,1080" fill="#1a2a22" opacity="0.35"/>
|
|
21
|
-
|
|
22
|
-
<!-- Main peak - Everest analog -->
|
|
23
|
-
<polygon points="750,650 960,180 1170,650" fill="#1f332d" opacity="0.55"/>
|
|
24
|
-
<!-- Snow cap -->
|
|
25
|
-
<polygon points="900,320 960,180 1020,320" fill="#2e4c43" opacity="0.35"/>
|
|
26
|
-
|
|
27
|
-
<!-- Mid-ground ridge -->
|
|
28
|
-
<polygon points="0,800 300,700 600,750 900,680 1200,720 1500,690 1920,780 1920,1080 0,1080" fill="#1a2a22" opacity="0.6"/>
|
|
29
|
-
|
|
30
|
-
<!-- Camp glow -->
|
|
31
|
-
<ellipse cx="960" cy="950" rx="600" ry="200" fill="url(#campGlow)"/>
|
|
32
|
-
|
|
33
|
-
<!-- FOREGROUND - Base camp area -->
|
|
34
|
-
<polygon points="0,850 400,820 700,860 1000,830 1300,870 1600,840 1920,880 1920,1080 0,1080" fill="#101a16" opacity="0.9"/>
|
|
35
|
-
|
|
36
|
-
<!-- TENTS - spread across camp -->
|
|
37
|
-
<!-- Tent 1 - left -->
|
|
38
|
-
<polygon points="250,920 320,850 390,920" fill="#1f332d" opacity="0.7"/>
|
|
39
|
-
<polygon points="280,920 320,870 360,920" fill="#2e4c43" opacity="0.4"/>
|
|
40
|
-
<line x1="320" y1="850" x2="320" y2="840" stroke="#3d6a5a" stroke-width="2" opacity="0.3"/>
|
|
41
|
-
|
|
42
|
-
<!-- Tent 2 - center-left -->
|
|
43
|
-
<polygon points="550,900 640,810 730,900" fill="#1f332d" opacity="0.75"/>
|
|
44
|
-
<polygon points="585,900 640,840 695,900" fill="#2e4c43" opacity="0.45"/>
|
|
45
|
-
<line x1="640" y1="810" x2="640" y2="795" stroke="#3d6a5a" stroke-width="3" opacity="0.35"/>
|
|
46
|
-
|
|
47
|
-
<!-- Tent 3 - center (main/largest) -->
|
|
48
|
-
<polygon points="880,880 980,760 1080,880" fill="#1f332d" opacity="0.8"/>
|
|
49
|
-
<polygon points="920,880 980,800 1040,880" fill="#2e4c43" opacity="0.5"/>
|
|
50
|
-
<line x1="980" y1="760" x2="980" y2="740" stroke="#4a8a6a" stroke-width="4" opacity="0.4"/>
|
|
51
|
-
<!-- Door flap hint -->
|
|
52
|
-
<polygon points="960,880 980,830 1000,880" fill="#3d6a5a" opacity="0.25"/>
|
|
53
|
-
|
|
54
|
-
<!-- Tent 4 - center-right -->
|
|
55
|
-
<polygon points="1200,905 1280,825 1360,905" fill="#1f332d" opacity="0.7"/>
|
|
56
|
-
<polygon points="1230,905 1280,855 1330,905" fill="#2e4c43" opacity="0.4"/>
|
|
57
|
-
<line x1="1280" y1="825" x2="1280" y2="812" stroke="#3d6a5a" stroke-width="2" opacity="0.3"/>
|
|
58
|
-
|
|
59
|
-
<!-- Tent 5 - right -->
|
|
60
|
-
<polygon points="1520,925 1580,865 1640,925" fill="#1f332d" opacity="0.65"/>
|
|
61
|
-
<polygon points="1545,925 1580,885 1615,925" fill="#2e4c43" opacity="0.35"/>
|
|
62
|
-
<line x1="1580" y1="865" x2="1580" y2="855" stroke="#3d6a5a" stroke-width="2" opacity="0.25"/>
|
|
63
|
-
|
|
64
|
-
<!-- PRAYER FLAGS between tent poles -->
|
|
65
|
-
<path d="M320,840 Q480,800 640,795" stroke="#3d6a5a" stroke-width="1" fill="none" opacity="0.25"/>
|
|
66
|
-
<path d="M640,795 Q810,770 980,740" stroke="#3d6a5a" stroke-width="1" fill="none" opacity="0.3"/>
|
|
67
|
-
<path d="M980,740 Q1130,780 1280,812" stroke="#3d6a5a" stroke-width="1" fill="none" opacity="0.25"/>
|
|
68
|
-
|
|
69
|
-
<!-- Small flag triangles -->
|
|
70
|
-
<polygon points="420,815 435,810 428,822" fill="#4a8a6a" opacity="0.2"/>
|
|
71
|
-
<polygon points="520,798 535,792 528,805" fill="#4a8a6a" opacity="0.2"/>
|
|
72
|
-
<polygon points="750,775 765,768 758,782" fill="#4a8a6a" opacity="0.25"/>
|
|
73
|
-
<polygon points="850,762 865,755 858,769" fill="#4a8a6a" opacity="0.25"/>
|
|
74
|
-
<polygon points="1080,765 1095,758 1088,772" fill="#4a8a6a" opacity="0.2"/>
|
|
75
|
-
<polygon points="1180,788 1195,782 1188,795" fill="#4a8a6a" opacity="0.2"/>
|
|
76
|
-
|
|
77
|
-
<!-- Ground texture hints -->
|
|
78
|
-
<path d="M100,980 Q200,970 300,985" stroke="#2e4c43" stroke-width="1" fill="none" opacity="0.15"/>
|
|
79
|
-
<path d="M500,990 Q650,975 800,992" stroke="#2e4c43" stroke-width="1" fill="none" opacity="0.15"/>
|
|
80
|
-
<path d="M1100,985 Q1250,972 1400,988" stroke="#2e4c43" stroke-width="1" fill="none" opacity="0.15"/>
|
|
81
|
-
</svg>
|
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
|
|
2
|
-
<defs>
|
|
3
|
-
<linearGradient id="bridgeGlow" x1="0%" y1="50%" x2="100%" y2="50%">
|
|
4
|
-
<stop offset="0%" stop-color="#3d6a5a" stop-opacity="0.1"/>
|
|
5
|
-
<stop offset="50%" stop-color="#4a8a6a" stop-opacity="0.15"/>
|
|
6
|
-
<stop offset="100%" stop-color="#3d6a5a" stop-opacity="0.1"/>
|
|
7
|
-
</linearGradient>
|
|
8
|
-
</defs>
|
|
9
|
-
|
|
10
|
-
<!-- LEFT CLIFF/MOUNTAIN -->
|
|
11
|
-
<polygon points="0,0 350,0 300,200 250,400 200,600 250,800 350,1080 0,1080" fill="#101a16"/>
|
|
12
|
-
<path d="M300,200 Q280,400 200,600 Q220,800 350,1080" stroke="#2e4c43" stroke-width="2" fill="none" opacity="0.4"/>
|
|
13
|
-
<!-- Cliff texture -->
|
|
14
|
-
<line x1="280" y1="300" x2="320" y2="290" stroke="#2e4c43" stroke-width="1" opacity="0.25"/>
|
|
15
|
-
<line x1="220" y1="500" x2="270" y2="510" stroke="#2e4c43" stroke-width="1" opacity="0.25"/>
|
|
16
|
-
<line x1="200" y1="700" x2="260" y2="690" stroke="#2e4c43" stroke-width="1" opacity="0.25"/>
|
|
17
|
-
|
|
18
|
-
<!-- RIGHT CLIFF/MOUNTAIN -->
|
|
19
|
-
<polygon points="1920,0 1570,0 1620,200 1670,400 1720,600 1670,800 1570,1080 1920,1080" fill="#101a16"/>
|
|
20
|
-
<path d="M1620,200 Q1640,400 1720,600 Q1700,800 1570,1080" stroke="#2e4c43" stroke-width="2" fill="none" opacity="0.4"/>
|
|
21
|
-
<!-- Cliff texture -->
|
|
22
|
-
<line x1="1640" y1="300" x2="1600" y2="290" stroke="#2e4c43" stroke-width="1" opacity="0.25"/>
|
|
23
|
-
<line x1="1700" y1="500" x2="1650" y2="510" stroke="#2e4c43" stroke-width="1" opacity="0.25"/>
|
|
24
|
-
<line x1="1720" y1="700" x2="1660" y2="690" stroke="#2e4c43" stroke-width="1" opacity="0.25"/>
|
|
25
|
-
|
|
26
|
-
<!-- THE CHASM - deep below -->
|
|
27
|
-
<polygon points="350,1080 400,900 600,850 960,820 1320,850 1520,900 1570,1080" fill="#0a120e" opacity="0.8"/>
|
|
28
|
-
|
|
29
|
-
<!-- Distant mountains through the gap -->
|
|
30
|
-
<polygon points="500,800 700,500 900,720" fill="#1a2a22" opacity="0.35"/>
|
|
31
|
-
<polygon points="800,780 960,450 1120,750" fill="#1a2a22" opacity="0.4"/>
|
|
32
|
-
<polygon points="1000,790 1200,520 1400,760" fill="#1a2a22" opacity="0.35"/>
|
|
33
|
-
|
|
34
|
-
<!-- THE ROPE BRIDGE -->
|
|
35
|
-
<!-- Main cables -->
|
|
36
|
-
<path d="M280,580 Q600,650 960,680 Q1320,650 1640,580" stroke="#3d6a5a" stroke-width="4" fill="none" opacity="0.5"/>
|
|
37
|
-
<path d="M300,620 Q620,700 960,730 Q1300,700 1620,620" stroke="#3d6a5a" stroke-width="3" fill="none" opacity="0.4"/>
|
|
38
|
-
|
|
39
|
-
<!-- Bridge deck (walkway) -->
|
|
40
|
-
<path d="M290,600 Q620,680 960,710 Q1300,680 1630,600" stroke="#2e4c43" stroke-width="12" fill="none" opacity="0.6"/>
|
|
41
|
-
|
|
42
|
-
<!-- Vertical rope supports -->
|
|
43
|
-
<line x1="400" y1="605" x2="420" y2="665" stroke="#3d6a5a" stroke-width="2" opacity="0.35"/>
|
|
44
|
-
<line x1="550" y1="625" x2="560" y2="695" stroke="#3d6a5a" stroke-width="2" opacity="0.35"/>
|
|
45
|
-
<line x1="700" y1="650" x2="705" y2="720" stroke="#3d6a5a" stroke-width="2" opacity="0.35"/>
|
|
46
|
-
<line x1="850" y1="665" x2="852" y2="738" stroke="#3d6a5a" stroke-width="2" opacity="0.35"/>
|
|
47
|
-
<line x1="960" y1="680" x2="960" y2="730" stroke="#4a8a6a" stroke-width="2" opacity="0.4"/>
|
|
48
|
-
<line x1="1070" y1="665" x2="1068" y2="738" stroke="#3d6a5a" stroke-width="2" opacity="0.35"/>
|
|
49
|
-
<line x1="1220" y1="650" x2="1215" y2="720" stroke="#3d6a5a" stroke-width="2" opacity="0.35"/>
|
|
50
|
-
<line x1="1370" y1="625" x2="1360" y2="695" stroke="#3d6a5a" stroke-width="2" opacity="0.35"/>
|
|
51
|
-
<line x1="1520" y1="605" x2="1500" y2="665" stroke="#3d6a5a" stroke-width="2" opacity="0.35"/>
|
|
52
|
-
|
|
53
|
-
<!-- Bridge glow -->
|
|
54
|
-
<ellipse cx="960" cy="700" rx="500" ry="80" fill="url(#bridgeGlow)"/>
|
|
55
|
-
|
|
56
|
-
<!-- Anchor posts on each side -->
|
|
57
|
-
<rect x="260" y="550" width="40" height="80" fill="#1f332d" opacity="0.6"/>
|
|
58
|
-
<rect x="1620" y="550" width="40" height="80" fill="#1f332d" opacity="0.6"/>
|
|
59
|
-
|
|
60
|
-
<!-- Connection indicators (P2P nodes) -->
|
|
61
|
-
<circle cx="280" cy="590" r="8" fill="#4a8a6a" opacity="0.4"/>
|
|
62
|
-
<circle cx="1640" cy="590" r="8" fill="#4a8a6a" opacity="0.4"/>
|
|
63
|
-
<!-- Data flowing across -->
|
|
64
|
-
<circle cx="500" cy="640" r="4" fill="#4a8a6a" opacity="0.3"/>
|
|
65
|
-
<circle cx="750" cy="670" r="4" fill="#4a8a6a" opacity="0.35"/>
|
|
66
|
-
<circle cx="960" cy="680" r="5" fill="#5a9a7a" opacity="0.45"/>
|
|
67
|
-
<circle cx="1170" cy="670" r="4" fill="#4a8a6a" opacity="0.35"/>
|
|
68
|
-
<circle cx="1420" cy="640" r="4" fill="#4a8a6a" opacity="0.3"/>
|
|
69
|
-
</svg>
|
|
@@ -1,113 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
|
|
2
|
-
<defs>
|
|
3
|
-
<!-- Amber/gold gradient for bundle theme -->
|
|
4
|
-
<linearGradient id="bundleGradient" x1="0%" y1="0%" x2="0%" y2="100%">
|
|
5
|
-
<stop offset="0%" stop-color="#451a03" stop-opacity="0"/>
|
|
6
|
-
<stop offset="60%" stop-color="#451a03" stop-opacity="0.3"/>
|
|
7
|
-
<stop offset="100%" stop-color="#451a03" stop-opacity="0.95"/>
|
|
8
|
-
</linearGradient>
|
|
9
|
-
|
|
10
|
-
<linearGradient id="boxGlow" x1="0%" y1="0%" x2="0%" y2="100%">
|
|
11
|
-
<stop offset="0%" stop-color="#fbbf24" stop-opacity="0.1"/>
|
|
12
|
-
<stop offset="100%" stop-color="#f59e0b" stop-opacity="0.05"/>
|
|
13
|
-
</linearGradient>
|
|
14
|
-
</defs>
|
|
15
|
-
|
|
16
|
-
<!-- Background gradient -->
|
|
17
|
-
<rect width="100%" height="100%" fill="url(#bundleGradient)"/>
|
|
18
|
-
|
|
19
|
-
<!-- Mountain silhouette base -->
|
|
20
|
-
<path d="M0,950 L200,850 L350,890 L500,800 L650,860 L800,780 L950,840 L1100,750 L1250,820 L1400,760 L1550,830 L1700,770 L1850,850 L1920,800 L1920,1080 L0,1080 Z"
|
|
21
|
-
fill="#1a0a01" fill-opacity="0.8"/>
|
|
22
|
-
|
|
23
|
-
<!-- Central package/bundle - main visual -->
|
|
24
|
-
<g transform="translate(960, 650)" opacity="0.6">
|
|
25
|
-
<!-- Box base - 3D perspective -->
|
|
26
|
-
<path d="M-150,50 L0,120 L150,50 L150,-80 L0,-150 L-150,-80 Z"
|
|
27
|
-
fill="#451a03" stroke="#f59e0b" stroke-width="2" stroke-opacity="0.4"/>
|
|
28
|
-
|
|
29
|
-
<!-- Box top -->
|
|
30
|
-
<path d="M-150,-80 L0,-10 L150,-80 L0,-150 Z"
|
|
31
|
-
fill="#5c2308" stroke="#f59e0b" stroke-width="2" stroke-opacity="0.4"/>
|
|
32
|
-
|
|
33
|
-
<!-- Box right side -->
|
|
34
|
-
<path d="M0,-10 L150,-80 L150,50 L0,120 Z"
|
|
35
|
-
fill="#3d1803" stroke="#f59e0b" stroke-width="2" stroke-opacity="0.4"/>
|
|
36
|
-
|
|
37
|
-
<!-- Box left side -->
|
|
38
|
-
<path d="M-150,-80 L0,-10 L0,120 L-150,50 Z"
|
|
39
|
-
fill="#2d1202" stroke="#f59e0b" stroke-width="2" stroke-opacity="0.4"/>
|
|
40
|
-
|
|
41
|
-
<!-- Ribbon/binding horizontal -->
|
|
42
|
-
<path d="M-150,-15 L0,55 L150,-15"
|
|
43
|
-
fill="none" stroke="#fbbf24" stroke-width="4" stroke-opacity="0.6"/>
|
|
44
|
-
<path d="M-150,15 L0,85 L150,15"
|
|
45
|
-
fill="none" stroke="#fbbf24" stroke-width="4" stroke-opacity="0.6"/>
|
|
46
|
-
|
|
47
|
-
<!-- Ribbon bow on top -->
|
|
48
|
-
<ellipse cx="0" cy="-80" rx="25" ry="15" fill="#fbbf24" fill-opacity="0.5"/>
|
|
49
|
-
<path d="M-40,-80 Q-20,-110 0,-80 Q20,-110 40,-80"
|
|
50
|
-
fill="none" stroke="#fbbf24" stroke-width="3" stroke-opacity="0.6"/>
|
|
51
|
-
|
|
52
|
-
<!-- Hash verification symbol -->
|
|
53
|
-
<text x="0" y="5" text-anchor="middle" fill="#fbbf24" fill-opacity="0.5"
|
|
54
|
-
font-family="monospace" font-size="24">#</text>
|
|
55
|
-
</g>
|
|
56
|
-
|
|
57
|
-
<!-- Left stack of documents -->
|
|
58
|
-
<g transform="translate(400, 750)" opacity="0.5">
|
|
59
|
-
<rect x="-80" y="-10" width="160" height="10" fill="#2d1202" rx="2"/>
|
|
60
|
-
<rect x="-80" y="-25" width="160" height="12" fill="#3d1803" rx="2"/>
|
|
61
|
-
<rect x="-80" y="-42" width="160" height="14" fill="#4d2104" rx="2"/>
|
|
62
|
-
<rect x="-80" y="-62" width="160" height="17" fill="#5d2905" rx="2"/>
|
|
63
|
-
<!-- Page lines -->
|
|
64
|
-
<line x1="-60" y1="-55" x2="60" y2="-55" stroke="#f59e0b" stroke-opacity="0.3" stroke-width="1"/>
|
|
65
|
-
<line x1="-60" y1="-50" x2="40" y2="-50" stroke="#f59e0b" stroke-opacity="0.3" stroke-width="1"/>
|
|
66
|
-
</g>
|
|
67
|
-
|
|
68
|
-
<!-- Right stack of documents -->
|
|
69
|
-
<g transform="translate(1520, 750)" opacity="0.5">
|
|
70
|
-
<rect x="-80" y="-10" width="160" height="10" fill="#2d1202" rx="2"/>
|
|
71
|
-
<rect x="-80" y="-25" width="160" height="12" fill="#3d1803" rx="2"/>
|
|
72
|
-
<rect x="-80" y="-42" width="160" height="14" fill="#4d2104" rx="2"/>
|
|
73
|
-
<rect x="-80" y="-62" width="160" height="17" fill="#5d2905" rx="2"/>
|
|
74
|
-
<!-- Page lines -->
|
|
75
|
-
<line x1="-60" y1="-55" x2="60" y2="-55" stroke="#f59e0b" stroke-opacity="0.3" stroke-width="1"/>
|
|
76
|
-
<line x1="-60" y1="-50" x2="40" y2="-50" stroke="#f59e0b" stroke-opacity="0.3" stroke-width="1"/>
|
|
77
|
-
</g>
|
|
78
|
-
|
|
79
|
-
<!-- Scattered hash symbols representing verification -->
|
|
80
|
-
<g opacity="0.25" fill="#fbbf24" font-family="monospace" font-size="18">
|
|
81
|
-
<text x="300" y="600">#a3f2</text>
|
|
82
|
-
<text x="1600" y="580">#7e9b</text>
|
|
83
|
-
<text x="500" y="700">#c4d1</text>
|
|
84
|
-
<text x="1400" y="720">#89ab</text>
|
|
85
|
-
<text x="250" y="850">#5f2e</text>
|
|
86
|
-
<text x="1650" y="870">#12df</text>
|
|
87
|
-
</g>
|
|
88
|
-
|
|
89
|
-
<!-- Connection lines showing bundling -->
|
|
90
|
-
<g stroke="#f59e0b" stroke-opacity="0.2" stroke-width="1" stroke-dasharray="4,4">
|
|
91
|
-
<line x1="480" y1="700" x2="810" y2="650"/>
|
|
92
|
-
<line x1="1440" y1="700" x2="1110" y2="650"/>
|
|
93
|
-
<line x1="400" y1="800" x2="960" y2="770"/>
|
|
94
|
-
<line x1="1520" y1="800" x2="960" y2="770"/>
|
|
95
|
-
</g>
|
|
96
|
-
|
|
97
|
-
<!-- Small floating yak silhouette -->
|
|
98
|
-
<g transform="translate(150, 920)" opacity="0.4">
|
|
99
|
-
<path d="M0,0 Q15,-20 30,-15 Q45,-10 50,0 Q55,-5 60,0 L55,15 Q45,20 30,18 Q15,20 5,15 Z"
|
|
100
|
-
fill="#2d1202"/>
|
|
101
|
-
<!-- Horns -->
|
|
102
|
-
<path d="M25,-15 Q20,-25 15,-30" fill="none" stroke="#2d1202" stroke-width="3"/>
|
|
103
|
-
<path d="M35,-15 Q40,-25 45,-30" fill="none" stroke="#2d1202" stroke-width="3"/>
|
|
104
|
-
</g>
|
|
105
|
-
|
|
106
|
-
<!-- Another small yak on right -->
|
|
107
|
-
<g transform="translate(1750, 900) scale(-1,1)" opacity="0.35">
|
|
108
|
-
<path d="M0,0 Q15,-20 30,-15 Q45,-10 50,0 Q55,-5 60,0 L55,15 Q45,20 30,18 Q15,20 5,15 Z"
|
|
109
|
-
fill="#2d1202"/>
|
|
110
|
-
<path d="M25,-15 Q20,-25 15,-30" fill="none" stroke="#2d1202" stroke-width="3"/>
|
|
111
|
-
<path d="M35,-15 Q40,-25 45,-30" fill="none" stroke="#2d1202" stroke-width="3"/>
|
|
112
|
-
</g>
|
|
113
|
-
</svg>
|