@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,186 @@
1
+ /**
2
+ * WebGPU Backend TypeScript Definitions
3
+ * VIB3+ SDK - WebGPU Rendering Backend
4
+ */
5
+
6
+ /** WebGPU feature flag identifiers */
7
+ export declare const WebGPUFeatures: {
8
+ readonly TIMESTAMP_QUERY: 'timestamp-query';
9
+ readonly INDIRECT_FIRST_INSTANCE: 'indirect-first-instance';
10
+ readonly SHADER_F16: 'shader-f16';
11
+ readonly DEPTH_CLIP_CONTROL: 'depth-clip-control';
12
+ readonly DEPTH32_STENCIL8: 'depth32float-stencil8';
13
+ readonly TEXTURE_COMPRESSION_BC: 'texture-compression-bc';
14
+ readonly RG11B10_UFLOAT_RENDERABLE: 'rg11b10ufloat-renderable';
15
+ readonly BGRA8_UNORM_STORAGE: 'bgra8unorm-storage';
16
+ };
17
+
18
+ /** WGSL shader library for VIB3+ systems */
19
+ export declare const WGSLShaderLib: {
20
+ /** VIB3Uniforms struct definition in WGSL */
21
+ readonly uniformStruct: string;
22
+ /** 6D rotation functions in WGSL */
23
+ readonly rotation4D: string;
24
+ /** Fullscreen vertex shader (oversized triangle technique) */
25
+ readonly fullscreenVertex: string;
26
+ };
27
+
28
+ /** WebGPU backend constructor parameters */
29
+ export interface WebGPUBackendParams {
30
+ canvas: HTMLCanvasElement;
31
+ device: GPUDevice;
32
+ context: GPUCanvasContext;
33
+ format: GPUTextureFormat;
34
+ adapter?: GPUAdapter;
35
+ }
36
+
37
+ /** WebGPU backend options */
38
+ export interface WebGPUBackendOptions {
39
+ debug?: boolean;
40
+ depth?: boolean;
41
+ features?: string[];
42
+ resourceRegistry?: any;
43
+ }
44
+
45
+ /** GPU info returned by backend */
46
+ export interface GPUInfo {
47
+ vendor: string;
48
+ architecture: string;
49
+ device: string;
50
+ description: string;
51
+ features: string[];
52
+ }
53
+
54
+ /** Backend rendering statistics */
55
+ export interface WebGPUStats {
56
+ frames: number;
57
+ commandEncoders: number;
58
+ drawCalls: number;
59
+ triangles: number;
60
+ pipelineChanges: number;
61
+ }
62
+
63
+ /** Custom uniform buffer entry */
64
+ export interface CustomUniformEntry {
65
+ buffer: GPUBuffer;
66
+ bindGroup: GPUBindGroup;
67
+ layout: GPUBindGroupLayout;
68
+ }
69
+
70
+ /** Fullscreen quad render options */
71
+ export interface FullscreenRenderOptions {
72
+ pipeline?: string;
73
+ bindGroups?: GPUBindGroup[];
74
+ clearColor?: [number, number, number, number];
75
+ clear?: boolean;
76
+ }
77
+
78
+ /** Texture descriptor */
79
+ export interface TextureDescriptor {
80
+ size: [number, number] | [number, number, number];
81
+ format: GPUTextureFormat;
82
+ usage: number;
83
+ }
84
+
85
+ /**
86
+ * WebGPU rendering backend for VIB3+ engine
87
+ */
88
+ export declare class WebGPUBackend {
89
+ readonly canvas: HTMLCanvasElement;
90
+ readonly device: GPUDevice;
91
+ readonly context: GPUCanvasContext;
92
+ readonly format: GPUTextureFormat;
93
+ readonly adapter: GPUAdapter | null;
94
+ readonly debug: boolean;
95
+
96
+ constructor(params: WebGPUBackendParams, options?: WebGPUBackendOptions);
97
+
98
+ /** Check if a GPU feature is enabled */
99
+ hasFeature(feature: string): boolean;
100
+
101
+ /** Get GPU adapter info */
102
+ getGPUInfo(): GPUInfo;
103
+
104
+ /** Get rendering statistics */
105
+ getStats(): WebGPUStats;
106
+
107
+ /** Reset rendering statistics */
108
+ resetStats(): void;
109
+
110
+ /** Resize the rendering surface */
111
+ resize(width: number, height: number): void;
112
+
113
+ /** Compile a WGSL shader module */
114
+ compileShader(name: string, code: string): GPUShaderModule;
115
+
116
+ /** Create a custom uniform buffer with its own bind group */
117
+ createCustomUniformBuffer(
118
+ name: string,
119
+ size: number,
120
+ visibility?: number
121
+ ): CustomUniformEntry;
122
+
123
+ /** Get a previously created custom uniform buffer */
124
+ getCustomUniformBuffer(name: string): CustomUniformEntry | undefined;
125
+
126
+ /** Update custom uniform buffer data */
127
+ updateCustomUniforms(name: string, data: Float32Array): void;
128
+
129
+ /** Create a fullscreen pipeline for procedural rendering */
130
+ createFullscreenPipeline(
131
+ name: string,
132
+ fragmentCode: string,
133
+ options?: { bindGroupLayouts?: GPUBindGroupLayout[] }
134
+ ): GPURenderPipeline;
135
+
136
+ /** Create a named render pipeline */
137
+ createPipeline(name: string, descriptor: GPURenderPipelineDescriptor): GPURenderPipeline;
138
+
139
+ /** Render a fullscreen quad */
140
+ renderFullscreenQuad(options?: FullscreenRenderOptions): void;
141
+
142
+ /** Render using a named pipeline */
143
+ renderWithPipeline(options: {
144
+ pipeline: string;
145
+ bindGroups?: GPUBindGroup[];
146
+ vertexBuffers?: GPUBuffer[];
147
+ vertexCount?: number;
148
+ indexBuffer?: GPUBuffer;
149
+ indexCount?: number;
150
+ }): void;
151
+
152
+ /** Create a 2D texture */
153
+ createTexture(name: string, descriptor: TextureDescriptor): GPUTexture;
154
+
155
+ /** Create a sampler */
156
+ createSampler(name: string, descriptor?: GPUSamplerDescriptor): GPUSampler;
157
+
158
+ /** Update default uniform buffer */
159
+ updateUniforms(data: Float32Array): void;
160
+
161
+ /** Dispose all resources */
162
+ dispose(): void;
163
+ }
164
+
165
+ /** Check if WebGPU is available in the current environment */
166
+ export declare function isWebGPUSupported(): boolean;
167
+
168
+ /** Get available WebGPU features */
169
+ export declare function getWebGPUFeatures(): Promise<Set<string> | null>;
170
+
171
+ /** Create a WebGPU backend (async) */
172
+ export declare function createWebGPUBackend(
173
+ canvas: HTMLCanvasElement,
174
+ options?: {
175
+ powerPreference?: 'high-performance' | 'low-power';
176
+ requiredFeatures?: string[];
177
+ debug?: boolean;
178
+ depth?: boolean;
179
+ }
180
+ ): Promise<WebGPUBackend | null>;
181
+
182
+ /** Create WebGPU backend with fallback info */
183
+ export declare function createWebGPUWithFallback(
184
+ canvas: HTMLCanvasElement,
185
+ options?: Parameters<typeof createWebGPUBackend>[1]
186
+ ): Promise<{ backend: WebGPUBackend | null; type: 'webgpu' | null }>;
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Render Module TypeScript Definitions
3
+ * VIB3+ SDK - Complete Rendering Abstraction (WebGL + WebGPU)
4
+ */
5
+
6
+ // Re-export all render types
7
+ export * from './RenderState';
8
+ export * from './RenderCommand';
9
+ export * from './CommandBuffer';
10
+ export * from './RenderTarget';
11
+ export * from './ShaderProgram';
12
+ export * from './WebGLBackend';
13
+ export * from './WebGPUBackend';
14
+ export * from './UnifiedRenderBridge';
15
+
16
+ import { RenderState, BlendMode, CullFace } from './RenderState';
17
+ import { CommandBuffer, CommandBufferOptions } from './CommandBuffer';
18
+ import { RenderTarget, RenderTargetOptions } from './RenderTarget';
19
+ import { ShaderProgram, ShaderProgramOptions, ShaderLib } from './ShaderProgram';
20
+ import { WebGLBackend, WebGLBackendOptions } from './WebGLBackend';
21
+ import { WebGPUBackend } from './WebGPUBackend';
22
+ import { UnifiedRenderBridge, BackendType } from './UnifiedRenderBridge';
23
+
24
+ /** Render context options */
25
+ export interface RenderContextOptions extends WebGLBackendOptions {}
26
+
27
+ /** Complete render context */
28
+ export interface RenderContext {
29
+ backend: WebGLBackend;
30
+ canvas: HTMLCanvasElement;
31
+ gl: WebGL2RenderingContext;
32
+
33
+ /**
34
+ * Create a new command buffer
35
+ */
36
+ createCommandBuffer(options?: CommandBufferOptions): CommandBuffer;
37
+
38
+ /**
39
+ * Create a new render target
40
+ */
41
+ createRenderTarget(
42
+ width: number,
43
+ height: number,
44
+ options?: RenderTargetOptions
45
+ ): RenderTarget;
46
+
47
+ /**
48
+ * Create a new shader program
49
+ */
50
+ createShader(options: ShaderProgramOptions): ShaderProgram;
51
+
52
+ /**
53
+ * Dispose all resources
54
+ */
55
+ dispose(): void;
56
+ }
57
+
58
+ /**
59
+ * Create a complete rendering context
60
+ * @returns Render context or null if WebGL 2.0 is not supported
61
+ */
62
+ export declare function createRenderContext(
63
+ canvas: HTMLCanvasElement,
64
+ options?: RenderContextOptions
65
+ ): RenderContext | null;
66
+
67
+ /**
68
+ * Preset render states for common use cases
69
+ */
70
+ export declare const RenderPresets: {
71
+ /** Default opaque rendering */
72
+ opaque(): RenderState;
73
+
74
+ /** Alpha-blended transparent rendering */
75
+ transparent(): RenderState;
76
+
77
+ /** Additive blending for effects */
78
+ additive(): RenderState;
79
+
80
+ /** Wireframe rendering */
81
+ wireframe(): RenderState;
82
+
83
+ /** 4D geometry with W-depth sorting */
84
+ geometry4D(): RenderState;
85
+
86
+ /** Transparent 4D with back-to-front sorting */
87
+ transparent4D(): RenderState;
88
+ };
89
+
90
+ /** Shader generation options */
91
+ export interface Shader4DOptions {
92
+ color?: boolean;
93
+ normal?: boolean;
94
+ lighting?: boolean;
95
+ wFog?: boolean;
96
+ }
97
+
98
+ /**
99
+ * Common shader snippets for 4D rendering
100
+ */
101
+ export declare const Shader4D: {
102
+ /** All rotation functions for 6 planes */
103
+ readonly rotation: string;
104
+
105
+ /** Projection functions (perspective, stereographic, orthographic) */
106
+ readonly projection: string;
107
+
108
+ /** Basic 4D vertex shader template */
109
+ readonly basicVertex: string;
110
+
111
+ /** Basic fragment shader with W-fog */
112
+ readonly basicFragment: string;
113
+
114
+ /**
115
+ * Generate complete vertex shader for 4D geometry
116
+ */
117
+ generateVertexShader(options?: Shader4DOptions): string;
118
+
119
+ /**
120
+ * Generate complete fragment shader for 4D geometry
121
+ */
122
+ generateFragmentShader(options?: Shader4DOptions): string;
123
+ };
124
+
125
+ /** Async render context options (supports WebGPU bridge) */
126
+ export interface AsyncRenderContextOptions extends RenderContextOptions {
127
+ /** Prefer WebGPU backend via UnifiedRenderBridge */
128
+ preferWebGPU?: boolean;
129
+ /** Use bridge mode ('bridge' | 'webgl' | 'webgpu') */
130
+ backend?: 'bridge' | 'webgl' | 'webgpu';
131
+ }
132
+
133
+ /**
134
+ * Create a rendering context asynchronously.
135
+ * Supports WebGPU via UnifiedRenderBridge when preferWebGPU or backend='bridge' is set.
136
+ * Falls back to WebGL context if WebGPU is unavailable.
137
+ */
138
+ export declare function createRenderContextAsync(
139
+ canvas: HTMLCanvasElement,
140
+ options?: AsyncRenderContextOptions
141
+ ): Promise<RenderContext | UnifiedRenderBridge | null>;