@2112-lab/central-plant 0.1.4 โ†’ 0.1.5

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 (87) hide show
  1. package/dist/cjs/_virtual/_rollupPluginBabelHelpers.js +432 -1
  2. package/dist/cjs/node_modules/@2112-lab/pathfinder/dist/index.esm.js +1448 -1
  3. package/dist/cjs/node_modules/three/examples/jsm/controls/OrbitControls.js +1853 -1
  4. package/dist/cjs/node_modules/three/examples/jsm/exporters/GLTFExporter.js +3537 -1
  5. package/dist/cjs/node_modules/three/examples/jsm/exporters/OBJExporter.js +305 -1
  6. package/dist/cjs/node_modules/three/examples/jsm/exporters/PLYExporter.js +542 -1
  7. package/dist/cjs/node_modules/three/examples/jsm/exporters/STLExporter.js +218 -1
  8. package/dist/cjs/node_modules/three/examples/jsm/loaders/DRACOLoader.js +683 -1
  9. package/dist/cjs/node_modules/three/examples/jsm/loaders/GLTFLoader.js +4811 -1
  10. package/dist/cjs/node_modules/three/examples/jsm/loaders/RGBELoader.js +480 -1
  11. package/dist/cjs/node_modules/three/examples/jsm/renderers/CSS2DRenderer.js +309 -1
  12. package/dist/cjs/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +120 -1
  13. package/dist/cjs/src/analysis/analysis.js +560 -1
  14. package/dist/cjs/src/analysis/testing.js +958 -1
  15. package/dist/cjs/src/core/centralPlant.js +1149 -1
  16. package/dist/cjs/src/core/debugLogger.js +175 -1
  17. package/dist/cjs/src/core/mathUtils.js +574 -1
  18. package/dist/cjs/src/core/nameUtils.js +93 -1
  19. package/dist/cjs/src/data/export.js +716 -1
  20. package/dist/cjs/src/data/import.js +380 -1
  21. package/dist/cjs/src/data/numerics.js +522 -1
  22. package/dist/cjs/src/helpers/sceneHelper.js +572 -1
  23. package/dist/cjs/src/index.js +69 -1
  24. package/dist/cjs/src/managers/components/animationManager.js +123 -1
  25. package/dist/cjs/src/managers/components/componentManager.js +332 -1
  26. package/dist/cjs/src/managers/components/pathfindingManager.js +1441 -1
  27. package/dist/cjs/src/managers/controls/TransformControls.js +1063 -1
  28. package/dist/cjs/src/managers/controls/cameraControlsManager.js +79 -1
  29. package/dist/cjs/src/managers/controls/dragDropManager.js +1026 -1
  30. package/dist/cjs/src/managers/controls/keyboardControlsManager.js +395 -1
  31. package/dist/cjs/src/managers/controls/transformControlsManager.js +1807 -1
  32. package/dist/cjs/src/managers/environment/environmentManager.js +714 -1
  33. package/dist/cjs/src/managers/environment/textureConfig.js +229 -1
  34. package/dist/cjs/src/managers/scene/sceneExportManager.js +264 -1
  35. package/dist/cjs/src/managers/scene/sceneInitializationManager.js +346 -1
  36. package/dist/cjs/src/managers/scene/sceneOperationsManager.js +1509 -1
  37. package/dist/cjs/src/managers/scene/sceneTooltipsManager.js +661 -1
  38. package/dist/cjs/src/managers/system/disposalManager.js +444 -1
  39. package/dist/cjs/src/managers/system/hotReloadManager.js +291 -1
  40. package/dist/cjs/src/managers/system/performanceMonitor.js +863 -1
  41. package/dist/cjs/src/rendering/modelPreloader.js +369 -1
  42. package/dist/cjs/src/rendering/rendering2D.js +631 -1
  43. package/dist/cjs/src/rendering/rendering3D.js +685 -1
  44. package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +396 -1
  45. package/dist/esm/node_modules/@2112-lab/pathfinder/dist/index.esm.js +1444 -1
  46. package/dist/esm/node_modules/three/examples/jsm/controls/OrbitControls.js +1849 -1
  47. package/dist/esm/node_modules/three/examples/jsm/exporters/GLTFExporter.js +3533 -1
  48. package/dist/esm/node_modules/three/examples/jsm/exporters/OBJExporter.js +301 -1
  49. package/dist/esm/node_modules/three/examples/jsm/exporters/PLYExporter.js +538 -1
  50. package/dist/esm/node_modules/three/examples/jsm/exporters/STLExporter.js +214 -1
  51. package/dist/esm/node_modules/three/examples/jsm/loaders/DRACOLoader.js +679 -1
  52. package/dist/esm/node_modules/three/examples/jsm/loaders/GLTFLoader.js +4807 -1
  53. package/dist/esm/node_modules/three/examples/jsm/loaders/RGBELoader.js +476 -1
  54. package/dist/esm/node_modules/three/examples/jsm/renderers/CSS2DRenderer.js +304 -1
  55. package/dist/esm/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +116 -1
  56. package/dist/esm/src/analysis/analysis.js +536 -1
  57. package/dist/esm/src/analysis/testing.js +954 -1
  58. package/dist/esm/src/core/centralPlant.js +1144 -1
  59. package/dist/esm/src/core/debugLogger.js +167 -1
  60. package/dist/esm/src/core/mathUtils.js +570 -1
  61. package/dist/esm/src/core/nameUtils.js +87 -1
  62. package/dist/esm/src/data/export.js +712 -1
  63. package/dist/esm/src/data/import.js +356 -1
  64. package/dist/esm/src/data/numerics.js +518 -1
  65. package/dist/esm/src/helpers/sceneHelper.js +547 -1
  66. package/dist/esm/src/index.js +35 -1
  67. package/dist/esm/src/managers/components/animationManager.js +119 -1
  68. package/dist/esm/src/managers/components/componentManager.js +328 -1
  69. package/dist/esm/src/managers/components/pathfindingManager.js +1417 -1
  70. package/dist/esm/src/managers/controls/TransformControls.js +1057 -1
  71. package/dist/esm/src/managers/controls/cameraControlsManager.js +75 -1
  72. package/dist/esm/src/managers/controls/dragDropManager.js +1002 -1
  73. package/dist/esm/src/managers/controls/keyboardControlsManager.js +371 -1
  74. package/dist/esm/src/managers/controls/transformControlsManager.js +1782 -1
  75. package/dist/esm/src/managers/environment/environmentManager.js +690 -1
  76. package/dist/esm/src/managers/environment/textureConfig.js +202 -1
  77. package/dist/esm/src/managers/scene/sceneExportManager.js +260 -1
  78. package/dist/esm/src/managers/scene/sceneInitializationManager.js +322 -1
  79. package/dist/esm/src/managers/scene/sceneOperationsManager.js +1485 -1
  80. package/dist/esm/src/managers/scene/sceneTooltipsManager.js +637 -1
  81. package/dist/esm/src/managers/system/disposalManager.js +440 -1
  82. package/dist/esm/src/managers/system/hotReloadManager.js +287 -1
  83. package/dist/esm/src/managers/system/performanceMonitor.js +858 -1
  84. package/dist/esm/src/rendering/modelPreloader.js +364 -1
  85. package/dist/esm/src/rendering/rendering2D.js +627 -1
  86. package/dist/esm/src/rendering/rendering3D.js +661 -1
  87. package/package.json +1 -1
@@ -1 +1,287 @@
1
- import{createClass as t,classCallCheck as i}from"../../../_virtual/_rollupPluginBabelHelpers.js";var n=function(){return t(function t(n){i(this,t),this.sceneViewer=n||null,this.isDev="development"===process.env.NODE_ENV,this.instanceId=Date.now()+Math.random(),this.hotReloadCleanupHandler=null,this.visibilityChangeHandler=null,this.nuxtHotReloadHandler=null,this.memoryCheckInterval=null,this.timeoutIds=new Set,this.intervalIds=new Set},[{key:"setupHotReloadHandling",value:function(){var t=this;if(this.sceneViewer&&this.isDev){window._sceneViewerInstances||(window._sceneViewerInstances=new Set);try{window._sceneViewerInstances.add(this.sceneViewer)}catch(t){}this.hotReloadCleanupHandler=function(){if(t.sceneViewer){if(t.sceneViewer&&t.sceneViewer.tooltipsManager)try{t.sceneViewer.tooltipsManager.dispose(),t.sceneViewer.tooltipsManager=null}catch(t){}try{"function"==typeof t.sceneViewer.enhancedDisposal&&t.sceneViewer.enhancedDisposal()}catch(t){}try{import("./performanceMonitor.js").then(function(t){var i=t.PerformanceUI;i&&"function"==typeof i.cleanupAllInstances&&i.cleanupAllInstances()}).catch(function(t){})}catch(t){}if(window._sceneViewerInstances)try{window._sceneViewerInstances.delete(t.sceneViewer)}catch(t){}}};try{window.addEventListener("beforeunload",this.hotReloadCleanupHandler),window.addEventListener("pagehide",this.hotReloadCleanupHandler)}catch(t){}}}},{key:"cleanupHotReloadHandlers",value:function(){if(this.isDev)try{this.hotReloadCleanupHandler&&(window.removeEventListener("beforeunload",this.hotReloadCleanupHandler),window.removeEventListener("pagehide",this.hotReloadCleanupHandler),this.hotReloadCleanupHandler=null),this.visibilityChangeHandler&&(document.removeEventListener("visibilitychange",this.visibilityChangeHandler),this.visibilityChangeHandler=null),this.nuxtHotReloadHandler&&window.$nuxt&&window.$nuxt.$off&&(window.$nuxt.$off("routeChanged",this.nuxtHotReloadHandler),window.$nuxt.$off("$nuxtReady",this.nuxtHotReloadHandler),this.nuxtHotReloadHandler=null),this.memoryCheckInterval&&(clearInterval(this.memoryCheckInterval),this.memoryCheckInterval=null);this.sceneViewer;if(window._sceneViewerInstances&&this.sceneViewer)try{window._sceneViewerInstances.delete(this.sceneViewer)}catch(t){}this.sceneViewer=null,window._sceneViewerInstances&&0===window._sceneViewerInstances.size&&delete window._sceneViewerInstances}catch(t){}}},{key:"clearPendingOperations",value:function(){this.timeoutIds&&(this.timeoutIds.forEach(function(t){return clearTimeout(t)}),this.timeoutIds.clear()),this.intervalIds&&(this.intervalIds.forEach(function(t){return clearInterval(t)}),this.intervalIds.clear()),this.isDev}},{key:"forceGarbageCollectionHint",value:function(){this.isDev&&setTimeout(function(){window.gc?window.gc():new Array(1e6).fill(0).length=0},100)}},{key:"addTimeout",value:function(t){this.timeoutIds.add(t)}},{key:"addInterval",value:function(t){this.intervalIds.add(t)}},{key:"removeTimeout",value:function(t){this.timeoutIds.delete(t)}},{key:"removeInterval",value:function(t){this.intervalIds.delete(t)}}])}();export{n as HotReloadManager};
1
+ import { createClass as _createClass, classCallCheck as _classCallCheck } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
+
3
+ /**
4
+ * Hot-Reload Manager Class
5
+ * Handles development environment hot-reload detection and cleanup
6
+ */
7
+ var HotReloadManager = /*#__PURE__*/function () {
8
+ function HotReloadManager(sceneViewer) {
9
+ _classCallCheck(this, HotReloadManager);
10
+ // Safety check to ensure sceneViewer is defined
11
+ if (!sceneViewer) {
12
+ console.warn('โš ๏ธ HotReloadManager initialized with undefined scene viewer');
13
+ this.sceneViewer = null;
14
+ } else {
15
+ this.sceneViewer = sceneViewer;
16
+
17
+ // Note: The reference to this manager will be set via CentralPlant.attachToComponent()
18
+ // No need to set it directly here
19
+ }
20
+ this.isDev = process.env.NODE_ENV === 'development';
21
+ this.instanceId = Date.now() + Math.random();
22
+
23
+ // Event handlers
24
+ this.hotReloadCleanupHandler = null;
25
+ this.visibilityChangeHandler = null;
26
+ this.nuxtHotReloadHandler = null;
27
+ this.memoryCheckInterval = null;
28
+
29
+ // Async operation tracking
30
+ this.timeoutIds = new Set();
31
+ this.intervalIds = new Set();
32
+ console.log("\uD83D\uDD27 HotReloadManager initialized (ID: ".concat(this.instanceId.toString().slice(-8), ")"));
33
+ }
34
+
35
+ /**
36
+ * Setup hot-reload handling for development environment
37
+ */
38
+ return _createClass(HotReloadManager, [{
39
+ key: "setupHotReloadHandling",
40
+ value: function setupHotReloadHandling() {
41
+ var _this = this;
42
+ console.log('๐Ÿ”ง setupHotReloadHandling method called successfully!');
43
+
44
+ // Safety check for component availability
45
+ if (!this.sceneViewer) {
46
+ console.warn('โš ๏ธ Cannot setup hot-reload handling: component is undefined');
47
+ return;
48
+ }
49
+ if (!this.isDev) {
50
+ console.log('Not in development mode, skipping hot-reload setup');
51
+ return;
52
+ }
53
+ console.log('Setting up hot-reload handling...');
54
+
55
+ // Initialize global instance tracking
56
+ if (!window._sceneViewerInstances) {
57
+ window._sceneViewerInstances = new Set();
58
+ console.log('๐Ÿ”ง [Hot-Reload] Initialized global instance tracking');
59
+ }
60
+
61
+ // Add this instance to global tracking
62
+ try {
63
+ window._sceneViewerInstances.add(this.sceneViewer);
64
+ console.log('๐Ÿ“ [Hot-Reload] Instance registered:', {
65
+ instanceId: this.instanceId,
66
+ totalInstances: window._sceneViewerInstances.size
67
+ });
68
+ } catch (e) {
69
+ console.error('Error adding component to instance tracking:', e);
70
+ }
71
+
72
+ // Enhanced beforeunload handler for development
73
+ this.hotReloadCleanupHandler = function () {
74
+ console.log('๐Ÿ”„ [Hot-Reload] Page unload detected, performing enhanced cleanup');
75
+
76
+ // Safety check for component
77
+ if (!_this.sceneViewer) {
78
+ console.warn('โš ๏ธ Cannot perform cleanup: component is undefined');
79
+ return;
80
+ }
81
+
82
+ // Disable tooltipsManager before disposal to prevent errors
83
+ if (_this.sceneViewer && _this.sceneViewer.tooltipsManager) {
84
+ try {
85
+ console.log('๐Ÿ”ง [Hot-Reload] Disabling tooltipsManager');
86
+ _this.sceneViewer.tooltipsManager.dispose();
87
+ _this.sceneViewer.tooltipsManager = null;
88
+ } catch (e) {
89
+ console.error('Error disabling tooltipsManager:', e);
90
+ }
91
+ }
92
+ try {
93
+ // Check if enhancedDisposal method exists before calling
94
+ if (typeof _this.sceneViewer.enhancedDisposal === 'function') {
95
+ _this.sceneViewer.enhancedDisposal();
96
+ } else {
97
+ console.warn('โš ๏ธ enhancedDisposal method not found on component');
98
+ }
99
+ } catch (e) {
100
+ console.error('Error during enhancedDisposal:', e);
101
+ }
102
+
103
+ // Global cleanup of performance monitor UI elements during hot-reload
104
+ try {
105
+ // Import PerformanceUI dynamically to avoid circular imports
106
+ import('./performanceMonitor.js').then(function (_ref) {
107
+ var PerformanceUI = _ref.PerformanceUI;
108
+ if (PerformanceUI && typeof PerformanceUI.cleanupAllInstances === 'function') {
109
+ PerformanceUI.cleanupAllInstances();
110
+ }
111
+ }).catch(function (e) {
112
+ console.warn('โš ๏ธ Could not perform global performance monitor cleanup:', e);
113
+ });
114
+ } catch (e) {
115
+ console.error('Error during global performance monitor cleanup:', e);
116
+ }
117
+
118
+ // Remove from tracking
119
+ if (window._sceneViewerInstances) {
120
+ try {
121
+ window._sceneViewerInstances.delete(_this.sceneViewer);
122
+ } catch (e) {
123
+ console.error('Error removing component from instance tracking:', e);
124
+ }
125
+ }
126
+ };
127
+
128
+ // Add event listeners
129
+ try {
130
+ window.addEventListener('beforeunload', this.hotReloadCleanupHandler);
131
+ window.addEventListener('pagehide', this.hotReloadCleanupHandler);
132
+ } catch (e) {
133
+ console.error('Error adding event listeners for hot reload:', e);
134
+ }
135
+ console.log('โœ… [Hot-Reload] Hot-reload handling setup completed');
136
+ }
137
+
138
+ /**
139
+ * Cleanup hot-reload handlers (development only)
140
+ */
141
+ }, {
142
+ key: "cleanupHotReloadHandlers",
143
+ value: function cleanupHotReloadHandlers() {
144
+ console.log("\uD83E\uDDF9 Cleaning up hot-reload handlers (Manager ID: ".concat(this.instanceId.toString().slice(-8), ")"));
145
+ if (!this.isDev) return;
146
+ try {
147
+ // Remove event listeners
148
+ if (this.hotReloadCleanupHandler) {
149
+ window.removeEventListener('beforeunload', this.hotReloadCleanupHandler);
150
+ window.removeEventListener('pagehide', this.hotReloadCleanupHandler);
151
+ this.hotReloadCleanupHandler = null;
152
+ }
153
+ if (this.visibilityChangeHandler) {
154
+ document.removeEventListener('visibilitychange', this.visibilityChangeHandler);
155
+ this.visibilityChangeHandler = null;
156
+ }
157
+
158
+ // Remove Nuxt hot-reload handlers
159
+ if (this.nuxtHotReloadHandler && window.$nuxt && window.$nuxt.$off) {
160
+ window.$nuxt.$off('routeChanged', this.nuxtHotReloadHandler);
161
+ window.$nuxt.$off('$nuxtReady', this.nuxtHotReloadHandler);
162
+ this.nuxtHotReloadHandler = null;
163
+ }
164
+
165
+ // Clear memory monitoring interval
166
+ if (this.memoryCheckInterval) {
167
+ clearInterval(this.memoryCheckInterval);
168
+ this.memoryCheckInterval = null;
169
+ }
170
+
171
+ // Remove reference to component in this manager
172
+ var hadComponent = !!this.sceneViewer;
173
+
174
+ // Remove from global instance tracking (safely)
175
+ if (window._sceneViewerInstances && this.sceneViewer) {
176
+ try {
177
+ window._sceneViewerInstances.delete(this.sceneViewer);
178
+ console.log('๐Ÿ“ [Hot-Reload] Instance removed from tracking:', {
179
+ instanceId: this.instanceId
180
+ });
181
+ } catch (e) {
182
+ console.error('Error removing component from tracking:', e);
183
+ }
184
+ }
185
+
186
+ // Clear component reference after using it
187
+ this.sceneViewer = null;
188
+ if (hadComponent) {
189
+ console.log('โœ… Component reference cleared from hot-reload manager');
190
+ }
191
+
192
+ // Clean up global tracking if no instances remain
193
+ if (window._sceneViewerInstances && window._sceneViewerInstances.size === 0) {
194
+ delete window._sceneViewerInstances;
195
+ console.log('๐Ÿงน [Hot-Reload] Global instance tracking cleaned up');
196
+ }
197
+ } catch (e) {
198
+ console.error('Error during hot-reload handler cleanup:', e);
199
+ }
200
+ console.log('โœ… [Hot-Reload] Hot-reload handlers cleanup completed');
201
+ }
202
+
203
+ /**
204
+ * Clear any pending timeouts, intervals, or async operations
205
+ */
206
+ }, {
207
+ key: "clearPendingOperations",
208
+ value: function clearPendingOperations() {
209
+ // Clear any stored timeout/interval IDs
210
+ if (this.timeoutIds) {
211
+ this.timeoutIds.forEach(function (id) {
212
+ return clearTimeout(id);
213
+ });
214
+ this.timeoutIds.clear();
215
+ }
216
+ if (this.intervalIds) {
217
+ this.intervalIds.forEach(function (id) {
218
+ return clearInterval(id);
219
+ });
220
+ this.intervalIds.clear();
221
+ }
222
+ if (this.isDev) {
223
+ console.log('โฐ [Hot-Reload] Cleared pending operations');
224
+ }
225
+ }
226
+
227
+ /**
228
+ * Force garbage collection hint (development only)
229
+ */
230
+ }, {
231
+ key: "forceGarbageCollectionHint",
232
+ value: function forceGarbageCollectionHint() {
233
+ if (this.isDev) {
234
+ // Multiple strategies to encourage garbage collection
235
+ setTimeout(function () {
236
+ if (window.gc) {
237
+ window.gc();
238
+ console.log('๐Ÿ—‘๏ธ [Hot-Reload] Manual garbage collection triggered');
239
+ } else {
240
+ // Force garbage collection through memory pressure
241
+ var dummy = new Array(1000000).fill(0);
242
+ dummy.length = 0;
243
+ console.log('๐Ÿ—‘๏ธ [Hot-Reload] Memory pressure GC hint applied');
244
+ }
245
+ }, 100);
246
+ }
247
+ }
248
+
249
+ /**
250
+ * Add timeout ID for tracking
251
+ */
252
+ }, {
253
+ key: "addTimeout",
254
+ value: function addTimeout(id) {
255
+ this.timeoutIds.add(id);
256
+ }
257
+
258
+ /**
259
+ * Add interval ID for tracking
260
+ */
261
+ }, {
262
+ key: "addInterval",
263
+ value: function addInterval(id) {
264
+ this.intervalIds.add(id);
265
+ }
266
+
267
+ /**
268
+ * Remove timeout ID from tracking
269
+ */
270
+ }, {
271
+ key: "removeTimeout",
272
+ value: function removeTimeout(id) {
273
+ this.timeoutIds.delete(id);
274
+ }
275
+
276
+ /**
277
+ * Remove interval ID from tracking
278
+ */
279
+ }, {
280
+ key: "removeInterval",
281
+ value: function removeInterval(id) {
282
+ this.intervalIds.delete(id);
283
+ }
284
+ }]);
285
+ }();
286
+
287
+ export { HotReloadManager };