@woosh/meep-engine 2.55.0 → 2.56.0

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 (155) hide show
  1. package/editor/view/node-graph/PortView.js +2 -2
  2. package/package.json +1 -1
  3. package/src/core/binary/BinaryBuffer.js +2 -1
  4. package/src/core/cache/LoadingCache.js +10 -5
  5. package/src/core/collection/array/array_remove_element.js +6 -9
  6. package/src/core/collection/array/array_remove_first.js +13 -6
  7. package/src/core/collection/array/array_remove_first.spec.js +39 -0
  8. package/src/core/collection/array/binarySearchHighIndex.spec.js +10 -9
  9. package/src/core/collection/heap/Uin32Heap.spec.js +36 -0
  10. package/src/core/collection/heap/Uint32Heap.js +10 -5
  11. package/src/core/function/FunctionCompiler.js +4 -4
  12. package/src/core/function/Functions.js +0 -19
  13. package/src/core/geom/3d/SurfacePoint3.js +30 -20
  14. package/src/core/geom/3d/SurfacePoint3.spec.js +116 -0
  15. package/src/core/geom/3d/aabb/AABB3.js +10 -9
  16. package/src/core/geom/3d/aabb/{aabb3_array_contains_point.js → aabb3_array_intersects_point.js} +4 -1
  17. package/src/core/geom/3d/aabb/aabb3_from_min_max.js +25 -1
  18. package/src/core/geom/3d/aabb/aabb3_from_threejs_geometry.js +2 -25
  19. package/src/core/geom/3d/aabb/aabb3_signed_distance_sqr_to_point.js +5 -1
  20. package/src/core/geom/3d/apply_mat4_transform_to_direction_v3_array.js +5 -1
  21. package/src/core/geom/3d/apply_mat4_transform_to_v3_array.js +5 -1
  22. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.js +2 -2
  23. package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentric.spec.js +26 -0
  24. package/src/core/geom/3d/v3_compute_triangle_normal.spec.js +18 -0
  25. package/src/core/geom/Vector2.js +1 -1
  26. package/src/core/geom/Vector3.js +1 -1
  27. package/src/core/geom/packing/miniball/Miniball.spec.js +24 -0
  28. package/src/core/math/statistics/computeStatisticalPartialMedian.js +2 -2
  29. package/src/core/model/object/read_property.js +2 -2
  30. package/src/core/model/object/write_property.js +3 -3
  31. package/src/core/primitives/numbers/compareNumbers.js +4 -4
  32. package/src/core/primitives/numbers/number_compare_ascending.js +9 -0
  33. package/src/core/primitives/numbers/number_compare_ascending.spec.js +9 -0
  34. package/src/core/primitives/numbers/number_compare_descending.js +9 -0
  35. package/src/core/primitives/numbers/number_compare_descending.spec.js +9 -0
  36. package/src/core/primitives/numbers/number_format_by_thousands.spec.js +12 -0
  37. package/src/core/primitives/numbers/number_pretty_print.js +1 -1
  38. package/src/core/primitives/strings/compareStrings.spec.js +12 -0
  39. package/src/core/primitives/strings/string_capitalize.js +15 -0
  40. package/src/core/primitives/strings/string_capitalize.spec.js +13 -0
  41. package/src/core/primitives/strings/string_compute_byte_size.js +21 -0
  42. package/src/core/primitives/strings/string_compute_common_prefix.js +44 -0
  43. package/src/core/primitives/strings/string_compute_common_prefix.spec.js +23 -0
  44. package/src/core/primitives/strings/string_format_camel_to_kebab.js +9 -0
  45. package/src/core/primitives/strings/string_format_camel_to_kebab.spec.js +8 -0
  46. package/src/core/primitives/strings/string_format_kebab_to_underscore.js +8 -0
  47. package/src/core/time/current_time_in_seconds.js +11 -0
  48. package/src/engine/Clock.js +3 -13
  49. package/src/engine/animation/curve/AnimationCurve.spec.js +27 -0
  50. package/src/engine/asset/AssetManager.js +2 -2
  51. package/src/engine/ecs/EntityManager.js +8 -1
  52. package/src/engine/ecs/EntityManager.spec.js +56 -6
  53. package/src/engine/ecs/animation/Animation.spec.js +22 -0
  54. package/src/engine/ecs/attachment/Attachment.js +24 -25
  55. package/src/engine/ecs/attachment/AttachmentBinding.js +27 -30
  56. package/src/engine/ecs/attachment/AttachmentSystem.js +21 -24
  57. package/src/engine/ecs/attachment/BoneAttachmentBinding.js +6 -9
  58. package/src/engine/ecs/attachment/TransformAttachmentBinding.js +0 -3
  59. package/src/engine/ecs/components/CharacterController.js +24 -18
  60. package/src/engine/ecs/dynamic_actions/DynamicActorSystem.js +3 -2
  61. package/src/engine/ecs/fow/FogOfWarRevealer.js +2 -3
  62. package/src/engine/ecs/ik/IKMath.js +6 -1
  63. package/src/engine/ecs/ik/IKProblem.js +17 -17
  64. package/src/engine/ecs/ik/InverseKinematics.js +6 -7
  65. package/src/engine/ecs/ik/InverseKinematicsSystem.js +24 -26
  66. package/src/engine/ecs/storage/BinaryBufferSerializer.js +3 -3
  67. package/src/engine/ecs/systems/TagSystem.js +1 -6
  68. package/src/engine/ecs/terrain/ecs/layers/TerrainLayer.js +2 -2
  69. package/src/engine/graphics/ecs/mesh/skeleton/BoneMapping.js +2 -2
  70. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.spec.js +14 -0
  71. package/src/engine/graphics/ecs/mesh-v2/render/adapters/SGCacheKey.js +21 -9
  72. package/src/engine/graphics/ecs/mesh-v2/render/adapters/SGCacheKey.spec.js +79 -0
  73. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.spec.js +7 -6
  74. package/src/engine/simulation/Ticker.js +17 -20
  75. package/src/generation/GridTaskGroup.js +5 -9
  76. package/src/generation/filtering/numeric/CellFilterCache.js +12 -16
  77. package/src/generation/filtering/numeric/complex/CellFilterFXAA.js +31 -32
  78. package/src/generation/filtering/numeric/complex/CellFilterLookupTable.js +6 -9
  79. package/src/generation/filtering/numeric/complex/CellFilterSimplexNoise.js +7 -10
  80. package/src/generation/filtering/numeric/complex/CellFilterSobel.js +6 -9
  81. package/src/generation/filtering/numeric/math/CellFilterMembershipGeneralizedBell.js +18 -21
  82. package/src/generation/filtering/numeric/sampling/AbstractCellFilterSampleGridLayer.js +24 -25
  83. package/src/generation/filtering/numeric/sampling/CellFilterSampleLayerLinear.js +1 -1
  84. package/src/generation/grid/GridData.js +23 -22
  85. package/src/generation/grid/GridData.spec.js +41 -0
  86. package/src/generation/grid/GridTaskGenerator.js +7 -8
  87. package/src/generation/grid/layers/GridDataLayer.js +23 -25
  88. package/src/generation/markers/GridActionRuleSet.js +20 -22
  89. package/src/generation/markers/GridCellActionPlaceMarker.js +40 -43
  90. package/src/generation/markers/GridCellActionPlaceMarkerGroup.js +7 -9
  91. package/src/generation/markers/MarkerNode.js +44 -44
  92. package/src/generation/markers/actions/MarkerNodeActionEntityPlacement.js +15 -18
  93. package/src/generation/markers/actions/MarkerNodeActionSequence.js +6 -9
  94. package/src/generation/markers/actions/MarkerNodeProcessingRuleSet.js +5 -7
  95. package/src/generation/markers/actions/MarkerProcessingRule.js +25 -26
  96. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.js +12 -15
  97. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorRandomRotation.js +2 -5
  98. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorSequence.js +6 -9
  99. package/src/generation/markers/actions/probability/MarkerNodeActionSelectWeighted.js +8 -11
  100. package/src/generation/markers/actions/probability/MarkerNodeActionWeightedElement.js +13 -13
  101. package/src/generation/markers/actions/util/GridCellActionDebugBreak.js +5 -8
  102. package/src/generation/markers/actions/util/GridCellActionLogToConsole.js +1 -4
  103. package/src/generation/markers/emitter/MarkerNodeConsumerBuffer.js +10 -13
  104. package/src/generation/markers/emitter/MarkerNodeEmitterFromAction.js +5 -9
  105. package/src/generation/markers/emitter/MarkerNodeEmitterGridCellAction.js +12 -15
  106. package/src/generation/markers/emitter/MarkerNodeEmitterGroup.js +5 -8
  107. package/src/generation/markers/emitter/MarkerNodeEmitterPredicated.js +18 -21
  108. package/src/generation/markers/matcher/MarkerNodeMatcher.js +2 -1
  109. package/src/generation/markers/matcher/MarkerNodeMatcherBinary.js +12 -13
  110. package/src/generation/markers/matcher/MarkerNodeMatcherContainsTag.js +7 -9
  111. package/src/generation/markers/matcher/MarkerNodeMatcherNot.js +7 -9
  112. package/src/generation/markers/predicate/GridDataNodePredicateBinary.js +10 -14
  113. package/src/generation/markers/predicate/GridDataNodePredicateNot.js +9 -11
  114. package/src/generation/markers/predicate/GridDataNodePredicateOverlaps.js +6 -9
  115. package/src/generation/markers/transform/MarkerNodeTransformRotateRandom.js +2 -6
  116. package/src/generation/markers/transform/MarkerNodeTransformerAddPositionYFromFilter.js +6 -9
  117. package/src/generation/markers/transform/MarkerNodeTransformerOffsetPosition.js +1 -4
  118. package/src/generation/markers/transform/MarkerNodeTransformerRecordProperty.js +12 -15
  119. package/src/generation/markers/transform/MarkerNodeTransformerRecordPropertyClosure.js +14 -17
  120. package/src/generation/markers/transform/MarkerNodeTransformerRecordUniqueRandomEnum.js +21 -23
  121. package/src/generation/markers/transform/MarkerNodeTransformerRemoveTag.js +1 -4
  122. package/src/generation/markers/transform/MarkerNodeTransformerSequence.js +6 -9
  123. package/src/generation/markers/transform/MarkerNodeTransformerYRotateByFilter.js +13 -17
  124. package/src/generation/markers/transform/MarkerNodeTransformerYRotateByFilterGradient.js +12 -16
  125. package/src/generation/placement/GridCellActionTransformNearbyMarkers.js +26 -29
  126. package/src/generation/placement/GridCellPlacementRule.js +30 -32
  127. package/src/generation/placement/action/GridCellActionPlaceTags.js +26 -28
  128. package/src/generation/placement/action/GridCellActionWriteFilterToLayer.js +16 -20
  129. package/src/generation/placement/action/random/weighted/CellActionSelectWeightedRandom.js +13 -16
  130. package/src/generation/placement/action/random/weighted/WeightedGridCellAction.js +11 -14
  131. package/src/generation/placement/action/util/CellMatcherWithinAABB.js +2 -6
  132. package/src/generation/placement/action/util/GridCellActionSequence.js +7 -9
  133. package/src/generation/placement/action/util/GridCellDisplacedAction.js +9 -12
  134. package/src/generation/rules/CellMatcherFromFilter.js +6 -9
  135. package/src/generation/rules/CellMatcherLayerBitMaskTest.js +6 -9
  136. package/src/generation/rules/GridLayerCellMatcher.js +11 -14
  137. package/src/generation/rules/cell/CellMatcherContainsMarkerWithinRadius.js +11 -14
  138. package/src/generation/rules/cell/CellMatcherGridPattern.js +6 -8
  139. package/src/generation/rules/cell/GridPatternMatcherCell.js +11 -12
  140. package/src/generation/rules/logic/CellMatcherBinary.js +10 -14
  141. package/src/generation/rules/logic/CellMatcherDecorator.js +5 -8
  142. package/src/generation/theme/AreaMask.js +15 -17
  143. package/src/generation/theme/AreaTheme.js +7 -8
  144. package/src/generation/theme/TerrainLayerDescription.js +10 -12
  145. package/src/generation/theme/TerrainLayerRule.js +11 -13
  146. package/src/generation/theme/TerrainTheme.js +6 -7
  147. package/src/generation/theme/Theme.js +15 -17
  148. package/src/generation/theme/ThemeEngine.js +16 -18
  149. package/src/view/string_tag_to_css_class_name.js +2 -2
  150. package/src/view/tooltip/gml/TooltipParser.js +2 -2
  151. package/src/core/cache/PersistentCacheAdapter.js +0 -378
  152. package/src/core/primitives/strings/StringUtils.js +0 -105
  153. package/src/core/primitives/strings/StringUtils.spec.js +0 -42
  154. package/src/engine/ecs/components/MonsterAI.js +0 -15
  155. package/src/generation/markers/MarkerRelation.js +0 -13
@@ -1,11 +1,8 @@
1
1
  import { GridCellAction } from "../../../placement/action/GridCellAction.js";
2
2
 
3
3
  export class GridCellActionLogToConsole extends GridCellAction {
4
- constructor() {
5
- super();
6
4
 
7
- this.message = ``;
8
- }
5
+ message = "";
9
6
 
10
7
  static from(message) {
11
8
  const r = new GridCellActionLogToConsole();
@@ -1,21 +1,18 @@
1
1
  import { MarkerNodeConsumer } from "./MarkerNodeConsumer.js";
2
2
 
3
3
  export class MarkerNodeConsumerBuffer extends MarkerNodeConsumer {
4
- constructor() {
5
- super();
6
4
 
7
- /**
8
- *
9
- * @type {MarkerNode[]}
10
- */
11
- this.data = [];
5
+ /**
6
+ *
7
+ * @type {MarkerNode[]}
8
+ */
9
+ data = [];
12
10
 
13
- /**
14
- *
15
- * @type {number}
16
- */
17
- this.pointer = 0;
18
- }
11
+ /**
12
+ *
13
+ * @type {number}
14
+ */
15
+ pointer = 0;
19
16
 
20
17
  reset() {
21
18
  this.pointer = 0;
@@ -2,16 +2,12 @@ import { MarkerNodeEmitter } from "./MarkerNodeEmitter.js";
2
2
  import { assert } from "../../../core/assert.js";
3
3
 
4
4
  export class MarkerNodeEmitterFromAction extends MarkerNodeEmitter {
5
- constructor() {
6
- super();
7
-
8
- /**
9
- *
10
- * @type {GridCellActionPlaceMarker[]}
11
- */
12
- this.actions = [];
13
- }
14
5
 
6
+ /**
7
+ *
8
+ * @type {GridCellActionPlaceMarker[]}
9
+ */
10
+ actions = [];
15
11
 
16
12
  /**
17
13
  *
@@ -3,21 +3,18 @@ import { MarkerNodeConsumerBuffer } from "./MarkerNodeConsumerBuffer.js";
3
3
  import { assert } from "../../../core/assert.js";
4
4
 
5
5
  export class MarkerNodeEmitterGridCellAction extends GridCellAction {
6
- constructor() {
7
- super();
8
-
9
- /**
10
- *
11
- * @type {MarkerNodeEmitter}
12
- */
13
- this.emitter = null;
14
-
15
- /**
16
- *
17
- * @type {MarkerNodeConsumerBuffer}
18
- */
19
- this.buffer = new MarkerNodeConsumerBuffer();
20
- }
6
+
7
+ /**
8
+ *
9
+ * @type {MarkerNodeEmitter}
10
+ */
11
+ emitter = null;
12
+
13
+ /**
14
+ *
15
+ * @type {MarkerNodeConsumerBuffer}
16
+ */
17
+ buffer = new MarkerNodeConsumerBuffer();
21
18
 
22
19
  /**
23
20
  *
@@ -2,14 +2,11 @@ import { MarkerNodeEmitter } from "./MarkerNodeEmitter.js";
2
2
  import { assert } from "../../../core/assert.js";
3
3
 
4
4
  export class MarkerNodeEmitterGroup extends MarkerNodeEmitter {
5
- constructor() {
6
- super();
7
- /**
8
- *
9
- * @type {MarkerNodeEmitter[]}
10
- */
11
- this.elements = [];
12
- }
5
+ /**
6
+ *
7
+ * @type {MarkerNodeEmitter[]}
8
+ */
9
+ elements = [];
13
10
 
14
11
  /**
15
12
  *
@@ -4,27 +4,24 @@ import { GridDataNodePredicateAny } from "../predicate/GridDataNodePredicateAny.
4
4
  import { assert } from "../../../core/assert.js";
5
5
 
6
6
  export class MarkerNodeEmitterPredicated extends MarkerNodeEmitter {
7
- constructor() {
8
- super();
9
-
10
- /**
11
- *
12
- * @type {MarkerNodeEmitter}
13
- */
14
- this.source = null;
15
-
16
- /**
17
- *
18
- * @type {GridDataNodePredicate}
19
- */
20
- this.nodePredicate = GridDataNodePredicateAny.INSTANCE;
21
-
22
- /**
23
- *
24
- * @type {MarkerNodeConsumerBuffer}
25
- */
26
- this.buffer = new MarkerNodeConsumerBuffer();
27
- }
7
+
8
+ /**
9
+ *
10
+ * @type {MarkerNodeEmitter}
11
+ */
12
+ source = null;
13
+
14
+ /**
15
+ *
16
+ * @type {GridDataNodePredicate}
17
+ */
18
+ nodePredicate = GridDataNodePredicateAny.INSTANCE;
19
+
20
+ /**
21
+ *
22
+ * @type {MarkerNodeConsumerBuffer}
23
+ */
24
+ buffer = new MarkerNodeConsumerBuffer();
28
25
 
29
26
  /**
30
27
  *
@@ -5,7 +5,8 @@ export class MarkerNodeMatcher {
5
5
  * @returns {boolean}
6
6
  */
7
7
  match(node) {
8
-
8
+ // need to override in the subclass
9
+ throw new Error('Not Implemented');
9
10
  }
10
11
  }
11
12
 
@@ -1,19 +1,18 @@
1
1
  import { MarkerNodeMatcher } from "./MarkerNodeMatcher.js";
2
2
 
3
3
  export class MarkerNodeMatcherBinary extends MarkerNodeMatcher {
4
- constructor() {
5
- super();
6
4
 
7
- /**
8
- *
9
- * @type {MarkerNodeMatcher}
10
- */
11
- this.left = null;
12
5
 
13
- /**
14
- *
15
- * @type {MarkerNodeMatcher}
16
- */
17
- this.right = null;
18
- }
6
+ /**
7
+ *
8
+ * @type {MarkerNodeMatcher}
9
+ */
10
+ left = null;
11
+
12
+ /**
13
+ *
14
+ * @type {MarkerNodeMatcher}
15
+ */
16
+ right = null;
17
+
19
18
  }
@@ -2,15 +2,13 @@ import { MarkerNodeMatcher } from "./MarkerNodeMatcher.js";
2
2
  import { assert } from "../../../core/assert.js";
3
3
 
4
4
  export class MarkerNodeMatcherContainsTag extends MarkerNodeMatcher {
5
- constructor() {
6
- super();
7
-
8
- /**
9
- *
10
- * @type {String}
11
- */
12
- this.tag = null;
13
- }
5
+
6
+ /**
7
+ *
8
+ * @type {String}
9
+ */
10
+ tag = null;
11
+
14
12
 
15
13
  static from(tag) {
16
14
  assert.typeOf(tag, 'string', 'tag');
@@ -2,15 +2,13 @@ import { MarkerNodeMatcher } from "./MarkerNodeMatcher.js";
2
2
  import { assert } from "../../../core/assert.js";
3
3
 
4
4
  export class MarkerNodeMatcherNot extends MarkerNodeMatcher {
5
- constructor() {
6
- super();
7
-
8
- /**
9
- *
10
- * @type {MarkerNodeMatcher}
11
- */
12
- this.source = null;
13
- }
5
+
6
+ /**
7
+ *
8
+ * @type {MarkerNodeMatcher}
9
+ */
10
+ source = null;
11
+
14
12
 
15
13
  /**
16
14
  *
@@ -2,21 +2,17 @@ import { GridDataNodePredicate } from "./GridDataNodePredicate.js";
2
2
 
3
3
  export class GridDataNodePredicateBinary extends GridDataNodePredicate {
4
4
 
5
- constructor() {
6
- super();
7
-
8
- /**
9
- *
10
- * @type {GridDataNodePredicate}
11
- */
12
- this.left = null;
5
+ /**
6
+ *
7
+ * @type {GridDataNodePredicate}
8
+ */
9
+ left = null;
13
10
 
14
- /**
15
- *
16
- * @type {GridDataNodePredicate}
17
- */
18
- this.right = null;
19
- }
11
+ /**
12
+ *
13
+ * @type {GridDataNodePredicate}
14
+ */
15
+ right = null;
20
16
 
21
17
  /**
22
18
  *
@@ -2,23 +2,21 @@ import { GridDataNodePredicate } from "./GridDataNodePredicate.js";
2
2
  import { assert } from "../../../core/assert.js";
3
3
 
4
4
  export class GridDataNodePredicateNot extends GridDataNodePredicate {
5
- constructor() {
6
- super();
7
-
8
- /**
9
- *
10
- * @type {GridDataNodePredicate}
11
- */
12
- this.source = null;
13
- }
5
+
6
+ /**
7
+ *
8
+ * @type {GridDataNodePredicate}
9
+ */
10
+ source = null;
11
+
14
12
 
15
13
  /**
16
14
  *
17
15
  * @param {GridDataNodePredicate} source
18
16
  * @return {GridDataNodePredicateNot}
19
17
  */
20
- static from(source){
21
- assert.equal(source.isGridDataNodePredicate,true,'source.isGridDataNodePredicate !== true');
18
+ static from(source) {
19
+ assert.equal(source.isGridDataNodePredicate, true, 'source.isGridDataNodePredicate !== true');
22
20
 
23
21
  const r = new GridDataNodePredicateNot();
24
22
 
@@ -3,15 +3,12 @@ import { MarkerNodeMatcherAny } from "../matcher/MarkerNodeMatcherAny.js";
3
3
  import { assert } from "../../../core/assert.js";
4
4
 
5
5
  export class GridDataNodePredicateOverlaps extends GridDataNodePredicate {
6
- constructor() {
7
- super();
8
-
9
- /**
10
- *
11
- * @type {MarkerNodeMatcher}
12
- */
13
- this.matcher = null;
14
- }
6
+
7
+ /**
8
+ *
9
+ * @type {MarkerNodeMatcher}
10
+ */
11
+ matcher = null;
15
12
 
16
13
  static from(matcher = MarkerNodeMatcherAny.INSTANCE) {
17
14
  assert.equal(matcher.isMarkerNodeMatcher, true, 'matcher.isMarkerNodeMatcher !== true');
@@ -3,13 +3,9 @@ import { MarkerNodeTransformer } from "./MarkerNodeTransformer.js";
3
3
 
4
4
  export class MarkerNodeTransformRotateRandom extends MarkerNodeTransformer {
5
5
 
6
- constructor() {
7
- super();
6
+ seed = 0;
8
7
 
9
- this.seed = 0;
10
-
11
- this.random = seededRandom(0);
12
- }
8
+ random = seededRandom(0);
13
9
 
14
10
  static from(seed = 0) {
15
11
  const r = new MarkerNodeTransformRotateRandom();
@@ -2,15 +2,12 @@ import { MarkerNodeTransformer } from "./MarkerNodeTransformer.js";
2
2
  import { assert } from "../../../core/assert.js";
3
3
 
4
4
  export class MarkerNodeTransformerAddPositionYFromFilter extends MarkerNodeTransformer {
5
- constructor() {
6
- super();
7
-
8
- /**
9
- *
10
- * @type {CellFilter}
11
- */
12
- this.filter = null;
13
- }
5
+
6
+ /**
7
+ *
8
+ * @type {CellFilter}
9
+ */
10
+ filter = null;
14
11
 
15
12
  /**
16
13
  *
@@ -3,11 +3,8 @@ import Vector2 from "../../../core/geom/Vector2.js";
3
3
  import Vector3 from "../../../core/geom/Vector3.js";
4
4
 
5
5
  export class MarkerNodeTransformerOffsetPosition extends MarkerNodeTransformer {
6
- constructor() {
7
- super();
8
6
 
9
- this.offset = new Vector2();
10
- }
7
+ offset = new Vector2();
11
8
 
12
9
  /**
13
10
  *
@@ -5,21 +5,18 @@ import { assert } from "../../../core/assert.js";
5
5
  * Write a value in {@link MarkerNode#properties}
6
6
  */
7
7
  export class MarkerNodeTransformerRecordProperty extends MarkerNodeTransformer {
8
- constructor() {
9
- super();
10
-
11
- /**
12
- *
13
- * @type {CellFilter}
14
- */
15
- this.value = null;
16
-
17
- /**
18
- *
19
- * @type {string}
20
- */
21
- this.propertyName = null;
22
- }
8
+
9
+ /**
10
+ *
11
+ * @type {CellFilter}
12
+ */
13
+ value = null;
14
+
15
+ /**
16
+ *
17
+ * @type {string}
18
+ */
19
+ propertyName = null;
23
20
 
24
21
  /**
25
22
  *
@@ -3,23 +3,20 @@ import { MarkerNodeTransformer } from "./MarkerNodeTransformer.js";
3
3
  import { assert } from "../../../core/assert.js";
4
4
 
5
5
  export class MarkerNodeTransformerRecordPropertyClosure extends MarkerNodeTransformer {
6
- constructor() {
7
- super();
8
-
9
- /**
10
- *
11
- * @type {function}
12
- */
13
- this.value = null;
14
-
15
- /**
16
- *
17
- * @type {string}
18
- */
19
- this.propertyName = null;
20
-
21
- this.random = seededRandom(0);
22
- }
6
+
7
+ /**
8
+ *
9
+ * @type {function}
10
+ */
11
+ value = null;
12
+
13
+ /**
14
+ *
15
+ * @type {string}
16
+ */
17
+ propertyName = null;
18
+
19
+ random = seededRandom(0);
23
20
 
24
21
  /**
25
22
  *
@@ -4,29 +4,27 @@ import { assert } from "../../../core/assert.js";
4
4
  import { randomIntegerBetween } from "../../../core/math/random/randomIntegerBetween.js";
5
5
 
6
6
  export class MarkerNodeTransformerRecordUniqueRandomEnum extends MarkerNodeTransformer {
7
- constructor() {
8
- super();
9
-
10
- /**
11
- *
12
- * @type {T[]}
13
- */
14
- this.value = [];
15
-
16
- /**
17
- *
18
- * @type {T[]}
19
- */
20
- this.unused = [];
21
-
22
- /**
23
- *
24
- * @type {string}
25
- */
26
- this.propertyName = null;
27
-
28
- this.random = seededRandom(0);
29
- }
7
+
8
+ /**
9
+ *
10
+ * @type {T[]}
11
+ */
12
+ value = [];
13
+
14
+ /**
15
+ *
16
+ * @type {T[]}
17
+ */
18
+ unused = [];
19
+
20
+ /**
21
+ *
22
+ * @type {string}
23
+ */
24
+ propertyName = null;
25
+
26
+ random = seededRandom(0);
27
+
30
28
 
31
29
  /**
32
30
  *
@@ -2,11 +2,8 @@ import { MarkerNodeTransformer } from "./MarkerNodeTransformer.js";
2
2
  import { assert } from "../../../core/assert.js";
3
3
 
4
4
  export class MarkerNodeTransformerRemoveTag extends MarkerNodeTransformer {
5
- constructor() {
6
- super();
7
5
 
8
- this.tag = "";
9
- }
6
+ tag = "";
10
7
 
11
8
  /**
12
9
  *
@@ -1,15 +1,12 @@
1
1
  import { MarkerNodeTransformer } from "./MarkerNodeTransformer.js";
2
2
 
3
3
  export class MarkerNodeTransformerSequence extends MarkerNodeTransformer {
4
- constructor() {
5
- super();
6
-
7
- /**
8
- *
9
- * @type {MarkerNodeTransformer[]}
10
- */
11
- this.elements = [];
12
- }
4
+
5
+ /**
6
+ *
7
+ * @type {MarkerNodeTransformer[]}
8
+ */
9
+ elements = [];
13
10
 
14
11
  static from(elements) {
15
12
  const r = new MarkerNodeTransformerSequence();
@@ -8,25 +8,21 @@ const v3_object = new Vector3();
8
8
 
9
9
  export class MarkerNodeTransformerYRotateByFilter extends MarkerNodeTransformer {
10
10
 
11
- constructor() {
12
- super();
13
-
14
- /**
15
- *
16
- * @type {CellFilter}
17
- */
18
- this.filter = null;
19
-
20
- /**
21
- * Angular offset in radians
22
- * @type {number}
23
- */
24
- this.offset = 0;
25
- }
11
+ /**
12
+ *
13
+ * @type {CellFilter}
14
+ */
15
+ filter = null;
16
+
17
+ /**
18
+ * Angular offset in radians
19
+ * @type {number}
20
+ */
21
+ offset = 0;
26
22
 
27
- initialize(grid,seed) {
23
+ initialize(grid, seed) {
28
24
  if (!this.filter.initialized) {
29
- this.filter.initialize(grid,seed);
25
+ this.filter.initialize(grid, seed);
30
26
  }
31
27
  }
32
28
 
@@ -15,21 +15,17 @@ const v2 = [];
15
15
  */
16
16
  export class MarkerNodeTransformerYRotateByFilterGradient extends MarkerNodeTransformer {
17
17
 
18
- constructor() {
19
- super();
20
-
21
- /**
22
- *
23
- * @type {CellFilter}
24
- */
25
- this.filter = null;
26
-
27
- /**
28
- * Angular offset in radians
29
- * @type {number}
30
- */
31
- this.offset = 0;
32
- }
18
+ /**
19
+ *
20
+ * @type {CellFilter}
21
+ */
22
+ filter = null;
23
+
24
+ /**
25
+ * Angular offset in radians
26
+ * @type {number}
27
+ */
28
+ offset = 0;
33
29
 
34
30
  initialize(grid, seed) {
35
31
  if (!this.filter.initialized) {
@@ -66,7 +62,7 @@ export class MarkerNodeTransformerYRotateByFilterGradient extends MarkerNodeTran
66
62
  const gradient_y = -v2[1];
67
63
 
68
64
  //compute angle from the gradient
69
- const gradientAngle = Math.atan2(gradient_y, gradient_x) ;
65
+ const gradientAngle = Math.atan2(gradient_y, gradient_x);
70
66
 
71
67
  const finalAngle = this.offset + gradientAngle;
72
68