@slycode/slycode 0.1.19 → 0.2.0
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/dist/web/.next/BUILD_ID +1 -1
- package/dist/web/.next/build-manifest.json +2 -2
- package/dist/web/.next/server/app/_global-error.html +2 -2
- package/dist/web/.next/server/app/_global-error.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.html +1 -1
- package/dist/web/.next/server/app/_not-found.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/web/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/dist/web/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/web/.next/server/app/project/[id]/page_client-reference-manifest.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__46b023d4._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__4c7995bf._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__4d0d3464._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__543058c2._.js +3 -3
- package/dist/web/.next/server/chunks/[root-of-the-server]__6d330d40._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__884d73e4._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__949bb248._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__949d814c._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__aa814a86._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__ad64e04f._.js +2 -2
- package/dist/web/.next/server/chunks/[root-of-the-server]__baa99257._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__bbb4b3ac._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__bf286c26._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__ce429522._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__d38c7a96._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__e9b0e744._.js +1 -1
- package/dist/web/.next/server/chunks/[root-of-the-server]__f1fe18e6._.js +2 -2
- package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__677b7660._.js +1 -1
- package/dist/web/.next/server/chunks/ssr/[root-of-the-server]__79c0188d._.js +1 -1
- package/dist/web/.next/server/chunks/ssr/src_lib_registry_ts_2fc87c9c._.js +1 -1
- package/dist/web/.next/server/pages/404.html +1 -1
- package/dist/web/.next/server/pages/500.html +2 -2
- package/dist/web/.next/static/chunks/7660448872d80e27.js +4 -0
- package/dist/web/.next/static/chunks/{49ff6bc5c5e30161.js → b694f741bb34ac84.js} +1 -1
- package/dist/web/src/components/ClaudeTerminalPanel.tsx +4 -0
- package/dist/web/src/lib/store-scanner.ts +70 -10
- package/dist/web/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/templates/kanban-seed.json +1 -1
- package/dist/store/.backups/actions/onboard.md +0 -33
- package/dist/store/.backups/actions/review.md +0 -37
- package/dist/store/.backups/actions/show-card.md +0 -20
- package/dist/store/.backups/checkpoint/SKILL.md +0 -43
- package/dist/store/.backups/context-priming/SKILL.md +0 -153
- package/dist/store/.backups/context-priming/references/area-index.md +0 -101
- package/dist/store/.backups/context-priming/references/areas/claude-actions.md +0 -120
- package/dist/store/.backups/context-priming/references/areas/messaging.md +0 -177
- package/dist/store/.backups/context-priming/references/areas/scripts-deployment.md +0 -138
- package/dist/store/.backups/context-priming/references/areas/skills.md +0 -135
- package/dist/store/.backups/context-priming/references/areas/terminal-bridge.md +0 -232
- package/dist/store/.backups/context-priming/references/areas/web-frontend.md +0 -252
- package/dist/store/.backups/context-priming/references/maintenance.md +0 -128
- package/dist/store/.ignored-updates.json +0 -37
- package/dist/store/actions/analyse-implementation.md +0 -72
- package/dist/store/actions/archive.md +0 -36
- package/dist/store/actions/clear.md +0 -13
- package/dist/store/actions/complete.md +0 -34
- package/dist/store/actions/continue.md +0 -20
- package/dist/store/agents/doc-updater.md +0 -619
- package/dist/store/mcp/context7.json +0 -8
- package/dist/store/skills/claude-code-docs-maintainer/SKILL.md +0 -168
- package/dist/store/skills/create-command/SKILL.md +0 -92
- package/dist/store/skills/doc-discovery/SKILL.md +0 -18
- package/dist/store/skills/doc-update/SKILL.md +0 -15
- package/dist/store/skills/dummy/SKILL.md +0 -22
- package/dist/store/skills/interactive-explainer/SKILL.md +0 -557
- package/dist/store/skills/interactive-explainer/assets/base_template.html +0 -780
- package/dist/store/skills/interactive-explainer/references/design_patterns.md +0 -486
- package/dist/store/skills/interactive-explainer/references/visualization_libraries.md +0 -512
- package/dist/store/skills/problem_summary/SKILL.md +0 -11
- package/dist/store/skills/reference-fetch/SKILL.md +0 -206
- package/dist/store/skills/skill-creator/LICENSE.txt +0 -202
- package/dist/store/skills/skill-creator/SKILL.md +0 -246
- package/dist/store/skills/skill-creator/scripts/init_skill.py +0 -303
- package/dist/store/skills/skill-creator/scripts/package_skill.py +0 -110
- package/dist/store/skills/skill-creator/scripts/quick_validate.py +0 -65
- package/dist/web/.next/static/chunks/600359dcf0f0daac.js +0 -4
- /package/dist/web/.next/static/{ilZDkIBsZqGYxOIGxgcnT → BbBq5FNe-sYRKe8Pc24UW}/_buildManifest.js +0 -0
- /package/dist/web/.next/static/{ilZDkIBsZqGYxOIGxgcnT → BbBq5FNe-sYRKe8Pc24UW}/_clientMiddlewareManifest.json +0 -0
- /package/dist/web/.next/static/{ilZDkIBsZqGYxOIGxgcnT → BbBq5FNe-sYRKe8Pc24UW}/_ssgManifest.js +0 -0
|
@@ -1,486 +0,0 @@
|
|
|
1
|
-
# Design Patterns for Interactive Explainers
|
|
2
|
-
|
|
3
|
-
Patterns for structuring and visualizing different types of content.
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
## Content Type Detection
|
|
8
|
-
|
|
9
|
-
Analyze the request to determine the primary content type:
|
|
10
|
-
|
|
11
|
-
| Content Type | Indicators | Primary Pattern |
|
|
12
|
-
|--------------|------------|-----------------|
|
|
13
|
-
| **Code Architecture** | "explain the codebase", "how does X work", file paths, class names | Component Network |
|
|
14
|
-
| **Data Flow** | "data pipeline", "message flow", "request handling" | Animated Flow |
|
|
15
|
-
| **API Documentation** | "endpoints", "REST", "WebSocket", parameters | Interactive Reference |
|
|
16
|
-
| **User Workflow** | "how to use", "user guide", "tutorial" | Step-Through Guide |
|
|
17
|
-
| **System Design** | "infrastructure", "deployment", "services" | 3D Architecture |
|
|
18
|
-
| **Concept/Theory** | "explain concept", "how does X work" (abstract) | Progressive Reveal |
|
|
19
|
-
| **Comparison** | "vs", "compare", "differences" | Side-by-Side Matrix |
|
|
20
|
-
| **Process/Pipeline** | "pipeline", "stages", "workflow" | Animated Pipeline |
|
|
21
|
-
|
|
22
|
-
---
|
|
23
|
-
|
|
24
|
-
## Pattern 1: Component Network
|
|
25
|
-
|
|
26
|
-
**Best for:** Code architecture, module relationships, class hierarchies
|
|
27
|
-
|
|
28
|
-
### Structure
|
|
29
|
-
```
|
|
30
|
-
[Header with project name]
|
|
31
|
-
[Interactive network graph - main focus]
|
|
32
|
-
[Sidebar with component details on click]
|
|
33
|
-
[Filter controls by component type]
|
|
34
|
-
```
|
|
35
|
-
|
|
36
|
-
### Implementation Approach
|
|
37
|
-
1. Extract components/modules from codebase
|
|
38
|
-
2. Map dependencies and relationships
|
|
39
|
-
3. Create vis.js or Cytoscape network
|
|
40
|
-
4. Add click handlers to show details
|
|
41
|
-
5. Color-code by component type
|
|
42
|
-
|
|
43
|
-
### Visual Elements
|
|
44
|
-
- **Nodes**: Boxes/circles for components
|
|
45
|
-
- **Edges**: Lines showing dependencies (directed arrows)
|
|
46
|
-
- **Colors**: Group by layer (UI, API, Data, etc.)
|
|
47
|
-
- **Size**: Proportional to complexity or importance
|
|
48
|
-
|
|
49
|
-
### Example Node Structure
|
|
50
|
-
```javascript
|
|
51
|
-
{
|
|
52
|
-
id: 'MessageStore',
|
|
53
|
-
label: 'MessageStore',
|
|
54
|
-
group: 'state',
|
|
55
|
-
title: 'Manages message state and WebSocket sync',
|
|
56
|
-
shape: 'box',
|
|
57
|
-
color: { background: '#4ecdc4', border: '#3aa89a' }
|
|
58
|
-
}
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
---
|
|
62
|
-
|
|
63
|
-
## Pattern 2: Animated Flow
|
|
64
|
-
|
|
65
|
-
**Best for:** Data pipelines, request/response cycles, event flows
|
|
66
|
-
|
|
67
|
-
### Structure
|
|
68
|
-
```
|
|
69
|
-
[Title bar]
|
|
70
|
-
[Main flow diagram with animated particles]
|
|
71
|
-
[Stage details panel - updates on hover]
|
|
72
|
-
[Play/Pause controls]
|
|
73
|
-
```
|
|
74
|
-
|
|
75
|
-
### Implementation Approach
|
|
76
|
-
1. Identify flow stages
|
|
77
|
-
2. Create linear or branching path
|
|
78
|
-
3. Animate "data packets" along paths
|
|
79
|
-
4. Show transformations at each stage
|
|
80
|
-
5. Allow click to pause and inspect
|
|
81
|
-
|
|
82
|
-
### Visual Elements
|
|
83
|
-
- **Nodes**: Processing stages
|
|
84
|
-
- **Paths**: Curved lines between stages
|
|
85
|
-
- **Particles**: Animated dots representing data
|
|
86
|
-
- **Annotations**: Labels showing transformations
|
|
87
|
-
|
|
88
|
-
### Animation Technique (CSS)
|
|
89
|
-
```css
|
|
90
|
-
@keyframes flowParticle {
|
|
91
|
-
0% { offset-distance: 0%; }
|
|
92
|
-
100% { offset-distance: 100%; }
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
.particle {
|
|
96
|
-
offset-path: path('M0,50 C100,0 200,100 300,50');
|
|
97
|
-
animation: flowParticle 3s linear infinite;
|
|
98
|
-
}
|
|
99
|
-
```
|
|
100
|
-
|
|
101
|
-
---
|
|
102
|
-
|
|
103
|
-
## Pattern 3: Interactive Reference
|
|
104
|
-
|
|
105
|
-
**Best for:** API documentation, configuration options, schema reference
|
|
106
|
-
|
|
107
|
-
### Structure
|
|
108
|
-
```
|
|
109
|
-
[Search/filter bar]
|
|
110
|
-
[Category sidebar]
|
|
111
|
-
[Main content area with expandable sections]
|
|
112
|
-
[Code examples with copy buttons]
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
### Implementation Approach
|
|
116
|
-
1. Organize content by category
|
|
117
|
-
2. Create collapsible sections
|
|
118
|
-
3. Add search functionality
|
|
119
|
-
4. Include copy-to-clipboard for code
|
|
120
|
-
5. Link related items
|
|
121
|
-
|
|
122
|
-
### Visual Elements
|
|
123
|
-
- **Cards**: For each endpoint/option
|
|
124
|
-
- **Tags**: For method types (GET, POST, etc.)
|
|
125
|
-
- **Code blocks**: Syntax highlighted
|
|
126
|
-
- **Tables**: For parameters
|
|
127
|
-
|
|
128
|
-
### Interactive Features
|
|
129
|
-
```javascript
|
|
130
|
-
// Expandable sections
|
|
131
|
-
document.querySelectorAll('.section-header').forEach(header => {
|
|
132
|
-
header.addEventListener('click', () => {
|
|
133
|
-
header.nextElementSibling.classList.toggle('expanded');
|
|
134
|
-
});
|
|
135
|
-
});
|
|
136
|
-
|
|
137
|
-
// Search filtering
|
|
138
|
-
searchInput.addEventListener('input', (e) => {
|
|
139
|
-
const query = e.target.value.toLowerCase();
|
|
140
|
-
items.forEach(item => {
|
|
141
|
-
item.style.display = item.textContent.toLowerCase().includes(query)
|
|
142
|
-
? 'block' : 'none';
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
---
|
|
148
|
-
|
|
149
|
-
## Pattern 4: Step-Through Guide
|
|
150
|
-
|
|
151
|
-
**Best for:** Tutorials, user workflows, onboarding
|
|
152
|
-
|
|
153
|
-
### Structure
|
|
154
|
-
```
|
|
155
|
-
[Progress bar showing steps]
|
|
156
|
-
[Main content area - one step at a time]
|
|
157
|
-
[Prev/Next navigation]
|
|
158
|
-
[Optional: mini-map of all steps]
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
### Implementation Approach
|
|
162
|
-
1. Break content into logical steps
|
|
163
|
-
2. Create slide-like sections
|
|
164
|
-
3. Add progress indicator
|
|
165
|
-
4. Include visual aids per step
|
|
166
|
-
5. Allow keyboard navigation
|
|
167
|
-
|
|
168
|
-
### Navigation Pattern
|
|
169
|
-
```javascript
|
|
170
|
-
let currentStep = 0;
|
|
171
|
-
const steps = document.querySelectorAll('.step');
|
|
172
|
-
|
|
173
|
-
function showStep(index) {
|
|
174
|
-
steps.forEach((step, i) => {
|
|
175
|
-
step.classList.toggle('active', i === index);
|
|
176
|
-
});
|
|
177
|
-
updateProgressBar(index);
|
|
178
|
-
}
|
|
179
|
-
|
|
180
|
-
document.addEventListener('keydown', (e) => {
|
|
181
|
-
if (e.key === 'ArrowRight') showStep(Math.min(currentStep + 1, steps.length - 1));
|
|
182
|
-
if (e.key === 'ArrowLeft') showStep(Math.max(currentStep - 1, 0));
|
|
183
|
-
});
|
|
184
|
-
```
|
|
185
|
-
|
|
186
|
-
### Progress Bar
|
|
187
|
-
```html
|
|
188
|
-
<div class="progress-bar">
|
|
189
|
-
<div class="progress-fill" style="width: 33%"></div>
|
|
190
|
-
<div class="step-indicators">
|
|
191
|
-
<span class="indicator active">1</span>
|
|
192
|
-
<span class="indicator">2</span>
|
|
193
|
-
<span class="indicator">3</span>
|
|
194
|
-
</div>
|
|
195
|
-
</div>
|
|
196
|
-
```
|
|
197
|
-
|
|
198
|
-
---
|
|
199
|
-
|
|
200
|
-
## Pattern 5: 3D Architecture
|
|
201
|
-
|
|
202
|
-
**Best for:** System infrastructure, cloud architecture, spatial relationships
|
|
203
|
-
|
|
204
|
-
### Structure
|
|
205
|
-
```
|
|
206
|
-
[3D canvas - full width]
|
|
207
|
-
[Control panel: zoom, rotate, reset]
|
|
208
|
-
[Layer toggle buttons]
|
|
209
|
-
[Info panel for selected node]
|
|
210
|
-
```
|
|
211
|
-
|
|
212
|
-
### Implementation Approach
|
|
213
|
-
1. Identify architectural layers
|
|
214
|
-
2. Position nodes in 3D space (x, y, z)
|
|
215
|
-
3. Create connections between components
|
|
216
|
-
4. Add orbit controls for exploration
|
|
217
|
-
5. Implement click-to-inspect
|
|
218
|
-
|
|
219
|
-
### Three.js Layout Pattern
|
|
220
|
-
```javascript
|
|
221
|
-
// Layer-based positioning
|
|
222
|
-
const layers = {
|
|
223
|
-
frontend: { y: 2, color: 0x00d4ff },
|
|
224
|
-
api: { y: 0, color: 0x4ecdc4 },
|
|
225
|
-
database: { y: -2, color: 0xff6b6b }
|
|
226
|
-
};
|
|
227
|
-
|
|
228
|
-
function createNode(name, layer, x, z) {
|
|
229
|
-
const { y, color } = layers[layer];
|
|
230
|
-
const mesh = createBoxMesh(color);
|
|
231
|
-
mesh.position.set(x, y, z);
|
|
232
|
-
mesh.userData = { name, layer };
|
|
233
|
-
return mesh;
|
|
234
|
-
}
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
---
|
|
238
|
-
|
|
239
|
-
## Pattern 6: Progressive Reveal
|
|
240
|
-
|
|
241
|
-
**Best for:** Concepts, theory, complex explanations
|
|
242
|
-
|
|
243
|
-
### Structure
|
|
244
|
-
```
|
|
245
|
-
[Central concept/diagram]
|
|
246
|
-
[Surrounding detail cards - initially hidden]
|
|
247
|
-
[Click central element to reveal details]
|
|
248
|
-
[Animation connecting concept to details]
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
### Implementation Approach
|
|
252
|
-
1. Identify core concept
|
|
253
|
-
2. List supporting details/sub-concepts
|
|
254
|
-
3. Create radial or hierarchical layout
|
|
255
|
-
4. Animate reveal on interaction
|
|
256
|
-
5. Allow drill-down into sub-topics
|
|
257
|
-
|
|
258
|
-
### Reveal Animation
|
|
259
|
-
```javascript
|
|
260
|
-
function revealDetails(category) {
|
|
261
|
-
const details = document.querySelectorAll(`[data-category="${category}"]`);
|
|
262
|
-
details.forEach((detail, i) => {
|
|
263
|
-
setTimeout(() => {
|
|
264
|
-
detail.classList.add('visible');
|
|
265
|
-
gsap.from(detail, {
|
|
266
|
-
scale: 0,
|
|
267
|
-
opacity: 0,
|
|
268
|
-
duration: 0.5,
|
|
269
|
-
ease: 'back.out'
|
|
270
|
-
});
|
|
271
|
-
}, i * 100);
|
|
272
|
-
});
|
|
273
|
-
}
|
|
274
|
-
```
|
|
275
|
-
|
|
276
|
-
---
|
|
277
|
-
|
|
278
|
-
## Pattern 7: Side-by-Side Comparison
|
|
279
|
-
|
|
280
|
-
**Best for:** Technology comparisons, before/after, option evaluation
|
|
281
|
-
|
|
282
|
-
### Structure
|
|
283
|
-
```
|
|
284
|
-
[Comparison header with options]
|
|
285
|
-
[Split view or tabbed view]
|
|
286
|
-
[Feature matrix table]
|
|
287
|
-
[Visual comparison charts]
|
|
288
|
-
```
|
|
289
|
-
|
|
290
|
-
### Implementation Approach
|
|
291
|
-
1. Identify comparison criteria
|
|
292
|
-
2. Create structured data for each option
|
|
293
|
-
3. Build responsive comparison layout
|
|
294
|
-
4. Add charts for quantitative comparisons
|
|
295
|
-
5. Highlight differences
|
|
296
|
-
|
|
297
|
-
### Comparison Table Pattern
|
|
298
|
-
```html
|
|
299
|
-
<table class="comparison-matrix">
|
|
300
|
-
<thead>
|
|
301
|
-
<tr>
|
|
302
|
-
<th>Feature</th>
|
|
303
|
-
<th>Option A</th>
|
|
304
|
-
<th>Option B</th>
|
|
305
|
-
</tr>
|
|
306
|
-
</thead>
|
|
307
|
-
<tbody>
|
|
308
|
-
<tr>
|
|
309
|
-
<td>Speed</td>
|
|
310
|
-
<td class="positive">Fast</td>
|
|
311
|
-
<td class="neutral">Medium</td>
|
|
312
|
-
</tr>
|
|
313
|
-
</tbody>
|
|
314
|
-
</table>
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
---
|
|
318
|
-
|
|
319
|
-
## Pattern 8: Animated Pipeline
|
|
320
|
-
|
|
321
|
-
**Best for:** CI/CD, data processing, ETL workflows
|
|
322
|
-
|
|
323
|
-
### Structure
|
|
324
|
-
```
|
|
325
|
-
[Linear pipeline visualization]
|
|
326
|
-
[Stage cards with expand/collapse]
|
|
327
|
-
[Animated data flow indicators]
|
|
328
|
-
[Status indicators per stage]
|
|
329
|
-
```
|
|
330
|
-
|
|
331
|
-
### Implementation Approach
|
|
332
|
-
1. Map pipeline stages
|
|
333
|
-
2. Create horizontal flow layout
|
|
334
|
-
3. Add animated connectors
|
|
335
|
-
4. Show input/output for each stage
|
|
336
|
-
5. Include failure/success states
|
|
337
|
-
|
|
338
|
-
### Pipeline Stage Component
|
|
339
|
-
```html
|
|
340
|
-
<div class="pipeline">
|
|
341
|
-
<div class="stage" data-status="complete">
|
|
342
|
-
<div class="stage-icon"><i data-lucide="git-branch"></i></div>
|
|
343
|
-
<div class="stage-label">Build</div>
|
|
344
|
-
<div class="stage-detail">Compiles TypeScript, bundles assets</div>
|
|
345
|
-
</div>
|
|
346
|
-
<div class="connector"><div class="flow-particle"></div></div>
|
|
347
|
-
<div class="stage" data-status="active">
|
|
348
|
-
<div class="stage-icon"><i data-lucide="test-tube"></i></div>
|
|
349
|
-
<div class="stage-label">Test</div>
|
|
350
|
-
</div>
|
|
351
|
-
</div>
|
|
352
|
-
```
|
|
353
|
-
|
|
354
|
-
---
|
|
355
|
-
|
|
356
|
-
## Section Structuring Guidelines
|
|
357
|
-
|
|
358
|
-
### Optimal Section Count
|
|
359
|
-
- **Minimum**: 3 sections (introduction, core content, summary)
|
|
360
|
-
- **Maximum**: 8-10 sections (avoid overwhelming)
|
|
361
|
-
- **Sweet spot**: 5-7 sections for most topics
|
|
362
|
-
|
|
363
|
-
### Section Types to Include
|
|
364
|
-
|
|
365
|
-
1. **Overview/Introduction**
|
|
366
|
-
- What is this about?
|
|
367
|
-
- Why does it matter?
|
|
368
|
-
- Key terms defined
|
|
369
|
-
|
|
370
|
-
2. **Architecture/Structure**
|
|
371
|
-
- How is it organized?
|
|
372
|
-
- What are the main components?
|
|
373
|
-
|
|
374
|
-
3. **Flow/Process**
|
|
375
|
-
- How does data/control flow?
|
|
376
|
-
- What are the steps?
|
|
377
|
-
|
|
378
|
-
4. **Deep Dive Sections**
|
|
379
|
-
- One per major component
|
|
380
|
-
- Include code examples
|
|
381
|
-
- Show real usage
|
|
382
|
-
|
|
383
|
-
5. **Connections/Integration**
|
|
384
|
-
- How do parts connect?
|
|
385
|
-
- External dependencies
|
|
386
|
-
|
|
387
|
-
6. **Summary/Reference**
|
|
388
|
-
- Quick reference
|
|
389
|
-
- Key takeaways
|
|
390
|
-
- Links to more info
|
|
391
|
-
|
|
392
|
-
---
|
|
393
|
-
|
|
394
|
-
## UI Component Patterns
|
|
395
|
-
|
|
396
|
-
### Navigation Bar
|
|
397
|
-
```html
|
|
398
|
-
<nav class="explainer-nav">
|
|
399
|
-
<div class="nav-title">Topic Name</div>
|
|
400
|
-
<div class="nav-sections">
|
|
401
|
-
<button class="nav-btn active" data-section="0">Overview</button>
|
|
402
|
-
<button class="nav-btn" data-section="1">Architecture</button>
|
|
403
|
-
<button class="nav-btn" data-section="2">Deep Dive</button>
|
|
404
|
-
</div>
|
|
405
|
-
<div class="nav-controls">
|
|
406
|
-
<button class="btn-prev">Previous</button>
|
|
407
|
-
<span class="section-counter">1 / 5</span>
|
|
408
|
-
<button class="btn-next">Next</button>
|
|
409
|
-
</div>
|
|
410
|
-
</nav>
|
|
411
|
-
```
|
|
412
|
-
|
|
413
|
-
### Detail Panel
|
|
414
|
-
```html
|
|
415
|
-
<aside class="detail-panel" id="detailPanel">
|
|
416
|
-
<div class="panel-header">
|
|
417
|
-
<h3 class="panel-title"></h3>
|
|
418
|
-
<button class="panel-close">×</button>
|
|
419
|
-
</div>
|
|
420
|
-
<div class="panel-content">
|
|
421
|
-
<div class="panel-description"></div>
|
|
422
|
-
<div class="panel-code">
|
|
423
|
-
<pre><code></code></pre>
|
|
424
|
-
</div>
|
|
425
|
-
<div class="panel-links"></div>
|
|
426
|
-
</div>
|
|
427
|
-
</aside>
|
|
428
|
-
```
|
|
429
|
-
|
|
430
|
-
### Info Card
|
|
431
|
-
```html
|
|
432
|
-
<div class="info-card" data-type="component">
|
|
433
|
-
<div class="card-icon"><i data-lucide="box"></i></div>
|
|
434
|
-
<div class="card-content">
|
|
435
|
-
<h4 class="card-title">Component Name</h4>
|
|
436
|
-
<p class="card-description">Brief description</p>
|
|
437
|
-
<div class="card-meta">
|
|
438
|
-
<span class="meta-item"><i data-lucide="file"></i> 5 files</span>
|
|
439
|
-
<span class="meta-item"><i data-lucide="git-branch"></i> 12 deps</span>
|
|
440
|
-
</div>
|
|
441
|
-
</div>
|
|
442
|
-
</div>
|
|
443
|
-
```
|
|
444
|
-
|
|
445
|
-
---
|
|
446
|
-
|
|
447
|
-
## Responsive Design Considerations
|
|
448
|
-
|
|
449
|
-
### Breakpoint Strategy
|
|
450
|
-
```css
|
|
451
|
-
/* Mobile first */
|
|
452
|
-
.section { padding: 1rem; }
|
|
453
|
-
.visualization { height: 300px; }
|
|
454
|
-
|
|
455
|
-
/* Tablet */
|
|
456
|
-
@media (min-width: 768px) {
|
|
457
|
-
.section { padding: 2rem; }
|
|
458
|
-
.visualization { height: 400px; }
|
|
459
|
-
.sidebar { display: block; }
|
|
460
|
-
}
|
|
461
|
-
|
|
462
|
-
/* Desktop */
|
|
463
|
-
@media (min-width: 1024px) {
|
|
464
|
-
.section { padding: 3rem; }
|
|
465
|
-
.visualization { height: 500px; }
|
|
466
|
-
.layout { display: grid; grid-template-columns: 250px 1fr; }
|
|
467
|
-
}
|
|
468
|
-
```
|
|
469
|
-
|
|
470
|
-
### Touch-Friendly Interactions
|
|
471
|
-
- Minimum tap target: 44x44px
|
|
472
|
-
- Swipe navigation for sections
|
|
473
|
-
- Pinch-to-zoom for diagrams
|
|
474
|
-
- Long-press for details (mobile)
|
|
475
|
-
|
|
476
|
-
---
|
|
477
|
-
|
|
478
|
-
## Accessibility Checklist
|
|
479
|
-
|
|
480
|
-
- [ ] Keyboard navigation works for all interactive elements
|
|
481
|
-
- [ ] Color is not the only indicator (use icons/patterns too)
|
|
482
|
-
- [ ] Alt text for images and icons
|
|
483
|
-
- [ ] ARIA labels for interactive diagrams
|
|
484
|
-
- [ ] Focus indicators visible
|
|
485
|
-
- [ ] Text contrast meets WCAG AA (4.5:1)
|
|
486
|
-
- [ ] Screen reader announcements for dynamic content
|