@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.
Files changed (137) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/DOCS/AGENT_HARNESS_ARCHITECTURE.md +243 -0
  3. package/DOCS/CLI_ONBOARDING.md +1 -1
  4. package/DOCS/CROSS_SITE_DESIGN_PATTERNS.md +117 -0
  5. package/DOCS/EPIC_SCROLL_EVENTS.md +773 -0
  6. package/DOCS/HANDOFF_LANDING_PAGE.md +154 -0
  7. package/DOCS/HANDOFF_SDK_DEVELOPMENT.md +493 -0
  8. package/DOCS/MULTIVIZ_CHOREOGRAPHY_PATTERNS.md +937 -0
  9. package/DOCS/PRODUCT_STRATEGY.md +63 -0
  10. package/DOCS/README.md +103 -0
  11. package/DOCS/REFERENCE_SCROLL_ANALYSIS.md +97 -0
  12. package/DOCS/ROADMAP.md +111 -0
  13. package/DOCS/SCROLL_TIMELINE_v3.md +269 -0
  14. package/DOCS/SITE_REFACTOR_PLAN.md +100 -0
  15. package/DOCS/STATUS.md +24 -0
  16. package/DOCS/SYSTEM_INVENTORY.md +33 -30
  17. package/DOCS/VISUAL_ANALYSIS_CLICKERSS.md +85 -0
  18. package/DOCS/VISUAL_ANALYSIS_FACETAD.md +133 -0
  19. package/DOCS/VISUAL_ANALYSIS_SIMONE.md +95 -0
  20. package/DOCS/VISUAL_ANALYSIS_TABLESIDE.md +86 -0
  21. package/DOCS/{BLUEPRINT_EXECUTION_PLAN_2026-01-07.md → archive/BLUEPRINT_EXECUTION_PLAN_2026-01-07.md} +1 -1
  22. package/DOCS/{DEV_TRACK_ANALYSIS.md → archive/DEV_TRACK_ANALYSIS.md} +3 -0
  23. package/DOCS/{SYSTEM_AUDIT_2026-01-30.md → archive/SYSTEM_AUDIT_2026-01-30.md} +3 -0
  24. package/DOCS/{DEV_TRACK_SESSION_2026-01-31.md → dev-tracks/DEV_TRACK_SESSION_2026-01-31.md} +1 -1
  25. package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-06.md +231 -0
  26. package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-13.md +127 -0
  27. package/DOCS/dev-tracks/DEV_TRACK_SESSION_2026-02-15.md +142 -0
  28. package/DOCS/dev-tracks/README.md +10 -0
  29. package/README.md +26 -13
  30. package/cpp/CMakeLists.txt +236 -0
  31. package/cpp/bindings/embind.cpp +269 -0
  32. package/cpp/build.sh +129 -0
  33. package/cpp/geometry/Crystal.cpp +103 -0
  34. package/cpp/geometry/Fractal.cpp +136 -0
  35. package/cpp/geometry/GeometryGenerator.cpp +262 -0
  36. package/cpp/geometry/KleinBottle.cpp +71 -0
  37. package/cpp/geometry/Sphere.cpp +134 -0
  38. package/cpp/geometry/Tesseract.cpp +94 -0
  39. package/cpp/geometry/Tetrahedron.cpp +83 -0
  40. package/cpp/geometry/Torus.cpp +65 -0
  41. package/cpp/geometry/WarpFunctions.cpp +238 -0
  42. package/cpp/geometry/Wave.cpp +85 -0
  43. package/cpp/include/vib3_ffi.h +238 -0
  44. package/cpp/math/Mat4x4.cpp +409 -0
  45. package/cpp/math/Mat4x4.hpp +209 -0
  46. package/cpp/math/Projection.cpp +142 -0
  47. package/cpp/math/Projection.hpp +148 -0
  48. package/cpp/math/Rotor4D.cpp +322 -0
  49. package/cpp/math/Rotor4D.hpp +204 -0
  50. package/cpp/math/Vec4.cpp +303 -0
  51. package/cpp/math/Vec4.hpp +225 -0
  52. package/cpp/src/vib3_ffi.cpp +607 -0
  53. package/cpp/tests/Geometry_test.cpp +213 -0
  54. package/cpp/tests/Mat4x4_test.cpp +494 -0
  55. package/cpp/tests/Projection_test.cpp +298 -0
  56. package/cpp/tests/Rotor4D_test.cpp +423 -0
  57. package/cpp/tests/Vec4_test.cpp +489 -0
  58. package/package.json +40 -27
  59. package/src/agent/index.js +1 -3
  60. package/src/agent/mcp/MCPServer.js +1024 -7
  61. package/src/agent/mcp/index.js +1 -1
  62. package/src/agent/mcp/stdio-server.js +264 -0
  63. package/src/agent/mcp/tools.js +454 -0
  64. package/src/cli/index.js +374 -44
  65. package/src/core/CanvasManager.js +97 -204
  66. package/src/core/ErrorReporter.js +1 -1
  67. package/src/core/Parameters.js +1 -1
  68. package/src/core/VIB3Engine.js +93 -4
  69. package/src/core/VitalitySystem.js +53 -0
  70. package/src/core/index.js +18 -0
  71. package/src/core/renderers/FacetedRendererAdapter.js +10 -9
  72. package/src/core/renderers/HolographicRendererAdapter.js +13 -9
  73. package/src/core/renderers/QuantumRendererAdapter.js +11 -7
  74. package/src/creative/AestheticMapper.js +628 -0
  75. package/src/creative/ChoreographyPlayer.js +481 -0
  76. package/src/creative/index.js +11 -0
  77. package/src/export/TradingCardManager.js +3 -4
  78. package/src/export/index.js +11 -1
  79. package/src/faceted/FacetedSystem.js +241 -388
  80. package/src/games/glyph-war/GlyphWarVisualizer.js +641 -0
  81. package/src/holograms/HolographicVisualizer.js +29 -12
  82. package/src/holograms/RealHolographicSystem.js +194 -43
  83. package/src/math/index.js +7 -7
  84. package/src/polychora/PolychoraSystem.js +77 -0
  85. package/src/quantum/QuantumEngine.js +103 -66
  86. package/src/quantum/QuantumVisualizer.js +7 -2
  87. package/src/reactivity/index.js +3 -5
  88. package/src/render/LayerPresetManager.js +372 -0
  89. package/src/render/LayerReactivityBridge.js +344 -0
  90. package/src/render/LayerRelationshipGraph.js +610 -0
  91. package/src/render/MultiCanvasBridge.js +148 -25
  92. package/src/render/UnifiedRenderBridge.js +3 -0
  93. package/src/render/index.js +27 -2
  94. package/src/scene/index.js +4 -4
  95. package/src/shaders/faceted/faceted.frag.glsl +220 -80
  96. package/src/shaders/faceted/faceted.frag.wgsl +138 -97
  97. package/src/shaders/holographic/holographic.frag.glsl +28 -9
  98. package/src/shaders/holographic/holographic.frag.wgsl +107 -38
  99. package/src/shaders/quantum/quantum.frag.glsl +1 -0
  100. package/src/shaders/quantum/quantum.frag.wgsl +1 -1
  101. package/src/testing/ParallelTestFramework.js +2 -2
  102. package/src/viewer/GalleryUI.js +17 -0
  103. package/src/viewer/ViewerPortal.js +2 -2
  104. package/src/viewer/index.js +1 -1
  105. package/tools/headless-renderer.js +258 -0
  106. package/tools/shader-sync-verify.js +8 -4
  107. package/tools/site-analysis/all-reports.json +32 -0
  108. package/tools/site-analysis/combined-analysis.md +50 -0
  109. package/tools/site-analyzer.mjs +779 -0
  110. package/tools/visual-catalog/capture.js +276 -0
  111. package/tools/visual-catalog/composite.js +138 -0
  112. package/types/adaptive-sdk.d.ts +204 -5
  113. package/types/agent/cli.d.ts +78 -0
  114. package/types/agent/index.d.ts +18 -0
  115. package/types/agent/mcp.d.ts +87 -0
  116. package/types/agent/telemetry.d.ts +190 -0
  117. package/types/core/VIB3Engine.d.ts +26 -0
  118. package/types/core/index.d.ts +261 -0
  119. package/types/creative/AestheticMapper.d.ts +72 -0
  120. package/types/creative/ChoreographyPlayer.d.ts +96 -0
  121. package/types/creative/index.d.ts +17 -0
  122. package/types/export/index.d.ts +243 -0
  123. package/types/geometry/index.d.ts +164 -0
  124. package/types/math/index.d.ts +214 -0
  125. package/types/render/LayerPresetManager.d.ts +78 -0
  126. package/types/render/LayerReactivityBridge.d.ts +85 -0
  127. package/types/render/LayerRelationshipGraph.d.ts +174 -0
  128. package/types/render/index.d.ts +3 -0
  129. package/types/scene/index.d.ts +204 -0
  130. package/types/systems/index.d.ts +244 -0
  131. package/types/variations/index.d.ts +62 -0
  132. package/types/viewer/index.d.ts +225 -0
  133. /package/DOCS/{DEV_TRACK_PLAN_2026-01-07.md → archive/DEV_TRACK_PLAN_2026-01-07.md} +0 -0
  134. /package/DOCS/{SESSION_014_PLAN.md → archive/SESSION_014_PLAN.md} +0 -0
  135. /package/DOCS/{SESSION_LOG_2026-01-07.md → archive/SESSION_LOG_2026-01-07.md} +0 -0
  136. /package/DOCS/{STRATEGIC_BLUEPRINT_2026-01-07.md → archive/STRATEGIC_BLUEPRINT_2026-01-07.md} +0 -0
  137. /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).