@anov/3d 0.0.217 → 0.0.220
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/dist/module/entity/index.js +62 -64
- package/dist/module/entity/index.js.map +1 -1
- package/dist/module/entity/model/index.js +12 -8
- package/dist/module/entity/model/index.js.map +1 -1
- package/dist/module/eventBus/index.js +13 -0
- package/dist/module/eventBus/index.js.map +1 -1
- package/dist/module/material/index.js +4 -4
- package/dist/module/material/index.js.map +1 -1
- package/package.json +4 -3
|
@@ -10,19 +10,18 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
10
10
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
11
11
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
12
12
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
|
-
import { Group, use
|
|
13
|
+
import { Group, use } from '@anov/3d-core';
|
|
14
14
|
import { MaterialSwitchSystem, createHighSelectedTool } from '@anov/3d-ability';
|
|
15
15
|
import { MessageType, sendToMessage } from "../../utils/messageFn";
|
|
16
16
|
import { EMessageStatus } from "../../messageStatus";
|
|
17
|
+
import { entityEvents } from "../eventBus/entityEvents";
|
|
17
18
|
import HybridList from "./hybridList";
|
|
18
19
|
import { entityStrategy, eventPenetrateType } from "./strategy";
|
|
19
20
|
import createDisposeFn from "./dispose";
|
|
20
21
|
import { getMinimumEntity } from "./utils";
|
|
21
|
-
var emitter = utils.emitter;
|
|
22
22
|
export var hybridList = new HybridList();
|
|
23
23
|
var Entity = /*#__PURE__*/function () {
|
|
24
24
|
function Entity(app) {
|
|
25
|
-
var _this = this;
|
|
26
25
|
_classCallCheck(this, Entity);
|
|
27
26
|
_defineProperty(this, "app", void 0);
|
|
28
27
|
_defineProperty(this, "catchStrategy", new Map());
|
|
@@ -30,7 +29,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
30
29
|
_defineProperty(this, "materialSwitchSystem", void 0);
|
|
31
30
|
this.select = createHighSelectedTool();
|
|
32
31
|
this.app = app;
|
|
33
|
-
this.materialSwitchSystem = new MaterialSwitchSystem(
|
|
32
|
+
this.materialSwitchSystem = new MaterialSwitchSystem();
|
|
34
33
|
use.useScene().scene.add(this.materialSwitchSystem);
|
|
35
34
|
this.materialSwitchSystem.addEventListener('onStyleChanged', function (_ref) {
|
|
36
35
|
var style = _ref.style;
|
|
@@ -42,23 +41,6 @@ var Entity = /*#__PURE__*/function () {
|
|
|
42
41
|
style: style
|
|
43
42
|
});
|
|
44
43
|
});
|
|
45
|
-
|
|
46
|
-
// @ts-ignore
|
|
47
|
-
emitter.on('onMaterialChanged', function (_ref2) {
|
|
48
|
-
var target = _ref2.target;
|
|
49
|
-
_this.materialSwitchSystem.removeObject(target);
|
|
50
|
-
_this.materialSwitchSystem.addObject(target);
|
|
51
|
-
});
|
|
52
|
-
|
|
53
|
-
// @ts-ignore
|
|
54
|
-
emitter.on('onMaterialRestored', function (_ref3) {
|
|
55
|
-
var target = _ref3.target;
|
|
56
|
-
_this.materialSwitchSystem.removeObject(target);
|
|
57
|
-
target.traverse(function (child) {
|
|
58
|
-
if (child.type === 'Mesh') child.material = _this.materialSwitchSystem.originalMaterial.get(child.uuid);
|
|
59
|
-
});
|
|
60
|
-
_this.materialSwitchSystem.addObject(target);
|
|
61
|
-
});
|
|
62
44
|
}
|
|
63
45
|
|
|
64
46
|
/**
|
|
@@ -101,8 +83,8 @@ var Entity = /*#__PURE__*/function () {
|
|
|
101
83
|
key: "singleCreate",
|
|
102
84
|
value: function () {
|
|
103
85
|
var _singleCreate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(id, strategy, option, group, layerId) {
|
|
104
|
-
var
|
|
105
|
-
var entityInfoArray, targetEntityInfo, _option$interactiveEf, interactiveEffect, entity;
|
|
86
|
+
var _this = this;
|
|
87
|
+
var entityInfoArray, targetEntityInfo, _option$interactable, interactable, _option$interactiveEf, interactiveEffect, entity;
|
|
106
88
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
107
89
|
while (1) switch (_context2.prev = _context2.next) {
|
|
108
90
|
case 0:
|
|
@@ -111,7 +93,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
111
93
|
case 2:
|
|
112
94
|
entityInfoArray = _context2.sent;
|
|
113
95
|
targetEntityInfo = entityInfoArray[0];
|
|
114
|
-
_option$interactiveEf = option.interactiveEffect, interactiveEffect = _option$interactiveEf === void 0 ? false : _option$interactiveEf;
|
|
96
|
+
_option$interactable = option.interactable, interactable = _option$interactable === void 0 ? true : _option$interactable, _option$interactiveEf = option.interactiveEffect, interactiveEffect = _option$interactiveEf === void 0 ? false : _option$interactiveEf;
|
|
115
97
|
if (!(targetEntityInfo.status === 'rejected')) {
|
|
116
98
|
_context2.next = 7;
|
|
117
99
|
break;
|
|
@@ -124,17 +106,18 @@ var Entity = /*#__PURE__*/function () {
|
|
|
124
106
|
entity.userData.entityParams = {
|
|
125
107
|
id: id,
|
|
126
108
|
type: option.type,
|
|
127
|
-
layerId: layerId
|
|
109
|
+
layerId: layerId,
|
|
110
|
+
interactable: interactable
|
|
128
111
|
};
|
|
129
112
|
if (entity.userData.entityParams.type === 'model') this.materialSwitchSystem.addObject(entity);
|
|
130
113
|
hybridList.add(id, entity);
|
|
131
114
|
group === null || group === void 0 || group.add(entity);
|
|
132
115
|
if (interactiveEffect && entity.userData.entityParams.type === 'model') {
|
|
133
116
|
entity.addEventListener('mouseover', function () {
|
|
134
|
-
|
|
117
|
+
_this.select([entity]);
|
|
135
118
|
});
|
|
136
119
|
entity.addEventListener('mouseout', function () {
|
|
137
|
-
|
|
120
|
+
_this.select([]);
|
|
138
121
|
});
|
|
139
122
|
}
|
|
140
123
|
return _context2.abrupt("return", _objectSpread(_objectSpread({}, option), {}, {
|
|
@@ -158,17 +141,19 @@ var Entity = /*#__PURE__*/function () {
|
|
|
158
141
|
}, {
|
|
159
142
|
key: "multiCreate",
|
|
160
143
|
value: function multiCreate(id, strategy, json) {
|
|
161
|
-
var
|
|
144
|
+
var _this2 = this;
|
|
162
145
|
var itemType = json.itemType,
|
|
163
146
|
_json$items = json.items,
|
|
164
147
|
items = _json$items === void 0 ? [] : _json$items,
|
|
165
148
|
_json$legends = json.legends,
|
|
166
|
-
legends = _json$legends === void 0 ? [] : _json$legends
|
|
149
|
+
legends = _json$legends === void 0 ? [] : _json$legends,
|
|
150
|
+
_json$interactable = json.interactable,
|
|
151
|
+
interactable = _json$interactable === void 0 ? true : _json$interactable;
|
|
167
152
|
var group = new Group();
|
|
168
153
|
|
|
169
154
|
// TODO 优化,定制化非实体逻辑
|
|
170
155
|
items.forEach( /*#__PURE__*/function () {
|
|
171
|
-
var
|
|
156
|
+
var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(item) {
|
|
172
157
|
var currentData;
|
|
173
158
|
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
174
159
|
while (1) switch (_context3.prev = _context3.next) {
|
|
@@ -181,7 +166,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
181
166
|
}
|
|
182
167
|
currentData.type = itemType;
|
|
183
168
|
_context3.next = 5;
|
|
184
|
-
return
|
|
169
|
+
return _this2.singleCreate(item.id, strategy, currentData, group, id);
|
|
185
170
|
case 5:
|
|
186
171
|
case "end":
|
|
187
172
|
return _context3.stop();
|
|
@@ -189,13 +174,14 @@ var Entity = /*#__PURE__*/function () {
|
|
|
189
174
|
}, _callee3);
|
|
190
175
|
}));
|
|
191
176
|
return function (_x7) {
|
|
192
|
-
return
|
|
177
|
+
return _ref2.apply(this, arguments);
|
|
193
178
|
};
|
|
194
179
|
}());
|
|
195
180
|
group.userData.entityParams = {
|
|
196
181
|
id: id,
|
|
197
182
|
type: 'layer',
|
|
198
|
-
itemType: itemType
|
|
183
|
+
itemType: itemType,
|
|
184
|
+
interactable: interactable
|
|
199
185
|
};
|
|
200
186
|
hybridList.add(id, group);
|
|
201
187
|
use.useScene().scene.add(group);
|
|
@@ -217,23 +203,23 @@ var Entity = /*#__PURE__*/function () {
|
|
|
217
203
|
key: "create",
|
|
218
204
|
value: (function () {
|
|
219
205
|
var _create = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5(json) {
|
|
220
|
-
var
|
|
221
|
-
var id, type, itemType, asyncTask;
|
|
206
|
+
var _this3 = this;
|
|
207
|
+
var id, type, itemType, _json$interactable2, interactable, asyncTask;
|
|
222
208
|
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
223
209
|
while (1) switch (_context5.prev = _context5.next) {
|
|
224
210
|
case 0:
|
|
225
|
-
id = json.id, type = json.type, itemType = json.itemType;
|
|
211
|
+
id = json.id, type = json.type, itemType = json.itemType, _json$interactable2 = json.interactable, interactable = _json$interactable2 === void 0 ? true : _json$interactable2;
|
|
226
212
|
asyncTask = Promise.resolve().then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
227
213
|
var strategy, res;
|
|
228
214
|
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
229
215
|
while (1) switch (_context4.prev = _context4.next) {
|
|
230
216
|
case 0:
|
|
231
217
|
_context4.next = 2;
|
|
232
|
-
return
|
|
218
|
+
return _this3.registerStrategy(itemType || type);
|
|
233
219
|
case 2:
|
|
234
220
|
strategy = _context4.sent;
|
|
235
|
-
if (itemType && type === 'layer') res =
|
|
236
|
-
return _context4.abrupt("return",
|
|
221
|
+
if (itemType && type === 'layer') res = _this3.multiCreate(id, strategy, json);else res = _this3.singleCreate(id, strategy, json);
|
|
222
|
+
return _context4.abrupt("return", _this3.handleResult(id, res, interactable));
|
|
237
223
|
case 5:
|
|
238
224
|
case "end":
|
|
239
225
|
return _context4.stop();
|
|
@@ -258,7 +244,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
258
244
|
key: "singleUpdate",
|
|
259
245
|
value: function () {
|
|
260
246
|
var _singleUpdate = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6(id, strategy, option, group) {
|
|
261
|
-
var
|
|
247
|
+
var _this4 = this;
|
|
262
248
|
var target, _target$userData$enti, entityParams, entityInfoArray, targetEntityInfo, _option$interactiveEf2, interactiveEffect, entity;
|
|
263
249
|
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
264
250
|
while (1) switch (_context6.prev = _context6.next) {
|
|
@@ -292,10 +278,10 @@ var Entity = /*#__PURE__*/function () {
|
|
|
292
278
|
hybridList.update(id, entity);
|
|
293
279
|
if (interactiveEffect && entity.userData.entityParams.type === 'model') {
|
|
294
280
|
entity.addEventListener('mouseover', function () {
|
|
295
|
-
|
|
281
|
+
_this4.select([entity]);
|
|
296
282
|
});
|
|
297
283
|
entity.addEventListener('mouseout', function () {
|
|
298
|
-
|
|
284
|
+
_this4.select([]);
|
|
299
285
|
});
|
|
300
286
|
}
|
|
301
287
|
if (entity.userData.entityParams.type === 'model') this.materialSwitchSystem.addObject(entity);
|
|
@@ -320,13 +306,13 @@ var Entity = /*#__PURE__*/function () {
|
|
|
320
306
|
}, {
|
|
321
307
|
key: "multiUpdate",
|
|
322
308
|
value: function multiUpdate(id, strategy, option) {
|
|
323
|
-
var
|
|
309
|
+
var _this5 = this;
|
|
324
310
|
var group = hybridList.get(id);
|
|
325
311
|
var items = option.items,
|
|
326
312
|
legends = option.legends,
|
|
327
313
|
itemType = option.itemType;
|
|
328
314
|
items.forEach( /*#__PURE__*/function () {
|
|
329
|
-
var
|
|
315
|
+
var _ref4 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(item) {
|
|
330
316
|
var legendItem, currentItem;
|
|
331
317
|
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
332
318
|
while (1) switch (_context7.prev = _context7.next) {
|
|
@@ -340,14 +326,14 @@ var Entity = /*#__PURE__*/function () {
|
|
|
340
326
|
break;
|
|
341
327
|
}
|
|
342
328
|
_context7.next = 5;
|
|
343
|
-
return
|
|
329
|
+
return _this5.singleUpdate(item.id, strategy, currentItem, group);
|
|
344
330
|
case 5:
|
|
345
331
|
_context7.next = 10;
|
|
346
332
|
break;
|
|
347
333
|
case 7:
|
|
348
334
|
currentItem.type = itemType;
|
|
349
335
|
_context7.next = 10;
|
|
350
|
-
return
|
|
336
|
+
return _this5.singleCreate(item.id, strategy, currentItem, group);
|
|
351
337
|
case 10:
|
|
352
338
|
case "end":
|
|
353
339
|
return _context7.stop();
|
|
@@ -355,7 +341,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
355
341
|
}, _callee7);
|
|
356
342
|
}));
|
|
357
343
|
return function (_x13) {
|
|
358
|
-
return
|
|
344
|
+
return _ref4.apply(this, arguments);
|
|
359
345
|
};
|
|
360
346
|
}());
|
|
361
347
|
return _objectSpread(_objectSpread({}, option), {}, {
|
|
@@ -376,12 +362,12 @@ var Entity = /*#__PURE__*/function () {
|
|
|
376
362
|
key: "update",
|
|
377
363
|
value: (function () {
|
|
378
364
|
var _update = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee9(json) {
|
|
379
|
-
var
|
|
380
|
-
var id;
|
|
365
|
+
var _this6 = this;
|
|
366
|
+
var id, _json$interactable3, interactable;
|
|
381
367
|
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
382
368
|
while (1) switch (_context9.prev = _context9.next) {
|
|
383
369
|
case 0:
|
|
384
|
-
id = json.id;
|
|
370
|
+
id = json.id, _json$interactable3 = json.interactable, interactable = _json$interactable3 === void 0 ? true : _json$interactable3;
|
|
385
371
|
Promise.resolve().then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
|
|
386
372
|
var target, _target$userData$enti2, type, itemType, strategy, res;
|
|
387
373
|
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
@@ -390,13 +376,13 @@ var Entity = /*#__PURE__*/function () {
|
|
|
390
376
|
target = hybridList.get(id);
|
|
391
377
|
_target$userData$enti2 = target.userData.entityParams, type = _target$userData$enti2.type, itemType = _target$userData$enti2.itemType;
|
|
392
378
|
_context8.next = 4;
|
|
393
|
-
return
|
|
379
|
+
return _this6.registerStrategy(itemType || type);
|
|
394
380
|
case 4:
|
|
395
381
|
strategy = _context8.sent;
|
|
396
|
-
if (itemType && type === 'layer') res = Promise.all(
|
|
382
|
+
if (itemType && type === 'layer') res = Promise.all(_this6.multiUpdate(id, strategy, _objectSpread({
|
|
397
383
|
itemType: itemType
|
|
398
|
-
}, json)));else res =
|
|
399
|
-
|
|
384
|
+
}, json)));else res = _this6.singleUpdate(id, strategy, json);
|
|
385
|
+
_this6.handleResult(id, res, interactable);
|
|
400
386
|
case 7:
|
|
401
387
|
case "end":
|
|
402
388
|
return _context8.stop();
|
|
@@ -419,12 +405,12 @@ var Entity = /*#__PURE__*/function () {
|
|
|
419
405
|
key: "execute",
|
|
420
406
|
value: function () {
|
|
421
407
|
var _execute = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee11(json) {
|
|
422
|
-
var
|
|
423
|
-
var id, method, args;
|
|
408
|
+
var _this7 = this;
|
|
409
|
+
var id, method, args, _json$interactable4, interactable;
|
|
424
410
|
return _regeneratorRuntime().wrap(function _callee11$(_context11) {
|
|
425
411
|
while (1) switch (_context11.prev = _context11.next) {
|
|
426
412
|
case 0:
|
|
427
|
-
id = json.id, method = json.method, args = json.args;
|
|
413
|
+
id = json.id, method = json.method, args = json.args, _json$interactable4 = json.interactable, interactable = _json$interactable4 === void 0 ? true : _json$interactable4;
|
|
428
414
|
if (id && method) {
|
|
429
415
|
Promise.resolve().then( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee10() {
|
|
430
416
|
var target, type, strategy, entityInfoArray, targetEntityInfo, entity;
|
|
@@ -434,7 +420,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
434
420
|
target = hybridList.get(id);
|
|
435
421
|
type = target.userData.entityParams.type;
|
|
436
422
|
_context10.next = 4;
|
|
437
|
-
return
|
|
423
|
+
return _this7.registerStrategy(type);
|
|
438
424
|
case 4:
|
|
439
425
|
strategy = _context10.sent;
|
|
440
426
|
_context10.next = 7;
|
|
@@ -450,13 +436,13 @@ var Entity = /*#__PURE__*/function () {
|
|
|
450
436
|
case 11:
|
|
451
437
|
entity = targetEntityInfo.value;
|
|
452
438
|
hybridList.update(id, entity);
|
|
453
|
-
|
|
439
|
+
_this7.handleResult(id, _objectSpread(_objectSpread({}, json), {}, {
|
|
454
440
|
id: id,
|
|
455
441
|
position: entity.position.toArray(),
|
|
456
442
|
rotation: entity.rotation.toArray(),
|
|
457
443
|
scale: entity.scale.toArray(),
|
|
458
444
|
visible: entity.visible
|
|
459
|
-
}));
|
|
445
|
+
}), interactable);
|
|
460
446
|
case 14:
|
|
461
447
|
case "end":
|
|
462
448
|
return _context10.stop();
|
|
@@ -484,7 +470,8 @@ var Entity = /*#__PURE__*/function () {
|
|
|
484
470
|
}, {
|
|
485
471
|
key: "handleResult",
|
|
486
472
|
value: (function () {
|
|
487
|
-
var _handleResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(id, res) {
|
|
473
|
+
var _handleResult = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee12(id, res, interactable) {
|
|
474
|
+
var _this8 = this;
|
|
488
475
|
return _regeneratorRuntime().wrap(function _callee12$(_context12) {
|
|
489
476
|
while (1) switch (_context12.prev = _context12.next) {
|
|
490
477
|
case 0:
|
|
@@ -508,6 +495,15 @@ var Entity = /*#__PURE__*/function () {
|
|
|
508
495
|
id: id,
|
|
509
496
|
success: false
|
|
510
497
|
});
|
|
498
|
+
}).finally(function () {
|
|
499
|
+
_this8.app.eventBus.eventMap.forEach(function (_, key) {
|
|
500
|
+
if (entityEvents.includes(key) && interactable) {
|
|
501
|
+
_this8.registerEvents({
|
|
502
|
+
eventName: key,
|
|
503
|
+
entityId: id
|
|
504
|
+
});
|
|
505
|
+
}
|
|
506
|
+
});
|
|
511
507
|
}));
|
|
512
508
|
case 1:
|
|
513
509
|
case "end":
|
|
@@ -515,7 +511,7 @@ var Entity = /*#__PURE__*/function () {
|
|
|
515
511
|
}
|
|
516
512
|
}, _callee12);
|
|
517
513
|
}));
|
|
518
|
-
function handleResult(_x16, _x17) {
|
|
514
|
+
function handleResult(_x16, _x17, _x18) {
|
|
519
515
|
return _handleResult.apply(this, arguments);
|
|
520
516
|
}
|
|
521
517
|
return handleResult;
|
|
@@ -542,8 +538,8 @@ var Entity = /*#__PURE__*/function () {
|
|
|
542
538
|
if (!entity) return;
|
|
543
539
|
if (entity.children) {
|
|
544
540
|
entity.children.forEach(function (child) {
|
|
545
|
-
var
|
|
546
|
-
id =
|
|
541
|
+
var _ref7 = child.userData.entityParams || {},
|
|
542
|
+
id = _ref7.id;
|
|
547
543
|
id && deleteChildren(id);
|
|
548
544
|
});
|
|
549
545
|
}
|
|
@@ -605,6 +601,8 @@ var Entity = /*#__PURE__*/function () {
|
|
|
605
601
|
var realEventName = eventName.slice(2).toLowerCase();
|
|
606
602
|
var target = hybridList.get(id);
|
|
607
603
|
if (!target) throw new Error("entity ".concat(id, " is not exist"));
|
|
604
|
+
if (!(target.userData.entityParams.type === 'model' || target.userData.entityParams.type === 'poi')) return;
|
|
605
|
+
console.log('registerEvents', target);
|
|
608
606
|
this.unregisterEvents({
|
|
609
607
|
eventName: realEventName,
|
|
610
608
|
entityId: id
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","Group","use","utils","MaterialSwitchSystem","createHighSelectedTool","MessageType","sendToMessage","EMessageStatus","HybridList","entityStrategy","eventPenetrateType","createDisposeFn","getMinimumEntity","emitter","hybridList","Entity","app","_this","Map","select","materialSwitchSystem","useScene","scene","add","addEventListener","_ref","style","messageType","Event","messageName","status","Success","on","_ref2","removeObject","addObject","_ref3","traverse","child","material","originalMaterial","get","uuid","_registerStrategy","_callee","entityType","strategyMap","strategyClass","_callee$","_context","concat","registerStrategy","_x","_singleCreate","_callee2","id","strategy","option","group","layerId","_this2","entityInfoArray","targetEntityInfo","_option$interactiveEf","interactiveEffect","entity","_callee2$","_context2","allSettled","reason","tag","entityId","userData","entityParams","position","toArray","rotation","scale","visible","singleCreate","_x2","_x3","_x4","_x5","_x6","multiCreate","json","_this3","itemType","_json$items","items","_json$legends","legends","_ref4","_callee3","item","currentData","_callee3$","_context3","legend","find","_x7","_create","_callee5","_this4","asyncTask","_callee5$","_context5","_callee4","res","_callee4$","_context4","handleResult","_x8","_singleUpdate","_callee6","_this5","_target$userData$enti","_option$interactiveEf2","_callee6$","_context6","update","remove","singleUpdate","_x9","_x10","_x11","_x12","multiUpdate","_this6","_ref6","_callee7","legendItem","currentItem","_callee7$","_context7","_x13","_update","_callee9","_this7","_callee9$","_context9","_callee8","_target$userData$enti2","_callee8$","_context8","all","_x14","_execute","_callee11","_this8","_callee11$","_context11","_callee10","_callee10$","_context10","execute","_x15","_handleResult","_callee12","_callee12$","_context12","global","success","_x16","_x17","customizer","objValue","srcValue","Array","isArray","_delete","deleteChildren","children","_ref9","has","delete","removeFromParent","entityDispose","dispose","params","getEntityOption","registerEvents","opts","eventName","realEventName","toLowerCase","unregisterEvents","includes","closestMesh","newClosestMesh","minimumEntity","targetId","removeEventListener"],"sources":["../../../src/module/entity/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Group, use, utils } from '@anov/3d-core'\nimport { MaterialSwitchSystem, createHighSelectedTool } from '@anov/3d-ability'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport { entityEvents } from '../eventBus/entityEvents'\nimport HybridList from './hybridList'\nimport { entityStrategy, eventPenetrateType } from './strategy'\nimport createDisposeFn from './dispose'\nimport type { Option, Opts, RegisterEvents } from './type'\nimport { getMinimumEntity } from './utils'\n\nconst { emitter } = utils\nexport const hybridList = new HybridList<Object3D>()\n\nclass Entity implements BaseModule {\n public app: Anov3D\n public catchStrategy: Map<string, any> = new Map()\n public select: any\n public materialSwitchSystem: MaterialSwitchSystem\n\n constructor(app: Anov3D) {\n this.select = createHighSelectedTool()\n this.app = app\n this.materialSwitchSystem = new MaterialSwitchSystem([])\n use.useScene().scene.add(this.materialSwitchSystem)\n\n this.materialSwitchSystem.addEventListener(\n 'onStyleChanged',\n ({ style }) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onStyleChanged',\n status: EMessageStatus.Success,\n },\n {\n style,\n })\n },\n )\n\n // @ts-ignore\n emitter.on('onMaterialChanged', ({ target }) => {\n this.materialSwitchSystem.removeObject(target)\n this.materialSwitchSystem.addObject(target)\n })\n\n // @ts-ignore\n emitter.on('onMaterialRestored', ({ target }) => {\n this.materialSwitchSystem.removeObject(target)\n\n target.traverse((child) => {\n if (child.type === 'Mesh')\n child.material = this.materialSwitchSystem.originalMaterial.get(child.uuid)\n })\n\n this.materialSwitchSystem.addObject(target)\n })\n }\n\n /**\n * register strategy\n * @param entityType\n * @returns\n */\n async registerStrategy(entityType) {\n const strategyMap = {\n ...entityStrategy,\n }\n\n if (!(entityType in strategyMap))\n throw new Error(`entityType ${entityType} is not supported`)\n\n const strategyClass = await strategyMap[entityType]()\n\n // eslint-disable-next-line new-cap\n return new strategyClass()\n }\n\n async singleCreate(id, strategy, option: Option, group?: Group, layerId?: string) {\n const entityInfoArray = await Promise.allSettled([strategy.create(option)])\n const targetEntityInfo = entityInfoArray[0]\n const { interactiveEffect = false } = option\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = { id, type: option.type, layerId }\n\n if (entity.userData.entityParams.type === 'model')\n this.materialSwitchSystem.addObject(entity)\n\n hybridList.add(id, entity)\n group?.add(entity)\n\n if (interactiveEffect && entity.userData.entityParams.type === 'model') {\n entity.addEventListener('mouseover', () => {\n this.select([entity])\n })\n\n entity.addEventListener('mouseout', () => {\n this.select([])\n })\n }\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiCreate(id: string, strategy, json: Option) {\n const { itemType, items = [], legends = [] } = json\n\n const group = new Group()\n\n // TODO 优化,定制化非实体逻辑\n items.forEach(async (item) => {\n let currentData = item\n\n if (currentData.legend) {\n currentData = {\n ...legends.find(legend => legend.name === item.legend),\n ...item,\n }\n }\n currentData.type = itemType\n\n await this.singleCreate(\n item.id,\n strategy,\n currentData,\n group,\n id,\n )\n })\n\n group.userData.entityParams = { id, type: 'layer', itemType }\n hybridList.add(id, group)\n use.useScene().scene.add(group)\n\n return {\n ...json,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n\n }\n }\n\n /**\n * create entity\n * @param json\n * @returns\n */\n async create(json: Option) {\n const { id, type, itemType } = json\n\n const asyncTask = Promise.resolve().then(async () => {\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = this.multiCreate(id, strategy, json)\n else\n res = this.singleCreate(id, strategy, json)\n\n return this.handleResult(id, res)\n })\n\n return { ...json, asyncTask }\n }\n\n async singleUpdate(id, strategy, option: Option, group?: Group) {\n const target = hybridList.get(id) as any\n const { entityParams = {} } = target.userData\n\n if (target.userData.entityParams.type === 'model')\n this.materialSwitchSystem.removeObject(target)\n\n const entityInfoArray = await Promise.allSettled([strategy.update(target, option)])\n const targetEntityInfo = entityInfoArray[0]\n\n const { interactiveEffect = false } = option\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // use used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = entityParams\n\n // 兼容修改图层下的单个实体\n if (!group && entityParams.layerId)\n group = hybridList.get(entityParams.layerId) as Group\n\n if (group) {\n group.remove(hybridList.get(id))\n group.add(entity)\n }\n\n hybridList.update(id, entity)\n\n if (interactiveEffect && entity.userData.entityParams.type === 'model') {\n entity.addEventListener('mouseover', () => {\n this.select([entity])\n })\n\n entity.addEventListener('mouseout', () => {\n this.select([])\n })\n }\n\n if (entity.userData.entityParams.type === 'model')\n this.materialSwitchSystem.addObject(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiUpdate(id, strategy, option) {\n const group = hybridList.get(id) as Group\n const { items, legends, itemType } = option\n\n items.forEach(async (item) => {\n const legendItem = legends?.find(legend => legend.name === item.legend)\n const currentItem = legendItem ? { ...legendItem, ...item } : item\n\n if (hybridList.get(item.id)) {\n await this.singleUpdate(item.id, strategy, currentItem, group)\n }\n else {\n currentItem.type = itemType\n await this.singleCreate(item.id, strategy, currentItem, group)\n }\n })\n\n return {\n ...option,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n }\n }\n\n /**\n * update entity\n * @param json\n * @returns\n */\n async update(json: Option) {\n const { id } = json\n\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type, itemType } } = target.userData\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = Promise.all(this.multiUpdate(id, strategy, { itemType, ...json }))\n else\n res = this.singleUpdate(id, strategy, json)\n\n this.handleResult(id, res)\n })\n\n return json\n }\n\n async execute(json: Option) {\n const { id, method, args } = json\n if (id && method) {\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type } } = target.userData\n const strategy = await this.registerStrategy(type)\n\n const entityInfoArray = await Promise.allSettled([strategy[method](args, target)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n hybridList.update(id, entity)\n\n this.handleResult(id, {\n ...json,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n })\n })\n }\n\n return json\n }\n\n /**\n * handle create or update loadded result\n * @param id\n * @param res\n */\n private async handleResult(id: string, res: any) {\n return Promise.resolve(res)\n .then(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: true,\n })\n })\n .catch(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: false,\n })\n })\n }\n\n customizer(objValue, srcValue) {\n if (Array.isArray(objValue) && srcValue)\n return srcValue\n }\n\n /**\n * delete entity\n * @param json\n */\n delete(json: Opts) {\n const { id } = json\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n if (target.userData.entityParams.type === 'model')\n this.materialSwitchSystem.removeObject(target)\n\n const deleteChildren = (entityId): void => {\n const entity = hybridList.get(entityId)\n if (!entity)\n return\n\n if (entity.children) {\n entity.children.forEach((child) => {\n const { id } = child.userData.entityParams || {}\n id && deleteChildren(id)\n })\n }\n hybridList.has(entityId) && hybridList.delete(entityId)\n }\n deleteChildren(id)\n\n target.removeFromParent()\n\n const entityDispose = createDisposeFn()\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n target.dispose()\n\n hybridList.delete(id)\n }\n\n /**\n * get entity\n * @param params\n * @returns\n */\n get(params: { id: string }) {\n const { id } = params\n\n const entity = hybridList.get(id)\n const option = this.getEntityOption(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n type: entity.userData.entityParams.type,\n }\n }\n\n /**\n * get entity option\n * @param target\n * @returns\n */\n getEntityOption(target: Object3D) {\n return target && (target.userData.option || {})\n }\n\n /**\n * register entity events\n * @param opts\n */\n registerEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n this.unregisterEvents({\n eventName: realEventName,\n entityId: id,\n })\n\n // @ts-ignore\n if (eventPenetrateType.includes(target.entityType)) {\n target.userData[realEventName] = (e) => {\n const closestMesh = e.newClosestMesh\n const minimumEntity = getMinimumEntity(closestMesh, target as any)\n\n minimumEntity\n && sendToMessage({\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: minimumEntity.entityId,\n id,\n })\n }\n\n target.addEventListener('click', target.userData[realEventName])\n }\n else {\n target.userData[realEventName] = (e) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: id,\n id,\n },\n )\n }\n target.addEventListener(realEventName, target.userData[realEventName])\n }\n }\n\n /**\n * unregister entity events\n * @param opts\n */\n unregisterEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n target.removeEventListener(realEventName, target.userData[realEventName])\n }\n}\n\nexport default Entity"],"mappings":";+CACA,qJAAAA,mBAAA,YAAAA,oBAAA,WAAAC,CAAA,SAAAC,CAAA,EAAAD,CAAA,OAAAE,CAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,CAAA,GAAAH,CAAA,CAAAI,cAAA,EAAAC,CAAA,GAAAJ,MAAA,CAAAK,cAAA,cAAAP,CAAA,EAAAD,CAAA,EAAAE,CAAA,IAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,CAAAO,KAAA,KAAAC,CAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,CAAA,GAAAF,CAAA,CAAAG,QAAA,kBAAAC,CAAA,GAAAJ,CAAA,CAAAK,aAAA,uBAAAC,CAAA,GAAAN,CAAA,CAAAO,WAAA,8BAAAC,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAC,MAAA,CAAAK,cAAA,CAAAP,CAAA,EAAAD,CAAA,IAAAS,KAAA,EAAAP,CAAA,EAAAiB,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAApB,CAAA,CAAAD,CAAA,WAAAkB,MAAA,mBAAAjB,CAAA,IAAAiB,MAAA,YAAAA,OAAAjB,CAAA,EAAAD,CAAA,EAAAE,CAAA,WAAAD,CAAA,CAAAD,CAAA,IAAAE,CAAA,gBAAAoB,KAAArB,CAAA,EAAAD,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAK,CAAA,GAAAV,CAAA,IAAAA,CAAA,CAAAI,SAAA,YAAAmB,SAAA,GAAAvB,CAAA,GAAAuB,SAAA,EAAAX,CAAA,GAAAT,MAAA,CAAAqB,MAAA,CAAAd,CAAA,CAAAN,SAAA,GAAAU,CAAA,OAAAW,OAAA,CAAApB,CAAA,gBAAAE,CAAA,CAAAK,CAAA,eAAAH,KAAA,EAAAiB,gBAAA,CAAAzB,CAAA,EAAAC,CAAA,EAAAY,CAAA,MAAAF,CAAA,aAAAe,SAAA1B,CAAA,EAAAD,CAAA,EAAAE,CAAA,mBAAA0B,IAAA,YAAAC,GAAA,EAAA5B,CAAA,CAAA6B,IAAA,CAAA9B,CAAA,EAAAE,CAAA,cAAAD,CAAA,aAAA2B,IAAA,WAAAC,GAAA,EAAA5B,CAAA,QAAAD,CAAA,CAAAsB,IAAA,GAAAA,IAAA,MAAAS,CAAA,qBAAAC,CAAA,qBAAAC,CAAA,gBAAAC,CAAA,gBAAAC,CAAA,gBAAAZ,UAAA,cAAAa,kBAAA,cAAAC,2BAAA,SAAAC,CAAA,OAAApB,MAAA,CAAAoB,CAAA,EAAA1B,CAAA,qCAAA2B,CAAA,GAAApC,MAAA,CAAAqC,cAAA,EAAAC,CAAA,GAAAF,CAAA,IAAAA,CAAA,CAAAA,CAAA,CAAAG,MAAA,QAAAD,CAAA,IAAAA,CAAA,KAAAvC,CAAA,IAAAG,CAAA,CAAAyB,IAAA,CAAAW,CAAA,EAAA7B,CAAA,MAAA0B,CAAA,GAAAG,CAAA,OAAAE,CAAA,GAAAN,0BAAA,CAAAjC,SAAA,GAAAmB,SAAA,CAAAnB,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAc,CAAA,YAAAM,sBAAA3C,CAAA,gCAAA4C,OAAA,WAAA7C,CAAA,IAAAkB,MAAA,CAAAjB,CAAA,EAAAD,CAAA,YAAAC,CAAA,gBAAA6C,OAAA,CAAA9C,CAAA,EAAAC,CAAA,sBAAA8C,cAAA9C,CAAA,EAAAD,CAAA,aAAAgD,OAAA9C,CAAA,EAAAK,CAAA,EAAAG,CAAA,EAAAE,CAAA,QAAAE,CAAA,GAAAa,QAAA,CAAA1B,CAAA,CAAAC,CAAA,GAAAD,CAAA,EAAAM,CAAA,mBAAAO,CAAA,CAAAc,IAAA,QAAAZ,CAAA,GAAAF,CAAA,CAAAe,GAAA,EAAAE,CAAA,GAAAf,CAAA,CAAAP,KAAA,SAAAsB,CAAA,gBAAAkB,OAAA,CAAAlB,CAAA,KAAA1B,CAAA,CAAAyB,IAAA,CAAAC,CAAA,eAAA/B,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,CAAAoB,OAAA,EAAAC,IAAA,WAAAnD,CAAA,IAAA+C,MAAA,SAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,gBAAAX,CAAA,IAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,QAAAZ,CAAA,CAAAkD,OAAA,CAAAnB,CAAA,EAAAqB,IAAA,WAAAnD,CAAA,IAAAe,CAAA,CAAAP,KAAA,GAAAR,CAAA,EAAAS,CAAA,CAAAM,CAAA,gBAAAf,CAAA,WAAA+C,MAAA,UAAA/C,CAAA,EAAAS,CAAA,EAAAE,CAAA,SAAAA,CAAA,CAAAE,CAAA,CAAAe,GAAA,SAAA3B,CAAA,EAAAK,CAAA,oBAAAE,KAAA,WAAAA,MAAAR,CAAA,EAAAI,CAAA,aAAAgD,2BAAA,eAAArD,CAAA,WAAAA,CAAA,EAAAE,CAAA,IAAA8C,MAAA,CAAA/C,CAAA,EAAAI,CAAA,EAAAL,CAAA,EAAAE,CAAA,gBAAAA,CAAA,GAAAA,CAAA,GAAAA,CAAA,CAAAkD,IAAA,CAAAC,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAA3B,iBAAA1B,CAAA,EAAAE,CAAA,EAAAG,CAAA,QAAAE,CAAA,GAAAwB,CAAA,mBAAArB,CAAA,EAAAE,CAAA,QAAAL,CAAA,KAAA0B,CAAA,YAAAqB,KAAA,sCAAA/C,CAAA,KAAA2B,CAAA,oBAAAxB,CAAA,QAAAE,CAAA,WAAAH,KAAA,EAAAR,CAAA,EAAAsD,IAAA,eAAAlD,CAAA,CAAAmD,MAAA,GAAA9C,CAAA,EAAAL,CAAA,CAAAwB,GAAA,GAAAjB,CAAA,UAAAE,CAAA,GAAAT,CAAA,CAAAoD,QAAA,MAAA3C,CAAA,QAAAE,CAAA,GAAA0C,mBAAA,CAAA5C,CAAA,EAAAT,CAAA,OAAAW,CAAA,QAAAA,CAAA,KAAAmB,CAAA,mBAAAnB,CAAA,qBAAAX,CAAA,CAAAmD,MAAA,EAAAnD,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAuD,KAAA,GAAAvD,CAAA,CAAAwB,GAAA,sBAAAxB,CAAA,CAAAmD,MAAA,QAAAjD,CAAA,KAAAwB,CAAA,QAAAxB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAwB,GAAA,EAAAxB,CAAA,CAAAwD,iBAAA,CAAAxD,CAAA,CAAAwB,GAAA,uBAAAxB,CAAA,CAAAmD,MAAA,IAAAnD,CAAA,CAAAyD,MAAA,WAAAzD,CAAA,CAAAwB,GAAA,GAAAtB,CAAA,GAAA0B,CAAA,MAAAK,CAAA,GAAAX,QAAA,CAAA3B,CAAA,EAAAE,CAAA,EAAAG,CAAA,oBAAAiC,CAAA,CAAAV,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAkD,IAAA,GAAArB,CAAA,GAAAF,CAAA,EAAAM,CAAA,CAAAT,GAAA,KAAAM,CAAA,qBAAA1B,KAAA,EAAA6B,CAAA,CAAAT,GAAA,EAAA0B,IAAA,EAAAlD,CAAA,CAAAkD,IAAA,kBAAAjB,CAAA,CAAAV,IAAA,KAAArB,CAAA,GAAA2B,CAAA,EAAA7B,CAAA,CAAAmD,MAAA,YAAAnD,CAAA,CAAAwB,GAAA,GAAAS,CAAA,CAAAT,GAAA,mBAAA6B,oBAAA1D,CAAA,EAAAE,CAAA,QAAAG,CAAA,GAAAH,CAAA,CAAAsD,MAAA,EAAAjD,CAAA,GAAAP,CAAA,CAAAa,QAAA,CAAAR,CAAA,OAAAE,CAAA,KAAAN,CAAA,SAAAC,CAAA,CAAAuD,QAAA,qBAAApD,CAAA,IAAAL,CAAA,CAAAa,QAAA,CAAAkD,MAAA,KAAA7D,CAAA,CAAAsD,MAAA,aAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,EAAAyD,mBAAA,CAAA1D,CAAA,EAAAE,CAAA,eAAAA,CAAA,CAAAsD,MAAA,kBAAAnD,CAAA,KAAAH,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAmC,SAAA,uCAAA3D,CAAA,iBAAA8B,CAAA,MAAAzB,CAAA,GAAAiB,QAAA,CAAApB,CAAA,EAAAP,CAAA,CAAAa,QAAA,EAAAX,CAAA,CAAA2B,GAAA,mBAAAnB,CAAA,CAAAkB,IAAA,SAAA1B,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,GAAAnB,CAAA,CAAAmB,GAAA,EAAA3B,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,MAAAvB,CAAA,GAAAF,CAAA,CAAAmB,GAAA,SAAAjB,CAAA,GAAAA,CAAA,CAAA2C,IAAA,IAAArD,CAAA,CAAAF,CAAA,CAAAiE,UAAA,IAAArD,CAAA,CAAAH,KAAA,EAAAP,CAAA,CAAAgE,IAAA,GAAAlE,CAAA,CAAAmE,OAAA,eAAAjE,CAAA,CAAAsD,MAAA,KAAAtD,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,GAAAC,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,IAAAvB,CAAA,IAAAV,CAAA,CAAAsD,MAAA,YAAAtD,CAAA,CAAA2B,GAAA,OAAAmC,SAAA,sCAAA9D,CAAA,CAAAuD,QAAA,SAAAtB,CAAA,cAAAiC,aAAAnE,CAAA,QAAAD,CAAA,KAAAqE,MAAA,EAAApE,CAAA,YAAAA,CAAA,KAAAD,CAAA,CAAAsE,QAAA,GAAArE,CAAA,WAAAA,CAAA,KAAAD,CAAA,CAAAuE,UAAA,GAAAtE,CAAA,KAAAD,CAAA,CAAAwE,QAAA,GAAAvE,CAAA,WAAAwE,UAAA,CAAAC,IAAA,CAAA1E,CAAA,cAAA2E,cAAA1E,CAAA,QAAAD,CAAA,GAAAC,CAAA,CAAA2E,UAAA,QAAA5E,CAAA,CAAA4B,IAAA,oBAAA5B,CAAA,CAAA6B,GAAA,EAAA5B,CAAA,CAAA2E,UAAA,GAAA5E,CAAA,aAAAyB,QAAAxB,CAAA,SAAAwE,UAAA,MAAAJ,MAAA,aAAApE,CAAA,CAAA4C,OAAA,CAAAuB,YAAA,cAAAS,KAAA,iBAAAnC,OAAA1C,CAAA,QAAAA,CAAA,WAAAA,CAAA,QAAAE,CAAA,GAAAF,CAAA,CAAAY,CAAA,OAAAV,CAAA,SAAAA,CAAA,CAAA4B,IAAA,CAAA9B,CAAA,4BAAAA,CAAA,CAAAkE,IAAA,SAAAlE,CAAA,OAAA8E,KAAA,CAAA9E,CAAA,CAAA+E,MAAA,SAAAxE,CAAA,OAAAG,CAAA,YAAAwD,KAAA,aAAA3D,CAAA,GAAAP,CAAA,CAAA+E,MAAA,OAAA1E,CAAA,CAAAyB,IAAA,CAAA9B,CAAA,EAAAO,CAAA,UAAA2D,IAAA,CAAAzD,KAAA,GAAAT,CAAA,CAAAO,CAAA,GAAA2D,IAAA,CAAAX,IAAA,OAAAW,IAAA,SAAAA,IAAA,CAAAzD,KAAA,GAAAR,CAAA,EAAAiE,IAAA,CAAAX,IAAA,OAAAW,IAAA,YAAAxD,CAAA,CAAAwD,IAAA,GAAAxD,CAAA,gBAAAsD,SAAA,CAAAf,OAAA,CAAAjD,CAAA,kCAAAoC,iBAAA,CAAAhC,SAAA,GAAAiC,0BAAA,EAAA9B,CAAA,CAAAoC,CAAA,mBAAAlC,KAAA,EAAA4B,0BAAA,EAAAjB,YAAA,SAAAb,CAAA,CAAA8B,0BAAA,mBAAA5B,KAAA,EAAA2B,iBAAA,EAAAhB,YAAA,SAAAgB,iBAAA,CAAA4C,WAAA,GAAA9D,MAAA,CAAAmB,0BAAA,EAAArB,CAAA,wBAAAhB,CAAA,CAAAiF,mBAAA,aAAAhF,CAAA,QAAAD,CAAA,wBAAAC,CAAA,IAAAA,CAAA,CAAAiF,WAAA,WAAAlF,CAAA,KAAAA,CAAA,KAAAoC,iBAAA,6BAAApC,CAAA,CAAAgF,WAAA,IAAAhF,CAAA,CAAAmF,IAAA,OAAAnF,CAAA,CAAAoF,IAAA,aAAAnF,CAAA,WAAAE,MAAA,CAAAkF,cAAA,GAAAlF,MAAA,CAAAkF,cAAA,CAAApF,CAAA,EAAAoC,0BAAA,KAAApC,CAAA,CAAAqF,SAAA,GAAAjD,0BAAA,EAAAnB,MAAA,CAAAjB,CAAA,EAAAe,CAAA,yBAAAf,CAAA,CAAAG,SAAA,GAAAD,MAAA,CAAAqB,MAAA,CAAAmB,CAAA,GAAA1C,CAAA,KAAAD,CAAA,CAAAuF,KAAA,aAAAtF,CAAA,aAAAkD,OAAA,EAAAlD,CAAA,OAAA2C,qBAAA,CAAAG,aAAA,CAAA3C,SAAA,GAAAc,MAAA,CAAA6B,aAAA,CAAA3C,SAAA,EAAAU,CAAA,iCAAAd,CAAA,CAAA+C,aAAA,GAAAA,aAAA,EAAA/C,CAAA,CAAAwF,KAAA,aAAAvF,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,EAAAG,CAAA,eAAAA,CAAA,KAAAA,CAAA,GAAA+E,OAAA,OAAA7E,CAAA,OAAAmC,aAAA,CAAAzB,IAAA,CAAArB,CAAA,EAAAC,CAAA,EAAAG,CAAA,EAAAE,CAAA,GAAAG,CAAA,UAAAV,CAAA,CAAAiF,mBAAA,CAAA/E,CAAA,IAAAU,CAAA,GAAAA,CAAA,CAAAsD,IAAA,GAAAd,IAAA,WAAAnD,CAAA,WAAAA,CAAA,CAAAsD,IAAA,GAAAtD,CAAA,CAAAQ,KAAA,GAAAG,CAAA,CAAAsD,IAAA,WAAAtB,qBAAA,CAAAD,CAAA,GAAAzB,MAAA,CAAAyB,CAAA,EAAA3B,CAAA,gBAAAE,MAAA,CAAAyB,CAAA,EAAA/B,CAAA,iCAAAM,MAAA,CAAAyB,CAAA,6DAAA3C,CAAA,CAAA0F,IAAA,aAAAzF,CAAA,QAAAD,CAAA,GAAAG,MAAA,CAAAF,CAAA,GAAAC,CAAA,gBAAAG,CAAA,IAAAL,CAAA,EAAAE,CAAA,CAAAwE,IAAA,CAAArE,CAAA,UAAAH,CAAA,CAAAyF,OAAA,aAAAzB,KAAA,WAAAhE,CAAA,CAAA6E,MAAA,SAAA9E,CAAA,GAAAC,CAAA,CAAA0F,GAAA,QAAA3F,CAAA,IAAAD,CAAA,SAAAkE,IAAA,CAAAzD,KAAA,GAAAR,CAAA,EAAAiE,IAAA,CAAAX,IAAA,OAAAW,IAAA,WAAAA,IAAA,CAAAX,IAAA,OAAAW,IAAA,QAAAlE,CAAA,CAAA0C,MAAA,GAAAA,MAAA,EAAAjB,OAAA,CAAArB,SAAA,KAAA8E,WAAA,EAAAzD,OAAA,EAAAoD,KAAA,WAAAA,MAAA7E,CAAA,aAAA6F,IAAA,WAAA3B,IAAA,WAAAP,IAAA,QAAAC,KAAA,GAAA3D,CAAA,OAAAsD,IAAA,YAAAE,QAAA,cAAAD,MAAA,gBAAA3B,GAAA,GAAA5B,CAAA,OAAAwE,UAAA,CAAA5B,OAAA,CAAA8B,aAAA,IAAA3E,CAAA,WAAAE,CAAA,kBAAAA,CAAA,CAAA4F,MAAA,OAAAzF,CAAA,CAAAyB,IAAA,OAAA5B,CAAA,MAAA4E,KAAA,EAAA5E,CAAA,CAAA6F,KAAA,cAAA7F,CAAA,IAAAD,CAAA,MAAA+F,IAAA,WAAAA,KAAA,SAAAzC,IAAA,WAAAtD,CAAA,QAAAwE,UAAA,IAAAG,UAAA,kBAAA3E,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,cAAAoE,IAAA,KAAApC,iBAAA,WAAAA,kBAAA7D,CAAA,aAAAuD,IAAA,QAAAvD,CAAA,MAAAE,CAAA,kBAAAgG,OAAA7F,CAAA,EAAAE,CAAA,WAAAK,CAAA,CAAAgB,IAAA,YAAAhB,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAE,CAAA,CAAAgE,IAAA,GAAA7D,CAAA,EAAAE,CAAA,KAAAL,CAAA,CAAAsD,MAAA,WAAAtD,CAAA,CAAA2B,GAAA,GAAA5B,CAAA,KAAAM,CAAA,aAAAA,CAAA,QAAAkE,UAAA,CAAAM,MAAA,MAAAxE,CAAA,SAAAA,CAAA,QAAAG,CAAA,QAAA+D,UAAA,CAAAlE,CAAA,GAAAK,CAAA,GAAAF,CAAA,CAAAkE,UAAA,iBAAAlE,CAAA,CAAA2D,MAAA,SAAA6B,MAAA,aAAAxF,CAAA,CAAA2D,MAAA,SAAAwB,IAAA,QAAA/E,CAAA,GAAAT,CAAA,CAAAyB,IAAA,CAAApB,CAAA,eAAAM,CAAA,GAAAX,CAAA,CAAAyB,IAAA,CAAApB,CAAA,qBAAAI,CAAA,IAAAE,CAAA,aAAA6E,IAAA,GAAAnF,CAAA,CAAA4D,QAAA,SAAA4B,MAAA,CAAAxF,CAAA,CAAA4D,QAAA,gBAAAuB,IAAA,GAAAnF,CAAA,CAAA6D,UAAA,SAAA2B,MAAA,CAAAxF,CAAA,CAAA6D,UAAA,cAAAzD,CAAA,aAAA+E,IAAA,GAAAnF,CAAA,CAAA4D,QAAA,SAAA4B,MAAA,CAAAxF,CAAA,CAAA4D,QAAA,qBAAAtD,CAAA,YAAAsC,KAAA,qDAAAuC,IAAA,GAAAnF,CAAA,CAAA6D,UAAA,SAAA2B,MAAA,CAAAxF,CAAA,CAAA6D,UAAA,YAAAT,MAAA,WAAAA,OAAA7D,CAAA,EAAAD,CAAA,aAAAE,CAAA,QAAAuE,UAAA,CAAAM,MAAA,MAAA7E,CAAA,SAAAA,CAAA,QAAAK,CAAA,QAAAkE,UAAA,CAAAvE,CAAA,OAAAK,CAAA,CAAA8D,MAAA,SAAAwB,IAAA,IAAAxF,CAAA,CAAAyB,IAAA,CAAAvB,CAAA,wBAAAsF,IAAA,GAAAtF,CAAA,CAAAgE,UAAA,QAAA7D,CAAA,GAAAH,CAAA,aAAAG,CAAA,iBAAAT,CAAA,mBAAAA,CAAA,KAAAS,CAAA,CAAA2D,MAAA,IAAArE,CAAA,IAAAA,CAAA,IAAAU,CAAA,CAAA6D,UAAA,KAAA7D,CAAA,cAAAE,CAAA,GAAAF,CAAA,GAAAA,CAAA,CAAAkE,UAAA,cAAAhE,CAAA,CAAAgB,IAAA,GAAA3B,CAAA,EAAAW,CAAA,CAAAiB,GAAA,GAAA7B,CAAA,EAAAU,CAAA,SAAA8C,MAAA,gBAAAU,IAAA,GAAAxD,CAAA,CAAA6D,UAAA,EAAApC,CAAA,SAAAgE,QAAA,CAAAvF,CAAA,MAAAuF,QAAA,WAAAA,SAAAlG,CAAA,EAAAD,CAAA,oBAAAC,CAAA,CAAA2B,IAAA,QAAA3B,CAAA,CAAA4B,GAAA,qBAAA5B,CAAA,CAAA2B,IAAA,mBAAA3B,CAAA,CAAA2B,IAAA,QAAAsC,IAAA,GAAAjE,CAAA,CAAA4B,GAAA,gBAAA5B,CAAA,CAAA2B,IAAA,SAAAqE,IAAA,QAAApE,GAAA,GAAA5B,CAAA,CAAA4B,GAAA,OAAA2B,MAAA,kBAAAU,IAAA,yBAAAjE,CAAA,CAAA2B,IAAA,IAAA5B,CAAA,UAAAkE,IAAA,GAAAlE,CAAA,GAAAmC,CAAA,KAAAiE,MAAA,WAAAA,OAAAnG,CAAA,aAAAD,CAAA,QAAAyE,UAAA,CAAAM,MAAA,MAAA/E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAuE,UAAA,CAAAzE,CAAA,OAAAE,CAAA,CAAAqE,UAAA,KAAAtE,CAAA,cAAAkG,QAAA,CAAAjG,CAAA,CAAA0E,UAAA,EAAA1E,CAAA,CAAAsE,QAAA,GAAAG,aAAA,CAAAzE,CAAA,GAAAiC,CAAA,OAAAkE,KAAA,WAAAC,OAAArG,CAAA,aAAAD,CAAA,QAAAyE,UAAA,CAAAM,MAAA,MAAA/E,CAAA,SAAAA,CAAA,QAAAE,CAAA,QAAAuE,UAAA,CAAAzE,CAAA,OAAAE,CAAA,CAAAmE,MAAA,KAAApE,CAAA,QAAAI,CAAA,GAAAH,CAAA,CAAA0E,UAAA,kBAAAvE,CAAA,CAAAuB,IAAA,QAAArB,CAAA,GAAAF,CAAA,CAAAwB,GAAA,EAAA8C,aAAA,CAAAzE,CAAA,YAAAK,CAAA,gBAAA+C,KAAA,8BAAAiD,aAAA,WAAAA,cAAAvG,CAAA,EAAAE,CAAA,EAAAG,CAAA,gBAAAoD,QAAA,KAAA5C,QAAA,EAAA6B,MAAA,CAAA1C,CAAA,GAAAiE,UAAA,EAAA/D,CAAA,EAAAiE,OAAA,EAAA9D,CAAA,oBAAAmD,MAAA,UAAA3B,GAAA,GAAA5B,CAAA,GAAAkC,CAAA,OAAAnC,CAAA;AAAA,SAAAwG,QAAAxG,CAAA,EAAAE,CAAA,QAAAD,CAAA,GAAAE,MAAA,CAAAuF,IAAA,CAAA1F,CAAA,OAAAG,MAAA,CAAAsG,qBAAA,QAAAlG,CAAA,GAAAJ,MAAA,CAAAsG,qBAAA,CAAAzG,CAAA,GAAAE,CAAA,KAAAK,CAAA,GAAAA,CAAA,CAAAmG,MAAA,WAAAxG,CAAA,WAAAC,MAAA,CAAAwG,wBAAA,CAAA3G,CAAA,EAAAE,CAAA,EAAAiB,UAAA,OAAAlB,CAAA,CAAAyE,IAAA,CAAAkC,KAAA,CAAA3G,CAAA,EAAAM,CAAA,YAAAN,CAAA;AAAA,SAAA4G,cAAA7G,CAAA,aAAAE,CAAA,MAAAA,CAAA,GAAA4G,SAAA,CAAA/B,MAAA,EAAA7E,CAAA,UAAAD,CAAA,WAAA6G,SAAA,CAAA5G,CAAA,IAAA4G,SAAA,CAAA5G,CAAA,QAAAA,CAAA,OAAAsG,OAAA,CAAArG,MAAA,CAAAF,CAAA,OAAA4C,OAAA,WAAA3C,CAAA,IAAA6G,eAAA,CAAA/G,CAAA,EAAAE,CAAA,EAAAD,CAAA,CAAAC,CAAA,SAAAC,MAAA,CAAA6G,yBAAA,GAAA7G,MAAA,CAAA8G,gBAAA,CAAAjH,CAAA,EAAAG,MAAA,CAAA6G,yBAAA,CAAA/G,CAAA,KAAAuG,OAAA,CAAArG,MAAA,CAAAF,CAAA,GAAA4C,OAAA,WAAA3C,CAAA,IAAAC,MAAA,CAAAK,cAAA,CAAAR,CAAA,EAAAE,CAAA,EAAAC,MAAA,CAAAwG,wBAAA,CAAA1G,CAAA,EAAAC,CAAA,iBAAAF,CAAA;AAAA,SAAAkH,mBAAAC,GAAA,EAAAjE,OAAA,EAAAkE,MAAA,EAAAC,KAAA,EAAAC,MAAA,EAAAC,GAAA,EAAA1F,GAAA,cAAA2F,IAAA,GAAAL,GAAA,CAAAI,GAAA,EAAA1F,GAAA,OAAApB,KAAA,GAAA+G,IAAA,CAAA/G,KAAA,WAAAgH,KAAA,IAAAL,MAAA,CAAAK,KAAA,iBAAAD,IAAA,CAAAjE,IAAA,IAAAL,OAAA,CAAAzC,KAAA,YAAAgF,OAAA,CAAAvC,OAAA,CAAAzC,KAAA,EAAA2C,IAAA,CAAAiE,KAAA,EAAAC,MAAA;AAAA,SAAAI,kBAAAC,EAAA,6BAAAC,IAAA,SAAAC,IAAA,GAAAf,SAAA,aAAArB,OAAA,WAAAvC,OAAA,EAAAkE,MAAA,QAAAD,GAAA,GAAAQ,EAAA,CAAAf,KAAA,CAAAgB,IAAA,EAAAC,IAAA,YAAAR,MAAA5G,KAAA,IAAAyG,kBAAA,CAAAC,GAAA,EAAAjE,OAAA,EAAAkE,MAAA,EAAAC,KAAA,EAAAC,MAAA,UAAA7G,KAAA,cAAA6G,OAAAQ,GAAA,IAAAZ,kBAAA,CAAAC,GAAA,EAAAjE,OAAA,EAAAkE,MAAA,EAAAC,KAAA,EAAAC,MAAA,WAAAQ,GAAA,KAAAT,KAAA,CAAAU,SAAA;AAAA,SAAAC,gBAAAC,QAAA,EAAAC,WAAA,UAAAD,QAAA,YAAAC,WAAA,eAAAlE,SAAA;AAAA,SAAAmE,kBAAAC,MAAA,EAAAC,KAAA,aAAA3H,CAAA,MAAAA,CAAA,GAAA2H,KAAA,CAAAtD,MAAA,EAAArE,CAAA,UAAA4H,UAAA,GAAAD,KAAA,CAAA3H,CAAA,GAAA4H,UAAA,CAAAnH,UAAA,GAAAmH,UAAA,CAAAnH,UAAA,WAAAmH,UAAA,CAAAlH,YAAA,wBAAAkH,UAAA,EAAAA,UAAA,CAAAjH,QAAA,SAAAlB,MAAA,CAAAK,cAAA,CAAA4H,MAAA,EAAAG,cAAA,CAAAD,UAAA,CAAAf,GAAA,GAAAe,UAAA;AAAA,SAAAE,aAAAN,WAAA,EAAAO,UAAA,EAAAC,WAAA,QAAAD,UAAA,EAAAN,iBAAA,CAAAD,WAAA,CAAA9H,SAAA,EAAAqI,UAAA,OAAAC,WAAA,EAAAP,iBAAA,CAAAD,WAAA,EAAAQ,WAAA,GAAAvI,MAAA,CAAAK,cAAA,CAAA0H,WAAA,iBAAA7G,QAAA,mBAAA6G,WAAA;AAAA,SAAAnB,gBAAA4B,GAAA,EAAApB,GAAA,EAAA9G,KAAA,IAAA8G,GAAA,GAAAgB,cAAA,CAAAhB,GAAA,OAAAA,GAAA,IAAAoB,GAAA,IAAAxI,MAAA,CAAAK,cAAA,CAAAmI,GAAA,EAAApB,GAAA,IAAA9G,KAAA,EAAAA,KAAA,EAAAU,UAAA,QAAAC,YAAA,QAAAC,QAAA,oBAAAsH,GAAA,CAAApB,GAAA,IAAA9G,KAAA,WAAAkI,GAAA;AAAA,SAAAJ,eAAAtI,CAAA,QAAAS,CAAA,GAAAkI,YAAA,CAAA3I,CAAA,gCAAAgD,OAAA,CAAAvC,CAAA,IAAAA,CAAA,GAAAmI,MAAA,CAAAnI,CAAA;AAAA,SAAAkI,aAAA3I,CAAA,EAAAC,CAAA,oBAAA+C,OAAA,CAAAhD,CAAA,MAAAA,CAAA,SAAAA,CAAA,MAAAD,CAAA,GAAAC,CAAA,CAAAU,MAAA,CAAAmI,WAAA,kBAAA9I,CAAA,QAAAU,CAAA,GAAAV,CAAA,CAAA8B,IAAA,CAAA7B,CAAA,EAAAC,CAAA,gCAAA+C,OAAA,CAAAvC,CAAA,UAAAA,CAAA,YAAAsD,SAAA,yEAAA9D,CAAA,GAAA2I,MAAA,GAAAE,MAAA,EAAA9I,CAAA;AAAA,SAAS+I,KAAK,EAAEC,GAAG,EAAEC,KAAK,QAAQ,eAAe;AACjD,SAASC,oBAAoB,EAAEC,sBAAsB,QAAQ,kBAAkB;AAG/E,SAASC,WAAW,EAAEC,aAAa;AACnC,SAASC,cAAc;AAEvB,OAAOC,UAAU;AACjB,SAASC,cAAc,EAAEC,kBAAkB;AAC3C,OAAOC,eAAe;AAEtB,SAASC,gBAAgB;AAEzB,IAAQC,OAAO,GAAKX,KAAK,CAAjBW,OAAO;AACf,OAAO,IAAMC,UAAU,GAAG,IAAIN,UAAU,CAAW,CAAC;AAAA,IAE9CO,MAAM;EAMV,SAAAA,OAAYC,GAAW,EAAE;IAAA,IAAAC,KAAA;IAAAjC,eAAA,OAAA+B,MAAA;IAAAhD,eAAA;IAAAA,eAAA,wBAJgB,IAAImD,GAAG,CAAC,CAAC;IAAAnD,eAAA;IAAAA,eAAA;IAKhD,IAAI,CAACoD,MAAM,GAAGf,sBAAsB,CAAC,CAAC;IACtC,IAAI,CAACY,GAAG,GAAGA,GAAG;IACd,IAAI,CAACI,oBAAoB,GAAG,IAAIjB,oBAAoB,CAAC,EAAE,CAAC;IACxDF,GAAG,CAACoB,QAAQ,CAAC,CAAC,CAACC,KAAK,CAACC,GAAG,CAAC,IAAI,CAACH,oBAAoB,CAAC;IAEnD,IAAI,CAACA,oBAAoB,CAACI,gBAAgB,CACxC,gBAAgB,EAChB,UAAAC,IAAA,EAAe;MAAA,IAAZC,KAAK,GAAAD,IAAA,CAALC,KAAK;MACNpB,aAAa,CACX;QACEqB,WAAW,EAAEtB,WAAW,CAACuB,KAAK;QAC9BC,WAAW,EAAE,gBAAgB;QAC7BC,MAAM,EAAEvB,cAAc,CAACwB;MACzB,CAAC,EACD;QACEL,KAAK,EAALA;MACF,CAAC,CAAC;IACN,CACF,CAAC;;IAED;IACAb,OAAO,CAACmB,EAAE,CAAC,mBAAmB,EAAE,UAAAC,KAAA,EAAgB;MAAA,IAAb7C,MAAM,GAAA6C,KAAA,CAAN7C,MAAM;MACvC6B,KAAI,CAACG,oBAAoB,CAACc,YAAY,CAAC9C,MAAM,CAAC;MAC9C6B,KAAI,CAACG,oBAAoB,CAACe,SAAS,CAAC/C,MAAM,CAAC;IAC7C,CAAC,CAAC;;IAEF;IACAyB,OAAO,CAACmB,EAAE,CAAC,oBAAoB,EAAE,UAAAI,KAAA,EAAgB;MAAA,IAAbhD,MAAM,GAAAgD,KAAA,CAANhD,MAAM;MACxC6B,KAAI,CAACG,oBAAoB,CAACc,YAAY,CAAC9C,MAAM,CAAC;MAE9CA,MAAM,CAACiD,QAAQ,CAAC,UAACC,KAAK,EAAK;QACzB,IAAIA,KAAK,CAAC1J,IAAI,KAAK,MAAM,EACvB0J,KAAK,CAACC,QAAQ,GAAGtB,KAAI,CAACG,oBAAoB,CAACoB,gBAAgB,CAACC,GAAG,CAACH,KAAK,CAACI,IAAI,CAAC;MAC/E,CAAC,CAAC;MAEFzB,KAAI,CAACG,oBAAoB,CAACe,SAAS,CAAC/C,MAAM,CAAC;IAC7C,CAAC,CAAC;EACJ;;EAEA;AACF;AACA;AACA;AACA;EAJEI,YAAA,CAAAuB,MAAA;IAAAxC,GAAA;IAAA9G,KAAA;MAAA,IAAAkL,iBAAA,GAAAjE,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAKA,SAAAwG,QAAuBC,UAAU;QAAA,IAAAC,WAAA,EAAAC,aAAA;QAAA,OAAAhM,mBAAA,GAAAuB,IAAA,UAAA0K,SAAAC,QAAA;UAAA,kBAAAA,QAAA,CAAApG,IAAA,GAAAoG,QAAA,CAAA/H,IAAA;YAAA;cACzB4H,WAAW,GAAAjF,aAAA,KACZ4C,cAAc;cAAA,IAGboC,UAAU,IAAIC,WAAW;gBAAAG,QAAA,CAAA/H,IAAA;gBAAA;cAAA;cAAA,MACvB,IAAIZ,KAAK,eAAA4I,MAAA,CAAeL,UAAU,sBAAmB,CAAC;YAAA;cAAAI,QAAA,CAAA/H,IAAA;cAAA,OAElC4H,WAAW,CAACD,UAAU,CAAC,CAAC,CAAC;YAAA;cAA/CE,aAAa,GAAAE,QAAA,CAAAtI,IAAA;cAAA,OAAAsI,QAAA,CAAAnI,MAAA,WAGZ,IAAIiI,aAAa,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAE,QAAA,CAAAjG,IAAA;UAAA;QAAA,GAAA4F,OAAA;MAAA,CAC3B;MAAA,SAAAO,iBAAAC,EAAA;QAAA,OAAAT,iBAAA,CAAA/E,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAqF,gBAAA;IAAA;EAAA;IAAA5E,GAAA;IAAA9G,KAAA;MAAA,IAAA4L,aAAA,GAAA3E,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAED,SAAAkH,SAAmBC,EAAE,EAAEC,QAAQ,EAAEC,MAAc,EAAEC,KAAa,EAAEC,OAAgB;QAAA,IAAAC,MAAA;QAAA,IAAAC,eAAA,EAAAC,gBAAA,EAAAC,qBAAA,EAAAC,iBAAA,EAAAC,MAAA;QAAA,OAAAlN,mBAAA,GAAAuB,IAAA,UAAA4L,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAtH,IAAA,GAAAsH,SAAA,CAAAjJ,IAAA;YAAA;cAAAiJ,SAAA,CAAAjJ,IAAA;cAAA,OAChDuB,OAAO,CAAC2H,UAAU,CAAC,CAACZ,QAAQ,CAAChL,MAAM,CAACiL,MAAM,CAAC,CAAC,CAAC;YAAA;cAArEI,eAAe,GAAAM,SAAA,CAAAxJ,IAAA;cACfmJ,gBAAgB,GAAGD,eAAe,CAAC,CAAC,CAAC;cAAAE,qBAAA,GACLN,MAAM,CAApCO,iBAAiB,EAAjBA,iBAAiB,GAAAD,qBAAA,cAAG,KAAK,GAAAA,qBAAA;cAAA,MAE7BD,gBAAgB,CAAChC,MAAM,KAAK,UAAU;gBAAAqC,SAAA,CAAAjJ,IAAA;gBAAA;cAAA;cAAA,MAClC,IAAIZ,KAAK,CAACwJ,gBAAgB,CAACO,MAAM,CAAC;YAAA;cAEpCJ,MAAM,GAAGH,gBAAgB,CAACrM,KAAK;cACrCwM,MAAM,CAACK,GAAG,GAAG,QAAQ,EAAC;cACtBL,MAAM,CAACM,QAAQ,GAAGhB,EAAE;cACpBU,MAAM,CAACO,QAAQ,CAACC,YAAY,GAAG;gBAAElB,EAAE,EAAFA,EAAE;gBAAE3K,IAAI,EAAE6K,MAAM,CAAC7K,IAAI;gBAAE+K,OAAO,EAAPA;cAAQ,CAAC;cAEjE,IAAIM,MAAM,CAACO,QAAQ,CAACC,YAAY,CAAC7L,IAAI,KAAK,OAAO,EAC/C,IAAI,CAACwI,oBAAoB,CAACe,SAAS,CAAC8B,MAAM,CAAC;cAE7CnD,UAAU,CAACS,GAAG,CAACgC,EAAE,EAAEU,MAAM,CAAC;cAC1BP,KAAK,aAALA,KAAK,eAALA,KAAK,CAAEnC,GAAG,CAAC0C,MAAM,CAAC;cAElB,IAAID,iBAAiB,IAAIC,MAAM,CAACO,QAAQ,CAACC,YAAY,CAAC7L,IAAI,KAAK,OAAO,EAAE;gBACtEqL,MAAM,CAACzC,gBAAgB,CAAC,WAAW,EAAE,YAAM;kBACzCoC,MAAI,CAACzC,MAAM,CAAC,CAAC8C,MAAM,CAAC,CAAC;gBACvB,CAAC,CAAC;gBAEFA,MAAM,CAACzC,gBAAgB,CAAC,UAAU,EAAE,YAAM;kBACxCoC,MAAI,CAACzC,MAAM,CAAC,EAAE,CAAC;gBACjB,CAAC,CAAC;cACJ;cAAC,OAAAgD,SAAA,CAAArJ,MAAA,WAAA+C,aAAA,CAAAA,aAAA,KAGI4F,MAAM;gBACTF,EAAE,EAAFA,EAAE;gBACFmB,QAAQ,EAAET,MAAM,CAACS,QAAQ,CAACC,OAAO,CAAC,CAAC;gBACnCC,QAAQ,EAAEX,MAAM,CAACW,QAAQ,CAACD,OAAO,CAAC,CAAC;gBACnCE,KAAK,EAAEZ,MAAM,CAACY,KAAK,CAACF,OAAO,CAAC,CAAC;gBAC7BG,OAAO,EAAEb,MAAM,CAACa;cAAO;YAAA;YAAA;cAAA,OAAAX,SAAA,CAAAnH,IAAA;UAAA;QAAA,GAAAsG,QAAA;MAAA,CAE1B;MAAA,SAAAyB,aAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA,EAAAC,GAAA;QAAA,OAAA/B,aAAA,CAAAzF,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAiH,YAAA;IAAA;EAAA;IAAAxG,GAAA;IAAA9G,KAAA,EAED,SAAA4N,YAAY9B,EAAU,EAAEC,QAAQ,EAAE8B,IAAY,EAAE;MAAA,IAAAC,MAAA;MAC9C,IAAQC,QAAQ,GAA+BF,IAAI,CAA3CE,QAAQ;QAAAC,WAAA,GAA+BH,IAAI,CAAjCI,KAAK;QAALA,KAAK,GAAAD,WAAA,cAAG,EAAE,GAAAA,WAAA;QAAAE,aAAA,GAAmBL,IAAI,CAArBM,OAAO;QAAPA,OAAO,GAAAD,aAAA,cAAG,EAAE,GAAAA,aAAA;MAE1C,IAAMjC,KAAK,GAAG,IAAI1D,KAAK,CAAC,CAAC;;MAEzB;MACA0F,KAAK,CAAC7L,OAAO;QAAA,IAAAgM,KAAA,GAAAnH,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAAC,SAAA0J,SAAOC,IAAI;UAAA,IAAAC,WAAA;UAAA,OAAAjP,mBAAA,GAAAuB,IAAA,UAAA2N,UAAAC,SAAA;YAAA,kBAAAA,SAAA,CAAArJ,IAAA,GAAAqJ,SAAA,CAAAhL,IAAA;cAAA;gBACnB8K,WAAW,GAAGD,IAAI;gBAEtB,IAAIC,WAAW,CAACG,MAAM,EAAE;kBACtBH,WAAW,GAAAnI,aAAA,CAAAA,aAAA,KACN+H,OAAO,CAACQ,IAAI,CAAC,UAAAD,MAAM;oBAAA,OAAIA,MAAM,CAAChK,IAAI,KAAK4J,IAAI,CAACI,MAAM;kBAAA,EAAC,GACnDJ,IAAI,CACR;gBACH;gBACAC,WAAW,CAACpN,IAAI,GAAG4M,QAAQ;gBAAAU,SAAA,CAAAhL,IAAA;gBAAA,OAErBqK,MAAI,CAACR,YAAY,CACrBgB,IAAI,CAACxC,EAAE,EACPC,QAAQ,EACRwC,WAAW,EACXtC,KAAK,EACLH,EACF,CAAC;cAAA;cAAA;gBAAA,OAAA2C,SAAA,CAAAlJ,IAAA;YAAA;UAAA,GAAA8I,QAAA;QAAA,CACF;QAAA,iBAAAO,GAAA;UAAA,OAAAR,KAAA,CAAAjI,KAAA,OAAAE,SAAA;QAAA;MAAA,IAAC;MAEF4F,KAAK,CAACc,QAAQ,CAACC,YAAY,GAAG;QAAElB,EAAE,EAAFA,EAAE;QAAE3K,IAAI,EAAE,OAAO;QAAE4M,QAAQ,EAARA;MAAS,CAAC;MAC7D1E,UAAU,CAACS,GAAG,CAACgC,EAAE,EAAEG,KAAK,CAAC;MACzBzD,GAAG,CAACoB,QAAQ,CAAC,CAAC,CAACC,KAAK,CAACC,GAAG,CAACmC,KAAK,CAAC;MAE/B,OAAA7F,aAAA,CAAAA,aAAA,KACKyH,IAAI;QACP/B,EAAE,EAAFA,EAAE;QACFmB,QAAQ,EAAEhB,KAAK,CAACgB,QAAQ,CAACC,OAAO,CAAC,CAAC;QAClCC,QAAQ,EAAElB,KAAK,CAACkB,QAAQ,CAACD,OAAO,CAAC,CAAC;QAClCE,KAAK,EAAEnB,KAAK,CAACmB,KAAK,CAACF,OAAO,CAAC,CAAC;QAC5BG,OAAO,EAAEpB,KAAK,CAACoB;MAAO;IAG1B;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAvG,GAAA;IAAA9G,KAAA;MAAA,IAAA6O,OAAA,GAAA5H,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAKA,SAAAmK,SAAajB,IAAY;QAAA,IAAAkB,MAAA;QAAA,IAAAjD,EAAA,EAAA3K,IAAA,EAAA4M,QAAA,EAAAiB,SAAA;QAAA,OAAA1P,mBAAA,GAAAuB,IAAA,UAAAoO,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA9J,IAAA,GAAA8J,SAAA,CAAAzL,IAAA;YAAA;cACfqI,EAAE,GAAqB+B,IAAI,CAA3B/B,EAAE,EAAE3K,IAAI,GAAe0M,IAAI,CAAvB1M,IAAI,EAAE4M,QAAQ,GAAKF,IAAI,CAAjBE,QAAQ;cAEpBiB,SAAS,GAAGhK,OAAO,CAACvC,OAAO,CAAC,CAAC,CAACE,IAAI,eAAAsE,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAAC,SAAAwK,SAAA;gBAAA,IAAApD,QAAA,EAAAqD,GAAA;gBAAA,OAAA9P,mBAAA,GAAAuB,IAAA,UAAAwO,UAAAC,SAAA;kBAAA,kBAAAA,SAAA,CAAAlK,IAAA,GAAAkK,SAAA,CAAA7L,IAAA;oBAAA;sBAAA6L,SAAA,CAAA7L,IAAA;sBAAA,OAChBsL,MAAI,CAACrD,gBAAgB,CAACqC,QAAQ,IAAI5M,IAAI,CAAC;oBAAA;sBAAxD4K,QAAQ,GAAAuD,SAAA,CAAApM,IAAA;sBAGd,IAAI6K,QAAQ,IAAI5M,IAAI,KAAK,OAAO,EAC9BiO,GAAG,GAAGL,MAAI,CAACnB,WAAW,CAAC9B,EAAE,EAAEC,QAAQ,EAAE8B,IAAI,CAAC,MAE1CuB,GAAG,GAAGL,MAAI,CAACzB,YAAY,CAACxB,EAAE,EAAEC,QAAQ,EAAE8B,IAAI,CAAC;sBAAA,OAAAyB,SAAA,CAAAjM,MAAA,WAEtC0L,MAAI,CAACQ,YAAY,CAACzD,EAAE,EAAEsD,GAAG,CAAC;oBAAA;oBAAA;sBAAA,OAAAE,SAAA,CAAA/J,IAAA;kBAAA;gBAAA,GAAA4J,QAAA;cAAA,CAClC,GAAC;cAAA,OAAAD,SAAA,CAAA7L,MAAA,WAAA+C,aAAA,CAAAA,aAAA,KAEUyH,IAAI;gBAAEmB,SAAS,EAATA;cAAS;YAAA;YAAA;cAAA,OAAAE,SAAA,CAAA3J,IAAA;UAAA;QAAA,GAAAuJ,QAAA;MAAA,CAC5B;MAAA,SAAA/N,OAAAyO,GAAA;QAAA,OAAAX,OAAA,CAAA1I,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAtF,MAAA;IAAA;EAAA;IAAA+F,GAAA;IAAA9G,KAAA;MAAA,IAAAyP,aAAA,GAAAxI,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAED,SAAA+K,SAAmB5D,EAAE,EAAEC,QAAQ,EAAEC,MAAc,EAAEC,KAAa;QAAA,IAAA0D,MAAA;QAAA,IAAAhI,MAAA,EAAAiI,qBAAA,EAAA5C,YAAA,EAAAZ,eAAA,EAAAC,gBAAA,EAAAwD,sBAAA,EAAAtD,iBAAA,EAAAC,MAAA;QAAA,OAAAlN,mBAAA,GAAAuB,IAAA,UAAAiP,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAA3K,IAAA,GAAA2K,SAAA,CAAAtM,IAAA;YAAA;cACtDkE,MAAM,GAAG0B,UAAU,CAAC2B,GAAG,CAACc,EAAE,CAAC;cAAA8D,qBAAA,GACHjI,MAAM,CAACoF,QAAQ,CAArCC,YAAY,EAAZA,YAAY,GAAA4C,qBAAA,cAAG,CAAC,CAAC,GAAAA,qBAAA;cAEzB,IAAIjI,MAAM,CAACoF,QAAQ,CAACC,YAAY,CAAC7L,IAAI,KAAK,OAAO,EAC/C,IAAI,CAACwI,oBAAoB,CAACc,YAAY,CAAC9C,MAAM,CAAC;cAAAoI,SAAA,CAAAtM,IAAA;cAAA,OAElBuB,OAAO,CAAC2H,UAAU,CAAC,CAACZ,QAAQ,CAACiE,MAAM,CAACrI,MAAM,EAAEqE,MAAM,CAAC,CAAC,CAAC;YAAA;cAA7EI,eAAe,GAAA2D,SAAA,CAAA7M,IAAA;cACfmJ,gBAAgB,GAAGD,eAAe,CAAC,CAAC,CAAC;cAAAyD,sBAAA,GAEL7D,MAAM,CAApCO,iBAAiB,EAAjBA,iBAAiB,GAAAsD,sBAAA,cAAG,KAAK,GAAAA,sBAAA;cAAA,MAE7BxD,gBAAgB,CAAChC,MAAM,KAAK,UAAU;gBAAA0F,SAAA,CAAAtM,IAAA;gBAAA;cAAA;cAAA,MAClC,IAAIZ,KAAK,CAACwJ,gBAAgB,CAACO,MAAM,CAAC;YAAA;cAEpCJ,MAAM,GAAGH,gBAAgB,CAACrM,KAAK;cACrCwM,MAAM,CAACK,GAAG,GAAG,QAAQ,EAAC;cACtBL,MAAM,CAACM,QAAQ,GAAGhB,EAAE;cACpBU,MAAM,CAACO,QAAQ,CAACC,YAAY,GAAGA,YAAY;;cAE3C;cACA,IAAI,CAACf,KAAK,IAAIe,YAAY,CAACd,OAAO,EAChCD,KAAK,GAAG5C,UAAU,CAAC2B,GAAG,CAACgC,YAAY,CAACd,OAAO,CAAU;cAEvD,IAAID,KAAK,EAAE;gBACTA,KAAK,CAACgE,MAAM,CAAC5G,UAAU,CAAC2B,GAAG,CAACc,EAAE,CAAC,CAAC;gBAChCG,KAAK,CAACnC,GAAG,CAAC0C,MAAM,CAAC;cACnB;cAEAnD,UAAU,CAAC2G,MAAM,CAAClE,EAAE,EAAEU,MAAM,CAAC;cAE7B,IAAID,iBAAiB,IAAIC,MAAM,CAACO,QAAQ,CAACC,YAAY,CAAC7L,IAAI,KAAK,OAAO,EAAE;gBACtEqL,MAAM,CAACzC,gBAAgB,CAAC,WAAW,EAAE,YAAM;kBACzC4F,MAAI,CAACjG,MAAM,CAAC,CAAC8C,MAAM,CAAC,CAAC;gBACvB,CAAC,CAAC;gBAEFA,MAAM,CAACzC,gBAAgB,CAAC,UAAU,EAAE,YAAM;kBACxC4F,MAAI,CAACjG,MAAM,CAAC,EAAE,CAAC;gBACjB,CAAC,CAAC;cACJ;cAEA,IAAI8C,MAAM,CAACO,QAAQ,CAACC,YAAY,CAAC7L,IAAI,KAAK,OAAO,EAC/C,IAAI,CAACwI,oBAAoB,CAACe,SAAS,CAAC8B,MAAM,CAAC;cAAA,OAAAuD,SAAA,CAAA1M,MAAA,WAAA+C,aAAA,CAAAA,aAAA,KAGxC4F,MAAM;gBACTF,EAAE,EAAFA,EAAE;gBACFmB,QAAQ,EAAET,MAAM,CAACS,QAAQ,CAACC,OAAO,CAAC,CAAC;gBACnCC,QAAQ,EAAEX,MAAM,CAACW,QAAQ,CAACD,OAAO,CAAC,CAAC;gBACnCE,KAAK,EAAEZ,MAAM,CAACY,KAAK,CAACF,OAAO,CAAC,CAAC;gBAC7BG,OAAO,EAAEb,MAAM,CAACa;cAAO;YAAA;YAAA;cAAA,OAAA0C,SAAA,CAAAxK,IAAA;UAAA;QAAA,GAAAmK,QAAA;MAAA,CAE1B;MAAA,SAAAQ,aAAAC,GAAA,EAAAC,IAAA,EAAAC,IAAA,EAAAC,IAAA;QAAA,OAAAb,aAAA,CAAAtJ,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAA6J,YAAA;IAAA;EAAA;IAAApJ,GAAA;IAAA9G,KAAA,EAED,SAAAuQ,YAAYzE,EAAE,EAAEC,QAAQ,EAAEC,MAAM,EAAE;MAAA,IAAAwE,MAAA;MAChC,IAAMvE,KAAK,GAAG5C,UAAU,CAAC2B,GAAG,CAACc,EAAE,CAAU;MACzC,IAAQmC,KAAK,GAAwBjC,MAAM,CAAnCiC,KAAK;QAAEE,OAAO,GAAenC,MAAM,CAA5BmC,OAAO;QAAEJ,QAAQ,GAAK/B,MAAM,CAAnB+B,QAAQ;MAEhCE,KAAK,CAAC7L,OAAO;QAAA,IAAAqO,KAAA,GAAAxJ,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAAC,SAAA+L,SAAOpC,IAAI;UAAA,IAAAqC,UAAA,EAAAC,WAAA;UAAA,OAAAtR,mBAAA,GAAAuB,IAAA,UAAAgQ,UAAAC,SAAA;YAAA,kBAAAA,SAAA,CAAA1L,IAAA,GAAA0L,SAAA,CAAArN,IAAA;cAAA;gBACjBkN,UAAU,GAAGxC,OAAO,aAAPA,OAAO,uBAAPA,OAAO,CAAEQ,IAAI,CAAC,UAAAD,MAAM;kBAAA,OAAIA,MAAM,CAAChK,IAAI,KAAK4J,IAAI,CAACI,MAAM;gBAAA,EAAC;gBACjEkC,WAAW,GAAGD,UAAU,GAAAvK,aAAA,CAAAA,aAAA,KAAQuK,UAAU,GAAKrC,IAAI,IAAKA,IAAI;gBAAA,KAE9DjF,UAAU,CAAC2B,GAAG,CAACsD,IAAI,CAACxC,EAAE,CAAC;kBAAAgF,SAAA,CAAArN,IAAA;kBAAA;gBAAA;gBAAAqN,SAAA,CAAArN,IAAA;gBAAA,OACnB+M,MAAI,CAACN,YAAY,CAAC5B,IAAI,CAACxC,EAAE,EAAEC,QAAQ,EAAE6E,WAAW,EAAE3E,KAAK,CAAC;cAAA;gBAAA6E,SAAA,CAAArN,IAAA;gBAAA;cAAA;gBAG9DmN,WAAW,CAACzP,IAAI,GAAG4M,QAAQ;gBAAA+C,SAAA,CAAArN,IAAA;gBAAA,OACrB+M,MAAI,CAAClD,YAAY,CAACgB,IAAI,CAACxC,EAAE,EAAEC,QAAQ,EAAE6E,WAAW,EAAE3E,KAAK,CAAC;cAAA;cAAA;gBAAA,OAAA6E,SAAA,CAAAvL,IAAA;YAAA;UAAA,GAAAmL,QAAA;QAAA,CAEjE;QAAA,iBAAAK,IAAA;UAAA,OAAAN,KAAA,CAAAtK,KAAA,OAAAE,SAAA;QAAA;MAAA,IAAC;MAEF,OAAAD,aAAA,CAAAA,aAAA,KACK4F,MAAM;QACTF,EAAE,EAAFA,EAAE;QACFmB,QAAQ,EAAEhB,KAAK,CAACgB,QAAQ,CAACC,OAAO,CAAC,CAAC;QAClCC,QAAQ,EAAElB,KAAK,CAACkB,QAAQ,CAACD,OAAO,CAAC,CAAC;QAClCE,KAAK,EAAEnB,KAAK,CAACmB,KAAK,CAACF,OAAO,CAAC,CAAC;QAC5BG,OAAO,EAAEpB,KAAK,CAACoB;MAAO;IAE1B;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAvG,GAAA;IAAA9G,KAAA;MAAA,IAAAgR,OAAA,GAAA/J,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAKA,SAAAsM,SAAapD,IAAY;QAAA,IAAAqD,MAAA;QAAA,IAAApF,EAAA;QAAA,OAAAxM,mBAAA,GAAAuB,IAAA,UAAAsQ,UAAAC,SAAA;UAAA,kBAAAA,SAAA,CAAAhM,IAAA,GAAAgM,SAAA,CAAA3N,IAAA;YAAA;cACfqI,EAAE,GAAK+B,IAAI,CAAX/B,EAAE;cAEV9G,OAAO,CAACvC,OAAO,CAAC,CAAC,CAACE,IAAI,eAAAsE,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAAC,SAAA0M,SAAA;gBAAA,IAAA1J,MAAA,EAAA2J,sBAAA,EAAAnQ,IAAA,EAAA4M,QAAA,EAAAhC,QAAA,EAAAqD,GAAA;gBAAA,OAAA9P,mBAAA,GAAAuB,IAAA,UAAA0Q,UAAAC,SAAA;kBAAA,kBAAAA,SAAA,CAAApM,IAAA,GAAAoM,SAAA,CAAA/N,IAAA;oBAAA;sBACfkE,MAAM,GAAG0B,UAAU,CAAC2B,GAAG,CAACc,EAAE,CAAC;sBAAAwF,sBAAA,GACY3J,MAAM,CAACoF,QAAQ,CAApDC,YAAY,EAAI7L,IAAI,GAAAmQ,sBAAA,CAAJnQ,IAAI,EAAE4M,QAAQ,GAAAuD,sBAAA,CAARvD,QAAQ;sBAAAyD,SAAA,CAAA/N,IAAA;sBAAA,OACfyN,MAAI,CAACxF,gBAAgB,CAACqC,QAAQ,IAAI5M,IAAI,CAAC;oBAAA;sBAAxD4K,QAAQ,GAAAyF,SAAA,CAAAtO,IAAA;sBAGd,IAAI6K,QAAQ,IAAI5M,IAAI,KAAK,OAAO,EAC9BiO,GAAG,GAAGpK,OAAO,CAACyM,GAAG,CAACP,MAAI,CAACX,WAAW,CAACzE,EAAE,EAAEC,QAAQ,EAAA3F,aAAA;wBAAI2H,QAAQ,EAARA;sBAAQ,GAAKF,IAAI,CAAE,CAAC,CAAC,MAExEuB,GAAG,GAAG8B,MAAI,CAAChB,YAAY,CAACpE,EAAE,EAAEC,QAAQ,EAAE8B,IAAI,CAAC;sBAE7CqD,MAAI,CAAC3B,YAAY,CAACzD,EAAE,EAAEsD,GAAG,CAAC;oBAAA;oBAAA;sBAAA,OAAAoC,SAAA,CAAAjM,IAAA;kBAAA;gBAAA,GAAA8L,QAAA;cAAA,CAC3B,GAAC;cAAA,OAAAD,SAAA,CAAA/N,MAAA,WAEKwK,IAAI;YAAA;YAAA;cAAA,OAAAuD,SAAA,CAAA7L,IAAA;UAAA;QAAA,GAAA0L,QAAA;MAAA,CACZ;MAAA,SAAAjB,OAAA0B,IAAA;QAAA,OAAAV,OAAA,CAAA7K,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAA2J,MAAA;IAAA;EAAA;IAAAlJ,GAAA;IAAA9G,KAAA;MAAA,IAAA2R,QAAA,GAAA1K,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAED,SAAAiN,UAAc/D,IAAY;QAAA,IAAAgE,MAAA;QAAA,IAAA/F,EAAA,EAAA/I,MAAA,EAAAqE,IAAA;QAAA,OAAA9H,mBAAA,GAAAuB,IAAA,UAAAiR,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAA3M,IAAA,GAAA2M,UAAA,CAAAtO,IAAA;YAAA;cAChBqI,EAAE,GAAmB+B,IAAI,CAAzB/B,EAAE,EAAE/I,MAAM,GAAW8K,IAAI,CAArB9K,MAAM,EAAEqE,IAAI,GAAKyG,IAAI,CAAbzG,IAAI;cACxB,IAAI0E,EAAE,IAAI/I,MAAM,EAAE;gBAChBiC,OAAO,CAACvC,OAAO,CAAC,CAAC,CAACE,IAAI,eAAAsE,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAAC,SAAAqN,UAAA;kBAAA,IAAArK,MAAA,EAAAxG,IAAA,EAAA4K,QAAA,EAAAK,eAAA,EAAAC,gBAAA,EAAAG,MAAA;kBAAA,OAAAlN,mBAAA,GAAAuB,IAAA,UAAAoR,WAAAC,UAAA;oBAAA,kBAAAA,UAAA,CAAA9M,IAAA,GAAA8M,UAAA,CAAAzO,IAAA;sBAAA;wBACfkE,MAAM,GAAG0B,UAAU,CAAC2B,GAAG,CAACc,EAAE,CAAC;wBACT3K,IAAI,GAAOwG,MAAM,CAACoF,QAAQ,CAA1CC,YAAY,CAAI7L,IAAI;wBAAA+Q,UAAA,CAAAzO,IAAA;wBAAA,OACLoO,MAAI,CAACnG,gBAAgB,CAACvK,IAAI,CAAC;sBAAA;wBAA5C4K,QAAQ,GAAAmG,UAAA,CAAAhP,IAAA;wBAAAgP,UAAA,CAAAzO,IAAA;wBAAA,OAEgBuB,OAAO,CAAC2H,UAAU,CAAC,CAACZ,QAAQ,CAAChJ,MAAM,CAAC,CAACqE,IAAI,EAAEO,MAAM,CAAC,CAAC,CAAC;sBAAA;wBAA5EyE,eAAe,GAAA8F,UAAA,CAAAhP,IAAA;wBACfmJ,gBAAgB,GAAGD,eAAe,CAAC,CAAC,CAAC;wBAAA,MAEvCC,gBAAgB,CAAChC,MAAM,KAAK,UAAU;0BAAA6H,UAAA,CAAAzO,IAAA;0BAAA;wBAAA;wBAAA,MAClC,IAAIZ,KAAK,CAACwJ,gBAAgB,CAACO,MAAM,CAAC;sBAAA;wBAEpCJ,MAAM,GAAGH,gBAAgB,CAACrM,KAAK;wBACrCqJ,UAAU,CAAC2G,MAAM,CAAClE,EAAE,EAAEU,MAAM,CAAC;wBAE7BqF,MAAI,CAACtC,YAAY,CAACzD,EAAE,EAAA1F,aAAA,CAAAA,aAAA,KACfyH,IAAI;0BACP/B,EAAE,EAAFA,EAAE;0BACFmB,QAAQ,EAAET,MAAM,CAACS,QAAQ,CAACC,OAAO,CAAC,CAAC;0BACnCC,QAAQ,EAAEX,MAAM,CAACW,QAAQ,CAACD,OAAO,CAAC,CAAC;0BACnCE,KAAK,EAAEZ,MAAM,CAACY,KAAK,CAACF,OAAO,CAAC,CAAC;0BAC7BG,OAAO,EAAEb,MAAM,CAACa;wBAAO,EACxB,CAAC;sBAAA;sBAAA;wBAAA,OAAA6E,UAAA,CAAA3M,IAAA;oBAAA;kBAAA,GAAAyM,SAAA;gBAAA,CACH,GAAC;cACJ;cAAC,OAAAD,UAAA,CAAA1O,MAAA,WAEMwK,IAAI;YAAA;YAAA;cAAA,OAAAkE,UAAA,CAAAxM,IAAA;UAAA;QAAA,GAAAqM,SAAA;MAAA,CACZ;MAAA,SAAAO,QAAAC,IAAA;QAAA,OAAAT,QAAA,CAAAxL,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAA8L,OAAA;IAAA;IAED;AACF;AACA;AACA;AACA;EAJE;IAAArL,GAAA;IAAA9G,KAAA;MAAA,IAAAqS,aAAA,GAAApL,iBAAA,eAAA3H,mBAAA,GAAAqF,IAAA,CAKA,SAAA2N,UAA2BxG,EAAU,EAAEsD,GAAQ;QAAA,OAAA9P,mBAAA,GAAAuB,IAAA,UAAA0R,WAAAC,UAAA;UAAA,kBAAAA,UAAA,CAAApN,IAAA,GAAAoN,UAAA,CAAA/O,IAAA;YAAA;cAAA,OAAA+O,UAAA,CAAAnP,MAAA,WACtC2B,OAAO,CAACvC,OAAO,CAAC2M,GAAG,CAAC,CACxBzM,IAAI,CAAC,YAAM;gBACVkG,aAAa,CACX;kBACEqB,WAAW,EAAEtB,WAAW,CAACuB,KAAK;kBAC9BC,WAAW,EAAE,UAAU;kBACvBC,MAAM,EAAEvB,cAAc,CAACwB,OAAO;kBAC9BmI,MAAM,EAAE;gBACV,CAAC,EACD;kBACE3G,EAAE,EAAFA,EAAE;kBACF4G,OAAO,EAAE;gBACX,CAAC,CAAC;cACN,CAAC,CAAC,CACD9M,KAAK,CAAC,YAAM;gBACXiD,aAAa,CACX;kBACEqB,WAAW,EAAEtB,WAAW,CAACuB,KAAK;kBAC9BC,WAAW,EAAE,UAAU;kBACvBC,MAAM,EAAEvB,cAAc,CAACwB,OAAO;kBAC9BmI,MAAM,EAAE;gBACV,CAAC,EACD;kBACE3G,EAAE,EAAFA,EAAE;kBACF4G,OAAO,EAAE;gBACX,CAAC,CAAC;cACN,CAAC,CAAC;YAAA;YAAA;cAAA,OAAAF,UAAA,CAAAjN,IAAA;UAAA;QAAA,GAAA+M,SAAA;MAAA,CACL;MAAA,SAAA/C,aAAAoD,IAAA,EAAAC,IAAA;QAAA,OAAAP,aAAA,CAAAlM,KAAA,OAAAE,SAAA;MAAA;MAAA,OAAAkJ,YAAA;IAAA;EAAA;IAAAzI,GAAA;IAAA9G,KAAA,EAED,SAAA6S,WAAWC,QAAQ,EAAEC,QAAQ,EAAE;MAC7B,IAAIC,KAAK,CAACC,OAAO,CAACH,QAAQ,CAAC,IAAIC,QAAQ,EACrC,OAAOA,QAAQ;IACnB;;IAEA;AACF;AACA;AACA;EAHE;IAAAjM,GAAA;IAAA9G,KAAA,EAIA,SAAAkT,QAAOrF,IAAU,EAAE;MACjB,IAAQ/B,EAAE,GAAK+B,IAAI,CAAX/B,EAAE;MACV,IAAMnE,MAAM,GAAG0B,UAAU,CAAC2B,GAAG,CAACc,EAAE,CAAC;MAEjC,IAAI,CAACnE,MAAM,EACT,MAAM,IAAI9E,KAAK,WAAA4I,MAAA,CAAWK,EAAE,kBAAe,CAAC;MAE9C,IAAInE,MAAM,CAACoF,QAAQ,CAACC,YAAY,CAAC7L,IAAI,KAAK,OAAO,EAC/C,IAAI,CAACwI,oBAAoB,CAACc,YAAY,CAAC9C,MAAM,CAAC;MAEhD,IAAMwL,cAAc,GAAG,SAAjBA,cAAcA,CAAIrG,QAAQ,EAAW;QACzC,IAAMN,MAAM,GAAGnD,UAAU,CAAC2B,GAAG,CAAC8B,QAAQ,CAAC;QACvC,IAAI,CAACN,MAAM,EACT;QAEF,IAAIA,MAAM,CAAC4G,QAAQ,EAAE;UACnB5G,MAAM,CAAC4G,QAAQ,CAAChR,OAAO,CAAC,UAACyI,KAAK,EAAK;YACjC,IAAAwI,KAAA,GAAexI,KAAK,CAACkC,QAAQ,CAACC,YAAY,IAAI,CAAC,CAAC;cAAxClB,EAAE,GAAAuH,KAAA,CAAFvH,EAAE;YACVA,EAAE,IAAIqH,cAAc,CAACrH,EAAE,CAAC;UAC1B,CAAC,CAAC;QACJ;QACAzC,UAAU,CAACiK,GAAG,CAACxG,QAAQ,CAAC,IAAIzD,UAAU,CAACkK,MAAM,CAACzG,QAAQ,CAAC;MACzD,CAAC;MACDqG,cAAc,CAACrH,EAAE,CAAC;MAElBnE,MAAM,CAAC6L,gBAAgB,CAAC,CAAC;MAEzB,IAAMC,aAAa,GAAGvK,eAAe,CAAC,CAAC;;MAEvC;MACA;MACAvB,MAAM,CAAC9C,SAAS,CAAC6O,OAAO,GAAGD,aAAa;MACxC;MACA9L,MAAM,CAAC+L,OAAO,CAAC,CAAC;MAEhBrK,UAAU,CAACkK,MAAM,CAACzH,EAAE,CAAC;IACvB;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAAhF,GAAA;IAAA9G,KAAA,EAKA,SAAAgL,IAAI2I,MAAsB,EAAE;MAC1B,IAAQ7H,EAAE,GAAK6H,MAAM,CAAb7H,EAAE;MAEV,IAAMU,MAAM,GAAGnD,UAAU,CAAC2B,GAAG,CAACc,EAAE,CAAC;MACjC,IAAME,MAAM,GAAG,IAAI,CAAC4H,eAAe,CAACpH,MAAM,CAAC;MAE3C,OAAApG,aAAA,CAAAA,aAAA,KACK4F,MAAM;QACTF,EAAE,EAAFA,EAAE;QACFmB,QAAQ,EAAET,MAAM,CAACS,QAAQ,CAACC,OAAO,CAAC,CAAC;QACnCC,QAAQ,EAAEX,MAAM,CAACW,QAAQ,CAACD,OAAO,CAAC,CAAC;QACnCE,KAAK,EAAEZ,MAAM,CAACY,KAAK,CAACF,OAAO,CAAC,CAAC;QAC7BG,OAAO,EAAEb,MAAM,CAACa,OAAO;QACvBlM,IAAI,EAAEqL,MAAM,CAACO,QAAQ,CAACC,YAAY,CAAC7L;MAAI;IAE3C;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA2F,GAAA;IAAA9G,KAAA,EAKA,SAAA4T,gBAAgBjM,MAAgB,EAAE;MAChC,OAAOA,MAAM,KAAKA,MAAM,CAACoF,QAAQ,CAACf,MAAM,IAAI,CAAC,CAAC,CAAC;IACjD;;IAEA;AACF;AACA;AACA;EAHE;IAAAlF,GAAA;IAAA9G,KAAA,EAIA,SAAA6T,eAAeC,IAAoB,EAAE;MACnC,IAAQC,SAAS,GAAmBD,IAAI,CAAhCC,SAAS;QAAYjI,EAAE,GAAKgI,IAAI,CAArBhH,QAAQ;MAC3B,IAAMkH,aAAa,GAAGD,SAAS,CAACzO,KAAK,CAAC,CAAC,CAAC,CAAC2O,WAAW,CAAC,CAAC;MACtD,IAAMtM,MAAM,GAAG0B,UAAU,CAAC2B,GAAG,CAACc,EAAE,CAAC;MAEjC,IAAI,CAACnE,MAAM,EACT,MAAM,IAAI9E,KAAK,WAAA4I,MAAA,CAAWK,EAAE,kBAAe,CAAC;MAE9C,IAAI,CAACoI,gBAAgB,CAAC;QACpBH,SAAS,EAAEC,aAAa;QACxBlH,QAAQ,EAAEhB;MACZ,CAAC,CAAC;;MAEF;MACA,IAAI7C,kBAAkB,CAACkL,QAAQ,CAACxM,MAAM,CAACyD,UAAU,CAAC,EAAE;QAClDzD,MAAM,CAACoF,QAAQ,CAACiH,aAAa,CAAC,GAAG,UAACzU,CAAC,EAAK;UACtC,IAAM6U,WAAW,GAAG7U,CAAC,CAAC8U,cAAc;UACpC,IAAMC,aAAa,GAAGnL,gBAAgB,CAACiL,WAAW,EAAEzM,MAAa,CAAC;UAElE2M,aAAa,IACRzL,aAAa,CAAC;YACfqB,WAAW,EAAEtB,WAAW,CAACuB,KAAK;YAC9BC,WAAW,EAAE2J,SAAS;YACtB1J,MAAM,EAAEvB,cAAc,CAACwB,OAAO;YAC9BmI,MAAM,EAAE;UACV,CAAC,EACD;YACE8B,QAAQ,EAAED,aAAa,CAACxH,QAAQ;YAChChB,EAAE,EAAFA;UACF,CAAC,CAAC;QACN,CAAC;QAEDnE,MAAM,CAACoC,gBAAgB,CAAC,OAAO,EAAEpC,MAAM,CAACoF,QAAQ,CAACiH,aAAa,CAAC,CAAC;MAClE,CAAC,MACI;QACHrM,MAAM,CAACoF,QAAQ,CAACiH,aAAa,CAAC,GAAG,UAACzU,CAAC,EAAK;UACtCsJ,aAAa,CACX;YACEqB,WAAW,EAAEtB,WAAW,CAACuB,KAAK;YAC9BC,WAAW,EAAE2J,SAAS;YACtB1J,MAAM,EAAEvB,cAAc,CAACwB,OAAO;YAC9BmI,MAAM,EAAE;UACV,CAAC,EACD;YACE8B,QAAQ,EAAEzI,EAAE;YACZA,EAAE,EAAFA;UACF,CACF,CAAC;QACH,CAAC;QACDnE,MAAM,CAACoC,gBAAgB,CAACiK,aAAa,EAAErM,MAAM,CAACoF,QAAQ,CAACiH,aAAa,CAAC,CAAC;MACxE;IACF;;IAEA;AACF;AACA;AACA;EAHE;IAAAlN,GAAA;IAAA9G,KAAA,EAIA,SAAAkU,iBAAiBJ,IAAoB,EAAE;MACrC,IAAQC,SAAS,GAAmBD,IAAI,CAAhCC,SAAS;QAAYjI,EAAE,GAAKgI,IAAI,CAArBhH,QAAQ;MAC3B,IAAMkH,aAAa,GAAGD,SAAS,CAACzO,KAAK,CAAC,CAAC,CAAC,CAAC2O,WAAW,CAAC,CAAC;MACtD,IAAMtM,MAAM,GAAG0B,UAAU,CAAC2B,GAAG,CAACc,EAAE,CAAC;MAEjC,IAAI,CAACnE,MAAM,EACT,MAAM,IAAI9E,KAAK,WAAA4I,MAAA,CAAWK,EAAE,kBAAe,CAAC;MAE9CnE,MAAM,CAAC6M,mBAAmB,CAACR,aAAa,EAAErM,MAAM,CAACoF,QAAQ,CAACiH,aAAa,CAAC,CAAC;IAC3E;EAAC;EAAA,OAAA1K,MAAA;AAAA;AAGH,eAAeA,MAAM"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","Group","use","MaterialSwitchSystem","createHighSelectedTool","MessageType","sendToMessage","EMessageStatus","entityEvents","HybridList","entityStrategy","eventPenetrateType","createDisposeFn","getMinimumEntity","hybridList","Entity","app","Map","select","materialSwitchSystem","useScene","scene","add","addEventListener","_ref","style","messageType","Event","messageName","status","Success","_registerStrategy","_callee","entityType","strategyMap","strategyClass","_callee$","_context","concat","registerStrategy","_x","_singleCreate","_callee2","id","strategy","option","group","layerId","_this","entityInfoArray","targetEntityInfo","_option$interactable","interactable","_option$interactiveEf","interactiveEffect","entity","_callee2$","_context2","allSettled","reason","tag","entityId","userData","entityParams","addObject","position","toArray","rotation","scale","visible","singleCreate","_x2","_x3","_x4","_x5","_x6","multiCreate","json","_this2","itemType","_json$items","items","_json$legends","legends","_json$interactable","_ref2","_callee3","item","currentData","_callee3$","_context3","legend","find","_x7","_create","_callee5","_this3","_json$interactable2","asyncTask","_callee5$","_context5","_callee4","res","_callee4$","_context4","handleResult","_x8","_singleUpdate","_callee6","_this4","_target$userData$enti","_option$interactiveEf2","_callee6$","_context6","get","removeObject","update","remove","singleUpdate","_x9","_x10","_x11","_x12","multiUpdate","_this5","_ref4","_callee7","legendItem","currentItem","_callee7$","_context7","_x13","_update","_callee9","_this6","_json$interactable3","_callee9$","_context9","_callee8","_target$userData$enti2","_callee8$","_context8","all","_x14","_execute","_callee11","_this7","_json$interactable4","_callee11$","_context11","_callee10","_callee10$","_context10","execute","_x15","_handleResult","_callee12","_this8","_callee12$","_context12","global","success","finally","eventBus","eventMap","_","includes","registerEvents","eventName","_x16","_x17","_x18","customizer","objValue","srcValue","Array","isArray","_delete","deleteChildren","children","child","_ref7","has","delete","removeFromParent","entityDispose","dispose","params","getEntityOption","opts","realEventName","toLowerCase","console","log","unregisterEvents","closestMesh","newClosestMesh","minimumEntity","targetId","removeEventListener"],"sources":["../../../src/module/entity/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Group, use, utils } from '@anov/3d-core'\nimport { MaterialSwitchSystem, createHighSelectedTool } from '@anov/3d-ability'\nimport type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { MessageType, sendToMessage } from '../../utils/messageFn'\nimport { EMessageStatus } from '../../messageStatus'\nimport { entityEvents } from '../eventBus/entityEvents'\nimport HybridList from './hybridList'\nimport { entityStrategy, eventPenetrateType } from './strategy'\nimport createDisposeFn from './dispose'\nimport type { Option, Opts, RegisterEvents } from './type'\nimport { getMinimumEntity } from './utils'\n\nexport const hybridList = new HybridList<Object3D>()\n\nclass Entity implements BaseModule {\n public app: Anov3D\n public catchStrategy: Map<string, any> = new Map()\n public select: any\n public materialSwitchSystem: MaterialSwitchSystem\n\n constructor(app: Anov3D) {\n this.select = createHighSelectedTool()\n this.app = app\n this.materialSwitchSystem = new MaterialSwitchSystem()\n use.useScene().scene.add(this.materialSwitchSystem)\n\n this.materialSwitchSystem.addEventListener(\n 'onStyleChanged',\n ({ style }) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onStyleChanged',\n status: EMessageStatus.Success,\n },\n {\n style,\n })\n },\n )\n }\n\n /**\n * register strategy\n * @param entityType\n * @returns\n */\n async registerStrategy(entityType) {\n const strategyMap = {\n ...entityStrategy,\n }\n\n if (!(entityType in strategyMap))\n throw new Error(`entityType ${entityType} is not supported`)\n\n const strategyClass = await strategyMap[entityType]()\n\n // eslint-disable-next-line new-cap\n return new strategyClass()\n }\n\n async singleCreate(id, strategy, option: Option, group?: Group, layerId?: string) {\n const entityInfoArray = await Promise.allSettled([strategy.create(option)])\n const targetEntityInfo = entityInfoArray[0]\n const { interactable = true, interactiveEffect = false } = option\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = { id, type: option.type, layerId, interactable }\n\n if (entity.userData.entityParams.type === 'model')\n this.materialSwitchSystem.addObject(entity)\n\n hybridList.add(id, entity)\n group?.add(entity)\n\n if (interactiveEffect && entity.userData.entityParams.type === 'model') {\n entity.addEventListener('mouseover', () => {\n this.select([entity])\n })\n\n entity.addEventListener('mouseout', () => {\n this.select([])\n })\n }\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiCreate(id: string, strategy, json: Option) {\n const { itemType, items = [], legends = [], interactable = true } = json\n\n const group = new Group()\n\n // TODO 优化,定制化非实体逻辑\n items.forEach(async (item) => {\n let currentData = item\n\n if (currentData.legend) {\n currentData = {\n ...legends.find(legend => legend.name === item.legend),\n ...item,\n }\n }\n currentData.type = itemType\n\n await this.singleCreate(\n item.id,\n strategy,\n currentData,\n group,\n id,\n )\n })\n\n group.userData.entityParams = { id, type: 'layer', itemType, interactable }\n hybridList.add(id, group)\n use.useScene().scene.add(group)\n\n return {\n ...json,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n\n }\n }\n\n /**\n * create entity\n * @param json\n * @returns\n */\n async create(json: Option) {\n const { id, type, itemType, interactable = true } = json\n\n const asyncTask = Promise.resolve().then(async () => {\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = this.multiCreate(id, strategy, json)\n else\n res = this.singleCreate(id, strategy, json)\n\n return this.handleResult(id, res, interactable)\n })\n\n return { ...json, asyncTask }\n }\n\n async singleUpdate(id, strategy, option: Option, group?: Group) {\n const target = hybridList.get(id) as any\n const { entityParams = {} } = target.userData\n\n if (target.userData.entityParams.type === 'model')\n this.materialSwitchSystem.removeObject(target)\n\n const entityInfoArray = await Promise.allSettled([strategy.update(target, option)])\n const targetEntityInfo = entityInfoArray[0]\n\n const { interactiveEffect = false } = option\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n entity.tag = 'entity' // use used for event penetration identification\n entity.entityId = id\n entity.userData.entityParams = entityParams\n\n // 兼容修改图层下的单个实体\n if (!group && entityParams.layerId)\n group = hybridList.get(entityParams.layerId) as Group\n\n if (group) {\n group.remove(hybridList.get(id))\n group.add(entity)\n }\n\n hybridList.update(id, entity)\n\n if (interactiveEffect && entity.userData.entityParams.type === 'model') {\n entity.addEventListener('mouseover', () => {\n this.select([entity])\n })\n\n entity.addEventListener('mouseout', () => {\n this.select([])\n })\n }\n\n if (entity.userData.entityParams.type === 'model')\n this.materialSwitchSystem.addObject(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }\n }\n\n multiUpdate(id, strategy, option) {\n const group = hybridList.get(id) as Group\n const { items, legends, itemType } = option\n\n items.forEach(async (item) => {\n const legendItem = legends?.find(legend => legend.name === item.legend)\n const currentItem = legendItem ? { ...legendItem, ...item } : item\n\n if (hybridList.get(item.id)) {\n await this.singleUpdate(item.id, strategy, currentItem, group)\n }\n else {\n currentItem.type = itemType\n await this.singleCreate(item.id, strategy, currentItem, group)\n }\n })\n\n return {\n ...option,\n id,\n position: group.position.toArray(),\n rotation: group.rotation.toArray(),\n scale: group.scale.toArray(),\n visible: group.visible,\n }\n }\n\n /**\n * update entity\n * @param json\n * @returns\n */\n async update(json: Option) {\n const { id, interactable = true } = json\n\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type, itemType } } = target.userData\n const strategy = await this.registerStrategy(itemType || type)\n\n let res\n if (itemType && type === 'layer')\n res = Promise.all(this.multiUpdate(id, strategy, { itemType, ...json }))\n else\n res = this.singleUpdate(id, strategy, json)\n\n this.handleResult(id, res, interactable)\n })\n\n return json\n }\n\n async execute(json: Option) {\n const { id, method, args, interactable = true } = json\n if (id && method) {\n Promise.resolve().then(async () => {\n const target = hybridList.get(id) as any\n const { entityParams: { type } } = target.userData\n const strategy = await this.registerStrategy(type)\n\n const entityInfoArray = await Promise.allSettled([strategy[method](args, target)])\n const targetEntityInfo = entityInfoArray[0]\n\n if (targetEntityInfo.status === 'rejected')\n throw new Error(targetEntityInfo.reason)\n\n const entity = targetEntityInfo.value\n hybridList.update(id, entity)\n\n this.handleResult(id, {\n ...json,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n }, interactable)\n })\n }\n\n return json\n }\n\n /**\n * handle create or update loadded result\n * @param id\n * @param res\n */\n private async handleResult(id: string, res: any, interactable: boolean) {\n return Promise.resolve(res)\n .then(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: true,\n })\n })\n .catch(() => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: 'onLoaded',\n status: EMessageStatus.Success,\n global: false,\n },\n {\n id,\n success: false,\n })\n })\n .finally(() => {\n this.app.eventBus.eventMap.forEach((_, key) => {\n if (entityEvents.includes(key) && interactable) {\n this.registerEvents({\n eventName: key,\n entityId: id,\n })\n }\n })\n })\n }\n\n customizer(objValue, srcValue) {\n if (Array.isArray(objValue) && srcValue)\n return srcValue\n }\n\n /**\n * delete entity\n * @param json\n */\n delete(json: Opts) {\n const { id } = json\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n if (target.userData.entityParams.type === 'model')\n this.materialSwitchSystem.removeObject(target)\n\n const deleteChildren = (entityId): void => {\n const entity = hybridList.get(entityId)\n if (!entity)\n return\n\n if (entity.children) {\n entity.children.forEach((child) => {\n const { id } = child.userData.entityParams || {}\n id && deleteChildren(id)\n })\n }\n hybridList.has(entityId) && hybridList.delete(entityId)\n }\n deleteChildren(id)\n\n target.removeFromParent()\n\n const entityDispose = createDisposeFn()\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n target.dispose()\n\n hybridList.delete(id)\n }\n\n /**\n * get entity\n * @param params\n * @returns\n */\n get(params: { id: string }) {\n const { id } = params\n\n const entity = hybridList.get(id)\n const option = this.getEntityOption(entity)\n\n return {\n ...option,\n id,\n position: entity.position.toArray(),\n rotation: entity.rotation.toArray(),\n scale: entity.scale.toArray(),\n visible: entity.visible,\n type: entity.userData.entityParams.type,\n }\n }\n\n /**\n * get entity option\n * @param target\n * @returns\n */\n getEntityOption(target: Object3D) {\n return target && (target.userData.option || {})\n }\n\n /**\n * register entity events\n * @param opts\n */\n registerEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n if (!(target.userData.entityParams.type === 'model' || target.userData.entityParams.type === 'poi'))\n return\n\n console.log('registerEvents', target)\n\n this.unregisterEvents({\n eventName: realEventName,\n entityId: id,\n })\n\n // @ts-ignore\n if (eventPenetrateType.includes(target.entityType)) {\n target.userData[realEventName] = (e) => {\n const closestMesh = e.newClosestMesh\n const minimumEntity = getMinimumEntity(closestMesh, target as any)\n\n minimumEntity\n && sendToMessage({\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: minimumEntity.entityId,\n id,\n })\n }\n\n target.addEventListener('click', target.userData[realEventName])\n }\n else {\n target.userData[realEventName] = (e) => {\n sendToMessage(\n {\n messageType: MessageType.Event,\n messageName: eventName,\n status: EMessageStatus.Success,\n global: false,\n },\n {\n targetId: id,\n id,\n },\n )\n }\n target.addEventListener(realEventName, target.userData[realEventName])\n }\n }\n\n /**\n * unregister entity events\n * @param opts\n */\n unregisterEvents(opts: RegisterEvents) {\n const { eventName, entityId: id } = opts\n const realEventName = eventName.slice(2).toLowerCase()\n const target = hybridList.get(id)\n\n if (!target)\n throw new Error(`entity ${id} is not exist`)\n\n target.removeEventListener(realEventName, target.userData[realEventName])\n }\n}\n\nexport default Entity"],"mappings":"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"}
|
|
@@ -10,10 +10,13 @@ function _defineProperties(target, props) { for (var i = 0; i < props.length; i+
|
|
|
10
10
|
function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
|
|
11
11
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
12
12
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
13
|
-
import { Euler, MathUtils, Vector3, use } from '@anov/3d-core';
|
|
13
|
+
import { BufferGeometry, Euler, MathUtils, Vector3, use } from '@anov/3d-core';
|
|
14
|
+
import { CENTER, computeBoundsTree, disposeBoundsTree } from "three-mesh-bvh/build/index.module.js";
|
|
14
15
|
import createDisposeFn from "../dispose";
|
|
15
16
|
import MaterialManage from "../../material";
|
|
16
17
|
import { LoadStrategy } from "./load";
|
|
18
|
+
BufferGeometry.prototype.computeBoundsTree = computeBoundsTree;
|
|
19
|
+
BufferGeometry.prototype.disposeBoundsTree = disposeBoundsTree;
|
|
17
20
|
var defaultOption = {
|
|
18
21
|
name: '',
|
|
19
22
|
visible: true,
|
|
@@ -82,15 +85,16 @@ var ModelManage = /*#__PURE__*/function () {
|
|
|
82
85
|
model = _context.sent;
|
|
83
86
|
object3d = modelType === 'fbx' ? model : model.scene;
|
|
84
87
|
this.setOption(_objectSpread(_objectSpread({}, defaultOption), json), object3d);
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
88
|
+
object3d.traverse(function (child) {
|
|
89
|
+
if (child.type === 'Mesh') {
|
|
90
|
+
if (child.geometry.boundsTree) child.geometry.disposeBoundsTree();
|
|
91
|
+
child.geometry.computeBoundsTree();
|
|
92
|
+
child.geometry.boundsTree.splitStrategy = CENTER;
|
|
93
|
+
}
|
|
94
|
+
});
|
|
91
95
|
use.useScene().scene.add(object3d);
|
|
92
96
|
return _context.abrupt("return", object3d);
|
|
93
|
-
case
|
|
97
|
+
case 13:
|
|
94
98
|
case "end":
|
|
95
99
|
return _context.stop();
|
|
96
100
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","key","_toPropertyKey","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_toPrimitive","String","toPrimitive","Number","Euler","MathUtils","Vector3","use","createDisposeFn","MaterialManage","LoadStrategy","defaultOption","visible","position","rotation","scale","collision","materialManage","ModelManage","setOption","option","url","copy","fromArray","degToRad","userData","applyMaterialOverride","materials","changeByObject","id","console","_create","_callee","json","events","modelType","loadAPi","model","object3d","_callee$","_context","split","scene","useScene","add","_x","_update","_callee2","entityDispose","_callee2$","_context2","removeFromParent","dispose","update","_x2","_x3"],"sources":["../../../../src/module/entity/model/index.ts"],"sourcesContent":["import type { Group } from '@anov/3d-core'\nimport { Euler, MathUtils, Vector3, use } from '@anov/3d-core'\nimport type { EMaterialType } from '@anov/3d-ability'\nimport createDisposeFn from '../dispose'\nimport MaterialManage from '../../material'\nimport { LoadStrategy } from './load'\n\ntype ModelOption = {\n url: string\n id: string\n\n} & PartialModelOption\n\ntype MaterialOption = Partial<{\n meshIndex: number\n primitiveIndex: number\n materialId: EMaterialType\n properties: {\n color: string\n uvScale: number\n }\n}>\n\ntype PartialModelOption = Partial<{\n name: string\n visible: boolean\n position: number[]\n rotation: number[]\n scale: number[]\n collision: boolean\n materials: Array<MaterialOption>\n\n}>\n\nconst defaultOption: PartialModelOption = {\n name: '',\n visible: true,\n position: [0, 0, 0],\n rotation: [0, 0, 0],\n scale: [1, 1, 1],\n collision: true,\n}\n\nconst materialManage = new MaterialManage(null)\n\nclass ModelManage {\n private setOption(option: ModelOption, target: Group) {\n const { name, visible, position, rotation, collision, url } = option\n\n target.name = name\n target.visible = visible\n target.position.copy(new Vector3().fromArray(position))\n target.rotation.copy(new Euler(MathUtils.degToRad(rotation[0]), MathUtils.degToRad(rotation[1]), MathUtils.degToRad(rotation[2])))\n target.scale.copy(new Vector3().fromArray(option.scale))\n target.userData.collision = collision\n target.userData.url = url\n\n // 材质处理\n this.applyMaterialOverride(option, target)\n }\n\n private applyMaterialOverride(option: ModelOption, target: Group) {\n const { materials } = option\n\n if (materials) {\n try {\n materialManage.changeByObject(target, { target: option.id, materials })\n }\n catch (e) {\n console.error(e)\n }\n }\n }\n\n async create(json) {\n const { url, id, events } = json\n const modelType = url.split('.').pop()\n const loadAPi = await LoadStrategy[modelType]()\n const model = await loadAPi(url, id, events)\n const object3d = modelType === 'fbx' ? model : model.scene\n\n this.setOption({\n ...defaultOption,\n ...json,\n }, object3d,\n )\n\n // object3d.traverse((child) => {\n // if (child.material)\n // child.material.metalness = 0\n // })\n\n use.useScene().scene.add(object3d)\n\n return object3d\n }\n\n async update(target: Group, option: ModelOption) {\n const { url } = option\n\n if (target.userData.url !== url) {\n target.removeFromParent()\n\n // todo: 抽离\n const entityDispose = createDisposeFn()\n entityDispose.call(target)\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n target.dispose()\n return this.create(option)\n }\n\n else {\n this.setOption(option, target)\n return target\n }\n }\n}\n\nexport default ModelManage\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","obj","key","_toPropertyKey","asyncGeneratorStep","gen","reject","_next","_throw","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_toPrimitive","String","toPrimitive","Number","BufferGeometry","Euler","MathUtils","Vector3","use","CENTER","computeBoundsTree","disposeBoundsTree","createDisposeFn","MaterialManage","LoadStrategy","defaultOption","visible","position","rotation","scale","collision","materialManage","ModelManage","setOption","option","url","copy","fromArray","degToRad","userData","applyMaterialOverride","materials","changeByObject","id","console","_create","_callee","json","events","modelType","loadAPi","model","object3d","_callee$","_context","split","scene","traverse","child","geometry","boundsTree","splitStrategy","useScene","add","_x","_update","_callee2","entityDispose","_callee2$","_context2","removeFromParent","dispose","update","_x2","_x3"],"sources":["../../../../src/module/entity/model/index.ts"],"sourcesContent":["import type { Group } from '@anov/3d-core'\nimport { BufferGeometry, Euler, MathUtils, Vector3, use } from '@anov/3d-core'\nimport type { EMaterialType } from '@anov/3d-ability'\nimport { CENTER, computeBoundsTree, disposeBoundsTree } from 'three-mesh-bvh'\nimport createDisposeFn from '../dispose'\nimport MaterialManage from '../../material'\nimport { LoadStrategy } from './load'\n\nBufferGeometry.prototype.computeBoundsTree = computeBoundsTree\nBufferGeometry.prototype.disposeBoundsTree = disposeBoundsTree\n\ntype ModelOption = {\n url: string\n id: string\n\n} & PartialModelOption\n\ntype MaterialOption = Partial<{\n meshIndex: number\n primitiveIndex: number\n materialId: EMaterialType\n properties: {\n color: string\n uvScale: number\n }\n}>\n\ntype PartialModelOption = Partial<{\n name: string\n visible: boolean\n position: number[]\n rotation: number[]\n scale: number[]\n collision: boolean\n materials: Array<MaterialOption>\n\n}>\n\nconst defaultOption: PartialModelOption = {\n name: '',\n visible: true,\n position: [0, 0, 0],\n rotation: [0, 0, 0],\n scale: [1, 1, 1],\n collision: true,\n}\n\nconst materialManage = new MaterialManage(null)\n\nclass ModelManage {\n private setOption(option: ModelOption, target: Group) {\n const { name, visible, position, rotation, collision, url } = option\n\n target.name = name\n target.visible = visible\n target.position.copy(new Vector3().fromArray(position))\n target.rotation.copy(new Euler(MathUtils.degToRad(rotation[0]), MathUtils.degToRad(rotation[1]), MathUtils.degToRad(rotation[2])))\n target.scale.copy(new Vector3().fromArray(option.scale))\n target.userData.collision = collision\n target.userData.url = url\n\n // 材质处理\n this.applyMaterialOverride(option, target)\n }\n\n private applyMaterialOverride(option: ModelOption, target: Group) {\n const { materials } = option\n\n if (materials) {\n try {\n materialManage.changeByObject(target, { target: option.id, materials })\n }\n catch (e) {\n console.error(e)\n }\n }\n }\n\n async create(json) {\n const { url, id, events } = json\n const modelType = url.split('.').pop()\n const loadAPi = await LoadStrategy[modelType]()\n const model = await loadAPi(url, id, events)\n const object3d = modelType === 'fbx' ? model : model.scene\n\n this.setOption({\n ...defaultOption,\n ...json,\n }, object3d,\n )\n\n object3d.traverse((child) => {\n if (child.type === 'Mesh') {\n if (child.geometry.boundsTree)\n child.geometry.disposeBoundsTree()\n\n child.geometry.computeBoundsTree()\n child.geometry.boundsTree.splitStrategy = CENTER\n }\n })\n\n use.useScene().scene.add(object3d)\n\n return object3d\n }\n\n async update(target: Group, option: ModelOption) {\n const { url } = option\n\n if (target.userData.url !== url) {\n target.removeFromParent()\n\n // todo: 抽离\n const entityDispose = createDisposeFn()\n entityDispose.call(target)\n\n // @ts-ignore\n // eslint-disable-next-line no-proto\n target.__proto__.dispose = entityDispose\n // @ts-ignore\n target.dispose()\n return this.create(option)\n }\n\n else {\n this.setOption(option, target)\n return target\n }\n }\n}\n\nexport default ModelManage\n"],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
5
5
|
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
6
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
|
|
7
7
|
function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
8
|
+
import { hybridList } from "../entity";
|
|
9
|
+
|
|
8
10
|
/**
|
|
9
11
|
* notes: 区别于前端概念,3端统一API特定
|
|
10
12
|
*/
|
|
@@ -23,6 +25,7 @@ var EventBus = /*#__PURE__*/function () {
|
|
|
23
25
|
_createClass(EventBus, [{
|
|
24
26
|
key: "on",
|
|
25
27
|
value: function on(params) {
|
|
28
|
+
var _this = this;
|
|
26
29
|
if (params.id) {
|
|
27
30
|
// @ts-ignore
|
|
28
31
|
this.app.entity.registerEvents({
|
|
@@ -35,6 +38,16 @@ var EventBus = /*#__PURE__*/function () {
|
|
|
35
38
|
};
|
|
36
39
|
} else {
|
|
37
40
|
this.eventMap.set("".concat(params.eventName), true);
|
|
41
|
+
if (hybridList.map.size > 0) {
|
|
42
|
+
hybridList.map.forEach(function (entity, key) {
|
|
43
|
+
var _entity$value$userDat;
|
|
44
|
+
// @ts-ignore
|
|
45
|
+
((_entity$value$userDat = entity.value.userData) === null || _entity$value$userDat === void 0 || (_entity$value$userDat = _entity$value$userDat.entityParams) === null || _entity$value$userDat === void 0 ? void 0 : _entity$value$userDat.interactable) && _this.app.entity.registerEvents({
|
|
46
|
+
eventName: params.eventName,
|
|
47
|
+
entityId: key
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
}
|
|
38
51
|
return {
|
|
39
52
|
eventName: params.eventName
|
|
40
53
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["EventBus","app","_classCallCheck","_defineProperty","Map","_createClass","key","value","on","params","id","entity","registerEvents","eventName","entityId","eventMap","set","concat","off","unregisterEvents"],"sources":["../../../src/module/eventBus/index.ts"],"sourcesContent":["import type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { hybridList } from '../entity'\n\n/**\n * notes: 区别于前端概念,3端统一API特定\n */\n\nclass EventBus implements BaseModule {\n eventMap: Map<string, boolean> = new Map()\n app: Anov3D\n\n constructor(app: Anov3D) {\n this.app = app\n }\n\n /**\n * open event\n * @param params\n */\n on(params: { eventName: string; id?: string }) {\n if (params.id) {\n // @ts-ignore\n this.app.entity.registerEvents({\n eventName: params.eventName,\n entityId: params.id,\n })\n return {\n eventName: params.eventName,\n id: params.id,\n }\n }\n else {\n this.eventMap.set(`${params.eventName}`, true)\n return {\n eventName: params.eventName,\n }\n }\n }\n\n off(params: { eventName: string; entityId?: string }) {\n if (params.entityId) {\n // @ts-ignore\n this.app.entity.unregisterEvents({\n eventName: params.eventName,\n entityId: params.entityId,\n })\n }\n else {\n this.eventMap.set(`${params.eventName}`, false)\n }\n\n return {\n eventName: params.eventName,\n }\n }\n}\n\nexport default EventBus"],"mappings":";;;;;;;
|
|
1
|
+
{"version":3,"names":["hybridList","EventBus","app","_classCallCheck","_defineProperty","Map","_createClass","key","value","on","params","_this","id","entity","registerEvents","eventName","entityId","eventMap","set","concat","map","size","forEach","_entity$value$userDat","userData","entityParams","interactable","off","unregisterEvents"],"sources":["../../../src/module/eventBus/index.ts"],"sourcesContent":["import type { BaseModule } from '../../utils/abstract'\nimport type Anov3D from '../../sdkEntry'\nimport { hybridList } from '../entity'\n\n/**\n * notes: 区别于前端概念,3端统一API特定\n */\n\nclass EventBus implements BaseModule {\n eventMap: Map<string, boolean> = new Map()\n app: Anov3D\n\n constructor(app: Anov3D) {\n this.app = app\n }\n\n /**\n * open event\n * @param params\n */\n on(params: { eventName: string; id?: string }) {\n if (params.id) {\n // @ts-ignore\n this.app.entity.registerEvents({\n eventName: params.eventName,\n entityId: params.id,\n })\n return {\n eventName: params.eventName,\n id: params.id,\n }\n }\n else {\n this.eventMap.set(`${params.eventName}`, true)\n\n if (hybridList.map.size > 0) {\n hybridList.map.forEach((entity, key) => {\n // @ts-ignore\n entity.value.userData?.entityParams?.interactable && this.app.entity.registerEvents({\n eventName: params.eventName,\n entityId: key,\n })\n })\n }\n\n return {\n eventName: params.eventName,\n }\n }\n }\n\n off(params: { eventName: string; entityId?: string }) {\n if (params.entityId) {\n // @ts-ignore\n this.app.entity.unregisterEvents({\n eventName: params.eventName,\n entityId: params.entityId,\n })\n }\n else {\n this.eventMap.set(`${params.eventName}`, false)\n }\n\n return {\n eventName: params.eventName,\n }\n }\n}\n\nexport default EventBus"],"mappings":";;;;;;;AAEA,SAASA,UAAU;;AAEnB;AACA;AACA;AAFA,IAIMC,QAAQ;EAIZ,SAAAA,SAAYC,GAAW,EAAE;IAAAC,eAAA,OAAAF,QAAA;IAAAG,eAAA,mBAHQ,IAAIC,GAAG,CAAC,CAAC;IAAAD,eAAA;IAIxC,IAAI,CAACF,GAAG,GAAGA,GAAG;EAChB;;EAEA;AACF;AACA;AACA;EAHEI,YAAA,CAAAL,QAAA;IAAAM,GAAA;IAAAC,KAAA,EAIA,SAAAC,GAAGC,MAA0C,EAAE;MAAA,IAAAC,KAAA;MAC7C,IAAID,MAAM,CAACE,EAAE,EAAE;QACb;QACA,IAAI,CAACV,GAAG,CAACW,MAAM,CAACC,cAAc,CAAC;UAC7BC,SAAS,EAAEL,MAAM,CAACK,SAAS;UAC3BC,QAAQ,EAAEN,MAAM,CAACE;QACnB,CAAC,CAAC;QACF,OAAO;UACLG,SAAS,EAAEL,MAAM,CAACK,SAAS;UAC3BH,EAAE,EAAEF,MAAM,CAACE;QACb,CAAC;MACH,CAAC,MACI;QACH,IAAI,CAACK,QAAQ,CAACC,GAAG,IAAAC,MAAA,CAAIT,MAAM,CAACK,SAAS,GAAI,IAAI,CAAC;QAE9C,IAAIf,UAAU,CAACoB,GAAG,CAACC,IAAI,GAAG,CAAC,EAAE;UAC3BrB,UAAU,CAACoB,GAAG,CAACE,OAAO,CAAC,UAACT,MAAM,EAAEN,GAAG,EAAK;YAAA,IAAAgB,qBAAA;YACtC;YACA,EAAAA,qBAAA,GAAAV,MAAM,CAACL,KAAK,CAACgB,QAAQ,cAAAD,qBAAA,gBAAAA,qBAAA,GAArBA,qBAAA,CAAuBE,YAAY,cAAAF,qBAAA,uBAAnCA,qBAAA,CAAqCG,YAAY,KAAIf,KAAI,CAACT,GAAG,CAACW,MAAM,CAACC,cAAc,CAAC;cAClFC,SAAS,EAAEL,MAAM,CAACK,SAAS;cAC3BC,QAAQ,EAAET;YACZ,CAAC,CAAC;UACJ,CAAC,CAAC;QACJ;QAEA,OAAO;UACLQ,SAAS,EAAEL,MAAM,CAACK;QACpB,CAAC;MACH;IACF;EAAC;IAAAR,GAAA;IAAAC,KAAA,EAED,SAAAmB,IAAIjB,MAAgD,EAAE;MACpD,IAAIA,MAAM,CAACM,QAAQ,EAAE;QACnB;QACA,IAAI,CAACd,GAAG,CAACW,MAAM,CAACe,gBAAgB,CAAC;UAC/Bb,SAAS,EAAEL,MAAM,CAACK,SAAS;UAC3BC,QAAQ,EAAEN,MAAM,CAACM;QACnB,CAAC,CAAC;MACJ,CAAC,MACI;QACH,IAAI,CAACC,QAAQ,CAACC,GAAG,IAAAC,MAAA,CAAIT,MAAM,CAACK,SAAS,GAAI,KAAK,CAAC;MACjD;MAEA,OAAO;QACLA,SAAS,EAAEL,MAAM,CAACK;MACpB,CAAC;IACH;EAAC;EAAA,OAAAd,QAAA;AAAA;AAGH,eAAeA,QAAQ"}
|
|
@@ -83,7 +83,7 @@ var MaterialManager = /*#__PURE__*/function () {
|
|
|
83
83
|
var materialMap = _this2.originalMaterial.get(id);
|
|
84
84
|
if (!materialMap) return;
|
|
85
85
|
if (materials) _this2.restoreMaterials(object, materials, materialMap);else _this2.restoreAllMaterials(object, materialMap);
|
|
86
|
-
emitter.emit('
|
|
86
|
+
emitter.emit('onMaterialChanged', {
|
|
87
87
|
target: object
|
|
88
88
|
});
|
|
89
89
|
};
|
|
@@ -101,7 +101,7 @@ var MaterialManager = /*#__PURE__*/function () {
|
|
|
101
101
|
while (1) switch (_context.prev = _context.next) {
|
|
102
102
|
case 0:
|
|
103
103
|
meshIndex = _ref.meshIndex, primitiveIndex = _ref.primitiveIndex, materialId = _ref.materialId, _ref$properties = _ref.properties, properties = _ref$properties === void 0 ? {} : _ref$properties;
|
|
104
|
-
_this3.traverseMeshes(target
|
|
104
|
+
_this3.traverseMeshes(target, meshIndex, primitiveIndex, function (mesh) {
|
|
105
105
|
if (!materialMap.has(mesh.uuid)) materialMap.set(mesh.uuid, mesh.material.clone());
|
|
106
106
|
});
|
|
107
107
|
_context.next = 4;
|
|
@@ -109,11 +109,11 @@ var MaterialManager = /*#__PURE__*/function () {
|
|
|
109
109
|
case 4:
|
|
110
110
|
material = _context.sent;
|
|
111
111
|
_this3.applyMaterialOptions(material, _objectSpread(_objectSpread({}, rootProperties), properties));
|
|
112
|
-
_this3.traverseMeshes(target
|
|
112
|
+
_this3.traverseMeshes(target, meshIndex, primitiveIndex, function (mesh) {
|
|
113
113
|
mesh.material = material;
|
|
114
114
|
});
|
|
115
115
|
emitter.emit('onMaterialChanged', {
|
|
116
|
-
target: target
|
|
116
|
+
target: target
|
|
117
117
|
});
|
|
118
118
|
case 8:
|
|
119
119
|
case "end":
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","SurfaceMaterial","Color","RepeatWrapping","utils","hybridList","emitter","MaterialManager","app","Map","change","json","_this","processChange","data","id","object","get","console","concat","changeByObject","Array","isArray","batch","materials","_json$properties","properties","materialMap","originalMaterial","set","applyMaterials","applySingleMaterial","restore","_this2","processRestore","restoreMaterials","restoreAllMaterials","emit","rootProperties","_this3","material","_ref2","_callee","_ref","meshIndex","primitiveIndex","materialId","_ref$properties","_callee$","_context","traverseMeshes","userData","old","mesh","has","uuid","clone","getMaterial","applyMaterialOptions","_x","_applySingleMaterial","_callee2","_args2","_callee2$","_context2","_x2","_x3","option","color","uvScale","map","wrapS","wrapT","repeat","needsUpdate","_this4","_ref3","callback","traverse","_object$userData","currentMeshIndex","currentPrimitiveIndex"],"sources":["../../../src/module/material/index.ts"],"sourcesContent":["import { SurfaceMaterial } from '@anov/3d-ability'\nimport type { Mesh } from '@anov/3d-core'\nimport { Color, RepeatWrapping, utils } from '@anov/3d-core'\nimport type Anov3D from '../../sdkEntry'\nimport type { BaseModule } from '../../utils/abstract'\nimport { hybridList } from '../entity'\n\nconst { emitter } = utils\n\nclass MaterialManager implements BaseModule {\n app: Anov3D\n originalMaterial = new Map() // 记录初始材质信息\n\n constructor(app: Anov3D) {\n this.app = app\n }\n\n /**\n * Change material for target objects\n * @param json Material change configuration\n */\n change(json: any) {\n const processChange = (data: any) => {\n const { target: id } = data\n const object = hybridList.get(id)\n\n if (!object) {\n console.error(`Target with id ${id} not found`)\n return\n }\n this.changeByObject(object, data)\n }\n if (Array.isArray(json.batch)) // 支持多对象批量替换\n json.batch.forEach(processChange)\n else\n processChange(json)\n }\n\n changeByObject(object: THREE.Object3D, json: any) {\n const { target: id, materials, properties = {} } = json\n\n if (!object) {\n console.error(`Target with id ${id} not found`)\n return\n }\n\n let materialMap = this.originalMaterial.get(id)\n if (!materialMap) {\n materialMap = new Map()\n this.originalMaterial.set(id, materialMap)\n }\n\n if (Array.isArray(materials))\n this.applyMaterials(object, materials, properties, materialMap)\n else\n this.applySingleMaterial(object, materials, properties, materialMap)\n }\n\n /**\n * Restore material for target objects\n * @param json Material restoration configuration\n */\n restore(json: any) {\n const processRestore = (data: any) => {\n const { target: id, materials } = data\n const object = hybridList.get(id)\n\n if (!object) {\n console.error(`Target with id ${id} not found`)\n return\n }\n\n const materialMap = this.originalMaterial.get(id)\n if (!materialMap)\n return\n\n if (materials)\n this.restoreMaterials(object, materials, materialMap)\n else\n this.restoreAllMaterials(object, materialMap)\n\n emitter.emit('onMaterialRestored', { target: object })\n }\n\n if (Array.isArray(json.batch))\n json.batch.forEach(processRestore)\n else\n processRestore(json)\n }\n\n private applyMaterials(\n target: THREE.Object3D,\n materials: any[],\n rootProperties: Record<string, any>,\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n let material\n materials.forEach(async ({ meshIndex, primitiveIndex, materialId, properties = {} }) => {\n this.traverseMeshes(target.userData.old, meshIndex, primitiveIndex, (mesh) => {\n if (!materialMap.has(mesh.uuid))\n materialMap.set(mesh.uuid, (mesh.material as THREE.Material).clone())\n })\n\n material = await SurfaceMaterial.getMaterial(materialId)\n\n this.applyMaterialOptions(material, { ...rootProperties, ...properties })\n this.traverseMeshes(target.userData.old, meshIndex, primitiveIndex, (mesh) => {\n mesh.material = material\n })\n emitter.emit('onMaterialChanged', { target: target.userData.old })\n })\n }\n\n private async applySingleMaterial(\n target: THREE.Object3D,\n materialId,\n properties: Record<string, any> = {},\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n if (!materialMap.has(mesh.uuid))\n materialMap.set(mesh.uuid, (mesh.material as THREE.Material).clone())\n })\n\n const material = await SurfaceMaterial.getMaterial(materialId)\n this.applyMaterialOptions(material, properties)\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n mesh.material = material\n })\n\n emitter.emit('onMaterialChanged', { target })\n }\n\n private applyMaterialOptions(material, option) {\n const { color, uvScale } = option\n if (material.map) {\n if (uvScale) {\n material.map.wrapS = material.map.wrapT = RepeatWrapping\n material.map.repeat.set(uvScale, uvScale)\n }\n if (color)\n material.color = new Color(color)\n\n material.map.needsUpdate = true\n }\n }\n\n private restoreMaterials(\n target: THREE.Object3D,\n materials: any[],\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n materials.forEach(({ meshIndex, primitiveIndex }) => {\n this.traverseMeshes(target, meshIndex, primitiveIndex, (mesh) => {\n if (materialMap.has(mesh.uuid))\n mesh.material = materialMap.get(mesh.uuid) as THREE.Material\n })\n })\n }\n\n private restoreAllMaterials(\n target: THREE.Object3D,\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n if (materialMap.has(mesh.uuid))\n mesh.material = materialMap.get(mesh.uuid) as THREE.Material\n })\n }\n\n private traverseMeshes(\n target: THREE.Object3D,\n meshIndex?: number,\n primitiveIndex?: number,\n callback?: (mesh: Mesh) => void,\n ) {\n target.traverse((object) => {\n if (object.type === 'Mesh') {\n const { meshIndex: currentMeshIndex, primitiveIndex: currentPrimitiveIndex } = object.userData\n if (\n (meshIndex === undefined || meshIndex === currentMeshIndex)\n && (primitiveIndex === undefined || primitiveIndex === currentPrimitiveIndex)\n )\n callback?.(object as Mesh)\n }\n })\n }\n}\n\nexport default MaterialManager\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","ownKeys","getOwnPropertySymbols","filter","getOwnPropertyDescriptor","apply","_objectSpread","arguments","_defineProperty","getOwnPropertyDescriptors","defineProperties","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","obj","_toPrimitive","String","toPrimitive","Number","SurfaceMaterial","Color","RepeatWrapping","utils","hybridList","emitter","MaterialManager","app","Map","change","json","_this","processChange","data","id","object","get","console","concat","changeByObject","Array","isArray","batch","materials","_json$properties","properties","materialMap","originalMaterial","set","applyMaterials","applySingleMaterial","restore","_this2","processRestore","restoreMaterials","restoreAllMaterials","emit","rootProperties","_this3","material","_ref2","_callee","_ref","meshIndex","primitiveIndex","materialId","_ref$properties","_callee$","_context","traverseMeshes","mesh","has","uuid","clone","getMaterial","applyMaterialOptions","_x","_applySingleMaterial","_callee2","_args2","_callee2$","_context2","_x2","_x3","option","color","uvScale","map","wrapS","wrapT","repeat","needsUpdate","_this4","_ref3","callback","traverse","_object$userData","userData","currentMeshIndex","currentPrimitiveIndex"],"sources":["../../../src/module/material/index.ts"],"sourcesContent":["import { SurfaceMaterial } from '@anov/3d-ability'\nimport type { Mesh } from '@anov/3d-core'\nimport { Color, RepeatWrapping, utils } from '@anov/3d-core'\nimport type Anov3D from '../../sdkEntry'\nimport type { BaseModule } from '../../utils/abstract'\nimport { hybridList } from '../entity'\n\nconst { emitter } = utils\n\nclass MaterialManager implements BaseModule {\n app: Anov3D\n originalMaterial = new Map() // 记录初始材质信息\n\n constructor(app: Anov3D) {\n this.app = app\n }\n\n /**\n * Change material for target objects\n * @param json Material change configuration\n */\n change(json: any) {\n const processChange = (data: any) => {\n const { target: id } = data\n const object = hybridList.get(id)\n\n if (!object) {\n console.error(`Target with id ${id} not found`)\n return\n }\n this.changeByObject(object, data)\n }\n if (Array.isArray(json.batch)) // 支持多对象批量替换\n json.batch.forEach(processChange)\n else\n processChange(json)\n }\n\n changeByObject(object: THREE.Object3D, json: any) {\n const { target: id, materials, properties = {} } = json\n\n if (!object) {\n console.error(`Target with id ${id} not found`)\n return\n }\n\n let materialMap = this.originalMaterial.get(id)\n if (!materialMap) {\n materialMap = new Map()\n this.originalMaterial.set(id, materialMap)\n }\n\n if (Array.isArray(materials))\n this.applyMaterials(object, materials, properties, materialMap)\n else\n this.applySingleMaterial(object, materials, properties, materialMap)\n }\n\n /**\n * Restore material for target objects\n * @param json Material restoration configuration\n */\n restore(json: any) {\n const processRestore = (data: any) => {\n const { target: id, materials } = data\n const object = hybridList.get(id)\n\n if (!object) {\n console.error(`Target with id ${id} not found`)\n return\n }\n\n const materialMap = this.originalMaterial.get(id)\n if (!materialMap)\n return\n\n if (materials)\n this.restoreMaterials(object, materials, materialMap)\n else\n this.restoreAllMaterials(object, materialMap)\n\n emitter.emit('onMaterialChanged', { target: object })\n }\n\n if (Array.isArray(json.batch))\n json.batch.forEach(processRestore)\n else\n processRestore(json)\n }\n\n private applyMaterials(\n target: THREE.Object3D,\n materials: any[],\n rootProperties: Record<string, any>,\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n let material\n materials.forEach(async ({ meshIndex, primitiveIndex, materialId, properties = {} }) => {\n this.traverseMeshes(target, meshIndex, primitiveIndex, (mesh) => {\n if (!materialMap.has(mesh.uuid))\n materialMap.set(mesh.uuid, (mesh.material as THREE.Material).clone())\n })\n\n material = await SurfaceMaterial.getMaterial(materialId)\n\n this.applyMaterialOptions(material, { ...rootProperties, ...properties })\n this.traverseMeshes(target, meshIndex, primitiveIndex, (mesh) => {\n mesh.material = material\n })\n emitter.emit('onMaterialChanged', { target })\n })\n }\n\n private async applySingleMaterial(\n target: THREE.Object3D,\n materialId,\n properties: Record<string, any> = {},\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n if (!materialMap.has(mesh.uuid))\n materialMap.set(mesh.uuid, (mesh.material as THREE.Material).clone())\n })\n\n const material = await SurfaceMaterial.getMaterial(materialId)\n this.applyMaterialOptions(material, properties)\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n mesh.material = material\n })\n\n emitter.emit('onMaterialChanged', { target })\n }\n\n private applyMaterialOptions(material, option) {\n const { color, uvScale } = option\n if (material.map) {\n if (uvScale) {\n material.map.wrapS = material.map.wrapT = RepeatWrapping\n material.map.repeat.set(uvScale, uvScale)\n }\n if (color)\n material.color = new Color(color)\n\n material.map.needsUpdate = true\n }\n }\n\n private restoreMaterials(\n target: THREE.Object3D,\n materials: any[],\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n materials.forEach(({ meshIndex, primitiveIndex }) => {\n this.traverseMeshes(target, meshIndex, primitiveIndex, (mesh) => {\n if (materialMap.has(mesh.uuid))\n mesh.material = materialMap.get(mesh.uuid) as THREE.Material\n })\n })\n }\n\n private restoreAllMaterials(\n target: THREE.Object3D,\n materialMap: Map<string, THREE.Material | THREE.Material[]>,\n ) {\n this.traverseMeshes(target, undefined, undefined, (mesh) => {\n if (materialMap.has(mesh.uuid))\n mesh.material = materialMap.get(mesh.uuid) as THREE.Material\n })\n }\n\n private traverseMeshes(\n target: THREE.Object3D,\n meshIndex?: number,\n primitiveIndex?: number,\n callback?: (mesh: Mesh) => void,\n ) {\n target.traverse((object) => {\n if (object.type === 'Mesh') {\n const { meshIndex: currentMeshIndex, primitiveIndex: currentPrimitiveIndex } = object.userData\n if (\n (meshIndex === undefined || meshIndex === currentMeshIndex)\n && (primitiveIndex === undefined || primitiveIndex === currentPrimitiveIndex)\n )\n callback?.(object as Mesh)\n }\n })\n }\n}\n\nexport default MaterialManager\n"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@anov/3d",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.220",
|
|
4
4
|
"description": "",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "MIT",
|
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
"package.json"
|
|
18
18
|
],
|
|
19
19
|
"dependencies": {
|
|
20
|
+
"three-mesh-bvh": "0.7.5",
|
|
20
21
|
"@tweenjs/tween.js": "^21.0.0",
|
|
21
22
|
"anov-heat-map": "^0.0.1",
|
|
22
23
|
"javascript-state-machine": "^3.1.0",
|
|
@@ -25,8 +26,8 @@
|
|
|
25
26
|
"resize-observer-polyfill": "^1.5.1",
|
|
26
27
|
"rxjs": "7.8.1",
|
|
27
28
|
"uuid": "^9.0.1",
|
|
28
|
-
"@anov/3d-
|
|
29
|
-
"@anov/3d-
|
|
29
|
+
"@anov/3d-ability": "^0.0.81",
|
|
30
|
+
"@anov/3d-core": "^0.0.56"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
32
33
|
"@types/uuid": "^9.0.7"
|