@woosh/meep-engine 2.33.20 → 2.33.24
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/core/assert.js +3 -1
- package/core/bvh2/BinaryNode.js +1 -1
- package/core/bvh2/aabb3/AABB3.js +18 -0
- package/core/bvh2/aabb3/AABB3Math.js +1 -1
- package/core/bvh2/binary/2/BinaryUint32BVH.js +498 -0
- package/core/bvh2/binary/2/BinaryUint32BVH.spec.js +54 -0
- package/core/bvh2/binary/IndexedBinaryBVH.js +22 -26
- package/core/bvh2/traversal/__detailed_box_volume_intersection.js +11 -8
- package/core/collection/ArrayUtils.js +1 -1
- package/core/collection/HashMap.js +66 -22
- package/core/collection/array/arrayQuickSort.js +9 -6
- package/core/collection/array/array_swap.js +22 -0
- package/core/collection/array/computeHashArray.js +22 -0
- package/core/collection/array/computeHashIntegerArray.js +15 -0
- package/core/collection/table/DataType2TypedArrayConstructorMapping.js +15 -0
- package/core/color/Color.js +2 -1
- package/core/function/FunctionCompiler.js +2 -1
- package/core/geom/3d/CircleMath.js +4 -4
- package/core/geom/3d/aabb/aabb3_computeDistanceAbovePlane.js +9 -33
- package/core/geom/3d/cone/computeConeBoundingBox.js +4 -4
- package/core/geom/3d/{compute_bounding_cone_of_2_cones.js → cone/compute_bounding_cone_of_2_cones.js} +3 -3
- package/core/geom/3d/{compute_bounding_cone_of_2_cones.spec.js → cone/compute_bounding_cone_of_2_cones.spec.js} +1 -1
- package/core/geom/3d/frustum/array_setFromProjectionMatrix.js +1 -1
- package/core/geom/3d/frustum/frustum3_computeNearestPointToPoint.js +11 -3
- package/core/geom/3d/line/line3_computeSegmentPointDistance_sqr.js +41 -0
- package/core/geom/3d/morton/mortonEncode_magicbits.js +2 -1
- package/core/geom/3d/morton/reinterpret_float32_as_int32.js +13 -0
- package/core/geom/3d/morton/v3_morton_encode_transformed.js +33 -0
- package/core/geom/3d/{encode_unit3_hemioct.js → normal/hemioct/encode_unit3_hemioct.js} +0 -0
- package/core/geom/3d/{unit_hemioct.spec.js → normal/hemioct/unit_hemioct.spec.js} +1 -1
- package/core/geom/3d/normal/lamber_azimuth/transform.js +61 -0
- package/core/geom/3d/normal/spherical/sphere_map_transform.js +77 -0
- package/core/geom/3d/{lerp_planes_to_array.js → plane/lerp_planes_to_array.js} +1 -3
- package/core/geom/3d/plane/plane3_lerp.js +3 -1
- package/core/geom/3d/plane/plane3_slerp.js +4 -1
- package/core/geom/3d/{plane_computeConvex3PlaneIntersection.js → plane/plane_computeConvex3PlaneIntersection.js} +14 -16
- package/core/geom/3d/ray/ray_computeNearestPointToPoint.js +37 -0
- package/core/geom/3d/shape/AbstractShape3D.js +29 -0
- package/core/geom/3d/shape/CompositeShape.js +60 -0
- package/core/geom/3d/shape/TransformedShape3D.js +70 -0
- package/core/geom/3d/shape/UnitCubeShape3D.js +13 -0
- package/core/geom/3d/shape/UnitSphereShape3D.js +16 -0
- package/core/geom/3d/topology/TopoTriangle.js +1 -1
- package/core/geom/3d/topology/TopoVertex.js +1 -1
- package/core/geom/3d/topology/bounds/computeTraingleClusterNormalBoundingCone.js +2 -2
- package/core/geom/3d/topology/simplify/compute_face_normal_change_dot_product.js +1 -1
- package/core/geom/3d/topology/simplify/quadratic/Quadratic3.js +1 -1
- package/core/geom/3d/triangle/computeTrianglePlaneSide.js +1 -1
- package/core/geom/3d/triangle/computeTriangleRayIntersection.js +1 -1
- package/core/geom/3d/voxel/DenseBitVolume3D.js +87 -0
- package/core/geom/3d/voxel/buildVolumeFromProjectedGeometry.js +23 -0
- package/core/geom/AABB2.js +1 -1
- package/core/geom/ConicRay.js +3 -1
- package/core/geom/LineSegment.js +1 -77
- package/core/geom/Matrix4.js +8 -8
- package/core/geom/Plane.js +15 -10
- package/core/geom/Quaternion.js +2 -1
- package/core/geom/Rectangle.js +2 -1
- package/core/geom/Vector1.js +1 -1
- package/core/geom/Vector3.d.ts +2 -0
- package/core/geom/Vector3.js +35 -159
- package/core/geom/Vector3.spec.js +2 -1
- package/core/geom/Vector4.js +2 -1
- package/core/geom/random/randomPointInBox.js +7 -3
- package/core/geom/random/randomPointInPoint.js +6 -3
- package/core/geom/random/randomPointInSphere.js +6 -3
- package/core/geom/random/randomPointOnBox.js +7 -3
- package/core/geom/random/randomPointOnSphere.js +6 -3
- package/core/geom/v3_angle_between.js +31 -0
- package/core/geom/v3_distance.js +16 -0
- package/core/geom/v3_distance_sqr.js +17 -0
- package/core/geom/v3_dot.js +13 -0
- package/core/geom/v3_length.js +10 -0
- package/core/geom/v3_length_sqr.js +10 -0
- package/core/geom/v3_lerp.js +21 -0
- package/core/geom/v3_slerp.js +48 -0
- package/core/graph/graph_k_means_cluster.js +1 -1
- package/core/math/MathUtils.js +0 -354
- package/core/math/MathUtils.spec.js +7 -1
- package/core/math/gaussian.js +9 -0
- package/core/math/hash/computeHashFloat.js +17 -0
- package/core/math/hash/computeHashFloatArray.js +34 -0
- package/core/math/hash/computeObjectHash.js +54 -0
- package/core/math/intersects1D.js +19 -0
- package/core/math/interval/NumericInterval.js +2 -2
- package/core/math/isValueBetween.js +10 -0
- package/core/math/isValueBetweenInclusive.js +10 -0
- package/core/math/noise/curl_noise_3dt.js +1 -1
- package/core/math/noise/sdnoise.js +10 -10
- package/core/math/overlap1D.js +19 -0
- package/core/math/pingpong.js +17 -0
- package/core/math/random/makeRangedRandom.js +19 -0
- package/core/math/random/randomFloatBetween.js +14 -0
- package/core/math/random/randomFromArray.js +19 -0
- package/core/math/random/randomGaussian.js +15 -0
- package/core/math/random/randomIntegerBetween.js +14 -0
- package/core/math/random/roundFair.js +15 -0
- package/core/math/separation1D.js +21 -0
- package/core/math/solveQuadratic.js +25 -0
- package/core/model/BoundedValue.js +1 -1
- package/core/model/node-graph/node/NodeInstancePortReference.js +1 -1
- package/core/model/node-graph/node/Port.js +1 -1
- package/core/model/reactive/evaluation/MultiPredicateEvaluator.spec.js +3 -1
- package/core/model/reactive/model/ReactiveBinaryExpression.js +1 -1
- package/core/model/reactive/model/terminal/ReactiveLiteralNumber.js +1 -1
- package/core/model/reactive/model/terminal/ReactiveReference.js +1 -1
- package/core/model/reactive/model/util/createRandomReactiveExpression.js +1 -1
- package/core/model/stat/LinearModifier.js +1 -1
- package/core/primitives/array/computeIntegerArrayHash.js +6 -1
- package/engine/animation/curve/AnimationCurve.js +72 -0
- package/engine/animation/curve/Keyframe.js +27 -0
- package/engine/animation/keyed2/AnimationTrack.js +27 -3
- package/engine/asset/Asset.js +1 -1
- package/engine/asset/loaders/GLTFAssetLoader.d.ts +1 -1
- package/engine/asset/loaders/GLTFAssetLoader.js +10 -0
- package/engine/asset/loaders/image/ImageRGBADataAsset.js +8 -1
- package/engine/asset/loaders/material/computeImageBitmapEquality.js +11 -0
- package/engine/asset/loaders/material/computeImageBitmapHash.js +22 -28
- package/engine/asset/loaders/material/computeMaterialHash.js +4 -3
- package/engine/asset/loaders/material/computeTextureEquality.js +13 -5
- package/engine/asset/loaders/material/computeTextureHash.js +2 -1
- package/engine/ecs/animation/Animation.js +2 -1
- package/engine/ecs/animation/InverseKinematics.js +2 -1
- package/engine/ecs/animation/OneBoneSurfaceAlignmentSolver.js +3 -1
- package/engine/ecs/animation/TwoBoneInverseKinematicsSolver.js +3 -1
- package/engine/ecs/dynamic_actions/DynamicActorSystem.js +2 -1
- package/engine/ecs/dynamic_actions/DynamicRuleDescriptionTable.spec.js +3 -5
- package/engine/ecs/dynamic_actions/actions/definition/WeightedRandomActionDescription.js +1 -1
- package/engine/ecs/evaluation/complex/PointFitnessGaussianBlur.js +1 -1
- package/engine/ecs/foliage/ecs/Foliage2.js +1 -1
- package/engine/ecs/fow/FogOfWar.js +2 -3
- package/engine/ecs/fow/shader/FogOfWarRenderer.js +1 -1
- package/engine/ecs/gui/GUIElement.js +1 -1
- package/engine/ecs/gui/hud/HeadsUpDisplay.js +1 -1
- package/engine/ecs/gui/hud/HeadsUpDisplaySystem.js +1 -1
- package/engine/ecs/gui/position/ViewportPosition.js +2 -1
- package/engine/ecs/systems/RangedAttackSystem.js +1 -1
- package/engine/ecs/systems/SteeringSystem.js +3 -2
- package/engine/ecs/terrain/ecs/Terrain.js +6 -0
- package/engine/ecs/terrain/ecs/layers/TerrainLayers.js +5 -0
- package/engine/ecs/terrain/ecs/splat/SplatMapping.js +5 -0
- package/engine/ecs/terrain/tiles/TerrainTileManager.js +1 -1
- package/engine/ecs/tooltip/TooltipComponent.js +15 -0
- package/engine/ecs/util/hideEntityGracefully.js +18 -0
- package/engine/graphics/GraphicsEngine.js +1 -0
- package/engine/graphics/camera/testClippingPlaneComputation.js +2 -2
- package/engine/graphics/ecs/animation/animator/AnimationClip.js +2 -1
- package/engine/graphics/ecs/animation/animator/AnimationClipDefinition.js +2 -1
- package/engine/graphics/ecs/animation/animator/AnimationNotification.js +2 -1
- package/engine/graphics/ecs/animation/animator/AnimationNotificationDefinition.js +2 -1
- package/engine/graphics/ecs/animation/animator/graph/AnimationGraph.js +2 -1
- package/engine/graphics/ecs/animation/animator/graph/definition/AnimationGraphDefinition.js +2 -1
- package/engine/graphics/ecs/animation/animator/graph/definition/AnimationStateDefinition.js +1 -1
- package/engine/graphics/ecs/animation/animator/graph/definition/AnimationTransitionDefinition.js +2 -1
- package/engine/graphics/ecs/camera/CameraClippingPlaneComputer.js +2 -2
- package/engine/graphics/ecs/highlight/HighlightDefinition.js +2 -1
- package/engine/graphics/ecs/highlight/renderer/OutlineRenderer.js +0 -53
- package/engine/graphics/ecs/light/Light.d.ts +1 -1
- package/engine/graphics/ecs/light/Light.js +3 -0
- package/engine/graphics/ecs/mesh/Mesh.js +2 -1
- package/engine/graphics/ecs/mesh-v2/ShadedGeometry.d.ts +13 -0
- package/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.d.ts +6 -0
- package/engine/graphics/ecs/path/testPathDisplaySystem.js +98 -98
- package/engine/graphics/ecs/trail2d/Trail2D.js +17 -4
- package/engine/graphics/ecs/trail2d/Trail2DSystem.d.ts +2 -3
- package/engine/graphics/ecs/trail2d/Trail2DSystem.js +34 -118
- package/engine/graphics/geometry/AttributeSpec.js +105 -0
- package/engine/graphics/{micron/format/MicronVertexDataSpec.js → geometry/VertexDataSpec.js} +56 -25
- package/engine/graphics/geometry/bvh/buffered/BVHGeometryRaycaster.js +2 -1
- package/engine/graphics/micron/build/buildMicronGeometryFromBufferGeometry.js +7 -7
- package/engine/graphics/micron/build/clustering/computeFaceCurvatureScore.js +1 -1
- package/engine/graphics/micron/build/clustering/compute_face_connection_weight.js +1 -1
- package/engine/graphics/micron/build/fill_patch_geometry_data.js +1 -1
- package/engine/graphics/micron/build/hierarchy/computePatchMergeScore.js +1 -1
- package/engine/graphics/micron/build/hierarchy/patch_combine.js +1 -1
- package/engine/graphics/micron/buildPatchwork.js +1 -1
- package/engine/graphics/micron/format/MicronGeometry.js +3 -3
- package/engine/graphics/micron/format/serialization/MicronGeometryBinarySerializationAdapter.js +2 -2
- package/engine/graphics/micron/format/serialization/deserialize_attribute_spec.js +1 -1
- package/engine/graphics/micron/format/serialization/serialize_attribute_spec.js +1 -1
- package/engine/graphics/micron/render/PatchCacheKey.js +1 -1
- package/engine/graphics/micron/render/instanced/AttributeDataTexture.js +5 -5
- package/engine/graphics/micron/render/refinement/is_patch_facing_back.js +2 -2
- package/engine/graphics/micron/render/v1/ThreeVirtualGeometryAdapter.js +1 -1
- package/engine/graphics/particles/particular/engine/ParticularEngine.js +4 -2
- package/engine/graphics/particles/particular/engine/emitter/PARTICULAR_PARTICLE_SPECIFICATION.js +84 -0
- package/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +92 -144
- package/engine/graphics/particles/particular/engine/emitter/ParticleLayer.js +14 -3
- package/engine/graphics/particles/particular/engine/emitter/ParticlePool.js +51 -12
- package/engine/graphics/particles/particular/engine/emitter/ParticlePool.spec.js +3 -2
- package/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.js +37 -0
- package/engine/graphics/particles/particular/engine/emitter/distance_to_camera.js +25 -0
- package/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.js +8 -2
- package/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.js +2 -1
- package/engine/graphics/particles/particular/engine/parameter/ParameterTrack.js +1 -1
- package/engine/graphics/particles/particular/engine/parameter/ParticleParameter.js +1 -1
- package/engine/graphics/particles/particular/engine/renderers/billboard/BILLBOARD_PARTICLE_SPECIFICATION.js +21 -0
- package/engine/graphics/particles/particular/engine/renderers/billboard/ParticleBillboardMaterial.js +0 -20
- package/engine/graphics/particles/particular/engine/renderers/billboard/prototypeBillboardRenderer.js +9 -9
- package/engine/graphics/particles/particular/engine/shader/ShaderManager.js +7 -25
- package/engine/graphics/particles/particular/engine/simulator/SimulationStepApplyForce.js +2 -5
- package/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseAcceleration.js +2 -6
- package/engine/graphics/particles/particular/engine/simulator/SimulationStepCurlNoiseVelocity.js +2 -7
- package/engine/graphics/particles/particular/engine/simulator/SimulationStepFixedPhysics.js +2 -5
- package/engine/graphics/particles/particular/engine/simulator/update_parameters.js +1 -1
- package/engine/graphics/particles/particular/engine/utils/distributeParticlesOnObject3D.js +1 -1
- package/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.js +1 -1
- package/engine/graphics/particles/particular/engine/utils/volume/ParticleVolume.js +384 -0
- package/engine/graphics/particles/particular/engine/utils/volume/prototypeParticleVolume.js +558 -0
- package/engine/graphics/particles/particular/group/Operation.js +18 -0
- package/engine/graphics/particles/particular/group/OperationType.js +9 -0
- package/engine/graphics/particles/particular/group/ParticleAttribute.js +2 -1
- package/engine/graphics/particles/particular/group/ParticleAttributeType.js +11 -0
- package/engine/graphics/particles/particular/group/ParticleDataType.js +10 -0
- package/engine/graphics/particles/particular/group/ParticleGroup.js +7 -245
- package/engine/graphics/particles/particular/group/ParticleGroup.spec.js +3 -1
- package/engine/graphics/particles/particular/group/ParticleSpecification.js +21 -14
- package/engine/graphics/particles/particular/group/itemSizeFromAttributeType.js +20 -0
- package/engine/graphics/particles/particular/group/optimizeCommandQueue.js +162 -0
- package/engine/graphics/particles/particular/group/typedArrayConstructorFromDataType.js +19 -0
- package/engine/graphics/render/buffer/buffers/prototypeNormalFrameBuffer.js +2 -2
- package/engine/graphics/render/buffer/simple-fx/ao/AmbientOcclusionPostProcessEffect.js +1 -1
- package/engine/graphics/render/buffer/slot/parameter/ProgramValueSlotParameter.js +2 -1
- package/engine/graphics/render/buffer/slot/parameter/ProgramValueSlotParameterSet.js +1 -1
- package/engine/graphics/render/forward_plus/LightManager.js +126 -95
- package/engine/graphics/render/forward_plus/PointLight.js +9 -0
- package/engine/graphics/render/forward_plus/PointLightData.js +1 -1
- package/engine/graphics/render/forward_plus/SpotLight.js +9 -0
- package/engine/graphics/render/forward_plus/cluster/compute_light_data_hash_0.js +2 -2
- package/engine/graphics/render/forward_plus/computeFrustumCorners.js +15 -33
- package/engine/graphics/render/forward_plus/plugin/ForwardPlusRenderingPlugin.js +1 -1
- package/engine/graphics/render/forward_plus/plugin/MaterialTransformer.js +12 -2
- package/engine/graphics/render/forward_plus/plugin/ptototypeFPPlugin.js +6 -6
- package/engine/graphics/render/forward_plus/prototypeLightManager.js +231 -136
- package/engine/graphics/render/forward_plus/query/analytical_triplanar_corner_mapping.js +8 -0
- package/engine/graphics/render/forward_plus/query/cube_mapping.js +38 -0
- package/engine/graphics/render/forward_plus/query/detailed_sphere_frustum_intersection_test.js +86 -0
- package/engine/graphics/render/forward_plus/query/point_light_inside_volume.js +73 -0
- package/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_objects.js +131 -0
- package/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_texture.js +129 -0
- package/engine/graphics/render/forward_plus/query/spot_light_inside_volume.js +33 -0
- package/engine/graphics/render/forward_plus/read_frustum_corner.js +14 -0
- package/engine/graphics/render/forward_plus/testClusterEquality.js +22 -0
- package/engine/graphics/render/layers/RenderLayerUtils.js +8 -5
- package/engine/graphics/render/visibility/IncrementalDeltaSet.js +11 -0
- package/engine/graphics/render/visibility/hiz/prototypeHiZ.js +2 -2
- package/engine/graphics/texture/atlas/AtlasPatch.js +7 -2
- package/engine/graphics/texture/atlas/TextureAtlas.js +18 -14
- package/engine/graphics/texture/sampler/HarmonicDiffusionGrid.spec.js +1 -1
- package/engine/graphics/texture/sampler/SampleTraverser.js +1 -1
- package/engine/graphics/texture/sampler/Sampler2D.js +8 -7
- package/engine/graphics/texture/sampler/distanceField.spec.js +1 -1
- package/engine/graphics/texture/sampler/scaleSampler2D.js +7 -10
- package/engine/graphics/trail/x/RibbonMaterialX.js +3 -3
- package/engine/graphics/trail/x/RibbonX.js +17 -2
- package/engine/graphics/trail/x/RibbonXPlugin.js +51 -1
- package/engine/graphics/util/projectSphere.js +1 -1
- package/engine/grid/components/GridObstacle.js +3 -10
- package/engine/intelligence/behavior/selector/WeightedElement.js +2 -1
- package/engine/intelligence/optimization/RandomOptimizer.js +1 -1
- package/engine/navigation/ecs/components/Path.js +3 -2
- package/engine/navigation/grid/FastBinaryHeap.spec.js +1 -1
- package/engine/reference/v2/Reference.js +6 -0
- package/engine/sound/ecs/emitter/SoundEmitter.js +2 -1
- package/engine/sound/ecs/emitter/SoundTrack.js +2 -1
- package/engine/sound/material/concrete/RandomSoundMaterial.js +1 -1
- package/engine/ui/notification/notificationGenerator.js +1 -1
- package/generation/filtering/numeric/complex/CellFilterAngleToNormal.js +3 -2
- package/generation/filtering/numeric/complex/CellFilterGaussianBlur.js +1 -1
- package/generation/grid/generation/GridTaskExecuteRuleTimes.js +2 -1
- package/generation/markers/GridCellActionPlaceMarker.js +13 -1
- package/generation/markers/MarkerNode.js +6 -0
- package/generation/markers/actions/MarkerNodeActionSelectRandom.js +1 -1
- package/generation/markers/transform/MarkerNodeTransformerRecordUniqueRandomEnum.js +1 -1
- package/generation/placement/action/random/CellActionSelectRandom.js +1 -1
- package/generation/theme/ThemeEngine.js +5 -2
- package/misc/makeMaterialIconCached.js +2 -2
- package/package.json +3 -3
- package/view/View.js +4 -2
- package/view/elements/image/HTMLElementCacheKey.js +2 -1
- package/view/elements/radial/RadialText.js +2 -1
- package/view/minimap/gl/MinimapMarkersGL.js +19 -101
- package/view/minimap/gl/buildMaterial.js +94 -0
- package/engine/graphics/micron/format/MicronGeometryBufferAttributeSpec.js +0 -71
- package/engine/graphics/render/forward_plus/queryBVH_Frustum.js +0 -345
|
@@ -95,11 +95,11 @@ function makeConfig(engine) {
|
|
|
95
95
|
new TopDownCameraControllerSystem(graphics),
|
|
96
96
|
new TopDownCameraLanderSystem(),
|
|
97
97
|
new CameraSystem(graphics.scene, graphics),
|
|
98
|
-
new MeshSystem(
|
|
98
|
+
new MeshSystem(engine),
|
|
99
99
|
new ClingToTerrainSystem(),
|
|
100
100
|
new TerrainSystem(graphics, assetManager),
|
|
101
101
|
new WaterSystem(graphics),
|
|
102
|
-
new Trail2DSystem(
|
|
102
|
+
new Trail2DSystem(engine),
|
|
103
103
|
new Foliage2System(assetManager, graphics),
|
|
104
104
|
new ViewportPositionSystem(graphics.viewport.size),
|
|
105
105
|
new GridPosition2TransformSystem(),
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { computeHashFloat, computeHashIntegerArray} from "../../../../../core/math/MathUtils.js";
|
|
2
1
|
import { min2 } from "../../../../../core/math/min2.js";
|
|
3
2
|
import { AnimationClipFlag } from "./AnimationClipFlag.js";
|
|
4
3
|
import { LoopOnce, LoopRepeat } from "three";
|
|
5
4
|
import { AnimationEventTypes } from "./AnimationEventTypes.js";
|
|
5
|
+
import { computeHashIntegerArray } from "../../../../../core/collection/array/computeHashIntegerArray.js";
|
|
6
|
+
import { computeHashFloat } from "../../../../../core/math/hash/computeHashFloat.js";
|
|
6
7
|
|
|
7
8
|
export class AnimationClip {
|
|
8
9
|
constructor() {
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { isArrayEqual } from "../../../../../core/collection/ArrayUtils.js";
|
|
2
|
-
import { computeHashArray, computeHashIntegerArray } from "../../../../../core/math/MathUtils.js";
|
|
3
2
|
import { computeStringHash } from "../../../../../core/primitives/strings/computeStringHash.js";
|
|
4
3
|
import { invokeObjectHash } from "../../../../../core/model/object/invokeObjectHash.js";
|
|
4
|
+
import { computeHashArray } from "../../../../../core/collection/array/computeHashArray.js";
|
|
5
|
+
import { computeHashIntegerArray } from "../../../../../core/collection/array/computeHashIntegerArray.js";
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
*
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { computeHashIntegerArray } from "../../../../../core/collection/array/computeHashIntegerArray.js";
|
|
2
|
+
import { computeHashFloat } from "../../../../../core/math/hash/computeHashFloat.js";
|
|
2
3
|
|
|
3
4
|
export class AnimationNotification {
|
|
4
5
|
constructor() {
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { computeHashIntegerArray, computeObjectHash } from "../../../../../core/math/MathUtils.js";
|
|
2
1
|
import { objectDeepEquals } from "../../../../../core/model/object/objectDeepEquals.js";
|
|
3
2
|
import { computeStringHash } from "../../../../../core/primitives/strings/computeStringHash.js";
|
|
3
|
+
import { computeHashIntegerArray } from "../../../../../core/collection/array/computeHashIntegerArray.js";
|
|
4
|
+
import { computeObjectHash } from "../../../../../core/math/hash/computeObjectHash.js";
|
|
4
5
|
|
|
5
6
|
export class AnimationNotificationDefinition {
|
|
6
7
|
constructor() {
|
|
@@ -3,11 +3,12 @@ import { AnimationTransition } from "./AnimationTransition.js";
|
|
|
3
3
|
import { AnimationStateType } from "./AnimationStateType.js";
|
|
4
4
|
import { AnimationMixer } from "three";
|
|
5
5
|
import { AnimationGraphFlag } from "./AnimationGraphFlag.js";
|
|
6
|
-
import { computeHashFloat, computeHashIntegerArray } from "../../../../../../core/math/MathUtils.js";
|
|
7
6
|
import { writeAnimationGraphDefinitionToJSON } from "./definition/serialization/writeAnimationGraphDefinitionToJSON.js";
|
|
8
7
|
import { readAnimationGraphDefinitionFromJSON } from "./definition/serialization/readAnimationGraphDefinitionFromJSON.js";
|
|
9
8
|
import { assert } from "../../../../../../core/assert.js";
|
|
10
9
|
import { threeUpdateTransform } from "../../../../util/threeUpdateTransform.js";
|
|
10
|
+
import { computeHashIntegerArray } from "../../../../../../core/collection/array/computeHashIntegerArray.js";
|
|
11
|
+
import { computeHashFloat } from "../../../../../../core/math/hash/computeHashFloat.js";
|
|
11
12
|
|
|
12
13
|
export class AnimationGraph {
|
|
13
14
|
constructor() {
|
|
@@ -4,8 +4,9 @@ import { AnimationStateDefinition } from "./AnimationStateDefinition.js";
|
|
|
4
4
|
import { AnimationClipDefinition } from "../../AnimationClipDefinition.js";
|
|
5
5
|
import { AnimationClip } from "../../AnimationClip.js";
|
|
6
6
|
import { isArrayEqual } from "../../../../../../../core/collection/ArrayUtils.js";
|
|
7
|
-
import { computeHashArray, computeHashIntegerArray } from "../../../../../../../core/math/MathUtils.js";
|
|
8
7
|
import { invokeObjectHash } from "../../../../../../../core/model/object/invokeObjectHash.js";
|
|
8
|
+
import { computeHashArray } from "../../../../../../../core/collection/array/computeHashArray.js";
|
|
9
|
+
import { computeHashIntegerArray } from "../../../../../../../core/collection/array/computeHashIntegerArray.js";
|
|
9
10
|
|
|
10
11
|
export class AnimationGraphDefinition {
|
|
11
12
|
constructor() {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { AnimationStateType } from "../AnimationStateType.js";
|
|
2
|
-
import { computeHashIntegerArray } from "../../../../../../../core/
|
|
2
|
+
import { computeHashIntegerArray } from "../../../../../../../core/collection/array/computeHashIntegerArray.js";
|
|
3
3
|
|
|
4
4
|
export class AnimationStateDefinition {
|
|
5
5
|
constructor() {
|
package/engine/graphics/ecs/animation/animator/graph/definition/AnimationTransitionDefinition.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { computeHashFloat, computeHashIntegerArray } from "../../../../../../../core/math/MathUtils.js";
|
|
2
1
|
import { computeStringHash } from "../../../../../../../core/primitives/strings/computeStringHash.js";
|
|
2
|
+
import { computeHashIntegerArray } from "../../../../../../../core/collection/array/computeHashIntegerArray.js";
|
|
3
|
+
import { computeHashFloat } from "../../../../../../../core/math/hash/computeHashFloat.js";
|
|
3
4
|
|
|
4
5
|
export class AnimationTransitionDefinition {
|
|
5
6
|
constructor() {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { isValueBetweenInclusive } from "../../../../core/math/MathUtils.js";
|
|
2
1
|
import { frustumFromCamera } from "./CameraSystem.js";
|
|
3
2
|
import { Frustum as ThreeFrustum } from "three";
|
|
4
|
-
import { v3_dot } from "../../../../core/geom/
|
|
3
|
+
import { v3_dot } from "../../../../core/geom/v3_dot.js";
|
|
4
|
+
import { isValueBetweenInclusive } from "../../../../core/math/isValueBetweenInclusive.js";
|
|
5
5
|
|
|
6
6
|
const CLIPPING_EPSILON = 0.001;
|
|
7
7
|
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { Color } from "../../../../core/color/Color.js";
|
|
2
2
|
import { assert } from "../../../../core/assert.js";
|
|
3
|
-
import { computeHashFloat, computeHashIntegerArray } from "../../../../core/math/MathUtils.js";
|
|
4
3
|
import { COMPONENT_SERIALIZATION_TRANSIENT_FIELD } from "../../../ecs/storage/COMPONENT_SERIALIZATION_TRANSIENT_FIELD.js";
|
|
4
|
+
import { computeHashIntegerArray } from "../../../../core/collection/array/computeHashIntegerArray.js";
|
|
5
|
+
import { computeHashFloat } from "../../../../core/math/hash/computeHashFloat.js";
|
|
5
6
|
|
|
6
7
|
export class HighlightDefinition {
|
|
7
8
|
constructor() {
|
|
@@ -18,8 +18,6 @@ import {
|
|
|
18
18
|
Vector2,
|
|
19
19
|
WebGLRenderTarget
|
|
20
20
|
} from "three";
|
|
21
|
-
import { Sampler2D } from "../../../texture/sampler/Sampler2D.js";
|
|
22
|
-
import convertSampler2D2Canvas from "../../../texture/sampler/Sampler2D2Canvas.js";
|
|
23
21
|
import { makeHighlightDecodeShader } from "./HighlightDecodeShader.js";
|
|
24
22
|
import { makeDilationShader } from "./makeDilationShader.js";
|
|
25
23
|
import { ScreenSpaceQuadShader } from "../../../shaders/ScreenSpaceQuadShader.js";
|
|
@@ -500,57 +498,6 @@ export class OutlineRenderer {
|
|
|
500
498
|
renderer.setRenderTarget(null);
|
|
501
499
|
}
|
|
502
500
|
|
|
503
|
-
debugObjectIDs() {
|
|
504
|
-
|
|
505
|
-
const s = Sampler2D.uint8(4, this.__renderTargetObjectId_t0.width, this.__renderTargetObjectId_t0.height);
|
|
506
|
-
|
|
507
|
-
this.renderer.readRenderTargetPixels(this.__renderTargetObjectId_t0, 0, 0, this.__renderTargetObjectId_t0.width, this.__renderTargetObjectId_t0.height, s);
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
const htmlCanvasElement = convertSampler2D2Canvas(s, 1, 0);
|
|
511
|
-
|
|
512
|
-
htmlCanvasElement.style.zIndex = 10000;
|
|
513
|
-
htmlCanvasElement.style.position = "absolute";
|
|
514
|
-
|
|
515
|
-
document.body.appendChild(htmlCanvasElement);
|
|
516
|
-
}
|
|
517
|
-
|
|
518
|
-
/**
|
|
519
|
-
*
|
|
520
|
-
* @param {Object3D} object
|
|
521
|
-
*/
|
|
522
|
-
renderObjectId(object) {
|
|
523
|
-
if (object.isMesh || object.isSkinnedMesh) {
|
|
524
|
-
|
|
525
|
-
const geometry = object.geometry;
|
|
526
|
-
|
|
527
|
-
if (geometry === undefined) {
|
|
528
|
-
return;
|
|
529
|
-
}
|
|
530
|
-
|
|
531
|
-
const renderer = this.renderer;
|
|
532
|
-
|
|
533
|
-
if (object.isSkinnedMesh) {
|
|
534
|
-
|
|
535
|
-
renderer.renderBufferDirect(this.camera, null, geometry, material_id_skinned, object, null);
|
|
536
|
-
|
|
537
|
-
} else {
|
|
538
|
-
renderer.renderBufferDirect(this.camera, null, geometry, material_id_unskinned, object, null);
|
|
539
|
-
}
|
|
540
|
-
|
|
541
|
-
}
|
|
542
|
-
|
|
543
|
-
const children = object.children;
|
|
544
|
-
|
|
545
|
-
const child_count = children.length;
|
|
546
|
-
|
|
547
|
-
for (let i = 0; i < child_count; i++) {
|
|
548
|
-
const child = children[i];
|
|
549
|
-
|
|
550
|
-
this.renderObjectId(child);
|
|
551
|
-
}
|
|
552
|
-
}
|
|
553
|
-
|
|
554
501
|
/**
|
|
555
502
|
*
|
|
556
503
|
* @param {Material} material
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import ObservedEnum from "../../../../core/model/ObservedEnum";
|
|
2
2
|
import {Color} from "../../../../core/color/Color";
|
|
3
|
-
import
|
|
3
|
+
import Vector1 from "../../../../core/geom/Vector1";
|
|
4
4
|
import ObservedBoolean from "../../../../core/model/ObservedBoolean";
|
|
5
5
|
import {LightType} from "./LightType";
|
|
6
6
|
|
|
@@ -103,7 +103,10 @@ export class Light {
|
|
|
103
103
|
|
|
104
104
|
if (json.intensity !== undefined) {
|
|
105
105
|
this.intensity.fromJSON(json.intensity);
|
|
106
|
+
} else {
|
|
107
|
+
this.intensity.set(1);
|
|
106
108
|
}
|
|
109
|
+
|
|
107
110
|
if (json.castShadow !== undefined) {
|
|
108
111
|
this.castShadow.fromJSON(json.castShadow);
|
|
109
112
|
}
|
|
@@ -3,13 +3,14 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { AABB3 } from "../../../../core/bvh2/aabb3/AABB3.js";
|
|
5
5
|
import { LeafNode } from "../../../../core/bvh2/LeafNode.js";
|
|
6
|
-
import { computeHashFloat, computeHashIntegerArray } from "../../../../core/math/MathUtils.js";
|
|
7
6
|
import { getSkeletonBoneByType } from "./SkeletonUtils.js";
|
|
8
7
|
import { assert } from "../../../../core/assert.js";
|
|
9
8
|
import { computeStringHash } from "../../../../core/primitives/strings/computeStringHash.js";
|
|
10
9
|
import { Transform } from "../../../ecs/transform/Transform.js";
|
|
11
10
|
import { updateNodeByTransformAndBBB } from "./updateNodeByTransformAndBBB.js";
|
|
12
11
|
import { applyTransformToThreeObject } from "./applyTransformToThreeObject.js";
|
|
12
|
+
import { computeHashIntegerArray } from "../../../../core/collection/array/computeHashIntegerArray.js";
|
|
13
|
+
import { computeHashFloat } from "../../../../core/math/hash/computeHashFloat.js";
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
*
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import {BufferGeometry, Material} from "three";
|
|
2
|
+
import {AABB3} from "../../../../core/bvh2/aabb3/AABB3";
|
|
3
|
+
|
|
4
|
+
export class ShadedGeometry {
|
|
5
|
+
readonly geometry: BufferGeometry
|
|
6
|
+
readonly material: Material
|
|
7
|
+
|
|
8
|
+
readonly bvh: Readonly<AABB3>
|
|
9
|
+
|
|
10
|
+
from(geometry: BufferGeometry, material: Material): void
|
|
11
|
+
|
|
12
|
+
static from(geometry: BufferGeometry, material: Material): ShadedGeometry
|
|
13
|
+
}
|
|
@@ -106,11 +106,11 @@ function makeConfig(engine) {
|
|
|
106
106
|
new TopDownCameraControllerSystem(graphics),
|
|
107
107
|
new TopDownCameraLanderSystem(),
|
|
108
108
|
new CameraSystem(graphics.scene, graphics),
|
|
109
|
-
new MeshSystem(
|
|
109
|
+
new MeshSystem(engine),
|
|
110
110
|
new ClingToTerrainSystem(),
|
|
111
111
|
new TerrainSystem(graphics, assetManager),
|
|
112
112
|
new WaterSystem(graphics),
|
|
113
|
-
new Trail2DSystem(
|
|
113
|
+
new Trail2DSystem(engine),
|
|
114
114
|
new Foliage2System(assetManager, graphics),
|
|
115
115
|
new ViewportPositionSystem(graphics.viewport.size),
|
|
116
116
|
new GridPosition2TransformSystem(),
|
|
@@ -179,11 +179,11 @@ function catmullRom(points) {
|
|
|
179
179
|
cv.link();
|
|
180
180
|
|
|
181
181
|
cv.css({
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
182
|
+
position: "absolute",
|
|
183
|
+
left: 0,
|
|
184
|
+
right: 0,
|
|
185
|
+
zIndex: 99999
|
|
186
|
+
});
|
|
187
187
|
|
|
188
188
|
const sample = [];
|
|
189
189
|
|
|
@@ -216,92 +216,92 @@ function sample_style_entity() {
|
|
|
216
216
|
const style = new EntityPathStyle();
|
|
217
217
|
style.spacing = 0.6;
|
|
218
218
|
style.marker_start = EntityPathMarkerDefinition.from({
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
219
|
+
blueprint: EntityBlueprint.from([
|
|
220
|
+
Transform.fromJSON({}),
|
|
221
|
+
Mesh.fromJSON({
|
|
222
|
+
url: "data/models/arrow-symbols/arrow4/model-green.gltf",
|
|
223
|
+
castShadow: true,
|
|
224
|
+
receiveShadow: true
|
|
225
|
+
})
|
|
226
|
+
]),
|
|
227
|
+
transform: Transform.fromJSON({
|
|
228
|
+
scale: {
|
|
229
|
+
x: 0.3,
|
|
230
|
+
y: 0.3,
|
|
231
|
+
z: 0.3
|
|
232
|
+
},
|
|
233
|
+
rotation: {
|
|
234
|
+
x: 0.5,
|
|
235
|
+
y: -0.5,
|
|
236
|
+
z: 0.5,
|
|
237
|
+
w: 0.5
|
|
238
|
+
},
|
|
239
|
+
position: {
|
|
240
|
+
x: 0,
|
|
241
|
+
y: 1,
|
|
242
|
+
z: 0
|
|
243
|
+
}
|
|
244
|
+
})
|
|
245
|
+
});
|
|
246
246
|
style.marker_end = EntityPathMarkerDefinition.from({
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
247
|
+
blueprint: EntityBlueprint.from([
|
|
248
|
+
Transform.fromJSON({}),
|
|
249
|
+
Mesh.fromJSON({
|
|
250
|
+
url: "data/models/arrow-symbols/arrow4/model-red.gltf",
|
|
251
|
+
castShadow: true,
|
|
252
|
+
receiveShadow: true
|
|
253
|
+
})
|
|
254
|
+
]),
|
|
255
|
+
transform: Transform.fromJSON({
|
|
256
|
+
scale: {
|
|
257
|
+
x: 0.3,
|
|
258
|
+
y: 0.3,
|
|
259
|
+
z: 0.3
|
|
260
|
+
},
|
|
261
|
+
rotation: {
|
|
262
|
+
x: 0.5,
|
|
263
|
+
y: -0.5,
|
|
264
|
+
z: 0.5,
|
|
265
|
+
w: 0.5
|
|
266
|
+
},
|
|
267
|
+
position: {
|
|
268
|
+
x: 0,
|
|
269
|
+
y: 1,
|
|
270
|
+
z: 0
|
|
271
|
+
}
|
|
272
|
+
})
|
|
273
|
+
});
|
|
274
274
|
style.marker_main = EntityPathMarkerDefinition.from({
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
275
|
+
blueprint: EntityBlueprint.from([
|
|
276
|
+
Transform.fromJSON({}),
|
|
277
|
+
Mesh.fromJSON({
|
|
278
|
+
url: "data/models/Barel-Roll Droid/handpainted.gltf",
|
|
279
|
+
castShadow: true,
|
|
280
|
+
receiveShadow: true
|
|
281
|
+
}),
|
|
282
|
+
Animation.fromJSON({
|
|
283
|
+
clips: [
|
|
284
|
+
{
|
|
285
|
+
name: "fly",
|
|
286
|
+
repeatCount: Infinity
|
|
287
|
+
}
|
|
288
|
+
]
|
|
289
|
+
}),
|
|
290
|
+
Highlight.fromOne(1, 0, 0, 1)
|
|
291
|
+
]),
|
|
292
|
+
transform: Transform.fromJSON({
|
|
293
|
+
scale: {
|
|
294
|
+
x: 0.2,
|
|
295
|
+
y: 0.2,
|
|
296
|
+
z: 0.2
|
|
297
|
+
},
|
|
298
|
+
position: {
|
|
299
|
+
x: 0,
|
|
300
|
+
y: 1,
|
|
301
|
+
z: 0
|
|
302
|
+
}
|
|
303
|
+
})
|
|
304
|
+
});
|
|
305
305
|
|
|
306
306
|
return style;
|
|
307
307
|
}
|
|
@@ -337,13 +337,13 @@ function main(engine) {
|
|
|
337
337
|
// ], 50));
|
|
338
338
|
|
|
339
339
|
_p.setPositionsFromVectorArray([
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
340
|
+
new Vector3(3, 1, 1),
|
|
341
|
+
new Vector3(3, 1, 3),
|
|
342
|
+
new Vector3(7, 1, 3),
|
|
343
|
+
new Vector3(7, 1, 7),
|
|
344
|
+
new Vector3(3, 1, 7),
|
|
345
|
+
new Vector3(3, 1, 8),
|
|
346
|
+
]);
|
|
347
347
|
|
|
348
348
|
|
|
349
349
|
const trailPathStyle = new RibbonPathStyle();
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
import Vector3 from "../../../../core/geom/Vector3.js";
|
|
7
7
|
import Vector4 from "../../../../core/geom/Vector4.js";
|
|
8
|
+
import { RibbonXMaterialSpec } from "../../trail/x/RibbonXMaterialSpec.js";
|
|
8
9
|
|
|
9
10
|
/**
|
|
10
11
|
* @readonly
|
|
@@ -24,8 +25,6 @@ class Trail2D {
|
|
|
24
25
|
*/
|
|
25
26
|
this.maxAge = 5;
|
|
26
27
|
|
|
27
|
-
this.textureURL = null;
|
|
28
|
-
|
|
29
28
|
/**
|
|
30
29
|
* Trail width
|
|
31
30
|
* @type {number}
|
|
@@ -65,9 +64,9 @@ class Trail2D {
|
|
|
65
64
|
|
|
66
65
|
/**
|
|
67
66
|
* transient
|
|
68
|
-
* @type {
|
|
67
|
+
* @type {RibbonXMaterialSpec}
|
|
69
68
|
*/
|
|
70
|
-
this.material =
|
|
69
|
+
this.material = new RibbonXMaterialSpec();
|
|
71
70
|
|
|
72
71
|
/**
|
|
73
72
|
* transient
|
|
@@ -82,6 +81,20 @@ class Trail2D {
|
|
|
82
81
|
this.flags = Trail2DFlags.Spawning | Trail2DFlags.Aging;
|
|
83
82
|
}
|
|
84
83
|
|
|
84
|
+
dispose() {
|
|
85
|
+
if (this.ribbon !== null) {
|
|
86
|
+
this.ribbon.dispose();
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
get textureURL() {
|
|
91
|
+
return this.material.diffuse;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
set textureURL(v) {
|
|
95
|
+
this.material.diffuse = v;
|
|
96
|
+
}
|
|
97
|
+
|
|
85
98
|
/**
|
|
86
99
|
*
|
|
87
100
|
* @param {number|Trail2DFlags} flag
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import {System} from "../../../ecs/System";
|
|
2
|
-
import
|
|
3
|
-
import {AssetManager} from "../../../asset/AssetManager";
|
|
2
|
+
import Engine from "../../../Engine";
|
|
4
3
|
|
|
5
4
|
export default class Trail2DSystem extends System {
|
|
6
|
-
constructor(
|
|
5
|
+
constructor(engine: Engine)
|
|
7
6
|
}
|