cyclecad 3.0.0 → 3.1.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/BILLING-IMPLEMENTATION-SUMMARY.md +425 -0
  2. package/BILLING-INDEX.md +293 -0
  3. package/BILLING-INTEGRATION-GUIDE.md +414 -0
  4. package/COLLABORATION-INDEX.md +440 -0
  5. package/COLLABORATION-SYSTEM-SUMMARY.md +548 -0
  6. package/DOCKER-BUILD-MANIFEST.txt +483 -0
  7. package/DOCKER-FILES-REFERENCE.md +440 -0
  8. package/DOCKER-INFRASTRUCTURE.md +475 -0
  9. package/DOCKER-README.md +435 -0
  10. package/Dockerfile +33 -55
  11. package/PWA-FILES-CREATED.txt +350 -0
  12. package/QUICK-START-TESTING.md +126 -0
  13. package/STEP-IMPORT-QUICKSTART.md +347 -0
  14. package/STEP-IMPORT-SYSTEM-SUMMARY.md +502 -0
  15. package/app/css/mobile.css +1074 -0
  16. package/app/icons/generate-icons.js +203 -0
  17. package/app/js/billing-ui.js +990 -0
  18. package/app/js/brep-kernel.js +933 -981
  19. package/app/js/collab-client.js +750 -0
  20. package/app/js/mobile-nav.js +623 -0
  21. package/app/js/mobile-toolbar.js +476 -0
  22. package/app/js/modules/billing-module.js +724 -0
  23. package/app/js/modules/step-module-enhanced.js +938 -0
  24. package/app/js/offline-manager.js +705 -0
  25. package/app/js/responsive-init.js +360 -0
  26. package/app/js/touch-handler.js +429 -0
  27. package/app/manifest.json +211 -0
  28. package/app/offline.html +508 -0
  29. package/app/sw.js +571 -0
  30. package/app/tests/billing-tests.html +779 -0
  31. package/app/tests/brep-tests.html +980 -0
  32. package/app/tests/collab-tests.html +743 -0
  33. package/app/tests/mobile-tests.html +1299 -0
  34. package/app/tests/pwa-tests.html +1134 -0
  35. package/app/tests/step-tests.html +1042 -0
  36. package/app/tests/test-agent-v3.html +719 -0
  37. package/docker-compose.yml +225 -0
  38. package/docs/BILLING-HELP.json +260 -0
  39. package/docs/BILLING-README.md +639 -0
  40. package/docs/BILLING-TUTORIAL.md +736 -0
  41. package/docs/BREP-HELP.json +326 -0
  42. package/docs/BREP-TUTORIAL.md +802 -0
  43. package/docs/COLLABORATION-HELP.json +228 -0
  44. package/docs/COLLABORATION-TUTORIAL.md +818 -0
  45. package/docs/DOCKER-HELP.json +224 -0
  46. package/docs/DOCKER-TUTORIAL.md +974 -0
  47. package/docs/MOBILE-HELP.json +243 -0
  48. package/docs/MOBILE-RESPONSIVE-README.md +378 -0
  49. package/docs/MOBILE-TUTORIAL.md +747 -0
  50. package/docs/PWA-HELP.json +228 -0
  51. package/docs/PWA-README.md +662 -0
  52. package/docs/PWA-TUTORIAL.md +757 -0
  53. package/docs/STEP-HELP.json +481 -0
  54. package/docs/STEP-IMPORT-TUTORIAL.md +824 -0
  55. package/docs/TESTING-GUIDE.md +528 -0
  56. package/docs/TESTING-HELP.json +182 -0
  57. package/fusion-vs-cyclecad.html +1771 -0
  58. package/nginx.conf +237 -0
  59. package/package.json +1 -1
  60. package/server/Dockerfile.converter +51 -0
  61. package/server/Dockerfile.signaling +28 -0
  62. package/server/billing-server.js +487 -0
  63. package/server/converter-enhanced.py +528 -0
  64. package/server/requirements-converter.txt +29 -0
  65. package/server/signaling-server.js +801 -0
  66. package/tests/docker-tests.sh +389 -0
@@ -0,0 +1,182 @@
1
+ {
2
+ "testingHelpEntries": [
3
+ {
4
+ "id": "test-agent-overview",
5
+ "title": "Test Agent Overview",
6
+ "category": "testing",
7
+ "description": "The cycleCAD test agent v3 is a visual testing framework that runs 200+ automated tests across the entire UI. It runs in your browser with a split-screen layout showing the app on the left and test results on the right.",
8
+ "keywords": ["test", "agent", "automation", "testing"],
9
+ "relatedFeatures": ["test-agent-v3", "test-runner"]
10
+ },
11
+ {
12
+ "id": "running-tests-interactive",
13
+ "title": "Running Tests Interactively",
14
+ "category": "testing",
15
+ "description": "To run tests interactively: 1) Open app/tests/test-agent-v3.html in Chrome, 2) Wait for app to load in the left iframe, 3) Click 'Run All Tests' button. Watch live as tests execute with green flashes indicating tested elements. Results take 60-90 seconds to complete.",
16
+ "keywords": ["run", "tests", "interactive", "browser"],
17
+ "relatedFeatures": ["test-agent-v3"]
18
+ },
19
+ {
20
+ "id": "running-tests-headless",
21
+ "title": "Running Tests Headless (CLI)",
22
+ "category": "testing",
23
+ "description": "To run tests from command line: node test-runner.js app/tests/test-agent-v3.html --output results.json. This runs Chrome headless without a GUI, useful for CI/CD pipelines. Results are saved as JSON for automated reporting.",
24
+ "keywords": ["headless", "cli", "automation", "npm", "node"],
25
+ "relatedFeatures": ["test-runner", "ci-cd"]
26
+ },
27
+ {
28
+ "id": "test-categories",
29
+ "title": "Test Categories",
30
+ "category": "testing",
31
+ "description": "Tests are organized into 25+ categories: Workspace (8 tests), Toolbar (50+ tests), Panels (10 tests), Keyboard Shortcuts (15 tests), 3D Operations (15 tests), Agent API (8 tests), Error Handling (10 tests), and more. Each category focuses on a specific feature area.",
32
+ "keywords": ["categories", "organization", "groups", "structure"],
33
+ "relatedFeatures": ["test-agent-v3"]
34
+ },
35
+ {
36
+ "id": "test-results-json",
37
+ "title": "Understanding JSON Results",
38
+ "category": "testing",
39
+ "description": "Test results are exported as JSON with structure: { timestamp, summary: { total, passed, failed, skipped }, results: [ { test, status, info } ] }. Each test result includes name, pass/fail status, and timing (milliseconds). Use for CI/CD integration and trend analysis.",
40
+ "keywords": ["json", "export", "results", "format"],
41
+ "relatedFeatures": ["test-runner", "test-reporter"]
42
+ },
43
+ {
44
+ "id": "test-results-html",
45
+ "title": "Generating HTML Reports",
46
+ "category": "testing",
47
+ "description": "Convert JSON test results to an HTML report using test-reporter.js. This generates a styled report showing pass/fail rate, failed test details, timing stats, and trend charts. Great for sharing with stakeholders.",
48
+ "keywords": ["html", "report", "reporter", "visualization"],
49
+ "relatedFeatures": ["test-reporter"]
50
+ },
51
+ {
52
+ "id": "adding-new-tests",
53
+ "title": "Adding New Tests",
54
+ "category": "testing",
55
+ "description": "Edit app/tests/test-agent-v3.html and add to the defineTests() method. Use this.addCategory() for new test groups. Available methods: clickInApp(selector), checkElementExists(selector), testKeyboard(key), checkOperationExists(name), checkAgentAPI(), toggleWireframe(), toggleGrid().",
56
+ "keywords": ["add", "create", "new", "extend"],
57
+ "relatedFeatures": ["test-agent-v3"]
58
+ },
59
+ {
60
+ "id": "test-methods",
61
+ "title": "Test Methods Reference",
62
+ "category": "testing",
63
+ "description": "Key test methods: clickInApp(sel) - click element in app, checkElementExists(sel) - verify element exists, testKeyboard(key) - send keyboard event, checkOperationExists(name) - check function in window, checkAgentAPI() - verify API loaded, toggleWireframe() - toggle display. All return Promises.",
64
+ "keywords": ["methods", "api", "reference", "functions"],
65
+ "relatedFeatures": ["test-agent-v3"]
66
+ },
67
+ {
68
+ "id": "test-naming",
69
+ "title": "Test Naming Conventions",
70
+ "category": "testing",
71
+ "description": "Use action verbs ('Click', 'Toggle', 'Verify'), be specific ('Extrude button visible' not 'Button works'), include context ('Sketch line tool'), avoid vague names and technical jargon. Names appear in test results, so clarity matters.",
72
+ "keywords": ["naming", "conventions", "best-practices", "guidelines"],
73
+ "relatedFeatures": ["test-agent-v3"]
74
+ },
75
+ {
76
+ "id": "test-isolation",
77
+ "title": "Test Isolation",
78
+ "category": "testing",
79
+ "description": "Each test should be independent and not rely on previous test state. Reset UI state at end of test if needed (e.g., press Escape to close panels). Use timeout delays to let UI settle between actions. Ensures reliable results when tests run in any order.",
80
+ "keywords": ["isolation", "independence", "state", "cleanup"],
81
+ "relatedFeatures": ["test-agent-v3"]
82
+ },
83
+ {
84
+ "id": "test-coverage",
85
+ "title": "Test Coverage Tracking",
86
+ "category": "testing",
87
+ "description": "Track test coverage by component. Target 95%+ for core features, 80%+ for advanced features. View current coverage in TESTING-GUIDE.md Coverage section. Add new tests to close gaps in untested features. Use this to prioritize testing effort.",
88
+ "keywords": ["coverage", "gaps", "tracking", "metrics"],
89
+ "relatedFeatures": ["test-agent-v3"]
90
+ },
91
+ {
92
+ "id": "debugging-failed-tests",
93
+ "title": "Debugging Failed Tests",
94
+ "category": "testing",
95
+ "description": "Common failures: 'Element not found' = wrong ID or missing element, test hangs = app didn't load or froze, no flash = element outside viewport. Debug by opening DevTools (F12), switching to iframe console, and running manual tests. Check app console for JS errors.",
96
+ "keywords": ["debug", "failed", "error", "troubleshooting"],
97
+ "relatedFeatures": ["test-agent-v3"]
98
+ },
99
+ {
100
+ "id": "performance-benchmarking",
101
+ "title": "Performance Benchmarking",
102
+ "category": "testing",
103
+ "description": "Test agent tracks timing for each test in milliseconds. Performance targets: UI clicks <200ms, panel opens <500ms, operations <2000ms. If a test takes >2x longer than expected, investigate for console errors or dependency changes.",
104
+ "keywords": ["performance", "benchmark", "timing", "metrics"],
105
+ "relatedFeatures": ["test-agent-v3"]
106
+ },
107
+ {
108
+ "id": "ci-cd-integration",
109
+ "title": "CI/CD Integration",
110
+ "category": "testing",
111
+ "description": "Add test suite to GitHub Actions via .github/workflows/test.yml. Run tests on push and PR with: node test-runner.js app/tests/test-agent-v3.html --output results.json. Upload results as artifacts. Fail workflow if tests fail to enforce quality gate.",
112
+ "keywords": ["ci", "cd", "github", "actions", "pipeline"],
113
+ "relatedFeatures": ["test-runner"]
114
+ },
115
+ {
116
+ "id": "test-maintenance",
117
+ "title": "Test Maintenance",
118
+ "category": "testing",
119
+ "description": "Keep tests updated when UI changes: rename selectors if IDs change, remove tests for deleted features, add tests for new features. Commit updated test files with UI changes. Run full test suite after each major change to catch regressions early.",
120
+ "keywords": ["maintenance", "update", "refactor", "delete"],
121
+ "relatedFeatures": ["test-agent-v3"]
122
+ },
123
+ {
124
+ "id": "exporting-test-results",
125
+ "title": "Exporting Test Results",
126
+ "category": "testing",
127
+ "description": "Click 'Export Results' button in test agent to download test-results-{timestamp}.json. Contains full test summary and per-test results with status and timing. Use for reports, trend analysis, and CI/CD automation.",
128
+ "keywords": ["export", "download", "json", "save"],
129
+ "relatedFeatures": ["test-agent-v3"]
130
+ },
131
+ {
132
+ "id": "test-agent-ui",
133
+ "title": "Test Agent UI Layout",
134
+ "category": "testing",
135
+ "description": "Test agent layout: left 70% shows embedded app iframe, right 30% shows test runner. Top right shows pass/fail stats, progress bar, control buttons (Run All, Clear Log, Export). Below shows scrolling test log with color-coded results (green=pass, red=fail, blue=running).",
136
+ "keywords": ["ui", "layout", "interface", "design"],
137
+ "relatedFeatures": ["test-agent-v3"]
138
+ },
139
+ {
140
+ "id": "false-positives-prevention",
141
+ "title": "Preventing False Positives",
142
+ "category": "testing",
143
+ "description": "Don't just verify element exists - verify it works. Add assertions that check actual behavior outcomes. Include timing delays to let UI settle. Example: verify panel appears AND has content, not just that button exists. Catch broken features before they ship.",
144
+ "keywords": ["false", "positive", "assertion", "verification"],
145
+ "relatedFeatures": ["test-agent-v3"]
146
+ },
147
+ {
148
+ "id": "visual-debugging",
149
+ "title": "Visual Debugging",
150
+ "category": "testing",
151
+ "description": "Green flash = element found and clicked. No flash = element not found or not visible. Test stalls = UI didn't respond or is loading. To debug: pause test, manually reproduce steps, check console for errors (Cmd+Option+J on Mac, Ctrl+Shift+J on Windows), check if 3D scene crashed.",
152
+ "keywords": ["visual", "debug", "flash", "highlight"],
153
+ "relatedFeatures": ["test-agent-v3"]
154
+ },
155
+ {
156
+ "id": "explodeview-test-agent",
157
+ "title": "ExplodeView Test Agent v2",
158
+ "category": "testing",
159
+ "description": "Similar to cycleCAD test agent, ExplodeView has its own test-agent-v2.html at docs/demo/test-agent-v2.html. Tests 15+ categories with 150+ tests covering View/Analyze/Create/Export/AI/Settings tabs, shortcuts, panels, context menus, selection, language support. Run same way as cycleCAD tests.",
160
+ "keywords": ["explodeview", "test", "agent", "v2"],
161
+ "relatedFeatures": ["test-agent-v2", "explodeview"]
162
+ },
163
+ {
164
+ "id": "test-troubleshooting",
165
+ "title": "Troubleshooting Test Failures",
166
+ "category": "testing",
167
+ "description": "Test agent won't start: check console errors, verify app loaded in iframe, reload page. Tests hang: check app console for errors (F12), reload test agent. Elements not found: verify button IDs match selectors, check if elements are hidden, scroll to make visible. Fix root cause, not test.",
168
+ "keywords": ["troubleshoot", "problem", "error", "help"],
169
+ "relatedFeatures": ["test-agent-v3"]
170
+ }
171
+ ],
172
+ "categories": [
173
+ {
174
+ "name": "testing",
175
+ "label": "Testing & QA",
176
+ "description": "Visual test agents, test runner, CI/CD integration, debugging",
177
+ "icon": "test-tube"
178
+ }
179
+ ],
180
+ "version": "1.0",
181
+ "lastUpdated": "2026-03-31"
182
+ }