cyclecad 3.2.1 → 3.5.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.
Files changed (66) hide show
  1. package/CLAUDE.md +155 -1
  2. package/DOCKER-SETUP-VERIFICATION.md +399 -0
  3. package/DOCKER-TESTING.md +463 -0
  4. package/FUSION360_MODULES.md +478 -0
  5. package/FUSION_MODULES_README.md +352 -0
  6. package/INTEGRATION_SNIPPETS.md +608 -0
  7. package/KILLER-FEATURES-DELIVERY.md +469 -0
  8. package/MODULES_SUMMARY.txt +337 -0
  9. package/QUICK_REFERENCE.txt +298 -0
  10. package/README-DOCKER-TESTING.txt +438 -0
  11. package/app/index.html +23 -10
  12. package/app/js/fusion-help.json +1808 -0
  13. package/app/js/help-module-v3.js +1096 -0
  14. package/app/js/killer-features-help.json +395 -0
  15. package/app/js/killer-features.js +1508 -0
  16. package/app/js/modules/fusion-assembly.js +842 -0
  17. package/app/js/modules/fusion-cam.js +785 -0
  18. package/app/js/modules/fusion-data.js +814 -0
  19. package/app/js/modules/fusion-drawing.js +844 -0
  20. package/app/js/modules/fusion-inspection.js +756 -0
  21. package/app/js/modules/fusion-render.js +774 -0
  22. package/app/js/modules/fusion-simulation.js +986 -0
  23. package/app/js/modules/fusion-sketch.js +1044 -0
  24. package/app/js/modules/fusion-solid.js +1095 -0
  25. package/app/js/modules/fusion-surface.js +949 -0
  26. package/app/tests/FUSION_TEST_SUITE.md +266 -0
  27. package/app/tests/README.md +77 -0
  28. package/app/tests/TESTING-CHECKLIST.md +177 -0
  29. package/app/tests/TEST_SUITE_SUMMARY.txt +236 -0
  30. package/app/tests/brep-live-test.html +848 -0
  31. package/app/tests/docker-integration-test.html +811 -0
  32. package/app/tests/fusion-all-tests.html +670 -0
  33. package/app/tests/fusion-assembly-tests.html +461 -0
  34. package/app/tests/fusion-cam-tests.html +421 -0
  35. package/app/tests/fusion-simulation-tests.html +421 -0
  36. package/app/tests/fusion-sketch-tests.html +613 -0
  37. package/app/tests/fusion-solid-tests.html +529 -0
  38. package/app/tests/index.html +453 -0
  39. package/app/tests/killer-features-test.html +509 -0
  40. package/app/tests/run-tests.html +874 -0
  41. package/app/tests/step-import-live-test.html +1115 -0
  42. package/app/tests/test-agent-v3.html +93 -696
  43. package/architecture-dashboard.html +1970 -0
  44. package/docs/API-REFERENCE.md +1423 -0
  45. package/docs/BREP-LIVE-TEST-GUIDE.md +453 -0
  46. package/docs/DEVELOPER-GUIDE-v3.md +795 -0
  47. package/docs/DOCKER-QUICK-TEST.md +376 -0
  48. package/docs/FUSION-FEATURES-GUIDE.md +2513 -0
  49. package/docs/FUSION-TUTORIAL.md +1203 -0
  50. package/docs/INFRASTRUCTURE-GUIDE-INDEX.md +327 -0
  51. package/docs/KEYBOARD-SHORTCUTS.md +402 -0
  52. package/docs/KILLER-FEATURES-INTEGRATION.md +412 -0
  53. package/docs/KILLER-FEATURES-SUMMARY.md +424 -0
  54. package/docs/KILLER-FEATURES-TUTORIAL.md +784 -0
  55. package/docs/KILLER-FEATURES.md +562 -0
  56. package/docs/QUICK-REFERENCE.md +282 -0
  57. package/docs/README-v3-DOCS.md +274 -0
  58. package/docs/TUTORIAL-v3.md +1190 -0
  59. package/docs/architecture-dashboard.html +1970 -0
  60. package/docs/architecture-v3.html +1038 -0
  61. package/linkedin-post-v3.md +58 -0
  62. package/package.json +1 -1
  63. package/scripts/dev-setup.sh +338 -0
  64. package/scripts/docker-health-check.sh +159 -0
  65. package/scripts/integration-test.sh +311 -0
  66. package/scripts/test-docker.sh +515 -0
@@ -0,0 +1,453 @@
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>cycleCAD Test Suite Hub</title>
7
+ <style>
8
+ * {
9
+ margin: 0;
10
+ padding: 0;
11
+ box-sizing: border-box;
12
+ }
13
+
14
+ body {
15
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', sans-serif;
16
+ background: linear-gradient(135deg, #0f172a 0%, #1a202c 100%);
17
+ color: #e2e8f0;
18
+ min-height: 100vh;
19
+ padding: 48px 24px;
20
+ }
21
+
22
+ .container {
23
+ max-width: 1200px;
24
+ margin: 0 auto;
25
+ }
26
+
27
+ .header {
28
+ text-align: center;
29
+ margin-bottom: 48px;
30
+ }
31
+
32
+ .title {
33
+ font-size: 42px;
34
+ font-weight: 700;
35
+ margin-bottom: 12px;
36
+ background: linear-gradient(135deg, #38bdf8, #0284c7);
37
+ -webkit-background-clip: text;
38
+ -webkit-text-fill-color: transparent;
39
+ background-clip: text;
40
+ }
41
+
42
+ .subtitle {
43
+ font-size: 16px;
44
+ color: #94a3b8;
45
+ max-width: 600px;
46
+ margin: 0 auto;
47
+ }
48
+
49
+ .badge {
50
+ display: inline-block;
51
+ padding: 4px 12px;
52
+ background: #10b981;
53
+ color: white;
54
+ border-radius: 20px;
55
+ font-size: 12px;
56
+ font-weight: 600;
57
+ margin-top: 12px;
58
+ }
59
+
60
+ .stats-grid {
61
+ display: grid;
62
+ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
63
+ gap: 16px;
64
+ margin: 32px auto;
65
+ max-width: 600px;
66
+ }
67
+
68
+ .stat-card {
69
+ background: #1e293b;
70
+ border: 1px solid #2d3748;
71
+ border-radius: 8px;
72
+ padding: 16px;
73
+ text-align: center;
74
+ }
75
+
76
+ .stat-label {
77
+ font-size: 12px;
78
+ color: #94a3b8;
79
+ margin-bottom: 8px;
80
+ }
81
+
82
+ .stat-value {
83
+ font-size: 28px;
84
+ font-weight: 700;
85
+ color: #38bdf8;
86
+ }
87
+
88
+ .test-grid {
89
+ display: grid;
90
+ grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
91
+ gap: 20px;
92
+ margin-bottom: 32px;
93
+ }
94
+
95
+ .test-card {
96
+ background: #1a202c;
97
+ border: 1px solid #2d3748;
98
+ border-radius: 8px;
99
+ padding: 24px;
100
+ transition: all 0.3s;
101
+ cursor: pointer;
102
+ text-decoration: none;
103
+ color: inherit;
104
+ display: block;
105
+ }
106
+
107
+ .test-card:hover {
108
+ border-color: #38bdf8;
109
+ background: #1e293b;
110
+ transform: translateY(-4px);
111
+ box-shadow: 0 8px 24px rgba(56, 189, 248, 0.1);
112
+ }
113
+
114
+ .card-icon {
115
+ font-size: 32px;
116
+ margin-bottom: 12px;
117
+ }
118
+
119
+ .card-title {
120
+ font-size: 18px;
121
+ font-weight: 600;
122
+ margin-bottom: 8px;
123
+ color: #38bdf8;
124
+ }
125
+
126
+ .card-description {
127
+ font-size: 13px;
128
+ color: #94a3b8;
129
+ margin-bottom: 16px;
130
+ line-height: 1.5;
131
+ }
132
+
133
+ .card-stats {
134
+ display: grid;
135
+ grid-template-columns: 1fr 1fr;
136
+ gap: 8px;
137
+ font-size: 12px;
138
+ padding-top: 12px;
139
+ border-top: 1px solid #2d3748;
140
+ }
141
+
142
+ .card-stat {
143
+ padding: 8px;
144
+ background: #0f172a;
145
+ border-radius: 4px;
146
+ }
147
+
148
+ .card-stat-label {
149
+ color: #64748b;
150
+ font-size: 10px;
151
+ margin-bottom: 2px;
152
+ }
153
+
154
+ .card-stat-value {
155
+ color: #cbd5e1;
156
+ font-weight: 600;
157
+ }
158
+
159
+ .master-card {
160
+ grid-column: 1 / -1;
161
+ background: linear-gradient(135deg, #1a202c 0%, #1e293b 100%);
162
+ border: 2px solid #0284c7;
163
+ }
164
+
165
+ .master-card:hover {
166
+ border-color: #38bdf8;
167
+ box-shadow: 0 12px 32px rgba(56, 189, 248, 0.2);
168
+ }
169
+
170
+ .master-card .card-title {
171
+ font-size: 20px;
172
+ }
173
+
174
+ .section-title {
175
+ font-size: 20px;
176
+ font-weight: 600;
177
+ color: #cbd5e1;
178
+ margin: 32px 0 16px;
179
+ padding-bottom: 8px;
180
+ border-bottom: 1px solid #2d3748;
181
+ }
182
+
183
+ .features-list {
184
+ background: #1a202c;
185
+ border: 1px solid #2d3748;
186
+ border-radius: 8px;
187
+ padding: 24px;
188
+ margin-bottom: 32px;
189
+ }
190
+
191
+ .features-grid {
192
+ display: grid;
193
+ grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
194
+ gap: 16px;
195
+ }
196
+
197
+ .feature-item {
198
+ padding: 12px;
199
+ background: #0f172a;
200
+ border-radius: 6px;
201
+ border-left: 3px solid #38bdf8;
202
+ font-size: 13px;
203
+ }
204
+
205
+ .footer {
206
+ text-align: center;
207
+ padding: 24px;
208
+ color: #64748b;
209
+ font-size: 12px;
210
+ border-top: 1px solid #2d3748;
211
+ margin-top: 48px;
212
+ }
213
+
214
+ .button {
215
+ display: inline-block;
216
+ padding: 10px 20px;
217
+ background: #0ea5e9;
218
+ color: white;
219
+ border-radius: 6px;
220
+ text-decoration: none;
221
+ font-weight: 600;
222
+ font-size: 13px;
223
+ transition: background 0.2s;
224
+ margin-top: 8px;
225
+ }
226
+
227
+ .button:hover {
228
+ background: #0284c7;
229
+ }
230
+
231
+ .button.secondary {
232
+ background: #475569;
233
+ }
234
+
235
+ .button.secondary:hover {
236
+ background: #64748b;
237
+ }
238
+ </style>
239
+ </head>
240
+ <body>
241
+ <div class="container">
242
+ <div class="header">
243
+ <div class="title">cycleCAD Test Suite</div>
244
+ <div class="subtitle">Comprehensive automated testing for sketch, solid modeling, assembly, CAM, and simulation features</div>
245
+ <div class="badge">103 Total Tests</div>
246
+ </div>
247
+
248
+ <div class="stats-grid">
249
+ <div class="stat-card">
250
+ <div class="stat-label">Test Suites</div>
251
+ <div class="stat-value">5</div>
252
+ </div>
253
+ <div class="stat-card">
254
+ <div class="stat-label">Total Tests</div>
255
+ <div class="stat-value">103</div>
256
+ </div>
257
+ <div class="stat-card">
258
+ <div class="stat-label">Categories</div>
259
+ <div class="stat-value">17</div>
260
+ </div>
261
+ </div>
262
+
263
+ <div class="section-title">Master Test Runner</div>
264
+ <div class="test-grid">
265
+ <a href="fusion-all-tests.html" class="test-card master-card">
266
+ <div class="card-icon">🚀</div>
267
+ <div class="card-title">Run All Tests</div>
268
+ <div class="card-description">Execute all 5 test suites sequentially and view aggregated results. Export reports as JSON or HTML.</div>
269
+ <div class="button">Launch Master Runner</div>
270
+ </a>
271
+ </div>
272
+
273
+ <div class="section-title">Individual Test Suites</div>
274
+ <div class="test-grid">
275
+ <a href="fusion-sketch-tests.html" class="test-card">
276
+ <div class="card-icon">✏️</div>
277
+ <div class="card-title">Sketch Tests</div>
278
+ <div class="card-description">All 2D sketch tools: basic shapes, advanced operations, constraints, dimensions, and export.</div>
279
+ <div class="card-stats">
280
+ <div class="card-stat">
281
+ <div class="card-stat-label">Tests</div>
282
+ <div class="card-stat-value">30</div>
283
+ </div>
284
+ <div class="card-stat">
285
+ <div class="card-stat-label">Categories</div>
286
+ <div class="card-stat-value">4</div>
287
+ </div>
288
+ </div>
289
+ <div class="button">Run Tests</div>
290
+ </a>
291
+
292
+ <a href="fusion-solid-tests.html" class="test-card">
293
+ <div class="card-icon">🔶</div>
294
+ <div class="card-title">Solid Modeling Tests</div>
295
+ <div class="card-description">3D operations: extrude, revolve, sweep, loft, booleans, fillets, chamfers, and patterns.</div>
296
+ <div class="card-stats">
297
+ <div class="card-stat">
298
+ <div class="card-stat-label">Tests</div>
299
+ <div class="card-stat-value">22</div>
300
+ </div>
301
+ <div class="card-stat">
302
+ <div class="card-stat-label">Categories</div>
303
+ <div class="card-stat-value">4</div>
304
+ </div>
305
+ </div>
306
+ <div class="button">Run Tests</div>
307
+ </a>
308
+
309
+ <a href="fusion-assembly-tests.html" class="test-card">
310
+ <div class="card-icon">⚙️</div>
311
+ <div class="card-title">Assembly Tests</div>
312
+ <div class="card-description">Multi-body workflows: 7 joint types, component management, interference detection, and motion.</div>
313
+ <div class="card-stats">
314
+ <div class="card-stat">
315
+ <div class="card-stat-label">Tests</div>
316
+ <div class="card-stat-value">17</div>
317
+ </div>
318
+ <div class="card-stat">
319
+ <div class="card-stat-label">Categories</div>
320
+ <div class="card-stat-value">3</div>
321
+ </div>
322
+ </div>
323
+ <div class="button">Run Tests</div>
324
+ </a>
325
+
326
+ <a href="fusion-cam-tests.html" class="test-card">
327
+ <div class="card-icon">🔨</div>
328
+ <div class="card-title">CAM Tests</div>
329
+ <div class="card-description">CAM workflows: setup, 2D/3D operations, toolpath, G-code generation, and post-processing.</div>
330
+ <div class="card-stats">
331
+ <div class="card-stat">
332
+ <div class="card-stat-label">Tests</div>
333
+ <div class="card-stat-value">17</div>
334
+ </div>
335
+ <div class="card-stat">
336
+ <div class="card-stat-label">Categories</div>
337
+ <div class="card-stat-value">3</div>
338
+ </div>
339
+ </div>
340
+ <div class="button">Run Tests</div>
341
+ </a>
342
+
343
+ <a href="fusion-simulation-tests.html" class="test-card">
344
+ <div class="card-icon">📊</div>
345
+ <div class="card-title">Simulation Tests</div>
346
+ <div class="card-description">FEA analysis: static stress, thermal, modal frequency, buckling, and shape optimization.</div>
347
+ <div class="card-stats">
348
+ <div class="card-stat">
349
+ <div class="card-stat-label">Tests</div>
350
+ <div class="card-stat-value">17</div>
351
+ </div>
352
+ <div class="card-stat">
353
+ <div class="card-stat-label">Categories</div>
354
+ <div class="card-stat-value">3</div>
355
+ </div>
356
+ </div>
357
+ <div class="button">Run Tests</div>
358
+ </a>
359
+ </div>
360
+
361
+ <div class="section-title">Test Architecture</div>
362
+ <div class="features-list">
363
+ <div class="features-grid">
364
+ <div class="feature-item">
365
+ <strong>Split-Screen Layout</strong> — App in iframe (70%) + test log (30%)
366
+ </div>
367
+ <div class="feature-item">
368
+ <strong>Real-Time Logging</strong> — Color-coded pass/fail/skip with timestamps
369
+ </div>
370
+ <div class="feature-item">
371
+ <strong>Progress Tracking</strong> — Visual bars for each test and overall progress
372
+ </div>
373
+ <div class="feature-item">
374
+ <strong>Category Buttons</strong> — Run all tests or specific test categories
375
+ </div>
376
+ <div class="feature-item">
377
+ <strong>Error Details</strong> — Detailed error messages for failed tests
378
+ </div>
379
+ <div class="feature-item">
380
+ <strong>Export Reports</strong> — JSON and HTML export formats
381
+ </div>
382
+ <div class="feature-item">
383
+ <strong>Dark Theme</strong> — Professional dark UI with Tailwind-inspired colors
384
+ </div>
385
+ <div class="feature-item">
386
+ <strong>Fast Execution</strong> — 300ms delay between tests for reliability
387
+ </div>
388
+ <div class="feature-item">
389
+ <strong>Multi-Suite Aggregation</strong> — Master runner combines all results
390
+ </div>
391
+ <div class="feature-item">
392
+ <strong>Browser Compatible</strong> — Chrome, Firefox, Safari, Edge 90+
393
+ </div>
394
+ </div>
395
+ </div>
396
+
397
+ <div class="section-title">Quick Stats</div>
398
+ <div class="features-list">
399
+ <div class="features-grid">
400
+ <div class="feature-item">
401
+ ✓ <strong>670 lines</strong> — Master test runner
402
+ </div>
403
+ <div class="feature-item">
404
+ ✓ <strong>613 lines</strong> — Sketch test suite
405
+ </div>
406
+ <div class="feature-item">
407
+ ✓ <strong>529 lines</strong> — Solid modeling tests
408
+ </div>
409
+ <div class="feature-item">
410
+ ✓ <strong>461 lines</strong> — Assembly tests
411
+ </div>
412
+ <div class="feature-item">
413
+ ✓ <strong>421 lines</strong> — CAM tests
414
+ </div>
415
+ <div class="feature-item">
416
+ ✓ <strong>421 lines</strong> — Simulation tests
417
+ </div>
418
+ <div class="feature-item">
419
+ ✓ <strong>3,115 lines</strong> — Total code
420
+ </div>
421
+ <div class="feature-item">
422
+ ✓ <strong>88 KB</strong> — Total size
423
+ </div>
424
+ </div>
425
+ </div>
426
+
427
+ <div class="section-title">Documentation</div>
428
+ <div class="features-list">
429
+ <p style="margin-bottom: 16px; color: #cbd5e1;">Full documentation available in <a href="FUSION_TEST_SUITE.md" style="color: #38bdf8;">FUSION_TEST_SUITE.md</a></p>
430
+ <div class="features-grid">
431
+ <div class="feature-item">
432
+ 📖 Complete test architecture guide
433
+ </div>
434
+ <div class="feature-item">
435
+ 📋 Detailed category breakdown (17 categories)
436
+ </div>
437
+ <div class="feature-item">
438
+ 🔧 Development patterns for adding tests
439
+ </div>
440
+ <div class="feature-item">
441
+ 🎨 Design system & color scheme documentation
442
+ </div>
443
+ </div>
444
+ </div>
445
+
446
+ <div class="footer">
447
+ cycleCAD Test Suite — Comprehensive feature validation
448
+ <br>
449
+ <small>Built for automated testing and quality assurance</small>
450
+ </div>
451
+ </div>
452
+ </body>
453
+ </html>