targetj 1.1.0 → 1.1.2
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/build/AnimationManager.js +220 -152
- package/build/AnimationUtil.js +0 -1
- package/build/App.js +79 -39
- package/build/BaseModel.js +43 -11
- package/build/Easing.js +5 -0
- package/build/EventListener.js +29 -9
- package/build/HtmlToCanvas.js +411 -0
- package/build/LocationManager.js +44 -14
- package/build/PageManager.js +84 -33
- package/build/ParticleChild.js +12 -11
- package/build/ParticleExplode.js +360 -0
- package/build/ParticleRenderer.js +672 -192
- package/build/ParticleRuntime.js +844 -311
- package/build/ParticleTModel.js +370 -175
- package/build/ParticleUtil.js +9 -3
- package/build/RunScheduler.js +13 -8
- package/build/StateManager.js +125 -33
- package/build/StateUtil.js +142 -83
- package/build/TModel.js +179 -74
- package/build/TModelManager.js +127 -108
- package/build/TModelUtil.js +230 -143
- package/build/TUtil.js +4 -4
- package/build/TargetData.js +20 -12
- package/build/TargetExecutor.js +37 -14
- package/build/TargetManager.js +13 -18
- package/build/TargetParser.js +36 -2
- package/build/TargetUtil.js +189 -128
- package/build/VisibilityUtil.js +25 -14
- package/dist/targetjs.js +1 -1
- package/dist/targetjs.js.gz +0 -0
- package/package.json +1 -1
package/build/ParticleTModel.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
1
2
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
2
3
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
3
4
|
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
4
|
-
function _createForOfIteratorHelper(r, e) { var t = "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e && r && "number" == typeof r.length) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t.return || t.return(); } finally { if (u) throw o; } } }; }
|
|
5
5
|
function _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }
|
|
6
6
|
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
7
7
|
function _iterableToArray(r) { if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); }
|
|
@@ -40,7 +40,7 @@ import { ParticleChild } from "./ParticleChild.js";
|
|
|
40
40
|
import { TargetParser } from "./TargetParser.js";
|
|
41
41
|
import { TargetUtil } from "./TargetUtil.js";
|
|
42
42
|
import { TUtil } from "./TUtil.js";
|
|
43
|
-
import { getRunScheduler } from "./App.js";
|
|
43
|
+
import { App, getRunScheduler } from "./App.js";
|
|
44
44
|
|
|
45
45
|
/**
|
|
46
46
|
* It provides a TModel that can render instanced addChildren values on the GPU.
|
|
@@ -59,6 +59,7 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
59
59
|
_this.childTargetValues = {};
|
|
60
60
|
_this.childTransitions = {};
|
|
61
61
|
_this.pendingGpuChildren = {};
|
|
62
|
+
_this.pendingImperativeCompletions = new Map();
|
|
62
63
|
_this.childRuntimePrograms = [];
|
|
63
64
|
_this.childRuntimeStates = [];
|
|
64
65
|
_this.pendingGpuChildRuntimeCounts = {};
|
|
@@ -76,9 +77,10 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
76
77
|
}
|
|
77
78
|
_inherits(ParticleTModel, _TModel);
|
|
78
79
|
return _createClass(ParticleTModel, [{
|
|
79
|
-
key: "
|
|
80
|
+
key: "onDomAvailable",
|
|
80
81
|
value: function () {
|
|
81
|
-
var
|
|
82
|
+
var _onDomAvailable = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
83
|
+
var ready;
|
|
82
84
|
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
83
85
|
while (1) switch (_context.prev = _context.next) {
|
|
84
86
|
case 0:
|
|
@@ -91,22 +93,25 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
91
93
|
_context.next = 4;
|
|
92
94
|
return this.syncParticleRenderer();
|
|
93
95
|
case 4:
|
|
94
|
-
|
|
95
|
-
|
|
96
|
+
ready = _context.sent;
|
|
97
|
+
if (ready) {
|
|
98
|
+
this.particleRuntime.markPendingRenderReady();
|
|
99
|
+
}
|
|
100
|
+
case 6:
|
|
96
101
|
case "end":
|
|
97
102
|
return _context.stop();
|
|
98
103
|
}
|
|
99
104
|
}, _callee, this);
|
|
100
105
|
}));
|
|
101
|
-
function
|
|
102
|
-
return
|
|
106
|
+
function onDomAvailable() {
|
|
107
|
+
return _onDomAvailable.apply(this, arguments);
|
|
103
108
|
}
|
|
104
|
-
return
|
|
109
|
+
return onDomAvailable;
|
|
105
110
|
}()
|
|
106
111
|
}, {
|
|
107
112
|
key: "restoreRuntimeDomDerivedState",
|
|
108
113
|
value: function () {
|
|
109
|
-
var _restoreRuntimeDomDerivedState = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
114
|
+
var _restoreRuntimeDomDerivedState = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(explodeSource) {
|
|
110
115
|
var restored;
|
|
111
116
|
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
112
117
|
while (1) switch (_context2.prev = _context2.next) {
|
|
@@ -133,28 +138,62 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
133
138
|
}
|
|
134
139
|
return _context2.abrupt("return", false);
|
|
135
140
|
case 12:
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
return
|
|
142
|
-
case
|
|
141
|
+
if (!this.explodeChildrenState) {
|
|
142
|
+
_context2.next = 18;
|
|
143
|
+
break;
|
|
144
|
+
}
|
|
145
|
+
_context2.next = 15;
|
|
146
|
+
return this.restoreExplodeTexture(explodeSource);
|
|
147
|
+
case 15:
|
|
148
|
+
restored = _context2.sent;
|
|
143
149
|
if (restored) {
|
|
144
|
-
|
|
150
|
+
_context2.next = 18;
|
|
151
|
+
break;
|
|
145
152
|
}
|
|
153
|
+
return _context2.abrupt("return", false);
|
|
154
|
+
case 18:
|
|
155
|
+
this.particleRuntime.markRenderReady(this.childHandles.map(function (child) {
|
|
156
|
+
return child.index;
|
|
157
|
+
}));
|
|
158
|
+
_context2.next = 21;
|
|
159
|
+
return this.particleRenderer.waitForPresentedFrame();
|
|
160
|
+
case 21:
|
|
161
|
+
_context2.prev = 21;
|
|
162
|
+
this.restoringParticleRuntime = false;
|
|
163
|
+
return _context2.finish(21);
|
|
164
|
+
case 24:
|
|
146
165
|
return _context2.abrupt("return", restored);
|
|
147
|
-
case
|
|
166
|
+
case 25:
|
|
148
167
|
case "end":
|
|
149
168
|
return _context2.stop();
|
|
150
169
|
}
|
|
151
|
-
}, _callee2, this, [[4,,
|
|
170
|
+
}, _callee2, this, [[4,, 21, 24]]);
|
|
152
171
|
}));
|
|
153
|
-
function restoreRuntimeDomDerivedState() {
|
|
172
|
+
function restoreRuntimeDomDerivedState(_x) {
|
|
154
173
|
return _restoreRuntimeDomDerivedState.apply(this, arguments);
|
|
155
174
|
}
|
|
156
175
|
return restoreRuntimeDomDerivedState;
|
|
157
176
|
}()
|
|
177
|
+
}, {
|
|
178
|
+
key: "restoreExplodeTexture",
|
|
179
|
+
value: function restoreExplodeTexture(explodeSource) {
|
|
180
|
+
if (!this.explodeChildrenState) {
|
|
181
|
+
return Promise.resolve(true);
|
|
182
|
+
}
|
|
183
|
+
if (!explodeSource) {
|
|
184
|
+
return Promise.resolve(false);
|
|
185
|
+
}
|
|
186
|
+
return this.particleRenderer.setExplodeSource({
|
|
187
|
+
bitmap: explodeSource
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}, {
|
|
191
|
+
key: "disposeRuntimeDerivedState",
|
|
192
|
+
value: function disposeRuntimeDerivedState() {
|
|
193
|
+
var _this$particleRuntime, _this$particleRendere;
|
|
194
|
+
(_this$particleRuntime = this.particleRuntime) === null || _this$particleRuntime === void 0 || _this$particleRuntime.dispose();
|
|
195
|
+
(_this$particleRendere = this.particleRenderer) === null || _this$particleRendere === void 0 || _this$particleRendere.destroy();
|
|
196
|
+
}
|
|
158
197
|
}, {
|
|
159
198
|
key: "syncParticleRenderer",
|
|
160
199
|
value: function syncParticleRenderer() {
|
|
@@ -232,12 +271,15 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
232
271
|
key: "requestParticleRender",
|
|
233
272
|
value: function requestParticleRender() {
|
|
234
273
|
var _this3 = this;
|
|
235
|
-
if (this.restoringParticleRuntime || !this.gpuChildrenEnabled || !this.hasDom() || this.particleRenderRequested) {
|
|
274
|
+
if (this.restoringParticleRuntime || !this.gpuChildrenEnabled || !this.isVisible() || !this.hasDom() || this.particleRenderRequested) {
|
|
236
275
|
return;
|
|
237
276
|
}
|
|
238
277
|
this.particleRenderRequested = true;
|
|
239
278
|
requestAnimationFrame(function () {
|
|
240
279
|
_this3.particleRenderRequested = false;
|
|
280
|
+
if (!_this3.isVisible() || !_this3.hasDom()) {
|
|
281
|
+
return;
|
|
282
|
+
}
|
|
241
283
|
if (_this3.activeChildTransitionKey) {
|
|
242
284
|
_this3.particleRenderer.render();
|
|
243
285
|
return;
|
|
@@ -250,6 +292,18 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
250
292
|
}
|
|
251
293
|
});
|
|
252
294
|
}
|
|
295
|
+
}, {
|
|
296
|
+
key: "onVisibilityChange",
|
|
297
|
+
value: function onVisibilityChange(visible) {
|
|
298
|
+
if (this.restoringParticleRuntime) {
|
|
299
|
+
return;
|
|
300
|
+
}
|
|
301
|
+
if (visible) {
|
|
302
|
+
this.particleRuntime.resumeForVisibility();
|
|
303
|
+
} else {
|
|
304
|
+
this.particleRuntime.pauseForVisibility();
|
|
305
|
+
}
|
|
306
|
+
}
|
|
253
307
|
}, {
|
|
254
308
|
key: "getChildrenRenderer",
|
|
255
309
|
value: function getChildrenRenderer() {
|
|
@@ -326,6 +380,7 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
326
380
|
}, {
|
|
327
381
|
key: "setChildTarget",
|
|
328
382
|
value: function setChildTarget(index, key, target, steps, interval, easing) {
|
|
383
|
+
var _this$targetValues$or;
|
|
329
384
|
var originalTargetName = TargetUtil.currentTargetName;
|
|
330
385
|
var originalTModel = TargetUtil.currentTModel;
|
|
331
386
|
var cleanKey = ParticleUtil.getTargetName(key);
|
|
@@ -333,8 +388,34 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
333
388
|
if (!child) {
|
|
334
389
|
return;
|
|
335
390
|
}
|
|
391
|
+
if (originalTModel && originalTargetName && originalTModel !== this) {
|
|
392
|
+
TargetUtil.markChildAction(originalTModel, originalTargetName, child);
|
|
393
|
+
}
|
|
336
394
|
child.allTargetMap[cleanKey] = key;
|
|
337
395
|
this.childTargetMaps[index] = child.allTargetMap;
|
|
396
|
+
|
|
397
|
+
// Collect imperative assignments issued synchronously by a sequential parent target.
|
|
398
|
+
// TargetExecutor calls handleSpecialTarget() after evaluating the parent function.
|
|
399
|
+
if (originalTModel === this && typeof originalTargetName === "string" && originalTargetName.endsWith("$$") && this.targets[originalTargetName] && ((_this$targetValues$or = this.targetValues[originalTargetName]) === null || _this$targetValues$or === void 0 ? void 0 : _this$targetValues$or.status) !== "done") {
|
|
400
|
+
var _this$childTargetValu, _this$childTargetValu2, _targetValues$index;
|
|
401
|
+
var targetName = TargetUtil.getTargetName(originalTargetName);
|
|
402
|
+
var targetValues = (_this$childTargetValu2 = (_this$childTargetValu = this.childTargetValues)[targetName]) !== null && _this$childTargetValu2 !== void 0 ? _this$childTargetValu2 : _this$childTargetValu[targetName] = [];
|
|
403
|
+
var childTargets = (_targetValues$index = targetValues[index]) !== null && _targetValues$index !== void 0 ? _targetValues$index : targetValues[index] = {};
|
|
404
|
+
var specification = TargetParser.isTargetSpecObject(target) ? _objectSpread({}, target) : {
|
|
405
|
+
value: target
|
|
406
|
+
};
|
|
407
|
+
if (specification.steps === undefined && steps !== undefined) {
|
|
408
|
+
specification.steps = steps;
|
|
409
|
+
}
|
|
410
|
+
if (specification.interval === undefined && interval !== undefined) {
|
|
411
|
+
specification.interval = interval;
|
|
412
|
+
}
|
|
413
|
+
if (specification.easing === undefined && easing !== undefined) {
|
|
414
|
+
specification.easing = easing;
|
|
415
|
+
}
|
|
416
|
+
childTargets[cleanKey] = specification;
|
|
417
|
+
return;
|
|
418
|
+
}
|
|
338
419
|
this.particleRuntime.setImperativeTarget(index, cleanKey, target, steps, interval, easing, originalTargetName, originalTModel);
|
|
339
420
|
}
|
|
340
421
|
}, {
|
|
@@ -484,32 +565,18 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
484
565
|
if (!child || !childSteps) {
|
|
485
566
|
continue;
|
|
486
567
|
}
|
|
487
|
-
var
|
|
488
|
-
var layoutProperties = [];
|
|
568
|
+
var layoutChanged = false;
|
|
489
569
|
for (var _i2 = 0, _Object$keys = Object.keys(childSteps); _i2 < _Object$keys.length; _i2++) {
|
|
490
570
|
var _values$index;
|
|
491
571
|
var property = _Object$keys[_i2];
|
|
492
572
|
child.actualValues[property] = (_values$index = values[index]) === null || _values$index === void 0 ? void 0 : _values$index[property];
|
|
493
573
|
if (ParticleUtil.affectsChildLayout(property)) {
|
|
494
|
-
|
|
574
|
+
child.removeFromNoDomUpdatingTargets(property);
|
|
575
|
+
layoutChanged = true;
|
|
495
576
|
}
|
|
496
577
|
}
|
|
497
|
-
if (
|
|
578
|
+
if (layoutChanged) {
|
|
498
579
|
child.actualValues.isVisible = child.calcVisibility();
|
|
499
|
-
if (wasVisible || child.isVisible()) {
|
|
500
|
-
var _iterator2 = _createForOfIteratorHelper(layoutProperties),
|
|
501
|
-
_step2;
|
|
502
|
-
try {
|
|
503
|
-
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
504
|
-
var _property = _step2.value;
|
|
505
|
-
child.removeFromNoDomUpdatingTargets(_property);
|
|
506
|
-
}
|
|
507
|
-
} catch (err) {
|
|
508
|
-
_iterator2.e(err);
|
|
509
|
-
} finally {
|
|
510
|
-
_iterator2.f();
|
|
511
|
-
}
|
|
512
|
-
}
|
|
513
580
|
}
|
|
514
581
|
}
|
|
515
582
|
} catch (err) {
|
|
@@ -518,16 +585,45 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
518
585
|
_iterator.f();
|
|
519
586
|
}
|
|
520
587
|
}
|
|
588
|
+
}, {
|
|
589
|
+
key: "canBatchChildTarget",
|
|
590
|
+
value: function canBatchChildTarget(property, specification) {
|
|
591
|
+
if (!ParticleUtil.isGpuTarget(property) || !TargetParser.isTargetSpecObject(specification)) {
|
|
592
|
+
return false;
|
|
593
|
+
}
|
|
594
|
+
|
|
595
|
+
// The WebGPU shader interpolates scalar values and colors linearly. Other animation
|
|
596
|
+
// options need ParticleRuntime, which resolves each property's execution separately.
|
|
597
|
+
if (specification.interval !== undefined || specification.easing !== undefined || specification.pauseOn !== undefined || specification.loop !== undefined || specification.cycles !== undefined) {
|
|
598
|
+
return false;
|
|
599
|
+
}
|
|
600
|
+
if (specification.steps !== undefined && (!Number.isFinite(specification.steps) || specification.steps < 0)) {
|
|
601
|
+
return false;
|
|
602
|
+
}
|
|
603
|
+
if (property === "backgroundColor") {
|
|
604
|
+
return typeof specification.value === "string";
|
|
605
|
+
}
|
|
606
|
+
return typeof specification.value === "number" && Number.isFinite(specification.value);
|
|
607
|
+
}
|
|
521
608
|
}, {
|
|
522
609
|
key: "handleSpecialTarget",
|
|
523
|
-
value: function handleSpecialTarget(key
|
|
524
|
-
var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
610
|
+
value: function handleSpecialTarget(key) {
|
|
525
611
|
if (!this.gpuChildrenEnabled) {
|
|
526
612
|
return false;
|
|
527
613
|
}
|
|
528
|
-
var
|
|
529
|
-
|
|
530
|
-
|
|
614
|
+
var targetName = TargetUtil.getTargetName(key);
|
|
615
|
+
var targetValues = this.childTargetValues[targetName];
|
|
616
|
+
if (!targetValues) {
|
|
617
|
+
return false;
|
|
618
|
+
}
|
|
619
|
+
delete this.childTargetValues[targetName];
|
|
620
|
+
for (var index = 0; index < targetValues.length; index++) {
|
|
621
|
+
for (var _i3 = 0, _Object$entries2 = Object.entries(targetValues[index] || {}); _i3 < _Object$entries2.length; _i3++) {
|
|
622
|
+
var _Object$entries2$_i = _slicedToArray(_Object$entries2[_i3], 2),
|
|
623
|
+
property = _Object$entries2$_i[0],
|
|
624
|
+
specification = _Object$entries2$_i[1];
|
|
625
|
+
this.particleRuntime.setImperativeTarget(index, property, specification, undefined, undefined, undefined, key, this);
|
|
626
|
+
}
|
|
531
627
|
}
|
|
532
628
|
return false;
|
|
533
629
|
}
|
|
@@ -562,17 +658,17 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
562
658
|
}, {
|
|
563
659
|
key: "addGpuChild",
|
|
564
660
|
value: function addGpuChild(definition) {
|
|
565
|
-
var
|
|
566
|
-
var targetName = TargetUtil.getTargetName(key);
|
|
661
|
+
var originalTargetName = TargetUtil.currentTargetName;
|
|
567
662
|
var index = this.childHandles.length;
|
|
568
663
|
this.gpuChildrenEnabled = true;
|
|
569
664
|
var handle = new ParticleChild(this, index);
|
|
665
|
+
handle.oid = "".concat(this.oid, "_").concat(this.childGeneration);
|
|
570
666
|
this.childHandles[index] = handle;
|
|
571
667
|
this.childActualValues[index] = handle.actualValues;
|
|
572
668
|
this.childTargetMaps[index] = handle.allTargetMap;
|
|
573
669
|
try {
|
|
574
670
|
var _this$pendingGpuChild, _this$pendingGpuChild2;
|
|
575
|
-
var compiled = ParticleUtil.compileChildDefinition(handle, definition);
|
|
671
|
+
var compiled = this.prepareInitialGpuChildRuntime(ParticleUtil.compileChildDefinition(handle, definition), definition);
|
|
576
672
|
var child = this.createGpuChild(compiled.renderDefinition);
|
|
577
673
|
if (!child) {
|
|
578
674
|
this.childHandles.pop();
|
|
@@ -583,9 +679,9 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
583
679
|
Object.assign(handle.actualValues, child.initial);
|
|
584
680
|
this.childActualValues[index] = handle.actualValues;
|
|
585
681
|
this.childTargetMaps[index] = handle.allTargetMap;
|
|
586
|
-
this.particleRuntime.registerChild(index,
|
|
587
|
-
var pending = (_this$pendingGpuChild2 = (_this$pendingGpuChild = this.pendingGpuChildren)[
|
|
588
|
-
key:
|
|
682
|
+
this.particleRuntime.registerChild(index, originalTargetName, compiled);
|
|
683
|
+
var pending = (_this$pendingGpuChild2 = (_this$pendingGpuChild = this.pendingGpuChildren)[originalTargetName]) !== null && _this$pendingGpuChild2 !== void 0 ? _this$pendingGpuChild2 : _this$pendingGpuChild[originalTargetName] = {
|
|
684
|
+
key: originalTargetName,
|
|
589
685
|
children: []
|
|
590
686
|
};
|
|
591
687
|
pending.children.push(_objectSpread({
|
|
@@ -594,6 +690,7 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
594
690
|
this.childGeneration++;
|
|
595
691
|
this.childrenUpdateFlag = true;
|
|
596
692
|
this.markLayoutDirty("addGpuChild");
|
|
693
|
+
App.tmodelIdMap[handle.oid] = handle;
|
|
597
694
|
return true;
|
|
598
695
|
} catch (error) {
|
|
599
696
|
this.childHandles.pop();
|
|
@@ -604,6 +701,62 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
604
701
|
throw error;
|
|
605
702
|
}
|
|
606
703
|
}
|
|
704
|
+
}, {
|
|
705
|
+
key: "prepareInitialGpuChildRuntime",
|
|
706
|
+
value: function prepareInitialGpuChildRuntime(compiled, definition) {
|
|
707
|
+
var _loop = function _loop() {
|
|
708
|
+
var _Object$entries3$_i = _slicedToArray(_Object$entries3[_i4], 2),
|
|
709
|
+
key = _Object$entries3$_i[0],
|
|
710
|
+
specification = _Object$entries3$_i[1];
|
|
711
|
+
if (TargetUtil.getTargetName(key) !== key || !TargetParser.isTargetSpecObject(specification) || !ParticleUtil.isGpuTarget(key)) {
|
|
712
|
+
return 0; // continue
|
|
713
|
+
}
|
|
714
|
+
var value = specification.value;
|
|
715
|
+
var hasValues = Array.isArray(value) && value.length > 1;
|
|
716
|
+
var steps = specification.steps;
|
|
717
|
+
var hasSteps = Array.isArray(steps) ? steps.some(function (step) {
|
|
718
|
+
return Number(step) > 0;
|
|
719
|
+
}) : Number(steps) > 0;
|
|
720
|
+
if (!hasValues && !hasSteps) {
|
|
721
|
+
return 0; // continue
|
|
722
|
+
}
|
|
723
|
+
|
|
724
|
+
// Function-valued targets are already compiled for ParticleRuntime.
|
|
725
|
+
if (typeof value === "function") {
|
|
726
|
+
return 0; // continue
|
|
727
|
+
}
|
|
728
|
+
var targetName = ParticleUtil.getTargetName(key);
|
|
729
|
+
var initialValue = TUtil.isDefined(specification.initialValue) ? specification.initialValue : hasValues ? value[0] : value;
|
|
730
|
+
var runtimeTarget = compiled.runtimeTargets.find(function (target) {
|
|
731
|
+
return target.key === key && target.mode === "immediate";
|
|
732
|
+
});
|
|
733
|
+
|
|
734
|
+
// Initial animations belong to the child, not to the parent's GPU transition.
|
|
735
|
+
compiled.renderDefinition[targetName] = initialValue;
|
|
736
|
+
if (runtimeTarget) {
|
|
737
|
+
runtimeTarget.requiresRuntime = true;
|
|
738
|
+
runtimeTarget.requiresInitialResolution = false;
|
|
739
|
+
runtimeTarget.renderable = true;
|
|
740
|
+
runtimeTarget.target = _objectSpread({}, specification);
|
|
741
|
+
} else {
|
|
742
|
+
compiled.runtimeTargets.push({
|
|
743
|
+
key: key,
|
|
744
|
+
targetName: targetName,
|
|
745
|
+
mode: "immediate",
|
|
746
|
+
target: _objectSpread({}, specification),
|
|
747
|
+
requiresRuntime: true,
|
|
748
|
+
requiresInitialResolution: false,
|
|
749
|
+
renderable: true
|
|
750
|
+
});
|
|
751
|
+
}
|
|
752
|
+
},
|
|
753
|
+
_ret;
|
|
754
|
+
for (var _i4 = 0, _Object$entries3 = Object.entries(definition); _i4 < _Object$entries3.length; _i4++) {
|
|
755
|
+
_ret = _loop();
|
|
756
|
+
if (_ret === 0) continue;
|
|
757
|
+
}
|
|
758
|
+
return compiled;
|
|
759
|
+
}
|
|
607
760
|
}, {
|
|
608
761
|
key: "removeChild",
|
|
609
762
|
value: function removeChild(child) {
|
|
@@ -614,13 +767,16 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
614
767
|
if (index < 0) {
|
|
615
768
|
return;
|
|
616
769
|
}
|
|
770
|
+
if (App.tmodelIdMap[child.oid] === child) {
|
|
771
|
+
delete App.tmodelIdMap[child.oid];
|
|
772
|
+
}
|
|
617
773
|
this.particleRuntime.removeChild(index);
|
|
618
774
|
this.childHandles.splice(index, 1);
|
|
619
775
|
this.childActualValues.splice(index, 1);
|
|
620
776
|
this.childTargetMaps.splice(index, 1);
|
|
621
777
|
this.removeChildFromTransitions(index);
|
|
622
|
-
for (var
|
|
623
|
-
var targetValues = _Object$values[
|
|
778
|
+
for (var _i5 = 0, _Object$values = Object.values(this.childTargetValues); _i5 < _Object$values.length; _i5++) {
|
|
779
|
+
var targetValues = _Object$values[_i5];
|
|
624
780
|
targetValues === null || targetValues === void 0 || targetValues.splice(index, 1);
|
|
625
781
|
}
|
|
626
782
|
child.index = -1;
|
|
@@ -637,9 +793,9 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
637
793
|
}, {
|
|
638
794
|
key: "removeChildFromTransitions",
|
|
639
795
|
value: function removeChildFromTransitions(index) {
|
|
640
|
-
for (var
|
|
796
|
+
for (var _i6 = 0, _Object$values2 = Object.values(this.childTransitions); _i6 < _Object$values2.length; _i6++) {
|
|
641
797
|
var _transition$initialVa, _transition$values, _transition$steps, _transition$loops;
|
|
642
|
-
var transition = _Object$values2[
|
|
798
|
+
var transition = _Object$values2[_i6];
|
|
643
799
|
(_transition$initialVa = transition.initialValues) === null || _transition$initialVa === void 0 || _transition$initialVa.splice(index, 1);
|
|
644
800
|
(_transition$values = transition.values) === null || _transition$values === void 0 || _transition$values.splice(index, 1);
|
|
645
801
|
(_transition$steps = transition.steps) === null || _transition$steps === void 0 || _transition$steps.splice(index, 1);
|
|
@@ -648,43 +804,43 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
648
804
|
transition.children = transition.children.filter(function (child) {
|
|
649
805
|
return child.index !== index;
|
|
650
806
|
});
|
|
651
|
-
var
|
|
652
|
-
|
|
807
|
+
var _iterator2 = _createForOfIteratorHelper(transition.children),
|
|
808
|
+
_step2;
|
|
653
809
|
try {
|
|
654
|
-
for (
|
|
655
|
-
var child =
|
|
810
|
+
for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
|
|
811
|
+
var child = _step2.value;
|
|
656
812
|
if (child.index > index) {
|
|
657
813
|
child.index--;
|
|
658
814
|
}
|
|
659
815
|
}
|
|
660
816
|
} catch (err) {
|
|
661
|
-
|
|
817
|
+
_iterator2.e(err);
|
|
662
818
|
} finally {
|
|
663
|
-
|
|
819
|
+
_iterator2.f();
|
|
664
820
|
}
|
|
665
821
|
}
|
|
666
822
|
}
|
|
667
|
-
for (var
|
|
668
|
-
var pending = _Object$values3[
|
|
823
|
+
for (var _i7 = 0, _Object$values3 = Object.values(this.pendingGpuChildren); _i7 < _Object$values3.length; _i7++) {
|
|
824
|
+
var pending = _Object$values3[_i7];
|
|
669
825
|
if (!(pending !== null && pending !== void 0 && pending.children)) {
|
|
670
826
|
continue;
|
|
671
827
|
}
|
|
672
828
|
pending.children = pending.children.filter(function (child) {
|
|
673
829
|
return child.index !== index;
|
|
674
830
|
});
|
|
675
|
-
var
|
|
676
|
-
|
|
831
|
+
var _iterator3 = _createForOfIteratorHelper(pending.children),
|
|
832
|
+
_step3;
|
|
677
833
|
try {
|
|
678
|
-
for (
|
|
679
|
-
var _child =
|
|
834
|
+
for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
|
|
835
|
+
var _child = _step3.value;
|
|
680
836
|
if (_child.index > index) {
|
|
681
837
|
_child.index--;
|
|
682
838
|
}
|
|
683
839
|
}
|
|
684
840
|
} catch (err) {
|
|
685
|
-
|
|
841
|
+
_iterator3.e(err);
|
|
686
842
|
} finally {
|
|
687
|
-
|
|
843
|
+
_iterator3.f();
|
|
688
844
|
}
|
|
689
845
|
}
|
|
690
846
|
}
|
|
@@ -711,11 +867,11 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
711
867
|
var loops = {};
|
|
712
868
|
var valueLists = {};
|
|
713
869
|
var hasTransition = false;
|
|
714
|
-
for (var
|
|
870
|
+
for (var _i8 = 0, _Object$entries4 = Object.entries(definition); _i8 < _Object$entries4.length; _i8++) {
|
|
715
871
|
var _resolved$valueList;
|
|
716
|
-
var _Object$
|
|
717
|
-
property = _Object$
|
|
718
|
-
value = _Object$
|
|
872
|
+
var _Object$entries4$_i = _slicedToArray(_Object$entries4[_i8], 2),
|
|
873
|
+
property = _Object$entries4$_i[0],
|
|
874
|
+
value = _Object$entries4$_i[1];
|
|
719
875
|
var resolved = this.resolveInitialChildProperty(value);
|
|
720
876
|
if (!resolved) {
|
|
721
877
|
return;
|
|
@@ -748,99 +904,81 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
748
904
|
key: "finalizeChildrenTarget",
|
|
749
905
|
value: function finalizeChildrenTarget(key) {
|
|
750
906
|
var _this6 = this;
|
|
751
|
-
|
|
752
|
-
if (!ParticleUtil.isChildrenTarget(key)) {
|
|
907
|
+
if (!ParticleUtil.isChildrenTarget(key) && !TargetParser.isExplodeChildrenTarget(key)) {
|
|
753
908
|
return false;
|
|
754
909
|
}
|
|
755
|
-
var
|
|
756
|
-
var pending = this.pendingGpuChildren[targetName];
|
|
910
|
+
var pending = this.pendingGpuChildren[key];
|
|
757
911
|
if (!(pending !== null && pending !== void 0 && pending.children.length)) {
|
|
758
912
|
return false;
|
|
759
913
|
}
|
|
760
914
|
this.invalidateLayout();
|
|
761
|
-
|
|
762
|
-
var
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
_step5;
|
|
776
|
-
try {
|
|
777
|
-
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
778
|
-
var index = _step5.value;
|
|
779
|
-
this.particleRuntime.queueStart(index);
|
|
780
|
-
}
|
|
781
|
-
} catch (err) {
|
|
782
|
-
_iterator5.e(err);
|
|
783
|
-
} finally {
|
|
784
|
-
_iterator5.f();
|
|
785
|
-
}
|
|
786
|
-
if (this.hasDom()) {
|
|
787
|
-
this.particleRenderer.setParticles(this.childHandles).then(function () {
|
|
788
|
-
_this6.particleRuntime.markRenderReady(runtimeIndexes);
|
|
789
|
-
});
|
|
915
|
+
delete this.pendingGpuChildren[key];
|
|
916
|
+
var childIndexes = pending.children.map(function (child) {
|
|
917
|
+
return child.index;
|
|
918
|
+
});
|
|
919
|
+
var runtimeIndexes = childIndexes.filter(function (index) {
|
|
920
|
+
var state = _this6.childRuntimeStates[index];
|
|
921
|
+
return state && !state.done;
|
|
922
|
+
});
|
|
923
|
+
var _iterator4 = _createForOfIteratorHelper(runtimeIndexes),
|
|
924
|
+
_step4;
|
|
925
|
+
try {
|
|
926
|
+
for (_iterator4.s(); !(_step4 = _iterator4.n()).done;) {
|
|
927
|
+
var index = _step4.value;
|
|
928
|
+
this.particleRuntime.queueStart(index);
|
|
790
929
|
}
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
930
|
+
} catch (err) {
|
|
931
|
+
_iterator4.e(err);
|
|
932
|
+
} finally {
|
|
933
|
+
_iterator4.f();
|
|
934
|
+
}
|
|
935
|
+
if (this.hasDom()) {
|
|
936
|
+
var particlesReady = this.particleRenderer.setParticles(this.childHandles);
|
|
937
|
+
var renderReady = TargetParser.isExplodeChildrenTarget(key) && this.explodeCapturePromise ? Promise.all([particlesReady, this.explodeCapturePromise]) : Promise.all([particlesReady]);
|
|
938
|
+
renderReady.then(function (results) {
|
|
939
|
+
if (results.some(function (result) {
|
|
940
|
+
return result !== true;
|
|
941
|
+
})) {
|
|
942
|
+
return;
|
|
943
|
+
}
|
|
944
|
+
_this6.particleRuntime.markRenderReady(childIndexes);
|
|
945
|
+
}).catch(function (error) {
|
|
946
|
+
return console.error(error);
|
|
947
|
+
});
|
|
795
948
|
}
|
|
796
|
-
var transition = {
|
|
797
|
-
children: pending.children,
|
|
798
|
-
segmentIndex: 0,
|
|
799
|
-
segmentCount: segmentCount,
|
|
800
|
-
defaultSteps: defaultSteps,
|
|
801
|
-
initialValues: segment.initialValues,
|
|
802
|
-
values: segment.values,
|
|
803
|
-
steps: segment.steps,
|
|
804
|
-
loops: segment.loops,
|
|
805
|
-
hasLoop: segment.hasLoop,
|
|
806
|
-
generation: this.childGeneration
|
|
807
|
-
};
|
|
808
|
-
this.childTransitions[targetName] = transition;
|
|
809
|
-
this.activeChildTransitionKey = key;
|
|
810
|
-
this.addChildTransitionLayoutTargets(transition);
|
|
811
949
|
return {
|
|
812
950
|
handled: true,
|
|
813
|
-
steps:
|
|
951
|
+
steps: 0
|
|
814
952
|
};
|
|
815
953
|
}
|
|
816
954
|
}, {
|
|
817
955
|
key: "addChildTransitionLayoutTargets",
|
|
818
956
|
value: function addChildTransitionLayoutTargets(transition) {
|
|
819
|
-
var
|
|
820
|
-
|
|
957
|
+
var _iterator5 = _createForOfIteratorHelper(transition.children),
|
|
958
|
+
_step5;
|
|
821
959
|
try {
|
|
822
|
-
for (
|
|
960
|
+
for (_iterator5.s(); !(_step5 = _iterator5.n()).done;) {
|
|
823
961
|
var _transition$steps2;
|
|
824
|
-
var transitionChild =
|
|
962
|
+
var transitionChild = _step5.value;
|
|
825
963
|
var index = transitionChild.index;
|
|
826
964
|
var child = this.childHandles[index];
|
|
827
965
|
var childSteps = (_transition$steps2 = transition.steps) === null || _transition$steps2 === void 0 ? void 0 : _transition$steps2[index];
|
|
828
966
|
if (!child || !childSteps) {
|
|
829
967
|
continue;
|
|
830
968
|
}
|
|
831
|
-
for (var
|
|
832
|
-
var _Object$
|
|
833
|
-
property = _Object$
|
|
834
|
-
steps = _Object$
|
|
969
|
+
for (var _i9 = 0, _Object$entries5 = Object.entries(childSteps); _i9 < _Object$entries5.length; _i9++) {
|
|
970
|
+
var _Object$entries5$_i = _slicedToArray(_Object$entries5[_i9], 2),
|
|
971
|
+
property = _Object$entries5$_i[0],
|
|
972
|
+
steps = _Object$entries5$_i[1];
|
|
835
973
|
if (steps > 0 && ParticleUtil.affectsChildLayout(property)) {
|
|
836
974
|
child.addToNoDomUpdatingTargets(property);
|
|
837
975
|
}
|
|
838
976
|
}
|
|
839
977
|
}
|
|
840
978
|
} catch (err) {
|
|
841
|
-
|
|
979
|
+
_iterator5.e(err);
|
|
842
980
|
} finally {
|
|
843
|
-
|
|
981
|
+
_iterator5.f();
|
|
844
982
|
}
|
|
845
983
|
}
|
|
846
984
|
}, {
|
|
@@ -868,8 +1006,8 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
868
1006
|
}
|
|
869
1007
|
var currentStep = Math.max(0, Number(this.getTargetStep(key)) || 0);
|
|
870
1008
|
var changed = false;
|
|
871
|
-
for (var
|
|
872
|
-
var property = _arr[
|
|
1009
|
+
for (var _i10 = 0, _arr = _toConsumableArray(child.noDomUpdatingTargets); _i10 < _arr.length; _i10++) {
|
|
1010
|
+
var property = _arr[_i10];
|
|
873
1011
|
if (!ParticleUtil.affectsChildLayout(property)) {
|
|
874
1012
|
child.removeFromNoDomUpdatingTargets(property);
|
|
875
1013
|
continue;
|
|
@@ -942,11 +1080,11 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
942
1080
|
var maxSteps = 0;
|
|
943
1081
|
var hasSegment = false;
|
|
944
1082
|
var hasLoop = false;
|
|
945
|
-
var
|
|
946
|
-
|
|
1083
|
+
var _iterator6 = _createForOfIteratorHelper(children),
|
|
1084
|
+
_step6;
|
|
947
1085
|
try {
|
|
948
|
-
for (
|
|
949
|
-
var transitionChild =
|
|
1086
|
+
for (_iterator6.s(); !(_step6 = _iterator6.n()).done;) {
|
|
1087
|
+
var transitionChild = _step6.value;
|
|
950
1088
|
var index = transitionChild.index;
|
|
951
1089
|
var child = this.childHandles[index];
|
|
952
1090
|
if (!child) {
|
|
@@ -960,8 +1098,8 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
960
1098
|
var target = void 0;
|
|
961
1099
|
var childSteps = void 0;
|
|
962
1100
|
var childLoops = void 0;
|
|
963
|
-
for (var
|
|
964
|
-
var property = _Object$keys2[
|
|
1101
|
+
for (var _i11 = 0, _Object$keys2 = Object.keys(transitionChild.target); _i11 < _Object$keys2.length; _i11++) {
|
|
1102
|
+
var property = _Object$keys2[_i11];
|
|
965
1103
|
var valueList = transitionChild.valueLists[property];
|
|
966
1104
|
var value = void 0;
|
|
967
1105
|
if (valueList) {
|
|
@@ -998,9 +1136,9 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
998
1136
|
}
|
|
999
1137
|
}
|
|
1000
1138
|
} catch (err) {
|
|
1001
|
-
|
|
1139
|
+
_iterator6.e(err);
|
|
1002
1140
|
} finally {
|
|
1003
|
-
|
|
1141
|
+
_iterator6.f();
|
|
1004
1142
|
}
|
|
1005
1143
|
return {
|
|
1006
1144
|
initialValues: initialValues,
|
|
@@ -1028,8 +1166,8 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
1028
1166
|
key: "getChildSegmentCount",
|
|
1029
1167
|
value: function getChildSegmentCount(child) {
|
|
1030
1168
|
var count = 0;
|
|
1031
|
-
for (var
|
|
1032
|
-
var valueList = _Object$values4[
|
|
1169
|
+
for (var _i12 = 0, _Object$values4 = Object.values(child.valueLists); _i12 < _Object$values4.length; _i12++) {
|
|
1170
|
+
var valueList = _Object$values4[_i12];
|
|
1033
1171
|
count = Math.max(count, valueList.length - 1);
|
|
1034
1172
|
}
|
|
1035
1173
|
return count;
|
|
@@ -1038,17 +1176,17 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
1038
1176
|
key: "getChildrenSegmentCount",
|
|
1039
1177
|
value: function getChildrenSegmentCount(children) {
|
|
1040
1178
|
var count = 0;
|
|
1041
|
-
var
|
|
1042
|
-
|
|
1179
|
+
var _iterator7 = _createForOfIteratorHelper(children),
|
|
1180
|
+
_step7;
|
|
1043
1181
|
try {
|
|
1044
|
-
for (
|
|
1045
|
-
var child =
|
|
1182
|
+
for (_iterator7.s(); !(_step7 = _iterator7.n()).done;) {
|
|
1183
|
+
var child = _step7.value;
|
|
1046
1184
|
count = Math.max(count, this.getChildSegmentCount(child));
|
|
1047
1185
|
}
|
|
1048
1186
|
} catch (err) {
|
|
1049
|
-
|
|
1187
|
+
_iterator7.e(err);
|
|
1050
1188
|
} finally {
|
|
1051
|
-
|
|
1189
|
+
_iterator7.f();
|
|
1052
1190
|
}
|
|
1053
1191
|
return count;
|
|
1054
1192
|
}
|
|
@@ -1069,7 +1207,9 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
1069
1207
|
if (!transition || transition.generation !== this.childGeneration) {
|
|
1070
1208
|
return false;
|
|
1071
1209
|
}
|
|
1072
|
-
|
|
1210
|
+
if (this.isVisible()) {
|
|
1211
|
+
this.particleRenderer.setTransitionStep(this.getTargetStep(key));
|
|
1212
|
+
}
|
|
1073
1213
|
return true;
|
|
1074
1214
|
}
|
|
1075
1215
|
}, {
|
|
@@ -1224,11 +1364,11 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
1224
1364
|
transition.values[index] = target;
|
|
1225
1365
|
}
|
|
1226
1366
|
var childSteps = (_transition$steps4$_i = (_transition$steps4 = transition.steps)[_index = index]) !== null && _transition$steps4$_i !== void 0 ? _transition$steps4$_i : _transition$steps4[_index] = {};
|
|
1227
|
-
var
|
|
1228
|
-
|
|
1367
|
+
var _iterator8 = _createForOfIteratorHelper(layoutProperties),
|
|
1368
|
+
_step8;
|
|
1229
1369
|
try {
|
|
1230
|
-
for (
|
|
1231
|
-
var property =
|
|
1370
|
+
for (_iterator8.s(); !(_step8 = _iterator8.n()).done;) {
|
|
1371
|
+
var property = _step8.value;
|
|
1232
1372
|
if (Object.prototype.hasOwnProperty.call(childSteps, property)) {
|
|
1233
1373
|
continue;
|
|
1234
1374
|
}
|
|
@@ -1240,9 +1380,9 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
1240
1380
|
childSteps[property] = 0;
|
|
1241
1381
|
}
|
|
1242
1382
|
} catch (err) {
|
|
1243
|
-
|
|
1383
|
+
_iterator8.e(err);
|
|
1244
1384
|
} finally {
|
|
1245
|
-
|
|
1385
|
+
_iterator8.f();
|
|
1246
1386
|
}
|
|
1247
1387
|
}
|
|
1248
1388
|
if (transition.generation !== this.childGeneration || this.restoringParticleRuntime || !this.hasDom()) {
|
|
@@ -1261,11 +1401,11 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
1261
1401
|
key: "commitImmediateChildTransitionValues",
|
|
1262
1402
|
value: function commitImmediateChildTransitionValues(children, values, steps) {
|
|
1263
1403
|
var changed = false;
|
|
1264
|
-
var
|
|
1265
|
-
|
|
1404
|
+
var _iterator9 = _createForOfIteratorHelper(children),
|
|
1405
|
+
_step9;
|
|
1266
1406
|
try {
|
|
1267
|
-
for (
|
|
1268
|
-
var transitionChild =
|
|
1407
|
+
for (_iterator9.s(); !(_step9 = _iterator9.n()).done;) {
|
|
1408
|
+
var transitionChild = _step9.value;
|
|
1269
1409
|
var index = transitionChild.index;
|
|
1270
1410
|
var child = this.childHandles[index];
|
|
1271
1411
|
var childSteps = steps === null || steps === void 0 ? void 0 : steps[index];
|
|
@@ -1273,11 +1413,11 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
1273
1413
|
continue;
|
|
1274
1414
|
}
|
|
1275
1415
|
var layoutChanged = false;
|
|
1276
|
-
for (var
|
|
1416
|
+
for (var _i13 = 0, _Object$entries6 = Object.entries(childSteps); _i13 < _Object$entries6.length; _i13++) {
|
|
1277
1417
|
var _values$index2;
|
|
1278
|
-
var _Object$
|
|
1279
|
-
property = _Object$
|
|
1280
|
-
propertySteps = _Object$
|
|
1418
|
+
var _Object$entries6$_i = _slicedToArray(_Object$entries6[_i13], 2),
|
|
1419
|
+
property = _Object$entries6$_i[0],
|
|
1420
|
+
propertySteps = _Object$entries6$_i[1];
|
|
1281
1421
|
if (propertySteps !== 0) {
|
|
1282
1422
|
continue;
|
|
1283
1423
|
}
|
|
@@ -1296,9 +1436,9 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
1296
1436
|
}
|
|
1297
1437
|
}
|
|
1298
1438
|
} catch (err) {
|
|
1299
|
-
|
|
1439
|
+
_iterator9.e(err);
|
|
1300
1440
|
} finally {
|
|
1301
|
-
|
|
1441
|
+
_iterator9.f();
|
|
1302
1442
|
}
|
|
1303
1443
|
return changed;
|
|
1304
1444
|
}
|
|
@@ -1324,6 +1464,26 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
1324
1464
|
value: function getParticleCount() {
|
|
1325
1465
|
return this.childHandles.length;
|
|
1326
1466
|
}
|
|
1467
|
+
}, {
|
|
1468
|
+
key: "getRuntimeSnapshotFields",
|
|
1469
|
+
value: function getRuntimeSnapshotFields() {
|
|
1470
|
+
return {
|
|
1471
|
+
childHandleRuntimeStates: this.childHandles.map(function (child) {
|
|
1472
|
+
return {
|
|
1473
|
+
oid: child.oid,
|
|
1474
|
+
x: child.x,
|
|
1475
|
+
y: child.y,
|
|
1476
|
+
targets: child.targets,
|
|
1477
|
+
targetValues: child.targetValues,
|
|
1478
|
+
updatingTargetList: _toConsumableArray(child.updatingTargetList),
|
|
1479
|
+
activeTargetList: _toConsumableArray(child.activeTargetList),
|
|
1480
|
+
activatedTargets: _toConsumableArray(child.activatedTargets),
|
|
1481
|
+
noDomUpdatingTargets: child.noDomUpdatingTargets ? new Set(child.noDomUpdatingTargets) : undefined,
|
|
1482
|
+
pendingTargets: child.pendingTargets
|
|
1483
|
+
};
|
|
1484
|
+
})
|
|
1485
|
+
};
|
|
1486
|
+
}
|
|
1327
1487
|
}, {
|
|
1328
1488
|
key: "excludeRuntimeSnapshotField",
|
|
1329
1489
|
value: function excludeRuntimeSnapshotField(key) {
|
|
@@ -1336,15 +1496,44 @@ var ParticleTModel = /*#__PURE__*/function (_TModel) {
|
|
|
1336
1496
|
this.particleRenderer.destroy();
|
|
1337
1497
|
this.childActualValues || (this.childActualValues = []);
|
|
1338
1498
|
this.childTargetMaps || (this.childTargetMaps = []);
|
|
1499
|
+
var childHandleRuntimeStates = this.childHandleRuntimeStates || [];
|
|
1339
1500
|
this.childHandles = this.childActualValues.map(function (values, index) {
|
|
1501
|
+
var _runtimeState$oid, _runtimeState$x, _runtimeState$y;
|
|
1340
1502
|
var child = new ParticleChild(_this9, index);
|
|
1503
|
+
var runtimeState = childHandleRuntimeStates[index];
|
|
1504
|
+
child.oid = (_runtimeState$oid = runtimeState === null || runtimeState === void 0 ? void 0 : runtimeState.oid) !== null && _runtimeState$oid !== void 0 ? _runtimeState$oid : child.oid;
|
|
1341
1505
|
var targetMap = _this9.childTargetMaps[index] || {};
|
|
1342
1506
|
Object.assign(child.actualValues, values);
|
|
1343
1507
|
Object.assign(child.allTargetMap, targetMap);
|
|
1508
|
+
child.x = (_runtimeState$x = runtimeState === null || runtimeState === void 0 ? void 0 : runtimeState.x) !== null && _runtimeState$x !== void 0 ? _runtimeState$x : child.x;
|
|
1509
|
+
child.y = (_runtimeState$y = runtimeState === null || runtimeState === void 0 ? void 0 : runtimeState.y) !== null && _runtimeState$y !== void 0 ? _runtimeState$y : child.y;
|
|
1510
|
+
if (runtimeState) {
|
|
1511
|
+
var _child$activeTargetLi, _child$activatedTarge, _runtimeState$pending;
|
|
1512
|
+
Object.assign(child.targets, runtimeState.targets);
|
|
1513
|
+
Object.assign(child.targetValues, runtimeState.targetValues);
|
|
1514
|
+
var _iterator10 = _createForOfIteratorHelper(runtimeState.updatingTargetList || []),
|
|
1515
|
+
_step10;
|
|
1516
|
+
try {
|
|
1517
|
+
for (_iterator10.s(); !(_step10 = _iterator10.n()).done;) {
|
|
1518
|
+
var key = _step10.value;
|
|
1519
|
+
child.updatingTargetList.push(key);
|
|
1520
|
+
child.updatingTargetMap[key] = true;
|
|
1521
|
+
}
|
|
1522
|
+
} catch (err) {
|
|
1523
|
+
_iterator10.e(err);
|
|
1524
|
+
} finally {
|
|
1525
|
+
_iterator10.f();
|
|
1526
|
+
}
|
|
1527
|
+
(_child$activeTargetLi = child.activeTargetList).push.apply(_child$activeTargetLi, _toConsumableArray(runtimeState.activeTargetList || []));
|
|
1528
|
+
(_child$activatedTarge = child.activatedTargets).push.apply(_child$activatedTarge, _toConsumableArray(runtimeState.activatedTargets || []));
|
|
1529
|
+
child.noDomUpdatingTargets = runtimeState.noDomUpdatingTargets ? new Set(runtimeState.noDomUpdatingTargets) : undefined;
|
|
1530
|
+
child.pendingTargets = (_runtimeState$pending = runtimeState.pendingTargets) !== null && _runtimeState$pending !== void 0 ? _runtimeState$pending : false;
|
|
1531
|
+
}
|
|
1344
1532
|
_this9.childActualValues[index] = child.actualValues;
|
|
1345
1533
|
_this9.childTargetMaps[index] = child.allTargetMap;
|
|
1346
1534
|
return child;
|
|
1347
1535
|
});
|
|
1536
|
+
delete this.childHandleRuntimeStates;
|
|
1348
1537
|
this.childGeneration = Number.isInteger(this.childGeneration) ? this.childGeneration : 0;
|
|
1349
1538
|
this.particleValuesDirty = false;
|
|
1350
1539
|
this.particleRenderRequested = false;
|
|
@@ -1393,10 +1582,16 @@ function isParticleTModel(targets) {
|
|
|
1393
1582
|
if (!targets) {
|
|
1394
1583
|
return false;
|
|
1395
1584
|
}
|
|
1396
|
-
for (var
|
|
1397
|
-
var _Object$
|
|
1398
|
-
key = _Object$
|
|
1399
|
-
target = _Object$
|
|
1585
|
+
for (var _i14 = 0, _Object$entries7 = Object.entries(targets); _i14 < _Object$entries7.length; _i14++) {
|
|
1586
|
+
var _Object$entries7$_i = _slicedToArray(_Object$entries7[_i14], 2),
|
|
1587
|
+
key = _Object$entries7$_i[0],
|
|
1588
|
+
target = _Object$entries7$_i[1];
|
|
1589
|
+
if (TargetParser.isExplodeChildrenTarget(key)) {
|
|
1590
|
+
if ((target === null || target === void 0 ? void 0 : target.renderer) !== "dom") {
|
|
1591
|
+
return true;
|
|
1592
|
+
}
|
|
1593
|
+
continue;
|
|
1594
|
+
}
|
|
1400
1595
|
if (!ParticleUtil.isChildrenTarget(key)) {
|
|
1401
1596
|
continue;
|
|
1402
1597
|
}
|