@vib3code/sdk 2.0.1

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 (258) hide show
  1. package/CHANGELOG.md +118 -0
  2. package/DOCS/BLUEPRINT_EXECUTION_PLAN_2026-01-07.md +34 -0
  3. package/DOCS/CI_TESTING.md +38 -0
  4. package/DOCS/CLI_ONBOARDING.md +75 -0
  5. package/DOCS/CONTROL_REFERENCE.md +64 -0
  6. package/DOCS/DEV_TRACK_ANALYSIS.md +77 -0
  7. package/DOCS/DEV_TRACK_PLAN_2026-01-07.md +42 -0
  8. package/DOCS/DEV_TRACK_SESSION_2026-01-31.md +220 -0
  9. package/DOCS/ENV_SETUP.md +189 -0
  10. package/DOCS/EXPORT_FORMATS.md +417 -0
  11. package/DOCS/GPU_DISPOSAL_GUIDE.md +21 -0
  12. package/DOCS/LICENSING_TIERS.md +275 -0
  13. package/DOCS/MASTER_PLAN_2026-01-31.md +570 -0
  14. package/DOCS/OBS_SETUP_GUIDE.md +98 -0
  15. package/DOCS/PROJECT_SETUP.md +66 -0
  16. package/DOCS/RENDERER_LIFECYCLE.md +40 -0
  17. package/DOCS/REPO_MANIFEST.md +121 -0
  18. package/DOCS/SESSION_014_PLAN.md +195 -0
  19. package/DOCS/SESSION_LOG_2026-01-07.md +56 -0
  20. package/DOCS/STRATEGIC_BLUEPRINT_2026-01-07.md +72 -0
  21. package/DOCS/SYSTEM_AUDIT_2026-01-30.md +738 -0
  22. package/DOCS/SYSTEM_INVENTORY.md +520 -0
  23. package/DOCS/TELEMETRY_EXPORTS.md +34 -0
  24. package/DOCS/WEBGPU_STATUS.md +38 -0
  25. package/DOCS/XR_BENCHMARKS.md +608 -0
  26. package/LICENSE +21 -0
  27. package/README.md +426 -0
  28. package/docs/.nojekyll +0 -0
  29. package/docs/01-dissolution_of_euclidean_hegemony.html +346 -0
  30. package/docs/02-hyperspatial_ego_death.html +346 -0
  31. package/docs/03-post_cartesian_sublime.html +346 -0
  32. package/docs/04-crystalline_void_meditation.html +346 -0
  33. package/docs/05-quantum_decoherence_ballet.html +346 -0
  34. package/docs/06-dissolution_of_euclidean_hegemony.html +346 -0
  35. package/docs/07-hyperspatial_ego_death.html +346 -0
  36. package/docs/08-post_cartesian_sublime.html +346 -0
  37. package/docs/09-crystalline_void_meditation.html +346 -0
  38. package/docs/10-quantum_decoherence_ballet.html +346 -0
  39. package/docs/11-dissolution_of_euclidean_hegemony.html +346 -0
  40. package/docs/12-hyperspatial_ego_death.html +346 -0
  41. package/docs/13-post_cartesian_sublime.html +346 -0
  42. package/docs/index.html +794 -0
  43. package/docs/test-hub.html +441 -0
  44. package/docs/url-state.js +102 -0
  45. package/docs/vib3-exports/01-quantum-quantum-tetrahedron-lattice.html +489 -0
  46. package/docs/vib3-exports/02-quantum-quantum-hypersphere-matrix.html +489 -0
  47. package/docs/vib3-exports/03-quantum-quantum-hypertetra-fractal.html +489 -0
  48. package/docs/vib3-exports/04-faceted-faceted-crystal-structure.html +407 -0
  49. package/docs/vib3-exports/05-faceted-faceted-klein-bottle.html +407 -0
  50. package/docs/vib3-exports/06-faceted-faceted-hypertetra-torus.html +407 -0
  51. package/docs/vib3-exports/07-holographic-holographic-wave-field.html +457 -0
  52. package/docs/vib3-exports/08-holographic-holographic-hypersphere-sphere.html +457 -0
  53. package/docs/vib3-exports/09-holographic-holographic-hypertetra-crystal.html +457 -0
  54. package/docs/vib3-exports/index.html +238 -0
  55. package/docs/webgpu-live.html +702 -0
  56. package/package.json +367 -0
  57. package/src/advanced/AIPresetGenerator.js +777 -0
  58. package/src/advanced/MIDIController.js +703 -0
  59. package/src/advanced/OffscreenWorker.js +1051 -0
  60. package/src/advanced/WebGPUCompute.js +1051 -0
  61. package/src/advanced/WebXRRenderer.js +680 -0
  62. package/src/agent/cli/AgentCLI.js +615 -0
  63. package/src/agent/cli/index.js +14 -0
  64. package/src/agent/index.js +73 -0
  65. package/src/agent/mcp/MCPServer.js +950 -0
  66. package/src/agent/mcp/index.js +9 -0
  67. package/src/agent/mcp/tools.js +548 -0
  68. package/src/agent/telemetry/EventStream.js +669 -0
  69. package/src/agent/telemetry/Instrumentation.js +618 -0
  70. package/src/agent/telemetry/TelemetryExporters.js +427 -0
  71. package/src/agent/telemetry/TelemetryService.js +464 -0
  72. package/src/agent/telemetry/index.js +52 -0
  73. package/src/benchmarks/BenchmarkRunner.js +381 -0
  74. package/src/benchmarks/MetricsCollector.js +299 -0
  75. package/src/benchmarks/index.js +9 -0
  76. package/src/benchmarks/scenes.js +259 -0
  77. package/src/cli/index.js +675 -0
  78. package/src/config/ApiConfig.js +88 -0
  79. package/src/core/CanvasManager.js +217 -0
  80. package/src/core/ErrorReporter.js +117 -0
  81. package/src/core/ParameterMapper.js +333 -0
  82. package/src/core/Parameters.js +396 -0
  83. package/src/core/RendererContracts.js +200 -0
  84. package/src/core/UnifiedResourceManager.js +370 -0
  85. package/src/core/VIB3Engine.js +636 -0
  86. package/src/core/renderers/FacetedRendererAdapter.js +32 -0
  87. package/src/core/renderers/HolographicRendererAdapter.js +29 -0
  88. package/src/core/renderers/QuantumRendererAdapter.js +29 -0
  89. package/src/core/renderers/RendererLifecycleManager.js +63 -0
  90. package/src/creative/ColorPresetsSystem.js +980 -0
  91. package/src/creative/ParameterTimeline.js +1061 -0
  92. package/src/creative/PostProcessingPipeline.js +1113 -0
  93. package/src/creative/TransitionAnimator.js +683 -0
  94. package/src/export/CSSExporter.js +226 -0
  95. package/src/export/CardGeneratorBase.js +279 -0
  96. package/src/export/ExportManager.js +580 -0
  97. package/src/export/FacetedCardGenerator.js +279 -0
  98. package/src/export/HolographicCardGenerator.js +543 -0
  99. package/src/export/LottieExporter.js +552 -0
  100. package/src/export/QuantumCardGenerator.js +315 -0
  101. package/src/export/SVGExporter.js +519 -0
  102. package/src/export/ShaderExporter.js +903 -0
  103. package/src/export/TradingCardGenerator.js +3055 -0
  104. package/src/export/TradingCardManager.js +181 -0
  105. package/src/export/VIB3PackageExporter.js +559 -0
  106. package/src/export/index.js +14 -0
  107. package/src/export/systems/TradingCardSystemFaceted.js +494 -0
  108. package/src/export/systems/TradingCardSystemHolographic.js +452 -0
  109. package/src/export/systems/TradingCardSystemQuantum.js +411 -0
  110. package/src/faceted/FacetedSystem.js +963 -0
  111. package/src/features/CollectionManager.js +433 -0
  112. package/src/gallery/CollectionManager.js +240 -0
  113. package/src/gallery/GallerySystem.js +485 -0
  114. package/src/geometry/GeometryFactory.js +314 -0
  115. package/src/geometry/GeometryLibrary.js +72 -0
  116. package/src/geometry/buffers/BufferBuilder.js +338 -0
  117. package/src/geometry/buffers/index.js +18 -0
  118. package/src/geometry/generators/Crystal.js +420 -0
  119. package/src/geometry/generators/Fractal.js +298 -0
  120. package/src/geometry/generators/KleinBottle.js +197 -0
  121. package/src/geometry/generators/Sphere.js +192 -0
  122. package/src/geometry/generators/Tesseract.js +160 -0
  123. package/src/geometry/generators/Tetrahedron.js +225 -0
  124. package/src/geometry/generators/Torus.js +304 -0
  125. package/src/geometry/generators/Wave.js +341 -0
  126. package/src/geometry/index.js +142 -0
  127. package/src/geometry/warp/HypersphereCore.js +211 -0
  128. package/src/geometry/warp/HypertetraCore.js +386 -0
  129. package/src/geometry/warp/index.js +57 -0
  130. package/src/holograms/HolographicVisualizer.js +1073 -0
  131. package/src/holograms/RealHolographicSystem.js +966 -0
  132. package/src/holograms/variantRegistry.js +69 -0
  133. package/src/integrations/FigmaPlugin.js +854 -0
  134. package/src/integrations/OBSMode.js +754 -0
  135. package/src/integrations/ThreeJsPackage.js +660 -0
  136. package/src/integrations/TouchDesignerExport.js +552 -0
  137. package/src/integrations/frameworks/Vib3React.js +591 -0
  138. package/src/integrations/frameworks/Vib3Svelte.js +654 -0
  139. package/src/integrations/frameworks/Vib3Vue.js +628 -0
  140. package/src/llm/LLMParameterInterface.js +240 -0
  141. package/src/llm/LLMParameterUI.js +577 -0
  142. package/src/math/Mat4x4.js +708 -0
  143. package/src/math/Projection.js +341 -0
  144. package/src/math/Rotor4D.js +637 -0
  145. package/src/math/Vec4.js +476 -0
  146. package/src/math/constants.js +164 -0
  147. package/src/math/index.js +68 -0
  148. package/src/math/projections.js +54 -0
  149. package/src/math/rotations.js +196 -0
  150. package/src/quantum/QuantumEngine.js +906 -0
  151. package/src/quantum/QuantumVisualizer.js +1103 -0
  152. package/src/reactivity/ReactivityConfig.js +499 -0
  153. package/src/reactivity/ReactivityManager.js +586 -0
  154. package/src/reactivity/SpatialInputSystem.js +1783 -0
  155. package/src/reactivity/index.js +93 -0
  156. package/src/render/CommandBuffer.js +465 -0
  157. package/src/render/MultiCanvasBridge.js +340 -0
  158. package/src/render/RenderCommand.js +514 -0
  159. package/src/render/RenderResourceRegistry.js +523 -0
  160. package/src/render/RenderState.js +552 -0
  161. package/src/render/RenderTarget.js +512 -0
  162. package/src/render/ShaderLoader.js +253 -0
  163. package/src/render/ShaderProgram.js +599 -0
  164. package/src/render/UnifiedRenderBridge.js +496 -0
  165. package/src/render/backends/WebGLBackend.js +1108 -0
  166. package/src/render/backends/WebGPUBackend.js +1409 -0
  167. package/src/render/commands/CommandBufferExecutor.js +607 -0
  168. package/src/render/commands/RenderCommandBuffer.js +661 -0
  169. package/src/render/commands/index.js +17 -0
  170. package/src/render/index.js +367 -0
  171. package/src/scene/Disposable.js +498 -0
  172. package/src/scene/MemoryPool.js +618 -0
  173. package/src/scene/Node4D.js +697 -0
  174. package/src/scene/ResourceManager.js +599 -0
  175. package/src/scene/Scene4D.js +540 -0
  176. package/src/scene/index.js +98 -0
  177. package/src/schemas/error.schema.json +84 -0
  178. package/src/schemas/extension.schema.json +88 -0
  179. package/src/schemas/index.js +214 -0
  180. package/src/schemas/parameters.schema.json +142 -0
  181. package/src/schemas/tool-pack.schema.json +44 -0
  182. package/src/schemas/tool-response.schema.json +127 -0
  183. package/src/shaders/common/fullscreen.vert.glsl +5 -0
  184. package/src/shaders/common/fullscreen.vert.wgsl +17 -0
  185. package/src/shaders/common/geometry24.glsl +65 -0
  186. package/src/shaders/common/geometry24.wgsl +54 -0
  187. package/src/shaders/common/rotation4d.glsl +85 -0
  188. package/src/shaders/common/rotation4d.wgsl +86 -0
  189. package/src/shaders/common/uniforms.glsl +44 -0
  190. package/src/shaders/common/uniforms.wgsl +48 -0
  191. package/src/shaders/faceted/faceted.frag.glsl +129 -0
  192. package/src/shaders/faceted/faceted.frag.wgsl +164 -0
  193. package/src/shaders/holographic/holographic.frag.glsl +406 -0
  194. package/src/shaders/holographic/holographic.frag.wgsl +185 -0
  195. package/src/shaders/quantum/quantum.frag.glsl +513 -0
  196. package/src/shaders/quantum/quantum.frag.wgsl +361 -0
  197. package/src/testing/ParallelTestFramework.js +519 -0
  198. package/src/testing/__snapshots__/exportFormats.test.js.snap +24 -0
  199. package/src/testing/exportFormats.test.js +8 -0
  200. package/src/testing/projections.test.js +14 -0
  201. package/src/testing/rotations.test.js +37 -0
  202. package/src/ui/InteractivityMenu.js +516 -0
  203. package/src/ui/StatusManager.js +96 -0
  204. package/src/ui/adaptive/renderers/webgpu/BufferLayout.ts +252 -0
  205. package/src/ui/adaptive/renderers/webgpu/PolytopeInstanceBuffer.ts +144 -0
  206. package/src/ui/adaptive/renderers/webgpu/TripleBufferedUniform.ts +170 -0
  207. package/src/ui/adaptive/renderers/webgpu/WebGPURenderer.ts +735 -0
  208. package/src/ui/adaptive/renderers/webgpu/index.ts +112 -0
  209. package/src/variations/VariationManager.js +431 -0
  210. package/src/viewer/AudioReactivity.js +505 -0
  211. package/src/viewer/CardBending.js +481 -0
  212. package/src/viewer/GalleryUI.js +832 -0
  213. package/src/viewer/ReactivityManager.js +590 -0
  214. package/src/viewer/TradingCardExporter.js +600 -0
  215. package/src/viewer/ViewerPortal.js +374 -0
  216. package/src/viewer/index.js +12 -0
  217. package/src/wasm/WasmLoader.js +296 -0
  218. package/src/wasm/index.js +132 -0
  219. package/tools/agentic/mcpTools.js +88 -0
  220. package/tools/cli/agent-cli.js +92 -0
  221. package/tools/export/formats.js +24 -0
  222. package/tools/math/rotation-baseline.mjs +64 -0
  223. package/tools/shader-sync-verify.js +937 -0
  224. package/tools/telemetry/manifestPipeline.js +141 -0
  225. package/tools/telemetry/telemetryEvents.js +35 -0
  226. package/types/adaptive-sdk.d.ts +185 -0
  227. package/types/advanced/AIPresetGenerator.d.ts +81 -0
  228. package/types/advanced/MIDIController.d.ts +100 -0
  229. package/types/advanced/OffscreenWorker.d.ts +82 -0
  230. package/types/advanced/WebGPUCompute.d.ts +52 -0
  231. package/types/advanced/WebXRRenderer.d.ts +77 -0
  232. package/types/advanced/index.d.ts +46 -0
  233. package/types/core/ErrorReporter.d.ts +50 -0
  234. package/types/core/VIB3Engine.d.ts +204 -0
  235. package/types/creative/ColorPresetsSystem.d.ts +91 -0
  236. package/types/creative/ParameterTimeline.d.ts +74 -0
  237. package/types/creative/PostProcessingPipeline.d.ts +109 -0
  238. package/types/creative/TransitionAnimator.d.ts +71 -0
  239. package/types/creative/index.d.ts +35 -0
  240. package/types/integrations/FigmaPlugin.d.ts +46 -0
  241. package/types/integrations/OBSMode.d.ts +74 -0
  242. package/types/integrations/ThreeJsPackage.d.ts +62 -0
  243. package/types/integrations/TouchDesignerExport.d.ts +36 -0
  244. package/types/integrations/Vib3React.d.ts +74 -0
  245. package/types/integrations/Vib3Svelte.d.ts +63 -0
  246. package/types/integrations/Vib3Vue.d.ts +55 -0
  247. package/types/integrations/index.d.ts +52 -0
  248. package/types/reactivity/SpatialInputSystem.d.ts +173 -0
  249. package/types/reactivity/index.d.ts +394 -0
  250. package/types/render/CommandBuffer.d.ts +169 -0
  251. package/types/render/RenderCommand.d.ts +312 -0
  252. package/types/render/RenderState.d.ts +279 -0
  253. package/types/render/RenderTarget.d.ts +254 -0
  254. package/types/render/ShaderProgram.d.ts +277 -0
  255. package/types/render/UnifiedRenderBridge.d.ts +143 -0
  256. package/types/render/WebGLBackend.d.ts +168 -0
  257. package/types/render/WebGPUBackend.d.ts +186 -0
  258. package/types/render/index.d.ts +141 -0
@@ -0,0 +1,346 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>QUANTUM DECOHERENCE BALLET [5/13]</title>
7
+ <meta name="description" content="Visualizes wavefunction collapse through stochastic geometry mutation">
8
+ <meta name="generator" content="VIB3+ Algorithmic Avant-Garde Generator v2.718">
9
+ <meta name="pcs" content="1.53117265">
10
+ <style>
11
+ * { margin: 0; padding: 0; box-sizing: border-box; }
12
+ body {
13
+ background: #000;
14
+ overflow: hidden;
15
+ font-family: 'Courier New', monospace;
16
+ }
17
+ canvas {
18
+ display: block;
19
+ width: 100vw;
20
+ height: 100vh;
21
+ }
22
+ .metadata-panel {
23
+ position: fixed;
24
+ top: 20px;
25
+ right: 20px;
26
+ background: rgba(0,0,0,0.9);
27
+ border: 1px solid rgba(255,255,255,0.1);
28
+ border-radius: 4px;
29
+ padding: 20px;
30
+ color: #0f0;
31
+ font-size: 10px;
32
+ max-width: 400px;
33
+ backdrop-filter: blur(10px);
34
+ font-family: 'Courier New', monospace;
35
+ }
36
+ .metadata-panel h1 {
37
+ color: #0ff;
38
+ font-size: 12px;
39
+ margin-bottom: 10px;
40
+ text-transform: uppercase;
41
+ letter-spacing: 2px;
42
+ }
43
+ .metadata-panel .description {
44
+ color: #888;
45
+ font-style: italic;
46
+ margin-bottom: 15px;
47
+ line-height: 1.5;
48
+ }
49
+ .metadata-panel .param-group {
50
+ margin-bottom: 10px;
51
+ padding: 8px;
52
+ background: rgba(0,255,0,0.05);
53
+ border-left: 2px solid #0f0;
54
+ }
55
+ .metadata-panel .param-group h2 {
56
+ color: #0ff;
57
+ font-size: 10px;
58
+ margin-bottom: 5px;
59
+ }
60
+ .metadata-panel .param {
61
+ display: flex;
62
+ justify-content: space-between;
63
+ margin: 2px 0;
64
+ }
65
+ .metadata-panel .param-name { color: #888; }
66
+ .metadata-panel .param-value { color: #0f0; font-family: monospace; }
67
+ .metadata-panel .pcs {
68
+ margin-top: 15px;
69
+ padding-top: 15px;
70
+ border-top: 1px solid rgba(255,255,255,0.1);
71
+ text-align: center;
72
+ }
73
+ .metadata-panel .pcs-label { color: #888; font-size: 9px; }
74
+ .metadata-panel .pcs-value { color: #ff0; font-size: 16px; font-weight: bold; }
75
+ </style>
76
+ </head>
77
+ <body>
78
+ <canvas id="canvas"></canvas>
79
+ <div class="metadata-panel">
80
+ <h1>quantum decoherence ballet</h1>
81
+ <div class="description">Visualizes wavefunction collapse through stochastic geometry mutation</div>
82
+
83
+ <div class="param-group">
84
+ <h2>6D ROTATION MANIFOLD</h2>
85
+ <div class="param"><span class="param-name">XY:</span><span class="param-value">5.054574180610 rad</span></div>
86
+ <div class="param"><span class="param-name">XZ:</span><span class="param-value">4.128647307800 rad</span></div>
87
+ <div class="param"><span class="param-name">YZ:</span><span class="param-value">0.000000000000 rad</span></div>
88
+ <div class="param"><span class="param-name">XW:</span><span class="param-value">3.311697412761 rad</span></div>
89
+ <div class="param"><span class="param-name">YW:</span><span class="param-value">6.125808533741 rad</span></div>
90
+ <div class="param"><span class="param-name">ZW:</span><span class="param-value">5.916320651503 rad</span></div>
91
+ </div>
92
+
93
+ <div class="param-group">
94
+ <h2>CHROMATIC</h2>
95
+ <div class="param"><span class="param-name">Hue:</span><span class="param-value">77.50776405°</span></div>
96
+ <div class="param"><span class="param-name">Saturation:</span><span class="param-value">0.412909024810</span></div>
97
+ <div class="param"><span class="param-name">Intensity:</span><span class="param-value">0.994649719860</span></div>
98
+ </div>
99
+
100
+ <div class="param-group">
101
+ <h2>DYNAMICS</h2>
102
+ <div class="param"><span class="param-name">Speed:</span><span class="param-value">0.498705741493</span></div>
103
+ <div class="param"><span class="param-name">Chaos:</span><span class="param-value">0.360195758175</span></div>
104
+ <div class="param"><span class="param-name">Morph:</span><span class="param-value">0.879177971733</span></div>
105
+ </div>
106
+
107
+ <div class="pcs">
108
+ <div class="pcs-label">PERCEPTUAL COMPLEXITY SCORE</div>
109
+ <div class="pcs-value">1.53117265</div>
110
+ </div>
111
+ </div>
112
+
113
+ <script>
114
+ // Mathematical constants
115
+ const PHI = 1.618033988749895;
116
+ const TAU = 6.283185307179586;
117
+
118
+ // Baked parameters from algorithmic generation
119
+ const PARAMS = {
120
+ "XY": 5.054574180610199,
121
+ "XZ": 4.128647307799701,
122
+ "YZ": 0,
123
+ "XW": 3.3116974127614913,
124
+ "YW": 6.125808533740539,
125
+ "ZW": 5.91632065150275,
126
+ "hue": 77.50776405003782,
127
+ "saturation": 0.4129090248103442,
128
+ "intensity": 0.9946497198604001,
129
+ "geometry": 18,
130
+ "speed": 0.4987057414931888,
131
+ "chaos": 0.36019575817460603,
132
+ "morphFactor": 0.8791779717325259,
133
+ "gridDensity": 11
134
+ };
135
+
136
+ // WebGL initialization
137
+ const canvas = document.getElementById('canvas');
138
+ const gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
139
+
140
+ function resize() {
141
+ canvas.width = window.innerWidth * window.devicePixelRatio;
142
+ canvas.height = window.innerHeight * window.devicePixelRatio;
143
+ gl.viewport(0, 0, canvas.width, canvas.height);
144
+ }
145
+ resize();
146
+ window.addEventListener('resize', resize);
147
+
148
+ // Vertex shader
149
+ const vsSource = `
150
+ attribute vec4 aVertexPosition;
151
+ void main() {
152
+ gl_Position = aVertexPosition;
153
+ }
154
+ `;
155
+
156
+ // Fragment shader with faceted system characteristics
157
+ const fsSource = `
158
+ precision highp float;
159
+
160
+ uniform float u_time;
161
+ uniform vec2 u_resolution;
162
+
163
+ // Baked parameters
164
+ const float ROT_XY = 5.054574180610199;
165
+ const float ROT_XZ = 4.128647307799701;
166
+ const float ROT_YZ = 0.000000000000000;
167
+ const float ROT_XW = 3.311697412761491;
168
+ const float ROT_YW = 6.125808533740539;
169
+ const float ROT_ZW = 5.916320651502750;
170
+ const float HUE = 77.507764050037821;
171
+ const float SAT = 0.412909024810344;
172
+ const float INTENSITY = 0.994649719860400;
173
+ const float SPEED = 0.498705741493189;
174
+ const float CHAOS = 0.360195758174606;
175
+ const float MORPH = 0.879177971732526;
176
+ const float GRID = 11.0;
177
+ const int GEOMETRY = 18;
178
+
179
+ // 4D rotation matrices
180
+ mat4 rotateXY(float a) {
181
+ float c = cos(a), s = sin(a);
182
+ return mat4(c,-s,0,0, s,c,0,0, 0,0,1,0, 0,0,0,1);
183
+ }
184
+ mat4 rotateXZ(float a) {
185
+ float c = cos(a), s = sin(a);
186
+ return mat4(c,0,-s,0, 0,1,0,0, s,0,c,0, 0,0,0,1);
187
+ }
188
+ mat4 rotateYZ(float a) {
189
+ float c = cos(a), s = sin(a);
190
+ return mat4(1,0,0,0, 0,c,-s,0, 0,s,c,0, 0,0,0,1);
191
+ }
192
+ mat4 rotateXW(float a) {
193
+ float c = cos(a), s = sin(a);
194
+ return mat4(c,0,0,-s, 0,1,0,0, 0,0,1,0, s,0,0,c);
195
+ }
196
+ mat4 rotateYW(float a) {
197
+ float c = cos(a), s = sin(a);
198
+ return mat4(1,0,0,0, 0,c,0,-s, 0,0,1,0, 0,s,0,c);
199
+ }
200
+ mat4 rotateZW(float a) {
201
+ float c = cos(a), s = sin(a);
202
+ return mat4(1,0,0,0, 0,1,0,0, 0,0,c,-s, 0,0,s,c);
203
+ }
204
+
205
+ vec3 hsv2rgb(vec3 c) {
206
+ vec4 K = vec4(1.0, 2.0/3.0, 1.0/3.0, 3.0);
207
+ vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
208
+ return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
209
+ }
210
+
211
+ float sdf4D(vec4 p) {
212
+ // Geometry selection based on index
213
+ int baseGeom = GEOMETRY - (GEOMETRY / 8) * 8;
214
+ int coreType = GEOMETRY / 8;
215
+
216
+ float d = length(p) - 1.0;
217
+
218
+ // Base geometry modifications
219
+ if (baseGeom == 0) { // Tetrahedron
220
+ d = max(d, dot(p.xyz, normalize(vec3(1,1,1))) - 0.5);
221
+ } else if (baseGeom == 1) { // Hypercube
222
+ vec4 q = abs(p) - vec4(0.5);
223
+ d = length(max(q, 0.0)) + min(max(q.x, max(q.y, max(q.z, q.w))), 0.0);
224
+ } else if (baseGeom == 3) { // Torus
225
+ vec2 q = vec2(length(p.xz) - 0.5, p.y);
226
+ d = length(q) - 0.2;
227
+ } else if (baseGeom == 4) { // Klein-ish
228
+ d = sin(p.x * 3.0) * sin(p.y * 3.0) * sin(p.z * 3.0) * 0.3 + length(p) - 1.0;
229
+ } else if (baseGeom == 5) { // Fractal
230
+ vec3 z = p.xyz;
231
+ float dr = 1.0;
232
+ float r = 0.0;
233
+ for (int i = 0; i < 4; i++) {
234
+ r = length(z);
235
+ if (r > 2.0) break;
236
+ float theta = acos(z.z / r);
237
+ float phi = atan(z.y, z.x);
238
+ dr = pow(r, 7.0) * 8.0 * dr + 1.0;
239
+ float zr = pow(r, 8.0);
240
+ theta *= 8.0;
241
+ phi *= 8.0;
242
+ z = zr * vec3(sin(theta)*cos(phi), sin(phi)*sin(theta), cos(theta)) + p.xyz;
243
+ }
244
+ d = 0.5 * log(r) * r / dr;
245
+ }
246
+
247
+ // Core type warp
248
+ if (coreType == 1) { // Hypersphere
249
+ d = mix(d, length(p) - 1.0, 0.5);
250
+ } else if (coreType == 2) { // Hypertetrahedron
251
+ d += sin(p.w * 5.0) * 0.1;
252
+ }
253
+
254
+ return d;
255
+ }
256
+
257
+ void main() {
258
+ vec2 uv = (gl_FragCoord.xy - 0.5 * u_resolution) / min(u_resolution.x, u_resolution.y);
259
+ float t = u_time * SPEED;
260
+
261
+ // Animated rotation
262
+ float aXY = ROT_XY + t * 0.1;
263
+ float aXZ = ROT_XZ + t * 0.07;
264
+ float aYZ = ROT_YZ + t * 0.05;
265
+ float aXW = ROT_XW + t * 0.13 * CHAOS;
266
+ float aYW = ROT_YW + t * 0.11 * CHAOS;
267
+ float aZW = ROT_ZW + t * 0.09 * CHAOS;
268
+
269
+ mat4 rot = rotateXY(aXY) * rotateXZ(aXZ) * rotateYZ(aYZ) *
270
+ rotateXW(aXW) * rotateYW(aYW) * rotateZW(aZW);
271
+
272
+ // Ray marching
273
+ vec3 ro = vec3(0, 0, -3);
274
+ vec3 rd = normalize(vec3(uv, 1.0));
275
+
276
+ float totalDist = 0.0;
277
+ vec3 col = vec3(0);
278
+
279
+ for (int i = 0; i < 64; i++) {
280
+ vec3 p3 = ro + rd * totalDist;
281
+ vec4 p4 = rot * vec4(p3, sin(t * 0.5) * MORPH);
282
+
283
+ float d = sdf4D(p4);
284
+
285
+ if (d < 0.001) {
286
+ float hue = HUE / 360.0 + totalDist * 0.1;
287
+ col = hsv2rgb(vec3(hue, SAT, INTENSITY));
288
+ col *= 1.0 - totalDist * 0.1;
289
+ break;
290
+ }
291
+
292
+ if (totalDist > 10.0) break;
293
+ totalDist += d * 0.5;
294
+ }
295
+
296
+ // Grid overlay
297
+ vec2 grid = fract(uv * GRID);
298
+ float gridLine = smoothstep(0.02, 0.0, min(grid.x, grid.y)) * 0.1;
299
+ col += vec3(gridLine);
300
+
301
+ gl_FragColor = vec4(col, 1.0);
302
+ }
303
+ `;
304
+
305
+ // Compile shaders
306
+ function compileShader(gl, source, type) {
307
+ const shader = gl.createShader(type);
308
+ gl.shaderSource(shader, source);
309
+ gl.compileShader(shader);
310
+ return shader;
311
+ }
312
+
313
+ const vertexShader = compileShader(gl, vsSource, gl.VERTEX_SHADER);
314
+ const fragmentShader = compileShader(gl, fsSource, gl.FRAGMENT_SHADER);
315
+
316
+ const program = gl.createProgram();
317
+ gl.attachShader(program, vertexShader);
318
+ gl.attachShader(program, fragmentShader);
319
+ gl.linkProgram(program);
320
+ gl.useProgram(program);
321
+
322
+ // Fullscreen quad
323
+ const positions = new Float32Array([-1,-1, 1,-1, -1,1, 1,1]);
324
+ const positionBuffer = gl.createBuffer();
325
+ gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
326
+ gl.bufferData(gl.ARRAY_BUFFER, positions, gl.STATIC_DRAW);
327
+
328
+ const aVertexPosition = gl.getAttribLocation(program, 'aVertexPosition');
329
+ gl.enableVertexAttribArray(aVertexPosition);
330
+ gl.vertexAttribPointer(aVertexPosition, 2, gl.FLOAT, false, 0, 0);
331
+
332
+ const uTime = gl.getUniformLocation(program, 'u_time');
333
+ const uResolution = gl.getUniformLocation(program, 'u_resolution');
334
+
335
+ // Animation loop
336
+ function render(time) {
337
+ gl.uniform1f(uTime, time * 0.001);
338
+ gl.uniform2f(uResolution, canvas.width, canvas.height);
339
+ gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
340
+ requestAnimationFrame(render);
341
+ }
342
+
343
+ render(0);
344
+ </script>
345
+ </body>
346
+ </html>
@@ -0,0 +1,346 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>DISSOLUTION OF EUCLIDEAN HEGEMONY [6/13]</title>
7
+ <meta name="description" content="Challenges the tyranny of orthogonal perception through recursive non-orientable manifold projections">
8
+ <meta name="generator" content="VIB3+ Algorithmic Avant-Garde Generator v2.718">
9
+ <meta name="pcs" content="1.40869734">
10
+ <style>
11
+ * { margin: 0; padding: 0; box-sizing: border-box; }
12
+ body {
13
+ background: #000;
14
+ overflow: hidden;
15
+ font-family: 'Courier New', monospace;
16
+ }
17
+ canvas {
18
+ display: block;
19
+ width: 100vw;
20
+ height: 100vh;
21
+ }
22
+ .metadata-panel {
23
+ position: fixed;
24
+ top: 20px;
25
+ right: 20px;
26
+ background: rgba(0,0,0,0.9);
27
+ border: 1px solid rgba(255,255,255,0.1);
28
+ border-radius: 4px;
29
+ padding: 20px;
30
+ color: #0f0;
31
+ font-size: 10px;
32
+ max-width: 400px;
33
+ backdrop-filter: blur(10px);
34
+ font-family: 'Courier New', monospace;
35
+ }
36
+ .metadata-panel h1 {
37
+ color: #0ff;
38
+ font-size: 12px;
39
+ margin-bottom: 10px;
40
+ text-transform: uppercase;
41
+ letter-spacing: 2px;
42
+ }
43
+ .metadata-panel .description {
44
+ color: #888;
45
+ font-style: italic;
46
+ margin-bottom: 15px;
47
+ line-height: 1.5;
48
+ }
49
+ .metadata-panel .param-group {
50
+ margin-bottom: 10px;
51
+ padding: 8px;
52
+ background: rgba(0,255,0,0.05);
53
+ border-left: 2px solid #0f0;
54
+ }
55
+ .metadata-panel .param-group h2 {
56
+ color: #0ff;
57
+ font-size: 10px;
58
+ margin-bottom: 5px;
59
+ }
60
+ .metadata-panel .param {
61
+ display: flex;
62
+ justify-content: space-between;
63
+ margin: 2px 0;
64
+ }
65
+ .metadata-panel .param-name { color: #888; }
66
+ .metadata-panel .param-value { color: #0f0; font-family: monospace; }
67
+ .metadata-panel .pcs {
68
+ margin-top: 15px;
69
+ padding-top: 15px;
70
+ border-top: 1px solid rgba(255,255,255,0.1);
71
+ text-align: center;
72
+ }
73
+ .metadata-panel .pcs-label { color: #888; font-size: 9px; }
74
+ .metadata-panel .pcs-value { color: #ff0; font-size: 16px; font-weight: bold; }
75
+ </style>
76
+ </head>
77
+ <body>
78
+ <canvas id="canvas"></canvas>
79
+ <div class="metadata-panel">
80
+ <h1>dissolution of euclidean hegemony</h1>
81
+ <div class="description">Challenges the tyranny of orthogonal perception through recursive non-orientable manifold projections</div>
82
+
83
+ <div class="param-group">
84
+ <h2>6D ROTATION MANIFOLD</h2>
85
+ <div class="param"><span class="param-name">XY:</span><span class="param-value">2.966517695445 rad</span></div>
86
+ <div class="param"><span class="param-name">XZ:</span><span class="param-value">1.540054708988 rad</span></div>
87
+ <div class="param"><span class="param-name">YZ:</span><span class="param-value">0.000000000000 rad</span></div>
88
+ <div class="param"><span class="param-name">XW:</span><span class="param-value">0.700299832581 rad</span></div>
89
+ <div class="param"><span class="param-name">YW:</span><span class="param-value">1.686183478860 rad</span></div>
90
+ <div class="param"><span class="param-name">ZW:</span><span class="param-value">1.201843513858 rad</span></div>
91
+ </div>
92
+
93
+ <div class="param-group">
94
+ <h2>CHROMATIC</h2>
95
+ <div class="param"><span class="param-name">Hue:</span><span class="param-value">334.58980338°</span></div>
96
+ <div class="param"><span class="param-name">Saturation:</span><span class="param-value">0.231635973687</span></div>
97
+ <div class="param"><span class="param-name">Intensity:</span><span class="param-value">0.354685646816</span></div>
98
+ </div>
99
+
100
+ <div class="param-group">
101
+ <h2>DYNAMICS</h2>
102
+ <div class="param"><span class="param-name">Speed:</span><span class="param-value">0.565757218787</span></div>
103
+ <div class="param"><span class="param-name">Chaos:</span><span class="param-value">0.275267469596</span></div>
104
+ <div class="param"><span class="param-name">Morph:</span><span class="param-value">0.916696486303</span></div>
105
+ </div>
106
+
107
+ <div class="pcs">
108
+ <div class="pcs-label">PERCEPTUAL COMPLEXITY SCORE</div>
109
+ <div class="pcs-value">1.40869734</div>
110
+ </div>
111
+ </div>
112
+
113
+ <script>
114
+ // Mathematical constants
115
+ const PHI = 1.618033988749895;
116
+ const TAU = 6.283185307179586;
117
+
118
+ // Baked parameters from algorithmic generation
119
+ const PARAMS = {
120
+ "XY": 2.9665176954445585,
121
+ "XZ": 1.5400547089878722,
122
+ "YZ": 0,
123
+ "XW": 0.7002998325809342,
124
+ "YW": 1.686183478859585,
125
+ "ZW": 1.2018435138577168,
126
+ "hue": 334.5898033750315,
127
+ "saturation": 0.23163597368683864,
128
+ "intensity": 0.35468564681566095,
129
+ "geometry": 20,
130
+ "speed": 0.5657572187872909,
131
+ "chaos": 0.27526746959552056,
132
+ "morphFactor": 0.9166964863025886,
133
+ "gridDensity": 11
134
+ };
135
+
136
+ // WebGL initialization
137
+ const canvas = document.getElementById('canvas');
138
+ const gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
139
+
140
+ function resize() {
141
+ canvas.width = window.innerWidth * window.devicePixelRatio;
142
+ canvas.height = window.innerHeight * window.devicePixelRatio;
143
+ gl.viewport(0, 0, canvas.width, canvas.height);
144
+ }
145
+ resize();
146
+ window.addEventListener('resize', resize);
147
+
148
+ // Vertex shader
149
+ const vsSource = `
150
+ attribute vec4 aVertexPosition;
151
+ void main() {
152
+ gl_Position = aVertexPosition;
153
+ }
154
+ `;
155
+
156
+ // Fragment shader with holographic system characteristics
157
+ const fsSource = `
158
+ precision highp float;
159
+
160
+ uniform float u_time;
161
+ uniform vec2 u_resolution;
162
+
163
+ // Baked parameters
164
+ const float ROT_XY = 2.966517695444558;
165
+ const float ROT_XZ = 1.540054708987872;
166
+ const float ROT_YZ = 0.000000000000000;
167
+ const float ROT_XW = 0.700299832580934;
168
+ const float ROT_YW = 1.686183478859585;
169
+ const float ROT_ZW = 1.201843513857717;
170
+ const float HUE = 334.589803375031522;
171
+ const float SAT = 0.231635973686839;
172
+ const float INTENSITY = 0.354685646815661;
173
+ const float SPEED = 0.565757218787291;
174
+ const float CHAOS = 0.275267469595521;
175
+ const float MORPH = 0.916696486302589;
176
+ const float GRID = 11.0;
177
+ const int GEOMETRY = 20;
178
+
179
+ // 4D rotation matrices
180
+ mat4 rotateXY(float a) {
181
+ float c = cos(a), s = sin(a);
182
+ return mat4(c,-s,0,0, s,c,0,0, 0,0,1,0, 0,0,0,1);
183
+ }
184
+ mat4 rotateXZ(float a) {
185
+ float c = cos(a), s = sin(a);
186
+ return mat4(c,0,-s,0, 0,1,0,0, s,0,c,0, 0,0,0,1);
187
+ }
188
+ mat4 rotateYZ(float a) {
189
+ float c = cos(a), s = sin(a);
190
+ return mat4(1,0,0,0, 0,c,-s,0, 0,s,c,0, 0,0,0,1);
191
+ }
192
+ mat4 rotateXW(float a) {
193
+ float c = cos(a), s = sin(a);
194
+ return mat4(c,0,0,-s, 0,1,0,0, 0,0,1,0, s,0,0,c);
195
+ }
196
+ mat4 rotateYW(float a) {
197
+ float c = cos(a), s = sin(a);
198
+ return mat4(1,0,0,0, 0,c,0,-s, 0,0,1,0, 0,s,0,c);
199
+ }
200
+ mat4 rotateZW(float a) {
201
+ float c = cos(a), s = sin(a);
202
+ return mat4(1,0,0,0, 0,1,0,0, 0,0,c,-s, 0,0,s,c);
203
+ }
204
+
205
+ vec3 hsv2rgb(vec3 c) {
206
+ vec4 K = vec4(1.0, 2.0/3.0, 1.0/3.0, 3.0);
207
+ vec3 p = abs(fract(c.xxx + K.xyz) * 6.0 - K.www);
208
+ return c.z * mix(K.xxx, clamp(p - K.xxx, 0.0, 1.0), c.y);
209
+ }
210
+
211
+ float sdf4D(vec4 p) {
212
+ // Geometry selection based on index
213
+ int baseGeom = GEOMETRY - (GEOMETRY / 8) * 8;
214
+ int coreType = GEOMETRY / 8;
215
+
216
+ float d = length(p) - 1.0;
217
+
218
+ // Base geometry modifications
219
+ if (baseGeom == 0) { // Tetrahedron
220
+ d = max(d, dot(p.xyz, normalize(vec3(1,1,1))) - 0.5);
221
+ } else if (baseGeom == 1) { // Hypercube
222
+ vec4 q = abs(p) - vec4(0.5);
223
+ d = length(max(q, 0.0)) + min(max(q.x, max(q.y, max(q.z, q.w))), 0.0);
224
+ } else if (baseGeom == 3) { // Torus
225
+ vec2 q = vec2(length(p.xz) - 0.5, p.y);
226
+ d = length(q) - 0.2;
227
+ } else if (baseGeom == 4) { // Klein-ish
228
+ d = sin(p.x * 3.0) * sin(p.y * 3.0) * sin(p.z * 3.0) * 0.3 + length(p) - 1.0;
229
+ } else if (baseGeom == 5) { // Fractal
230
+ vec3 z = p.xyz;
231
+ float dr = 1.0;
232
+ float r = 0.0;
233
+ for (int i = 0; i < 4; i++) {
234
+ r = length(z);
235
+ if (r > 2.0) break;
236
+ float theta = acos(z.z / r);
237
+ float phi = atan(z.y, z.x);
238
+ dr = pow(r, 7.0) * 8.0 * dr + 1.0;
239
+ float zr = pow(r, 8.0);
240
+ theta *= 8.0;
241
+ phi *= 8.0;
242
+ z = zr * vec3(sin(theta)*cos(phi), sin(phi)*sin(theta), cos(theta)) + p.xyz;
243
+ }
244
+ d = 0.5 * log(r) * r / dr;
245
+ }
246
+
247
+ // Core type warp
248
+ if (coreType == 1) { // Hypersphere
249
+ d = mix(d, length(p) - 1.0, 0.5);
250
+ } else if (coreType == 2) { // Hypertetrahedron
251
+ d += sin(p.w * 5.0) * 0.1;
252
+ }
253
+
254
+ return d;
255
+ }
256
+
257
+ void main() {
258
+ vec2 uv = (gl_FragCoord.xy - 0.5 * u_resolution) / min(u_resolution.x, u_resolution.y);
259
+ float t = u_time * SPEED;
260
+
261
+ // Animated rotation
262
+ float aXY = ROT_XY + t * 0.1;
263
+ float aXZ = ROT_XZ + t * 0.07;
264
+ float aYZ = ROT_YZ + t * 0.05;
265
+ float aXW = ROT_XW + t * 0.13 * CHAOS;
266
+ float aYW = ROT_YW + t * 0.11 * CHAOS;
267
+ float aZW = ROT_ZW + t * 0.09 * CHAOS;
268
+
269
+ mat4 rot = rotateXY(aXY) * rotateXZ(aXZ) * rotateYZ(aYZ) *
270
+ rotateXW(aXW) * rotateYW(aYW) * rotateZW(aZW);
271
+
272
+ // Ray marching
273
+ vec3 ro = vec3(0, 0, -3);
274
+ vec3 rd = normalize(vec3(uv, 1.0));
275
+
276
+ float totalDist = 0.0;
277
+ vec3 col = vec3(0);
278
+
279
+ for (int i = 0; i < 64; i++) {
280
+ vec3 p3 = ro + rd * totalDist;
281
+ vec4 p4 = rot * vec4(p3, sin(t * 0.5) * MORPH);
282
+
283
+ float d = sdf4D(p4);
284
+
285
+ if (d < 0.001) {
286
+ float hue = HUE / 360.0 + totalDist * 0.1;
287
+ col = hsv2rgb(vec3(hue, SAT, INTENSITY));
288
+ col *= 1.0 - totalDist * 0.1;
289
+ break;
290
+ }
291
+
292
+ if (totalDist > 10.0) break;
293
+ totalDist += d * 0.5;
294
+ }
295
+
296
+ // Grid overlay
297
+ vec2 grid = fract(uv * GRID);
298
+ float gridLine = smoothstep(0.02, 0.0, min(grid.x, grid.y)) * 0.1;
299
+ col += vec3(gridLine);
300
+
301
+ gl_FragColor = vec4(col, 1.0);
302
+ }
303
+ `;
304
+
305
+ // Compile shaders
306
+ function compileShader(gl, source, type) {
307
+ const shader = gl.createShader(type);
308
+ gl.shaderSource(shader, source);
309
+ gl.compileShader(shader);
310
+ return shader;
311
+ }
312
+
313
+ const vertexShader = compileShader(gl, vsSource, gl.VERTEX_SHADER);
314
+ const fragmentShader = compileShader(gl, fsSource, gl.FRAGMENT_SHADER);
315
+
316
+ const program = gl.createProgram();
317
+ gl.attachShader(program, vertexShader);
318
+ gl.attachShader(program, fragmentShader);
319
+ gl.linkProgram(program);
320
+ gl.useProgram(program);
321
+
322
+ // Fullscreen quad
323
+ const positions = new Float32Array([-1,-1, 1,-1, -1,1, 1,1]);
324
+ const positionBuffer = gl.createBuffer();
325
+ gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
326
+ gl.bufferData(gl.ARRAY_BUFFER, positions, gl.STATIC_DRAW);
327
+
328
+ const aVertexPosition = gl.getAttribLocation(program, 'aVertexPosition');
329
+ gl.enableVertexAttribArray(aVertexPosition);
330
+ gl.vertexAttribPointer(aVertexPosition, 2, gl.FLOAT, false, 0, 0);
331
+
332
+ const uTime = gl.getUniformLocation(program, 'u_time');
333
+ const uResolution = gl.getUniformLocation(program, 'u_resolution');
334
+
335
+ // Animation loop
336
+ function render(time) {
337
+ gl.uniform1f(uTime, time * 0.001);
338
+ gl.uniform2f(uResolution, canvas.width, canvas.height);
339
+ gl.drawArrays(gl.TRIANGLE_STRIP, 0, 4);
340
+ requestAnimationFrame(render);
341
+ }
342
+
343
+ render(0);
344
+ </script>
345
+ </body>
346
+ </html>