@vib3code/sdk 2.0.3-canary.d0c4221 → 2.0.3-canary.e86d5a7
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/DOCS/AGENT_HARNESS_ARCHITECTURE.md +2 -0
- package/DOCS/ANDROID_DEPLOYMENT.md +59 -0
- package/DOCS/ARCHITECTURE.md +1 -0
- package/DOCS/CI_TESTING.md +2 -0
- package/DOCS/CLI_ONBOARDING.md +2 -0
- package/DOCS/CONTROL_REFERENCE.md +2 -0
- package/DOCS/CROSS_SITE_DESIGN_PATTERNS.md +2 -0
- package/DOCS/ENV_SETUP.md +2 -0
- package/DOCS/EPIC_SCROLL_EVENTS.md +2 -0
- package/DOCS/EXPANSION_DESIGN.md +2 -0
- package/DOCS/EXPANSION_DESIGN_ULTRA.md +389 -0
- package/DOCS/EXPORT_FORMATS.md +2 -0
- package/DOCS/GPU_DISPOSAL_GUIDE.md +2 -0
- package/DOCS/HANDOFF_LANDING_PAGE.md +2 -0
- package/DOCS/HANDOFF_SDK_DEVELOPMENT.md +2 -0
- package/DOCS/LICENSING_TIERS.md +2 -0
- package/DOCS/MASTER_PLAN_2026-01-31.md +2 -0
- package/DOCS/MULTIVIZ_CHOREOGRAPHY_PATTERNS.md +3 -1
- package/DOCS/OBS_SETUP_GUIDE.md +2 -0
- package/DOCS/OPTIMIZATION_PLAN_MATH.md +119 -0
- package/DOCS/PRODUCT_STRATEGY.md +2 -0
- package/DOCS/PROJECT_SETUP.md +2 -0
- package/DOCS/README.md +5 -3
- package/DOCS/REFERENCE_SCROLL_ANALYSIS.md +2 -0
- package/DOCS/RENDERER_LIFECYCLE.md +2 -0
- package/DOCS/REPO_MANIFEST.md +2 -0
- package/DOCS/ROADMAP.md +2 -0
- package/DOCS/SCROLL_TIMELINE_v3.md +2 -0
- package/DOCS/SITE_REFACTOR_PLAN.md +2 -0
- package/DOCS/STATUS.md +2 -0
- package/DOCS/SYSTEM_INVENTORY.md +2 -0
- package/DOCS/TELEMETRY_EXPORTS.md +2 -0
- package/DOCS/VISUAL_ANALYSIS_CLICKERSS.md +2 -0
- package/DOCS/VISUAL_ANALYSIS_FACETAD.md +2 -0
- package/DOCS/VISUAL_ANALYSIS_SIMONE.md +2 -0
- package/DOCS/VISUAL_ANALYSIS_TABLESIDE.md +2 -0
- package/DOCS/WEBGPU_STATUS.md +2 -0
- package/DOCS/XR_BENCHMARKS.md +2 -0
- package/DOCS/archive/BLUEPRINT_EXECUTION_PLAN_2026-01-07.md +1 -34
- package/DOCS/archive/DEV_TRACK_ANALYSIS.md +1 -80
- package/DOCS/archive/DEV_TRACK_PLAN_2026-01-07.md +1 -42
- package/DOCS/archive/SESSION_014_PLAN.md +1 -195
- package/DOCS/archive/SESSION_LOG_2026-01-07.md +1 -56
- package/DOCS/archive/STRATEGIC_BLUEPRINT_2026-01-07.md +1 -72
- package/DOCS/archive/SYSTEM_AUDIT_2026-01-30.md +1 -741
- package/DOCS/archive/WEBGPU_STATUS_2026-02-15_STALE.md +1 -38
- package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-01-31.md +2 -0
- package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-06.md +2 -0
- package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-13.md +2 -0
- package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-15.md +2 -0
- package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-16.md +2 -0
- package/DOCS/dev-tracks/PERF_UPGRADE_2026-02-16.md +2 -0
- package/DOCS/dev-tracks/README.md +2 -0
- package/package.json +1 -1
- package/src/experimental/GameLoop.js +72 -0
- package/src/experimental/LatticePhysics.js +100 -0
- package/src/experimental/LiveDirector.js +143 -0
- package/src/experimental/PlayerController4D.js +154 -0
- package/src/experimental/VIB3Actor.js +138 -0
- package/src/experimental/VIB3Compositor.js +117 -0
- package/src/experimental/VIB3Link.js +122 -0
- package/src/experimental/VIB3Orchestrator.js +146 -0
- package/src/experimental/VIB3Universe.js +109 -0
- package/src/experimental/demos/CrystalLabyrinth.js +202 -0
- package/src/geometry/generators/Crystal.js +2 -2
- package/src/math/Mat4x4.js +238 -92
- package/src/math/Rotor4D.js +69 -46
- package/src/math/Vec4.js +200 -103
- package/src/scene/Node4D.js +74 -24
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
Last reviewed: 2026-02-17
|
|
2
|
+
# Optimization Plan: Core Math Library
|
|
3
|
+
|
|
4
|
+
## 1. Add `target` Parameters for Allocation-Free Operations
|
|
5
|
+
|
|
6
|
+
**Status:** High Impact / Medium Effort
|
|
7
|
+
**Currently:** `Mat4x4.multiply(m)` and `Mat4x4.multiplyVec4(v)` always return a `new` instance.
|
|
8
|
+
**Proposed:** Add an optional `target` parameter to write the result into an existing object.
|
|
9
|
+
|
|
10
|
+
### Implementation
|
|
11
|
+
```javascript
|
|
12
|
+
// Before
|
|
13
|
+
multiply(m) {
|
|
14
|
+
const out = new Mat4x4();
|
|
15
|
+
// ... compute ...
|
|
16
|
+
return out;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
// After
|
|
20
|
+
multiply(m, target = null) {
|
|
21
|
+
const out = target || new Mat4x4();
|
|
22
|
+
// ... compute ...
|
|
23
|
+
return out;
|
|
24
|
+
}
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
### Cascading Changes
|
|
28
|
+
* **Scene Graph (`Node4D.js`):** Update `updateWorldMatrix` to reuse a cached matrix instance instead of creating a new one every frame.
|
|
29
|
+
* **Physics/Animation:** Update loops to reuse vector/matrix instances.
|
|
30
|
+
|
|
31
|
+
### Watch Outs
|
|
32
|
+
* **Aliasing:** If `a.multiply(b, a)` is called (writing result back to operand), ensure the implementation handles this correctly. The current `multiplyInPlace` implementation handles this by caching values in local variables before writing to the array. Ensure new methods do the same.
|
|
33
|
+
* **API Consistency:** Ensure `target` is consistently the last argument or follows a predictable pattern.
|
|
34
|
+
|
|
35
|
+
## 2. Implement `Vec4` Object Pooling (or Lightweight Structure)
|
|
36
|
+
|
|
37
|
+
**Status:** High Impact / High Complexity
|
|
38
|
+
**Currently:** `Vec4` allocates a `Float32Array(4)` per instance. This is heavy for the JS engine and GC.
|
|
39
|
+
**Proposed:**
|
|
40
|
+
1. **Object Pool:** `Vec4.create()` grabs from a pool, `Vec4.release(v)` returns it.
|
|
41
|
+
2. **Lightweight Class:** Use plain object `{x, y, z, w}` for intermediate math, only converting to `Float32Array` when uploading to GPU.
|
|
42
|
+
|
|
43
|
+
### Implementation (Object Pool)
|
|
44
|
+
```javascript
|
|
45
|
+
class Vec4Pool {
|
|
46
|
+
static get() { return pool.pop() || new Vec4(); }
|
|
47
|
+
static release(v) { pool.push(v); }
|
|
48
|
+
}
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
### Cascading Changes
|
|
52
|
+
* **Usage:** Requires changing *every* `new Vec4()` call to `Vec4Pool.get()` and ensuring `release()` is called when done.
|
|
53
|
+
* **Lifecycle Management:** Extremely error-prone in JS. Missing a release leaks memory; double-release corrupts data.
|
|
54
|
+
|
|
55
|
+
### Watch Outs
|
|
56
|
+
* **Manual Memory Management:** This fights against the JS GC. Only worth it in extremely hot paths (e.g., particle systems, per-vertex operations).
|
|
57
|
+
* **Alternatives:** Consider simply using `Float32Array` offsets directly for bulk data (Structure of Arrays).
|
|
58
|
+
|
|
59
|
+
## 3. Cache Common Constants
|
|
60
|
+
|
|
61
|
+
**Status:** Medium Impact / Low Effort
|
|
62
|
+
**Currently:** `Mat4x4.identity()` creates a new matrix every call.
|
|
63
|
+
**Proposed:** Add static read-only constants.
|
|
64
|
+
|
|
65
|
+
### Implementation
|
|
66
|
+
```javascript
|
|
67
|
+
class Mat4x4 {
|
|
68
|
+
static get IDENTITY() {
|
|
69
|
+
if (!this._identity) this._identity = new Mat4x4().setIdentity();
|
|
70
|
+
return this._identity;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
### Cascading Changes
|
|
76
|
+
* **Usage:** Replace `Mat4x4.identity()` with `Mat4x4.IDENTITY` where read-only access is needed.
|
|
77
|
+
* **Cloning:** If modification is needed, use `Mat4x4.IDENTITY.clone()`.
|
|
78
|
+
|
|
79
|
+
### Watch Outs
|
|
80
|
+
* **Accidental Mutation:** If someone does `Mat4x4.IDENTITY.translate(...)`, it corrupts the constant for everyone.
|
|
81
|
+
* *Mitigation:* `Object.freeze()` or similar protections (though this has a perf cost). Better to rely on convention or a `ReadonlyMat4x4` type if using TS.
|
|
82
|
+
|
|
83
|
+
## 4. Optimize Scene Graph with In-Place Operations
|
|
84
|
+
|
|
85
|
+
**Status:** High Impact / Medium Effort
|
|
86
|
+
**Currently:** `Node4D.updateMatrix` often chains operations: `T * R * S`.
|
|
87
|
+
**Proposed:** Use the new `multiplyInPlace` and `rotateXX` methods.
|
|
88
|
+
|
|
89
|
+
### Implementation
|
|
90
|
+
```javascript
|
|
91
|
+
// Node4D.updateLocalMatrix
|
|
92
|
+
this.localMatrix.setIdentity();
|
|
93
|
+
this.localMatrix.translate(this.position); // Needs implementation
|
|
94
|
+
this.localMatrix.rotateFromAngles(this.rotation); // Needs implementation/update
|
|
95
|
+
this.localMatrix.scale(this.scale); // Needs implementation
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
### Cascading Changes
|
|
99
|
+
* **`Mat4x4` Extensions:** Need to implement `translate(v)`, `scale(v)` as in-place methods.
|
|
100
|
+
* **Logic Updates:** Rewrite `Node4D` transform logic to be imperative/stateful rather than functional/immutable.
|
|
101
|
+
|
|
102
|
+
### Watch Outs
|
|
103
|
+
* **Order of Operations:** Ensure `T * R * S` vs `S * R * T` order is preserved correctly when converting to in-place calls.
|
|
104
|
+
* **Dirty Flags:** Ensure `localMatrix` update only happens when `position`, `rotation`, or `scale` changes.
|
|
105
|
+
|
|
106
|
+
## 5. Bulk Operations for Geometry
|
|
107
|
+
|
|
108
|
+
**Status:** High Impact / High Complexity
|
|
109
|
+
**Currently:** `Mat4x4.multiplyVec4` processes one vector at a time.
|
|
110
|
+
**Proposed:** `Mat4x4.multiplyArray(inputArray, outputArray, count)`
|
|
111
|
+
|
|
112
|
+
### Implementation
|
|
113
|
+
Operate directly on flat `Float32Array` buffers.
|
|
114
|
+
|
|
115
|
+
### Cascading Changes
|
|
116
|
+
* **Geometry Generators:** Update to use bulk processing.
|
|
117
|
+
|
|
118
|
+
### Watch Outs
|
|
119
|
+
* **SIMD:** Browsers are starting to support SIMD via WASM. This might be a better target for heavy bulk math than optimizing JS loops.
|
package/DOCS/PRODUCT_STRATEGY.md
CHANGED
package/DOCS/PROJECT_SETUP.md
CHANGED
package/DOCS/README.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Last reviewed: 2026-02-17
|
|
2
|
+
|
|
1
3
|
# Documentation Index
|
|
2
4
|
|
|
3
5
|
## Strategy & Planning
|
|
@@ -54,7 +56,7 @@ Use these canonical documents first:
|
|
|
54
56
|
| Architecture | [`DOCS/SYSTEM_INVENTORY.md`](./SYSTEM_INVENTORY.md) | ✅ System boundaries, modules, and capabilities | SDK Architecture | 2026-02-12 |
|
|
55
57
|
| Product Strategy | [`DOCS/LICENSING_TIERS.md`](./LICENSING_TIERS.md) | ✅ Packaging, positioning, and commercial model | Product | 2026-02-12 |
|
|
56
58
|
| Master Plan | [`DOCS/MASTER_PLAN_2026-01-31.md`](./MASTER_PLAN_2026-01-31.md) | ✅ Program-level priorities and sequencing | Program Management | 2026-02-12 |
|
|
57
|
-
| Dev Track | [`DOCS/DEV_TRACK_SESSION_2026-02-06.md`](./DEV_TRACK_SESSION_2026-02-06.md) | ✅ Current implementation log and execution status | Engineering | 2026-02-12 |
|
|
59
|
+
| Dev Track | [`DOCS/DEV_TRACK_SESSION_2026-02-06.md`](./dev-tracks/DEV_TRACK_SESSION_2026-02-06.md) | ✅ Current implementation log and execution status | Engineering | 2026-02-12 |
|
|
58
60
|
|
|
59
61
|
## Reading Paths by Persona
|
|
60
62
|
|
|
@@ -70,7 +72,7 @@ Use these canonical documents first:
|
|
|
70
72
|
2. [`DOCS/REPO_MANIFEST.md`](./REPO_MANIFEST.md)
|
|
71
73
|
3. [`DOCS/SYSTEM_INVENTORY.md`](./SYSTEM_INVENTORY.md)
|
|
72
74
|
4. [`DOCS/MASTER_PLAN_2026-01-31.md`](./MASTER_PLAN_2026-01-31.md)
|
|
73
|
-
5. Latest dev track session (currently [`DOCS/DEV_TRACK_SESSION_2026-02-06.md`](./DEV_TRACK_SESSION_2026-02-06.md))
|
|
75
|
+
5. Latest dev track session (currently [`DOCS/DEV_TRACK_SESSION_2026-02-06.md`](./dev-tracks/DEV_TRACK_SESSION_2026-02-06.md))
|
|
74
76
|
|
|
75
77
|
### Product lead
|
|
76
78
|
1. [`DOCS/LICENSING_TIERS.md`](./LICENSING_TIERS.md)
|
|
@@ -91,7 +93,7 @@ Use these canonical documents first:
|
|
|
91
93
|
| Category | Scope | Primary files |
|
|
92
94
|
|---|---|---|
|
|
93
95
|
| Architecture | Runtime model, systems, lifecycles, controls | [`SYSTEM_INVENTORY.md`](./SYSTEM_INVENTORY.md) **(SOT)**, [`RENDERER_LIFECYCLE.md`](./RENDERER_LIFECYCLE.md), [`CONTROL_REFERENCE.md`](./CONTROL_REFERENCE.md), [`GPU_DISPOSAL_GUIDE.md`](./GPU_DISPOSAL_GUIDE.md) |
|
|
94
|
-
| Planning | Strategy, roadmap, execution direction | [`MASTER_PLAN_2026-01-31.md`](./MASTER_PLAN_2026-01-31.md) **(SOT)**, [`DEV_TRACK_SESSION_2026-02-06.md`](./DEV_TRACK_SESSION_2026-02-06.md) **(SOT for active sprint log)**, [`DEV_TRACK_SESSION_2026-01-31.md`](./DEV_TRACK_SESSION_2026-01-31.md), [`LICENSING_TIERS.md`](./LICENSING_TIERS.md) **(SOT for product packaging)** |
|
|
96
|
+
| Planning | Strategy, roadmap, execution direction | [`MASTER_PLAN_2026-01-31.md`](./MASTER_PLAN_2026-01-31.md) **(SOT)**, [`DEV_TRACK_SESSION_2026-02-06.md`](./dev-tracks/DEV_TRACK_SESSION_2026-02-06.md) **(SOT for active sprint log)**, [`DEV_TRACK_SESSION_2026-01-31.md`](./dev-tracks/DEV_TRACK_SESSION_2026-01-31.md), [`LICENSING_TIERS.md`](./LICENSING_TIERS.md) **(SOT for product packaging)** |
|
|
95
97
|
| Operations | Setup, CI, runbooks, observability | [`PROJECT_SETUP.md`](./PROJECT_SETUP.md) **(SOT for project bootstrap)**, [`ENV_SETUP.md`](./ENV_SETUP.md), [`CI_TESTING.md`](./CI_TESTING.md), [`OBS_SETUP_GUIDE.md`](./OBS_SETUP_GUIDE.md), [`TELEMETRY_EXPORTS.md`](./TELEMETRY_EXPORTS.md) |
|
|
96
98
|
| Analysis | Benchmarks, visual analysis, design studies | [`WEBGPU_STATUS.md`](./WEBGPU_STATUS.md), [`XR_BENCHMARKS.md`](./XR_BENCHMARKS.md), [`CROSS_SITE_DESIGN_PATTERNS.md`](./CROSS_SITE_DESIGN_PATTERNS.md), `VISUAL_ANALYSIS_*.md`, [`REFERENCE_SCROLL_ANALYSIS.md`](./REFERENCE_SCROLL_ANALYSIS.md) |
|
|
97
99
|
| Archive | Historical plans and audits retained for traceability | [`archive/`](./archive/) including [`archive/SYSTEM_AUDIT_2026-01-30.md`](./archive/SYSTEM_AUDIT_2026-01-30.md), [`archive/STRATEGIC_BLUEPRINT_2026-01-07.md`](./archive/STRATEGIC_BLUEPRINT_2026-01-07.md), [`archive/SESSION_LOG_2026-01-07.md`](./archive/SESSION_LOG_2026-01-07.md) |
|
package/DOCS/REPO_MANIFEST.md
CHANGED
package/DOCS/ROADMAP.md
CHANGED
package/DOCS/STATUS.md
CHANGED
package/DOCS/SYSTEM_INVENTORY.md
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
Last reviewed: 2026-02-17
|
|
2
|
+
|
|
1
3
|
# Telemetry export manifests
|
|
2
4
|
|
|
3
5
|
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.
|
package/DOCS/WEBGPU_STATUS.md
CHANGED
package/DOCS/XR_BENCHMARKS.md
CHANGED
|
@@ -1,34 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
This execution plan operationalizes the strategic blueprint and defines what each session should deliver. Each session should update `DOCS/archive/SESSION_LOG_2026-01-07.md` with timestamped progress and keep the checklist current.
|
|
4
|
-
|
|
5
|
-
## Session cadence
|
|
6
|
-
- **Start of session**: review this plan and the strategic blueprint.
|
|
7
|
-
- **During session**: implement the next unchecked items, keep scope tight.
|
|
8
|
-
- **End of session**: update the session log with timestamped outcomes and any blockers.
|
|
9
|
-
|
|
10
|
-
## Execution checklist
|
|
11
|
-
### Phase 1 — Mathematical foundation
|
|
12
|
-
- [x] Add rotor/matrix utilities for the six rotation planes.
|
|
13
|
-
- [x] Implement stereographic + perspective projection helpers.
|
|
14
|
-
- [x] Add rotation drift/stability tests.
|
|
15
|
-
|
|
16
|
-
### Phase 2 — Rendering core consolidation
|
|
17
|
-
- [x] Define renderer contracts and resource manager interfaces.
|
|
18
|
-
- [ ] Unify visualization systems behind a shared scene graph.
|
|
19
|
-
- [x] Document GPU disposal patterns and lifecycle hooks.
|
|
20
|
-
|
|
21
|
-
### Phase 3 — Agentic integration
|
|
22
|
-
- [x] Define MCP tools for create/apply/render workflows.
|
|
23
|
-
- [x] Emit structured telemetry spans and error schemas.
|
|
24
|
-
- [x] Implement CLI JSON output and non-interactive modes.
|
|
25
|
-
|
|
26
|
-
### Phase 4 — Cross-platform execution
|
|
27
|
-
- [x] Define WASM build target and shared math core strategy.
|
|
28
|
-
- [x] Add Flutter bindings with a batched render command buffer.
|
|
29
|
-
- [x] Prototype WebGPU backend behind feature flags.
|
|
30
|
-
|
|
31
|
-
### Phase 5 — Production hardening
|
|
32
|
-
- [x] Draft licensing tiers and activation workflow.
|
|
33
|
-
- [x] Add export formats with golden snapshot tests.
|
|
34
|
-
- [x] Document XR integration benchmarks and performance targets.
|
|
1
|
+
Last reviewed: 2026-02-17
|
|
@@ -1,80 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
> **Archived document:** This file is retained for historical reference in `DOCS/archive/` and is not part of the active docs set.
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
This document summarizes the current development track status, highlights gaps, and proposes the
|
|
7
|
-
next execution steps. It should be updated after each multi-system delivery.
|
|
8
|
-
|
|
9
|
-
**Last Updated:** 2026-01-30 (v2.0.0)
|
|
10
|
-
|
|
11
|
-
## Current status snapshot
|
|
12
|
-
- **Math foundation:** rotation utilities, projection clamping, and stability tests are in place.
|
|
13
|
-
- **Renderer lifecycle:** unified contract and lifecycle manager are defined with adapters for the
|
|
14
|
-
core systems; resource tracking is centralized in the WebGL backend.
|
|
15
|
-
- **Agentic tooling:** MCP/CLI response envelopes are standardized with schema validation.
|
|
16
|
-
- **Docs/ops:** environment setup, CI testing, repo manifest, and project provisioning guides are
|
|
17
|
-
documented.
|
|
18
|
-
- **WebGPU scaffold:** experimental backend initializes device/context and supports clear-pass render frames.
|
|
19
|
-
- **WebGPU status/testing:** documented current WebGPU state and validation requirements.
|
|
20
|
-
- **v2.0.0 Core Fixes (Phase A):** Quantum color restored, Faceted saturation + audio wired, clickIntensity bug fixed, shader sync tool added.
|
|
21
|
-
- **v2.0.0 SpatialInputSystem:** Universal spatial input with 8 source types, 6 profiles, integrated into VIB3Engine. Decouples "card tilting" from device orientation.
|
|
22
|
-
- **v2.0.0 Creative Tooling (Phase B):** Color presets (22), transitions (14 easings), post-processing (14 effects), parameter timeline (BPM sync).
|
|
23
|
-
- **v2.0.0 Platform Integrations (Phase C):** React, Vue, Svelte component wrappers; Figma plugin; Three.js ShaderMaterial; TouchDesigner GLSL export; OBS mode.
|
|
24
|
-
- **v2.0.0 Advanced Features (Phase D):** WebXR renderer, WebGPU compute shaders, MIDI controller, AI preset generator, OffscreenCanvas worker.
|
|
25
|
-
|
|
26
|
-
## Completed phases
|
|
27
|
-
| Phase | Status | Deliverables |
|
|
28
|
-
|-------|--------|-------------|
|
|
29
|
-
| Phase 1: Foundation | ✅ Complete | Math, geometry, parameters |
|
|
30
|
-
| Phase 2: Rendering | ✅ Mostly Complete | Contracts, adapters, backends |
|
|
31
|
-
| Phase 3: Agentic | ✅ Complete | MCP, CLI, Telemetry |
|
|
32
|
-
| Phase 4: WebGPU | 🔄 In Progress | Scaffold exists |
|
|
33
|
-
| Phase 5: Hardening | ✅ Complete | 694 tests, XSS prevention |
|
|
34
|
-
| Phase A: Parity & Polish | ✅ Complete | Color/audio/saturation fixes |
|
|
35
|
-
| Phase B: Creative Tooling | ✅ Complete | 4 modules, 3,837 lines |
|
|
36
|
-
| Phase C: Platform Integrations | ✅ Complete | 7 modules, 4,693 lines |
|
|
37
|
-
| Phase D: Advanced | ✅ Complete | 5 modules, 4,262 lines |
|
|
38
|
-
| SpatialInputSystem | ✅ Complete | 1,783 lines, 8 sources, 6 profiles |
|
|
39
|
-
|
|
40
|
-
## Key gaps to close
|
|
41
|
-
1. **v2.0.0 module test coverage:**
|
|
42
|
-
- Creative, integrations, and advanced modules need unit/integration tests.
|
|
43
|
-
- SpatialInputSystem profiles need validation tests.
|
|
44
|
-
2. **WebGPU prototype (Phase 4):**
|
|
45
|
-
- Confirm feature-flag gating and parity with WebGL backend entry points.
|
|
46
|
-
- Establish a minimal shader/material pipeline that mirrors the WebGL contract.
|
|
47
|
-
3. **Platform integration validation:**
|
|
48
|
-
- Test React/Vue/Svelte components with actual framework projects.
|
|
49
|
-
- Validate Figma plugin with Figma Developer Console.
|
|
50
|
-
- Test TouchDesigner GLSL export in actual TD environment.
|
|
51
|
-
4. **Cross-platform command buffers:**
|
|
52
|
-
- Document and validate the render command buffer format for Flutter/WASM integration.
|
|
53
|
-
- Ensure command buffer batching and lifecycle hooks align with `RendererContract`.
|
|
54
|
-
5. **Telemetry export hardening:**
|
|
55
|
-
- Add validation for telemetry manifests and scene packs in CI.
|
|
56
|
-
- Produce golden snapshot tests for core geometries.
|
|
57
|
-
|
|
58
|
-
## Recommended next steps
|
|
59
|
-
1. **Test coverage for v2.0.0 modules:**
|
|
60
|
-
- Write Vitest unit tests for SpatialInputSystem (profile loading, input feeding, sensitivity).
|
|
61
|
-
- Write tests for creative tooling (preset application, transition interpolation, timeline playback).
|
|
62
|
-
- Add E2E tests for OBS mode and framework components.
|
|
63
|
-
2. **NPM publish preparation:**
|
|
64
|
-
- Verify all package.json exports resolve correctly.
|
|
65
|
-
- Test tree-shaking with the creative/integrations/advanced imports.
|
|
66
|
-
- Run `npm pack --dry-run` to verify published file list.
|
|
67
|
-
3. **WebGPU spike (Phase 4):**
|
|
68
|
-
- Build a feature-flagged WebGPU backend scaffold in `src/render/backends/`.
|
|
69
|
-
- Add a minimal triangle pipeline with uniform updates and buffer management.
|
|
70
|
-
4. **Renderer diagnostics:**
|
|
71
|
-
- Expand `RenderResourceRegistry` stats to include peak usage and per-frame deltas.
|
|
72
|
-
5. **Project automation:**
|
|
73
|
-
- Provide a scripted `make setup` (or `pnpm setup`) that runs env + project setup steps.
|
|
74
|
-
|
|
75
|
-
## Risks and mitigation
|
|
76
|
-
- **GPU resource churn:** ensure registry-based disposal is called during renderer swaps.
|
|
77
|
-
- **Numerical drift:** keep normalization utilities and baseline tests running in CI.
|
|
78
|
-
- **Cross-platform divergence:** ensure WebGL and WebGPU share material definitions.
|
|
79
|
-
- **v2.0.0 module breadth:** 18 new files need test coverage before production use.
|
|
80
|
-
- **Framework integration drift:** framework APIs evolve; pin versions in test fixtures.
|
|
1
|
+
Last reviewed: 2026-02-17
|
|
@@ -1,42 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
This plan captures the staged work needed to deliver a production-ready agentic telemetry pipeline and export workflow. It is written as a living track plan so future sessions can append progress and maintain consistent architecture decisions.
|
|
4
|
-
|
|
5
|
-
## North-star goals
|
|
6
|
-
1. Agent-friendly CLI onboarding and help output.
|
|
7
|
-
2. Deterministic telemetry manifest exports with previews and asset hashing.
|
|
8
|
-
3. Clear documentation for automation, QA, and CI workflows.
|
|
9
|
-
|
|
10
|
-
## Architecture anchors
|
|
11
|
-
- **Telemetry pipeline**: `tools/telemetry/manifestPipeline.js` is the single source of truth for manifest normalization and hashing.
|
|
12
|
-
- **Preview generation**: `js/core/telemetry-director.js` generates previews (renderer-backed or placeholders) and passes them into manifests.
|
|
13
|
-
- **Docs hub**: `DOCS/` is the canonical location for workflow documentation (onboarding, telemetry, control references).
|
|
14
|
-
|
|
15
|
-
## Planned track (phased)
|
|
16
|
-
### Phase 1 — Onboarding + documentation hardening
|
|
17
|
-
- Publish an agentic CLI onboarding guide with tool requirements, commands, and telemetry workflow steps.
|
|
18
|
-
- Update README references so new onboarding docs are discoverable.
|
|
19
|
-
- Extend telemetry docs with explicit CLI integration guidance and export flow notes.
|
|
20
|
-
- Add a lightweight knowledge-check template that validates geometry/control comprehension without blocking execution.
|
|
21
|
-
|
|
22
|
-
### Phase 2 — Agentic workflow hooks
|
|
23
|
-
- Add CLI wrappers for telemetry export flows (pack selection, preview generation, manifest hashing).
|
|
24
|
-
- Emit summaries designed for CI cache validation and diffing.
|
|
25
|
-
- Provide optional validation hooks for manifest/preview consistency.
|
|
26
|
-
|
|
27
|
-
### Phase 3 — Quality and verification
|
|
28
|
-
- Add lint/test targets for telemetry outputs if applicable.
|
|
29
|
-
- Document CI steps for telemetry export validation.
|
|
30
|
-
- Add golden snapshot routines for preview images when the pipeline stabilizes.
|
|
31
|
-
|
|
32
|
-
## Risks and mitigations
|
|
33
|
-
- **Risk**: Hash drift due to unstable object serialization.
|
|
34
|
-
**Mitigation**: Keep stable hashing in `manifestPipeline.js` and avoid non-deterministic fields.
|
|
35
|
-
- **Risk**: Preview generation inconsistency across runtimes.
|
|
36
|
-
**Mitigation**: Maintain browser-safe fallback encoding and ensure renderer contracts are documented.
|
|
37
|
-
|
|
38
|
-
## Deliverables checklist
|
|
39
|
-
- [ ] CLI onboarding doc is complete and linked in README.
|
|
40
|
-
- [ ] Telemetry docs include export integration steps.
|
|
41
|
-
- [ ] Agentic CLI support documented or implemented.
|
|
42
|
-
- [ ] CI guidance includes telemetry hashes and preview artifacts.
|
|
1
|
+
Last reviewed: 2026-02-17
|
|
@@ -1,195 +1 @@
|
|
|
1
|
-
|
|
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*
|
|
1
|
+
Last reviewed: 2026-02-17
|