@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,66 @@
|
|
|
1
|
+
# Project setup (GCP + Firebase)
|
|
2
|
+
|
|
3
|
+
This document provides a professional, repeatable setup flow for creating and configuring a new
|
|
4
|
+
Google Cloud + Firebase project for this repo. Follow these steps once per project.
|
|
5
|
+
|
|
6
|
+
## Prerequisites
|
|
7
|
+
- Google Cloud SDK (`gcloud`)
|
|
8
|
+
- Firebase CLI (`firebase`)
|
|
9
|
+
- GitHub CLI (`gh`) if you plan to wire CI secrets
|
|
10
|
+
- Access to a GCP billing account
|
|
11
|
+
|
|
12
|
+
See `DOCS/ENV_SETUP.md` if you need to install tooling first.
|
|
13
|
+
|
|
14
|
+
## 1) Authenticate and select project
|
|
15
|
+
```bash
|
|
16
|
+
gcloud auth login --no-launch-browser
|
|
17
|
+
gcloud auth application-default login --no-launch-browser
|
|
18
|
+
gcloud config set project gen-lang-client-0544919502
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## 2) Enable required APIs
|
|
22
|
+
```bash
|
|
23
|
+
gcloud services enable \
|
|
24
|
+
cloudresourcemanager.googleapis.com \
|
|
25
|
+
serviceusage.googleapis.com \
|
|
26
|
+
firebase.googleapis.com \
|
|
27
|
+
firestore.googleapis.com \
|
|
28
|
+
cloudfunctions.googleapis.com \
|
|
29
|
+
cloudbuild.googleapis.com \
|
|
30
|
+
artifactregistry.googleapis.com
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## 3) Initialize Firebase
|
|
34
|
+
```bash
|
|
35
|
+
firebase login --no-localhost
|
|
36
|
+
firebase use --add
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
## 4) Optional: Firebase Test Lab (device testing)
|
|
40
|
+
```bash
|
|
41
|
+
gcloud services enable testing.googleapis.com
|
|
42
|
+
```
|
|
43
|
+
|
|
44
|
+
## 5) Optional: CI service account
|
|
45
|
+
Create a service account for CI workflows that need deploy/test access:
|
|
46
|
+
```bash
|
|
47
|
+
gcloud iam service-accounts create vib3-ci \
|
|
48
|
+
--description="CI service account for Vib3 project automation" \
|
|
49
|
+
--display-name="vib3-ci"
|
|
50
|
+
|
|
51
|
+
gcloud projects add-iam-policy-binding gen-lang-client-0544919502 \
|
|
52
|
+
--member="serviceAccount:vib3-ci@gen-lang-client-0544919502.iam.gserviceaccount.com" \
|
|
53
|
+
--role="roles/editor"
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Export a key (store securely in your CI secrets manager):
|
|
57
|
+
```bash
|
|
58
|
+
gcloud iam service-accounts keys create vib3-ci-key.json \
|
|
59
|
+
--iam-account="vib3-ci@gen-lang-client-0544919502.iam.gserviceaccount.com"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## 6) Next steps
|
|
63
|
+
- If you are using Firebase Functions, initialize `firebase init functions`.
|
|
64
|
+
- If you are using Firestore, initialize `firebase init firestore`.
|
|
65
|
+
- For CI automation, add the JSON key to your secret store and configure
|
|
66
|
+
`GOOGLE_APPLICATION_CREDENTIALS`.
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# Renderer lifecycle guide
|
|
2
|
+
|
|
3
|
+
This document describes the renderer lifecycle architecture used by the core visualization systems
|
|
4
|
+
and how to integrate new renderers safely. It is intended to keep renderer activation, resizing, and
|
|
5
|
+
resource cleanup predictable across Faceted, Holographic, Polychora, and Quantum systems.
|
|
6
|
+
|
|
7
|
+
## Goals
|
|
8
|
+
- Centralize renderer activation/deactivation so systems can be swapped without double-render loops.
|
|
9
|
+
- Provide a consistent `renderFrame()` entry point for external orchestration and tooling.
|
|
10
|
+
- Track GPU resources with a shared registry to prevent leaks and enable diagnostics.
|
|
11
|
+
|
|
12
|
+
## Key concepts
|
|
13
|
+
### Renderer contract
|
|
14
|
+
Renderers should expose the following behaviors:
|
|
15
|
+
- `setActive(isActive)` — start/stop internal animation loops (or mark the renderer inactive).
|
|
16
|
+
- `renderFrame()` — render a single frame without starting a new loop.
|
|
17
|
+
- `resize(width, height)` — update canvas size and viewport.
|
|
18
|
+
|
|
19
|
+
### Lifecycle manager
|
|
20
|
+
Use the lifecycle manager to:
|
|
21
|
+
- register renderers by id
|
|
22
|
+
- activate one renderer at a time
|
|
23
|
+
- forward resize events
|
|
24
|
+
- render an explicit frame on demand
|
|
25
|
+
|
|
26
|
+
### Resource registry
|
|
27
|
+
GPU-backed resources (programs, textures, buffers, framebuffers, VAOs, renderbuffers) should be
|
|
28
|
+
tracked and disposed through the shared registry to keep memory stable during renderer switching.
|
|
29
|
+
|
|
30
|
+
## Recommended integration checklist
|
|
31
|
+
1. Ensure your renderer implements `setActive()` and `renderFrame()` without side effects.
|
|
32
|
+
2. Register the renderer with the lifecycle manager once the system is constructed.
|
|
33
|
+
3. Route all resize events through the manager to keep viewports in sync.
|
|
34
|
+
4. Use the resource registry in your WebGL backend integration so disposal is centralized.
|
|
35
|
+
5. Validate lifecycle behavior by toggling active systems while monitoring resource counts.
|
|
36
|
+
|
|
37
|
+
## Troubleshooting
|
|
38
|
+
- **Duplicate animation loops:** verify `setActive(false)` stops any timers or rAF loops.
|
|
39
|
+
- **Black frames on switch:** call `resize()` before `renderFrame()` when activating a renderer.
|
|
40
|
+
- **GPU memory growth:** ensure resource creation and deletion always passes through the registry.
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
# Repository Manifest
|
|
2
|
+
|
|
3
|
+
This document enumerates the repository's directory structure and provides a high-level purpose for
|
|
4
|
+
each folder. Use it as a navigation guide when onboarding or auditing the codebase.
|
|
5
|
+
|
|
6
|
+
## Top-level Folders
|
|
7
|
+
|
|
8
|
+
| Folder | Purpose |
|
|
9
|
+
|--------|---------|
|
|
10
|
+
| `.git/` | Git metadata and internal state |
|
|
11
|
+
| `.github/` | GitHub Actions workflows and CI configuration |
|
|
12
|
+
| `DOCS/` | Authored documentation (onboarding, setup, CI, lifecycle guides) |
|
|
13
|
+
| `archive/` | Archived/legacy code (old implementations, TBD systems like Polychora) |
|
|
14
|
+
| `cpp/` | Native C++ core (WASM sources, headers, bindings, math) |
|
|
15
|
+
| `demo-assets/` | Demo assets and sandbox content |
|
|
16
|
+
| `docs/` | Documentation site sources and static docs assets |
|
|
17
|
+
| `examples/` | Example applications (flutter_demo, etc.) |
|
|
18
|
+
| `flutter/` | Flutter plugin and platform integration |
|
|
19
|
+
| `scripts/` | Build and utility scripts |
|
|
20
|
+
| `src/` | Primary engine source tree (core, renderers, math, tooling) |
|
|
21
|
+
| `styles/` | CSS and style assets |
|
|
22
|
+
| `tests/` | Unit/integration tests (Playwright, Jest) |
|
|
23
|
+
| `tools/` | CLI/tooling scripts (telemetry, export, math utilities) |
|
|
24
|
+
| `types/` | Shared TypeScript type declarations |
|
|
25
|
+
| `wasm/` | WebAssembly artifacts and related assets |
|
|
26
|
+
|
|
27
|
+
## Depth-2 Directory Manifest
|
|
28
|
+
|
|
29
|
+
### `cpp/`
|
|
30
|
+
- `cpp/bindings/` — Native bindings and interop layers
|
|
31
|
+
- `cpp/include/` — Public C++ headers (vib3_ffi.h)
|
|
32
|
+
- `cpp/math/` — Math utilities for the native core
|
|
33
|
+
- `cpp/src/` — Native engine sources (Rotor4D, Mat4x4, Vec4)
|
|
34
|
+
|
|
35
|
+
### `docs/`
|
|
36
|
+
- `docs/src/` — Documentation site sources
|
|
37
|
+
- `docs/wasm/` — WebAssembly-related docs assets
|
|
38
|
+
|
|
39
|
+
### `examples/`
|
|
40
|
+
- `examples/flutter_demo/` — Complete Flutter demo application
|
|
41
|
+
|
|
42
|
+
### `flutter/`
|
|
43
|
+
- `flutter/android/` — Android plugin implementation (Kotlin + OpenGL ES 3.0)
|
|
44
|
+
- `flutter/ios/` — iOS plugin implementation and podspec
|
|
45
|
+
- `flutter/lib/` — Dart package sources (vib3_engine.dart, widgets)
|
|
46
|
+
|
|
47
|
+
### `src/`
|
|
48
|
+
- `src/agent/` — Agentic tooling and MCP integration
|
|
49
|
+
- `src/agent/cli/` — Agent CLI interface
|
|
50
|
+
- `src/agent/mcp/` — MCP server and tools (MCPServer.js, tools.js)
|
|
51
|
+
- `src/agent/telemetry/` — Telemetry services and exporters
|
|
52
|
+
- `src/advanced/` — **NEW v2.0.0** Advanced features
|
|
53
|
+
- WebXRRenderer.js, WebGPUCompute.js, MIDIController.js, AIPresetGenerator.js, OffscreenWorker.js
|
|
54
|
+
- `src/benchmarks/` — Performance benchmarks
|
|
55
|
+
- `src/cli/` — CLI entry points
|
|
56
|
+
- `src/config/` — Configuration helpers
|
|
57
|
+
- `src/core/` — Core engine orchestration
|
|
58
|
+
- VIB3Engine.js (+ SpatialInputSystem integration), CanvasManager.js, ParameterMapper.js, Parameters.js
|
|
59
|
+
- `src/creative/` — **NEW v2.0.0** Creative tooling
|
|
60
|
+
- ColorPresetsSystem.js, TransitionAnimator.js, PostProcessingPipeline.js, ParameterTimeline.js
|
|
61
|
+
- `src/export/` — Export pipeline
|
|
62
|
+
- TradingCardGenerator, VIB3PackageExporter, SVGExporter, LottieExporter
|
|
63
|
+
- `src/export/systems/` — System-specific card generators
|
|
64
|
+
- `src/faceted/` — Faceted visualization system (FacetedSystem.js — with audio + saturation v2.0.0)
|
|
65
|
+
- `src/features/` — Feature flags and optional subsystems
|
|
66
|
+
- `src/gallery/` — Gallery rendering and orchestration
|
|
67
|
+
- `src/geometry/` — Geometry generation and definitions
|
|
68
|
+
- `src/geometry/buffers/` — Buffer builders
|
|
69
|
+
- `src/geometry/generators/` — Shape generators (Tesseract, Torus, etc.)
|
|
70
|
+
- `src/geometry/warp/` — Core warps (HypersphereCore, HypertetraCore)
|
|
71
|
+
- `src/holograms/` — Holographic visualization system
|
|
72
|
+
- RealHolographicSystem.js, HolographicVisualizer.js
|
|
73
|
+
- `src/integrations/` — **NEW v2.0.0** Platform integrations
|
|
74
|
+
- `src/integrations/frameworks/` — Vib3React.js, Vib3Vue.js, Vib3Svelte.js
|
|
75
|
+
- FigmaPlugin.js, ThreeJsPackage.js, TouchDesignerExport.js, OBSMode.js
|
|
76
|
+
- `src/llm/` — LLM integrations (LLMParameterInterface, LLMParameterUI)
|
|
77
|
+
- `src/math/` — Math primitives (Vec4, Mat4x4, Rotor4D, Projection)
|
|
78
|
+
- `src/quantum/` — Quantum visualization system
|
|
79
|
+
- QuantumEngine.js, QuantumVisualizer.js
|
|
80
|
+
- `src/reactivity/` — Reactivity configuration, management, and spatial input
|
|
81
|
+
- ReactivityConfig.js, ReactivityManager.js, SpatialInputSystem.js (**NEW v2.0.0**)
|
|
82
|
+
- `src/render/` — Rendering backends and registries
|
|
83
|
+
- `src/render/backends/` — WebGL and WebGPU backends
|
|
84
|
+
- `src/render/commands/` — Render command buffer
|
|
85
|
+
- `src/scene/` — Scene composition helpers (Scene4D, Node4D, ResourceManager)
|
|
86
|
+
- `src/schemas/` — JSON schemas for tooling/validation
|
|
87
|
+
- `src/testing/` — Testing utilities
|
|
88
|
+
- `src/ui/` — UI integration and components
|
|
89
|
+
- `src/variations/` — Visual variations and presets
|
|
90
|
+
- `src/viewer/` — Viewer-facing wrappers (AudioReactivity, CardBending, GalleryUI)
|
|
91
|
+
- `src/wasm/` — WASM-specific entry points (WasmLoader)
|
|
92
|
+
|
|
93
|
+
### `tests/`
|
|
94
|
+
- `tests/agent/` — Agent/tooling tests
|
|
95
|
+
- `tests/e2e/` — End-to-end browser tests
|
|
96
|
+
- `tests/geometry/` — Geometry unit tests
|
|
97
|
+
- `tests/math/` — Math stability/unit tests
|
|
98
|
+
- `tests/render/` — Rendering tests
|
|
99
|
+
- `tests/scene/` — Scene tests
|
|
100
|
+
|
|
101
|
+
### `tools/`
|
|
102
|
+
- `tools/agentic/` — Agentic helper scripts
|
|
103
|
+
- `tools/cli/` — CLI tooling scripts
|
|
104
|
+
- `tools/export/` — Export pipeline tools
|
|
105
|
+
- `tools/math/` — Math test baselines/utilities
|
|
106
|
+
- `tools/telemetry/` — Telemetry tooling
|
|
107
|
+
|
|
108
|
+
### `types/`
|
|
109
|
+
- `types/render/` — Render-related type definitions
|
|
110
|
+
|
|
111
|
+
### `archive/` (Archived Code)
|
|
112
|
+
- `archive/polychora/` — TBD Polychora system (not production ready)
|
|
113
|
+
- `archive/duplicate-engines/` — Old engine implementations
|
|
114
|
+
- `archive/duplicate-holographic/` — Old holographic system variants
|
|
115
|
+
- `archive/legacy-docs/` — Historical documentation
|
|
116
|
+
- `archive/sdk-old/` — Previous SDK implementation (superseded by src/)
|
|
117
|
+
- `archive/platforms/` — Experimental platform targets
|
|
118
|
+
|
|
119
|
+
---
|
|
120
|
+
|
|
121
|
+
*Last updated: 2026-01-30 (v2.0.0)*
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# VIB3+ SDK - Session 014 Plan & Status
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-01-25
|
|
4
|
+
**Branch:** `claude/phase-5-hardening-a4Wzn`
|
|
5
|
+
**Session:** 014
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Executive Summary
|
|
10
|
+
|
|
11
|
+
This session completed a comprehensive system review and implemented agent onboarding improvements. The VIB3+ SDK is a **general-purpose 4D rotation visualization SDK** for plugins, extensions, wearables, and agentic AI integration.
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## System Architecture (Verified)
|
|
16
|
+
|
|
17
|
+
### Core Metrics
|
|
18
|
+
| Component | Value |
|
|
19
|
+
|-----------|-------|
|
|
20
|
+
| **Active Systems** | 3 (Quantum, Faceted, Holographic) |
|
|
21
|
+
| **Placeholder Systems** | 1 (Polychora - TBD) |
|
|
22
|
+
| **Rotation Planes** | 6 (XY, XZ, YZ + XW, YW, ZW) |
|
|
23
|
+
| **Base Geometries** | 8 |
|
|
24
|
+
| **Core Warp Types** | 3 (Base, Hypersphere, Hypertetrahedron) |
|
|
25
|
+
| **Total Geometries** | 24 (8 base × 3 cores) |
|
|
26
|
+
| **Canvas Layers** | 5 per system |
|
|
27
|
+
| **MCP Tools** | 14 |
|
|
28
|
+
| **Tests Passing** | 693+ |
|
|
29
|
+
|
|
30
|
+
### Geometry Encoding Formula
|
|
31
|
+
```
|
|
32
|
+
geometry_index = core_index * 8 + base_index
|
|
33
|
+
|
|
34
|
+
Where:
|
|
35
|
+
- core_index: 0 (Base), 1 (Hypersphere), 2 (Hypertetrahedron)
|
|
36
|
+
- base_index: 0-7 (tetrahedron, hypercube, sphere, torus, klein, fractal, wave, crystal)
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## Changes Made This Session
|
|
42
|
+
|
|
43
|
+
### 1. UI: Full 24 Geometry Support
|
|
44
|
+
**File:** `sdk/index.html`
|
|
45
|
+
- Added Core Type dropdown (Base, Hypersphere, Hypertetrahedron)
|
|
46
|
+
- Implemented proper geometry encoding: `coreType * 8 + baseGeometry`
|
|
47
|
+
- Updated geometry display to show "Geometry X / 24"
|
|
48
|
+
- Fixed geometry buttons to work with core type selector
|
|
49
|
+
|
|
50
|
+
### 2. Documentation: System Inventory
|
|
51
|
+
**File:** `DOCS/SYSTEM_INVENTORY.md`
|
|
52
|
+
- Complete technical inventory
|
|
53
|
+
- Architecture diagram
|
|
54
|
+
- All 4 systems documented
|
|
55
|
+
- 24 geometry encoding explained
|
|
56
|
+
- 6D rotation system documented
|
|
57
|
+
- MCP tools reference
|
|
58
|
+
- Agent onboarding quiz
|
|
59
|
+
|
|
60
|
+
### 3. MCP: Agent Onboarding Tools
|
|
61
|
+
**Files:** `src/agent/mcp/tools.js`, `src/agent/mcp/MCPServer.js`
|
|
62
|
+
|
|
63
|
+
New tools added:
|
|
64
|
+
- `get_sdk_context` - Returns essential SDK context on first connection
|
|
65
|
+
- `verify_knowledge` - Multiple choice quiz to verify understanding
|
|
66
|
+
|
|
67
|
+
Quiz format (answers: c, b, c, a, b, b):
|
|
68
|
+
```
|
|
69
|
+
Q1: How many rotation planes? a)3 b)4 c)6 d)8
|
|
70
|
+
Q2: Geometry formula? a)base*3+core b)core*8+base c)base+core d)core*base
|
|
71
|
+
Q3: Canvas layers per system? a)3 b)4 c)5 d)6
|
|
72
|
+
Q4: Which are the 3 ACTIVE systems? a)quantum,faceted,holographic b)quantum,faceted,polychora c)all four d)none
|
|
73
|
+
Q5: How many base geometry types? a)6 b)8 c)10 d)24
|
|
74
|
+
Q6: Core warp types? a)base,sphere,cube b)base,hypersphere,hypertetrahedron c)2D,3D,4D d)none
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
### 4. Polychora Marked as TBD
|
|
78
|
+
- Polychora system marked as placeholder/TBD in MCP responses
|
|
79
|
+
- Quiz updated to test knowledge that only 3 systems are ACTIVE
|
|
80
|
+
- System exists but not production-ready
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Phase Status
|
|
85
|
+
|
|
86
|
+
| Phase | Status | Notes |
|
|
87
|
+
|-------|--------|-------|
|
|
88
|
+
| **Phase 1: Foundation** | ✅ Complete | Math, geometry, parameters |
|
|
89
|
+
| **Phase 2: Rendering** | ✅ Mostly Complete | Contracts exist, 4 adapters |
|
|
90
|
+
| **Phase 3: Agentic** | ✅ Complete | MCP, CLI, Telemetry |
|
|
91
|
+
| **Phase 4: WebGPU** | 🔄 Scaffold | Needs shader pipeline |
|
|
92
|
+
| **Phase 5: Hardening** | 🔄 In Progress | 693 tests passing |
|
|
93
|
+
|
|
94
|
+
---
|
|
95
|
+
|
|
96
|
+
## Known Issues
|
|
97
|
+
|
|
98
|
+
1. **Polychora not production-ready** - Keep as TBD placeholder
|
|
99
|
+
2. **WebGPU backend incomplete** - Scaffold exists, needs shader pipeline
|
|
100
|
+
3. **Timing test flaky** - `withTiming` test sometimes fails by <1ms
|
|
101
|
+
4. **Playwright test config** - Browser tests don't run in vitest
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Planned Future Work
|
|
106
|
+
|
|
107
|
+
### Phase 2 Consolidation (Rendering)
|
|
108
|
+
- [ ] Audit all 4 systems for RendererContract compliance
|
|
109
|
+
- [ ] Extract shared scene graph code
|
|
110
|
+
- [ ] Document lifecycle rules in code
|
|
111
|
+
- [ ] Add contract compliance tests
|
|
112
|
+
|
|
113
|
+
### Phase 4 (WebGPU)
|
|
114
|
+
- [ ] Complete WebGPU shader pipeline
|
|
115
|
+
- [ ] Port shaders from WebGL to WGSL
|
|
116
|
+
- [ ] Benchmark WebGL vs WebGPU
|
|
117
|
+
|
|
118
|
+
### Phase 5 (Hardening)
|
|
119
|
+
- [ ] Fix flaky timing test
|
|
120
|
+
- [ ] Separate Playwright tests from vitest
|
|
121
|
+
- [ ] Add more integration tests
|
|
122
|
+
- [ ] Browser rendering verification
|
|
123
|
+
|
|
124
|
+
### Documentation
|
|
125
|
+
- [ ] Consolidate scattered docs
|
|
126
|
+
- [ ] Archive outdated docs
|
|
127
|
+
- [ ] Create "Start Here" guide for new agents
|
|
128
|
+
- [ ] Add code examples to SYSTEM_INVENTORY.md
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## File References
|
|
133
|
+
|
|
134
|
+
### Primary Documentation
|
|
135
|
+
| File | Purpose |
|
|
136
|
+
|------|---------|
|
|
137
|
+
| `DOCS/SYSTEM_INVENTORY.md` | Complete system reference |
|
|
138
|
+
| `DOCS/CLI_ONBOARDING.md` | Agent CLI setup |
|
|
139
|
+
| `DOCS/CONTROL_REFERENCE.md` | UI parameters |
|
|
140
|
+
| `24-GEOMETRY-6D-ROTATION-SUMMARY.md` | Geometry encoding |
|
|
141
|
+
|
|
142
|
+
### Core Source Files
|
|
143
|
+
| File | Purpose |
|
|
144
|
+
|------|---------|
|
|
145
|
+
| `src/core/VIB3Engine.js` | Main unified engine |
|
|
146
|
+
| `src/core/RendererContracts.js` | Shared interfaces |
|
|
147
|
+
| `src/quantum/QuantumEngine.js` | Quantum system |
|
|
148
|
+
| `src/faceted/FacetedSystem.js` | Faceted system |
|
|
149
|
+
| `src/holograms/RealHolographicSystem.js` | Holographic system |
|
|
150
|
+
| `src/core/PolychoraSystem.js` | Polychora (TBD) |
|
|
151
|
+
| `src/agent/mcp/MCPServer.js` | MCP server |
|
|
152
|
+
| `src/agent/mcp/tools.js` | MCP tool definitions |
|
|
153
|
+
| `src/agent/cli/AgentCLI.js` | CLI interface |
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Git Commits This Session
|
|
158
|
+
|
|
159
|
+
1. `feat(ui): Add full 24 geometry support with core type selector`
|
|
160
|
+
2. `docs(sdk): Add comprehensive system inventory and agent onboarding tools`
|
|
161
|
+
3. (pending) `feat(mcp): Add multiple choice quiz and mark Polychora as TBD`
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Testing Commands
|
|
166
|
+
|
|
167
|
+
```bash
|
|
168
|
+
# Run all tests
|
|
169
|
+
npm test
|
|
170
|
+
|
|
171
|
+
# Run specific test file
|
|
172
|
+
npm test -- tests/agent/AgentCLI.test.js
|
|
173
|
+
|
|
174
|
+
# Run with coverage
|
|
175
|
+
npm test -- --coverage
|
|
176
|
+
|
|
177
|
+
# Start dev server
|
|
178
|
+
npm run dev:web
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Quiz Answers Reference
|
|
184
|
+
|
|
185
|
+
For agent onboarding quiz (`verify_knowledge`):
|
|
186
|
+
- Q1 (rotation planes): **c** (6)
|
|
187
|
+
- Q2 (geometry formula): **b** (core*8+base)
|
|
188
|
+
- Q3 (canvas layers): **c** (5)
|
|
189
|
+
- Q4 (active systems): **a** (quantum, faceted, holographic)
|
|
190
|
+
- Q5 (base geometries): **b** (8)
|
|
191
|
+
- Q6 (core types): **b** (base, hypersphere, hypertetrahedron)
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
*Document generated: Session 014, 2026-01-25*
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
# Session log (2026-01-07)
|
|
2
|
+
|
|
3
|
+
## 18:40:40
|
|
4
|
+
- Logged required tooling and onboarding plan for agentic CLI workflows.
|
|
5
|
+
- Created a dated dev track plan to anchor upcoming work.
|
|
6
|
+
- Documented telemetry export flow in the onboarding guide.
|
|
7
|
+
|
|
8
|
+
## 23:19:52
|
|
9
|
+
- Added onboarding verification prompts to ensure agents can name geometry types and controls.
|
|
10
|
+
|
|
11
|
+
## 23:34:16
|
|
12
|
+
- Clarified the onboarding knowledge check to allow continuation while pointing to the correct reference docs.
|
|
13
|
+
|
|
14
|
+
## 23:37:38
|
|
15
|
+
- Added a copy/paste knowledge-check template and planned it in the dev track.
|
|
16
|
+
|
|
17
|
+
## 02:07:46
|
|
18
|
+
- Captured the unified SDK strategic blueprint and linked it from the README.
|
|
19
|
+
|
|
20
|
+
## 02:10:12
|
|
21
|
+
- Expanded the strategic blueprint into detailed actions and created an execution plan checklist.
|
|
22
|
+
|
|
23
|
+
## 02:42:14
|
|
24
|
+
- Added 4D rotation matrices, projection helpers, and stability tests; checked off Phase 1 math foundation items.
|
|
25
|
+
|
|
26
|
+
## 02:42:36
|
|
27
|
+
- Ran `pnpm test` to validate rotation and projection math helpers.
|
|
28
|
+
|
|
29
|
+
## 02:46:57
|
|
30
|
+
- Added renderer and resource manager contracts and checked off the Phase 2 interface definition.
|
|
31
|
+
|
|
32
|
+
## 02:53:28
|
|
33
|
+
- Implemented Phase 3 agentic integration: MCP tool definitions, telemetry spans/error schema, and agent CLI JSON/non-interactive export.
|
|
34
|
+
|
|
35
|
+
## 02:53:50
|
|
36
|
+
- Added CLI error handling for invalid pack JSON with structured telemetry errors.
|
|
37
|
+
|
|
38
|
+
## 03:09:19
|
|
39
|
+
- Completed Phase 4 cross-platform scaffolding: WASM target, Flutter render command buffer, and WebGPU feature flags.
|
|
40
|
+
|
|
41
|
+
## 03:13:25
|
|
42
|
+
- Completed Phase 5 deliverables: licensing tiers, export formats with golden snapshot coverage, and XR benchmark docs.
|
|
43
|
+
|
|
44
|
+
## 03:13:48
|
|
45
|
+
- Ran `pnpm test` to update export format snapshots and validate test coverage.
|
|
46
|
+
|
|
47
|
+
## 13:19:14
|
|
48
|
+
- Added scene graph scaffolding and documented GPU disposal patterns for Phase 2.
|
|
49
|
+
|
|
50
|
+
## 2026-01-23 22:04 (Session 011)
|
|
51
|
+
- Fixed rotation stability test precision tolerance (Float32Array drift over 2000 iterations).
|
|
52
|
+
- Expanded LICENSING_TIERS.md with implementation details: key format, activation flow, token schema, offline validation, feature gating.
|
|
53
|
+
- Expanded EXPORT_FORMATS.md with format specifications, golden snapshot test implementation, and CI integration.
|
|
54
|
+
- Expanded XR_BENCHMARKS.md with metrics collection, benchmark runner, regression detection, and performance overlay.
|
|
55
|
+
- Added CLI `validate` command for validating scene packs, manifests, and tool responses.
|
|
56
|
+
- All 584 tests passing.
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Strategic development blueprint (2026-01-07)
|
|
2
|
+
|
|
3
|
+
This document captures the unified SDK direction for VIB3+ and provides an actionable architecture spine for agentic-first development.
|
|
4
|
+
|
|
5
|
+
## Unified architecture stack
|
|
6
|
+
- **Rendering core**: WebGL engine becomes the renderer of record.
|
|
7
|
+
- **Agentic wrapper**: MCP/automation layer orchestrates workflows, telemetry, and validation.
|
|
8
|
+
- **SDK scaffolding**: Public API layer with modular packages for core, math, geometry, materials, webgl, webgpu, agent, and cli.
|
|
9
|
+
|
|
10
|
+
## Package layout target
|
|
11
|
+
```
|
|
12
|
+
@vib3/core → Scene graph, resource management, abstract renderer
|
|
13
|
+
@vib3/math → 4D vectors, rotors, matrices, projections
|
|
14
|
+
@vib3/geometry → Polychora, tesseracts, slicing algorithms
|
|
15
|
+
@vib3/materials → Shaders, holographic/quantum rendering modes
|
|
16
|
+
@vib3/webgl → WebGL 2.0 backend
|
|
17
|
+
@vib3/webgpu → WebGPU backend (experimental)
|
|
18
|
+
@vib3/agent → MCP server, tools, telemetry
|
|
19
|
+
@vib3/cli → Agent-friendly CLI interface
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
## Math + rendering principles
|
|
23
|
+
- 4D rotations require rotors or 4×4 matrices; avoid storing orientation as Euler angles.
|
|
24
|
+
- Provide stereographic and perspective projections with singularity clamping.
|
|
25
|
+
- Renormalize rotors/matrices periodically to avoid drift.
|
|
26
|
+
|
|
27
|
+
## Agentic API design
|
|
28
|
+
- Prefer workflow-oriented tools (create scene, apply rotations, render preview) over low-level API exposure.
|
|
29
|
+
- Emit structured telemetry with explicit error codes, suggestions, and valid options.
|
|
30
|
+
- Add JSON output mode, non-interactive flags, and streaming progress events to the CLI.
|
|
31
|
+
|
|
32
|
+
## Cross-platform strategy
|
|
33
|
+
- Plan a shared core (Rust/C++/WASM) with thin platform bindings (web, Flutter, native).
|
|
34
|
+
- Batch render commands to avoid per-frame FFI overhead.
|
|
35
|
+
- Share shader sources and cross-compile to target platforms.
|
|
36
|
+
|
|
37
|
+
## Licensing direction (draft)
|
|
38
|
+
- MIT runtime for core packages with paid tiers for advanced tooling and exports.
|
|
39
|
+
- Provide transparent changelogs, pricing notices, and grandfathering policies.
|
|
40
|
+
|
|
41
|
+
## Phased roadmap
|
|
42
|
+
1. **Math foundation**: rotors, projections, core polychora generators.
|
|
43
|
+
2. **Rendering core**: renderer abstraction, system consolidation, resource disposal.
|
|
44
|
+
3. **Agentic integration**: MCP tools, telemetry, CLI JSON outputs.
|
|
45
|
+
4. **Cross-platform**: WASM core, Flutter bindings, WebGPU backend.
|
|
46
|
+
5. **Production hardening**: licensing, editor tooling, export formats, XR integration.
|
|
47
|
+
|
|
48
|
+
## Detailed blueprint actions
|
|
49
|
+
### Phase 1 — Mathematical foundation
|
|
50
|
+
- Implement rotor/matrix utilities for all six rotation planes.
|
|
51
|
+
- Provide stereographic + perspective projection helpers with clamping.
|
|
52
|
+
- Add automated stability tests for rotation drift.
|
|
53
|
+
|
|
54
|
+
### Phase 2 — Rendering core consolidation
|
|
55
|
+
- Extract renderer contracts and resource manager interfaces.
|
|
56
|
+
- Unify the four visualization systems behind a shared scene graph.
|
|
57
|
+
- Document disposal patterns to prevent GPU leaks.
|
|
58
|
+
|
|
59
|
+
### Phase 3 — Agentic integration
|
|
60
|
+
- Define MCP tools around workflows (create scene, apply rotation, render preview).
|
|
61
|
+
- Add telemetry spans and error schemas for validation and tooling.
|
|
62
|
+
- Implement CLI JSON output modes and non-interactive flags.
|
|
63
|
+
|
|
64
|
+
### Phase 4 — Cross-platform execution
|
|
65
|
+
- Formalize a WASM target and shared math core.
|
|
66
|
+
- Add Flutter bindings with a batched render command buffer.
|
|
67
|
+
- Prototype WebGPU backend behind feature flags.
|
|
68
|
+
|
|
69
|
+
### Phase 5 — Production hardening
|
|
70
|
+
- Draft licensing tiers and activation flow.
|
|
71
|
+
- Add export format support with golden snapshot tests.
|
|
72
|
+
- Document XR integration and performance benchmarks.
|