@woosh/meep-engine 3.41.0 → 3.43.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/build/bundle-worker-image-decoder.js +1 -1
- package/build/bundle-worker-terrain.js +1 -1
- package/editor/selection/editor_pick.d.ts.map +1 -1
- package/editor/selection/editor_pick.js +2 -1
- package/editor/tools/TransformToolV2.d.ts.map +1 -1
- package/editor/tools/TransformToolV2.js +7 -1
- package/editor/tools/engine/ToolEngine.d.ts.map +1 -1
- package/editor/tools/engine/ToolEngine.js +10 -0
- package/editor/tools/v2/TransformControls.d.ts.map +1 -1
- package/editor/tools/v2/TransformControls.js +7 -20
- package/editor/tools/v2/handle/gizmo_drag_plane.d.ts.map +1 -1
- package/editor/tools/v2/handle/gizmo_drag_plane.js +4 -0
- package/editor/view/ecs/EntityEditor.d.ts.map +1 -1
- package/editor/view/ecs/EntityEditor.js +3 -1
- package/editor/view/node-graph/NodeGraphView.d.ts.map +1 -1
- package/editor/view/node-graph/NodeGraphView.js +28 -12
- package/package.json +91 -96
- package/samples/engine/first-scene/index.html +4 -1
- package/samples/engine/first-scene/main.js +14 -9
- package/src/core/binary/utf8/utf8_decode.js +3 -3
- package/src/core/bvh2/binary/2/bvh32_query_user_data_ray.d.ts.map +1 -1
- package/src/core/bvh2/binary/2/bvh32_query_user_data_ray.js +112 -113
- package/src/core/bvh2/bvh3/ebvh_nodes_sort_sah_local4.js +2 -2
- package/src/core/cache/wtinylfu/benchmark/CacheWTinylfu.bench.md +14 -14
- package/src/core/collection/RingBuffer.d.ts.map +1 -1
- package/src/core/collection/RingBuffer.js +4 -0
- package/src/core/collection/array/array_contains_duplicates.d.ts.map +1 -1
- package/src/core/collection/array/array_contains_duplicates.js +2 -1
- package/src/core/collection/array/array_copy.d.ts.map +1 -1
- package/src/core/collection/array/array_copy.js +23 -0
- package/src/core/collection/array/typed/sparse_typed_array_hash.d.ts +2 -2
- package/src/core/collection/array/typed/sparse_typed_array_hash.d.ts.map +1 -1
- package/src/core/collection/array/typed/sparse_typed_array_hash.js +9 -8
- package/src/core/collection/array/typed/uint16_array_hash.d.ts +2 -2
- package/src/core/collection/array/typed/uint16_array_hash.js +4 -4
- package/src/core/collection/array/typed/uint8_array_hash.d.ts +2 -2
- package/src/core/collection/array/typed/uint8_array_hash.js +4 -4
- package/src/core/collection/array/weightedRandomFromArray.d.ts +1 -0
- package/src/core/collection/array/weightedRandomFromArray.d.ts.map +1 -1
- package/src/core/collection/array/weightedRandomFromArray.js +9 -1
- package/src/core/collection/heap/BinaryHeap.d.ts.map +1 -1
- package/src/core/collection/heap/BinaryHeap.js +4 -0
- package/src/core/collection/list/List.d.ts.map +1 -1
- package/src/core/collection/list/List.js +4 -2
- package/src/core/collection/set/ArraySet.js +1 -1
- package/src/core/collection/set/HashSet.d.ts +1 -1
- package/src/core/collection/set/HashSet.d.ts.map +1 -1
- package/src/core/collection/set/HashSet.js +4 -2
- package/src/core/debug/matchers/IsEqual.js +1 -1
- package/src/core/debug/matchers/IsIterableContaining.d.ts.map +1 -1
- package/src/core/debug/matchers/IsIterableContaining.js +61 -74
- package/src/core/events/signal/SignalBinding.js +101 -101
- package/src/core/function/extractFunctionBody.js +13 -13
- package/src/core/function/objectsEqual.d.ts.map +1 -1
- package/src/core/function/objectsEqual.js +15 -14
- package/src/core/geom/3d/frustum/frustum3_compute_closest_point.d.ts.map +1 -1
- package/src/core/geom/3d/frustum/frustum3_compute_closest_point.js +207 -172
- package/src/core/geom/3d/gjk/gjk_epa_penetration.d.ts.map +1 -1
- package/src/core/geom/3d/gjk/gjk_epa_penetration.js +5 -4
- package/src/core/geom/3d/line/line3_compute_segment_point_distance_eikonal.d.ts.map +1 -1
- package/src/core/geom/3d/line/line3_compute_segment_point_distance_eikonal.js +8 -2
- package/src/core/geom/3d/triangle/tri3_ray_intersection.d.ts +20 -0
- package/src/core/geom/3d/triangle/tri3_ray_intersection.d.ts.map +1 -1
- package/src/core/geom/3d/triangle/tri3_ray_intersection.js +182 -0
- package/src/core/math/noise/curl_noise_3dt.d.ts.map +1 -1
- package/src/core/math/noise/curl_noise_3dt.js +20 -10
- package/src/core/math/noise/sdnoise.d.ts +16 -5
- package/src/core/math/noise/sdnoise.d.ts.map +1 -1
- package/src/core/math/noise/sdnoise.js +43 -9
- package/src/core/math/spline/spline3_hermite_nearest_point.d.ts +16 -1
- package/src/core/math/spline/spline3_hermite_nearest_point.d.ts.map +1 -1
- package/src/core/math/spline/spline3_hermite_nearest_point.js +44 -3
- package/src/engine/Engine.d.ts.map +1 -1
- package/src/engine/Engine.js +6 -2
- package/src/engine/control/first-person/FirstPersonPlayerController.d.ts +9 -0
- package/src/engine/control/first-person/FirstPersonPlayerController.d.ts.map +1 -1
- package/src/engine/control/first-person/FirstPersonPlayerControllerConfig.d.ts +26 -0
- package/src/engine/control/first-person/FirstPersonPlayerControllerConfig.d.ts.map +1 -1
- package/src/engine/control/first-person/FirstPersonPlayerControllerConfig.js +2 -0
- package/src/engine/control/first-person/abilities/AbilitySet.d.ts.map +1 -1
- package/src/engine/control/first-person/abilities/AbilitySet.js +9 -0
- package/src/engine/control/first-person/abilities/LedgeGrab.d.ts.map +1 -1
- package/src/engine/control/first-person/abilities/LedgeGrab.js +6 -0
- package/src/engine/control/first-person/abilities/Slide.d.ts.map +1 -1
- package/src/engine/control/first-person/abilities/Slide.js +1 -0
- package/src/engine/control/first-person/abilities/WallRun.d.ts +4 -1
- package/src/engine/control/first-person/abilities/WallRun.d.ts.map +1 -1
- package/src/engine/control/first-person/abilities/WallRun.js +13 -1
- package/src/engine/control/first-person/mastery/SlideInitiationTimingEvaluator.d.ts +1 -1
- package/src/engine/control/first-person/mastery/SlideInitiationTimingEvaluator.d.ts.map +1 -1
- package/src/engine/control/first-person/mastery/SlideInitiationTimingEvaluator.js +6 -5
- package/src/engine/control/first-person/mastery/StrideTimingJumpEvaluator.d.ts +3 -3
- package/src/engine/control/first-person/mastery/StrideTimingJumpEvaluator.d.ts.map +1 -1
- package/src/engine/control/first-person/mastery/StrideTimingJumpEvaluator.js +9 -8
- package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.d.ts.map +1 -1
- package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.js +13 -4
- package/src/engine/ecs/EntityManager.d.ts.map +1 -1
- package/src/engine/ecs/EntityManager.js +18 -15
- package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescription.d.ts.map +1 -1
- package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescription.js +2 -1
- package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescriptionTable.d.ts.map +1 -1
- package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescriptionTable.js +1 -0
- package/src/engine/ecs/fow/FogOfWarRevealerSystem.d.ts.map +1 -1
- package/src/engine/ecs/fow/FogOfWarRevealerSystem.js +3 -0
- package/src/engine/ecs/parent/EntityNode.js +3 -3
- package/src/engine/ecs/speaker/VoiceSystem.d.ts.map +1 -1
- package/src/engine/ecs/speaker/VoiceSystem.js +4 -0
- package/src/engine/ecs/storage/BinaryBufferDeSerializer.js +5 -5
- package/src/engine/ecs/storage/binary/BinarySerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/BinarySerializationRegistry.js +3 -2
- package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter2.js +1 -1
- package/src/engine/ecs/storage/binary/object-v2/BinaryObjectDeSerializer.d.ts.map +1 -1
- package/src/engine/ecs/storage/binary/object-v2/BinaryObjectDeSerializer.js +8 -1
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +8 -0
- package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSystem.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSystem.js +5 -2
- package/src/engine/ecs/terrain/ecs/layers/TerrainLayers.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/layers/TerrainLayers.js +3 -0
- package/src/engine/ecs/terrain/ecs/splat/SplatMapping.d.ts.map +1 -1
- package/src/engine/ecs/terrain/ecs/splat/SplatMapping.js +1 -0
- package/src/engine/ecs/terrain/overlay/TerrainOverlay.js +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts.map +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTile.js +13 -1
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts.map +1 -1
- package/src/engine/ecs/terrain/tiles/TerrainTileManager.js +1 -0
- package/src/engine/graphics/ecs/light/LightSerializationAdapter.d.ts.map +1 -1
- package/src/engine/graphics/ecs/light/LightSerializationAdapter.js +13 -1
- package/src/engine/graphics/ecs/light/LightSerializationUpgrader_0_1.d.ts +5 -0
- package/src/engine/graphics/ecs/light/LightSerializationUpgrader_0_1.d.ts.map +1 -0
- package/src/engine/graphics/ecs/light/LightSerializationUpgrader_0_1.js +27 -0
- package/src/engine/graphics/ecs/water/Water.d.ts +11 -0
- package/src/engine/graphics/ecs/water/Water.d.ts.map +1 -1
- package/src/engine/graphics/ecs/water/Water.js +17 -0
- package/src/engine/graphics/ecs/water/WaterSerializationAdapter.d.ts.map +1 -1
- package/src/engine/graphics/ecs/water/WaterSerializationAdapter.js +3 -1
- package/src/engine/graphics/ecs/water/WaterSerializationUpgrader_4_5.d.ts +9 -0
- package/src/engine/graphics/ecs/water/WaterSerializationUpgrader_4_5.d.ts.map +1 -0
- package/src/engine/graphics/ecs/water/WaterSerializationUpgrader_4_5.js +24 -0
- package/src/engine/graphics/ecs/water/WaterWaves.d.ts +30 -9
- package/src/engine/graphics/ecs/water/WaterWaves.d.ts.map +1 -1
- package/src/engine/graphics/ecs/water/WaterWaves.js +41 -9
- package/src/engine/graphics/ecs/water/WaterWavesSerializationAdapter.d.ts.map +1 -1
- package/src/engine/graphics/ecs/water/WaterWavesSerializationAdapter.js +30 -26
- package/src/engine/graphics/ecs/water/WaterWavesSerializationUpgrader_0_1.d.ts +6 -0
- package/src/engine/graphics/ecs/water/WaterWavesSerializationUpgrader_0_1.d.ts.map +1 -0
- package/src/engine/graphics/ecs/water/WaterWavesSerializationUpgrader_0_1.js +22 -0
- package/src/engine/graphics/geometry/buffered/query/bvh32_geometry_raycast.d.ts.map +1 -1
- package/src/engine/graphics/geometry/buffered/query/bvh32_geometry_raycast.js +3 -5
- package/src/engine/graphics/texture/3d/scs3d_sample_linear3.d.ts +20 -0
- package/src/engine/graphics/texture/3d/scs3d_sample_linear3.d.ts.map +1 -1
- package/src/engine/graphics/texture/3d/scs3d_sample_linear3.js +36 -0
- package/src/engine/graphics3/WaterSystem.d.ts +12 -3
- package/src/engine/graphics3/WaterSystem.d.ts.map +1 -1
- package/src/engine/graphics3/WaterSystem.js +78 -46
- package/src/engine/input/devices/PointerDevice.d.ts.map +1 -1
- package/src/engine/input/devices/PointerDevice.js +29 -4
- package/src/engine/intelligence/behavior/selector/WeightedRandomBehavior.d.ts +1 -0
- package/src/engine/intelligence/behavior/selector/WeightedRandomBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/selector/WeightedRandomBehavior.js +14 -3
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/engine/physics/fluid/solver/v3_grid_advect_maccormack_velocity.d.ts.map +1 -1
- package/src/engine/physics/fluid/solver/v3_grid_advect_maccormack_velocity.js +12 -3
- package/src/engine/physics/fluid/solver/v3_grid_advect_sl_velocity.d.ts.map +1 -1
- package/src/engine/physics/fluid/solver/v3_grid_advect_sl_velocity.js +8 -2
- package/src/engine/physics/fluid/solver/v3_grid_sample_scalar_masked.d.ts +19 -0
- package/src/engine/physics/fluid/solver/v3_grid_sample_scalar_masked.d.ts.map +1 -1
- package/src/engine/physics/fluid/solver/v3_grid_sample_scalar_masked.js +41 -2
- package/src/engine/physics/fluid/solver/v3_mac_advect_scalar.d.ts.map +1 -1
- package/src/engine/physics/fluid/solver/v3_mac_advect_scalar.js +9 -3
- package/src/engine/physics/fluid/solver/v3_mac_advect_sl_velocity.d.ts.map +1 -1
- package/src/engine/physics/fluid/solver/v3_mac_advect_sl_velocity.js +26 -10
- package/src/engine/sound/sopra/definition/clip/RandomContainerAudioClip.d.ts +3 -6
- package/src/engine/sound/sopra/definition/clip/RandomContainerAudioClip.d.ts.map +1 -1
- package/src/engine/sound/sopra/definition/clip/RandomContainerAudioClip.js +22 -9
- package/src/engine/ui/DraggableAspect.d.ts +5 -1
- package/src/engine/ui/DraggableAspect.d.ts.map +1 -1
- package/src/engine/ui/DraggableAspect.js +61 -4
- package/src/format/image/avif/heif/ItemProperty.d.ts +1 -1
- package/src/format/image/avif/heif/ItemProperty.js +1 -1
- package/src/format/image/png/chunk/png_chunk_decode_iTXt.d.ts.map +1 -1
- package/src/format/image/png/chunk/png_chunk_decode_iTXt.js +17 -6
- package/src/shade/device/mock/SoftwareGPUDevice.d.ts +2 -4
- package/src/shade/device/mock/SoftwareGPUDevice.d.ts.map +1 -1
- package/src/shade/device/mock/SoftwareGPUDevice.js +20 -13
- package/src/shade/playground/skinned_blas_refit/sweep_views.d.ts.map +1 -1
- package/src/shade/playground/skinned_blas_refit/sweep_views.js +2 -1
- package/src/shade/playground/vgeo_runtime/README.md +5 -4
- package/src/shade/playground/water_refraction/README.md +10 -11
- package/src/shade/playground/water_refraction/main.js +9 -8
- package/src/shade/playground/water_refraction/world.js +1 -1
- package/src/shade/playground/water_surface/README.md +43 -0
- package/src/shade/playground/water_surface/index.html +30 -0
- package/src/shade/playground/water_surface/main.d.ts +2 -0
- package/src/shade/playground/water_surface/main.d.ts.map +1 -0
- package/src/shade/playground/water_surface/main.js +154 -0
- package/src/shade/playground/water_surface/world.d.ts +44 -0
- package/src/shade/playground/water_surface/world.d.ts.map +1 -0
- package/src/shade/playground/water_surface/world.js +160 -0
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.js +6 -5
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +5 -0
- package/src/shade/renderer/atmosphere/GPUSky.d.ts +12 -0
- package/src/shade/renderer/atmosphere/GPUSky.d.ts.map +1 -1
- package/src/shade/renderer/atmosphere/GPUSky.js +162 -147
- package/src/shade/renderer/binding/BufferBinding.js +2 -2
- package/src/shade/renderer/buffer/table/GPUTypedTable.d.ts.map +1 -1
- package/src/shade/renderer/buffer/table/GPUTypedTable.js +5 -3
- package/src/shade/renderer/buffer/table/GPUTypedTableDescriptor.d.ts +10 -3
- package/src/shade/renderer/buffer/table/GPUTypedTableDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/buffer/table/GPUTypedTableDescriptor.js +17 -9
- package/src/shade/renderer/camera/orbital/OrbitalCameraInput.d.ts +3 -0
- package/src/shade/renderer/camera/orbital/OrbitalCameraInput.d.ts.map +1 -1
- package/src/shade/renderer/camera/orbital/OrbitalCameraInput.js +16 -0
- package/src/shade/renderer/camera/orbital/OrbitalCameraRig.d.ts +2 -0
- package/src/shade/renderer/camera/orbital/OrbitalCameraRig.d.ts.map +1 -1
- package/src/shade/renderer/camera/orbital/OrbitalCameraRig.js +11 -0
- package/src/shade/renderer/geometry/meshlet/build/meshoptimizer/geometry_to_meshlets_meshoptimizer.d.ts +1 -1
- package/src/shade/renderer/geometry/meshlet/build/meshoptimizer/geometry_to_meshlets_meshoptimizer.d.ts.map +1 -1
- package/src/shade/renderer/geometry/meshlet/build/meshoptimizer/geometry_to_meshlets_meshoptimizer.js +9 -3
- package/src/shade/renderer/geometry/util/geometry_simplify_redundant_topology.d.ts.map +1 -1
- package/src/shade/renderer/geometry/util/geometry_simplify_redundant_topology.js +2 -2
- package/src/shade/renderer/geometry/virtual/format/vgeo_validate_container.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/format/vgeo_validate_container.js +85 -0
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/GPUVirtualGeometryRuntime.js +12 -6
- package/src/shade/renderer/geometry/virtual/runtime/VGeoPageFetcher.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoPageFetcher.js +7 -0
- package/src/shade/renderer/geometry/virtual/runtime/VGeoRuntimeTables.d.ts.map +1 -1
- package/src/shade/renderer/geometry/virtual/runtime/VGeoRuntimeTables.js +3 -1
- package/src/shade/renderer/lightmap/bake/shader_lightmap_denoise_sh.d.ts.map +1 -1
- package/src/shade/renderer/lightmap/bake/shader_lightmap_denoise_sh.js +10 -3
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
- package/src/shade/renderer/particles/DESIGN.md +13 -9
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting.d.ts +1 -1
- package/src/shade/renderer/particles/shaders/chunk_particle_lighting.js +1 -1
- package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts +3 -2
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.js +3 -2
- package/src/shade/renderer/scene/GPUSceneContext.d.ts +9 -1
- package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
- package/src/shade/renderer/scene/GPUSceneContext.js +23 -1
- package/src/shade/renderer/scene/SCENE_DATABASE_SPEC.js +2 -1
- package/src/shade/renderer/shader/chunk/math/fft/chunk_fft128_inverse.d.ts +13 -0
- package/src/shade/renderer/shader/chunk/math/fft/chunk_fft128_inverse.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/math/fft/chunk_fft128_inverse.js +42 -0
- package/src/shade/renderer/shader/chunk/math/fft/chunk_fft128x4_inverse_workgroup.d.ts +15 -0
- package/src/shade/renderer/shader/chunk/math/fft/chunk_fft128x4_inverse_workgroup.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/math/fft/chunk_fft128x4_inverse_workgroup.js +39 -0
- package/src/shade/renderer/shader/resource/ShaderResourceSetDescriptor.d.ts.map +1 -1
- package/src/shade/renderer/shader/resource/ShaderResourceSetDescriptor.js +2 -0
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts +4 -1
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/GPUViewVolumetrics.js +74 -3
- package/src/shade/renderer/volumetrics/NOTES.md +1023 -957
- package/src/shade/renderer/volumetrics/chunk_volumetrics_irradiance_sh.d.ts +5 -4
- package/src/shade/renderer/volumetrics/chunk_volumetrics_irradiance_sh.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/chunk_volumetrics_irradiance_sh.js +5 -4
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi.d.ts +1 -1
- package/src/shade/renderer/volumetrics/gi/chunk_volumetrics_gi.js +1 -1
- package/src/shade/renderer/volumetrics/gi/graph_build_froxel_gi.d.ts +1 -1
- package/src/shade/renderer/volumetrics/gi/graph_build_froxel_gi.js +1 -1
- package/src/shade/renderer/volumetrics/graph_build_froxel_irradiance.d.ts +41 -0
- package/src/shade/renderer/volumetrics/graph_build_froxel_irradiance.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/graph_build_froxel_irradiance.js +112 -0
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.d.ts +9 -23
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/graph_build_volumetrics.js +18 -126
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_irradiance.d.ts +22 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_irradiance.d.ts.map +1 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_irradiance.js +228 -0
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_lighting.d.ts.map +1 -1
- package/src/shade/renderer/volumetrics/shader_volumetrics_build_lighting.js +0 -53
- package/src/shade/renderer/water/GPUWaterRenderer.d.ts +15 -0
- package/src/shade/renderer/water/GPUWaterRenderer.d.ts.map +1 -1
- package/src/shade/renderer/water/GPUWaterRenderer.js +110 -30
- package/src/shade/renderer/water/medium/GPUWaterBodies.d.ts +16 -8
- package/src/shade/renderer/water/medium/GPUWaterBodies.d.ts.map +1 -1
- package/src/shade/renderer/water/medium/GPUWaterBodies.js +31 -26
- package/src/shade/renderer/water/medium/shader_water_meshlets.d.ts +0 -1
- package/src/shade/renderer/water/medium/shader_water_meshlets.d.ts.map +1 -1
- package/src/shade/renderer/water/medium/shader_water_meshlets.js +1 -39
- package/src/shade/renderer/water/shader_water.d.ts +0 -1
- package/src/shade/renderer/water/shader_water.d.ts.map +1 -1
- package/src/shade/renderer/water/shader_water.js +201 -72
- package/src/shade/renderer/water/surface/GPUWaterSurface.d.ts +70 -0
- package/src/shade/renderer/water/surface/GPUWaterSurface.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/GPUWaterSurface.js +199 -0
- package/src/shade/renderer/water/surface/WATER_WAVE_RECORD_STRUCT.d.ts +5 -2
- package/src/shade/renderer/water/surface/WATER_WAVE_RECORD_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/WATER_WAVE_RECORD_STRUCT.js +32 -12
- package/src/shade/renderer/water/surface/chunk_water_surface_sample.d.ts +23 -0
- package/src/shade/renderer/water/surface/chunk_water_surface_sample.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/chunk_water_surface_sample.js +227 -0
- package/src/shade/renderer/water/surface/graph_water_tessellation.d.ts +65 -11
- package/src/shade/renderer/water/surface/graph_water_tessellation.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/graph_water_tessellation.js +163 -28
- package/src/shade/renderer/water/surface/lod/WATER_LOD.d.ts +51 -0
- package/src/shade/renderer/water/surface/lod/WATER_LOD.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/lod/WATER_LOD.js +95 -0
- package/src/shade/renderer/water/surface/lod/chunk_water_lod.d.ts +10 -0
- package/src/shade/renderer/water/surface/lod/chunk_water_lod.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/lod/chunk_water_lod.js +127 -0
- package/src/shade/renderer/water/surface/lod/chunk_water_lod_cell.d.ts +17 -0
- package/src/shade/renderer/water/surface/lod/chunk_water_lod_cell.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/lod/chunk_water_lod_cell.js +246 -0
- package/src/shade/renderer/water/surface/lod/shader_water_lod.d.ts +118 -0
- package/src/shade/renderer/water/surface/lod/shader_water_lod.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/lod/shader_water_lod.js +727 -0
- package/src/shade/renderer/water/surface/particles/GPUWaterParticles.d.ts +60 -0
- package/src/shade/renderer/water/surface/particles/GPUWaterParticles.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/particles/GPUWaterParticles.js +274 -0
- package/src/shade/renderer/water/surface/particles/WATER_PARTICLE_STRUCT.d.ts +17 -0
- package/src/shade/renderer/water/surface/particles/WATER_PARTICLE_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/particles/WATER_PARTICLE_STRUCT.js +57 -0
- package/src/shade/renderer/water/surface/particles/chunk_water_particle.d.ts +43 -0
- package/src/shade/renderer/water/surface/particles/chunk_water_particle.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/particles/chunk_water_particle.js +268 -0
- package/src/shade/renderer/water/surface/particles/chunk_water_particle_step.d.ts +20 -0
- package/src/shade/renderer/water/surface/particles/chunk_water_particle_step.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/particles/chunk_water_particle_step.js +239 -0
- package/src/shade/renderer/water/surface/particles/shader_water_particles.d.ts +153 -0
- package/src/shade/renderer/water/surface/particles/shader_water_particles.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/particles/shader_water_particles.js +874 -0
- package/src/shade/renderer/water/surface/shader_water_cull.d.ts +42 -0
- package/src/shade/renderer/water/surface/shader_water_cull.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/shader_water_cull.js +269 -0
- package/src/shade/renderer/water/surface/shader_water_waves_combine.d.ts +15 -0
- package/src/shade/renderer/water/surface/shader_water_waves_combine.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/shader_water_waves_combine.js +73 -0
- package/src/shade/renderer/water/surface/shader_water_waves_derive.d.ts +11 -0
- package/src/shade/renderer/water/surface/shader_water_waves_derive.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/shader_water_waves_derive.js +78 -0
- package/src/shade/renderer/water/surface/spectrum/GPUWaterSpectrum.d.ts +35 -0
- package/src/shade/renderer/water/surface/spectrum/GPUWaterSpectrum.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/spectrum/GPUWaterSpectrum.js +103 -0
- package/src/shade/renderer/water/surface/spectrum/WATER_BAND_STATE.d.ts +22 -0
- package/src/shade/renderer/water/surface/spectrum/WATER_BAND_STATE.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/spectrum/WATER_BAND_STATE.js +57 -0
- package/src/shade/renderer/water/surface/spectrum/WATER_SPECTRUM.d.ts +22 -0
- package/src/shade/renderer/water/surface/spectrum/WATER_SPECTRUM.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/spectrum/WATER_SPECTRUM.js +25 -0
- package/src/shade/renderer/water/surface/spectrum/chunk_water_jonswap.d.ts +14 -0
- package/src/shade/renderer/water/surface/spectrum/chunk_water_jonswap.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/spectrum/chunk_water_jonswap.js +48 -0
- package/src/shade/renderer/water/surface/spectrum/chunk_water_spectrum.d.ts +23 -0
- package/src/shade/renderer/water/surface/spectrum/chunk_water_spectrum.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/spectrum/chunk_water_spectrum.js +169 -0
- package/src/shade/renderer/water/surface/spectrum/shader_water_spectrum.d.ts +26 -0
- package/src/shade/renderer/water/surface/spectrum/shader_water_spectrum.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/spectrum/shader_water_spectrum.js +161 -0
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +29 -9
- package/src/shade/wgsl/emulator/WGSLLanguageCore.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/WGSLLanguageCore.js +14 -3
- package/src/core/geom/2d/polygon/polygon2_triangulate.corpus.d.ts +0 -28
- package/src/core/geom/2d/polygon/polygon2_triangulate.corpus.d.ts.map +0 -1
- package/src/core/geom/2d/polygon/polygon2_triangulate.corpus.js +0 -86
- package/src/engine/ecs/storage/binary/object-v2/serializerTestHarness.d.ts +0 -29
- package/src/engine/ecs/storage/binary/object-v2/serializerTestHarness.d.ts.map +0 -1
- package/src/engine/ecs/storage/binary/object-v2/serializerTestHarness.js +0 -44
- package/src/shade/renderer/water/medium/shader_water_bodies_derive.d.ts +0 -4
- package/src/shade/renderer/water/medium/shader_water_bodies_derive.d.ts.map +0 -1
- package/src/shade/renderer/water/medium/shader_water_bodies_derive.js +0 -32
- package/src/shade/renderer/water/surface/GPUWaterWaveSimulation.d.ts +0 -25
- package/src/shade/renderer/water/surface/GPUWaterWaveSimulation.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/GPUWaterWaveSimulation.js +0 -128
- package/src/shade/renderer/water/surface/chunk_water_tessellation.d.ts +0 -9
- package/src/shade/renderer/water/surface/chunk_water_tessellation.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/chunk_water_tessellation.js +0 -144
- package/src/shade/renderer/water/surface/chunk_water_wave.d.ts +0 -13
- package/src/shade/renderer/water/surface/chunk_water_wave.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/chunk_water_wave.js +0 -40
- package/src/shade/renderer/water/surface/shader_water_tiles.d.ts +0 -4
- package/src/shade/renderer/water/surface/shader_water_tiles.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/shader_water_tiles.js +0 -123
- package/src/shade/renderer/water/surface/shader_water_wave_batch.d.ts +0 -6
- package/src/shade/renderer/water/surface/shader_water_wave_batch.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/shader_water_wave_batch.js +0 -85
- package/src/shade/renderer/water/surface/shader_water_wave_domain.d.ts +0 -6
- package/src/shade/renderer/water/surface/shader_water_wave_domain.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/shader_water_wave_domain.js +0 -83
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"editor_pick.d.ts","sourceRoot":"","sources":["../../../editor/selection/editor_pick.js"],"names":[],"mappings":"AAeA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;GASG;AACH,qFANoB,UAAU,MAAM,CAAC,QAAE,MAAM,KAAG,OAAO,qDAG5C,MAAM,GACJ,MAAM,
|
|
1
|
+
{"version":3,"file":"editor_pick.d.ts","sourceRoot":"","sources":["../../../editor/selection/editor_pick.js"],"names":[],"mappings":"AAeA;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;;;;;;GASG;AACH,qFANoB,UAAU,MAAM,CAAC,QAAE,MAAM,KAAG,OAAO,qDAG5C,MAAM,GACJ,MAAM,CA+ClB;AAED;;;;;;;;;;;;GAYG;AACH,4CAPW,MAAM,EAAE,uDAEC,UAAU,MAAM,CAAC,QAAE,MAAM,KAAG,OAAO,UAC5C,UAAU,MAAM,CAAC,GAAC,YAAY,eAC9B,MAAM,GACJ,MAAM,CA6BlB"}
|
|
@@ -76,7 +76,8 @@ export function editor_pick_ray(dataset, read_bounds, origin, direction, max_dis
|
|
|
76
76
|
0, max_distance
|
|
77
77
|
);
|
|
78
78
|
|
|
79
|
-
|
|
79
|
+
// Include the finite segment endpoint while keeping the first equally near candidate.
|
|
80
|
+
if (distance === Infinity || distance > best_distance || (distance === best_distance && best_entity !== -1)) {
|
|
80
81
|
return;
|
|
81
82
|
}
|
|
82
83
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransformToolV2.d.ts","sourceRoot":"","sources":["../../../editor/tools/TransformToolV2.js"],"names":[],"mappings":"AAoBA;;;;;;;;;;;GAWG;AACH;IACI,aAA2B;IAE3B;;OAEG;IACH,MAFU,cAAc,MAAM,CAAC,CAEmB;IAElD;;OAEG;IACH,YAFU,iBAAiB,GAAC,IAAI,CAEd;IAElB;;;OAGG;IACH,gBAFU,OAAO,CAEM;IAuBnB;;;OAGG;IACH,kBAFU,IAAI,MAAM,EAAE,WAAW,CAAC,CAED;IAGrC;;;OAGG;IACH,kCAEC;IAED;;OAEG;IACH,wCAEC;IAED;;;OAGG;IACH,mBAFa,MAAM,CAclB;IAED,iCAUC;IAED,
|
|
1
|
+
{"version":3,"file":"TransformToolV2.d.ts","sourceRoot":"","sources":["../../../editor/tools/TransformToolV2.js"],"names":[],"mappings":"AAoBA;;;;;;;;;;;GAWG;AACH;IACI,aAA2B;IAE3B;;OAEG;IACH,MAFU,cAAc,MAAM,CAAC,CAEmB;IAElD;;OAEG;IACH,YAFU,iBAAiB,GAAC,IAAI,CAEd;IAElB;;;OAGG;IACH,gBAFU,OAAO,CAEM;IAuBnB;;;OAGG;IACH,kBAFU,IAAI,MAAM,EAAE,WAAW,CAAC,CAED;IAGrC;;;OAGG;IACH,kCAEC;IAED;;OAEG;IACH,wCAEC;IAED;;;OAGG;IACH,mBAFa,MAAM,CAclB;IAED,iCAUC;IAED,0BAkCC;IAED;;OAEG;IACH,6BAgFC;IAED;;OAEG;IACH,wBA+BC;IA2DD,6BAgCC;IAED,4BAEC;IAED,6BAEC;IAED,4BAQC;IAED;;;OAGG;IACH,2BAFW,aAAa,QAuBvB;CACJ;iBAzZgB,kBAAkB;0BAJT,uCAAuC;kCAK/B,2BAA2B;4BAJjC,+CAA+C"}
|
|
@@ -147,6 +147,7 @@ export class TransformToolV2 extends Tool {
|
|
|
147
147
|
start.setTranslation(controls.worldPositionStart.x, controls.worldPositionStart.y, controls.worldPositionStart.z);
|
|
148
148
|
start.setRotation(controls.worldQuaternionStart.x, controls.worldQuaternionStart.y, controls.worldQuaternionStart.z, controls.worldQuaternionStart.w);
|
|
149
149
|
start.setScale(controls._worldScaleStart.x, controls._worldScaleStart.y, controls._worldScaleStart.z);
|
|
150
|
+
start.updateMatrix();
|
|
150
151
|
|
|
151
152
|
snapshots.set(entity, start);
|
|
152
153
|
} else {
|
|
@@ -405,7 +406,12 @@ export class TransformToolV2 extends Tool {
|
|
|
405
406
|
|
|
406
407
|
space.set(space.getValue() === 'world' ? 'local' : 'world');
|
|
407
408
|
} else if (keyCode === KeyCodes.escape) {
|
|
408
|
-
this.__controls.
|
|
409
|
+
if (this.__controls.dragging) {
|
|
410
|
+
this.__controls.reset();
|
|
411
|
+
this.__handleObjectChange();
|
|
412
|
+
this.__controls.pointerUp({ button: 0 });
|
|
413
|
+
this.editor.toolEngine?.end_gesture();
|
|
414
|
+
}
|
|
409
415
|
}
|
|
410
416
|
}
|
|
411
417
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolEngine.d.ts","sourceRoot":"","sources":["../../../../editor/tools/engine/ToolEngine.js"],"names":[],"mappings":";AAYA;IACI,iBAAmB;IACnB,2BAAiC;IACjC,YAAc;IACd,mBAAkB;IAClB,yBAAuB;IACvB,aAAe;IA2Bf;;;OAGG;IACH,gBAFU,MAAM,CAEc;IAE9B;;;OAGG;IACH,cAFU,MAAM,CAEY;IAE5B;;OAEG;IACH,8BAEC;IAED,8BAOC;IAED,mBA8BC;IAED;;;;OAIG;IACH,
|
|
1
|
+
{"version":3,"file":"ToolEngine.d.ts","sourceRoot":"","sources":["../../../../editor/tools/engine/ToolEngine.js"],"names":[],"mappings":";AAYA;IACI,iBAAmB;IACnB,2BAAiC;IACjC,YAAc;IACd,mBAAkB;IAClB,yBAAuB;IACvB,aAAe;IA2Bf;;;OAGG;IACH,gBAFU,MAAM,CAEc;IAE9B;;;OAGG;IACH,cAFU,MAAM,CAEY;IAE5B;;OAEG;IACH,8BAEC;IAED,8BAOC;IAED,mBA8BC;IAED;;;;OAIG;IACH,8CAqFC;IAnFG,eAAoB;IAqFxB;;;;;OAKG;IACH;;;;;OAKG;IACH,gCAUC;IAED,oBAeC;IAED,iBAwBC;;CACJ;iBAvQgB,2CAA2C;0BAElC,0CAA0C;mBADjD,2CAA2C"}
|
|
@@ -173,12 +173,22 @@ class ToolEngine {
|
|
|
173
173
|
// would otherwise stay running until the next release that happened to land inside
|
|
174
174
|
pointer.on.globalUp.add(pointerUp);
|
|
175
175
|
|
|
176
|
+
// Cancellation and focus loss end a press without a pointerup.
|
|
177
|
+
const viewport = graphics.domElement;
|
|
178
|
+
function endInterruptedGesture() {
|
|
179
|
+
self.end_gesture();
|
|
180
|
+
}
|
|
181
|
+
viewport.addEventListener('pointercancel', endInterruptedGesture);
|
|
182
|
+
window.addEventListener('blur', endInterruptedGesture);
|
|
183
|
+
|
|
176
184
|
pointer.start();
|
|
177
185
|
|
|
178
186
|
|
|
179
187
|
function cleanup() {
|
|
180
188
|
pointer.on.down.remove(pointerDown);
|
|
181
189
|
pointer.on.globalUp.remove(pointerUp);
|
|
190
|
+
viewport.removeEventListener('pointercancel', endInterruptedGesture);
|
|
191
|
+
window.removeEventListener('blur', endInterruptedGesture);
|
|
182
192
|
pointer.stop();
|
|
183
193
|
}
|
|
184
194
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TransformControls.d.ts","sourceRoot":"","sources":["../../../../editor/tools/v2/TransformControls.js"],"names":[],"mappings":"AA4EA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH;IAsNI;;;;;OAKG;IACH,sBALW,+BAA6B,cAE7B,WAAW,eACX,OAAO,EAgCjB;IAzPD;;;OAGG;IACH,QAFU,MAAM,CAEJ;IAEZ,6BAA2B;IAE3B;;OAEG;IACH,SAFU,OAAO,CAEF;IAEf;;;;;OAKG;IACH,MAFU,MAAM,GAAC,IAAI,CAET;IAEZ;;OAEG;IACH,MAFU,MAAM,CAEe;IAE/B;;OAEG;IACH,OAFU,MAAM,CAEA;IAEhB;;;;OAIG;IACH,MAFU,MAAM,CAEP;IAET;;OAEG;IACH,UAFU,OAAO,CAEA;IAEjB;;;;OAIG;IACH,iBAFU,MAAM,GAAC,IAAI,CAEE;IAEvB;;;;OAIG;IACH,cAFU,MAAM,GAAC,IAAI,CAED;IAEpB;;OAEG;IACH,WAFU,MAAM,GAAC,IAAI,CAEJ;IAEjB;;OAEG;IACH,eAFU,OAAO,CAEa;IAE9B;;OAEG;IACH,iBAFU,UAAU,CAEe;IAEnC;;;;;OAKG;IACH,oBAFU,OAAO,CAEkB;IAEnC;;OAEG;IACH,sBAFU,UAAU,CAEoB;IAExC;;OAEG;IACH,kBAFU,OAAO,CAEuB;IAExC;;OAEG;IACH,aAFU,OAAO,CAEkB;IAEnC;;OAEG;IACH,qBAFU,UAAU,CAEmB;IAEvC;;OAEG;IACH,gBAFU,OAAO,CAEc;IAE/B;;OAEG;IACH,kBAFU,UAAU,CAEgB;IAEpC;;OAEG;IACH,aAFU,OAAO,CAEkB;IAEnC;;;;OAIG;IACH,YAFU,OAAO,CAEU;IAE3B;;OAEG;IACH,UAFU,OAAO,CAEQ;IAEzB;;OAEG;IACH,SAFU,OAAO,CAEO;IAExB;;OAEG;IACH,YAFU,OAAO,CAEU;IAE3B;;OAEG;IACH,UAFU,OAAO,CAEQ;IAEzB;;OAEG;IACH,cAFU,OAAO,CAEY;IAE7B;;OAEG;IACH,eAFU,MAAM,CAEE;IAElB;;;;OAIG;IACH,gBAFU,OAAO,CAEc;IAE/B;;OAEG;IACH,KAFU,OAAO,CAEU;IA+DvB,cAAwB;IACxB,wBAA4B;IAM5B,iBAAwC;IACxC,oBAA8C;IAC9C,qBAAgD;IAChD,oBAA8C;IAC9C,kBAA0C;IAe9C;;OAEG;IACH,yCAIC;IAmGD,iCAYC;IAED,gCAuCC;IAED;;;OAGG;IACH,qBAFW;QAAC,IAAI,EAAC,MAAM,CAAA;KAAC,QAIvB;IAED,
|
|
1
|
+
{"version":3,"file":"TransformControls.d.ts","sourceRoot":"","sources":["../../../../editor/tools/v2/TransformControls.js"],"names":[],"mappings":"AA4EA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH;IAsNI;;;;;OAKG;IACH,sBALW,+BAA6B,cAE7B,WAAW,eACX,OAAO,EAgCjB;IAzPD;;;OAGG;IACH,QAFU,MAAM,CAEJ;IAEZ,6BAA2B;IAE3B;;OAEG;IACH,SAFU,OAAO,CAEF;IAEf;;;;;OAKG;IACH,MAFU,MAAM,GAAC,IAAI,CAET;IAEZ;;OAEG;IACH,MAFU,MAAM,CAEe;IAE/B;;OAEG;IACH,OAFU,MAAM,CAEA;IAEhB;;;;OAIG;IACH,MAFU,MAAM,CAEP;IAET;;OAEG;IACH,UAFU,OAAO,CAEA;IAEjB;;;;OAIG;IACH,iBAFU,MAAM,GAAC,IAAI,CAEE;IAEvB;;;;OAIG;IACH,cAFU,MAAM,GAAC,IAAI,CAED;IAEpB;;OAEG;IACH,WAFU,MAAM,GAAC,IAAI,CAEJ;IAEjB;;OAEG;IACH,eAFU,OAAO,CAEa;IAE9B;;OAEG;IACH,iBAFU,UAAU,CAEe;IAEnC;;;;;OAKG;IACH,oBAFU,OAAO,CAEkB;IAEnC;;OAEG;IACH,sBAFU,UAAU,CAEoB;IAExC;;OAEG;IACH,kBAFU,OAAO,CAEuB;IAExC;;OAEG;IACH,aAFU,OAAO,CAEkB;IAEnC;;OAEG;IACH,qBAFU,UAAU,CAEmB;IAEvC;;OAEG;IACH,gBAFU,OAAO,CAEc;IAE/B;;OAEG;IACH,kBAFU,UAAU,CAEgB;IAEpC;;OAEG;IACH,aAFU,OAAO,CAEkB;IAEnC;;;;OAIG;IACH,YAFU,OAAO,CAEU;IAE3B;;OAEG;IACH,UAFU,OAAO,CAEQ;IAEzB;;OAEG;IACH,SAFU,OAAO,CAEO;IAExB;;OAEG;IACH,YAFU,OAAO,CAEU;IAE3B;;OAEG;IACH,UAFU,OAAO,CAEQ;IAEzB;;OAEG;IACH,cAFU,OAAO,CAEY;IAE7B;;OAEG;IACH,eAFU,MAAM,CAEE;IAElB;;;;OAIG;IACH,gBAFU,OAAO,CAEc;IAE/B;;OAEG;IACH,KAFU,OAAO,CAEU;IA+DvB,cAAwB;IACxB,wBAA4B;IAM5B,iBAAwC;IACxC,oBAA8C;IAC9C,qBAAgD;IAChD,oBAA8C;IAC9C,kBAA0C;IAe9C;;OAEG;IACH,yCAIC;IAmGD,iCAYC;IAED,gCAuCC;IAED;;;OAGG;IACH,qBAFW;QAAC,IAAI,EAAC,MAAM,CAAA;KAAC,QAIvB;IAED,gCAsPC;IAED,8BAcC;IAED,gBASC;IAED;;;;OAIG;IACH,eAHW,MAAM,GACJ,iBAAiB,CAW7B;IAED;;;OAGG;IACH,oCAIC;IAGD,eAYC;IAED,cAuBC;IAID,kBAIC;IAED,yBAIC;IAED,+CAIC;IAED,yCAIC;IAED,mCAIC;IAED,yBAIC;IAED,2BAIC;;CAEJ;0BAx4ByB,gBAAgB;oBAHtB,mCAAmC;uBADhC,sCAAsC;4BAEjC,kDAAkD"}
|
|
@@ -486,7 +486,7 @@ class TransformControls extends GizmoNode {
|
|
|
486
486
|
gizmo_drag_plane_normal(
|
|
487
487
|
this.#plane_normal,
|
|
488
488
|
this.mode, this.axis, this.space,
|
|
489
|
-
ot.
|
|
489
|
+
scratch_quaternion.set(ot.rotation_x, ot.rotation_y, ot.rotation_z, ot.rotation_w),
|
|
490
490
|
this.eye, this.#camera_forward
|
|
491
491
|
);
|
|
492
492
|
|
|
@@ -654,25 +654,12 @@ class TransformControls extends GizmoNode {
|
|
|
654
654
|
scratch_vector.applyQuaternion(this._worldQuaternionInv);
|
|
655
655
|
scratch_vector_2.applyQuaternion(this._worldQuaternionInv);
|
|
656
656
|
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
scratch_vector_2.
|
|
662
|
-
|
|
663
|
-
}
|
|
664
|
-
|
|
665
|
-
if (axis.search('Y') === -1) {
|
|
666
|
-
|
|
667
|
-
scratch_vector_2.y = 1;
|
|
668
|
-
|
|
669
|
-
}
|
|
670
|
-
|
|
671
|
-
if (axis.search('Z') === -1) {
|
|
672
|
-
|
|
673
|
-
scratch_vector_2.z = 1;
|
|
674
|
-
|
|
675
|
-
}
|
|
657
|
+
// Untouched axes keep ratio one; their drag-plane coordinates may both be zero.
|
|
658
|
+
scratch_vector_2.set(
|
|
659
|
+
axis.includes('X') ? scratch_vector_2.x / scratch_vector.x : 1,
|
|
660
|
+
axis.includes('Y') ? scratch_vector_2.y / scratch_vector.y : 1,
|
|
661
|
+
axis.includes('Z') ? scratch_vector_2.z / scratch_vector.z : 1
|
|
662
|
+
);
|
|
676
663
|
|
|
677
664
|
}
|
|
678
665
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gizmo_drag_plane.d.ts","sourceRoot":"","sources":["../../../../../editor/tools/v2/handle/gizmo_drag_plane.js"],"names":[],"mappings":"AAwBA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,gDARW,OAAO,QACP,MAAM,QACN,MAAM,SACN,MAAM,oCAEN,OAAO,kBACP,OAAO,QAqEjB;AAED;;;;;;;;;;GAUG;AACH,8CARW,OAAO,UACP,OAAO,aACP,OAAO,eACP,OAAO,gBACP,OAAO,GACL,OAAO,
|
|
1
|
+
{"version":3,"file":"gizmo_drag_plane.d.ts","sourceRoot":"","sources":["../../../../../editor/tools/v2/handle/gizmo_drag_plane.js"],"names":[],"mappings":"AAwBA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,gDARW,OAAO,QACP,MAAM,QACN,MAAM,SACN,MAAM,oCAEN,OAAO,kBACP,OAAO,QAqEjB;AAED;;;;;;;;;;GAUG;AACH,8CARW,OAAO,UACP,OAAO,aACP,OAAO,eACP,OAAO,gBACP,OAAO,GACL,OAAO,CA0BnB;oBApJmB,sCAAsC"}
|
|
@@ -140,6 +140,10 @@ export function gizmo_ray_plane_point(result, origin, direction, plane_point, pl
|
|
|
140
140
|
|
|
141
141
|
const t = along.dot(plane_normal) / denominator;
|
|
142
142
|
|
|
143
|
+
if (t < 0) {
|
|
144
|
+
return false;
|
|
145
|
+
}
|
|
146
|
+
|
|
143
147
|
result.copy(direction).multiplyScalar(t).add(origin);
|
|
144
148
|
|
|
145
149
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EntityEditor.d.ts","sourceRoot":"","sources":["../../../../editor/view/ecs/EntityEditor.js"],"names":[],"mappings":";AAkBA;IAYI,
|
|
1
|
+
{"version":3,"file":"EntityEditor.d.ts","sourceRoot":"","sources":["../../../../editor/view/ecs/EntityEditor.js"],"names":[],"mappings":";AAkBA;IAYI,yBA2OC;IAlOG,YAAkB;IAGlB,0BAAoC;IACpC;;OAEG;IACH,eAFU,cAAc,aAAa,CAAC,CAEM;IAC5C,sBAA4B;IAU5B;;;OAGG;IACH,sBAFU,mCAAiC,CAEN;IAwGrC,wBAEE;IAiGF,aAAkB;;CAazB;iBA3QgB,2BAA2B;0BATlB,0CAA0C;8BAEtC,0CAA0C;iBAHvD,2CAA2C;qCAcvB,2BAA2B;sBAT1C,uCAAuC"}
|
|
@@ -156,7 +156,9 @@ class EntityEditor extends View {
|
|
|
156
156
|
if (oldEntity !== undefined && oldEntity !== null) {
|
|
157
157
|
unwatchEntity(oldEntity);
|
|
158
158
|
}
|
|
159
|
-
|
|
159
|
+
if (entity !== undefined && entity !== null) {
|
|
160
|
+
watchEntity(entity);
|
|
161
|
+
}
|
|
160
162
|
|
|
161
163
|
rebuildComponents();
|
|
162
164
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"NodeGraphView.d.ts","sourceRoot":"","sources":["../../../../editor/view/node-graph/NodeGraphView.js"],"names":[],"mappings":";AA0GA;IA4GI;;;;;;;;;;;;;;;;;;;OAmBG;IACH,
|
|
1
|
+
{"version":3,"file":"NodeGraphView.d.ts","sourceRoot":"","sources":["../../../../editor/view/node-graph/NodeGraphView.js"],"names":[],"mappings":";AA0GA;IA4GI;;;;;;;;;;;;;;;;;;;OAmBG;IACH,gJAwiBC;IAvqBD,mBAAmC;IAEnC;;;;;;;;;OASG;IACH,oBAFU,IAAI,MAAM,EAAE,QAAQ,CAAC,CAET;IAmBtB;;;OAGG;IACH,qBAFmB,yBAAyB,cAE/B;IAEb;;OAEG;IACH,iBA0DE;IAEF;;;;OAIG;IACH,mBAFU,OAAO,CAEA;IAmCb;;;OAGG;IACH,2CAAsC;IAMtC;;;OAGG;IACH,QAFU,eAAe,CAEL;IAEpB;;;OAGG;IACH,iBAAkB;IAElB;;;OAGG;IACH,4BAAoB;IAEpB;;;OAGG;IACH,WAFU,kBAAkB,CAEF;IA6f9B;;;;;;;;;OASG;IACH,oBAFa,IAAI,CAgBhB;IAED;;;;;;;;OAQG;IACH,gBAFa,IAAI,CAMhB;IAED;;;;;;;;OAQG;IACH,cAFa,OAAO,CAInB;IAgBD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,gCAFa,IAAI,CAgOhB;IAED;;;;;;;;OAQG;IACH,0BAHW,KAAK,GACH,MAAM,EAAE,CAwBpB;IAED;;;;;;;;;;;OAWG;IACH,gCAHW,KAAK,GACH,MAAM,EAAE,CAsBpB;IAED;;;;;;;;;;OAUG;IACH,6BAJW,KAAK,SACL,UAAU,GAAC,YAAY,GACrB,IAAI,CAgDhB;IAED;;;;OAIG;IACH,wBAHW,OAAO,GACL,aAAW,IAAI,CAiC3B;IAED;;;;;;;OAOG;IACH,4BAJW,MAAM,GAAC,IAAI,gBACX,MAAM,GAAC,IAAI,SACX,UAAU,GAAC,YAAY,QA8CjC;IAGD;;;;;;;OAOG;IACH,wDAFa,OAAO,CAcnB;IAED;;;;;;;;;OASG;IACH,+CAFa,oBAAoB,CAYhC;IAED;;;;;;OAMG;IACH,oBALW,wBAAwB,QACxB,oBAAoB,iCAEpB,OAAO,QA+DjB;IAED;;;;OAIG;IACH,mCAHW,yBAAyB,UACzB,OAAO,QAiBjB;IAeD;;;;OAIG;IACH,kCAHW,OAAO,UACP,OAAO,QAIjB;IAED;;;;OAIG;IACH,kCAHW,OAAO,UACP,OAAO,QAIjB;;CACJ;iBA/8CgB,2BAA2B;yBAInB,eAAe;0CAIE,sEAAsE;gCAChF,mDAAmD;gCACnD,sBAAsB;mCACnB,yBAAyB;kBAS1C,yCAAyC;oBAlBvC,mCAAmC;qCAiBlB,mEAAmE"}
|
|
@@ -289,6 +289,7 @@ export class NodeGraphView extends View {
|
|
|
289
289
|
enabled: false,
|
|
290
290
|
anchor: new Vector2(),
|
|
291
291
|
endpoint: null,
|
|
292
|
+
pointerId: null,
|
|
292
293
|
|
|
293
294
|
/**
|
|
294
295
|
* Whether some port has already dealt with the drop that is ending this drag.
|
|
@@ -347,12 +348,14 @@ export class NodeGraphView extends View {
|
|
|
347
348
|
// what this port carries on this node, where that is not what it declares
|
|
348
349
|
portView.setDataType(self.portDataType(node.getEndpoint(port.id)));
|
|
349
350
|
|
|
351
|
+
let ownsWireGesture = false;
|
|
350
352
|
const draggableAspect = new DraggableAspect({
|
|
351
353
|
el: portView.el,
|
|
352
354
|
dragStart(p, event) {
|
|
353
|
-
if (self.readOnly) {
|
|
355
|
+
if (self.readOnly || tempConnection.enabled) {
|
|
354
356
|
return;
|
|
355
357
|
}
|
|
358
|
+
ownsWireGesture = true;
|
|
356
359
|
|
|
357
360
|
// An input holds one wire, so a drag out of a bound one is that
|
|
358
361
|
// wire being taken hold of: what is on the end of the gesture is
|
|
@@ -371,6 +374,7 @@ export class NodeGraphView extends View {
|
|
|
371
374
|
}
|
|
372
375
|
|
|
373
376
|
tempConnection.enabled = true;
|
|
377
|
+
tempConnection.pointerId = event.pointerId;
|
|
374
378
|
tempConnection.consumed = false;
|
|
375
379
|
tempConnection.detached = held;
|
|
376
380
|
tempConnection.endpoint = endpoint;
|
|
@@ -383,15 +387,17 @@ export class NodeGraphView extends View {
|
|
|
383
387
|
self.transformPointCanvas2Graph(v2_pointer, tempConnection.anchor);
|
|
384
388
|
},
|
|
385
389
|
dragEnd() {
|
|
386
|
-
if (!
|
|
390
|
+
if (!ownsWireGesture) {
|
|
387
391
|
return;
|
|
388
392
|
}
|
|
393
|
+
ownsWireGesture = false;
|
|
389
394
|
|
|
390
395
|
const endpoint = tempConnection.endpoint;
|
|
391
396
|
const consumed = tempConnection.consumed;
|
|
392
397
|
const detached = tempConnection.detached;
|
|
393
398
|
|
|
394
399
|
tempConnection.enabled = false;
|
|
400
|
+
tempConnection.pointerId = null;
|
|
395
401
|
tempConnection.detached = null;
|
|
396
402
|
|
|
397
403
|
requestRedraw();
|
|
@@ -423,7 +429,16 @@ export class NodeGraphView extends View {
|
|
|
423
429
|
graph_y: anchor.y,
|
|
424
430
|
});
|
|
425
431
|
},
|
|
432
|
+
dragCancel() {
|
|
433
|
+
if (!ownsWireGesture) return;
|
|
434
|
+
ownsWireGesture = false;
|
|
435
|
+
tempConnection.enabled = false;
|
|
436
|
+
tempConnection.pointerId = null;
|
|
437
|
+
tempConnection.detached = null;
|
|
438
|
+
requestRedraw();
|
|
439
|
+
},
|
|
426
440
|
drag(p, o, delta, event) {
|
|
441
|
+
if (!ownsWireGesture) return;
|
|
427
442
|
// the anchor lives in graph space, derive it from the cursor position over this view
|
|
428
443
|
readPositionFromMouseEvent(v2_pointer, event, self.el);
|
|
429
444
|
|
|
@@ -433,10 +448,10 @@ export class NodeGraphView extends View {
|
|
|
433
448
|
}
|
|
434
449
|
});
|
|
435
450
|
|
|
436
|
-
draggableAspect.getPointer().on.up.add(() => {
|
|
451
|
+
draggableAspect.getPointer().on.up.add((p, event) => {
|
|
437
452
|
//pointer released above the port
|
|
438
453
|
|
|
439
|
-
if (tempConnection.enabled) {
|
|
454
|
+
if (tempConnection.enabled && event.pointerId === tempConnection.pointerId) {
|
|
440
455
|
// whatever happens below, the wire has met a port and its fate is
|
|
441
456
|
// decided here rather than on open canvas
|
|
442
457
|
tempConnection.consumed = true;
|
|
@@ -944,8 +959,16 @@ export class NodeGraphView extends View {
|
|
|
944
959
|
vMarquee.setClass('toggle', event.ctrlKey);
|
|
945
960
|
};
|
|
946
961
|
|
|
962
|
+
const abandonGesture = () => {
|
|
963
|
+
gesture.button = -1;
|
|
964
|
+
gesture.drag = CanvasDrag.None;
|
|
965
|
+
gesture.travelled = false;
|
|
966
|
+
vMarquee.visible = false;
|
|
967
|
+
};
|
|
968
|
+
|
|
947
969
|
const draggableAspect = new DraggableAspect({
|
|
948
970
|
el: this.el,
|
|
971
|
+
dragCancel: abandonGesture,
|
|
949
972
|
dragStart: (position) => {
|
|
950
973
|
if (gesture.button === MOUSE_BUTTON.LEFT) {
|
|
951
974
|
gesture.drag = CanvasDrag.Marquee;
|
|
@@ -971,6 +994,7 @@ export class NodeGraphView extends View {
|
|
|
971
994
|
}
|
|
972
995
|
|
|
973
996
|
if (gesture.drag === CanvasDrag.Pan) {
|
|
997
|
+
if (!gesture.travelled) return;
|
|
974
998
|
const d = origin.clone();
|
|
975
999
|
|
|
976
1000
|
d.sub(position);
|
|
@@ -1074,14 +1098,6 @@ export class NodeGraphView extends View {
|
|
|
1074
1098
|
|
|
1075
1099
|
// A canvas taken off screen mid-gesture never sees the release that would have ended it, and
|
|
1076
1100
|
// one that came back still believing a button was down would ignore the next press.
|
|
1077
|
-
const abandonGesture = () => {
|
|
1078
|
-
gesture.button = -1;
|
|
1079
|
-
gesture.drag = CanvasDrag.None;
|
|
1080
|
-
gesture.travelled = false;
|
|
1081
|
-
|
|
1082
|
-
vMarquee.visible = false;
|
|
1083
|
-
};
|
|
1084
|
-
|
|
1085
1101
|
this.on.linked.add(draggableAspect.start, draggableAspect);
|
|
1086
1102
|
this.on.unlinked.add(draggableAspect.stop, draggableAspect);
|
|
1087
1103
|
this.on.unlinked.add(abandonGesture);
|
package/package.json
CHANGED
|
@@ -1,96 +1,91 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@woosh/meep-engine",
|
|
3
|
-
"license": "SEE LICENSE IN LICENSE",
|
|
4
|
-
"productName": "Meep",
|
|
5
|
-
"homepage": "https://meep.company-named.com/",
|
|
6
|
-
"description": "Advanced 3D game engine",
|
|
7
|
-
"type": "module",
|
|
8
|
-
"author": "Alexander Goldring",
|
|
9
|
-
"version": "3.
|
|
10
|
-
"exports": {
|
|
11
|
-
"./build/*": "./build/*",
|
|
12
|
-
"./src/*": "./src/*",
|
|
13
|
-
"./editor/*": "./editor/*",
|
|
14
|
-
"./samples/*": "./samples/*",
|
|
15
|
-
"./*.md": "./*.md",
|
|
16
|
-
"./package.json": "./package.json"
|
|
17
|
-
},
|
|
18
|
-
"sideEffects": [
|
|
19
|
-
"**/*.css",
|
|
20
|
-
"**/*.scss"
|
|
21
|
-
],
|
|
22
|
-
"scripts": {
|
|
23
|
-
"test:ci": "node scripts/check-types.mjs && vitest run --coverage --reporter=default --reporter=junit --outputFile=junit.xml",
|
|
24
|
-
"build-module": "rollup -c rollup.config.js",
|
|
25
|
-
"publish-npm": "npm publish",
|
|
26
|
-
"generate-types": "tsc --project tsconfig.types.json",
|
|
27
|
-
"check-types": "node scripts/check-types.mjs",
|
|
28
|
-
"test": "vitest run",
|
|
29
|
-
"test:extended": "vitest run --mode extended",
|
|
30
|
-
"test:all": "vitest run --mode all",
|
|
31
|
-
"dev": "vite"
|
|
32
|
-
},
|
|
33
|
-
"browserslist": [
|
|
34
|
-
"last 2 chrome version",
|
|
35
|
-
"last 2 firefox version",
|
|
36
|
-
"last 2 safari version"
|
|
37
|
-
],
|
|
38
|
-
"files": [
|
|
39
|
-
"build",
|
|
40
|
-
"src",
|
|
41
|
-
"editor",
|
|
42
|
-
"samples",
|
|
43
|
-
"package.json",
|
|
44
|
-
"README.md"
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
"
|
|
48
|
-
"
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
"
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
"@
|
|
60
|
-
"
|
|
61
|
-
"
|
|
62
|
-
"
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
"
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
"
|
|
74
|
-
"
|
|
75
|
-
"
|
|
76
|
-
"
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
"
|
|
81
|
-
"
|
|
82
|
-
"
|
|
83
|
-
"
|
|
84
|
-
"
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
"
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
],
|
|
93
|
-
"engines": {
|
|
94
|
-
"node": ">=24"
|
|
95
|
-
}
|
|
96
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@woosh/meep-engine",
|
|
3
|
+
"license": "SEE LICENSE IN LICENSE",
|
|
4
|
+
"productName": "Meep",
|
|
5
|
+
"homepage": "https://meep.company-named.com/",
|
|
6
|
+
"description": "Advanced 3D game engine",
|
|
7
|
+
"type": "module",
|
|
8
|
+
"author": "Alexander Goldring",
|
|
9
|
+
"version": "3.43.0",
|
|
10
|
+
"exports": {
|
|
11
|
+
"./build/*": "./build/*",
|
|
12
|
+
"./src/*": "./src/*",
|
|
13
|
+
"./editor/*": "./editor/*",
|
|
14
|
+
"./samples/*": "./samples/*",
|
|
15
|
+
"./*.md": "./*.md",
|
|
16
|
+
"./package.json": "./package.json"
|
|
17
|
+
},
|
|
18
|
+
"sideEffects": [
|
|
19
|
+
"**/*.css",
|
|
20
|
+
"**/*.scss"
|
|
21
|
+
],
|
|
22
|
+
"scripts": {
|
|
23
|
+
"test:ci": "node scripts/check-types.mjs && vitest run --coverage --reporter=default --reporter=junit --outputFile=junit.xml",
|
|
24
|
+
"build-module": "rollup -c rollup.config.js",
|
|
25
|
+
"publish-npm": "npm publish",
|
|
26
|
+
"generate-types": "tsc --project tsconfig.types.json",
|
|
27
|
+
"check-types": "node scripts/check-types.mjs",
|
|
28
|
+
"test": "vitest run",
|
|
29
|
+
"test:extended": "vitest run --mode extended",
|
|
30
|
+
"test:all": "vitest run --mode all",
|
|
31
|
+
"dev": "vite"
|
|
32
|
+
},
|
|
33
|
+
"browserslist": [
|
|
34
|
+
"last 2 chrome version",
|
|
35
|
+
"last 2 firefox version",
|
|
36
|
+
"last 2 safari version"
|
|
37
|
+
],
|
|
38
|
+
"files": [
|
|
39
|
+
"build",
|
|
40
|
+
"src",
|
|
41
|
+
"editor",
|
|
42
|
+
"samples",
|
|
43
|
+
"package.json",
|
|
44
|
+
"README.md"
|
|
45
|
+
],
|
|
46
|
+
"dependencies": {
|
|
47
|
+
"opentype.js": "1.3.4",
|
|
48
|
+
"robust-predicates": "3.0.3"
|
|
49
|
+
},
|
|
50
|
+
"peerDependencies": {
|
|
51
|
+
"dat.gui": ">=0.7.0"
|
|
52
|
+
},
|
|
53
|
+
"devDependencies": {
|
|
54
|
+
"@rollup/plugin-commonjs": "29.0.3",
|
|
55
|
+
"@rollup/plugin-node-resolve": "16.0.3",
|
|
56
|
+
"@rollup/plugin-strip": "3.0.4",
|
|
57
|
+
"@rollup/plugin-terser": "1.0.0",
|
|
58
|
+
"@vitest/coverage-v8": "^5.0.0",
|
|
59
|
+
"@webgpu/types": "0.1.72",
|
|
60
|
+
"jsdom": "^30.0.1",
|
|
61
|
+
"rollup": "4.63.1",
|
|
62
|
+
"typescript": "5.4.5",
|
|
63
|
+
"vite": "^8.2.2",
|
|
64
|
+
"vitest": "^5.0.0",
|
|
65
|
+
"web-tree-sitter": "^0.27.0"
|
|
66
|
+
},
|
|
67
|
+
"keywords": [
|
|
68
|
+
"game-engine",
|
|
69
|
+
"gamedev",
|
|
70
|
+
"ecs",
|
|
71
|
+
"entity-component-system",
|
|
72
|
+
"data-oriented",
|
|
73
|
+
"zero-allocation",
|
|
74
|
+
"modular",
|
|
75
|
+
"tree-shaking",
|
|
76
|
+
"3d",
|
|
77
|
+
"webgpu",
|
|
78
|
+
"webaudio",
|
|
79
|
+
"particles",
|
|
80
|
+
"bvh",
|
|
81
|
+
"behavior-tree",
|
|
82
|
+
"inverse-kinematics",
|
|
83
|
+
"fabrik",
|
|
84
|
+
"clustered-lighting",
|
|
85
|
+
"color-management",
|
|
86
|
+
"typescript"
|
|
87
|
+
],
|
|
88
|
+
"engines": {
|
|
89
|
+
"node": ">=24"
|
|
90
|
+
}
|
|
91
|
+
}
|
|
@@ -27,6 +27,9 @@
|
|
|
27
27
|
</head>
|
|
28
28
|
<body>
|
|
29
29
|
<div id="hint">W / S move the lamp · drag with the left button to slide it</div>
|
|
30
|
-
<script type="module"
|
|
30
|
+
<script type="module">
|
|
31
|
+
import { main } from "./main.js";
|
|
32
|
+
main();
|
|
33
|
+
</script>
|
|
31
34
|
</body>
|
|
32
35
|
</html>
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
|
|
17
17
|
import Vector2 from "../../../src/core/geom/Vector2.js";
|
|
18
18
|
import { Transform64 } from "../../../src/engine/ecs/transform/Transform64.js";
|
|
19
|
+
import { t64_announce_change } from "../../../src/engine/ecs/transform/t64_announce_change.js";
|
|
19
20
|
import Entity from "../../../src/engine/ecs/Entity.js";
|
|
20
21
|
import { EngineHarness } from "../../../src/engine/EngineHarness.js";
|
|
21
22
|
import { Light } from "../../../src/engine/graphics/ecs/light/Light.js";
|
|
@@ -99,7 +100,7 @@ export async function main() {
|
|
|
99
100
|
const lampTransform = new Transform64();
|
|
100
101
|
lampTransform.setTranslation(0, ROOM_SIZE_METRES * 0.5, 0);
|
|
101
102
|
|
|
102
|
-
new Entity().add(lamp).add(lampTransform).build(engine.entityManager.dataset);
|
|
103
|
+
const lampId = new Entity().add(lamp).add(lampTransform).build(engine.entityManager.dataset);
|
|
103
104
|
|
|
104
105
|
/**
|
|
105
106
|
* NOTE 3 — **input arrives on the view stack's element, and the engine does not focus it for
|
|
@@ -122,17 +123,24 @@ export async function main() {
|
|
|
122
123
|
const forward = keyboard.keys.w.is_down ? 1 : 0;
|
|
123
124
|
const back = keyboard.keys.s.is_down ? 1 : 0;
|
|
124
125
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
);
|
|
126
|
+
const height = ROOM_SIZE_METRES * 0.5 + (forward - back) * 2;
|
|
127
|
+
if (height === lampTransform.translation_y) return;
|
|
128
|
+
lampTransform.setTranslation(lampTransform.translation_x, height, lampTransform.translation_z);
|
|
129
|
+
t64_announce_change(engine.entityManager.dataset, lampId);
|
|
128
130
|
});
|
|
129
131
|
|
|
130
|
-
pointer.on.move.add((position,
|
|
132
|
+
pointer.on.move.add((position, event, delta) => {
|
|
131
133
|
if (!pointer.mouseButtonLeft.is_down) {
|
|
132
134
|
return;
|
|
133
135
|
}
|
|
134
136
|
|
|
135
|
-
|
|
137
|
+
if (delta.x === 0 && delta.y === 0) return;
|
|
138
|
+
lampTransform.setTranslation(
|
|
139
|
+
lampTransform.translation_x + delta.x * 0.01,
|
|
140
|
+
lampTransform.translation_y,
|
|
141
|
+
lampTransform.translation_z + delta.y * 0.01
|
|
142
|
+
);
|
|
143
|
+
t64_announce_change(engine.entityManager.dataset, lampId);
|
|
136
144
|
});
|
|
137
145
|
|
|
138
146
|
return engine;
|
|
@@ -147,6 +155,3 @@ export async function main() {
|
|
|
147
155
|
* `importScripts` of a same-origin script is blocked and reproduces exactly the same `NetworkError`
|
|
148
156
|
* as the file not being there at all.
|
|
149
157
|
*/
|
|
150
|
-
if (typeof document !== "undefined" && document.currentScript !== null) {
|
|
151
|
-
main();
|
|
152
|
-
}
|
|
@@ -28,11 +28,11 @@ export function utf8_decode(bytes, start = 0, end = bytes.length) {
|
|
|
28
28
|
if (b0 < 0x80) {
|
|
29
29
|
result += String.fromCharCode(b0);
|
|
30
30
|
} else if (b0 < 0xe0) {
|
|
31
|
-
result += String.fromCharCode(((b0 & 0x1f) << 6) | (bytes[i++] & 0x3f));
|
|
31
|
+
result += String.fromCharCode(((b0 & 0x1f) << 6) | (i < end ? bytes[i++] & 0x3f : 0));
|
|
32
32
|
} else if (b0 < 0xf0) {
|
|
33
|
-
result += String.fromCharCode(((b0 & 0x0f) << 12) | ((bytes[i++] & 0x3f) << 6) | (bytes[i++] & 0x3f));
|
|
33
|
+
result += String.fromCharCode(((b0 & 0x0f) << 12) | ((i < end ? bytes[i++] & 0x3f : 0) << 6) | (i < end ? bytes[i++] & 0x3f : 0));
|
|
34
34
|
} else {
|
|
35
|
-
const code_point = ((b0 & 0x07) << 18) | ((bytes[i++] & 0x3f) << 12) | ((bytes[i++] & 0x3f) << 6) | (bytes[i++] & 0x3f);
|
|
35
|
+
const code_point = ((b0 & 0x07) << 18) | ((i < end ? bytes[i++] & 0x3f : 0) << 12) | ((i < end ? bytes[i++] & 0x3f : 0) << 6) | (i < end ? bytes[i++] & 0x3f : 0);
|
|
36
36
|
const offset = code_point - 0x10000;
|
|
37
37
|
|
|
38
38
|
result += String.fromCharCode(0xd800 + (offset >> 10), 0xdc00 + (offset & 0x3ff));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bvh32_query_user_data_ray.d.ts","sourceRoot":"","sources":["../../../../../../src/core/bvh2/binary/2/bvh32_query_user_data_ray.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;GAaG;AACH,kDAZW,MAAM,EAAE,iBACR,MAAM,kCAEN,MAAM,YACN,MAAM,YACN,MAAM,eACN,MAAM,eACN,MAAM,eACN,MAAM,gBACN,MAAM,GACJ,MAAM,
|
|
1
|
+
{"version":3,"file":"bvh32_query_user_data_ray.d.ts","sourceRoot":"","sources":["../../../../../../src/core/bvh2/binary/2/bvh32_query_user_data_ray.js"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;GAaG;AACH,kDAZW,MAAM,EAAE,iBACR,MAAM,kCAEN,MAAM,YACN,MAAM,YACN,MAAM,eACN,MAAM,eACN,MAAM,eACN,MAAM,gBACN,MAAM,GACJ,MAAM,CA6FlB"}
|