three-nebula 10.0.3 → 11.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.claude/rules/no-coauthor.md +4 -0
- package/CHANGELOG.md +33 -0
- package/dist/three-nebula.cjs +109 -0
- package/dist/three-nebula.cjs.map +1 -0
- package/dist/three-nebula.mjs +2968 -0
- package/dist/three-nebula.mjs.map +1 -0
- package/dist/three-nebula.umd.js +109 -0
- package/dist/three-nebula.umd.js.map +1 -0
- package/package.json +32 -56
- package/specs/01-emitter-hierarchy.md +200 -0
- package/specs/02-determinism-scrubbing.md +188 -0
- package/specs/03-sound-renderer.md +183 -0
- package/specs/04-schema-versioning.md +140 -0
- package/specs/05-content-addressed-assets.md +288 -0
- package/specs/README.md +80 -0
- package/build/cjs/behaviour/Alpha.js +0 -189
- package/build/cjs/behaviour/Attraction.js +0 -189
- package/build/cjs/behaviour/Behaviour.js +0 -253
- package/build/cjs/behaviour/Collision.js +0 -146
- package/build/cjs/behaviour/Color.js +0 -148
- package/build/cjs/behaviour/CrossZone.js +0 -141
- package/build/cjs/behaviour/Force.js +0 -126
- package/build/cjs/behaviour/Gravity.js +0 -78
- package/build/cjs/behaviour/RandomDrift.js +0 -153
- package/build/cjs/behaviour/Repulsion.js +0 -123
- package/build/cjs/behaviour/Rotate.js +0 -265
- package/build/cjs/behaviour/Scale.js +0 -177
- package/build/cjs/behaviour/Spring.js +0 -133
- package/build/cjs/behaviour/constants.js +0 -28
- package/build/cjs/behaviour/index.js +0 -112
- package/build/cjs/behaviour/types.js +0 -33
- package/build/cjs/constants/index.js +0 -61
- package/build/cjs/core/Particle.js +0 -390
- package/build/cjs/core/Pool.js +0 -203
- package/build/cjs/core/System.js +0 -366
- package/build/cjs/core/constants.js +0 -163
- package/build/cjs/core/fromJSON.js +0 -128
- package/build/cjs/core/fromJSONAsync.js +0 -239
- package/build/cjs/core/index.js +0 -32
- package/build/cjs/core/three/Euler.js +0 -233
- package/build/cjs/core/three/Math.js +0 -91
- package/build/cjs/core/three/Matrix4.js +0 -745
- package/build/cjs/core/three/Quaternion.js +0 -451
- package/build/cjs/core/three/Vector3.js +0 -464
- package/build/cjs/core/three/constants.js +0 -298
- package/build/cjs/core/three/index.js +0 -48
- package/build/cjs/core/types.js +0 -13
- package/build/cjs/debug/Debug.js +0 -209
- package/build/cjs/debug/constants.js +0 -19
- package/build/cjs/debug/index.js +0 -24
- package/build/cjs/debug/log.js +0 -38
- package/build/cjs/ease/index.js +0 -149
- package/build/cjs/emitter/Emitter.js +0 -791
- package/build/cjs/emitter/FollowEmitter.js +0 -146
- package/build/cjs/emitter/constants.js +0 -20
- package/build/cjs/emitter/index.js +0 -24
- package/build/cjs/emitter/types.js +0 -11
- package/build/cjs/events/EventDispatcher.js +0 -105
- package/build/cjs/events/constants.js +0 -23
- package/build/cjs/events/index.js +0 -27
- package/build/cjs/index.js +0 -151
- package/build/cjs/initializer/Body.js +0 -122
- package/build/cjs/initializer/BodySprite.js +0 -146
- package/build/cjs/initializer/Initializer.js +0 -109
- package/build/cjs/initializer/InitializerUtil.js +0 -54
- package/build/cjs/initializer/Life.js +0 -106
- package/build/cjs/initializer/Mass.js +0 -101
- package/build/cjs/initializer/Position.js +0 -152
- package/build/cjs/initializer/Radius.js +0 -118
- package/build/cjs/initializer/Rate.js +0 -150
- package/build/cjs/initializer/Texture.js +0 -139
- package/build/cjs/initializer/Velocity/PolarVelocity.js +0 -102
- package/build/cjs/initializer/Velocity/RadialVelocity.js +0 -111
- package/build/cjs/initializer/Velocity/VectorVelocity.js +0 -108
- package/build/cjs/initializer/Velocity/Velocity.js +0 -94
- package/build/cjs/initializer/Velocity/index.js +0 -32
- package/build/cjs/initializer/constants.js +0 -43
- package/build/cjs/initializer/index.js +0 -100
- package/build/cjs/initializer/types.js +0 -35
- package/build/cjs/math/ArraySpan.js +0 -103
- package/build/cjs/math/Box.js +0 -46
- package/build/cjs/math/ColorSpan.js +0 -113
- package/build/cjs/math/MathUtils.js +0 -57
- package/build/cjs/math/Polar3D.js +0 -115
- package/build/cjs/math/Span.js +0 -88
- package/build/cjs/math/Vector3D.js +0 -76
- package/build/cjs/math/constants.js +0 -35
- package/build/cjs/math/index.js +0 -122
- package/build/cjs/math/integration.js +0 -59
- package/build/cjs/math/types.js +0 -19
- package/build/cjs/renderer/BaseRenderer.js +0 -108
- package/build/cjs/renderer/CustomRenderer.js +0 -65
- package/build/cjs/renderer/GPURenderer/Desktop/index.js +0 -350
- package/build/cjs/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +0 -13
- package/build/cjs/renderer/GPURenderer/Desktop/shaders/index.js +0 -22
- package/build/cjs/renderer/GPURenderer/Desktop/shaders/vertexShader.js +0 -17
- package/build/cjs/renderer/GPURenderer/Mobile/index.js +0 -364
- package/build/cjs/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +0 -13
- package/build/cjs/renderer/GPURenderer/Mobile/shaders/index.js +0 -22
- package/build/cjs/renderer/GPURenderer/Mobile/shaders/vertexShader.js +0 -15
- package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/constants.js +0 -53
- package/build/cjs/renderer/GPURenderer/common/ParticleBuffer/index.js +0 -93
- package/build/cjs/renderer/GPURenderer/common/TextureAtlas/constants.js +0 -9
- package/build/cjs/renderer/GPURenderer/common/TextureAtlas/index.js +0 -221
- package/build/cjs/renderer/GPURenderer/common/constants.js +0 -22
- package/build/cjs/renderer/GPURenderer/common/index.js +0 -38
- package/build/cjs/renderer/GPURenderer/common/shaders/constants.js +0 -9
- package/build/cjs/renderer/GPURenderer/common/stores/Target.js +0 -43
- package/build/cjs/renderer/GPURenderer/common/stores/UniqueList.js +0 -51
- package/build/cjs/renderer/GPURenderer/common/stores/index.js +0 -22
- package/build/cjs/renderer/GPURenderer/index.js +0 -97
- package/build/cjs/renderer/MeshRenderer.js +0 -136
- package/build/cjs/renderer/SpriteRenderer.js +0 -63
- package/build/cjs/renderer/index.js +0 -40
- package/build/cjs/renderer/types.js +0 -21
- package/build/cjs/utils/ColorUtil.js +0 -39
- package/build/cjs/utils/PUID.js +0 -26
- package/build/cjs/utils/THREEUtil.js +0 -40
- package/build/cjs/utils/Util.js +0 -69
- package/build/cjs/utils/index.js +0 -61
- package/build/cjs/utils/uid.js +0 -14
- package/build/cjs/zone/BoxZone.js +0 -178
- package/build/cjs/zone/LineZone.js +0 -101
- package/build/cjs/zone/MeshZone.js +0 -101
- package/build/cjs/zone/PointZone.js +0 -99
- package/build/cjs/zone/ScreenZone.js +0 -164
- package/build/cjs/zone/SphereZone.js +0 -155
- package/build/cjs/zone/Zone.js +0 -172
- package/build/cjs/zone/index.js +0 -56
- package/build/cjs/zone/types.js +0 -21
- package/build/esm/behaviour/Alpha.js +0 -134
- package/build/esm/behaviour/Attraction.js +0 -135
- package/build/esm/behaviour/Behaviour.js +0 -215
- package/build/esm/behaviour/Collision.js +0 -100
- package/build/esm/behaviour/Color.js +0 -101
- package/build/esm/behaviour/CrossZone.js +0 -82
- package/build/esm/behaviour/Force.js +0 -83
- package/build/esm/behaviour/Gravity.js +0 -40
- package/build/esm/behaviour/RandomDrift.js +0 -97
- package/build/esm/behaviour/Repulsion.js +0 -81
- package/build/esm/behaviour/Rotate.js +0 -214
- package/build/esm/behaviour/Scale.js +0 -131
- package/build/esm/behaviour/Spring.js +0 -90
- package/build/esm/behaviour/constants.js +0 -11
- package/build/esm/behaviour/index.js +0 -14
- package/build/esm/behaviour/types.js +0 -14
- package/build/esm/constants/index.js +0 -42
- package/build/esm/core/Particle.js +0 -357
- package/build/esm/core/Pool.js +0 -161
- package/build/esm/core/System.js +0 -320
- package/build/esm/core/constants.js +0 -127
- package/build/esm/core/fromJSON.js +0 -107
- package/build/esm/core/fromJSONAsync.js +0 -210
- package/build/esm/core/index.js +0 -4
- package/build/esm/core/three/Euler.js +0 -224
- package/build/esm/core/three/Math.js +0 -84
- package/build/esm/core/three/Matrix4.js +0 -739
- package/build/esm/core/three/Quaternion.js +0 -445
- package/build/esm/core/three/Vector3.js +0 -457
- package/build/esm/core/three/constants.js +0 -148
- package/build/esm/core/three/index.js +0 -5
- package/build/esm/core/types.js +0 -4
- package/build/esm/debug/Debug.js +0 -195
- package/build/esm/debug/constants.js +0 -7
- package/build/esm/debug/index.js +0 -3
- package/build/esm/debug/log.js +0 -31
- package/build/esm/ease/index.js +0 -113
- package/build/esm/emitter/Emitter.js +0 -701
- package/build/esm/emitter/FollowEmitter.js +0 -97
- package/build/esm/emitter/constants.js +0 -7
- package/build/esm/emitter/index.js +0 -3
- package/build/esm/emitter/types.js +0 -3
- package/build/esm/events/EventDispatcher.js +0 -82
- package/build/esm/events/constants.js +0 -9
- package/build/esm/events/index.js +0 -4
- package/build/esm/index.js +0 -13
- package/build/esm/initializer/Body.js +0 -83
- package/build/esm/initializer/BodySprite.js +0 -108
- package/build/esm/initializer/Initializer.js +0 -84
- package/build/esm/initializer/InitializerUtil.js +0 -48
- package/build/esm/initializer/Life.js +0 -66
- package/build/esm/initializer/Mass.js +0 -60
- package/build/esm/initializer/Position.js +0 -98
- package/build/esm/initializer/Radius.js +0 -75
- package/build/esm/initializer/Rate.js +0 -107
- package/build/esm/initializer/Texture.js +0 -101
- package/build/esm/initializer/Velocity/PolarVelocity.js +0 -63
- package/build/esm/initializer/Velocity/RadialVelocity.js +0 -72
- package/build/esm/initializer/Velocity/VectorVelocity.js +0 -69
- package/build/esm/initializer/Velocity/Velocity.js +0 -52
- package/build/esm/initializer/Velocity/index.js +0 -4
- package/build/esm/initializer/constants.js +0 -26
- package/build/esm/initializer/index.js +0 -11
- package/build/esm/initializer/types.js +0 -15
- package/build/esm/math/ArraySpan.js +0 -62
- package/build/esm/math/Box.js +0 -25
- package/build/esm/math/ColorSpan.js +0 -71
- package/build/esm/math/MathUtils.js +0 -48
- package/build/esm/math/Polar3D.js +0 -81
- package/build/esm/math/Span.js +0 -63
- package/build/esm/math/Vector3D.js +0 -34
- package/build/esm/math/constants.js +0 -24
- package/build/esm/math/index.js +0 -10
- package/build/esm/math/integration.js +0 -47
- package/build/esm/math/types.js +0 -7
- package/build/esm/renderer/BaseRenderer.js +0 -78
- package/build/esm/renderer/CustomRenderer.js +0 -23
- package/build/esm/renderer/GPURenderer/Desktop/index.js +0 -331
- package/build/esm/renderer/GPURenderer/Desktop/shaders/fragmentShader.js +0 -23
- package/build/esm/renderer/GPURenderer/Desktop/shaders/index.js +0 -3
- package/build/esm/renderer/GPURenderer/Desktop/shaders/vertexShader.js +0 -33
- package/build/esm/renderer/GPURenderer/Mobile/index.js +0 -349
- package/build/esm/renderer/GPURenderer/Mobile/shaders/fragmentShader.js +0 -20
- package/build/esm/renderer/GPURenderer/Mobile/shaders/index.js +0 -3
- package/build/esm/renderer/GPURenderer/Mobile/shaders/vertexShader.js +0 -30
- package/build/esm/renderer/GPURenderer/common/ParticleBuffer/constants.js +0 -27
- package/build/esm/renderer/GPURenderer/common/ParticleBuffer/index.js +0 -70
- package/build/esm/renderer/GPURenderer/common/TextureAtlas/constants.js +0 -2
- package/build/esm/renderer/GPURenderer/common/TextureAtlas/index.js +0 -206
- package/build/esm/renderer/GPURenderer/common/constants.js +0 -13
- package/build/esm/renderer/GPURenderer/common/index.js +0 -4
- package/build/esm/renderer/GPURenderer/common/shaders/constants.js +0 -2
- package/build/esm/renderer/GPURenderer/common/stores/Target.js +0 -24
- package/build/esm/renderer/GPURenderer/common/stores/UniqueList.js +0 -29
- package/build/esm/renderer/GPURenderer/common/stores/index.js +0 -3
- package/build/esm/renderer/GPURenderer/index.js +0 -57
- package/build/esm/renderer/MeshRenderer.js +0 -94
- package/build/esm/renderer/SpriteRenderer.js +0 -26
- package/build/esm/renderer/index.js +0 -5
- package/build/esm/renderer/types.js +0 -8
- package/build/esm/utils/ColorUtil.js +0 -32
- package/build/esm/utils/PUID.js +0 -19
- package/build/esm/utils/THREEUtil.js +0 -31
- package/build/esm/utils/Util.js +0 -60
- package/build/esm/utils/index.js +0 -13
- package/build/esm/utils/uid.js +0 -3
- package/build/esm/zone/BoxZone.js +0 -133
- package/build/esm/zone/LineZone.js +0 -61
- package/build/esm/zone/MeshZone.js +0 -60
- package/build/esm/zone/PointZone.js +0 -59
- package/build/esm/zone/ScreenZone.js +0 -116
- package/build/esm/zone/SphereZone.js +0 -113
- package/build/esm/zone/Zone.js +0 -141
- package/build/esm/zone/index.js +0 -7
- package/build/esm/zone/types.js +0 -8
- package/build/three-nebula.js +0 -2
- package/build/three-nebula.js.map +0 -1
package/build/cjs/debug/index.js
DELETED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
Object.defineProperty(exports, "Debug", {
|
|
9
|
-
enumerable: true,
|
|
10
|
-
get: function get() {
|
|
11
|
-
return _Debug["default"];
|
|
12
|
-
}
|
|
13
|
-
});
|
|
14
|
-
Object.defineProperty(exports, "log", {
|
|
15
|
-
enumerable: true,
|
|
16
|
-
get: function get() {
|
|
17
|
-
return _log["default"];
|
|
18
|
-
}
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
var _Debug = _interopRequireDefault(require("./Debug"));
|
|
22
|
-
|
|
23
|
-
var _log = _interopRequireDefault(require("./log"));
|
|
24
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWJ1Zy9pbmRleC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHsgZGVmYXVsdCBhcyBEZWJ1ZyB9IGZyb20gJy4vRGVidWcnO1xuZXhwb3J0IHsgZGVmYXVsdCBhcyBsb2cgfSBmcm9tICcuL2xvZyc7XG4iXX0=
|
package/build/cjs/debug/log.js
DELETED
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports["default"] = _default;
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* You can use this emit particles.
|
|
10
|
-
*
|
|
11
|
-
* This method will console.log the fixed number of your info in updata or requestAnimationFrame
|
|
12
|
-
*
|
|
13
|
-
* use like this log('+12',mc); log 12 times
|
|
14
|
-
*
|
|
15
|
-
* @return void
|
|
16
|
-
*/
|
|
17
|
-
function _default() {
|
|
18
|
-
var once = 0;
|
|
19
|
-
|
|
20
|
-
if (window.console && window.console.trace) {
|
|
21
|
-
var arg = Array.prototype.slice.call(arguments);
|
|
22
|
-
var s1 = arguments[0] + '';
|
|
23
|
-
|
|
24
|
-
if (s1.indexOf('+') == 0) {
|
|
25
|
-
var n = parseInt(arguments[0]);
|
|
26
|
-
|
|
27
|
-
if (once < n) {
|
|
28
|
-
arg.shift();
|
|
29
|
-
console.trace.apply(console, arg);
|
|
30
|
-
once++;
|
|
31
|
-
}
|
|
32
|
-
} else {
|
|
33
|
-
arg.unshift('+15');
|
|
34
|
-
this.apply(console, arg);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
38
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9kZWJ1Zy9sb2cuanMiXSwibmFtZXMiOlsib25jZSIsIndpbmRvdyIsImNvbnNvbGUiLCJ0cmFjZSIsImFyZyIsIkFycmF5IiwicHJvdG90eXBlIiwic2xpY2UiLCJjYWxsIiwiYXJndW1lbnRzIiwiczEiLCJpbmRleE9mIiwibiIsInBhcnNlSW50Iiwic2hpZnQiLCJhcHBseSIsInVuc2hpZnQiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDZSxvQkFBVztBQUN4QixNQUFJQSxJQUFJLEdBQUcsQ0FBWDs7QUFFQSxNQUFJQyxNQUFNLENBQUNDLE9BQVAsSUFBa0JELE1BQU0sQ0FBQ0MsT0FBUCxDQUFlQyxLQUFyQyxFQUE0QztBQUMxQyxRQUFJQyxHQUFHLEdBQUdDLEtBQUssQ0FBQ0MsU0FBTixDQUFnQkMsS0FBaEIsQ0FBc0JDLElBQXRCLENBQTJCQyxTQUEzQixDQUFWO0FBQ0EsUUFBSUMsRUFBRSxHQUFHRCxTQUFTLENBQUMsQ0FBRCxDQUFULEdBQWUsRUFBeEI7O0FBRUEsUUFBSUMsRUFBRSxDQUFDQyxPQUFILENBQVcsR0FBWCxLQUFtQixDQUF2QixFQUEwQjtBQUN4QixVQUFJQyxDQUFDLEdBQUdDLFFBQVEsQ0FBQ0osU0FBUyxDQUFDLENBQUQsQ0FBVixDQUFoQjs7QUFFQSxVQUFJVCxJQUFJLEdBQUdZLENBQVgsRUFBYztBQUNaUixRQUFBQSxHQUFHLENBQUNVLEtBQUo7QUFDQVosUUFBQUEsT0FBTyxDQUFDQyxLQUFSLENBQWNZLEtBQWQsQ0FBb0JiLE9BQXBCLEVBQTZCRSxHQUE3QjtBQUNBSixRQUFBQSxJQUFJO0FBQ0w7QUFDRixLQVJELE1BUU87QUFDTEksTUFBQUEsR0FBRyxDQUFDWSxPQUFKLENBQVksS0FBWjtBQUNBLFdBQUtELEtBQUwsQ0FBV2IsT0FBWCxFQUFvQkUsR0FBcEI7QUFDRDtBQUNGO0FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFlvdSBjYW4gdXNlIHRoaXMgZW1pdCBwYXJ0aWNsZXMuXG4gKlxuICogVGhpcyBtZXRob2Qgd2lsbCBjb25zb2xlLmxvZyB0aGUgZml4ZWQgbnVtYmVyIG9mIHlvdXIgaW5mbyAgaW4gdXBkYXRhIG9yIHJlcXVlc3RBbmltYXRpb25GcmFtZVxuICpcbiAqIHVzZSBsaWtlIHRoaXMgbG9nKCcrMTInLG1jKTsgbG9nIDEyIHRpbWVzXG4gKlxuICogQHJldHVybiB2b2lkXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uKCkge1xuICBsZXQgb25jZSA9IDA7XG5cbiAgaWYgKHdpbmRvdy5jb25zb2xlICYmIHdpbmRvdy5jb25zb2xlLnRyYWNlKSB7XG4gICAgdmFyIGFyZyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGFyZ3VtZW50cyk7XG4gICAgdmFyIHMxID0gYXJndW1lbnRzWzBdICsgJyc7XG5cbiAgICBpZiAoczEuaW5kZXhPZignKycpID09IDApIHtcbiAgICAgIHZhciBuID0gcGFyc2VJbnQoYXJndW1lbnRzWzBdKTtcblxuICAgICAgaWYgKG9uY2UgPCBuKSB7XG4gICAgICAgIGFyZy5zaGlmdCgpO1xuICAgICAgICBjb25zb2xlLnRyYWNlLmFwcGx5KGNvbnNvbGUsIGFyZyk7XG4gICAgICAgIG9uY2UrKztcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgYXJnLnVuc2hpZnQoJysxNScpO1xuICAgICAgdGhpcy5hcHBseShjb25zb2xlLCBhcmcpO1xuICAgIH1cbiAgfVxufVxuIl19
|
package/build/cjs/ease/index.js
DELETED
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getEasingByName = exports.setEasingByName = exports.easeInOutBack = exports.easeOutBack = exports.easeInBack = exports.easeInOutCirc = exports.easeOutCirc = exports.easeInCirc = exports.easeInOutExpo = exports.easeOutExpo = exports.easeInExpo = exports.easeInOutSine = exports.easeOutSine = exports.easeInSine = exports.easeInOutQuart = exports.easeOutQuart = exports.easeInQuart = exports.easeInOutCubic = exports.easeOutCubic = exports.easeInCubic = exports.easeInOutQuad = exports.easeOutQuad = exports.easeInQuad = exports.easeLinear = exports.ease = void 0;
|
|
7
|
-
|
|
8
|
-
var _constants = require("../constants");
|
|
9
|
-
|
|
10
|
-
/**
|
|
11
|
-
* The Ease class provides a collection of easing functions for use with System
|
|
12
|
-
*/
|
|
13
|
-
var ease = {
|
|
14
|
-
easeLinear: function easeLinear(value) {
|
|
15
|
-
return value;
|
|
16
|
-
},
|
|
17
|
-
easeInQuad: function easeInQuad(value) {
|
|
18
|
-
return Math.pow(value, 2);
|
|
19
|
-
},
|
|
20
|
-
easeOutQuad: function easeOutQuad(value) {
|
|
21
|
-
return -(Math.pow(value - 1, 2) - 1);
|
|
22
|
-
},
|
|
23
|
-
easeInOutQuad: function easeInOutQuad(value) {
|
|
24
|
-
if ((value /= 0.5) < 1) return 0.5 * Math.pow(value, 2);
|
|
25
|
-
return -0.5 * ((value -= 2) * value - 2);
|
|
26
|
-
},
|
|
27
|
-
easeInCubic: function easeInCubic(value) {
|
|
28
|
-
return Math.pow(value, 3);
|
|
29
|
-
},
|
|
30
|
-
easeOutCubic: function easeOutCubic(value) {
|
|
31
|
-
return Math.pow(value - 1, 3) + 1;
|
|
32
|
-
},
|
|
33
|
-
easeInOutCubic: function easeInOutCubic(value) {
|
|
34
|
-
if ((value /= 0.5) < 1) return 0.5 * Math.pow(value, 3);
|
|
35
|
-
return 0.5 * (Math.pow(value - 2, 3) + 2);
|
|
36
|
-
},
|
|
37
|
-
easeInQuart: function easeInQuart(value) {
|
|
38
|
-
return Math.pow(value, 4);
|
|
39
|
-
},
|
|
40
|
-
easeOutQuart: function easeOutQuart(value) {
|
|
41
|
-
return -(Math.pow(value - 1, 4) - 1);
|
|
42
|
-
},
|
|
43
|
-
easeInOutQuart: function easeInOutQuart(value) {
|
|
44
|
-
if ((value /= 0.5) < 1) return 0.5 * Math.pow(value, 4);
|
|
45
|
-
return -0.5 * ((value -= 2) * Math.pow(value, 3) - 2);
|
|
46
|
-
},
|
|
47
|
-
easeInSine: function easeInSine(value) {
|
|
48
|
-
return -Math.cos(value * (_constants.PI / 2)) + 1;
|
|
49
|
-
},
|
|
50
|
-
easeOutSine: function easeOutSine(value) {
|
|
51
|
-
return Math.sin(value * (_constants.PI / 2));
|
|
52
|
-
},
|
|
53
|
-
easeInOutSine: function easeInOutSine(value) {
|
|
54
|
-
return -0.5 * (Math.cos(_constants.PI * value) - 1);
|
|
55
|
-
},
|
|
56
|
-
easeInExpo: function easeInExpo(value) {
|
|
57
|
-
return value === 0 ? 0 : Math.pow(2, 10 * (value - 1));
|
|
58
|
-
},
|
|
59
|
-
easeOutExpo: function easeOutExpo(value) {
|
|
60
|
-
return value === 1 ? 1 : -Math.pow(2, -10 * value) + 1;
|
|
61
|
-
},
|
|
62
|
-
easeInOutExpo: function easeInOutExpo(value) {
|
|
63
|
-
if (value === 0) return 0;
|
|
64
|
-
if (value === 1) return 1;
|
|
65
|
-
if ((value /= 0.5) < 1) return 0.5 * Math.pow(2, 10 * (value - 1));
|
|
66
|
-
return 0.5 * (-Math.pow(2, -10 * --value) + 2);
|
|
67
|
-
},
|
|
68
|
-
easeInCirc: function easeInCirc(value) {
|
|
69
|
-
return -(Math.sqrt(1 - value * value) - 1);
|
|
70
|
-
},
|
|
71
|
-
easeOutCirc: function easeOutCirc(value) {
|
|
72
|
-
return Math.sqrt(1 - Math.pow(value - 1, 2));
|
|
73
|
-
},
|
|
74
|
-
easeInOutCirc: function easeInOutCirc(value) {
|
|
75
|
-
if ((value /= 0.5) < 1) return -0.5 * (Math.sqrt(1 - value * value) - 1);
|
|
76
|
-
return 0.5 * (Math.sqrt(1 - (value -= 2) * value) + 1);
|
|
77
|
-
},
|
|
78
|
-
easeInBack: function easeInBack(value) {
|
|
79
|
-
var s = 1.70158;
|
|
80
|
-
return value * value * ((s + 1) * value - s);
|
|
81
|
-
},
|
|
82
|
-
easeOutBack: function easeOutBack(value) {
|
|
83
|
-
var s = 1.70158;
|
|
84
|
-
return (value = value - 1) * value * ((s + 1) * value + s) + 1;
|
|
85
|
-
},
|
|
86
|
-
easeInOutBack: function easeInOutBack(value) {
|
|
87
|
-
var s = 1.70158;
|
|
88
|
-
if ((value /= 0.5) < 1) return 0.5 * (value * value * (((s *= 1.525) + 1) * value - s));
|
|
89
|
-
return 0.5 * ((value -= 2) * value * (((s *= 1.525) + 1) * value + s) + 2);
|
|
90
|
-
}
|
|
91
|
-
};
|
|
92
|
-
exports.ease = ease;
|
|
93
|
-
var easeLinear = ease.easeLinear,
|
|
94
|
-
easeInQuad = ease.easeInQuad,
|
|
95
|
-
easeOutQuad = ease.easeOutQuad,
|
|
96
|
-
easeInOutQuad = ease.easeInOutQuad,
|
|
97
|
-
easeInCubic = ease.easeInCubic,
|
|
98
|
-
easeOutCubic = ease.easeOutCubic,
|
|
99
|
-
easeInOutCubic = ease.easeInOutCubic,
|
|
100
|
-
easeInQuart = ease.easeInQuart,
|
|
101
|
-
easeOutQuart = ease.easeOutQuart,
|
|
102
|
-
easeInOutQuart = ease.easeInOutQuart,
|
|
103
|
-
easeInSine = ease.easeInSine,
|
|
104
|
-
easeOutSine = ease.easeOutSine,
|
|
105
|
-
easeInOutSine = ease.easeInOutSine,
|
|
106
|
-
easeInExpo = ease.easeInExpo,
|
|
107
|
-
easeOutExpo = ease.easeOutExpo,
|
|
108
|
-
easeInOutExpo = ease.easeInOutExpo,
|
|
109
|
-
easeInCirc = ease.easeInCirc,
|
|
110
|
-
easeOutCirc = ease.easeOutCirc,
|
|
111
|
-
easeInOutCirc = ease.easeInOutCirc,
|
|
112
|
-
easeInBack = ease.easeInBack,
|
|
113
|
-
easeOutBack = ease.easeOutBack,
|
|
114
|
-
easeInOutBack = ease.easeInOutBack;
|
|
115
|
-
exports.easeInOutBack = easeInOutBack;
|
|
116
|
-
exports.easeOutBack = easeOutBack;
|
|
117
|
-
exports.easeInBack = easeInBack;
|
|
118
|
-
exports.easeInOutCirc = easeInOutCirc;
|
|
119
|
-
exports.easeOutCirc = easeOutCirc;
|
|
120
|
-
exports.easeInCirc = easeInCirc;
|
|
121
|
-
exports.easeInOutExpo = easeInOutExpo;
|
|
122
|
-
exports.easeOutExpo = easeOutExpo;
|
|
123
|
-
exports.easeInExpo = easeInExpo;
|
|
124
|
-
exports.easeInOutSine = easeInOutSine;
|
|
125
|
-
exports.easeOutSine = easeOutSine;
|
|
126
|
-
exports.easeInSine = easeInSine;
|
|
127
|
-
exports.easeInOutQuart = easeInOutQuart;
|
|
128
|
-
exports.easeOutQuart = easeOutQuart;
|
|
129
|
-
exports.easeInQuart = easeInQuart;
|
|
130
|
-
exports.easeInOutCubic = easeInOutCubic;
|
|
131
|
-
exports.easeOutCubic = easeOutCubic;
|
|
132
|
-
exports.easeInCubic = easeInCubic;
|
|
133
|
-
exports.easeInOutQuad = easeInOutQuad;
|
|
134
|
-
exports.easeOutQuad = easeOutQuad;
|
|
135
|
-
exports.easeInQuad = easeInQuad;
|
|
136
|
-
exports.easeLinear = easeLinear;
|
|
137
|
-
|
|
138
|
-
var setEasingByName = function setEasingByName(easeName) {
|
|
139
|
-
if (ease[easeName]) return ease[easeName];else return ease.easeLinear;
|
|
140
|
-
};
|
|
141
|
-
|
|
142
|
-
exports.setEasingByName = setEasingByName;
|
|
143
|
-
|
|
144
|
-
var getEasingByName = function getEasingByName(name) {
|
|
145
|
-
return ease[name] ? ease[name] : ease.easeLinear;
|
|
146
|
-
};
|
|
147
|
-
|
|
148
|
-
exports.getEasingByName = getEasingByName;
|
|
149
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9lYXNlL2luZGV4LmpzIl0sIm5hbWVzIjpbImVhc2UiLCJlYXNlTGluZWFyIiwidmFsdWUiLCJlYXNlSW5RdWFkIiwiTWF0aCIsInBvdyIsImVhc2VPdXRRdWFkIiwiZWFzZUluT3V0UXVhZCIsImVhc2VJbkN1YmljIiwiZWFzZU91dEN1YmljIiwiZWFzZUluT3V0Q3ViaWMiLCJlYXNlSW5RdWFydCIsImVhc2VPdXRRdWFydCIsImVhc2VJbk91dFF1YXJ0IiwiZWFzZUluU2luZSIsImNvcyIsIlBJIiwiZWFzZU91dFNpbmUiLCJzaW4iLCJlYXNlSW5PdXRTaW5lIiwiZWFzZUluRXhwbyIsImVhc2VPdXRFeHBvIiwiZWFzZUluT3V0RXhwbyIsImVhc2VJbkNpcmMiLCJzcXJ0IiwiZWFzZU91dENpcmMiLCJlYXNlSW5PdXRDaXJjIiwiZWFzZUluQmFjayIsInMiLCJlYXNlT3V0QmFjayIsImVhc2VJbk91dEJhY2siLCJzZXRFYXNpbmdCeU5hbWUiLCJlYXNlTmFtZSIsImdldEVhc2luZ0J5TmFtZSIsIm5hbWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFFQTtBQUNBO0FBQ0E7QUFDTyxJQUFNQSxJQUFJLEdBQUc7QUFDbEJDLEVBQUFBLFVBQVUsRUFBRSxvQkFBU0MsS0FBVCxFQUFnQjtBQUMxQixXQUFPQSxLQUFQO0FBQ0QsR0FIaUI7QUFLbEJDLEVBQUFBLFVBQVUsRUFBRSxvQkFBU0QsS0FBVCxFQUFnQjtBQUMxQixXQUFPRSxJQUFJLENBQUNDLEdBQUwsQ0FBU0gsS0FBVCxFQUFnQixDQUFoQixDQUFQO0FBQ0QsR0FQaUI7QUFTbEJJLEVBQUFBLFdBQVcsRUFBRSxxQkFBU0osS0FBVCxFQUFnQjtBQUMzQixXQUFPLEVBQUVFLElBQUksQ0FBQ0MsR0FBTCxDQUFTSCxLQUFLLEdBQUcsQ0FBakIsRUFBb0IsQ0FBcEIsSUFBeUIsQ0FBM0IsQ0FBUDtBQUNELEdBWGlCO0FBYWxCSyxFQUFBQSxhQUFhLEVBQUUsdUJBQVNMLEtB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QUFqQixHQUEwQmxDLElBQUksQ0FBQ0MsVUFERTtBQUFBLENBQTVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUEkgfSBmcm9tICcuLi9jb25zdGFudHMnO1xuXG4vKipcbiAqIFRoZSBFYXNlIGNsYXNzIHByb3ZpZGVzIGEgY29sbGVjdGlvbiBvZiBlYXNpbmcgZnVuY3Rpb25zIGZvciB1c2Ugd2l0aCBTeXN0ZW1cbiAqL1xuZXhwb3J0IGNvbnN0IGVhc2UgPSB7XG4gIGVhc2VMaW5lYXI6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9LFxuXG4gIGVhc2VJblF1YWQ6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuIE1hdGgucG93KHZhbHVlLCAyKTtcbiAgfSxcblxuICBlYXNlT3V0UXVhZDogZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gLShNYXRoLnBvdyh2YWx1ZSAtIDEsIDIpIC0gMSk7XG4gIH0sXG5cbiAgZWFzZUluT3V0UXVhZDogZnVuY3Rpb24odmFsdWUpIHtcbiAgICBpZiAoKHZhbHVlIC89IDAuNSkgPCAxKSByZXR1cm4gMC41ICogTWF0aC5wb3codmFsdWUsIDIpO1xuXG4gICAgcmV0dXJuIC0wLjUgKiAoKHZhbHVlIC09IDIpICogdmFsdWUgLSAyKTtcbiAgfSxcblxuICBlYXNlSW5DdWJpYzogZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gTWF0aC5wb3codmFsdWUsIDMpO1xuICB9LFxuXG4gIGVhc2VPdXRDdWJpYzogZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gTWF0aC5wb3codmFsdWUgLSAxLCAzKSArIDE7XG4gIH0sXG5cbiAgZWFzZUluT3V0Q3ViaWM6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgaWYgKCh2YWx1ZSAvPSAwLjUpIDwgMSkgcmV0dXJuIDAuNSAqIE1hdGgucG93KHZhbHVlLCAzKTtcblxuICAgIHJldHVybiAwLjUgKiAoTWF0aC5wb3codmFsdWUgLSAyLCAzKSArIDIpO1xuICB9LFxuXG4gIGVhc2VJblF1YXJ0OiBmdW5jdGlvbih2YWx1ZSkge1xuICAgIHJldHVybiBNYXRoLnBvdyh2YWx1ZSwgNCk7XG4gIH0sXG5cbiAgZWFzZU91dFF1YXJ0OiBmdW5jdGlvbih2YWx1ZSkge1xuICAgIHJldHVybiAtKE1hdGgucG93KHZhbHVlIC0gMSwgNCkgLSAxKTtcbiAgfSxcblxuICBlYXNlSW5PdXRRdWFydDogZnVuY3Rpb24odmFsdWUpIHtcbiAgICBpZiAoKHZhbHVlIC89IDAuNSkgPCAxKSByZXR1cm4gMC41ICogTWF0aC5wb3codmFsdWUsIDQpO1xuXG4gICAgcmV0dXJuIC0wLjUgKiAoKHZhbHVlIC09IDIpICogTWF0aC5wb3codmFsdWUsIDMpIC0gMik7XG4gIH0sXG5cbiAgZWFzZUluU2luZTogZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gLU1hdGguY29zKHZhbHVlICogKFBJIC8gMikpICsgMTtcbiAgfSxcblxuICBlYXNlT3V0U2luZTogZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gTWF0aC5zaW4odmFsdWUgKiAoUEkgLyAyKSk7XG4gIH0sXG5cbiAgZWFzZUluT3V0U2luZTogZnVuY3Rpb24odmFsdWUpIHtcbiAgICByZXR1cm4gLTAuNSAqIChNYXRoLmNvcyhQSSAqIHZhbHVlKSAtIDEpO1xuICB9LFxuXG4gIGVhc2VJbkV4cG86IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuIHZhbHVlID09PSAwID8gMCA6IE1hdGgucG93KDIsIDEwICogKHZhbHVlIC0gMSkpO1xuICB9LFxuXG4gIGVhc2VPdXRFeHBvOiBmdW5jdGlvbih2YWx1ZSkge1xuICAgIHJldHVybiB2YWx1ZSA9PT0gMSA/IDEgOiAtTWF0aC5wb3coMiwgLTEwICogdmFsdWUpICsgMTtcbiAgfSxcblxuICBlYXNlSW5PdXRFeHBvOiBmdW5jdGlvbih2YWx1ZSkge1xuICAgIGlmICh2YWx1ZSA9PT0gMCkgcmV0dXJuIDA7XG4gICAgaWYgKHZhbHVlID09PSAxKSByZXR1cm4gMTtcbiAgICBpZiAoKHZhbHVlIC89IDAuNSkgPCAxKSByZXR1cm4gMC41ICogTWF0aC5wb3coMiwgMTAgKiAodmFsdWUgLSAxKSk7XG5cbiAgICByZXR1cm4gMC41ICogKC1NYXRoLnBvdygyLCAtMTAgKiAtLXZhbHVlKSArIDIpO1xuICB9LFxuXG4gIGVhc2VJbkNpcmM6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgcmV0dXJuIC0oTWF0aC5zcXJ0KDEgLSB2YWx1ZSAqIHZhbHVlKSAtIDEpO1xuICB9LFxuXG4gIGVhc2VPdXRDaXJjOiBmdW5jdGlvbih2YWx1ZSkge1xuICAgIHJldHVybiBNYXRoLnNxcnQoMSAtIE1hdGgucG93KHZhbHVlIC0gMSwgMikpO1xuICB9LFxuXG4gIGVhc2VJbk91dENpcmM6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgaWYgKCh2YWx1ZSAvPSAwLjUpIDwgMSkgcmV0dXJuIC0wLjUgKiAoTWF0aC5zcXJ0KDEgLSB2YWx1ZSAqIHZhbHVlKSAtIDEpO1xuXG4gICAgcmV0dXJuIDAuNSAqIChNYXRoLnNxcnQoMSAtICh2YWx1ZSAtPSAyKSAqIHZhbHVlKSArIDEpO1xuICB9LFxuXG4gIGVhc2VJbkJhY2s6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgdmFyIHMgPSAxLjcwMTU4O1xuXG4gICAgcmV0dXJuIHZhbHVlICogdmFsdWUgKiAoKHMgKyAxKSAqIHZhbHVlIC0gcyk7XG4gIH0sXG5cbiAgZWFzZU91dEJhY2s6IGZ1bmN0aW9uKHZhbHVlKSB7XG4gICAgdmFyIHMgPSAxLjcwMTU4O1xuXG4gICAgcmV0dXJuICh2YWx1ZSA9IHZhbHVlIC0gMSkgKiB2YWx1ZSAqICgocyArIDEpICogdmFsdWUgKyBzKSArIDE7XG4gIH0sXG5cbiAgZWFzZUluT3V0QmFjazogZnVuY3Rpb24odmFsdWUpIHtcbiAgICB2YXIgcyA9IDEuNzAxNTg7XG5cbiAgICBpZiAoKHZhbHVlIC89IDAuNSkgPCAxKVxuICAgICAgcmV0dXJuIDAuNSAqICh2YWx1ZSAqIHZhbHVlICogKCgocyAqPSAxLjUyNSkgKyAxKSAqIHZhbHVlIC0gcykpO1xuXG4gICAgcmV0dXJuIDAuNSAqICgodmFsdWUgLT0gMikgKiB2YWx1ZSAqICgoKHMgKj0gMS41MjUpICsgMSkgKiB2YWx1ZSArIHMpICsgMik7XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCB7XG4gIGVhc2VMaW5lYXIsXG4gIGVhc2VJblF1YWQsXG4gIGVhc2VPdXRRdWFkLFxuICBlYXNlSW5PdXRRdWFkLFxuICBlYXNlSW5DdWJpYyxcbiAgZWFzZU91dEN1YmljLFxuICBlYXNlSW5PdXRDdWJpYyxcbiAgZWFzZUluUXVhcnQsXG4gIGVhc2VPdXRRdWFydCxcbiAgZWFzZUluT3V0UXVhcnQsXG4gIGVhc2VJblNpbmUsXG4gIGVhc2VPdXRTaW5lLFxuICBlYXNlSW5PdXRTaW5lLFxuICBlYXNlSW5FeHBvLFxuICBlYXNlT3V0RXhwbyxcbiAgZWFzZUluT3V0RXhwbyxcbiAgZWFzZUluQ2lyYyxcbiAgZWFzZU91dENpcmMsXG4gIGVhc2VJbk91dENpcmMsXG4gIGVhc2VJbkJhY2ssXG4gIGVhc2VPdXRCYWNrLFxuICBlYXNlSW5PdXRCYWNrXG59ID0gZWFzZTtcblxuZXhwb3J0IGNvbnN0IHNldEVhc2luZ0J5TmFtZSA9IGVhc2VOYW1lID0+IHtcbiAgaWYgKGVhc2VbZWFzZU5hbWVdKSByZXR1cm4gZWFzZVtlYXNlTmFtZV07XG4gIGVsc2UgcmV0dXJuIGVhc2UuZWFzZUxpbmVhcjtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRFYXNpbmdCeU5hbWUgPSBuYW1lID0+XG4gIGVhc2VbbmFtZV0gPyBlYXNlW25hbWVdIDogZWFzZS5lYXNlTGluZWFyO1xuIl19
|