@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.
- package/CHANGELOG.md +118 -0
- package/DOCS/BLUEPRINT_EXECUTION_PLAN_2026-01-07.md +34 -0
- package/DOCS/CI_TESTING.md +38 -0
- package/DOCS/CLI_ONBOARDING.md +75 -0
- package/DOCS/CONTROL_REFERENCE.md +64 -0
- package/DOCS/DEV_TRACK_ANALYSIS.md +77 -0
- package/DOCS/DEV_TRACK_PLAN_2026-01-07.md +42 -0
- package/DOCS/DEV_TRACK_SESSION_2026-01-31.md +220 -0
- package/DOCS/ENV_SETUP.md +189 -0
- package/DOCS/EXPORT_FORMATS.md +417 -0
- package/DOCS/GPU_DISPOSAL_GUIDE.md +21 -0
- package/DOCS/LICENSING_TIERS.md +275 -0
- package/DOCS/MASTER_PLAN_2026-01-31.md +570 -0
- package/DOCS/OBS_SETUP_GUIDE.md +98 -0
- package/DOCS/PROJECT_SETUP.md +66 -0
- package/DOCS/RENDERER_LIFECYCLE.md +40 -0
- package/DOCS/REPO_MANIFEST.md +121 -0
- package/DOCS/SESSION_014_PLAN.md +195 -0
- package/DOCS/SESSION_LOG_2026-01-07.md +56 -0
- package/DOCS/STRATEGIC_BLUEPRINT_2026-01-07.md +72 -0
- package/DOCS/SYSTEM_AUDIT_2026-01-30.md +738 -0
- package/DOCS/SYSTEM_INVENTORY.md +520 -0
- package/DOCS/TELEMETRY_EXPORTS.md +34 -0
- package/DOCS/WEBGPU_STATUS.md +38 -0
- package/DOCS/XR_BENCHMARKS.md +608 -0
- package/LICENSE +21 -0
- package/README.md +426 -0
- package/docs/.nojekyll +0 -0
- package/docs/01-dissolution_of_euclidean_hegemony.html +346 -0
- package/docs/02-hyperspatial_ego_death.html +346 -0
- package/docs/03-post_cartesian_sublime.html +346 -0
- package/docs/04-crystalline_void_meditation.html +346 -0
- package/docs/05-quantum_decoherence_ballet.html +346 -0
- package/docs/06-dissolution_of_euclidean_hegemony.html +346 -0
- package/docs/07-hyperspatial_ego_death.html +346 -0
- package/docs/08-post_cartesian_sublime.html +346 -0
- package/docs/09-crystalline_void_meditation.html +346 -0
- package/docs/10-quantum_decoherence_ballet.html +346 -0
- package/docs/11-dissolution_of_euclidean_hegemony.html +346 -0
- package/docs/12-hyperspatial_ego_death.html +346 -0
- package/docs/13-post_cartesian_sublime.html +346 -0
- package/docs/index.html +794 -0
- package/docs/test-hub.html +441 -0
- package/docs/url-state.js +102 -0
- package/docs/vib3-exports/01-quantum-quantum-tetrahedron-lattice.html +489 -0
- package/docs/vib3-exports/02-quantum-quantum-hypersphere-matrix.html +489 -0
- package/docs/vib3-exports/03-quantum-quantum-hypertetra-fractal.html +489 -0
- package/docs/vib3-exports/04-faceted-faceted-crystal-structure.html +407 -0
- package/docs/vib3-exports/05-faceted-faceted-klein-bottle.html +407 -0
- package/docs/vib3-exports/06-faceted-faceted-hypertetra-torus.html +407 -0
- package/docs/vib3-exports/07-holographic-holographic-wave-field.html +457 -0
- package/docs/vib3-exports/08-holographic-holographic-hypersphere-sphere.html +457 -0
- package/docs/vib3-exports/09-holographic-holographic-hypertetra-crystal.html +457 -0
- package/docs/vib3-exports/index.html +238 -0
- package/docs/webgpu-live.html +702 -0
- package/package.json +367 -0
- package/src/advanced/AIPresetGenerator.js +777 -0
- package/src/advanced/MIDIController.js +703 -0
- package/src/advanced/OffscreenWorker.js +1051 -0
- package/src/advanced/WebGPUCompute.js +1051 -0
- package/src/advanced/WebXRRenderer.js +680 -0
- package/src/agent/cli/AgentCLI.js +615 -0
- package/src/agent/cli/index.js +14 -0
- package/src/agent/index.js +73 -0
- package/src/agent/mcp/MCPServer.js +950 -0
- package/src/agent/mcp/index.js +9 -0
- package/src/agent/mcp/tools.js +548 -0
- package/src/agent/telemetry/EventStream.js +669 -0
- package/src/agent/telemetry/Instrumentation.js +618 -0
- package/src/agent/telemetry/TelemetryExporters.js +427 -0
- package/src/agent/telemetry/TelemetryService.js +464 -0
- package/src/agent/telemetry/index.js +52 -0
- package/src/benchmarks/BenchmarkRunner.js +381 -0
- package/src/benchmarks/MetricsCollector.js +299 -0
- package/src/benchmarks/index.js +9 -0
- package/src/benchmarks/scenes.js +259 -0
- package/src/cli/index.js +675 -0
- package/src/config/ApiConfig.js +88 -0
- package/src/core/CanvasManager.js +217 -0
- package/src/core/ErrorReporter.js +117 -0
- package/src/core/ParameterMapper.js +333 -0
- package/src/core/Parameters.js +396 -0
- package/src/core/RendererContracts.js +200 -0
- package/src/core/UnifiedResourceManager.js +370 -0
- package/src/core/VIB3Engine.js +636 -0
- package/src/core/renderers/FacetedRendererAdapter.js +32 -0
- package/src/core/renderers/HolographicRendererAdapter.js +29 -0
- package/src/core/renderers/QuantumRendererAdapter.js +29 -0
- package/src/core/renderers/RendererLifecycleManager.js +63 -0
- package/src/creative/ColorPresetsSystem.js +980 -0
- package/src/creative/ParameterTimeline.js +1061 -0
- package/src/creative/PostProcessingPipeline.js +1113 -0
- package/src/creative/TransitionAnimator.js +683 -0
- package/src/export/CSSExporter.js +226 -0
- package/src/export/CardGeneratorBase.js +279 -0
- package/src/export/ExportManager.js +580 -0
- package/src/export/FacetedCardGenerator.js +279 -0
- package/src/export/HolographicCardGenerator.js +543 -0
- package/src/export/LottieExporter.js +552 -0
- package/src/export/QuantumCardGenerator.js +315 -0
- package/src/export/SVGExporter.js +519 -0
- package/src/export/ShaderExporter.js +903 -0
- package/src/export/TradingCardGenerator.js +3055 -0
- package/src/export/TradingCardManager.js +181 -0
- package/src/export/VIB3PackageExporter.js +559 -0
- package/src/export/index.js +14 -0
- package/src/export/systems/TradingCardSystemFaceted.js +494 -0
- package/src/export/systems/TradingCardSystemHolographic.js +452 -0
- package/src/export/systems/TradingCardSystemQuantum.js +411 -0
- package/src/faceted/FacetedSystem.js +963 -0
- package/src/features/CollectionManager.js +433 -0
- package/src/gallery/CollectionManager.js +240 -0
- package/src/gallery/GallerySystem.js +485 -0
- package/src/geometry/GeometryFactory.js +314 -0
- package/src/geometry/GeometryLibrary.js +72 -0
- package/src/geometry/buffers/BufferBuilder.js +338 -0
- package/src/geometry/buffers/index.js +18 -0
- package/src/geometry/generators/Crystal.js +420 -0
- package/src/geometry/generators/Fractal.js +298 -0
- package/src/geometry/generators/KleinBottle.js +197 -0
- package/src/geometry/generators/Sphere.js +192 -0
- package/src/geometry/generators/Tesseract.js +160 -0
- package/src/geometry/generators/Tetrahedron.js +225 -0
- package/src/geometry/generators/Torus.js +304 -0
- package/src/geometry/generators/Wave.js +341 -0
- package/src/geometry/index.js +142 -0
- package/src/geometry/warp/HypersphereCore.js +211 -0
- package/src/geometry/warp/HypertetraCore.js +386 -0
- package/src/geometry/warp/index.js +57 -0
- package/src/holograms/HolographicVisualizer.js +1073 -0
- package/src/holograms/RealHolographicSystem.js +966 -0
- package/src/holograms/variantRegistry.js +69 -0
- package/src/integrations/FigmaPlugin.js +854 -0
- package/src/integrations/OBSMode.js +754 -0
- package/src/integrations/ThreeJsPackage.js +660 -0
- package/src/integrations/TouchDesignerExport.js +552 -0
- package/src/integrations/frameworks/Vib3React.js +591 -0
- package/src/integrations/frameworks/Vib3Svelte.js +654 -0
- package/src/integrations/frameworks/Vib3Vue.js +628 -0
- package/src/llm/LLMParameterInterface.js +240 -0
- package/src/llm/LLMParameterUI.js +577 -0
- package/src/math/Mat4x4.js +708 -0
- package/src/math/Projection.js +341 -0
- package/src/math/Rotor4D.js +637 -0
- package/src/math/Vec4.js +476 -0
- package/src/math/constants.js +164 -0
- package/src/math/index.js +68 -0
- package/src/math/projections.js +54 -0
- package/src/math/rotations.js +196 -0
- package/src/quantum/QuantumEngine.js +906 -0
- package/src/quantum/QuantumVisualizer.js +1103 -0
- package/src/reactivity/ReactivityConfig.js +499 -0
- package/src/reactivity/ReactivityManager.js +586 -0
- package/src/reactivity/SpatialInputSystem.js +1783 -0
- package/src/reactivity/index.js +93 -0
- package/src/render/CommandBuffer.js +465 -0
- package/src/render/MultiCanvasBridge.js +340 -0
- package/src/render/RenderCommand.js +514 -0
- package/src/render/RenderResourceRegistry.js +523 -0
- package/src/render/RenderState.js +552 -0
- package/src/render/RenderTarget.js +512 -0
- package/src/render/ShaderLoader.js +253 -0
- package/src/render/ShaderProgram.js +599 -0
- package/src/render/UnifiedRenderBridge.js +496 -0
- package/src/render/backends/WebGLBackend.js +1108 -0
- package/src/render/backends/WebGPUBackend.js +1409 -0
- package/src/render/commands/CommandBufferExecutor.js +607 -0
- package/src/render/commands/RenderCommandBuffer.js +661 -0
- package/src/render/commands/index.js +17 -0
- package/src/render/index.js +367 -0
- package/src/scene/Disposable.js +498 -0
- package/src/scene/MemoryPool.js +618 -0
- package/src/scene/Node4D.js +697 -0
- package/src/scene/ResourceManager.js +599 -0
- package/src/scene/Scene4D.js +540 -0
- package/src/scene/index.js +98 -0
- package/src/schemas/error.schema.json +84 -0
- package/src/schemas/extension.schema.json +88 -0
- package/src/schemas/index.js +214 -0
- package/src/schemas/parameters.schema.json +142 -0
- package/src/schemas/tool-pack.schema.json +44 -0
- package/src/schemas/tool-response.schema.json +127 -0
- package/src/shaders/common/fullscreen.vert.glsl +5 -0
- package/src/shaders/common/fullscreen.vert.wgsl +17 -0
- package/src/shaders/common/geometry24.glsl +65 -0
- package/src/shaders/common/geometry24.wgsl +54 -0
- package/src/shaders/common/rotation4d.glsl +85 -0
- package/src/shaders/common/rotation4d.wgsl +86 -0
- package/src/shaders/common/uniforms.glsl +44 -0
- package/src/shaders/common/uniforms.wgsl +48 -0
- package/src/shaders/faceted/faceted.frag.glsl +129 -0
- package/src/shaders/faceted/faceted.frag.wgsl +164 -0
- package/src/shaders/holographic/holographic.frag.glsl +406 -0
- package/src/shaders/holographic/holographic.frag.wgsl +185 -0
- package/src/shaders/quantum/quantum.frag.glsl +513 -0
- package/src/shaders/quantum/quantum.frag.wgsl +361 -0
- package/src/testing/ParallelTestFramework.js +519 -0
- package/src/testing/__snapshots__/exportFormats.test.js.snap +24 -0
- package/src/testing/exportFormats.test.js +8 -0
- package/src/testing/projections.test.js +14 -0
- package/src/testing/rotations.test.js +37 -0
- package/src/ui/InteractivityMenu.js +516 -0
- package/src/ui/StatusManager.js +96 -0
- package/src/ui/adaptive/renderers/webgpu/BufferLayout.ts +252 -0
- package/src/ui/adaptive/renderers/webgpu/PolytopeInstanceBuffer.ts +144 -0
- package/src/ui/adaptive/renderers/webgpu/TripleBufferedUniform.ts +170 -0
- package/src/ui/adaptive/renderers/webgpu/WebGPURenderer.ts +735 -0
- package/src/ui/adaptive/renderers/webgpu/index.ts +112 -0
- package/src/variations/VariationManager.js +431 -0
- package/src/viewer/AudioReactivity.js +505 -0
- package/src/viewer/CardBending.js +481 -0
- package/src/viewer/GalleryUI.js +832 -0
- package/src/viewer/ReactivityManager.js +590 -0
- package/src/viewer/TradingCardExporter.js +600 -0
- package/src/viewer/ViewerPortal.js +374 -0
- package/src/viewer/index.js +12 -0
- package/src/wasm/WasmLoader.js +296 -0
- package/src/wasm/index.js +132 -0
- package/tools/agentic/mcpTools.js +88 -0
- package/tools/cli/agent-cli.js +92 -0
- package/tools/export/formats.js +24 -0
- package/tools/math/rotation-baseline.mjs +64 -0
- package/tools/shader-sync-verify.js +937 -0
- package/tools/telemetry/manifestPipeline.js +141 -0
- package/tools/telemetry/telemetryEvents.js +35 -0
- package/types/adaptive-sdk.d.ts +185 -0
- package/types/advanced/AIPresetGenerator.d.ts +81 -0
- package/types/advanced/MIDIController.d.ts +100 -0
- package/types/advanced/OffscreenWorker.d.ts +82 -0
- package/types/advanced/WebGPUCompute.d.ts +52 -0
- package/types/advanced/WebXRRenderer.d.ts +77 -0
- package/types/advanced/index.d.ts +46 -0
- package/types/core/ErrorReporter.d.ts +50 -0
- package/types/core/VIB3Engine.d.ts +204 -0
- package/types/creative/ColorPresetsSystem.d.ts +91 -0
- package/types/creative/ParameterTimeline.d.ts +74 -0
- package/types/creative/PostProcessingPipeline.d.ts +109 -0
- package/types/creative/TransitionAnimator.d.ts +71 -0
- package/types/creative/index.d.ts +35 -0
- package/types/integrations/FigmaPlugin.d.ts +46 -0
- package/types/integrations/OBSMode.d.ts +74 -0
- package/types/integrations/ThreeJsPackage.d.ts +62 -0
- package/types/integrations/TouchDesignerExport.d.ts +36 -0
- package/types/integrations/Vib3React.d.ts +74 -0
- package/types/integrations/Vib3Svelte.d.ts +63 -0
- package/types/integrations/Vib3Vue.d.ts +55 -0
- package/types/integrations/index.d.ts +52 -0
- package/types/reactivity/SpatialInputSystem.d.ts +173 -0
- package/types/reactivity/index.d.ts +394 -0
- package/types/render/CommandBuffer.d.ts +169 -0
- package/types/render/RenderCommand.d.ts +312 -0
- package/types/render/RenderState.d.ts +279 -0
- package/types/render/RenderTarget.d.ts +254 -0
- package/types/render/ShaderProgram.d.ts +277 -0
- package/types/render/UnifiedRenderBridge.d.ts +143 -0
- package/types/render/WebGLBackend.d.ts +168 -0
- package/types/render/WebGPUBackend.d.ts +186 -0
- package/types/render/index.d.ts +141 -0
|
@@ -0,0 +1,738 @@
|
|
|
1
|
+
# VIB3+ CORE System Audit
|
|
2
|
+
|
|
3
|
+
**Date**: January 30, 2026
|
|
4
|
+
**Version**: 2.0.0 (`@vib3code/sdk`)
|
|
5
|
+
**Branch**: `claude/phase-5-hardening-a4Wzn`
|
|
6
|
+
**Auditor**: Automated codebase review
|
|
7
|
+
**Owner**: Clear Seas Solutions LLC
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 1. Executive Summary
|
|
12
|
+
|
|
13
|
+
VIB3+ is a 4D visualization SDK with three active rendering systems (Quantum, Faceted, Holographic), a C++ WASM math core, dual GPU backends (WebGL + WebGPU), an MCP agentic control layer, a multi-format export pipeline, cross-platform targets (browser, CLI, Flutter), and as of v2.0.0: a universal spatial input system, creative tooling, platform integrations (React/Vue/Svelte/Figma/Three.js/TouchDesigner/OBS), and advanced features (WebXR/WebGPU Compute/MIDI/AI Presets/OffscreenWorker). The codebase contains ~95,000+ lines across 570+ files.
|
|
14
|
+
|
|
15
|
+
**Issues Fixed in v2.0.0**:
|
|
16
|
+
- Quantum system color control restored — `u_hue` and `u_saturation` now drive actual HSL color output
|
|
17
|
+
- Faceted system saturation wired — full `hsl2rgb()` pipeline added to GLSL + WGSL shaders
|
|
18
|
+
- Faceted system audio reactivity wired — bass/mid/high uniforms driving density/morph/hue
|
|
19
|
+
- `clickIntensity` uniform bug fixed — was mapping to `u_mouseIntensity`, now correctly maps to `u_clickIntensity`
|
|
20
|
+
- Shader sync verification tooling added — `npm run verify:shaders`
|
|
21
|
+
|
|
22
|
+
**New in v2.0.0** (18 new files, 15,512 lines):
|
|
23
|
+
- SpatialInputSystem (1,783 lines) — 8 input sources, 6 profiles, integrated into VIB3Engine
|
|
24
|
+
- Creative Tooling (3,837 lines) — color presets, transitions, post-processing, timeline
|
|
25
|
+
- Platform Integrations (4,693 lines) — React, Vue, Svelte, Figma, Three.js, TouchDesigner, OBS
|
|
26
|
+
- Advanced Features (4,262 lines) — WebXR, WebGPU compute, MIDI, AI presets, OffscreenWorker
|
|
27
|
+
- Shader Sync Tool (937 lines) — uniform verification across systems
|
|
28
|
+
|
|
29
|
+
---
|
|
30
|
+
|
|
31
|
+
## 2. System-by-System Audit
|
|
32
|
+
|
|
33
|
+
### 2.1 Quantum Visualization System
|
|
34
|
+
|
|
35
|
+
| Aspect | Status | Notes |
|
|
36
|
+
|--------|--------|-------|
|
|
37
|
+
| **Files** | `src/quantum/QuantumEngine.js` (845 lines), `QuantumVisualizer.js` (1090 lines) | |
|
|
38
|
+
| **24 geometries** | Working | All 24 variants (3 core types x 8 base geometries) |
|
|
39
|
+
| **6D rotation** | Working | Full XY/XZ/YZ/XW/YW/ZW pipeline in shader |
|
|
40
|
+
| **Color control** | Fixed (this session) | `u_hue` restored to actual hue, `u_saturation` wired in via HSL |
|
|
41
|
+
| **u_intensity** | Working | Controls overall brightness |
|
|
42
|
+
| **Audio reactivity** | Working | Bass→density, Mid→morph, High→hue shift, Energy→chaos |
|
|
43
|
+
| **Multi-layer rendering** | Working | 5 canvas layers with role-based differentiation |
|
|
44
|
+
| **Context loss recovery** | Working | Phase 5 hardening added listeners |
|
|
45
|
+
|
|
46
|
+
**Previous Bug**: `u_hue` was repurposed as a 0-1 global intensity modifier. Hardcoded RGB palettes per layer ignored user color choices entirely. `u_saturation` was declared but unused.
|
|
47
|
+
|
|
48
|
+
**Fix Applied**: Replaced hardcoded `getLayerColorPalette` with HSL-based color system. Each layer applies hue offsets from the user's base hue. Saturation fully wired. Particle colors derive from user hue.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
52
|
+
### 2.2 Faceted Visualization System
|
|
53
|
+
|
|
54
|
+
| Aspect | Status | Notes |
|
|
55
|
+
|--------|--------|-------|
|
|
56
|
+
| **Files** | `src/faceted/FacetedSystem.js` (826 lines) | Single-file system |
|
|
57
|
+
| **24 geometries** | Working | |
|
|
58
|
+
| **6D rotation** | Working | |
|
|
59
|
+
| **Color control** | **Fixed (v2.0.0)** | Full HSL via `hsl2rgb()` in GLSL + `hsl2rgb_w()` in WGSL |
|
|
60
|
+
| **u_saturation** | **Fixed (v2.0.0)** | Fully wired as uniform, affects HSL lightness/saturation |
|
|
61
|
+
| **u_intensity** | Working | Controls alpha |
|
|
62
|
+
| **Audio reactivity** | **Fixed (v2.0.0)** | `u_bass`, `u_mid`, `u_high` uniforms wired; bass→density, mid→morph, high→hue shift |
|
|
63
|
+
| **Click intensity** | **Fixed (v2.0.0)** | `u_clickIntensity` uniform with boost multiplier |
|
|
64
|
+
| **WebGPU path** | Defined | WGSL shader updated with matching audio/saturation support |
|
|
65
|
+
|
|
66
|
+
**v2.0.0 Fix**: Replaced cosine-wave color with proper `hsl2rgb()` function. Saturation now controls HSL saturation. Added 7 new uniforms: `u_saturation`, `u_speed`, `u_mouseIntensity`, `u_clickIntensity`, `u_bass`, `u_mid`, `u_high`. Audio reactivity reads from `window.audioReactive` global.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
### 2.3 Holographic Visualization System
|
|
71
|
+
|
|
72
|
+
| Aspect | Status | Notes |
|
|
73
|
+
|--------|--------|-------|
|
|
74
|
+
| **Files** | `RealHolographicSystem.js` (920 lines), `HolographicVisualizer.js` (1070 lines), `variantRegistry.js` (69 lines) | |
|
|
75
|
+
| **24 geometries** | Working | |
|
|
76
|
+
| **6D rotation** | Working | |
|
|
77
|
+
| **Color control** | Full | HSL→RGB on JS side, passed as `u_color` vec3. Best implementation |
|
|
78
|
+
| **Saturation** | Working | Full HSL with proper saturation |
|
|
79
|
+
| **5-layer architecture** | Working | background/shadow/content/highlight/accent canvases |
|
|
80
|
+
| **Audio reactivity** | Working | Layer-specific audio response |
|
|
81
|
+
|
|
82
|
+
**This is the gold standard for color control in the codebase.**
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
### 2.4 C++ WASM Core
|
|
87
|
+
|
|
88
|
+
| Aspect | Status | Notes |
|
|
89
|
+
|--------|--------|-------|
|
|
90
|
+
| **Files** | 6 source + 5 headers (3,072 lines total) | `cpp/` directory |
|
|
91
|
+
| **Rotor4D** | Working | Clifford algebra Cl(4,0) sandwich product |
|
|
92
|
+
| **Mat4x4** | Working | Column-major 4x4 operations |
|
|
93
|
+
| **Vec4** | Working | 4-component vector ops |
|
|
94
|
+
| **Projections** | Working | Perspective, stereographic, orthographic |
|
|
95
|
+
| **Emscripten bindings** | Working | `embind.cpp` exposes to JS |
|
|
96
|
+
| **Build system** | CMake + `build.sh` | Requires Emscripten SDK |
|
|
97
|
+
| **WASM artifact** | Present | `wasm/vib3_core.js` + `vib3_core.wasm` |
|
|
98
|
+
| **Fallback** | JS math modules | `src/math/` mirrors C++ API |
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
### 2.5 Render Infrastructure
|
|
103
|
+
|
|
104
|
+
| Component | File | Lines | Status |
|
|
105
|
+
|-----------|------|-------|--------|
|
|
106
|
+
| ShaderProgram | `src/render/ShaderProgram.js` | 599 | Working |
|
|
107
|
+
| UnifiedRenderBridge | `src/render/UnifiedRenderBridge.js` | 496 | Working |
|
|
108
|
+
| RenderCommand | `src/render/RenderCommand.js` | 514 | Working |
|
|
109
|
+
| CommandBuffer | `src/render/CommandBuffer.js` | 465 | Working |
|
|
110
|
+
| RenderState | `src/render/RenderState.js` | 552 | Working |
|
|
111
|
+
| RenderTarget | `src/render/RenderTarget.js` | 512 | Working |
|
|
112
|
+
| RenderResourceRegistry | `src/render/RenderResourceRegistry.js` | 523 | Working |
|
|
113
|
+
| ShaderLoader | `src/render/ShaderLoader.js` | 253 | Working |
|
|
114
|
+
| MultiCanvasBridge | `src/render/MultiCanvasBridge.js` | 340 | Working |
|
|
115
|
+
| WebGLBackend | `src/render/backends/WebGLBackend.js` | 1,108 | Primary path |
|
|
116
|
+
| WebGPUBackend | `src/render/backends/WebGPUBackend.js` | 1,409 | Available, secondary |
|
|
117
|
+
| CommandBufferExecutor | `src/render/commands/CommandBufferExecutor.js` | 607 | Working |
|
|
118
|
+
| RenderCommandBuffer | `src/render/commands/RenderCommandBuffer.js` | 661 | Working |
|
|
119
|
+
|
|
120
|
+
**Total render layer**: ~8,400 lines. This is a mature abstraction layer that supports both WebGL and WebGPU backends.
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
### 2.6 Shader Files (External)
|
|
125
|
+
|
|
126
|
+
| Shader | GLSL | WGSL | Purpose |
|
|
127
|
+
|--------|------|------|---------|
|
|
128
|
+
| Quantum fragment | 513 lines | 361 lines | Procedural quantum lattice |
|
|
129
|
+
| Faceted fragment | 129 lines | 164 lines | Geometric patterns |
|
|
130
|
+
| Holographic fragment | 406 lines | 185 lines | 5-layer effects |
|
|
131
|
+
| Fullscreen vertex | 5 lines | 17 lines | Shared fullscreen triangle |
|
|
132
|
+
| Common uniforms | 44 lines | 48 lines | Uniform declarations |
|
|
133
|
+
| 4D rotation lib | 85 lines | 86 lines | 6 rotation matrices |
|
|
134
|
+
| 24-geometry lib | 65 lines | 54 lines | Geometry encoding |
|
|
135
|
+
|
|
136
|
+
**Note**: The visualizer JS files embed their own inline shaders. The external shader files in `src/shaders/` exist for the ShaderLoader/UnifiedRenderBridge path. These two sets can drift apart and should be kept in sync.
|
|
137
|
+
|
|
138
|
+
---
|
|
139
|
+
|
|
140
|
+
### 2.7 Geometry System
|
|
141
|
+
|
|
142
|
+
| Component | Lines | Status |
|
|
143
|
+
|-----------|-------|--------|
|
|
144
|
+
| GeometryFactory | 314 | Working |
|
|
145
|
+
| GeometryLibrary | 71 | Working |
|
|
146
|
+
| 8 generators (Tetrahedron, Tesseract, Sphere, Torus, KleinBottle, Fractal, Wave, Crystal) | 2,137 total | Working |
|
|
147
|
+
| HypersphereCore warp | 211 | Working |
|
|
148
|
+
| HypertetraCore warp | 386 | Working |
|
|
149
|
+
| BufferBuilder | 338 | Working |
|
|
150
|
+
|
|
151
|
+
**24 geometry encoding**: `index = core_type * 8 + base_geometry` where core_type ∈ {0=Base, 1=Hypersphere, 2=Hypertetrahedron}.
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
### 2.8 Scene & Resource Management
|
|
156
|
+
|
|
157
|
+
| Component | Lines | Status |
|
|
158
|
+
|-----------|-------|--------|
|
|
159
|
+
| Scene4D | 540 | Working |
|
|
160
|
+
| Node4D | 697 | Working |
|
|
161
|
+
| ResourceManager | 599 | Working |
|
|
162
|
+
| MemoryPool | 618 | Working |
|
|
163
|
+
| Disposable | 498 | Working |
|
|
164
|
+
| UnifiedResourceManager (core) | 369 | Working |
|
|
165
|
+
|
|
166
|
+
---
|
|
167
|
+
|
|
168
|
+
### 2.9 Export System
|
|
169
|
+
|
|
170
|
+
| Component | Lines | Formats |
|
|
171
|
+
|-----------|-------|---------|
|
|
172
|
+
| ExportManager | 579 | Orchestrator |
|
|
173
|
+
| VIB3PackageExporter | 559 | JSON state package |
|
|
174
|
+
| SVGExporter | 519 | SVG vector |
|
|
175
|
+
| ShaderExporter | 903 | GLSL/WGSL source |
|
|
176
|
+
| CSSExporter | 226 | CSS animations |
|
|
177
|
+
| LottieExporter | 552 | Lottie JSON |
|
|
178
|
+
| TradingCardGenerator | 3,054 | Card canvas render |
|
|
179
|
+
| 3 system-specific card generators | ~1,134 | Quantum/Faceted/Holographic cards |
|
|
180
|
+
| TradingCardManager | 180 | Card state management |
|
|
181
|
+
|
|
182
|
+
**Total export system**: ~15,136 lines. This is one of the largest subsystems.
|
|
183
|
+
|
|
184
|
+
---
|
|
185
|
+
|
|
186
|
+
### 2.10 MCP Agentic System
|
|
187
|
+
|
|
188
|
+
| Component | Lines | Status |
|
|
189
|
+
|-----------|-------|--------|
|
|
190
|
+
| MCPServer | 950 | Working |
|
|
191
|
+
| MCP tools | 548 | set_parameter, get_parameter, set_system, randomize_all, save/load gallery, export |
|
|
192
|
+
| AgentCLI | 615 | Working |
|
|
193
|
+
| TelemetryService | 464 | Working |
|
|
194
|
+
| EventStream | 669 | Working |
|
|
195
|
+
| Instrumentation | 618 | Working |
|
|
196
|
+
| TelemetryExporters | 427 | Working |
|
|
197
|
+
| BenchmarkRunner | 381 | Working |
|
|
198
|
+
| MetricsCollector | 299 | Working |
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
### 2.11 Core Engine
|
|
203
|
+
|
|
204
|
+
| Component | Lines | Purpose |
|
|
205
|
+
|-----------|-------|---------|
|
|
206
|
+
| VIB3Engine | 517 | Main orchestrator |
|
|
207
|
+
| CanvasManager | 216 | Canvas lifecycle |
|
|
208
|
+
| Parameters | 395 | Parameter definitions |
|
|
209
|
+
| ParameterMapper | 332 | Param→uniform mapping |
|
|
210
|
+
| RendererContracts | 200 | Interface contracts |
|
|
211
|
+
| Renderer adapters (3) | ~300 | System adapters |
|
|
212
|
+
| RendererLifecycleManager | ~150 | Init/suspend/dispose |
|
|
213
|
+
|
|
214
|
+
---
|
|
215
|
+
|
|
216
|
+
### 2.12 UI & Viewer
|
|
217
|
+
|
|
218
|
+
| Component | Lines | Purpose |
|
|
219
|
+
|-----------|-------|---------|
|
|
220
|
+
| GalleryUI | 832 | Gallery interface |
|
|
221
|
+
| AudioReactivity | 505 | Audio input |
|
|
222
|
+
| TradingCardExporter | 600 | Card export UI |
|
|
223
|
+
| ReactivityManager (viewer) | 590 | Reactivity UI |
|
|
224
|
+
| CardBending | 481 | 3D card effects |
|
|
225
|
+
| ViewerPortal | 374 | Modal/portal |
|
|
226
|
+
| InteractivityMenu | 515 | Control menu |
|
|
227
|
+
| StatusManager | 95 | Notifications |
|
|
228
|
+
| LLMParameterInterface | ~200 | LLM control |
|
|
229
|
+
| LLMParameterUI | ~150 | LLM UI |
|
|
230
|
+
|
|
231
|
+
---
|
|
232
|
+
|
|
233
|
+
### 2.13 Cross-Platform Targets
|
|
234
|
+
|
|
235
|
+
| Target | Location | Status |
|
|
236
|
+
|--------|----------|--------|
|
|
237
|
+
| **Browser** | `index.html` + `src/` | Primary. Vite-served |
|
|
238
|
+
| **CLI** | `src/cli/index.js` | Working. `vib3` binary |
|
|
239
|
+
| **Flutter plugin** | `flutter/` | Present. iOS + Android + Web |
|
|
240
|
+
| **Flutter demo** | `examples/flutter_demo/` | Present |
|
|
241
|
+
| **GitHub Pages** | `docs/` | Deployed. 26 HTML pages |
|
|
242
|
+
| **NPM SDK** | `@vib3code/sdk` package.json | Defined |
|
|
243
|
+
|
|
244
|
+
---
|
|
245
|
+
|
|
246
|
+
### 2.14 Testing
|
|
247
|
+
|
|
248
|
+
| Category | Files | Lines | Framework |
|
|
249
|
+
|----------|-------|-------|-----------|
|
|
250
|
+
| Unit tests (math, geometry, render, scene) | ~20 | ~6,350 | Vitest |
|
|
251
|
+
| E2E tests | 5 | ~1,489 | Playwright + custom |
|
|
252
|
+
| Playwright specs | 3 | ~800 | Playwright |
|
|
253
|
+
| Agent tests | 4 | ~756 | Vitest |
|
|
254
|
+
| Browser tests | 2 | ~300 | Custom |
|
|
255
|
+
| **Total** | **~34** | **~10,000+** | |
|
|
256
|
+
|
|
257
|
+
---
|
|
258
|
+
|
|
259
|
+
### 2.15 CI/CD
|
|
260
|
+
|
|
261
|
+
| Workflow | Trigger | Purpose |
|
|
262
|
+
|----------|---------|---------|
|
|
263
|
+
| `pages.yml` | Push | GitHub Pages deploy |
|
|
264
|
+
| `benchmarks.yml` | Manual/PR | Performance benchmarks |
|
|
265
|
+
| `exports.yml` | Manual | Export generation |
|
|
266
|
+
| `gpu-visual-tests.yml` | PR | GPU visual regression |
|
|
267
|
+
| `flutter-web.yml` | Push | Flutter web build |
|
|
268
|
+
| `flutter-apk.yml` | Push | Android APK build |
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
272
|
+
### 2.16 Configuration & Build
|
|
273
|
+
|
|
274
|
+
| File | Purpose |
|
|
275
|
+
|------|---------|
|
|
276
|
+
| `package.json` | NPM config, v2.0.0, @vib3code/sdk |
|
|
277
|
+
| `vite.config.js` | Dev server + build |
|
|
278
|
+
| `vitest.config.js` | Unit test config |
|
|
279
|
+
| `playwright.config.js` | E2E test config |
|
|
280
|
+
| `cpp/CMakeLists.txt` | WASM build |
|
|
281
|
+
|
|
282
|
+
---
|
|
283
|
+
|
|
284
|
+
### 2.17 Archived/Legacy Code
|
|
285
|
+
|
|
286
|
+
`archive/` contains 15 subdirectories of legacy, experimental, and duplicate code. This was cleaned up in commit `e82d982`. Includes: old SDK, old demos, duplicate engines/exports/holographic, experimental core, legacy docs/UI, math duplicates, physics (unused), platforms, polychora (incomplete), old scripts.
|
|
287
|
+
|
|
288
|
+
---
|
|
289
|
+
|
|
290
|
+
## 3. Known Issues & Technical Debt
|
|
291
|
+
|
|
292
|
+
### Resolved in v2.0.0
|
|
293
|
+
| # | Severity | Area | Description | Resolution |
|
|
294
|
+
|---|----------|------|-------------|------------|
|
|
295
|
+
| 1 | ~~Medium~~ | Faceted | ~~`u_saturation` not used in GLSL shader~~ | **FIXED**: Added `hsl2rgb()` function, full HSL pipeline |
|
|
296
|
+
| 2 | ~~Low~~ | Shaders | ~~Inline shaders can drift from external files~~ | **MITIGATED**: `tools/shader-sync-verify.js` added |
|
|
297
|
+
| 3 | ~~Low~~ | Quantum | ~~`clickIntensity` maps to `u_mouseIntensity`~~ | **FIXED**: Now maps to `u_clickIntensity` |
|
|
298
|
+
| 4 | ~~Low~~ | Faceted | ~~No audio reactivity wiring~~ | **FIXED**: bass/mid/high uniforms wired |
|
|
299
|
+
|
|
300
|
+
### Remaining Issues
|
|
301
|
+
| # | Severity | Area | Description |
|
|
302
|
+
|---|----------|------|-------------|
|
|
303
|
+
| 5 | Info | WebGPU | WebGPU backend present and functional but not actively tested in CI with real GPU |
|
|
304
|
+
| 6 | Info | Polychora | System archived, not production-ready. TBD placeholder. |
|
|
305
|
+
| 7 | Info | Export | Export system (15K lines) is the largest subsystem — may benefit from modularization |
|
|
306
|
+
| 8 | Info | Archive | 15 directories of archived code still in repo |
|
|
307
|
+
| 9 | Low | v2.0.0 | New modules (creative, integrations, advanced) need test coverage |
|
|
308
|
+
| 10 | Low | v2.0.0 | Platform integration components need validation with real framework apps |
|
|
309
|
+
|
|
310
|
+
---
|
|
311
|
+
|
|
312
|
+
## 4. Improvement, Enhancement & Expansion Opportunities
|
|
313
|
+
|
|
314
|
+
### 4.1 Immediate Fixes
|
|
315
|
+
|
|
316
|
+
1. **Wire saturation into Faceted system** — Add proper HSL conversion to the Faceted GLSL shader, matching the approach now used in Quantum
|
|
317
|
+
2. **Fix clickIntensity uniform bug** — Line 782 of QuantumVisualizer.js maps `clickIntensity` to `u_mouseIntensity` instead of its own uniform
|
|
318
|
+
3. **Add audio reactivity to Faceted** — The only system without it; users expect consistent behavior across systems
|
|
319
|
+
4. **Shader sync tooling** — Script or build step to verify inline shaders match external `.glsl`/`.wgsl` files
|
|
320
|
+
|
|
321
|
+
### 4.2 Visual & Creative Enhancements
|
|
322
|
+
|
|
323
|
+
5. **Color presets/themes** — Named color palettes (e.g., "Ocean", "Lava", "Neon", "Monochrome") that set hue/saturation/intensity as a group
|
|
324
|
+
6. **Gradient/multi-hue mode** — Allow two or three hue stops that blend across geometry, not just a single hue
|
|
325
|
+
7. **Post-processing pipeline** — Bloom, chromatic aberration, vignette, film grain as composable post-FX. Currently some effects are baked into shaders
|
|
326
|
+
8. **Transition animations** — Smooth interpolation when switching between systems or geometries (currently snaps)
|
|
327
|
+
9. **Custom shader injection** — Allow advanced users to inject custom fragment shader snippets via MCP or UI
|
|
328
|
+
10. **3D depth-of-field** — Use the W-component distance for depth blur effects after projection
|
|
329
|
+
|
|
330
|
+
### 4.3 Performance & Architecture
|
|
331
|
+
|
|
332
|
+
11. **WebGPU compute shaders** — Use compute for particle simulations, geometry generation, or audio FFT on GPU
|
|
333
|
+
12. **Instanced rendering** — For particle-heavy geometry variants, switch from fragment-only to instanced vertex+fragment
|
|
334
|
+
13. **Lazy loading** — Split the 15K-line export system into dynamic imports so it doesn't load until needed
|
|
335
|
+
14. **WASM SIMD** — Enable SIMD extensions in the C++ build for faster rotor/matrix math
|
|
336
|
+
15. **OffscreenCanvas** — Move rendering to a Web Worker for UI-thread-free rendering
|
|
337
|
+
16. **Shared shader library** — Single source of truth for shader code, compiled into both inline and external forms at build time
|
|
338
|
+
|
|
339
|
+
### 4.4 Interaction & Input
|
|
340
|
+
|
|
341
|
+
17. **Multi-touch gestures** — Pinch-to-zoom for dimension, two-finger rotate for 4D rotations, swipe for geometry cycling
|
|
342
|
+
18. **MIDI controller support** — Map MIDI CC values to any parameter for live performance use
|
|
343
|
+
19. **Gamepad API** — Use analog sticks for 6D rotation control (L/R sticks = 3D + 4D planes)
|
|
344
|
+
20. **Accelerometer/gyroscope** — Already partially implemented via device tilt toggle; deepen to full 6DOF device orientation
|
|
345
|
+
|
|
346
|
+
### 4.5 Data & AI
|
|
347
|
+
|
|
348
|
+
21. **Parameter animation curves** — Record and playback parameter sequences as keyframed timelines
|
|
349
|
+
22. **AI-generated presets** — Use LLM to generate parameter combinations from natural language ("something that looks like a breathing jellyfish")
|
|
350
|
+
23. **State diffing** — Compare two saved gallery states and visualize the parameter differences
|
|
351
|
+
24. **Analytics dashboard** — Track which geometries, colors, and systems users spend time on
|
|
352
|
+
|
|
353
|
+
---
|
|
354
|
+
|
|
355
|
+
## 5. Creative & Design Platform Integration Strategy
|
|
356
|
+
|
|
357
|
+
### 5.1 Design Tool Integrations
|
|
358
|
+
|
|
359
|
+
| Platform | Integration Type | Value Proposition | Approach |
|
|
360
|
+
|----------|-----------------|-------------------|----------|
|
|
361
|
+
| **Figma** | Plugin | Export VIB3+ visuals as Figma frames/components. Import Figma color tokens as VIB3+ palettes | Figma Plugin API → SVG/PNG export, color token import |
|
|
362
|
+
| **Adobe After Effects** | Plugin/Script | Export VIB3+ animations as AE compositions. Use Lottie export as bridge | ExtendScript or CEP panel, Lottie JSON → Bodymovin import |
|
|
363
|
+
| **Adobe Illustrator** | Script | Export SVG geometry from VIB3+ directly into AI documents | SVGExporter output → AI file via script |
|
|
364
|
+
| **Blender** | Add-on | Export 4D geometry meshes and rotation keyframes to Blender for 3D rendering | Python add-on consuming VIB3Package JSON → mesh/keyframe |
|
|
365
|
+
| **Cinema 4D / Houdini** | Plugin | Import 4D geometry data for procedural workflows | Alembic or custom format export |
|
|
366
|
+
| **Canva** | App SDK | Embed VIB3+ visualizations as interactive Canva elements | Canva Apps SDK iframe integration |
|
|
367
|
+
| **Webflow** | Custom code | Embed VIB3+ as a Webflow custom code component | `<script>` embed + Webflow CMS bindings for parameters |
|
|
368
|
+
|
|
369
|
+
### 5.2 Creative Coding & Performance Platforms
|
|
370
|
+
|
|
371
|
+
| Platform | Integration | Approach |
|
|
372
|
+
|----------|-------------|----------|
|
|
373
|
+
| **TouchDesigner** | GLSL TOP / Python | Export GLSL shaders directly into TouchDesigner GLSL TOPs. Python script drives parameters via OSC/WebSocket |
|
|
374
|
+
| **Processing / p5.js** | Library wrapper | Thin p5.js wrapper around VIB3Engine for creative coding sketches |
|
|
375
|
+
| **Unity** | Shader Graph / C# | Port GLSL shaders to HLSL for Unity Shader Graph. C# wrapper for parameter control |
|
|
376
|
+
| **Unreal Engine** | Material/Blueprint | Convert shaders to HLSL material functions. Blueprint nodes for MCP parameter control |
|
|
377
|
+
| **Three.js / R3F** | ShaderMaterial | Package VIB3+ shaders as Three.js ShaderMaterial with uniform bindings |
|
|
378
|
+
| **Babylon.js** | Custom material | Same approach as Three.js, targeting Babylon's material system |
|
|
379
|
+
| **cables.gl** | Custom operator | Package as cables.gl operator for node-based visual programming |
|
|
380
|
+
| **Hydra (live coding)** | GLSL source | Export shader snippets compatible with Hydra's live-coding GLSL system |
|
|
381
|
+
| **VDMX / Resolume** | FFGL / Spout | Export as FFGL plugin or stream via Spout/Syphon for VJ software |
|
|
382
|
+
|
|
383
|
+
### 5.3 Web & App Platforms
|
|
384
|
+
|
|
385
|
+
| Platform | Integration | Approach |
|
|
386
|
+
|----------|-------------|----------|
|
|
387
|
+
| **React / Next.js** | NPM package | Already an NPM SDK. Add a `<Vib3Canvas>` React component wrapper |
|
|
388
|
+
| **Vue / Nuxt** | NPM package | Vue component wrapper around VIB3Engine |
|
|
389
|
+
| **Svelte** | NPM package | Svelte component with reactive parameter bindings |
|
|
390
|
+
| **React Native** | WebView + bridge | Render in WebView, bridge parameters via `postMessage` |
|
|
391
|
+
| **Flutter** | Already started | `flutter/` plugin exists. Needs production hardening |
|
|
392
|
+
| **Electron** | Direct | Run VIB3+ in Electron for desktop app distribution |
|
|
393
|
+
| **Tauri** | Direct | Lighter desktop alternative via Rust + WebView |
|
|
394
|
+
| **WordPress** | Block / shortcode | WP block or shortcode that embeds VIB3+ with configurable parameters |
|
|
395
|
+
| **Shopify** | Theme section | Liquid template section for product visualization backgrounds |
|
|
396
|
+
|
|
397
|
+
### 5.4 XR & Spatial Computing
|
|
398
|
+
|
|
399
|
+
| Platform | Integration | Approach |
|
|
400
|
+
|----------|-------------|----------|
|
|
401
|
+
| **WebXR** | Immersive mode | Add WebXR session support to render 4D projections in VR/AR headsets |
|
|
402
|
+
| **Apple Vision Pro** | visionOS app | Swift/SwiftUI wrapper around WebView or Metal shader port |
|
|
403
|
+
| **Meta Quest** | WebXR or native | Browser-based WebXR or native OpenXR with ported shaders |
|
|
404
|
+
| **AR.js / 8th Wall** | Overlay | Render VIB3+ as AR overlay via camera passthrough |
|
|
405
|
+
|
|
406
|
+
### 5.5 Music & Audio Platforms
|
|
407
|
+
|
|
408
|
+
| Platform | Integration | Approach |
|
|
409
|
+
|----------|-------------|----------|
|
|
410
|
+
| **Ableton Live (Max4Live)** | OSC/WebSocket bridge | Max4Live device sends audio analysis to VIB3+ via WebSocket |
|
|
411
|
+
| **Spotify Canvas** | Video export | Render VIB3+ sequences as looping video for Spotify Canvas |
|
|
412
|
+
| **YouTube Music Visualizer** | Browser extension | Chrome extension injects VIB3+ canvas driven by audio element |
|
|
413
|
+
| **OBS Studio** | Browser source | Already works — add OBS as a documented target with transparent background mode |
|
|
414
|
+
|
|
415
|
+
### 5.6 AI & Generative Platforms
|
|
416
|
+
|
|
417
|
+
| Platform | Integration | Approach |
|
|
418
|
+
|----------|-------------|----------|
|
|
419
|
+
| **ComfyUI / Stable Diffusion** | Custom node | VIB3+ renders used as ControlNet inputs or img2img sources |
|
|
420
|
+
| **Runway ML** | API integration | Feed VIB3+ frames into Runway Gen-3 for AI video enhancement |
|
|
421
|
+
| **MCP ecosystem** | Already built | MCPServer.js supports agentic control. Extend tool set for richer AI-driven experiences |
|
|
422
|
+
| **LangChain / LlamaIndex** | Tool binding | Bind MCP tools as LangChain tools for LLM-orchestrated visualizations |
|
|
423
|
+
|
|
424
|
+
### 5.7 Distribution & Monetization
|
|
425
|
+
|
|
426
|
+
| Channel | Format | Approach |
|
|
427
|
+
|---------|--------|----------|
|
|
428
|
+
| **NPM** | SDK package | Already defined as `@vib3code/sdk`. Publish to NPM registry |
|
|
429
|
+
| **GitHub Marketplace** | Action / App | GitHub Action for automated VIB3+ asset generation in CI |
|
|
430
|
+
| **Chrome Web Store** | Extension | New tab page or visualizer extension |
|
|
431
|
+
| **App stores (iOS/Android)** | Flutter app | Flutter plugin → standalone app distribution |
|
|
432
|
+
| **NFT/digital art** | On-chain metadata | Export VIB3Package as on-chain metadata with IPFS-hosted renders |
|
|
433
|
+
| **Stock visual platforms** | Video loops | Render and sell looping VIB3+ animations on Shutterstock, Adobe Stock, Pond5 |
|
|
434
|
+
|
|
435
|
+
---
|
|
436
|
+
|
|
437
|
+
## 6. Priority Roadmap
|
|
438
|
+
|
|
439
|
+
### Phase A — Parity & Polish ✅ COMPLETE (v2.0.0)
|
|
440
|
+
- [x] Restore Quantum color control
|
|
441
|
+
- [x] Wire saturation into Faceted system (`hsl2rgb()` in GLSL + WGSL)
|
|
442
|
+
- [x] Fix clickIntensity uniform bug (QuantumVisualizer.js:792)
|
|
443
|
+
- [x] Add audio reactivity to Faceted (bass/mid/high uniforms)
|
|
444
|
+
- [x] Shader sync verification tooling (`tools/shader-sync-verify.js`)
|
|
445
|
+
|
|
446
|
+
### Phase B — Creative Tooling ✅ COMPLETE (v2.0.0)
|
|
447
|
+
- [x] Color presets/themes system (`src/creative/ColorPresetsSystem.js` — 980 lines, 22 presets)
|
|
448
|
+
- [x] Transition animations between states (`src/creative/TransitionAnimator.js` — 683 lines, 14 easings)
|
|
449
|
+
- [x] Post-processing composable FX pipeline (`src/creative/PostProcessingPipeline.js` — 1,113 lines, 14 effects)
|
|
450
|
+
- [x] Parameter animation keyframes/timeline (`src/creative/ParameterTimeline.js` — 1,061 lines, BPM sync)
|
|
451
|
+
|
|
452
|
+
### Phase C — Platform Integrations ✅ COMPLETE (v2.0.0)
|
|
453
|
+
- [x] React component + `useVib3()` hook (`src/integrations/frameworks/Vib3React.js` — 591 lines)
|
|
454
|
+
- [x] Vue 3 component + composable (`src/integrations/frameworks/Vib3Vue.js` — 628 lines)
|
|
455
|
+
- [x] Svelte component + store (`src/integrations/frameworks/Vib3Svelte.js` — 654 lines)
|
|
456
|
+
- [x] Figma plugin (`src/integrations/FigmaPlugin.js` — 854 lines)
|
|
457
|
+
- [x] Three.js ShaderMaterial package (`src/integrations/ThreeJsPackage.js` — 660 lines)
|
|
458
|
+
- [x] TouchDesigner GLSL TOP export (`src/integrations/TouchDesignerExport.js` — 552 lines)
|
|
459
|
+
- [x] OBS transparent background mode (`src/integrations/OBSMode.js` — 754 lines)
|
|
460
|
+
|
|
461
|
+
### Phase D — Advanced ✅ COMPLETE (v2.0.0)
|
|
462
|
+
- [x] WebXR immersive rendering (`src/advanced/WebXRRenderer.js` — 680 lines)
|
|
463
|
+
- [x] WebGPU compute shaders for particles/audio FFT (`src/advanced/WebGPUCompute.js` — 1,051 lines)
|
|
464
|
+
- [x] MIDI controller mapping (`src/advanced/MIDIController.js` — 703 lines)
|
|
465
|
+
- [x] AI preset generation via MCP + LLM (`src/advanced/AIPresetGenerator.js` — 777 lines)
|
|
466
|
+
- [x] OffscreenCanvas worker rendering (`src/advanced/OffscreenWorker.js` — 1,051 lines)
|
|
467
|
+
|
|
468
|
+
### SpatialInputSystem ✅ COMPLETE (v2.0.0)
|
|
469
|
+
- [x] Universal spatial input system (`src/reactivity/SpatialInputSystem.js` — 1,783 lines)
|
|
470
|
+
- [x] 8 input source types (deviceTilt, mouse, gyroscope, gamepad, perspective, programmatic, audio, MIDI)
|
|
471
|
+
- [x] 6 built-in profiles (cardTilt, wearablePerspective, gameAsset, vjAudioSpatial, uiElement, immersiveXR)
|
|
472
|
+
- [x] Integrated into VIB3Engine with 7 new methods
|
|
473
|
+
- [x] Full serialization (exportConfig/importConfig)
|
|
474
|
+
|
|
475
|
+
### Phase E — Next (Planned)
|
|
476
|
+
- [ ] Add test coverage for all v2.0.0 modules
|
|
477
|
+
- [ ] Validate platform integrations with real framework apps
|
|
478
|
+
- [ ] Publish @vib3code/sdk v2.0.0 to NPM registry
|
|
479
|
+
- [ ] Production-harden WebGPU shader pipeline
|
|
480
|
+
- [ ] Create example apps for each framework integration
|
|
481
|
+
|
|
482
|
+
---
|
|
483
|
+
|
|
484
|
+
## 7. File Index (Complete)
|
|
485
|
+
|
|
486
|
+
### Root
|
|
487
|
+
| File | Purpose |
|
|
488
|
+
|------|---------|
|
|
489
|
+
| `index.html` | Main entry point |
|
|
490
|
+
| `package.json` | NPM config v2.0.0 |
|
|
491
|
+
| `vite.config.js` | Build config |
|
|
492
|
+
| `vitest.config.js` | Test config |
|
|
493
|
+
| `playwright.config.js` | E2E config |
|
|
494
|
+
| `CLAUDE.md` | AI/dev reference |
|
|
495
|
+
| `README.md` | Project overview |
|
|
496
|
+
| `24-GEOMETRY-6D-ROTATION-SUMMARY.md` | Geometry docs |
|
|
497
|
+
| `.gitignore` | Git exclusions |
|
|
498
|
+
| `.nojekyll` | Pages marker |
|
|
499
|
+
|
|
500
|
+
### `cpp/` — WASM Core (3,072 lines)
|
|
501
|
+
| File | Lines | Purpose |
|
|
502
|
+
|------|-------|---------|
|
|
503
|
+
| `src/vib3_ffi.cpp` | 607 | FFI bridge |
|
|
504
|
+
| `math/Rotor4D.cpp` | 322 | 4D rotation |
|
|
505
|
+
| `math/Mat4x4.cpp` | 409 | Matrix ops |
|
|
506
|
+
| `math/Vec4.cpp` | 303 | Vector ops |
|
|
507
|
+
| `math/Projection.cpp` | 142 | Projections |
|
|
508
|
+
| `bindings/embind.cpp` | 269 | JS bindings |
|
|
509
|
+
| `include/vib3_ffi.h` | 238 | FFI header |
|
|
510
|
+
| `math/Rotor4D.hpp` | 204 | Rotor header |
|
|
511
|
+
| `math/Mat4x4.hpp` | 209 | Matrix header |
|
|
512
|
+
| `math/Vec4.hpp` | 221 | Vector header |
|
|
513
|
+
| `math/Projection.hpp` | 148 | Projection header |
|
|
514
|
+
|
|
515
|
+
### `src/core/` — Engine Core (2,400 lines)
|
|
516
|
+
| File | Lines | Purpose |
|
|
517
|
+
|------|-------|---------|
|
|
518
|
+
| `VIB3Engine.js` | 517 | Main engine |
|
|
519
|
+
| `CanvasManager.js` | 216 | Canvas lifecycle |
|
|
520
|
+
| `Parameters.js` | 395 | Parameter defs |
|
|
521
|
+
| `ParameterMapper.js` | 332 | Param→uniform |
|
|
522
|
+
| `UnifiedResourceManager.js` | 369 | Resource mgmt |
|
|
523
|
+
| `RendererContracts.js` | 200 | Interfaces |
|
|
524
|
+
| `renderers/QuantumRendererAdapter.js` | ~100 | Quantum adapter |
|
|
525
|
+
| `renderers/FacetedRendererAdapter.js` | ~100 | Faceted adapter |
|
|
526
|
+
| `renderers/HolographicRendererAdapter.js` | ~100 | Holo adapter |
|
|
527
|
+
| `renderers/RendererLifecycleManager.js` | ~150 | Lifecycle mgmt |
|
|
528
|
+
|
|
529
|
+
### `src/quantum/` — Quantum System (1,935 lines)
|
|
530
|
+
| File | Lines | Purpose |
|
|
531
|
+
|------|-------|---------|
|
|
532
|
+
| `QuantumEngine.js` | 845 | System manager |
|
|
533
|
+
| `QuantumVisualizer.js` | 1090 | WebGL renderer |
|
|
534
|
+
|
|
535
|
+
### `src/faceted/` — Faceted System (826 lines)
|
|
536
|
+
| File | Lines | Purpose |
|
|
537
|
+
|------|-------|---------|
|
|
538
|
+
| `FacetedSystem.js` | 826 | Complete system |
|
|
539
|
+
|
|
540
|
+
### `src/holograms/` — Holographic System (1,989 lines)
|
|
541
|
+
| File | Lines | Purpose |
|
|
542
|
+
|------|-------|---------|
|
|
543
|
+
| `RealHolographicSystem.js` | 920 | System manager |
|
|
544
|
+
| `HolographicVisualizer.js` | 1070 | 5-layer renderer |
|
|
545
|
+
| `variantRegistry.js` | 69 | Variant registry |
|
|
546
|
+
|
|
547
|
+
### `src/render/` — Render Infrastructure (8,400 lines)
|
|
548
|
+
| File | Lines | Purpose |
|
|
549
|
+
|------|-------|---------|
|
|
550
|
+
| `ShaderProgram.js` | 599 | Shader mgmt |
|
|
551
|
+
| `UnifiedRenderBridge.js` | 496 | Backend abstraction |
|
|
552
|
+
| `RenderCommand.js` | 514 | Command defs |
|
|
553
|
+
| `CommandBuffer.js` | 465 | Command batching |
|
|
554
|
+
| `RenderState.js` | 552 | State tracking |
|
|
555
|
+
| `RenderTarget.js` | 512 | FBO/texture targets |
|
|
556
|
+
| `RenderResourceRegistry.js` | 523 | Resource registry |
|
|
557
|
+
| `ShaderLoader.js` | 253 | Shader file loading |
|
|
558
|
+
| `MultiCanvasBridge.js` | 340 | Multi-canvas coord |
|
|
559
|
+
| `backends/WebGLBackend.js` | 1,108 | WebGL 2.0 |
|
|
560
|
+
| `backends/WebGPUBackend.js` | 1,409 | WebGPU |
|
|
561
|
+
| `commands/RenderCommandBuffer.js` | 661 | Command queue |
|
|
562
|
+
| `commands/CommandBufferExecutor.js` | 607 | Command exec |
|
|
563
|
+
|
|
564
|
+
### `src/shaders/` — Shader Files (2,162 lines)
|
|
565
|
+
| File | Lines | Purpose |
|
|
566
|
+
|------|-------|---------|
|
|
567
|
+
| `common/fullscreen.vert.glsl` | 5 | Vertex shader |
|
|
568
|
+
| `common/fullscreen.vert.wgsl` | 17 | WGSL vertex |
|
|
569
|
+
| `common/uniforms.glsl` | 44 | Uniform defs |
|
|
570
|
+
| `common/uniforms.wgsl` | 48 | WGSL uniforms |
|
|
571
|
+
| `common/rotation4d.glsl` | 85 | Rotation matrices |
|
|
572
|
+
| `common/rotation4d.wgsl` | 86 | WGSL rotations |
|
|
573
|
+
| `common/geometry24.glsl` | 65 | Geometry encoding |
|
|
574
|
+
| `common/geometry24.wgsl` | 54 | WGSL geometry |
|
|
575
|
+
| `quantum/quantum.frag.glsl` | 513 | Quantum frag |
|
|
576
|
+
| `quantum/quantum.frag.wgsl` | 361 | WGSL quantum |
|
|
577
|
+
| `faceted/faceted.frag.glsl` | 129 | Faceted frag |
|
|
578
|
+
| `faceted/faceted.frag.wgsl` | 164 | WGSL faceted |
|
|
579
|
+
| `holographic/holographic.frag.glsl` | 406 | Holo frag |
|
|
580
|
+
| `holographic/holographic.frag.wgsl` | 185 | WGSL holo |
|
|
581
|
+
|
|
582
|
+
### `src/geometry/` — Geometry System (3,674 lines)
|
|
583
|
+
| File | Lines | Purpose |
|
|
584
|
+
|------|-------|---------|
|
|
585
|
+
| `GeometryFactory.js` | 314 | Factory |
|
|
586
|
+
| `GeometryLibrary.js` | 71 | Definitions |
|
|
587
|
+
| `generators/Tetrahedron.js` | 225 | Simplex |
|
|
588
|
+
| `generators/Tesseract.js` | 160 | Hypercube |
|
|
589
|
+
| `generators/Sphere.js` | 192 | Sphere |
|
|
590
|
+
| `generators/Torus.js` | 304 | Torus |
|
|
591
|
+
| `generators/KleinBottle.js` | 197 | Klein bottle |
|
|
592
|
+
| `generators/Fractal.js` | 298 | Fractal |
|
|
593
|
+
| `generators/Wave.js` | 341 | Wave |
|
|
594
|
+
| `generators/Crystal.js` | 420 | Crystal |
|
|
595
|
+
| `warp/HypersphereCore.js` | 211 | S³ warp |
|
|
596
|
+
| `warp/HypertetraCore.js` | 386 | Pentatope warp |
|
|
597
|
+
| `buffers/BufferBuilder.js` | 338 | GPU buffers |
|
|
598
|
+
|
|
599
|
+
### `src/math/` — JavaScript Math (2,742 lines)
|
|
600
|
+
| File | Lines | Purpose |
|
|
601
|
+
|------|-------|---------|
|
|
602
|
+
| `Rotor4D.js` | 637 | JS rotor fallback |
|
|
603
|
+
| `Mat4x4.js` | 708 | Matrix ops |
|
|
604
|
+
| `Vec4.js` | 476 | Vector ops |
|
|
605
|
+
| `Projection.js` | 341 | Projections |
|
|
606
|
+
| `constants.js` | 164 | Math constants |
|
|
607
|
+
| `projections.js` | 54 | Projection utils |
|
|
608
|
+
| `rotations.js` | 196 | Rotation utils |
|
|
609
|
+
|
|
610
|
+
### `src/export/` — Export System (15,136 lines)
|
|
611
|
+
| File | Lines | Purpose |
|
|
612
|
+
|------|-------|---------|
|
|
613
|
+
| `ExportManager.js` | 579 | Orchestrator |
|
|
614
|
+
| `VIB3PackageExporter.js` | 559 | JSON package |
|
|
615
|
+
| `SVGExporter.js` | 519 | SVG export |
|
|
616
|
+
| `ShaderExporter.js` | 903 | Shader export |
|
|
617
|
+
| `CSSExporter.js` | 226 | CSS animations |
|
|
618
|
+
| `LottieExporter.js` | 552 | Lottie JSON |
|
|
619
|
+
| `TradingCardGenerator.js` | 3,054 | Card renderer |
|
|
620
|
+
| `CardGeneratorBase.js` | 278 | Card base class |
|
|
621
|
+
| `QuantumCardGenerator.js` | 314 | Quantum cards |
|
|
622
|
+
| `FacetedCardGenerator.js` | 278 | Faceted cards |
|
|
623
|
+
| `HolographicCardGenerator.js` | 542 | Holo cards |
|
|
624
|
+
| `TradingCardManager.js` | 180 | Card state |
|
|
625
|
+
|
|
626
|
+
### `src/scene/` — Scene Management (2,752 lines)
|
|
627
|
+
| File | Lines | Purpose |
|
|
628
|
+
|------|-------|---------|
|
|
629
|
+
| `Scene4D.js` | 540 | Scene graph |
|
|
630
|
+
| `Node4D.js` | 697 | 4D node |
|
|
631
|
+
| `ResourceManager.js` | 599 | Resources |
|
|
632
|
+
| `MemoryPool.js` | 618 | Object pooling |
|
|
633
|
+
| `Disposable.js` | 498 | Disposal pattern |
|
|
634
|
+
|
|
635
|
+
### `src/agent/` — Agent & MCP (3,800 lines)
|
|
636
|
+
| File | Lines | Purpose |
|
|
637
|
+
|------|-------|---------|
|
|
638
|
+
| `mcp/MCPServer.js` | 950 | MCP server |
|
|
639
|
+
| `mcp/tools.js` | 548 | MCP tools |
|
|
640
|
+
| `cli/AgentCLI.js` | 615 | CLI agent |
|
|
641
|
+
| `telemetry/TelemetryService.js` | 464 | Telemetry |
|
|
642
|
+
| `telemetry/EventStream.js` | 669 | Events |
|
|
643
|
+
| `telemetry/Instrumentation.js` | 618 | Profiling |
|
|
644
|
+
| `telemetry/TelemetryExporters.js` | 427 | Export |
|
|
645
|
+
|
|
646
|
+
### `src/reactivity/` — Reactivity & Spatial Input (2,961 lines)
|
|
647
|
+
| File | Lines | Purpose |
|
|
648
|
+
|------|-------|---------|
|
|
649
|
+
| `ReactivityManager.js` | 586 | Reactivity orchestrator |
|
|
650
|
+
| `ReactivityConfig.js` | 499 | Config/ranges |
|
|
651
|
+
| `SpatialInputSystem.js` | 1,783 | **NEW v2.0.0** — Universal spatial input (8 sources, 6 profiles) |
|
|
652
|
+
| `index.js` | 93 | Module exports |
|
|
653
|
+
|
|
654
|
+
### `src/creative/` — Creative Tooling (3,837 lines) — **NEW v2.0.0**
|
|
655
|
+
| File | Lines | Purpose |
|
|
656
|
+
|------|-------|---------|
|
|
657
|
+
| `ColorPresetsSystem.js` | 980 | 22 themed color presets |
|
|
658
|
+
| `TransitionAnimator.js` | 683 | 14 easing functions, state sequencing |
|
|
659
|
+
| `PostProcessingPipeline.js` | 1,113 | 14 composable effects, 7 preset chains |
|
|
660
|
+
| `ParameterTimeline.js` | 1,061 | Keyframe animation with BPM sync |
|
|
661
|
+
|
|
662
|
+
### `src/integrations/` — Platform Integrations (4,693 lines) — **NEW v2.0.0**
|
|
663
|
+
| File | Lines | Purpose |
|
|
664
|
+
|------|-------|---------|
|
|
665
|
+
| `frameworks/Vib3React.js` | 591 | React component + `useVib3()` hook |
|
|
666
|
+
| `frameworks/Vib3Vue.js` | 628 | Vue 3 component + composable |
|
|
667
|
+
| `frameworks/Vib3Svelte.js` | 654 | Svelte component + store |
|
|
668
|
+
| `FigmaPlugin.js` | 854 | Figma plugin manifest + code + UI |
|
|
669
|
+
| `ThreeJsPackage.js` | 660 | Three.js ShaderMaterial wrapper |
|
|
670
|
+
| `TouchDesignerExport.js` | 552 | GLSL TOP export for TouchDesigner |
|
|
671
|
+
| `OBSMode.js` | 754 | Transparent background + browser source |
|
|
672
|
+
|
|
673
|
+
### `src/advanced/` — Advanced Features (4,262 lines) — **NEW v2.0.0**
|
|
674
|
+
| File | Lines | Purpose |
|
|
675
|
+
|------|-------|---------|
|
|
676
|
+
| `WebXRRenderer.js` | 680 | WebXR VR/AR with 6DOF extraction |
|
|
677
|
+
| `WebGPUCompute.js` | 1,051 | WGSL particle + FFT compute shaders |
|
|
678
|
+
| `MIDIController.js` | 703 | Web MIDI with learn mode |
|
|
679
|
+
| `AIPresetGenerator.js` | 777 | Text-to-preset + mutation/crossbreeding |
|
|
680
|
+
| `OffscreenWorker.js` | 1,051 | Worker rendering + SharedArrayBuffer |
|
|
681
|
+
|
|
682
|
+
### `tools/` — Tooling (includes new v2.0.0)
|
|
683
|
+
| File | Lines | Purpose |
|
|
684
|
+
|------|-------|---------|
|
|
685
|
+
| `shader-sync-verify.js` | 937 | **NEW v2.0.0** — Shader uniform sync verification |
|
|
686
|
+
| `agentic/mcpTools.js` | — | MCP helper scripts |
|
|
687
|
+
| `cli/agent-cli.js` | — | Agent CLI tooling |
|
|
688
|
+
| `export/formats.js` | — | Export pipeline tools |
|
|
689
|
+
| `telemetry/manifestPipeline.js` | — | Telemetry manifest |
|
|
690
|
+
|
|
691
|
+
### `src/viewer/` — Viewer UI (~3,382 lines)
|
|
692
|
+
| File | Lines | Purpose |
|
|
693
|
+
|------|-------|---------|
|
|
694
|
+
| `GalleryUI.js` | 832 | Gallery UI |
|
|
695
|
+
| `AudioReactivity.js` | 505 | Audio input |
|
|
696
|
+
| `TradingCardExporter.js` | 600 | Card export UI |
|
|
697
|
+
| `ReactivityManager.js` | 590 | Reactivity UI |
|
|
698
|
+
| `CardBending.js` | 481 | 3D card FX |
|
|
699
|
+
| `ViewerPortal.js` | 374 | Portal/modal |
|
|
700
|
+
|
|
701
|
+
### Other `src/` Directories
|
|
702
|
+
| Directory | Key Files | Purpose |
|
|
703
|
+
|-----------|-----------|---------|
|
|
704
|
+
| `src/ui/` | InteractivityMenu, StatusManager, WebGPU renderers | UI components |
|
|
705
|
+
| `src/wasm/` | WasmLoader.js | WASM initialization |
|
|
706
|
+
| `src/cli/` | index.js (580 lines) | CLI interface |
|
|
707
|
+
| `src/config/` | ApiConfig.js | API config |
|
|
708
|
+
| `src/llm/` | LLMParameterInterface, LLMParameterUI | LLM integration |
|
|
709
|
+
| `src/gallery/` | GallerySystem, CollectionManager | Gallery state |
|
|
710
|
+
| `src/features/` | CollectionManager | Feature collections |
|
|
711
|
+
| `src/schemas/` | 5 JSON schemas | Validation |
|
|
712
|
+
| `src/testing/` | ParallelTestFramework, test files | Test utils |
|
|
713
|
+
| `src/benchmarks/` | BenchmarkRunner, MetricsCollector, scenes | Perf testing |
|
|
714
|
+
|
|
715
|
+
### `styles/` — CSS (2,500 lines)
|
|
716
|
+
13 CSS files covering base, header, controls, animations, reactivity, mobile, geometry tabs, gallery, glitch effects, bottom bezel, z-index.
|
|
717
|
+
|
|
718
|
+
### `tests/` — Test Suite (10,000+ lines)
|
|
719
|
+
34 test files: math, geometry, render, scene, export, agent, E2E, visual regression, Playwright specs.
|
|
720
|
+
|
|
721
|
+
### `docs/` — GitHub Pages (26 HTML files)
|
|
722
|
+
Gallery index, test hub, WebGPU live, 9 exports, 13 effect demos.
|
|
723
|
+
|
|
724
|
+
### `flutter/` — Flutter Plugin (10 files)
|
|
725
|
+
Dart plugin + iOS Swift + Android Kotlin native implementations.
|
|
726
|
+
|
|
727
|
+
### `examples/` — Examples (19 files)
|
|
728
|
+
Flutter demo app + standalone HTML demos.
|
|
729
|
+
|
|
730
|
+
### `.github/workflows/` — CI/CD (6 workflows)
|
|
731
|
+
Pages deploy, benchmarks, exports, GPU visual tests, Flutter web, Flutter APK.
|
|
732
|
+
|
|
733
|
+
### `archive/` — Legacy (15 directories)
|
|
734
|
+
Old SDK, demos, duplicates, experimental code, polychora, physics.
|
|
735
|
+
|
|
736
|
+
---
|
|
737
|
+
|
|
738
|
+
*End of audit — January 30, 2026 — Updated for v2.0.0*
|