@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,512 +0,0 @@
|
|
|
1
|
-
# Visualization Libraries Reference
|
|
2
|
-
|
|
3
|
-
Quick reference for choosing and implementing visualization libraries in single-file HTML explainers.
|
|
4
|
-
|
|
5
|
-
## Library Selection Matrix
|
|
6
|
-
|
|
7
|
-
| Library | Best For | CDN | Complexity |
|
|
8
|
-
|---------|----------|-----|------------|
|
|
9
|
-
| Mermaid | Flowcharts, sequence diagrams, ER diagrams | Yes | Low |
|
|
10
|
-
| vis.js | Network graphs, timelines | Yes | Medium |
|
|
11
|
-
| D3.js | Custom data viz, hierarchies, force layouts | Yes | High |
|
|
12
|
-
| Chart.js | Standard charts (bar, line, pie, radar) | Yes | Low |
|
|
13
|
-
| Three.js | 3D visualizations, spatial relationships | Yes | High |
|
|
14
|
-
| Reveal.js | Step-through presentations | Yes | Low |
|
|
15
|
-
| Cytoscape.js | Graph theory, network analysis | Yes | Medium |
|
|
16
|
-
| GSAP | Animations, transitions | Yes | Medium |
|
|
17
|
-
| Prism.js | Code syntax highlighting | Yes | Low |
|
|
18
|
-
|
|
19
|
-
---
|
|
20
|
-
|
|
21
|
-
## Mermaid
|
|
22
|
-
|
|
23
|
-
**Use for:** Flowcharts, sequence diagrams, class diagrams, ER diagrams, state diagrams, Gantt charts
|
|
24
|
-
|
|
25
|
-
### CDN Setup
|
|
26
|
-
```html
|
|
27
|
-
<script src="https://cdn.jsdelivr.net/npm/mermaid@10/dist/mermaid.min.js"></script>
|
|
28
|
-
<script>mermaid.initialize({ startOnLoad: true, theme: 'dark' });</script>
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
### Flowchart Example
|
|
32
|
-
```html
|
|
33
|
-
<pre class="mermaid">
|
|
34
|
-
flowchart TD
|
|
35
|
-
A[Start] --> B{Decision}
|
|
36
|
-
B -->|Yes| C[Process 1]
|
|
37
|
-
B -->|No| D[Process 2]
|
|
38
|
-
C --> E[End]
|
|
39
|
-
D --> E
|
|
40
|
-
</pre>
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
### Sequence Diagram Example
|
|
44
|
-
```html
|
|
45
|
-
<pre class="mermaid">
|
|
46
|
-
sequenceDiagram
|
|
47
|
-
participant Client
|
|
48
|
-
participant Server
|
|
49
|
-
participant Database
|
|
50
|
-
Client->>Server: HTTP Request
|
|
51
|
-
Server->>Database: Query
|
|
52
|
-
Database-->>Server: Results
|
|
53
|
-
Server-->>Client: Response
|
|
54
|
-
</pre>
|
|
55
|
-
```
|
|
56
|
-
|
|
57
|
-
### Styling
|
|
58
|
-
```html
|
|
59
|
-
<pre class="mermaid">
|
|
60
|
-
%%{init: {'theme': 'dark', 'themeVariables': { 'primaryColor': '#00d4ff'}}}%%
|
|
61
|
-
flowchart LR
|
|
62
|
-
A --> B
|
|
63
|
-
</pre>
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
---
|
|
67
|
-
|
|
68
|
-
## vis.js Network
|
|
69
|
-
|
|
70
|
-
**Use for:** Network graphs, node relationships, architecture diagrams
|
|
71
|
-
|
|
72
|
-
### CDN Setup
|
|
73
|
-
```html
|
|
74
|
-
<script src="https://unpkg.com/vis-network/standalone/umd/vis-network.min.js"></script>
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
### Basic Network
|
|
78
|
-
```javascript
|
|
79
|
-
const nodes = new vis.DataSet([
|
|
80
|
-
{ id: 1, label: 'Node 1', color: '#00d4ff' },
|
|
81
|
-
{ id: 2, label: 'Node 2', color: '#ff6b6b' },
|
|
82
|
-
{ id: 3, label: 'Node 3', color: '#4ecdc4' }
|
|
83
|
-
]);
|
|
84
|
-
|
|
85
|
-
const edges = new vis.DataSet([
|
|
86
|
-
{ from: 1, to: 2, label: 'connects' },
|
|
87
|
-
{ from: 2, to: 3, arrows: 'to' }
|
|
88
|
-
]);
|
|
89
|
-
|
|
90
|
-
const container = document.getElementById('network');
|
|
91
|
-
const data = { nodes, edges };
|
|
92
|
-
const options = {
|
|
93
|
-
nodes: {
|
|
94
|
-
shape: 'box',
|
|
95
|
-
font: { color: '#ffffff' }
|
|
96
|
-
},
|
|
97
|
-
edges: {
|
|
98
|
-
color: { color: '#888888' },
|
|
99
|
-
font: { color: '#ffffff', strokeWidth: 0 }
|
|
100
|
-
},
|
|
101
|
-
physics: {
|
|
102
|
-
enabled: true,
|
|
103
|
-
solver: 'forceAtlas2Based'
|
|
104
|
-
}
|
|
105
|
-
};
|
|
106
|
-
|
|
107
|
-
const network = new vis.Network(container, data, options);
|
|
108
|
-
```
|
|
109
|
-
|
|
110
|
-
### Node Shapes
|
|
111
|
-
- `box`, `circle`, `ellipse`, `database`, `diamond`, `dot`, `square`, `star`, `triangle`, `triangleDown`, `hexagon`
|
|
112
|
-
|
|
113
|
-
### Event Handling
|
|
114
|
-
```javascript
|
|
115
|
-
network.on('click', function(params) {
|
|
116
|
-
if (params.nodes.length > 0) {
|
|
117
|
-
const nodeId = params.nodes[0];
|
|
118
|
-
showNodeDetails(nodeId);
|
|
119
|
-
}
|
|
120
|
-
});
|
|
121
|
-
```
|
|
122
|
-
|
|
123
|
-
---
|
|
124
|
-
|
|
125
|
-
## D3.js
|
|
126
|
-
|
|
127
|
-
**Use for:** Custom visualizations, hierarchical data, force-directed graphs, geographic maps
|
|
128
|
-
|
|
129
|
-
### CDN Setup
|
|
130
|
-
```html
|
|
131
|
-
<script src="https://d3js.org/d3.v7.min.js"></script>
|
|
132
|
-
```
|
|
133
|
-
|
|
134
|
-
### Tree Diagram
|
|
135
|
-
```javascript
|
|
136
|
-
const data = {
|
|
137
|
-
name: "Root",
|
|
138
|
-
children: [
|
|
139
|
-
{ name: "Child 1", children: [{ name: "Grandchild" }] },
|
|
140
|
-
{ name: "Child 2" }
|
|
141
|
-
]
|
|
142
|
-
};
|
|
143
|
-
|
|
144
|
-
const width = 800, height = 600;
|
|
145
|
-
const svg = d3.select("#tree").append("svg")
|
|
146
|
-
.attr("width", width).attr("height", height);
|
|
147
|
-
|
|
148
|
-
const root = d3.hierarchy(data);
|
|
149
|
-
const treeLayout = d3.tree().size([width - 100, height - 100]);
|
|
150
|
-
treeLayout(root);
|
|
151
|
-
|
|
152
|
-
// Draw links
|
|
153
|
-
svg.selectAll('.link')
|
|
154
|
-
.data(root.links())
|
|
155
|
-
.enter().append('path')
|
|
156
|
-
.attr('class', 'link')
|
|
157
|
-
.attr('d', d3.linkVertical()
|
|
158
|
-
.x(d => d.x + 50)
|
|
159
|
-
.y(d => d.y + 50));
|
|
160
|
-
|
|
161
|
-
// Draw nodes
|
|
162
|
-
svg.selectAll('.node')
|
|
163
|
-
.data(root.descendants())
|
|
164
|
-
.enter().append('circle')
|
|
165
|
-
.attr('class', 'node')
|
|
166
|
-
.attr('cx', d => d.x + 50)
|
|
167
|
-
.attr('cy', d => d.y + 50)
|
|
168
|
-
.attr('r', 8);
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
### Force-Directed Graph
|
|
172
|
-
```javascript
|
|
173
|
-
const simulation = d3.forceSimulation(nodes)
|
|
174
|
-
.force("link", d3.forceLink(links).id(d => d.id).distance(100))
|
|
175
|
-
.force("charge", d3.forceManyBody().strength(-300))
|
|
176
|
-
.force("center", d3.forceCenter(width / 2, height / 2));
|
|
177
|
-
|
|
178
|
-
simulation.on("tick", () => {
|
|
179
|
-
link.attr("x1", d => d.source.x).attr("y1", d => d.source.y)
|
|
180
|
-
.attr("x2", d => d.target.x).attr("y2", d => d.target.y);
|
|
181
|
-
node.attr("cx", d => d.x).attr("cy", d => d.y);
|
|
182
|
-
});
|
|
183
|
-
```
|
|
184
|
-
|
|
185
|
-
---
|
|
186
|
-
|
|
187
|
-
## Chart.js
|
|
188
|
-
|
|
189
|
-
**Use for:** Standard charts - bar, line, pie, doughnut, radar, polar
|
|
190
|
-
|
|
191
|
-
### CDN Setup
|
|
192
|
-
```html
|
|
193
|
-
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
|
|
194
|
-
```
|
|
195
|
-
|
|
196
|
-
### Bar Chart
|
|
197
|
-
```javascript
|
|
198
|
-
new Chart(document.getElementById('chart'), {
|
|
199
|
-
type: 'bar',
|
|
200
|
-
data: {
|
|
201
|
-
labels: ['A', 'B', 'C', 'D'],
|
|
202
|
-
datasets: [{
|
|
203
|
-
label: 'Values',
|
|
204
|
-
data: [12, 19, 3, 5],
|
|
205
|
-
backgroundColor: ['#00d4ff', '#ff6b6b', '#4ecdc4', '#f7dc6f']
|
|
206
|
-
}]
|
|
207
|
-
},
|
|
208
|
-
options: {
|
|
209
|
-
plugins: {
|
|
210
|
-
legend: { labels: { color: '#ffffff' } }
|
|
211
|
-
},
|
|
212
|
-
scales: {
|
|
213
|
-
y: { ticks: { color: '#ffffff' }, grid: { color: '#333' } },
|
|
214
|
-
x: { ticks: { color: '#ffffff' }, grid: { color: '#333' } }
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
});
|
|
218
|
-
```
|
|
219
|
-
|
|
220
|
-
### Radar Chart (great for comparisons)
|
|
221
|
-
```javascript
|
|
222
|
-
new Chart(ctx, {
|
|
223
|
-
type: 'radar',
|
|
224
|
-
data: {
|
|
225
|
-
labels: ['Speed', 'Power', 'Memory', 'Disk', 'Network'],
|
|
226
|
-
datasets: [{
|
|
227
|
-
label: 'System A',
|
|
228
|
-
data: [65, 59, 90, 81, 56],
|
|
229
|
-
borderColor: '#00d4ff',
|
|
230
|
-
backgroundColor: 'rgba(0, 212, 255, 0.2)'
|
|
231
|
-
}]
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
---
|
|
237
|
-
|
|
238
|
-
## Three.js
|
|
239
|
-
|
|
240
|
-
**Use for:** 3D architecture visualizations, spatial relationships, immersive experiences
|
|
241
|
-
|
|
242
|
-
### CDN Setup
|
|
243
|
-
```html
|
|
244
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r128/three.min.js"></script>
|
|
245
|
-
<script src="https://cdn.jsdelivr.net/npm/three@0.128.0/examples/js/controls/OrbitControls.js"></script>
|
|
246
|
-
```
|
|
247
|
-
|
|
248
|
-
### Basic 3D Scene
|
|
249
|
-
```javascript
|
|
250
|
-
const scene = new THREE.Scene();
|
|
251
|
-
scene.background = new THREE.Color(0x0a0a0f);
|
|
252
|
-
|
|
253
|
-
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);
|
|
254
|
-
camera.position.z = 5;
|
|
255
|
-
|
|
256
|
-
const renderer = new THREE.WebGLRenderer({ antialias: true });
|
|
257
|
-
renderer.setSize(container.clientWidth, container.clientHeight);
|
|
258
|
-
container.appendChild(renderer.domElement);
|
|
259
|
-
|
|
260
|
-
const controls = new THREE.OrbitControls(camera, renderer.domElement);
|
|
261
|
-
|
|
262
|
-
// Add a box
|
|
263
|
-
const geometry = new THREE.BoxGeometry(1, 1, 1);
|
|
264
|
-
const material = new THREE.MeshBasicMaterial({ color: 0x00d4ff, wireframe: true });
|
|
265
|
-
const cube = new THREE.Mesh(geometry, material);
|
|
266
|
-
scene.add(cube);
|
|
267
|
-
|
|
268
|
-
function animate() {
|
|
269
|
-
requestAnimationFrame(animate);
|
|
270
|
-
cube.rotation.x += 0.01;
|
|
271
|
-
cube.rotation.y += 0.01;
|
|
272
|
-
renderer.render(scene, camera);
|
|
273
|
-
}
|
|
274
|
-
animate();
|
|
275
|
-
```
|
|
276
|
-
|
|
277
|
-
### Creating Node Network in 3D
|
|
278
|
-
```javascript
|
|
279
|
-
function createNode(x, y, z, color = 0x00d4ff) {
|
|
280
|
-
const geometry = new THREE.SphereGeometry(0.2, 32, 32);
|
|
281
|
-
const material = new THREE.MeshBasicMaterial({ color });
|
|
282
|
-
const sphere = new THREE.Mesh(geometry, material);
|
|
283
|
-
sphere.position.set(x, y, z);
|
|
284
|
-
return sphere;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
function createConnection(start, end) {
|
|
288
|
-
const points = [start.position, end.position];
|
|
289
|
-
const geometry = new THREE.BufferGeometry().setFromPoints(points);
|
|
290
|
-
const material = new THREE.LineBasicMaterial({ color: 0x444444 });
|
|
291
|
-
return new THREE.Line(geometry, material);
|
|
292
|
-
}
|
|
293
|
-
```
|
|
294
|
-
|
|
295
|
-
---
|
|
296
|
-
|
|
297
|
-
## Reveal.js
|
|
298
|
-
|
|
299
|
-
**Use for:** Step-through presentations, guided explanations
|
|
300
|
-
|
|
301
|
-
### CDN Setup
|
|
302
|
-
```html
|
|
303
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@4.5.0/dist/reveal.min.css">
|
|
304
|
-
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/reveal.js@4.5.0/dist/theme/black.min.css">
|
|
305
|
-
<script src="https://cdn.jsdelivr.net/npm/reveal.js@4.5.0/dist/reveal.min.js"></script>
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
### Basic Structure
|
|
309
|
-
```html
|
|
310
|
-
<div class="reveal">
|
|
311
|
-
<div class="slides">
|
|
312
|
-
<section>Slide 1</section>
|
|
313
|
-
<section>
|
|
314
|
-
<section>Vertical Slide 1</section>
|
|
315
|
-
<section>Vertical Slide 2</section>
|
|
316
|
-
</section>
|
|
317
|
-
<section data-auto-animate>
|
|
318
|
-
<h2>Auto Animate</h2>
|
|
319
|
-
</section>
|
|
320
|
-
</div>
|
|
321
|
-
</div>
|
|
322
|
-
<script>Reveal.initialize({ hash: true });</script>
|
|
323
|
-
```
|
|
324
|
-
|
|
325
|
-
### Fragments (step-through within slides)
|
|
326
|
-
```html
|
|
327
|
-
<section>
|
|
328
|
-
<p class="fragment">Appears first</p>
|
|
329
|
-
<p class="fragment fade-up">Fades up second</p>
|
|
330
|
-
<p class="fragment highlight-red">Highlights third</p>
|
|
331
|
-
</section>
|
|
332
|
-
```
|
|
333
|
-
|
|
334
|
-
---
|
|
335
|
-
|
|
336
|
-
## Cytoscape.js
|
|
337
|
-
|
|
338
|
-
**Use for:** Graph theory visualizations, network analysis, biological networks
|
|
339
|
-
|
|
340
|
-
### CDN Setup
|
|
341
|
-
```html
|
|
342
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/cytoscape/3.23.0/cytoscape.min.js"></script>
|
|
343
|
-
```
|
|
344
|
-
|
|
345
|
-
### Basic Graph
|
|
346
|
-
```javascript
|
|
347
|
-
const cy = cytoscape({
|
|
348
|
-
container: document.getElementById('cy'),
|
|
349
|
-
elements: [
|
|
350
|
-
{ data: { id: 'a', label: 'Node A' } },
|
|
351
|
-
{ data: { id: 'b', label: 'Node B' } },
|
|
352
|
-
{ data: { id: 'ab', source: 'a', target: 'b' } }
|
|
353
|
-
],
|
|
354
|
-
style: [
|
|
355
|
-
{
|
|
356
|
-
selector: 'node',
|
|
357
|
-
style: {
|
|
358
|
-
'background-color': '#00d4ff',
|
|
359
|
-
'label': 'data(label)',
|
|
360
|
-
'color': '#fff'
|
|
361
|
-
}
|
|
362
|
-
},
|
|
363
|
-
{
|
|
364
|
-
selector: 'edge',
|
|
365
|
-
style: {
|
|
366
|
-
'width': 2,
|
|
367
|
-
'line-color': '#888',
|
|
368
|
-
'target-arrow-color': '#888',
|
|
369
|
-
'target-arrow-shape': 'triangle'
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
],
|
|
373
|
-
layout: { name: 'cose' }
|
|
374
|
-
});
|
|
375
|
-
```
|
|
376
|
-
|
|
377
|
-
---
|
|
378
|
-
|
|
379
|
-
## GSAP (GreenSock)
|
|
380
|
-
|
|
381
|
-
**Use for:** Smooth animations, scroll-triggered effects, timeline sequences
|
|
382
|
-
|
|
383
|
-
### CDN Setup
|
|
384
|
-
```html
|
|
385
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/gsap.min.js"></script>
|
|
386
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/gsap/3.12.2/ScrollTrigger.min.js"></script>
|
|
387
|
-
```
|
|
388
|
-
|
|
389
|
-
### Basic Animation
|
|
390
|
-
```javascript
|
|
391
|
-
gsap.to('.element', {
|
|
392
|
-
duration: 1,
|
|
393
|
-
x: 100,
|
|
394
|
-
opacity: 1,
|
|
395
|
-
ease: 'power2.out'
|
|
396
|
-
});
|
|
397
|
-
```
|
|
398
|
-
|
|
399
|
-
### Timeline
|
|
400
|
-
```javascript
|
|
401
|
-
const tl = gsap.timeline();
|
|
402
|
-
tl.to('.box1', { x: 100, duration: 1 })
|
|
403
|
-
.to('.box2', { y: 50, duration: 0.5 }, '-=0.5')
|
|
404
|
-
.to('.box3', { rotation: 360, duration: 1 });
|
|
405
|
-
```
|
|
406
|
-
|
|
407
|
-
### Scroll-Triggered
|
|
408
|
-
```javascript
|
|
409
|
-
gsap.registerPlugin(ScrollTrigger);
|
|
410
|
-
|
|
411
|
-
gsap.to('.section', {
|
|
412
|
-
scrollTrigger: {
|
|
413
|
-
trigger: '.section',
|
|
414
|
-
start: 'top center',
|
|
415
|
-
end: 'bottom center',
|
|
416
|
-
scrub: true
|
|
417
|
-
},
|
|
418
|
-
x: 500
|
|
419
|
-
});
|
|
420
|
-
```
|
|
421
|
-
|
|
422
|
-
---
|
|
423
|
-
|
|
424
|
-
## Prism.js
|
|
425
|
-
|
|
426
|
-
**Use for:** Code syntax highlighting
|
|
427
|
-
|
|
428
|
-
### CDN Setup
|
|
429
|
-
```html
|
|
430
|
-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css">
|
|
431
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/prism.min.js"></script>
|
|
432
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-python.min.js"></script>
|
|
433
|
-
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-javascript.min.js"></script>
|
|
434
|
-
```
|
|
435
|
-
|
|
436
|
-
### Usage
|
|
437
|
-
```html
|
|
438
|
-
<pre><code class="language-python">
|
|
439
|
-
def hello():
|
|
440
|
-
print("Hello, World!")
|
|
441
|
-
</code></pre>
|
|
442
|
-
```
|
|
443
|
-
|
|
444
|
-
---
|
|
445
|
-
|
|
446
|
-
## Icon Libraries
|
|
447
|
-
|
|
448
|
-
### Lucide Icons (recommended)
|
|
449
|
-
```html
|
|
450
|
-
<script src="https://unpkg.com/lucide@latest"></script>
|
|
451
|
-
<script>lucide.createIcons();</script>
|
|
452
|
-
|
|
453
|
-
<i data-lucide="server"></i>
|
|
454
|
-
<i data-lucide="database"></i>
|
|
455
|
-
<i data-lucide="globe"></i>
|
|
456
|
-
```
|
|
457
|
-
|
|
458
|
-
### Font Awesome
|
|
459
|
-
```html
|
|
460
|
-
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
|
|
461
|
-
|
|
462
|
-
<i class="fas fa-server"></i>
|
|
463
|
-
<i class="fas fa-database"></i>
|
|
464
|
-
```
|
|
465
|
-
|
|
466
|
-
---
|
|
467
|
-
|
|
468
|
-
## Color Palettes for Dark Themes
|
|
469
|
-
|
|
470
|
-
### Cyberpunk/Tech
|
|
471
|
-
```css
|
|
472
|
-
--primary: #00d4ff; /* Cyan */
|
|
473
|
-
--secondary: #ff6b6b; /* Coral */
|
|
474
|
-
--accent: #4ecdc4; /* Teal */
|
|
475
|
-
--warning: #f7dc6f; /* Gold */
|
|
476
|
-
--background: #0a0a0f; /* Near black */
|
|
477
|
-
--surface: #1a1a2e; /* Dark blue-gray */
|
|
478
|
-
--text: #e0e0e0; /* Light gray */
|
|
479
|
-
```
|
|
480
|
-
|
|
481
|
-
### Professional
|
|
482
|
-
```css
|
|
483
|
-
--primary: #3498db; /* Blue */
|
|
484
|
-
--secondary: #2ecc71; /* Green */
|
|
485
|
-
--accent: #9b59b6; /* Purple */
|
|
486
|
-
--warning: #f39c12; /* Orange */
|
|
487
|
-
--background: #1e1e1e; /* Dark gray */
|
|
488
|
-
--surface: #2d2d2d; /* Medium gray */
|
|
489
|
-
--text: #ffffff; /* White */
|
|
490
|
-
```
|
|
491
|
-
|
|
492
|
-
---
|
|
493
|
-
|
|
494
|
-
## Responsive Considerations
|
|
495
|
-
|
|
496
|
-
```css
|
|
497
|
-
@media (max-width: 768px) {
|
|
498
|
-
.visualization-container {
|
|
499
|
-
height: 300px;
|
|
500
|
-
}
|
|
501
|
-
.sidebar { display: none; }
|
|
502
|
-
.nav-buttons { flex-direction: column; }
|
|
503
|
-
}
|
|
504
|
-
```
|
|
505
|
-
|
|
506
|
-
## Performance Tips
|
|
507
|
-
|
|
508
|
-
1. **Lazy load sections** - Only initialize visualizations when in view
|
|
509
|
-
2. **Use requestAnimationFrame** - For smooth animations
|
|
510
|
-
3. **Debounce resize handlers** - Prevent layout thrashing
|
|
511
|
-
4. **Limit node counts** - Keep vis.js/D3 under 500 nodes for smooth interaction
|
|
512
|
-
5. **Use CSS transforms** - GPU-accelerated animations
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
---
|
|
2
|
-
name: problem_summary
|
|
3
|
-
version: 1.0.1
|
|
4
|
-
updated: 2026-02-22
|
|
5
|
-
description: Summarize the current issue
|
|
6
|
-
---
|
|
7
|
-
|
|
8
|
-
summarize the problem in one paragraph and everything we tried in the list as well as my last statement about the problem remaining. Give me a summary. Text only.
|
|
9
|
-
No code changes.
|
|
10
|
-
|
|
11
|
-
$ARGUMENTS
|