s3m-three 0.3.6 → 0.3.8
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/anim/Animator.d.ts +111 -0
- package/dist/anim/Animator.d.ts.map +1 -0
- package/dist/anim/Animator.js +382 -0
- package/dist/anim/Animator.js.map +1 -0
- package/dist/anim/Path.d.ts +30 -0
- package/dist/anim/Path.d.ts.map +1 -0
- package/dist/anim/Path.js +100 -0
- package/dist/anim/Path.js.map +1 -0
- package/dist/anim/easing.d.ts +70 -0
- package/dist/anim/easing.d.ts.map +1 -0
- package/dist/anim/easing.js +170 -0
- package/dist/anim/easing.js.map +1 -0
- package/dist/anim/index.d.ts +6 -0
- package/dist/anim/index.d.ts.map +1 -0
- package/dist/anim/index.js +4 -0
- package/dist/anim/index.js.map +1 -0
- package/dist/browser/assets/{s3mWorker-hZY5KqWF.js → s3mWorker-D7AV6O30.js} +1 -1
- package/dist/browser/s3m-three.iife.ext-three.js +60 -22
- package/dist/browser/s3m-three.iife.js +60 -22
- package/dist/core/TextureDecode.d.ts +22 -1
- package/dist/core/TextureDecode.d.ts.map +1 -1
- package/dist/core/TextureDecode.js +47 -3
- package/dist/core/TextureDecode.js.map +1 -1
- package/dist/core/TileGeometry.d.ts +92 -0
- package/dist/core/TileGeometry.d.ts.map +1 -0
- package/dist/core/TileGeometry.js +607 -0
- package/dist/core/TileGeometry.js.map +1 -0
- package/dist/core/types.d.ts +16 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/render/EdgeLines.d.ts +62 -14
- package/dist/render/EdgeLines.d.ts.map +1 -1
- package/dist/render/EdgeLines.js +97 -8
- package/dist/render/EdgeLines.js.map +1 -1
- package/dist/render/FeatureStyleManager.d.ts +17 -1
- package/dist/render/FeatureStyleManager.d.ts.map +1 -1
- package/dist/render/FeatureStyleManager.js +14 -4
- package/dist/render/FeatureStyleManager.js.map +1 -1
- package/dist/render/GeometryBuilder.d.ts +8 -10
- package/dist/render/GeometryBuilder.d.ts.map +1 -1
- package/dist/render/GeometryBuilder.js +77 -555
- package/dist/render/GeometryBuilder.js.map +1 -1
- package/dist/render/MergeVertices.d.ts +7 -0
- package/dist/render/MergeVertices.d.ts.map +1 -1
- package/dist/render/MergeVertices.js +10 -1
- package/dist/render/MergeVertices.js.map +1 -1
- package/dist/render/S3MViewer.d.ts +218 -9
- package/dist/render/S3MViewer.d.ts.map +1 -1
- package/dist/render/S3MViewer.js +772 -68
- package/dist/render/S3MViewer.js.map +1 -1
- package/dist/render/StyleMaterial.d.ts +19 -0
- package/dist/render/StyleMaterial.d.ts.map +1 -1
- package/dist/render/StyleMaterial.js +37 -0
- package/dist/render/StyleMaterial.js.map +1 -1
- package/dist/render/TextureFactory.d.ts +2 -1
- package/dist/render/TextureFactory.d.ts.map +1 -1
- package/dist/render/TextureFactory.js +30 -6
- package/dist/render/TextureFactory.js.map +1 -1
- package/dist/tileset/S3MTileset.d.ts +6 -2
- package/dist/tileset/S3MTileset.d.ts.map +1 -1
- package/dist/tileset/S3MTileset.js +17 -7
- package/dist/tileset/S3MTileset.js.map +1 -1
- package/dist/worker/S3MWorkerClient.d.ts +12 -4
- package/dist/worker/S3MWorkerClient.d.ts.map +1 -1
- package/dist/worker/S3MWorkerClient.js +12 -8
- package/dist/worker/S3MWorkerClient.js.map +1 -1
- package/dist/worker/s3mWorker.js +11 -3
- package/dist/worker/s3mWorker.js.map +1 -1
- package/docs/ANIMATION.md +534 -0
- package/docs/API.md +4 -0
- package/package.json +1 -1
- package/src/anim/Animator.ts +460 -0
- package/src/anim/Path.ts +107 -0
- package/src/anim/easing.ts +195 -0
- package/src/anim/index.ts +10 -0
- package/src/core/TextureDecode.ts +69 -3
- package/src/core/TileGeometry.ts +745 -0
- package/src/core/types.ts +8 -0
- package/src/index.ts +10 -0
- package/src/render/EdgeLines.ts +131 -15
- package/src/render/FeatureStyleManager.ts +12 -4
- package/src/render/GeometryBuilder.ts +91 -617
- package/src/render/MergeVertices.ts +11 -1
- package/src/render/S3MViewer.ts +866 -67
- package/src/render/StyleMaterial.ts +54 -1
- package/src/render/TextureFactory.ts +42 -8
- package/src/tileset/S3MTileset.ts +25 -9
- package/src/worker/S3MWorkerClient.ts +18 -9
- package/src/worker/s3mWorker.ts +24 -6
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 缓动曲线库
|
|
3
|
+
*
|
|
4
|
+
* 纯函数,不依赖 three / DOM,可以单独在 Worker 或 Node 里跑。
|
|
5
|
+
*
|
|
6
|
+
* 三类:
|
|
7
|
+
* 1. 命名曲线 —— CSS 那套 easeIn/Out/InOut × Quad…Bounce,覆盖 90% 场景
|
|
8
|
+
* 2. cubicBezier(x1,y1,x2,y2) —— 与 CSS `cubic-bezier()` 数值对齐,用来做产品级调校
|
|
9
|
+
* 3. steps(n, position) —— 离散跳变,做逐帧动画或「咔哒」感
|
|
10
|
+
*
|
|
11
|
+
* spring 不在这里:它没有「时长」概念,靠物理收敛,所以实现为 Animator 里的一种
|
|
12
|
+
* Track 类型,而不是 (t) => number 的曲线。
|
|
13
|
+
*/
|
|
14
|
+
export type EasingFn = (t: number) => number;
|
|
15
|
+
declare function outBounce(t: number): number;
|
|
16
|
+
declare function inBounce(t: number): number;
|
|
17
|
+
declare const CURVES: {
|
|
18
|
+
linear: (t: number) => number;
|
|
19
|
+
easeInQuad: (t: number) => number;
|
|
20
|
+
easeOutQuad: (t: number) => number;
|
|
21
|
+
easeInOutQuad: (t: number) => number;
|
|
22
|
+
easeInCubic: (t: number) => number;
|
|
23
|
+
easeOutCubic: (t: number) => number;
|
|
24
|
+
easeInOutCubic: (t: number) => number;
|
|
25
|
+
easeInQuart: (t: number) => number;
|
|
26
|
+
easeOutQuart: (t: number) => number;
|
|
27
|
+
easeInOutQuart: (t: number) => number;
|
|
28
|
+
easeInQuint: (t: number) => number;
|
|
29
|
+
easeOutQuint: (t: number) => number;
|
|
30
|
+
easeInOutQuint: (t: number) => number;
|
|
31
|
+
easeInSine: (t: number) => number;
|
|
32
|
+
easeOutSine: (t: number) => number;
|
|
33
|
+
easeInOutSine: (t: number) => number;
|
|
34
|
+
easeInExpo: (t: number) => number;
|
|
35
|
+
easeOutExpo: (t: number) => number;
|
|
36
|
+
easeInOutExpo: (t: number) => number;
|
|
37
|
+
easeInCirc: (t: number) => number;
|
|
38
|
+
easeOutCirc: (t: number) => number;
|
|
39
|
+
easeInOutCirc: (t: number) => number;
|
|
40
|
+
easeInBack: (t: number) => number;
|
|
41
|
+
easeOutBack: (t: number) => number;
|
|
42
|
+
easeInOutBack: (t: number) => number;
|
|
43
|
+
easeInElastic: (t: number) => number;
|
|
44
|
+
easeOutElastic: (t: number) => number;
|
|
45
|
+
easeInOutElastic: (t: number) => number;
|
|
46
|
+
easeInBounce: typeof inBounce;
|
|
47
|
+
easeOutBounce: typeof outBounce;
|
|
48
|
+
easeInOutBounce: (t: number) => number;
|
|
49
|
+
};
|
|
50
|
+
/** 全部内置曲线名(顺序稳定,方便做下拉框 / 遍历自检) */
|
|
51
|
+
export declare const EASING_NAMES: EasingName[];
|
|
52
|
+
export type EasingName = keyof typeof CURVES;
|
|
53
|
+
/** 按名字取曲线;名字不存在直接抛错,不做静默降级(拼错会变成「没动画」,很难查) */
|
|
54
|
+
export declare function easing(name: EasingName | EasingFn): EasingFn;
|
|
55
|
+
/**
|
|
56
|
+
* CSS `cubic-bezier(x1, y1, x2, y2)` 的等价实现。
|
|
57
|
+
*
|
|
58
|
+
* 与浏览器一致:先解 `x(t) = 输入进度` 得到参数 t,再取 `y(t)`。
|
|
59
|
+
* 用牛顿迭代,斜率过小时退化为二分——退化控制点(比如 (0,0,1,1))也稳定。
|
|
60
|
+
*/
|
|
61
|
+
export declare function cubicBezier(x1: number, y1: number, x2: number, y2: number): EasingFn;
|
|
62
|
+
/**
|
|
63
|
+
* 阶梯曲线。
|
|
64
|
+
*
|
|
65
|
+
* @param count 档数
|
|
66
|
+
* @param position 'end' 表示「走完一档才跳」,'start' 表示「一进档就跳」
|
|
67
|
+
*/
|
|
68
|
+
export declare function steps(count: number, position?: 'start' | 'end'): EasingFn;
|
|
69
|
+
export {};
|
|
70
|
+
//# sourceMappingURL=easing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"easing.d.ts","sourceRoot":"","sources":["../../src/anim/easing.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;AAY7C,iBAAS,SAAS,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAYpC;AAED,iBAAS,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAEnC;AAID,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DwB,CAAC;AAErC,kCAAkC;AAClC,eAAO,MAAM,YAAY,EAA0B,UAAU,EAAE,CAAC;AAEhE,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,MAAM,CAAC;AAE7C,8CAA8C;AAC9C,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAK5D;AAsBD;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,QAAQ,CAgCpF;AAID;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,GAAE,OAAO,GAAG,KAAa,GAAG,QAAQ,CAOhF"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 缓动曲线库
|
|
3
|
+
*
|
|
4
|
+
* 纯函数,不依赖 three / DOM,可以单独在 Worker 或 Node 里跑。
|
|
5
|
+
*
|
|
6
|
+
* 三类:
|
|
7
|
+
* 1. 命名曲线 —— CSS 那套 easeIn/Out/InOut × Quad…Bounce,覆盖 90% 场景
|
|
8
|
+
* 2. cubicBezier(x1,y1,x2,y2) —— 与 CSS `cubic-bezier()` 数值对齐,用来做产品级调校
|
|
9
|
+
* 3. steps(n, position) —— 离散跳变,做逐帧动画或「咔哒」感
|
|
10
|
+
*
|
|
11
|
+
* spring 不在这里:它没有「时长」概念,靠物理收敛,所以实现为 Animator 里的一种
|
|
12
|
+
* Track 类型,而不是 (t) => number 的曲线。
|
|
13
|
+
*/
|
|
14
|
+
/* ------------------------------------------------------------------ 基础 */
|
|
15
|
+
const c1 = 1.70158;
|
|
16
|
+
const c2 = c1 * 1.525;
|
|
17
|
+
const c3 = c1 + 1;
|
|
18
|
+
const c4 = (2 * Math.PI) / 3;
|
|
19
|
+
const c5 = (2 * Math.PI) / 4.5;
|
|
20
|
+
const n1 = 7.5625;
|
|
21
|
+
const d1 = 2.75;
|
|
22
|
+
function outBounce(t) {
|
|
23
|
+
if (t < 1 / d1)
|
|
24
|
+
return n1 * t * t;
|
|
25
|
+
if (t < 2 / d1) {
|
|
26
|
+
const x = t - 1.5 / d1;
|
|
27
|
+
return n1 * x * x + 0.75;
|
|
28
|
+
}
|
|
29
|
+
if (t < 2.5 / d1) {
|
|
30
|
+
const x = t - 2.25 / d1;
|
|
31
|
+
return n1 * x * x + 0.9375;
|
|
32
|
+
}
|
|
33
|
+
const x = t - 2.625 / d1;
|
|
34
|
+
return n1 * x * x + 0.984375;
|
|
35
|
+
}
|
|
36
|
+
function inBounce(t) {
|
|
37
|
+
return 1 - outBounce(1 - t);
|
|
38
|
+
}
|
|
39
|
+
/* ------------------------------------------------------------------ 曲线表 */
|
|
40
|
+
const CURVES = {
|
|
41
|
+
linear: (t) => t,
|
|
42
|
+
easeInQuad: (t) => t * t,
|
|
43
|
+
easeOutQuad: (t) => 1 - (1 - t) * (1 - t),
|
|
44
|
+
easeInOutQuad: (t) => (t < 0.5 ? 2 * t * t : 1 - Math.pow(-2 * t + 2, 2) / 2),
|
|
45
|
+
easeInCubic: (t) => t * t * t,
|
|
46
|
+
easeOutCubic: (t) => 1 - Math.pow(1 - t, 3),
|
|
47
|
+
easeInOutCubic: (t) => (t < 0.5 ? 4 * t * t * t : 1 - Math.pow(-2 * t + 2, 3) / 2),
|
|
48
|
+
easeInQuart: (t) => t * t * t * t,
|
|
49
|
+
easeOutQuart: (t) => 1 - Math.pow(1 - t, 4),
|
|
50
|
+
easeInOutQuart: (t) => (t < 0.5 ? 8 * t * t * t * t : 1 - Math.pow(-2 * t + 2, 4) / 2),
|
|
51
|
+
easeInQuint: (t) => t * t * t * t * t,
|
|
52
|
+
easeOutQuint: (t) => 1 - Math.pow(1 - t, 5),
|
|
53
|
+
easeInOutQuint: (t) => (t < 0.5 ? 16 * t * t * t * t * t : 1 - Math.pow(-2 * t + 2, 5) / 2),
|
|
54
|
+
easeInSine: (t) => 1 - Math.cos((t * Math.PI) / 2),
|
|
55
|
+
easeOutSine: (t) => Math.sin((t * Math.PI) / 2),
|
|
56
|
+
easeInOutSine: (t) => -(Math.cos(Math.PI * t) - 1) / 2,
|
|
57
|
+
easeInExpo: (t) => (t === 0 ? 0 : Math.pow(2, 10 * t - 10)),
|
|
58
|
+
easeOutExpo: (t) => (t === 1 ? 1 : 1 - Math.pow(2, -10 * t)),
|
|
59
|
+
easeInOutExpo: (t) => t === 0 ? 0 : t === 1 ? 1 : t < 0.5 ? Math.pow(2, 20 * t - 10) / 2 : (2 - Math.pow(2, -20 * t + 10)) / 2,
|
|
60
|
+
easeInCirc: (t) => 1 - Math.sqrt(1 - t * t),
|
|
61
|
+
easeOutCirc: (t) => Math.sqrt(1 - Math.pow(t - 1, 2)),
|
|
62
|
+
easeInOutCirc: (t) => t < 0.5
|
|
63
|
+
? (1 - Math.sqrt(1 - Math.pow(2 * t, 2))) / 2
|
|
64
|
+
: (Math.sqrt(1 - Math.pow(-2 * t + 2, 2)) + 1) / 2,
|
|
65
|
+
easeInBack: (t) => c3 * t * t * t - c1 * t * t,
|
|
66
|
+
easeOutBack: (t) => 1 + c3 * Math.pow(t - 1, 3) + c1 * Math.pow(t - 1, 2),
|
|
67
|
+
easeInOutBack: (t) => t < 0.5
|
|
68
|
+
? (Math.pow(2 * t, 2) * ((c2 + 1) * 2 * t - c2)) / 2
|
|
69
|
+
: (Math.pow(2 * t - 2, 2) * ((c2 + 1) * (t * 2 - 2) + c2) + 2) / 2,
|
|
70
|
+
easeInElastic: (t) => t === 0 ? 0 : t === 1 ? 1 : -Math.pow(2, 10 * t - 10) * Math.sin((t * 10 - 10.75) * c4),
|
|
71
|
+
easeOutElastic: (t) => t === 0 ? 0 : t === 1 ? 1 : Math.pow(2, -10 * t) * Math.sin((t * 10 - 0.75) * c4) + 1,
|
|
72
|
+
easeInOutElastic: (t) => t === 0
|
|
73
|
+
? 0
|
|
74
|
+
: t === 1
|
|
75
|
+
? 1
|
|
76
|
+
: t < 0.5
|
|
77
|
+
? -(Math.pow(2, 20 * t - 10) * Math.sin((20 * t - 11.125) * c5)) / 2
|
|
78
|
+
: (Math.pow(2, -20 * t + 10) * Math.sin((20 * t - 11.125) * c5)) / 2 + 1,
|
|
79
|
+
easeInBounce: inBounce,
|
|
80
|
+
easeOutBounce: outBounce,
|
|
81
|
+
easeInOutBounce: (t) => (t < 0.5 ? (1 - inBounce(1 - 2 * t)) / 2 : (1 + inBounce(2 * t - 1)) / 2),
|
|
82
|
+
};
|
|
83
|
+
/** 全部内置曲线名(顺序稳定,方便做下拉框 / 遍历自检) */
|
|
84
|
+
export const EASING_NAMES = Object.keys(CURVES);
|
|
85
|
+
/** 按名字取曲线;名字不存在直接抛错,不做静默降级(拼错会变成「没动画」,很难查) */
|
|
86
|
+
export function easing(name) {
|
|
87
|
+
if (typeof name === 'function')
|
|
88
|
+
return name;
|
|
89
|
+
const fn = CURVES[name];
|
|
90
|
+
if (!fn)
|
|
91
|
+
throw new Error(`[s3m] 未知的缓动曲线: ${String(name)}`);
|
|
92
|
+
return fn;
|
|
93
|
+
}
|
|
94
|
+
/* ------------------------------------------------------------------ 贝塞尔 */
|
|
95
|
+
const NEWTON_ITERATIONS = 8;
|
|
96
|
+
const NEWTON_MIN_SLOPE = 0.001;
|
|
97
|
+
const SUBDIVISION_PRECISION = 1e-7;
|
|
98
|
+
const SUBDIVISION_MAX_ITERATIONS = 12;
|
|
99
|
+
const bezA = (a1, a2) => 1 - 3 * a2 + 3 * a1;
|
|
100
|
+
const bezB = (a1, a2) => 3 * a2 - 6 * a1;
|
|
101
|
+
const bezC = (a1) => 3 * a1;
|
|
102
|
+
/** 三次贝塞尔在参数 t 处的值(x 或 y 用同一组公式,只是控制点不同) */
|
|
103
|
+
function bezierAt(t, a1, a2) {
|
|
104
|
+
return ((bezA(a1, a2) * t + bezB(a1, a2)) * t + bezC(a1)) * t;
|
|
105
|
+
}
|
|
106
|
+
function bezierSlope(t, a1, a2) {
|
|
107
|
+
return 3 * bezA(a1, a2) * t * t + 2 * bezB(a1, a2) * t + bezC(a1);
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* CSS `cubic-bezier(x1, y1, x2, y2)` 的等价实现。
|
|
111
|
+
*
|
|
112
|
+
* 与浏览器一致:先解 `x(t) = 输入进度` 得到参数 t,再取 `y(t)`。
|
|
113
|
+
* 用牛顿迭代,斜率过小时退化为二分——退化控制点(比如 (0,0,1,1))也稳定。
|
|
114
|
+
*/
|
|
115
|
+
export function cubicBezier(x1, y1, x2, y2) {
|
|
116
|
+
// 线性特例:控制点落在对角线上时不必迭代
|
|
117
|
+
if (x1 === y1 && x2 === y2)
|
|
118
|
+
return (t) => t;
|
|
119
|
+
const solveT = (x) => {
|
|
120
|
+
let t = x;
|
|
121
|
+
for (let i = 0; i < NEWTON_ITERATIONS; i++) {
|
|
122
|
+
const slope = bezierSlope(t, x1, x2);
|
|
123
|
+
if (Math.abs(slope) < NEWTON_MIN_SLOPE)
|
|
124
|
+
break;
|
|
125
|
+
const err = bezierAt(t, x1, x2) - x;
|
|
126
|
+
if (Math.abs(err) < SUBDIVISION_PRECISION)
|
|
127
|
+
return t;
|
|
128
|
+
t -= err / slope;
|
|
129
|
+
}
|
|
130
|
+
// 牛顿不收敛:二分兜底
|
|
131
|
+
let lo = 0;
|
|
132
|
+
let hi = 1;
|
|
133
|
+
t = x;
|
|
134
|
+
for (let i = 0; i < SUBDIVISION_MAX_ITERATIONS; i++) {
|
|
135
|
+
const v = bezierAt(t, x1, x2);
|
|
136
|
+
if (Math.abs(v - x) < SUBDIVISION_PRECISION)
|
|
137
|
+
return t;
|
|
138
|
+
if (v < x)
|
|
139
|
+
lo = t;
|
|
140
|
+
else
|
|
141
|
+
hi = t;
|
|
142
|
+
t = (lo + hi) / 2;
|
|
143
|
+
}
|
|
144
|
+
return t;
|
|
145
|
+
};
|
|
146
|
+
return (t) => {
|
|
147
|
+
if (t <= 0)
|
|
148
|
+
return 0;
|
|
149
|
+
if (t >= 1)
|
|
150
|
+
return 1;
|
|
151
|
+
return bezierAt(solveT(t), y1, y2);
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
/* ------------------------------------------------------------------ 离散 */
|
|
155
|
+
/**
|
|
156
|
+
* 阶梯曲线。
|
|
157
|
+
*
|
|
158
|
+
* @param count 档数
|
|
159
|
+
* @param position 'end' 表示「走完一档才跳」,'start' 表示「一进档就跳」
|
|
160
|
+
*/
|
|
161
|
+
export function steps(count, position = 'end') {
|
|
162
|
+
const n = Math.max(1, Math.floor(count));
|
|
163
|
+
return (t) => {
|
|
164
|
+
const clamped = Math.min(1, Math.max(0, t));
|
|
165
|
+
if (position === 'start')
|
|
166
|
+
return Math.min(1, (Math.floor(clamped * n) + 1) / n);
|
|
167
|
+
return Math.min(1, Math.floor(clamped * n) / n);
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=easing.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"easing.js","sourceRoot":"","sources":["../../src/anim/easing.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { Animator } from './Animator.js';
|
|
2
|
+
export type { Channel, SpringSpec, TransitionOptions } from './Animator.js';
|
|
3
|
+
export { Path } from './Path.js';
|
|
4
|
+
export { easing, cubicBezier, steps, EASING_NAMES, } from './easing.js';
|
|
5
|
+
export type { EasingFn, EasingName } from './easing.js';
|
|
6
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/anim/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,YAAY,EAAE,OAAO,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,MAAM,EACN,WAAW,EACX,KAAK,EACL,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/anim/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EACL,MAAM,EACN,WAAW,EACX,KAAK,EACL,YAAY,GACb,MAAM,aAAa,CAAC"}
|