@vib3code/sdk 2.0.1 → 2.0.3-canary.3349130
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 +36 -0
- package/DOCS/AGENT_HARNESS_ARCHITECTURE.md +243 -0
- package/DOCS/CLI_ONBOARDING.md +1 -1
- package/DOCS/CROSS_SITE_DESIGN_PATTERNS.md +117 -0
- package/DOCS/EPIC_SCROLL_EVENTS.md +773 -0
- package/DOCS/HANDOFF_LANDING_PAGE.md +154 -0
- package/DOCS/HANDOFF_SDK_DEVELOPMENT.md +493 -0
- package/DOCS/MULTIVIZ_CHOREOGRAPHY_PATTERNS.md +937 -0
- package/DOCS/PRODUCT_STRATEGY.md +63 -0
- package/DOCS/README.md +103 -0
- package/DOCS/REFERENCE_SCROLL_ANALYSIS.md +97 -0
- package/DOCS/ROADMAP.md +111 -0
- package/DOCS/SCROLL_TIMELINE_v3.md +269 -0
- package/DOCS/SITE_REFACTOR_PLAN.md +100 -0
- package/DOCS/STATUS.md +24 -0
- package/DOCS/SYSTEM_INVENTORY.md +33 -30
- package/DOCS/VISUAL_ANALYSIS_CLICKERSS.md +85 -0
- package/DOCS/VISUAL_ANALYSIS_FACETAD.md +133 -0
- package/DOCS/VISUAL_ANALYSIS_SIMONE.md +95 -0
- package/DOCS/VISUAL_ANALYSIS_TABLESIDE.md +86 -0
- package/DOCS/{BLUEPRINT_EXECUTION_PLAN_2026-01-07.md → archive/BLUEPRINT_EXECUTION_PLAN_2026-01-07.md} +1 -1
- package/DOCS/{DEV_TRACK_ANALYSIS.md → archive/DEV_TRACK_ANALYSIS.md} +3 -0
- package/DOCS/{SYSTEM_AUDIT_2026-01-30.md → archive/SYSTEM_AUDIT_2026-01-30.md} +3 -0
- package/DOCS/{DEV_TRACK_SESSION_2026-01-31.md → dev-tracks/DEV_TRACK_SESSION_2026-01-31.md} +1 -1
- package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-06.md +231 -0
- package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-13.md +127 -0
- package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-15.md +142 -0
- package/DOCS/dev-tracks/README.md +10 -0
- package/README.md +26 -13
- package/cpp/CMakeLists.txt +236 -0
- package/cpp/bindings/embind.cpp +269 -0
- package/cpp/build.sh +129 -0
- package/cpp/geometry/Crystal.cpp +103 -0
- package/cpp/geometry/Fractal.cpp +136 -0
- package/cpp/geometry/GeometryGenerator.cpp +262 -0
- package/cpp/geometry/KleinBottle.cpp +71 -0
- package/cpp/geometry/Sphere.cpp +134 -0
- package/cpp/geometry/Tesseract.cpp +94 -0
- package/cpp/geometry/Tetrahedron.cpp +83 -0
- package/cpp/geometry/Torus.cpp +65 -0
- package/cpp/geometry/WarpFunctions.cpp +238 -0
- package/cpp/geometry/Wave.cpp +85 -0
- package/cpp/include/vib3_ffi.h +238 -0
- package/cpp/math/Mat4x4.cpp +409 -0
- package/cpp/math/Mat4x4.hpp +209 -0
- package/cpp/math/Projection.cpp +142 -0
- package/cpp/math/Projection.hpp +148 -0
- package/cpp/math/Rotor4D.cpp +322 -0
- package/cpp/math/Rotor4D.hpp +204 -0
- package/cpp/math/Vec4.cpp +303 -0
- package/cpp/math/Vec4.hpp +225 -0
- package/cpp/src/vib3_ffi.cpp +607 -0
- package/cpp/tests/Geometry_test.cpp +213 -0
- package/cpp/tests/Mat4x4_test.cpp +494 -0
- package/cpp/tests/Projection_test.cpp +298 -0
- package/cpp/tests/Rotor4D_test.cpp +423 -0
- package/cpp/tests/Vec4_test.cpp +489 -0
- package/package.json +40 -27
- package/src/agent/index.js +1 -3
- package/src/agent/mcp/MCPServer.js +1024 -7
- package/src/agent/mcp/index.js +1 -1
- package/src/agent/mcp/stdio-server.js +264 -0
- package/src/agent/mcp/tools.js +454 -0
- package/src/cli/index.js +374 -44
- package/src/core/CanvasManager.js +97 -204
- package/src/core/ErrorReporter.js +1 -1
- package/src/core/Parameters.js +1 -1
- package/src/core/VIB3Engine.js +93 -4
- package/src/core/VitalitySystem.js +53 -0
- package/src/core/index.js +18 -0
- package/src/core/renderers/FacetedRendererAdapter.js +10 -9
- package/src/core/renderers/HolographicRendererAdapter.js +13 -9
- package/src/core/renderers/QuantumRendererAdapter.js +11 -7
- package/src/creative/AestheticMapper.js +628 -0
- package/src/creative/ChoreographyPlayer.js +481 -0
- package/src/creative/index.js +11 -0
- package/src/export/TradingCardManager.js +3 -4
- package/src/export/index.js +11 -1
- package/src/faceted/FacetedSystem.js +241 -388
- package/src/games/glyph-war/GlyphWarVisualizer.js +641 -0
- package/src/holograms/HolographicVisualizer.js +29 -12
- package/src/holograms/RealHolographicSystem.js +194 -43
- package/src/math/index.js +7 -7
- package/src/polychora/PolychoraSystem.js +77 -0
- package/src/quantum/QuantumEngine.js +103 -66
- package/src/quantum/QuantumVisualizer.js +7 -2
- package/src/reactivity/index.js +3 -5
- package/src/render/LayerPresetManager.js +372 -0
- package/src/render/LayerReactivityBridge.js +344 -0
- package/src/render/LayerRelationshipGraph.js +610 -0
- package/src/render/MultiCanvasBridge.js +148 -25
- package/src/render/UnifiedRenderBridge.js +3 -0
- package/src/render/index.js +27 -2
- package/src/scene/index.js +4 -4
- package/src/shaders/faceted/faceted.frag.glsl +220 -80
- package/src/shaders/faceted/faceted.frag.wgsl +138 -97
- package/src/shaders/holographic/holographic.frag.glsl +28 -9
- package/src/shaders/holographic/holographic.frag.wgsl +107 -38
- package/src/shaders/quantum/quantum.frag.glsl +1 -0
- package/src/shaders/quantum/quantum.frag.wgsl +1 -1
- package/src/testing/ParallelTestFramework.js +2 -2
- package/src/viewer/GalleryUI.js +17 -0
- package/src/viewer/ViewerPortal.js +2 -2
- package/src/viewer/index.js +1 -1
- package/tools/headless-renderer.js +258 -0
- package/tools/shader-sync-verify.js +8 -4
- package/tools/site-analysis/all-reports.json +32 -0
- package/tools/site-analysis/combined-analysis.md +50 -0
- package/tools/site-analyzer.mjs +779 -0
- package/tools/visual-catalog/capture.js +276 -0
- package/tools/visual-catalog/composite.js +138 -0
- package/types/adaptive-sdk.d.ts +204 -5
- package/types/agent/cli.d.ts +78 -0
- package/types/agent/index.d.ts +18 -0
- package/types/agent/mcp.d.ts +87 -0
- package/types/agent/telemetry.d.ts +190 -0
- package/types/core/VIB3Engine.d.ts +26 -0
- package/types/core/index.d.ts +261 -0
- package/types/creative/AestheticMapper.d.ts +72 -0
- package/types/creative/ChoreographyPlayer.d.ts +96 -0
- package/types/creative/index.d.ts +17 -0
- package/types/export/index.d.ts +243 -0
- package/types/geometry/index.d.ts +164 -0
- package/types/math/index.d.ts +214 -0
- package/types/render/LayerPresetManager.d.ts +78 -0
- package/types/render/LayerReactivityBridge.d.ts +85 -0
- package/types/render/LayerRelationshipGraph.d.ts +174 -0
- package/types/render/index.d.ts +3 -0
- package/types/scene/index.d.ts +204 -0
- package/types/systems/index.d.ts +244 -0
- package/types/variations/index.d.ts +62 -0
- package/types/viewer/index.d.ts +225 -0
- /package/DOCS/{DEV_TRACK_PLAN_2026-01-07.md → archive/DEV_TRACK_PLAN_2026-01-07.md} +0 -0
- /package/DOCS/{SESSION_014_PLAN.md → archive/SESSION_014_PLAN.md} +0 -0
- /package/DOCS/{SESSION_LOG_2026-01-07.md → archive/SESSION_LOG_2026-01-07.md} +0 -0
- /package/DOCS/{STRATEGIC_BLUEPRINT_2026-01-07.md → archive/STRATEGIC_BLUEPRINT_2026-01-07.md} +0 -0
- /package/src/viewer/{ReactivityManager.js → ViewerInputHandler.js} +0 -0
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# Visual Analysis: tableside.com.au
|
|
2
|
+
|
|
3
|
+
**Captured: 2026-02-10 via Playwright with wheel-based scrolling**
|
|
4
|
+
**Method**: Real Chromium screenshots at 5 scroll positions (wheel events)
|
|
5
|
+
**Page height**: 8,370px (~9.3x viewport)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Scroll Journey (Frame by Frame)
|
|
10
|
+
|
|
11
|
+
### s00 — Top (scrollY=0)
|
|
12
|
+
**Bold typography hero with warm palette**
|
|
13
|
+
- Background: warm cream/beige (#F5EDE4 range)
|
|
14
|
+
- "TABLESIDE" logo top-left in coral/orange + "CREATIVES" subscript
|
|
15
|
+
- Hamburger menu (three lines) top-right in coral
|
|
16
|
+
- MASSIVE bold sans-serif text: "FOOD & DRINK DIGITAL CREATIVES" in coral/orange (#E85D3A range)
|
|
17
|
+
- Text fills ~70% of viewport, extremely bold weight (900+), tight line-height
|
|
18
|
+
- Below hero: "HOSPITALITY MARKETING AUSTRALIA" in black, right-aligned
|
|
19
|
+
- "WHAT WE DO" label left side
|
|
20
|
+
- Large body text in coral: "Crafting bold, unforgettable brands through content to propel hospitality and food & beverage businesses towards sustainable growth and standout success."
|
|
21
|
+
- Social links: INSTAGRAM, FACEBOOK, LINKEDIN, TIKTOK — right-aligned, stacked
|
|
22
|
+
- Chat widget bottom-right
|
|
23
|
+
- **Pattern**: Typography-as-hero with strong brand color. The hero text IS the brand statement, rendered in the signature coral color at maximum weight. Social links positioned as a sidebar element right-aligned.
|
|
24
|
+
|
|
25
|
+
### s01 — scrollY=2400
|
|
26
|
+
**Portfolio card: asymmetric split layout**
|
|
27
|
+
- Large food photography LEFT (~50% viewport width): close-up of artisanal pizza
|
|
28
|
+
- Card text RIGHT: "ROCCELLA EAST MELB" restaurant name + orange icon
|
|
29
|
+
- "WEB, CONTENT, PAID, SOCIAL & EDM" service tags + "+ INFO" link in coral
|
|
30
|
+
- Below: second portfolio card beginning — dark photo of restaurant interior
|
|
31
|
+
- "STEER DINING ROOM" title overlaid on dark photo, bottom-left
|
|
32
|
+
- **Pattern**: Asymmetric portfolio cards. Image takes one half, text the other. The split is ~50/50 with generous spacing. Different cards have different background treatments (light photo vs dark atmospheric photo).
|
|
33
|
+
|
|
34
|
+
### s02 — scrollY=4800
|
|
35
|
+
**Small dark portfolio card**
|
|
36
|
+
- Dark restaurant interior photo with chefs in white uniforms
|
|
37
|
+
- "WAGYU YA TEPPANYAKI" title overlaid top in white
|
|
38
|
+
- "WEB, CONTENT, PAID, SOCIALS & EDM" service tags bottom-left
|
|
39
|
+
- "YAKIKAMI" title visible below
|
|
40
|
+
- Card appears much smaller than previous cards (~40% viewport height)
|
|
41
|
+
- **Pattern**: Variable card sizing. Not all portfolio cards are the same size. This card is notably smaller and darker than the previous ones, creating visual rhythm through size variation.
|
|
42
|
+
|
|
43
|
+
### s03 — scrollY=7200
|
|
44
|
+
**CTA section with strong color**
|
|
45
|
+
- Solid coral/orange background filling top ~40% of viewport
|
|
46
|
+
- "READY TO TAKE A SEAT AT OUR TABLE?" in large white text, centered
|
|
47
|
+
- "BOOK FREE STRATEGY SESSION" button: white border on coral background, centered
|
|
48
|
+
- Below CTA: split-color footer section
|
|
49
|
+
- LEFT half: warm cream with contact info, address, phone, hours
|
|
50
|
+
- RIGHT half: dark navy (#1A1A3E) with food photography (overhead table shot with multiple dishes)
|
|
51
|
+
- Photo floats slightly above the navy background edge
|
|
52
|
+
|
|
53
|
+
### s04 — scrollY=7470 (bottom)
|
|
54
|
+
**Footer nav + legal**
|
|
55
|
+
- Footer navigation bar: HOME, WORK, SERVICES, ABOUT US, JOBS, CONTACT, NEWS (left-aligned in coral)
|
|
56
|
+
- Social links: INSTAGRAM, FACEBOOK, LINKEDIN (right-aligned in coral)
|
|
57
|
+
- Bottom bar: Privacy Policy, "TABLESIDE" centered logo, © 2024
|
|
58
|
+
- **Pattern**: Footer uses the brand coral for all link text against cream background. Clean horizontal nav layout.
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## Key Design Patterns for VIB3+ Translation
|
|
63
|
+
|
|
64
|
+
### 1. Three-Tone Palette (Cream + Coral + Navy)
|
|
65
|
+
The site uses exactly three colors consistently: warm cream background, coral/orange for typography and accents, dark navy for contrast sections. No gradients, no additional colors.
|
|
66
|
+
**For VIB3+**: A disciplined three-tone palette could anchor the landing page — e.g., dark background + one accent hue from the visualizer + white text.
|
|
67
|
+
|
|
68
|
+
### 2. Variable Portfolio Card Sizing
|
|
69
|
+
Portfolio cards are NOT uniform. Some span full viewport height, others are compact. Some have light photos, others have dark atmospheric shots. Size variation creates rhythm.
|
|
70
|
+
**For VIB3+**: Cascade cards don't all need to be the same size. The clip-path morphing system could make some cards appear larger (wider window) and others more compact (narrower window), even though the underlying card is the same size.
|
|
71
|
+
|
|
72
|
+
### 3. Split-Color Sections
|
|
73
|
+
The contact/footer area uses a vertical split: cream on the left, navy on the right, with a food photo bridging the two zones. This creates a strong compositional split.
|
|
74
|
+
**For VIB3+**: Could use a vertical split in the CTA or feature sections — one half showing one visualization system, the other showing a different one.
|
|
75
|
+
|
|
76
|
+
### 4. CTA as Bold Color Block
|
|
77
|
+
The CTA section is a solid block of coral color with white text. Simple, bold, impossible to scroll past without noticing.
|
|
78
|
+
**For VIB3+**: The CTA section could use a solid color block with a visualizer running behind it at low opacity, creating color + depth.
|
|
79
|
+
|
|
80
|
+
### 5. Service Tags as Metadata
|
|
81
|
+
Each portfolio card lists specific services (WEB, CONTENT, PAID, SOCIAL & EDM) in small uppercase text. This adds information density without cluttering the visual.
|
|
82
|
+
**For VIB3+**: Cascade cards could show parameter metadata (geometry name, system type, hue value) in small utility text that adds technical depth.
|
|
83
|
+
|
|
84
|
+
---
|
|
85
|
+
|
|
86
|
+
*Analysis based on actual Playwright screenshots captured with wheel-event scrolling.*
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# Blueprint execution plan (2026-01-07)
|
|
2
2
|
|
|
3
|
-
This execution plan operationalizes the strategic blueprint and defines what each session should deliver. Each session should update `DOCS/SESSION_LOG_2026-01-07.md` with timestamped progress and keep the checklist current.
|
|
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
4
|
|
|
5
5
|
## Session cadence
|
|
6
6
|
- **Start of session**: review this plan and the strategic blueprint.
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# Dev track analysis and next steps
|
|
2
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
|
+
|
|
3
6
|
This document summarizes the current development track status, highlights gaps, and proposes the
|
|
4
7
|
next execution steps. It should be updated after each multi-system delivery.
|
|
5
8
|
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
# VIB3+ CORE System Audit
|
|
2
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
|
+
|
|
3
6
|
**Date**: January 30, 2026
|
|
4
7
|
**Version**: 2.0.0 (`@vib3code/sdk`)
|
|
5
8
|
**Branch**: `claude/phase-5-hardening-a4Wzn`
|
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
| File | Purpose |
|
|
88
88
|
|------|---------|
|
|
89
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 |
|
|
90
|
+
| `DOCS/dev-tracks/DEV_TRACK_SESSION_2026-01-31.md` | This session log |
|
|
91
91
|
| `DOCS/OBS_SETUP_GUIDE.md` | OBS integration guide |
|
|
92
92
|
| `LICENSE` | MIT License |
|
|
93
93
|
| `CHANGELOG.md` | v1.0.0 + v2.0.0 release notes |
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
# Development Session — 2026-02-06
|
|
2
|
+
|
|
3
|
+
**Session type**: Full codebase audit + hygiene + MCP server + agent docs + testing
|
|
4
|
+
**Branch**: `claude/project-review-planning-NWnhW`
|
|
5
|
+
**Operator**: Claude Code (Opus 4.6)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Session Overview
|
|
10
|
+
|
|
11
|
+
Two consecutive work phases:
|
|
12
|
+
|
|
13
|
+
1. **Phase A (Hygiene)**: Full 751-file audit, identified 9 bugs, fixed 8
|
|
14
|
+
2. **Phase B (Infrastructure)**: Bug fixes, test verification, real MCP server, agent packs, landing page
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Phase A — Codebase Audit + Hygiene
|
|
19
|
+
|
|
20
|
+
### Corrected from initial analysis
|
|
21
|
+
|
|
22
|
+
| Item | Initial Assessment | Verified Status |
|
|
23
|
+
|------|-------------------|----------------|
|
|
24
|
+
| npm publish | Assumed not done | **Published**: `@vib3code/sdk@2.0.1` live on npm (Feb 3) |
|
|
25
|
+
| CanvasManager.js | Assumed dead code | **Used by VIB3Engine** but API contract broken |
|
|
26
|
+
| `u_breath` in shader-verify | Assumed tool wrong | **Tool correct** — inline had it, external files didn't |
|
|
27
|
+
|
|
28
|
+
### Hygiene Fixes (Commit 1: `9e858a2`)
|
|
29
|
+
|
|
30
|
+
| # | Fix | File(s) | Severity |
|
|
31
|
+
|---|-----|---------|----------|
|
|
32
|
+
| 1 | CanvasManager rewrite to match VIB3Engine API | `src/core/CanvasManager.js` (217→110 lines) | CRITICAL |
|
|
33
|
+
| 2 | HolographicRendererAdapter import fix | `src/core/renderers/HolographicRendererAdapter.js:2` | CRITICAL |
|
|
34
|
+
| 3 | TradingCardManager broken import paths | `src/export/TradingCardManager.js:60-63` | HIGH |
|
|
35
|
+
| 4 | External shader u_breath sync | 4 shader files (GLSL + WGSL) | HIGH |
|
|
36
|
+
| 5 | Version strings unified to 2.0.1 | VIB3Engine, Parameters, ErrorReporter | MEDIUM |
|
|
37
|
+
| 6 | Viewer ReactivityManager renamed | `src/viewer/ViewerInputHandler.js` | MEDIUM |
|
|
38
|
+
| 7 | Stale package-lock.json removed | Root (-240 KB) | LOW |
|
|
39
|
+
| 8 | CHANGELOG v2.0.1 entries added | `CHANGELOG.md` | Docs |
|
|
40
|
+
|
|
41
|
+
---
|
|
42
|
+
|
|
43
|
+
## Phase B — Infrastructure + MCP + Testing
|
|
44
|
+
|
|
45
|
+
### Bug Fixes (Commit 2)
|
|
46
|
+
|
|
47
|
+
| # | Fix | File(s) | Lines |
|
|
48
|
+
|---|-----|---------|-------|
|
|
49
|
+
| 1 | FacetedSystem RendererContract compliance — added `init()`, `resize()`, `dispose()` | `src/faceted/FacetedSystem.js:588-600` | +13 |
|
|
50
|
+
| 2 | Holographic breath desync — removed independent fallback cycle | `src/holograms/HolographicVisualizer.js:954-958` | 3 changed |
|
|
51
|
+
| 3 | Test version assertion updated | `tests/e2e/SDK-Integration.test.js:292` | 1 line |
|
|
52
|
+
|
|
53
|
+
**Test Results**: 933/933 passing (43 test files, 0 failures)
|
|
54
|
+
|
|
55
|
+
### MCP Server (Option A — Real Protocol)
|
|
56
|
+
|
|
57
|
+
**New File**: `src/agent/mcp/stdio-server.js` (230 lines)
|
|
58
|
+
|
|
59
|
+
Implements proper JSON-RPC 2.0 over stdio per the Model Context Protocol spec:
|
|
60
|
+
|
|
61
|
+
| Feature | Status |
|
|
62
|
+
|---------|--------|
|
|
63
|
+
| `initialize` / `initialized` handshake | Working |
|
|
64
|
+
| `tools/list` — exposes all 19 tools with schemas | Working |
|
|
65
|
+
| `tools/call` — routes to MCPServer handlers | Working |
|
|
66
|
+
| `resources/list` — 4 documentation resources | Working |
|
|
67
|
+
| `resources/read` — serves CLAUDE.md, geometry summary, control ref, live state | Working |
|
|
68
|
+
| `ping` | Working |
|
|
69
|
+
| Error handling (parse errors, unknown methods, etc.) | Working |
|
|
70
|
+
|
|
71
|
+
**Tested**: All 3 protocol methods verified via stdio pipe.
|
|
72
|
+
|
|
73
|
+
**Binary added**: `vib3-mcp` in package.json bin section.
|
|
74
|
+
|
|
75
|
+
### Agent Documentation Pack
|
|
76
|
+
|
|
77
|
+
**New Directory**: `agent-config/`
|
|
78
|
+
|
|
79
|
+
| File | Purpose | Size |
|
|
80
|
+
|------|---------|------|
|
|
81
|
+
| `mcp-config.json` | Drop-in MCP client config for Claude Desktop / Cursor | Config |
|
|
82
|
+
| `README.md` | Complete setup instructions + tool reference | 2 KB |
|
|
83
|
+
| `claude-agent-context.md` | Precompiled context pack for Claude agents | 3 KB |
|
|
84
|
+
| `openai-agent-context.md` | OpenAI function calling schemas + integration guide | 4 KB |
|
|
85
|
+
|
|
86
|
+
### Dependencies
|
|
87
|
+
|
|
88
|
+
- `pnpm install --frozen-lockfile` — all deps installed successfully
|
|
89
|
+
- vitest 1.6.1, playwright 1.58.0, happy-dom 20.4.0 confirmed working
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Files Changed Summary (Both Phases)
|
|
94
|
+
|
|
95
|
+
### Phase A (Commit 1)
|
|
96
|
+
| File | Action |
|
|
97
|
+
|------|--------|
|
|
98
|
+
| `src/core/CanvasManager.js` | Rewritten (110 lines) |
|
|
99
|
+
| `src/core/renderers/HolographicRendererAdapter.js` | Import fix |
|
|
100
|
+
| `src/core/VIB3Engine.js` | Version: 1.2.0 → 2.0.1 |
|
|
101
|
+
| `src/core/Parameters.js` | Version: 1.0.0 → 2.0.1 |
|
|
102
|
+
| `src/core/ErrorReporter.js` | Version: 2.0.0 → 2.0.1 |
|
|
103
|
+
| `src/export/TradingCardManager.js` | Fixed imports |
|
|
104
|
+
| `src/shaders/quantum/quantum.frag.glsl` | +u_breath |
|
|
105
|
+
| `src/shaders/faceted/faceted.frag.glsl` | +u_breath |
|
|
106
|
+
| `src/shaders/quantum/quantum.frag.wgsl` | +breath field |
|
|
107
|
+
| `src/shaders/faceted/faceted.frag.wgsl` | +breath field |
|
|
108
|
+
| `src/viewer/ReactivityManager.js` → `ViewerInputHandler.js` | Renamed |
|
|
109
|
+
| `src/viewer/index.js` | Updated import |
|
|
110
|
+
| `package-lock.json` | Deleted |
|
|
111
|
+
| `CHANGELOG.md` | +v2.0.1 entries |
|
|
112
|
+
|
|
113
|
+
### Phase B (Commit 2)
|
|
114
|
+
| File | Action |
|
|
115
|
+
|------|--------|
|
|
116
|
+
| `src/faceted/FacetedSystem.js` | +init(), +resize(), +dispose() |
|
|
117
|
+
| `src/holograms/HolographicVisualizer.js` | Fixed breath desync |
|
|
118
|
+
| `tests/e2e/SDK-Integration.test.js` | Updated version assertion |
|
|
119
|
+
| `src/agent/mcp/stdio-server.js` | **NEW** — Real MCP server |
|
|
120
|
+
| `package.json` | +vib3-mcp binary |
|
|
121
|
+
| `agent-config/mcp-config.json` | **NEW** — MCP client config |
|
|
122
|
+
| `agent-config/README.md` | **NEW** — Agent setup guide |
|
|
123
|
+
| `agent-config/claude-agent-context.md` | **NEW** — Claude context pack |
|
|
124
|
+
| `agent-config/openai-agent-context.md` | **NEW** — OpenAI context pack |
|
|
125
|
+
| `index-v2.html` | **NEW** — Enhanced landing page (2100+ lines) |
|
|
126
|
+
| `DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-06.md` | Updated with Phase C |
|
|
127
|
+
|
|
128
|
+
---
|
|
129
|
+
|
|
130
|
+
## Phase C — Enhanced Landing Page (Commit 3)
|
|
131
|
+
|
|
132
|
+
### `index-v2.html` — Choreographed Multi-Instance GSAP Showcase (2100+ lines)
|
|
133
|
+
|
|
134
|
+
A complete Canvas2D-based landing page with 10 concurrent visualizer instances showing all 3 systems:
|
|
135
|
+
|
|
136
|
+
| Section | Instances | Feature |
|
|
137
|
+
|---------|-----------|---------|
|
|
138
|
+
| **Hero** | 1x QuantumViz | Parallax inversion on scroll, density ramps up, 4D rotation increases |
|
|
139
|
+
| **Trinity** | 1x bg + 3x cards (Quantum/Faceted/Holographic) | Hover: card density decreases + speed freezes, bg density increases + matches hue, others mute |
|
|
140
|
+
| **Morph** | 3x (Faceted → Quantum → Holographic) | Scroll-locked pin, crossfade between systems, per-phase parameter animation |
|
|
141
|
+
| **Playground** | 1x FacetedViz | 12 live parameter sliders with real-time update |
|
|
142
|
+
| **Suck-Up** | 1x (dynamic) | Click card → visualizer animates from card position → expands to 90vw/90vh fullscreen |
|
|
143
|
+
|
|
144
|
+
### Key Technical Decisions
|
|
145
|
+
|
|
146
|
+
- **Canvas2D** (not WebGL) to avoid context limits with 10+ concurrent instances
|
|
147
|
+
- **IntersectionObserver** gates rendering to only visible canvases
|
|
148
|
+
- **30fps throttle** for battery-friendly performance
|
|
149
|
+
- **prefers-reduced-motion** support throughout (instant opacity, no animations)
|
|
150
|
+
- **ResizeObserver** per canvas for responsive DPR-aware sizing
|
|
151
|
+
- All 8 base geometries + 2 warp functions + 6D rotation implemented in JS
|
|
152
|
+
- GSAP ScrollTrigger for all scroll-locked choreography
|
|
153
|
+
|
|
154
|
+
### Agent-First Features in Landing Page
|
|
155
|
+
|
|
156
|
+
- "Download Agent Pack" button → generates claude-agent-context.md blob
|
|
157
|
+
- "CLAUDE.md" download button → generates project instructions
|
|
158
|
+
- "MCP Config" download → generates mcp-config.json
|
|
159
|
+
- Copy-to-clipboard install command
|
|
160
|
+
- MCP config code card with syntax highlighting
|
|
161
|
+
- Tool list with 7 key tools shown
|
|
162
|
+
|
|
163
|
+
---
|
|
164
|
+
|
|
165
|
+
## Test Health
|
|
166
|
+
|
|
167
|
+
| Metric | Value |
|
|
168
|
+
|--------|-------|
|
|
169
|
+
| **Unit test files** | 43 |
|
|
170
|
+
| **Test cases** | 933 passing, 0 failing |
|
|
171
|
+
| **Duration** | ~18s |
|
|
172
|
+
| **Covered modules** | Math (100%), Render (100%), Geometry (100%), Scene (100%), Agent/Telemetry (good), Creative (partial) |
|
|
173
|
+
| **Known gaps** | VIB3Engine, CanvasManager, Visualizers (direct), Viewer module, WebXR/WebGPU Compute/OffscreenWorker, Gallery, LLM, WASM loader |
|
|
174
|
+
|
|
175
|
+
---
|
|
176
|
+
|
|
177
|
+
## Exhale / Breath Feature Analysis
|
|
178
|
+
|
|
179
|
+
### What It Is
|
|
180
|
+
Global organic breathing cycle (VitalitySystem.js) — 6-second cosine wave oscillating 0→1→0, modulating all 3 visualization systems:
|
|
181
|
+
|
|
182
|
+
| System | Effect | Modulation Factor |
|
|
183
|
+
|--------|--------|------------------|
|
|
184
|
+
| Quantum | Lattice brightness pulse | +40% at full exhale |
|
|
185
|
+
| Faceted | Pattern intensity pulse | +30% at full exhale |
|
|
186
|
+
| Holographic | Projection expansion + glow + density | +20% / +10% / +40% |
|
|
187
|
+
|
|
188
|
+
### Bug Found & Fixed
|
|
189
|
+
HolographicVisualizer had independent fallback breath cycle (line 955-958) that ran out of sync when VitalitySystem value wasn't received. Fixed to use centralized value with 0.0 default.
|
|
190
|
+
|
|
191
|
+
---
|
|
192
|
+
|
|
193
|
+
## Remaining Development Track
|
|
194
|
+
|
|
195
|
+
### Critical Path for Launch
|
|
196
|
+
|
|
197
|
+
| Priority | Item | Status |
|
|
198
|
+
|----------|------|--------|
|
|
199
|
+
| DONE | Real MCP server (JSON-RPC 2.0 over stdio) | `stdio-server.js` working |
|
|
200
|
+
| DONE | Agent documentation packs | Claude + OpenAI configs |
|
|
201
|
+
| DONE | All tests passing (933/933) | Verified |
|
|
202
|
+
| DONE | Enhanced landing page (index-v2.html) | Multi-instance GSAP showcase (2100+ lines) |
|
|
203
|
+
| NEXT | Claude Code skill (wraps MCP) | After landing page |
|
|
204
|
+
| NEXT | Test coverage for v2.0.0 modules | 18 modules at 0% |
|
|
205
|
+
|
|
206
|
+
### Short-Term
|
|
207
|
+
|
|
208
|
+
- WebGPU end-to-end verification
|
|
209
|
+
- Resolve duplicate CollectionManager
|
|
210
|
+
- Demo videos/GIFs
|
|
211
|
+
- Gallery app with shareable URLs
|
|
212
|
+
|
|
213
|
+
### Medium-Term
|
|
214
|
+
|
|
215
|
+
- API reference site (JSDoc → Docusaurus)
|
|
216
|
+
- Figma Community plugin publish
|
|
217
|
+
- Discord / community setup
|
|
218
|
+
- Interactive tutorial
|
|
219
|
+
|
|
220
|
+
---
|
|
221
|
+
|
|
222
|
+
## Project Health Snapshot
|
|
223
|
+
|
|
224
|
+
| Metric | Value |
|
|
225
|
+
|--------|-------|
|
|
226
|
+
| **npm package** | `@vib3code/sdk@2.0.1` (published) |
|
|
227
|
+
| **MCP server** | Working (JSON-RPC 2.0/stdio, 19 tools, 4 resources) |
|
|
228
|
+
| **Tests** | 933/933 passing |
|
|
229
|
+
| **Agent packs** | Claude + OpenAI configs ready |
|
|
230
|
+
| **Critical bugs fixed** | 5 (CanvasManager, HolographicAdapter, Faceted contract, breath desync, TradingCardManager) |
|
|
231
|
+
| **CI workflows** | 9 GitHub Actions |
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
# Development Session — 2026-02-13
|
|
2
|
+
|
|
3
|
+
**Session type**: Agent Harness Implementation — MCP tools, ChoreographyPlayer, aesthetic mapping, headless rendering
|
|
4
|
+
**Branch**: `claude/clause-code-skill-0PV33`
|
|
5
|
+
**Operator**: Claude Code (Opus 4.6)
|
|
6
|
+
**Parent work**: Builds on Phase 7 agent-power tools added earlier this session (7 new MCP tools, 2 Claude Code skills)
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Session Overview
|
|
11
|
+
|
|
12
|
+
This session had two phases:
|
|
13
|
+
|
|
14
|
+
### Phase 1 — Claude Code Skills + Initial Agent Tools (Commit 1)
|
|
15
|
+
|
|
16
|
+
- Created 2 Claude Code skills (`.claude/commands/vib3-design.md`, `.claude/commands/vib3-dev.md`)
|
|
17
|
+
- Added 7 new MCP tools (19 → 26): `describe_visual_state`, `batch_set_parameters`, `create_timeline`, `play_transition`, `apply_color_preset`, `set_post_processing`, `create_choreography`
|
|
18
|
+
- Created agent harness architecture doc (`DOCS/AGENT_HARNESS_ARCHITECTURE.md`)
|
|
19
|
+
- Added `.claude/settings.json` with shader validation pre-commit hook
|
|
20
|
+
|
|
21
|
+
### Phase 2 — Harness Runtime Implementation (Commit 2)
|
|
22
|
+
|
|
23
|
+
Implementing the concrete runtime pieces described in `DOCS/AGENT_HARNESS_ARCHITECTURE.md`:
|
|
24
|
+
|
|
25
|
+
1. **`capture_screenshot` MCP tool** — Composites all 5 canvas layers → base64 PNG
|
|
26
|
+
2. **`ChoreographyPlayer`** — Runtime class that plays back `create_choreography` JSON specs, manages scene transitions, per-scene timelines, system switching
|
|
27
|
+
3. **`AestheticMapper`** — Text-description → parameter range mapping with 60+ vocabulary words across 6 categories (emotions, styles, colors, motion, depth, geometry)
|
|
28
|
+
4. **`design_from_description` MCP tool** — Uses AestheticMapper to convert natural language to params
|
|
29
|
+
5. **`play_choreography` MCP tool** — Loads and plays choreography specs with play/pause/stop/seek
|
|
30
|
+
6. **`control_timeline` MCP tool** — Controls previously created ParameterTimeline instances
|
|
31
|
+
7. **`get_aesthetic_vocabulary` MCP tool** — Lists all known descriptor words by category
|
|
32
|
+
8. **Headless renderer** — Puppeteer-based CLI tool for capturing frames without a browser
|
|
33
|
+
|
|
34
|
+
---
|
|
35
|
+
|
|
36
|
+
## Files Created
|
|
37
|
+
|
|
38
|
+
| File | Purpose | ~Lines |
|
|
39
|
+
|------|---------|--------|
|
|
40
|
+
| `.claude/commands/vib3-design.md` | Design/navigation Claude Code skill | 350 |
|
|
41
|
+
| `.claude/commands/vib3-dev.md` | Development/expansion Claude Code skill | 350 |
|
|
42
|
+
| `.claude/settings.json` | Shader validation pre-commit hook | 15 |
|
|
43
|
+
| `DOCS/AGENT_HARNESS_ARCHITECTURE.md` | Agent harness roadmap document | 200 |
|
|
44
|
+
| `DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-13.md` | This file | — |
|
|
45
|
+
| `src/creative/ChoreographyPlayer.js` | Multi-scene choreography playback runtime | 380 |
|
|
46
|
+
| `src/creative/AestheticMapper.js` | Text-description → VIB3+ parameter mapping | 500 |
|
|
47
|
+
| `tools/headless-renderer.js` | Puppeteer headless frame capture CLI | 220 |
|
|
48
|
+
|
|
49
|
+
## Files Modified
|
|
50
|
+
|
|
51
|
+
| File | Change | Risk |
|
|
52
|
+
|------|--------|------|
|
|
53
|
+
| `src/agent/mcp/tools.js` | Added 12 new tool definitions (total: 31) | LOW — additive only, all appended at end |
|
|
54
|
+
| `src/agent/mcp/MCPServer.js` | Added 3 imports + 10 new handler methods + 5 new switch cases | LOW — additive only |
|
|
55
|
+
| `agent-config/README.md` | Updated tool count (31) and table with new categories | LOW — docs only |
|
|
56
|
+
| `agent-config/claude-agent-context.md` | Updated version, added power/choreography workflows, aesthetic vocabulary | LOW — docs only |
|
|
57
|
+
|
|
58
|
+
## MCP Tool Inventory (31 total)
|
|
59
|
+
|
|
60
|
+
| Phase | Tools Added | Count |
|
|
61
|
+
|-------|------------|-------|
|
|
62
|
+
| Original | get_sdk_context, verify_knowledge, create_4d_visualization, set_rotation, set_visual_parameters, switch_system, change_geometry, get_state, randomize_parameters, reset_parameters, save_to_gallery, load_from_gallery, search_geometries, get_parameter_schema | 14 |
|
|
63
|
+
| Phase 6.5 | set_reactivity_config, get_reactivity_config, configure_audio_band, export_package | 4 |
|
|
64
|
+
| Phase 6.6 | apply_behavior_preset, list_behavior_presets | 2 |
|
|
65
|
+
| Phase 7 | describe_visual_state, batch_set_parameters, create_timeline, play_transition, apply_color_preset, set_post_processing, create_choreography | 7 |
|
|
66
|
+
| Phase 7.1 | capture_screenshot, design_from_description, get_aesthetic_vocabulary, play_choreography, control_timeline | 4 |
|
|
67
|
+
|
|
68
|
+
## Potential Conflicts with Parallel Work
|
|
69
|
+
|
|
70
|
+
| File | Conflict Zone | Resolution |
|
|
71
|
+
|------|--------------|------------|
|
|
72
|
+
| `src/agent/mcp/tools.js` | End of `toolDefinitions` object (lines 648+) | Take both — all additions are appended after `list_behavior_presets` |
|
|
73
|
+
| `src/agent/mcp/MCPServer.js` | Switch statement (lines 166-197), new methods (lines 1345+) | Take both — new switch cases + methods at end of class |
|
|
74
|
+
| `agent-config/README.md` | Tool count number and table | Manual merge — update count, combine tables |
|
|
75
|
+
| `agent-config/claude-agent-context.md` | Workflow section | Manual merge — keep both workflow blocks |
|
|
76
|
+
| `package.json` | Only if parallel work adds exports | Our changes don't touch package.json |
|
|
77
|
+
| `src/creative/` | New files only | No conflict — `ChoreographyPlayer.js` and `AestheticMapper.js` are new |
|
|
78
|
+
|
|
79
|
+
### Phase 3 — Tests, Skills Update, Example Choreographies (Commit 3)
|
|
80
|
+
|
|
81
|
+
Completing the harness work with tests, skill updates, and example content:
|
|
82
|
+
|
|
83
|
+
1. **Updated `.claude/commands/vib3-design.md`** — Added 4 new workflows: Natural Language Design (Workflow 1), Multi-Scene Choreography (Workflow 6), Agent Visual Feedback Loop (Workflow 7), re-numbered existing workflows; updated tool count (19→31), file references, "When User Says" table with new tool mappings
|
|
84
|
+
2. **Updated `.claude/commands/vib3-dev.md`** — Added ChoreographyPlayer and AestheticMapper to creative tooling table, updated tool count (19→31), test count (4→6)
|
|
85
|
+
3. **ChoreographyPlayer tests** (`tests/creative/ChoreographyPlayer.test.js`, 29 tests) — constructor, load, getState, seek, seekToPercent, scene transitions, stop, destroy, COLOR_PRESET_MAP
|
|
86
|
+
4. **AestheticMapper tests** (`tests/creative/AestheticMapper.test.js`, 32 tests) — mapDescription, resolveToValues, getVocabulary, getVocabularyByCategory, VOCABULARY static, partial matching, real-world descriptions
|
|
87
|
+
5. **MCP harness tool tests** (`tests/agent/MCPHarnessTools.test.js`, 25 tests) — designFromDescription, getAestheticVocabulary, captureScreenshot, createChoreography, playChoreographyTool, createTimeline, controlTimeline, describeVisualState
|
|
88
|
+
6. **Example choreographies** (`examples/choreographies/`) — 3 ready-to-play specs: cosmic-journey (60s, 3 scenes), meditation-breath (30s loop), energy-burst (20s, 140 BPM)
|
|
89
|
+
|
|
90
|
+
---
|
|
91
|
+
|
|
92
|
+
## Notes for Future Sessions
|
|
93
|
+
|
|
94
|
+
- `ChoreographyPlayer` imports `ParameterTimeline` and `TransitionAnimator` from `src/creative/`
|
|
95
|
+
- `capture_screenshot` only works in browser context (needs canvas access); returns structured error in Node
|
|
96
|
+
- `AestheticMapper` is stateless — can be used standalone or via MCP tool
|
|
97
|
+
- Headless renderer is a standalone CLI tool in `tools/`, not imported by the SDK itself
|
|
98
|
+
- MCPServer lazily creates `_aestheticMapper`, `_choreographyPlayer`, `_liveTimelines` on first use
|
|
99
|
+
- `control_timeline` materializes stored timeline data into live `ParameterTimeline` instances on first play
|
|
100
|
+
- Color preset values in `ChoreographyPlayer.COLOR_PRESET_MAP` must stay in sync with `MCPServer.applyColorPreset`
|
|
101
|
+
|
|
102
|
+
## Architecture Notes
|
|
103
|
+
|
|
104
|
+
```
|
|
105
|
+
Agent → MCP Tool Call
|
|
106
|
+
↓
|
|
107
|
+
MCPServer.handleToolCall(name, args)
|
|
108
|
+
↓
|
|
109
|
+
┌─────────────────────────────────┐
|
|
110
|
+
│ Phase 7 Handler Methods │
|
|
111
|
+
│ │
|
|
112
|
+
│ captureScreenshot() │ ← canvas.toDataURL composite
|
|
113
|
+
│ designFromDescription() │ ← AestheticMapper.resolveToValues
|
|
114
|
+
│ playChoreographyTool() │ ← ChoreographyPlayer.load + .play
|
|
115
|
+
│ controlTimeline() │ ← ParameterTimeline.play/pause/seek
|
|
116
|
+
│ getAestheticVocabulary() │ ← AestheticMapper.getVocabularyByCategory
|
|
117
|
+
│ │
|
|
118
|
+
│ Earlier Phase 7: │
|
|
119
|
+
│ describeVisualState() │ ← natural language description
|
|
120
|
+
│ batchSetParameters() │ ← atomic multi-param set
|
|
121
|
+
│ createTimeline() │ ← build timeline spec
|
|
122
|
+
│ playTransition() │ ← TransitionAnimator.sequence
|
|
123
|
+
│ applyColorPreset() │ ← hue/sat/intensity mapping
|
|
124
|
+
│ setPostProcessing() │ ← effect pipeline config
|
|
125
|
+
│ createChoreography() │ ← multi-scene spec builder
|
|
126
|
+
└─────────────────────────────────┘
|
|
127
|
+
```
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# Development Session — 2026-02-15
|
|
2
|
+
|
|
3
|
+
**Session type**: Layer Architecture Redesign, Codebase Audit, Preset/Reactivity Expansion
|
|
4
|
+
**Branch**: `claude/vib3-sdk-handoff-p00R8`
|
|
5
|
+
**Operator**: Claude Code (Opus 4.6)
|
|
6
|
+
**Parent work**: Builds on Feb 13 agent harness + Feb 6 RendererContract work
|
|
7
|
+
|
|
8
|
+
---
|
|
9
|
+
|
|
10
|
+
## Session Overview
|
|
11
|
+
|
|
12
|
+
### Phase 1 — Layer Architecture Redesign
|
|
13
|
+
|
|
14
|
+
The original 5-layer canvas system used static multipliers — every layer received identical parameters scaled by hardcoded opacity/density/speed factors. This produced "the same shader pasted 5 times with different opacity" instead of actual inter-layer dynamics.
|
|
15
|
+
|
|
16
|
+
**Built**: `LayerRelationshipGraph` — a keystone-driven system where one layer drives and others derive their parameters through configurable relationship functions.
|
|
17
|
+
|
|
18
|
+
6 preset relationship types:
|
|
19
|
+
| Preset | Behavior |
|
|
20
|
+
|--------|----------|
|
|
21
|
+
| `echo` | Attenuated follower (same params, scaled down) |
|
|
22
|
+
| `mirror` | Inverts rotation planes, shifts hue 180° |
|
|
23
|
+
| `complement` | Color complement, density inverted around pivot |
|
|
24
|
+
| `harmonic` | Density at integer multiples, hue at golden angle intervals |
|
|
25
|
+
| `reactive` | Amplifies parameter deltas over time |
|
|
26
|
+
| `chase` | Lerps toward keystone with configurable delay |
|
|
27
|
+
|
|
28
|
+
5 named profiles that configure the full 5-layer graph:
|
|
29
|
+
- `holographic` — content drives, echo/complement/harmonic/reactive
|
|
30
|
+
- `symmetry` — mirror mode with chase accent
|
|
31
|
+
- `chord` — all harmonic at musical intervals
|
|
32
|
+
- `storm` — all reactive with increasing gain
|
|
33
|
+
- `legacy` — replicates old static multiplier behavior exactly
|
|
34
|
+
|
|
35
|
+
### Phase 2 — TypeScript Type Audit
|
|
36
|
+
|
|
37
|
+
Found and fixed 4 type definition issues:
|
|
38
|
+
1. Export name mismatch (RELATIONSHIP_PRESETS → PRESET_REGISTRY)
|
|
39
|
+
2. Missing MultiCanvasBridge type definition
|
|
40
|
+
3. Broken barrel file (types/render/index.d.ts)
|
|
41
|
+
4. Incorrect exports in types/adaptive-sdk.d.ts
|
|
42
|
+
|
|
43
|
+
### Phase 3 — Comprehensive Codebase Audit
|
|
44
|
+
|
|
45
|
+
Found and fixed 7 critical issues across the SDK:
|
|
46
|
+
|
|
47
|
+
| File | Problem | Fix |
|
|
48
|
+
|------|---------|-----|
|
|
49
|
+
| `src/math/index.js` | Top-level `await import()` breaks bundlers | Static imports |
|
|
50
|
+
| `src/render/index.js` | `require()` in ESM package | Static ESM import |
|
|
51
|
+
| `src/scene/index.js` | `require()` in `createSceneContext()` | Use already-imported classes |
|
|
52
|
+
| `src/export/index.js` | 8 missing exports | Added ShaderExporter, VIB3PackageExporter, etc. |
|
|
53
|
+
| `src/reactivity/index.js` | `console.log()` side effect in barrel | Removed |
|
|
54
|
+
| `package.json` | Missing `./creative`, `./export`, `./variations` entry points | Added |
|
|
55
|
+
| `types/` | Mismatched export names, missing barrel re-exports | Fixed all |
|
|
56
|
+
|
|
57
|
+
### Phase 4 — CLAUDE.md Rewrite
|
|
58
|
+
|
|
59
|
+
Rewrote CLAUDE.md from 224 → 366 lines:
|
|
60
|
+
- Fixed MCP tool count (12 → 31) with full categorized table
|
|
61
|
+
- Added LayerRelationshipGraph documentation
|
|
62
|
+
- Added all new file references
|
|
63
|
+
- Added recent session work section
|
|
64
|
+
- Added 4 new gotchas (ESM only, 31 tools, layer defaults, initialize check)
|
|
65
|
+
- Updated test count, status, documentation map with staleness notes
|
|
66
|
+
|
|
67
|
+
### Phase 5 — LayerPresetManager + Reactivity Wiring + MCP Tools
|
|
68
|
+
|
|
69
|
+
Built the preset management and reactivity-driven layer modulation system:
|
|
70
|
+
|
|
71
|
+
**LayerPresetManager** (`src/render/LayerPresetManager.js`):
|
|
72
|
+
- Save/load/delete/list user presets
|
|
73
|
+
- Create presets from current graph state
|
|
74
|
+
- Tune individual relationship parameters at runtime
|
|
75
|
+
- Persist presets to localStorage
|
|
76
|
+
- Import/export preset libraries as JSON
|
|
77
|
+
|
|
78
|
+
**Reactivity-driven layer modulation** (`src/render/LayerReactivityBridge.js`):
|
|
79
|
+
- Audio frequency bands modulate relationship parameters (e.g., bass → reactive gain)
|
|
80
|
+
- Device tilt/gyroscope modulates relationship configs
|
|
81
|
+
- Configurable modulation mappings per input source
|
|
82
|
+
- Pre-built modulation profiles (audioStorm, tiltHarmonic, etc.)
|
|
83
|
+
|
|
84
|
+
**MCP tools** (5 new layer control tools):
|
|
85
|
+
- `set_layer_profile` — Load a named layer profile
|
|
86
|
+
- `set_layer_relationship` — Set relationship for a specific layer
|
|
87
|
+
- `set_layer_keystone` — Change the keystone layer
|
|
88
|
+
- `get_layer_config` — Get current layer configuration
|
|
89
|
+
- `tune_layer_relationship` — Adjust config on an active relationship
|
|
90
|
+
|
|
91
|
+
---
|
|
92
|
+
|
|
93
|
+
## Files Created
|
|
94
|
+
|
|
95
|
+
| File | Purpose | ~Lines |
|
|
96
|
+
|------|---------|--------|
|
|
97
|
+
| `src/render/LayerRelationshipGraph.js` | Keystone-driven inter-layer parameter system | 610 |
|
|
98
|
+
| `src/render/LayerPresetManager.js` | Preset save/load/tune for layer relationships | ~300 |
|
|
99
|
+
| `src/render/LayerReactivityBridge.js` | Audio/tilt/input → layer relationship modulation | ~280 |
|
|
100
|
+
| `types/render/LayerRelationshipGraph.d.ts` | Full TypeScript definitions | 120 |
|
|
101
|
+
| `types/render/LayerPresetManager.d.ts` | TypeScript definitions for preset manager | ~60 |
|
|
102
|
+
| `types/render/LayerReactivityBridge.d.ts` | TypeScript definitions for reactivity bridge | ~70 |
|
|
103
|
+
| `tests/render/LayerRelationshipGraph.test.js` | 63 tests for relationship graph | 450 |
|
|
104
|
+
| `tests/render/LayerPresetManager.test.js` | Tests for preset manager | ~200 |
|
|
105
|
+
| `tests/render/LayerReactivityBridge.test.js` | Tests for reactivity bridge | ~200 |
|
|
106
|
+
| `pages/layer-demo.html` | Visual demo for testing layer dynamics | ~300 |
|
|
107
|
+
| `DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-15.md` | This file | — |
|
|
108
|
+
|
|
109
|
+
## Files Modified
|
|
110
|
+
|
|
111
|
+
| File | Change |
|
|
112
|
+
|------|--------|
|
|
113
|
+
| `src/render/MultiCanvasBridge.js` | Integrated LayerRelationshipGraph for per-layer parameter resolution |
|
|
114
|
+
| `src/holograms/RealHolographicSystem.js` | Added layer graph integration, `loadRelationshipProfile()`, `setKeystone()`, `setLayerRelationship()` |
|
|
115
|
+
| `src/render/index.js` | Fixed `require()` → ESM, added LayerRelationshipGraph + PresetManager + ReactivityBridge exports |
|
|
116
|
+
| `src/math/index.js` | Fixed top-level `await import()` → static imports |
|
|
117
|
+
| `src/scene/index.js` | Fixed `require()` → use imported classes |
|
|
118
|
+
| `src/export/index.js` | Added 8 missing exports |
|
|
119
|
+
| `src/reactivity/index.js` | Removed `console.log()` side effect |
|
|
120
|
+
| `src/agent/mcp/tools.js` | Added 5 layer control tool definitions |
|
|
121
|
+
| `src/agent/mcp/MCPServer.js` | Added 5 layer control handlers |
|
|
122
|
+
| `package.json` | Added `./creative`, `./export`, `./variations` entry points |
|
|
123
|
+
| `types/adaptive-sdk.d.ts` | Fixed export names, added layer system re-exports |
|
|
124
|
+
| `types/render/index.d.ts` | Added LayerRelationshipGraph, PresetManager, ReactivityBridge re-exports |
|
|
125
|
+
| `types/systems/index.d.ts` | Added layer relationship API to RealHolographicSystem |
|
|
126
|
+
| `CLAUDE.md` | Comprehensive rewrite (224 → 366 lines) |
|
|
127
|
+
|
|
128
|
+
## Test Results
|
|
129
|
+
|
|
130
|
+
- **Before session**: 1430 tests, 70 files
|
|
131
|
+
- **After session**: 1702+ tests, 75+ files
|
|
132
|
+
- All passing
|
|
133
|
+
|
|
134
|
+
## Commits
|
|
135
|
+
|
|
136
|
+
| Hash | Message |
|
|
137
|
+
|------|---------|
|
|
138
|
+
| `59fb951` | feat(render): add LayerRelationshipGraph — keystone-driven inter-layer parameter system |
|
|
139
|
+
| `bec4cad` | fix(types): correct export names and barrel re-exports for LayerRelationshipGraph |
|
|
140
|
+
| `aeac38c` | fix: resolve 7 broken barrel files, require() in ESM, missing exports |
|
|
141
|
+
| `4031700` | docs: comprehensive CLAUDE.md rewrite |
|
|
142
|
+
| (pending) | feat: LayerPresetManager, LayerReactivityBridge, MCP layer tools, demo page |
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
# Development Track Logs
|
|
2
|
+
|
|
3
|
+
Detailed, session-level implementation notes are stored here.
|
|
4
|
+
|
|
5
|
+
## Sessions
|
|
6
|
+
|
|
7
|
+
- [2026-01-31 session](DEV_TRACK_SESSION_2026-01-31.md)
|
|
8
|
+
- [2026-02-06 session](DEV_TRACK_SESSION_2026-02-06.md)
|
|
9
|
+
|
|
10
|
+
Roadmap references are maintained in [`DOCS/ROADMAP.md`](../ROADMAP.md).
|