yakmesh 2.9.0 → 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.
Files changed (225) hide show
  1. package/CHANGELOG.md +637 -0
  2. package/Caddyfile +77 -0
  3. package/README.md +119 -29
  4. package/content/api.js +50 -41
  5. package/content/index.js +1 -2
  6. package/content/store.js +323 -177
  7. package/dashboard/index.html +19 -3
  8. package/database/replication.js +117 -37
  9. package/docs/CRYPTO-AGILITY.md +204 -0
  10. package/docs/MTLS-RESEARCH.md +367 -0
  11. package/docs/NAMCHE-SPEC.md +681 -0
  12. package/docs/PEERQUANTA-YAKMESH-INTEGRATION.md +407 -0
  13. package/docs/PRECISION-DISCLOSURE.md +96 -0
  14. package/docs/README.md +76 -0
  15. package/docs/ROADMAP-2.4.0.md +447 -0
  16. package/docs/ROADMAP-2.5.0.md +244 -0
  17. package/docs/SECURITY-AUDIT-REPORT.md +306 -0
  18. package/docs/SST-INTEGRATION.md +712 -0
  19. package/docs/STEADYWATCH-IMPLEMENTATION.md +303 -0
  20. package/docs/TERNARY-AUDIT-REPORT.md +247 -0
  21. package/docs/TME-FAQ.md +221 -0
  22. package/docs/WHITEPAPER.md +623 -0
  23. package/docs/adapters.html +1001 -0
  24. package/docs/advanced-systems.html +1045 -0
  25. package/docs/annex.html +1046 -0
  26. package/docs/api.html +970 -0
  27. package/docs/business/response-templates.md +160 -0
  28. package/docs/c2c.html +1225 -0
  29. package/docs/cli.html +1332 -0
  30. package/docs/configuration.html +1248 -0
  31. package/docs/darshan.html +1085 -0
  32. package/docs/dharma.html +966 -0
  33. package/docs/docs-bundle.html +1075 -0
  34. package/docs/docs.css +3120 -0
  35. package/docs/docs.js +556 -0
  36. package/docs/doko.html +969 -0
  37. package/docs/geo-proof.html +858 -0
  38. package/docs/getting-started.html +840 -0
  39. package/docs/gumba-tutorial.html +1144 -0
  40. package/docs/gumba.html +1098 -0
  41. package/docs/index.html +914 -0
  42. package/docs/jhilke.html +1312 -0
  43. package/docs/karma.html +1100 -0
  44. package/docs/katha.html +1037 -0
  45. package/docs/lama.html +978 -0
  46. package/docs/mandala.html +1067 -0
  47. package/docs/mani.html +964 -0
  48. package/docs/mantra.html +967 -0
  49. package/docs/mesh.html +1409 -0
  50. package/docs/nakpak.html +869 -0
  51. package/docs/namche.html +928 -0
  52. package/docs/nav-order.json +53 -0
  53. package/docs/prahari.html +1043 -0
  54. package/docs/prism-bash.min.js +1 -0
  55. package/docs/prism-javascript.min.js +1 -0
  56. package/docs/prism-json.min.js +1 -0
  57. package/docs/prism-tomorrow.min.css +1 -0
  58. package/docs/prism.min.js +1 -0
  59. package/docs/privacy.html +699 -0
  60. package/docs/quick-reference.html +1181 -0
  61. package/docs/sakshi.html +1402 -0
  62. package/docs/sandboxing.md +386 -0
  63. package/docs/seva.html +911 -0
  64. package/docs/sherpa.html +871 -0
  65. package/docs/studio.html +860 -0
  66. package/docs/stupa.html +995 -0
  67. package/docs/tailwind.min.css +2 -0
  68. package/docs/tattva.html +1332 -0
  69. package/docs/terms.html +686 -0
  70. package/docs/time-server-deployment.md +166 -0
  71. package/docs/time-sources.html +1392 -0
  72. package/docs/tivra.html +1127 -0
  73. package/docs/trademark-policy.html +686 -0
  74. package/docs/tribhuj.html +1183 -0
  75. package/docs/trust-security.html +1029 -0
  76. package/docs/tutorials/backup-recovery.html +654 -0
  77. package/docs/tutorials/dashboard.html +604 -0
  78. package/docs/tutorials/domain-setup.html +605 -0
  79. package/docs/tutorials/host-website.html +456 -0
  80. package/docs/tutorials/mesh-network.html +505 -0
  81. package/docs/tutorials/mobile-access.html +445 -0
  82. package/docs/tutorials/privacy.html +467 -0
  83. package/docs/tutorials/raspberry-pi.html +600 -0
  84. package/docs/tutorials/security-basics.html +539 -0
  85. package/docs/tutorials/share-files.html +431 -0
  86. package/docs/tutorials/troubleshooting.html +637 -0
  87. package/docs/tutorials/trust-karma.html +419 -0
  88. package/docs/tutorials/yak-protocol.html +456 -0
  89. package/docs/tutorials.html +1034 -0
  90. package/docs/vani.html +1270 -0
  91. package/docs/webserver.html +809 -0
  92. package/docs/yak-protocol.html +940 -0
  93. package/docs/yak-timeserver-design.md +475 -0
  94. package/docs/yakapp.html +1015 -0
  95. package/docs/ypc27.html +1069 -0
  96. package/docs/yurt.html +1344 -0
  97. package/embedded-docs/bundle.js +274 -114
  98. package/gossip/protocol.js +247 -27
  99. package/identity/key-resolver.js +262 -0
  100. package/identity/machine-seed.js +632 -0
  101. package/identity/node-key.js +669 -368
  102. package/identity/tribhuj-ratchet.js +506 -0
  103. package/knowledge-base.js +37 -8
  104. package/launcher/yakmesh.bat +62 -0
  105. package/launcher/yakmesh.sh +70 -0
  106. package/mesh/annex.js +462 -108
  107. package/mesh/beacon-broadcast.js +4 -1
  108. package/mesh/darshan.js +17 -5
  109. package/mesh/gumba.js +47 -13
  110. package/mesh/jhilke.js +651 -0
  111. package/mesh/katha.js +5 -2
  112. package/mesh/nakpak-routing.js +8 -5
  113. package/mesh/network.js +724 -34
  114. package/mesh/pulse-sync.js +4 -1
  115. package/mesh/seva.js +526 -0
  116. package/mesh/sherpa-discovery.js +89 -8
  117. package/mesh/sybil-defense.js +19 -5
  118. package/mesh/temporal-encoder.js +4 -3
  119. package/mesh/yurt.js +72 -17
  120. package/models/entropy-sentinel.onnx +0 -0
  121. package/models/karma-trust.onnx +0 -0
  122. package/models/manifest.json +43 -0
  123. package/models/sakshi-anomaly.onnx +0 -0
  124. package/oracle/code-proof-protocol.js +7 -6
  125. package/oracle/codebase-lock.js +257 -28
  126. package/oracle/index.js +74 -15
  127. package/oracle/ma902-snmp.js +678 -0
  128. package/oracle/module-sealer.js +5 -3
  129. package/oracle/packet-checksum.js +201 -0
  130. package/oracle/ternary-144t.js +714 -0
  131. package/oracle/ternary-ml.js +481 -0
  132. package/oracle/time-api.js +239 -0
  133. package/oracle/time-source.js +137 -47
  134. package/oracle/validation-oracle-hardened.js +1111 -1071
  135. package/oracle/validation-oracle.js +4 -2
  136. package/oracle/ypc27.js +211 -0
  137. package/package.json +20 -3
  138. package/protocol/yak-handler.js +35 -9
  139. package/protocol/yak-protocol.js +6 -5
  140. package/reference/cpp/yakmesh_mceliece_shard.cpp +168 -0
  141. package/reference/cpp/yakmesh_ypc27.cpp +179 -0
  142. package/sbom.json +87 -0
  143. package/scripts/security-audit.mjs +264 -0
  144. package/scripts/update-docs-sidebar.cjs +164 -0
  145. package/security/crypto-config.js +4 -3
  146. package/security/dharma-moderation.js +4 -3
  147. package/security/doko-identity.js +193 -143
  148. package/security/domain-consensus.js +86 -85
  149. package/security/fs-hardening.js +620 -0
  150. package/security/hardware-attestation.js +5 -3
  151. package/security/hybrid-trust.js +227 -87
  152. package/security/karma-rate-limiter.js +692 -0
  153. package/security/khata-protocol.js +22 -21
  154. package/security/khata-trust-integration.js +277 -150
  155. package/security/memory-safety.js +635 -0
  156. package/security/mesh-auth.js +11 -10
  157. package/security/mesh-revocation.js +18 -5
  158. package/security/namche-gateway.js +298 -69
  159. package/security/sakshi.js +102 -3
  160. package/security/sangha.js +770 -0
  161. package/security/secure-config.js +473 -0
  162. package/security/silicon-parity.js +13 -10
  163. package/security/steadywatch.js +1142 -0
  164. package/security/strike-system.js +32 -3
  165. package/security/temporal-signing.js +488 -0
  166. package/security/trit-commitment.js +464 -0
  167. package/server/crypto/annex.js +247 -0
  168. package/server/darshan-api.js +343 -0
  169. package/server/index.js +3259 -362
  170. package/server/komm-api.js +668 -0
  171. package/utils/accel.js +2273 -0
  172. package/utils/ternary-id.js +79 -0
  173. package/utils/verify-worker.js +57 -0
  174. package/webserver/index.js +95 -5
  175. package/assets/yakmesh-logo.png +0 -0
  176. package/assets/yakmesh-logo.svg +0 -80
  177. package/assets/yakmesh-logo2.png +0 -0
  178. package/assets/yakmesh-logo2sm.png +0 -0
  179. package/assets/ymsm.png +0 -0
  180. package/scripts/update-docs-nav.cjs +0 -194
  181. package/update-docs-nav.cjs +0 -18
  182. package/update-nav.ps1 +0 -16
  183. package/website/assets/silhouettes/adapters.svg +0 -107
  184. package/website/assets/silhouettes/api-endpoints.svg +0 -115
  185. package/website/assets/silhouettes/atomic-clock.svg +0 -83
  186. package/website/assets/silhouettes/base-camp.svg +0 -81
  187. package/website/assets/silhouettes/bridge.svg +0 -69
  188. package/website/assets/silhouettes/docs-bundle.svg +0 -113
  189. package/website/assets/silhouettes/doko-basket.svg +0 -70
  190. package/website/assets/silhouettes/fortress.svg +0 -93
  191. package/website/assets/silhouettes/gateway.svg +0 -54
  192. package/website/assets/silhouettes/gears.svg +0 -93
  193. package/website/assets/silhouettes/globe-satellite.svg +0 -67
  194. package/website/assets/silhouettes/karma-wheel.svg +0 -137
  195. package/website/assets/silhouettes/lama-council.svg +0 -141
  196. package/website/assets/silhouettes/mandala-network.svg +0 -169
  197. package/website/assets/silhouettes/mani-stones.svg +0 -149
  198. package/website/assets/silhouettes/mantra-wheel.svg +0 -116
  199. package/website/assets/silhouettes/mesh-nodes.svg +0 -113
  200. package/website/assets/silhouettes/nakpak.svg +0 -56
  201. package/website/assets/silhouettes/peak-lightning.svg +0 -73
  202. package/website/assets/silhouettes/sherpa.svg +0 -69
  203. package/website/assets/silhouettes/stupa-tower.svg +0 -119
  204. package/website/assets/silhouettes/tattva-eye.svg +0 -78
  205. package/website/assets/silhouettes/terminal.svg +0 -74
  206. package/website/assets/silhouettes/webserver.svg +0 -145
  207. package/website/assets/silhouettes/yak.svg +0 -78
  208. package/website/assets/yakmesh-logo.png +0 -0
  209. package/website/assets/yakmesh-logo.webp +0 -0
  210. package/website/assets/yakmesh-logo128x140.webp +0 -0
  211. package/website/assets/yakmesh-logo2.png +0 -0
  212. package/website/assets/yakmesh-logo2.svg +0 -51
  213. package/website/assets/yakmesh-logo40x44.webp +0 -0
  214. package/website/assets/yakmesh.gif +0 -0
  215. package/website/assets/yakmesh.ico +0 -0
  216. package/website/assets/yakmesh.jpg +0 -0
  217. package/website/assets/yakmesh.pdf +0 -0
  218. package/website/assets/yakmesh.png +0 -0
  219. package/website/assets/yakmesh.svg +0 -70
  220. package/website/assets/yakmesh128.webp +0 -0
  221. package/website/assets/yakmesh32.png +0 -0
  222. package/website/assets/yakmesh32.svg +0 -65
  223. package/website/assets/yakmesh32o.ico +0 -2
  224. package/website/assets/yakmesh32o.svg +0 -65
  225. package/website/assets/yakmesh32o.svgz +0 -0
@@ -1,116 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
2
- <defs>
3
- <linearGradient id="wheelGlow" x1="50%" y1="0%" x2="50%" y2="100%">
4
- <stop offset="0%" stop-color="#f97316" stop-opacity="0.2"/>
5
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
6
- </linearGradient>
7
- <radialGradient id="centerGlow" cx="50%" cy="50%" r="50%">
8
- <stop offset="0%" stop-color="#fdba74" stop-opacity="0.3"/>
9
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
10
- </radialGradient>
11
- </defs>
12
-
13
- <!-- MOUNTAIN BACKDROP -->
14
- <polygon points="0,650 180,380 380,620 0,1080" fill="#1a2a22" opacity="0.3"/>
15
- <polygon points="1550,600 1750,320 1920,580 1920,1080 1550,1080" fill="#1a2a22" opacity="0.3"/>
16
-
17
- <!-- LEFT SIDE - Prayer flags strung across -->
18
- <line x1="100" y1="200" x2="500" y2="280" stroke="#2e4c43" stroke-width="2" opacity="0.4"/>
19
-
20
- <!-- Prayer flags -->
21
- <polygon points="150,205 150,250 180,240" fill="#ea580c" opacity="0.25"/>
22
- <polygon points="200,215 200,260 230,250" fill="#f97316" opacity="0.25"/>
23
- <polygon points="250,225 250,270 280,260" fill="#fdba74" opacity="0.2"/>
24
- <polygon points="300,235 300,280 330,270" fill="#f97316" opacity="0.25"/>
25
- <polygon points="350,245 350,290 380,280" fill="#ea580c" opacity="0.25"/>
26
- <polygon points="400,255 400,300 430,290" fill="#fdba74" opacity="0.2"/>
27
-
28
- <!-- CENTER - Large Prayer Wheel -->
29
- <ellipse cx="960" cy="500" rx="300" ry="300" fill="url(#centerGlow)"/>
30
-
31
- <!-- Outer wheel ring -->
32
- <circle cx="960" cy="500" r="280" fill="#0a120e" opacity="0.9"/>
33
- <circle cx="960" cy="500" r="280" stroke="#ea580c" stroke-width="4" fill="none" opacity="0.5"/>
34
- <circle cx="960" cy="500" r="260" stroke="#f97316" stroke-width="2" fill="none" opacity="0.35"/>
35
- <circle cx="960" cy="500" r="240" stroke="#2e4c43" stroke-width="1" fill="none" opacity="0.3"/>
36
-
37
- <!-- Wheel spokes (8 sections like a dharma wheel) -->
38
- <line x1="960" y1="220" x2="960" y2="780" stroke="#f97316" stroke-width="2" opacity="0.3"/>
39
- <line x1="680" y1="500" x2="1240" y2="500" stroke="#f97316" stroke-width="2" opacity="0.3"/>
40
- <line x1="762" y1="302" x2="1158" y2="698" stroke="#f97316" stroke-width="2" opacity="0.25"/>
41
- <line x1="762" y1="698" x2="1158" y2="302" stroke="#f97316" stroke-width="2" opacity="0.25"/>
42
-
43
- <!-- Inner decorative circles -->
44
- <circle cx="960" cy="500" r="180" stroke="#ea580c" stroke-width="1.5" fill="none" opacity="0.3"/>
45
- <circle cx="960" cy="500" r="120" stroke="#f97316" stroke-width="2" fill="none" opacity="0.4"/>
46
- <circle cx="960" cy="500" r="60" fill="#1a2a22" opacity="0.8"/>
47
- <circle cx="960" cy="500" r="60" stroke="#fdba74" stroke-width="3" fill="none" opacity="0.5"/>
48
-
49
- <!-- Om Mani Padme Hum symbols (simplified as decorative elements) -->
50
- <circle cx="960" cy="280" r="20" fill="#f97316" opacity="0.4"/>
51
- <circle cx="1140" cy="360" r="20" fill="#ea580c" opacity="0.35"/>
52
- <circle cx="1180" cy="500" r="20" fill="#f97316" opacity="0.4"/>
53
- <circle cx="1140" cy="640" r="20" fill="#ea580c" opacity="0.35"/>
54
- <circle cx="960" cy="720" r="20" fill="#f97316" opacity="0.4"/>
55
- <circle cx="780" cy="640" r="20" fill="#ea580c" opacity="0.35"/>
56
- <circle cx="740" cy="500" r="20" fill="#f97316" opacity="0.4"/>
57
- <circle cx="780" cy="360" r="20" fill="#ea580c" opacity="0.35"/>
58
-
59
- <!-- Center text -->
60
- <text x="960" y="490" fill="#fdba74" opacity="0.6" font-size="28" font-family="serif" text-anchor="middle">ॐ</text>
61
- <text x="960" y="520" fill="#f97316" opacity="0.4" font-size="14" font-family="monospace" text-anchor="middle">MANTRA</text>
62
-
63
- <!-- Rotation arrows suggesting spinning -->
64
- <path d="M 1250,400 Q 1280,500 1250,600" stroke="#fdba74" stroke-width="3" fill="none" opacity="0.3"/>
65
- <polygon points="1250,600 1240,580 1260,585" fill="#fdba74" opacity="0.3"/>
66
-
67
- <path d="M 670,600 Q 640,500 670,400" stroke="#fdba74" stroke-width="3" fill="none" opacity="0.3"/>
68
- <polygon points="670,400 680,420 660,415" fill="#fdba74" opacity="0.3"/>
69
-
70
- <!-- Messages emanating from wheel (mantras spreading) -->
71
- <!-- Right side messages -->
72
- <rect x="1320" y="350" width="150" height="30" rx="5" fill="#1a2a22" opacity="0.6"/>
73
- <line x1="1240" y1="450" x2="1320" y2="365" stroke="#f97316" stroke-width="1" opacity="0.3" stroke-dasharray="4,4"/>
74
-
75
- <rect x="1380" y="450" width="180" height="30" rx="5" fill="#1a2a22" opacity="0.6"/>
76
- <line x1="1240" y1="500" x2="1380" y2="465" stroke="#f97316" stroke-width="1" opacity="0.3" stroke-dasharray="4,4"/>
77
-
78
- <rect x="1350" y="550" width="160" height="30" rx="5" fill="#1a2a22" opacity="0.6"/>
79
- <line x1="1240" y1="540" x2="1350" y2="565" stroke="#f97316" stroke-width="1" opacity="0.3" stroke-dasharray="4,4"/>
80
-
81
- <rect x="1300" y="650" width="140" height="30" rx="5" fill="#1a2a22" opacity="0.6"/>
82
- <line x1="1200" y1="600" x2="1300" y2="665" stroke="#f97316" stroke-width="1" opacity="0.3" stroke-dasharray="4,4"/>
83
-
84
- <!-- Left side messages -->
85
- <rect x="450" y="350" width="150" height="30" rx="5" fill="#1a2a22" opacity="0.6"/>
86
- <line x1="680" y1="450" x2="600" y2="365" stroke="#f97316" stroke-width="1" opacity="0.3" stroke-dasharray="4,4"/>
87
-
88
- <rect x="350" y="450" width="180" height="30" rx="5" fill="#1a2a22" opacity="0.6"/>
89
- <line x1="680" y1="500" x2="530" y2="465" stroke="#f97316" stroke-width="1" opacity="0.3" stroke-dasharray="4,4"/>
90
-
91
- <rect x="400" y="550" width="160" height="30" rx="5" fill="#1a2a22" opacity="0.6"/>
92
- <line x1="680" y1="540" x2="560" y2="565" stroke="#f97316" stroke-width="1" opacity="0.3" stroke-dasharray="4,4"/>
93
-
94
- <rect x="480" y="650" width="140" height="30" rx="5" fill="#1a2a22" opacity="0.6"/>
95
- <line x1="720" y1="600" x2="620" y2="665" stroke="#f97316" stroke-width="1" opacity="0.3" stroke-dasharray="4,4"/>
96
-
97
- <!-- Small prayer wheels at bottom -->
98
- <circle cx="200" cy="800" r="60" fill="#1a2a22" opacity="0.7"/>
99
- <circle cx="200" cy="800" r="60" stroke="#ea580c" stroke-width="2" fill="none" opacity="0.4"/>
100
- <circle cx="200" cy="800" r="40" stroke="#f97316" stroke-width="1" fill="none" opacity="0.3"/>
101
- <line x1="200" y1="740" x2="200" y2="860" stroke="#f97316" stroke-width="1" opacity="0.25"/>
102
- <line x1="140" y1="800" x2="260" y2="800" stroke="#f97316" stroke-width="1" opacity="0.25"/>
103
-
104
- <circle cx="1720" cy="780" r="70" fill="#1a2a22" opacity="0.7"/>
105
- <circle cx="1720" cy="780" r="70" stroke="#ea580c" stroke-width="2" fill="none" opacity="0.4"/>
106
- <circle cx="1720" cy="780" r="50" stroke="#f97316" stroke-width="1" fill="none" opacity="0.3"/>
107
- <line x1="1720" y1="710" x2="1720" y2="850" stroke="#f97316" stroke-width="1" opacity="0.25"/>
108
- <line x1="1650" y1="780" x2="1790" y2="780" stroke="#f97316" stroke-width="1" opacity="0.25"/>
109
-
110
- <!-- Labels -->
111
- <text x="200" y="880" fill="#f97316" opacity="0.35" font-size="12" font-family="monospace" text-anchor="middle">NODE A</text>
112
- <text x="1720" y="870" fill="#f97316" opacity="0.35" font-size="12" font-family="monospace" text-anchor="middle">NODE B</text>
113
-
114
- <!-- Ground -->
115
- <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"/>
116
- </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
- <radialGradient id="nodeGlow" cx="50%" cy="50%" r="50%">
4
- <stop offset="0%" stop-color="#5a9a7a" stop-opacity="0.25"/>
5
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
6
- </radialGradient>
7
- <radialGradient id="pulseGlow" cx="50%" cy="50%" r="50%">
8
- <stop offset="0%" stop-color="#4a8a6a" stop-opacity="0.15"/>
9
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
10
- </radialGradient>
11
- </defs>
12
-
13
- <!-- MOUNTAIN BACKDROP - subtle -->
14
- <polygon points="0,750 200,450 400,700 400,1080 0,1080" fill="#1a2a22" opacity="0.3"/>
15
- <polygon points="1500,720 1700,420 1920,680 1920,1080 1500,1080" fill="#1a2a22" opacity="0.3"/>
16
-
17
- <!-- THE MESH NETWORK - interconnected nodes filling the space -->
18
-
19
- <!-- Central node - the user's node -->
20
- <circle cx="960" cy="500" r="50" fill="#1f332d" opacity="0.8"/>
21
- <circle cx="960" cy="500" r="50" stroke="#4a8a6a" stroke-width="3" fill="none" opacity="0.6"/>
22
- <circle cx="960" cy="500" r="70" fill="url(#nodeGlow)"/>
23
- <circle cx="960" cy="500" r="20" fill="#4a8a6a" opacity="0.5"/>
24
-
25
- <!-- Layer 1 nodes - closest peers -->
26
- <circle cx="650" cy="350" r="35" fill="#1a2a22" opacity="0.7"/>
27
- <circle cx="650" cy="350" r="35" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.5"/>
28
- <circle cx="650" cy="350" r="12" fill="#3d6a5a" opacity="0.4"/>
29
-
30
- <circle cx="1270" cy="380" r="35" fill="#1a2a22" opacity="0.7"/>
31
- <circle cx="1270" cy="380" r="35" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.5"/>
32
- <circle cx="1270" cy="380" r="12" fill="#3d6a5a" opacity="0.4"/>
33
-
34
- <circle cx="750" cy="680" r="35" fill="#1a2a22" opacity="0.7"/>
35
- <circle cx="750" cy="680" r="35" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.5"/>
36
- <circle cx="750" cy="680" r="12" fill="#3d6a5a" opacity="0.4"/>
37
-
38
- <circle cx="1170" cy="700" r="35" fill="#1a2a22" opacity="0.7"/>
39
- <circle cx="1170" cy="700" r="35" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.5"/>
40
- <circle cx="1170" cy="700" r="12" fill="#3d6a5a" opacity="0.4"/>
41
-
42
- <!-- Layer 2 nodes - further out -->
43
- <circle cx="380" cy="280" r="25" fill="#1a2a22" opacity="0.6"/>
44
- <circle cx="380" cy="280" r="25" stroke="#2e4c43" stroke-width="1.5" fill="none" opacity="0.4"/>
45
-
46
- <circle cx="480" cy="550" r="25" fill="#1a2a22" opacity="0.6"/>
47
- <circle cx="480" cy="550" r="25" stroke="#2e4c43" stroke-width="1.5" fill="none" opacity="0.4"/>
48
-
49
- <circle cx="1500" cy="320" r="25" fill="#1a2a22" opacity="0.6"/>
50
- <circle cx="1500" cy="320" r="25" stroke="#2e4c43" stroke-width="1.5" fill="none" opacity="0.4"/>
51
-
52
- <circle cx="1420" cy="580" r="25" fill="#1a2a22" opacity="0.6"/>
53
- <circle cx="1420" cy="580" r="25" stroke="#2e4c43" stroke-width="1.5" fill="none" opacity="0.4"/>
54
-
55
- <circle cx="550" cy="820" r="25" fill="#1a2a22" opacity="0.6"/>
56
- <circle cx="550" cy="820" r="25" stroke="#2e4c43" stroke-width="1.5" fill="none" opacity="0.4"/>
57
-
58
- <circle cx="1350" cy="850" r="25" fill="#1a2a22" opacity="0.6"/>
59
- <circle cx="1350" cy="850" r="25" stroke="#2e4c43" stroke-width="1.5" fill="none" opacity="0.4"/>
60
-
61
- <!-- Layer 3 nodes - edge of network -->
62
- <circle cx="200" cy="400" r="18" fill="#1a2a22" opacity="0.5"/>
63
- <circle cx="300" cy="650" r="18" fill="#1a2a22" opacity="0.5"/>
64
- <circle cx="1680" cy="450" r="18" fill="#1a2a22" opacity="0.5"/>
65
- <circle cx="1600" cy="750" r="18" fill="#1a2a22" opacity="0.5"/>
66
- <circle cx="960" cy="200" r="18" fill="#1a2a22" opacity="0.5"/>
67
- <circle cx="960" cy="900" r="18" fill="#1a2a22" opacity="0.5"/>
68
-
69
- <!-- CONNECTIONS - mesh links -->
70
- <!-- From center to layer 1 -->
71
- <line x1="960" y1="500" x2="650" y2="350" stroke="#3d6a5a" stroke-width="3" opacity="0.4"/>
72
- <line x1="960" y1="500" x2="1270" y2="380" stroke="#3d6a5a" stroke-width="3" opacity="0.4"/>
73
- <line x1="960" y1="500" x2="750" y2="680" stroke="#3d6a5a" stroke-width="3" opacity="0.4"/>
74
- <line x1="960" y1="500" x2="1170" y2="700" stroke="#3d6a5a" stroke-width="3" opacity="0.4"/>
75
-
76
- <!-- Layer 1 to layer 1 (peer connections) -->
77
- <line x1="650" y1="350" x2="750" y2="680" stroke="#2e4c43" stroke-width="2" opacity="0.25"/>
78
- <line x1="1270" y1="380" x2="1170" y2="700" stroke="#2e4c43" stroke-width="2" opacity="0.25"/>
79
-
80
- <!-- Layer 1 to layer 2 -->
81
- <line x1="650" y1="350" x2="380" y2="280" stroke="#2e4c43" stroke-width="2" opacity="0.3"/>
82
- <line x1="650" y1="350" x2="480" y2="550" stroke="#2e4c43" stroke-width="2" opacity="0.3"/>
83
- <line x1="1270" y1="380" x2="1500" y2="320" stroke="#2e4c43" stroke-width="2" opacity="0.3"/>
84
- <line x1="1270" y1="380" x2="1420" y2="580" stroke="#2e4c43" stroke-width="2" opacity="0.3"/>
85
- <line x1="750" y1="680" x2="480" y2="550" stroke="#2e4c43" stroke-width="2" opacity="0.3"/>
86
- <line x1="750" y1="680" x2="550" y2="820" stroke="#2e4c43" stroke-width="2" opacity="0.3"/>
87
- <line x1="1170" y1="700" x2="1420" y2="580" stroke="#2e4c43" stroke-width="2" opacity="0.3"/>
88
- <line x1="1170" y1="700" x2="1350" y2="850" stroke="#2e4c43" stroke-width="2" opacity="0.3"/>
89
-
90
- <!-- Layer 2 to layer 3 -->
91
- <line x1="380" y1="280" x2="200" y2="400" stroke="#1f332d" stroke-width="1.5" opacity="0.2"/>
92
- <line x1="480" y1="550" x2="300" y2="650" stroke="#1f332d" stroke-width="1.5" opacity="0.2"/>
93
- <line x1="1500" y1="320" x2="1680" y2="450" stroke="#1f332d" stroke-width="1.5" opacity="0.2"/>
94
- <line x1="1420" y1="580" x2="1600" y2="750" stroke="#1f332d" stroke-width="1.5" opacity="0.2"/>
95
- <line x1="380" y1="280" x2="960" y2="200" stroke="#1f332d" stroke-width="1.5" opacity="0.2"/>
96
- <line x1="1500" y1="320" x2="960" y2="200" stroke="#1f332d" stroke-width="1.5" opacity="0.2"/>
97
- <line x1="550" y1="820" x2="960" y2="900" stroke="#1f332d" stroke-width="1.5" opacity="0.2"/>
98
- <line x1="1350" y1="850" x2="960" y2="900" stroke="#1f332d" stroke-width="1.5" opacity="0.2"/>
99
-
100
- <!-- Pulse waves from center node -->
101
- <circle cx="960" cy="500" r="100" stroke="#4a8a6a" stroke-width="1" fill="none" opacity="0.15"/>
102
- <circle cx="960" cy="500" r="200" stroke="#3d6a5a" stroke-width="1" fill="none" opacity="0.1"/>
103
- <circle cx="960" cy="500" r="350" stroke="#2e4c43" stroke-width="1" fill="none" opacity="0.08"/>
104
-
105
- <!-- Data packets traveling (small dots on lines) -->
106
- <circle cx="800" cy="420" r="4" fill="#5a9a7a" opacity="0.5"/>
107
- <circle cx="1100" cy="440" r="4" fill="#5a9a7a" opacity="0.5"/>
108
- <circle cx="850" cy="590" r="4" fill="#4a8a6a" opacity="0.4"/>
109
- <circle cx="1060" cy="600" r="4" fill="#4a8a6a" opacity="0.4"/>
110
-
111
- <!-- Ground -->
112
- <polygon points="0,950 300,930 600,970 900,940 1200,980 1500,950 1920,1000 1920,1080 0,1080" fill="#101a16" opacity="0.7"/>
113
- </svg>
@@ -1,56 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
2
- <defs>
3
- <linearGradient id="packetGlow" x1="50%" y1="0%" x2="50%" y2="100%">
4
- <stop offset="0%" stop-color="#4a8a6a" stop-opacity="0.12"/>
5
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
6
- </linearGradient>
7
- </defs>
8
-
9
- <!-- MOUNTAIN BACKDROP -->
10
- <polygon points="0,700 250,350 500,650 500,1080 0,1080" fill="#1a2a22" opacity="0.4"/>
11
- <polygon points="400,680 700,280 1000,620 1000,1080 400,1080" fill="#1a2a22" opacity="0.45"/>
12
- <polygon points="900,700 1200,300 1500,650 1500,1080 900,1080" fill="#1a2a22" opacity="0.5"/>
13
- <polygon points="1400,720 1700,380 1920,680 1920,1080 1400,1080" fill="#1a2a22" opacity="0.45"/>
14
-
15
- <!-- Central peak -->
16
- <polygon points="800,750 1000,350 1200,750" fill="#1f332d" opacity="0.55"/>
17
- <polygon points="950,450 1000,350 1050,450" fill="#2e4c43" opacity="0.35"/>
18
-
19
- <!-- GIANT NAKPAK (BACKPACK) - center of frame, showing layers -->
20
- <!-- Outer layer (L3) -->
21
- <path d="M700,1080 L650,650 Q700,500 960,480 Q1220,500 1270,650 L1220,1080 Z" fill="#1a2a22" opacity="0.7"/>
22
- <path d="M650,650 Q700,500 960,480 Q1220,500 1270,650" stroke="#2e4c43" stroke-width="2" fill="none" opacity="0.4"/>
23
-
24
- <!-- Middle layer (L2) -->
25
- <path d="M750,1080 L710,700 Q760,580 960,560 Q1160,580 1210,700 L1170,1080 Z" fill="#1f332d" opacity="0.6"/>
26
- <path d="M710,700 Q760,580 960,560 Q1160,580 1210,700" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.35"/>
27
-
28
- <!-- Inner layer (L1 - payload) -->
29
- <path d="M800,1080 L770,750 Q820,660 960,645 Q1100,660 1150,750 L1120,1080 Z" fill="#2e4c43" opacity="0.5"/>
30
- <path d="M770,750 Q820,660 960,645 Q1100,660 1150,750" stroke="#4a8a6a" stroke-width="2" fill="none" opacity="0.4"/>
31
-
32
- <!-- Center glow - the payload -->
33
- <ellipse cx="960" cy="850" rx="120" ry="180" fill="url(#packetGlow)"/>
34
-
35
- <!-- Layer labels - subtle -->
36
- <text x="620" y="800" fill="#3d6a5a" opacity="0.25" font-size="24" font-family="monospace">L3</text>
37
- <text x="680" y="850" fill="#4a8a6a" opacity="0.3" font-size="22" font-family="monospace">L2</text>
38
- <text x="745" y="900" fill="#5a9a7a" opacity="0.35" font-size="20" font-family="monospace">L1</text>
39
-
40
- <!-- Shoulder straps going up -->
41
- <path d="M800,650 Q750,400 700,200" stroke="#2e4c43" stroke-width="8" fill="none" opacity="0.3"/>
42
- <path d="M1120,650 Q1170,400 1220,200" stroke="#2e4c43" stroke-width="8" fill="none" opacity="0.3"/>
43
-
44
- <!-- Encryption lock symbols on each layer -->
45
- <circle cx="960" cy="520" r="15" stroke="#4a8a6a" stroke-width="2" fill="none" opacity="0.3"/>
46
- <rect x="952" y="530" width="16" height="12" fill="#4a8a6a" opacity="0.25"/>
47
-
48
- <circle cx="960" cy="600" r="12" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.25"/>
49
- <rect x="953" y="608" width="14" height="10" fill="#3d6a5a" opacity="0.2"/>
50
-
51
- <circle cx="960" cy="680" r="10" stroke="#2e4c43" stroke-width="2" fill="none" opacity="0.2"/>
52
- <rect x="954" y="687" width="12" height="8" fill="#2e4c43" opacity="0.15"/>
53
-
54
- <!-- Ground -->
55
- <polygon points="0,950 400,920 700,960 1000,930 1300,970 1600,940 1920,980 1920,1080 0,1080" fill="#101a16" opacity="0.8"/>
56
- </svg>
@@ -1,73 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
2
- <defs>
3
- <radialGradient id="peakEnergy" cx="50%" cy="30%" r="60%">
4
- <stop offset="0%" stop-color="#5a9a7a" stop-opacity="0.15"/>
5
- <stop offset="50%" stop-color="#4a8a6a" stop-opacity="0.08"/>
6
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
7
- </radialGradient>
8
- <linearGradient id="lightningGlow" x1="0%" y1="0%" x2="100%" y2="100%">
9
- <stop offset="0%" stop-color="#5a9a7a" stop-opacity="0.4"/>
10
- <stop offset="100%" stop-color="#3d6a5a" stop-opacity="0.1"/>
11
- </linearGradient>
12
- </defs>
13
-
14
- <!-- MOUNTAIN RANGE - dramatic peaks -->
15
- <!-- Far left peak -->
16
- <polygon points="0,1080 0,600 200,350 400,650 400,1080" fill="#1a2a22" opacity="0.4"/>
17
-
18
- <!-- Left major peak -->
19
- <polygon points="200,1080 400,500 600,300 800,600 800,1080" fill="#1a2a22" opacity="0.5"/>
20
-
21
- <!-- THE SUMMIT - center, tallest, the destination -->
22
- <polygon points="600,1080 800,600 960,150 1120,600 1320,1080" fill="#1f332d" opacity="0.65"/>
23
- <!-- Snow cap -->
24
- <polygon points="880,350 960,150 1040,350" fill="#2e4c43" opacity="0.45"/>
25
- <!-- Peak outline highlight -->
26
- <path d="M800,600 L960,150 L1120,600" stroke="#3d6a5a" stroke-width="2" fill="none" opacity="0.4"/>
27
-
28
- <!-- Right major peak -->
29
- <polygon points="1100,1080 1300,550 1500,350 1700,600 1700,1080" fill="#1a2a22" opacity="0.5"/>
30
-
31
- <!-- Far right peak -->
32
- <polygon points="1550,1080 1700,500 1920,400 1920,1080" fill="#1a2a22" opacity="0.4"/>
33
-
34
- <!-- Peak energy glow -->
35
- <ellipse cx="960" cy="350" rx="400" ry="300" fill="url(#peakEnergy)"/>
36
-
37
- <!-- LIGHTNING BOLTS from the summit -->
38
- <!-- Main bolt left -->
39
- <path d="M920,200 L850,350 L900,350 L800,550 L870,550 L750,750"
40
- stroke="url(#lightningGlow)" stroke-width="4" fill="none" opacity="0.6"/>
41
- <!-- Secondary branches -->
42
- <path d="M850,350 L780,400" stroke="#4a8a6a" stroke-width="2" fill="none" opacity="0.35"/>
43
- <path d="M870,550 L820,620" stroke="#4a8a6a" stroke-width="2" fill="none" opacity="0.3"/>
44
-
45
- <!-- Main bolt right -->
46
- <path d="M1000,200 L1070,340 L1020,340 L1120,530 L1050,530 L1170,720"
47
- stroke="url(#lightningGlow)" stroke-width="4" fill="none" opacity="0.6"/>
48
- <!-- Secondary branches -->
49
- <path d="M1070,340 L1140,380" stroke="#4a8a6a" stroke-width="2" fill="none" opacity="0.35"/>
50
- <path d="M1050,530 L1100,590" stroke="#4a8a6a" stroke-width="2" fill="none" opacity="0.3"/>
51
-
52
- <!-- Energy waves radiating from peak -->
53
- <ellipse cx="960" cy="200" rx="80" ry="30" stroke="#4a8a6a" stroke-width="1" fill="none" opacity="0.25"/>
54
- <ellipse cx="960" cy="200" rx="150" ry="50" stroke="#4a8a6a" stroke-width="1" fill="none" opacity="0.2"/>
55
- <ellipse cx="960" cy="200" rx="250" ry="80" stroke="#4a8a6a" stroke-width="1" fill="none" opacity="0.15"/>
56
- <ellipse cx="960" cy="200" rx="380" ry="120" stroke="#3d6a5a" stroke-width="1" fill="none" opacity="0.1"/>
57
-
58
- <!-- Vertical energy beam from peak -->
59
- <line x1="960" y1="150" x2="960" y2="50" stroke="#5a9a7a" stroke-width="3" opacity="0.35"/>
60
- <line x1="960" y1="150" x2="960" y2="50" stroke="#4a8a6a" stroke-width="8" opacity="0.15"/>
61
-
62
- <!-- Stars/energy points in the sky -->
63
- <circle cx="700" cy="100" r="3" fill="#4a8a6a" opacity="0.25"/>
64
- <circle cx="1200" cy="80" r="3" fill="#4a8a6a" opacity="0.25"/>
65
- <circle cx="500" cy="200" r="2" fill="#3d6a5a" opacity="0.2"/>
66
- <circle cx="1400" cy="180" r="2" fill="#3d6a5a" opacity="0.2"/>
67
-
68
- <!-- Advanced systems indicator text -->
69
- <text x="100" y="100" fill="#3d6a5a" opacity="0.15" font-size="20" font-family="monospace">QUANTUM_STATE: SUPERPOSITION</text>
70
-
71
- <!-- Foreground ridge -->
72
- <polygon points="0,900 300,850 600,920 900,870 1200,930 1500,880 1920,950 1920,1080 0,1080" fill="#101a16" opacity="0.85"/>
73
- </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="mountainGlow" x1="0%" y1="100%" x2="100%" y2="0%">
4
- <stop offset="0%" stop-color="#101a16" stop-opacity="0"/>
5
- <stop offset="50%" stop-color="#2e4c43" stop-opacity="0.15"/>
6
- <stop offset="100%" stop-color="#3d6a5a" stop-opacity="0.25"/>
7
- </linearGradient>
8
- <linearGradient id="pathUp" x1="0%" y1="100%" x2="100%" y2="0%">
9
- <stop offset="0%" stop-color="#3d7a5a" stop-opacity="0.08"/>
10
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
11
- </linearGradient>
12
- </defs>
13
-
14
- <!-- MOUNTAIN RANGE - right side of backdrop, destination peaks -->
15
- <!-- Far background peaks -->
16
- <polygon points="800,1080 1100,500 1400,1080" fill="#1a2a22" opacity="0.4"/>
17
- <polygon points="1100,1080 1350,380 1600,800 1700,1080" fill="#1a2a22" opacity="0.5"/>
18
- <polygon points="1400,1080 1600,450 1800,700 1920,850 1920,1080" fill="#1a2a22" opacity="0.45"/>
19
-
20
- <!-- Main peak - the destination -->
21
- <polygon points="1200,1080 1450,300 1700,900 1920,1080" fill="#1f332d" opacity="0.6"/>
22
- <!-- Snow cap highlight -->
23
- <polygon points="1400,420 1450,300 1500,420" fill="#2e4c43" opacity="0.35"/>
24
-
25
- <!-- Foreground ridge -->
26
- <polygon points="600,1080 900,750 1200,900 1500,820 1920,950 1920,1080" fill="#101a16" opacity="0.8"/>
27
-
28
- <!-- The winding path up the mountain -->
29
- <path d="M200,1080 Q400,950 600,900 Q850,820 1000,700 Q1200,550 1350,400"
30
- stroke="#3d6a5a" stroke-width="3" fill="none" opacity="0.2" stroke-dasharray="20,10"/>
31
- <!-- Path glow -->
32
- <path d="M180,1080 Q400,940 600,890 Q850,810 1000,690 Q1200,540 1360,390"
33
- stroke="#4a8a6a" stroke-width="8" fill="none" opacity="0.08"/>
34
-
35
- <!-- SHERPA SILHOUETTE - left side, pointing the way -->
36
- <!-- Body -->
37
- <ellipse cx="180" cy="720" rx="45" ry="55" fill="#101a16"/>
38
- <!-- Head -->
39
- <circle cx="180" cy="640" r="35" fill="#101a16"/>
40
- <!-- Hat brim -->
41
- <ellipse cx="180" cy="620" rx="42" ry="12" fill="#101a16"/>
42
-
43
- <!-- Legs -->
44
- <polygon points="150,770 140,900 165,900 170,770" fill="#101a16"/>
45
- <polygon points="210,770 200,890 225,890 220,770" fill="#101a16"/>
46
-
47
- <!-- Pointing arm - showing the way -->
48
- <polygon points="220,690 380,580 390,600 230,710" fill="#101a16"/>
49
- <!-- Other arm with walking stick -->
50
- <polygon points="140,700 100,850 115,855 155,710" fill="#101a16"/>
51
- <!-- Walking stick -->
52
- <line x1="100" y1="850" x2="80" y2="950" stroke="#101a16" stroke-width="6"/>
53
-
54
- <!-- Backpack hint -->
55
- <ellipse cx="155" cy="720" rx="25" ry="35" fill="#1a2a22" opacity="0.5"/>
56
-
57
- <!-- Sherpa outline highlights -->
58
- <circle cx="180" cy="640" r="35" stroke="#2e4c43" stroke-width="1.5" fill="none" opacity="0.3"/>
59
- <path d="M220,690 L370,590" stroke="#2e4c43" stroke-width="1" opacity="0.25"/>
60
-
61
- <!-- Ground/snow texture near sherpa -->
62
- <path d="M0,950 Q100,920 200,950 Q350,930 500,960" stroke="#2e4c43" stroke-width="1" fill="none" opacity="0.2"/>
63
-
64
- <!-- Stars/waypoint markers along the path -->
65
- <circle cx="600" cy="870" r="3" fill="#4a8a6a" opacity="0.2"/>
66
- <circle cx="900" cy="720" r="3" fill="#4a8a6a" opacity="0.25"/>
67
- <circle cx="1150" cy="580" r="3" fill="#4a8a6a" opacity="0.3"/>
68
- <circle cx="1350" cy="400" r="4" fill="#5a9a7a" opacity="0.35"/>
69
- </svg>
@@ -1,119 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
2
- <defs>
3
- <linearGradient id="stupaGlow" x1="50%" y1="0%" x2="50%" y2="100%">
4
- <stop offset="0%" stop-color="#fbbf24" stop-opacity="0.3"/>
5
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
6
- </linearGradient>
7
- <radialGradient id="signalPulse" cx="50%" cy="50%" r="50%">
8
- <stop offset="0%" stop-color="#fde68a" stop-opacity="0.2"/>
9
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
10
- </radialGradient>
11
- </defs>
12
-
13
- <!-- MOUNTAIN BACKDROP -->
14
- <polygon points="0,700 200,400 400,650 0,1080" fill="#1a2a22" opacity="0.35"/>
15
- <polygon points="1550,650 1750,350 1920,580 1920,1080 1550,1080" fill="#1a2a22" opacity="0.35"/>
16
-
17
- <!-- Central STUPA (Sacred Tower) -->
18
- <ellipse cx="960" cy="300" rx="300" ry="150" fill="url(#stupaGlow)"/>
19
-
20
- <!-- Stupa base (harmika - square base) -->
21
- <polygon points="860,800 1060,800 1080,750 840,750" fill="#1a2a22" opacity="0.8"/>
22
- <polygon points="860,800 1060,800 1080,750 840,750" stroke="#f59e0b" stroke-width="2" fill="none" opacity="0.4"/>
23
-
24
- <!-- Stupa dome (anda - hemisphere) -->
25
- <ellipse cx="960" cy="700" rx="140" ry="70" fill="#1a2a22" opacity="0.85"/>
26
- <ellipse cx="960" cy="700" rx="140" ry="70" stroke="#fbbf24" stroke-width="3" fill="none" opacity="0.5"/>
27
- <ellipse cx="960" cy="650" rx="120" ry="55" fill="#1a2a22" opacity="0.85"/>
28
- <ellipse cx="960" cy="650" rx="120" ry="55" stroke="#f59e0b" stroke-width="2" fill="none" opacity="0.4"/>
29
-
30
- <!-- Stupa tower (yasti - central pillar) -->
31
- <rect x="940" y="400" width="40" height="250" fill="#1a2a22" opacity="0.85"/>
32
- <rect x="940" y="400" width="40" height="250" stroke="#fbbf24" stroke-width="2" fill="none" opacity="0.5"/>
33
-
34
- <!-- Stupa tiers (chattra - umbrellas representing priority levels) -->
35
- <!-- CRITICAL tier (top) -->
36
- <polygon points="920,420 1000,420 1020,400 900,400" fill="#fbbf24" opacity="0.5"/>
37
- <text x="960" y="390" fill="#fde68a" opacity="0.5" font-size="10" font-family="monospace" text-anchor="middle">CRITICAL</text>
38
-
39
- <!-- FLASH tier -->
40
- <polygon points="910,470 1010,470 1030,450 890,450" fill="#f59e0b" opacity="0.45"/>
41
- <text x="960" y="440" fill="#fbbf24" opacity="0.4" font-size="10" font-family="monospace" text-anchor="middle">FLASH</text>
42
-
43
- <!-- IMMEDIATE tier -->
44
- <polygon points="900,520 1020,520 1040,500 880,500" fill="#d97706" opacity="0.4"/>
45
- <text x="960" y="490" fill="#f59e0b" opacity="0.35" font-size="10" font-family="monospace" text-anchor="middle">IMMEDIATE</text>
46
-
47
- <!-- PRIORITY tier -->
48
- <polygon points="890,570 1030,570 1050,550 870,550" fill="#b45309" opacity="0.35"/>
49
- <text x="960" y="540" fill="#d97706" opacity="0.3" font-size="10" font-family="monospace" text-anchor="middle">PRIORITY</text>
50
-
51
- <!-- ROUTINE tier (base of tower) -->
52
- <polygon points="880,620 1040,620 1060,600 860,600" fill="#92400e" opacity="0.3"/>
53
- <text x="960" y="590" fill="#b45309" opacity="0.25" font-size="10" font-family="monospace" text-anchor="middle">ROUTINE</text>
54
-
55
- <!-- Pinnacle (finial) -->
56
- <circle cx="960" cy="380" r="15" fill="#fbbf24" opacity="0.6"/>
57
- <polygon points="960,340 950,370 970,370" fill="#fde68a" opacity="0.5"/>
58
-
59
- <!-- Broadcast waves emanating from stupa -->
60
- <!-- First ring (innermost) -->
61
- <ellipse cx="960" cy="500" rx="200" ry="100" fill="none" stroke="#fbbf24" stroke-width="2" opacity="0.4" stroke-dasharray="10,5"/>
62
- <!-- Second ring -->
63
- <ellipse cx="960" cy="500" rx="300" ry="150" fill="none" stroke="#f59e0b" stroke-width="2" opacity="0.3" stroke-dasharray="10,5"/>
64
- <!-- Third ring -->
65
- <ellipse cx="960" cy="500" rx="400" ry="200" fill="none" stroke="#d97706" stroke-width="1.5" opacity="0.25" stroke-dasharray="10,5"/>
66
- <!-- Fourth ring (outermost) -->
67
- <ellipse cx="960" cy="500" rx="500" ry="250" fill="none" stroke="#b45309" stroke-width="1" opacity="0.2" stroke-dasharray="10,5"/>
68
-
69
- <!-- Receiving nodes (smaller stupas/towers) -->
70
- <!-- Left node -->
71
- <rect x="200" y="600" width="20" height="100" fill="#1a2a22" opacity="0.7"/>
72
- <polygon points="190,620 230,620 240,600 180,600" fill="#f59e0b" opacity="0.3"/>
73
- <ellipse cx="210" cy="700" rx="40" ry="20" fill="#1a2a22" opacity="0.6"/>
74
- <ellipse cx="210" cy="700" rx="40" ry="20" stroke="#fbbf24" stroke-width="1" fill="none" opacity="0.3"/>
75
- <text x="210" y="750" fill="#f59e0b" opacity="0.35" font-size="12" font-family="monospace" text-anchor="middle">NODE A</text>
76
-
77
- <!-- Right node -->
78
- <rect x="1700" y="580" width="20" height="120" fill="#1a2a22" opacity="0.7"/>
79
- <polygon points="1690,600 1730,600 1740,580 1680,580" fill="#f59e0b" opacity="0.3"/>
80
- <ellipse cx="1710" cy="700" rx="50" ry="25" fill="#1a2a22" opacity="0.6"/>
81
- <ellipse cx="1710" cy="700" rx="50" ry="25" stroke="#fbbf24" stroke-width="1" fill="none" opacity="0.3"/>
82
- <text x="1710" y="755" fill="#f59e0b" opacity="0.35" font-size="12" font-family="monospace" text-anchor="middle">NODE B</text>
83
-
84
- <!-- Bottom left node -->
85
- <rect x="400" y="750" width="15" height="80" fill="#1a2a22" opacity="0.6"/>
86
- <polygon points="392,765 423,765 430,750 385,750" fill="#d97706" opacity="0.25"/>
87
- <ellipse cx="407" cy="830" rx="30" ry="15" fill="#1a2a22" opacity="0.5"/>
88
- <text x="407" y="870" fill="#d97706" opacity="0.3" font-size="10" font-family="monospace" text-anchor="middle">NODE C</text>
89
-
90
- <!-- Bottom right node -->
91
- <rect x="1500" y="770" width="15" height="70" fill="#1a2a22" opacity="0.6"/>
92
- <polygon points="1492,785 1523,785 1530,770 1485,770" fill="#d97706" opacity="0.25"/>
93
- <ellipse cx="1507" cy="840" rx="30" ry="15" fill="#1a2a22" opacity="0.5"/>
94
- <text x="1507" y="880" fill="#d97706" opacity="0.3" font-size="10" font-family="monospace" text-anchor="middle">NODE D</text>
95
-
96
- <!-- Message path indicators (arrows) -->
97
- <line x1="460" y1="500" x2="280" y2="620" stroke="#fbbf24" stroke-width="1.5" opacity="0.35"/>
98
- <polygon points="280,620 295,610 290,625" fill="#fbbf24" opacity="0.35"/>
99
-
100
- <line x1="1460" y1="500" x2="1640" y2="600" stroke="#fbbf24" stroke-width="1.5" opacity="0.35"/>
101
- <polygon points="1640,600 1625,590 1630,605" fill="#fbbf24" opacity="0.35"/>
102
-
103
- <line x1="660" y1="650" x2="470" y2="780" stroke="#f59e0b" stroke-width="1" opacity="0.25"/>
104
- <polygon points="470,780 485,770 480,785" fill="#f59e0b" opacity="0.25"/>
105
-
106
- <line x1="1260" y1="650" x2="1450" y2="800" stroke="#f59e0b" stroke-width="1" opacity="0.25"/>
107
- <polygon points="1450,800 1435,790 1440,805" fill="#f59e0b" opacity="0.25"/>
108
-
109
- <!-- Signal pulses -->
110
- <circle cx="960" cy="380" r="25" fill="url(#signalPulse)"/>
111
- <circle cx="960" cy="380" r="40" fill="none" stroke="#fde68a" stroke-width="1" opacity="0.2"/>
112
-
113
- <!-- STUPA label -->
114
- <text x="960" y="850" fill="#fbbf24" opacity="0.5" font-size="24" font-family="monospace" text-anchor="middle">STUPA</text>
115
- <text x="960" y="875" fill="#f59e0b" opacity="0.35" font-size="12" font-family="monospace" text-anchor="middle">Signal Transmission Unit for Peer Awareness</text>
116
-
117
- <!-- Ground -->
118
- <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"/>
119
- </svg>