@woosh/meep-engine 3.39.0 → 3.40.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-terrain.js +1 -1
- package/package.json +1 -1
- package/src/engine/EngineHarness.d.ts.map +1 -1
- package/src/engine/EngineHarness.js +17 -4
- package/src/engine/asset/loaders/image/avif/threaded_image_encoder.js +1 -1
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +4 -0
- package/src/engine/graphics/ecs/water/Water.d.ts +14 -17
- package/src/engine/graphics/ecs/water/Water.d.ts.map +1 -1
- package/src/engine/graphics/ecs/water/Water.js +100 -110
- package/src/engine/graphics/ecs/water/WaterSerializationAdapter.d.ts.map +1 -1
- package/src/engine/graphics/ecs/water/WaterSerializationAdapter.js +36 -38
- package/src/engine/graphics/ecs/water/WaterSerializationUpgrader_3_4.d.ts +6 -0
- package/src/engine/graphics/ecs/water/WaterSerializationUpgrader_3_4.d.ts.map +1 -0
- package/src/engine/graphics/ecs/water/WaterSerializationUpgrader_3_4.js +10 -0
- package/src/engine/graphics/ecs/water/WaterWaves.d.ts +3 -3
- package/src/engine/graphics/ecs/water/WaterWaves.js +46 -46
- package/src/engine/graphics/texture/sampler/sampler2d_to_avif.d.ts.map +1 -1
- package/src/engine/graphics/texture/sampler/sampler2d_to_avif.js +8 -5
- package/src/engine/graphics3/WaterSystem.d.ts +21 -74
- package/src/engine/graphics3/WaterSystem.d.ts.map +1 -1
- package/src/engine/graphics3/WaterSystem.js +174 -367
- package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
- package/src/format/image/avif/api/convert_to_rgba.d.ts +2 -2
- package/src/format/image/avif/api/convert_to_rgba.d.ts.map +1 -1
- package/src/format/image/avif/api/convert_to_rgba.js +10 -9
- package/src/format/image/avif/api/decode_avif.d.ts +2 -2
- package/src/format/image/avif/api/decode_avif.d.ts.map +1 -1
- package/src/format/image/avif/api/decode_avif.js +1 -1
- package/src/shade/playground/ssr_reprojection/README.md +111 -103
- package/src/shade/playground/ssr_reprojection/SpatialFilterProbe.js +68 -68
- package/src/shade/playground/ssr_reprojection/index.html +80 -79
- package/src/shade/playground/ssr_reprojection/main.js +256 -247
- package/src/shade/playground/ssr_variance/capture.js +96 -96
- package/src/shade/playground/ssr_variance/reference.js +78 -78
- package/src/shade/playground/vsm/README.md +96 -0
- package/src/shade/playground/vsm/VSMDebugOverlay.d.ts +49 -0
- package/src/shade/playground/vsm/VSMDebugOverlay.d.ts.map +1 -0
- package/src/shade/playground/vsm/VSMDebugOverlay.js +351 -0
- package/src/shade/playground/vsm/clipmap_panel.d.ts +8 -0
- package/src/shade/playground/vsm/clipmap_panel.d.ts.map +1 -0
- package/src/shade/playground/vsm/clipmap_panel.js +138 -0
- package/src/shade/playground/vsm/index.html +170 -0
- package/src/shade/playground/vsm/main.d.ts +2 -0
- package/src/shade/playground/vsm/main.d.ts.map +1 -0
- package/src/shade/playground/vsm/main.js +389 -0
- package/src/shade/playground/vsm/scenes.d.ts +52 -0
- package/src/shade/playground/vsm/scenes.d.ts.map +1 -0
- package/src/shade/playground/vsm/scenes.js +320 -0
- package/src/shade/playground/vsm/verify_vsm.d.ts +38 -0
- package/src/shade/playground/vsm/verify_vsm.d.ts.map +1 -0
- package/src/shade/playground/vsm/verify_vsm.js +305 -0
- package/src/shade/playground/water_refraction/README.md +57 -9
- package/src/shade/playground/water_refraction/main.js +12 -3
- package/src/shade/playground/water_refraction/world.d.ts +1 -0
- package/src/shade/playground/water_refraction/world.d.ts.map +1 -1
- package/src/shade/playground/water_refraction/world.js +15 -5
- package/src/shade/renderer/Renderer.d.ts +19 -0
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.js +72 -1
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts +8 -0
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
- package/src/shade/renderer/animation/GPUAnimationManager.js +18 -0
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts +7 -0
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +11 -0
- package/src/shade/renderer/animation/skinning/SKINNING_BINDING_STRUCT.d.ts +3 -1
- package/src/shade/renderer/animation/skinning/SKINNING_BINDING_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/animation/skinning/SKINNING_BINDING_STRUCT.js +10 -1
- package/src/shade/renderer/buffer/table/serde/table_wgsl_gen_read_code.d.ts.map +1 -1
- package/src/shade/renderer/buffer/table/serde/table_wgsl_gen_read_code.js +28 -0
- package/src/shade/renderer/buffer/table/serde/table_wgsl_gen_write_code.d.ts.map +1 -1
- package/src/shade/renderer/buffer/table/serde/table_wgsl_gen_write_code.js +31 -1
- package/src/shade/renderer/geometry/MeshletGeometry.d.ts +3 -0
- package/src/shade/renderer/geometry/MeshletGeometry.d.ts.map +1 -1
- package/src/shade/renderer/geometry/MeshletGeometry.js +1 -0
- package/src/shade/renderer/light/LIGHT_DATABASE_SPEC.d.ts.map +1 -1
- package/src/shade/renderer/light/LIGHT_DATABASE_SPEC.js +62 -4
- package/src/shade/renderer/light/environment/rgbe/parse_rgbe.d.ts +1 -1
- package/src/shade/renderer/light/environment/rgbe/parse_rgbe.js +2 -2
- package/src/shade/renderer/light/environment/rgbe/rgbe_byte_to_rgb_half.d.ts +2 -2
- package/src/shade/renderer/light/environment/rgbe/rgbe_byte_to_rgb_half.d.ts.map +1 -1
- package/src/shade/renderer/light/environment/rgbe/rgbe_byte_to_rgb_half.js +6 -14
- package/src/shade/renderer/light/environment/sh_exponential/chunk_sh_exp_workgroup_sum.d.ts.map +1 -1
- package/src/shade/renderer/light/environment/sh_exponential/chunk_sh_exp_workgroup_sum.js +5 -1
- package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +1 -1
- package/src/shade/renderer/medium/ParticipatingMedium.d.ts +3 -0
- package/src/shade/renderer/medium/ParticipatingMedium.d.ts.map +1 -1
- package/src/shade/renderer/medium/ParticipatingMedium.js +7 -0
- package/src/shade/renderer/postprocess/eye/shader_autoexposure_build_histogram.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/eye/shader_autoexposure_build_histogram.js +5 -35
- package/src/shade/renderer/postprocess/nss/NSS.d.ts +1 -1
- package/src/shade/renderer/postprocess/ssr/SSR.d.ts +12 -4
- package/src/shade/renderer/postprocess/ssr/SSR.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/SSR.js +36 -8
- package/src/shade/renderer/postprocess/ssr/SSR_DENOISE_TILE_SIZE.d.ts +3 -0
- package/src/shade/renderer/postprocess/ssr/SSR_DENOISE_TILE_SIZE.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/ssr/SSR_DENOISE_TILE_SIZE.js +2 -0
- package/src/shade/renderer/postprocess/ssr/chunk_ssr_denoise_tile_active.d.ts +8 -0
- package/src/shade/renderer/postprocess/ssr/chunk_ssr_denoise_tile_active.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/ssr/chunk_ssr_denoise_tile_active.js +40 -0
- package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.js +150 -137
- package/src/shade/renderer/postprocess/ssr/shader_ssr_denoise_tile_classify.d.ts +3 -0
- package/src/shade/renderer/postprocess/ssr/shader_ssr_denoise_tile_classify.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/ssr/shader_ssr_denoise_tile_classify.js +44 -0
- package/src/shade/renderer/postprocess/ssr/shader_ssr_denoise_tile_dilate.d.ts +5 -0
- package/src/shade/renderer/postprocess/ssr/shader_ssr_denoise_tile_dilate.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/ssr/shader_ssr_denoise_tile_dilate.js +35 -0
- package/src/shade/renderer/postprocess/ssr/ssr_graph_denoise_tiles.d.ts +26 -0
- package/src/shade/renderer/postprocess/ssr/ssr_graph_denoise_tiles.d.ts.map +1 -0
- package/src/shade/renderer/postprocess/ssr/ssr_graph_denoise_tiles.js +42 -0
- package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.d.ts +1 -0
- package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.js +113 -105
- package/src/shade/renderer/postprocess/ssr/ssr_spatial_denoise_shader.d.ts +2 -0
- package/src/shade/renderer/postprocess/ssr/ssr_spatial_denoise_shader.d.ts.map +1 -1
- package/src/shade/renderer/postprocess/ssr/ssr_spatial_denoise_shader.js +177 -167
- package/src/shade/renderer/rasterize/DEPTH_STENCIL_STATE_SHADOW.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/DEPTH_STENCIL_STATE_SHADOW.js +10 -0
- package/src/shade/renderer/rasterize/RasterizationJob.d.ts +1 -2
- package/src/shade/renderer/rasterize/RasterizationJob.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/RasterizationJob.js +1 -2
- package/src/shade/renderer/rasterize/bucket/construct_primitive_state.d.ts +5 -6
- package/src/shade/renderer/rasterize/bucket/construct_primitive_state.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/bucket/construct_primitive_state.js +5 -6
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts +2 -2
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts.map +1 -1
- package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.js +1 -1
- package/src/shade/renderer/scene/SCENE_DATABASE_SPEC.d.ts.map +1 -1
- package/src/shade/renderer/scene/SCENE_DATABASE_SPEC.js +11 -0
- package/src/shade/renderer/shader/chunk/atmosphere/phase/jd/build_lut_fog_parameters_jendersie_deon.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/atmosphere/phase/jd/build_lut_fog_parameters_jendersie_deon.js +4 -5
- package/src/shade/renderer/shader/chunk/brdf/dfg/generate_dfg_texture.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/brdf/dfg/generate_dfg_texture.js +1 -5
- package/src/shade/renderer/shader/chunk/screen_space/chunk_screen_importance.d.ts +30 -0
- package/src/shade/renderer/shader/chunk/screen_space/chunk_screen_importance.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/screen_space/chunk_screen_importance.js +54 -0
- package/src/shade/renderer/shader/type/serde/read_gpu_typed_buffer.d.ts.map +1 -1
- package/src/shade/renderer/shader/type/serde/read_gpu_typed_buffer.js +3 -2
- package/src/shade/renderer/shadow/map/DIRECTIONAL_SHADOWMAP_STRUCT.d.ts +19 -0
- package/src/shade/renderer/shadow/map/DIRECTIONAL_SHADOWMAP_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/shadow/map/DIRECTIONAL_SHADOWMAP_STRUCT.js +27 -0
- package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.d.ts +1 -0
- package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/DirectionalLightShadowmap.js +4 -0
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts +54 -0
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/GPUSceneShadowmapContext.js +502 -10
- package/src/shade/renderer/shadow/map/Shadowmap.d.ts +3 -2
- package/src/shade/renderer/shadow/map/Shadowmap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/Shadowmap.js +3 -2
- package/src/shade/renderer/shadow/map/shader/chunk_sample_shadowmap_atlas_for_light.d.ts +8 -0
- package/src/shade/renderer/shadow/map/shader/chunk_sample_shadowmap_atlas_for_light.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/shader/chunk_sample_shadowmap_atlas_for_light.js +34 -3
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_sample_directional.d.ts +3 -2
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_sample_directional.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_sample_directional.js +17 -2
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_sample_point2.d.ts.map +1 -1
- package/src/shade/renderer/shadow/map/shader/chunk_shadowmap_sample_point2.js +137 -133
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_FIRST_TEXEL_SIZE.d.ts +15 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_FIRST_TEXEL_SIZE.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_FIRST_TEXEL_SIZE.js +14 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_PAGE_BUDGET.d.ts +16 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_PAGE_BUDGET.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/DEFAULT_VSM_PAGE_BUDGET.js +15 -0
- package/src/shade/renderer/shadow/vsm/PLAN.md +440 -0
- package/src/shade/renderer/shadow/vsm/REVIEW_LEDGER.md +43 -0
- package/src/shade/renderer/shadow/vsm/VSMMoverTracker.d.ts +42 -0
- package/src/shade/renderer/shadow/vsm/VSMMoverTracker.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSMMoverTracker.js +153 -0
- package/src/shade/renderer/shadow/vsm/VSMPageManager.d.ts +327 -0
- package/src/shade/renderer/shadow/vsm/VSMPageManager.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSMPageManager.js +1408 -0
- package/src/shade/renderer/shadow/vsm/VSM_COVER_LEVEL_STEP.d.ts +14 -0
- package/src/shade/renderer/shadow/vsm/VSM_COVER_LEVEL_STEP.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSM_COVER_LEVEL_STEP.js +13 -0
- package/src/shade/renderer/shadow/vsm/VSM_FEEDBACK_LAYOUT.d.ts +63 -0
- package/src/shade/renderer/shadow/vsm/VSM_FEEDBACK_LAYOUT.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSM_FEEDBACK_LAYOUT.js +70 -0
- package/src/shade/renderer/shadow/vsm/VSM_LEVEL_LIMIT.d.ts +11 -0
- package/src/shade/renderer/shadow/vsm/VSM_LEVEL_LIMIT.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSM_LEVEL_LIMIT.js +10 -0
- package/src/shade/renderer/shadow/vsm/VSM_MOVER_LAYOUT.d.ts +54 -0
- package/src/shade/renderer/shadow/vsm/VSM_MOVER_LAYOUT.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSM_MOVER_LAYOUT.js +75 -0
- package/src/shade/renderer/shadow/vsm/VSM_RECORD_STRUCT.d.ts +23 -0
- package/src/shade/renderer/shadow/vsm/VSM_RECORD_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSM_RECORD_STRUCT.js +85 -0
- package/src/shade/renderer/shadow/vsm/VSM_SLOT_STRUCT.d.ts +16 -0
- package/src/shade/renderer/shadow/vsm/VSM_SLOT_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/VSM_SLOT_STRUCT.js +29 -0
- package/src/shade/renderer/shadow/vsm/VirtualShadowMap.d.ts +136 -25
- package/src/shade/renderer/shadow/vsm/VirtualShadowMap.d.ts.map +1 -1
- package/src/shade/renderer/shadow/vsm/VirtualShadowMap.js +282 -116
- package/src/shade/renderer/shadow/vsm/graph_vsm_feedback.d.ts +39 -0
- package/src/shade/renderer/shadow/vsm/graph_vsm_feedback.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/graph_vsm_feedback.js +289 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_shadowmap_sample_virtual.d.ts +18 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_shadowmap_sample_virtual.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_shadowmap_sample_virtual.js +65 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_addressing.d.ts +17 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_addressing.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_addressing.js +75 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_append_mover.d.ts +14 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_append_mover.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_append_mover.js +45 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_find_page.d.ts +17 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_find_page.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_find_page.js +100 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_page_view_projection.d.ts +15 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_page_view_projection.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/chunk_vsm_page_view_projection.js +47 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_demand.d.ts +26 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_demand.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_demand.js +156 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_gather_counts.d.ts +13 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_gather_counts.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_gather_counts.js +65 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_movers.d.ts +30 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_movers.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_movers.js +184 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_skinned_movers.d.ts +23 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_skinned_movers.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_skinned_movers.js +109 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_stale.d.ts +56 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_stale.d.ts.map +1 -0
- package/src/shade/renderer/shadow/vsm/shader/shader_vsm_stale.js +211 -0
- package/src/shade/renderer/texture/format/decode_typed_gpu_data.d.ts +1 -1
- package/src/shade/renderer/texture/format/decode_typed_gpu_data.d.ts.map +1 -1
- package/src/shade/renderer/texture/format/decode_typed_gpu_data.js +3 -13
- package/src/shade/renderer/texture/format/infer_format_from_parameters.d.ts.map +1 -1
- package/src/shade/renderer/texture/format/infer_format_from_parameters.js +2 -3
- package/src/shade/renderer/texture/texture_write_to_gpu.d.ts.map +1 -1
- package/src/shade/renderer/texture/texture_write_to_gpu.js +16 -16
- package/src/shade/renderer/texture/virtual/VTPhysicalCache.d.ts +4 -90
- package/src/shade/renderer/texture/virtual/VTPhysicalCache.d.ts.map +1 -1
- package/src/shade/renderer/texture/virtual/VTPhysicalCache.js +6 -210
- package/src/shade/renderer/texture/virtual/VTPhysicalSlots.d.ts +119 -0
- package/src/shade/renderer/texture/virtual/VTPhysicalSlots.d.ts.map +1 -0
- package/src/shade/renderer/texture/virtual/VTPhysicalSlots.js +245 -0
- package/src/shade/renderer/texture/virtual/build_chunk_vt_lookup.d.ts +1 -1
- package/src/shade/renderer/texture/virtual/build_chunk_vt_lookup.d.ts.map +1 -1
- package/src/shade/renderer/texture/virtual/build_chunk_vt_lookup.js +3 -19
- package/src/shade/renderer/texture/virtual/chunk_vt_page_table_entry.d.ts +13 -0
- package/src/shade/renderer/texture/virtual/chunk_vt_page_table_entry.d.ts.map +1 -0
- package/src/shade/renderer/texture/virtual/chunk_vt_page_table_entry.js +34 -0
- package/src/shade/renderer/water/GPUWaterRenderer.d.ts +7 -2
- package/src/shade/renderer/water/GPUWaterRenderer.d.ts.map +1 -1
- package/src/shade/renderer/water/GPUWaterRenderer.js +49 -49
- package/src/shade/renderer/water/chunk_water_transport.js +3 -3
- package/src/shade/renderer/water/medium/GPUWaterBodies.d.ts +11 -25
- package/src/shade/renderer/water/medium/GPUWaterBodies.d.ts.map +1 -1
- package/src/shade/renderer/water/medium/GPUWaterBodies.js +64 -116
- package/src/shade/renderer/water/medium/WATER_BODIES_STRUCT.d.ts +1 -20
- package/src/shade/renderer/water/medium/WATER_BODIES_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/water/medium/WATER_BODIES_STRUCT.js +10 -42
- package/src/shade/renderer/water/medium/chunk_water_bodies.d.ts +3 -0
- package/src/shade/renderer/water/medium/chunk_water_bodies.d.ts.map +1 -0
- package/src/shade/renderer/water/medium/chunk_water_bodies.js +3 -0
- package/src/shade/renderer/water/medium/shader_water_bodies_derive.d.ts +1 -5
- package/src/shade/renderer/water/medium/shader_water_bodies_derive.d.ts.map +1 -1
- package/src/shade/renderer/water/medium/shader_water_bodies_derive.js +32 -30
- package/src/shade/renderer/water/medium/shader_water_meshlets.d.ts +4 -0
- package/src/shade/renderer/water/medium/shader_water_meshlets.d.ts.map +1 -0
- package/src/shade/renderer/water/medium/shader_water_meshlets.js +69 -0
- package/src/shade/renderer/water/optics/chunk_water_inscatter.d.ts.map +1 -1
- package/src/shade/renderer/water/optics/chunk_water_inscatter.js +124 -123
- package/src/shade/renderer/water/optics/chunk_water_receiver_downwelling.d.ts.map +1 -1
- package/src/shade/renderer/water/optics/chunk_water_receiver_downwelling.js +75 -74
- package/src/shade/renderer/water/shader_water.d.ts +1 -1
- package/src/shade/renderer/water/shader_water.d.ts.map +1 -1
- package/src/shade/renderer/water/shader_water.js +490 -406
- package/src/shade/renderer/water/surface/GPUWaterWaveSimulation.d.ts +12 -85
- package/src/shade/renderer/water/surface/GPUWaterWaveSimulation.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/GPUWaterWaveSimulation.js +128 -408
- package/src/shade/renderer/water/surface/WATER_WAVE_RECORD_STRUCT.d.ts +6 -0
- package/src/shade/renderer/water/surface/WATER_WAVE_RECORD_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/WATER_WAVE_RECORD_STRUCT.js +23 -0
- package/src/shade/renderer/water/surface/chunk_water_tessellation.d.ts +9 -0
- package/src/shade/renderer/water/surface/chunk_water_tessellation.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/chunk_water_tessellation.js +144 -0
- package/src/shade/renderer/water/surface/chunk_water_wave.d.ts +3 -5
- package/src/shade/renderer/water/surface/chunk_water_wave.d.ts.map +1 -1
- package/src/shade/renderer/water/surface/chunk_water_wave.js +40 -48
- package/src/shade/renderer/water/surface/graph_water_tessellation.d.ts +14 -0
- package/src/shade/renderer/water/surface/graph_water_tessellation.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/graph_water_tessellation.js +34 -0
- package/src/shade/renderer/water/surface/shader_water_tiles.d.ts +4 -0
- package/src/shade/renderer/water/surface/shader_water_tiles.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/shader_water_tiles.js +123 -0
- package/src/shade/renderer/water/surface/shader_water_wave_batch.d.ts +6 -0
- package/src/shade/renderer/water/surface/shader_water_wave_batch.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/shader_water_wave_batch.js +85 -0
- package/src/shade/renderer/water/surface/shader_water_wave_domain.d.ts +6 -0
- package/src/shade/renderer/water/surface/shader_water_wave_domain.d.ts.map +1 -0
- package/src/shade/renderer/water/surface/shader_water_wave_domain.js +83 -0
- package/src/shade/renderer/water/water_height_texture_from_sampler.d.ts.map +1 -1
- package/src/shade/renderer/water/water_height_texture_from_sampler.js +4 -3
- package/src/engine/graphics/ecs/water/WATER_SIZE.d.ts +0 -2
- package/src/engine/graphics/ecs/water/WATER_SIZE.d.ts.map +0 -1
- package/src/engine/graphics/ecs/water/WATER_SIZE.js +0 -1
- package/src/shade/renderer/light/GPUViewLightContext.d.ts +0 -22
- package/src/shade/renderer/light/GPUViewLightContext.d.ts.map +0 -1
- package/src/shade/renderer/light/GPUViewLightContext.js +0 -62
- package/src/shade/renderer/shadow/map/csm/CSM_SHADOWMAP_STRUCT.d.ts +0 -14
- package/src/shade/renderer/shadow/map/csm/CSM_SHADOWMAP_STRUCT.d.ts.map +0 -1
- package/src/shade/renderer/shadow/map/csm/CSM_SHADOWMAP_STRUCT.js +0 -20
- package/src/shade/renderer/shadow/vsm/GPUViewShadowMaps.d.ts +0 -27
- package/src/shade/renderer/shadow/vsm/GPUViewShadowMaps.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/GPUViewShadowMaps.js +0 -147
- package/src/shade/renderer/shadow/vsm/GPUVirtualShadowTextureResidence.d.ts +0 -7
- package/src/shade/renderer/shadow/vsm/GPUVirtualShadowTextureResidence.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/GPUVirtualShadowTextureResidence.js +0 -10
- package/src/shade/renderer/shadow/vsm/VSM_RESIDENCE_WORKGROUP_TILE_RESOLUTION.d.ts +0 -2
- package/src/shade/renderer/shadow/vsm/VSM_RESIDENCE_WORKGROUP_TILE_RESOLUTION.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/VSM_RESIDENCE_WORKGROUP_TILE_RESOLUTION.js +0 -1
- package/src/shade/renderer/shadow/vsm/VSM_UNIFORMS_STRUCT.d.ts +0 -3
- package/src/shade/renderer/shadow/vsm/VSM_UNIFORMS_STRUCT.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/VSM_UNIFORMS_STRUCT.js +0 -8
- package/src/shade/renderer/shadow/vsm/VirtualShadowmapRenderer.d.ts +0 -27
- package/src/shade/renderer/shadow/vsm/VirtualShadowmapRenderer.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/VirtualShadowmapRenderer.js +0 -102
- package/src/shade/renderer/shadow/vsm/debug_inspect_coarse_bounds_buffer.d.ts +0 -8
- package/src/shade/renderer/shadow/vsm/debug_inspect_coarse_bounds_buffer.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/debug_inspect_coarse_bounds_buffer.js +0 -34
- package/src/shade/renderer/shadow/vsm/debug_inspect_residence_buffer.d.ts +0 -10
- package/src/shade/renderer/shadow/vsm/debug_inspect_residence_buffer.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/debug_inspect_residence_buffer.js +0 -64
- package/src/shade/renderer/shadow/vsm/decode_tile_address.d.ts +0 -11
- package/src/shade/renderer/shadow/vsm/decode_tile_address.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/decode_tile_address.js +0 -26
- package/src/shade/renderer/shadow/vsm/render/vms_render_tiles.d.ts +0 -2
- package/src/shade/renderer/shadow/vsm/render/vms_render_tiles.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/render/vms_render_tiles.js +0 -11
- package/src/shade/renderer/shadow/vsm/vms_pipeline_compute_coarse_bounds.d.ts +0 -20
- package/src/shade/renderer/shadow/vsm/vms_pipeline_compute_coarse_bounds.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/vms_pipeline_compute_coarse_bounds.js +0 -184
- package/src/shade/renderer/shadow/vsm/vsm_residence_pipeline.d.ts +0 -25
- package/src/shade/renderer/shadow/vsm/vsm_residence_pipeline.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/vsm_residence_pipeline.js +0 -230
- package/src/shade/renderer/shadow/vsm/vsm_tile_allocation_pipeline.d.ts +0 -19
- package/src/shade/renderer/shadow/vsm/vsm_tile_allocation_pipeline.d.ts.map +0 -1
- package/src/shade/renderer/shadow/vsm/vsm_tile_allocation_pipeline.js +0 -127
- package/src/shade/renderer/texture/encode/ENCODE_NOTES_2026_09_02.md +0 -462
- package/src/shade/renderer/water/optics/chunk_water_light_transmittance.d.ts +0 -23
- package/src/shade/renderer/water/optics/chunk_water_light_transmittance.d.ts.map +0 -1
- package/src/shade/renderer/water/optics/chunk_water_light_transmittance_dry.d.ts +0 -18
- package/src/shade/renderer/water/optics/chunk_water_light_transmittance_dry.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/WATER_SURFACE_VERTEX_STRUCT.d.ts +0 -12
- package/src/shade/renderer/water/surface/WATER_SURFACE_VERTEX_STRUCT.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/WATER_SURFACE_VERTEX_STRUCT.js +0 -27
- package/src/shade/renderer/water/surface/WATER_WAVE_PARAMETERS_STRUCT.d.ts +0 -14
- package/src/shade/renderer/water/surface/WATER_WAVE_PARAMETERS_STRUCT.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/WATER_WAVE_PARAMETERS_STRUCT.js +0 -49
- package/src/shade/renderer/water/surface/chunk_water_wave_grid.d.ts +0 -9
- package/src/shade/renderer/water/surface/chunk_water_wave_grid.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/chunk_water_wave_grid.js +0 -47
- package/src/shade/renderer/water/surface/shader_water_surface_write.d.ts +0 -10
- package/src/shade/renderer/water/surface/shader_water_surface_write.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/shader_water_surface_write.js +0 -51
- package/src/shade/renderer/water/surface/shader_water_wave_step.d.ts +0 -12
- package/src/shade/renderer/water/surface/shader_water_wave_step.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/shader_water_wave_step.js +0 -54
- package/src/shade/renderer/water/surface/water_surface_grid_indices.d.ts +0 -13
- package/src/shade/renderer/water/surface/water_surface_grid_indices.d.ts.map +0 -1
- package/src/shade/renderer/water/surface/water_surface_grid_indices.js +0 -39
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EngineHarness.d.ts","sourceRoot":"","sources":["../../../src/engine/EngineHarness.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"EngineHarness.d.ts","sourceRoot":"","sources":["../../../src/engine/EngineHarness.js"],"names":[],"mappings":"AAmFA;IAmBI;;;;;OAKG;IACH;QAHmE,aAAa,GAArE,CAAC,MAAM,EAAC,mBAAmB,EAAC,MAAM,EAAC,MAAM,QAAI;QAC5C,QAAQ,MAAM,CAAC,CAM1B;IAED;;;;;;;;;OASG;IACH,0BAHW,MAAM,GACJ,KAAK,CAYjB;IAED;;;;;;;;;OASG;IACH,6BAHW,MAAM,GACJ,aAAa,CAQzB;IAkED;;;;;;;;;;;;;OAaG;IACH;QAZyB,MAAM,EAApB,MAAM;QACyB,GAAG,GAAlC,sBAAsB;QACN,MAAM,GAAtB,OAAO;QACQ,QAAQ,GAAvB,MAAM;QACS,KAAK,GAApB,MAAM;QACS,GAAG,GAAlB,MAAM;QACU,QAAQ,GAAxB,OAAO;QACQ,WAAW,GAA1B,MAAM;QACS,WAAW,GAA1B,MAAM;QACS,WAAW,GAA1B,MAAM;QACJ,MAAM,CA+DlB;IAED;;;;;;;;;;;;;;;;;;;;;OAqBG;IACH;QApB0B,MAAM,EAArB,MAAM;QACgC,KAAK,GAA3C;YAAC,CAAC,EAAC,MAAM,CAAC;YAAA,CAAC,EAAC,MAAM,CAAC;YAAA,CAAC,EAAC,MAAM,CAAA;SAAC;QACrB,SAAS;QACT,WAAW;QACF,KAAK,GAArB,MAAM;QACU,GAAG,GAAnB,MAAM;QACU,QAAQ,GAAxB,MAAM;QACwB,WAAW,GAAzC;YAAC,CAAC,EAAC,MAAM,CAAC;YAAC,CAAC,EAAC,MAAM,CAAA;SAAC;QACJ,iBAAiB,GAAjC,MAAM;QACW,WAAW,GAA5B,OAAO;QACU,aAAa,GAA9B,OAAO;QACU,YAAY,GAA7B,OAAO;QACU,aAAa,GAA9B,OAAO;QACS,iBAAiB,GAAjC,MAAM;QACU,iBAAiB,GAAjC,MAAM;QACW,gBAAgB,GAAjC,OAAO;QACU,cAAc,GAA/B,OAAO;QACS,mBAAmB,GAAnC,MAAM;QACW,OAAO,GAAxB,OAAO;sBA0EjB;IAGD;;;;;;;;;;;;OAYG;IACH;QAXyB,MAAM,EAApB,MAAM;QACyB,GAAG,GAAlC,sBAAsB;QACP,mBAAmB,GAAlC,MAAM;QACU,UAAU,GAA1B,OAAO;QACO,GAAG,GAAjB,KAAK;QACU,YAAY,GAA3B,MAAM;QACU,YAAY,GAA5B,OAAO;QACO,OAAO,GAArB,KAAK;QACU,gBAAgB,GAA/B,MAAM;QACS,iBAAiB,GAAhC,MAAM;sBA2DhB;IAED;;;;;;;OAOG;IACH;QAN0B,YAAY,GAA3B,MAAM;QACQ,MAAM,EAApB,MAAM;QACS,WAAW,GAA1B,MAAM;QACyB,GAAG,GAAlC,sBAAsB;QACpB,QAAQ,MAAM,CAAC,CA6C3B;IAGD;;;;;;;;;;OAUG;IACH;QAR2B,MAAM,EAAtB,MAAM;QACY,IAAI,GAAtB,OAAO;QACU,QAAQ;QACR,UAAU,GAA3B,MAAM;QACW,UAAU,GAA3B,MAAM;QACY,WAAW,GAA7B,OAAO;QACL,OAAO,CAmEnB;IA9fD;;;OAGG;IACH,YAFU,eAAQ,IAAI,CAEb;IAGL;;;OAGG;IACH,QAFU,MAAM,CAEiC;IA2DrD;;;;;OAKG;IACH;QAJkE,aAAa,GAApE,CAAC,MAAM,EAAC,mBAAmB,EAAC,MAAM,EAAC,MAAM,QAAI;QAC5B,mBAAmB,GAApC,OAAO;QACL,QAAQ,MAAM,CAAC,CA0D3B;CA2XJ;;IAID;;;OAGG;IACH,uCAMC;;qCAtjBY,OAAO,iCAAiC,EAAE,sBAAsB;mBA5B1D,aAAa;oCACI,0BAA0B;sBAOxC,kCAAkC;8BAjB1B,mCAAmC;oBAD7C,yBAAyB;mBAK1B,iBAAiB;sBATd,wBAAwB;oBAG1B,yBAAyB;oBAQzB,8BAA8B"}
|
|
@@ -26,6 +26,10 @@ import TopDownCameraController from "./graphics/ecs/camera/topdown/TopDownCamera
|
|
|
26
26
|
import TopDownCameraControllerSystem from "./graphics/ecs/camera/topdown/TopDownCameraControllerSystem.js";
|
|
27
27
|
import { Light } from "./graphics/ecs/light/Light.js";
|
|
28
28
|
import Water from "./graphics/ecs/water/Water.js";
|
|
29
|
+
import { make_plane_geometry } from "../shade/renderer/geometry/primitives/make_plane_geometry.js";
|
|
30
|
+
import { meshlet_geometry_build_from_geometry } from "../shade/renderer/geometry/meshlet_geometry_build_from_geometry.js";
|
|
31
|
+
import { MeshoptClusterizer } from "../shade/renderer/geometry/meshlet/build/meshoptimizer/meshopt_clusterizer.js";
|
|
32
|
+
import { StandardAttributes } from "../shade/renderer/geometry/StandardAttributes.js";
|
|
29
33
|
import { MouseEvents } from "./input/devices/events/MouseEvents.js";
|
|
30
34
|
import KeyboardCameraController from "./input/ecs/controllers/KeyboardCameraController.js";
|
|
31
35
|
import InputControllerSystem from "./input/ecs/systems/InputControllerSystem.js";
|
|
@@ -565,14 +569,23 @@ export class EngineHarness {
|
|
|
565
569
|
if (enableWater) {
|
|
566
570
|
|
|
567
571
|
if (em.getSystem(WaterSystem) === null) {
|
|
568
|
-
em.addSystem(new WaterSystem(engine.graphics));
|
|
572
|
+
em.addSystem(new WaterSystem(engine.graphics, EngineHarness.shadeScene(engine)));
|
|
569
573
|
}
|
|
570
574
|
|
|
571
575
|
const water = new Water();
|
|
572
576
|
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
577
|
+
await MeshoptClusterizer.ready;
|
|
578
|
+
const plane = make_plane_geometry(size.x * 2, size.y * 2);
|
|
579
|
+
const positions = plane.getAttribute(StandardAttributes.Position).data;
|
|
580
|
+
const normals = plane.getAttribute(StandardAttributes.Normal).data;
|
|
581
|
+
for (let i = 0; i < positions.length; i += 3) {
|
|
582
|
+
positions[i + 2] = -positions[i + 1]; positions[i + 1] = 0;
|
|
583
|
+
normals[i] = 0; normals[i + 1] = 1; normals[i + 2] = 0;
|
|
584
|
+
}
|
|
585
|
+
const geometry = meshlet_geometry_build_from_geometry(plane);
|
|
586
|
+
const placement = new Transform64();
|
|
587
|
+
placement.setTranslation(size.x, waterLevel, size.y);
|
|
588
|
+
new Entity().add(water).add(geometry).add(placement).build(engine.entityManager.dataset);
|
|
576
589
|
}
|
|
577
590
|
|
|
578
591
|
eb.build(engine.entityManager.dataset);
|
|
@@ -229,7 +229,7 @@ export class ThreadedImageEncoder {
|
|
|
229
229
|
width: sampler2d.width,
|
|
230
230
|
height: sampler2d.height,
|
|
231
231
|
item_size: sampler2d.itemSize,
|
|
232
|
-
is_hdr: data instanceof Uint16Array,
|
|
232
|
+
is_hdr: data instanceof Float16Array || data instanceof Uint16Array,
|
|
233
233
|
quality,
|
|
234
234
|
speed
|
|
235
235
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"populateEngineSerializationRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/storage/populateEngineSerializationRegistry.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"populateEngineSerializationRegistry.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/storage/populateEngineSerializationRegistry.js"],"names":[],"mappings":"AAoLA;;;;;;;;GAQG;AACH,iGA8GC"}
|
|
@@ -89,6 +89,8 @@ import { WaterSerializationAdapter } from "../../graphics/ecs/water/WaterSeriali
|
|
|
89
89
|
import { WaterSerializationUpgrader_0_1 } from "../../graphics/ecs/water/WaterSerializationUpgrader_0_1.js";
|
|
90
90
|
import { WaterSerializationUpgrader_1_2 } from "../../graphics/ecs/water/WaterSerializationUpgrader_1_2.js";
|
|
91
91
|
import { WaterSerializationUpgrader_2_3 } from "../../graphics/ecs/water/WaterSerializationUpgrader_2_3.js";
|
|
92
|
+
import { WaterSerializationUpgrader_3_4 } from "../../graphics/ecs/water/WaterSerializationUpgrader_3_4.js";
|
|
93
|
+
import { MeshletGeometrySerializationAdapter } from "../../../shade/renderer/geometry/MeshletGeometrySerializationAdapter.js";
|
|
92
94
|
import { WaterWavesSerializationAdapter } from "../../graphics/ecs/water/WaterWavesSerializationAdapter.js";
|
|
93
95
|
import { GridPosition2Transform } from "../../grid/grid2transform/GridPosition2Transform.js";
|
|
94
96
|
import {
|
|
@@ -218,6 +220,7 @@ export function populateEngineSerializationRegistry(registry) {
|
|
|
218
220
|
new ClingToTerrainSerializationAdapter(),
|
|
219
221
|
new TerrainSerializationAdapter(),
|
|
220
222
|
new WaterSerializationAdapter(),
|
|
223
|
+
new MeshletGeometrySerializationAdapter(),
|
|
221
224
|
new WaterWavesSerializationAdapter(),
|
|
222
225
|
new GridPosition2TransformSerializationAdapter(),
|
|
223
226
|
new GridObstacleSerializationAdapter(),
|
|
@@ -286,6 +289,7 @@ export function populateEngineSerializationRegistry(registry) {
|
|
|
286
289
|
registry.registerUpgrader(Water.typeName, new WaterSerializationUpgrader_0_1());
|
|
287
290
|
registry.registerUpgrader(Water.typeName, new WaterSerializationUpgrader_1_2());
|
|
288
291
|
registry.registerUpgrader(Water.typeName, new WaterSerializationUpgrader_2_3());
|
|
292
|
+
registry.registerUpgrader(Water.typeName, new WaterSerializationUpgrader_3_4());
|
|
289
293
|
|
|
290
294
|
registry.registerUpgrader(SoundEmitter.typeName, new SoundEmitterSerializationUpgrader_0_1());
|
|
291
295
|
registry.registerUpgrader(SoundEmitter.typeName, new SoundEmitterSerializationUpgrader_1_2());
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export default Water;
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Optical properties of an authored water surface. MeshletGeometry supplies its shape and
|
|
4
|
+
* Transform64 supplies its placement.
|
|
4
5
|
*
|
|
5
6
|
* Everything optical here is physical and in SI units (WATER_OPTICS_PLAN_2026_10_02.md §7.1): the
|
|
6
7
|
* index of refraction, the micro-roughness of the surface, and what fills the body — a
|
|
@@ -11,16 +12,11 @@ export default Water;
|
|
|
11
12
|
* How the surface moves is not here: the surface producer and its own component (`WaterWaves`)
|
|
12
13
|
* own that.
|
|
13
14
|
*
|
|
14
|
-
* The component holds no renderer state
|
|
15
|
-
*
|
|
15
|
+
* The component holds no renderer state. Optical edits notify WaterSystem, which updates the
|
|
16
|
+
* persistent scene row without scanning water bodies each frame.
|
|
16
17
|
*/
|
|
17
18
|
declare class Water {
|
|
18
19
|
constructor(options: any);
|
|
19
|
-
/**
|
|
20
|
-
* Rest height of the surface, m.
|
|
21
|
-
* @type {Vector1}
|
|
22
|
-
*/
|
|
23
|
-
level: Vector1;
|
|
24
20
|
/**
|
|
25
21
|
* Index of refraction of the water relative to the air above it.
|
|
26
22
|
* @type {Vector1}
|
|
@@ -32,27 +28,28 @@ declare class Water {
|
|
|
32
28
|
* @type {Vector1}
|
|
33
29
|
*/
|
|
34
30
|
roughness: Vector1;
|
|
31
|
+
/** Optical edits queue a scene row update. */
|
|
32
|
+
onChanged: Signal;
|
|
33
|
+
/** @param {ParticipatingMedium} value */
|
|
34
|
+
set medium(value: ParticipatingMedium);
|
|
35
35
|
/**
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
*
|
|
39
|
-
* @type {ParticipatingMedium}
|
|
36
|
+
* Absorption and scattering lobes, RGB in 1/m. Defaults to open ocean.
|
|
37
|
+
* After editing fields in place, set `medium.needsUpdate = true`.
|
|
38
|
+
* @returns {ParticipatingMedium}
|
|
40
39
|
*/
|
|
41
|
-
medium: ParticipatingMedium;
|
|
42
|
-
bvh: BvhClient;
|
|
43
|
-
updateBounds(): void;
|
|
40
|
+
get medium(): ParticipatingMedium;
|
|
44
41
|
fromJSON(json: any): void;
|
|
45
42
|
toJSON(): {
|
|
46
|
-
level: number;
|
|
47
43
|
ior: number;
|
|
48
44
|
roughness: number;
|
|
49
45
|
medium: any;
|
|
50
46
|
};
|
|
47
|
+
#private;
|
|
51
48
|
}
|
|
52
49
|
declare namespace Water {
|
|
53
50
|
let typeName: string;
|
|
54
51
|
}
|
|
55
52
|
import Vector1 from "../../../../core/geom/Vector1.js";
|
|
53
|
+
import Signal from "../../../../core/events/signal/Signal.js";
|
|
56
54
|
import { ParticipatingMedium } from "../../../../shade/renderer/medium/ParticipatingMedium.js";
|
|
57
|
-
import { BvhClient } from "../../../../core/bvh2/bvh3/BvhClient.js";
|
|
58
55
|
//# sourceMappingURL=Water.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Water.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/water/Water.js"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"Water.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/water/Water.js"],"names":[],"mappings":";AASA;;;;;;;;;;;;;;;GAeG;AACH;IAmCI,0BAQC;IA1CD;;;OAGG;IACH,KAFU,OAAO,CAEQ;IAEzB;;;;OAIG;IACH,WAFU,OAAO,CAEa;IAE9B,8CAA8C;IAC9C,kBAAyB;IAWzB,yCAAyC;IACzC,uCAMC;IAbD;;;;OAIG;IACH,kCAAqC;IAoBrC,0BAgBC;IAED;;;;MAMC;;CACJ;;;;oBA9FmB,kCAAkC;mBADnC,0CAA0C;oCAEzB,0DAA0D"}
|
|
@@ -1,110 +1,100 @@
|
|
|
1
|
-
import
|
|
2
|
-
import Vector1 from "../../../../core/geom/Vector1.js";
|
|
3
|
-
import { ParticipatingMedium } from "../../../../shade/renderer/medium/ParticipatingMedium.js";
|
|
4
|
-
import {
|
|
5
|
-
participating_medium_from_json,
|
|
6
|
-
participating_medium_to_json
|
|
7
|
-
} from "../../../../shade/renderer/medium/participating_medium_serialization.js";
|
|
8
|
-
import { water_medium_default } from "../../../../shade/renderer/medium/water/water_presets.js";
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* Everything optical here is physical and in SI units (WATER_OPTICS_PLAN_2026_10_02.md §7.1): the
|
|
15
|
-
* index of refraction, the micro-roughness of the surface, and what fills the body — a
|
|
16
|
-
* {@link ParticipatingMedium}, the same description the path tracer, fog and glass read. Presets
|
|
17
|
-
* and the constituent and appearance tools in `shade/renderer/medium/water/` build that medium;
|
|
18
|
-
* the component stores only the result.
|
|
19
|
-
*
|
|
20
|
-
* How the surface moves is not here: the surface producer and its own component (`WaterWaves`)
|
|
21
|
-
* own that.
|
|
22
|
-
*
|
|
23
|
-
* The component holds no renderer state
|
|
24
|
-
*
|
|
25
|
-
*/
|
|
26
|
-
class Water {
|
|
27
|
-
/**
|
|
28
|
-
*
|
|
29
|
-
* @type {Vector1}
|
|
30
|
-
*/
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
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
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
ior: this.ior.toJSON(),
|
|
102
|
-
roughness: this.roughness.toJSON(),
|
|
103
|
-
medium: participating_medium_to_json(this.medium),
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
Water.typeName = "Water";
|
|
109
|
-
|
|
110
|
-
export default Water;
|
|
1
|
+
import Signal from "../../../../core/events/signal/Signal.js";
|
|
2
|
+
import Vector1 from "../../../../core/geom/Vector1.js";
|
|
3
|
+
import { ParticipatingMedium } from "../../../../shade/renderer/medium/ParticipatingMedium.js";
|
|
4
|
+
import {
|
|
5
|
+
participating_medium_from_json,
|
|
6
|
+
participating_medium_to_json
|
|
7
|
+
} from "../../../../shade/renderer/medium/participating_medium_serialization.js";
|
|
8
|
+
import { water_medium_default } from "../../../../shade/renderer/medium/water/water_presets.js";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Optical properties of an authored water surface. MeshletGeometry supplies its shape and
|
|
12
|
+
* Transform64 supplies its placement.
|
|
13
|
+
*
|
|
14
|
+
* Everything optical here is physical and in SI units (WATER_OPTICS_PLAN_2026_10_02.md §7.1): the
|
|
15
|
+
* index of refraction, the micro-roughness of the surface, and what fills the body — a
|
|
16
|
+
* {@link ParticipatingMedium}, the same description the path tracer, fog and glass read. Presets
|
|
17
|
+
* and the constituent and appearance tools in `shade/renderer/medium/water/` build that medium;
|
|
18
|
+
* the component stores only the result.
|
|
19
|
+
*
|
|
20
|
+
* How the surface moves is not here: the surface producer and its own component (`WaterWaves`)
|
|
21
|
+
* own that.
|
|
22
|
+
*
|
|
23
|
+
* The component holds no renderer state. Optical edits notify WaterSystem, which updates the
|
|
24
|
+
* persistent scene row without scanning water bodies each frame.
|
|
25
|
+
*/
|
|
26
|
+
class Water {
|
|
27
|
+
/**
|
|
28
|
+
* Index of refraction of the water relative to the air above it.
|
|
29
|
+
* @type {Vector1}
|
|
30
|
+
*/
|
|
31
|
+
ior = new Vector1(1.333);
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Perceptual roughness of the surface for the waves too small for the surface's mesh, before
|
|
35
|
+
* the slope variance the surface producer reports is added.
|
|
36
|
+
* @type {Vector1}
|
|
37
|
+
*/
|
|
38
|
+
roughness = new Vector1(0.02);
|
|
39
|
+
|
|
40
|
+
/** Optical edits queue a scene row update. */
|
|
41
|
+
onChanged = new Signal();
|
|
42
|
+
/** @type {ParticipatingMedium|null} */
|
|
43
|
+
#medium = null;
|
|
44
|
+
#changed = () => this.onChanged.dispatch();
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Absorption and scattering lobes, RGB in 1/m. Defaults to open ocean.
|
|
48
|
+
* After editing fields in place, set `medium.needsUpdate = true`.
|
|
49
|
+
* @returns {ParticipatingMedium}
|
|
50
|
+
*/
|
|
51
|
+
get medium() { return this.#medium; }
|
|
52
|
+
/** @param {ParticipatingMedium} value */
|
|
53
|
+
set medium(value) {
|
|
54
|
+
if (value === this.#medium) { return; }
|
|
55
|
+
this.#medium?.onChanged.remove(this.#changed);
|
|
56
|
+
this.#medium = value;
|
|
57
|
+
value.onChanged.add(this.#changed);
|
|
58
|
+
this.#changed();
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
constructor(options) {
|
|
62
|
+
this.ior.onChanged.add(this.#changed);
|
|
63
|
+
this.roughness.onChanged.add(this.#changed);
|
|
64
|
+
this.medium = water_medium_default();
|
|
65
|
+
if (options !== undefined) {
|
|
66
|
+
console.error('Constructor options are deprecated');
|
|
67
|
+
this.fromJSON(options);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
fromJSON(json) {
|
|
72
|
+
if (json.level !== undefined || json.size !== undefined) {
|
|
73
|
+
throw new Error('Legacy Water placement must be migrated to MeshletGeometry and Transform64 before loading');
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
if (typeof json.ior === 'number') {
|
|
77
|
+
this.ior.fromJSON(json.ior);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
if (typeof json.roughness === 'number') {
|
|
81
|
+
this.roughness.fromJSON(json.roughness);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (json.medium !== null && typeof json.medium === 'object') {
|
|
85
|
+
participating_medium_from_json(this.medium, json.medium);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
toJSON() {
|
|
90
|
+
return {
|
|
91
|
+
ior: this.ior.toJSON(),
|
|
92
|
+
roughness: this.roughness.toJSON(),
|
|
93
|
+
medium: participating_medium_to_json(this.medium),
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
Water.typeName = "Water";
|
|
99
|
+
|
|
100
|
+
export default Water;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WaterSerializationAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/water/WaterSerializationAdapter.js"],"names":[],"mappings":"AAOA;;IAEI,oBAAc;IAGd;;;;OAIG;IACH,uCAFW,KAAK,
|
|
1
|
+
{"version":3,"file":"WaterSerializationAdapter.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/water/WaterSerializationAdapter.js"],"names":[],"mappings":"AAOA;;IAEI,oBAAc;IAGd;;;;OAIG;IACH,uCAFW,KAAK,QAOf;IAED;;;;OAIG;IACH,yCAFW,KAAK,QAOf;CACJ;gDAnC+C,gEAAgE;kBAK9F,YAAY"}
|
|
@@ -1,38 +1,36 @@
|
|
|
1
|
-
import { BinaryClassSerializationAdapter } from "../../../ecs/storage/binary/BinaryClassSerializationAdapter.js";
|
|
2
|
-
import {
|
|
3
|
-
deserialize_participating_medium,
|
|
4
|
-
serialize_participating_medium
|
|
5
|
-
} from "../../../../shade/renderer/medium/participating_medium_serialization.js";
|
|
6
|
-
import Water from "./Water.js";
|
|
7
|
-
|
|
8
|
-
export class WaterSerializationAdapter extends BinaryClassSerializationAdapter {
|
|
9
|
-
|
|
10
|
-
klass = Water;
|
|
11
|
-
version =
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
*
|
|
15
|
-
* @param {BinaryBuffer} buffer
|
|
16
|
-
* @param {Water} value
|
|
17
|
-
*/
|
|
18
|
-
serialize(buffer, value) {
|
|
19
|
-
buffer.
|
|
20
|
-
buffer.writeFloat32(value.
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
*
|
|
28
|
-
* @param {
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
value.
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
}
|
|
38
|
-
}
|
|
1
|
+
import { BinaryClassSerializationAdapter } from "../../../ecs/storage/binary/BinaryClassSerializationAdapter.js";
|
|
2
|
+
import {
|
|
3
|
+
deserialize_participating_medium,
|
|
4
|
+
serialize_participating_medium
|
|
5
|
+
} from "../../../../shade/renderer/medium/participating_medium_serialization.js";
|
|
6
|
+
import Water from "./Water.js";
|
|
7
|
+
|
|
8
|
+
export class WaterSerializationAdapter extends BinaryClassSerializationAdapter {
|
|
9
|
+
|
|
10
|
+
klass = Water;
|
|
11
|
+
version = 4;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
*
|
|
15
|
+
* @param {BinaryBuffer} buffer
|
|
16
|
+
* @param {Water} value
|
|
17
|
+
*/
|
|
18
|
+
serialize(buffer, value) {
|
|
19
|
+
buffer.writeFloat32(value.ior.getValue());
|
|
20
|
+
buffer.writeFloat32(value.roughness.getValue());
|
|
21
|
+
|
|
22
|
+
serialize_participating_medium(buffer, value.medium);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
*
|
|
27
|
+
* @param {BinaryBuffer} buffer
|
|
28
|
+
* @param {Water} value
|
|
29
|
+
*/
|
|
30
|
+
deserialize(buffer, value) {
|
|
31
|
+
value.ior.set(buffer.readFloat32());
|
|
32
|
+
value.roughness.set(buffer.readFloat32());
|
|
33
|
+
|
|
34
|
+
deserialize_participating_medium(buffer, value.medium);
|
|
35
|
+
}
|
|
36
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/** A component upgrader cannot create the geometry and transform needed to retain old placement. */
|
|
2
|
+
export class WaterSerializationUpgrader_3_4 extends BinaryClassUpgrader {
|
|
3
|
+
upgrade(): void;
|
|
4
|
+
}
|
|
5
|
+
import { BinaryClassUpgrader } from "../../../ecs/storage/binary/BinaryClassUpgrader.js";
|
|
6
|
+
//# sourceMappingURL=WaterSerializationUpgrader_3_4.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"WaterSerializationUpgrader_3_4.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/water/WaterSerializationUpgrader_3_4.js"],"names":[],"mappings":"AAEA,oGAAoG;AACpG;IAGI,gBAEC;CACJ;oCATmC,oDAAoD"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { BinaryClassUpgrader } from "../../../ecs/storage/binary/BinaryClassUpgrader.js";
|
|
2
|
+
|
|
3
|
+
/** A component upgrader cannot create the geometry and transform needed to retain old placement. */
|
|
4
|
+
export class WaterSerializationUpgrader_3_4 extends BinaryClassUpgrader {
|
|
5
|
+
__startVersion = 3;
|
|
6
|
+
__targetVersion = 4;
|
|
7
|
+
upgrade() {
|
|
8
|
+
throw new Error('Legacy Water placement must be migrated to MeshletGeometry and Transform64 before loading');
|
|
9
|
+
}
|
|
10
|
+
}
|
|
@@ -5,8 +5,8 @@ export default WaterWaves;
|
|
|
5
5
|
*
|
|
6
6
|
* Kept apart from `Water` on purpose: `Water` describes the body and its optics, and says nothing
|
|
7
7
|
* about how the surface moves. The production surface simulation replaces this component, its
|
|
8
|
-
* system and its producer together, and `Water` stays as it is. A body without this component
|
|
9
|
-
*
|
|
8
|
+
* system and its producer together, and `Water` stays as it is. A body without this component
|
|
9
|
+
* tessellates its authored rest surface and allocates no wave grid until a splash is queued.
|
|
10
10
|
*/
|
|
11
11
|
declare class WaterWaves {
|
|
12
12
|
/**
|
|
@@ -16,7 +16,7 @@ declare class WaterWaves {
|
|
|
16
16
|
*/
|
|
17
17
|
windSpeed: Vector1;
|
|
18
18
|
/**
|
|
19
|
-
* Direction the wind blows towards, radians in the xz plane, measured from +x towards +z.
|
|
19
|
+
* Direction the wind blows towards, radians in the mesh's local xz plane, measured from +x towards +z.
|
|
20
20
|
* @type {Vector1}
|
|
21
21
|
*/
|
|
22
22
|
windDirection: Vector1;
|
|
@@ -1,46 +1,46 @@
|
|
|
1
|
-
import Vector1 from "../../../../core/geom/Vector1.js";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* What drives the waves of the {@link Water} on the same entity, for the primitive wave
|
|
5
|
-
* simulation.
|
|
6
|
-
*
|
|
7
|
-
* Kept apart from `Water` on purpose: `Water` describes the body and its optics, and says nothing
|
|
8
|
-
* about how the surface moves. The production surface simulation replaces this component, its
|
|
9
|
-
* system and its producer together, and `Water` stays as it is. A body without this component
|
|
10
|
-
*
|
|
11
|
-
*/
|
|
12
|
-
class WaterWaves {
|
|
13
|
-
/**
|
|
14
|
-
* Wind speed at 10 m, m/s. Sets the forcing, which grows as its square, and the slope variance
|
|
15
|
-
* of the waves the simulation's grid does not resolve (Cox-Munk).
|
|
16
|
-
* @type {Vector1}
|
|
17
|
-
*/
|
|
18
|
-
windSpeed = new Vector1(3);
|
|
19
|
-
|
|
20
|
-
/**
|
|
21
|
-
* Direction the wind blows towards, radians in the xz plane, measured from +x towards +z.
|
|
22
|
-
* @type {Vector1}
|
|
23
|
-
*/
|
|
24
|
-
windDirection = new Vector1(0);
|
|
25
|
-
|
|
26
|
-
fromJSON(json) {
|
|
27
|
-
if (typeof json.windSpeed === 'number') {
|
|
28
|
-
this.windSpeed.fromJSON(json.windSpeed);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
if (typeof json.windDirection === 'number') {
|
|
32
|
-
this.windDirection.fromJSON(json.windDirection);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
toJSON() {
|
|
37
|
-
return {
|
|
38
|
-
windSpeed: this.windSpeed.toJSON(),
|
|
39
|
-
windDirection: this.windDirection.toJSON(),
|
|
40
|
-
};
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
WaterWaves.typeName = "WaterWaves";
|
|
45
|
-
|
|
46
|
-
export default WaterWaves;
|
|
1
|
+
import Vector1 from "../../../../core/geom/Vector1.js";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* What drives the waves of the {@link Water} on the same entity, for the primitive wave
|
|
5
|
+
* simulation.
|
|
6
|
+
*
|
|
7
|
+
* Kept apart from `Water` on purpose: `Water` describes the body and its optics, and says nothing
|
|
8
|
+
* about how the surface moves. The production surface simulation replaces this component, its
|
|
9
|
+
* system and its producer together, and `Water` stays as it is. A body without this component
|
|
10
|
+
* tessellates its authored rest surface and allocates no wave grid until a splash is queued.
|
|
11
|
+
*/
|
|
12
|
+
class WaterWaves {
|
|
13
|
+
/**
|
|
14
|
+
* Wind speed at 10 m, m/s. Sets the forcing, which grows as its square, and the slope variance
|
|
15
|
+
* of the waves the simulation's grid does not resolve (Cox-Munk).
|
|
16
|
+
* @type {Vector1}
|
|
17
|
+
*/
|
|
18
|
+
windSpeed = new Vector1(3);
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Direction the wind blows towards, radians in the mesh's local xz plane, measured from +x towards +z.
|
|
22
|
+
* @type {Vector1}
|
|
23
|
+
*/
|
|
24
|
+
windDirection = new Vector1(0);
|
|
25
|
+
|
|
26
|
+
fromJSON(json) {
|
|
27
|
+
if (typeof json.windSpeed === 'number') {
|
|
28
|
+
this.windSpeed.fromJSON(json.windSpeed);
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
if (typeof json.windDirection === 'number') {
|
|
32
|
+
this.windDirection.fromJSON(json.windDirection);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
toJSON() {
|
|
37
|
+
return {
|
|
38
|
+
windSpeed: this.windSpeed.toJSON(),
|
|
39
|
+
windDirection: this.windDirection.toJSON(),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
WaterWaves.typeName = "WaterWaves";
|
|
45
|
+
|
|
46
|
+
export default WaterWaves;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sampler2d_to_avif.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/sampler/sampler2d_to_avif.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sampler2d_to_avif.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/texture/sampler/sampler2d_to_avif.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,gEARW,MAAM,YACN,MAAM,+BAEJ,UAAU,CAmCtB"}
|