cyclecad 2.0.1 → 3.0.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 (48) hide show
  1. package/DELIVERABLES.txt +296 -445
  2. package/ENHANCEMENT_COMPLETION_REPORT.md +383 -0
  3. package/ENHANCEMENT_SUMMARY.txt +308 -0
  4. package/FEATURE_INVENTORY.md +235 -0
  5. package/FUSION360_FEATURES_SUMMARY.md +452 -0
  6. package/FUSION360_PARITY_ENHANCEMENTS.md +461 -0
  7. package/FUSION360_PARITY_SUMMARY.md +520 -0
  8. package/FUSION360_QUICK_REFERENCE.md +351 -0
  9. package/IMPLEMENTATION_GUIDE.md +502 -0
  10. package/INTEGRATION-GUIDE.md +377 -0
  11. package/MODULES_PHASES_6_7.md +780 -0
  12. package/MODULE_API_REFERENCE.md +712 -0
  13. package/MODULE_INVENTORY.txt +264 -0
  14. package/app/index.html +1345 -4930
  15. package/app/js/app.js +1312 -514
  16. package/app/js/brep-kernel.js +1353 -455
  17. package/app/js/help-module.js +1437 -0
  18. package/app/js/kernel.js +364 -40
  19. package/app/js/modules/animation-module.js +1461 -0
  20. package/app/js/modules/assembly-module.js +47 -3
  21. package/app/js/modules/cam-module.js +1572 -0
  22. package/app/js/modules/collaboration-module.js +1615 -0
  23. package/app/js/modules/constraint-module.js +1266 -0
  24. package/app/js/modules/data-module.js +1054 -0
  25. package/app/js/modules/drawing-module.js +54 -8
  26. package/app/js/modules/formats-module.js +873 -0
  27. package/app/js/modules/inspection-module.js +1330 -0
  28. package/app/js/modules/mesh-module-enhanced.js +880 -0
  29. package/app/js/modules/mesh-module.js +968 -0
  30. package/app/js/modules/operations-module.js +40 -7
  31. package/app/js/modules/plugin-module.js +1554 -0
  32. package/app/js/modules/rendering-module.js +1766 -0
  33. package/app/js/modules/scripting-module.js +1073 -0
  34. package/app/js/modules/simulation-module.js +60 -3
  35. package/app/js/modules/sketch-module.js +2029 -91
  36. package/app/js/modules/step-module.js +47 -6
  37. package/app/js/modules/surface-module.js +1040 -0
  38. package/app/js/modules/version-module.js +1830 -0
  39. package/app/js/modules/viewport-module.js +95 -8
  40. package/app/test-agent-v2.html +881 -1316
  41. package/cycleCAD-Architecture-v2.pptx +0 -0
  42. package/docs/ARCHITECTURE.html +838 -1408
  43. package/docs/DEVELOPER-GUIDE.md +1504 -0
  44. package/docs/TUTORIAL.md +740 -0
  45. package/package.json +1 -1
  46. package/~$cycleCAD-Architecture-v2.pptx +0 -0
  47. package/.github/scripts/cad-diff.js +0 -590
  48. package/.github/workflows/cad-diff.yml +0 -117
@@ -1,7 +1,51 @@
1
1
  /**
2
- * Assembly Module for cycleCAD
3
- * Manages multi-body assemblies with joints, constraints, and motion studies
4
- * Version 1.0.0
2
+ * @file assembly-module.js
3
+ * @description AssemblyModule — Multi-body Assembly Management
4
+ * Manages component placement, joint definitions, constraints, motion studies,
5
+ * assembly explosions, and bill of materials generation. Supports 7 joint types
6
+ * with configurable limits and real-time animation.
7
+ *
8
+ * @version 1.0.0
9
+ * @author cycleCAD Team
10
+ * @license MIT
11
+ * @see {@link https://github.com/vvlars-cmd/cyclecad}
12
+ *
13
+ * @module assembly-module
14
+ * @requires viewport (3D scene + camera + controls)
15
+ * @requires operations (for component geometry)
16
+ *
17
+ * Features:
18
+ * - Component insertion and management
19
+ * - 7 joint types: Rigid, Revolute, Slider, Cylindrical, Pin-Slot, Planar, Ball
20
+ * - Joint limits (min/max values) with automatic clamping
21
+ * - Real-time joint animation with easing
22
+ * - Interference detection (BBox-based)
23
+ * - Exploded view generation with configurable distance
24
+ * - Bill of Materials (BOM) generation with quantity aggregation
25
+ * - Component patterns (linear and circular arrays)
26
+ * - Motion studies (animate joint through range with configurable steps)
27
+ * - Assembly validation and statistics
28
+ *
29
+ * Joint Types & DOF:
30
+ * - RIGID: 0 DOF (fixed position/orientation)
31
+ * - REVOLUTE: 1 DOF (rotation around axis)
32
+ * - SLIDER: 1 DOF (translation along axis)
33
+ * - CYLINDRICAL: 2 DOF (rotation + translation on axis)
34
+ * - PIN_SLOT: 2 DOF (rotation + perpendicular translation)
35
+ * - PLANAR: 3 DOF (2D translation in plane + rotation around normal)
36
+ * - BALL: 3 DOF (free rotation around origin point)
37
+ *
38
+ * Component Structure:
39
+ * Component = {
40
+ * id, partId, name, position, rotation, visible,
41
+ * group (THREE.Group), matrix
42
+ * }
43
+ *
44
+ * Motion Study:
45
+ * - Animates a single joint through range
46
+ * - Generates N steps from start to end value
47
+ * - Smooth easing for natural motion
48
+ * - Can play forward/backward
5
49
  */
6
50
 
7
51
  const AssemblyModule = {