@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,520 @@
|
|
|
1
|
+
# VIB3+ SDK System Inventory
|
|
2
|
+
|
|
3
|
+
**Document Version:** 2.0.0
|
|
4
|
+
**Last Updated:** 2026-01-30
|
|
5
|
+
**Purpose:** Complete technical inventory for developers and AI agents
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Executive Summary
|
|
10
|
+
|
|
11
|
+
VIB3+ is a **general-purpose 4D rotation visualization SDK** designed for:
|
|
12
|
+
- Plugin marketplaces and browser extensions
|
|
13
|
+
- Wearable devices and XR platforms
|
|
14
|
+
- Agentic AI integration (MCP protocol)
|
|
15
|
+
- Cross-platform deployment (Web, Flutter, WASM)
|
|
16
|
+
|
|
17
|
+
The SDK provides 3 active visualization systems with shared 6D rotation mathematics, unified rendering contracts, comprehensive telemetry, a universal spatial input system, creative tooling, cross-platform framework integrations, and advanced features including WebXR, WebGPU compute, and MIDI.
|
|
18
|
+
|
|
19
|
+
---
|
|
20
|
+
|
|
21
|
+
## Quick Reference Card
|
|
22
|
+
|
|
23
|
+
| Metric | Value |
|
|
24
|
+
|--------|-------|
|
|
25
|
+
| **SDK Version** | 2.0.0 |
|
|
26
|
+
| **Visualization Systems** | 3 active (Quantum, Faceted, Holographic) + 1 archived (Polychora - TBD) |
|
|
27
|
+
| **Rotation Planes** | 6 (XY, XZ, YZ for 3D; XW, YW, ZW for 4D) |
|
|
28
|
+
| **Base Geometries** | 8 per system |
|
|
29
|
+
| **Core Warp Types** | 3 (Base, Hypersphere, Hypertetrahedron) |
|
|
30
|
+
| **Total Geometries** | 24 per system (8 base × 3 cores) |
|
|
31
|
+
| **Canvas Layers** | 5 per system (background, shadow, content, highlight, accent) |
|
|
32
|
+
| **MCP Tools** | 12 agent-accessible tools |
|
|
33
|
+
| **Spatial Input Sources** | 8 (deviceTilt, mouse, gyroscope, gamepad, perspective, programmatic, audio, MIDI) |
|
|
34
|
+
| **Spatial Profiles** | 6 built-in (cardTilt, wearablePerspective, gameAsset, vjAudioSpatial, uiElement, immersiveXR) |
|
|
35
|
+
| **Creative Effects** | 14 post-processing effects, 22 color presets, 14 easing functions |
|
|
36
|
+
| **Platform Integrations** | 7 (React, Vue, Svelte, Figma, Three.js, TouchDesigner, OBS) |
|
|
37
|
+
| **Advanced Modules** | 5 (WebXR, WebGPU Compute, MIDI, AI Presets, OffscreenWorker) |
|
|
38
|
+
| **Test Coverage** | 694+ tests passing |
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## Architecture Overview
|
|
43
|
+
|
|
44
|
+
```
|
|
45
|
+
┌─────────────────────────────────────────────────────────────────┐
|
|
46
|
+
│ VIB3+ SDK Architecture │
|
|
47
|
+
├─────────────────────────────────────────────────────────────────┤
|
|
48
|
+
│ │
|
|
49
|
+
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
|
|
50
|
+
│ │ MCP Server │ │ Agent CLI │ │ Telemetry │ │
|
|
51
|
+
│ │ (12 tools) │ │ (JSONL) │ │ (Prometheus)│ │
|
|
52
|
+
│ └──────┬───────┘ └──────┬───────┘ └──────┬───────┘ │
|
|
53
|
+
│ │ │ │ │
|
|
54
|
+
│ └──────────────────┼──────────────────┘ │
|
|
55
|
+
│ ▼ │
|
|
56
|
+
│ ┌─────────────────────────────────────────────────────────┐ │
|
|
57
|
+
│ │ VIB3Engine │ │
|
|
58
|
+
│ │ - System switching (quantum/faceted/holographic/poly) │ │
|
|
59
|
+
│ │ - Parameter management (ParameterManager) │ │
|
|
60
|
+
│ │ - Canvas orchestration (CanvasManager) │ │
|
|
61
|
+
│ └─────────────────────────┬───────────────────────────────┘ │
|
|
62
|
+
│ ▼ │
|
|
63
|
+
│ ┌─────────────────────────────────────────────────────────┐ │
|
|
64
|
+
│ │ RendererLifecycleManager │ │
|
|
65
|
+
│ │ - Renderer registration and activation │ │
|
|
66
|
+
│ │ - Context transitions │ │
|
|
67
|
+
│ │ - Contract enforcement │ │
|
|
68
|
+
│ └──────┬──────────┬──────────┬──────────┬─────────────────┘ │
|
|
69
|
+
│ ▼ ▼ ▼ ▼ │
|
|
70
|
+
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
71
|
+
│ │ Quantum │ │ Faceted │ │Holograph │ │Polychora │ │
|
|
72
|
+
│ │ Adapter │ │ Adapter │ │ Adapter │ │ Adapter │ │
|
|
73
|
+
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
|
|
74
|
+
│ ▼ ▼ ▼ ▼ │
|
|
75
|
+
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
|
76
|
+
│ │ Quantum │ │ Faceted │ │ Holo │ │Polychora │ │
|
|
77
|
+
│ │ Engine │ │ System │ │ System │ │ System │ │
|
|
78
|
+
│ │ (588 LOC)│ │(~400 LOC)│ │(652 LOC) │ │(1065 LOC)│ │
|
|
79
|
+
│ └────┬─────┘ └────┬─────┘ └────┬─────┘ └────┬─────┘ │
|
|
80
|
+
│ │ │ │ │ │
|
|
81
|
+
│ └────────────┴────────────┴────────────┘ │
|
|
82
|
+
│ ▼ │
|
|
83
|
+
│ ┌─────────────────────────────────────────────────────────┐ │
|
|
84
|
+
│ │ 5-Layer Canvas System │ │
|
|
85
|
+
│ │ [background] [shadow] [content] [highlight] [accent] │ │
|
|
86
|
+
│ └─────────────────────────────────────────────────────────┘ │
|
|
87
|
+
│ ▼ │
|
|
88
|
+
│ ┌─────────────────────────────────────────────────────────┐ │
|
|
89
|
+
│ │ WebGL / WebGPU Backend │ │
|
|
90
|
+
│ │ - Resource tracking (UnifiedResourceManager) │ │
|
|
91
|
+
│ │ - Command buffers (RenderCommandBuffer) │ │
|
|
92
|
+
│ │ - Shader programs (ShaderProgram.js) │ │
|
|
93
|
+
│ └─────────────────────────────────────────────────────────┘ │
|
|
94
|
+
│ │
|
|
95
|
+
└─────────────────────────────────────────────────────────────────┘
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## The 4 Visualization Systems
|
|
101
|
+
|
|
102
|
+
### 1. Quantum Engine
|
|
103
|
+
**File:** `src/quantum/QuantumEngine.js` (588 LOC)
|
|
104
|
+
**Purpose:** Complex quantum lattice visualizations with 24 geometry variants
|
|
105
|
+
|
|
106
|
+
| Property | Value |
|
|
107
|
+
|----------|-------|
|
|
108
|
+
| Canvas IDs | `quantum-background-canvas`, `quantum-shadow-canvas`, `quantum-content-canvas`, `quantum-highlight-canvas`, `quantum-accent-canvas` |
|
|
109
|
+
| Geometries | 24 (8 base × 3 cores) |
|
|
110
|
+
| Audio Reactive | Yes |
|
|
111
|
+
| Physics | No |
|
|
112
|
+
|
|
113
|
+
**Core Features:**
|
|
114
|
+
- Uses `QuantumHolographicVisualizer` for rendering
|
|
115
|
+
- Full 6D rotation support in shader
|
|
116
|
+
- `warpHypersphereCore()` and `warpHypertetraCore()` for geometry variants
|
|
117
|
+
|
|
118
|
+
### 2. Faceted System
|
|
119
|
+
**File:** `src/faceted/FacetedSystem.js`
|
|
120
|
+
**Purpose:** Clean 2D geometric patterns with 4D rotation projection
|
|
121
|
+
|
|
122
|
+
| Property | Value |
|
|
123
|
+
|----------|-------|
|
|
124
|
+
| Canvas IDs | `background-canvas`, `shadow-canvas`, `content-canvas`, `highlight-canvas`, `accent-canvas` |
|
|
125
|
+
| Geometries | 24 (8 base × 3 cores) |
|
|
126
|
+
| Audio Reactive | Yes (bass/mid/high uniforms — wired in v2.0.0) |
|
|
127
|
+
| Color Control | Full HSL (hue + saturation via `hsl2rgb()` — wired in v2.0.0) |
|
|
128
|
+
| Physics | No |
|
|
129
|
+
|
|
130
|
+
**Core Features:**
|
|
131
|
+
- Single WebGL context on `content-canvas`
|
|
132
|
+
- Geometry functions in fragment shader
|
|
133
|
+
- Core warp applied via `applyCoreWarp()` shader function
|
|
134
|
+
- Full `hsl2rgb()` color pipeline with saturation control (v2.0.0)
|
|
135
|
+
- Audio-reactive density/morph/hue shift (v2.0.0)
|
|
136
|
+
- Click intensity boost (v2.0.0)
|
|
137
|
+
|
|
138
|
+
### 3. Holographic System
|
|
139
|
+
**File:** `src/holograms/RealHolographicSystem.js` (652 LOC)
|
|
140
|
+
**Purpose:** 5-layer audio-reactive holographic effects
|
|
141
|
+
|
|
142
|
+
| Property | Value |
|
|
143
|
+
|----------|-------|
|
|
144
|
+
| Canvas IDs | `holo-background-canvas`, `holo-shadow-canvas`, `holo-content-canvas`, `holo-highlight-canvas`, `holo-accent-canvas` |
|
|
145
|
+
| Variants | 30 named variants |
|
|
146
|
+
| Audio Reactive | Yes (native) |
|
|
147
|
+
| Physics | No |
|
|
148
|
+
|
|
149
|
+
**Core Features:**
|
|
150
|
+
- Each layer has its own `HolographicVisualizer` instance
|
|
151
|
+
- Native microphone input for audio reactivity
|
|
152
|
+
- Beat detection (bass), melody detection (mid/high)
|
|
153
|
+
- Per-layer reactivity multipliers
|
|
154
|
+
|
|
155
|
+
### 4. Polychora System (ARCHIVED - TBD)
|
|
156
|
+
|
|
157
|
+
> **Status:** This system is archived and not production-ready. Files are located in `archive/polychora/`.
|
|
158
|
+
|
|
159
|
+
**File:** `archive/polychora/PolychoraSystem.js` (1065 LOC)
|
|
160
|
+
**Purpose:** 4D polytope visualization with glassmorphic effects (planned)
|
|
161
|
+
|
|
162
|
+
| Property | Value |
|
|
163
|
+
|----------|-------|
|
|
164
|
+
| Status | **ARCHIVED / TBD** |
|
|
165
|
+
| Canvas IDs | `polychora-*-canvas` (5 layers) |
|
|
166
|
+
| Polytopes | 6 planned (5-Cell, Tesseract, 16-Cell, 24-Cell, 600-Cell, 120-Cell) |
|
|
167
|
+
| Audio Reactive | Planned |
|
|
168
|
+
| Physics | Planned (`Polychora4DPhysics.js` in archive) |
|
|
169
|
+
|
|
170
|
+
**Planned Features (not yet production-ready):**
|
|
171
|
+
- 4D polytope distance functions in shader
|
|
172
|
+
- Complete 6D rotation matrices
|
|
173
|
+
- Advanced glass effects (refraction, chromatic aberration)
|
|
174
|
+
- 4D physics simulation
|
|
175
|
+
|
|
176
|
+
---
|
|
177
|
+
|
|
178
|
+
## The 24 Geometry System
|
|
179
|
+
|
|
180
|
+
### Encoding Formula
|
|
181
|
+
```
|
|
182
|
+
geometry_index = core_index * 8 + base_index
|
|
183
|
+
|
|
184
|
+
Where:
|
|
185
|
+
- core_index: 0 (Base), 1 (Hypersphere), 2 (Hypertetrahedron)
|
|
186
|
+
- base_index: 0-7 (one of 8 base geometries)
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Base Geometries (base_index 0-7)
|
|
190
|
+
| Index | Name | Description |
|
|
191
|
+
|-------|------|-------------|
|
|
192
|
+
| 0 | Tetrahedron | Simple 4-vertex lattice, fundamental polytope |
|
|
193
|
+
| 1 | Hypercube | 4D cube projection with 16 vertices, 32 edges |
|
|
194
|
+
| 2 | Sphere | Radial harmonic sphere with smooth surfaces |
|
|
195
|
+
| 3 | Torus | Toroidal field with continuous surface |
|
|
196
|
+
| 4 | Klein Bottle | Non-orientable surface with topological twist |
|
|
197
|
+
| 5 | Fractal | Recursive subdivision with self-similar structure |
|
|
198
|
+
| 6 | Wave | Sinusoidal interference patterns |
|
|
199
|
+
| 7 | Crystal | Octahedral crystal lattice structure |
|
|
200
|
+
|
|
201
|
+
### Core Warp Types (core_index 0-2)
|
|
202
|
+
| Index | Name | Effect |
|
|
203
|
+
|-------|------|--------|
|
|
204
|
+
| 0 | Base | Pure geometry, no warp applied |
|
|
205
|
+
| 1 | Hypersphere | Wraps base in 4D sphere using `warpHypersphereCore()` |
|
|
206
|
+
| 2 | Hypertetrahedron | Wraps base in 4D tetrahedron using `warpHypertetraCore()` |
|
|
207
|
+
|
|
208
|
+
### Full Geometry Table
|
|
209
|
+
| Index | Base | Core | Full Name |
|
|
210
|
+
|-------|------|------|-----------|
|
|
211
|
+
| 0-7 | 0-7 | Base | Tetrahedron, Hypercube, Sphere, Torus, Klein, Fractal, Wave, Crystal |
|
|
212
|
+
| 8-15 | 0-7 | Hypersphere | Hypersphere(Tetrahedron), Hypersphere(Hypercube), ... |
|
|
213
|
+
| 16-23 | 0-7 | Hypertetrahedron | Hypertetra(Tetrahedron), Hypertetra(Hypercube), ... |
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
## The 6D Rotation System
|
|
218
|
+
|
|
219
|
+
### Rotation Planes
|
|
220
|
+
|
|
221
|
+
| Plane | Axes | Type | Parameter |
|
|
222
|
+
|-------|------|------|-----------|
|
|
223
|
+
| XY | X ↔ Y | 3D Space | `rot4dXY` |
|
|
224
|
+
| XZ | X ↔ Z | 3D Space | `rot4dXZ` |
|
|
225
|
+
| YZ | Y ↔ Z | 3D Space | `rot4dYZ` |
|
|
226
|
+
| XW | X ↔ W | 4D Hyperspace | `rot4dXW` |
|
|
227
|
+
| YW | Y ↔ W | 4D Hyperspace | `rot4dYW` |
|
|
228
|
+
| ZW | Z ↔ W | 4D Hyperspace | `rot4dZW` |
|
|
229
|
+
|
|
230
|
+
### Application Order
|
|
231
|
+
Rotations are applied sequentially in shaders:
|
|
232
|
+
1. XY (3D)
|
|
233
|
+
2. XZ (3D)
|
|
234
|
+
3. YZ (3D)
|
|
235
|
+
4. XW (4D)
|
|
236
|
+
5. YW (4D)
|
|
237
|
+
6. ZW (4D)
|
|
238
|
+
|
|
239
|
+
### Parameter Range
|
|
240
|
+
All rotation parameters: `-6.28` to `6.28` (radians, ±2π)
|
|
241
|
+
|
|
242
|
+
---
|
|
243
|
+
|
|
244
|
+
## MCP Server & Agent Tools
|
|
245
|
+
|
|
246
|
+
### Available Tools (12 total)
|
|
247
|
+
|
|
248
|
+
| Tool | Description | Key Parameters |
|
|
249
|
+
|------|-------------|----------------|
|
|
250
|
+
| `create_4d_visualization` | Create new visualization scene | `system`, `geometry_index`, `projection` |
|
|
251
|
+
| `set_rotation` | Set 6D rotation values | `XY`, `XZ`, `YZ`, `XW`, `YW`, `ZW` |
|
|
252
|
+
| `set_visual_parameters` | Set visual properties | Any parameter object |
|
|
253
|
+
| `switch_system` | Change visualization system | `system` |
|
|
254
|
+
| `change_geometry` | Change geometry type | `geometry_index` OR `base_type` + `core_type` |
|
|
255
|
+
| `get_state` | Get current engine state | (none) |
|
|
256
|
+
| `randomize_parameters` | Randomize all parameters | (none) |
|
|
257
|
+
| `reset_parameters` | Reset to defaults | (none) |
|
|
258
|
+
| `save_to_gallery` | Save to gallery slot | `slot`, `name` |
|
|
259
|
+
| `load_from_gallery` | Load from gallery slot | `slot` |
|
|
260
|
+
| `search_geometries` | Search available geometries | `core_type` |
|
|
261
|
+
| `get_parameter_schema` | Get parameter validation schema | (none) |
|
|
262
|
+
|
|
263
|
+
### Tool Response Format
|
|
264
|
+
```json
|
|
265
|
+
{
|
|
266
|
+
"success": true,
|
|
267
|
+
"operation": "tool_name",
|
|
268
|
+
"timestamp": "2026-01-24T12:00:00.000Z",
|
|
269
|
+
"duration_ms": 5.2,
|
|
270
|
+
"suggested_next_actions": ["next_tool_1", "next_tool_2"],
|
|
271
|
+
...tool_specific_data
|
|
272
|
+
}
|
|
273
|
+
```
|
|
274
|
+
|
|
275
|
+
---
|
|
276
|
+
|
|
277
|
+
## Agent CLI Commands
|
|
278
|
+
|
|
279
|
+
### Command Types
|
|
280
|
+
| Command | Description |
|
|
281
|
+
|---------|-------------|
|
|
282
|
+
| `ping` | Health check |
|
|
283
|
+
| `status` | Get engine status |
|
|
284
|
+
| `help` | List available commands |
|
|
285
|
+
| `quit` / `exit` | Stop CLI |
|
|
286
|
+
| `set <param> <value>` | Set parameter value |
|
|
287
|
+
| `get <param>` | Get parameter value |
|
|
288
|
+
| `rotate <plane> <angle>` | Rotate on plane |
|
|
289
|
+
| `geometry <index>` | Set geometry (0-23) |
|
|
290
|
+
| `system <name>` | Switch system |
|
|
291
|
+
| `metrics` | Get telemetry metrics |
|
|
292
|
+
|
|
293
|
+
### Input/Output Formats
|
|
294
|
+
- **JSONL** (default): One JSON object per line
|
|
295
|
+
- **JSON**: Pretty-printed JSON
|
|
296
|
+
- **Text**: Human-readable text
|
|
297
|
+
|
|
298
|
+
---
|
|
299
|
+
|
|
300
|
+
## Renderer Contracts
|
|
301
|
+
|
|
302
|
+
### RendererContract Interface
|
|
303
|
+
```javascript
|
|
304
|
+
class RendererContract {
|
|
305
|
+
init(context) // Initialize with WebGL/WebGPU context
|
|
306
|
+
resize(width, height, pixelRatio) // Handle viewport changes
|
|
307
|
+
render(frameState) // Main render loop
|
|
308
|
+
setActive(active) // Activate/deactivate renderer
|
|
309
|
+
dispose() // Clean up GPU resources
|
|
310
|
+
}
|
|
311
|
+
```
|
|
312
|
+
|
|
313
|
+
### ResourceManagerContract Interface
|
|
314
|
+
```javascript
|
|
315
|
+
class ResourceManagerContract {
|
|
316
|
+
registerResource(type, id, resource, bytes) // Track GPU resource
|
|
317
|
+
releaseResource(type, id) // Free GPU resource
|
|
318
|
+
disposeAll() // Clean all resources
|
|
319
|
+
getStats() // Memory usage telemetry
|
|
320
|
+
}
|
|
321
|
+
```
|
|
322
|
+
|
|
323
|
+
---
|
|
324
|
+
|
|
325
|
+
## File Structure Summary
|
|
326
|
+
|
|
327
|
+
```
|
|
328
|
+
/home/user/Vib3-CORE-Documented01-/
|
|
329
|
+
├── src/ # Core SDK (~72,000+ LOC)
|
|
330
|
+
│ ├── core/ # Engine orchestration
|
|
331
|
+
│ │ ├── VIB3Engine.js # Main unified engine (+ SpatialInput)
|
|
332
|
+
│ │ ├── RendererContracts.js # Shared interfaces
|
|
333
|
+
│ │ └── renderers/ # System adapters
|
|
334
|
+
│ ├── quantum/ # Quantum visualization
|
|
335
|
+
│ ├── faceted/ # Faceted visualization (+ audio/saturation)
|
|
336
|
+
│ ├── holograms/ # Holographic visualization
|
|
337
|
+
│ ├── geometry/ # 24-geometry system
|
|
338
|
+
│ ├── math/ # 4D math utilities
|
|
339
|
+
│ ├── render/ # Rendering pipeline
|
|
340
|
+
│ ├── scene/ # Scene graph
|
|
341
|
+
│ ├── agent/ # MCP/CLI/Telemetry
|
|
342
|
+
│ ├── export/ # Export generators
|
|
343
|
+
│ ├── wasm/ # WASM loader
|
|
344
|
+
│ ├── reactivity/ # Reactivity + SpatialInputSystem (v2.0.0)
|
|
345
|
+
│ ├── creative/ # Creative tooling (v2.0.0)
|
|
346
|
+
│ ├── integrations/ # Platform integrations (v2.0.0)
|
|
347
|
+
│ └── advanced/ # Advanced features (v2.0.0)
|
|
348
|
+
├── tools/ # Tooling (+ shader-sync-verify.js)
|
|
349
|
+
├── cpp/ # C++ math core (1,783 LOC)
|
|
350
|
+
├── js/ # Client-side integration
|
|
351
|
+
├── tests/ # Test suite (60 files)
|
|
352
|
+
├── DOCS/ # Documentation
|
|
353
|
+
└── types/ # TypeScript definitions
|
|
354
|
+
```
|
|
355
|
+
|
|
356
|
+
---
|
|
357
|
+
|
|
358
|
+
## Agent Onboarding Quiz
|
|
359
|
+
|
|
360
|
+
Before proceeding with development tasks, verify understanding by answering these questions:
|
|
361
|
+
|
|
362
|
+
### Required Knowledge Check
|
|
363
|
+
|
|
364
|
+
**Q1: How many rotation planes does the system support?**
|
|
365
|
+
Expected: 6 (XY, XZ, YZ for 3D; XW, YW, ZW for 4D)
|
|
366
|
+
|
|
367
|
+
**Q2: What is the geometry encoding formula?**
|
|
368
|
+
Expected: `geometry = coreIndex * 8 + baseIndex`
|
|
369
|
+
|
|
370
|
+
**Q3: How many canvas layers does each visualization system use?**
|
|
371
|
+
Expected: 5 (background, shadow, content, highlight, accent)
|
|
372
|
+
|
|
373
|
+
**Q4: What are the active visualization systems?**
|
|
374
|
+
Expected: 3 active (Quantum, Faceted, Holographic) + 1 archived (Polychora - TBD)
|
|
375
|
+
|
|
376
|
+
**Q5: What are the 3 core warp types?**
|
|
377
|
+
Expected: Base (0), Hypersphere (1), Hypertetrahedron (2)
|
|
378
|
+
|
|
379
|
+
**Q6: What are the 8 base geometry types?**
|
|
380
|
+
Expected: Tetrahedron, Hypercube, Sphere, Torus, Klein Bottle, Fractal, Wave, Crystal
|
|
381
|
+
|
|
382
|
+
**Q7: Which system has 4D physics support?**
|
|
383
|
+
Expected: Polychora (archived/TBD - not production-ready)
|
|
384
|
+
|
|
385
|
+
**Q8: What MCP tool changes the geometry?**
|
|
386
|
+
Expected: `change_geometry`
|
|
387
|
+
|
|
388
|
+
### If answers are incomplete:
|
|
389
|
+
- Review this document
|
|
390
|
+
- Check `DOCS/CONTROL_REFERENCE.md` for parameter details
|
|
391
|
+
- Read `src/agent/mcp/tools.js` for MCP tool definitions
|
|
392
|
+
|
|
393
|
+
---
|
|
394
|
+
|
|
395
|
+
## Current Development Status
|
|
396
|
+
|
|
397
|
+
### Phase Status (as of v2.0.0, 2026-01-30)
|
|
398
|
+
| Phase | Status | Notes |
|
|
399
|
+
|-------|--------|-------|
|
|
400
|
+
| Phase 1: Foundation | ✅ Complete | Math, geometry, parameters |
|
|
401
|
+
| Phase 2: Rendering | ✅ Mostly Complete | Contracts exist, adapters implemented |
|
|
402
|
+
| Phase 3: Agentic | ✅ Complete | MCP, CLI, Telemetry working |
|
|
403
|
+
| Phase 4: WebGPU | 🔄 In Progress | Scaffold exists, needs shader pipeline |
|
|
404
|
+
| Phase 5: Hardening | ✅ Complete | 694 tests passing, XSS prevention, input validation |
|
|
405
|
+
| **Phase A: Parity & Polish** | **✅ Complete** | Quantum color, Faceted saturation/audio, clickIntensity fix, shader sync tool |
|
|
406
|
+
| **Phase B: Creative Tooling** | **✅ Complete** | Color presets, transitions, post-processing, timeline |
|
|
407
|
+
| **Phase C: Platform Integrations** | **✅ Complete** | React, Vue, Svelte, Figma, Three.js, TouchDesigner, OBS |
|
|
408
|
+
| **Phase D: Advanced** | **✅ Complete** | WebXR, WebGPU compute, MIDI, AI presets, OffscreenWorker |
|
|
409
|
+
| **SpatialInputSystem** | **✅ Complete** | 8 source types, 6 profiles, integrated into VIB3Engine |
|
|
410
|
+
|
|
411
|
+
### v2.0.0 Bugs Fixed
|
|
412
|
+
1. ~~`clickIntensity` uniform mapped to `u_mouseIntensity`~~ → Fixed (QuantumVisualizer.js:792)
|
|
413
|
+
2. ~~Faceted system missing saturation control~~ → Fixed (hsl2rgb + u_saturation uniform)
|
|
414
|
+
3. ~~Faceted system missing audio reactivity~~ → Fixed (bass/mid/high uniforms wired)
|
|
415
|
+
4. ~~Inline shaders can drift from external files~~ → Mitigated (shader-sync-verify.js tooling)
|
|
416
|
+
|
|
417
|
+
### Remaining Gaps
|
|
418
|
+
1. WebGPU backend needs full shader pipeline
|
|
419
|
+
2. Some systems don't fully implement RendererContract
|
|
420
|
+
3. New v2.0.0 modules need test coverage
|
|
421
|
+
|
|
422
|
+
---
|
|
423
|
+
|
|
424
|
+
## Cross-Platform Support
|
|
425
|
+
|
|
426
|
+
| Platform | Status | Implementation |
|
|
427
|
+
|----------|--------|----------------|
|
|
428
|
+
| Web (Browser) | ✅ Production | index.html + JS modules |
|
|
429
|
+
| WASM | ✅ Working | cpp/ → Emscripten → vib3.wasm |
|
|
430
|
+
| Flutter | 🔄 Scaffold | src/platforms/flutter/ |
|
|
431
|
+
| Node.js CLI | ✅ Working | src/agent/cli/ |
|
|
432
|
+
| React | ✅ Component (v2.0.0) | src/integrations/frameworks/Vib3React.js |
|
|
433
|
+
| Vue 3 | ✅ Component (v2.0.0) | src/integrations/frameworks/Vib3Vue.js |
|
|
434
|
+
| Svelte | ✅ Component (v2.0.0) | src/integrations/frameworks/Vib3Svelte.js |
|
|
435
|
+
| Three.js | ✅ ShaderMaterial (v2.0.0) | src/integrations/ThreeJsPackage.js |
|
|
436
|
+
| Figma | ✅ Plugin (v2.0.0) | src/integrations/FigmaPlugin.js |
|
|
437
|
+
| TouchDesigner | ✅ GLSL Export (v2.0.0) | src/integrations/TouchDesignerExport.js |
|
|
438
|
+
| OBS Studio | ✅ Browser Source (v2.0.0) | src/integrations/OBSMode.js |
|
|
439
|
+
| WebXR (VR/AR) | ✅ Renderer (v2.0.0) | src/advanced/WebXRRenderer.js |
|
|
440
|
+
|
|
441
|
+
---
|
|
442
|
+
|
|
443
|
+
## v2.0.0 New Systems
|
|
444
|
+
|
|
445
|
+
### SpatialInputSystem (`src/reactivity/SpatialInputSystem.js` — 1,783 lines)
|
|
446
|
+
Universal spatial input that decouples "card tilting" from physical device orientation. Any input source maps through a normalized spatial state (pitch/yaw/roll/x/y/z/intensity/velocity) to any visualization parameter.
|
|
447
|
+
|
|
448
|
+
- **8 input sources**: deviceTilt, mousePosition, gyroscope, gamepad, perspective, programmatic, audio, midi
|
|
449
|
+
- **6 built-in profiles**: cardTilt, wearablePerspective, gameAsset, vjAudioSpatial, uiElement, immersiveXR
|
|
450
|
+
- **Per-axis lerp smoothing**, dramatic mode (8x), sensitivity control
|
|
451
|
+
- **Full serialization** (exportConfig/importConfig)
|
|
452
|
+
- **Integrated into VIB3Engine** with 7 new methods
|
|
453
|
+
|
|
454
|
+
### Creative Tooling (`src/creative/` — 3,837 lines)
|
|
455
|
+
| Module | Lines | Purpose |
|
|
456
|
+
|--------|-------|---------|
|
|
457
|
+
| ColorPresetsSystem.js | 980 | 22 themed presets (Ocean, Lava, Neon, Monochrome, etc.) |
|
|
458
|
+
| TransitionAnimator.js | 683 | 14 easing functions, smooth state interpolation, sequencing |
|
|
459
|
+
| PostProcessingPipeline.js | 1,113 | 14 composable effects (bloom, chromatic aberration, vignette, etc.), 7 preset chains |
|
|
460
|
+
| ParameterTimeline.js | 1,061 | Keyframe animation with BPM sync for music-driven sequences |
|
|
461
|
+
|
|
462
|
+
### Platform Integrations (`src/integrations/` — 4,693 lines)
|
|
463
|
+
| Module | Lines | Purpose |
|
|
464
|
+
|--------|-------|---------|
|
|
465
|
+
| frameworks/Vib3React.js | 591 | `<Vib3Canvas>` React component + `useVib3()` hook |
|
|
466
|
+
| frameworks/Vib3Vue.js | 628 | Vue 3 component + composable |
|
|
467
|
+
| frameworks/Vib3Svelte.js | 654 | Svelte component + store |
|
|
468
|
+
| FigmaPlugin.js | 854 | Figma plugin manifest, code generator, and UI |
|
|
469
|
+
| ThreeJsPackage.js | 660 | Three.js ShaderMaterial with 4D rotation uniforms |
|
|
470
|
+
| TouchDesignerExport.js | 552 | GLSL TOP export for TouchDesigner |
|
|
471
|
+
| OBSMode.js | 754 | Transparent background + OBS browser source mode |
|
|
472
|
+
|
|
473
|
+
### Advanced Features (`src/advanced/` — 4,262 lines)
|
|
474
|
+
| Module | Lines | Purpose |
|
|
475
|
+
|--------|-------|---------|
|
|
476
|
+
| WebXRRenderer.js | 680 | WebXR VR/AR with 6DOF spatial extraction |
|
|
477
|
+
| WebGPUCompute.js | 1,051 | WGSL particle simulation + audio FFT compute shaders |
|
|
478
|
+
| MIDIController.js | 703 | Web MIDI API with learn mode and CC mapping |
|
|
479
|
+
| AIPresetGenerator.js | 777 | Text-to-preset via LLM + mutation/crossbreeding algorithms |
|
|
480
|
+
| OffscreenWorker.js | 1,051 | OffscreenCanvas worker rendering + SharedArrayBuffer |
|
|
481
|
+
|
|
482
|
+
### Shader Sync Tool (`tools/shader-sync-verify.js` — 937 lines)
|
|
483
|
+
Verifies inline shaders match external shader files. Parses GLSL uniforms and WGSL struct fields, compares across all 3 systems, produces color-coded console reports.
|
|
484
|
+
|
|
485
|
+
---
|
|
486
|
+
|
|
487
|
+
## Next Steps for Development
|
|
488
|
+
|
|
489
|
+
### Immediate Priorities
|
|
490
|
+
1. Add test coverage for v2.0.0 modules (creative, integrations, advanced, SpatialInput)
|
|
491
|
+
2. Complete WebGPU shader pipeline
|
|
492
|
+
3. Production-harden platform integration wrappers
|
|
493
|
+
4. Publish @vib3code/sdk v2.0.0 to NPM
|
|
494
|
+
|
|
495
|
+
### Consolidation Tasks
|
|
496
|
+
- [ ] Audit RendererContract compliance for all 3 active systems
|
|
497
|
+
- [ ] Write integration tests for SpatialInputSystem profiles
|
|
498
|
+
- [ ] Add E2E tests for creative tooling (transitions, post-processing)
|
|
499
|
+
- [ ] Verify framework components (React, Vue, Svelte) with sample apps
|
|
500
|
+
- [ ] Document lifecycle rules in code comments
|
|
501
|
+
|
|
502
|
+
---
|
|
503
|
+
|
|
504
|
+
## Document References
|
|
505
|
+
|
|
506
|
+
| Document | Purpose |
|
|
507
|
+
|----------|---------|
|
|
508
|
+
| `CLAUDE.md` | Development instructions (v2.0.0 updated) |
|
|
509
|
+
| `DEV_TRACK.md` | Session-by-session progress |
|
|
510
|
+
| `DOCS/CLI_ONBOARDING.md` | Agent CLI setup |
|
|
511
|
+
| `DOCS/CONTROL_REFERENCE.md` | UI control parameters |
|
|
512
|
+
| `DOCS/RENDERER_LIFECYCLE.md` | Renderer architecture |
|
|
513
|
+
| `DOCS/GPU_DISPOSAL_GUIDE.md` | Memory management |
|
|
514
|
+
| `DOCS/SYSTEM_AUDIT_2026-01-30.md` | Full system audit (v2.0.0 updated) |
|
|
515
|
+
| `24-GEOMETRY-6D-ROTATION-SUMMARY.md` | Geometry encoding |
|
|
516
|
+
|
|
517
|
+
---
|
|
518
|
+
|
|
519
|
+
*This document is the canonical system inventory. Update after significant changes.*
|
|
520
|
+
*Last major update: v2.0.0 — 2026-01-30*
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# Telemetry export manifests
|
|
2
|
+
|
|
3
|
+
The telemetry export pipeline standardizes manifest payloads for downstream automation, QA, and observability. Each manifest is designed to be cache-friendly with deterministic hashes so CI can diff outputs without ambiguity.
|
|
4
|
+
|
|
5
|
+
## Manifest fields
|
|
6
|
+
- **license**: Propagates the source license for downstream consumers.
|
|
7
|
+
- **themeTags**: Array of descriptors (e.g., `"neon"`, `"calm"`) describing the aesthetic intent.
|
|
8
|
+
- **colorPalettes**: Named palettes with ordered swatches to aid sprite sheet rendering and CSS variable generation.
|
|
9
|
+
- **typography**: Token block containing font families and scale presets.
|
|
10
|
+
- **responsiveBreakpoints**: Design-system-aligned breakpoints for layout-sensitive exports.
|
|
11
|
+
- **previews**: Thumbnail or sprite sheet references with deterministic hashes.
|
|
12
|
+
- **assets**: Asset records (path/url/name) with hashes for cache validation.
|
|
13
|
+
- **hash**: Top-level manifest hash used by CI for drift detection.
|
|
14
|
+
|
|
15
|
+
## Preview generation
|
|
16
|
+
The telemetry director (`js/core/telemetry-director.js`) produces preview thumbnails or sprite sheets for representative scenes/states.
|
|
17
|
+
|
|
18
|
+
1. Collect scenes from the pack (`pack.scenes` or `pack.states`).
|
|
19
|
+
2. For each scene, render via `renderer.captureFrame(scene)` if available; otherwise, emit a metadata-only placeholder data URL.
|
|
20
|
+
3. Attach preview records to the manifest with computed hashes.
|
|
21
|
+
|
|
22
|
+
## CLI/export integration
|
|
23
|
+
Use `exportTelemetryManifest` from `tools/telemetry/manifestPipeline.js` to build manifests in export pipelines. The helper returns:
|
|
24
|
+
|
|
25
|
+
- `manifest`: enriched manifest payload.
|
|
26
|
+
- `hash`: deterministic hash of the manifest.
|
|
27
|
+
- `summary`: human-readable lines for CLI output including asset and preview hashes.
|
|
28
|
+
|
|
29
|
+
Include the summary in CLI logs to make cache validation and diffing easier for CI and agent workflows.
|
|
30
|
+
|
|
31
|
+
### Agentic CLI usage
|
|
32
|
+
For a step-by-step command runbook (setup, lint, export, and verification), see [`DOCS/CLI_ONBOARDING.md`](DOCS/CLI_ONBOARDING.md).
|
|
33
|
+
|
|
34
|
+
CLI entry point: `tools/cli/agent-cli.js` supports `telemetry:export` with `--json` and `--non-interactive` flags for agent pipelines.
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# WebGPU status and testing requirements
|
|
2
|
+
|
|
3
|
+
This document records the current WebGPU backend state, what is implemented, and what is required
|
|
4
|
+
to validate it in local development or CI.
|
|
5
|
+
|
|
6
|
+
## Current status
|
|
7
|
+
- **Backend scaffold:** `WebGPUBackend` initializes adapter/device, configures the canvas, manages
|
|
8
|
+
resize, and supports a clear-pass `renderFrame()` path.
|
|
9
|
+
- **Async context creation:** `createRenderContextAsync()` can instantiate WebGPU contexts using
|
|
10
|
+
`{ backend: 'webgpu' }`.
|
|
11
|
+
- **Resource tracking:** depth textures are registered in the shared `RenderResourceRegistry`.
|
|
12
|
+
|
|
13
|
+
## What is still needed
|
|
14
|
+
1. **Pipeline parity:** implement basic shader pipelines (vertex/fragment) and buffer binding that
|
|
15
|
+
match the WebGL backend command flow.
|
|
16
|
+
2. **Command buffer bridge:** map existing render commands to WebGPU render passes.
|
|
17
|
+
3. **Feature gating:** add host-app controls to toggle WebGPU via feature flags.
|
|
18
|
+
4. **Diagnostics:** add per-frame stats and resource delta reporting for WebGPU.
|
|
19
|
+
|
|
20
|
+
## Testing requirements
|
|
21
|
+
### Local smoke test
|
|
22
|
+
Prerequisites:
|
|
23
|
+
- A browser with WebGPU enabled (Chrome/Edge with `chrome://flags/#enable-unsafe-webgpu`, or a
|
|
24
|
+
Chromium build with WebGPU support).
|
|
25
|
+
- A device with WebGPU-capable GPU drivers.
|
|
26
|
+
|
|
27
|
+
Suggested smoke flow:
|
|
28
|
+
1. Create a canvas and call `createRenderContextAsync(canvas, { backend: 'webgpu' })`.
|
|
29
|
+
2. Call `backend.renderFrame({ clearColor: [0.1, 0.1, 0.2, 1] })` and confirm the canvas clears.
|
|
30
|
+
3. Resize the canvas and ensure the clear pass still succeeds.
|
|
31
|
+
|
|
32
|
+
### CI validation
|
|
33
|
+
- WebGPU cannot be reliably validated in headless CI without GPU support.
|
|
34
|
+
- CI should instead run WebGL tests and lint/static checks; keep a manual WebGPU smoke checklist.
|
|
35
|
+
|
|
36
|
+
## File locations
|
|
37
|
+
- `src/render/backends/WebGPUBackend.js`
|
|
38
|
+
- `src/render/index.js` (`createRenderContextAsync`)
|