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.
Files changed (92) hide show
  1. package/dist/anim/Animator.d.ts +111 -0
  2. package/dist/anim/Animator.d.ts.map +1 -0
  3. package/dist/anim/Animator.js +382 -0
  4. package/dist/anim/Animator.js.map +1 -0
  5. package/dist/anim/Path.d.ts +30 -0
  6. package/dist/anim/Path.d.ts.map +1 -0
  7. package/dist/anim/Path.js +100 -0
  8. package/dist/anim/Path.js.map +1 -0
  9. package/dist/anim/easing.d.ts +70 -0
  10. package/dist/anim/easing.d.ts.map +1 -0
  11. package/dist/anim/easing.js +170 -0
  12. package/dist/anim/easing.js.map +1 -0
  13. package/dist/anim/index.d.ts +6 -0
  14. package/dist/anim/index.d.ts.map +1 -0
  15. package/dist/anim/index.js +4 -0
  16. package/dist/anim/index.js.map +1 -0
  17. package/dist/browser/assets/{s3mWorker-hZY5KqWF.js → s3mWorker-D7AV6O30.js} +1 -1
  18. package/dist/browser/s3m-three.iife.ext-three.js +60 -22
  19. package/dist/browser/s3m-three.iife.js +60 -22
  20. package/dist/core/TextureDecode.d.ts +22 -1
  21. package/dist/core/TextureDecode.d.ts.map +1 -1
  22. package/dist/core/TextureDecode.js +47 -3
  23. package/dist/core/TextureDecode.js.map +1 -1
  24. package/dist/core/TileGeometry.d.ts +92 -0
  25. package/dist/core/TileGeometry.d.ts.map +1 -0
  26. package/dist/core/TileGeometry.js +607 -0
  27. package/dist/core/TileGeometry.js.map +1 -0
  28. package/dist/core/types.d.ts +16 -0
  29. package/dist/core/types.d.ts.map +1 -1
  30. package/dist/index.d.ts +3 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +1 -0
  33. package/dist/index.js.map +1 -1
  34. package/dist/render/EdgeLines.d.ts +62 -14
  35. package/dist/render/EdgeLines.d.ts.map +1 -1
  36. package/dist/render/EdgeLines.js +97 -8
  37. package/dist/render/EdgeLines.js.map +1 -1
  38. package/dist/render/FeatureStyleManager.d.ts +17 -1
  39. package/dist/render/FeatureStyleManager.d.ts.map +1 -1
  40. package/dist/render/FeatureStyleManager.js +14 -4
  41. package/dist/render/FeatureStyleManager.js.map +1 -1
  42. package/dist/render/GeometryBuilder.d.ts +8 -10
  43. package/dist/render/GeometryBuilder.d.ts.map +1 -1
  44. package/dist/render/GeometryBuilder.js +77 -555
  45. package/dist/render/GeometryBuilder.js.map +1 -1
  46. package/dist/render/MergeVertices.d.ts +7 -0
  47. package/dist/render/MergeVertices.d.ts.map +1 -1
  48. package/dist/render/MergeVertices.js +10 -1
  49. package/dist/render/MergeVertices.js.map +1 -1
  50. package/dist/render/S3MViewer.d.ts +218 -9
  51. package/dist/render/S3MViewer.d.ts.map +1 -1
  52. package/dist/render/S3MViewer.js +772 -68
  53. package/dist/render/S3MViewer.js.map +1 -1
  54. package/dist/render/StyleMaterial.d.ts +19 -0
  55. package/dist/render/StyleMaterial.d.ts.map +1 -1
  56. package/dist/render/StyleMaterial.js +37 -0
  57. package/dist/render/StyleMaterial.js.map +1 -1
  58. package/dist/render/TextureFactory.d.ts +2 -1
  59. package/dist/render/TextureFactory.d.ts.map +1 -1
  60. package/dist/render/TextureFactory.js +30 -6
  61. package/dist/render/TextureFactory.js.map +1 -1
  62. package/dist/tileset/S3MTileset.d.ts +6 -2
  63. package/dist/tileset/S3MTileset.d.ts.map +1 -1
  64. package/dist/tileset/S3MTileset.js +17 -7
  65. package/dist/tileset/S3MTileset.js.map +1 -1
  66. package/dist/worker/S3MWorkerClient.d.ts +12 -4
  67. package/dist/worker/S3MWorkerClient.d.ts.map +1 -1
  68. package/dist/worker/S3MWorkerClient.js +12 -8
  69. package/dist/worker/S3MWorkerClient.js.map +1 -1
  70. package/dist/worker/s3mWorker.js +11 -3
  71. package/dist/worker/s3mWorker.js.map +1 -1
  72. package/docs/ANIMATION.md +534 -0
  73. package/docs/API.md +4 -0
  74. package/package.json +1 -1
  75. package/src/anim/Animator.ts +460 -0
  76. package/src/anim/Path.ts +107 -0
  77. package/src/anim/easing.ts +195 -0
  78. package/src/anim/index.ts +10 -0
  79. package/src/core/TextureDecode.ts +69 -3
  80. package/src/core/TileGeometry.ts +745 -0
  81. package/src/core/types.ts +8 -0
  82. package/src/index.ts +10 -0
  83. package/src/render/EdgeLines.ts +131 -15
  84. package/src/render/FeatureStyleManager.ts +12 -4
  85. package/src/render/GeometryBuilder.ts +91 -617
  86. package/src/render/MergeVertices.ts +11 -1
  87. package/src/render/S3MViewer.ts +866 -67
  88. package/src/render/StyleMaterial.ts +54 -1
  89. package/src/render/TextureFactory.ts +42 -8
  90. package/src/tileset/S3MTileset.ts +25 -9
  91. package/src/worker/S3MWorkerClient.ts +18 -9
  92. 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,4 @@
1
+ export { Animator } from './Animator.js';
2
+ export { Path } from './Path.js';
3
+ export { easing, cubicBezier, steps, EASING_NAMES, } from './easing.js';
4
+ //# sourceMappingURL=index.js.map
@@ -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"}