@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,738 @@
1
+ # VIB3+ CORE System Audit
2
+
3
+ **Date**: January 30, 2026
4
+ **Version**: 2.0.0 (`@vib3code/sdk`)
5
+ **Branch**: `claude/phase-5-hardening-a4Wzn`
6
+ **Auditor**: Automated codebase review
7
+ **Owner**: Clear Seas Solutions LLC
8
+
9
+ ---
10
+
11
+ ## 1. Executive Summary
12
+
13
+ VIB3+ is a 4D visualization SDK with three active rendering systems (Quantum, Faceted, Holographic), a C++ WASM math core, dual GPU backends (WebGL + WebGPU), an MCP agentic control layer, a multi-format export pipeline, cross-platform targets (browser, CLI, Flutter), and as of v2.0.0: a universal spatial input system, creative tooling, platform integrations (React/Vue/Svelte/Figma/Three.js/TouchDesigner/OBS), and advanced features (WebXR/WebGPU Compute/MIDI/AI Presets/OffscreenWorker). The codebase contains ~95,000+ lines across 570+ files.
14
+
15
+ **Issues Fixed in v2.0.0**:
16
+ - Quantum system color control restored — `u_hue` and `u_saturation` now drive actual HSL color output
17
+ - Faceted system saturation wired — full `hsl2rgb()` pipeline added to GLSL + WGSL shaders
18
+ - Faceted system audio reactivity wired — bass/mid/high uniforms driving density/morph/hue
19
+ - `clickIntensity` uniform bug fixed — was mapping to `u_mouseIntensity`, now correctly maps to `u_clickIntensity`
20
+ - Shader sync verification tooling added — `npm run verify:shaders`
21
+
22
+ **New in v2.0.0** (18 new files, 15,512 lines):
23
+ - SpatialInputSystem (1,783 lines) — 8 input sources, 6 profiles, integrated into VIB3Engine
24
+ - Creative Tooling (3,837 lines) — color presets, transitions, post-processing, timeline
25
+ - Platform Integrations (4,693 lines) — React, Vue, Svelte, Figma, Three.js, TouchDesigner, OBS
26
+ - Advanced Features (4,262 lines) — WebXR, WebGPU compute, MIDI, AI presets, OffscreenWorker
27
+ - Shader Sync Tool (937 lines) — uniform verification across systems
28
+
29
+ ---
30
+
31
+ ## 2. System-by-System Audit
32
+
33
+ ### 2.1 Quantum Visualization System
34
+
35
+ | Aspect | Status | Notes |
36
+ |--------|--------|-------|
37
+ | **Files** | `src/quantum/QuantumEngine.js` (845 lines), `QuantumVisualizer.js` (1090 lines) | |
38
+ | **24 geometries** | Working | All 24 variants (3 core types x 8 base geometries) |
39
+ | **6D rotation** | Working | Full XY/XZ/YZ/XW/YW/ZW pipeline in shader |
40
+ | **Color control** | Fixed (this session) | `u_hue` restored to actual hue, `u_saturation` wired in via HSL |
41
+ | **u_intensity** | Working | Controls overall brightness |
42
+ | **Audio reactivity** | Working | Bass→density, Mid→morph, High→hue shift, Energy→chaos |
43
+ | **Multi-layer rendering** | Working | 5 canvas layers with role-based differentiation |
44
+ | **Context loss recovery** | Working | Phase 5 hardening added listeners |
45
+
46
+ **Previous Bug**: `u_hue` was repurposed as a 0-1 global intensity modifier. Hardcoded RGB palettes per layer ignored user color choices entirely. `u_saturation` was declared but unused.
47
+
48
+ **Fix Applied**: Replaced hardcoded `getLayerColorPalette` with HSL-based color system. Each layer applies hue offsets from the user's base hue. Saturation fully wired. Particle colors derive from user hue.
49
+
50
+ ---
51
+
52
+ ### 2.2 Faceted Visualization System
53
+
54
+ | Aspect | Status | Notes |
55
+ |--------|--------|-------|
56
+ | **Files** | `src/faceted/FacetedSystem.js` (826 lines) | Single-file system |
57
+ | **24 geometries** | Working | |
58
+ | **6D rotation** | Working | |
59
+ | **Color control** | **Fixed (v2.0.0)** | Full HSL via `hsl2rgb()` in GLSL + `hsl2rgb_w()` in WGSL |
60
+ | **u_saturation** | **Fixed (v2.0.0)** | Fully wired as uniform, affects HSL lightness/saturation |
61
+ | **u_intensity** | Working | Controls alpha |
62
+ | **Audio reactivity** | **Fixed (v2.0.0)** | `u_bass`, `u_mid`, `u_high` uniforms wired; bass→density, mid→morph, high→hue shift |
63
+ | **Click intensity** | **Fixed (v2.0.0)** | `u_clickIntensity` uniform with boost multiplier |
64
+ | **WebGPU path** | Defined | WGSL shader updated with matching audio/saturation support |
65
+
66
+ **v2.0.0 Fix**: Replaced cosine-wave color with proper `hsl2rgb()` function. Saturation now controls HSL saturation. Added 7 new uniforms: `u_saturation`, `u_speed`, `u_mouseIntensity`, `u_clickIntensity`, `u_bass`, `u_mid`, `u_high`. Audio reactivity reads from `window.audioReactive` global.
67
+
68
+ ---
69
+
70
+ ### 2.3 Holographic Visualization System
71
+
72
+ | Aspect | Status | Notes |
73
+ |--------|--------|-------|
74
+ | **Files** | `RealHolographicSystem.js` (920 lines), `HolographicVisualizer.js` (1070 lines), `variantRegistry.js` (69 lines) | |
75
+ | **24 geometries** | Working | |
76
+ | **6D rotation** | Working | |
77
+ | **Color control** | Full | HSL→RGB on JS side, passed as `u_color` vec3. Best implementation |
78
+ | **Saturation** | Working | Full HSL with proper saturation |
79
+ | **5-layer architecture** | Working | background/shadow/content/highlight/accent canvases |
80
+ | **Audio reactivity** | Working | Layer-specific audio response |
81
+
82
+ **This is the gold standard for color control in the codebase.**
83
+
84
+ ---
85
+
86
+ ### 2.4 C++ WASM Core
87
+
88
+ | Aspect | Status | Notes |
89
+ |--------|--------|-------|
90
+ | **Files** | 6 source + 5 headers (3,072 lines total) | `cpp/` directory |
91
+ | **Rotor4D** | Working | Clifford algebra Cl(4,0) sandwich product |
92
+ | **Mat4x4** | Working | Column-major 4x4 operations |
93
+ | **Vec4** | Working | 4-component vector ops |
94
+ | **Projections** | Working | Perspective, stereographic, orthographic |
95
+ | **Emscripten bindings** | Working | `embind.cpp` exposes to JS |
96
+ | **Build system** | CMake + `build.sh` | Requires Emscripten SDK |
97
+ | **WASM artifact** | Present | `wasm/vib3_core.js` + `vib3_core.wasm` |
98
+ | **Fallback** | JS math modules | `src/math/` mirrors C++ API |
99
+
100
+ ---
101
+
102
+ ### 2.5 Render Infrastructure
103
+
104
+ | Component | File | Lines | Status |
105
+ |-----------|------|-------|--------|
106
+ | ShaderProgram | `src/render/ShaderProgram.js` | 599 | Working |
107
+ | UnifiedRenderBridge | `src/render/UnifiedRenderBridge.js` | 496 | Working |
108
+ | RenderCommand | `src/render/RenderCommand.js` | 514 | Working |
109
+ | CommandBuffer | `src/render/CommandBuffer.js` | 465 | Working |
110
+ | RenderState | `src/render/RenderState.js` | 552 | Working |
111
+ | RenderTarget | `src/render/RenderTarget.js` | 512 | Working |
112
+ | RenderResourceRegistry | `src/render/RenderResourceRegistry.js` | 523 | Working |
113
+ | ShaderLoader | `src/render/ShaderLoader.js` | 253 | Working |
114
+ | MultiCanvasBridge | `src/render/MultiCanvasBridge.js` | 340 | Working |
115
+ | WebGLBackend | `src/render/backends/WebGLBackend.js` | 1,108 | Primary path |
116
+ | WebGPUBackend | `src/render/backends/WebGPUBackend.js` | 1,409 | Available, secondary |
117
+ | CommandBufferExecutor | `src/render/commands/CommandBufferExecutor.js` | 607 | Working |
118
+ | RenderCommandBuffer | `src/render/commands/RenderCommandBuffer.js` | 661 | Working |
119
+
120
+ **Total render layer**: ~8,400 lines. This is a mature abstraction layer that supports both WebGL and WebGPU backends.
121
+
122
+ ---
123
+
124
+ ### 2.6 Shader Files (External)
125
+
126
+ | Shader | GLSL | WGSL | Purpose |
127
+ |--------|------|------|---------|
128
+ | Quantum fragment | 513 lines | 361 lines | Procedural quantum lattice |
129
+ | Faceted fragment | 129 lines | 164 lines | Geometric patterns |
130
+ | Holographic fragment | 406 lines | 185 lines | 5-layer effects |
131
+ | Fullscreen vertex | 5 lines | 17 lines | Shared fullscreen triangle |
132
+ | Common uniforms | 44 lines | 48 lines | Uniform declarations |
133
+ | 4D rotation lib | 85 lines | 86 lines | 6 rotation matrices |
134
+ | 24-geometry lib | 65 lines | 54 lines | Geometry encoding |
135
+
136
+ **Note**: The visualizer JS files embed their own inline shaders. The external shader files in `src/shaders/` exist for the ShaderLoader/UnifiedRenderBridge path. These two sets can drift apart and should be kept in sync.
137
+
138
+ ---
139
+
140
+ ### 2.7 Geometry System
141
+
142
+ | Component | Lines | Status |
143
+ |-----------|-------|--------|
144
+ | GeometryFactory | 314 | Working |
145
+ | GeometryLibrary | 71 | Working |
146
+ | 8 generators (Tetrahedron, Tesseract, Sphere, Torus, KleinBottle, Fractal, Wave, Crystal) | 2,137 total | Working |
147
+ | HypersphereCore warp | 211 | Working |
148
+ | HypertetraCore warp | 386 | Working |
149
+ | BufferBuilder | 338 | Working |
150
+
151
+ **24 geometry encoding**: `index = core_type * 8 + base_geometry` where core_type ∈ {0=Base, 1=Hypersphere, 2=Hypertetrahedron}.
152
+
153
+ ---
154
+
155
+ ### 2.8 Scene & Resource Management
156
+
157
+ | Component | Lines | Status |
158
+ |-----------|-------|--------|
159
+ | Scene4D | 540 | Working |
160
+ | Node4D | 697 | Working |
161
+ | ResourceManager | 599 | Working |
162
+ | MemoryPool | 618 | Working |
163
+ | Disposable | 498 | Working |
164
+ | UnifiedResourceManager (core) | 369 | Working |
165
+
166
+ ---
167
+
168
+ ### 2.9 Export System
169
+
170
+ | Component | Lines | Formats |
171
+ |-----------|-------|---------|
172
+ | ExportManager | 579 | Orchestrator |
173
+ | VIB3PackageExporter | 559 | JSON state package |
174
+ | SVGExporter | 519 | SVG vector |
175
+ | ShaderExporter | 903 | GLSL/WGSL source |
176
+ | CSSExporter | 226 | CSS animations |
177
+ | LottieExporter | 552 | Lottie JSON |
178
+ | TradingCardGenerator | 3,054 | Card canvas render |
179
+ | 3 system-specific card generators | ~1,134 | Quantum/Faceted/Holographic cards |
180
+ | TradingCardManager | 180 | Card state management |
181
+
182
+ **Total export system**: ~15,136 lines. This is one of the largest subsystems.
183
+
184
+ ---
185
+
186
+ ### 2.10 MCP Agentic System
187
+
188
+ | Component | Lines | Status |
189
+ |-----------|-------|--------|
190
+ | MCPServer | 950 | Working |
191
+ | MCP tools | 548 | set_parameter, get_parameter, set_system, randomize_all, save/load gallery, export |
192
+ | AgentCLI | 615 | Working |
193
+ | TelemetryService | 464 | Working |
194
+ | EventStream | 669 | Working |
195
+ | Instrumentation | 618 | Working |
196
+ | TelemetryExporters | 427 | Working |
197
+ | BenchmarkRunner | 381 | Working |
198
+ | MetricsCollector | 299 | Working |
199
+
200
+ ---
201
+
202
+ ### 2.11 Core Engine
203
+
204
+ | Component | Lines | Purpose |
205
+ |-----------|-------|---------|
206
+ | VIB3Engine | 517 | Main orchestrator |
207
+ | CanvasManager | 216 | Canvas lifecycle |
208
+ | Parameters | 395 | Parameter definitions |
209
+ | ParameterMapper | 332 | Param→uniform mapping |
210
+ | RendererContracts | 200 | Interface contracts |
211
+ | Renderer adapters (3) | ~300 | System adapters |
212
+ | RendererLifecycleManager | ~150 | Init/suspend/dispose |
213
+
214
+ ---
215
+
216
+ ### 2.12 UI & Viewer
217
+
218
+ | Component | Lines | Purpose |
219
+ |-----------|-------|---------|
220
+ | GalleryUI | 832 | Gallery interface |
221
+ | AudioReactivity | 505 | Audio input |
222
+ | TradingCardExporter | 600 | Card export UI |
223
+ | ReactivityManager (viewer) | 590 | Reactivity UI |
224
+ | CardBending | 481 | 3D card effects |
225
+ | ViewerPortal | 374 | Modal/portal |
226
+ | InteractivityMenu | 515 | Control menu |
227
+ | StatusManager | 95 | Notifications |
228
+ | LLMParameterInterface | ~200 | LLM control |
229
+ | LLMParameterUI | ~150 | LLM UI |
230
+
231
+ ---
232
+
233
+ ### 2.13 Cross-Platform Targets
234
+
235
+ | Target | Location | Status |
236
+ |--------|----------|--------|
237
+ | **Browser** | `index.html` + `src/` | Primary. Vite-served |
238
+ | **CLI** | `src/cli/index.js` | Working. `vib3` binary |
239
+ | **Flutter plugin** | `flutter/` | Present. iOS + Android + Web |
240
+ | **Flutter demo** | `examples/flutter_demo/` | Present |
241
+ | **GitHub Pages** | `docs/` | Deployed. 26 HTML pages |
242
+ | **NPM SDK** | `@vib3code/sdk` package.json | Defined |
243
+
244
+ ---
245
+
246
+ ### 2.14 Testing
247
+
248
+ | Category | Files | Lines | Framework |
249
+ |----------|-------|-------|-----------|
250
+ | Unit tests (math, geometry, render, scene) | ~20 | ~6,350 | Vitest |
251
+ | E2E tests | 5 | ~1,489 | Playwright + custom |
252
+ | Playwright specs | 3 | ~800 | Playwright |
253
+ | Agent tests | 4 | ~756 | Vitest |
254
+ | Browser tests | 2 | ~300 | Custom |
255
+ | **Total** | **~34** | **~10,000+** | |
256
+
257
+ ---
258
+
259
+ ### 2.15 CI/CD
260
+
261
+ | Workflow | Trigger | Purpose |
262
+ |----------|---------|---------|
263
+ | `pages.yml` | Push | GitHub Pages deploy |
264
+ | `benchmarks.yml` | Manual/PR | Performance benchmarks |
265
+ | `exports.yml` | Manual | Export generation |
266
+ | `gpu-visual-tests.yml` | PR | GPU visual regression |
267
+ | `flutter-web.yml` | Push | Flutter web build |
268
+ | `flutter-apk.yml` | Push | Android APK build |
269
+
270
+ ---
271
+
272
+ ### 2.16 Configuration & Build
273
+
274
+ | File | Purpose |
275
+ |------|---------|
276
+ | `package.json` | NPM config, v2.0.0, @vib3code/sdk |
277
+ | `vite.config.js` | Dev server + build |
278
+ | `vitest.config.js` | Unit test config |
279
+ | `playwright.config.js` | E2E test config |
280
+ | `cpp/CMakeLists.txt` | WASM build |
281
+
282
+ ---
283
+
284
+ ### 2.17 Archived/Legacy Code
285
+
286
+ `archive/` contains 15 subdirectories of legacy, experimental, and duplicate code. This was cleaned up in commit `e82d982`. Includes: old SDK, old demos, duplicate engines/exports/holographic, experimental core, legacy docs/UI, math duplicates, physics (unused), platforms, polychora (incomplete), old scripts.
287
+
288
+ ---
289
+
290
+ ## 3. Known Issues & Technical Debt
291
+
292
+ ### Resolved in v2.0.0
293
+ | # | Severity | Area | Description | Resolution |
294
+ |---|----------|------|-------------|------------|
295
+ | 1 | ~~Medium~~ | Faceted | ~~`u_saturation` not used in GLSL shader~~ | **FIXED**: Added `hsl2rgb()` function, full HSL pipeline |
296
+ | 2 | ~~Low~~ | Shaders | ~~Inline shaders can drift from external files~~ | **MITIGATED**: `tools/shader-sync-verify.js` added |
297
+ | 3 | ~~Low~~ | Quantum | ~~`clickIntensity` maps to `u_mouseIntensity`~~ | **FIXED**: Now maps to `u_clickIntensity` |
298
+ | 4 | ~~Low~~ | Faceted | ~~No audio reactivity wiring~~ | **FIXED**: bass/mid/high uniforms wired |
299
+
300
+ ### Remaining Issues
301
+ | # | Severity | Area | Description |
302
+ |---|----------|------|-------------|
303
+ | 5 | Info | WebGPU | WebGPU backend present and functional but not actively tested in CI with real GPU |
304
+ | 6 | Info | Polychora | System archived, not production-ready. TBD placeholder. |
305
+ | 7 | Info | Export | Export system (15K lines) is the largest subsystem — may benefit from modularization |
306
+ | 8 | Info | Archive | 15 directories of archived code still in repo |
307
+ | 9 | Low | v2.0.0 | New modules (creative, integrations, advanced) need test coverage |
308
+ | 10 | Low | v2.0.0 | Platform integration components need validation with real framework apps |
309
+
310
+ ---
311
+
312
+ ## 4. Improvement, Enhancement & Expansion Opportunities
313
+
314
+ ### 4.1 Immediate Fixes
315
+
316
+ 1. **Wire saturation into Faceted system** — Add proper HSL conversion to the Faceted GLSL shader, matching the approach now used in Quantum
317
+ 2. **Fix clickIntensity uniform bug** — Line 782 of QuantumVisualizer.js maps `clickIntensity` to `u_mouseIntensity` instead of its own uniform
318
+ 3. **Add audio reactivity to Faceted** — The only system without it; users expect consistent behavior across systems
319
+ 4. **Shader sync tooling** — Script or build step to verify inline shaders match external `.glsl`/`.wgsl` files
320
+
321
+ ### 4.2 Visual & Creative Enhancements
322
+
323
+ 5. **Color presets/themes** — Named color palettes (e.g., "Ocean", "Lava", "Neon", "Monochrome") that set hue/saturation/intensity as a group
324
+ 6. **Gradient/multi-hue mode** — Allow two or three hue stops that blend across geometry, not just a single hue
325
+ 7. **Post-processing pipeline** — Bloom, chromatic aberration, vignette, film grain as composable post-FX. Currently some effects are baked into shaders
326
+ 8. **Transition animations** — Smooth interpolation when switching between systems or geometries (currently snaps)
327
+ 9. **Custom shader injection** — Allow advanced users to inject custom fragment shader snippets via MCP or UI
328
+ 10. **3D depth-of-field** — Use the W-component distance for depth blur effects after projection
329
+
330
+ ### 4.3 Performance & Architecture
331
+
332
+ 11. **WebGPU compute shaders** — Use compute for particle simulations, geometry generation, or audio FFT on GPU
333
+ 12. **Instanced rendering** — For particle-heavy geometry variants, switch from fragment-only to instanced vertex+fragment
334
+ 13. **Lazy loading** — Split the 15K-line export system into dynamic imports so it doesn't load until needed
335
+ 14. **WASM SIMD** — Enable SIMD extensions in the C++ build for faster rotor/matrix math
336
+ 15. **OffscreenCanvas** — Move rendering to a Web Worker for UI-thread-free rendering
337
+ 16. **Shared shader library** — Single source of truth for shader code, compiled into both inline and external forms at build time
338
+
339
+ ### 4.4 Interaction & Input
340
+
341
+ 17. **Multi-touch gestures** — Pinch-to-zoom for dimension, two-finger rotate for 4D rotations, swipe for geometry cycling
342
+ 18. **MIDI controller support** — Map MIDI CC values to any parameter for live performance use
343
+ 19. **Gamepad API** — Use analog sticks for 6D rotation control (L/R sticks = 3D + 4D planes)
344
+ 20. **Accelerometer/gyroscope** — Already partially implemented via device tilt toggle; deepen to full 6DOF device orientation
345
+
346
+ ### 4.5 Data & AI
347
+
348
+ 21. **Parameter animation curves** — Record and playback parameter sequences as keyframed timelines
349
+ 22. **AI-generated presets** — Use LLM to generate parameter combinations from natural language ("something that looks like a breathing jellyfish")
350
+ 23. **State diffing** — Compare two saved gallery states and visualize the parameter differences
351
+ 24. **Analytics dashboard** — Track which geometries, colors, and systems users spend time on
352
+
353
+ ---
354
+
355
+ ## 5. Creative & Design Platform Integration Strategy
356
+
357
+ ### 5.1 Design Tool Integrations
358
+
359
+ | Platform | Integration Type | Value Proposition | Approach |
360
+ |----------|-----------------|-------------------|----------|
361
+ | **Figma** | Plugin | Export VIB3+ visuals as Figma frames/components. Import Figma color tokens as VIB3+ palettes | Figma Plugin API → SVG/PNG export, color token import |
362
+ | **Adobe After Effects** | Plugin/Script | Export VIB3+ animations as AE compositions. Use Lottie export as bridge | ExtendScript or CEP panel, Lottie JSON → Bodymovin import |
363
+ | **Adobe Illustrator** | Script | Export SVG geometry from VIB3+ directly into AI documents | SVGExporter output → AI file via script |
364
+ | **Blender** | Add-on | Export 4D geometry meshes and rotation keyframes to Blender for 3D rendering | Python add-on consuming VIB3Package JSON → mesh/keyframe |
365
+ | **Cinema 4D / Houdini** | Plugin | Import 4D geometry data for procedural workflows | Alembic or custom format export |
366
+ | **Canva** | App SDK | Embed VIB3+ visualizations as interactive Canva elements | Canva Apps SDK iframe integration |
367
+ | **Webflow** | Custom code | Embed VIB3+ as a Webflow custom code component | `<script>` embed + Webflow CMS bindings for parameters |
368
+
369
+ ### 5.2 Creative Coding & Performance Platforms
370
+
371
+ | Platform | Integration | Approach |
372
+ |----------|-------------|----------|
373
+ | **TouchDesigner** | GLSL TOP / Python | Export GLSL shaders directly into TouchDesigner GLSL TOPs. Python script drives parameters via OSC/WebSocket |
374
+ | **Processing / p5.js** | Library wrapper | Thin p5.js wrapper around VIB3Engine for creative coding sketches |
375
+ | **Unity** | Shader Graph / C# | Port GLSL shaders to HLSL for Unity Shader Graph. C# wrapper for parameter control |
376
+ | **Unreal Engine** | Material/Blueprint | Convert shaders to HLSL material functions. Blueprint nodes for MCP parameter control |
377
+ | **Three.js / R3F** | ShaderMaterial | Package VIB3+ shaders as Three.js ShaderMaterial with uniform bindings |
378
+ | **Babylon.js** | Custom material | Same approach as Three.js, targeting Babylon's material system |
379
+ | **cables.gl** | Custom operator | Package as cables.gl operator for node-based visual programming |
380
+ | **Hydra (live coding)** | GLSL source | Export shader snippets compatible with Hydra's live-coding GLSL system |
381
+ | **VDMX / Resolume** | FFGL / Spout | Export as FFGL plugin or stream via Spout/Syphon for VJ software |
382
+
383
+ ### 5.3 Web & App Platforms
384
+
385
+ | Platform | Integration | Approach |
386
+ |----------|-------------|----------|
387
+ | **React / Next.js** | NPM package | Already an NPM SDK. Add a `<Vib3Canvas>` React component wrapper |
388
+ | **Vue / Nuxt** | NPM package | Vue component wrapper around VIB3Engine |
389
+ | **Svelte** | NPM package | Svelte component with reactive parameter bindings |
390
+ | **React Native** | WebView + bridge | Render in WebView, bridge parameters via `postMessage` |
391
+ | **Flutter** | Already started | `flutter/` plugin exists. Needs production hardening |
392
+ | **Electron** | Direct | Run VIB3+ in Electron for desktop app distribution |
393
+ | **Tauri** | Direct | Lighter desktop alternative via Rust + WebView |
394
+ | **WordPress** | Block / shortcode | WP block or shortcode that embeds VIB3+ with configurable parameters |
395
+ | **Shopify** | Theme section | Liquid template section for product visualization backgrounds |
396
+
397
+ ### 5.4 XR & Spatial Computing
398
+
399
+ | Platform | Integration | Approach |
400
+ |----------|-------------|----------|
401
+ | **WebXR** | Immersive mode | Add WebXR session support to render 4D projections in VR/AR headsets |
402
+ | **Apple Vision Pro** | visionOS app | Swift/SwiftUI wrapper around WebView or Metal shader port |
403
+ | **Meta Quest** | WebXR or native | Browser-based WebXR or native OpenXR with ported shaders |
404
+ | **AR.js / 8th Wall** | Overlay | Render VIB3+ as AR overlay via camera passthrough |
405
+
406
+ ### 5.5 Music & Audio Platforms
407
+
408
+ | Platform | Integration | Approach |
409
+ |----------|-------------|----------|
410
+ | **Ableton Live (Max4Live)** | OSC/WebSocket bridge | Max4Live device sends audio analysis to VIB3+ via WebSocket |
411
+ | **Spotify Canvas** | Video export | Render VIB3+ sequences as looping video for Spotify Canvas |
412
+ | **YouTube Music Visualizer** | Browser extension | Chrome extension injects VIB3+ canvas driven by audio element |
413
+ | **OBS Studio** | Browser source | Already works — add OBS as a documented target with transparent background mode |
414
+
415
+ ### 5.6 AI & Generative Platforms
416
+
417
+ | Platform | Integration | Approach |
418
+ |----------|-------------|----------|
419
+ | **ComfyUI / Stable Diffusion** | Custom node | VIB3+ renders used as ControlNet inputs or img2img sources |
420
+ | **Runway ML** | API integration | Feed VIB3+ frames into Runway Gen-3 for AI video enhancement |
421
+ | **MCP ecosystem** | Already built | MCPServer.js supports agentic control. Extend tool set for richer AI-driven experiences |
422
+ | **LangChain / LlamaIndex** | Tool binding | Bind MCP tools as LangChain tools for LLM-orchestrated visualizations |
423
+
424
+ ### 5.7 Distribution & Monetization
425
+
426
+ | Channel | Format | Approach |
427
+ |---------|--------|----------|
428
+ | **NPM** | SDK package | Already defined as `@vib3code/sdk`. Publish to NPM registry |
429
+ | **GitHub Marketplace** | Action / App | GitHub Action for automated VIB3+ asset generation in CI |
430
+ | **Chrome Web Store** | Extension | New tab page or visualizer extension |
431
+ | **App stores (iOS/Android)** | Flutter app | Flutter plugin → standalone app distribution |
432
+ | **NFT/digital art** | On-chain metadata | Export VIB3Package as on-chain metadata with IPFS-hosted renders |
433
+ | **Stock visual platforms** | Video loops | Render and sell looping VIB3+ animations on Shutterstock, Adobe Stock, Pond5 |
434
+
435
+ ---
436
+
437
+ ## 6. Priority Roadmap
438
+
439
+ ### Phase A — Parity & Polish ✅ COMPLETE (v2.0.0)
440
+ - [x] Restore Quantum color control
441
+ - [x] Wire saturation into Faceted system (`hsl2rgb()` in GLSL + WGSL)
442
+ - [x] Fix clickIntensity uniform bug (QuantumVisualizer.js:792)
443
+ - [x] Add audio reactivity to Faceted (bass/mid/high uniforms)
444
+ - [x] Shader sync verification tooling (`tools/shader-sync-verify.js`)
445
+
446
+ ### Phase B — Creative Tooling ✅ COMPLETE (v2.0.0)
447
+ - [x] Color presets/themes system (`src/creative/ColorPresetsSystem.js` — 980 lines, 22 presets)
448
+ - [x] Transition animations between states (`src/creative/TransitionAnimator.js` — 683 lines, 14 easings)
449
+ - [x] Post-processing composable FX pipeline (`src/creative/PostProcessingPipeline.js` — 1,113 lines, 14 effects)
450
+ - [x] Parameter animation keyframes/timeline (`src/creative/ParameterTimeline.js` — 1,061 lines, BPM sync)
451
+
452
+ ### Phase C — Platform Integrations ✅ COMPLETE (v2.0.0)
453
+ - [x] React component + `useVib3()` hook (`src/integrations/frameworks/Vib3React.js` — 591 lines)
454
+ - [x] Vue 3 component + composable (`src/integrations/frameworks/Vib3Vue.js` — 628 lines)
455
+ - [x] Svelte component + store (`src/integrations/frameworks/Vib3Svelte.js` — 654 lines)
456
+ - [x] Figma plugin (`src/integrations/FigmaPlugin.js` — 854 lines)
457
+ - [x] Three.js ShaderMaterial package (`src/integrations/ThreeJsPackage.js` — 660 lines)
458
+ - [x] TouchDesigner GLSL TOP export (`src/integrations/TouchDesignerExport.js` — 552 lines)
459
+ - [x] OBS transparent background mode (`src/integrations/OBSMode.js` — 754 lines)
460
+
461
+ ### Phase D — Advanced ✅ COMPLETE (v2.0.0)
462
+ - [x] WebXR immersive rendering (`src/advanced/WebXRRenderer.js` — 680 lines)
463
+ - [x] WebGPU compute shaders for particles/audio FFT (`src/advanced/WebGPUCompute.js` — 1,051 lines)
464
+ - [x] MIDI controller mapping (`src/advanced/MIDIController.js` — 703 lines)
465
+ - [x] AI preset generation via MCP + LLM (`src/advanced/AIPresetGenerator.js` — 777 lines)
466
+ - [x] OffscreenCanvas worker rendering (`src/advanced/OffscreenWorker.js` — 1,051 lines)
467
+
468
+ ### SpatialInputSystem ✅ COMPLETE (v2.0.0)
469
+ - [x] Universal spatial input system (`src/reactivity/SpatialInputSystem.js` — 1,783 lines)
470
+ - [x] 8 input source types (deviceTilt, mouse, gyroscope, gamepad, perspective, programmatic, audio, MIDI)
471
+ - [x] 6 built-in profiles (cardTilt, wearablePerspective, gameAsset, vjAudioSpatial, uiElement, immersiveXR)
472
+ - [x] Integrated into VIB3Engine with 7 new methods
473
+ - [x] Full serialization (exportConfig/importConfig)
474
+
475
+ ### Phase E — Next (Planned)
476
+ - [ ] Add test coverage for all v2.0.0 modules
477
+ - [ ] Validate platform integrations with real framework apps
478
+ - [ ] Publish @vib3code/sdk v2.0.0 to NPM registry
479
+ - [ ] Production-harden WebGPU shader pipeline
480
+ - [ ] Create example apps for each framework integration
481
+
482
+ ---
483
+
484
+ ## 7. File Index (Complete)
485
+
486
+ ### Root
487
+ | File | Purpose |
488
+ |------|---------|
489
+ | `index.html` | Main entry point |
490
+ | `package.json` | NPM config v2.0.0 |
491
+ | `vite.config.js` | Build config |
492
+ | `vitest.config.js` | Test config |
493
+ | `playwright.config.js` | E2E config |
494
+ | `CLAUDE.md` | AI/dev reference |
495
+ | `README.md` | Project overview |
496
+ | `24-GEOMETRY-6D-ROTATION-SUMMARY.md` | Geometry docs |
497
+ | `.gitignore` | Git exclusions |
498
+ | `.nojekyll` | Pages marker |
499
+
500
+ ### `cpp/` — WASM Core (3,072 lines)
501
+ | File | Lines | Purpose |
502
+ |------|-------|---------|
503
+ | `src/vib3_ffi.cpp` | 607 | FFI bridge |
504
+ | `math/Rotor4D.cpp` | 322 | 4D rotation |
505
+ | `math/Mat4x4.cpp` | 409 | Matrix ops |
506
+ | `math/Vec4.cpp` | 303 | Vector ops |
507
+ | `math/Projection.cpp` | 142 | Projections |
508
+ | `bindings/embind.cpp` | 269 | JS bindings |
509
+ | `include/vib3_ffi.h` | 238 | FFI header |
510
+ | `math/Rotor4D.hpp` | 204 | Rotor header |
511
+ | `math/Mat4x4.hpp` | 209 | Matrix header |
512
+ | `math/Vec4.hpp` | 221 | Vector header |
513
+ | `math/Projection.hpp` | 148 | Projection header |
514
+
515
+ ### `src/core/` — Engine Core (2,400 lines)
516
+ | File | Lines | Purpose |
517
+ |------|-------|---------|
518
+ | `VIB3Engine.js` | 517 | Main engine |
519
+ | `CanvasManager.js` | 216 | Canvas lifecycle |
520
+ | `Parameters.js` | 395 | Parameter defs |
521
+ | `ParameterMapper.js` | 332 | Param→uniform |
522
+ | `UnifiedResourceManager.js` | 369 | Resource mgmt |
523
+ | `RendererContracts.js` | 200 | Interfaces |
524
+ | `renderers/QuantumRendererAdapter.js` | ~100 | Quantum adapter |
525
+ | `renderers/FacetedRendererAdapter.js` | ~100 | Faceted adapter |
526
+ | `renderers/HolographicRendererAdapter.js` | ~100 | Holo adapter |
527
+ | `renderers/RendererLifecycleManager.js` | ~150 | Lifecycle mgmt |
528
+
529
+ ### `src/quantum/` — Quantum System (1,935 lines)
530
+ | File | Lines | Purpose |
531
+ |------|-------|---------|
532
+ | `QuantumEngine.js` | 845 | System manager |
533
+ | `QuantumVisualizer.js` | 1090 | WebGL renderer |
534
+
535
+ ### `src/faceted/` — Faceted System (826 lines)
536
+ | File | Lines | Purpose |
537
+ |------|-------|---------|
538
+ | `FacetedSystem.js` | 826 | Complete system |
539
+
540
+ ### `src/holograms/` — Holographic System (1,989 lines)
541
+ | File | Lines | Purpose |
542
+ |------|-------|---------|
543
+ | `RealHolographicSystem.js` | 920 | System manager |
544
+ | `HolographicVisualizer.js` | 1070 | 5-layer renderer |
545
+ | `variantRegistry.js` | 69 | Variant registry |
546
+
547
+ ### `src/render/` — Render Infrastructure (8,400 lines)
548
+ | File | Lines | Purpose |
549
+ |------|-------|---------|
550
+ | `ShaderProgram.js` | 599 | Shader mgmt |
551
+ | `UnifiedRenderBridge.js` | 496 | Backend abstraction |
552
+ | `RenderCommand.js` | 514 | Command defs |
553
+ | `CommandBuffer.js` | 465 | Command batching |
554
+ | `RenderState.js` | 552 | State tracking |
555
+ | `RenderTarget.js` | 512 | FBO/texture targets |
556
+ | `RenderResourceRegistry.js` | 523 | Resource registry |
557
+ | `ShaderLoader.js` | 253 | Shader file loading |
558
+ | `MultiCanvasBridge.js` | 340 | Multi-canvas coord |
559
+ | `backends/WebGLBackend.js` | 1,108 | WebGL 2.0 |
560
+ | `backends/WebGPUBackend.js` | 1,409 | WebGPU |
561
+ | `commands/RenderCommandBuffer.js` | 661 | Command queue |
562
+ | `commands/CommandBufferExecutor.js` | 607 | Command exec |
563
+
564
+ ### `src/shaders/` — Shader Files (2,162 lines)
565
+ | File | Lines | Purpose |
566
+ |------|-------|---------|
567
+ | `common/fullscreen.vert.glsl` | 5 | Vertex shader |
568
+ | `common/fullscreen.vert.wgsl` | 17 | WGSL vertex |
569
+ | `common/uniforms.glsl` | 44 | Uniform defs |
570
+ | `common/uniforms.wgsl` | 48 | WGSL uniforms |
571
+ | `common/rotation4d.glsl` | 85 | Rotation matrices |
572
+ | `common/rotation4d.wgsl` | 86 | WGSL rotations |
573
+ | `common/geometry24.glsl` | 65 | Geometry encoding |
574
+ | `common/geometry24.wgsl` | 54 | WGSL geometry |
575
+ | `quantum/quantum.frag.glsl` | 513 | Quantum frag |
576
+ | `quantum/quantum.frag.wgsl` | 361 | WGSL quantum |
577
+ | `faceted/faceted.frag.glsl` | 129 | Faceted frag |
578
+ | `faceted/faceted.frag.wgsl` | 164 | WGSL faceted |
579
+ | `holographic/holographic.frag.glsl` | 406 | Holo frag |
580
+ | `holographic/holographic.frag.wgsl` | 185 | WGSL holo |
581
+
582
+ ### `src/geometry/` — Geometry System (3,674 lines)
583
+ | File | Lines | Purpose |
584
+ |------|-------|---------|
585
+ | `GeometryFactory.js` | 314 | Factory |
586
+ | `GeometryLibrary.js` | 71 | Definitions |
587
+ | `generators/Tetrahedron.js` | 225 | Simplex |
588
+ | `generators/Tesseract.js` | 160 | Hypercube |
589
+ | `generators/Sphere.js` | 192 | Sphere |
590
+ | `generators/Torus.js` | 304 | Torus |
591
+ | `generators/KleinBottle.js` | 197 | Klein bottle |
592
+ | `generators/Fractal.js` | 298 | Fractal |
593
+ | `generators/Wave.js` | 341 | Wave |
594
+ | `generators/Crystal.js` | 420 | Crystal |
595
+ | `warp/HypersphereCore.js` | 211 | S³ warp |
596
+ | `warp/HypertetraCore.js` | 386 | Pentatope warp |
597
+ | `buffers/BufferBuilder.js` | 338 | GPU buffers |
598
+
599
+ ### `src/math/` — JavaScript Math (2,742 lines)
600
+ | File | Lines | Purpose |
601
+ |------|-------|---------|
602
+ | `Rotor4D.js` | 637 | JS rotor fallback |
603
+ | `Mat4x4.js` | 708 | Matrix ops |
604
+ | `Vec4.js` | 476 | Vector ops |
605
+ | `Projection.js` | 341 | Projections |
606
+ | `constants.js` | 164 | Math constants |
607
+ | `projections.js` | 54 | Projection utils |
608
+ | `rotations.js` | 196 | Rotation utils |
609
+
610
+ ### `src/export/` — Export System (15,136 lines)
611
+ | File | Lines | Purpose |
612
+ |------|-------|---------|
613
+ | `ExportManager.js` | 579 | Orchestrator |
614
+ | `VIB3PackageExporter.js` | 559 | JSON package |
615
+ | `SVGExporter.js` | 519 | SVG export |
616
+ | `ShaderExporter.js` | 903 | Shader export |
617
+ | `CSSExporter.js` | 226 | CSS animations |
618
+ | `LottieExporter.js` | 552 | Lottie JSON |
619
+ | `TradingCardGenerator.js` | 3,054 | Card renderer |
620
+ | `CardGeneratorBase.js` | 278 | Card base class |
621
+ | `QuantumCardGenerator.js` | 314 | Quantum cards |
622
+ | `FacetedCardGenerator.js` | 278 | Faceted cards |
623
+ | `HolographicCardGenerator.js` | 542 | Holo cards |
624
+ | `TradingCardManager.js` | 180 | Card state |
625
+
626
+ ### `src/scene/` — Scene Management (2,752 lines)
627
+ | File | Lines | Purpose |
628
+ |------|-------|---------|
629
+ | `Scene4D.js` | 540 | Scene graph |
630
+ | `Node4D.js` | 697 | 4D node |
631
+ | `ResourceManager.js` | 599 | Resources |
632
+ | `MemoryPool.js` | 618 | Object pooling |
633
+ | `Disposable.js` | 498 | Disposal pattern |
634
+
635
+ ### `src/agent/` — Agent & MCP (3,800 lines)
636
+ | File | Lines | Purpose |
637
+ |------|-------|---------|
638
+ | `mcp/MCPServer.js` | 950 | MCP server |
639
+ | `mcp/tools.js` | 548 | MCP tools |
640
+ | `cli/AgentCLI.js` | 615 | CLI agent |
641
+ | `telemetry/TelemetryService.js` | 464 | Telemetry |
642
+ | `telemetry/EventStream.js` | 669 | Events |
643
+ | `telemetry/Instrumentation.js` | 618 | Profiling |
644
+ | `telemetry/TelemetryExporters.js` | 427 | Export |
645
+
646
+ ### `src/reactivity/` — Reactivity & Spatial Input (2,961 lines)
647
+ | File | Lines | Purpose |
648
+ |------|-------|---------|
649
+ | `ReactivityManager.js` | 586 | Reactivity orchestrator |
650
+ | `ReactivityConfig.js` | 499 | Config/ranges |
651
+ | `SpatialInputSystem.js` | 1,783 | **NEW v2.0.0** — Universal spatial input (8 sources, 6 profiles) |
652
+ | `index.js` | 93 | Module exports |
653
+
654
+ ### `src/creative/` — Creative Tooling (3,837 lines) — **NEW v2.0.0**
655
+ | File | Lines | Purpose |
656
+ |------|-------|---------|
657
+ | `ColorPresetsSystem.js` | 980 | 22 themed color presets |
658
+ | `TransitionAnimator.js` | 683 | 14 easing functions, state sequencing |
659
+ | `PostProcessingPipeline.js` | 1,113 | 14 composable effects, 7 preset chains |
660
+ | `ParameterTimeline.js` | 1,061 | Keyframe animation with BPM sync |
661
+
662
+ ### `src/integrations/` — Platform Integrations (4,693 lines) — **NEW v2.0.0**
663
+ | File | Lines | Purpose |
664
+ |------|-------|---------|
665
+ | `frameworks/Vib3React.js` | 591 | React component + `useVib3()` hook |
666
+ | `frameworks/Vib3Vue.js` | 628 | Vue 3 component + composable |
667
+ | `frameworks/Vib3Svelte.js` | 654 | Svelte component + store |
668
+ | `FigmaPlugin.js` | 854 | Figma plugin manifest + code + UI |
669
+ | `ThreeJsPackage.js` | 660 | Three.js ShaderMaterial wrapper |
670
+ | `TouchDesignerExport.js` | 552 | GLSL TOP export for TouchDesigner |
671
+ | `OBSMode.js` | 754 | Transparent background + browser source |
672
+
673
+ ### `src/advanced/` — Advanced Features (4,262 lines) — **NEW v2.0.0**
674
+ | File | Lines | Purpose |
675
+ |------|-------|---------|
676
+ | `WebXRRenderer.js` | 680 | WebXR VR/AR with 6DOF extraction |
677
+ | `WebGPUCompute.js` | 1,051 | WGSL particle + FFT compute shaders |
678
+ | `MIDIController.js` | 703 | Web MIDI with learn mode |
679
+ | `AIPresetGenerator.js` | 777 | Text-to-preset + mutation/crossbreeding |
680
+ | `OffscreenWorker.js` | 1,051 | Worker rendering + SharedArrayBuffer |
681
+
682
+ ### `tools/` — Tooling (includes new v2.0.0)
683
+ | File | Lines | Purpose |
684
+ |------|-------|---------|
685
+ | `shader-sync-verify.js` | 937 | **NEW v2.0.0** — Shader uniform sync verification |
686
+ | `agentic/mcpTools.js` | — | MCP helper scripts |
687
+ | `cli/agent-cli.js` | — | Agent CLI tooling |
688
+ | `export/formats.js` | — | Export pipeline tools |
689
+ | `telemetry/manifestPipeline.js` | — | Telemetry manifest |
690
+
691
+ ### `src/viewer/` — Viewer UI (~3,382 lines)
692
+ | File | Lines | Purpose |
693
+ |------|-------|---------|
694
+ | `GalleryUI.js` | 832 | Gallery UI |
695
+ | `AudioReactivity.js` | 505 | Audio input |
696
+ | `TradingCardExporter.js` | 600 | Card export UI |
697
+ | `ReactivityManager.js` | 590 | Reactivity UI |
698
+ | `CardBending.js` | 481 | 3D card FX |
699
+ | `ViewerPortal.js` | 374 | Portal/modal |
700
+
701
+ ### Other `src/` Directories
702
+ | Directory | Key Files | Purpose |
703
+ |-----------|-----------|---------|
704
+ | `src/ui/` | InteractivityMenu, StatusManager, WebGPU renderers | UI components |
705
+ | `src/wasm/` | WasmLoader.js | WASM initialization |
706
+ | `src/cli/` | index.js (580 lines) | CLI interface |
707
+ | `src/config/` | ApiConfig.js | API config |
708
+ | `src/llm/` | LLMParameterInterface, LLMParameterUI | LLM integration |
709
+ | `src/gallery/` | GallerySystem, CollectionManager | Gallery state |
710
+ | `src/features/` | CollectionManager | Feature collections |
711
+ | `src/schemas/` | 5 JSON schemas | Validation |
712
+ | `src/testing/` | ParallelTestFramework, test files | Test utils |
713
+ | `src/benchmarks/` | BenchmarkRunner, MetricsCollector, scenes | Perf testing |
714
+
715
+ ### `styles/` — CSS (2,500 lines)
716
+ 13 CSS files covering base, header, controls, animations, reactivity, mobile, geometry tabs, gallery, glitch effects, bottom bezel, z-index.
717
+
718
+ ### `tests/` — Test Suite (10,000+ lines)
719
+ 34 test files: math, geometry, render, scene, export, agent, E2E, visual regression, Playwright specs.
720
+
721
+ ### `docs/` — GitHub Pages (26 HTML files)
722
+ Gallery index, test hub, WebGPU live, 9 exports, 13 effect demos.
723
+
724
+ ### `flutter/` — Flutter Plugin (10 files)
725
+ Dart plugin + iOS Swift + Android Kotlin native implementations.
726
+
727
+ ### `examples/` — Examples (19 files)
728
+ Flutter demo app + standalone HTML demos.
729
+
730
+ ### `.github/workflows/` — CI/CD (6 workflows)
731
+ Pages deploy, benchmarks, exports, GPU visual tests, Flutter web, Flutter APK.
732
+
733
+ ### `archive/` — Legacy (15 directories)
734
+ Old SDK, demos, duplicates, experimental code, polychora, physics.
735
+
736
+ ---
737
+
738
+ *End of audit — January 30, 2026 — Updated for v2.0.0*