@2112-lab/central-plant 0.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/README.md +0 -0
- package/dist/bundle/index.js +14259 -0
- package/dist/cjs/_virtual/_rollupPluginBabelHelpers.js +353 -0
- package/dist/cjs/node_modules/three/examples/jsm/controls/OrbitControls.js +1292 -0
- package/dist/cjs/node_modules/three/examples/jsm/controls/TransformControls.js +1543 -0
- package/dist/cjs/node_modules/three/examples/jsm/loaders/GLTFLoader.js +4374 -0
- package/dist/cjs/node_modules/three/examples/jsm/loaders/RGBELoader.js +465 -0
- package/dist/cjs/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +117 -0
- package/dist/cjs/src/ConnectionManager.js +114 -0
- package/dist/cjs/src/Pathfinder.js +88 -0
- package/dist/cjs/src/animationManager.js +121 -0
- package/dist/cjs/src/componentManager.js +151 -0
- package/dist/cjs/src/debugLogger.js +176 -0
- package/dist/cjs/src/disposalManager.js +185 -0
- package/dist/cjs/src/environmentManager.js +1015 -0
- package/dist/cjs/src/hotReloadManager.js +252 -0
- package/dist/cjs/src/index.js +126 -0
- package/dist/cjs/src/keyboardControlsManager.js +206 -0
- package/dist/cjs/src/modelPreloader.js +360 -0
- package/dist/cjs/src/nameUtils.js +106 -0
- package/dist/cjs/src/pathfindingManager.js +321 -0
- package/dist/cjs/src/performanceMonitor.js +718 -0
- package/dist/cjs/src/sceneExportManager.js +292 -0
- package/dist/cjs/src/sceneInitializationManager.js +540 -0
- package/dist/cjs/src/sceneOperationsManager.js +560 -0
- package/dist/cjs/src/textureConfig.js +195 -0
- package/dist/cjs/src/transformControlsManager.js +851 -0
- package/dist/esm/_virtual/_rollupPluginBabelHelpers.js +328 -0
- package/dist/esm/node_modules/three/examples/jsm/controls/OrbitControls.js +1287 -0
- package/dist/esm/node_modules/three/examples/jsm/controls/TransformControls.js +1537 -0
- package/dist/esm/node_modules/three/examples/jsm/loaders/GLTFLoader.js +4370 -0
- package/dist/esm/node_modules/three/examples/jsm/loaders/RGBELoader.js +461 -0
- package/dist/esm/node_modules/three/examples/jsm/utils/BufferGeometryUtils.js +113 -0
- package/dist/esm/src/ConnectionManager.js +110 -0
- package/dist/esm/src/Pathfinder.js +84 -0
- package/dist/esm/src/animationManager.js +112 -0
- package/dist/esm/src/componentManager.js +123 -0
- package/dist/esm/src/debugLogger.js +167 -0
- package/dist/esm/src/disposalManager.js +155 -0
- package/dist/esm/src/environmentManager.js +989 -0
- package/dist/esm/src/hotReloadManager.js +244 -0
- package/dist/esm/src/index.js +117 -0
- package/dist/esm/src/keyboardControlsManager.js +196 -0
- package/dist/esm/src/modelPreloader.js +337 -0
- package/dist/esm/src/nameUtils.js +99 -0
- package/dist/esm/src/pathfindingManager.js +295 -0
- package/dist/esm/src/performanceMonitor.js +712 -0
- package/dist/esm/src/sceneExportManager.js +286 -0
- package/dist/esm/src/sceneInitializationManager.js +513 -0
- package/dist/esm/src/sceneOperationsManager.js +536 -0
- package/dist/esm/src/textureConfig.js +168 -0
- package/dist/esm/src/transformControlsManager.js +827 -0
- package/dist/index.d.ts +259 -0
- package/package.json +53 -0
|
@@ -0,0 +1,540 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var _rollupPluginBabelHelpers = require('../_virtual/_rollupPluginBabelHelpers.js');
|
|
6
|
+
var THREE = require('three');
|
|
7
|
+
var debugLogger = require('./debugLogger.js');
|
|
8
|
+
|
|
9
|
+
function _interopNamespace(e) {
|
|
10
|
+
if (e && e.__esModule) return e;
|
|
11
|
+
var n = Object.create(null);
|
|
12
|
+
if (e) {
|
|
13
|
+
Object.keys(e).forEach(function (k) {
|
|
14
|
+
if (k !== 'default') {
|
|
15
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () { return e[k]; }
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
n["default"] = e;
|
|
24
|
+
return Object.freeze(n);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
var THREE__namespace = /*#__PURE__*/_interopNamespace(THREE);
|
|
28
|
+
|
|
29
|
+
// These will be loaded dynamically in browser environments
|
|
30
|
+
var OrbitControls;
|
|
31
|
+
var GLTFLoader;
|
|
32
|
+
var PerformanceMonitor;
|
|
33
|
+
var PerformanceUI;
|
|
34
|
+
|
|
35
|
+
// Dynamic imports for browser compatibility
|
|
36
|
+
function importThreeJSDependencies() {
|
|
37
|
+
return _importThreeJSDependencies.apply(this, arguments);
|
|
38
|
+
}
|
|
39
|
+
function _importThreeJSDependencies() {
|
|
40
|
+
_importThreeJSDependencies = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee4() {
|
|
41
|
+
var orbitModule, customModule, gltfModule, perfModule, _t, _t3, _t4;
|
|
42
|
+
return _rollupPluginBabelHelpers.regenerator().w(function (_context4) {
|
|
43
|
+
while (1) switch (_context4.n) {
|
|
44
|
+
case 0:
|
|
45
|
+
if (!(typeof window !== 'undefined')) {
|
|
46
|
+
_context4.n = 15;
|
|
47
|
+
break;
|
|
48
|
+
}
|
|
49
|
+
_context4.p = 1;
|
|
50
|
+
_context4.p = 2;
|
|
51
|
+
_context4.n = 3;
|
|
52
|
+
return Promise.resolve().then(function () { return require('../node_modules/three/examples/jsm/controls/OrbitControls.js'); });
|
|
53
|
+
case 3:
|
|
54
|
+
orbitModule = _context4.v;
|
|
55
|
+
OrbitControls = orbitModule.OrbitControls;
|
|
56
|
+
_context4.n = 9;
|
|
57
|
+
break;
|
|
58
|
+
case 4:
|
|
59
|
+
_context4.p = 4;
|
|
60
|
+
_t = _context4.v;
|
|
61
|
+
console.warn('OrbitControls not loaded:', _t.message);
|
|
62
|
+
// Fallback for OrbitControls - may be needed in some bundlers
|
|
63
|
+
_context4.p = 5;
|
|
64
|
+
if (!(typeof window.__orbitControlsCustomPath === 'string')) {
|
|
65
|
+
_context4.n = 7;
|
|
66
|
+
break;
|
|
67
|
+
}
|
|
68
|
+
_context4.n = 6;
|
|
69
|
+
return (function (t) { return Promise.resolve().then(function () { return /*#__PURE__*/_interopNamespace(require(t)); }); })(window.__orbitControlsCustomPath);
|
|
70
|
+
case 6:
|
|
71
|
+
customModule = _context4.v;
|
|
72
|
+
OrbitControls = customModule.OrbitControls;
|
|
73
|
+
case 7:
|
|
74
|
+
_context4.n = 9;
|
|
75
|
+
break;
|
|
76
|
+
case 8:
|
|
77
|
+
_context4.p = 8;
|
|
78
|
+
_context4.v;
|
|
79
|
+
console.warn('Failed to load OrbitControls from custom path');
|
|
80
|
+
case 9:
|
|
81
|
+
_context4.p = 9;
|
|
82
|
+
_context4.n = 10;
|
|
83
|
+
return Promise.resolve().then(function () { return require('../node_modules/three/examples/jsm/loaders/GLTFLoader.js'); });
|
|
84
|
+
case 10:
|
|
85
|
+
gltfModule = _context4.v;
|
|
86
|
+
GLTFLoader = gltfModule.GLTFLoader;
|
|
87
|
+
_context4.n = 12;
|
|
88
|
+
break;
|
|
89
|
+
case 11:
|
|
90
|
+
_context4.p = 11;
|
|
91
|
+
_t3 = _context4.v;
|
|
92
|
+
console.warn('GLTFLoader not loaded:', _t3.message);
|
|
93
|
+
case 12:
|
|
94
|
+
_context4.n = 13;
|
|
95
|
+
return Promise.resolve().then(function () { return require('./performanceMonitor.js'); });
|
|
96
|
+
case 13:
|
|
97
|
+
perfModule = _context4.v;
|
|
98
|
+
PerformanceMonitor = perfModule.PerformanceMonitor;
|
|
99
|
+
PerformanceUI = perfModule.PerformanceUI;
|
|
100
|
+
_context4.n = 15;
|
|
101
|
+
break;
|
|
102
|
+
case 14:
|
|
103
|
+
_context4.p = 14;
|
|
104
|
+
_t4 = _context4.v;
|
|
105
|
+
console.error('Failed to load Three.js dependencies:', _t4);
|
|
106
|
+
case 15:
|
|
107
|
+
return _context4.a(2);
|
|
108
|
+
}
|
|
109
|
+
}, _callee4, null, [[9, 11], [5, 8], [2, 4], [1, 14]]);
|
|
110
|
+
}));
|
|
111
|
+
return _importThreeJSDependencies.apply(this, arguments);
|
|
112
|
+
}
|
|
113
|
+
var SceneInitializationManager = /*#__PURE__*/function () {
|
|
114
|
+
function SceneInitializationManager(component) {
|
|
115
|
+
_rollupPluginBabelHelpers.classCallCheck(this, SceneInitializationManager);
|
|
116
|
+
this.component = component;
|
|
117
|
+
this.textureLoader = null;
|
|
118
|
+
this.gltfLoader = null;
|
|
119
|
+
|
|
120
|
+
// Initialize dependencies
|
|
121
|
+
importThreeJSDependencies();
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/**
|
|
125
|
+
* Initialize the Three.js scene, camera, and renderer
|
|
126
|
+
*/
|
|
127
|
+
return _rollupPluginBabelHelpers.createClass(SceneInitializationManager, [{
|
|
128
|
+
key: "initializeScene",
|
|
129
|
+
value: (function () {
|
|
130
|
+
var _initializeScene = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee() {
|
|
131
|
+
var _component$$refs, _component$$refs2;
|
|
132
|
+
var component, containerRect, containerWidth, containerHeight;
|
|
133
|
+
return _rollupPluginBabelHelpers.regenerator().w(function (_context) {
|
|
134
|
+
while (1) switch (_context.n) {
|
|
135
|
+
case 0:
|
|
136
|
+
component = this.component;
|
|
137
|
+
if (component) {
|
|
138
|
+
_context.n = 1;
|
|
139
|
+
break;
|
|
140
|
+
}
|
|
141
|
+
debugLogger.logger.error('Cannot initialize scene: component not available');
|
|
142
|
+
return _context.a(2);
|
|
143
|
+
case 1:
|
|
144
|
+
// Create scene
|
|
145
|
+
component.scene = new THREE__namespace.Scene();
|
|
146
|
+
|
|
147
|
+
// Create camera (default values, can be updated later)
|
|
148
|
+
containerRect = ((_component$$refs = component.$refs) === null || _component$$refs === void 0 || (_component$$refs = _component$$refs.container) === null || _component$$refs === void 0 ? void 0 : _component$$refs.getBoundingClientRect()) || {
|
|
149
|
+
width: 800,
|
|
150
|
+
height: 600
|
|
151
|
+
};
|
|
152
|
+
containerWidth = containerRect.width;
|
|
153
|
+
containerHeight = containerRect.height;
|
|
154
|
+
component.camera = new THREE__namespace.PerspectiveCamera(50, containerWidth / containerHeight, 0.01, 1000);
|
|
155
|
+
component.camera.position.set(-8, 4, 9);
|
|
156
|
+
|
|
157
|
+
// Setup renderer if container exists
|
|
158
|
+
if (!((_component$$refs2 = component.$refs) !== null && _component$$refs2 !== void 0 && _component$$refs2.container)) {
|
|
159
|
+
_context.n = 2;
|
|
160
|
+
break;
|
|
161
|
+
}
|
|
162
|
+
_context.n = 2;
|
|
163
|
+
return this.setupRenderer(component.$refs.container, containerWidth, containerHeight);
|
|
164
|
+
case 2:
|
|
165
|
+
debugLogger.logger.info('Scene and camera initialized');
|
|
166
|
+
return _context.a(2, {
|
|
167
|
+
scene: component.scene,
|
|
168
|
+
camera: component.camera
|
|
169
|
+
});
|
|
170
|
+
}
|
|
171
|
+
}, _callee, this);
|
|
172
|
+
}));
|
|
173
|
+
function initializeScene() {
|
|
174
|
+
return _initializeScene.apply(this, arguments);
|
|
175
|
+
}
|
|
176
|
+
return initializeScene;
|
|
177
|
+
}()
|
|
178
|
+
/**
|
|
179
|
+
* Setup the WebGL renderer
|
|
180
|
+
*/
|
|
181
|
+
)
|
|
182
|
+
}, {
|
|
183
|
+
key: "setupRenderer",
|
|
184
|
+
value: (function () {
|
|
185
|
+
var _setupRenderer = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee2(container, width, height) {
|
|
186
|
+
var component, containerRect;
|
|
187
|
+
return _rollupPluginBabelHelpers.regenerator().w(function (_context2) {
|
|
188
|
+
while (1) switch (_context2.n) {
|
|
189
|
+
case 0:
|
|
190
|
+
component = this.component;
|
|
191
|
+
if (component) {
|
|
192
|
+
_context2.n = 1;
|
|
193
|
+
break;
|
|
194
|
+
}
|
|
195
|
+
debugLogger.logger.error('Cannot setup renderer: component not available');
|
|
196
|
+
return _context2.a(2, null);
|
|
197
|
+
case 1:
|
|
198
|
+
// Use provided dimensions or get from container
|
|
199
|
+
if (!width || !height) {
|
|
200
|
+
containerRect = container.getBoundingClientRect();
|
|
201
|
+
width = containerRect.width;
|
|
202
|
+
height = containerRect.height;
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
// Create renderer
|
|
206
|
+
component.renderer = new THREE__namespace.WebGLRenderer({
|
|
207
|
+
antialias: true
|
|
208
|
+
});
|
|
209
|
+
component.renderer.setSize(width, height);
|
|
210
|
+
component.renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
|
|
211
|
+
component.renderer.shadowMap.enabled = true;
|
|
212
|
+
component.renderer.shadowMap.type = THREE__namespace.PCFSoftShadowMap;
|
|
213
|
+
component.renderer.physicallyCorrectLights = true;
|
|
214
|
+
component.renderer.outputColorSpace = THREE__namespace.SRGBColorSpace;
|
|
215
|
+
component.renderer.toneMapping = THREE__namespace.LinearToneMapping;
|
|
216
|
+
component.renderer.toneMappingExposure = 1.5;
|
|
217
|
+
|
|
218
|
+
// Add renderer to container
|
|
219
|
+
container.appendChild(component.renderer.domElement);
|
|
220
|
+
|
|
221
|
+
// Setup resize handler
|
|
222
|
+
this.setupResizeHandler();
|
|
223
|
+
|
|
224
|
+
// Create texture and model loaders
|
|
225
|
+
component.textureLoader = new THREE__namespace.TextureLoader();
|
|
226
|
+
this.textureLoader = component.textureLoader;
|
|
227
|
+
|
|
228
|
+
// Initialize GLTF loader if available
|
|
229
|
+
if (!GLTFLoader) {
|
|
230
|
+
_context2.n = 2;
|
|
231
|
+
break;
|
|
232
|
+
}
|
|
233
|
+
component.gltfLoader = new GLTFLoader();
|
|
234
|
+
this.gltfLoader = component.gltfLoader;
|
|
235
|
+
_context2.n = 4;
|
|
236
|
+
break;
|
|
237
|
+
case 2:
|
|
238
|
+
_context2.n = 3;
|
|
239
|
+
return importThreeJSDependencies();
|
|
240
|
+
case 3:
|
|
241
|
+
if (GLTFLoader) {
|
|
242
|
+
component.gltfLoader = new GLTFLoader();
|
|
243
|
+
this.gltfLoader = component.gltfLoader;
|
|
244
|
+
}
|
|
245
|
+
case 4:
|
|
246
|
+
debugLogger.logger.info('Renderer initialized');
|
|
247
|
+
return _context2.a(2, component.renderer);
|
|
248
|
+
}
|
|
249
|
+
}, _callee2, this);
|
|
250
|
+
}));
|
|
251
|
+
function setupRenderer(_x, _x2, _x3) {
|
|
252
|
+
return _setupRenderer.apply(this, arguments);
|
|
253
|
+
}
|
|
254
|
+
return setupRenderer;
|
|
255
|
+
}()
|
|
256
|
+
/**
|
|
257
|
+
* Setup orbit controls
|
|
258
|
+
*/
|
|
259
|
+
)
|
|
260
|
+
}, {
|
|
261
|
+
key: "setupControls",
|
|
262
|
+
value: function setupControls(container) {
|
|
263
|
+
var _this = this;
|
|
264
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
265
|
+
var component = this.component;
|
|
266
|
+
if (!component || !component.camera || !component.renderer) {
|
|
267
|
+
debugLogger.logger.error('Cannot setup controls: camera or renderer not available');
|
|
268
|
+
return null;
|
|
269
|
+
}
|
|
270
|
+
|
|
271
|
+
// Initialize OrbitControls if available
|
|
272
|
+
if (!OrbitControls) {
|
|
273
|
+
debugLogger.logger.info('OrbitControls not available, will try to import');
|
|
274
|
+
importThreeJSDependencies().then(function () {
|
|
275
|
+
if (OrbitControls) {
|
|
276
|
+
_this.setupControlsInternal(container, options);
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
return null;
|
|
280
|
+
}
|
|
281
|
+
return this.setupControlsInternal(container, options);
|
|
282
|
+
}
|
|
283
|
+
|
|
284
|
+
/**
|
|
285
|
+
* Internal method to setup controls after dependencies are loaded
|
|
286
|
+
*/
|
|
287
|
+
}, {
|
|
288
|
+
key: "setupControlsInternal",
|
|
289
|
+
value: function setupControlsInternal(container) {
|
|
290
|
+
var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
|
|
291
|
+
var component = this.component;
|
|
292
|
+
var domElement = container || component.renderer.domElement;
|
|
293
|
+
|
|
294
|
+
// Create controls
|
|
295
|
+
component.controls = new OrbitControls(component.camera, domElement);
|
|
296
|
+
|
|
297
|
+
// Apply options
|
|
298
|
+
component.controls.enableDamping = options.enableDamping !== false;
|
|
299
|
+
component.controls.dampingFactor = options.dampingFactor || 0.05;
|
|
300
|
+
component.controls.screenSpacePanning = options.screenSpacePanning !== false;
|
|
301
|
+
component.controls.maxPolarAngle = options.maxPolarAngle || Math.PI / 1.5;
|
|
302
|
+
component.controls.minDistance = options.minDistance || 2;
|
|
303
|
+
component.controls.maxDistance = options.maxDistance || 50;
|
|
304
|
+
|
|
305
|
+
// Additional options if provided
|
|
306
|
+
if (options.target) {
|
|
307
|
+
component.controls.target.copy(options.target);
|
|
308
|
+
}
|
|
309
|
+
if (options.autoRotate) {
|
|
310
|
+
component.controls.autoRotate = true;
|
|
311
|
+
component.controls.autoRotateSpeed = options.autoRotateSpeed || 1.0;
|
|
312
|
+
}
|
|
313
|
+
debugLogger.logger.info('Orbit controls initialized');
|
|
314
|
+
return component.controls;
|
|
315
|
+
}
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* Initialize performance monitoring
|
|
319
|
+
*/
|
|
320
|
+
}, {
|
|
321
|
+
key: "initializePerformanceMonitoring",
|
|
322
|
+
value: (function () {
|
|
323
|
+
var _initializePerformanceMonitoring = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee3() {
|
|
324
|
+
var _component$$refs3;
|
|
325
|
+
var component;
|
|
326
|
+
return _rollupPluginBabelHelpers.regenerator().w(function (_context3) {
|
|
327
|
+
while (1) switch (_context3.n) {
|
|
328
|
+
case 0:
|
|
329
|
+
component = this.component;
|
|
330
|
+
if (!(!component || !component.renderer)) {
|
|
331
|
+
_context3.n = 1;
|
|
332
|
+
break;
|
|
333
|
+
}
|
|
334
|
+
debugLogger.logger.error('Cannot initialize performance monitoring: renderer not available');
|
|
335
|
+
return _context3.a(2);
|
|
336
|
+
case 1:
|
|
337
|
+
if (PerformanceMonitor) {
|
|
338
|
+
_context3.n = 3;
|
|
339
|
+
break;
|
|
340
|
+
}
|
|
341
|
+
_context3.n = 2;
|
|
342
|
+
return importThreeJSDependencies();
|
|
343
|
+
case 2:
|
|
344
|
+
if (PerformanceMonitor) {
|
|
345
|
+
_context3.n = 3;
|
|
346
|
+
break;
|
|
347
|
+
}
|
|
348
|
+
debugLogger.logger.error('Performance monitoring not available');
|
|
349
|
+
return _context3.a(2);
|
|
350
|
+
case 3:
|
|
351
|
+
// Initialize performance monitoring
|
|
352
|
+
component.performanceMonitor = new PerformanceMonitor(component.renderer);
|
|
353
|
+
if ((_component$$refs3 = component.$refs) !== null && _component$$refs3 !== void 0 && _component$$refs3.container) {
|
|
354
|
+
component.performanceUI = new PerformanceUI(component.performanceMonitor, component.$refs.container, 'light');
|
|
355
|
+
}
|
|
356
|
+
|
|
357
|
+
// Setup performance monitoring callbacks
|
|
358
|
+
component.performanceMonitor.on('warning', function (warnings) {
|
|
359
|
+
// logger.warn('Performance warnings:', warnings);
|
|
360
|
+
});
|
|
361
|
+
component.performanceMonitor.start();
|
|
362
|
+
if (component.performanceUI) {
|
|
363
|
+
component.performanceUI.show();
|
|
364
|
+
}
|
|
365
|
+
this.exposePerformanceMonitoringGlobally();
|
|
366
|
+
debugLogger.logger.info('Performance monitoring initialized');
|
|
367
|
+
return _context3.a(2, {
|
|
368
|
+
monitor: component.performanceMonitor,
|
|
369
|
+
ui: component.performanceUI
|
|
370
|
+
});
|
|
371
|
+
}
|
|
372
|
+
}, _callee3, this);
|
|
373
|
+
}));
|
|
374
|
+
function initializePerformanceMonitoring() {
|
|
375
|
+
return _initializePerformanceMonitoring.apply(this, arguments);
|
|
376
|
+
}
|
|
377
|
+
return initializePerformanceMonitoring;
|
|
378
|
+
}()
|
|
379
|
+
/**
|
|
380
|
+
* Expose performance monitoring to global scope for debugging
|
|
381
|
+
*/
|
|
382
|
+
)
|
|
383
|
+
}, {
|
|
384
|
+
key: "exposePerformanceMonitoringGlobally",
|
|
385
|
+
value: function exposePerformanceMonitoringGlobally() {
|
|
386
|
+
var component = this.component;
|
|
387
|
+
if (!component || !component.performanceMonitor) return;
|
|
388
|
+
if (typeof window !== 'undefined') {
|
|
389
|
+
window._performanceMonitor = component.performanceMonitor;
|
|
390
|
+
window._performanceUI = component.performanceUI;
|
|
391
|
+
window.performance3D = {
|
|
392
|
+
show: function show() {
|
|
393
|
+
var _component$performanc;
|
|
394
|
+
return (_component$performanc = component.performanceUI) === null || _component$performanc === void 0 ? void 0 : _component$performanc.show();
|
|
395
|
+
},
|
|
396
|
+
hide: function hide() {
|
|
397
|
+
var _component$performanc2;
|
|
398
|
+
return (_component$performanc2 = component.performanceUI) === null || _component$performanc2 === void 0 ? void 0 : _component$performanc2.hide();
|
|
399
|
+
},
|
|
400
|
+
toggle: function toggle() {
|
|
401
|
+
var _component$performanc3, _component$performanc4, _component$performanc5;
|
|
402
|
+
return (_component$performanc3 = component.performanceUI) !== null && _component$performanc3 !== void 0 && _component$performanc3.isVisible ? (_component$performanc4 = component.performanceUI) === null || _component$performanc4 === void 0 ? void 0 : _component$performanc4.hide() : (_component$performanc5 = component.performanceUI) === null || _component$performanc5 === void 0 ? void 0 : _component$performanc5.show();
|
|
403
|
+
},
|
|
404
|
+
setTheme: function setTheme(theme) {
|
|
405
|
+
var _component$performanc6;
|
|
406
|
+
return (_component$performanc6 = component.performanceUI) === null || _component$performanc6 === void 0 ? void 0 : _component$performanc6.setTheme(theme);
|
|
407
|
+
},
|
|
408
|
+
log: function log() {
|
|
409
|
+
var _component$performanc7;
|
|
410
|
+
return (_component$performanc7 = component.performanceMonitor) === null || _component$performanc7 === void 0 ? void 0 : _component$performanc7.logSummary();
|
|
411
|
+
},
|
|
412
|
+
reset: function reset() {
|
|
413
|
+
var _component$performanc8;
|
|
414
|
+
return (_component$performanc8 = component.performanceMonitor) === null || _component$performanc8 === void 0 ? void 0 : _component$performanc8.reset();
|
|
415
|
+
},
|
|
416
|
+
export: function _export() {
|
|
417
|
+
var _component$performanc9;
|
|
418
|
+
return (_component$performanc9 = component.performanceMonitor) === null || _component$performanc9 === void 0 ? void 0 : _component$performanc9.exportData();
|
|
419
|
+
},
|
|
420
|
+
help: function help() {
|
|
421
|
+
console.group('🔧 Performance Monitor Controls');
|
|
422
|
+
console.log('📊 performance3D.show() - Show performance UI');
|
|
423
|
+
console.log('🙈 performance3D.hide() - Hide performance UI');
|
|
424
|
+
console.log('🔄 performance3D.toggle() - Toggle performance UI');
|
|
425
|
+
console.log('🎨 performance3D.setTheme("light"|"dark") - Set UI theme');
|
|
426
|
+
console.log('📋 performance3D.log() - Log performance summary');
|
|
427
|
+
console.log('🔄 performance3D.reset() - Reset statistics');
|
|
428
|
+
console.log('💾 performance3D.export() - Export performance data');
|
|
429
|
+
console.log('❓ performance3D.help() - Show this help');
|
|
430
|
+
console.groupEnd();
|
|
431
|
+
}
|
|
432
|
+
};
|
|
433
|
+
debugLogger.logger.info('Performance monitoring exposed to global scope');
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
|
|
437
|
+
/**
|
|
438
|
+
* Setup resize handler for responsive rendering
|
|
439
|
+
*/
|
|
440
|
+
}, {
|
|
441
|
+
key: "setupResizeHandler",
|
|
442
|
+
value: function setupResizeHandler() {
|
|
443
|
+
var _component$$refs4;
|
|
444
|
+
var component = this.component;
|
|
445
|
+
if (!component || !((_component$$refs4 = component.$refs) !== null && _component$$refs4 !== void 0 && _component$$refs4.container)) return;
|
|
446
|
+
var handleResize = function handleResize() {
|
|
447
|
+
if (!component.renderer || !component.camera) return;
|
|
448
|
+
|
|
449
|
+
// Get container dimensions
|
|
450
|
+
var container = component.$refs.container;
|
|
451
|
+
var width = container.clientWidth;
|
|
452
|
+
var height = container.clientHeight;
|
|
453
|
+
|
|
454
|
+
// Update camera
|
|
455
|
+
component.camera.aspect = width / height;
|
|
456
|
+
component.camera.updateProjectionMatrix();
|
|
457
|
+
|
|
458
|
+
// Update renderer
|
|
459
|
+
component.renderer.setSize(width, height);
|
|
460
|
+
component.renderer.setPixelRatio(Math.min(window.devicePixelRatio, 2));
|
|
461
|
+
};
|
|
462
|
+
|
|
463
|
+
// Initial setup
|
|
464
|
+
handleResize();
|
|
465
|
+
|
|
466
|
+
// Add event listener
|
|
467
|
+
window.addEventListener('resize', handleResize);
|
|
468
|
+
|
|
469
|
+
// Store resize handler for cleanup
|
|
470
|
+
this._resizeHandler = handleResize;
|
|
471
|
+
debugLogger.logger.info('Resize handler initialized');
|
|
472
|
+
}
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* Cleanup resize handler
|
|
476
|
+
*/
|
|
477
|
+
}, {
|
|
478
|
+
key: "cleanupResizeHandler",
|
|
479
|
+
value: function cleanupResizeHandler() {
|
|
480
|
+
if (this._resizeHandler) {
|
|
481
|
+
window.removeEventListener('resize', this._resizeHandler);
|
|
482
|
+
this._resizeHandler = null;
|
|
483
|
+
}
|
|
484
|
+
}
|
|
485
|
+
}]);
|
|
486
|
+
}();
|
|
487
|
+
|
|
488
|
+
// Create a singleton instance
|
|
489
|
+
var sceneInitializationManager = null;
|
|
490
|
+
|
|
491
|
+
/**
|
|
492
|
+
* Get the global scene initialization manager instance
|
|
493
|
+
*/
|
|
494
|
+
function getSceneInitializationManager() {
|
|
495
|
+
var component = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;
|
|
496
|
+
if (!sceneInitializationManager || component && sceneInitializationManager.component !== component) {
|
|
497
|
+
sceneInitializationManager = new SceneInitializationManager(component);
|
|
498
|
+
}
|
|
499
|
+
return sceneInitializationManager;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
// Common initialization function
|
|
503
|
+
function setupScene(_x4, _x5) {
|
|
504
|
+
return _setupScene.apply(this, arguments);
|
|
505
|
+
}
|
|
506
|
+
function _setupScene() {
|
|
507
|
+
_setupScene = _rollupPluginBabelHelpers.asyncToGenerator(/*#__PURE__*/_rollupPluginBabelHelpers.regenerator().m(function _callee5(component, container) {
|
|
508
|
+
var manager;
|
|
509
|
+
return _rollupPluginBabelHelpers.regenerator().w(function (_context5) {
|
|
510
|
+
while (1) switch (_context5.n) {
|
|
511
|
+
case 0:
|
|
512
|
+
manager = getSceneInitializationManager(component);
|
|
513
|
+
_context5.n = 1;
|
|
514
|
+
return manager.initializeScene();
|
|
515
|
+
case 1:
|
|
516
|
+
if (!container) {
|
|
517
|
+
_context5.n = 3;
|
|
518
|
+
break;
|
|
519
|
+
}
|
|
520
|
+
_context5.n = 2;
|
|
521
|
+
return manager.setupRenderer(container);
|
|
522
|
+
case 2:
|
|
523
|
+
manager.setupControls(container);
|
|
524
|
+
case 3:
|
|
525
|
+
return _context5.a(2, manager);
|
|
526
|
+
}
|
|
527
|
+
}, _callee5);
|
|
528
|
+
}));
|
|
529
|
+
return _setupScene.apply(this, arguments);
|
|
530
|
+
}
|
|
531
|
+
var sceneInitializationManager$1 = {
|
|
532
|
+
SceneInitializationManager: SceneInitializationManager,
|
|
533
|
+
getSceneInitializationManager: getSceneInitializationManager,
|
|
534
|
+
setupScene: setupScene
|
|
535
|
+
};
|
|
536
|
+
|
|
537
|
+
exports.SceneInitializationManager = SceneInitializationManager;
|
|
538
|
+
exports["default"] = sceneInitializationManager$1;
|
|
539
|
+
exports.getSceneInitializationManager = getSceneInitializationManager;
|
|
540
|
+
exports.setupScene = setupScene;
|