@struq/skill 0.0.0-stage → 0.2.2
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/LICENSE +21 -0
- package/README.md +141 -2
- package/cli/struq.mjs +132 -0
- package/package.json +41 -4
- package/skills/struq/SKILL.md +237 -0
- package/skills/struq/cinematic/README.md +409 -0
- package/skills/struq/cinematic/checklists/01-preproduction.md +15 -0
- package/skills/struq/cinematic/checklists/02-implementation.md +17 -0
- package/skills/struq/cinematic/checklists/03-polish.md +17 -0
- package/skills/struq/cinematic/examples/code/nextjs/README.md +13 -0
- package/skills/struq/cinematic/examples/code/nextjs/app/cinematic-experience.tsx +13 -0
- package/skills/struq/cinematic/examples/code/nextjs/app/components/LenisRoot.tsx +42 -0
- package/skills/struq/cinematic/examples/code/nextjs/app/page.tsx +6 -0
- package/skills/struq/cinematic/examples/code/shared/CameraRig.tsx +65 -0
- package/skills/struq/cinematic/examples/code/shared/ExperienceCanvas.tsx +20 -0
- package/skills/struq/cinematic/examples/code/shared/ExperienceDirector.tsx +57 -0
- package/skills/struq/cinematic/examples/code/shared/ExperienceOverlay.tsx +37 -0
- package/skills/struq/cinematic/examples/code/shared/ExperiencePage.tsx +52 -0
- package/skills/struq/cinematic/examples/code/shared/GsapFrameLoop.tsx +32 -0
- package/skills/struq/cinematic/examples/code/shared/InteriorRoot.tsx +30 -0
- package/skills/struq/cinematic/examples/code/shared/README.md +20 -0
- package/skills/struq/cinematic/examples/code/shared/SubjectRig.tsx +58 -0
- package/skills/struq/cinematic/examples/code/shared/build-experience-timeline.ts +237 -0
- package/skills/struq/cinematic/examples/code/shared/direction.ts +52 -0
- package/skills/struq/cinematic/examples/code/shared/gsap-client.ts +32 -0
- package/skills/struq/cinematic/examples/code/shared/math.ts +12 -0
- package/skills/struq/cinematic/examples/code/shared/registry.ts +58 -0
- package/skills/struq/cinematic/examples/code/shared/runtime.ts +52 -0
- package/skills/struq/cinematic/examples/code/shared/styles.css +127 -0
- package/skills/struq/cinematic/examples/code/shared/useExperienceInput.ts +42 -0
- package/skills/struq/cinematic/examples/code/vite/README.md +14 -0
- package/skills/struq/cinematic/examples/code/vite/src/App.tsx +11 -0
- package/skills/struq/cinematic/examples/code/vite/src/LenisRoot.tsx +37 -0
- package/skills/struq/cinematic/examples/code/vite/src/main.tsx +9 -0
- package/skills/struq/cinematic/examples/concise/01-chapter-spec-example.md +42 -0
- package/skills/struq/cinematic/examples/concise/02-handoff-example.md +25 -0
- package/skills/struq/cinematic/examples/concise/03-audit-finding-example.md +13 -0
- package/skills/struq/cinematic/examples/verbose/01-full-experience-direction.md +687 -0
- package/skills/struq/cinematic/examples/verbose/02-full-audit-example.md +362 -0
- package/skills/struq/cinematic/references/01-core-mental-model.md +221 -0
- package/skills/struq/cinematic/references/02-vocabulary.md +384 -0
- package/skills/struq/cinematic/references/03-experience-architecture.md +302 -0
- package/skills/struq/cinematic/references/04-timeline-choreography.md +264 -0
- package/skills/struq/cinematic/references/05-handoff-contracts.md +241 -0
- package/skills/struq/cinematic/references/06-three-rig-architecture.md +286 -0
- package/skills/struq/cinematic/references/07-stack-integration.md +228 -0
- package/skills/struq/cinematic/references/08-gsap-plugin-patterns.md +218 -0
- package/skills/struq/cinematic/references/09-tuning-harness.md +202 -0
- package/skills/struq/cinematic/references/10-quality-systems.md +206 -0
- package/skills/struq/cinematic/references/11-agent-workflows.md +246 -0
- package/skills/struq/cinematic/references/12-audit-rubric.md +176 -0
- package/skills/struq/cinematic/references/13-official-docs.md +53 -0
- package/skills/struq/cinematic/templates/01-experience-brief.md +105 -0
- package/skills/struq/cinematic/templates/02-experience-contract.md +80 -0
- package/skills/struq/cinematic/templates/03-chapter-spec.md +103 -0
- package/skills/struq/cinematic/templates/04-handoff-contract.md +102 -0
- package/skills/struq/cinematic/templates/05-ownership-matrix.md +29 -0
- package/skills/struq/cinematic/templates/06-shot-presets.md +59 -0
- package/skills/struq/cinematic/templates/07-implementation-slice.md +66 -0
- package/skills/struq/cinematic/templates/08-tuning-register.md +36 -0
- package/skills/struq/cinematic/templates/09-acceptance-tests.md +57 -0
- package/skills/struq/references/anti-patterns.md +265 -0
- package/skills/struq/references/baseline-prompt.md +118 -0
- package/skills/struq/references/brand.md +143 -0
- package/skills/struq/references/brief-router.md +219 -0
- package/skills/struq/references/composition.md +191 -0
- package/skills/struq/references/depth-parallax.md +235 -0
- package/skills/struq/references/direction.md +188 -0
- package/skills/struq/references/feel-layer.md +107 -0
- package/skills/struq/references/gsap-api.md +293 -0
- package/skills/struq/references/iconography.md +255 -0
- package/skills/struq/references/imagery.md +144 -0
- package/skills/struq/references/loaders.md +287 -0
- package/skills/struq/references/micro-interactions.md +270 -0
- package/skills/struq/references/mobile-composition.md +70 -0
- package/skills/struq/references/nav-header.md +296 -0
- package/skills/struq/references/page-architecture.md +134 -0
- package/skills/struq/references/page-entrances.md +198 -0
- package/skills/struq/references/performance.md +235 -0
- package/skills/struq/references/pinning-scrub.md +341 -0
- package/skills/struq/references/pitfalls.md +290 -0
- package/skills/struq/references/route-transitions.md +281 -0
- package/skills/struq/references/scaling.md +151 -0
- package/skills/struq/references/scroll-reveals.md +280 -0
- package/skills/struq/references/seo.md +219 -0
- package/skills/struq/references/setup.md +397 -0
- package/skills/struq/references/showcase.md +87 -0
- package/skills/struq/references/stack-targets.md +78 -0
- package/skills/struq/references/struq-imagery.md +107 -0
- package/skills/struq/references/svg-motion.md +390 -0
- package/skills/struq/references/transitions.md +160 -0
- package/skills/struq/references/triage.md +71 -0
- package/skills/struq/references/typography.md +720 -0
- package/skills/struq/references/vibe-presets.md +287 -0
- package/skills/struq/references/webgl-r3f.md +274 -0
- package/skills/struq/references/webgl-scenes.md +593 -0
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
# Agent Workflows
|
|
2
|
+
|
|
3
|
+
## General behavior
|
|
4
|
+
|
|
5
|
+
The agent should direct the experience before generating large amounts of code. It should maintain a live model of:
|
|
6
|
+
|
|
7
|
+
- experience thesis,
|
|
8
|
+
- chapters and progress ranges,
|
|
9
|
+
- active state owners,
|
|
10
|
+
- camera shots,
|
|
11
|
+
- handoff contracts,
|
|
12
|
+
- implementation status,
|
|
13
|
+
- unresolved risks,
|
|
14
|
+
- tuning decisions.
|
|
15
|
+
|
|
16
|
+
When new information conflicts with an earlier decision, update the relevant artifacts and identify downstream effects.
|
|
17
|
+
|
|
18
|
+
## Workflow A: Design from a brief
|
|
19
|
+
|
|
20
|
+
### Step 1: Extract usable facts
|
|
21
|
+
|
|
22
|
+
Separate:
|
|
23
|
+
|
|
24
|
+
- content facts,
|
|
25
|
+
- visual references,
|
|
26
|
+
- emotional goals,
|
|
27
|
+
- required interactions,
|
|
28
|
+
- technical constraints,
|
|
29
|
+
- unknowns that materially affect design.
|
|
30
|
+
|
|
31
|
+
### Step 2: Propose the experience thesis
|
|
32
|
+
|
|
33
|
+
Provide one strong default thesis rather than many vague directions. State assumptions.
|
|
34
|
+
|
|
35
|
+
### Step 3: Establish the experience contract
|
|
36
|
+
|
|
37
|
+
Define:
|
|
38
|
+
|
|
39
|
+
- persistent-stage model,
|
|
40
|
+
- chapter count,
|
|
41
|
+
- transition language,
|
|
42
|
+
- camera character,
|
|
43
|
+
- typography language,
|
|
44
|
+
- input ownership,
|
|
45
|
+
- responsive strategy,
|
|
46
|
+
- prohibited patterns.
|
|
47
|
+
|
|
48
|
+
### Step 4: Map chapters
|
|
49
|
+
|
|
50
|
+
Create a chapter table. Each row must describe a state transformation, not merely content.
|
|
51
|
+
|
|
52
|
+
Weak:
|
|
53
|
+
|
|
54
|
+
```text
|
|
55
|
+
Chapter 2, Features: show three features.
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Strong:
|
|
59
|
+
|
|
60
|
+
```text
|
|
61
|
+
Chapter 2, Disassembly: the hero object separates into three functional layers. The camera trucks left to reveal depth; each layer becomes the spatial anchor for one feature statement. The outer ring remains as the bridge into the systems chapter.
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### Step 5: Specify handoffs
|
|
65
|
+
|
|
66
|
+
Do not leave handoffs as “transition TBD.” At minimum define the bridge and continuity principle.
|
|
67
|
+
|
|
68
|
+
### Step 6: Produce the implementation architecture
|
|
69
|
+
|
|
70
|
+
Only after direction is coherent, assign responsibilities to GSAP, ScrollTrigger, Lenis, R3F, Motion, and plugins.
|
|
71
|
+
|
|
72
|
+
### Step 7: Define acceptance criteria
|
|
73
|
+
|
|
74
|
+
Use observable outcomes.
|
|
75
|
+
|
|
76
|
+
## Workflow B: Guide implementation
|
|
77
|
+
|
|
78
|
+
### Step 1: Establish current state
|
|
79
|
+
|
|
80
|
+
Inspect or ask for:
|
|
81
|
+
|
|
82
|
+
- relevant files,
|
|
83
|
+
- current scene graph,
|
|
84
|
+
- timeline construction,
|
|
85
|
+
- scrolling setup,
|
|
86
|
+
- route lifecycle,
|
|
87
|
+
- known bugs,
|
|
88
|
+
- a recording or screenshots when perceptual timing matters.
|
|
89
|
+
|
|
90
|
+
### Step 2: Choose one vertical slice
|
|
91
|
+
|
|
92
|
+
Select the smallest slice that proves the architecture, normally one chapter plus its handoff.
|
|
93
|
+
|
|
94
|
+
### Step 3: Explain the target behavior
|
|
95
|
+
|
|
96
|
+
Before code, state:
|
|
97
|
+
|
|
98
|
+
- starting state,
|
|
99
|
+
- ending state,
|
|
100
|
+
- owners,
|
|
101
|
+
- labels,
|
|
102
|
+
- phase windows,
|
|
103
|
+
- responsive behavior,
|
|
104
|
+
- validation method.
|
|
105
|
+
|
|
106
|
+
### Step 4: Implement by responsibility
|
|
107
|
+
|
|
108
|
+
Identify which files own:
|
|
109
|
+
|
|
110
|
+
- direction data,
|
|
111
|
+
- registry,
|
|
112
|
+
- timeline,
|
|
113
|
+
- scene rig,
|
|
114
|
+
- DOM layer,
|
|
115
|
+
- lifecycle,
|
|
116
|
+
- debug controls.
|
|
117
|
+
|
|
118
|
+
### Step 5: Validate
|
|
119
|
+
|
|
120
|
+
Check forward, reverse, resize, route leave, reduced motion, and the target device class.
|
|
121
|
+
|
|
122
|
+
### Step 6: Record tuning decisions
|
|
123
|
+
|
|
124
|
+
When values change, update the direction register rather than only changing local code.
|
|
125
|
+
|
|
126
|
+
### Step 7: Move to the next slice
|
|
127
|
+
|
|
128
|
+
Carry the established patterns forward. Do not create a new architecture for every chapter.
|
|
129
|
+
|
|
130
|
+
## Workflow C: Audit and improve
|
|
131
|
+
|
|
132
|
+
### Step 1: Observe symptoms
|
|
133
|
+
|
|
134
|
+
Examples:
|
|
135
|
+
|
|
136
|
+
- “each section feels separate,”
|
|
137
|
+
- “camera movement feels floaty,”
|
|
138
|
+
- “the page is impressive but tiring,”
|
|
139
|
+
- “mobile composition breaks,”
|
|
140
|
+
- “reverse scroll jumps,”
|
|
141
|
+
- “the Three.js scene requires constant patching.”
|
|
142
|
+
|
|
143
|
+
### Step 2: Trace causes
|
|
144
|
+
|
|
145
|
+
Classify as:
|
|
146
|
+
|
|
147
|
+
- experience architecture,
|
|
148
|
+
- state ownership,
|
|
149
|
+
- timeline structure,
|
|
150
|
+
- handoff design,
|
|
151
|
+
- camera composition,
|
|
152
|
+
- input conflict,
|
|
153
|
+
- responsive direction,
|
|
154
|
+
- performance,
|
|
155
|
+
- lifecycle.
|
|
156
|
+
|
|
157
|
+
### Step 3: Build a continuity map
|
|
158
|
+
|
|
159
|
+
For each chapter boundary, record:
|
|
160
|
+
|
|
161
|
+
- persistent elements,
|
|
162
|
+
- reset elements,
|
|
163
|
+
- bridge,
|
|
164
|
+
- camera relation,
|
|
165
|
+
- handoff quality,
|
|
166
|
+
- visible discontinuity.
|
|
167
|
+
|
|
168
|
+
### Step 4: Build a property-conflict map
|
|
169
|
+
|
|
170
|
+
Find properties written by several systems.
|
|
171
|
+
|
|
172
|
+
```text
|
|
173
|
+
camera.position:
|
|
174
|
+
- GSAP chapter timeline
|
|
175
|
+
- pointer effect in useFrame
|
|
176
|
+
- route transition
|
|
177
|
+
Result: visible drift and non-deterministic final pose
|
|
178
|
+
Correction: nested narrative/reaction/route rigs
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Step 5: Prioritize structural fixes
|
|
182
|
+
|
|
183
|
+
Fix in this order:
|
|
184
|
+
|
|
185
|
+
1. state continuity,
|
|
186
|
+
2. ownership conflicts,
|
|
187
|
+
3. camera and target architecture,
|
|
188
|
+
4. handoff coverage,
|
|
189
|
+
5. timeline hierarchy,
|
|
190
|
+
6. responsive behavior,
|
|
191
|
+
7. performance,
|
|
192
|
+
8. decorative polish.
|
|
193
|
+
|
|
194
|
+
### Step 6: Specify before/after behavior
|
|
195
|
+
|
|
196
|
+
Do not merely say “refactor the timeline.” State what the viewer should experience after the correction.
|
|
197
|
+
|
|
198
|
+
### Step 7: Provide a staged remediation plan
|
|
199
|
+
|
|
200
|
+
Each stage should be independently testable and preserve a working page.
|
|
201
|
+
|
|
202
|
+
## Agent session protocol
|
|
203
|
+
|
|
204
|
+
At the beginning of a substantial session, maintain a short status block:
|
|
205
|
+
|
|
206
|
+
```text
|
|
207
|
+
Mode: Design / Implementation / Audit
|
|
208
|
+
Current chapter or slice:
|
|
209
|
+
Active decision artifacts:
|
|
210
|
+
Known constraints:
|
|
211
|
+
Unresolved risks:
|
|
212
|
+
```
|
|
213
|
+
|
|
214
|
+
At the end, report:
|
|
215
|
+
|
|
216
|
+
- decisions made,
|
|
217
|
+
- files or artifacts changed,
|
|
218
|
+
- values requiring visual tuning,
|
|
219
|
+
- validation completed,
|
|
220
|
+
- next recommended slice.
|
|
221
|
+
|
|
222
|
+
## Agent anti-patterns
|
|
223
|
+
|
|
224
|
+
The agent must not:
|
|
225
|
+
|
|
226
|
+
- generate a generic hero/features/projects/contact structure unless the brief requires it,
|
|
227
|
+
- equate “cinematic” with constant camera movement,
|
|
228
|
+
- suggest pinning every section without a stage-continuity plan,
|
|
229
|
+
- produce a monolithic component containing scene, timelines, state, and copy,
|
|
230
|
+
- add post-processing before the composition works,
|
|
231
|
+
- use vague words instead of progress ranges and states,
|
|
232
|
+
- ignore reverse scroll,
|
|
233
|
+
- ignore route cleanup,
|
|
234
|
+
- let GSAP and Motion own the same transform,
|
|
235
|
+
- assume desktop choreography scales directly to mobile,
|
|
236
|
+
- hide uncertainty about untested visual values.
|
|
237
|
+
|
|
238
|
+
## How the agent should handle visual tuning
|
|
239
|
+
|
|
240
|
+
The agent should distinguish:
|
|
241
|
+
|
|
242
|
+
- **architectural certainty:** ownership, lifecycle, state boundaries, cleanup;
|
|
243
|
+
- **direction hypothesis:** likely camera path, timing, ease, phase range;
|
|
244
|
+
- **visual tuning value:** exact position, FOV, scale, light intensity, shader amount.
|
|
245
|
+
|
|
246
|
+
It should provide strong starting values and identify which values require in-browser judgment. It should not pretend that exact composition can be finalized without seeing the running result.
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
# Audit Rubric
|
|
2
|
+
|
|
3
|
+
Score each category from 0 to 5.
|
|
4
|
+
|
|
5
|
+
- `0`: absent or broken
|
|
6
|
+
- `1`: severely weak
|
|
7
|
+
- `2`: inconsistent or generic
|
|
8
|
+
- `3`: functional and intentional
|
|
9
|
+
- `4`: strong and polished
|
|
10
|
+
- `5`: exceptional, coherent, and resilient
|
|
11
|
+
|
|
12
|
+
## 1. Experience thesis
|
|
13
|
+
|
|
14
|
+
**Question:** Can the whole experience be described as one visual and emotional transformation?
|
|
15
|
+
|
|
16
|
+
- 0: no unifying idea
|
|
17
|
+
- 3: clear idea but not consistently expressed
|
|
18
|
+
- 5: every major beat reinforces the thesis
|
|
19
|
+
|
|
20
|
+
## 2. Persistent-world continuity
|
|
21
|
+
|
|
22
|
+
**Question:** Does the page feel like one evolving world?
|
|
23
|
+
|
|
24
|
+
Inspect:
|
|
25
|
+
|
|
26
|
+
- persistent stage,
|
|
27
|
+
- retained subjects,
|
|
28
|
+
- environment continuity,
|
|
29
|
+
- chapter resets,
|
|
30
|
+
- route continuity.
|
|
31
|
+
|
|
32
|
+
## 3. Chapter purpose
|
|
33
|
+
|
|
34
|
+
**Question:** Does each chapter perform a distinct narrative action rather than merely display content?
|
|
35
|
+
|
|
36
|
+
## 4. Handoff quality
|
|
37
|
+
|
|
38
|
+
**Question:** Is every boundary an authored transfer with a bridge, coverage, ownership, and reverse behavior?
|
|
39
|
+
|
|
40
|
+
## 5. State continuity
|
|
41
|
+
|
|
42
|
+
**Question:** Do shared end and start states match without hidden jumps?
|
|
43
|
+
|
|
44
|
+
## 6. Property ownership
|
|
45
|
+
|
|
46
|
+
**Question:** Can every animated property be traced to one authoritative writer?
|
|
47
|
+
|
|
48
|
+
Red flags:
|
|
49
|
+
|
|
50
|
+
- GSAP and Motion on one transform,
|
|
51
|
+
- pointer and narrative writing the same camera object,
|
|
52
|
+
- callbacks creating irreversible state,
|
|
53
|
+
- local components mutating global experience values.
|
|
54
|
+
|
|
55
|
+
## 7. Timeline hierarchy
|
|
56
|
+
|
|
57
|
+
**Question:** Are route, chapter, handoff, and discrete timelines separated and composed clearly?
|
|
58
|
+
|
|
59
|
+
## 8. Semantic cues
|
|
60
|
+
|
|
61
|
+
**Question:** Are important moments named and used to coordinate systems?
|
|
62
|
+
|
|
63
|
+
## 9. Rhythm and pacing
|
|
64
|
+
|
|
65
|
+
**Question:** Does the experience contain contrast between motion, holds, accents, and resolution?
|
|
66
|
+
|
|
67
|
+
## 10. Camera direction
|
|
68
|
+
|
|
69
|
+
**Question:** Are shots, targets, FOV, paths, and composition intentionally authored?
|
|
70
|
+
|
|
71
|
+
Red flags:
|
|
72
|
+
|
|
73
|
+
- constant orbit,
|
|
74
|
+
- camera movement with no target plan,
|
|
75
|
+
- excessive float,
|
|
76
|
+
- no stable hero pose,
|
|
77
|
+
- large mobile travel copied from desktop.
|
|
78
|
+
|
|
79
|
+
## 11. Subject choreography
|
|
80
|
+
|
|
81
|
+
**Question:** Does the principal object have clear placement, role changes, and material behavior?
|
|
82
|
+
|
|
83
|
+
## 12. Typography choreography
|
|
84
|
+
|
|
85
|
+
**Question:** Does type share beats and spatial logic with the visual world?
|
|
86
|
+
|
|
87
|
+
Red flags:
|
|
88
|
+
|
|
89
|
+
- every heading uses the same fade-up,
|
|
90
|
+
- type ignores camera and safe areas,
|
|
91
|
+
- SplitText breaks on resize,
|
|
92
|
+
- unreadable motion density.
|
|
93
|
+
|
|
94
|
+
## 13. SVG and graphic integration
|
|
95
|
+
|
|
96
|
+
**Question:** Are vector effects meaningful bridges or explanatory systems rather than decoration?
|
|
97
|
+
|
|
98
|
+
## 14. Input arbitration
|
|
99
|
+
|
|
100
|
+
**Question:** Are scroll, pointer, hover, click, drag, and time assigned distinct responsibilities?
|
|
101
|
+
|
|
102
|
+
## 15. Interaction envelopes
|
|
103
|
+
|
|
104
|
+
**Question:** Are interactions enabled, attenuated, and disabled at deliberate states?
|
|
105
|
+
|
|
106
|
+
## 16. Reverse behavior
|
|
107
|
+
|
|
108
|
+
**Question:** Can a user reverse through scrubbed sequences without discontinuity or stale state?
|
|
109
|
+
|
|
110
|
+
## 17. Responsive choreography
|
|
111
|
+
|
|
112
|
+
**Question:** Does each viewport class preserve intent through authored composition changes?
|
|
113
|
+
|
|
114
|
+
## 18. Reduced motion
|
|
115
|
+
|
|
116
|
+
**Question:** Is there a coherent reduced-motion experience rather than a broken or entirely static fallback?
|
|
117
|
+
|
|
118
|
+
## 19. Performance architecture
|
|
119
|
+
|
|
120
|
+
**Question:** Are effects, assets, render settings, and frame work budgeted by device capability?
|
|
121
|
+
|
|
122
|
+
## 20. Lifecycle and cleanup
|
|
123
|
+
|
|
124
|
+
**Question:** Are timelines, triggers, listeners, ticker callbacks, styles, and GPU resources cleaned up?
|
|
125
|
+
|
|
126
|
+
## 21. Tuning readiness
|
|
127
|
+
|
|
128
|
+
**Question:** Can important values be inspected and changed from a central direction system?
|
|
129
|
+
|
|
130
|
+
## 22. Validation coverage
|
|
131
|
+
|
|
132
|
+
**Question:** Has the experience been tested across input, viewport, performance, motion preference, asset readiness, and route lifecycle?
|
|
133
|
+
|
|
134
|
+
## Audit output template
|
|
135
|
+
|
|
136
|
+
```md
|
|
137
|
+
# Audit Summary
|
|
138
|
+
|
|
139
|
+
## Executive diagnosis
|
|
140
|
+
[One paragraph identifying the dominant structural issue.]
|
|
141
|
+
|
|
142
|
+
## Scorecard
|
|
143
|
+
| Category | Score | Evidence | Priority |
|
|
144
|
+
|---|---:|---|---|
|
|
145
|
+
|
|
146
|
+
## Structural findings
|
|
147
|
+
### Finding
|
|
148
|
+
- Symptom:
|
|
149
|
+
- Cause:
|
|
150
|
+
- Perceptual consequence:
|
|
151
|
+
- Correction:
|
|
152
|
+
- Validation:
|
|
153
|
+
|
|
154
|
+
## Continuity map
|
|
155
|
+
| Boundary | Persistent bridge | Camera continuity | Ownership transfer | Reverse-safe | Result |
|
|
156
|
+
|
|
157
|
+
## Property conflict map
|
|
158
|
+
| Property | Writers | Conflict | Correction |
|
|
159
|
+
|
|
160
|
+
## Remediation sequence
|
|
161
|
+
1. Foundation
|
|
162
|
+
2. First corrected vertical slice
|
|
163
|
+
3. Remaining chapter migrations
|
|
164
|
+
4. Responsive and performance pass
|
|
165
|
+
5. Final direction pass
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
## Score interpretation
|
|
169
|
+
|
|
170
|
+
- `90 to 110`: exceptional architecture; focus on art direction and microtiming.
|
|
171
|
+
- `70 to 89`: strong foundation with identifiable weaknesses.
|
|
172
|
+
- `50 to 69`: impressive moments but inconsistent system quality.
|
|
173
|
+
- `30 to 49`: effect-driven page with structural continuity problems.
|
|
174
|
+
- `<30`: rebuild the experience architecture before adding polish.
|
|
175
|
+
|
|
176
|
+
The numerical score supports prioritization. The written evidence is more important than the total.
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# Official Documentation Index
|
|
2
|
+
|
|
3
|
+
Use official documentation to verify current APIs, imports, lifecycle guidance, and plugin behavior before applying code to a live project.
|
|
4
|
+
|
|
5
|
+
## GSAP
|
|
6
|
+
|
|
7
|
+
- GSAP documentation: https://gsap.com/docs/v3/
|
|
8
|
+
- Installation: https://gsap.com/docs/v3/Installation/
|
|
9
|
+
- React `useGSAP`: https://gsap.com/resources/React/
|
|
10
|
+
- ScrollTrigger: https://gsap.com/docs/v3/Plugins/ScrollTrigger/
|
|
11
|
+
- SplitText: https://gsap.com/docs/v3/Plugins/SplitText/
|
|
12
|
+
- DrawSVGPlugin: https://gsap.com/docs/v3/Plugins/DrawSVGPlugin/
|
|
13
|
+
- MorphSVGPlugin: https://gsap.com/docs/v3/Plugins/MorphSVGPlugin/
|
|
14
|
+
- MotionPathPlugin: https://gsap.com/docs/v3/Plugins/MotionPathPlugin/
|
|
15
|
+
- Flip: https://gsap.com/docs/v3/Plugins/Flip/
|
|
16
|
+
- Observer: https://gsap.com/docs/v3/Plugins/Observer/
|
|
17
|
+
- CustomEase: https://gsap.com/docs/v3/Eases/CustomEase/
|
|
18
|
+
- Official GSAP skills repository: https://github.com/greensock/gsap-skills
|
|
19
|
+
|
|
20
|
+
## Lenis
|
|
21
|
+
|
|
22
|
+
- Lenis repository and integration guidance: https://github.com/darkroomengineering/lenis
|
|
23
|
+
- React integration: https://github.com/darkroomengineering/lenis/tree/main/packages/react
|
|
24
|
+
|
|
25
|
+
## React Three Fiber
|
|
26
|
+
|
|
27
|
+
- Documentation: https://r3f.docs.pmnd.rs/
|
|
28
|
+
- Canvas: https://r3f.docs.pmnd.rs/api/canvas
|
|
29
|
+
- Hooks and `useFrame`: https://r3f.docs.pmnd.rs/api/hooks
|
|
30
|
+
- Performance pitfalls: https://r3f.docs.pmnd.rs/advanced/pitfalls
|
|
31
|
+
|
|
32
|
+
## Three.js
|
|
33
|
+
|
|
34
|
+
- Documentation: https://threejs.org/docs/
|
|
35
|
+
- Scene graph manual: https://threejs.org/manual/en/scenegraph.html
|
|
36
|
+
- Render targets: https://threejs.org/manual/en/rendertargets.html
|
|
37
|
+
- Post-processing: https://threejs.org/manual/en/post-processing.html
|
|
38
|
+
|
|
39
|
+
## Motion for React
|
|
40
|
+
|
|
41
|
+
- React documentation: https://motion.dev/docs/react
|
|
42
|
+
- Installation: https://motion.dev/docs/react-installation
|
|
43
|
+
- AnimatePresence: https://motion.dev/docs/react-animate-presence
|
|
44
|
+
- Accessibility: https://motion.dev/docs/react-accessibility
|
|
45
|
+
|
|
46
|
+
## Frameworks
|
|
47
|
+
|
|
48
|
+
- Next.js documentation: https://nextjs.org/docs
|
|
49
|
+
- Vite documentation: https://vite.dev/guide/
|
|
50
|
+
|
|
51
|
+
## Verification note
|
|
52
|
+
|
|
53
|
+
Package APIs and recommended imports can change. Treat examples in directed mode as architectural patterns. Before copying imports into a project, verify them against the project's installed versions and the official sources above.
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
# Experience Brief
|
|
2
|
+
|
|
3
|
+
## Project
|
|
4
|
+
|
|
5
|
+
**Name:**
|
|
6
|
+
|
|
7
|
+
**Route or page:**
|
|
8
|
+
|
|
9
|
+
**Primary objective:**
|
|
10
|
+
|
|
11
|
+
**Audience:**
|
|
12
|
+
|
|
13
|
+
**Required action or outcome:**
|
|
14
|
+
|
|
15
|
+
## Central idea
|
|
16
|
+
|
|
17
|
+
**Principal subject, product, story, or metaphor:**
|
|
18
|
+
|
|
19
|
+
**What should the viewer feel at the beginning?**
|
|
20
|
+
|
|
21
|
+
**What should the viewer feel at the end?**
|
|
22
|
+
|
|
23
|
+
**One-sentence transformation:**
|
|
24
|
+
|
|
25
|
+
> The viewer moves from [starting perception] to [ending perception] while [the visual world performs its central transformation].
|
|
26
|
+
|
|
27
|
+
## Content
|
|
28
|
+
|
|
29
|
+
**Required chapters or messages:**
|
|
30
|
+
|
|
31
|
+
1.
|
|
32
|
+
2.
|
|
33
|
+
3.
|
|
34
|
+
|
|
35
|
+
**Required copy:**
|
|
36
|
+
|
|
37
|
+
**Required calls to action:**
|
|
38
|
+
|
|
39
|
+
## Assets
|
|
40
|
+
|
|
41
|
+
| Asset | Available | Format | Notes | Required by |
|
|
42
|
+
|---|---|---|---|---|
|
|
43
|
+
| Hero model | | | | |
|
|
44
|
+
| Supporting models | | | | |
|
|
45
|
+
| Images | | | | |
|
|
46
|
+
| Video | | | | |
|
|
47
|
+
| SVG | | | | |
|
|
48
|
+
| Typeface | | | | |
|
|
49
|
+
| Audio | | | | |
|
|
50
|
+
| Data | | | | |
|
|
51
|
+
|
|
52
|
+
## Visual direction
|
|
53
|
+
|
|
54
|
+
**References:**
|
|
55
|
+
|
|
56
|
+
**Material language:**
|
|
57
|
+
|
|
58
|
+
**Lighting language:**
|
|
59
|
+
|
|
60
|
+
**Typography language:**
|
|
61
|
+
|
|
62
|
+
**Motion character:**
|
|
63
|
+
|
|
64
|
+
**Transition motifs:**
|
|
65
|
+
|
|
66
|
+
## Interaction
|
|
67
|
+
|
|
68
|
+
**Primary navigation model:** continuous scroll / snap-assisted / discrete chapters / hybrid
|
|
69
|
+
|
|
70
|
+
**Pointer behavior:**
|
|
71
|
+
|
|
72
|
+
**Click or tap behavior:**
|
|
73
|
+
|
|
74
|
+
**Drag behavior:**
|
|
75
|
+
|
|
76
|
+
**Route transitions:**
|
|
77
|
+
|
|
78
|
+
## Constraints
|
|
79
|
+
|
|
80
|
+
**Framework:** Next.js / Vite
|
|
81
|
+
|
|
82
|
+
**Core stack:**
|
|
83
|
+
|
|
84
|
+
**Target devices:**
|
|
85
|
+
|
|
86
|
+
**Performance floor:**
|
|
87
|
+
|
|
88
|
+
**Accessibility requirements:**
|
|
89
|
+
|
|
90
|
+
**Reduced-motion expectation:**
|
|
91
|
+
|
|
92
|
+
**Content-management requirements:**
|
|
93
|
+
|
|
94
|
+
**Deadline or implementation phases:**
|
|
95
|
+
|
|
96
|
+
## Prohibited patterns
|
|
97
|
+
|
|
98
|
+
-
|
|
99
|
+
-
|
|
100
|
+
-
|
|
101
|
+
|
|
102
|
+
## Unknowns that materially affect direction
|
|
103
|
+
|
|
104
|
+
-
|
|
105
|
+
-
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
# Experience Contract
|
|
2
|
+
|
|
3
|
+
## Experience thesis
|
|
4
|
+
|
|
5
|
+
[One paragraph describing the viewer's action, the world's transformation, emotional progression, continuity mechanism, and final resolution.]
|
|
6
|
+
|
|
7
|
+
## Persistent-stage strategy
|
|
8
|
+
|
|
9
|
+
- Stage duration:
|
|
10
|
+
- Persistent elements:
|
|
11
|
+
- Semantic document structure:
|
|
12
|
+
- Canvas ownership:
|
|
13
|
+
- DOM overlay ownership:
|
|
14
|
+
- Route lifecycle:
|
|
15
|
+
|
|
16
|
+
## Narrative chapters
|
|
17
|
+
|
|
18
|
+
| ID | Name | Purpose | Main transformation | Scroll budget | Bridge to next |
|
|
19
|
+
|---|---|---|---|---:|---|
|
|
20
|
+
|
|
21
|
+
## Motion language
|
|
22
|
+
|
|
23
|
+
**Camera character:**
|
|
24
|
+
|
|
25
|
+
**Subject movement:**
|
|
26
|
+
|
|
27
|
+
**Typography movement:**
|
|
28
|
+
|
|
29
|
+
**SVG and graphic movement:**
|
|
30
|
+
|
|
31
|
+
**Ambient movement:**
|
|
32
|
+
|
|
33
|
+
**Primary transition language:**
|
|
34
|
+
|
|
35
|
+
## Input ownership
|
|
36
|
+
|
|
37
|
+
| Input | Responsibility | Influence | Gating rule |
|
|
38
|
+
|---|---|---|---|
|
|
39
|
+
| Scroll | | | |
|
|
40
|
+
| Time | | | |
|
|
41
|
+
| Pointer | | | |
|
|
42
|
+
| Velocity | | | |
|
|
43
|
+
| Hover | | | |
|
|
44
|
+
| Click/tap | | | |
|
|
45
|
+
| Keyboard | | | |
|
|
46
|
+
|
|
47
|
+
## Stack responsibility
|
|
48
|
+
|
|
49
|
+
| System | Responsibility | Must not own |
|
|
50
|
+
|---|---|---|
|
|
51
|
+
| GSAP | | |
|
|
52
|
+
| ScrollTrigger | | |
|
|
53
|
+
| Lenis | | |
|
|
54
|
+
| R3F / Three.js | | |
|
|
55
|
+
| Motion | | |
|
|
56
|
+
| SVG plugins | | |
|
|
57
|
+
|
|
58
|
+
## Responsive contract
|
|
59
|
+
|
|
60
|
+
**Desktop:**
|
|
61
|
+
|
|
62
|
+
**Tablet:**
|
|
63
|
+
|
|
64
|
+
**Mobile:**
|
|
65
|
+
|
|
66
|
+
**Reduced motion:**
|
|
67
|
+
|
|
68
|
+
**Low-performance tier:**
|
|
69
|
+
|
|
70
|
+
## Prohibited generic patterns
|
|
71
|
+
|
|
72
|
+
- No independent chapter reset without a narrative reason.
|
|
73
|
+
- No opacity-only handoff as the complete transition.
|
|
74
|
+
- No repeated copy-paste reveal language across all chapters.
|
|
75
|
+
- No competing writers for the same transform.
|
|
76
|
+
- [Add project-specific rules.]
|
|
77
|
+
|
|
78
|
+
## Acceptance statement
|
|
79
|
+
|
|
80
|
+
The experience is accepted when [observable description of continuity, hierarchy, performance, and interaction quality].
|