@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,141 @@
1
+ import crypto from 'node:crypto';
2
+
3
+ /**
4
+ * Utility to produce deterministic hashes for manifest payloads and assets.
5
+ * Accepts strings, Buffers, or objects (stringified with stable JSON ordering).
6
+ */
7
+ function stableStringify(value) {
8
+ if (value === undefined) {
9
+ return 'null';
10
+ }
11
+
12
+ if (value === null || typeof value !== 'object') {
13
+ return JSON.stringify(value);
14
+ }
15
+
16
+ if (Array.isArray(value)) {
17
+ return `[${value.map((item) => stableStringify(item)).join(',')}]`;
18
+ }
19
+
20
+ const keys = Object.keys(value).sort();
21
+ const entries = keys.map((key) => `${JSON.stringify(key)}:${stableStringify(value[key])}`);
22
+ return `{${entries.join(',')}}`;
23
+ }
24
+
25
+ export function computeAssetHash(payload) {
26
+ if (payload === undefined || payload === null) {
27
+ return crypto.createHash('sha256').update('null').digest('hex');
28
+ }
29
+
30
+ if (Buffer.isBuffer(payload)) {
31
+ return crypto.createHash('sha256').update(payload).digest('hex');
32
+ }
33
+
34
+ if (typeof payload === 'string') {
35
+ return crypto.createHash('sha256').update(payload).digest('hex');
36
+ }
37
+
38
+ const stable = stableStringify(payload);
39
+ return crypto.createHash('sha256').update(stable).digest('hex');
40
+ }
41
+
42
+ function normalizePalette(palette = []) {
43
+ return palette.map((entry) => ({
44
+ name: entry.name || 'unnamed',
45
+ swatches: entry.swatches || [],
46
+ }));
47
+ }
48
+
49
+ function normalizeTypography(tokens = {}) {
50
+ return {
51
+ families: tokens.families || ['Inter', 'Space Grotesk'],
52
+ scales: tokens.scales || {
53
+ display: '72px/1.05',
54
+ heading: '32px/1.2',
55
+ body: '16px/1.6',
56
+ caption: '13px/1.4',
57
+ },
58
+ };
59
+ }
60
+
61
+ function normalizeBreakpoints(breakpoints = {}) {
62
+ return {
63
+ xs: breakpoints.xs || '360px',
64
+ sm: breakpoints.sm || '640px',
65
+ md: breakpoints.md || '960px',
66
+ lg: breakpoints.lg || '1280px',
67
+ xl: breakpoints.xl || '1600px',
68
+ };
69
+ }
70
+
71
+ /**
72
+ * Build a manifest with enriched metadata for downstream telemetry.
73
+ */
74
+ export function buildTelemetryManifest({
75
+ baseManifest = {},
76
+ license = 'SEE LICENSE IN DOCS/LICENSE_ATTESTATION_PROFILE_CATALOG.md',
77
+ themeTags = [],
78
+ colorPalettes = [],
79
+ typography = {},
80
+ breakpoints = {},
81
+ previews = [],
82
+ assets = [],
83
+ }) {
84
+ const normalizedPalettes = normalizePalette(colorPalettes);
85
+ const normalizedTypography = normalizeTypography(typography);
86
+ const normalizedBreakpoints = normalizeBreakpoints(breakpoints);
87
+
88
+ const manifest = {
89
+ ...baseManifest,
90
+ license,
91
+ themeTags: Array.from(new Set(themeTags)),
92
+ colorPalettes: normalizedPalettes,
93
+ typography: normalizedTypography,
94
+ responsiveBreakpoints: normalizedBreakpoints,
95
+ previews: previews.map((preview) => ({
96
+ ...preview,
97
+ hash: preview.hash || computeAssetHash(preview.src || preview.dataUrl || preview.id),
98
+ })),
99
+ assets: assets.map((asset) => ({
100
+ ...asset,
101
+ hash: asset.hash || computeAssetHash(asset.contents || asset.url || asset.path),
102
+ })),
103
+ };
104
+
105
+ return {
106
+ manifest,
107
+ hash: computeAssetHash(manifest),
108
+ };
109
+ }
110
+
111
+ /**
112
+ * Format export output for CLI usage with deterministic hashes for diffing.
113
+ */
114
+ export function formatExportSummary(manifestResult) {
115
+ const lines = [
116
+ `manifest hash: ${manifestResult.hash}`,
117
+ `assets: ${manifestResult.manifest.assets.length}`,
118
+ `previews: ${manifestResult.manifest.previews.length}`,
119
+ ];
120
+
121
+ manifestResult.manifest.assets.forEach((asset) => {
122
+ lines.push(` • ${asset.name || asset.path || 'asset'} => ${asset.hash}`);
123
+ });
124
+
125
+ manifestResult.manifest.previews.forEach((preview) => {
126
+ lines.push(` • preview:${preview.id || preview.name} => ${preview.hash}`);
127
+ });
128
+
129
+ return lines.join('\n');
130
+ }
131
+
132
+ /**
133
+ * High-level helper used by export pipelines.
134
+ */
135
+ export function exportTelemetryManifest(config) {
136
+ const manifestResult = buildTelemetryManifest(config);
137
+ return {
138
+ ...manifestResult,
139
+ summary: formatExportSummary(manifestResult),
140
+ };
141
+ }
@@ -0,0 +1,35 @@
1
+ import crypto from 'node:crypto';
2
+
3
+ function generateSpanId() {
4
+ return crypto.randomBytes(8).toString('hex');
5
+ }
6
+
7
+ export function createTelemetrySpan(name, attributes = {}) {
8
+ return {
9
+ id: generateSpanId(),
10
+ name,
11
+ startTime: new Date().toISOString(),
12
+ attributes,
13
+ };
14
+ }
15
+
16
+ export function endTelemetrySpan(span, status = 'ok') {
17
+ return {
18
+ ...span,
19
+ endTime: new Date().toISOString(),
20
+ status,
21
+ };
22
+ }
23
+
24
+ export function buildTelemetryError({ code, message, suggestion, validOptions = [], meta = {} }) {
25
+ return {
26
+ error: {
27
+ type: 'ValidationError',
28
+ code,
29
+ message,
30
+ suggestion,
31
+ validOptions,
32
+ meta,
33
+ },
34
+ };
35
+ }
@@ -0,0 +1,185 @@
1
+ /**
2
+ * @vib3code/sdk — Adaptive SDK TypeScript Definitions
3
+ * VIB3+ 4D Visualization Engine v2.0.0
4
+ *
5
+ * Barrel re-export for all typed modules.
6
+ *
7
+ * Typed modules:
8
+ * - core/VIB3Engine (engine, systems, parameters, state)
9
+ * - core/ErrorReporter (opt-in error capture)
10
+ * - reactivity (ReactivityManager, ReactivityConfig, all input types)
11
+ * - reactivity/SpatialInputSystem (universal spatial input)
12
+ * - render (WebGL/WebGPU backends, ShaderProgram, RenderState, CommandBuffer)
13
+ * - creative (ColorPresets, TransitionAnimator, PostProcessing, Timeline)
14
+ * - integrations (React, Vue, Svelte, Figma, Three.js, TouchDesigner, OBS)
15
+ * - advanced (WebXR, WebGPU Compute, MIDI, AI Presets, OffscreenWorker)
16
+ */
17
+
18
+ // Core engine
19
+ export {
20
+ VIB3Engine,
21
+ VIB3EngineOptions,
22
+ VIB3EngineState,
23
+ SystemName,
24
+ BackendType,
25
+ GeometryNames
26
+ } from './core/VIB3Engine';
27
+
28
+ // Core - Error Reporter
29
+ export {
30
+ ErrorReporter,
31
+ ErrorReporterOptions,
32
+ ErrorReport
33
+ } from './core/ErrorReporter';
34
+
35
+ // Reactivity system
36
+ export {
37
+ ReactivityManager,
38
+ ReactivityConfig,
39
+ ReactivityConfigData,
40
+ ReactivityEvent,
41
+ ValidationResult,
42
+ AudioConfig,
43
+ AudioBandConfig,
44
+ AudioTarget,
45
+ AudioBand,
46
+ TiltConfig,
47
+ TiltAxisMapping,
48
+ InteractionConfig,
49
+ MouseInteractionConfig,
50
+ ClickInteractionConfig,
51
+ ScrollInteractionConfig,
52
+ TouchInteractionConfig,
53
+ MouseMode,
54
+ ClickMode,
55
+ ScrollMode,
56
+ BlendMode,
57
+ TargetableParameter,
58
+ ParameterUpdateFn,
59
+ InputState,
60
+ AudioInputState,
61
+ TiltInputState,
62
+ MouseInputState,
63
+ ClickInputState,
64
+ ScrollInputState,
65
+ TouchInputState,
66
+ TARGETABLE_PARAMETERS,
67
+ AUDIO_BANDS,
68
+ BLEND_MODES,
69
+ INTERACTION_MODES,
70
+ DEFAULT_REACTIVITY_CONFIG
71
+ } from './reactivity/index';
72
+
73
+ // Spatial Input System
74
+ export {
75
+ SpatialInputSystem,
76
+ createSpatialInputSystem,
77
+ SpatialInputOptions,
78
+ SpatialState,
79
+ SpatialAxis,
80
+ SourceType,
81
+ SourceInfo,
82
+ MappingEntry,
83
+ ProfileDef,
84
+ BuiltinProfile,
85
+ SpatialEvent,
86
+ SOURCE_TYPES,
87
+ SPATIAL_AXES
88
+ } from './reactivity/SpatialInputSystem';
89
+
90
+ // Render system
91
+ export {
92
+ RenderContext,
93
+ RenderContextOptions,
94
+ AsyncRenderContextOptions,
95
+ createRenderContext,
96
+ createRenderContextAsync,
97
+ RenderPresets,
98
+ Shader4D,
99
+ Shader4DOptions
100
+ } from './render/index';
101
+
102
+ // Creative tooling
103
+ export {
104
+ ColorPresetsSystem,
105
+ ColorPresetConfig,
106
+ PresetInfo,
107
+ PresetsByCategory,
108
+ BuiltinPresetName,
109
+ TransitionAnimator,
110
+ EasingName,
111
+ SequenceStep,
112
+ PostProcessingPipeline,
113
+ BuiltinEffectName,
114
+ PresetChainName,
115
+ EffectParamDef,
116
+ EffectDetail,
117
+ PresetChainInfo,
118
+ PipelineState,
119
+ ParameterTimeline,
120
+ LoopMode,
121
+ Keyframe,
122
+ TimelineState
123
+ } from './creative/index';
124
+
125
+ // Platform integrations
126
+ export {
127
+ Vib3ReactWrapper,
128
+ Vib3CanvasProps,
129
+ UseVib3Return,
130
+ GeneratedPackage,
131
+ Vib3VueWrapper,
132
+ Vib3VueProps,
133
+ UseVib3ComposableReturn,
134
+ Vib3SvelteWrapper,
135
+ Vib3SvelteProps,
136
+ Vib3Store,
137
+ Vib3StoreValue,
138
+ Vib3FigmaPlugin,
139
+ FigmaManifest,
140
+ FigmaManifestOptions,
141
+ FigmaCodeOptions,
142
+ Vib3ThreeJsPackage,
143
+ ShaderMaterialConfig,
144
+ ShaderMaterialOptions,
145
+ UniformValue,
146
+ Vib3TouchDesignerExport,
147
+ GLSLTOPOptions,
148
+ TDUniformMapping,
149
+ Vib3OBSMode,
150
+ CaptureMode,
151
+ OBSModeOptions,
152
+ OBSBrowserSourceConfig,
153
+ OBSRecommendedSettings
154
+ } from './integrations/index';
155
+
156
+ // Advanced features
157
+ export {
158
+ WebXRRenderer,
159
+ XRMode,
160
+ XRSupportResult,
161
+ SixDOFPose,
162
+ TrackingMapping,
163
+ XRFrameCallback,
164
+ WebXREvent,
165
+ WebGPUCompute,
166
+ ParticleParams,
167
+ MIDIController,
168
+ CCMapping,
169
+ CCMappingOptions,
170
+ NoteMapping,
171
+ MIDIInputInfo,
172
+ MIDIMappingState,
173
+ LearnCallback,
174
+ AIPresetGenerator,
175
+ VIB3Preset,
176
+ ParamRange,
177
+ ThemeName,
178
+ OffscreenCanvasManager,
179
+ WorkerMessage,
180
+ WorkerMessageType,
181
+ WorkerInitMessage,
182
+ WorkerParamsMessage,
183
+ WorkerSwitchMessage,
184
+ WorkerResizeMessage
185
+ } from './advanced/index';
@@ -0,0 +1,81 @@
1
+ /**
2
+ * AIPresetGenerator TypeScript Definitions
3
+ * VIB3+ SDK - Text-to-Preset via LLM + Mutation/Crossbreeding
4
+ */
5
+
6
+ /** VIB3 preset object */
7
+ export interface VIB3Preset {
8
+ name?: string;
9
+ system?: string;
10
+ geometry?: number;
11
+ hue?: number;
12
+ saturation?: number;
13
+ intensity?: number;
14
+ speed?: number;
15
+ gridDensity?: number;
16
+ morphFactor?: number;
17
+ chaos?: number;
18
+ dimension?: number;
19
+ rot4dXY?: number;
20
+ rot4dXZ?: number;
21
+ rot4dYZ?: number;
22
+ rot4dXW?: number;
23
+ rot4dYW?: number;
24
+ rot4dZW?: number;
25
+ [key: string]: any;
26
+ }
27
+
28
+ /** Parameter range constraint */
29
+ export interface ParamRange {
30
+ min: number;
31
+ max: number;
32
+ step?: number;
33
+ }
34
+
35
+ /** Theme names available for random generation */
36
+ export type ThemeName = string;
37
+
38
+ /**
39
+ * AI-powered preset generator.
40
+ * Generates presets from text descriptions, mutates existing presets,
41
+ * and crossbreeds two presets to produce offspring.
42
+ */
43
+ export declare class AIPresetGenerator {
44
+ /** Parameter range constraints */
45
+ static readonly PARAM_RANGES: Record<string, ParamRange>;
46
+
47
+ /** Style vocabulary for text-to-preset mapping */
48
+ static readonly STYLE_VOCABULARY: Record<string, Record<string, number>>;
49
+
50
+ /** Named theme presets */
51
+ static readonly THEMES: Record<string, VIB3Preset>;
52
+
53
+ constructor(engine?: any);
54
+
55
+ /** Generate a preset from a text description */
56
+ generateFromText(description: string): Promise<VIB3Preset>;
57
+
58
+ /** Generate a random preset, optionally within a theme */
59
+ generateRandom(theme?: ThemeName): VIB3Preset;
60
+
61
+ /** Mutate a preset by a given intensity (0-1) */
62
+ mutate(preset: VIB3Preset, intensity?: number): VIB3Preset;
63
+
64
+ /** Crossbreed two presets with an optional bias (0=all A, 1=all B) */
65
+ crossbreed(preset1: VIB3Preset, preset2: VIB3Preset, bias?: number): VIB3Preset;
66
+
67
+ /** Set the MCP endpoint for LLM-powered generation */
68
+ setMCPEndpoint(endpoint: string): void;
69
+
70
+ /** Get generation history */
71
+ getHistory(): VIB3Preset[];
72
+
73
+ /** Clear generation history */
74
+ clearHistory(): void;
75
+
76
+ /** Export a preset as a serializable object */
77
+ exportPreset(preset: VIB3Preset): Record<string, any>;
78
+
79
+ /** Import a preset from serialized data */
80
+ importPreset(data: Record<string, any>): VIB3Preset | null;
81
+ }
@@ -0,0 +1,100 @@
1
+ /**
2
+ * MIDIController TypeScript Definitions
3
+ * VIB3+ SDK - Web MIDI API with Learn Mode
4
+ */
5
+
6
+ import { ParameterUpdateFn } from '../reactivity/index';
7
+
8
+ /** CC mapping options */
9
+ export interface CCMappingOptions {
10
+ min?: number;
11
+ max?: number;
12
+ curve?: 'linear' | 'exponential' | 'logarithmic';
13
+ invert?: boolean;
14
+ }
15
+
16
+ /** CC mapping entry */
17
+ export interface CCMapping {
18
+ channel: number;
19
+ cc: number;
20
+ param: string;
21
+ min: number;
22
+ max: number;
23
+ curve: string;
24
+ invert: boolean;
25
+ }
26
+
27
+ /** Note mapping entry */
28
+ export interface NoteMapping {
29
+ channel: number;
30
+ note: number;
31
+ action: string;
32
+ trigger: 'noteOn' | 'noteOff' | 'toggle';
33
+ }
34
+
35
+ /** MIDI input device info */
36
+ export interface MIDIInputInfo {
37
+ id: string;
38
+ name: string;
39
+ }
40
+
41
+ /** Serialized mapping state */
42
+ export interface MIDIMappingState {
43
+ cc: Record<string, CCMapping>;
44
+ notes: Record<string, NoteMapping>;
45
+ }
46
+
47
+ /** Learn callback */
48
+ export type LearnCallback = (channel: number, cc: number) => void;
49
+
50
+ /**
51
+ * Web MIDI controller with CC/note mapping and learn mode.
52
+ * Maps MIDI control changes to VIB3+ parameters in real-time.
53
+ */
54
+ export declare class MIDIController {
55
+ readonly learning: boolean;
56
+
57
+ constructor(parameterUpdateFn: ParameterUpdateFn);
58
+
59
+ /** Initialize Web MIDI API access */
60
+ initialize(): Promise<any>;
61
+
62
+ /** Load the default CC mapping */
63
+ loadDefaultMapping(): void;
64
+
65
+ /** Map a MIDI CC to a parameter */
66
+ mapCC(channel: number, cc: number, param: string, options?: CCMappingOptions): void;
67
+
68
+ /** Unmap a MIDI CC */
69
+ unmapCC(channel: number, cc: number): boolean;
70
+
71
+ /** Map a MIDI note to an action */
72
+ mapNote(channel: number, note: number, action: string, trigger?: 'noteOn' | 'noteOff' | 'toggle'): void;
73
+
74
+ /** Unmap a MIDI note */
75
+ unmapNote(channel: number, note: number): boolean;
76
+
77
+ /** Start learn mode: next CC received will be mapped to param */
78
+ startLearn(param: string, callback: LearnCallback): void;
79
+
80
+ /** Stop learn mode */
81
+ stopLearn(): void;
82
+
83
+ /** Process a MIDI message (called internally) */
84
+ onMIDIMessage(event: any): void;
85
+
86
+ /** List connected MIDI inputs */
87
+ listInputs(): MIDIInputInfo[];
88
+
89
+ /** Get a specific CC mapping */
90
+ getMapping(channel: number, cc: number): CCMapping | null;
91
+
92
+ /** Export all mappings */
93
+ exportMappings(): MIDIMappingState;
94
+
95
+ /** Import mappings from serialized data */
96
+ importMappings(data: MIDIMappingState): boolean;
97
+
98
+ /** Destroy and disconnect */
99
+ destroy(): void;
100
+ }
@@ -0,0 +1,82 @@
1
+ /**
2
+ * OffscreenWorker TypeScript Definitions
3
+ * VIB3+ SDK - OffscreenCanvas Worker Rendering
4
+ */
5
+
6
+ import { SystemName } from '../core/VIB3Engine';
7
+
8
+ /** Worker message types (sent to worker) */
9
+ export type WorkerMessageType = 'init' | 'params' | 'switchSystem' | 'resize';
10
+
11
+ /** Init message data */
12
+ export interface WorkerInitMessage {
13
+ type: 'init';
14
+ canvas: OffscreenCanvas;
15
+ system: SystemName;
16
+ width: number;
17
+ height: number;
18
+ params: Record<string, number>;
19
+ pixelRatio: number;
20
+ sharedBuffer?: SharedArrayBuffer;
21
+ }
22
+
23
+ /** Parameter update message */
24
+ export interface WorkerParamsMessage {
25
+ type: 'params';
26
+ params: Record<string, number>;
27
+ }
28
+
29
+ /** System switch message */
30
+ export interface WorkerSwitchMessage {
31
+ type: 'switchSystem';
32
+ system: SystemName;
33
+ }
34
+
35
+ /** Resize message */
36
+ export interface WorkerResizeMessage {
37
+ type: 'resize';
38
+ width: number;
39
+ height: number;
40
+ }
41
+
42
+ /** Any worker message */
43
+ export type WorkerMessage =
44
+ | WorkerInitMessage
45
+ | WorkerParamsMessage
46
+ | WorkerSwitchMessage
47
+ | WorkerResizeMessage;
48
+
49
+ /**
50
+ * Manages OffscreenCanvas worker rendering for background GPU work.
51
+ * Uses transferControlToOffscreen() and optional SharedArrayBuffer for parameters.
52
+ */
53
+ export declare class OffscreenCanvasManager {
54
+ constructor();
55
+
56
+ /** Create a worker renderer for a canvas element */
57
+ createWorkerRenderer(canvasId: string, system?: SystemName): Promise<Worker>;
58
+
59
+ /** Update all parameters on all workers */
60
+ updateParameters(params: Record<string, number>): void;
61
+
62
+ /** Set a single parameter on all workers */
63
+ setParameter(name: string, value: number): void;
64
+
65
+ /** Switch system on all workers */
66
+ switchSystem(system: SystemName): void;
67
+
68
+ /** Resize a specific worker's canvas */
69
+ resizeCanvas(canvasId: string, width: number, height: number): void;
70
+
71
+ /** Terminate a specific worker */
72
+ terminateWorker(canvasId: string): void;
73
+
74
+ /** Get the worker blob URL (for manual worker creation) */
75
+ getWorkerBlobURL(): string;
76
+
77
+ /** Get the worker script source */
78
+ getWorkerScript(): string;
79
+
80
+ /** Destroy all workers */
81
+ destroy(): void;
82
+ }
@@ -0,0 +1,52 @@
1
+ /**
2
+ * WebGPUCompute TypeScript Definitions
3
+ * VIB3+ SDK - WGSL Particle Simulation & Audio FFT Compute Shaders
4
+ */
5
+
6
+ /** Particle simulation parameters */
7
+ export interface ParticleParams {
8
+ gravity?: number;
9
+ speed?: number;
10
+ turbulence?: number;
11
+ attraction?: number;
12
+ damping?: number;
13
+ [key: string]: number | undefined;
14
+ }
15
+
16
+ /**
17
+ * WebGPU compute shader pipeline for particle simulation and audio FFT.
18
+ * Runs WGSL compute shaders on the GPU for high-performance parallel processing.
19
+ */
20
+ export declare class WebGPUCompute {
21
+ /** WGSL particle simulation shader source */
22
+ static readonly PARTICLE_COMPUTE_WGSL: string;
23
+
24
+ /** WGSL audio FFT shader source */
25
+ static readonly AUDIO_FFT_COMPUTE_WGSL: string;
26
+
27
+ readonly device: any | null;
28
+ readonly particleCount: number;
29
+
30
+ constructor(device?: any);
31
+
32
+ /** Initialize with a GPUDevice */
33
+ initialize(device: any): Promise<void>;
34
+
35
+ /** Create a particle system with N particles */
36
+ createParticleSystem(count?: number): Promise<void>;
37
+
38
+ /** Run one simulation step */
39
+ updateParticles(params: ParticleParams, deltaTime: number): Promise<void>;
40
+
41
+ /** Read back particle positions from GPU */
42
+ readParticleData(): Promise<Float32Array>;
43
+
44
+ /** Run audio FFT compute shader */
45
+ computeAudioFFT(audioBuffer: Float32Array): Float32Array;
46
+
47
+ /** Set geometry attractor for particle system */
48
+ setGeometryAttractor(geometry: number): void;
49
+
50
+ /** Dispose GPU resources */
51
+ dispose(): void;
52
+ }