cyclecad 3.8.0 → 3.9.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/app/index.html CHANGED
@@ -972,6 +972,12 @@
972
972
  <button class="menu-item-link" data-action="tools-generative">Generative Design</button>
973
973
  <button class="menu-item-link" data-action="tools-physics">Multi-Physics Simulation</button>
974
974
  <button class="menu-item-link" data-action="tools-parts">Smart Parts Library</button>
975
+ <button class="menu-item-link" data-action="tools-smart-assembly">Smart Assembly Mating</button>
976
+ <button class="menu-item-link" data-action="tools-digital-twin">Digital Twin</button>
977
+ <button class="menu-item-link" data-action="tools-machine">Machine Control (CNC/3DP)</button>
978
+ <button class="menu-item-link" data-action="tools-notebook">Engineering Notebook</button>
979
+ <button class="menu-item-link" data-action="tools-auto-assembly">Auto-Assemble Parts</button>
980
+ <button class="menu-item-link" data-action="tools-parametric">Parametric from Example</button>
975
981
  <div class="menu-separator"></div>
976
982
  <button class="menu-item-link" data-action="tools-settings">Settings...</button>
977
983
  </div>
@@ -1380,6 +1386,12 @@
1380
1386
  <script src="js/modules/generative-design.js"></script>
1381
1387
  <script src="js/modules/multi-physics.js"></script>
1382
1388
  <script src="js/modules/smart-parts.js"></script>
1389
+ <script src="js/modules/smart-assembly.js"></script>
1390
+ <script src="js/modules/digital-twin.js"></script>
1391
+ <script src="js/modules/machine-control.js"></script>
1392
+ <script src="js/modules/engineering-notebook.js"></script>
1393
+ <script src="js/modules/auto-assembly.js"></script>
1394
+ <script src="js/modules/parametric-from-example.js"></script>
1383
1395
 
1384
1396
  <script type="module">
1385
1397
  // ===== Three.js Imports =====
@@ -1596,6 +1608,54 @@
1596
1608
  if (dlg6) { dlg6.innerHTML = ''; dlg6.appendChild(partsPanel); dlg6.style.maxHeight = '500px'; dlg6.style.overflow = 'auto'; }
1597
1609
  }
1598
1610
  break;
1611
+ case 'tools-smart-assembly':
1612
+ if (window.CycleCAD && window.CycleCAD.SmartAssembly) {
1613
+ const saPanel = window.CycleCAD.SmartAssembly.getUI();
1614
+ showDialog('Smart Assembly Mating', '');
1615
+ const dlg7 = document.querySelector('.dialog-content');
1616
+ if (dlg7) { dlg7.innerHTML = ''; dlg7.appendChild(saPanel); dlg7.style.maxHeight = '500px'; dlg7.style.overflow = 'auto'; }
1617
+ }
1618
+ break;
1619
+ case 'tools-digital-twin':
1620
+ if (window.CycleCAD && window.CycleCAD.DigitalTwin) {
1621
+ const dtPanel = window.CycleCAD.DigitalTwin.getUI();
1622
+ showDialog('Digital Twin — Live Data', '');
1623
+ const dlg8 = document.querySelector('.dialog-content');
1624
+ if (dlg8) { dlg8.innerHTML = ''; dlg8.appendChild(dtPanel); dlg8.style.maxHeight = '500px'; dlg8.style.overflow = 'auto'; }
1625
+ }
1626
+ break;
1627
+ case 'tools-machine':
1628
+ if (window.CycleCAD && window.CycleCAD.MachineControl) {
1629
+ const mcPanel = window.CycleCAD.MachineControl.getUI();
1630
+ showDialog('Machine Control — CNC / 3D Printer', '');
1631
+ const dlg9 = document.querySelector('.dialog-content');
1632
+ if (dlg9) { dlg9.innerHTML = ''; dlg9.appendChild(mcPanel); dlg9.style.maxHeight = '500px'; dlg9.style.overflow = 'auto'; }
1633
+ }
1634
+ break;
1635
+ case 'tools-notebook':
1636
+ if (window.CycleCAD && window.CycleCAD.EngineeringNotebook) {
1637
+ const nbPanel = window.CycleCAD.EngineeringNotebook.getUI();
1638
+ showDialog('Engineering Notebook', '');
1639
+ const dlg10 = document.querySelector('.dialog-content');
1640
+ if (dlg10) { dlg10.innerHTML = ''; dlg10.appendChild(nbPanel); dlg10.style.maxHeight = '500px'; dlg10.style.overflow = 'auto'; }
1641
+ }
1642
+ break;
1643
+ case 'tools-auto-assembly':
1644
+ if (window.CycleCAD && window.CycleCAD.AutoAssembly) {
1645
+ const aaPanel = window.CycleCAD.AutoAssembly.getUI();
1646
+ showDialog('Auto-Assemble Parts', '');
1647
+ const dlg11 = document.querySelector('.dialog-content');
1648
+ if (dlg11) { dlg11.innerHTML = ''; dlg11.appendChild(aaPanel); dlg11.style.maxHeight = '500px'; dlg11.style.overflow = 'auto'; }
1649
+ }
1650
+ break;
1651
+ case 'tools-parametric':
1652
+ if (window.CycleCAD && window.CycleCAD.ParametricFromExample) {
1653
+ const pfPanel = window.CycleCAD.ParametricFromExample.getUI();
1654
+ showDialog('Parametric from Example', '');
1655
+ const dlg12 = document.querySelector('.dialog-content');
1656
+ if (dlg12) { dlg12.innerHTML = ''; dlg12.appendChild(pfPanel); dlg12.style.maxHeight = '500px'; dlg12.style.overflow = 'auto'; }
1657
+ }
1658
+ break;
1599
1659
  default:
1600
1660
  showToast(`${action}`, 'success');
1601
1661
  }
@@ -1937,6 +1997,42 @@
1937
1997
  window.CycleCAD.SmartParts.init(scene);
1938
1998
  console.log('[cycleCAD] Smart Parts Library initialized');
1939
1999
  }
2000
+
2001
+ // Initialize Smart Assembly Mating
2002
+ if (window.CycleCAD && window.CycleCAD.SmartAssembly) {
2003
+ window.CycleCAD.SmartAssembly.init(scene);
2004
+ console.log('[cycleCAD] Smart Assembly Mating initialized');
2005
+ }
2006
+
2007
+ // Initialize Digital Twin Live Data
2008
+ if (window.CycleCAD && window.CycleCAD.DigitalTwin) {
2009
+ window.CycleCAD.DigitalTwin.init(scene, camera);
2010
+ console.log('[cycleCAD] Digital Twin Live Data initialized');
2011
+ }
2012
+
2013
+ // Initialize CNC / 3D Printer Control
2014
+ if (window.CycleCAD && window.CycleCAD.MachineControl) {
2015
+ window.CycleCAD.MachineControl.init(scene);
2016
+ console.log('[cycleCAD] Machine Control initialized');
2017
+ }
2018
+
2019
+ // Initialize Engineering Notebook
2020
+ if (window.CycleCAD && window.CycleCAD.EngineeringNotebook) {
2021
+ window.CycleCAD.EngineeringNotebook.init(scene);
2022
+ console.log('[cycleCAD] Engineering Notebook initialized');
2023
+ }
2024
+
2025
+ // Initialize Auto-Assembly
2026
+ if (window.CycleCAD && window.CycleCAD.AutoAssembly) {
2027
+ window.CycleCAD.AutoAssembly.init(scene);
2028
+ console.log('[cycleCAD] Auto-Assembly initialized');
2029
+ }
2030
+
2031
+ // Initialize Parametric from Example
2032
+ if (window.CycleCAD && window.CycleCAD.ParametricFromExample) {
2033
+ window.CycleCAD.ParametricFromExample.init(scene);
2034
+ console.log('[cycleCAD] Parametric from Example initialized');
2035
+ }
1940
2036
  }
1941
2037
 
1942
2038
  // ===== Export Global Functions =====