@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,100 @@
|
|
|
1
|
+
# VIB3+ Landing Page Refactor Plan
|
|
2
|
+
|
|
3
|
+
**Date:** 2026-02-13
|
|
4
|
+
**Status:** Phase 1 Complete (CSS extraction + redirect)
|
|
5
|
+
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
## Problem Statement
|
|
9
|
+
|
|
10
|
+
The root `index.html` served by GitHub Pages was a bare SDK controls demo (sliders + canvas), not a landing page. The actual landing page at `site/index.html` existed but was:
|
|
11
|
+
- **1,978 lines monolithic** — 1,318 lines of inline `<style>` + 660 lines of HTML
|
|
12
|
+
- Not the default page visitors see
|
|
13
|
+
- Hero section only mentioned "Three Systems / 24 Geometries / 6D Rotation" — ignored the C++ WASM core, WebGPU backend, TypeScript definitions, MCP server
|
|
14
|
+
|
|
15
|
+
---
|
|
16
|
+
|
|
17
|
+
## What Was Done (Phase 1)
|
|
18
|
+
|
|
19
|
+
### 1. CSS Extraction: `site/index.html` (1978 → 659 lines)
|
|
20
|
+
|
|
21
|
+
**Before:**
|
|
22
|
+
```
|
|
23
|
+
site/index.html 1978 lines (1318 CSS + 660 HTML)
|
|
24
|
+
site/styles/overlay-accents.css 243 lines
|
|
25
|
+
site/styles/reveal-layers.css 401 lines
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
**After:**
|
|
29
|
+
```
|
|
30
|
+
site/index.html 659 lines (pure HTML + semantic structure)
|
|
31
|
+
site/styles/main.css 1318 lines (extracted from inline <style>)
|
|
32
|
+
site/styles/overlay-accents.css 243 lines (unchanged)
|
|
33
|
+
site/styles/reveal-layers.css 401 lines (unchanged)
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
All 1,318 lines of inline CSS moved to `site/styles/main.css`. The HTML now links:
|
|
37
|
+
```html
|
|
38
|
+
<link rel="stylesheet" href="./styles/main.css">
|
|
39
|
+
<link rel="stylesheet" href="./styles/overlay-accents.css">
|
|
40
|
+
<link rel="stylesheet" href="./styles/reveal-layers.css">
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
### 2. Root Redirect
|
|
44
|
+
|
|
45
|
+
**Before:** Root `index.html` was the raw SDK controls demo.
|
|
46
|
+
**After:** Root `index.html` is a meta-refresh redirect to `site/index.html`.
|
|
47
|
+
|
|
48
|
+
The raw demo moved to `demo/index.html` (import paths adjusted from `./src/` to `../src/`).
|
|
49
|
+
|
|
50
|
+
### 3. Content Updates
|
|
51
|
+
|
|
52
|
+
| Location | Before | After |
|
|
53
|
+
|----------|--------|-------|
|
|
54
|
+
| Hero badge | `v2.0.1 — Three Systems · 24 Geometries · 6D Rotation` | `v2.0.3 — C++ WASM Core · WebGPU + WebGL · TypeScript` |
|
|
55
|
+
| Hero subtitle | "The fourth dimension, rendered..." | "4D visualization SDK with a C++ Clifford algebra core compiled to WASM..." |
|
|
56
|
+
| Hero system label | `Quantum Lattice Engine` | `C++ WASM · WebGPU · WebGL · MCP Agentic Control` |
|
|
57
|
+
| Opening subtitle | `4D Visualization Engine` | `C++ WASM · WebGPU · WebGL · TypeScript · MCP` |
|
|
58
|
+
| Triptych heading | `Three Systems. One Heartbeat.` | `Three Systems. One C++ Core.` |
|
|
59
|
+
| Triptych stats | 24 Geometries / 6D Rotation / 3 Systems | C++ WASM Core / 24 Geometries / 6D Rotation / 19 MCP Tools |
|
|
60
|
+
| CTA description | "WebGPU primary, WebGL fallback, C++ WASM math core" | Full architecture mention (Cl(4,0), dual backend, TS, MCP, framework integrations) |
|
|
61
|
+
| CTA install | `npm install` | `pnpm add` |
|
|
62
|
+
| Agent section | "Drop VIB3+ into any AI agent workflow" | "19-tool MCP server with JSON-RPC 2.0..." |
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
## File Structure After Refactor
|
|
67
|
+
|
|
68
|
+
```
|
|
69
|
+
/ Root
|
|
70
|
+
├── index.html Redirect → site/index.html
|
|
71
|
+
├── demo/
|
|
72
|
+
│ └── index.html SDK controls demo (moved from root)
|
|
73
|
+
├── site/
|
|
74
|
+
│ ├── index.html Landing page (659 lines, HTML only)
|
|
75
|
+
│ ├── styles/
|
|
76
|
+
│ │ ├── main.css Core landing page styles (1318 lines)
|
|
77
|
+
│ │ ├── overlay-accents.css Overlay accent effects (243 lines)
|
|
78
|
+
│ │ └── reveal-layers.css Reveal layer choreography (401 lines)
|
|
79
|
+
│ └── js/
|
|
80
|
+
│ ├── main.js Boot script + GPU pool orchestrator (466 lines)
|
|
81
|
+
│ ├── config.js Section parameter presets (107 lines)
|
|
82
|
+
│ ├── adapters.js SDK system adapters (Quantum/Holographic/Faceted + AmbientLattice) (582 lines)
|
|
83
|
+
│ ├── choreography.js GSAP scroll choreography (~1000+ lines)
|
|
84
|
+
│ ├── ContextPool.js WebGL context budget manager
|
|
85
|
+
│ ├── CardTiltSystem.js Mouse/touch → CSS 3D tilt + visualizer param mapping
|
|
86
|
+
│ ├── overlay-choreography.js Overlay layer scroll choreography
|
|
87
|
+
│ └── reveal-choreography.js Reveal layer scroll choreography
|
|
88
|
+
├── docs/ Gallery + exports + test hub
|
|
89
|
+
└── src/ SDK source (unchanged)
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
---
|
|
93
|
+
|
|
94
|
+
## Phase 2 (Future)
|
|
95
|
+
|
|
96
|
+
Potential further cleanup:
|
|
97
|
+
- Extract remaining inline styles from `site/styles/main.css` into semantic sub-files (e.g., `hero.css`, `morph.css`, `playground.css`, `cascade.css`, etc.)
|
|
98
|
+
- Consider a build step (even simple CSS concat) to reduce HTTP requests
|
|
99
|
+
- Add proper `<nav>` component with links to Demo, Gallery, GitHub, npm
|
|
100
|
+
- Add architecture diagram section showing the full stack (C++ → WASM → JS/TS → WebGPU/WebGL → Canvas)
|
package/DOCS/STATUS.md
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
# VIB3+ SDK Status
|
|
2
|
+
|
|
3
|
+
This file is the single source of truth for high-level release status.
|
|
4
|
+
|
|
5
|
+
## Release metadata
|
|
6
|
+
|
|
7
|
+
| Field | Status |
|
|
8
|
+
|---|---|
|
|
9
|
+
| Current package version | `2.0.3` (from `package.json`) |
|
|
10
|
+
| Release date | Unreleased in repository changelog (pending release entry for `2.0.3`) |
|
|
11
|
+
| Supported platforms | Web browsers, Node.js CLI/MCP workflows, WASM runtime, Flutter integration, and framework wrappers (React/Vue/Svelte) |
|
|
12
|
+
|
|
13
|
+
## Test status
|
|
14
|
+
|
|
15
|
+
Test status is CI-linked (not hardcoded):
|
|
16
|
+
|
|
17
|
+
- Follow the baseline test/CI workflow in [`DOCS/CI_TESTING.md`](./CI_TESTING.md).
|
|
18
|
+
- Check your repository CI provider (GitHub Actions or equivalent pipeline) for live pass/fail state.
|
|
19
|
+
|
|
20
|
+
## Update policy
|
|
21
|
+
|
|
22
|
+
- Update this file whenever `package.json` version changes.
|
|
23
|
+
- Keep test status summary link-based (CI), not hardcoded with static pass-count numbers.
|
|
24
|
+
- If the version is unreleased, explicitly mark it as unreleased until changelog/release publication is completed.
|
package/DOCS/SYSTEM_INVENTORY.md
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
# VIB3+ SDK System Inventory
|
|
2
2
|
|
|
3
|
-
**Document Version:**
|
|
4
|
-
**Last Updated:**
|
|
3
|
+
**Document Version:** See `DOCS/STATUS.md`
|
|
4
|
+
**Last Updated:** See `DOCS/STATUS.md`
|
|
5
5
|
**Purpose:** Complete technical inventory for developers and AI agents
|
|
6
6
|
|
|
7
|
+
> For canonical release metadata (version/date/platforms/test status), use [`DOCS/STATUS.md`](./STATUS.md) as the single source of release status.
|
|
8
|
+
|
|
7
9
|
---
|
|
8
10
|
|
|
9
11
|
## Executive Summary
|
|
@@ -22,7 +24,7 @@ The SDK provides 3 active visualization systems with shared 6D rotation mathemat
|
|
|
22
24
|
|
|
23
25
|
| Metric | Value |
|
|
24
26
|
|--------|-------|
|
|
25
|
-
| **SDK Version** |
|
|
27
|
+
| **SDK Version** | See `DOCS/STATUS.md` |
|
|
26
28
|
| **Visualization Systems** | 3 active (Quantum, Faceted, Holographic) + 1 archived (Polychora - TBD) |
|
|
27
29
|
| **Rotation Planes** | 6 (XY, XZ, YZ for 3D; XW, YW, ZW for 4D) |
|
|
28
30
|
| **Base Geometries** | 8 per system |
|
|
@@ -35,7 +37,7 @@ The SDK provides 3 active visualization systems with shared 6D rotation mathemat
|
|
|
35
37
|
| **Creative Effects** | 14 post-processing effects, 22 color presets, 14 easing functions |
|
|
36
38
|
| **Platform Integrations** | 7 (React, Vue, Svelte, Figma, Three.js, TouchDesigner, OBS) |
|
|
37
39
|
| **Advanced Modules** | 5 (WebXR, WebGPU Compute, MIDI, AI Presets, OffscreenWorker) |
|
|
38
|
-
| **Test Coverage** |
|
|
40
|
+
| **Test Coverage** | CI-tracked status (see `DOCS/STATUS.md`) |
|
|
39
41
|
|
|
40
42
|
---
|
|
41
43
|
|
|
@@ -123,17 +125,17 @@ The SDK provides 3 active visualization systems with shared 6D rotation mathemat
|
|
|
123
125
|
|----------|-------|
|
|
124
126
|
| Canvas IDs | `background-canvas`, `shadow-canvas`, `content-canvas`, `highlight-canvas`, `accent-canvas` |
|
|
125
127
|
| Geometries | 24 (8 base × 3 cores) |
|
|
126
|
-
| Audio Reactive | Yes (bass/mid/high uniforms — wired in
|
|
127
|
-
| Color Control | Full HSL (hue + saturation via `hsl2rgb()` — wired in
|
|
128
|
+
| Audio Reactive | Yes (bass/mid/high uniforms — wired in current release series |
|
|
129
|
+
| Color Control | Full HSL (hue + saturation via `hsl2rgb()` — wired in current release series |
|
|
128
130
|
| Physics | No |
|
|
129
131
|
|
|
130
132
|
**Core Features:**
|
|
131
133
|
- Single WebGL context on `content-canvas`
|
|
132
134
|
- Geometry functions in fragment shader
|
|
133
135
|
- Core warp applied via `applyCoreWarp()` shader function
|
|
134
|
-
- Full `hsl2rgb()` color pipeline with saturation control (
|
|
135
|
-
- Audio-reactive density/morph/hue shift (
|
|
136
|
-
- Click intensity boost (
|
|
136
|
+
- Full `hsl2rgb()` color pipeline with saturation control (current release series)
|
|
137
|
+
- Audio-reactive density/morph/hue shift (current release series)
|
|
138
|
+
- Click intensity boost (current release series)
|
|
137
139
|
|
|
138
140
|
### 3. Holographic System
|
|
139
141
|
**File:** `src/holograms/RealHolographicSystem.js` (652 LOC)
|
|
@@ -341,10 +343,10 @@ class ResourceManagerContract {
|
|
|
341
343
|
│ ├── agent/ # MCP/CLI/Telemetry
|
|
342
344
|
│ ├── export/ # Export generators
|
|
343
345
|
│ ├── wasm/ # WASM loader
|
|
344
|
-
│ ├── reactivity/ # Reactivity + SpatialInputSystem (
|
|
345
|
-
│ ├── creative/ # Creative tooling (
|
|
346
|
-
│ ├── integrations/ # Platform integrations (
|
|
347
|
-
│ └── advanced/ # Advanced features (
|
|
346
|
+
│ ├── reactivity/ # Reactivity + SpatialInputSystem (current release series)
|
|
347
|
+
│ ├── creative/ # Creative tooling (current release series)
|
|
348
|
+
│ ├── integrations/ # Platform integrations (current release series)
|
|
349
|
+
│ └── advanced/ # Advanced features (current release series)
|
|
348
350
|
├── tools/ # Tooling (+ shader-sync-verify.js)
|
|
349
351
|
├── cpp/ # C++ math core (1,783 LOC)
|
|
350
352
|
├── js/ # Client-side integration
|
|
@@ -394,14 +396,14 @@ Expected: `change_geometry`
|
|
|
394
396
|
|
|
395
397
|
## Current Development Status
|
|
396
398
|
|
|
397
|
-
### Phase Status (
|
|
399
|
+
### Phase Status (historical baseline; current release status lives in `DOCS/STATUS.md`)
|
|
398
400
|
| Phase | Status | Notes |
|
|
399
401
|
|-------|--------|-------|
|
|
400
402
|
| Phase 1: Foundation | ✅ Complete | Math, geometry, parameters |
|
|
401
403
|
| Phase 2: Rendering | ✅ Mostly Complete | Contracts exist, adapters implemented |
|
|
402
404
|
| Phase 3: Agentic | ✅ Complete | MCP, CLI, Telemetry working |
|
|
403
405
|
| Phase 4: WebGPU | 🔄 In Progress | Scaffold exists, needs shader pipeline |
|
|
404
|
-
| Phase 5: Hardening | ✅ Complete |
|
|
406
|
+
| Phase 5: Hardening | ✅ Complete | Security/input hardening completed; see `DOCS/STATUS.md` + CI for current test state |
|
|
405
407
|
| **Phase A: Parity & Polish** | **✅ Complete** | Quantum color, Faceted saturation/audio, clickIntensity fix, shader sync tool |
|
|
406
408
|
| **Phase B: Creative Tooling** | **✅ Complete** | Color presets, transitions, post-processing, timeline |
|
|
407
409
|
| **Phase C: Platform Integrations** | **✅ Complete** | React, Vue, Svelte, Figma, Three.js, TouchDesigner, OBS |
|
|
@@ -417,7 +419,7 @@ Expected: `change_geometry`
|
|
|
417
419
|
### Remaining Gaps
|
|
418
420
|
1. WebGPU backend needs full shader pipeline
|
|
419
421
|
2. Some systems don't fully implement RendererContract
|
|
420
|
-
3. New
|
|
422
|
+
3. New current release-series modules need test coverage
|
|
421
423
|
|
|
422
424
|
---
|
|
423
425
|
|
|
@@ -429,18 +431,18 @@ Expected: `change_geometry`
|
|
|
429
431
|
| WASM | ✅ Working | cpp/ → Emscripten → vib3.wasm |
|
|
430
432
|
| Flutter | 🔄 Scaffold | src/platforms/flutter/ |
|
|
431
433
|
| Node.js CLI | ✅ Working | src/agent/cli/ |
|
|
432
|
-
| React | ✅ Component (
|
|
433
|
-
| Vue 3 | ✅ Component (
|
|
434
|
-
| Svelte | ✅ Component (
|
|
435
|
-
| Three.js | ✅ ShaderMaterial (
|
|
436
|
-
| Figma | ✅ Plugin (
|
|
437
|
-
| TouchDesigner | ✅ GLSL Export (
|
|
438
|
-
| OBS Studio | ✅ Browser Source (
|
|
439
|
-
| WebXR (VR/AR) | ✅ Renderer (
|
|
434
|
+
| React | ✅ Component (current release series) | src/integrations/frameworks/Vib3React.js |
|
|
435
|
+
| Vue 3 | ✅ Component (current release series) | src/integrations/frameworks/Vib3Vue.js |
|
|
436
|
+
| Svelte | ✅ Component (current release series) | src/integrations/frameworks/Vib3Svelte.js |
|
|
437
|
+
| Three.js | ✅ ShaderMaterial (current release series) | src/integrations/ThreeJsPackage.js |
|
|
438
|
+
| Figma | ✅ Plugin (current release series) | src/integrations/FigmaPlugin.js |
|
|
439
|
+
| TouchDesigner | ✅ GLSL Export (current release series) | src/integrations/TouchDesignerExport.js |
|
|
440
|
+
| OBS Studio | ✅ Browser Source (current release series) | src/integrations/OBSMode.js |
|
|
441
|
+
| WebXR (VR/AR) | ✅ Renderer (current release series) | src/advanced/WebXRRenderer.js |
|
|
440
442
|
|
|
441
443
|
---
|
|
442
444
|
|
|
443
|
-
##
|
|
445
|
+
## New Systems (current release series)
|
|
444
446
|
|
|
445
447
|
### SpatialInputSystem (`src/reactivity/SpatialInputSystem.js` — 1,783 lines)
|
|
446
448
|
Universal spatial input that decouples "card tilting" from physical device orientation. Any input source maps through a normalized spatial state (pitch/yaw/roll/x/y/z/intensity/velocity) to any visualization parameter.
|
|
@@ -487,10 +489,10 @@ Verifies inline shaders match external shader files. Parses GLSL uniforms and WG
|
|
|
487
489
|
## Next Steps for Development
|
|
488
490
|
|
|
489
491
|
### Immediate Priorities
|
|
490
|
-
1. Add test coverage for
|
|
492
|
+
1. Add test coverage for current release-series modules (creative, integrations, advanced, SpatialInput)
|
|
491
493
|
2. Complete WebGPU shader pipeline
|
|
492
494
|
3. Production-harden platform integration wrappers
|
|
493
|
-
4. Publish
|
|
495
|
+
4. Publish current package version (see `DOCS/STATUS.md`) to NPM
|
|
494
496
|
|
|
495
497
|
### Consolidation Tasks
|
|
496
498
|
- [ ] Audit RendererContract compliance for all 3 active systems
|
|
@@ -505,16 +507,17 @@ Verifies inline shaders match external shader files. Parses GLSL uniforms and WG
|
|
|
505
507
|
|
|
506
508
|
| Document | Purpose |
|
|
507
509
|
|----------|---------|
|
|
508
|
-
| `CLAUDE.md` | Development instructions
|
|
510
|
+
| `CLAUDE.md` | Development instructions |
|
|
509
511
|
| `DEV_TRACK.md` | Session-by-session progress |
|
|
510
512
|
| `DOCS/CLI_ONBOARDING.md` | Agent CLI setup |
|
|
511
513
|
| `DOCS/CONTROL_REFERENCE.md` | UI control parameters |
|
|
512
514
|
| `DOCS/RENDERER_LIFECYCLE.md` | Renderer architecture |
|
|
513
515
|
| `DOCS/GPU_DISPOSAL_GUIDE.md` | Memory management |
|
|
514
|
-
| `DOCS/SYSTEM_AUDIT_2026-01-30.md` | Full system audit
|
|
516
|
+
| `DOCS/SYSTEM_AUDIT_2026-01-30.md` | Full system audit |
|
|
517
|
+
| `DOCS/archive/SYSTEM_AUDIT_2026-01-30.md` | Full system audit (v2.0.0 updated, archived) |
|
|
515
518
|
| `24-GEOMETRY-6D-ROTATION-SUMMARY.md` | Geometry encoding |
|
|
516
519
|
|
|
517
520
|
---
|
|
518
521
|
|
|
519
522
|
*This document is the canonical system inventory. Update after significant changes.*
|
|
520
|
-
*Last major update:
|
|
523
|
+
*Last major inventory update: 2026-01-30. For current release metadata, see `DOCS/STATUS.md`.*
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# Visual Analysis: clickerss.com
|
|
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**: 9,950px (~11x viewport)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Scroll Journey (Frame by Frame)
|
|
10
|
+
|
|
11
|
+
### s00 — Top (scrollY=0)
|
|
12
|
+
**Dramatic B&W hero photograph**
|
|
13
|
+
- Background: pure white
|
|
14
|
+
- Massive B&W photograph: woman's face looking upward, cropped tight
|
|
15
|
+
- Image fills ~90% of viewport width, extends below fold
|
|
16
|
+
- "CLICKERSS" wordmark top-left in thin spaced uppercase
|
|
17
|
+
- Grid/dot icon center-top (hamburger/menu)
|
|
18
|
+
- Shopping bag icon top-right with "0"
|
|
19
|
+
- No other text or elements visible — the photograph IS the hero
|
|
20
|
+
- **Pattern**: Photography-as-hero. No text tagline, no CTA button, no gradient. Just a massive, emotional B&W portrait. The image does all the talking.
|
|
21
|
+
|
|
22
|
+
### s01 — scrollY=2400
|
|
23
|
+
**Massive serif typography with text-image overlap**
|
|
24
|
+
- Left side: HUGE serif italic text — "CADA CAMPAÑA TIENE UN PROPOSITO." (~150px+ font)
|
|
25
|
+
- Text fills entire left half of viewport
|
|
26
|
+
- Right side at midpoint: device mockups (laptop + phone) showing portfolio work
|
|
27
|
+
- Below-right: MORE massive serif text — "ELEVAR MARCAS QUE DESEAN MARCAR LA DIFERENCIA"
|
|
28
|
+
- Bottom-left: portfolio image (fashion/beauty brand "MAISON LINA")
|
|
29
|
+
- The text and images OVERLAP — text runs behind/through images, images overlap text
|
|
30
|
+
- **Pattern**: Text-image interweaving. The massive serif text and the portfolio images occupy the SAME space, overlapping. Neither takes precedence — they share the viewport, creating a collage-like effect. This is the "text as visual element" pattern taken to an extreme.
|
|
31
|
+
|
|
32
|
+
### s02 — scrollY=4800
|
|
33
|
+
**Product photography + service description**
|
|
34
|
+
- Top-left: iPhone product photos (phone shown from behind, showing camera modules)
|
|
35
|
+
- Images are placed asymmetrically, partially overlapping
|
|
36
|
+
- Right side: "VIDEOS CORPORATIVOS" heading in serif
|
|
37
|
+
- Below: "CONTAMOS TU HISTORIA DE MANERA UNICA" subheading
|
|
38
|
+
- Body text paragraph below
|
|
39
|
+
- Lower-left: portrait photo of man with flowing hair, cropped as rectangle
|
|
40
|
+
- Clean white background throughout
|
|
41
|
+
- **Pattern**: Asymmetric service showcase. Product photos LEFT, description text RIGHT. Portrait photo breaks the pattern by appearing lower-left. The layout is deliberately irregular.
|
|
42
|
+
|
|
43
|
+
### s03 — scrollY=7200
|
|
44
|
+
**Mixed content section**
|
|
45
|
+
- Various portfolio/service content
|
|
46
|
+
- Continuing the white background
|
|
47
|
+
- Images and text positioned asymmetrically
|
|
48
|
+
- No dark/light mode switch — entire site stays on white
|
|
49
|
+
|
|
50
|
+
### s04 — scrollY=9050 (bottom)
|
|
51
|
+
**CTA footer with massive typography**
|
|
52
|
+
- ENORMOUS serif text: "TU PRESENCIA DIGITAL ESTA A PUNTO DE DESPEGAR" (fills ~60% of viewport height)
|
|
53
|
+
- Arrow → + call-to-action body text below
|
|
54
|
+
- Footer nav: HOME, SERVICIOS, PORTFOLIO, SOBRE MI, CONTACTO, COMPRAR (all spaced across full width)
|
|
55
|
+
- Thin horizontal rule
|
|
56
|
+
- Bottom bar: legal links + copyright
|
|
57
|
+
- **Pattern**: Typography-as-CTA. Instead of a small "Contact us" button, the entire viewport is filled with massive serif text that IS the CTA. The typography scale makes the message impossible to ignore.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Key Design Patterns for VIB3+ Translation
|
|
62
|
+
|
|
63
|
+
### 1. Photography-as-Hero (No Competing Elements)
|
|
64
|
+
The hero has ONE thing: a massive photograph. No text overlay, no buttons, no gradients. The image fills the space and the viewer must engage with it.
|
|
65
|
+
**For VIB3+**: The opening cinematic with VIB3CODE text mask should have the visualizer as the ONLY visual element — no competing UI, no description text. Let the GPU canvas be the hero image equivalent.
|
|
66
|
+
|
|
67
|
+
### 2. Text-Image Interweaving
|
|
68
|
+
Typography and images share the same spatial region, overlapping deliberately. Text runs behind images; images overlap text boundaries. Neither element "wins" — they coexist.
|
|
69
|
+
**For VIB3+**: Cascade card overlays could have text that extends BEYOND the card boundaries, overlapping into adjacent cards. The `.cascade-overlay` text could be positioned to extend past the clip-path edge.
|
|
70
|
+
|
|
71
|
+
### 3. Massive Serif Typography as Primary Visual Element
|
|
72
|
+
Text isn't just information — it's the dominant visual pattern. Lines of text at 100-200px size create visual rhythm and weight comparable to images.
|
|
73
|
+
**For VIB3+**: Section titles could be dramatically larger — not just `3rem` headings but `clamp(4rem, 12vw, 10rem)` viewport-filling text.
|
|
74
|
+
|
|
75
|
+
### 4. Consistent White Background (No Mode Switching)
|
|
76
|
+
Unlike Simone's dark/light mode transitions, clickerss stays on white throughout. All visual variety comes from photography and typography scale.
|
|
77
|
+
**For VIB3+**: This validates that NOT every section needs a color mode switch. Some sections can maintain a consistent background and let the visualizer parameters alone create the visual change.
|
|
78
|
+
|
|
79
|
+
### 5. CTA as Giant Typography
|
|
80
|
+
The footer CTA fills the viewport with a single sentence. The scale of the text makes it feel like a billboard or poster.
|
|
81
|
+
**For VIB3+**: The CTA section could use massive outlined text (similar to Simone's footer "SIMONE" strokes) rather than a traditional button layout.
|
|
82
|
+
|
|
83
|
+
---
|
|
84
|
+
|
|
85
|
+
*Analysis based on actual Playwright screenshots captured with wheel-event scrolling.*
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
# Visual Analysis: facetad.com
|
|
2
|
+
|
|
3
|
+
**Captured: 2026-02-10 via Playwright with wheel-based scrolling**
|
|
4
|
+
**Method**: Real Chromium screenshots at 10 scroll positions (wheel events)
|
|
5
|
+
**Page height**: 15,082px (~16.8x viewport)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Scroll Journey (Frame by Frame)
|
|
10
|
+
|
|
11
|
+
### s00 — Top (scrollY=0)
|
|
12
|
+
**Ultra-minimal hero: single line of text on vast cream emptiness**
|
|
13
|
+
- Background: warm cream/off-white (#F5F0EB range)
|
|
14
|
+
- Centered text: "We approach every facet of design with a sense of wonder."
|
|
15
|
+
- Text is small, light gray, serif — occupies maybe 5% of viewport
|
|
16
|
+
- Tiny chevron/scroll indicator below text
|
|
17
|
+
- No nav, no logo visible at top — just vast empty space above and below
|
|
18
|
+
- **Pattern**: Extreme negative space. The emptiness IS the design. Forces the eye to the single sentence.
|
|
19
|
+
|
|
20
|
+
### s01 — scrollY=1680
|
|
21
|
+
**Parallelogram image explosion around centered logo**
|
|
22
|
+
- FACET logo + "ARCHITECTURAL DESIGN" centered
|
|
23
|
+
- Tagline below logo
|
|
24
|
+
- 6+ architectural photos SCATTERED around the logo in **parallelogram/skewed clip-paths**
|
|
25
|
+
- Images are different sizes, at different angles/positions
|
|
26
|
+
- Images overlap each other and the logo text
|
|
27
|
+
- Some images partially exit viewport edges
|
|
28
|
+
- **Pattern**: Scattered parallelogram gallery. Images use CSS `transform: skew()` or `clip-path: polygon()` to create non-rectangular shapes. Creates a chaotic but visually rich collage effect.
|
|
29
|
+
|
|
30
|
+
### s02 — scrollY=3360
|
|
31
|
+
**Full parallelogram gallery — maximum density**
|
|
32
|
+
- ~20+ architectural photos visible, ALL in parallelogram shapes
|
|
33
|
+
- Images scattered across entire viewport at various sizes (small thumbnails to medium)
|
|
34
|
+
- FACET logo still centered but partially obscured by overlapping images
|
|
35
|
+
- Some images overlap each other creating depth layers
|
|
36
|
+
- Images appear to float at different z-levels
|
|
37
|
+
- **Pattern**: This is the peak of the scatter effect. The sheer density + non-rectangular shapes + overlap creates an effect like looking through a shattered window at many projects simultaneously. Very strong depth illusion.
|
|
38
|
+
|
|
39
|
+
### s03 — scrollY=5040
|
|
40
|
+
**Large diagonal project images**
|
|
41
|
+
- Two massive project photos with strong diagonal clip-path edges
|
|
42
|
+
- Top: building at dusk with warm-lit windows, cut diagonally
|
|
43
|
+
- Bottom-right: bright blue architectural image, also cut diagonally
|
|
44
|
+
- A red/orange geometric element visible at top-right (matching brand color)
|
|
45
|
+
- Images take up most of viewport, overlapping
|
|
46
|
+
- **Pattern**: From scattered small thumbnails, the images have GROWN into massive hero-sized images. The diagonal edges create dramatic slash transitions between photos. This is the parallelogram theme at architectural scale.
|
|
47
|
+
|
|
48
|
+
### s04 — scrollY=6720
|
|
49
|
+
**Single massive image with diagonal wipe to cream**
|
|
50
|
+
- Top-left: large project photo (modern building exterior with glass, lawn, outdoor seating)
|
|
51
|
+
- Diagonal edge cuts from top-left to bottom-right
|
|
52
|
+
- Below the diagonal: pure cream emptiness
|
|
53
|
+
- The diagonal creates a dramatic "wipe" transition from content to void
|
|
54
|
+
- **Pattern**: Diagonal section transition. Not horizontal, not curved — a sharp diagonal slash separates photo content from empty space. This is how facetad handles section boundaries.
|
|
55
|
+
|
|
56
|
+
### s05 — scrollY=8400
|
|
57
|
+
**Markets section: overlapping photos + text**
|
|
58
|
+
- Top: "MARKETS WE SERVE" heading in red/terracotta
|
|
59
|
+
- Two large photos side by side showing hospitality interior (bar/restaurant)
|
|
60
|
+
- Photos overlap slightly, creating a diptych
|
|
61
|
+
- Right side: "HOSPITALITY" heading in red italic + body text paragraph
|
|
62
|
+
- Classic asymmetric layout: images LEFT, text RIGHT
|
|
63
|
+
- **Pattern**: Asymmetric portfolio section — large overlapping photos paired with small text. The overlap between the two photos adds depth.
|
|
64
|
+
|
|
65
|
+
### s06 — scrollY=10080
|
|
66
|
+
**Services section: clean asymmetric layout**
|
|
67
|
+
- "OUR DESIGN SERVICES" heading top-left in small red text
|
|
68
|
+
- "ARCHITECTURE" heading in large red italic text, left side
|
|
69
|
+
- Body text paragraph below heading
|
|
70
|
+
- Large architectural rendering (aerial view of commercial building) floats right at ~55% width
|
|
71
|
+
- Image has subtle shadow/depth
|
|
72
|
+
- Clean, spacious layout with generous white space
|
|
73
|
+
- **Pattern**: Standard asymmetric card (text left, image right) but with extreme white space. The image is large and positioned to feel like it's floating above the page.
|
|
74
|
+
|
|
75
|
+
### s07 — scrollY=11760
|
|
76
|
+
**Services continued + diagonal color transition beginning**
|
|
77
|
+
- "OUR DESIGN SERVICES" still visible at top
|
|
78
|
+
- "FF&E" heading in red italic with body text, left side
|
|
79
|
+
- No image — text only section
|
|
80
|
+
- Bottom of viewport: the red/terracotta color BEGINS appearing as a diagonal band
|
|
81
|
+
- The diagonal enters from bottom-right, cutting upward to the left
|
|
82
|
+
- **Pattern**: The diagonal section divider is introducing the red brand color. It's the same diagonal slash pattern but now used for a full COLOR MODE TRANSITION (cream → red).
|
|
83
|
+
|
|
84
|
+
### s08 — scrollY=13440
|
|
85
|
+
**Full diagonal color split: red to cream**
|
|
86
|
+
- Top ~40%: solid red/terracotta (#C0392B range)
|
|
87
|
+
- Diagonal slash cuts from upper-left to lower-right
|
|
88
|
+
- Bottom ~60%: back to cream
|
|
89
|
+
- "START A CONVERSATION" in large red italic text on cream
|
|
90
|
+
- "Talk with one of our award-winning architects about your next project." body text
|
|
91
|
+
- "Schedule A Call" link in red
|
|
92
|
+
- **Pattern**: The CTA section uses the diagonal color split as a dramatic reveal. The red block slides away diagonally to reveal the CTA on cream. Creates a cinematic wipe effect.
|
|
93
|
+
|
|
94
|
+
### s09 — scrollY=14182 (bottom)
|
|
95
|
+
**Footer: diagonal split cream/red**
|
|
96
|
+
- Top-left: cream background with FACET logo + address + contact info
|
|
97
|
+
- Diagonal divider cuts from upper-right to lower-left
|
|
98
|
+
- Bottom-right: solid red/terracotta background with nav links + social links + subscribe form
|
|
99
|
+
- "SUBSCRIBE" heading with email input and "SUBMIT" button
|
|
100
|
+
- "Website by Novel" credit at bottom-left
|
|
101
|
+
- **Pattern**: Footer echoes the diagonal theme. The entire footer is split diagonally — warm cream on one side, brand red on the other. The diagonal is the site's signature visual motif from hero through footer.
|
|
102
|
+
|
|
103
|
+
---
|
|
104
|
+
|
|
105
|
+
## Key Design Patterns for VIB3+ Translation
|
|
106
|
+
|
|
107
|
+
### 1. Parallelogram/Skewed Image Gallery
|
|
108
|
+
Project images use non-rectangular clip-paths (parallelograms, rhomboids). Images are scattered at different sizes, positions, and overlap each other. This creates a shattered-glass collage effect with real depth.
|
|
109
|
+
**For VIB3+**: Cascade cards could use parallelogram clip-paths instead of rectangles. The clip-path morphing system already supports polygon interpolation — add skewed/angled shapes to the shape sequence.
|
|
110
|
+
|
|
111
|
+
### 2. Diagonal Section Dividers
|
|
112
|
+
Every section boundary uses a diagonal slash — not horizontal lines, not curves. The same angle (~30-40 degrees) is used consistently.
|
|
113
|
+
**For VIB3+**: Section dividers could use angled clip-paths or CSS `polygon()` instead of horizontal borders. The diagonal creates much more visual energy than straight horizontal lines.
|
|
114
|
+
|
|
115
|
+
### 3. Density Progression (Sparse → Dense → Sparse)
|
|
116
|
+
The page starts with extreme emptiness (one line of text), builds to maximum density (20+ scattered images), then relaxes back to spacious layouts before ending with another sparse CTA.
|
|
117
|
+
**For VIB3+**: The morph stages should follow this arc — start minimal, build to visual complexity peak, then settle.
|
|
118
|
+
|
|
119
|
+
### 4. Diagonal Color Mode Transitions
|
|
120
|
+
The cream → red transition doesn't happen at a horizontal boundary. A diagonal band of red slashes across the viewport, creating a cinematic wipe effect.
|
|
121
|
+
**For VIB3+**: Dark/light mode switches could use diagonal clip-path animations instead of straight horizontal borders.
|
|
122
|
+
|
|
123
|
+
### 5. Extreme Negative Space
|
|
124
|
+
The hero is 95% empty. Text occupies a tiny fraction of the viewport. This forces attention and creates anticipation.
|
|
125
|
+
**For VIB3+**: The opening cinematic should start sparse — let the visualizer breathe in vast empty space before the content builds up.
|
|
126
|
+
|
|
127
|
+
### 6. Consistent Brand Angle
|
|
128
|
+
The diagonal angle is THE signature of the site. It appears in: image clip-paths, section dividers, color transitions, footer layout. The same ~30deg angle repeats everywhere.
|
|
129
|
+
**For VIB3+**: Pick a consistent geometric motif and repeat it across different contexts — clip-paths, dividers, card shapes, overlay patterns.
|
|
130
|
+
|
|
131
|
+
---
|
|
132
|
+
|
|
133
|
+
*Analysis based on actual Playwright screenshots captured with wheel-event scrolling.*
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
# Visual Analysis: weare-simone.webflow.io
|
|
2
|
+
|
|
3
|
+
**Captured: 2026-02-10 via Playwright with wheel-based scrolling**
|
|
4
|
+
**Method**: Real Chromium screenshots at 8 scroll positions (wheel events trigger Lenis/GSAP)
|
|
5
|
+
**Page height**: 12,062px (~13.4x viewport)
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## Scroll Journey (Frame by Frame)
|
|
10
|
+
|
|
11
|
+
### s00 — Top (scrollY=0)
|
|
12
|
+
**Giant "SIMONE" wordmark fills ~80% of viewport width**
|
|
13
|
+
- Background: warm cream/off-white with subtle noise texture
|
|
14
|
+
- Typography: black, extremely bold condensed sans-serif, all caps
|
|
15
|
+
- Text takes up full viewport — no other content visible except:
|
|
16
|
+
- Small "SIMONE" logo top-left (dark teal, tiny)
|
|
17
|
+
- Green pill-shaped nav button top-right with dot indicators
|
|
18
|
+
- Minimal nav links: "Work", "About", "Contact"
|
|
19
|
+
- **Pattern**: Hero section is JUST typography. No images, no gradients. The text IS the design. Massive scale creates impact.
|
|
20
|
+
|
|
21
|
+
### s01 — scrollY=2400
|
|
22
|
+
**Complete mode switch: cream → dark teal**
|
|
23
|
+
- Background: deep dark teal (#0A3239 range) with subtle noise texture
|
|
24
|
+
- Large white serif/display text: "What if we could alter reality *for the better?*"
|
|
25
|
+
- "for the better?" in lime/chartreuse green (#CCFF66)
|
|
26
|
+
- Below: smaller body text (cream colored) explaining studio mission
|
|
27
|
+
- Content sits within a large rounded-corner container (~24px radius)
|
|
28
|
+
- **Pattern**: DRAMATIC full-palette inversion at section boundary. The entire color scheme flips. This is the "dark/light mode threshold" pattern.
|
|
29
|
+
|
|
30
|
+
### s02 — scrollY=4800
|
|
31
|
+
**Asymmetric case study card (IKEA)**
|
|
32
|
+
- Still dark teal background
|
|
33
|
+
- Large serif heading: "Transform how we browse"
|
|
34
|
+
- Small body text on left side
|
|
35
|
+
- IKEA logo (white on dark)
|
|
36
|
+
- Green pill button: "View case study" with arrow
|
|
37
|
+
- **Product image floats right**: desk lamp in dark tones, offset ~60% to the right
|
|
38
|
+
- Below: "Turn up the magic" heading beginning to enter viewport
|
|
39
|
+
- **Pattern**: Asymmetric card layout. Text content LEFT, floating product image RIGHT. The image is positioned outside the text column — creates overlap depth.
|
|
40
|
+
|
|
41
|
+
### s03 — scrollY=7200
|
|
42
|
+
**Sephora + Nike stacked case studies**
|
|
43
|
+
- Top: Sephora section ending — "Draw people into your world..." text top-right
|
|
44
|
+
- Sephora logo centered, "View case study" green pill
|
|
45
|
+
- Red 3D cosmetic product floats LEFT (~25% from left edge)
|
|
46
|
+
- Bottom half: Nike "Get people moving" section beginning
|
|
47
|
+
- Nike logo at bottom
|
|
48
|
+
- **Pattern**: Alternating asymmetry — IKEA had image RIGHT, Sephora has image LEFT, Nike will have image RIGHT. This creates a zigzag visual rhythm as you scroll.
|
|
49
|
+
|
|
50
|
+
### s04 — scrollY=9600
|
|
51
|
+
**Client logos strip on cream background**
|
|
52
|
+
- Mode switch BACK to light: cream/off-white background
|
|
53
|
+
- Three logos visible: Dior, Monzo, Disney
|
|
54
|
+
- Very clean, minimal spacing
|
|
55
|
+
- Logos are small and muted (dark teal on cream)
|
|
56
|
+
- **Pattern**: Palate cleanser section. After intense dark case studies, a minimal light section resets visual fatigue. Brief breathing room.
|
|
57
|
+
|
|
58
|
+
### s05 — scrollY=11162 (bottom)
|
|
59
|
+
**CTA footer with marquee**
|
|
60
|
+
- Mode switch back to dark teal
|
|
61
|
+
- "Ready to alter reality?" centered heading (small, white)
|
|
62
|
+
- GIANT horizontal marquee: "Work with us" repeated, scrolling horizontally
|
|
63
|
+
- Green circular CTA button between the marquee text repetitions
|
|
64
|
+
- Below the marquee: "SIMONE" in massive OUTLINED/STROKE typography (no fill, just border)
|
|
65
|
+
- Footer bar: © 2026, Instagram, LinkedIn, "Site by Kin", 1% Planet badge
|
|
66
|
+
- **Pattern**: The footer echoes the hero — same giant "SIMONE" text but now as outlined strokes instead of filled. Creates bookend/closure. The horizontal marquee adds perpetual motion.
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
## Key Design Patterns for VIB3+ Translation
|
|
71
|
+
|
|
72
|
+
### 1. Typography-As-Hero
|
|
73
|
+
The hero section has NOTHING except giant text. No background effects, no images. The text IS the visual impact. For VIB3+: the opening cinematic should let the visualizer fill the entire space without competing with too many UI elements.
|
|
74
|
+
|
|
75
|
+
### 2. Hard Dark/Light Mode Switches
|
|
76
|
+
Sections don't cross-fade between modes — they SNAP. Cream → dark teal is a sharp boundary (though with Lenis smoothing it feels smooth). For VIB3+: system/parameter presets should change sharply at section boundaries, not gradually.
|
|
77
|
+
|
|
78
|
+
### 3. Zigzag Asymmetric Cards
|
|
79
|
+
Case study cards alternate: image-right → image-left → image-right. This creates visual rhythm and prevents monotony. For VIB3+: cascade cards or triptych panels should have alternating asymmetry rather than centered symmetry.
|
|
80
|
+
|
|
81
|
+
### 4. Floating Product Objects
|
|
82
|
+
Images are positioned OUTSIDE their text columns, overlapping into adjacent space. This creates real depth layers. For VIB3+: visualizer canvases could extend beyond their logical containers, bleeding into adjacent sections.
|
|
83
|
+
|
|
84
|
+
### 5. Marquee CTA
|
|
85
|
+
"Work with us" scrolls infinitely horizontally. This adds persistent motion that's independent of scroll position. For VIB3+: a parameter-driven text ticker or rotating geometry showcase could serve the same purpose.
|
|
86
|
+
|
|
87
|
+
### 6. Outlined Typography Echo
|
|
88
|
+
The hero's filled "SIMONE" becomes outlined/stroked at the footer. The same shape, different rendering. For VIB3+: the same geometry could be shown in different visualization systems at different scroll positions (Quantum fill → Faceted outline).
|
|
89
|
+
|
|
90
|
+
### 7. Subtle Noise Texture
|
|
91
|
+
Both light and dark backgrounds have a visible noise/grain texture overlay. This adds tactile quality and prevents "flat digital" feeling. For VIB3+: a CSS grain overlay on sections would add this same warmth.
|
|
92
|
+
|
|
93
|
+
---
|
|
94
|
+
|
|
95
|
+
*Analysis based on actual Playwright screenshots captured with wheel-event scrolling.*
|