cyclecad 2.0.1 → 2.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.
- package/IMPLEMENTATION_GUIDE.md +502 -0
- package/INTEGRATION-GUIDE.md +377 -0
- package/MODULES_PHASES_6_7.md +780 -0
- package/app/index.html +106 -2
- package/app/js/brep-kernel.js +1353 -455
- package/app/js/help-module.js +1437 -0
- package/app/js/kernel.js +364 -40
- package/app/js/modules/animation-module.js +967 -0
- package/app/js/modules/assembly-module.js +47 -3
- package/app/js/modules/cam-module.js +1067 -0
- package/app/js/modules/collaboration-module.js +1102 -0
- package/app/js/modules/data-module.js +1656 -0
- package/app/js/modules/drawing-module.js +54 -8
- package/app/js/modules/formats-module.js +1173 -0
- package/app/js/modules/inspection-module.js +937 -0
- package/app/js/modules/mesh-module.js +968 -0
- package/app/js/modules/operations-module.js +40 -7
- package/app/js/modules/plugin-module.js +957 -0
- package/app/js/modules/rendering-module.js +1306 -0
- package/app/js/modules/scripting-module.js +955 -0
- package/app/js/modules/simulation-module.js +60 -3
- package/app/js/modules/sketch-module.js +1032 -90
- package/app/js/modules/step-module.js +47 -6
- package/app/js/modules/surface-module.js +728 -0
- package/app/js/modules/version-module.js +1410 -0
- package/app/js/modules/viewport-module.js +95 -8
- package/app/test-agent-v2.html +881 -1316
- package/docs/ARCHITECTURE.html +838 -1408
- package/docs/DEVELOPER-GUIDE.md +1504 -0
- package/docs/TUTORIAL.md +740 -0
- package/package.json +1 -1
- package/.github/scripts/cad-diff.js +0 -590
- package/.github/workflows/cad-diff.yml +0 -117
|
@@ -1,13 +1,46 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
2
|
+
* @file operations-module.js
|
|
3
|
+
* @description OperationsModule — 3D Modeling Operations Engine
|
|
4
|
+
* Part of cycleCAD microkernel architecture, providing all 3D shape creation,
|
|
5
|
+
* modification, and transformation operations. Implements smart dispatch between
|
|
6
|
+
* B-Rep kernel (for precision) and mesh fallbacks (for performance).
|
|
4
7
|
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
8
|
+
* @version 1.0.0
|
|
9
|
+
* @author cycleCAD Team
|
|
10
|
+
* @license MIT
|
|
11
|
+
* @see {@link https://github.com/vvlars-cmd/cyclecad}
|
|
7
12
|
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
13
|
+
* @module operations-module
|
|
14
|
+
* @requires viewport (3D scene rendering)
|
|
15
|
+
* @requires sketch (for profile-based operations)
|
|
16
|
+
*
|
|
17
|
+
* Features:
|
|
18
|
+
* - Primitive creation: Box, Cylinder, Sphere, Cone, Torus
|
|
19
|
+
* - Profile-based: Extrude, Revolve, Sweep, Loft
|
|
20
|
+
* - Dress-up features: Fillet, Chamfer, Shell, Draft
|
|
21
|
+
* - Holes: Simple, Counterbore, Countersink, Tapped
|
|
22
|
+
* - Advanced: Thread, Rib, Split
|
|
23
|
+
* - Pattern: Rectangular, Circular, Path-based
|
|
24
|
+
* - Transform: Mirror, Move, Rotate, Scale, Copy
|
|
25
|
+
* - Boolean: Union, Cut, Intersect
|
|
26
|
+
* - Feature tree management (suppress, reorder, delete, rebuild)
|
|
27
|
+
* - History and undo support
|
|
28
|
+
* - Automatic fallback to mesh approximations when B-Rep unavailable
|
|
29
|
+
* - Lazy dispatch — uses B-Rep if available, falls back gracefully
|
|
30
|
+
*
|
|
31
|
+
* Architecture:
|
|
32
|
+
* Operations Module
|
|
33
|
+
* ├── B-Rep Dispatch (if available)
|
|
34
|
+
* │ └── Uses opencascade.js for true solid modeling
|
|
35
|
+
* └── Mesh Fallback (always available)
|
|
36
|
+
* └── Uses Three.js geometry primitives and approximations
|
|
37
|
+
*
|
|
38
|
+
* Feature Tree:
|
|
39
|
+
* - Tracks all features in order (Box → Extrude → Fillet → etc.)
|
|
40
|
+
* - Each feature stores params for rebuild
|
|
41
|
+
* - Features can be suppressed (hidden from rebuild)
|
|
42
|
+
* - Features can be reordered (changes build sequence)
|
|
43
|
+
* - Rebuild rebuilds all active features from scratch
|
|
11
44
|
*/
|
|
12
45
|
|
|
13
46
|
const OperationsModule = {
|