@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,570 @@
1
+ # VIB3+ CORE — Master Plan & Full Audit
2
+
3
+ **Date**: January 31, 2026
4
+ **Version**: 2.0.0 (`@vib3code/sdk`)
5
+ **Owner**: Clear Seas Solutions LLC
6
+ **Status**: Engine complete. Product launch pending.
7
+
8
+ ---
9
+
10
+ ## Executive Summary
11
+
12
+ The codebase is complete. The product isn't. You have 95,000+ lines of working engine code across 570+ files, but the gap between "engine" and "product people adopt" is **distribution, onboarding, and ecosystem**. Phases A–D of the v2.0.0 roadmap shipped all planned features. This document captures everything that remains — from the previous session's Phase 5 plan, to the full codebase audit, to new items discovered during review — organized into a single actionable plan.
13
+
14
+ **What's done**:
15
+ - 3 active visualization systems (Quantum, Faceted, Holographic) — all working
16
+ - 24-geometry system with 6D rotation — all working
17
+ - Dual GPU backends (WebGL primary, WebGPU secondary) — both functional
18
+ - SpatialInputSystem (8 input sources, 6 profiles) — complete
19
+ - Creative Tooling (color presets, transitions, post-processing, timeline) — complete
20
+ - Platform Integrations (React, Vue, Svelte, Figma, Three.js, TouchDesigner, OBS) — code complete
21
+ - Advanced Features (WebXR, WebGPU Compute, MIDI, AI Presets, OffscreenWorker) — code complete
22
+ - MCP Agentic Control (14 tools) — working
23
+ - C++ WASM Core with JS fallback — working
24
+ - Export System (SVG, CSS, Lottie, Shader, Trading Cards, VIB3Package) — working
25
+ - 693+ tests passing, 34 test files
26
+ - 6 CI/CD workflows active
27
+
28
+ **What's not done**: Everything below.
29
+
30
+ ---
31
+
32
+ ## 1. Dev Track Priorities: Expand, Launch, Scale, Integrate
33
+
34
+ ### 1.1 Expand
35
+
36
+ #### CLI Scaffolding (`npx @vib3code/sdk init`)
37
+ - **Status**: NOT DONE
38
+ - **Current state**: `bin.vib3` exists in package.json pointing to `src/cli/index.js` (580 lines). CLI supports `create`, `state`, `set`, `geometry`, `system`, `randomize`, `reset`, `tools`, `validate`. But there is NO `init` command that scaffolds a new project.
39
+ - **Why it matters**: This is how Three.js, Vite, and every modern tool gets adopted. If someone can't go from zero to a running visualization in under 60 seconds, you lose them.
40
+ - **Action**: Add `vib3 init` command that creates a minimal project with `index.html`, `package.json`, and a working VIB3+ visualization. Support `--template react|vue|svelte|vanilla`.
41
+ - **Priority**: HIGH
42
+
43
+ #### Preset Gallery as Hosted Web App
44
+ - **Status**: NOT DONE
45
+ - **Current state**: `docs/index.html` is a static gallery of 13 algorithmic art HTML pages. No shareable permalinks. No embed codes. No user-created presets.
46
+ - **Why it matters**: Not just a docs page. A shareable, embeddable gallery where each preset has a permalink. Think CodePen but for 4D visualizations. This becomes your viral loop.
47
+ - **Action**: Build a gallery app where each visualization state gets a unique URL (`vib3.app/?geometry=16&hue=180&system=quantum`), embed snippet, and social share card.
48
+ - **Priority**: HIGH
49
+
50
+ #### TypeScript Types
51
+ - **Status**: PARTIALLY DONE — Critical gaps
52
+ - **Current state**: `types/adaptive-sdk.d.ts` referenced in package.json line 7 **DOES NOT EXIST**. 11 type files exist (2,527 lines total) covering `core/VIB3Engine.d.ts`, `reactivity/index.d.ts`, and `render/*.d.ts`.
53
+ - **Missing types for v2.0.0 modules**:
54
+ - `SpatialInputSystem` — no types
55
+ - `creative/*` (ColorPresetsSystem, TransitionAnimator, PostProcessingPipeline, ParameterTimeline) — no types
56
+ - `integrations/*` (React, Vue, Svelte, Figma, Three.js, TouchDesigner, OBS) — no types
57
+ - `advanced/*` (WebXR, WebGPU Compute, MIDI, AI Presets, OffscreenWorker) — no types
58
+ - `agent/mcp/*` — no types
59
+ - **Why it matters**: TypeScript users won't adopt without autocomplete. The main entry point's types field points to a file that doesn't exist — `import` from `@vib3code/sdk` gives no type info at all.
60
+ - **Action**: Create `types/adaptive-sdk.d.ts` as a barrel that re-exports all module types. Add `.d.ts` files for all v2.0.0 modules.
61
+ - **Priority**: HIGH
62
+
63
+ ### 1.2 Launch
64
+
65
+ #### npm Publish
66
+ - **Status**: NOT DONE
67
+ - **Current state**: `package.json` declares `@vib3code/sdk` v2.0.0 with 80+ export paths. No publish scripts. No CI automation. No `prepublishOnly` hook. Package has never been published.
68
+ - **Why it matters**: `@vib3code/sdk` needs to be on npm. That's the launch. Everything else is secondary.
69
+ - **Action**: Add `prepublishOnly` script (runs tests + build), create `.github/workflows/publish.yml` for automated publish on Git tags.
70
+ - **Priority**: CRITICAL
71
+
72
+ #### GitHub Pages Demo Site
73
+ - **Status**: PARTIALLY DONE — Needs polish
74
+ - **Current state**: `docs/` has 26 HTML pages deployed to GitHub Pages. Root `index.html` is a meta-refresh redirect (3-second delay to `docs/webgpu-live.html`). Not a landing page.
75
+ - **Why it matters**: Polish one into a proper landing page with live interactive demos, not a redirect. First impressions matter.
76
+ - **Action**: Replace `index.html` redirect with a proper landing page. Include live embedded demo, feature highlights, quick-start code snippet, and links to docs/gallery.
77
+ - **Priority**: HIGH
78
+
79
+ #### One Killer Integration Example Per Framework
80
+ - **Status**: NOT DONE
81
+ - **Current state**: Integration code exists in `src/integrations/` but no standalone example apps. `examples/` directory has Flutter demo and two standalone HTML demos only.
82
+ - **Why it matters**: A React app, a Three.js scene, a TouchDesigner patch. Each in its own example directory with its own README. Developers evaluate tools by running examples.
83
+ - **Action**: Create `examples/react/`, `examples/vue/`, `examples/svelte/`, `examples/threejs/`, `examples/touchdesigner/` with minimal working apps.
84
+ - **Priority**: HIGH
85
+
86
+ ### 1.3 Scale
87
+
88
+ #### CDN Distribution
89
+ - **Status**: NOT DONE
90
+ - **Current state**: Vite config outputs ESM bundles only. No UMD/IIFE build for `<script src="https://unpkg.com/@vib3code/sdk">`. Creative coders who don't use npm can't use VIB3+.
91
+ - **Why it matters**: `<script src="https://unpkg.com/@vib3code/sdk">` for people who don't use npm. This is how many creative coders work.
92
+ - **Action**: Add UMD/IIFE build target to vite.config.js. Expose `window.VIB3` global. Test with plain HTML `<script>` tag.
93
+ - **Priority**: MEDIUM
94
+
95
+ #### WebGPU as Primary Path
96
+ - **Status**: NOT DONE — WebGL is primary, WebGPU is secondary
97
+ - **Current state**: `UnifiedRenderBridge` tries WebGPU first but WebGL is the tested/default path. WebGPU backend (1,409 lines) is functional but not actively tested in CI with real GPU. Playwright tests run Chromium only.
98
+ - **Why it matters**: WebGPU is shipping in all major browsers now. Make it the default with WebGL as fallback, not the other way around. Performance will be your differentiator.
99
+ - **Action**: Flip default priority in UnifiedRenderBridge. Add WebGPU-specific CI tests. Benchmark WebGL vs WebGPU and document results.
100
+ - **Priority**: MEDIUM
101
+
102
+ #### WASM Build Pipeline
103
+ - **Status**: PARTIALLY DONE — Manual build only
104
+ - **Current state**: `cpp/build.sh` (130 lines) supports release/debug/native/clean modes. Requires locally-installed Emscripten SDK. Pre-built `wasm/vib3_core.{js,wasm}` committed to repo. No CI workflow compiles WASM.
105
+ - **Why it matters**: The C++ core needs a reproducible build. Emscripten in CI, pre-built `.wasm` in the npm package. Users should never need to compile C++.
106
+ - **Action**: Add WASM build step to CI. Include pre-built `.wasm` in npm package via `files` field. Document the build process.
107
+ - **Priority**: MEDIUM
108
+
109
+ ### 1.4 Integrate into Workflows
110
+
111
+ #### Figma Plugin Published to Community
112
+ - **Status**: NOT DONE
113
+ - **Current state**: `src/integrations/FigmaPlugin.js` (854 lines) generates complete plugin manifest, code, and UI. But it's a code generator, not a published plugin.
114
+ - **Why it matters**: You have the code. Ship the plugin. The Figma Community is where designers discover tools.
115
+ - **Action**: Generate the plugin bundle, test in Figma Dev Mode, publish to Figma Community.
116
+ - **Priority**: MEDIUM
117
+
118
+ #### OBS Plugin Documented with Screenshots
119
+ - **Status**: NOT DONE
120
+ - **Current state**: `src/integrations/OBSMode.js` (754 lines) implements transparent background + browser source mode. No visual documentation.
121
+ - **Why it matters**: VJs and streamers won't read API docs. They need a 5-step visual guide with screenshots.
122
+ - **Action**: Create `DOCS/OBS_SETUP_GUIDE.md` with screenshots showing OBS configuration step by step.
123
+ - **Priority**: LOW-MEDIUM
124
+
125
+ #### Storybook
126
+ - **Status**: NOT DONE — Broken setup
127
+ - **Current state**: Storybook scripts and devDependencies exist in package.json (`@storybook/html-vite ^8.1.6`). But `.storybook/` config directory **DOES NOT EXIST**. Running `npm run storybook` will fail.
128
+ - **Why it matters**: This is how design system teams evaluate tools. A working Storybook with all geometry variants, color presets, and system demos is a powerful evaluation tool.
129
+ - **Action**: Create `.storybook/main.js` and `.storybook/preview.js`. Add stories for each visualization system, geometry variant, and creative tool.
130
+ - **Priority**: LOW-MEDIUM
131
+
132
+ ---
133
+
134
+ ## 2. Low-Hanging Fruit
135
+
136
+ These are high-impact, low-effort improvements. Audit status for each:
137
+
138
+ ### 2.1 Add Root LICENSE File
139
+ - **Status**: NOT DONE
140
+ - **Audit**: No `LICENSE`, `LICENSE.md`, or `LICENSE.txt` exists. `package.json` declares `"license": "SEE LICENSE IN DOCS/LICENSE_ATTESTATION_PROFILE_CATALOG.md"` but that file was not found either.
141
+ - **Why it matters**: Companies won't touch code without a clear license. This blocks all adoption.
142
+ - **Action**: Create root `LICENSE` file. Pick MIT for community (or dual-license for commercial) and ship it.
143
+ - **Priority**: CRITICAL — Unblocks everything
144
+
145
+ ### 2.2 Fix `index.html` Entry Point
146
+ - **Status**: NOT DONE — Currently a meta-refresh redirect
147
+ - **Audit**: `index.html` does `<meta http-equiv="refresh" content="3; url=docs/webgpu-live.html">` with fallback links. Styled but not a real landing page.
148
+ - **Why it matters**: First impressions matter. A 3-second redirect is not a product experience.
149
+ - **Action**: Replace with proper landing page or at minimum a clean hub with live demo embed.
150
+ - **Priority**: HIGH
151
+
152
+ ### 2.3 Verify 80+ Package Exports
153
+ - **Status**: BROKEN — 14 broken export paths found
154
+ - **Audit**: The following exports reference files that DO NOT EXIST:
155
+ | Export Path | Missing File |
156
+ |-------------|-------------|
157
+ | `./` (types) | `types/adaptive-sdk.d.ts` |
158
+ | `./ui/adaptive/renderers/webgpu` | `src/ui/adaptive/renderers/webgpu/index.ts` |
159
+ | `./quaternion` | `src/ui/adaptive/renderers/ShaderQuaternionSynchronizer.js` |
160
+ | `./sensors` | `src/ui/adaptive/SensoryInputBridge.js` |
161
+ | `./core/quaternion` | `src/core/quaternion/index.ts` |
162
+ | `./core/quaternion/poseSchema` | `src/core/quaternion/poseSchema.ts` |
163
+ | `./core/quaternion/registry` | `src/core/quaternion/registry.ts` |
164
+ | `./ui/adaptive/renderers/pose-registry` | `src/ui/adaptive/renderers/QuaternionPoseRegistrySynchronizer.ts` |
165
+ | `./ui/adaptive/renderers/pose-monitor` | `src/ui/adaptive/renderers/PoseReliabilityMonitor.ts` |
166
+ | `./ui/adaptive/renderers/pose-confidence` | `src/ui/adaptive/renderers/poseConfidence.ts` |
167
+ | `./ui/adaptive/localization` | `src/ui/adaptive/localization/index.ts` |
168
+ | `./product/telemetry/facade` | `src/product/telemetry/createTelemetryFacade.js` |
169
+ | `./product/telemetry/reference-providers` | `src/product/telemetry/providers/referenceTelemetryProviders.js` |
170
+ | Types references | `types/product/telemetry/*.d.ts` (entire directory) |
171
+ - **Why it matters**: One broken import kills trust. `import { X } from '@vib3code/sdk/quaternion'` will crash at runtime.
172
+ - **Action**: Remove dead exports (quaternion, pose, product/telemetry, sensors, localization) or implement the missing modules. Verify every remaining path resolves.
173
+ - **Priority**: CRITICAL — Must fix before npm publish
174
+
175
+ ### 2.4 Add `engines` Field to package.json
176
+ - **Status**: DONE
177
+ - **Audit**: `"engines": { "node": ">=18.19.0" }` exists at line 354.
178
+ - **No action needed**.
179
+
180
+ ### 2.5 Create CHANGELOG.md
181
+ - **Status**: NOT DONE
182
+ - **Audit**: No `CHANGELOG.md`, `CHANGELOG.txt`, or `HISTORY.md` exists anywhere in the project.
183
+ - **Why it matters**: You've been versioning but there's no changelog. This is trivial to write and signals professionalism.
184
+ - **Action**: Create `CHANGELOG.md` covering v1.0.0 through v2.0.0 changes.
185
+ - **Priority**: MEDIUM
186
+
187
+ ### 2.6 Screenshot/GIF Assets in README
188
+ - **Status**: NOT DONE
189
+ - **Audit**: README.md contains only 3 SVG badge shields. Zero embedded screenshots, GIFs, or videos. No `/assets`, `/images`, or `/screenshots` directories.
190
+ - **Why it matters**: A picture of a 4D tesseract rotating is worth more than any amount of API documentation for getting people interested.
191
+ - **Action**: Record 30-second demo videos/GIFs of each system. Embed in README. Create `assets/` directory for media.
192
+ - **Priority**: HIGH
193
+
194
+ ### 2.7 Error Messages Audit
195
+ - **Status**: PARTIALLY DONE
196
+ - **Audit results**:
197
+ | Scenario | Handling | Quality |
198
+ |----------|----------|---------|
199
+ | WebGPU unavailable | Falls back to WebGL via UnifiedRenderBridge | GOOD |
200
+ | WASM fails to load | Falls back to JS math modules, 10s timeout | EXCELLENT |
201
+ | AudioContext blocked | Returns `false`, emits error event | PARTIAL — no silent mode |
202
+ | WebGL unavailable | Draws "WebGL Required" text on canvas | GOOD |
203
+ | WebGPU device error | `console.error` only, not wired to telemetry | GAP |
204
+ - **Action**: Wire WebGPU device errors to telemetry. Add silent/fallback mode for audio. Ensure all error states produce user-friendly messages.
205
+ - **Priority**: MEDIUM
206
+
207
+ ### 2.8 Add `npm run dev` Alias
208
+ - **Status**: NOT DONE
209
+ - **Audit**: Only `"dev:web": "vite --open"` exists. No `"dev"` alias.
210
+ - **Why it matters**: Most people type `npm run dev`. The `:web` suffix adds friction.
211
+ - **Action**: Add `"dev": "vite --open"` to scripts.
212
+ - **Priority**: LOW — Trivial fix
213
+
214
+ ---
215
+
216
+ ## 3. Testing, Feedback, and Infrastructure for Beta
217
+
218
+ ### 3.1 Testing Gaps to Close
219
+
220
+ #### Unit Tests for v2.0.0 Modules
221
+ - **Status**: NOT DONE — 15,512 lines of new code with zero test coverage
222
+ - **Audit**: The following v2.0.0 files have NO tests:
223
+ | Module | File | Lines | Tests |
224
+ |--------|------|-------|-------|
225
+ | SpatialInputSystem | `src/reactivity/SpatialInputSystem.js` | 1,783 | NONE |
226
+ | ColorPresetsSystem | `src/creative/ColorPresetsSystem.js` | 980 | NONE |
227
+ | TransitionAnimator | `src/creative/TransitionAnimator.js` | 683 | NONE |
228
+ | PostProcessingPipeline | `src/creative/PostProcessingPipeline.js` | 1,113 | NONE |
229
+ | ParameterTimeline | `src/creative/ParameterTimeline.js` | 1,061 | NONE |
230
+ | Vib3React | `src/integrations/frameworks/Vib3React.js` | 591 | NONE |
231
+ | Vib3Vue | `src/integrations/frameworks/Vib3Vue.js` | 628 | NONE |
232
+ | Vib3Svelte | `src/integrations/frameworks/Vib3Svelte.js` | 654 | NONE |
233
+ | FigmaPlugin | `src/integrations/FigmaPlugin.js` | 854 | NONE |
234
+ | ThreeJsPackage | `src/integrations/ThreeJsPackage.js` | 660 | NONE |
235
+ | TouchDesignerExport | `src/integrations/TouchDesignerExport.js` | 552 | NONE |
236
+ | OBSMode | `src/integrations/OBSMode.js` | 754 | NONE |
237
+ | WebXRRenderer | `src/advanced/WebXRRenderer.js` | 680 | NONE |
238
+ | WebGPUCompute | `src/advanced/WebGPUCompute.js` | 1,051 | NONE |
239
+ | MIDIController | `src/advanced/MIDIController.js` | 703 | NONE |
240
+ | AIPresetGenerator | `src/advanced/AIPresetGenerator.js` | 777 | NONE |
241
+ | OffscreenWorker | `src/advanced/OffscreenWorker.js` | 1,051 | NONE |
242
+ | shader-sync-verify | `tools/shader-sync-verify.js` | 937 | NONE |
243
+ - **Priority**: HIGH
244
+
245
+ #### Math Library Edge Cases
246
+ - **Status**: NOT DONE
247
+ - **Why it matters**: NaN inputs, zero vectors, degenerate rotors. The math is correct but you need proof it's robust. Geometric algebra has subtle normalization issues.
248
+ - **Action**: Add edge-case tests for Vec4, Mat4x4, Rotor4D, Projection with NaN, Infinity, zero, and denormalized inputs.
249
+ - **Priority**: MEDIUM
250
+
251
+ #### Cross-Browser Matrix
252
+ - **Status**: NOT DONE — Chromium only
253
+ - **Audit**: `playwright.config.js` defines a single project: `chromium` with `Desktop Chrome` device. No Firefox, Safari, or mobile browser projects.
254
+ - **Why it matters**: WebGPU support varies significantly across browsers. Safari has different WebGL quirks. You need proof it works everywhere.
255
+ - **Action**: Add Firefox and WebKit projects to Playwright config. Test WebGPU on Chrome, WebGL fallback on Firefox/Safari.
256
+ - **Priority**: HIGH for beta
257
+
258
+ #### Mobile Testing
259
+ - **Status**: NOT DONE
260
+ - **Why it matters**: DeviceOrientation, touch input, gyroscope — these are core features of SpatialInputSystem. You need real device testing or at minimum BrowserStack/Sauce Labs in CI.
261
+ - **Action**: Add mobile browser projects to Playwright. Consider BrowserStack integration for real device testing.
262
+ - **Priority**: MEDIUM
263
+
264
+ #### Performance Benchmarks as Tests
265
+ - **Status**: PARTIALLY DONE — Benchmarks exist, no thresholds
266
+ - **Audit**: `benchmarks.yml` workflow exists. `src/benchmarks/BenchmarkRunner.js` and `MetricsCollector.js` implemented. But benchmarks don't fail CI if frame time exceeds thresholds.
267
+ - **Action**: Add assertion thresholds to benchmark runner. Fail CI on regression.
268
+ - **Priority**: MEDIUM
269
+
270
+ #### Accessibility Audit
271
+ - **Status**: NOT DONE — Zero accessibility support
272
+ - **Audit**: Zero occurrences of `prefers-reduced-motion` in the entire codebase. Zero `aria-` attributes. No keyboard focus management. No screen reader support.
273
+ - **Why it matters**: `prefers-reduced-motion` should disable or slow animations. Keyboard navigation matters for all interactive controls.
274
+ - **Action**: Add `@media (prefers-reduced-motion: reduce)` CSS rules. Add ARIA labels to interactive UI elements. Document keyboard shortcuts in accessible format.
275
+ - **Priority**: MEDIUM
276
+
277
+ #### Memory Leak Testing
278
+ - **Status**: NOT DONE — But cleanup patterns are comprehensive
279
+ - **Audit**: Strong `destroy()`/`dispose()` patterns across all systems. Guard flags prevent double-destruction. WebGL resources explicitly deleted. Workers properly terminated. However, no automated memory leak detection tests exist.
280
+ - **Gap found**: `SpatialInputSystem` has no explicit `destroy()` method. Inconsistent naming between `destroy()` and `dispose()` across modules.
281
+ - **Action**: Add memory leak detection test (run engine for N minutes, switch systems, measure heap). Standardize cleanup method naming. Add `destroy()` to SpatialInputSystem.
282
+ - **Priority**: MEDIUM
283
+
284
+ ### 3.2 Feedback Infrastructure
285
+
286
+ #### GitHub Discussions
287
+ - **Status**: NOT DONE
288
+ - **Audit**: No `.github/discussions.yml` or discussion configuration. Only `.github/workflows/` exists.
289
+ - **Action**: Enable GitHub Discussions for the repo. Create categories: Q&A, Showcases, Feature Requests.
290
+ - **Priority**: LOW-MEDIUM
291
+
292
+ #### Error Telemetry (opt-in)
293
+ - **Status**: PARTIALLY DONE
294
+ - **Audit**: `TelemetryService.js` (464 lines) has OpenTelemetry-compatible event tracing with span tracking, structured events, and multiple exporters (Prometheus, JSON, NDJSON, Console). But no `window.onerror` crash reporter for end-user error collection.
295
+ - **Action**: Add opt-in `window.onerror` / `window.onunhandledrejection` reporter that sends anonymized crash data. Must be off by default.
296
+ - **Priority**: LOW-MEDIUM
297
+
298
+ #### Public Roadmap
299
+ - **Status**: NOT DONE
300
+ - **Action**: Create GitHub Projects board. Let potential users see what's coming and vote.
301
+ - **Priority**: LOW
302
+
303
+ #### Discord Community
304
+ - **Status**: NOT DONE
305
+ - **Why it matters**: Creative coders live in Discord. You need a channel for real-time feedback during beta.
306
+ - **Action**: Create Discord server with channels: #general, #showcase, #bugs, #feature-requests, #dev.
307
+ - **Priority**: LOW-MEDIUM
308
+
309
+ ### 3.3 Infrastructure
310
+
311
+ #### Automated npm Publish from CI
312
+ - **Status**: NOT DONE
313
+ - **Audit**: No publish workflow. No `prepublishOnly` script. No release automation of any kind.
314
+ - **Action**: Create `.github/workflows/publish.yml` triggered by Git tags. Flow: tag → CI builds → tests → publishes to npm. Add `prepublishOnly: "npm test && npm run build:web"`.
315
+ - **Priority**: CRITICAL
316
+
317
+ #### Canary/Nightly Builds
318
+ - **Status**: NOT DONE
319
+ - **Audit**: No scheduled workflows. All workflows triggered by push or manual dispatch.
320
+ - **Action**: Add workflow publishing `@vib3code/sdk@canary` on every main branch commit. Power users test bleeding edge.
321
+ - **Priority**: LOW-MEDIUM
322
+
323
+ #### CDN with Versioning
324
+ - **Status**: NOT DONE — Depends on npm publish
325
+ - **Why it matters**: unpkg and jsDelivr automatically work with npm packages. Once published, CDN URLs work for free.
326
+ - **Action**: After npm publish, verify `https://unpkg.com/@vib3code/sdk` and `https://cdn.jsdelivr.net/npm/@vib3code/sdk` work. Document CDN usage.
327
+ - **Priority**: MEDIUM (after npm publish)
328
+
329
+ #### Hosted Demo with URL State
330
+ - **Status**: NOT DONE
331
+ - **Audit**: Zero occurrences of `URLSearchParams`, `location.search`, or `location.hash` in any `docs/*.html` file. Demo pages don't support shareable state URLs.
332
+ - **Why it matters**: `vib3.app/?geometry=16&hue=180&system=quantum` — shareable URLs that reproduce exact states.
333
+ - **Action**: Add URL state serialization/deserialization to `docs/webgpu-live.html`. Read params on load, update URL on parameter change.
334
+ - **Priority**: HIGH
335
+
336
+ ---
337
+
338
+ ## 4. Distribution, Supplemental Media, and Repo Strategy
339
+
340
+ ### 4.1 Distribution Strategy
341
+
342
+ | Channel | Priority | Status | Notes |
343
+ |---------|----------|--------|-------|
344
+ | **npm** | Critical | NOT DONE | `@vib3code/sdk` — primary distribution channel |
345
+ | **CDN** | High | NOT DONE | unpkg/jsDelivr (automatic after npm publish) |
346
+ | **GitHub Releases** | High | NOT DONE | Pre-built WASM + bundles as release assets |
347
+ | **Figma Community** | Medium | NOT DONE | Plugin listing from `FigmaPlugin.js` |
348
+ | **Chrome Web Store** | Low-Medium | NOT DONE | Standalone visualizer extension |
349
+ | **Flutter pub.dev** | Medium | NOT DONE | If the Flutter integration matures |
350
+
351
+ ### 4.2 Supplemental Media and Assets to Plan
352
+
353
+ #### 30-Second Demo Videos
354
+ - **Status**: NOT DONE
355
+ - One per system (Quantum, Faceted, Holographic). Screen captures of the actual engine running. Post on Twitter/X, embed in README.
356
+
357
+ #### Interactive Tutorial
358
+ - **Status**: NOT DONE
359
+ - A step-by-step guided experience in the browser. "Click here to change the geometry. Now drag to rotate in 4D." This is your onboarding.
360
+
361
+ #### API Reference Site
362
+ - **Status**: NOT DONE
363
+ - Generated from JSDoc/TSDoc. Host on GitHub Pages or a subdomain. The CLAUDE.md is great for AI context but humans need searchable docs.
364
+
365
+ #### Blog Post Series
366
+ - **Status**: NOT DONE
367
+ - "How 4D rotation actually works", "Building a WebGPU visualization engine", "Geometric algebra for graphics programmers". Content marketing that also attracts contributors.
368
+
369
+ #### Trading Card Showcase
370
+ - **Status**: PARTIALLY DONE — Generator exists, no public gallery
371
+ - You have `TradingCardGenerator.js` (3,054 lines) and 13 card HTML pages in `docs/`. Make a public gallery of generated cards. This is inherently shareable content.
372
+
373
+ ### 4.3 Repo Strategy
374
+
375
+ Recommended multi-repo structure:
376
+
377
+ ```
378
+ Domusgpt/vib3-core ← Engine SDK (this repo)
379
+ Domusgpt/vib3-docs ← Documentation site (Docusaurus/Starlight)
380
+ Domusgpt/vib3-examples ← Example projects (one per framework)
381
+ Domusgpt/vib3-site ← Marketing site / landing page
382
+ Domusgpt/vib3-figma-plugin ← Figma plugin (separate publish cycle)
383
+ Domusgpt/vib3-media ← Screenshots, videos, press kit, brand assets
384
+ ```
385
+
386
+ **Why separate repos**:
387
+ - **vib3-docs**: Docs have a different deploy cycle than code. Fix a typo without triggering CI tests. Use Docusaurus or Starlight — they have versioned docs built in.
388
+ - **vib3-examples**: Each example should be independently clonable. A React developer shouldn't need to clone the whole engine to see the React example.
389
+ - **vib3-site**: Marketing copy, landing page, SEO. Different team/skills than engine development.
390
+ - **vib3-media**: Brand guidelines, logos, screenshots, video assets, press kit. Creative assets don't belong in a code repo.
391
+
392
+ **Keep in core repo**:
393
+ - Tests — tests and code must always be in sync
394
+ - CI/CD — workflows need access to source
395
+ - CLAUDE.md and technical docs — they're engineering context, not user docs
396
+
397
+ ---
398
+
399
+ ## 5. Additional Issues Found in Audit (Not in Previous Plan)
400
+
401
+ These items were discovered during the full codebase audit and are NOT covered in the screenshots above.
402
+
403
+ ### 5.1 Broken TypeScript Entry Point
404
+ - **Severity**: CRITICAL
405
+ - **Finding**: `package.json` line 7 declares `"types": "./types/adaptive-sdk.d.ts"` but this file does not exist. Any TypeScript consumer gets zero type information.
406
+ - **Action**: Create the file immediately or update the path.
407
+
408
+ ### 5.2 Storybook Configuration Missing
409
+ - **Severity**: LOW
410
+ - **Finding**: `storybook` and `build:storybook` scripts exist. `@storybook/html-vite` is in devDependencies. But `.storybook/` directory does not exist. Scripts will crash.
411
+ - **Action**: Either create `.storybook/` config or remove the broken scripts/deps.
412
+
413
+ ### 5.3 SpatialInputSystem Missing Cleanup
414
+ - **Severity**: MEDIUM
415
+ - **Finding**: `SpatialInputSystem.js` (1,783 lines) has no `destroy()` or `dispose()` method. Event listeners are registered but never explicitly cleaned up.
416
+ - **Action**: Add `destroy()` method that removes all event listeners and clears state.
417
+
418
+ ### 5.4 Inconsistent Cleanup Method Naming
419
+ - **Severity**: LOW
420
+ - **Finding**: Some systems use `destroy()`, others use `dispose()`. HolographicVisualizer uses `destroy()`, FacetedSystem uses `dispose()`, MIDIController uses `destroy()`.
421
+ - **Action**: Standardize on one name (prefer `dispose()` to match the `Disposable.js` base class in `src/scene/`).
422
+
423
+ ### 5.5 WebGPU Device Errors Not Wired to Telemetry
424
+ - **Severity**: LOW
425
+ - **Finding**: `WebGPUBackend.js` has `device.onuncapturederror = (event) => { console.error(...) }` but doesn't record to TelemetryService.
426
+ - **Action**: Wire WebGPU errors to telemetry event stream.
427
+
428
+ ### 5.6 Archive Directory Bloat
429
+ - **Severity**: LOW
430
+ - **Finding**: `archive/` contains 15 directories of legacy code. This inflates repo size and clone time.
431
+ - **Action**: Consider moving to a separate branch or deleting entirely. Keep a release tag for historical reference.
432
+
433
+ ### 5.7 Missing GitHub Community Files
434
+ - **Severity**: LOW
435
+ - **Finding**: No `CODEOWNERS`, `SECURITY.md`, `FUNDING.yml`, `CONTRIBUTING.md`, `CODE_OF_CONDUCT.md`, issue templates, or PR templates.
436
+ - **Action**: Add standard community health files to `.github/`.
437
+
438
+ ### 5.8 Flaky Timing Test
439
+ - **Severity**: LOW
440
+ - **Finding**: `withTiming` test sometimes fails by <1ms (documented in SESSION_014_PLAN).
441
+ - **Action**: Increase tolerance or use `performance.now()` with wider margins.
442
+
443
+ ---
444
+
445
+ ## 6. Complete Priority Roadmap
446
+
447
+ ### Phase E-1: Pre-Launch Blockers (Do First)
448
+
449
+ | # | Item | Status | Effort |
450
+ |---|------|--------|--------|
451
+ | 1 | Add root `LICENSE` file | NOT DONE | Trivial |
452
+ | 2 | Fix/remove 14 broken package.json exports | NOT DONE | Small |
453
+ | 3 | Create `types/adaptive-sdk.d.ts` barrel file | NOT DONE | Small |
454
+ | 4 | Add `npm run dev` alias | NOT DONE | Trivial |
455
+ | 5 | Add `prepublishOnly` script | NOT DONE | Trivial |
456
+ | 6 | Create `.github/workflows/publish.yml` | NOT DONE | Small |
457
+ | 7 | Create `CHANGELOG.md` | NOT DONE | Small |
458
+
459
+ ### Phase E-2: Launch (npm Publish + Landing Page)
460
+
461
+ | # | Item | Status | Effort |
462
+ |---|------|--------|--------|
463
+ | 8 | npm publish `@vib3code/sdk` v2.0.0 | NOT DONE | Small (after E-1) |
464
+ | 9 | Replace `index.html` with proper landing page | NOT DONE | Medium |
465
+ | 10 | Add URL state to demo page | NOT DONE | Medium |
466
+ | 11 | Record 3 demo videos/GIFs | NOT DONE | Medium |
467
+ | 12 | Embed media in README.md | NOT DONE | Small |
468
+
469
+ ### Phase E-3: Adoption Friction (Onboarding)
470
+
471
+ | # | Item | Status | Effort |
472
+ |---|------|--------|--------|
473
+ | 13 | CLI `init` scaffolding command | NOT DONE | Medium |
474
+ | 14 | Framework example apps (React, Vue, Svelte, Three.js) | NOT DONE | Large |
475
+ | 15 | TypeScript types for all v2.0.0 modules | PARTIAL | Large |
476
+ | 16 | Storybook configuration + stories | NOT DONE | Medium |
477
+ | 17 | CDN/UMD build configuration | NOT DONE | Small |
478
+
479
+ ### Phase E-4: Quality & Confidence (Testing)
480
+
481
+ | # | Item | Status | Effort |
482
+ |---|------|--------|--------|
483
+ | 18 | Unit tests for 18 v2.0.0 modules | NOT DONE | Large |
484
+ | 19 | Math edge-case tests (NaN, zero, degenerate) | NOT DONE | Medium |
485
+ | 20 | Cross-browser Playwright (Firefox, Safari) | NOT DONE | Medium |
486
+ | 21 | Mobile testing setup | NOT DONE | Medium |
487
+ | 22 | Memory leak detection tests | NOT DONE | Medium |
488
+ | 23 | Performance benchmark thresholds | PARTIAL | Small |
489
+ | 24 | Accessibility (prefers-reduced-motion, ARIA) | NOT DONE | Medium |
490
+ | 25 | Fix SpatialInputSystem missing destroy() | NOT DONE | Small |
491
+ | 26 | Fix flaky timing test | NOT DONE | Trivial |
492
+
493
+ ### Phase E-5: Scale & Distribution
494
+
495
+ | # | Item | Status | Effort |
496
+ |---|------|--------|--------|
497
+ | 27 | WebGPU as primary render path | NOT DONE | Medium |
498
+ | 28 | WASM build in CI | PARTIAL | Medium |
499
+ | 29 | Canary/nightly builds | NOT DONE | Small |
500
+ | 30 | Figma Community plugin publish | NOT DONE | Medium |
501
+ | 31 | OBS visual setup guide | NOT DONE | Small |
502
+ | 32 | GitHub Releases with WASM + bundles | NOT DONE | Small |
503
+
504
+ ### Phase E-6: Ecosystem & Community
505
+
506
+ | # | Item | Status | Effort |
507
+ |---|------|--------|--------|
508
+ | 33 | Preset gallery web app with permalinks | NOT DONE | Large |
509
+ | 34 | Interactive tutorial | NOT DONE | Large |
510
+ | 35 | API reference site (JSDoc → Docusaurus) | NOT DONE | Large |
511
+ | 36 | GitHub Discussions | NOT DONE | Trivial |
512
+ | 37 | GitHub community health files | NOT DONE | Small |
513
+ | 38 | Discord community | NOT DONE | Trivial |
514
+ | 39 | Public roadmap (GitHub Projects) | NOT DONE | Trivial |
515
+ | 40 | Error telemetry (opt-in) | PARTIAL | Medium |
516
+ | 41 | Blog post series | NOT DONE | Large (content) |
517
+ | 42 | Trading card public gallery | PARTIAL | Medium |
518
+ | 43 | Archive cleanup | NOT DONE | Small |
519
+
520
+ ---
521
+
522
+ ## 7. Summary: What to Do Next (Priority Order)
523
+
524
+ 1. **License file** — Unblocks everything
525
+ 2. **Fix broken exports** — Trust killer if shipped broken
526
+ 3. **npm publish pipeline** — Makes the product real
527
+ 4. **Landing page with live demo** — First impression
528
+ 5. **CLI scaffolding (`npx @vib3code/sdk init`)** — Adoption friction
529
+ 6. **3 demo videos** — Marketing fuel
530
+ 7. **Cross-browser test matrix** — Confidence for beta
531
+ 8. **vib3-examples repo** — One per integration
532
+ 9. **CHANGELOG.md** — Signals professionalism
533
+ 10. **Discord community** — Feedback channel
534
+
535
+ ---
536
+
537
+ ## 8. File Reference
538
+
539
+ ### Key Files to Modify
540
+ | File | Action Needed |
541
+ |------|---------------|
542
+ | `package.json` | Remove broken exports, add `dev` alias, add `prepublishOnly` |
543
+ | `index.html` | Replace redirect with landing page |
544
+ | `LICENSE` | Create (new file) |
545
+ | `CHANGELOG.md` | Create (new file) |
546
+ | `types/adaptive-sdk.d.ts` | Create (new file) |
547
+ | `playwright.config.js` | Add Firefox + WebKit projects |
548
+ | `vite.config.js` | Add UMD/IIFE build target |
549
+ | `.storybook/main.js` | Create (new file) |
550
+ | `.github/workflows/publish.yml` | Create (new file) |
551
+ | `src/cli/index.js` | Add `init` command |
552
+ | `src/reactivity/SpatialInputSystem.js` | Add `destroy()` method |
553
+ | `README.md` | Add screenshots/GIFs, improve quick-start |
554
+ | `docs/webgpu-live.html` | Add URL state support |
555
+
556
+ ### New Directories Needed
557
+ | Directory | Purpose |
558
+ |-----------|---------|
559
+ | `examples/react/` | React integration example |
560
+ | `examples/vue/` | Vue integration example |
561
+ | `examples/svelte/` | Svelte integration example |
562
+ | `examples/threejs/` | Three.js integration example |
563
+ | `assets/` | Screenshots, GIFs, demo videos |
564
+ | `.storybook/` | Storybook configuration |
565
+ | `.github/ISSUE_TEMPLATE/` | Issue templates |
566
+
567
+ ---
568
+
569
+ *Generated: January 31, 2026 — Full codebase audit + Phase 5 plan consolidation*
570
+ *VIB3+ CORE — Clear Seas Solutions LLC*
@@ -0,0 +1,98 @@
1
+ # VIB3+ OBS Setup Guide
2
+
3
+ Use VIB3+ as a live visualization overlay in OBS Studio.
4
+
5
+ ---
6
+
7
+ ## What You Get
8
+
9
+ VIB3+ OBS Mode renders visualizations with a transparent background, perfect for:
10
+ - Stream overlays
11
+ - VJ performances
12
+ - Live music visualization backgrounds
13
+ - Webcam overlay effects
14
+
15
+ ---
16
+
17
+ ## Setup Steps
18
+
19
+ ### Step 1: Start VIB3+ in OBS Mode
20
+
21
+ ```javascript
22
+ import { OBSMode } from '@vib3code/sdk/integrations/obs';
23
+
24
+ const obs = new OBSMode({
25
+ system: 'quantum', // or 'faceted' or 'holographic'
26
+ geometry: 10,
27
+ transparent: true, // transparent background
28
+ fps: 30, // match your stream FPS
29
+ resolution: [1920, 1080]
30
+ });
31
+
32
+ obs.start();
33
+ ```
34
+
35
+ Or use the hosted version: open `docs/webgpu-live.html` in a browser.
36
+
37
+ ### Step 2: Add Browser Source in OBS
38
+
39
+ 1. Open OBS Studio
40
+ 2. In your Scene, click **+** under Sources
41
+ 3. Select **Browser**
42
+ 4. Name it "VIB3+ Overlay"
43
+ 5. Set the URL to your VIB3+ page (local: `http://localhost:5173/docs/webgpu-live.html`)
44
+ 6. Set **Width** to 1920, **Height** to 1080
45
+ 7. Check **"Shutdown source when not visible"** to save GPU
46
+ 8. Click OK
47
+
48
+ ### Step 3: Enable Transparency
49
+
50
+ 1. Right-click the VIB3+ source in OBS
51
+ 2. Select **Properties**
52
+ 3. Scroll down and find **Custom CSS**
53
+ 4. Add:
54
+ ```css
55
+ body { background-color: rgba(0, 0, 0, 0) !important; }
56
+ ```
57
+ 5. Click OK
58
+
59
+ ### Step 4: Position the Overlay
60
+
61
+ 1. Drag the VIB3+ source to resize/position it
62
+ 2. Right-click → **Transform** → **Fit to Screen** for fullscreen
63
+ 3. Move it below your webcam source for a background effect
64
+ 4. Move it above your webcam for an overlay effect
65
+
66
+ ### Step 5: Control Parameters
67
+
68
+ From the browser source's page, use keyboard shortcuts:
69
+ - **1/2/3** — Switch systems (Faceted/Quantum/Holographic)
70
+ - **A** — Toggle audio reactivity
71
+ - **F** — Toggle fullscreen
72
+ - **Alt+1/2/3** — Switch core type (Base/Hypersphere/Hypertetra)
73
+
74
+ Or control programmatically via the MCP server or URL parameters:
75
+ ```
76
+ http://localhost:5173/docs/webgpu-live.html?system=quantum&geometry=10&hue=180
77
+ ```
78
+
79
+ ---
80
+
81
+ ## Tips
82
+
83
+ - **Performance**: Use 30 FPS for the browser source to reduce GPU load
84
+ - **Audio reactivity**: Enable OBS audio monitoring so VIB3+ can access the audio stream
85
+ - **Multiple sources**: Add separate VIB3+ sources with different systems for layered effects
86
+ - **Chroma key**: If transparency CSS doesn't work, use a solid color background and OBS Chroma Key filter
87
+
88
+ ---
89
+
90
+ ## Troubleshooting
91
+
92
+ | Issue | Fix |
93
+ |-------|-----|
94
+ | Black screen | Check that the URL is correct and the dev server is running |
95
+ | No transparency | Add the Custom CSS shown in Step 3 |
96
+ | Laggy | Reduce resolution to 1280x720 or lower FPS to 24 |
97
+ | No audio reactivity | Enable "Control Audio via OBS" in browser source Advanced settings |
98
+ | WebGL error | Some OBS versions have limited WebGL support; update OBS to latest |