@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.
- package/editor/view/node-graph/PortView.js +2 -2
- package/package.json +1 -1
- package/src/core/binary/BinaryBuffer.js +2 -1
- package/src/core/cache/LoadingCache.js +10 -5
- package/src/core/collection/array/array_remove_element.js +6 -9
- package/src/core/collection/array/array_remove_first.js +13 -6
- package/src/core/collection/array/array_remove_first.spec.js +39 -0
- package/src/core/collection/array/binarySearchHighIndex.spec.js +10 -9
- package/src/core/collection/heap/Uin32Heap.spec.js +36 -0
- package/src/core/collection/heap/Uint32Heap.js +10 -5
- package/src/core/function/FunctionCompiler.js +4 -4
- package/src/core/function/Functions.js +0 -19
- package/src/core/geom/3d/SurfacePoint3.js +30 -20
- package/src/core/geom/3d/SurfacePoint3.spec.js +116 -0
- package/src/core/geom/3d/aabb/AABB3.js +10 -9
- package/src/core/geom/3d/aabb/{aabb3_array_contains_point.js → aabb3_array_intersects_point.js} +4 -1
- package/src/core/geom/3d/aabb/aabb3_from_min_max.js +25 -1
- package/src/core/geom/3d/aabb/aabb3_from_threejs_geometry.js +2 -25
- package/src/core/geom/3d/aabb/aabb3_signed_distance_sqr_to_point.js +5 -1
- package/src/core/geom/3d/apply_mat4_transform_to_direction_v3_array.js +5 -1
- package/src/core/geom/3d/apply_mat4_transform_to_v3_array.js +5 -1
- package/src/core/geom/3d/tetrahedra/TetrahedralMesh.js +2 -2
- package/src/core/geom/3d/triangle/computeTriangleRayIntersectionBarycentric.spec.js +26 -0
- package/src/core/geom/3d/v3_compute_triangle_normal.spec.js +18 -0
- package/src/core/geom/Vector2.js +1 -1
- package/src/core/geom/Vector3.js +1 -1
- package/src/core/geom/packing/miniball/Miniball.spec.js +24 -0
- package/src/core/math/statistics/computeStatisticalPartialMedian.js +2 -2
- package/src/core/model/object/read_property.js +2 -2
- package/src/core/model/object/write_property.js +3 -3
- package/src/core/primitives/numbers/compareNumbers.js +4 -4
- package/src/core/primitives/numbers/number_compare_ascending.js +9 -0
- package/src/core/primitives/numbers/number_compare_ascending.spec.js +9 -0
- package/src/core/primitives/numbers/number_compare_descending.js +9 -0
- package/src/core/primitives/numbers/number_compare_descending.spec.js +9 -0
- package/src/core/primitives/numbers/number_format_by_thousands.spec.js +12 -0
- package/src/core/primitives/numbers/number_pretty_print.js +1 -1
- package/src/core/primitives/strings/compareStrings.spec.js +12 -0
- package/src/core/primitives/strings/string_capitalize.js +15 -0
- package/src/core/primitives/strings/string_capitalize.spec.js +13 -0
- package/src/core/primitives/strings/string_compute_byte_size.js +21 -0
- package/src/core/primitives/strings/string_compute_common_prefix.js +44 -0
- package/src/core/primitives/strings/string_compute_common_prefix.spec.js +23 -0
- package/src/core/primitives/strings/string_format_camel_to_kebab.js +9 -0
- package/src/core/primitives/strings/string_format_camel_to_kebab.spec.js +8 -0
- package/src/core/primitives/strings/string_format_kebab_to_underscore.js +8 -0
- package/src/core/time/current_time_in_seconds.js +11 -0
- package/src/engine/Clock.js +3 -13
- package/src/engine/animation/curve/AnimationCurve.spec.js +27 -0
- package/src/engine/asset/AssetManager.js +2 -2
- package/src/engine/ecs/EntityManager.js +8 -1
- package/src/engine/ecs/EntityManager.spec.js +56 -6
- package/src/engine/ecs/animation/Animation.spec.js +22 -0
- package/src/engine/ecs/attachment/Attachment.js +24 -25
- package/src/engine/ecs/attachment/AttachmentBinding.js +27 -30
- package/src/engine/ecs/attachment/AttachmentSystem.js +21 -24
- package/src/engine/ecs/attachment/BoneAttachmentBinding.js +6 -9
- package/src/engine/ecs/attachment/TransformAttachmentBinding.js +0 -3
- package/src/engine/ecs/components/CharacterController.js +24 -18
- package/src/engine/ecs/dynamic_actions/DynamicActorSystem.js +3 -2
- package/src/engine/ecs/fow/FogOfWarRevealer.js +2 -3
- package/src/engine/ecs/ik/IKMath.js +6 -1
- package/src/engine/ecs/ik/IKProblem.js +17 -17
- package/src/engine/ecs/ik/InverseKinematics.js +6 -7
- package/src/engine/ecs/ik/InverseKinematicsSystem.js +24 -26
- package/src/engine/ecs/storage/BinaryBufferSerializer.js +3 -3
- package/src/engine/ecs/systems/TagSystem.js +1 -6
- package/src/engine/ecs/terrain/ecs/layers/TerrainLayer.js +2 -2
- package/src/engine/graphics/ecs/mesh/skeleton/BoneMapping.js +2 -2
- package/src/engine/graphics/ecs/mesh-v2/ShadedGeometry.spec.js +14 -0
- package/src/engine/graphics/ecs/mesh-v2/render/adapters/SGCacheKey.js +21 -9
- package/src/engine/graphics/ecs/mesh-v2/render/adapters/SGCacheKey.spec.js +79 -0
- package/src/engine/graphics/render/visibility/IncrementalDeltaSet.spec.js +7 -6
- package/src/engine/simulation/Ticker.js +17 -20
- package/src/generation/GridTaskGroup.js +5 -9
- package/src/generation/filtering/numeric/CellFilterCache.js +12 -16
- package/src/generation/filtering/numeric/complex/CellFilterFXAA.js +31 -32
- package/src/generation/filtering/numeric/complex/CellFilterLookupTable.js +6 -9
- package/src/generation/filtering/numeric/complex/CellFilterSimplexNoise.js +7 -10
- package/src/generation/filtering/numeric/complex/CellFilterSobel.js +6 -9
- package/src/generation/filtering/numeric/math/CellFilterMembershipGeneralizedBell.js +18 -21
- package/src/generation/filtering/numeric/sampling/AbstractCellFilterSampleGridLayer.js +24 -25
- package/src/generation/filtering/numeric/sampling/CellFilterSampleLayerLinear.js +1 -1
- package/src/generation/grid/GridData.js +23 -22
- package/src/generation/grid/GridData.spec.js +41 -0
- package/src/generation/grid/GridTaskGenerator.js +7 -8
- package/src/generation/grid/layers/GridDataLayer.js +23 -25
- package/src/generation/markers/GridActionRuleSet.js +20 -22
- package/src/generation/markers/GridCellActionPlaceMarker.js +40 -43
- package/src/generation/markers/GridCellActionPlaceMarkerGroup.js +7 -9
- package/src/generation/markers/MarkerNode.js +44 -44
- package/src/generation/markers/actions/MarkerNodeActionEntityPlacement.js +15 -18
- package/src/generation/markers/actions/MarkerNodeActionSequence.js +6 -9
- package/src/generation/markers/actions/MarkerNodeProcessingRuleSet.js +5 -7
- package/src/generation/markers/actions/MarkerProcessingRule.js +25 -26
- package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.js +12 -15
- package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorRandomRotation.js +2 -5
- package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorSequence.js +6 -9
- package/src/generation/markers/actions/probability/MarkerNodeActionSelectWeighted.js +8 -11
- package/src/generation/markers/actions/probability/MarkerNodeActionWeightedElement.js +13 -13
- package/src/generation/markers/actions/util/GridCellActionDebugBreak.js +5 -8
- package/src/generation/markers/actions/util/GridCellActionLogToConsole.js +1 -4
- package/src/generation/markers/emitter/MarkerNodeConsumerBuffer.js +10 -13
- package/src/generation/markers/emitter/MarkerNodeEmitterFromAction.js +5 -9
- package/src/generation/markers/emitter/MarkerNodeEmitterGridCellAction.js +12 -15
- package/src/generation/markers/emitter/MarkerNodeEmitterGroup.js +5 -8
- package/src/generation/markers/emitter/MarkerNodeEmitterPredicated.js +18 -21
- package/src/generation/markers/matcher/MarkerNodeMatcher.js +2 -1
- package/src/generation/markers/matcher/MarkerNodeMatcherBinary.js +12 -13
- package/src/generation/markers/matcher/MarkerNodeMatcherContainsTag.js +7 -9
- package/src/generation/markers/matcher/MarkerNodeMatcherNot.js +7 -9
- package/src/generation/markers/predicate/GridDataNodePredicateBinary.js +10 -14
- package/src/generation/markers/predicate/GridDataNodePredicateNot.js +9 -11
- package/src/generation/markers/predicate/GridDataNodePredicateOverlaps.js +6 -9
- package/src/generation/markers/transform/MarkerNodeTransformRotateRandom.js +2 -6
- package/src/generation/markers/transform/MarkerNodeTransformerAddPositionYFromFilter.js +6 -9
- package/src/generation/markers/transform/MarkerNodeTransformerOffsetPosition.js +1 -4
- package/src/generation/markers/transform/MarkerNodeTransformerRecordProperty.js +12 -15
- package/src/generation/markers/transform/MarkerNodeTransformerRecordPropertyClosure.js +14 -17
- package/src/generation/markers/transform/MarkerNodeTransformerRecordUniqueRandomEnum.js +21 -23
- package/src/generation/markers/transform/MarkerNodeTransformerRemoveTag.js +1 -4
- package/src/generation/markers/transform/MarkerNodeTransformerSequence.js +6 -9
- package/src/generation/markers/transform/MarkerNodeTransformerYRotateByFilter.js +13 -17
- package/src/generation/markers/transform/MarkerNodeTransformerYRotateByFilterGradient.js +12 -16
- package/src/generation/placement/GridCellActionTransformNearbyMarkers.js +26 -29
- package/src/generation/placement/GridCellPlacementRule.js +30 -32
- package/src/generation/placement/action/GridCellActionPlaceTags.js +26 -28
- package/src/generation/placement/action/GridCellActionWriteFilterToLayer.js +16 -20
- package/src/generation/placement/action/random/weighted/CellActionSelectWeightedRandom.js +13 -16
- package/src/generation/placement/action/random/weighted/WeightedGridCellAction.js +11 -14
- package/src/generation/placement/action/util/CellMatcherWithinAABB.js +2 -6
- package/src/generation/placement/action/util/GridCellActionSequence.js +7 -9
- package/src/generation/placement/action/util/GridCellDisplacedAction.js +9 -12
- package/src/generation/rules/CellMatcherFromFilter.js +6 -9
- package/src/generation/rules/CellMatcherLayerBitMaskTest.js +6 -9
- package/src/generation/rules/GridLayerCellMatcher.js +11 -14
- package/src/generation/rules/cell/CellMatcherContainsMarkerWithinRadius.js +11 -14
- package/src/generation/rules/cell/CellMatcherGridPattern.js +6 -8
- package/src/generation/rules/cell/GridPatternMatcherCell.js +11 -12
- package/src/generation/rules/logic/CellMatcherBinary.js +10 -14
- package/src/generation/rules/logic/CellMatcherDecorator.js +5 -8
- package/src/generation/theme/AreaMask.js +15 -17
- package/src/generation/theme/AreaTheme.js +7 -8
- package/src/generation/theme/TerrainLayerDescription.js +10 -12
- package/src/generation/theme/TerrainLayerRule.js +11 -13
- package/src/generation/theme/TerrainTheme.js +6 -7
- package/src/generation/theme/Theme.js +15 -17
- package/src/generation/theme/ThemeEngine.js +16 -18
- package/src/view/string_tag_to_css_class_name.js +2 -2
- package/src/view/tooltip/gml/TooltipParser.js +2 -2
- package/src/core/cache/PersistentCacheAdapter.js +0 -378
- package/src/core/primitives/strings/StringUtils.js +0 -105
- package/src/core/primitives/strings/StringUtils.spec.js +0 -42
- package/src/engine/ecs/components/MonsterAI.js +0 -15
- 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
|
-
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
5
|
+
/**
|
|
6
|
+
*
|
|
7
|
+
* @type {MarkerNode[]}
|
|
8
|
+
*/
|
|
9
|
+
data = [];
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
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
|
*
|
|
@@ -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
|
-
|
|
16
|
-
|
|
17
|
-
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
6
|
-
|
|
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
|
-
|
|
17
|
-
|
|
18
|
-
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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
|
-
|
|
7
|
-
super();
|
|
6
|
+
seed = 0;
|
|
8
7
|
|
|
9
|
-
|
|
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
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
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
|
-
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
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
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
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
|
-
|
|
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
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
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
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
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
|
|