@lightningjs/renderer 0.9.1 → 0.9.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/dist/exports/index.d.ts +3 -0
- package/dist/{src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.js → exports/index.js} +4 -11
- package/dist/exports/index.js.map +1 -0
- package/dist/src/common/IAnimationController.d.ts +58 -1
- package/dist/src/common/IAnimationController.js +0 -18
- package/dist/src/common/IAnimationController.js.map +1 -1
- package/dist/src/core/CoreTextureManager.js +1 -1
- package/dist/src/core/CoreTextureManager.js.map +1 -1
- package/dist/src/core/animations/CoreAnimation.d.ts +2 -2
- package/dist/src/core/animations/CoreAnimation.js +33 -10
- package/dist/src/core/animations/CoreAnimation.js.map +1 -1
- package/dist/src/core/animations/CoreAnimationController.d.ts +8 -12
- package/dist/src/core/animations/CoreAnimationController.js +42 -46
- package/dist/src/core/animations/CoreAnimationController.js.map +1 -1
- package/dist/src/core/lib/ImageWorker.js +8 -5
- package/dist/src/core/lib/ImageWorker.js.map +1 -1
- package/dist/src/core/textures/ImageTexture.d.ts +5 -1
- package/dist/src/core/textures/ImageTexture.js +14 -6
- package/dist/src/core/textures/ImageTexture.js.map +1 -1
- package/dist/src/core/utils.js +1 -6
- package/dist/src/core/utils.js.map +1 -1
- package/dist/src/main-api/INode.d.ts +1 -1
- package/dist/src/main-api/Renderer.d.ts +297 -0
- package/dist/src/main-api/Renderer.js +370 -0
- package/dist/src/main-api/Renderer.js.map +1 -0
- package/dist/src/main-api/utils.d.ts +2 -0
- package/dist/src/main-api/utils.js +34 -0
- package/dist/src/main-api/utils.js.map +1 -0
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.d.ts +8 -4
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js +53 -24
- package/dist/src/render-drivers/threadx/ThreadXMainAnimationController.js.map +1 -1
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js +6 -0
- package/dist/src/render-drivers/threadx/worker/ThreadXRendererNode.js.map +1 -1
- package/dist/tsconfig.dist.tsbuildinfo +1 -1
- package/{dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.js → exports/index.ts} +4 -14
- package/package.json +1 -1
- package/src/common/IAnimationController.ts +60 -1
- package/src/core/CoreTextureManager.ts +1 -1
- package/src/core/animations/CoreAnimation.ts +35 -11
- package/src/core/animations/CoreAnimationController.ts +48 -53
- package/src/core/lib/ImageWorker.ts +10 -7
- package/src/core/textures/ImageTexture.ts +19 -6
- package/src/core/utils.ts +1 -7
- package/src/main-api/INode.ts +1 -1
- package/src/render-drivers/threadx/ThreadXMainAnimationController.ts +63 -27
- package/src/render-drivers/threadx/worker/ThreadXRendererNode.ts +6 -0
- package/dist/src/core/lib/WebGlContext.d.ts +0 -414
- package/dist/src/core/lib/WebGlContext.js +0 -640
- package/dist/src/core/lib/WebGlContext.js.map +0 -1
- package/dist/src/core/scene/Scene.d.ts +0 -59
- package/dist/src/core/scene/Scene.js +0 -106
- package/dist/src/core/scene/Scene.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.d.ts +0 -8
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/findNearestMultiple.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.d.ts +0 -19
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.js +0 -84
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/SdfBufferHelper.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.d.ts +0 -8
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.js +0 -40
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutLine.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.d.ts +0 -2
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.js +0 -41
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/layoutText2.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.d.ts +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.js +0 -4
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2/utils.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.d.ts +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.js +0 -2
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/layoutText2.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.d.ts +0 -20
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js +0 -55
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/makeRenderWindow.js.map +0 -1
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.d.ts +0 -9
- package/dist/src/core/text-rendering/renderers/SdfTextRenderer/internal/roundUpToMultiple.js.map +0 -1
|
@@ -16,14 +16,7 @@
|
|
|
16
16
|
* See the License for the specific language governing permissions and
|
|
17
17
|
* limitations under the License.
|
|
18
18
|
*/
|
|
19
|
-
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
|
|
23
|
-
* @param multiple
|
|
24
|
-
* @returns
|
|
25
|
-
*/
|
|
26
|
-
export function roundUpToMultiple(value, multiple) {
|
|
27
|
-
return Math.ceil(value / multiple) * multiple;
|
|
28
|
-
}
|
|
29
|
-
//# sourceMappingURL=findNearestMultiple.js.map
|
|
19
|
+
export * from './main-api.js';
|
|
20
|
+
export * from './core-api.js';
|
|
21
|
+
export * from './utils.js';
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../exports/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
|
|
@@ -1,9 +1,66 @@
|
|
|
1
|
+
import type { IEventEmitter } from '@lightningjs/threadx';
|
|
1
2
|
export type AnimationControllerState = 'running' | 'paused' | 'stopped';
|
|
2
|
-
|
|
3
|
+
/**
|
|
4
|
+
* Animation Controller interface
|
|
5
|
+
*
|
|
6
|
+
* @remarks
|
|
7
|
+
* This interface is used to control animations. It provides methods to start,
|
|
8
|
+
* stop, pause, and restore animations. It also provides a way to wait for the
|
|
9
|
+
* animation to stop.
|
|
10
|
+
*
|
|
11
|
+
* This interface extends the `IEventEmitter` interface, which means you can
|
|
12
|
+
* listen to these events emitted by the animation controller:
|
|
13
|
+
* - `animating` - Emitted when the animation finishes it's delay phase and
|
|
14
|
+
* starts animating.
|
|
15
|
+
* - `stopped` - Emitted when the animation stops either by calling the `stop()`
|
|
16
|
+
* method or when the animation finishes naturally.
|
|
17
|
+
*/
|
|
18
|
+
export interface IAnimationController extends IEventEmitter {
|
|
19
|
+
/**
|
|
20
|
+
* Start the animation
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* If the animation is paused this method will resume the animation.
|
|
24
|
+
*/
|
|
3
25
|
start(): IAnimationController;
|
|
26
|
+
/**
|
|
27
|
+
* Stop the animation
|
|
28
|
+
*
|
|
29
|
+
* @remarks
|
|
30
|
+
* Resets the animation to the start state
|
|
31
|
+
*/
|
|
4
32
|
stop(): IAnimationController;
|
|
33
|
+
/**
|
|
34
|
+
* Pause the animation
|
|
35
|
+
*/
|
|
5
36
|
pause(): IAnimationController;
|
|
37
|
+
/**
|
|
38
|
+
* Restore the animation to the original values
|
|
39
|
+
*/
|
|
6
40
|
restore(): IAnimationController;
|
|
41
|
+
/**
|
|
42
|
+
* Promise that resolves when the last active animation is stopped (including
|
|
43
|
+
* when the animation finishes naturally).
|
|
44
|
+
*
|
|
45
|
+
* @remarks
|
|
46
|
+
* The Promise returned by this method is reset every time the animation
|
|
47
|
+
* enters a new start/stop cycle. This means you must call `start()` before
|
|
48
|
+
* calling this method if you want to wait for the animation to stop.
|
|
49
|
+
*
|
|
50
|
+
* This method always returns a resolved promise if the animation is currently
|
|
51
|
+
* in a stopped state.
|
|
52
|
+
*
|
|
53
|
+
* @returns
|
|
54
|
+
*/
|
|
7
55
|
waitUntilStopped(): Promise<void>;
|
|
56
|
+
/**
|
|
57
|
+
* Current state of the animation
|
|
58
|
+
*
|
|
59
|
+
* @remarks
|
|
60
|
+
* - `stopped` - The animation is currently stopped (at the beggining or end
|
|
61
|
+
* of the animation)
|
|
62
|
+
* - `running` - The animation is currently running
|
|
63
|
+
* - `paused` - The animation is currently paused
|
|
64
|
+
*/
|
|
8
65
|
readonly state: AnimationControllerState;
|
|
9
66
|
}
|
|
@@ -1,20 +1,2 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
|
-
* following copyright and licenses apply:
|
|
4
|
-
*
|
|
5
|
-
* Copyright 2023 Comcast Cable Communications Management, LLC.
|
|
6
|
-
*
|
|
7
|
-
* Licensed under the Apache License, Version 2.0 (the License);
|
|
8
|
-
* you may not use this file except in compliance with the License.
|
|
9
|
-
* You may obtain a copy of the License at
|
|
10
|
-
*
|
|
11
|
-
* http://www.apache.org/licenses/LICENSE-2.0
|
|
12
|
-
*
|
|
13
|
-
* Unless required by applicable law or agreed to in writing, software
|
|
14
|
-
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
15
|
-
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
16
|
-
* See the License for the specific language governing permissions and
|
|
17
|
-
* limitations under the License.
|
|
18
|
-
*/
|
|
19
1
|
export {};
|
|
20
2
|
//# sourceMappingURL=IAnimationController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IAnimationController.js","sourceRoot":"","sources":["../../../src/common/IAnimationController.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"IAnimationController.js","sourceRoot":"","sources":["../../../src/common/IAnimationController.ts"],"names":[],"mappings":""}
|
|
@@ -46,7 +46,7 @@ export class CoreTextureManager {
|
|
|
46
46
|
renderer;
|
|
47
47
|
constructor(numImageWorkers) {
|
|
48
48
|
// Register default known texture types
|
|
49
|
-
if (this.hasCreateImageBitmap && this.hasWorker) {
|
|
49
|
+
if (this.hasCreateImageBitmap && this.hasWorker && numImageWorkers > 0) {
|
|
50
50
|
this.imageWorkerManager = new ImageWorkerManager(numImageWorkers);
|
|
51
51
|
}
|
|
52
52
|
if (!this.hasCreateImageBitmap) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreTextureManager.js","sourceRoot":"","sources":["../../../src/core/CoreTextureManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AA0G5D,MAAM,OAAO,kBAAkB;IAC7B;;OAEG;IACH,UAAU,GAAG,CAAC,CAAC;IAEf,cAAc,GAAwB,EAAE,CAAC;IAEzC,eAAe,GAAyB,IAAI,GAAG,EAAE,CAAC;IAClD,cAAc,GAAyB,IAAI,GAAG,EAAE,CAAC;IAEjD,eAAe,GAAyC,IAAI,OAAO,EAAE,CAAC;IACtE,kBAAkB,GAGd,IAAI,OAAO,EAAE,CAAC;IAClB,kBAAkB,GAA8B,IAAI,CAAC;IACrD,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAChD,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAgB;IAExB,YAAY,eAAuB;QACjC,uCAAuC;QACvC,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,SAAS,EAAE;
|
|
1
|
+
{"version":3,"file":"CoreTextureManager.js","sourceRoot":"","sources":["../../../src/core/CoreTextureManager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AA0G5D,MAAM,OAAO,kBAAkB;IAC7B;;OAEG;IACH,UAAU,GAAG,CAAC,CAAC;IAEf,cAAc,GAAwB,EAAE,CAAC;IAEzC,eAAe,GAAyB,IAAI,GAAG,EAAE,CAAC;IAClD,cAAc,GAAyB,IAAI,GAAG,EAAE,CAAC;IAEjD,eAAe,GAAyC,IAAI,OAAO,EAAE,CAAC;IACtE,kBAAkB,GAGd,IAAI,OAAO,EAAE,CAAC;IAClB,kBAAkB,GAA8B,IAAI,CAAC;IACrD,oBAAoB,GAAG,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC;IAChD,SAAS,GAAG,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC;IAC1B;;;;;;OAMG;IACH,QAAQ,CAAgB;IAExB,YAAY,eAAuB;QACjC,uCAAuC;QACvC,IAAI,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,SAAS,IAAI,eAAe,GAAG,CAAC,EAAE;YACtE,IAAI,CAAC,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,eAAe,CAAC,CAAC;SACnE;QAED,IAAI,CAAC,IAAI,CAAC,oBAAoB,EAAE;YAC9B,OAAO,CAAC,IAAI,CACV,8FAA8F,CAC/F,CAAC;SACH;QAED,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;QACvD,IAAI,CAAC,mBAAmB,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACnD,IAAI,CAAC,mBAAmB,CAAC,eAAe,EAAE,aAAa,CAAC,CAAC;IAC3D,CAAC;IAED,mBAAmB,CACjB,WAAiB,EACjB,YAA8B;QAE9B,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,GAAG,YAAY,CAAC;IAClD,CAAC;IAED,WAAW,CACT,WAAiB,EACjB,KAAqC,EACrC,UAAiC,IAAI;QAErC,MAAM,YAAY,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACtD,IAAI,CAAC,YAAY,EAAE;YACjB,MAAM,IAAI,KAAK,CAAC,iBAAiB,WAAW,qBAAqB,CAAC,CAAC;SACpE;QACD,IAAI,OAA4B,CAAC;QACjC,wEAAwE;QACxE,IAAI,OAAO,EAAE,EAAE,KAAK,SAAS,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACpE,iEAAiE;YACjE,oEAAoE;YACpE,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAE,CAAC;SAChD;QACD,gFAAgF;QAChF,IAAI,CAAC,OAAO,EAAE;YACZ,MAAM,MAAM,GAAG,OAAO,EAAE,EAAE,CAAC;YAC3B,MAAM,QAAQ,GACZ,OAAO,EAAE,QAAQ,IAAI,YAAY,CAAC,YAAY,CAAC,KAAY,CAAC,CAAC;YAC/D,IAAI,QAAQ,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE;gBAClD,yDAAyD;gBACzD,oEAAoE;gBACpE,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;aAC/C;iBAAM;gBACL,qGAAqG;gBACrG,OAAO,GAAG,IAAI,YAAY,CAAC,IAAI,EAAE,KAAY,CAAC,CAAC;aAChD;YACD,IAAI,MAAM,EAAE;gBACV,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;aACrD;SACF;QACD,IAAI,OAAO,EAAE,OAAO,EAAE;YACpB,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,EAAE,CAAC;SACd;QACD,OAAO,OAAyC,CAAC;IACnD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACK,mBAAmB,CACzB,aAAqB,EACrB,QAAwB,EACxB,OAAgB;QAEhB,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QACpD,cAAc,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAC3C,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACnC,oEAAoE;YACpE,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAE,CAAC,KAAK,EAAE,CAAC;SAC1C;aAAM;YACL,kBAAkB,CAAC,GAAG,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;YACxD,IAAI,QAAQ,EAAE;gBACZ,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;aAC7C;SACF;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACH,wBAAwB,CAAC,aAAqB;QAC5C,MAAM,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QACpD,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAClD,IAAI,CAAC,OAAO,EAAE;YACZ,oEAAoE;YACpE,qDAAqD;YACrD,OAAO;SACR;QACD,cAAc,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC;QACrC,IAAI,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YACnC,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YACpD,YAAY,CAAC,WAAW,CAAC,CAAC;YAC1B,WAAW,CAAC,KAAK,EAAE,CAAC;YACpB,IAAI,WAAW,CAAC,KAAK,KAAK,CAAC,EAAE;gBAC3B,kBAAkB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnC,+EAA+E;gBAC/E,WAAW;gBACX,oEAAoE;gBACpE,IAAI,WAAW,CAAC,QAAQ,EAAE;oBACxB,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;iBACnD;aACF;SACF;QACD,qCAAqC;QACrC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,CAAC;IAC5C,CAAC;IAED;;;;OAIG;IACH,YAAY;QACV,yCAAyC;QACzC,wDAAwD;QACxD,6BAA6B;QAC7B,IAAI;QACJ,yDAAyD;QACzD,6BAA6B;QAC7B,IAAI;QACJ,gDAAgD;QAChD,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI;YACvC,WAAW,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI;SACtC,CAAC;IACJ,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,aAAa,CAAC,aAAsB;QAClC,IAAI,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE;YAC3C,oEAAoE;YACpE,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,CAAE,CAAC;SACjD;QACD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QAE9D,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QACjD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
|
|
@@ -13,9 +13,9 @@ export interface AnimationSettings {
|
|
|
13
13
|
export declare class CoreAnimation extends EventEmitter {
|
|
14
14
|
private node;
|
|
15
15
|
private props;
|
|
16
|
-
settings: Partial<AnimationSettings>;
|
|
17
16
|
propStartValues: Partial<INodeAnimatableProps>;
|
|
18
17
|
restoreValues: Partial<INodeAnimatableProps>;
|
|
18
|
+
settings: AnimationSettings;
|
|
19
19
|
private progress;
|
|
20
20
|
private delayFor;
|
|
21
21
|
private timingFunction;
|
|
@@ -24,6 +24,6 @@ export declare class CoreAnimation extends EventEmitter {
|
|
|
24
24
|
reset(): void;
|
|
25
25
|
restore(): void;
|
|
26
26
|
reverse(): void;
|
|
27
|
-
applyEasing
|
|
27
|
+
private applyEasing;
|
|
28
28
|
update(dt: number): void;
|
|
29
29
|
}
|
|
@@ -22,9 +22,9 @@ import { EventEmitter } from '../../common/EventEmitter.js';
|
|
|
22
22
|
export class CoreAnimation extends EventEmitter {
|
|
23
23
|
node;
|
|
24
24
|
props;
|
|
25
|
-
settings;
|
|
26
25
|
propStartValues = {};
|
|
27
26
|
restoreValues = {};
|
|
27
|
+
settings;
|
|
28
28
|
progress = 0;
|
|
29
29
|
delayFor = 0;
|
|
30
30
|
timingFunction;
|
|
@@ -33,17 +33,24 @@ export class CoreAnimation extends EventEmitter {
|
|
|
33
33
|
super();
|
|
34
34
|
this.node = node;
|
|
35
35
|
this.props = props;
|
|
36
|
-
this.settings = settings;
|
|
37
36
|
this.propStartValues = {};
|
|
38
37
|
this.propsList = Object.keys(props);
|
|
39
38
|
this.propsList.forEach((propName) => {
|
|
40
39
|
this.propStartValues[propName] = node[propName];
|
|
41
40
|
});
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
41
|
+
const easing = settings.easing || 'linear';
|
|
42
|
+
const delay = settings.delay ?? 0;
|
|
43
|
+
this.settings = {
|
|
44
|
+
duration: settings.duration ?? 0,
|
|
45
|
+
delay,
|
|
46
|
+
easing,
|
|
47
|
+
loop: settings.loop ?? false,
|
|
48
|
+
repeat: settings.repeat ?? 0,
|
|
49
|
+
repeatDelay: settings.repeatDelay ?? 0,
|
|
50
|
+
stopMethod: settings.stopMethod ?? false,
|
|
51
|
+
};
|
|
52
|
+
this.timingFunction = getTimingFunction(easing);
|
|
53
|
+
this.delayFor = delay;
|
|
47
54
|
}
|
|
48
55
|
reset() {
|
|
49
56
|
this.progress = 0;
|
|
@@ -76,16 +83,32 @@ export class CoreAnimation extends EventEmitter {
|
|
|
76
83
|
}
|
|
77
84
|
update(dt) {
|
|
78
85
|
const { duration, loop, easing, stopMethod } = this.settings;
|
|
79
|
-
|
|
86
|
+
const { delayFor } = this;
|
|
87
|
+
if (duration === 0 && delayFor === 0) {
|
|
80
88
|
this.emit('finished', {});
|
|
81
89
|
return;
|
|
82
90
|
}
|
|
83
91
|
if (this.delayFor > 0) {
|
|
84
92
|
this.delayFor -= dt;
|
|
93
|
+
if (this.delayFor >= 0) {
|
|
94
|
+
// Either no or more delay left. Exit.
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
// We went beyond the delay time, add it back to dt so we can continue
|
|
99
|
+
// with the animation.
|
|
100
|
+
dt = -this.delayFor;
|
|
101
|
+
this.delayFor = 0;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
if (duration === 0) {
|
|
105
|
+
// No duration, we are done.
|
|
106
|
+
this.emit('finished', {});
|
|
85
107
|
return;
|
|
86
108
|
}
|
|
87
|
-
if (this.
|
|
88
|
-
|
|
109
|
+
if (this.progress === 0) {
|
|
110
|
+
// Progress is 0, we are starting the post-delay part of the animation.
|
|
111
|
+
this.emit('animating', {});
|
|
89
112
|
}
|
|
90
113
|
this.progress += dt / duration;
|
|
91
114
|
if (this.progress > 1) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreAnimation.js","sourceRoot":"","sources":["../../../../src/core/animations/CoreAnimation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAIH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAY5D,MAAM,OAAO,aAAc,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"CoreAnimation.js","sourceRoot":"","sources":["../../../../src/core/animations/CoreAnimation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,25 @@
|
|
|
1
1
|
import type { AnimationControllerState, IAnimationController } from '../../common/IAnimationController.js';
|
|
2
2
|
import type { AnimationManager } from './AnimationManager.js';
|
|
3
3
|
import type { CoreAnimation } from './CoreAnimation.js';
|
|
4
|
-
|
|
4
|
+
import { EventEmitter } from '../../common/EventEmitter.js';
|
|
5
|
+
export declare class CoreAnimationController extends EventEmitter implements IAnimationController {
|
|
5
6
|
private manager;
|
|
6
7
|
private animation;
|
|
7
|
-
|
|
8
|
-
/**
|
|
9
|
-
* If this is null, then the animation hasn't started yet.
|
|
10
|
-
*/
|
|
11
|
-
startedResolve: ((scope?: any) => void) | null;
|
|
12
|
-
stoppedPromise: Promise<void> | null;
|
|
8
|
+
stoppedPromise: Promise<void>;
|
|
13
9
|
/**
|
|
14
10
|
* If this is null, then the animation is in a finished / stopped state.
|
|
15
11
|
*/
|
|
16
12
|
stoppedResolve: (() => void) | null;
|
|
17
|
-
constructor(manager: AnimationManager, animation: CoreAnimation);
|
|
18
13
|
state: AnimationControllerState;
|
|
14
|
+
constructor(manager: AnimationManager, animation: CoreAnimation);
|
|
19
15
|
start(): IAnimationController;
|
|
20
16
|
stop(): IAnimationController;
|
|
21
17
|
pause(): IAnimationController;
|
|
22
18
|
restore(): IAnimationController;
|
|
23
|
-
waitUntilStarted(): Promise<void>;
|
|
24
19
|
waitUntilStopped(): Promise<void>;
|
|
25
|
-
private
|
|
20
|
+
private registerAnimation;
|
|
21
|
+
private unregisterAnimation;
|
|
26
22
|
private makeStoppedPromise;
|
|
27
|
-
private
|
|
28
|
-
private
|
|
23
|
+
private onFinished;
|
|
24
|
+
private onAnimating;
|
|
29
25
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/unbound-method */
|
|
1
2
|
/*
|
|
2
3
|
* If not stated otherwise in this file or this component's LICENSE file the
|
|
3
4
|
* following copyright and licenses apply:
|
|
@@ -17,49 +18,48 @@
|
|
|
17
18
|
* limitations under the License.
|
|
18
19
|
*/
|
|
19
20
|
import { assertTruthy } from '../../utils.js';
|
|
20
|
-
|
|
21
|
+
import { EventEmitter } from '../../common/EventEmitter.js';
|
|
22
|
+
export class CoreAnimationController extends EventEmitter {
|
|
21
23
|
manager;
|
|
22
24
|
animation;
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* If this is null, then the animation hasn't started yet.
|
|
26
|
-
*/
|
|
27
|
-
startedResolve = null;
|
|
28
|
-
stoppedPromise = null;
|
|
25
|
+
stoppedPromise;
|
|
29
26
|
/**
|
|
30
27
|
* If this is null, then the animation is in a finished / stopped state.
|
|
31
28
|
*/
|
|
32
29
|
stoppedResolve = null;
|
|
30
|
+
state;
|
|
33
31
|
constructor(manager, animation) {
|
|
32
|
+
super();
|
|
34
33
|
this.manager = manager;
|
|
35
34
|
this.animation = animation;
|
|
36
35
|
this.state = 'stopped';
|
|
36
|
+
// Initial stopped promise is resolved (since the animation is stopped)
|
|
37
|
+
this.stoppedPromise = Promise.resolve();
|
|
38
|
+
// Bind event handlers
|
|
39
|
+
this.onAnimating = this.onAnimating.bind(this);
|
|
40
|
+
this.onFinished = this.onFinished.bind(this);
|
|
37
41
|
}
|
|
38
|
-
state;
|
|
39
42
|
start() {
|
|
40
|
-
this.
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
// prevent registering the same animation twice
|
|
45
|
-
if (!this.manager.activeAnimations.has(this.animation)) {
|
|
46
|
-
this.manager.registerAnimation(this.animation);
|
|
43
|
+
if (this.state !== 'running') {
|
|
44
|
+
this.makeStoppedPromise();
|
|
45
|
+
this.registerAnimation();
|
|
46
|
+
this.state = 'running';
|
|
47
47
|
}
|
|
48
|
-
this.state = 'running';
|
|
49
48
|
return this;
|
|
50
49
|
}
|
|
51
50
|
stop() {
|
|
52
|
-
this.
|
|
51
|
+
this.unregisterAnimation();
|
|
53
52
|
if (this.stoppedResolve !== null) {
|
|
54
53
|
this.stoppedResolve();
|
|
55
54
|
this.stoppedResolve = null;
|
|
55
|
+
this.emit('stopped', this);
|
|
56
56
|
}
|
|
57
57
|
this.animation.reset();
|
|
58
58
|
this.state = 'stopped';
|
|
59
59
|
return this;
|
|
60
60
|
}
|
|
61
61
|
pause() {
|
|
62
|
-
this.
|
|
62
|
+
this.unregisterAnimation();
|
|
63
63
|
this.state = 'paused';
|
|
64
64
|
return this;
|
|
65
65
|
}
|
|
@@ -68,24 +68,22 @@ export class CoreAnimationController {
|
|
|
68
68
|
this.animation.restore();
|
|
69
69
|
return this;
|
|
70
70
|
}
|
|
71
|
-
waitUntilStarted() {
|
|
72
|
-
this.makeStartedPromise();
|
|
73
|
-
const promise = this.startedPromise;
|
|
74
|
-
assertTruthy(promise);
|
|
75
|
-
return promise;
|
|
76
|
-
}
|
|
77
71
|
waitUntilStopped() {
|
|
78
|
-
this.
|
|
79
|
-
const promise = this.stoppedPromise;
|
|
80
|
-
assertTruthy(promise);
|
|
81
|
-
return promise;
|
|
72
|
+
return this.stoppedPromise;
|
|
82
73
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
74
|
+
registerAnimation() {
|
|
75
|
+
// Hook up event listeners
|
|
76
|
+
this.animation.once('finished', this.onFinished);
|
|
77
|
+
this.animation.on('animating', this.onAnimating);
|
|
78
|
+
// Then register the animation
|
|
79
|
+
this.manager.registerAnimation(this.animation);
|
|
80
|
+
}
|
|
81
|
+
unregisterAnimation() {
|
|
82
|
+
// First unregister the animation
|
|
83
|
+
this.manager.unregisterAnimation(this.animation);
|
|
84
|
+
// Then unhook event listeners
|
|
85
|
+
this.animation.off('finished', this.onFinished);
|
|
86
|
+
this.animation.off('animating', this.onAnimating);
|
|
89
87
|
}
|
|
90
88
|
makeStoppedPromise() {
|
|
91
89
|
if (this.stoppedResolve === null) {
|
|
@@ -94,29 +92,27 @@ export class CoreAnimationController {
|
|
|
94
92
|
});
|
|
95
93
|
}
|
|
96
94
|
}
|
|
97
|
-
|
|
98
|
-
assertTruthy(this.startedResolve);
|
|
99
|
-
// resolve promise (and pass current this to continue to the chain)
|
|
100
|
-
this.startedResolve(this);
|
|
101
|
-
this.startedResolve = null;
|
|
102
|
-
}
|
|
103
|
-
finished() {
|
|
95
|
+
onFinished() {
|
|
104
96
|
assertTruthy(this.stoppedResolve);
|
|
105
97
|
// If the animation is looping, then we need to restart it.
|
|
106
98
|
const { loop, stopMethod } = this.animation.settings;
|
|
107
99
|
if (stopMethod === 'reverse') {
|
|
108
100
|
this.animation.reverse();
|
|
109
|
-
this.start();
|
|
110
101
|
return;
|
|
111
102
|
}
|
|
112
|
-
// resolve promise
|
|
113
|
-
this.stoppedResolve();
|
|
114
|
-
this.stoppedResolve = null;
|
|
115
103
|
if (loop) {
|
|
116
104
|
return;
|
|
117
105
|
}
|
|
118
106
|
// unregister animation
|
|
119
|
-
this.
|
|
107
|
+
this.unregisterAnimation();
|
|
108
|
+
// resolve promise
|
|
109
|
+
this.stoppedResolve();
|
|
110
|
+
this.stoppedResolve = null;
|
|
111
|
+
this.emit('stopped', this);
|
|
112
|
+
this.state = 'stopped';
|
|
113
|
+
}
|
|
114
|
+
onAnimating() {
|
|
115
|
+
this.emit('animating', this);
|
|
120
116
|
}
|
|
121
117
|
}
|
|
122
118
|
//# sourceMappingURL=CoreAnimationController.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CoreAnimationController.js","sourceRoot":"","sources":["../../../../src/core/animations/CoreAnimationController.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAQH,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"CoreAnimationController.js","sourceRoot":"","sources":["../../../../src/core/animations/CoreAnimationController.ts"],"names":[],"mappings":"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"}
|
|
@@ -122,11 +122,14 @@ export class ImageWorkerManager {
|
|
|
122
122
|
const absoluteSrcUrl = this.convertUrlToAbsolute(src);
|
|
123
123
|
const id = this.nextId++;
|
|
124
124
|
this.messageManager[id] = [resolve, reject];
|
|
125
|
-
this.getNextWorker()
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
125
|
+
const nextWorker = this.getNextWorker();
|
|
126
|
+
if (nextWorker) {
|
|
127
|
+
nextWorker.postMessage({
|
|
128
|
+
id,
|
|
129
|
+
src: absoluteSrcUrl,
|
|
130
|
+
premultiplyAlpha,
|
|
131
|
+
});
|
|
132
|
+
}
|
|
130
133
|
}
|
|
131
134
|
}
|
|
132
135
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageWorker.js","sourceRoot":"","sources":["../../../../src/core/lib/ImageWorker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAoB,MAAM,wBAAwB,CAAC;AAI1D,MAAM,OAAO,kBAAkB;IAC7B,mBAAmB,GAAG,IAAI,CAAC;IAC3B,cAAc,GAAoC,EAAE,CAAC;IACrD,OAAO,GAAa,EAAE,CAAC;IACvB,WAAW,GAAG,CAAC,CAAC;IAChB,MAAM,GAAG,CAAC,CAAC;IAEX,YAAY,eAAuB;QACjC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC9B,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CAAC,KAAmB;QACvC,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC,IAKjC,CAAC;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACpC,IAAI,GAAG,EAAE;YACP,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC;YAC9B,OAAO,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;YAC/B,IAAI,KAAK,EAAE;gBACT,MAAM,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aAC1B;iBAAM;gBACL,OAAO,CAAC,IAAI,CAAC,CAAC;aACf;SACF;IACH,CAAC;IAEO,aAAa,CAAC,UAAU,GAAG,CAAC;QAClC,MAAM,UAAU,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAmDlB,CAAC;QAEF,MAAM,IAAI,GAAS,IAAI,IAAI,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC,EAAE;YACrE,IAAI,EAAE,wBAAwB;SAC/B,CAAC,CAAC;QACH,MAAM,OAAO,GAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,OAAO,GAAa,EAAE,CAAC;QAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,UAAU,EAAE,CAAC,EAAE,EAAE;YACnC,OAAO,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;SACnC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,aAAa;QACnB,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC9C,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,CAAC,WAAW,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;QAChE,OAAO,
|
|
1
|
+
{"version":3,"file":"ImageWorker.js","sourceRoot":"","sources":["../../../../src/core/lib/ImageWorker.ts"],"names":[],"mappings":"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"}
|
|
@@ -13,7 +13,7 @@ export interface ImageTextureProps {
|
|
|
13
13
|
*
|
|
14
14
|
* @default ''
|
|
15
15
|
*/
|
|
16
|
-
src?: string | ImageData;
|
|
16
|
+
src?: string | ImageData | (() => ImageData);
|
|
17
17
|
/**
|
|
18
18
|
* Whether to premultiply the alpha channel into the color channels of the
|
|
19
19
|
* image.
|
|
@@ -26,6 +26,10 @@ export interface ImageTextureProps {
|
|
|
26
26
|
* @default true
|
|
27
27
|
*/
|
|
28
28
|
premultiplyAlpha?: boolean | null;
|
|
29
|
+
/**
|
|
30
|
+
* `ImageData` textures are not cached unless a `key` is provided
|
|
31
|
+
*/
|
|
32
|
+
key?: string | null;
|
|
29
33
|
}
|
|
30
34
|
/**
|
|
31
35
|
* Texture consisting of an image loaded from a URL
|
|
@@ -48,9 +48,15 @@ export class ImageTexture extends Texture {
|
|
|
48
48
|
data: null,
|
|
49
49
|
};
|
|
50
50
|
}
|
|
51
|
-
if (src
|
|
51
|
+
if (typeof src !== 'string') {
|
|
52
|
+
if (src instanceof ImageData) {
|
|
53
|
+
return {
|
|
54
|
+
data: src,
|
|
55
|
+
premultiplyAlpha,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
52
58
|
return {
|
|
53
|
-
data: src,
|
|
59
|
+
data: src(),
|
|
54
60
|
premultiplyAlpha,
|
|
55
61
|
};
|
|
56
62
|
}
|
|
@@ -94,16 +100,18 @@ export class ImageTexture extends Texture {
|
|
|
94
100
|
}
|
|
95
101
|
static makeCacheKey(props) {
|
|
96
102
|
const resolvedProps = ImageTexture.resolveDefaults(props);
|
|
97
|
-
//
|
|
98
|
-
|
|
103
|
+
// Only cache key-able textures; prioritise key
|
|
104
|
+
const key = resolvedProps.key || resolvedProps.src;
|
|
105
|
+
if (typeof key !== 'string') {
|
|
99
106
|
return false;
|
|
100
107
|
}
|
|
101
|
-
return `ImageTexture,${
|
|
108
|
+
return `ImageTexture,${key},${resolvedProps.premultiplyAlpha ?? 'true'}`;
|
|
102
109
|
}
|
|
103
110
|
static resolveDefaults(props) {
|
|
104
111
|
return {
|
|
105
112
|
src: props.src ?? '',
|
|
106
|
-
premultiplyAlpha: props.premultiplyAlpha ?? true,
|
|
113
|
+
premultiplyAlpha: props.premultiplyAlpha ?? true,
|
|
114
|
+
key: props.key ?? null
|
|
107
115
|
};
|
|
108
116
|
}
|
|
109
117
|
static z$__type__Props;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ImageTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ImageTexture.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAGH,OAAO,EAAE,OAAO,EAAoB,MAAM,cAAc,CAAC;AACzD,OAAO,EACL,4BAA4B,EAC5B,qBAAqB,GACtB,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"ImageTexture.js","sourceRoot":"","sources":["../../../../src/core/textures/ImageTexture.ts"],"names":[],"mappings":"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"}
|
package/dist/src/core/utils.js
CHANGED
|
@@ -129,17 +129,12 @@ const parseCubicBezier = (str) => {
|
|
|
129
129
|
return defaultTiming;
|
|
130
130
|
};
|
|
131
131
|
export const getTimingFunction = (str) => {
|
|
132
|
-
if (str === '') {
|
|
132
|
+
if (str === 'linear') {
|
|
133
133
|
return defaultTiming;
|
|
134
134
|
}
|
|
135
135
|
if (timingMapping[str] !== undefined) {
|
|
136
136
|
return timingMapping[str] || defaultTiming;
|
|
137
137
|
}
|
|
138
|
-
if (str === 'linear') {
|
|
139
|
-
return (time) => {
|
|
140
|
-
return time;
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
138
|
if (str === 'step-start') {
|
|
144
139
|
return () => {
|
|
145
140
|
return 1;
|