@vib3code/sdk 2.0.3-canary.91a95f3 → 2.0.3-canary.98b84da

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 (138) hide show
  1. package/DOCS/AGENT_HARNESS_ARCHITECTURE.md +2 -0
  2. package/DOCS/ANDROID_DEPLOYMENT.md +59 -0
  3. package/DOCS/ARCHITECTURE.md +1 -0
  4. package/DOCS/CI_TESTING.md +2 -0
  5. package/DOCS/CLI_ONBOARDING.md +2 -0
  6. package/DOCS/CONTROL_REFERENCE.md +2 -0
  7. package/DOCS/CROSS_SITE_DESIGN_PATTERNS.md +2 -0
  8. package/DOCS/ENV_SETUP.md +2 -0
  9. package/DOCS/EPIC_SCROLL_EVENTS.md +2 -0
  10. package/DOCS/EXPANSION_DESIGN.md +979 -0
  11. package/DOCS/EXPANSION_DESIGN_ULTRA.md +389 -0
  12. package/DOCS/EXPORT_FORMATS.md +2 -0
  13. package/DOCS/GPU_DISPOSAL_GUIDE.md +2 -0
  14. package/DOCS/HANDOFF_LANDING_PAGE.md +2 -0
  15. package/DOCS/HANDOFF_SDK_DEVELOPMENT.md +2 -0
  16. package/DOCS/LICENSING_TIERS.md +2 -0
  17. package/DOCS/MASTER_PLAN_2026-01-31.md +4 -2
  18. package/DOCS/MULTIVIZ_CHOREOGRAPHY_PATTERNS.md +3 -1
  19. package/DOCS/OBS_SETUP_GUIDE.md +2 -0
  20. package/DOCS/OPTIMIZATION_PLAN_MATH.md +119 -0
  21. package/DOCS/PRODUCT_STRATEGY.md +2 -0
  22. package/DOCS/PROJECT_SETUP.md +2 -0
  23. package/DOCS/README.md +5 -3
  24. package/DOCS/REFERENCE_SCROLL_ANALYSIS.md +2 -0
  25. package/DOCS/RENDERER_LIFECYCLE.md +2 -0
  26. package/DOCS/REPO_MANIFEST.md +2 -0
  27. package/DOCS/ROADMAP.md +2 -0
  28. package/DOCS/SCROLL_TIMELINE_v3.md +2 -0
  29. package/DOCS/SITE_REFACTOR_PLAN.md +2 -0
  30. package/DOCS/STATUS.md +2 -0
  31. package/DOCS/SYSTEM_INVENTORY.md +4 -2
  32. package/DOCS/TELEMETRY_EXPORTS.md +2 -0
  33. package/DOCS/VISUAL_ANALYSIS_CLICKERSS.md +2 -0
  34. package/DOCS/VISUAL_ANALYSIS_FACETAD.md +2 -0
  35. package/DOCS/VISUAL_ANALYSIS_SIMONE.md +2 -0
  36. package/DOCS/VISUAL_ANALYSIS_TABLESIDE.md +2 -0
  37. package/DOCS/WEBGPU_STATUS.md +121 -38
  38. package/DOCS/XR_BENCHMARKS.md +2 -0
  39. package/DOCS/archive/BLUEPRINT_EXECUTION_PLAN_2026-01-07.md +1 -34
  40. package/DOCS/archive/DEV_TRACK_ANALYSIS.md +1 -80
  41. package/DOCS/archive/DEV_TRACK_PLAN_2026-01-07.md +1 -42
  42. package/DOCS/archive/SESSION_014_PLAN.md +1 -195
  43. package/DOCS/archive/SESSION_LOG_2026-01-07.md +1 -56
  44. package/DOCS/archive/STRATEGIC_BLUEPRINT_2026-01-07.md +1 -72
  45. package/DOCS/archive/SYSTEM_AUDIT_2026-01-30.md +1 -741
  46. package/DOCS/archive/WEBGPU_STATUS_2026-02-15_STALE.md +1 -0
  47. package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-01-31.md +2 -0
  48. package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-06.md +2 -0
  49. package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-13.md +15 -0
  50. package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-15.md +144 -0
  51. package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-16.md +110 -0
  52. package/DOCS/dev-tracks/PERF_UPGRADE_2026-02-16.md +310 -0
  53. package/DOCS/dev-tracks/README.md +2 -0
  54. package/docs/webgpu-live.html +1 -1
  55. package/package.json +11 -4
  56. package/src/agent/index.js +1 -3
  57. package/src/agent/mcp/MCPServer.js +542 -188
  58. package/src/agent/mcp/index.js +1 -1
  59. package/src/agent/mcp/tools.js +132 -32
  60. package/src/cli/index.js +431 -47
  61. package/src/core/VIB3Engine.js +55 -3
  62. package/src/core/index.js +18 -0
  63. package/src/core/renderers/FacetedRendererAdapter.js +10 -9
  64. package/src/core/renderers/HolographicRendererAdapter.js +11 -7
  65. package/src/core/renderers/QuantumRendererAdapter.js +11 -7
  66. package/src/creative/index.js +11 -0
  67. package/src/experimental/GameLoop.js +72 -0
  68. package/src/experimental/LatticePhysics.js +100 -0
  69. package/src/experimental/LiveDirector.js +143 -0
  70. package/src/experimental/PlayerController4D.js +154 -0
  71. package/src/experimental/VIB3Actor.js +138 -0
  72. package/src/experimental/VIB3Compositor.js +117 -0
  73. package/src/experimental/VIB3Link.js +122 -0
  74. package/src/experimental/VIB3Orchestrator.js +146 -0
  75. package/src/experimental/VIB3Universe.js +109 -0
  76. package/src/experimental/demos/CrystalLabyrinth.js +202 -0
  77. package/src/export/SVGExporter.js +9 -5
  78. package/src/export/index.js +11 -1
  79. package/src/faceted/FacetedSystem.js +27 -10
  80. package/src/games/glyph-war/GlyphWarVisualizer.js +641 -0
  81. package/src/geometry/generators/Crystal.js +2 -2
  82. package/src/geometry/warp/HypersphereCore.js +53 -24
  83. package/src/holograms/HolographicVisualizer.js +58 -89
  84. package/src/holograms/RealHolographicSystem.js +126 -31
  85. package/src/math/Mat4x4.js +372 -140
  86. package/src/math/Projection.js +39 -4
  87. package/src/math/Rotor4D.js +157 -67
  88. package/src/math/Vec4.js +265 -111
  89. package/src/math/index.js +7 -7
  90. package/src/quantum/QuantumVisualizer.js +24 -20
  91. package/src/reactivity/index.js +3 -5
  92. package/src/render/LayerPresetManager.js +372 -0
  93. package/src/render/LayerReactivityBridge.js +344 -0
  94. package/src/render/LayerRelationshipGraph.js +610 -0
  95. package/src/render/MultiCanvasBridge.js +148 -25
  96. package/src/render/ShaderLoader.js +38 -0
  97. package/src/render/ShaderProgram.js +4 -4
  98. package/src/render/UnifiedRenderBridge.js +1 -1
  99. package/src/render/backends/WebGPUBackend.js +8 -4
  100. package/src/render/index.js +27 -2
  101. package/src/scene/Node4D.js +74 -24
  102. package/src/scene/index.js +4 -4
  103. package/src/shaders/common/geometry24.glsl +65 -0
  104. package/src/shaders/common/geometry24.wgsl +54 -0
  105. package/src/shaders/common/rotation4d.glsl +4 -4
  106. package/src/shaders/common/rotation4d.wgsl +2 -2
  107. package/src/shaders/common/uniforms.wgsl +15 -8
  108. package/src/shaders/faceted/faceted.frag.wgsl +19 -6
  109. package/src/shaders/holographic/holographic.frag.wgsl +7 -5
  110. package/src/shaders/quantum/quantum.frag.wgsl +7 -5
  111. package/src/testing/ParallelTestFramework.js +2 -2
  112. package/src/testing/ProjectionClass.test.js +38 -0
  113. package/src/ui/adaptive/renderers/webgpu/WebGPURenderer.ts +2 -2
  114. package/src/viewer/GalleryUI.js +17 -0
  115. package/src/viewer/ViewerPortal.js +2 -2
  116. package/tools/shader-sync-verify.js +6 -4
  117. package/tools/update_projection.py +109 -0
  118. package/types/adaptive-sdk.d.ts +204 -5
  119. package/types/agent/cli.d.ts +78 -0
  120. package/types/agent/index.d.ts +18 -0
  121. package/types/agent/mcp.d.ts +87 -0
  122. package/types/agent/telemetry.d.ts +190 -0
  123. package/types/core/VIB3Engine.d.ts +26 -0
  124. package/types/core/index.d.ts +261 -0
  125. package/types/creative/AestheticMapper.d.ts +72 -0
  126. package/types/creative/ChoreographyPlayer.d.ts +96 -0
  127. package/types/creative/index.d.ts +17 -0
  128. package/types/export/index.d.ts +243 -0
  129. package/types/geometry/index.d.ts +164 -0
  130. package/types/math/index.d.ts +214 -0
  131. package/types/render/LayerPresetManager.d.ts +78 -0
  132. package/types/render/LayerReactivityBridge.d.ts +85 -0
  133. package/types/render/LayerRelationshipGraph.d.ts +174 -0
  134. package/types/render/index.d.ts +3 -0
  135. package/types/scene/index.d.ts +204 -0
  136. package/types/systems/index.d.ts +244 -0
  137. package/types/variations/index.d.ts +62 -0
  138. package/types/viewer/index.d.ts +225 -0
@@ -0,0 +1,261 @@
1
+ /**
2
+ * Core Module TypeScript Definitions
3
+ * CanvasManager, ParameterManager, ParameterMapper, VitalitySystem,
4
+ * RendererContracts, UnifiedResourceManager
5
+ */
6
+
7
+ // ============================================================================
8
+ // CanvasManager
9
+ // ============================================================================
10
+
11
+ /** 5-layer canvas names */
12
+ export type CanvasLayer = 'background' | 'shadow' | 'content' | 'highlight' | 'accent';
13
+
14
+ /**
15
+ * Manages 5-layer canvas architecture per visualization system.
16
+ * Creates, tracks, and destroys canvases with WebGL context cleanup.
17
+ */
18
+ export declare class CanvasManager {
19
+ readonly containerId: string;
20
+ readonly container: HTMLElement | null;
21
+ currentSystem: string | null;
22
+ createdCanvases: HTMLCanvasElement[];
23
+ registeredContexts: Map<string, WebGLRenderingContext>;
24
+
25
+ constructor(containerId?: string);
26
+
27
+ /** Create 5 canvases for a system (tears down previous). Returns canvas IDs. */
28
+ createSystemCanvases(systemName: string): string[];
29
+
30
+ /** Track a WebGL context for cleanup on destroy. */
31
+ registerContext(canvasId: string, gl: WebGLRenderingContext): void;
32
+
33
+ /** Destroy all canvases and force-lose WebGL contexts. */
34
+ destroy(): void;
35
+ }
36
+
37
+ // ============================================================================
38
+ // ParameterManager
39
+ // ============================================================================
40
+
41
+ /** Parameter definition for validation */
42
+ export interface ParameterDef {
43
+ min: number;
44
+ max: number;
45
+ step: number;
46
+ type: 'int' | 'float';
47
+ }
48
+
49
+ /** Full parameter set */
50
+ export interface VIB3Parameters {
51
+ variation: number;
52
+ rot4dXY: number;
53
+ rot4dXZ: number;
54
+ rot4dYZ: number;
55
+ rot4dXW: number;
56
+ rot4dYW: number;
57
+ rot4dZW: number;
58
+ dimension: number;
59
+ gridDensity: number;
60
+ morphFactor: number;
61
+ chaos: number;
62
+ speed: number;
63
+ hue: number;
64
+ intensity: number;
65
+ saturation: number;
66
+ geometry: number;
67
+ [key: string]: number;
68
+ }
69
+
70
+ /** Exported configuration format */
71
+ export interface ParameterConfiguration {
72
+ version: string;
73
+ timestamp: string;
74
+ parameters: VIB3Parameters;
75
+ validation: Record<string, ParameterDef>;
76
+ }
77
+
78
+ /**
79
+ * Unified parameter control for all visualization systems.
80
+ * Provides validation, clamping, randomization, HSV conversion,
81
+ * export/import, and variation generation.
82
+ */
83
+ export declare class ParameterManager {
84
+ params: VIB3Parameters;
85
+ parameterDefs: Record<string, ParameterDef>;
86
+ defaults: VIB3Parameters;
87
+
88
+ constructor();
89
+
90
+ /** Get all current parameters (copy). */
91
+ getAllParameters(): VIB3Parameters;
92
+
93
+ /** Set a single parameter with validation and clamping. Returns success. */
94
+ setParameter(name: string, value: number): boolean;
95
+
96
+ /** Set multiple parameters at once. */
97
+ setParameters(params: Partial<VIB3Parameters>): void;
98
+
99
+ /** Reset all parameters to defaults. */
100
+ resetToDefaults(): void;
101
+
102
+ /** Randomize all visual parameters within valid ranges. */
103
+ randomize(): void;
104
+
105
+ /** Export full configuration with validation schema. */
106
+ exportConfiguration(): ParameterConfiguration;
107
+
108
+ /** Load a previously exported configuration. */
109
+ loadConfiguration(config: ParameterConfiguration): void;
110
+
111
+ /** Generate a variation with controlled deviation. */
112
+ generateVariation(baseParams: VIB3Parameters, deviation: number): VIB3Parameters;
113
+
114
+ /** Convert current HSV parameters to RGB. */
115
+ getColorRGB(): { r: number; g: number; b: number };
116
+ }
117
+
118
+ // ============================================================================
119
+ // ParameterMapper
120
+ // ============================================================================
121
+
122
+ /** System name for parameter mapping */
123
+ export type MappableSystem = 'vib34d' | 'holographic' | 'polychora';
124
+
125
+ /**
126
+ * Translates parameters between different visualization system formats.
127
+ * Handles cross-system pollination with influence blending.
128
+ */
129
+ export declare class ParameterMapper {
130
+ mappings: Record<string, { to: Record<string, string>; from: Record<string, string> }>;
131
+
132
+ constructor();
133
+
134
+ /** Translate parameters from one system format to another. */
135
+ translate(params: Record<string, any>, fromSystem: MappableSystem, toSystem: MappableSystem): Record<string, any>;
136
+
137
+ /** Merge parameters with weighted blending. */
138
+ merge(base: Record<string, any>, overlay: Record<string, any>, influence?: number): Record<string, any>;
139
+
140
+ /** Get unified schema spanning all systems. */
141
+ getUnifiedSchema(): Record<string, ParameterDef>;
142
+
143
+ /** Get default values for a system. */
144
+ getDefaults(system: MappableSystem): Record<string, any>;
145
+
146
+ /** Get valid ranges for a system. */
147
+ getRanges(system: MappableSystem): Record<string, { min: number; max: number }>;
148
+
149
+ /** Cross-pollinate: blend parameters from source system into target. */
150
+ crossPollinate(sourceParams: Record<string, any>, sourceSystem: MappableSystem, targetSystem: MappableSystem, influence?: number): Record<string, any>;
151
+ }
152
+
153
+ // ============================================================================
154
+ // VitalitySystem
155
+ // ============================================================================
156
+
157
+ /**
158
+ * Generates a global rhythmic breath cycle (6-second sine wave)
159
+ * that modulates all visualization systems for organic animation feel.
160
+ */
161
+ export declare class VitalitySystem {
162
+ time: number;
163
+ breath: number;
164
+ cycleDuration: number;
165
+ isRunning: boolean;
166
+
167
+ constructor();
168
+
169
+ /** Start the breath cycle. */
170
+ start(): void;
171
+
172
+ /** Stop the breath cycle. */
173
+ stop(): void;
174
+
175
+ /** Update and return current breath value (0-1). */
176
+ update(deltaTime?: number): number;
177
+
178
+ /** Get current breath value without updating. */
179
+ getBreath(): number;
180
+ }
181
+
182
+ // ============================================================================
183
+ // RendererContracts
184
+ // ============================================================================
185
+
186
+ /** Frame state passed to render() */
187
+ export interface FrameState {
188
+ time?: number;
189
+ params?: Record<string, number>;
190
+ audio?: { bass: number; mid: number; high: number; energy?: number };
191
+ }
192
+
193
+ /**
194
+ * Abstract renderer contract — base class for all visualization systems.
195
+ * Methods: init, resize, render, setActive, dispose.
196
+ */
197
+ export declare class RendererContract {
198
+ init(context?: any): boolean | Promise<boolean>;
199
+ resize(width: number, height: number, pixelRatio?: number): void;
200
+ render(frameState?: FrameState): void;
201
+ setActive(active: boolean): void;
202
+ dispose(): void;
203
+ }
204
+
205
+ /**
206
+ * Adapter providing default implementations of the RendererContract.
207
+ * Systems can extend this for easier compliance.
208
+ */
209
+ export declare class RendererContractAdapter extends RendererContract {
210
+ protected _initialized: boolean;
211
+ protected _active: boolean;
212
+ constructor();
213
+ }
214
+
215
+ /** Verify that an object implements the RendererContract interface. */
216
+ export declare function verifyRendererContract(instance: any): {
217
+ valid: boolean;
218
+ missing: string[];
219
+ errors: string[];
220
+ };
221
+
222
+ /**
223
+ * Contract for resource managers used by renderer systems.
224
+ */
225
+ export declare class ResourceManagerContract {
226
+ register(type: string, handle: any, disposer?: () => void, options?: { bytes?: number; label?: string }): any;
227
+ release(type: string, handle: any): boolean;
228
+ dispose(type: string, handle: any): boolean;
229
+ disposeAll(): void;
230
+ getStats(): { totalResources: number; totalBytes: number };
231
+ }
232
+
233
+ // ============================================================================
234
+ // UnifiedResourceManager
235
+ // ============================================================================
236
+
237
+ /** GPU resource types managed by UnifiedResourceManager */
238
+ export type GPUResourceType = 'textures' | 'buffers' | 'programs' | 'framebuffers';
239
+
240
+ /**
241
+ * Manages GPU resource lifecycle with memory budgeting and eviction.
242
+ * Tracks textures, buffers, programs, and framebuffers.
243
+ */
244
+ export declare class UnifiedResourceManager {
245
+ readonly gl: WebGLRenderingContext;
246
+ resources: Record<GPUResourceType, Map<string, any>>;
247
+ memoryBudget: number;
248
+ currentUsage: number;
249
+ onMemoryPressure: (() => void) | null;
250
+
251
+ constructor(gl: WebGLRenderingContext);
252
+
253
+ /** Calculate memory budget based on device capabilities. */
254
+ calculateMemoryBudget(): number;
255
+
256
+ /** Handle memory pressure (evict unused resources). */
257
+ handleMemoryPressure(): void;
258
+
259
+ /** Dispose all tracked resources and stop monitoring. */
260
+ dispose(): void;
261
+ }
@@ -0,0 +1,72 @@
1
+ /**
2
+ * VIB3+ Aesthetic Mapper Type Definitions
3
+ * Maps natural language descriptions to VIB3+ parameter ranges.
4
+ */
5
+
6
+ export interface ParameterRange {
7
+ min: number;
8
+ max: number;
9
+ }
10
+
11
+ export interface AestheticMapping {
12
+ params?: Record<string, ParameterRange>;
13
+ suggested_system?: 'quantum' | 'faceted' | 'holographic';
14
+ suggested_geometry?: number;
15
+ color_preset?: string;
16
+ effects?: string[];
17
+ }
18
+
19
+ export interface AestheticResult {
20
+ params: Record<string, ParameterRange>;
21
+ system: string | null;
22
+ geometry: number | null;
23
+ colorPreset: string | null;
24
+ effects: string[];
25
+ matchCount: number;
26
+ }
27
+
28
+ export interface AestheticValues {
29
+ params: Record<string, number>;
30
+ system: string | null;
31
+ geometry: number | null;
32
+ colorPreset: string | null;
33
+ effects: string[];
34
+ }
35
+
36
+ export interface VocabularyEntry {
37
+ word: string;
38
+ category: string;
39
+ mapping: AestheticMapping;
40
+ }
41
+
42
+ export class AestheticMapper {
43
+ static VOCABULARY: Record<string, AestheticMapping>;
44
+
45
+ constructor();
46
+
47
+ /**
48
+ * Map a text description to parameter ranges.
49
+ * @param description - Natural language description (e.g., "energetic neon geometric")
50
+ * @returns Mapped result with params, system, geometry, effects
51
+ */
52
+ mapDescription(description: string): AestheticResult;
53
+
54
+ /**
55
+ * Map a description to concrete parameter values (midpoints of ranges).
56
+ * @param description - Natural language description
57
+ * @returns Resolved values ready for engine.setParameter()
58
+ */
59
+ resolveToValues(description: string): AestheticValues;
60
+
61
+ /**
62
+ * Get all vocabulary words.
63
+ * @returns Array of vocabulary entries
64
+ */
65
+ getVocabulary(): VocabularyEntry[];
66
+
67
+ /**
68
+ * Get vocabulary grouped by category.
69
+ * @returns Object with category keys and arrays of words
70
+ */
71
+ getVocabularyByCategory(): Record<string, string[]>;
72
+ }
@@ -0,0 +1,96 @@
1
+ /**
2
+ * VIB3+ Choreography Player Type Definitions
3
+ * Sequenced scene playback with transitions and timelines.
4
+ */
5
+
6
+ export interface ChoreographyScene {
7
+ name?: string;
8
+ duration_ms?: number;
9
+ system?: 'quantum' | 'faceted' | 'holographic';
10
+ geometry?: number;
11
+ parameters?: Record<string, number>;
12
+ transition?: {
13
+ type?: 'linear' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'snap';
14
+ duration_ms?: number;
15
+ };
16
+ timeline?: Array<{
17
+ time_ms: number;
18
+ parameter: string;
19
+ value: number;
20
+ easing?: string;
21
+ }>;
22
+ }
23
+
24
+ export interface ChoreographySpec {
25
+ name?: string;
26
+ description?: string;
27
+ loop?: boolean;
28
+ scenes: ChoreographyScene[];
29
+ total_duration_ms?: number;
30
+ }
31
+
32
+ export interface ChoreographyPlayerOptions {
33
+ onSceneChange?: (sceneIndex: number, scene: ChoreographyScene) => void;
34
+ onComplete?: () => void;
35
+ onTick?: (currentTime: number, totalDuration: number) => void;
36
+ }
37
+
38
+ export interface ChoreographyState {
39
+ playing: boolean;
40
+ currentTime: number;
41
+ totalDuration: number;
42
+ activeSceneIndex: number;
43
+ activeSceneName: string | null;
44
+ loopMode: 'once' | 'loop';
45
+ playbackSpeed: number;
46
+ progress: number;
47
+ sceneCount: number;
48
+ }
49
+
50
+ export class ChoreographyPlayer {
51
+ engine: any;
52
+ spec: ChoreographySpec | null;
53
+ playing: boolean;
54
+ currentTime: number;
55
+ playbackSpeed: number;
56
+ loopMode: 'once' | 'loop';
57
+ activeSceneIndex: number;
58
+
59
+ constructor(engine: any, options?: ChoreographyPlayerOptions);
60
+
61
+ /**
62
+ * Load a choreography specification.
63
+ * @param spec - Choreography data from MCP tool or JSON
64
+ */
65
+ load(spec: ChoreographySpec): void;
66
+
67
+ /** Start or resume playback. */
68
+ play(): void;
69
+
70
+ /** Pause playback (retains position). */
71
+ pause(): void;
72
+
73
+ /** Stop playback and reset to beginning. */
74
+ stop(): void;
75
+
76
+ /**
77
+ * Seek to a specific time in the choreography.
78
+ * @param timeMs - Target time in milliseconds
79
+ */
80
+ seek(timeMs: number): void;
81
+
82
+ /**
83
+ * Seek to a percentage through the choreography.
84
+ * @param percent - 0.0 to 1.0
85
+ */
86
+ seekToPercent(percent: number): void;
87
+
88
+ /**
89
+ * Get current playback state.
90
+ * @returns Current player state
91
+ */
92
+ getState(): ChoreographyState;
93
+
94
+ /** Clean up resources and stop playback. */
95
+ destroy(): void;
96
+ }
@@ -33,3 +33,20 @@ export {
33
33
  Keyframe,
34
34
  TimelineState
35
35
  } from './ParameterTimeline';
36
+
37
+ export {
38
+ AestheticMapper,
39
+ AestheticMapping,
40
+ AestheticResult,
41
+ AestheticValues,
42
+ ParameterRange,
43
+ VocabularyEntry
44
+ } from './AestheticMapper';
45
+
46
+ export {
47
+ ChoreographyPlayer,
48
+ ChoreographySpec,
49
+ ChoreographyScene,
50
+ ChoreographyPlayerOptions,
51
+ ChoreographyState
52
+ } from './ChoreographyPlayer';
@@ -0,0 +1,243 @@
1
+ /**
2
+ * VIB3+ SDK Export Module Type Definitions
3
+ * @module @vib3code/sdk/export
4
+ */
5
+
6
+ // ─── Common Types ───
7
+
8
+ export interface VIB3Parameters {
9
+ geometry?: number;
10
+ gridDensity?: number;
11
+ morphFactor?: number;
12
+ chaos?: number;
13
+ speed?: number;
14
+ hue?: number;
15
+ saturation?: number;
16
+ intensity?: number;
17
+ dimension?: number;
18
+ rot4dXY?: number;
19
+ rot4dXZ?: number;
20
+ rot4dYZ?: number;
21
+ rot4dXW?: number;
22
+ rot4dYW?: number;
23
+ rot4dZW?: number;
24
+ system?: 'quantum' | 'faceted' | 'holographic';
25
+ mouseIntensity?: number;
26
+ clickIntensity?: number;
27
+ bass?: number;
28
+ mid?: number;
29
+ high?: number;
30
+ mouse?: [number, number];
31
+ }
32
+
33
+ // ─── ExportManager ───
34
+
35
+ export class ExportManager {
36
+ engine: any;
37
+ constructor(engine: any);
38
+ setupFileInputs(): void;
39
+ exportJSON(): void;
40
+ saveToGallery(customName?: string | null): void;
41
+ exportCSS(): void;
42
+ exportHTML(): void;
43
+ exportPNG(): void;
44
+ importJSON(): void;
45
+ importFolder(): void;
46
+ handleJSONImport(event: Event): Promise<void>;
47
+ handleFolderImport(event: Event): Promise<void>;
48
+ validateConfiguration(config: Record<string, any>): boolean;
49
+ loadConfiguration(config: Record<string, any>): void;
50
+ saveAsCustomVariation(config: Record<string, any>): void;
51
+ downloadFile(content: string, filename: string, mimeType: string): void;
52
+ getGeometryName(index: number): string;
53
+ }
54
+
55
+ // ─── ShaderExporter ───
56
+
57
+ export interface ShaderExportConfig {
58
+ system?: 'quantum' | 'faceted' | 'holographic';
59
+ geometry?: number;
60
+ hue?: number;
61
+ saturation?: number;
62
+ intensity?: number;
63
+ gridDensity?: number;
64
+ dimension?: number;
65
+ morphFactor?: number;
66
+ chaos?: number;
67
+ speed?: number;
68
+ rot4dXY?: number;
69
+ rot4dXZ?: number;
70
+ rot4dYZ?: number;
71
+ rot4dXW?: number;
72
+ rot4dYW?: number;
73
+ rot4dZW?: number;
74
+ }
75
+
76
+ export class ShaderExporter {
77
+ static getQuantumShader(): string;
78
+ static getFacetedShader(): string;
79
+ static getHolographicShader(): string;
80
+ static exportHTML(config: ShaderExportConfig): string;
81
+ }
82
+
83
+ // ─── SVG Exporter ───
84
+
85
+ export interface SVGExportOptions {
86
+ width?: number;
87
+ height?: number;
88
+ strokeWidth?: number;
89
+ includeMetadata?: boolean;
90
+ includeWatermark?: boolean;
91
+ watermarkText?: string;
92
+ backgroundColor?: string;
93
+ precision?: number;
94
+ }
95
+
96
+ export function exportSVG(params: VIB3Parameters, options?: SVGExportOptions): string;
97
+ export function downloadSVG(params: VIB3Parameters, options?: SVGExportOptions, filename?: string): void;
98
+
99
+ // ─── CSS Exporter ───
100
+
101
+ export interface CSSExportOptions {
102
+ prefix?: string;
103
+ includeAnimations?: boolean;
104
+ includeVariables?: boolean;
105
+ includeKeyframes?: boolean;
106
+ }
107
+
108
+ export function exportCSS(params: VIB3Parameters, options?: CSSExportOptions): string;
109
+ export function downloadCSS(params: VIB3Parameters, options?: CSSExportOptions, filename?: string): void;
110
+ export function toStyleObject(params: VIB3Parameters, prefix?: string): Record<string, string>;
111
+
112
+ // ─── Lottie Exporter ───
113
+
114
+ export interface LottieExportOptions {
115
+ width?: number;
116
+ height?: number;
117
+ fps?: number;
118
+ duration?: number;
119
+ includeMetadata?: boolean;
120
+ }
121
+
122
+ export function exportLottie(params: VIB3Parameters, options?: LottieExportOptions): Record<string, any>;
123
+ export function downloadLottie(params: VIB3Parameters, options?: LottieExportOptions, filename?: string): void;
124
+
125
+ // ─── VIB3 Package Exporter ───
126
+
127
+ export interface VIB3PackageOptions {
128
+ includeReact?: boolean;
129
+ includeVue?: boolean;
130
+ includeSvelte?: boolean;
131
+ includeCSS?: boolean;
132
+ }
133
+
134
+ export interface VIB3Package {
135
+ id: string;
136
+ version: string;
137
+ created: string;
138
+ visual_params: VIB3Parameters;
139
+ reactivity_config: Record<string, any>;
140
+ metadata: Record<string, any>;
141
+ embed_code: string;
142
+ html_embed: string;
143
+ css_embed: string;
144
+ js_embed: string;
145
+ integrations: Record<string, string>;
146
+ }
147
+
148
+ export const VIB3_PACKAGE_VERSION: string;
149
+
150
+ export class VIB3PackageExporter {
151
+ constructor(options?: VIB3PackageOptions);
152
+ createPackage(visualParams: VIB3Parameters, reactivityConfig: Record<string, any>, metadata?: Record<string, any>): VIB3Package;
153
+ generateEmbedCode(visualParams: VIB3Parameters, reactivityConfig: Record<string, any>, packageId: string): string;
154
+ generateHTMLEmbed(visualParams: VIB3Parameters, reactivityConfig: Record<string, any>, packageId: string): string;
155
+ generateCSSEmbed(visualParams: VIB3Parameters): string;
156
+ generateJSEmbed(visualParams: VIB3Parameters, reactivityConfig: Record<string, any>, packageId: string): string;
157
+ generateIntegrations(packageId: string, visualParams: VIB3Parameters): Record<string, string>;
158
+ exportToJSON(package_: VIB3Package, pretty?: boolean): string;
159
+ downloadPackage(package_: VIB3Package, filename?: string | null): void;
160
+ downloadHTMLEmbed(package_: VIB3Package, filename?: string | null): void;
161
+ static loadFromJSON(json: string): VIB3Package;
162
+ }
163
+
164
+ export function createVIB3Package(visualParams: VIB3Parameters, reactivityConfig: Record<string, any>, metadata?: Record<string, any>): VIB3Package;
165
+
166
+ // ─── Trading Card System ───
167
+
168
+ export type CardRarity = 'Common' | 'Uncommon' | 'Rare' | 'Epic' | 'Legendary' | 'Mythic';
169
+
170
+ export interface CardState {
171
+ system: 'quantum' | 'faceted' | 'holographic';
172
+ geometry: number;
173
+ geometryName: string;
174
+ coreType: string;
175
+ hue: number;
176
+ saturation: number;
177
+ intensity: number;
178
+ gridDensity: number;
179
+ dimension: number;
180
+ morphFactor: number;
181
+ chaos: number;
182
+ speed: number;
183
+ rot4dXW: number;
184
+ rot4dYW: number;
185
+ rot4dZW: number;
186
+ rarity: CardRarity;
187
+ rarityScore: number;
188
+ }
189
+
190
+ export class CardGeneratorBase {
191
+ constructor();
192
+ generateCard(state: CardState, canvasImage: string): string;
193
+ }
194
+
195
+ export class FacetedCardGenerator extends CardGeneratorBase {
196
+ constructor();
197
+ }
198
+
199
+ export class QuantumCardGenerator extends CardGeneratorBase {
200
+ constructor();
201
+ }
202
+
203
+ export class HolographicCardGenerator extends CardGeneratorBase {
204
+ constructor();
205
+ }
206
+
207
+ export class TradingCardGenerator {
208
+ engine: any;
209
+ constructor(engine: any);
210
+ detectCurrentSystem(): string;
211
+ captureCurrentState(): CardState;
212
+ getActiveGeometryIndex(): number;
213
+ calculateRarity(params: VIB3Parameters): { rarity: CardRarity; score: number };
214
+ generateClassicCard(state: CardState, canvasImage: string): string;
215
+ generateSocialCard(state: CardState, canvasImage: string): string;
216
+ generateVisualizationCode(state: CardState): string;
217
+ generateLiveFacetedSystem(state: CardState): string;
218
+ generateLiveQuantumSystem(state: CardState): string;
219
+ generateLiveHolographicSystem(state: CardState): string;
220
+ generateFacetedVisualizationCode(state: CardState): string;
221
+ generateHolographicVisualizationCode(state: CardState): string;
222
+ generateFallbackVisualizationCode(state: CardState): string;
223
+ generateImageVisualization(imageData: string): string;
224
+ }
225
+
226
+ export class TradingCardManager {
227
+ engine: any;
228
+ constructor(engine: any);
229
+ }
230
+
231
+ // ─── Trading Card Systems (per-renderer) ───
232
+
233
+ export class TradingCardSystemFaceted {
234
+ constructor();
235
+ }
236
+
237
+ export class TradingCardSystemHolographic {
238
+ constructor();
239
+ }
240
+
241
+ export class TradingCardSystemQuantum {
242
+ constructor();
243
+ }