@vib3code/sdk 2.0.1 → 2.0.3-canary.0a63e71

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 (192) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/DOCS/AGENT_HARNESS_ARCHITECTURE.md +245 -0
  3. package/DOCS/ANDROID_DEPLOYMENT.md +59 -0
  4. package/DOCS/ARCHITECTURE.md +1 -0
  5. package/DOCS/CI_TESTING.md +2 -0
  6. package/DOCS/CLI_ONBOARDING.md +3 -1
  7. package/DOCS/CONTROL_REFERENCE.md +2 -0
  8. package/DOCS/CROSS_SITE_DESIGN_PATTERNS.md +119 -0
  9. package/DOCS/ENV_SETUP.md +2 -0
  10. package/DOCS/EPIC_SCROLL_EVENTS.md +775 -0
  11. package/DOCS/EXPANSION_DESIGN.md +979 -0
  12. package/DOCS/EXPANSION_DESIGN_ULTRA.md +389 -0
  13. package/DOCS/EXPORT_FORMATS.md +2 -0
  14. package/DOCS/GPU_DISPOSAL_GUIDE.md +2 -0
  15. package/DOCS/HANDOFF_LANDING_PAGE.md +156 -0
  16. package/DOCS/HANDOFF_SDK_DEVELOPMENT.md +495 -0
  17. package/DOCS/LICENSING_TIERS.md +2 -0
  18. package/DOCS/MASTER_PLAN_2026-01-31.md +4 -2
  19. package/DOCS/MULTIVIZ_CHOREOGRAPHY_PATTERNS.md +939 -0
  20. package/DOCS/OBS_SETUP_GUIDE.md +2 -0
  21. package/DOCS/OPTIMIZATION_PLAN_MATH.md +119 -0
  22. package/DOCS/PRODUCT_STRATEGY.md +65 -0
  23. package/DOCS/PROJECT_SETUP.md +2 -0
  24. package/DOCS/README.md +105 -0
  25. package/DOCS/REFERENCE_SCROLL_ANALYSIS.md +99 -0
  26. package/DOCS/RENDERER_LIFECYCLE.md +2 -0
  27. package/DOCS/REPO_MANIFEST.md +2 -0
  28. package/DOCS/ROADMAP.md +113 -0
  29. package/DOCS/SCROLL_TIMELINE_v3.md +271 -0
  30. package/DOCS/SITE_REFACTOR_PLAN.md +102 -0
  31. package/DOCS/STATUS.md +26 -0
  32. package/DOCS/SYSTEM_INVENTORY.md +37 -32
  33. package/DOCS/TELEMETRY_EXPORTS.md +2 -0
  34. package/DOCS/VISUAL_ANALYSIS_CLICKERSS.md +87 -0
  35. package/DOCS/VISUAL_ANALYSIS_FACETAD.md +135 -0
  36. package/DOCS/VISUAL_ANALYSIS_SIMONE.md +97 -0
  37. package/DOCS/VISUAL_ANALYSIS_TABLESIDE.md +88 -0
  38. package/DOCS/WEBGPU_STATUS.md +121 -38
  39. package/DOCS/XR_BENCHMARKS.md +2 -0
  40. package/DOCS/archive/BLUEPRINT_EXECUTION_PLAN_2026-01-07.md +1 -0
  41. package/DOCS/archive/DEV_TRACK_ANALYSIS.md +1 -0
  42. package/DOCS/archive/DEV_TRACK_PLAN_2026-01-07.md +1 -0
  43. package/DOCS/archive/SESSION_014_PLAN.md +1 -0
  44. package/DOCS/archive/SESSION_LOG_2026-01-07.md +1 -0
  45. package/DOCS/archive/STRATEGIC_BLUEPRINT_2026-01-07.md +1 -0
  46. package/DOCS/archive/SYSTEM_AUDIT_2026-01-30.md +1 -0
  47. package/DOCS/archive/WEBGPU_STATUS_2026-02-15_STALE.md +1 -0
  48. package/DOCS/{DEV_TRACK_SESSION_2026-01-31.md → dev-tracks/DEV_TRACK_SESSION_2026-01-31.md} +3 -1
  49. package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-06.md +233 -0
  50. package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-13.md +129 -0
  51. package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-15.md +144 -0
  52. package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-16.md +110 -0
  53. package/DOCS/dev-tracks/PERF_UPGRADE_2026-02-16.md +310 -0
  54. package/DOCS/dev-tracks/README.md +12 -0
  55. package/README.md +26 -13
  56. package/cpp/CMakeLists.txt +236 -0
  57. package/cpp/bindings/embind.cpp +269 -0
  58. package/cpp/build.sh +129 -0
  59. package/cpp/geometry/Crystal.cpp +103 -0
  60. package/cpp/geometry/Fractal.cpp +136 -0
  61. package/cpp/geometry/GeometryGenerator.cpp +262 -0
  62. package/cpp/geometry/KleinBottle.cpp +71 -0
  63. package/cpp/geometry/Sphere.cpp +134 -0
  64. package/cpp/geometry/Tesseract.cpp +94 -0
  65. package/cpp/geometry/Tetrahedron.cpp +83 -0
  66. package/cpp/geometry/Torus.cpp +65 -0
  67. package/cpp/geometry/WarpFunctions.cpp +238 -0
  68. package/cpp/geometry/Wave.cpp +85 -0
  69. package/cpp/include/vib3_ffi.h +238 -0
  70. package/cpp/math/Mat4x4.cpp +409 -0
  71. package/cpp/math/Mat4x4.hpp +209 -0
  72. package/cpp/math/Projection.cpp +142 -0
  73. package/cpp/math/Projection.hpp +148 -0
  74. package/cpp/math/Rotor4D.cpp +322 -0
  75. package/cpp/math/Rotor4D.hpp +204 -0
  76. package/cpp/math/Vec4.cpp +303 -0
  77. package/cpp/math/Vec4.hpp +225 -0
  78. package/cpp/src/vib3_ffi.cpp +607 -0
  79. package/cpp/tests/Geometry_test.cpp +213 -0
  80. package/cpp/tests/Mat4x4_test.cpp +494 -0
  81. package/cpp/tests/Projection_test.cpp +298 -0
  82. package/cpp/tests/Rotor4D_test.cpp +423 -0
  83. package/cpp/tests/Vec4_test.cpp +489 -0
  84. package/docs/webgpu-live.html +1 -1
  85. package/package.json +41 -30
  86. package/src/agent/index.js +1 -3
  87. package/src/agent/mcp/MCPServer.js +1220 -144
  88. package/src/agent/mcp/index.js +1 -1
  89. package/src/agent/mcp/stdio-server.js +264 -0
  90. package/src/agent/mcp/tools.js +498 -31
  91. package/src/cli/index.js +431 -47
  92. package/src/core/CanvasManager.js +97 -204
  93. package/src/core/ErrorReporter.js +1 -1
  94. package/src/core/Parameters.js +1 -1
  95. package/src/core/VIB3Engine.js +93 -4
  96. package/src/core/VitalitySystem.js +53 -0
  97. package/src/core/index.js +18 -0
  98. package/src/core/renderers/FacetedRendererAdapter.js +10 -9
  99. package/src/core/renderers/HolographicRendererAdapter.js +13 -9
  100. package/src/core/renderers/QuantumRendererAdapter.js +11 -7
  101. package/src/creative/AestheticMapper.js +628 -0
  102. package/src/creative/ChoreographyPlayer.js +481 -0
  103. package/src/creative/index.js +11 -0
  104. package/src/experimental/GameLoop.js +72 -0
  105. package/src/experimental/LatticePhysics.js +100 -0
  106. package/src/experimental/LiveDirector.js +143 -0
  107. package/src/experimental/PlayerController4D.js +154 -0
  108. package/src/experimental/VIB3Actor.js +138 -0
  109. package/src/experimental/VIB3Compositor.js +117 -0
  110. package/src/experimental/VIB3Link.js +122 -0
  111. package/src/experimental/VIB3Orchestrator.js +146 -0
  112. package/src/experimental/VIB3Universe.js +109 -0
  113. package/src/experimental/demos/CrystalLabyrinth.js +202 -0
  114. package/src/export/TradingCardManager.js +3 -4
  115. package/src/export/index.js +11 -1
  116. package/src/faceted/FacetedSystem.js +260 -394
  117. package/src/games/glyph-war/GlyphWarVisualizer.js +641 -0
  118. package/src/geometry/generators/Crystal.js +2 -2
  119. package/src/geometry/warp/HypersphereCore.js +53 -24
  120. package/src/holograms/HolographicVisualizer.js +84 -98
  121. package/src/holograms/RealHolographicSystem.js +194 -43
  122. package/src/math/Mat4x4.js +308 -105
  123. package/src/math/Rotor4D.js +124 -40
  124. package/src/math/Vec4.js +200 -103
  125. package/src/math/index.js +7 -7
  126. package/src/polychora/PolychoraSystem.js +77 -0
  127. package/src/quantum/QuantumEngine.js +103 -66
  128. package/src/quantum/QuantumVisualizer.js +31 -22
  129. package/src/reactivity/index.js +3 -5
  130. package/src/render/LayerPresetManager.js +372 -0
  131. package/src/render/LayerReactivityBridge.js +344 -0
  132. package/src/render/LayerRelationshipGraph.js +610 -0
  133. package/src/render/MultiCanvasBridge.js +148 -25
  134. package/src/render/ShaderLoader.js +38 -0
  135. package/src/render/ShaderProgram.js +4 -4
  136. package/src/render/UnifiedRenderBridge.js +4 -1
  137. package/src/render/backends/WebGPUBackend.js +8 -4
  138. package/src/render/index.js +27 -2
  139. package/src/scene/Node4D.js +74 -24
  140. package/src/scene/index.js +4 -4
  141. package/src/shaders/common/geometry24.glsl +65 -0
  142. package/src/shaders/common/geometry24.wgsl +54 -0
  143. package/src/shaders/common/rotation4d.glsl +4 -4
  144. package/src/shaders/common/rotation4d.wgsl +2 -2
  145. package/src/shaders/common/uniforms.wgsl +15 -8
  146. package/src/shaders/faceted/faceted.frag.glsl +220 -80
  147. package/src/shaders/faceted/faceted.frag.wgsl +144 -90
  148. package/src/shaders/holographic/holographic.frag.glsl +28 -9
  149. package/src/shaders/holographic/holographic.frag.wgsl +112 -41
  150. package/src/shaders/quantum/quantum.frag.glsl +1 -0
  151. package/src/shaders/quantum/quantum.frag.wgsl +6 -4
  152. package/src/testing/ParallelTestFramework.js +2 -2
  153. package/src/ui/adaptive/renderers/webgpu/WebGPURenderer.ts +2 -2
  154. package/src/viewer/GalleryUI.js +17 -0
  155. package/src/viewer/ViewerPortal.js +2 -2
  156. package/src/viewer/index.js +1 -1
  157. package/tools/headless-renderer.js +258 -0
  158. package/tools/shader-sync-verify.js +14 -8
  159. package/tools/site-analysis/all-reports.json +32 -0
  160. package/tools/site-analysis/combined-analysis.md +50 -0
  161. package/tools/site-analyzer.mjs +779 -0
  162. package/tools/visual-catalog/capture.js +276 -0
  163. package/tools/visual-catalog/composite.js +138 -0
  164. package/types/adaptive-sdk.d.ts +204 -5
  165. package/types/agent/cli.d.ts +78 -0
  166. package/types/agent/index.d.ts +18 -0
  167. package/types/agent/mcp.d.ts +87 -0
  168. package/types/agent/telemetry.d.ts +190 -0
  169. package/types/core/VIB3Engine.d.ts +26 -0
  170. package/types/core/index.d.ts +261 -0
  171. package/types/creative/AestheticMapper.d.ts +72 -0
  172. package/types/creative/ChoreographyPlayer.d.ts +96 -0
  173. package/types/creative/index.d.ts +17 -0
  174. package/types/export/index.d.ts +243 -0
  175. package/types/geometry/index.d.ts +164 -0
  176. package/types/math/index.d.ts +214 -0
  177. package/types/render/LayerPresetManager.d.ts +78 -0
  178. package/types/render/LayerReactivityBridge.d.ts +85 -0
  179. package/types/render/LayerRelationshipGraph.d.ts +174 -0
  180. package/types/render/index.d.ts +3 -0
  181. package/types/scene/index.d.ts +204 -0
  182. package/types/systems/index.d.ts +244 -0
  183. package/types/variations/index.d.ts +62 -0
  184. package/types/viewer/index.d.ts +225 -0
  185. package/DOCS/BLUEPRINT_EXECUTION_PLAN_2026-01-07.md +0 -34
  186. package/DOCS/DEV_TRACK_ANALYSIS.md +0 -77
  187. package/DOCS/DEV_TRACK_PLAN_2026-01-07.md +0 -42
  188. package/DOCS/SESSION_014_PLAN.md +0 -195
  189. package/DOCS/SESSION_LOG_2026-01-07.md +0 -56
  190. package/DOCS/STRATEGIC_BLUEPRINT_2026-01-07.md +0 -72
  191. package/DOCS/SYSTEM_AUDIT_2026-01-30.md +0 -738
  192. /package/src/viewer/{ReactivityManager.js → ViewerInputHandler.js} +0 -0
@@ -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
+ }
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Geometry Module TypeScript Definitions
3
+ * GeometryLibrary, generators, BufferBuilder
4
+ */
5
+
6
+ import { Vec4 } from '../math';
7
+
8
+ // ============================================================================
9
+ // GeometryLibrary
10
+ // ============================================================================
11
+
12
+ /** Base geometry names (8 types) */
13
+ export type BaseGeometryName = 'TETRAHEDRON' | 'HYPERCUBE' | 'SPHERE' | 'TORUS' | 'KLEIN BOTTLE' | 'FRACTAL' | 'WAVE' | 'CRYSTAL';
14
+
15
+ /** Variation parameters for a geometry at a given level */
16
+ export interface VariationParameters {
17
+ gridDensity: number;
18
+ morphFactor: number;
19
+ chaos: number;
20
+ speed: number;
21
+ hue: number;
22
+ }
23
+
24
+ /** Static geometry library for the 8 base geometries. */
25
+ export declare class GeometryLibrary {
26
+ /** Get all 8 geometry names. */
27
+ static getGeometryNames(): BaseGeometryName[];
28
+
29
+ /** Get name for a geometry type index (0-7). Returns 'UNKNOWN' for invalid. */
30
+ static getGeometryName(type: number): string;
31
+
32
+ /** Get variation parameters for a geometry type at a given level. */
33
+ static getVariationParameters(geometryType: number, level: number): VariationParameters;
34
+ }
35
+
36
+ // ============================================================================
37
+ // Geometry Object (common return type from generators)
38
+ // ============================================================================
39
+
40
+ /** Standard geometry output from generators */
41
+ export interface Geometry4D {
42
+ name: string;
43
+ vertices: Vec4[];
44
+ edges: number[][];
45
+ faces: number[][];
46
+ cells?: number;
47
+ vertexCount: number;
48
+ edgeCount: number;
49
+ faceCount: number;
50
+ radius?: number;
51
+ tubeRadius?: number;
52
+ }
53
+
54
+ // ============================================================================
55
+ // Generators
56
+ // ============================================================================
57
+
58
+ // Tesseract
59
+ export declare function generateTesseractVertices(size?: number): Vec4[];
60
+ export declare function generateTesseractEdges(): number[][];
61
+ export declare function generateTesseractFaces(): number[][];
62
+ export declare function generateTesseract(size?: number): Geometry4D;
63
+ export declare function generateTesseractSubdivided(size?: number, subdivisions?: number): Geometry4D;
64
+
65
+ // Sphere (Hypersphere)
66
+ export declare function generateHypersphereVertices(radius?: number, segments?: number): Vec4[];
67
+ export declare function generateHypersphereFibonacci(radius?: number, count?: number): Vec4[];
68
+ export declare function generateHypersphereEdges(vertices: Vec4[], threshold?: number): number[][];
69
+ export declare function generateSphere(radius?: number, density?: number): Geometry4D;
70
+
71
+ // Torus
72
+ export declare function generateCliffordTorusVertices(radius?: number, segments?: number): Vec4[];
73
+ export declare function generateCliffordTorusEdges(segments?: number): number[][];
74
+ export declare function generateTorusVertices(majorRadius?: number, minorRadius?: number, majorSegments?: number, minorSegments?: number, wOffset?: number): Vec4[];
75
+ export declare function generateTorus(radius?: number, density?: number): Geometry4D;
76
+ export declare function generateCliffordTorus(radius?: number, tubeRadius?: number, segments?: number): Geometry4D;
77
+ export declare function generateTorus4D(radius?: number, segments?: number): Geometry4D;
78
+ export declare function generate4DTorus(r1?: number, r2?: number, r3?: number, segments?: number): Geometry4D;
79
+
80
+ // Tetrahedron
81
+ export declare function generateTetrahedron(size?: number): Geometry4D;
82
+
83
+ // Klein Bottle
84
+ export declare function generateKleinBottle(radius?: number, density?: number): Geometry4D;
85
+
86
+ // Fractal
87
+ export declare function generateFractal(depth?: number, size?: number): Geometry4D;
88
+
89
+ // Wave
90
+ export declare function generateWave(amplitude?: number, frequency?: number, segments?: number): Geometry4D;
91
+
92
+ // Crystal
93
+ export declare function generateCrystal(size?: number, facets?: number): Geometry4D;
94
+
95
+ // ============================================================================
96
+ // Warp Cores
97
+ // ============================================================================
98
+
99
+ /** Apply hypersphere (S³) projection warp to geometry vertices. */
100
+ export declare function applyHypersphereWarp(vertices: Vec4[], radius?: number): Vec4[];
101
+
102
+ /** Apply hypertetrahedron (pentatope) warp to geometry vertices. */
103
+ export declare function applyHypertetraWarp(vertices: Vec4[], scale?: number): Vec4[];
104
+
105
+ // ============================================================================
106
+ // BufferBuilder
107
+ // ============================================================================
108
+
109
+ /** Vertex buffer format */
110
+ export type VertexFormat = 'xyz' | 'xyzw';
111
+
112
+ /** Color generation mode */
113
+ export type ColorMode = 'wDepth' | 'rainbow' | 'uniform';
114
+
115
+ /** WebGL-ready geometry buffers */
116
+ export interface GeometryBuffers {
117
+ vertices: Float32Array;
118
+ vertexCount: number;
119
+ stride: 3 | 4;
120
+ edgeIndices?: Uint16Array | Uint32Array;
121
+ edgeCount?: number;
122
+ faceIndices?: Uint16Array | Uint32Array;
123
+ faceCount?: number;
124
+ normals?: Float32Array;
125
+ colors?: Float32Array;
126
+ }
127
+
128
+ export interface GeometryBufferOptions {
129
+ format?: VertexFormat;
130
+ includeNormals?: boolean;
131
+ includeColors?: boolean;
132
+ colorMode?: ColorMode;
133
+ uniformColor?: number[];
134
+ use32BitIndices?: boolean;
135
+ }
136
+
137
+ /** Build Float32Array vertex buffer from Vec4 vertices. */
138
+ export declare function buildVertexBuffer(vertices: Vec4[], format?: VertexFormat): Float32Array;
139
+
140
+ /** Build edge index buffer from edge pairs. */
141
+ export declare function buildEdgeIndexBuffer(edges: number[][], use32Bit?: boolean): Uint16Array | Uint32Array;
142
+
143
+ /** Build triangle index buffer from faces (triangulates quads/polygons). */
144
+ export declare function buildFaceIndexBuffer(faces: number[][], use32Bit?: boolean): Uint16Array | Uint32Array;
145
+
146
+ /** Build interleaved position + color buffer. */
147
+ export declare function buildInterleavedBuffer(vertices: Vec4[], colors: number[][], format?: VertexFormat): Float32Array;
148
+
149
+ /** Build normal vectors from vertex and face data. */
150
+ export declare function buildNormalBuffer(vertices: Vec4[], faces: number[][]): Float32Array;
151
+
152
+ /** Generate W-depth based RGBA colors. */
153
+ export declare function generateWDepthColors(vertices: Vec4[], colorMap?: {
154
+ nearColor?: number[];
155
+ farColor?: number[];
156
+ midColor?: number[];
157
+ range?: number;
158
+ }): number[][];
159
+
160
+ /** Generate rainbow RGBA colors by vertex index. */
161
+ export declare function generateRainbowColors(vertexCount: number, saturation?: number, lightness?: number): number[][];
162
+
163
+ /** Build complete WebGL-ready geometry buffers. */
164
+ export declare function buildGeometryBuffers(geometry: Geometry4D, options?: GeometryBufferOptions): GeometryBuffers;