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

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