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,137 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
2
- <defs>
3
- <linearGradient id="karmaGlow" x1="50%" y1="0%" x2="50%" y2="100%">
4
- <stop offset="0%" stop-color="#e11d48" stop-opacity="0.25"/>
5
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
6
- </linearGradient>
7
- <radialGradient id="wheelCenter" cx="50%" cy="50%" r="50%">
8
- <stop offset="0%" stop-color="#fb7185" stop-opacity="0.4"/>
9
- <stop offset="50%" stop-color="#e11d48" stop-opacity="0.2"/>
10
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
11
- </radialGradient>
12
- <radialGradient id="levelGlow" cx="50%" cy="50%" r="50%">
13
- <stop offset="0%" stop-color="#fda4af" stop-opacity="0.3"/>
14
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
15
- </radialGradient>
16
- </defs>
17
-
18
- <!-- MOUNTAIN BACKDROP -->
19
- <polygon points="0,620 280,300 560,580 0,1080" fill="#1a2a22" opacity="0.35"/>
20
- <polygon points="1450,650 1700,280 1920,550 1920,1080 1400,1080" fill="#1a2a22" opacity="0.35"/>
21
-
22
- <!-- Central karma glow -->
23
- <ellipse cx="960" cy="450" rx="400" ry="300" fill="url(#karmaGlow)"/>
24
-
25
- <!-- WHEEL OF KARMA (Bhavachakra - Wheel of Life) -->
26
-
27
- <!-- Outer rim (cycle of existence) -->
28
- <circle cx="960" cy="520" r="280" fill="none" stroke="#4c0519" stroke-width="20" opacity="0.4"/>
29
- <circle cx="960" cy="520" r="280" fill="none" stroke="#e11d48" stroke-width="3" opacity="0.5"/>
30
- <circle cx="960" cy="520" r="260" fill="none" stroke="#be123c" stroke-width="1" opacity="0.35"/>
31
-
32
- <!-- Twelve links of interdependent origination (nidanas) around outer wheel -->
33
- <g id="nidanaMarkers">
34
- <!-- 12 positions around the wheel -->
35
- <circle cx="960" cy="240" r="15" fill="#1a2a22" stroke="#fb7185" stroke-width="1" opacity="0.4"/>
36
- <circle cx="1100" cy="270" r="15" fill="#1a2a22" stroke="#fb7185" stroke-width="1" opacity="0.4"/>
37
- <circle cx="1210" cy="380" r="15" fill="#1a2a22" stroke="#fb7185" stroke-width="1" opacity="0.4"/>
38
- <circle cx="1240" cy="520" r="15" fill="#1a2a22" stroke="#fb7185" stroke-width="1" opacity="0.4"/>
39
- <circle cx="1210" cy="660" r="15" fill="#1a2a22" stroke="#fb7185" stroke-width="1" opacity="0.4"/>
40
- <circle cx="1100" cy="770" r="15" fill="#1a2a22" stroke="#fb7185" stroke-width="1" opacity="0.4"/>
41
- <circle cx="960" cy="800" r="15" fill="#1a2a22" stroke="#fb7185" stroke-width="1" opacity="0.4"/>
42
- <circle cx="820" cy="770" r="15" fill="#1a2a22" stroke="#fb7185" stroke-width="1" opacity="0.4"/>
43
- <circle cx="710" cy="660" r="15" fill="#1a2a22" stroke="#fb7185" stroke-width="1" opacity="0.4"/>
44
- <circle cx="680" cy="520" r="15" fill="#1a2a22" stroke="#fb7185" stroke-width="1" opacity="0.4"/>
45
- <circle cx="710" cy="380" r="15" fill="#1a2a22" stroke="#fb7185" stroke-width="1" opacity="0.4"/>
46
- <circle cx="820" cy="270" r="15" fill="#1a2a22" stroke="#fb7185" stroke-width="1" opacity="0.4"/>
47
- </g>
48
-
49
- <!-- Six realms (inner sections of wheel) -->
50
- <g id="realms">
51
- <line x1="960" y1="520" x2="960" y2="280" stroke="#be123c" stroke-width="1.5" opacity="0.35"/>
52
- <line x1="960" y1="520" x2="1180" y2="400" stroke="#be123c" stroke-width="1.5" opacity="0.35"/>
53
- <line x1="960" y1="520" x2="1180" y2="640" stroke="#be123c" stroke-width="1.5" opacity="0.35"/>
54
- <line x1="960" y1="520" x2="960" y2="760" stroke="#be123c" stroke-width="1.5" opacity="0.35"/>
55
- <line x1="960" y1="520" x2="740" y2="640" stroke="#be123c" stroke-width="1.5" opacity="0.35"/>
56
- <line x1="960" y1="520" x2="740" y2="400" stroke="#be123c" stroke-width="1.5" opacity="0.35"/>
57
- </g>
58
-
59
- <!-- Inner circle (three poisons - ignorance, attachment, aversion) -->
60
- <circle cx="960" cy="520" r="100" fill="url(#wheelCenter)"/>
61
- <circle cx="960" cy="520" r="100" fill="none" stroke="#fb7185" stroke-width="2" opacity="0.5"/>
62
-
63
- <!-- Three poisons symbols -->
64
- <circle cx="960" cy="480" r="20" fill="#1a2a22" stroke="#e11d48" stroke-width="1.5" opacity="0.5"/>
65
- <circle cx="930" cy="550" r="20" fill="#1a2a22" stroke="#e11d48" stroke-width="1.5" opacity="0.5"/>
66
- <circle cx="990" cy="550" r="20" fill="#1a2a22" stroke="#e11d48" stroke-width="1.5" opacity="0.5"/>
67
-
68
- <!-- Central hub (Buddha nature) -->
69
- <circle cx="960" cy="520" r="25" fill="#1a2a22" opacity="0.8"/>
70
- <circle cx="960" cy="520" r="25" fill="none" stroke="#fb7185" stroke-width="2" opacity="0.6"/>
71
- <text x="960" y="525" fill="#fb7185" opacity="0.6" font-size="14" font-family="serif" text-anchor="middle">☯</text>
72
-
73
- <!-- KARMA LEVELS (Trust tiers) positioned around wheel -->
74
-
75
- <!-- ENLIGHTENED (top - highest) -->
76
- <g id="enlightened">
77
- <circle cx="960" cy="180" r="40" fill="url(#levelGlow)"/>
78
- <polygon points="960,140 940,175 980,175" fill="#E5E4E2" opacity="0.5"/>
79
- <text x="960" y="165" fill="#E5E4E2" opacity="0.5" font-size="10" font-family="monospace" text-anchor="middle">💎</text>
80
- <text x="960" y="200" fill="#E5E4E2" opacity="0.4" font-size="9" font-family="monospace" text-anchor="middle">ENLIGHTENED</text>
81
- <text x="960" y="215" fill="#d4d4d8" opacity="0.3" font-size="8" font-family="monospace" text-anchor="middle">Level 3</text>
82
- </g>
83
-
84
- <!-- AWAKENED (left upper) -->
85
- <g id="awakened">
86
- <circle cx="620" cy="400" r="35" fill="url(#levelGlow)"/>
87
- <text x="620" y="395" fill="#FFD700" opacity="0.5" font-size="14" font-family="monospace" text-anchor="middle">🥇</text>
88
- <text x="620" y="420" fill="#FFD700" opacity="0.4" font-size="9" font-family="monospace" text-anchor="middle">AWAKENED</text>
89
- <text x="620" y="435" fill="#facc15" opacity="0.3" font-size="8" font-family="monospace" text-anchor="middle">Level 2</text>
90
- </g>
91
-
92
- <!-- SEEKING (right upper) -->
93
- <g id="seeking">
94
- <circle cx="1300" cy="400" r="35" fill="url(#levelGlow)"/>
95
- <text x="1300" y="395" fill="#CD7F32" opacity="0.5" font-size="14" font-family="monospace" text-anchor="middle">🥉</text>
96
- <text x="1300" y="420" fill="#CD7F32" opacity="0.4" font-size="9" font-family="monospace" text-anchor="middle">SEEKING</text>
97
- <text x="1300" y="435" fill="#d97706" opacity="0.3" font-size="8" font-family="monospace" text-anchor="middle">Level 1</text>
98
- </g>
99
-
100
- <!-- UNTRUSTED (bottom) -->
101
- <g id="untrusted">
102
- <circle cx="960" cy="860" r="30" fill="rgba(239, 68, 68, 0.1)"/>
103
- <text x="960" y="855" fill="#ef4444" opacity="0.4" font-size="12" font-family="monospace" text-anchor="middle">🚫</text>
104
- <text x="960" y="878" fill="#ef4444" opacity="0.35" font-size="8" font-family="monospace" text-anchor="middle">UNTRUSTED</text>
105
- <text x="960" y="893" fill="#f87171" opacity="0.25" font-size="7" font-family="monospace" text-anchor="middle">Level 0</text>
106
- </g>
107
-
108
- <!-- Karma flow arrows (progression/regression) -->
109
- <path d="M700,380 Q760,300 880,200" fill="none" stroke="#34d399" stroke-width="1" opacity="0.25" marker-end="url(#arrowUp)"/>
110
- <path d="M1040,200 Q1160,300 1220,380" fill="none" stroke="#fb7185" stroke-width="1" opacity="0.25" marker-end="url(#arrowDown)"/>
111
-
112
- <!-- Merit/Demerit indicators -->
113
- <text x="750" y="300" fill="#34d399" opacity="0.3" font-size="10" font-family="monospace" transform="rotate(-30,750,300)">+ Merit</text>
114
- <text x="1150" y="300" fill="#fb7185" opacity="0.3" font-size="10" font-family="monospace" transform="rotate(30,1150,300)">- Demerit</text>
115
-
116
- <!-- Evidence sources around wheel -->
117
- <g id="evidenceSources">
118
- <text x="200" y="500" fill="#fb7185" opacity="0.3" font-size="10" font-family="monospace">SSL ✓</text>
119
- <text x="200" y="520" fill="#e11d48" opacity="0.25" font-size="9" font-family="monospace">Certificate</text>
120
-
121
- <text x="200" y="580" fill="#fb7185" opacity="0.3" font-size="10" font-family="monospace">DOKO ✓</text>
122
- <text x="200" y="600" fill="#e11d48" opacity="0.25" font-size="9" font-family="monospace">Identity</text>
123
-
124
- <text x="1650" y="500" fill="#fb7185" opacity="0.3" font-size="10" font-family="monospace">Mesh ✓</text>
125
- <text x="1650" y="520" fill="#e11d48" opacity="0.25" font-size="9" font-family="monospace">Quorum</text>
126
-
127
- <text x="1650" y="580" fill="#fb7185" opacity="0.3" font-size="10" font-family="monospace">Time ✓</text>
128
- <text x="1650" y="600" fill="#e11d48" opacity="0.25" font-size="9" font-family="monospace">Consistency</text>
129
- </g>
130
-
131
- <!-- KARMA label -->
132
- <text x="960" y="110" fill="#e11d48" opacity="0.5" font-size="24" font-family="monospace" text-anchor="middle">KARMA</text>
133
- <text x="960" y="135" fill="#be123c" opacity="0.35" font-size="12" font-family="monospace" text-anchor="middle">Kinetic Assessment of Reputation &amp; Merit Accumulation</text>
134
-
135
- <!-- Ground -->
136
- <polygon points="0,920 350,890 700,950 1050,900 1400,960 1700,910 1920,970 1920,1080 0,1080" fill="#101a16" opacity="0.75"/>
137
- </svg>
@@ -1,141 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
2
- <defs>
3
- <linearGradient id="wisdomGlow" x1="50%" y1="0%" x2="50%" y2="100%">
4
- <stop offset="0%" stop-color="#a855f7" stop-opacity="0.25"/>
5
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
6
- </linearGradient>
7
- <radialGradient id="enlightenment" cx="50%" cy="50%" r="50%">
8
- <stop offset="0%" stop-color="#c084fc" stop-opacity="0.3"/>
9
- <stop offset="70%" stop-color="#7c3aed" stop-opacity="0.1"/>
10
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
11
- </radialGradient>
12
- <radialGradient id="nodeWisdom" cx="50%" cy="50%" r="50%">
13
- <stop offset="0%" stop-color="#a855f7" stop-opacity="0.2"/>
14
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
15
- </radialGradient>
16
- </defs>
17
-
18
- <!-- MOUNTAIN BACKDROP -->
19
- <polygon points="0,600 250,300 500,550 0,1080" fill="#1a2a22" opacity="0.35"/>
20
- <polygon points="1500,620 1720,280 1920,520 1920,1080 1450,1080" fill="#1a2a22" opacity="0.35"/>
21
- <polygon points="600,700 850,350 1100,680 600,1080" fill="#1a2a22" opacity="0.25"/>
22
-
23
- <!-- Central enlightenment glow -->
24
- <ellipse cx="960" cy="450" rx="400" ry="300" fill="url(#wisdomGlow)"/>
25
-
26
- <!-- LAMA COUNCIL - Five seated lamas forming consensus -->
27
-
28
- <!-- Central Lama (largest, highest) - The Truth -->
29
- <g id="centralLama">
30
- <!-- Meditation cushion -->
31
- <ellipse cx="960" cy="720" rx="80" ry="25" fill="#1a2a22" opacity="0.8"/>
32
- <ellipse cx="960" cy="720" rx="80" ry="25" stroke="#a855f7" stroke-width="2" fill="none" opacity="0.4"/>
33
-
34
- <!-- Robed body -->
35
- <path d="M900,720 Q900,620 920,580 Q960,550 1000,580 Q1020,620 1020,720 Z" fill="#1a2a22" opacity="0.85"/>
36
- <path d="M900,720 Q900,620 920,580 Q960,550 1000,580 Q1020,620 1020,720 Z" stroke="#9333ea" stroke-width="2" fill="none" opacity="0.5"/>
37
-
38
- <!-- Head -->
39
- <ellipse cx="960" cy="540" rx="30" ry="35" fill="#1a2a22" opacity="0.85"/>
40
- <ellipse cx="960" cy="540" rx="30" ry="35" stroke="#a855f7" stroke-width="2" fill="none" opacity="0.5"/>
41
-
42
- <!-- Wisdom halo -->
43
- <circle cx="960" cy="500" r="60" fill="url(#enlightenment)"/>
44
- <circle cx="960" cy="500" r="70" fill="none" stroke="#c084fc" stroke-width="1" opacity="0.3"/>
45
- <circle cx="960" cy="500" r="85" fill="none" stroke="#a855f7" stroke-width="1" opacity="0.2"/>
46
-
47
- <!-- Third eye (insight) -->
48
- <circle cx="960" cy="525" r="5" fill="#c084fc" opacity="0.6"/>
49
-
50
- <!-- Dharma text floating -->
51
- <text x="960" y="460" fill="#c084fc" opacity="0.4" font-size="10" font-family="monospace" text-anchor="middle">CONSENSUS</text>
52
- </g>
53
-
54
- <!-- Left Lama 1 -->
55
- <g id="leftLama1">
56
- <ellipse cx="720" cy="770" rx="60" ry="20" fill="#1a2a22" opacity="0.7"/>
57
- <path d="M680,770 Q680,690 695,660 Q720,640 745,660 Q760,690 760,770 Z" fill="#1a2a22" opacity="0.75"/>
58
- <path d="M680,770 Q680,690 695,660 Q720,640 745,660 Q760,690 760,770 Z" stroke="#7c3aed" stroke-width="1.5" fill="none" opacity="0.4"/>
59
- <ellipse cx="720" cy="628" rx="22" ry="26" fill="#1a2a22" opacity="0.75"/>
60
- <ellipse cx="720" cy="628" rx="22" ry="26" stroke="#a855f7" stroke-width="1.5" fill="none" opacity="0.4"/>
61
- <circle cx="720" cy="595" r="35" fill="url(#nodeWisdom)"/>
62
- <text x="720" y="565" fill="#a855f7" opacity="0.35" font-size="9" font-family="monospace" text-anchor="middle">VALIDATE</text>
63
- </g>
64
-
65
- <!-- Left Lama 2 -->
66
- <g id="leftLama2">
67
- <ellipse cx="520" cy="800" rx="50" ry="18" fill="#1a2a22" opacity="0.6"/>
68
- <path d="M485,800 Q485,730 497,705 Q520,690 543,705 Q555,730 555,800 Z" fill="#1a2a22" opacity="0.65"/>
69
- <path d="M485,800 Q485,730 497,705 Q520,690 543,705 Q555,730 555,800 Z" stroke="#6d28d9" stroke-width="1" fill="none" opacity="0.35"/>
70
- <ellipse cx="520" cy="678" rx="18" ry="22" fill="#1a2a22" opacity="0.65"/>
71
- <ellipse cx="520" cy="678" rx="18" ry="22" stroke="#7c3aed" stroke-width="1" fill="none" opacity="0.35"/>
72
- <circle cx="520" cy="650" r="28" fill="url(#nodeWisdom)"/>
73
- <text x="520" y="625" fill="#7c3aed" opacity="0.3" font-size="8" font-family="monospace" text-anchor="middle">ATTEST</text>
74
- </g>
75
-
76
- <!-- Right Lama 1 -->
77
- <g id="rightLama1">
78
- <ellipse cx="1200" cy="770" rx="60" ry="20" fill="#1a2a22" opacity="0.7"/>
79
- <path d="M1160,770 Q1160,690 1175,660 Q1200,640 1225,660 Q1240,690 1240,770 Z" fill="#1a2a22" opacity="0.75"/>
80
- <path d="M1160,770 Q1160,690 1175,660 Q1200,640 1225,660 Q1240,690 1240,770 Z" stroke="#7c3aed" stroke-width="1.5" fill="none" opacity="0.4"/>
81
- <ellipse cx="1200" cy="628" rx="22" ry="26" fill="#1a2a22" opacity="0.75"/>
82
- <ellipse cx="1200" cy="628" rx="22" ry="26" stroke="#a855f7" stroke-width="1.5" fill="none" opacity="0.4"/>
83
- <circle cx="1200" cy="595" r="35" fill="url(#nodeWisdom)"/>
84
- <text x="1200" y="565" fill="#a855f7" opacity="0.35" font-size="9" font-family="monospace" text-anchor="middle">CONFIRM</text>
85
- </g>
86
-
87
- <!-- Right Lama 2 -->
88
- <g id="rightLama2">
89
- <ellipse cx="1400" cy="800" rx="50" ry="18" fill="#1a2a22" opacity="0.6"/>
90
- <path d="M1365,800 Q1365,730 1377,705 Q1400,690 1423,705 Q1435,730 1435,800 Z" fill="#1a2a22" opacity="0.65"/>
91
- <path d="M1365,800 Q1365,730 1377,705 Q1400,690 1423,705 Q1435,730 1435,800 Z" stroke="#6d28d9" stroke-width="1" fill="none" opacity="0.35"/>
92
- <ellipse cx="1400" cy="678" rx="18" ry="22" fill="#1a2a22" opacity="0.65"/>
93
- <ellipse cx="1400" cy="678" rx="18" ry="22" stroke="#7c3aed" stroke-width="1" fill="none" opacity="0.35"/>
94
- <circle cx="1400" cy="650" r="28" fill="url(#nodeWisdom)"/>
95
- <text x="1400" y="625" fill="#7c3aed" opacity="0.3" font-size="8" font-family="monospace" text-anchor="middle">AGREE</text>
96
- </g>
97
-
98
- <!-- Wisdom connection lines (consensus links) -->
99
- <line x1="760" y1="640" x2="900" y2="580" stroke="#a855f7" stroke-width="1" opacity="0.25" stroke-dasharray="4,4"/>
100
- <line x1="555" y1="690" x2="700" y2="660" stroke="#7c3aed" stroke-width="1" opacity="0.2" stroke-dasharray="4,4"/>
101
- <line x1="1160" y1="640" x2="1020" y2="580" stroke="#a855f7" stroke-width="1" opacity="0.25" stroke-dasharray="4,4"/>
102
- <line x1="1365" y1="690" x2="1220" y2="660" stroke="#7c3aed" stroke-width="1" opacity="0.2" stroke-dasharray="4,4"/>
103
-
104
- <!-- Cross-connections (mesh of agreement) -->
105
- <line x1="760" y1="660" x2="1160" y2="660" stroke="#9333ea" stroke-width="1" opacity="0.15" stroke-dasharray="8,4"/>
106
- <line x1="555" y1="700" x2="1365" y2="700" stroke="#7c3aed" stroke-width="0.5" opacity="0.1" stroke-dasharray="8,4"/>
107
-
108
- <!-- Content hash symbol (what they're contemplating) -->
109
- <g id="contentHash">
110
- <rect x="940" y="400" width="40" height="30" fill="#1a2a22" opacity="0.8" rx="4"/>
111
- <rect x="940" y="400" width="40" height="30" stroke="#c084fc" stroke-width="1" fill="none" opacity="0.4" rx="4"/>
112
- <text x="960" y="420" fill="#c084fc" opacity="0.5" font-size="10" font-family="monospace" text-anchor="middle">#</text>
113
-
114
- <!-- Hash rays -->
115
- <line x1="960" y1="395" x2="960" y2="370" stroke="#a855f7" stroke-width="1" opacity="0.3"/>
116
- <line x1="985" y1="408" x2="1005" y2="398" stroke="#a855f7" stroke-width="1" opacity="0.25"/>
117
- <line x1="935" y1="408" x2="915" y2="398" stroke="#a855f7" stroke-width="1" opacity="0.25"/>
118
- </g>
119
-
120
- <!-- Dharmic state progression indicators -->
121
- <g id="stateFlow">
122
- <text x="100" y="900" fill="#6d28d9" opacity="0.3" font-size="11" font-family="monospace">PENDING</text>
123
- <text x="100" y="920" fill="#7c3aed" opacity="0.25" font-size="9" font-family="monospace">→ teaching received</text>
124
-
125
- <text x="350" y="900" fill="#7c3aed" opacity="0.35" font-size="11" font-family="monospace">VALIDATED</text>
126
- <text x="350" y="920" fill="#9333ea" opacity="0.25" font-size="9" font-family="monospace">→ one lama accepts</text>
127
-
128
- <text x="620" y="900" fill="#9333ea" opacity="0.4" font-size="11" font-family="monospace">ATTESTATION</text>
129
- <text x="620" y="920" fill="#a855f7" opacity="0.25" font-size="9" font-family="monospace">→ multiple lamas confirm</text>
130
-
131
- <text x="920" y="900" fill="#a855f7" opacity="0.5" font-size="12" font-family="monospace">CONSENSUS</text>
132
- <text x="920" y="920" fill="#c084fc" opacity="0.3" font-size="9" font-family="monospace">→ all agree on truth</text>
133
- </g>
134
-
135
- <!-- LAMA label -->
136
- <text x="960" y="850" fill="#a855f7" opacity="0.5" font-size="24" font-family="monospace" text-anchor="middle">LAMA</text>
137
- <text x="960" y="875" fill="#9333ea" opacity="0.35" font-size="12" font-family="monospace" text-anchor="middle">Locally Attested Multi-Agreement</text>
138
-
139
- <!-- Ground -->
140
- <polygon points="0,920 400,900 700,960 1000,910 1300,970 1600,920 1920,980 1920,1080 0,1080" fill="#101a16" opacity="0.75"/>
141
- </svg>
@@ -1,169 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
2
- <defs>
3
- <linearGradient id="mandalaGlow" x1="50%" y1="0%" x2="50%" y2="100%">
4
- <stop offset="0%" stop-color="#14b8a6" stop-opacity="0.5"/>
5
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
6
- </linearGradient>
7
- <radialGradient id="nodeGlow" cx="50%" cy="50%" r="50%">
8
- <stop offset="0%" stop-color="#2dd4bf" stop-opacity="0.6"/>
9
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
10
- </radialGradient>
11
- <radialGradient id="centerGlow" cx="50%" cy="50%" r="50%">
12
- <stop offset="0%" stop-color="#5eead4" stop-opacity="0.5"/>
13
- <stop offset="40%" stop-color="#14b8a6" stop-opacity="0.3"/>
14
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
15
- </radialGradient>
16
- </defs>
17
-
18
- <!-- MOUNTAIN BACKDROP -->
19
- <polygon points="0,600 300,280 600,550 0,1080" fill="#1a2a22" opacity="0.6"/>
20
- <polygon points="1400,620 1680,260 1920,520 1920,1080 1350,1080" fill="#1a2a22" opacity="0.6"/>
21
-
22
- <!-- Central mandala glow -->
23
- <ellipse cx="960" cy="480" rx="450" ry="350" fill="url(#mandalaGlow)"/>
24
-
25
- <!-- MANDALA SACRED GEOMETRY -->
26
-
27
- <!-- Outer circle (boundary of the universe) -->
28
- <circle cx="960" cy="480" r="320" fill="none" stroke="#0d9488" stroke-width="2" opacity="0.6"/>
29
- <circle cx="960" cy="480" r="300" fill="none" stroke="#14b8a6" stroke-width="1" opacity="0.5" stroke-dasharray="20,10"/>
30
-
31
- <!-- Middle circles (realms of connection) -->
32
- <circle cx="960" cy="480" r="220" fill="none" stroke="#0d9488" stroke-width="1.5" opacity="0.6"/>
33
- <circle cx="960" cy="480" r="140" fill="none" stroke="#14b8a6" stroke-width="1" opacity="0.55"/>
34
-
35
- <!-- Inner sacred center -->
36
- <circle cx="960" cy="480" r="60" fill="url(#centerGlow)"/>
37
- <circle cx="960" cy="480" r="60" fill="none" stroke="#2dd4bf" stroke-width="2" opacity="0.7"/>
38
-
39
- <!-- Central hub node -->
40
- <circle cx="960" cy="480" r="25" fill="#1a2a22" opacity="0.95"/>
41
- <circle cx="960" cy="480" r="25" fill="none" stroke="#5eead4" stroke-width="2" opacity="0.85"/>
42
- <text x="960" y="485" fill="#5eead4" opacity="0.85" font-size="12" font-family="monospace" text-anchor="middle">HUB</text>
43
-
44
- <!-- 8 cardinal direction nodes (primary connections) -->
45
- <g id="cardinalNodes">
46
- <!-- North -->
47
- <circle cx="960" cy="200" r="30" fill="url(#nodeGlow)"/>
48
- <circle cx="960" cy="200" r="18" fill="#1a2a22" stroke="#14b8a6" stroke-width="2" opacity="0.7"/>
49
- <line x1="960" y1="455" x2="960" y2="230" stroke="#14b8a6" stroke-width="1.5" opacity="0.4"/>
50
-
51
- <!-- Northeast -->
52
- <circle cx="1180" cy="280" r="25" fill="url(#nodeGlow)"/>
53
- <circle cx="1180" cy="280" r="15" fill="#1a2a22" stroke="#0d9488" stroke-width="1.5" opacity="0.6"/>
54
- <line x1="980" y1="460" x2="1165" y2="295" stroke="#0d9488" stroke-width="1" opacity="0.35"/>
55
-
56
- <!-- East -->
57
- <circle cx="1280" cy="480" r="30" fill="url(#nodeGlow)"/>
58
- <circle cx="1280" cy="480" r="18" fill="#1a2a22" stroke="#14b8a6" stroke-width="2" opacity="0.7"/>
59
- <line x1="985" y1="480" x2="1250" y2="480" stroke="#14b8a6" stroke-width="1.5" opacity="0.4"/>
60
-
61
- <!-- Southeast -->
62
- <circle cx="1180" cy="680" r="25" fill="url(#nodeGlow)"/>
63
- <circle cx="1180" cy="680" r="15" fill="#1a2a22" stroke="#0d9488" stroke-width="1.5" opacity="0.6"/>
64
- <line x1="980" y1="500" x2="1165" y2="665" stroke="#0d9488" stroke-width="1" opacity="0.35"/>
65
-
66
- <!-- South -->
67
- <circle cx="960" cy="760" r="30" fill="url(#nodeGlow)"/>
68
- <circle cx="960" cy="760" r="18" fill="#1a2a22" stroke="#14b8a6" stroke-width="2" opacity="0.7"/>
69
- <line x1="960" y1="505" x2="960" y2="730" stroke="#14b8a6" stroke-width="1.5" opacity="0.4"/>
70
-
71
- <!-- Southwest -->
72
- <circle cx="740" cy="680" r="25" fill="url(#nodeGlow)"/>
73
- <circle cx="740" cy="680" r="15" fill="#1a2a22" stroke="#0d9488" stroke-width="1.5" opacity="0.6"/>
74
- <line x1="940" y1="500" x2="755" y2="665" stroke="#0d9488" stroke-width="1" opacity="0.35"/>
75
-
76
- <!-- West -->
77
- <circle cx="640" cy="480" r="30" fill="url(#nodeGlow)"/>
78
- <circle cx="640" cy="480" r="18" fill="#1a2a22" stroke="#14b8a6" stroke-width="2" opacity="0.7"/>
79
- <line x1="935" y1="480" x2="670" y2="480" stroke="#14b8a6" stroke-width="1.5" opacity="0.4"/>
80
-
81
- <!-- Northwest -->
82
- <circle cx="740" cy="280" r="25" fill="url(#nodeGlow)"/>
83
- <circle cx="740" cy="280" r="15" fill="#1a2a22" stroke="#0d9488" stroke-width="1.5" opacity="0.6"/>
84
- <line x1="940" y1="460" x2="755" y2="295" stroke="#0d9488" stroke-width="1" opacity="0.35"/>
85
- </g>
86
-
87
- <!-- Outer ring nodes (extended network) -->
88
- <g id="outerNodes">
89
- <!-- NNE -->
90
- <circle cx="1080" cy="180" r="15" fill="#1a2a22" stroke="#0d9488" stroke-width="1" opacity="0.5"/>
91
- <line x1="975" y1="210" x2="1065" y2="190" stroke="#0d9488" stroke-width="0.5" opacity="0.25"/>
92
-
93
- <!-- ENE -->
94
- <circle cx="1320" cy="350" r="15" fill="#1a2a22" stroke="#0d9488" stroke-width="1" opacity="0.5"/>
95
- <line x1="1195" y1="290" x2="1305" y2="345" stroke="#0d9488" stroke-width="0.5" opacity="0.25"/>
96
-
97
- <!-- ESE -->
98
- <circle cx="1320" cy="610" r="15" fill="#1a2a22" stroke="#0d9488" stroke-width="1" opacity="0.5"/>
99
- <line x1="1195" y1="670" x2="1305" y2="615" stroke="#0d9488" stroke-width="0.5" opacity="0.25"/>
100
-
101
- <!-- SSE -->
102
- <circle cx="1080" cy="800" r="15" fill="#1a2a22" stroke="#0d9488" stroke-width="1" opacity="0.5"/>
103
- <line x1="975" y1="770" x2="1065" y2="790" stroke="#0d9488" stroke-width="0.5" opacity="0.25"/>
104
-
105
- <!-- SSW -->
106
- <circle cx="840" cy="800" r="15" fill="#1a2a22" stroke="#0d9488" stroke-width="1" opacity="0.5"/>
107
- <line x1="945" y1="770" x2="855" y2="790" stroke="#0d9488" stroke-width="0.5" opacity="0.25"/>
108
-
109
- <!-- WSW -->
110
- <circle cx="600" cy="610" r="15" fill="#1a2a22" stroke="#0d9488" stroke-width="1" opacity="0.5"/>
111
- <line x1="725" y1="670" x2="615" y2="615" stroke="#0d9488" stroke-width="0.5" opacity="0.25"/>
112
-
113
- <!-- WNW -->
114
- <circle cx="600" cy="350" r="15" fill="#1a2a22" stroke="#0d9488" stroke-width="1" opacity="0.5"/>
115
- <line x1="725" y1="290" x2="615" y2="345" stroke="#0d9488" stroke-width="0.5" opacity="0.25"/>
116
-
117
- <!-- NNW -->
118
- <circle cx="840" cy="180" r="15" fill="#1a2a22" stroke="#0d9488" stroke-width="1" opacity="0.5"/>
119
- <line x1="945" y1="210" x2="855" y2="190" stroke="#0d9488" stroke-width="0.5" opacity="0.25"/>
120
- </g>
121
-
122
- <!-- Far reach nodes (edge of network) -->
123
- <g id="edgeNodes">
124
- <circle cx="200" cy="400" r="12" fill="#1a2a22" stroke="#0d9488" stroke-width="1" opacity="0.35"/>
125
- <circle cx="300" cy="700" r="12" fill="#1a2a22" stroke="#0d9488" stroke-width="1" opacity="0.35"/>
126
- <circle cx="1620" cy="400" r="12" fill="#1a2a22" stroke="#0d9488" stroke-width="1" opacity="0.35"/>
127
- <circle cx="1720" cy="600" r="12" fill="#1a2a22" stroke="#0d9488" stroke-width="1" opacity="0.35"/>
128
- <circle cx="480" cy="850" r="10" fill="#1a2a22" stroke="#0d9488" stroke-width="1" opacity="0.3"/>
129
- <circle cx="1440" cy="850" r="10" fill="#1a2a22" stroke="#0d9488" stroke-width="1" opacity="0.3"/>
130
-
131
- <!-- Long-range connections -->
132
- <line x1="600" y1="350" x2="215" y2="400" stroke="#0d9488" stroke-width="0.5" opacity="0.15" stroke-dasharray="5,5"/>
133
- <line x1="600" y1="610" x2="315" y2="695" stroke="#0d9488" stroke-width="0.5" opacity="0.15" stroke-dasharray="5,5"/>
134
- <line x1="1320" y1="350" x2="1605" y2="400" stroke="#0d9488" stroke-width="0.5" opacity="0.15" stroke-dasharray="5,5"/>
135
- <line x1="1320" y1="610" x2="1705" y2="595" stroke="#0d9488" stroke-width="0.5" opacity="0.15" stroke-dasharray="5,5"/>
136
- </g>
137
-
138
- <!-- Cross-connections (sacred geometry pattern) -->
139
- <g id="crossConnections">
140
- <!-- Diagonal cross-braces -->
141
- <line x1="760" y1="290" x2="1160" y2="670" stroke="#2dd4bf" stroke-width="0.5" opacity="0.15" stroke-dasharray="8,4"/>
142
- <line x1="1160" y1="290" x2="760" y2="670" stroke="#2dd4bf" stroke-width="0.5" opacity="0.15" stroke-dasharray="8,4"/>
143
-
144
- <!-- Ring connections -->
145
- <path d="M960,200 Q1100,180 1180,280" fill="none" stroke="#14b8a6" stroke-width="0.5" opacity="0.2"/>
146
- <path d="M1180,280 Q1280,380 1280,480" fill="none" stroke="#14b8a6" stroke-width="0.5" opacity="0.2"/>
147
- <path d="M1280,480 Q1280,580 1180,680" fill="none" stroke="#14b8a6" stroke-width="0.5" opacity="0.2"/>
148
- <path d="M1180,680 Q1100,780 960,760" fill="none" stroke="#14b8a6" stroke-width="0.5" opacity="0.2"/>
149
- <path d="M960,760 Q820,780 740,680" fill="none" stroke="#14b8a6" stroke-width="0.5" opacity="0.2"/>
150
- <path d="M740,680 Q640,580 640,480" fill="none" stroke="#14b8a6" stroke-width="0.5" opacity="0.2"/>
151
- <path d="M640,480 Q640,380 740,280" fill="none" stroke="#14b8a6" stroke-width="0.5" opacity="0.2"/>
152
- <path d="M740,280 Q820,180 960,200" fill="none" stroke="#14b8a6" stroke-width="0.5" opacity="0.2"/>
153
- </g>
154
-
155
- <!-- Message flow indicators -->
156
- <g id="messageFlow">
157
- <text x="150" y="350" fill="#2dd4bf" opacity="0.3" font-size="10" font-family="monospace">HELLO →</text>
158
- <text x="1700" y="350" fill="#2dd4bf" opacity="0.3" font-size="10" font-family="monospace">← WELCOME</text>
159
- <text x="150" y="550" fill="#14b8a6" opacity="0.25" font-size="9" font-family="monospace">GOSSIP ↔</text>
160
- <text x="1700" y="550" fill="#14b8a6" opacity="0.25" font-size="9" font-family="monospace">↔ SYNC</text>
161
- </g>
162
-
163
- <!-- MANDALA label -->
164
- <text x="960" y="100" fill="#14b8a6" opacity="0.5" font-size="24" font-family="monospace" text-anchor="middle">MANDALA</text>
165
- <text x="960" y="125" fill="#0d9488" opacity="0.35" font-size="12" font-family="monospace" text-anchor="middle">Mesh Architecture for Network Distribution &amp; Layered Aggregation</text>
166
-
167
- <!-- Ground -->
168
- <polygon points="0,900 400,870 800,920 1200,880 1600,930 1920,890 1920,1080 0,1080" fill="#101a16" opacity="0.75"/>
169
- </svg>
@@ -1,149 +0,0 @@
1
- <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1920 1080" preserveAspectRatio="xMidYMax slice">
2
- <defs>
3
- <linearGradient id="timeGlow" x1="50%" y1="0%" x2="50%" y2="100%">
4
- <stop offset="0%" stop-color="#eab308" stop-opacity="0.25"/>
5
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
6
- </linearGradient>
7
- <radialGradient id="atomicPulse" cx="50%" cy="50%" r="50%">
8
- <stop offset="0%" stop-color="#facc15" stop-opacity="0.4"/>
9
- <stop offset="50%" stop-color="#eab308" stop-opacity="0.2"/>
10
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
11
- </radialGradient>
12
- <radialGradient id="gpsPulse" cx="50%" cy="50%" r="50%">
13
- <stop offset="0%" stop-color="#a3e635" stop-opacity="0.3"/>
14
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
15
- </radialGradient>
16
- <radialGradient id="ntpPulse" cx="50%" cy="50%" r="50%">
17
- <stop offset="0%" stop-color="#60a5fa" stop-opacity="0.2"/>
18
- <stop offset="100%" stop-color="#101a16" stop-opacity="0"/>
19
- </radialGradient>
20
- </defs>
21
-
22
- <!-- MOUNTAIN BACKDROP -->
23
- <polygon points="0,650 300,280 600,600 0,1080" fill="#1a2a22" opacity="0.35"/>
24
- <polygon points="1400,680 1650,250 1920,580 1920,1080 1350,1080" fill="#1a2a22" opacity="0.35"/>
25
- <polygon points="700,720 950,400 1200,700 700,1080" fill="#1a2a22" opacity="0.25"/>
26
-
27
- <!-- Central time reference glow -->
28
- <ellipse cx="960" cy="400" rx="350" ry="250" fill="url(#timeGlow)"/>
29
-
30
- <!-- MANI STONES arranged along mountain path -->
31
-
32
- <!-- Primary MANI Stone (ATOMIC - Central, largest) -->
33
- <g id="atomicMani">
34
- <!-- Stone base -->
35
- <ellipse cx="960" cy="680" rx="100" ry="30" fill="#1a2a22" opacity="0.7"/>
36
-
37
- <!-- Main stone body (rough, natural shape) -->
38
- <path d="M880,680 Q860,600 890,520 Q920,470 960,450 Q1000,470 1030,520 Q1060,600 1040,680 Z"
39
- fill="#1a2a22" opacity="0.85"/>
40
- <path d="M880,680 Q860,600 890,520 Q920,470 960,450 Q1000,470 1030,520 Q1060,600 1040,680 Z"
41
- stroke="#eab308" stroke-width="3" fill="none" opacity="0.5"/>
42
-
43
- <!-- Carved mantra (OM MANI PADME HUM representation) -->
44
- <text x="960" y="550" fill="#facc15" opacity="0.5" font-size="16" font-family="monospace" text-anchor="middle">ॐ</text>
45
- <text x="960" y="580" fill="#eab308" opacity="0.4" font-size="10" font-family="monospace" text-anchor="middle">MANI</text>
46
- <text x="960" y="600" fill="#ca8a04" opacity="0.35" font-size="8" font-family="monospace" text-anchor="middle">PADME</text>
47
- <text x="960" y="620" fill="#a16207" opacity="0.3" font-size="10" font-family="monospace" text-anchor="middle">HUM</text>
48
-
49
- <!-- Atomic clock indicator (oscillation symbol) -->
50
- <circle cx="960" cy="490" r="25" fill="url(#atomicPulse)"/>
51
- <circle cx="960" cy="490" r="35" fill="none" stroke="#facc15" stroke-width="1" opacity="0.3"/>
52
- <circle cx="960" cy="490" r="45" fill="none" stroke="#eab308" stroke-width="1" opacity="0.2"/>
53
-
54
- <!-- Precision indicator -->
55
- <text x="960" y="440" fill="#facc15" opacity="0.45" font-size="10" font-family="monospace" text-anchor="middle">±100ms</text>
56
- <text x="960" y="720" fill="#eab308" opacity="0.4" font-size="12" font-family="monospace" text-anchor="middle">ATOMIC</text>
57
- </g>
58
-
59
- <!-- GPS MANI Stone (Left, medium) -->
60
- <g id="gpsMani">
61
- <ellipse cx="580" cy="750" rx="70" ry="22" fill="#1a2a22" opacity="0.6"/>
62
-
63
- <path d="M530,750 Q515,680 540,620 Q570,585 610,620 Q635,680 620,750 Z"
64
- fill="#1a2a22" opacity="0.75"/>
65
- <path d="M530,750 Q515,680 540,620 Q570,585 610,620 Q635,680 620,750 Z"
66
- stroke="#a3e635" stroke-width="2" fill="none" opacity="0.4"/>
67
-
68
- <!-- GPS satellite symbol -->
69
- <circle cx="575" cy="620" r="15" fill="url(#gpsPulse)"/>
70
- <polygon points="575,595 565,605 585,605" fill="#a3e635" opacity="0.4"/>
71
-
72
- <!-- Celestial rays from satellite -->
73
- <line x1="575" y1="575" x2="575" y2="550" stroke="#a3e635" stroke-width="1" opacity="0.3"/>
74
- <line x1="555" y1="595" x2="535" y2="575" stroke="#84cc16" stroke-width="1" opacity="0.25"/>
75
- <line x1="595" y1="595" x2="615" y2="575" stroke="#84cc16" stroke-width="1" opacity="0.25"/>
76
-
77
- <text x="575" y="660" fill="#a3e635" opacity="0.4" font-size="9" font-family="monospace" text-anchor="middle">ॐ</text>
78
- <text x="575" y="680" fill="#84cc16" opacity="0.35" font-size="8" font-family="monospace" text-anchor="middle">±500ms</text>
79
- <text x="575" y="790" fill="#a3e635" opacity="0.35" font-size="11" font-family="monospace" text-anchor="middle">GPS</text>
80
- </g>
81
-
82
- <!-- PTP MANI Stone (Right, medium) -->
83
- <g id="ptpMani">
84
- <ellipse cx="1340" cy="750" rx="70" ry="22" fill="#1a2a22" opacity="0.6"/>
85
-
86
- <path d="M1290,750 Q1275,680 1300,620 Q1330,585 1370,620 Q1395,680 1380,750 Z"
87
- fill="#1a2a22" opacity="0.75"/>
88
- <path d="M1290,750 Q1275,680 1300,620 Q1330,585 1370,620 Q1395,680 1380,750 Z"
89
- stroke="#38bdf8" stroke-width="2" fill="none" opacity="0.4"/>
90
-
91
- <!-- Network wave symbol -->
92
- <ellipse cx="1335" cy="620" rx="12" ry="8" fill="none" stroke="#38bdf8" stroke-width="1" opacity="0.4"/>
93
- <ellipse cx="1335" cy="620" rx="20" ry="12" fill="none" stroke="#0ea5e9" stroke-width="1" opacity="0.3"/>
94
- <circle cx="1335" cy="620" r="4" fill="#38bdf8" opacity="0.5"/>
95
-
96
- <text x="1335" y="660" fill="#38bdf8" opacity="0.4" font-size="9" font-family="monospace" text-anchor="middle">ॐ</text>
97
- <text x="1335" y="680" fill="#0ea5e9" opacity="0.35" font-size="8" font-family="monospace" text-anchor="middle">±500ms</text>
98
- <text x="1340" y="790" fill="#38bdf8" opacity="0.35" font-size="11" font-family="monospace" text-anchor="middle">PTP</text>
99
- </g>
100
-
101
- <!-- NTP MANI Stones (Smaller, far left and right) -->
102
- <g id="ntpManiLeft">
103
- <ellipse cx="280" cy="820" rx="50" ry="16" fill="#1a2a22" opacity="0.5"/>
104
- <path d="M245,820 Q235,770 255,730 Q280,710 305,730 Q320,770 310,820 Z"
105
- fill="#1a2a22" opacity="0.6"/>
106
- <path d="M245,820 Q235,770 255,730 Q280,710 305,730 Q320,770 310,820 Z"
107
- stroke="#60a5fa" stroke-width="1.5" fill="none" opacity="0.3"/>
108
- <circle cx="277" cy="740" r="20" fill="url(#ntpPulse)"/>
109
- <text x="277" y="760" fill="#60a5fa" opacity="0.3" font-size="7" font-family="monospace" text-anchor="middle">±5000ms</text>
110
- <text x="280" y="855" fill="#60a5fa" opacity="0.3" font-size="9" font-family="monospace" text-anchor="middle">NTP</text>
111
- </g>
112
-
113
- <g id="ntpManiRight">
114
- <ellipse cx="1640" cy="820" rx="50" ry="16" fill="#1a2a22" opacity="0.5"/>
115
- <path d="M1605,820 Q1595,770 1615,730 Q1640,710 1665,730 Q1680,770 1670,820 Z"
116
- fill="#1a2a22" opacity="0.6"/>
117
- <path d="M1605,820 Q1595,770 1615,730 Q1640,710 1665,730 Q1680,770 1670,820 Z"
118
- stroke="#60a5fa" stroke-width="1.5" fill="none" opacity="0.3"/>
119
- <circle cx="1637" cy="740" r="20" fill="url(#ntpPulse)"/>
120
- <text x="1637" y="760" fill="#60a5fa" opacity="0.3" font-size="7" font-family="monospace" text-anchor="middle">±5000ms</text>
121
- <text x="1640" y="855" fill="#60a5fa" opacity="0.3" font-size="9" font-family="monospace" text-anchor="middle">NTP</text>
122
- </g>
123
-
124
- <!-- Time synchronization connections -->
125
- <line x1="620" y1="680" x2="870" y2="600" stroke="#eab308" stroke-width="1" opacity="0.2" stroke-dasharray="6,3"/>
126
- <line x1="1050" y1="600" x2="1290" y2="680" stroke="#eab308" stroke-width="1" opacity="0.2" stroke-dasharray="6,3"/>
127
- <line x1="320" y1="780" x2="520" y2="720" stroke="#60a5fa" stroke-width="0.5" opacity="0.15" stroke-dasharray="4,4"/>
128
- <line x1="1390" y1="720" x2="1590" y2="780" stroke="#60a5fa" stroke-width="0.5" opacity="0.15" stroke-dasharray="4,4"/>
129
-
130
- <!-- Mountain path (connecting the stones) -->
131
- <path d="M100,900 Q280,850 400,870 Q550,830 700,860 Q900,800 1100,840 Q1300,790 1500,850 Q1700,810 1920,880"
132
- fill="none" stroke="#a16207" stroke-width="1.5" opacity="0.2" stroke-dasharray="8,4"/>
133
-
134
- <!-- Trust level labels along the path -->
135
- <g id="trustLevels">
136
- <text x="150" y="950" fill="#60a5fa" opacity="0.25" font-size="10" font-family="monospace">Stratum 2</text>
137
- <text x="500" y="930" fill="#a3e635" opacity="0.3" font-size="10" font-family="monospace">Stratum 1</text>
138
- <text x="880" y="920" fill="#facc15" opacity="0.4" font-size="12" font-family="monospace">Stratum 0 (Reference)</text>
139
- <text x="1280" y="930" fill="#38bdf8" opacity="0.3" font-size="10" font-family="monospace">Stratum 1</text>
140
- <text x="1580" y="950" fill="#60a5fa" opacity="0.25" font-size="10" font-family="monospace">Stratum 2</text>
141
- </g>
142
-
143
- <!-- MANI label -->
144
- <text x="960" y="380" fill="#eab308" opacity="0.5" font-size="24" font-family="monospace" text-anchor="middle">MANI</text>
145
- <text x="960" y="405" fill="#ca8a04" opacity="0.35" font-size="12" font-family="monospace" text-anchor="middle">Metrological Anchoring for Network Integrity</text>
146
-
147
- <!-- Ground -->
148
- <polygon points="0,920 300,880 600,940 900,890 1200,950 1500,900 1920,960 1920,1080 0,1080" fill="#101a16" opacity="0.75"/>
149
- </svg>