@woosh/meep-engine 2.119.100 → 2.119.103

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 (67) hide show
  1. package/editor/view/ecs/ComponentControlView.d.ts.map +1 -1
  2. package/package.json +1 -1
  3. package/src/core/collection/array/typed/is_typed_array_equals.d.ts.map +1 -1
  4. package/src/core/collection/array/typed/is_typed_array_equals.js +4 -1
  5. package/src/core/collection/list/List.d.ts.map +1 -1
  6. package/src/core/collection/list/List.js +1 -0
  7. package/src/core/geom/3d/topology/struct/binary/BinaryElementPool.d.ts +1 -0
  8. package/src/core/geom/3d/topology/struct/binary/BinaryElementPool.d.ts.map +1 -1
  9. package/src/core/geom/3d/topology/struct/binary/BinaryElementPool.js +1 -0
  10. package/src/core/geom/3d/topology/struct/binary/io/bt_edge_create.d.ts +9 -0
  11. package/src/core/geom/3d/topology/struct/binary/io/bt_edge_create.d.ts.map +1 -0
  12. package/src/core/geom/3d/topology/struct/binary/io/{create_edge.js → bt_edge_create.js} +2 -2
  13. package/src/core/geom/3d/topology/struct/binary/io/bt_edge_get_or_create.d.ts +10 -0
  14. package/src/core/geom/3d/topology/struct/binary/io/bt_edge_get_or_create.d.ts.map +1 -0
  15. package/src/core/geom/3d/topology/struct/binary/io/bt_edge_get_or_create.js +45 -0
  16. package/src/core/geom/3d/topology/struct/binary/io/bt_index_geometry_to_topology.d.ts.map +1 -1
  17. package/src/core/geom/3d/topology/struct/binary/io/bt_index_geometry_to_topology.js +26 -61
  18. package/src/core/geom/3d/topology/struct/binary/io/get_or_create_edge_map.js +2 -2
  19. package/src/core/math/clamp.js +3 -3
  20. package/src/core/math/hash/computeObjectHash.d.ts.map +1 -1
  21. package/src/core/math/hash/computeObjectHash.js +3 -1
  22. package/src/core/math/inverseLerp.d.ts +6 -1
  23. package/src/core/math/inverseLerp.d.ts.map +1 -1
  24. package/src/core/math/inverseLerp.js +6 -1
  25. package/src/core/model/DebouncedObservedBoolean.d.ts +0 -2
  26. package/src/core/model/DebouncedObservedBoolean.d.ts.map +1 -1
  27. package/src/core/model/ObservedBoolean.d.ts +81 -11
  28. package/src/core/model/ObservedBoolean.d.ts.map +1 -1
  29. package/src/core/model/ObservedBoolean.js +19 -5
  30. package/src/core/model/node-graph/NodeGraph.d.ts +21 -3
  31. package/src/core/model/node-graph/NodeGraph.d.ts.map +1 -1
  32. package/src/core/model/node-graph/NodeGraph.js +20 -2
  33. package/src/core/model/node-graph/node/NodeDescription.d.ts.map +1 -1
  34. package/src/core/model/node-graph/node/NodeDescription.js +1 -1
  35. package/src/core/primitives/strings/string_jaro_distance.d.ts +2 -1
  36. package/src/core/primitives/strings/string_jaro_distance.d.ts.map +1 -1
  37. package/src/core/primitives/strings/string_jaro_distance.js +6 -1
  38. package/src/core/primitives/strings/string_jaro_winkler.d.ts +1 -1
  39. package/src/core/primitives/strings/string_jaro_winkler.d.ts.map +1 -1
  40. package/src/core/primitives/strings/string_jaro_winkler.js +11 -6
  41. package/src/core/process/worker/WorkerBuilder.d.ts.map +1 -1
  42. package/src/core/process/worker/WorkerBuilder.js +47 -29
  43. package/src/engine/achievements/AchievementGateway.d.ts.map +1 -1
  44. package/src/engine/achievements/AchievementGateway.js +0 -3
  45. package/src/engine/animation/curve/AnimationCurve.d.ts +2 -2
  46. package/src/engine/animation/curve/AnimationCurve.js +2 -2
  47. package/src/engine/animation/curve/Keyframe.d.ts +6 -2
  48. package/src/engine/animation/curve/Keyframe.d.ts.map +1 -1
  49. package/src/engine/animation/curve/Keyframe.js +6 -2
  50. package/src/engine/animation/keyed2/AnimationTrack.d.ts +4 -0
  51. package/src/engine/animation/keyed2/AnimationTrack.d.ts.map +1 -1
  52. package/src/engine/animation/keyed2/AnimationTrack.js +4 -0
  53. package/src/engine/ecs/gui/position/ViewportPosition.d.ts +1 -1
  54. package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
  55. package/src/engine/ecs/terrain/ecs/Terrain.js +3 -3
  56. package/src/engine/grid/transform2grid/Transform2GridPositionMode.js +6 -0
  57. package/src/engine/input/devices/InputDeviceSwitch.d.ts.map +1 -1
  58. package/src/engine/input/devices/InputDeviceSwitch.js +24 -3
  59. package/src/engine/input/devices/events/eventToSourceIdentifier.d.ts +1 -1
  60. package/src/engine/input/devices/events/eventToSourceIdentifier.js +1 -1
  61. package/src/view/View.js +1 -1
  62. package/editor/view/ecs/ComponentControlFactory.d.ts.map +0 -1
  63. package/editor/view/ecs/EntityEditor.d.ts.map +0 -1
  64. package/editor/view/ecs/EntityList.d.ts.map +0 -1
  65. package/editor/view/ecs/HierarchicalEntityListView.d.ts.map +0 -1
  66. package/src/core/geom/3d/topology/struct/binary/io/create_edge.d.ts +0 -9
  67. package/src/core/geom/3d/topology/struct/binary/io/create_edge.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentControlView.d.ts","sourceRoot":"","sources":["ComponentControlView.js"],"names":[],"mappings":"AAUA,sDAwBC;AAED;;;;;GAKG;AACH,6CAJW,MAAM,cACN,MAAM,GACJ,QAAQ,IAAI,CAAC,CAezB;AAED,sDAgDC;AAED;;GAEG;AACH;IACI;;;;;;;;OAQG;IACH,oBAPW,MAAM,6DAGN,IAAI,eAqGd;IA9FG;;MAEC;IAMD,YAAkB;IAEH,wBAAwC;CAqF9D;iBA1NgB,2BAA2B;mBACzB,2CAA2C;4BAElC,4CAA4C"}
1
+ {"version":3,"file":"ComponentControlView.d.ts","sourceRoot":"","sources":["ComponentControlView.js"],"names":[],"mappings":"AAUA,sDAwBC;AAED;;;;;GAKG;AACH,6CAJW,MAAM,cACN,MAAM,GACJ,OAAO,CAAC,IAAI,CAAC,CAezB;AAED,sDAgDC;AAED;;GAEG;AACH,kCAFa,CAAC;IAGV;;;;;;;;OAQG;IACH,oBAPW,MAAM,aACN,GAAC,iBACD,aAAa,eACb,IAAI,eAqGd;IA9FG;;MAEC;IAMD,YAAkB;IAEH,wBAAwC;CAqF9D;iBA1NgB,2BAA2B;mBACzB,2CAA2C;4BAElC,4CAA4C"}
package/package.json CHANGED
@@ -5,7 +5,7 @@
5
5
  "description": "Fully featured ECS game engine written in JavaScript",
6
6
  "type": "module",
7
7
  "author": "Alexander Goldring",
8
- "version": "2.119.100",
8
+ "version": "2.119.103",
9
9
  "main": "build/meep.module.js",
10
10
  "module": "build/meep.module.js",
11
11
  "exports": {
@@ -1 +1 @@
1
- {"version":3,"file":"is_typed_array_equals.d.ts","sourceRoot":"","sources":["../../../../../../src/core/collection/array/typed/is_typed_array_equals.js"],"names":[],"mappings":"AAIA;;;;;GAKG;AACH,yCAJW,UAAU,GAAC,WAAW,KACtB,UAAU,GAAC,WAAW,GACpB,OAAO,CAiFnB"}
1
+ {"version":3,"file":"is_typed_array_equals.d.ts","sourceRoot":"","sources":["../../../../../../src/core/collection/array/typed/is_typed_array_equals.js"],"names":[],"mappings":"AAKA;;;;;GAKG;AACH,yCAJW,UAAU,GAAC,WAAW,KACtB,UAAU,GAAC,WAAW,GACpB,OAAO,CAmFnB"}
@@ -1,4 +1,5 @@
1
1
  //
2
+ import { assert } from "../../../assert.js";
2
3
  import { largest_common_alignment_uint32 } from "../../../binary/largest_common_alignment_uint32.js";
3
4
  import { isArrayEqualStrict } from "../isArrayEqualStrict.js";
4
5
 
@@ -64,7 +65,9 @@ export function is_typed_array_equals(a, b) {
64
65
 
65
66
  const bytes_per_element = a_constructor.BYTES_PER_ELEMENT;
66
67
 
67
- const alignment = largest_common_alignment_uint32(a_offset, b_offset,byte_length);
68
+ assert.isNonNegativeInteger(bytes_per_element, 'constructor.BYTES_PER_ELEMENT');
69
+
70
+ const alignment = largest_common_alignment_uint32(a_offset, b_offset, byte_length);
68
71
 
69
72
  if (
70
73
  bytes_per_element < 4
@@ -1 +1 @@
1
- {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/list/List.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"List.d.ts","sourceRoot":"","sources":["../../../../../src/core/collection/list/List.js"],"names":[],"mappings":"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"}
@@ -420,6 +420,7 @@ class List {
420
420
 
421
421
  /**
422
422
  * Copy of this list
423
+ * The copy is shallow
423
424
  * @returns {List.<T>}
424
425
  */
425
426
  clone() {
@@ -162,6 +162,7 @@ export class BinaryElementPool {
162
162
  release(id: number): void;
163
163
  /**
164
164
  * Removed all data from the pool
165
+ * Note that initial allocation pointer is set to 0
165
166
  */
166
167
  clear(): void;
167
168
  }
@@ -1 +1 @@
1
- {"version":3,"file":"BinaryElementPool.d.ts","sourceRoot":"","sources":["../../../../../../../../src/core/geom/3d/topology/struct/binary/BinaryElementPool.js"],"names":[],"mappings":"AAyBA;;GAEG;AACH;IAwBI;;;;;OAKG;IACH,uBAJW,MAAM,qBACN,MAAM,sBACN,OAAO,EAkDjB;IA5ED;;;;OAIG;IACH,eAAY;IAEZ;;;;;OAKG;IACH,uBAAmB;IAEnB;;;;OAIG;IACH,eAAW;IAeP;;;;OAIG;IACH,oBAA4B;IAG5B;;;;OAIG;IACH,sBAA8F;IAC9F;;;;OAIG;IACH,qBAAsD;IACtD;;;;OAIG;IACH,sBAAwD;IACxD;;;;OAIG;IACH,uBAA0D;IAC1D,iCAAiD;IAEjD;;;;OAIG;IACH,mBAAkC;IAItC;;;;OAIG;IACH,wBAHW,WAAW,2BACX,MAAM,QAsBhB;IAED,+BAEC;IAED;;;OAGG;IACH,iBAFY,MAAM,CAIjB;IAED;;;;OAIG;IACH,YAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,gBAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,gBAFY,MAAM,CAIjB;IAGD;;;OAGG;IACH,mBAFY,WAAW,CAItB;IAED;;;OAGG;IACH,oBAFY,YAAY,CAIvB;IAED;;OAEG;IACH,aAEC;IAED;;;;OAIG;IACH,oBAHW,MAAM,GACL,MAAM,CAMjB;IAED;;;;;OAKG;IACH,iBAHW,MAAM,GACL,MAAM,CAIjB;IAED;;;;OAIG;IACH,iBAHW,MAAM,GACL,OAAO,CAsBlB;IAED;;;;OAIG;IACH,uBAwBC;IAED;;;;OAIG;IACH,wBAQC;IAED;;;OAGG;IACH,0BAFW,MAAM,QAMhB;IAGD;;;OAGG;IACH,YAFY,MAAM,CAqBjB;IAED;;;;OAIG;IACH,2BAHW,MAAM,GACL,MAAM,CAcjB;IAED;;;;OAIG;IACH,YAFW,MAAM,QAYhB;IAED;;OAEG;IACH,cAGC;CACJ"}
1
+ {"version":3,"file":"BinaryElementPool.d.ts","sourceRoot":"","sources":["../../../../../../../../src/core/geom/3d/topology/struct/binary/BinaryElementPool.js"],"names":[],"mappings":"AAyBA;;GAEG;AACH;IAwBI;;;;;OAKG;IACH,uBAJW,MAAM,qBACN,MAAM,sBACN,OAAO,EAkDjB;IA5ED;;;;OAIG;IACH,eAAY;IAEZ;;;;;OAKG;IACH,uBAAmB;IAEnB;;;;OAIG;IACH,eAAW;IAeP;;;;OAIG;IACH,oBAA4B;IAG5B;;;;OAIG;IACH,sBAA8F;IAC9F;;;;OAIG;IACH,qBAAsD;IACtD;;;;OAIG;IACH,sBAAwD;IACxD;;;;OAIG;IACH,uBAA0D;IAC1D,iCAAiD;IAEjD;;;;OAIG;IACH,mBAAkC;IAItC;;;;OAIG;IACH,wBAHW,WAAW,2BACX,MAAM,QAsBhB;IAED,+BAEC;IAED;;;OAGG;IACH,iBAFY,MAAM,CAIjB;IAED;;;;OAIG;IACH,YAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,gBAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,gBAFY,MAAM,CAIjB;IAGD;;;OAGG;IACH,mBAFY,WAAW,CAItB;IAED;;;OAGG;IACH,oBAFY,YAAY,CAIvB;IAED;;OAEG;IACH,aAEC;IAED;;;;OAIG;IACH,oBAHW,MAAM,GACL,MAAM,CAMjB;IAED;;;;;OAKG;IACH,iBAHW,MAAM,GACL,MAAM,CAIjB;IAED;;;;OAIG;IACH,iBAHW,MAAM,GACL,OAAO,CAsBlB;IAED;;;;OAIG;IACH,uBAwBC;IAED;;;;OAIG;IACH,wBAQC;IAED;;;OAGG;IACH,0BAFW,MAAM,QAMhB;IAGD;;;OAGG;IACH,YAFY,MAAM,CAqBjB;IAED;;;;OAIG;IACH,2BAHW,MAAM,GACL,MAAM,CAcjB;IAED;;;;OAIG;IACH,YAFW,MAAM,QAYhB;IAED;;;OAGG;IACH,cAGC;CACJ"}
@@ -362,6 +362,7 @@ export class BinaryElementPool {
362
362
 
363
363
  /**
364
364
  * Removed all data from the pool
365
+ * Note that initial allocation pointer is set to 0
365
366
  */
366
367
  clear() {
367
368
  this.__size = 0;
@@ -0,0 +1,9 @@
1
+ /**
2
+ *
3
+ * @param {BinaryTopology} mesh
4
+ * @param {number} v0
5
+ * @param {number} v1
6
+ * @return {number} ID of the newly created edge
7
+ */
8
+ export function bt_edge_create(mesh: BinaryTopology, v0: number, v1: number): number;
9
+ //# sourceMappingURL=bt_edge_create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bt_edge_create.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/geom/3d/topology/struct/binary/io/bt_edge_create.js"],"names":[],"mappings":"AA8DA;;;;;;GAMG;AACH,qCALW,cAAc,MACd,MAAM,MACN,MAAM,GACL,MAAM,CAsCjB"}
@@ -65,9 +65,9 @@ function edge_link_disk(mesh, edge_source, edge_new, vertex) {
65
65
  * @param {BinaryTopology} mesh
66
66
  * @param {number} v0
67
67
  * @param {number} v1
68
- * @return {number}
68
+ * @return {number} ID of the newly created edge
69
69
  */
70
- export function create_edge(mesh, v0, v1) {
70
+ export function bt_edge_create(mesh, v0, v1) {
71
71
  const edge_id = mesh.edges.allocate();
72
72
 
73
73
  mesh.edge_write_vertex1(edge_id, v0);
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Ensure an edge between two vertices
3
+ * NOTE: works without having to use a separate hash map, resulting in faster execution and smaller RAM requirement
4
+ * @param {BinaryTopology} mesh
5
+ * @param {number} v0
6
+ * @param {number} v1
7
+ * @returns {number} edge ID
8
+ */
9
+ export function bt_edge_get_or_create(mesh: BinaryTopology, v0: number, v1: number): number;
10
+ //# sourceMappingURL=bt_edge_get_or_create.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bt_edge_get_or_create.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/geom/3d/topology/struct/binary/io/bt_edge_get_or_create.js"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AACH,4CALW,cAAc,MACd,MAAM,MACN,MAAM,GACJ,MAAM,CAmClB"}
@@ -0,0 +1,45 @@
1
+ import { NULL_POINTER } from "../BinaryTopology.js";
2
+ import { bt_edge_create } from "./bt_edge_create.js";
3
+
4
+ /**
5
+ * Ensure an edge between two vertices
6
+ * NOTE: works without having to use a separate hash map, resulting in faster execution and smaller RAM requirement
7
+ * @param {BinaryTopology} mesh
8
+ * @param {number} v0
9
+ * @param {number} v1
10
+ * @returns {number} edge ID
11
+ */
12
+ export function bt_edge_get_or_create(mesh, v0, v1) {
13
+ const first_edge = mesh.vertex_read_edge(v0);
14
+
15
+ if (first_edge !== NULL_POINTER) {
16
+
17
+ // iterate over all edges around the vertex
18
+ let edge = first_edge;
19
+
20
+ do {
21
+ const edge_v1 = mesh.edge_read_vertex1(edge);
22
+ const edge_v2 = mesh.edge_read_vertex2(edge);
23
+
24
+ if (edge_v1 === v1 || edge_v2 === v1) {
25
+ // found edge that connects between v0 and v1
26
+ return edge;
27
+ }
28
+
29
+ if (edge_v1 === v0) {
30
+ edge = mesh.edge_read_v1_disk_next(edge);
31
+ } else if (edge_v2 === v0) {
32
+ edge = mesh.edge_read_v2_disk_next(edge);
33
+ } else {
34
+ // invalid edge connection
35
+ throw new Error('Invalid edge, not connected to first vertex');
36
+ }
37
+
38
+ } while (edge !== first_edge);
39
+
40
+ }
41
+
42
+ // if match is found - return the match, else create a new edge and assign
43
+
44
+ return bt_edge_create(mesh, v0, v1);
45
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"bt_index_geometry_to_topology.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/geom/3d/topology/struct/binary/io/bt_index_geometry_to_topology.js"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,mDALW,cAAc,WACd,MAAM,EAAE,oBACR,MAAM,EAAE,mBACR,MAAM,EAAE,QAoGlB"}
1
+ {"version":3,"file":"bt_index_geometry_to_topology.d.ts","sourceRoot":"","sources":["../../../../../../../../../src/core/geom/3d/topology/struct/binary/io/bt_index_geometry_to_topology.js"],"names":[],"mappings":"AAIA;;;;;;;;GAQG;AACH,mDALW,cAAc,WACd,MAAM,EAAE,oBACR,MAAM,EAAE,mBACR,MAAM,EAAE,QAwGlB"}
@@ -1,5 +1,5 @@
1
1
  import { NULL_POINTER } from "../BinaryTopology.js";
2
- import { create_edge } from "./create_edge.js";
2
+ import { bt_edge_get_or_create } from "./bt_edge_get_or_create.js";
3
3
 
4
4
 
5
5
  /**
@@ -29,12 +29,13 @@ export function bt_index_geometry_to_topology(
29
29
  // ingest all vertices
30
30
  const vertex_count = vertex_positions.length / 3;
31
31
 
32
- const vertex_allocation_offset = out.vertices.allocate_continuous(vertex_count);
32
+ // NOTE: we ignore vertex offset, because after clear - it is guaranteed to be 0
33
+ out.vertices.allocate_continuous(vertex_count);
33
34
 
34
35
  for (let i = 0; i < vertex_count; i++) {
35
36
  const i3 = i * 3;
36
37
 
37
- const vertex_id = i + vertex_allocation_offset;
38
+ const vertex_id = i;
38
39
 
39
40
  out.vertex_write_coordinate(vertex_id, vertex_positions, i3);
40
41
 
@@ -49,7 +50,8 @@ export function bt_index_geometry_to_topology(
49
50
  const face_count = indices.length / 3;
50
51
 
51
52
  // create faces
52
- const face_allocation_offset = out.faces.allocate_continuous(face_count);
53
+ // NOTE: we ignore vertex offset, because after clear - it is guaranteed to be 0
54
+ out.faces.allocate_continuous(face_count);
53
55
 
54
56
  // reserve some memory to avoid extra allocations
55
57
  out.loops.ensure_capacity(face_count * 3);
@@ -62,16 +64,16 @@ export function bt_index_geometry_to_topology(
62
64
  const b = indices[i3 + 1];
63
65
  const c = indices[i3 + 2];
64
66
 
65
- const vertex_a = a + vertex_allocation_offset;
66
- const vertex_b = b + vertex_allocation_offset;
67
- const vertex_c = c + vertex_allocation_offset;
67
+ const vertex_a = a;
68
+ const vertex_b = b;
69
+ const vertex_c = c;
68
70
 
69
- const face_id = i + face_allocation_offset;
71
+ const face_id = i ;
70
72
 
71
73
  // create edges
72
- const edge_ab = get_or_create_edge_2(vertex_a, vertex_b, out);
73
- const edge_bc = get_or_create_edge_2(vertex_b, vertex_c, out);
74
- const edge_ca = get_or_create_edge_2(vertex_c, vertex_a, out);
74
+ const edge_ab = bt_edge_get_or_create(out, vertex_a, vertex_b);
75
+ const edge_bc = bt_edge_get_or_create(out, vertex_b, vertex_c);
76
+ const edge_ca = bt_edge_get_or_create(out, vertex_c, vertex_a);
75
77
 
76
78
  // allocate loops
77
79
  const loop_a = out.loop_create();
@@ -80,17 +82,19 @@ export function bt_index_geometry_to_topology(
80
82
 
81
83
  // write loops
82
84
  out.loop_write_vertex(loop_a, vertex_a);
85
+ out.loop_write_face(loop_a, face_id);
86
+
83
87
  out.loop_write_vertex(loop_b, vertex_b);
88
+ out.loop_write_face(loop_b, face_id);
89
+
84
90
  out.loop_write_vertex(loop_c, vertex_c);
91
+ out.loop_write_face(loop_c, face_id);
85
92
 
86
93
  // link loops to edges
87
- link_loop_to_edge(loop_a, edge_ab, out);
88
- link_loop_to_edge(loop_b, edge_bc, out);
89
- link_loop_to_edge(loop_c, edge_ca, out);
94
+ link_loop_to_edge(out, loop_a, edge_ab);
95
+ link_loop_to_edge(out, loop_b, edge_bc);
96
+ link_loop_to_edge(out, loop_c, edge_ca);
90
97
 
91
- out.loop_write_face(loop_a, face_id);
92
- out.loop_write_face(loop_b, face_id);
93
- out.loop_write_face(loop_c, face_id);
94
98
 
95
99
  /*
96
100
  NOTE: Vertices (#BMLoop.v & #BMLoop.next.v) always contain vertices from (#BMEdge.v1 & #BMEdge.v2).
@@ -113,11 +117,11 @@ export function bt_index_geometry_to_topology(
113
117
 
114
118
  /**
115
119
  *
120
+ * @param {BinaryTopology} mesh
116
121
  * @param {number} loop_id
117
122
  * @param {number} edge_id
118
- * @param {BinaryTopology} mesh
119
123
  */
120
- function link_loop_to_edge(loop_id, edge_id, mesh) {
124
+ function link_loop_to_edge(mesh, loop_id, edge_id) {
121
125
  mesh.loop_write_edge(loop_id, edge_id);
122
126
 
123
127
  /**
@@ -127,11 +131,12 @@ function link_loop_to_edge(loop_id, edge_id, mesh) {
127
131
  const existing_loop = mesh.edge_read_loop(edge_id);
128
132
 
129
133
  if (existing_loop === NULL_POINTER) {
134
+
130
135
  // no loops connected yet
131
136
  mesh.edge_write_loop(edge_id, loop_id);
132
137
 
133
-
134
138
  } else {
139
+
135
140
  // insert loop between existing loop and the next one
136
141
  const next = mesh.loop_read_radial_next(existing_loop);
137
142
 
@@ -140,49 +145,9 @@ function link_loop_to_edge(loop_id, edge_id, mesh) {
140
145
 
141
146
  mesh.loop_write_radial_next(loop_id, next);
142
147
  mesh.loop_write_radial_prev(loop_id, existing_loop);
148
+
143
149
  }
144
150
 
145
151
  }
146
152
 
147
153
 
148
- /**
149
- * Ensure an edge between two vertices
150
- * NOTE: works without having to use a separate hash map, resulting in faster execution and smaller RAM requirement
151
- * @param {number} v0
152
- * @param {number} v1
153
- * @param {BinaryTopology} mesh
154
- */
155
- function get_or_create_edge_2(v0, v1, mesh) {
156
- const first_edge = mesh.vertex_read_edge(v0);
157
-
158
- if (first_edge !== NULL_POINTER) {
159
-
160
- // iterate over all edges around the vertex
161
- let edge = first_edge;
162
-
163
- do {
164
- const edge_v1 = mesh.edge_read_vertex1(edge);
165
- const edge_v2 = mesh.edge_read_vertex2(edge);
166
-
167
- if (edge_v1 === v1 || edge_v2 === v1) {
168
- // found edge that connects between v0 and v1
169
- return edge;
170
- }
171
-
172
- if (edge_v1 === v0) {
173
- edge = mesh.edge_read_v1_disk_next(edge);
174
- } else if (edge_v2 === v0) {
175
- edge = mesh.edge_read_v2_disk_next(edge);
176
- } else {
177
- // invalid edge connection
178
- throw new Error('Invalid edge, not connected to first vertex');
179
- }
180
-
181
- } while (edge !== first_edge);
182
-
183
- }
184
-
185
- // if match is found - return the match, else create a new edge and assign
186
-
187
- return create_edge(mesh, v0, v1);
188
- }
@@ -1,5 +1,5 @@
1
+ import { bt_edge_create } from "./bt_edge_create.js";
1
2
  import { OrderedEdge } from "./OrderedEdge.js";
2
- import { create_edge } from "./create_edge.js";
3
3
 
4
4
  /**
5
5
  *
@@ -18,7 +18,7 @@ function get_or_create_edge_map(v0, v1, map, mesh) {
18
18
  }
19
19
 
20
20
  // doesn't exist - create
21
- const edge_id = create_edge(mesh, v0, v1);
21
+ const edge_id = bt_edge_create(mesh, v0, v1);
22
22
 
23
23
  map.set(scratch_ordered_edge, edge_id);
24
24
 
@@ -1,9 +1,9 @@
1
1
  /**
2
2
  * Constrain a value to lie between specified min/max values
3
3
  * @param {number} value
4
- * @param {number} min
5
- * @param {number} max
6
- * @returns {number}
4
+ * @param {number} min lower limit
5
+ * @param {number} max upper limit
6
+ * @returns {number} constrained value
7
7
  */
8
8
  export function clamp(value, min, max) {
9
9
  if (value < min) {
@@ -1 +1 @@
1
- {"version":3,"file":"computeObjectHash.d.ts","sourceRoot":"","sources":["../../../../../src/core/math/hash/computeObjectHash.js"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,sDAHW,MAAM,GACJ,MAAM,CA8ClB"}
1
+ {"version":3,"file":"computeObjectHash.d.ts","sourceRoot":"","sources":["../../../../../src/core/math/hash/computeObjectHash.js"],"names":[],"mappings":"AAGA;;;;;GAKG;AACH,sDAHW,MAAM,GACJ,MAAM,CAgDlB"}
@@ -1,5 +1,5 @@
1
- import { computeStringHash } from "../../primitives/strings/computeStringHash.js";
2
1
  import { computeHashFloat } from "../../primitives/numbers/computeHashFloat.js";
2
+ import { computeStringHash } from "../../primitives/strings/computeStringHash.js";
3
3
 
4
4
  /**
5
5
  * Recursively computes object hash
@@ -32,6 +32,8 @@ export function computeObjectHash(value, depth = 3) {
32
32
  hash = 3;
33
33
  } else {
34
34
 
35
+ // TODO implement special path for arrays and typed arrays
36
+
35
37
  for (let p in value) {
36
38
 
37
39
  const pNameHash = computeStringHash(p);
@@ -1,9 +1,14 @@
1
1
  /**
2
2
  * Compute fraction of linear interpolation
3
+ * @example
4
+ * inverseLerp(1, 5, 1) === 0
5
+ * inverseLerp(1, 5, 5) === 1
6
+ * inverseLerp(1, 5, 3) === 0.5
7
+ *
3
8
  * @param {number} a
4
9
  * @param {number} b
5
10
  * @param {number} value
6
- * @returns {number} fraction
11
+ * @returns {number} fraction of where the {@link value{} lies between {@link a} and {@link b}
7
12
  */
8
13
  export function inverseLerp(a: number, b: number, value: number): number;
9
14
  //# sourceMappingURL=inverseLerp.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"inverseLerp.d.ts","sourceRoot":"","sources":["../../../../src/core/math/inverseLerp.js"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,+BALW,MAAM,KACN,MAAM,SACN,MAAM,GACJ,MAAM,CAgBlB"}
1
+ {"version":3,"file":"inverseLerp.d.ts","sourceRoot":"","sources":["../../../../src/core/math/inverseLerp.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,+BALW,MAAM,KACN,MAAM,SACN,MAAM,GACJ,MAAM,CAgBlB"}
@@ -1,9 +1,14 @@
1
1
  /**
2
2
  * Compute fraction of linear interpolation
3
+ * @example
4
+ * inverseLerp(1, 5, 1) === 0
5
+ * inverseLerp(1, 5, 5) === 1
6
+ * inverseLerp(1, 5, 3) === 0.5
7
+ *
3
8
  * @param {number} a
4
9
  * @param {number} b
5
10
  * @param {number} value
6
- * @returns {number} fraction
11
+ * @returns {number} fraction of where the {@link value{} lies between {@link a} and {@link b}
7
12
  */
8
13
  export function inverseLerp(a, b, value) {
9
14
  const range = b - a;
@@ -35,7 +35,6 @@ export class DebouncedObservedBoolean extends ObservedBoolean {
35
35
  * @param {boolean} v
36
36
  */
37
37
  set(v: boolean): this;
38
- __value: any;
39
38
  /**
40
39
  *
41
40
  * @param {boolean} v
@@ -43,7 +42,6 @@ export class DebouncedObservedBoolean extends ObservedBoolean {
43
42
  * @private
44
43
  */
45
44
  private __handleSourceChange;
46
- getValue(): any;
47
45
  }
48
46
  import ObservedBoolean from "./ObservedBoolean.js";
49
47
  //# sourceMappingURL=DebouncedObservedBoolean.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DebouncedObservedBoolean.d.ts","sourceRoot":"","sources":["../../../../src/core/model/DebouncedObservedBoolean.js"],"names":[],"mappings":"2CAYU,MAAM;;;;;;AAQhB;;GAEG;AACH;IACI;;;;;OAKG;IACH,oBAJW,eAAe,QACf,MAAM,SACN,4BAA4B,GAAC,MAAM,EAY7C;IAPG,0BAAsB;IAEtB,aAAgB;IAEhB,wBAAqB;IAErB,aAAgB;IAGpB,aAGC;IAED,eAGC;IAGD;;;OAGG;IACH,uBAKC;IAED;;OAEG;IACH,0BAOC;IAED;;;OAGG;IACH,OAFW,OAAO,QAYjB;IANO,aAAgB;IAQxB;;;;;OAKG;IACH,6BAYC;IAED,gBAEC;CAEJ;4BAhH2B,sBAAsB"}
1
+ {"version":3,"file":"DebouncedObservedBoolean.d.ts","sourceRoot":"","sources":["../../../../src/core/model/DebouncedObservedBoolean.js"],"names":[],"mappings":"2CAYU,MAAM;;;;;;AAQhB;;GAEG;AACH;IACI;;;;;OAKG;IACH,oBAJW,eAAe,QACf,MAAM,SACN,4BAA4B,GAAC,MAAM,EAY7C;IAPG,0BAAsB;IAEtB,aAAgB;IAEhB,wBAAqB;IAErB,aAAgB;IAGpB,aAGC;IAED,eAGC;IAGD;;;OAGG;IACH,uBAKC;IAED;;OAEG;IACH,0BAOC;IAED;;;OAGG;IACH,OAFW,OAAO,QAYjB;IAED;;;;;OAKG;IACH,6BAYC;CAMJ;4BAhH2B,sBAAsB"}
@@ -1,11 +1,81 @@
1
- import Signal from "../events/signal/Signal";
2
-
3
- export default class ObservedBoolean {
4
- readonly onChanged: Signal<boolean, boolean>
5
-
6
- constructor(value: boolean)
7
-
8
- set(value: boolean): ObservedBoolean
9
-
10
- getValue(): boolean
11
- }
1
+ export default ObservedBoolean;
2
+ declare class ObservedBoolean extends Boolean {
3
+ /**
4
+ *
5
+ * @param {boolean} value
6
+ * @constructor
7
+ */
8
+ constructor(value: boolean);
9
+ /**
10
+ * @readonly
11
+ * @type {Signal<boolean,boolean>}
12
+ */
13
+ readonly onChanged: Signal<boolean, boolean>;
14
+ /**
15
+ *
16
+ * @type {boolean}
17
+ * @private
18
+ */
19
+ private __value;
20
+ /**
21
+ *
22
+ * @param {boolean} value
23
+ * @returns {ObservedBoolean}
24
+ */
25
+ set(value: boolean): ObservedBoolean;
26
+ setTrue(): void;
27
+ setFalse(): void;
28
+ /**
29
+ *
30
+ * @param {ObservedBoolean} other
31
+ */
32
+ copy(other: ObservedBoolean): void;
33
+ /**
34
+ *
35
+ * @param {ObservedBoolean} other
36
+ * @returns {boolean}
37
+ */
38
+ equals(other: ObservedBoolean): boolean;
39
+ /**
40
+ *
41
+ * @return {number}
42
+ */
43
+ hashCode(): number;
44
+ /**
45
+ *
46
+ * @param {function(boolean)} f
47
+ */
48
+ process(f: (arg0: boolean) => any): void;
49
+ /**
50
+ *
51
+ * @returns {Boolean}
52
+ */
53
+ getValue(): boolean;
54
+ /**
55
+ * Flip value. If value is true - it becomes false, if it was false it becomes true
56
+ */
57
+ invert(): void;
58
+ toJSON(): boolean;
59
+ fromJSON(obj: any): void;
60
+ /**
61
+ *
62
+ * @param {BinaryBuffer} buffer
63
+ */
64
+ toBinaryBuffer(buffer: BinaryBuffer): void;
65
+ /**
66
+ *
67
+ * @param {BinaryBuffer} buffer
68
+ */
69
+ fromBinaryBuffer(buffer: BinaryBuffer): void;
70
+ /**
71
+ * @readonly
72
+ * @type {boolean}
73
+ */
74
+ readonly isObservedBoolean: boolean;
75
+ }
76
+ declare namespace ObservedBoolean {
77
+ let FALSE: ObservedBoolean;
78
+ let TRUE: ObservedBoolean;
79
+ }
80
+ import Signal from "../events/signal/Signal.js";
81
+ //# sourceMappingURL=ObservedBoolean.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ObservedBoolean.d.ts","sourceRoot":"","sources":["../../../../src/core/model/ObservedBoolean.js"],"names":[],"mappings":";AAGA;IACI;;;;OAIG;IACH,mBAHW,OAAO,EAgBjB;IARG;;;;OAIG;IACH,gBAAoB;IAEpB,0DAA6B;IAmBjC;;;;OAIG;IACH,qBAFa,eAAe,CAa3B;IAED,gBAEC;IAED,iBAEC;IAED;;;OAGG;IACH,YAFW,eAAe,QAIzB;IAED;;;;OAIG;IACH,cAHW,eAAe,GACb,OAAO,CAInB;IAED;;;OAGG;IACH,YAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,WAFW,CAAS,IAAO,EAAP,OAAO,QAAC,QAK3B;IAED;;;OAGG;IACH,oBAEC;IAED;;OAEG;IACH,eAEC;IAED,kBAEC;IAED,yBAEC;IAED;;;OAGG;IACH,uBAFW,YAAY,QAItB;IAED;;;OAGG;IACH,yBAFW,YAAY,QAKtB;IAML;;;OAGG;IACH,4BAFU,OAAO,CAE0B;CAT1C;;;;;mBA1IkB,4BAA4B"}
1
+ {"version":3,"file":"ObservedBoolean.d.ts","sourceRoot":"","sources":["../../../../src/core/model/ObservedBoolean.js"],"names":[],"mappings":";AAGA;IAQI;;;;OAIG;IACH,mBAHW,OAAO,EAcjB;IAtBD;;;OAGG;IACH,oBAFU,MAAM,CAAC,OAAO,EAAC,OAAO,CAAC,CAER;IAYrB;;;;OAIG;IACH,gBAAoB;IAmBxB;;;;OAIG;IACH,WAHW,OAAO,GACL,eAAe,CAa3B;IAED,gBAEC;IAED,iBAEC;IAED;;;OAGG;IACH,YAFW,eAAe,QAIzB;IAED;;;;OAIG;IACH,cAHW,eAAe,GACb,OAAO,CAInB;IAED;;;OAGG;IACH,YAFY,MAAM,CAIjB;IAED;;;OAGG;IACH,WAFW,CAAS,IAAO,EAAP,OAAO,QAAC,QAK3B;IAED;;;OAGG;IACH,oBAEC;IAED;;OAEG;IACH,eAEC;IAED,kBAEC;IAED,yBAEC;IAED;;;OAGG;IACH,uBAFW,YAAY,QAItB;IAED;;;OAGG;IACH,yBAFW,YAAY,QAKtB;IAeL;;;OAGG;IACH,4BAFU,OAAO,CAE0B;CAlB1C;;eAIS,eAAe;cAMf,eAAe;;mBAzJN,4BAA4B"}
@@ -2,6 +2,13 @@ import { assert } from "../assert.js";
2
2
  import Signal from "../events/signal/Signal.js";
3
3
 
4
4
  class ObservedBoolean extends Boolean {
5
+
6
+ /**
7
+ * @readonly
8
+ * @type {Signal<boolean,boolean>}
9
+ */
10
+ onChanged = new Signal();
11
+
5
12
  /**
6
13
  *
7
14
  * @param {boolean} value
@@ -14,17 +21,15 @@ class ObservedBoolean extends Boolean {
14
21
 
15
22
  /**
16
23
  *
17
- * @type {Boolean}
24
+ * @type {boolean}
18
25
  * @private
19
26
  */
20
27
  this.__value = value;
21
-
22
- this.onChanged = new Signal();
23
28
  }
24
29
 
25
30
  /**
26
31
  *
27
- * @returns {Boolean}
32
+ * @returns {boolean}
28
33
  */
29
34
  valueOf() {
30
35
  return this.__value;
@@ -40,7 +45,7 @@ class ObservedBoolean extends Boolean {
40
45
 
41
46
  /**
42
47
  *
43
- * @param {Boolean} value
48
+ * @param {boolean} value
44
49
  * @returns {ObservedBoolean}
45
50
  */
46
51
  set(value) {
@@ -139,7 +144,16 @@ class ObservedBoolean extends Boolean {
139
144
  }
140
145
  }
141
146
 
147
+ /**
148
+ * @readonly
149
+ * @type {ObservedBoolean}
150
+ */
142
151
  ObservedBoolean.FALSE = Object.freeze(new ObservedBoolean(false));
152
+
153
+ /**
154
+ * @readonly
155
+ * @type {ObservedBoolean}
156
+ */
143
157
  ObservedBoolean.TRUE = Object.freeze(new ObservedBoolean(true));
144
158
 
145
159
  /**