@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,220 @@
|
|
|
1
|
+
# Dev Track Session — January 31, 2026
|
|
2
|
+
|
|
3
|
+
**Branch**: `claude/review-project-status-BwVbr`
|
|
4
|
+
**Phase**: E-1 through E-6 (Full Master Plan Execution)
|
|
5
|
+
**Ref**: `DOCS/MASTER_PLAN_2026-01-31.md`
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Session Goals
|
|
10
|
+
|
|
11
|
+
1. Full codebase audit against Phase 5 platform hardening plan
|
|
12
|
+
2. Create Master Plan consolidating all findings
|
|
13
|
+
3. Execute Phase E-1 (Pre-Launch Blockers)
|
|
14
|
+
4. Execute Phases E-2 through E-6 (remaining master plan items)
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Commit 1: Master Plan (`2c88aa7`)
|
|
19
|
+
|
|
20
|
+
- Created `DOCS/MASTER_PLAN_2026-01-31.md` — 570-line master plan with 43 action items across 6 phases
|
|
21
|
+
- Full codebase audit: 570+ files, 95K+ lines
|
|
22
|
+
- Identified 14 broken exports, missing LICENSE, missing CHANGELOG, missing TypeScript barrel
|
|
23
|
+
|
|
24
|
+
## Commit 2: Phase E-1 Pre-Launch Blockers (`913419f`)
|
|
25
|
+
|
|
26
|
+
| # | Item | File(s) |
|
|
27
|
+
|---|------|---------|
|
|
28
|
+
| 1 | MIT LICENSE added | `LICENSE` |
|
|
29
|
+
| 2 | 14 broken exports removed | `package.json` — quaternion, pose, sensors, localization, product/telemetry |
|
|
30
|
+
| 3 | TypeScript barrel created | `types/adaptive-sdk.d.ts` |
|
|
31
|
+
| 4 | `npm run dev` alias | `package.json` scripts |
|
|
32
|
+
| 5 | `prepublishOnly` script | `package.json` scripts |
|
|
33
|
+
| 6 | CI publish workflow | `.github/workflows/publish.yml` |
|
|
34
|
+
| 7 | CHANGELOG.md | `CHANGELOG.md` — v1.0.0 + v2.0.0 |
|
|
35
|
+
|
|
36
|
+
## Commit 3: Phases E-2 through E-6 (this commit)
|
|
37
|
+
|
|
38
|
+
### E-2: Launch
|
|
39
|
+
|
|
40
|
+
| Item | File(s) | Notes |
|
|
41
|
+
|------|---------|-------|
|
|
42
|
+
| Landing page | `index.html` | Replaced 3-second meta-refresh with proper landing page: hero, code snippet, feature cards, nav links. Includes `prefers-reduced-motion`. |
|
|
43
|
+
| URL state support | `docs/url-state.js` | Reads/writes params to URL query string. Auto-applies on load. Shareable links. |
|
|
44
|
+
| README update | `README.md` | License badge → MIT. Added Quick Start with `npx @vib3code/sdk init`. Added `build:lib`, `storybook`, `verify:shaders` to dev commands. Updated license section. |
|
|
45
|
+
|
|
46
|
+
### E-3: Adoption Friction
|
|
47
|
+
|
|
48
|
+
| Item | File(s) | Notes |
|
|
49
|
+
|------|---------|-------|
|
|
50
|
+
| CLI `init` command | `src/cli/index.js` | `vib3 init my-app` scaffolds package.json + index.html + main.js with VIB3Engine wired up. |
|
|
51
|
+
| React example | `examples/react/index.jsx` + `README.md` | System switching, geometry, hue controls via hooks. |
|
|
52
|
+
| Vanilla JS example | `examples/vanilla/index.html` | Minimal HTML+JS with controls. |
|
|
53
|
+
| Three.js example | `examples/threejs/index.html` | VIB3+ shader on a rotating Three.js cube, imports Three from CDN. |
|
|
54
|
+
| CDN/UMD build | `vite.config.js` | Added `--mode lib` path: produces `dist/lib/vib3.es.js` + `vib3.umd.js`. Added `build:lib` script. |
|
|
55
|
+
| Storybook config | `.storybook/main.js`, `.storybook/preview.js`, `stories/VIB3Engine.stories.js` | html-vite Storybook with dark background, system/geometry/hue/speed/chaos controls. |
|
|
56
|
+
|
|
57
|
+
### E-4: Quality & Confidence
|
|
58
|
+
|
|
59
|
+
| Item | File(s) | Notes |
|
|
60
|
+
|------|---------|-------|
|
|
61
|
+
| SpatialInputSystem destroy() | — | Already exists (lines 1726-1752). Audit corrected. |
|
|
62
|
+
| Cross-browser Playwright | `playwright.config.js` | Added Firefox and WebKit (Safari) projects alongside Chromium. |
|
|
63
|
+
| Accessibility CSS | `styles/accessibility.css` | `prefers-reduced-motion`, `focus-visible` outlines, `forced-colors` support, skip-to-content link. |
|
|
64
|
+
|
|
65
|
+
### E-5: Scale & Distribution
|
|
66
|
+
|
|
67
|
+
| Item | File(s) | Notes |
|
|
68
|
+
|------|---------|-------|
|
|
69
|
+
| WASM build CI | `.github/workflows/wasm-build.yml` | Triggers on cpp/ changes. Uses Emscripten 3.1.51. Uploads WASM artifacts. |
|
|
70
|
+
| OBS setup guide | `DOCS/OBS_SETUP_GUIDE.md` | 5-step visual guide: start VIB3+, add browser source, enable transparency, position overlay, control parameters. Includes troubleshooting table. |
|
|
71
|
+
|
|
72
|
+
### E-6: Ecosystem & Community
|
|
73
|
+
|
|
74
|
+
| Item | File(s) | Notes |
|
|
75
|
+
|------|---------|-------|
|
|
76
|
+
| Bug report template | `.github/ISSUE_TEMPLATE/bug_report.md` | System, browser, OS fields. Repro steps. |
|
|
77
|
+
| Feature request template | `.github/ISSUE_TEMPLATE/feature_request.md` | Area checkboxes for all subsystems. |
|
|
78
|
+
| CONTRIBUTING.md | `CONTRIBUTING.md` | Getting started, dev commands, PR process, code style. |
|
|
79
|
+
| SECURITY.md | `SECURITY.md` | Responsible disclosure to Paul@clearseassolutions.com. Scope covers XSS, GPU exhaustion, WASM safety, MCP validation. |
|
|
80
|
+
| Opt-in error reporter | `src/core/ErrorReporter.js` | `window.onerror` + `unhandledrejection` capture. OFF by default. Rate-limited (50/session). Anonymized. Supports custom callback or HTTP POST. |
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## Files Changed (All 3 Commits Combined)
|
|
85
|
+
|
|
86
|
+
### Created (25 files)
|
|
87
|
+
| File | Purpose |
|
|
88
|
+
|------|---------|
|
|
89
|
+
| `DOCS/MASTER_PLAN_2026-01-31.md` | Master plan with 43 items |
|
|
90
|
+
| `DOCS/DEV_TRACK_SESSION_2026-01-31.md` | This session log |
|
|
91
|
+
| `DOCS/OBS_SETUP_GUIDE.md` | OBS integration guide |
|
|
92
|
+
| `LICENSE` | MIT License |
|
|
93
|
+
| `CHANGELOG.md` | v1.0.0 + v2.0.0 release notes |
|
|
94
|
+
| `CONTRIBUTING.md` | Contributor guide |
|
|
95
|
+
| `SECURITY.md` | Security policy |
|
|
96
|
+
| `types/adaptive-sdk.d.ts` | TypeScript barrel re-export |
|
|
97
|
+
| `.github/workflows/publish.yml` | npm publish on Git tag |
|
|
98
|
+
| `.github/workflows/wasm-build.yml` | WASM build CI |
|
|
99
|
+
| `.github/ISSUE_TEMPLATE/bug_report.md` | Bug report template |
|
|
100
|
+
| `.github/ISSUE_TEMPLATE/feature_request.md` | Feature request template |
|
|
101
|
+
| `.storybook/main.js` | Storybook config |
|
|
102
|
+
| `.storybook/preview.js` | Storybook preview |
|
|
103
|
+
| `stories/VIB3Engine.stories.js` | Engine stories |
|
|
104
|
+
| `docs/url-state.js` | URL state manager |
|
|
105
|
+
| `styles/accessibility.css` | Accessibility styles |
|
|
106
|
+
| `src/core/ErrorReporter.js` | Opt-in error telemetry |
|
|
107
|
+
| `examples/react/index.jsx` | React example |
|
|
108
|
+
| `examples/react/README.md` | React example docs |
|
|
109
|
+
| `examples/vanilla/index.html` | Vanilla JS example |
|
|
110
|
+
| `examples/threejs/index.html` | Three.js example |
|
|
111
|
+
|
|
112
|
+
### Modified (5 files)
|
|
113
|
+
| File | Changes |
|
|
114
|
+
|------|---------|
|
|
115
|
+
| `package.json` | Removed 14 broken exports, license → MIT, added dev/prepublishOnly/build:lib scripts, added LICENSE+CHANGELOG to files |
|
|
116
|
+
| `index.html` | Replaced redirect with landing page |
|
|
117
|
+
| `vite.config.js` | Added library build mode (UMD + ESM) |
|
|
118
|
+
| `playwright.config.js` | Added Firefox + WebKit browser projects |
|
|
119
|
+
| `src/cli/index.js` | Added `init` command for project scaffolding |
|
|
120
|
+
| `README.md` | License badge, Quick Start, dev commands, license section |
|
|
121
|
+
|
|
122
|
+
---
|
|
123
|
+
|
|
124
|
+
## Items Requiring Manual / External Action
|
|
125
|
+
|
|
126
|
+
These items from the master plan cannot be completed in code and need your action:
|
|
127
|
+
|
|
128
|
+
| Item | Action Required |
|
|
129
|
+
|------|-----------------|
|
|
130
|
+
| npm publish | Configure `NPM_TOKEN` in GitHub repo secrets, push `v2.0.0` tag |
|
|
131
|
+
| Demo videos/GIFs | Screen record 30s of each system, add to `assets/` and README |
|
|
132
|
+
| Figma Community publish | Generate plugin bundle from `FigmaPlugin.js`, publish via Figma Dev Mode |
|
|
133
|
+
| GitHub Discussions | Enable in repo Settings → Features → Discussions |
|
|
134
|
+
| GitHub Projects board | Create in repo → Projects tab |
|
|
135
|
+
| Discord community | Create server externally |
|
|
136
|
+
| Blog posts | Content creation |
|
|
137
|
+
| TypeScript types for v2.0.0 modules | Large effort — 18 `.d.ts` files needed for creative/integrations/advanced |
|
|
138
|
+
| Unit tests for v2.0.0 modules | Large effort — 18 test files needed |
|
|
139
|
+
|
|
140
|
+
---
|
|
141
|
+
|
|
142
|
+
## Phase Status
|
|
143
|
+
|
|
144
|
+
| Phase | Items | Done | Remaining |
|
|
145
|
+
|-------|-------|------|-----------|
|
|
146
|
+
| E-1: Pre-Launch Blockers | 7 | 7 | 0 |
|
|
147
|
+
| E-2: Launch | 5 | 3 | 2 (videos, full demo polish) |
|
|
148
|
+
| E-3: Adoption | 5 | 5 | 0 (Vue/Svelte examples could be added) |
|
|
149
|
+
| E-4: Quality | 9 | 3 | 6 (unit tests, mobile, memory leak, benchmarks) |
|
|
150
|
+
| E-5: Scale | 6 | 2 | 4 (WebGPU primary, canary builds, Figma, Releases) |
|
|
151
|
+
| E-6: Ecosystem | 11 | 4 | 7 (gallery app, tutorial, API docs, community) |
|
|
152
|
+
| **Total** | **43** | **24** | **19** |
|
|
153
|
+
|
|
154
|
+
---
|
|
155
|
+
|
|
156
|
+
## Session 2 (continued) — Commits 4-6
|
|
157
|
+
|
|
158
|
+
### Commit 4: WebGPU Primary Render Path (`c28886c`)
|
|
159
|
+
|
|
160
|
+
| Item | File(s) | Notes |
|
|
161
|
+
|------|---------|-------|
|
|
162
|
+
| WebGPU as primary render path | `src/core/VIB3Engine.js` | Flipped `preferWebGPU` default from `false` to `true`. Added WebGPU bridge init for all 3 systems (Quantum, Faceted, Holographic) with try/catch and WebGL fallback. |
|
|
163
|
+
|
|
164
|
+
### Commit 5: TypeScript Types for v2.0.0 Modules (`74a8f43`)
|
|
165
|
+
|
|
166
|
+
23 files changed, 1620 insertions:
|
|
167
|
+
|
|
168
|
+
| Module | File(s) | Notes |
|
|
169
|
+
|--------|---------|-------|
|
|
170
|
+
| SpatialInputSystem | `types/reactivity/SpatialInputSystem.d.ts` | 8 source types, 8 axes, full method signatures |
|
|
171
|
+
| Creative (4 files) | `types/creative/*.d.ts` + `index.d.ts` | ColorPresets, TransitionAnimator, PostProcessing, Timeline |
|
|
172
|
+
| Integrations (8 files) | `types/integrations/*.d.ts` + `index.d.ts` | React, Vue, Svelte, Figma, Three.js, TouchDesigner, OBS |
|
|
173
|
+
| Advanced (6 files) | `types/advanced/*.d.ts` + `index.d.ts` | WebXR, WebGPU Compute, MIDI, AI Presets, OffscreenWorker |
|
|
174
|
+
| ErrorReporter | `types/core/ErrorReporter.d.ts` | Error report payload, options |
|
|
175
|
+
| Barrel update | `types/adaptive-sdk.d.ts` | Re-exports all 18 new modules |
|
|
176
|
+
| Engine types fix | `types/core/VIB3Engine.d.ts` | preferWebGPU default → true |
|
|
177
|
+
|
|
178
|
+
### Commit 6: Examples, Canary CI, and Unit Tests (`61fa5e7`)
|
|
179
|
+
|
|
180
|
+
18 files changed, 1528 insertions:
|
|
181
|
+
|
|
182
|
+
| Item | File(s) | Notes |
|
|
183
|
+
|------|---------|-------|
|
|
184
|
+
| Vue 3 example | `examples/vue/index.js` + `README.md` | Composition API pattern with watchers |
|
|
185
|
+
| Svelte example | `examples/svelte/index.js` + `README.md` | onMount/onDestroy lifecycle pattern |
|
|
186
|
+
| Canary builds CI | `.github/workflows/canary.yml` | Publishes `@vib3code/sdk@canary` on every main push |
|
|
187
|
+
| 11 unit test files | `tests/creative/*.test.js`, `tests/advanced/*.test.js`, `tests/integrations/*.test.js`, `tests/reactivity/SpatialInputSystem.test.js`, `tests/core/ErrorReporter.test.js` | 148 tests, all passing |
|
|
188
|
+
| happy-dom | `package.json` | Added as devDependency for vitest environment |
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Updated Phase Status
|
|
193
|
+
|
|
194
|
+
| Phase | Items | Done | Remaining |
|
|
195
|
+
|-------|-------|------|-----------|
|
|
196
|
+
| E-1: Pre-Launch Blockers | 7 | 7 | 0 |
|
|
197
|
+
| E-2: Launch | 5 | 3 | 2 (videos, full demo polish) |
|
|
198
|
+
| E-3: Adoption | 5 | 5 | 0 — Vue + Svelte examples added |
|
|
199
|
+
| E-4: Quality | 9 | 5 | 4 (mobile, memory leak, benchmarks, flaky timing) |
|
|
200
|
+
| E-5: Scale | 6 | 4 | 2 (Figma publish, GitHub Releases) |
|
|
201
|
+
| E-6: Ecosystem | 11 | 4 | 7 (gallery app, tutorial, API docs, community) |
|
|
202
|
+
| **Total** | **43** | **28** | **15** |
|
|
203
|
+
|
|
204
|
+
---
|
|
205
|
+
|
|
206
|
+
## Items Still Requiring Manual Action
|
|
207
|
+
|
|
208
|
+
| Item | Action Required |
|
|
209
|
+
|------|-----------------|
|
|
210
|
+
| npm publish | Configure `NPM_TOKEN` in GitHub repo secrets, push `v2.0.0` tag |
|
|
211
|
+
| Demo videos/GIFs | Screen record 30s of each system, add to `assets/` and README |
|
|
212
|
+
| Figma Community publish | Generate plugin bundle from `FigmaPlugin.js`, publish via Figma Dev Mode |
|
|
213
|
+
| GitHub Discussions | Enable in repo Settings → Features → Discussions |
|
|
214
|
+
| GitHub Projects board | Create in repo → Projects tab |
|
|
215
|
+
| Discord community | Create server externally |
|
|
216
|
+
| Blog posts | Content creation |
|
|
217
|
+
|
|
218
|
+
---
|
|
219
|
+
|
|
220
|
+
*Session end — January 31, 2026*
|
|
@@ -0,0 +1,189 @@
|
|
|
1
|
+
# Environment setup (Firebase, gcloud, Flutter, Android, GH CLI)
|
|
2
|
+
|
|
3
|
+
This doc provides a **copy/paste** bootstrap script to install and configure:
|
|
4
|
+
- Firebase CLI
|
|
5
|
+
- Google Cloud SDK (`gcloud`)
|
|
6
|
+
- Flutter SDK
|
|
7
|
+
- Android SDK (command-line tools)
|
|
8
|
+
- GitHub CLI (`gh`)
|
|
9
|
+
|
|
10
|
+
> ✅ Intended for Linux environments (Ubuntu/Debian).
|
|
11
|
+
> ✅ Replace placeholder values for auth and project configuration.
|
|
12
|
+
|
|
13
|
+
## Placeholders to fill
|
|
14
|
+
- `<YOUR_GH_TOKEN>`: a GitHub personal access token for `gh auth login --with-token`.
|
|
15
|
+
- `<YOUR_GCP_PROJECT_ID>`: the Google Cloud project ID to set in `gcloud config set project`.
|
|
16
|
+
- `<keystore-password>`: the password for the Android signing keystore (release builds only).
|
|
17
|
+
- `<alias>`: the Android key alias inside the keystore (release builds only).
|
|
18
|
+
- `<alias-password>`: the password for the Android key alias (release builds only).
|
|
19
|
+
- `/path/to/keystore.jks`: the path to your Android signing keystore file (release builds only).
|
|
20
|
+
|
|
21
|
+
### Where do the Android keystore values come from?
|
|
22
|
+
You only need a keystore when you’re **signing a release build** for distribution (Play Store, internal testing, etc.). For local development and emulator/device testing, you **do not** need these values—debug builds are signed automatically.
|
|
23
|
+
|
|
24
|
+
If you *do* need a release keystore later, you create it yourself (or your team provides one). The values come from the keystore you generate with `keytool`:
|
|
25
|
+
```bash
|
|
26
|
+
keytool -genkeypair \
|
|
27
|
+
-alias <alias> \
|
|
28
|
+
-keyalg RSA \
|
|
29
|
+
-keysize 2048 \
|
|
30
|
+
-validity 10000 \
|
|
31
|
+
-keystore /path/to/keystore.jks
|
|
32
|
+
```
|
|
33
|
+
During that prompt, you choose:
|
|
34
|
+
- the **keystore password** (`<keystore-password>`)
|
|
35
|
+
- the **key alias** (`<alias>`)
|
|
36
|
+
- the **alias password** (`<alias-password>`) (can be the same as the keystore password)
|
|
37
|
+
|
|
38
|
+
### Emulator vs. cloud testing
|
|
39
|
+
- **Android Emulator (local):** best for day-to-day development and smoke testing.
|
|
40
|
+
- **Cloud testing (Firebase Test Lab, etc.):** best for automated device coverage in CI.
|
|
41
|
+
|
|
42
|
+
This guide includes only the SDK/tooling prerequisites; the sections below outline optional emulator and Test Lab setup.
|
|
43
|
+
|
|
44
|
+
### Optional: Android emulator setup
|
|
45
|
+
If you want a local emulator for development:
|
|
46
|
+
```bash
|
|
47
|
+
sdkmanager "system-images;android-34;google_apis;x86_64" "emulator"
|
|
48
|
+
avdmanager create avd -n vib3-pixel -k "system-images;android-34;google_apis;x86_64"
|
|
49
|
+
emulator -avd vib3-pixel
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
### Optional: Firebase Test Lab (cloud testing)
|
|
53
|
+
Enable Test Lab in your GCP project and run a sample instrumentation test:
|
|
54
|
+
```bash
|
|
55
|
+
gcloud services enable testing.googleapis.com
|
|
56
|
+
gcloud firebase test android run \
|
|
57
|
+
--type instrumentation \
|
|
58
|
+
--app path/to/app.apk \
|
|
59
|
+
--test path/to/androidTest.apk \
|
|
60
|
+
--device model=Pixel2,version=30,locale=en,orientation=portrait
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Project configuration example
|
|
64
|
+
If your project ID is already created, you can set it like this:
|
|
65
|
+
```bash
|
|
66
|
+
gcloud config set project gen-lang-client-0544919502
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
For full project provisioning (APIs, Firebase initialization, and CI service accounts), see
|
|
70
|
+
[`DOCS/PROJECT_SETUP.md`](DOCS/PROJECT_SETUP.md).
|
|
71
|
+
|
|
72
|
+
## One-shot setup script
|
|
73
|
+
```bash
|
|
74
|
+
#!/usr/bin/env bash
|
|
75
|
+
set -euo pipefail
|
|
76
|
+
|
|
77
|
+
# -----------------------------
|
|
78
|
+
# 0) System deps (Linux)
|
|
79
|
+
# -----------------------------
|
|
80
|
+
sudo apt-get update -y
|
|
81
|
+
sudo apt-get install -y \
|
|
82
|
+
curl wget unzip xz-utils zip jq git \
|
|
83
|
+
ca-certificates gnupg lsb-release \
|
|
84
|
+
openjdk-17-jdk
|
|
85
|
+
|
|
86
|
+
# -----------------------------
|
|
87
|
+
# 1) Node.js + Corepack + pnpm
|
|
88
|
+
# -----------------------------
|
|
89
|
+
# If Node is not installed or you want to pin a version, uncomment:
|
|
90
|
+
# curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
|
|
91
|
+
# sudo apt-get install -y nodejs
|
|
92
|
+
|
|
93
|
+
node -v
|
|
94
|
+
corepack enable
|
|
95
|
+
corepack prepare pnpm@9.4.0 --activate
|
|
96
|
+
pnpm -v
|
|
97
|
+
|
|
98
|
+
# -----------------------------
|
|
99
|
+
# 2) Firebase CLI
|
|
100
|
+
# -----------------------------
|
|
101
|
+
pnpm add -g firebase-tools@13.12.0
|
|
102
|
+
firebase --version
|
|
103
|
+
|
|
104
|
+
# -----------------------------
|
|
105
|
+
# 3) Google Cloud SDK (gcloud)
|
|
106
|
+
# -----------------------------
|
|
107
|
+
if ! command -v gcloud >/dev/null 2>&1; then
|
|
108
|
+
echo "Installing Google Cloud SDK..."
|
|
109
|
+
curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg \
|
|
110
|
+
| sudo gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg
|
|
111
|
+
echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" \
|
|
112
|
+
| sudo tee /etc/apt/sources.list.d/google-cloud-sdk.list
|
|
113
|
+
sudo apt-get update -y && sudo apt-get install -y google-cloud-sdk
|
|
114
|
+
fi
|
|
115
|
+
gcloud --version
|
|
116
|
+
|
|
117
|
+
# -----------------------------
|
|
118
|
+
# 4) GitHub CLI
|
|
119
|
+
# -----------------------------
|
|
120
|
+
if ! command -v gh >/dev/null 2>&1; then
|
|
121
|
+
echo "Installing GitHub CLI..."
|
|
122
|
+
type -p curl >/dev/null || sudo apt-get install -y curl
|
|
123
|
+
curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg \
|
|
124
|
+
| sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg
|
|
125
|
+
sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg
|
|
126
|
+
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" \
|
|
127
|
+
| sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null
|
|
128
|
+
sudo apt-get update -y && sudo apt-get install -y gh
|
|
129
|
+
fi
|
|
130
|
+
gh --version
|
|
131
|
+
|
|
132
|
+
# -----------------------------
|
|
133
|
+
# 5) Flutter + Android SDK
|
|
134
|
+
# -----------------------------
|
|
135
|
+
FLUTTER_VERSION="3.22.3"
|
|
136
|
+
FLUTTER_DIR="$HOME/flutter"
|
|
137
|
+
if [ ! -d "$FLUTTER_DIR" ]; then
|
|
138
|
+
echo "Installing Flutter ${FLUTTER_VERSION}..."
|
|
139
|
+
curl -L "https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${FLUTTER_VERSION}-stable.tar.xz" -o /tmp/flutter.tar.xz
|
|
140
|
+
tar -xf /tmp/flutter.tar.xz -C "$HOME"
|
|
141
|
+
fi
|
|
142
|
+
export PATH="$FLUTTER_DIR/bin:$PATH"
|
|
143
|
+
flutter --version
|
|
144
|
+
|
|
145
|
+
ANDROID_HOME="$HOME/Android/Sdk"
|
|
146
|
+
ANDROID_CMDLINE="$ANDROID_HOME/cmdline-tools"
|
|
147
|
+
mkdir -p "$ANDROID_CMDLINE"
|
|
148
|
+
if [ ! -d "$ANDROID_CMDLINE/latest" ]; then
|
|
149
|
+
echo "Installing Android cmdline-tools..."
|
|
150
|
+
mkdir -p "$ANDROID_CMDLINE/latest"
|
|
151
|
+
curl -L "https://dl.google.com/android/repository/commandlinetools-linux-11076708_latest.zip" -o /tmp/cmdline-tools.zip
|
|
152
|
+
unzip -q /tmp/cmdline-tools.zip -d /tmp/cmdline-tools
|
|
153
|
+
mv /tmp/cmdline-tools/cmdline-tools/* "$ANDROID_CMDLINE/latest"
|
|
154
|
+
fi
|
|
155
|
+
export PATH="$ANDROID_CMDLINE/latest/bin:$ANDROID_HOME/platform-tools:$PATH"
|
|
156
|
+
|
|
157
|
+
yes | sdkmanager --licenses
|
|
158
|
+
sdkmanager "platform-tools" "platforms;android-34" "build-tools;34.0.0"
|
|
159
|
+
|
|
160
|
+
# -----------------------------
|
|
161
|
+
# 6) Project deps
|
|
162
|
+
# -----------------------------
|
|
163
|
+
pnpm install
|
|
164
|
+
|
|
165
|
+
# -----------------------------
|
|
166
|
+
# 7) Auth placeholders (fill in)
|
|
167
|
+
# -----------------------------
|
|
168
|
+
# --- GitHub CLI ---
|
|
169
|
+
# gh auth login --with-token <<'EOF'
|
|
170
|
+
# <YOUR_GH_TOKEN>
|
|
171
|
+
# EOF
|
|
172
|
+
|
|
173
|
+
# --- Firebase ---
|
|
174
|
+
# firebase login:ci --no-localhost
|
|
175
|
+
# firebase use --add
|
|
176
|
+
|
|
177
|
+
# --- GCloud ---
|
|
178
|
+
# gcloud auth login --no-launch-browser
|
|
179
|
+
# gcloud auth application-default login --no-launch-browser
|
|
180
|
+
# gcloud config set project <YOUR_GCP_PROJECT_ID>
|
|
181
|
+
|
|
182
|
+
# --- Android signing (if needed) ---
|
|
183
|
+
# export ANDROID_KEYSTORE_PATH="/path/to/keystore.jks"
|
|
184
|
+
# export ANDROID_KEYSTORE_PASSWORD="<keystore-password>"
|
|
185
|
+
# export ANDROID_KEY_ALIAS="<alias>"
|
|
186
|
+
# export ANDROID_KEY_PASSWORD="<alias-password>"
|
|
187
|
+
|
|
188
|
+
echo "✅ Setup complete"
|
|
189
|
+
```
|