@woosh/meep-engine 2.110.4 → 2.110.6

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 (83) hide show
  1. package/build/meep.cjs +117 -111
  2. package/build/meep.min.js +1 -1
  3. package/build/meep.module.js +118 -109
  4. package/package.json +1 -1
  5. package/src/core/events/signal/Signal.d.ts.map +1 -1
  6. package/src/core/events/signal/Signal.js +3 -98
  7. package/src/core/events/signal/dispatchViaProxy.d.ts +7 -0
  8. package/src/core/events/signal/dispatchViaProxy.d.ts.map +1 -0
  9. package/src/core/events/signal/dispatchViaProxy.js +60 -0
  10. package/src/core/events/signal/findSignalHandlerIndexByHandle.d.ts +9 -0
  11. package/src/core/events/signal/findSignalHandlerIndexByHandle.d.ts.map +1 -0
  12. package/src/core/events/signal/findSignalHandlerIndexByHandle.js +26 -0
  13. package/src/core/events/signal/findSignalHandlerIndexByHandleAndContext.d.ts +9 -0
  14. package/src/core/events/signal/findSignalHandlerIndexByHandleAndContext.d.ts.map +1 -0
  15. package/src/core/events/signal/findSignalHandlerIndexByHandleAndContext.js +21 -0
  16. package/src/core/fsm/simple/SimpleStateMachine.d.ts.map +1 -1
  17. package/src/core/fsm/simple/SimpleStateMachine.js +2 -1
  18. package/src/core/geom/3d/normal/octahedron/encode_unit_to_octahedron.d.ts +2 -2
  19. package/src/core/geom/3d/normal/octahedron/encode_unit_to_octahedron.d.ts.map +1 -1
  20. package/src/core/geom/3d/normal/octahedron/encode_unit_to_octahedron.js +1 -1
  21. package/src/core/geom/3d/sphere/sphere_fibonacci_point.d.ts +18 -0
  22. package/src/core/geom/3d/sphere/sphere_fibonacci_point.d.ts.map +1 -0
  23. package/src/core/geom/3d/sphere/sphere_fibonacci_point.js +51 -0
  24. package/src/engine/animation/clip/AnimationClip.d.ts.map +1 -1
  25. package/src/engine/animation/clip/AnimationClip.js +4 -0
  26. package/src/engine/animation/clip/AnimationInterpolationKind.d.ts +7 -0
  27. package/src/engine/animation/clip/AnimationInterpolationKind.d.ts.map +1 -0
  28. package/src/engine/animation/clip/AnimationInterpolationKind.js +9 -0
  29. package/src/engine/animation/clip/AnimationTrack.d.ts +12 -0
  30. package/src/engine/animation/clip/AnimationTrack.d.ts.map +1 -1
  31. package/src/engine/animation/clip/AnimationTrack.js +20 -1
  32. package/src/engine/animation/clip/AnimationTrackBinding.d.ts.map +1 -1
  33. package/src/engine/animation/clip/AnimationTrackBinding.js +12 -0
  34. package/src/engine/animation/clip/bind_property_writer.d.ts +9 -0
  35. package/src/engine/animation/clip/bind_property_writer.d.ts.map +1 -0
  36. package/src/engine/animation/clip/bind_property_writer.js +118 -0
  37. package/src/engine/animation/clip/curve_from_track_data.d.ts +12 -0
  38. package/src/engine/animation/clip/curve_from_track_data.d.ts.map +1 -0
  39. package/src/engine/animation/clip/curve_from_track_data.js +27 -0
  40. package/src/engine/animation/clip/curve_from_track_data_cubic_tangents.d.ts +10 -0
  41. package/src/engine/animation/clip/curve_from_track_data_cubic_tangents.d.ts.map +1 -0
  42. package/src/engine/animation/clip/curve_from_track_data_cubic_tangents.js +33 -0
  43. package/src/engine/animation/clip/curve_from_track_data_discrete.d.ts +10 -0
  44. package/src/engine/animation/clip/curve_from_track_data_discrete.d.ts.map +1 -0
  45. package/src/engine/animation/clip/curve_from_track_data_discrete.js +30 -0
  46. package/src/engine/animation/clip/curve_from_track_data_linear.d.ts +10 -0
  47. package/src/engine/animation/clip/curve_from_track_data_linear.d.ts.map +1 -0
  48. package/src/engine/animation/clip/curve_from_track_data_linear.js +25 -0
  49. package/src/engine/animation/clip/ecd_bind_animation_curve.d.ts.map +1 -1
  50. package/src/engine/animation/clip/ecd_bind_animation_curve.js +14 -239
  51. package/src/engine/animation/curve/AnimationCurve.d.ts +17 -17
  52. package/src/engine/animation/curve/AnimationCurve.d.ts.map +1 -1
  53. package/src/engine/animation/curve/AnimationCurve.js +30 -20
  54. package/src/engine/animation/curve/Keyframe.d.ts +5 -0
  55. package/src/engine/animation/curve/Keyframe.d.ts.map +1 -1
  56. package/src/engine/animation/curve/Keyframe.js +6 -0
  57. package/src/engine/animation/curve/binding/BoundValueWriter.d.ts +7 -0
  58. package/src/engine/animation/curve/binding/BoundValueWriter.d.ts.map +1 -1
  59. package/src/engine/animation/curve/binding/BoundValueWriter.js +9 -1
  60. package/src/engine/animation/curve/compute_curve_aabb.d.ts +1 -1
  61. package/src/engine/animation/curve/compute_curve_aabb.js +1 -1
  62. package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
  63. package/src/engine/ecs/EntityComponentDataset.js +9 -7
  64. package/src/engine/ecs/components/Tag.d.ts +2 -0
  65. package/src/engine/ecs/parent/EntityNode.d.ts.map +1 -1
  66. package/src/engine/ecs/parent/EntityNode.js +2 -1
  67. package/src/engine/graphics/geometry/buffered/makeGeometryIndexed.d.ts +2 -1
  68. package/src/engine/graphics/geometry/buffered/makeGeometryIndexed.d.ts.map +1 -1
  69. package/src/engine/graphics/geometry/buffered/makeGeometryIndexed.js +4 -1
  70. package/src/engine/graphics/sh3/gi/material/common.glsl +3 -3
  71. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.d.ts.map +1 -1
  72. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.js +4 -3
  73. package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map.d.ts +2 -1
  74. package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map.d.ts.map +1 -1
  75. package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map.js +6 -30
  76. package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map_fibonacci.d.ts +13 -0
  77. package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map_fibonacci.d.ts.map +1 -0
  78. package/src/engine/graphics/sh3/lpv/depth/octahedral/bake_octahedral_depth_map_fibonacci.js +163 -0
  79. package/src/engine/graphics/sh3/prototypeSH3Probe.js +2 -2
  80. package/src/engine/graphics/trail/x/RibbonXMaterialSpec.d.ts.map +1 -1
  81. package/src/engine/graphics/trail/x/RibbonXMaterialSpec.js +10 -2
  82. package/src/engine/graphics/trail/x/RibbonXPlugin.d.ts.map +1 -1
  83. package/src/engine/graphics/trail/x/RibbonXPlugin.js +7 -5
@@ -1,136 +1,14 @@
1
- import Name from "../../ecs/name/Name.js";
2
1
  import { logger } from "../../logging/GlobalLogger.js";
3
2
  import { AnimationCurve } from "../curve/AnimationCurve.js";
4
- import { BoundQuaternionWriter } from "../curve/binding/BoundQuaternionWriter.js";
5
- import { BoundValueWriter } from "../curve/binding/BoundValueWriter.js";
6
- import { BoundVector3Writer } from "../curve/binding/BoundVector3Writer.js";
7
- import { Keyframe } from "../curve/Keyframe.js";
8
3
  import { AnimationClip } from "./AnimationClip.js";
9
4
  import { AnimationClipBinding } from "./AnimationClipBinding.js";
5
+ import { AnimationInterpolationKind } from "./AnimationInterpolationKind.js";
10
6
  import { AnimationTrack } from "./AnimationTrack.js";
11
7
  import { AnimationTrackBinding } from "./AnimationTrackBinding.js";
8
+ import { bind_property_writer } from "./bind_property_writer.js";
9
+ import { curve_from_track_data } from "./curve_from_track_data.js";
12
10
 
13
11
 
14
- /**
15
- *
16
- * @param {EntityNode} node
17
- * @returns {string|undefined}
18
- */
19
- function get_node_name(node) {
20
- /**
21
- * @type {Name}
22
- */
23
- const name = node.entity.getComponent(Name);
24
-
25
- if (name === null) {
26
- return undefined;
27
- }
28
-
29
- return name.getValue();
30
- }
31
-
32
- /**
33
- * Following THREE.js PropertyBinding.findNode implementation
34
- * @param {EntityNode} root
35
- * @param {string} nodeName
36
- * @returns {EntityNode|undefined}
37
- */
38
- function find_node(root, nodeName) {
39
-
40
- const root_name = get_node_name(root);
41
-
42
- if (root_name === nodeName) {
43
- return root;
44
- }
45
-
46
- // search into node subtree.
47
- const children = root.children;
48
-
49
- const child_count = children.length;
50
-
51
-
52
- for (let j = 0; j < child_count; j++) {
53
- /**
54
- * @type {EntityNode}
55
- */
56
- const child = children[j];
57
-
58
- const subtree_result = find_node(child, nodeName);
59
-
60
- if (subtree_result !== undefined) {
61
- return subtree_result;
62
- }
63
- }
64
- }
65
-
66
- /**
67
- *
68
- * @param {EntityNode} root
69
- * @param {string[]} path_parts
70
- */
71
- function entity_node_resolve_path(root, path_parts) {
72
-
73
- let node = root;
74
-
75
- const part_count = path_parts.length;
76
- for (let i = 0; i < part_count; i++) {
77
-
78
- const part = path_parts[i];
79
-
80
- const sub_node = find_node(node, part);
81
-
82
- if (sub_node === undefined) {
83
-
84
- throw new Error(`Child '${part}' not found, at index ${i} of [${path_parts.join(', ')}]. Valid names at this level: [${node.children.map(get_node_name)}]`);
85
-
86
- }
87
-
88
- node = sub_node;
89
- }
90
-
91
- return node;
92
- }
93
-
94
- /**
95
- *
96
- * @param {EntityNode} node
97
- * @param {string} path
98
- * @returns {BoundValueWriter}
99
- */
100
- function bind_property_writer(node, path) {
101
- const path_parts = path.split('.');
102
-
103
- const property_name = path_parts[path_parts.length - 1];
104
-
105
- const parent = entity_node_resolve_path(node, path_parts.slice(0, path_parts.length - 1));
106
-
107
- let writer;
108
-
109
- switch (property_name) {
110
- case "position":
111
- writer = new BoundVector3Writer(parent.transform.position);
112
- break;
113
- case "quaternion":
114
- writer = new BoundQuaternionWriter(parent.transform.rotation);
115
- break;
116
- case "scale":
117
- writer = new BoundVector3Writer(parent.transform.scale);
118
- break;
119
- default:
120
- console.log(`Unsupported property name: ${property_name}`);
121
- // NO-OP
122
- writer = new BoundValueWriter();
123
- }
124
-
125
- return writer;
126
- }
127
-
128
- const INTERPOLATION = {
129
- DISCRETE: 0,
130
- LINEAR: 1,
131
- CUBIC_TANGENTS: 2
132
- };
133
-
134
12
  /**
135
13
  *
136
14
  * @param {THREE.KeyframeTrack} track
@@ -140,22 +18,22 @@ function track_to_interpolation(track) {
140
18
 
141
19
  switch (name) {
142
20
  case "InterpolantFactoryMethodDiscrete":
143
- return INTERPOLATION.DISCRETE;
21
+ return AnimationInterpolationKind.Discrete;
144
22
  case "InterpolantFactoryMethodLinear":
145
- return INTERPOLATION.LINEAR;
23
+ return AnimationInterpolationKind.Linear;
146
24
  case "InterpolantFactoryMethodGLTFCubicSpline":
147
- return INTERPOLATION.CUBIC_TANGENTS;
25
+ return AnimationInterpolationKind.CubicTangents;
148
26
 
149
27
  default:
150
28
 
151
29
  if (track.createInterpolant.isInterpolantFactoryMethodGLTFCubicSpline === true) {
152
30
  // second attempt
153
- return INTERPOLATION.CUBIC_TANGENTS;
31
+ return AnimationInterpolationKind.CubicTangents;
154
32
  }
155
33
 
156
34
  // unsupported, default to linear
157
35
  console.warn(`Unsupported interpolation type, defaulting to linear`);
158
- return INTERPOLATION.LINEAR;
36
+ return AnimationInterpolationKind.Linear;
159
37
  }
160
38
  }
161
39
 
@@ -171,6 +49,10 @@ function convert_three_track_to_curves(track) {
171
49
 
172
50
  const key_count = times.length;
173
51
 
52
+ /**
53
+ *
54
+ * @type {AnimationCurve[]}
55
+ */
174
56
  const curves = [];
175
57
 
176
58
  // figure out interpolation type
@@ -178,13 +60,13 @@ function convert_three_track_to_curves(track) {
178
60
 
179
61
  const values_per_key = values.length / key_count;
180
62
 
181
- const component_count = interpolation === INTERPOLATION.CUBIC_TANGENTS ? values_per_key / 3 : values_per_key;
63
+ const component_count = interpolation === AnimationInterpolationKind.CubicTangents ? values_per_key / 3 : values_per_key;
182
64
 
183
65
  for (let component_index = 0; component_index < component_count; component_index++) {
184
66
 
185
67
  const curve = new AnimationCurve();
186
68
 
187
- component_curve_from_track(
69
+ curve_from_track_data(
188
70
  curve,
189
71
  interpolation,
190
72
  values,
@@ -199,113 +81,6 @@ function convert_three_track_to_curves(track) {
199
81
  return curves;
200
82
  }
201
83
 
202
- /**
203
- *
204
- * @param {AnimationCurve} curve
205
- * @param {number[]} values
206
- * @param {number[]} times
207
- * @param {number} component_count
208
- * @param {number} component_index
209
- */
210
- function curve_from_track_linear(curve, values, times, component_count, component_index) {
211
-
212
- const key_count = times.length;
213
-
214
- for (let k = 0; k < key_count; k++) {
215
- const value = values[k * component_count + component_index];
216
- const time = times[k];
217
-
218
- curve.add(Keyframe.from(time, value));
219
- }
220
-
221
- for (let k = 0; k < key_count; k++) {
222
- curve.alignTangents(k);
223
- }
224
- }
225
-
226
- /**
227
- *
228
- * @param {AnimationCurve} curve
229
- * @param {number[]} values
230
- * @param {number[]} times
231
- * @param {number} component_count
232
- * @param {number} component_index
233
- */
234
- function curve_from_track_discrete(curve, values, times, component_count, component_index) {
235
-
236
- const key_count = times.length;
237
-
238
- for (let k = 0; k < key_count; k++) {
239
- const value = values[k * component_count + component_index];
240
- const time = times[k];
241
-
242
- curve.add(Keyframe.from(time, value));
243
- }
244
-
245
- const keys = curve.keys;
246
-
247
- for (let i = key_count - 1; i > 0; i--) {
248
- const key = keys[i];
249
- const prev = keys[i - 1];
250
-
251
- keys.splice(i, 0, Keyframe.from(key.time, prev.value));
252
- }
253
- }
254
-
255
- /**
256
- *
257
- * @param {AnimationCurve} curve
258
- * @param {number[]} values
259
- * @param {number[]} times
260
- * @param {number} component_count
261
- * @param {number} component_index
262
- */
263
- function curve_from_track_cubic_gltf(curve, values, times, component_count, component_index) {
264
-
265
- const key_count = times.length;
266
-
267
- for (let k = 0; k < key_count; k++) {
268
- const component_position = k * component_count;
269
-
270
- const base_offset = 3 * component_position;
271
-
272
- // Layout of keyframe output values for CUBICSPLINE animations:
273
- // [ inTangent_1, splineVertex_1, outTangent_1, inTangent_2, splineVertex_2, ... ]
274
-
275
- const inTangent = values[base_offset + component_index];
276
- const value = values[base_offset + component_count + component_index];
277
- const outTangent = values[base_offset + component_count * 2 + component_index];
278
-
279
- const time = times[k];
280
-
281
- curve.add(Keyframe.from(time, value, inTangent, outTangent));
282
- }
283
-
284
- }
285
-
286
-
287
- /**
288
- *
289
- * @param {AnimationCurve} curve
290
- * @param {INTERPOLATION} type
291
- * @param {number[]} values
292
- * @param {number[]} times
293
- * @param {number} component_count
294
- * @param {number} component_index
295
- */
296
- function component_curve_from_track(curve, type, values, times, component_count, component_index) {
297
- switch (type) {
298
- case INTERPOLATION.DISCRETE:
299
- return curve_from_track_discrete(curve, values, times, component_count, component_index);
300
- case INTERPOLATION.LINEAR:
301
- return curve_from_track_linear(curve, values, times, component_count, component_index);
302
- case INTERPOLATION.CUBIC_TANGENTS:
303
- return curve_from_track_cubic_gltf(curve, values, times, component_count, component_index);
304
- default:
305
- throw new Error(`Unsupported type '${type}'`);
306
- }
307
-
308
- }
309
84
 
310
85
  /**
311
86
  *
@@ -11,30 +11,30 @@ export class AnimationCurve {
11
11
  static from(keys: Keyframe[]): AnimationCurve;
12
12
  /**
13
13
  *
14
- * @param {number} timeStart
15
- * @param {number} valueStart
16
- * @param {number} timeEnd
17
- * @param {number} valueEnd
14
+ * @param {number} [timeStart]
15
+ * @param {number} [valueStart]
16
+ * @param {number} [timeEnd]
17
+ * @param {number} [valueEnd]
18
18
  * @return {AnimationCurve}
19
19
  */
20
- static easeInOut(timeStart: number, valueStart: number, timeEnd: number, valueEnd: number): AnimationCurve;
20
+ static easeInOut(timeStart?: number, valueStart?: number, timeEnd?: number, valueEnd?: number): AnimationCurve;
21
21
  /**
22
22
  *
23
- * @param {number} timeStart
24
- * @param {number} timeEnd
25
- * @param {number} value
23
+ * @param {number} [timeStart]
24
+ * @param {number} [timeEnd]
25
+ * @param {number} [value]
26
26
  * @return {AnimationCurve}
27
27
  */
28
- static constant(timeStart: number, timeEnd: number, value: number): AnimationCurve;
28
+ static constant(timeStart?: number, timeEnd?: number, value?: number): AnimationCurve;
29
29
  /**
30
30
  *
31
- * @param {number} timeStart
32
- * @param {number} valueStart
33
- * @param {number} timeEnd
34
- * @param {number} valueEnd
31
+ * @param {number} [timeStart]
32
+ * @param {number} [valueStart]
33
+ * @param {number} [timeEnd]
34
+ * @param {number} [valueEnd]
35
35
  * @return {AnimationCurve}
36
36
  */
37
- static linear(timeStart: number, valueStart: number, timeEnd: number, valueEnd: number): AnimationCurve;
37
+ static linear(timeStart?: number, valueStart?: number, timeEnd?: number, valueEnd?: number): AnimationCurve;
38
38
  /**
39
39
  * @readonly
40
40
  * @type {Keyframe[]}
@@ -43,7 +43,7 @@ export class AnimationCurve {
43
43
  /**
44
44
  *
45
45
  * @param {Keyframe} key
46
- * @returns {number} key index
46
+ * @returns {number} key index where it was inserted at
47
47
  */
48
48
  add(key: Keyframe): number;
49
49
  /**
@@ -73,10 +73,10 @@ export class AnimationCurve {
73
73
  get duration(): number;
74
74
  /**
75
75
  *
76
- * @param {number} t time in seconds
76
+ * @param {number} time time in seconds
77
77
  * @return {number}
78
78
  */
79
- evaluate(t: number): number;
79
+ evaluate(time: number): number;
80
80
  /**
81
81
  * Set tangents of a key to match surrounding keys
82
82
  * @param {number} index index of keyframe
@@ -1 +1 @@
1
- {"version":3,"file":"AnimationCurve.d.ts","sourceRoot":"","sources":["../../../../../src/engine/animation/curve/AnimationCurve.js"],"names":[],"mappings":"AAkBA;;;GAGG;AACH;IAiFI;;;;OAIG;IACH,kBAHW,QAAQ,EAAE,GACR,cAAc,CAU1B;IA6ID;;;;;;;OAOG;IACH,4BANW,MAAM,cACN,MAAM,WACN,MAAM,YACN,MAAM,GACL,cAAc,CAOzB;IAED;;;;;;OAMG;IACH,2BALW,MAAM,WACN,MAAM,SACN,MAAM,GACL,cAAc,CAOzB;IAED;;;;;;;OAOG;IACH,yBANW,MAAM,cACN,MAAM,WACN,MAAM,YACN,MAAM,GACL,cAAc,CASzB;IAtRD;;;OAGG;IACH,eAFU,QAAQ,EAAE,CAEV;IAEV;;;;OAIG;IACH,SAHW,QAAQ,GACN,MAAM,CA+BlB;IAED;;;OAGG;IACH,cAFW,QAAQ,EAAE,QAUpB;IAED;;;;OAIG;IACH,YAHW,QAAQ,GACN,OAAO,CAYnB;IAED;;OAEG;IACH,cAEC;IAiBD;;;OAGG;IACH,qBAEC;IAED;;;OAGG;IACH,uBAUC;IAED;;;;OAIG;IACH,YAHW,MAAM,GACL,MAAM,CAwCjB;IAED;;;OAGG;IACH,qBAFW,MAAM,QAoBhB;IAED;;;;OAIG;IACH,sBAHW,MAAM,UACN,MAAM,QAWhB;IAED,0BAKC;IAED;;MAIC;IAED;;aAeC;CA+CJ;yBAxSwB,eAAe"}
1
+ {"version":3,"file":"AnimationCurve.d.ts","sourceRoot":"","sources":["../../../../../src/engine/animation/curve/AnimationCurve.js"],"names":[],"mappings":"AAkBA;;;GAGG;AACH;IAkFI;;;;OAIG;IACH,kBAHW,QAAQ,EAAE,GACR,cAAc,CAU1B;IAgJD;;;;;;;OAOG;IACH,6BANW,MAAM,eACN,MAAM,YACN,MAAM,aACN,MAAM,GACL,cAAc,CAUzB;IAED;;;;;;OAMG;IACH,4BALW,MAAM,YACN,MAAM,UACN,MAAM,GACL,cAAc,CAOzB;IAED;;;;;;;OAOG;IACH,0BANW,MAAM,eACN,MAAM,YACN,MAAM,aACN,MAAM,GACL,cAAc,CAYzB;IAhSD;;;OAGG;IACH,eAFU,QAAQ,EAAE,CAEV;IAEV;;;;OAIG;IACH,SAHW,QAAQ,GACN,MAAM,CAgClB;IAED;;;OAGG;IACH,cAFW,QAAQ,EAAE,QAUpB;IAED;;;;OAIG;IACH,YAHW,QAAQ,GACN,OAAO,CAYnB;IAED;;OAEG;IACH,cAEC;IAiBD;;;OAGG;IACH,qBAEC;IAED;;;OAGG;IACH,uBAUC;IAED;;;;OAIG;IACH,eAHW,MAAM,GACL,MAAM,CA2CjB;IAED;;;OAGG;IACH,qBAFW,MAAM,QAoBhB;IAED;;;;OAIG;IACH,sBAHW,MAAM,UACN,MAAM,QAWhB;IAED,0BAKC;IAED;;MAIC;IAED;;aAeC;CAqDJ;yBAlTwB,eAAe"}
@@ -30,11 +30,12 @@ export class AnimationCurve {
30
30
  /**
31
31
  *
32
32
  * @param {Keyframe} key
33
- * @returns {number} key index
33
+ * @returns {number} key index where it was inserted at
34
34
  */
35
35
  add(key) {
36
36
  assert.defined(key, 'key');
37
37
  assert.notNull(key, 'key');
38
+ assert.equal(key.isKeyframe, true, 'key.isKeyframe !== true');
38
39
 
39
40
  const keys = this.keys;
40
41
 
@@ -142,12 +143,15 @@ export class AnimationCurve {
142
143
 
143
144
  /**
144
145
  *
145
- * @param {number} t time in seconds
146
+ * @param {number} time time in seconds
146
147
  * @return {number}
147
148
  */
148
- evaluate(t) {
149
+ evaluate(time) {
150
+ assert.isNumber(time, 'time');
151
+
149
152
  const keys = this.keys;
150
153
  const key_count = keys.length;
154
+
151
155
  if (key_count === 0) {
152
156
  return 0;
153
157
  }
@@ -156,7 +160,7 @@ export class AnimationCurve {
156
160
  return keys[0].value;
157
161
  }
158
162
 
159
- if (t <= keys[0].time) {
163
+ if (time <= keys[0].time) {
160
164
  // before start
161
165
  return keys[0].value;
162
166
  }
@@ -164,11 +168,11 @@ export class AnimationCurve {
164
168
  for (let i = 1; i < key_count; i++) {
165
169
  const keyframe1 = keys[i];
166
170
 
167
- if (t < keyframe1.time) {
171
+ if (time < keyframe1.time) {
168
172
  const keyframe0 = keys[i - 1];
169
173
 
170
174
  // convert to 0..1 region
171
- const normalized_time = inverseLerp(keyframe0.time, keyframe1.time, t);
175
+ const normalized_time = inverseLerp(keyframe0.time, keyframe1.time, time);
172
176
 
173
177
  const time_distance = keyframe1.time - keyframe0.time;
174
178
 
@@ -257,13 +261,16 @@ export class AnimationCurve {
257
261
 
258
262
  /**
259
263
  *
260
- * @param {number} timeStart
261
- * @param {number} valueStart
262
- * @param {number} timeEnd
263
- * @param {number} valueEnd
264
+ * @param {number} [timeStart]
265
+ * @param {number} [valueStart]
266
+ * @param {number} [timeEnd]
267
+ * @param {number} [valueEnd]
264
268
  * @return {AnimationCurve}
265
269
  */
266
- static easeInOut(timeStart, valueStart, timeEnd, valueEnd) {
270
+ static easeInOut(
271
+ timeStart = 0, valueStart = 0,
272
+ timeEnd = 1, valueEnd = 1
273
+ ) {
267
274
  return AnimationCurve.from([
268
275
  Keyframe.from(timeStart, valueStart, 0, 0),
269
276
  Keyframe.from(timeEnd, valueEnd, 0, 0)
@@ -272,12 +279,12 @@ export class AnimationCurve {
272
279
 
273
280
  /**
274
281
  *
275
- * @param {number} timeStart
276
- * @param {number} timeEnd
277
- * @param {number} value
282
+ * @param {number} [timeStart]
283
+ * @param {number} [timeEnd]
284
+ * @param {number} [value]
278
285
  * @return {AnimationCurve}
279
286
  */
280
- static constant(timeStart, timeEnd, value) {
287
+ static constant(timeStart = 0, timeEnd = 1, value = 0) {
281
288
  return AnimationCurve.from([
282
289
  Keyframe.from(timeStart, value, 0, 0),
283
290
  Keyframe.from(timeEnd, value, 0, 0)
@@ -286,13 +293,16 @@ export class AnimationCurve {
286
293
 
287
294
  /**
288
295
  *
289
- * @param {number} timeStart
290
- * @param {number} valueStart
291
- * @param {number} timeEnd
292
- * @param {number} valueEnd
296
+ * @param {number} [timeStart]
297
+ * @param {number} [valueStart]
298
+ * @param {number} [timeEnd]
299
+ * @param {number} [valueEnd]
293
300
  * @return {AnimationCurve}
294
301
  */
295
- static linear(timeStart, valueStart, timeEnd, valueEnd) {
302
+ static linear(
303
+ timeStart = 0, valueStart = 0,
304
+ timeEnd = 1, valueEnd = 1
305
+ ) {
296
306
  const tangent = valueEnd - valueStart;
297
307
 
298
308
  return AnimationCurve.from([
@@ -48,5 +48,10 @@ export class Keyframe {
48
48
  inTangent: any;
49
49
  outTangent: any;
50
50
  }): void;
51
+ /**
52
+ * @readonly
53
+ * @type {boolean}
54
+ */
55
+ readonly isKeyframe: boolean;
51
56
  }
52
57
  //# sourceMappingURL=Keyframe.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Keyframe.d.ts","sourceRoot":"","sources":["../../../../../src/engine/animation/curve/Keyframe.js"],"names":[],"mappings":"AAEA;IAyBI;;;;;;;OAOG;IACH,kBANW,MAAM,SACN,MAAM,cACN,MAAM,eACN,MAAM,GACL,QAAQ,CAQnB;IAtCD;;;OAGG;IACH,OAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,MAFU,MAAM,CAEP;IAET;;;OAGG;IACH,WAFU,MAAM,CAEF;IAEd;;;OAGG;IACH,YAFU,MAAM,CAED;IAkBf;;;;;;OAMG;IACH,UALW,MAAM,SACN,MAAM,aACN,MAAM,cACN,MAAM,QAmBhB;IAED;;;;;MAOC;IAED;;;;;aAQC;CAEJ"}
1
+ {"version":3,"file":"Keyframe.d.ts","sourceRoot":"","sources":["../../../../../src/engine/animation/curve/Keyframe.js"],"names":[],"mappings":"AAEA;IAyBI;;;;;;;OAOG;IACH,kBANW,MAAM,SACN,MAAM,cACN,MAAM,eACN,MAAM,GACL,QAAQ,CAQnB;IAtCD;;;OAGG;IACH,OAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,MAFU,MAAM,CAEP;IAET;;;OAGG;IACH,WAFU,MAAM,CAEF;IAEd;;;OAGG;IACH,YAFU,MAAM,CAED;IAkBf;;;;;;OAMG;IACH,UALW,MAAM,SACN,MAAM,aACN,MAAM,cACN,MAAM,QAmBhB;IAED;;;;;MAOC;IAED;;;;;aAQC;IAIL;;;OAGG;IACH,qBAFU,OAAO,CAEY;CAN5B"}
@@ -87,3 +87,9 @@ export class Keyframe {
87
87
  }
88
88
 
89
89
  }
90
+
91
+ /**
92
+ * @readonly
93
+ * @type {boolean}
94
+ */
95
+ Keyframe.prototype.isKeyframe = true;
@@ -2,13 +2,20 @@ export class BoundValueWriter {
2
2
  /**
3
3
  *
4
4
  * @param {number[]|ArrayLike<number>|Float32Array|Float64Array} data
5
+ * @returns {void}
5
6
  */
6
7
  write(data: number[] | ArrayLike<number> | Float32Array | Float64Array): void;
7
8
  /**
8
9
  * @template T
9
10
  * @param {T} root
10
11
  * @param {string[]} path
12
+ * @returns {void}
11
13
  */
12
14
  bind<T>(root: T, path: string[]): void;
15
+ /**
16
+ * @readonly
17
+ * @type {boolean}
18
+ */
19
+ readonly isBoundValueWriter: boolean;
13
20
  }
14
21
  //# sourceMappingURL=BoundValueWriter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BoundValueWriter.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/animation/curve/binding/BoundValueWriter.js"],"names":[],"mappings":"AAAA;IAEI;;;OAGG;IACH,YAFW,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,GAAC,YAAY,GAAC,YAAY,QAI9D;IAED;;;;OAIG;IACH,uBAFW,MAAM,EAAE,QAIlB;CACJ"}
1
+ {"version":3,"file":"BoundValueWriter.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/animation/curve/binding/BoundValueWriter.js"],"names":[],"mappings":"AAAA;IAEI;;;;OAIG;IACH,YAHW,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,GAAC,YAAY,GAAC,YAAY,GAClD,IAAI,CAIhB;IAED;;;;;OAKG;IACH,uBAHW,MAAM,EAAE,GACN,IAAI,CAIhB;IAGL;;;OAGG;IACH,6BAFU,OAAO,CAE4B;CAN5C"}
@@ -3,6 +3,7 @@ export class BoundValueWriter {
3
3
  /**
4
4
  *
5
5
  * @param {number[]|ArrayLike<number>|Float32Array|Float64Array} data
6
+ * @returns {void}
6
7
  */
7
8
  write(data) {
8
9
  throw new Error('Not Implemented');
@@ -12,8 +13,15 @@ export class BoundValueWriter {
12
13
  * @template T
13
14
  * @param {T} root
14
15
  * @param {string[]} path
16
+ * @returns {void}
15
17
  */
16
18
  bind(root, path) {
17
19
  throw new Error('Not Implemented');
18
20
  }
19
- }
21
+ }
22
+
23
+ /**
24
+ * @readonly
25
+ * @type {boolean}
26
+ */
27
+ BoundValueWriter.prototype.isBoundValueWriter = true;
@@ -1,5 +1,5 @@
1
1
  /**
2
- *
2
+ * Compute bounding box for a given curve. X-axis is time, Y-axis is value.
3
3
  * @param {AABB2} out
4
4
  * @param {AnimationCurve} curve
5
5
  */
@@ -5,7 +5,7 @@ import { spline_hermite3_bounds } from "../../../core/math/spline/spline_hermite
5
5
  const temp_bounds = new Float32Array(4);
6
6
 
7
7
  /**
8
- *
8
+ * Compute bounding box for a given curve. X-axis is time, Y-axis is value.
9
9
  * @param {AABB2} out
10
10
  * @param {AnimationCurve} curve
11
11
  */
@@ -1 +1 @@
1
- {"version":3,"file":"EntityComponentDataset.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityComponentDataset.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EntityComponentDataset.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/EntityComponentDataset.js"],"names":[],"mappings":"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"}
@@ -2,10 +2,11 @@ import { assert } from "../../core/assert.js";
2
2
  import { BitSet } from "../../core/binary/BitSet.js";
3
3
  import { array_shrink_to_size } from "../../core/collection/array/array_shrink_to_size.js";
4
4
  import { arraySetDiff } from "../../core/collection/array/arraySetDiff.js";
5
- import Signal, {
6
- findSignalHandlerIndexByHandle,
5
+ import { findSignalHandlerIndexByHandle } from "../../core/events/signal/findSignalHandlerIndexByHandle.js";
6
+ import {
7
7
  findSignalHandlerIndexByHandleAndContext
8
- } from "../../core/events/signal/Signal.js";
8
+ } from "../../core/events/signal/findSignalHandlerIndexByHandleAndContext.js";
9
+ import Signal from "../../core/events/signal/Signal.js";
9
10
  import { SignalHandler } from "../../core/events/signal/SignalHandler.js";
10
11
  import { max3 } from "../../core/math/max3.js";
11
12
  import { EventType } from "./EntityManager.js";
@@ -1088,12 +1089,13 @@ export class EntityComponentDataset {
1088
1089
 
1089
1090
  /**
1090
1091
  * @template T
1091
- * @param {number} entityIndex
1092
+ * @param {number} entity_id
1092
1093
  * @param {Class<T>} klass
1093
1094
  * @returns {T|undefined}
1094
1095
  */
1095
- getComponent(entityIndex, klass) {
1096
- assert.ok(this.entityExists(entityIndex), `entity ${entityIndex} does not exist`);
1096
+ getComponent(entity_id, klass) {
1097
+ assert.isNonNegativeInteger(entity_id, 'entity_id');
1098
+ assert.ok(this.entityExists(entity_id), `entity ${entity_id} does not exist`);
1097
1099
  assert.defined(klass, "klass");
1098
1100
 
1099
1101
  const componentIndex = this.computeComponentTypeIndex(klass);
@@ -1103,7 +1105,7 @@ export class EntityComponentDataset {
1103
1105
  return undefined;
1104
1106
  }
1105
1107
 
1106
- return this.getComponentByIndex(entityIndex, componentIndex);
1108
+ return this.getComponentByIndex(entity_id, componentIndex);
1107
1109
  }
1108
1110
 
1109
1111
  /**
@@ -26,4 +26,6 @@ export class Tag {
26
26
  fromJSON(json: any)
27
27
 
28
28
  static fromJSON(json): Tag
29
+
30
+ static fromOne(tag: string): Tag
29
31
  }
@@ -1 +1 @@
1
- {"version":3,"file":"EntityNode.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/parent/EntityNode.js"],"names":[],"mappings":"AAYA;IAiJI;;;;OAIG;IACH,2CAFY,UAAU,CAYrB;IA/HD;;;OAGG;IACH,qBAFW,MAAM,EAWhB;IA7CD;;;;OAIG;IACH,iBAAgB;IAEhB;;;;OAIG;IACH,mBAAgB;IAEhB;;;;OAIG;IACH,oBAA8B;IAE9B;;;MAGE;IAEF;;;OAGG;IACH,OAFU,MAAM,CAEM;IAQlB;;;;OAIG;IACH,iBAAsB;IAI1B;;;;OAIG;IACH,cAHW,MAAM,GAAC,eAAe,GACpB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,eAAe,GACpB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,eAAe,SACtB,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM,GAAC,eAAe,GACpB,OAAO,CAInB;IAED;;;;OAIG;IACH,4CAWC;IAED;;;;OAIG;IACH,oDAEC;IAED;;;OAGG;IACH,sCAEC;IAED;;;OAGG;IACH,8BAgBC;IAmBD;;;;OAIG;IACH,8BAaC;IAED;;OAEG;IACH,2BAEC;IAUD;;;OAGG;IACH,4BAyCC;IArDD;;;OAGG;IACH,yBAEC;IAiDD;;;OAGG;IACH,qBAEC;IAED;;;;OAIG;IACH,eAHW,UAAU,GACR,OAAO,CAuBnB;IAED;;;;OAIG;IACH,kBAHW,UAAU,GACR,OAAO,CAenB;IAED,uBAEC;IAED,wBAWC;IAED,wBAOC;IAED;;;OAGG;IACH,yCAoDC;IAGD,gBA2BC;IAGL;;;OAGG;IACH,uBAFU,OAAO,CAEgB;CANhC;mBAtakB,uCAAuC;gCAI1B,sBAAsB;0BAD5B,2BAA2B;mBAFlC,cAAc"}
1
+ {"version":3,"file":"EntityNode.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/parent/EntityNode.js"],"names":[],"mappings":"AAYA;IAiJI;;;;OAIG;IACH,2CAFY,UAAU,CAYrB;IA/HD;;;OAGG;IACH,qBAFW,MAAM,EAWhB;IA7CD;;;;OAIG;IACH,iBAAgB;IAEhB;;;;OAIG;IACH,mBAAgB;IAEhB;;;;OAIG;IACH,oBAA8B;IAE9B;;;MAGE;IAEF;;;OAGG;IACH,OAFU,MAAM,CAEM;IAQlB;;;;OAIG;IACH,iBAAsB;IAI1B;;;;OAIG;IACH,cAHW,MAAM,GAAC,eAAe,GACpB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,eAAe,GACpB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,eAAe,SACtB,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM,GAAC,eAAe,GACpB,OAAO,CAInB;IAED;;;;OAIG;IACH,4CAWC;IAED;;;;OAIG;IACH,oDAEC;IAED;;;OAGG;IACH,sCAEC;IAED;;;OAGG;IACH,8BAgBC;IAmBD;;;;OAIG;IACH,8BAaC;IAED;;OAEG;IACH,2BAEC;IAUD;;;OAGG;IACH,4BAyCC;IArDD;;;OAGG;IACH,yBAEC;IAiDD;;;OAGG;IACH,qBAEC;IAED;;;;OAIG;IACH,eAHW,UAAU,GACR,OAAO,CAuBnB;IAED;;;;OAIG;IACH,kBAHW,UAAU,GACR,OAAO,CAenB;IAED,uBAEC;IAED,wBAWC;IAED,wBAOC;IAED;;;OAGG;IACH,yCAoDC;IAGD,gBA4BC;IAGL;;;OAGG;IACH,uBAFU,OAAO,CAEgB;CANhC;mBAvakB,uCAAuC;gCAI1B,sBAAsB;0BAD5B,2BAA2B;mBAFlC,cAAc"}