@woosh/meep-engine 3.3.0 → 3.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/editor/process/SymbolicDisplayProcess.js +106 -106
- package/editor/process/symbolic/{SoundEmitterSymbolicDisplay.js → AudioEmitterSymbolicDisplay.js} +67 -57
- package/package.json +94 -94
- package/src/DUPLICATION_AUDIT_2026_08_07/F_sound.md +110 -102
- package/src/core/bvh2/bvh3/ebvh_build_hierarchy_radix.d.ts +54 -0
- package/src/core/bvh2/bvh3/ebvh_build_hierarchy_radix.d.ts.map +1 -1
- package/src/core/bvh2/bvh3/ebvh_build_hierarchy_radix.js +10 -3
- package/src/engine/EntityCreator.d.ts +19 -11
- package/src/engine/EntityCreator.d.ts.map +1 -1
- package/src/engine/EntityCreator.js +116 -94
- package/src/engine/achievements/AchievementManager.d.ts.map +1 -1
- package/src/engine/achievements/AchievementManager.js +437 -433
- package/src/engine/animation/AnimatedActions.d.ts +6 -1
- package/src/engine/animation/AnimatedActions.d.ts.map +1 -1
- package/src/engine/animation/AnimatedActions.js +111 -81
- package/src/engine/animation/AnimationUtils.d.ts.map +1 -1
- package/src/engine/animation/AnimationUtils.js +234 -252
- package/src/engine/ecs/storage/binary/SERIALIZATION_COVERAGE.md +275 -269
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.d.ts.map +1 -1
- package/src/engine/ecs/storage/populateEngineSerializationRegistry.js +26 -5
- package/src/engine/ecs/util/hideEntityGracefully.d.ts.map +1 -1
- package/src/engine/ecs/util/hideEntityGracefully.js +196 -208
- package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts +3 -1
- package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts.map +1 -1
- package/src/engine/intelligence/behavior/primitive/ActionBehavior.js +4 -2
- package/src/engine/sound/SOUND_EMITTER_RETIREMENT_PLAN.md +536 -0
- package/src/engine/sound/SoundEngine.d.ts +2 -2
- package/src/engine/sound/SoundEngine.js +124 -124
- package/src/engine/sound/ecs/audio/AudioEmitter.d.ts +20 -0
- package/src/engine/sound/ecs/audio/AudioEmitter.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/AudioEmitter.js +25 -2
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts +6 -6
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
- package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +338 -314
- package/src/engine/sound/ecs/trigger/AudioEventTrigger.d.ts +143 -0
- package/src/engine/sound/ecs/trigger/AudioEventTrigger.d.ts.map +1 -0
- package/src/engine/sound/ecs/trigger/AudioEventTrigger.js +191 -0
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSerializationAdapter.d.ts +33 -0
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSerializationAdapter.d.ts.map +1 -0
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSerializationAdapter.js +81 -0
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSystem.d.ts +65 -0
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSystem.d.ts.map +1 -0
- package/src/engine/sound/ecs/trigger/AudioEventTriggerSystem.js +184 -0
- package/src/engine/sound/sopra/IMPLEMENTATION_PLAN.md +999 -993
- package/src/engine/sound/sopra/README.md +644 -643
- package/src/engine/sound/sopra/SopraEngine.d.ts +2 -2
- package/src/engine/sound/sopra/SopraEngine.js +432 -432
- package/src/engine/sound/sopra/legacy/SoundAttenuationFunction.d.ts.map +1 -0
- package/src/engine/sound/{ecs → sopra/legacy}/SoundController.d.ts +3 -3
- package/src/engine/sound/sopra/legacy/SoundController.d.ts.map +1 -0
- package/src/engine/sound/{ecs → sopra/legacy}/SoundController.js +176 -176
- package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitter.d.ts +11 -27
- package/src/engine/sound/sopra/legacy/SoundEmitter.d.ts.map +1 -0
- package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitter.js +352 -382
- package/src/engine/sound/sopra/legacy/SoundEmitterFlags.d.ts.map +1 -0
- package/src/engine/sound/sopra/legacy/SoundEmitterSerializationAdapter.d.ts.map +1 -0
- package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_0_1.d.ts.map +1 -1
- package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_1_2.d.ts.map +1 -1
- package/src/engine/sound/sopra/legacy/SoundPanningModelType.d.ts.map +1 -0
- package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundTrack.d.ts +11 -55
- package/src/engine/sound/sopra/legacy/SoundTrack.d.ts.map +1 -0
- package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundTrack.js +278 -357
- package/src/engine/sound/sopra/legacy/SoundTrackFlags.d.ts.map +1 -0
- package/src/engine/sound/sopra/legacy/convertLegacySoundComponents.d.ts +34 -0
- package/src/engine/sound/sopra/legacy/convertLegacySoundComponents.d.ts.map +1 -0
- package/src/engine/sound/sopra/legacy/convertLegacySoundComponents.js +279 -0
- package/src/engine/sound/sopra/legacy/soundEmitterToEventDescription.d.ts +3 -3
- package/src/engine/sound/sopra/legacy/soundEmitterToEventDescription.d.ts.map +1 -1
- package/src/engine/sound/sopra/legacy/soundEmitterToEventDescription.js +122 -122
- package/src/shade/device/mock/SoftwareGPUDevice.d.ts.map +1 -1
- package/src/shade/device/mock/SoftwareGPUDevice.js +7 -1
- package/src/shade/device/timing/GPUTimerArray.d.ts.map +1 -1
- package/src/shade/device/timing/GPUTimerArray.js +10 -0
- package/src/shade/playground/add_random_meshes.d.ts +19 -3
- package/src/shade/playground/add_random_meshes.d.ts.map +1 -1
- package/src/shade/playground/add_random_meshes.js +132 -84
- package/src/shade/playground/bvh_repro/README.md +57 -0
- package/src/shade/playground/bvh_repro/bvh_repro_device.d.ts +33 -0
- package/src/shade/playground/bvh_repro/bvh_repro_device.d.ts.map +1 -0
- package/src/shade/playground/bvh_repro/bvh_repro_device.js +90 -0
- package/src/shade/playground/bvh_repro/index.html +124 -0
- package/src/shade/playground/bvh_repro/main.d.ts.map +1 -0
- package/src/shade/playground/bvh_repro/main.js +254 -0
- package/src/shade/playground/load_default_environment.d.ts +10 -1
- package/src/shade/playground/load_default_environment.d.ts.map +1 -1
- package/src/shade/playground/load_default_environment.js +44 -20
- package/src/shade/playground/make_playground_asset_manager.d.ts +16 -0
- package/src/shade/playground/make_playground_asset_manager.d.ts.map +1 -0
- package/src/shade/playground/make_playground_asset_manager.js +33 -0
- package/src/shade/playground/skinned_blas_refit/README.md +103 -0
- package/src/shade/playground/skinned_blas_refit/add_floor.d.ts +47 -0
- package/src/shade/playground/skinned_blas_refit/add_floor.d.ts.map +1 -0
- package/src/shade/playground/skinned_blas_refit/add_floor.js +71 -0
- package/src/shade/playground/skinned_blas_refit/diff_traced_against_rasterized.d.ts +28 -0
- package/src/shade/playground/skinned_blas_refit/diff_traced_against_rasterized.d.ts.map +1 -0
- package/src/shade/playground/skinned_blas_refit/diff_traced_against_rasterized.js +745 -0
- package/src/shade/playground/skinned_blas_refit/flat_environment.d.ts +30 -0
- package/src/shade/playground/skinned_blas_refit/flat_environment.d.ts.map +1 -0
- package/src/shade/playground/skinned_blas_refit/flat_environment.js +67 -0
- package/src/shade/playground/skinned_blas_refit/index.html +168 -0
- package/src/shade/playground/skinned_blas_refit/main.d.ts +8 -0
- package/src/shade/playground/skinned_blas_refit/main.d.ts.map +1 -0
- package/src/shade/playground/skinned_blas_refit/main.js +502 -0
- package/src/shade/playground/skinned_blas_refit/place_character.d.ts +81 -0
- package/src/shade/playground/skinned_blas_refit/place_character.d.ts.map +1 -0
- package/src/shade/playground/skinned_blas_refit/place_character.js +116 -0
- package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.d.ts +21 -0
- package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.d.ts.map +1 -0
- package/src/shade/playground/skinned_blas_refit/shader_blas_audit_leaf_triangles.js +104 -0
- package/src/shade/playground/skinned_blas_refit/shader_blas_audit_points.d.ts +23 -0
- package/src/shade/playground/skinned_blas_refit/shader_blas_audit_points.d.ts.map +1 -0
- package/src/shade/playground/skinned_blas_refit/shader_blas_audit_points.js +94 -0
- package/src/shade/playground/skinned_blas_refit/shader_blas_audit_visibility.d.ts +26 -0
- package/src/shade/playground/skinned_blas_refit/shader_blas_audit_visibility.d.ts.map +1 -0
- package/src/shade/playground/skinned_blas_refit/shader_blas_audit_visibility.js +134 -0
- package/src/shade/playground/skinned_blas_refit/sweep_views.d.ts +40 -0
- package/src/shade/playground/skinned_blas_refit/sweep_views.d.ts.map +1 -0
- package/src/shade/playground/skinned_blas_refit/sweep_views.js +135 -0
- package/src/shade/playground/skinned_blas_refit/verify_instance_bounds.d.ts +31 -0
- package/src/shade/playground/skinned_blas_refit/verify_instance_bounds.d.ts.map +1 -0
- package/src/shade/playground/skinned_blas_refit/verify_instance_bounds.js +240 -0
- package/src/shade/playground/skinned_blas_refit/verify_leaf_triangles.d.ts +20 -0
- package/src/shade/playground/skinned_blas_refit/verify_leaf_triangles.d.ts.map +1 -0
- package/src/shade/playground/skinned_blas_refit/verify_leaf_triangles.js +202 -0
- package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.d.ts +50 -0
- package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.d.ts.map +1 -0
- package/src/shade/playground/skinned_blas_refit/verify_skinned_blas_refit.js +366 -0
- package/src/shade/playground/skinned_blas_refit/verify_traversal_reachability.d.ts +17 -0
- package/src/shade/playground/skinned_blas_refit/verify_traversal_reachability.d.ts.map +1 -0
- package/src/shade/playground/skinned_blas_refit/verify_traversal_reachability.js +249 -0
- package/src/shade/playground/sponza_path_trace/README.md +57 -0
- package/src/shade/playground/sponza_path_trace/index.html +164 -0
- package/src/shade/playground/sponza_path_trace/main.d.ts +8 -0
- package/src/shade/playground/sponza_path_trace/main.d.ts.map +1 -0
- package/src/shade/playground/sponza_path_trace/main.js +363 -0
- package/src/shade/renderer/Renderer.d.ts +16 -0
- package/src/shade/renderer/Renderer.d.ts.map +1 -1
- package/src/shade/renderer/Renderer.js +23 -4
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts +5 -1
- package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
- package/src/shade/renderer/animation/GPUAnimationManager.js +28 -3
- package/src/shade/renderer/animation/Skin.d.ts +9 -7
- package/src/shade/renderer/animation/Skin.d.ts.map +1 -1
- package/src/shade/renderer/animation/Skin.js +9 -7
- package/src/shade/renderer/animation/compute_skin_world_bounds.d.ts +35 -0
- package/src/shade/renderer/animation/compute_skin_world_bounds.d.ts.map +1 -0
- package/src/shade/renderer/animation/compute_skin_world_bounds.js +146 -0
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.d.ts.map +1 -1
- package/src/shade/renderer/animation/skinning/GPUMeshSkinningContext.js +41 -0
- package/src/shade/renderer/geometry/GPUGeometryManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/GPUGeometryManager.js +65 -15
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts +78 -7
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.d.ts.map +1 -1
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVHManager.js +302 -77
- package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.d.ts +18 -6
- package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.d.ts.map +1 -1
- package/src/shade/renderer/geometry/bvh/GPUGeometryMeshletsBVH.js +19 -6
- package/src/shade/renderer/geometry/bvh/bvh2_check_bounds.d.ts +51 -0
- package/src/shade/renderer/geometry/bvh/bvh2_check_bounds.d.ts.map +1 -0
- package/src/shade/renderer/geometry/bvh/bvh2_check_bounds.js +260 -0
- package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.d.ts +23 -0
- package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.d.ts.map +1 -0
- package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.js +82 -0
- package/src/shade/renderer/geometry/bvh/record_blas_refit.d.ts +25 -0
- package/src/shade/renderer/geometry/bvh/record_blas_refit.d.ts.map +1 -0
- package/src/shade/renderer/geometry/bvh/record_blas_refit.js +102 -0
- package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.d.ts +30 -0
- package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.d.ts.map +1 -0
- package/src/shade/renderer/geometry/bvh/shader_blas_refit_leaf_bounds.js +122 -0
- package/src/shade/renderer/gpu_primitive/bvh/BVH_BUFFER_LAYOUT.d.ts +55 -0
- package/src/shade/renderer/gpu_primitive/bvh/BVH_BUFFER_LAYOUT.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/BVH_BUFFER_LAYOUT.js +70 -0
- package/src/shade/renderer/gpu_primitive/bvh/BVH_BUILD_SETTINGS_STRUCT.d.ts +37 -0
- package/src/shade/renderer/gpu_primitive/bvh/BVH_BUILD_SETTINGS_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/BVH_BUILD_SETTINGS_STRUCT.js +45 -0
- package/src/shade/renderer/gpu_primitive/bvh/GPU_BVH_BUILD_PLAN.md +1115 -0
- package/src/shade/renderer/gpu_primitive/bvh/PHASE1_HANDOVER.md +201 -0
- package/src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.d.ts +88 -0
- package/src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.js +233 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_delta.d.ts +18 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_delta.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_delta.js +38 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_determine_range.d.ts +16 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_determine_range.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_determine_range.js +79 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_find_split.d.ts +16 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_find_split.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/chunk_bvh_find_split.js +49 -0
- package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.d.ts +43 -0
- package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/graph_bvh_build_lbvh.js +217 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_emit_hierarchy.d.ts +24 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_emit_hierarchy.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_emit_hierarchy.js +143 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_morton.d.ts +17 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_morton.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_morton.js +83 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.d.ts +24 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/shader_bvh_refit.js +141 -0
- package/src/shade/renderer/gpu_primitive/bvh/verify_gpu_bvh_build.d.ts +31 -0
- package/src/shade/renderer/gpu_primitive/bvh/verify_gpu_bvh_build.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/bvh/verify_gpu_bvh_build.js +422 -0
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/test_prefix_sum.d.ts.map +1 -1
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/test_prefix_sum.js +1 -2
- package/src/shade/renderer/gpu_primitive/sort/SORT_PASS_SETTINGS_STRUCT.d.ts +9 -0
- package/src/shade/renderer/gpu_primitive/sort/SORT_PASS_SETTINGS_STRUCT.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/sort/SORT_PASS_SETTINGS_STRUCT.js +23 -0
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_digit.d.ts +18 -0
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_digit.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_digit.js +32 -0
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_rank.d.ts +27 -0
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_rank.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_rank.js +41 -0
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_workgroup_scan.d.ts +25 -0
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_workgroup_scan.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_workgroup_scan.js +74 -0
- package/src/shade/renderer/gpu_primitive/sort/defs.d.ts +71 -0
- package/src/shade/renderer/gpu_primitive/sort/defs.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/sort/defs.js +79 -0
- package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.d.ts +37 -0
- package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/sort/graph_radix_sort.js +197 -0
- package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_histogram.d.ts +16 -0
- package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_histogram.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_histogram.js +85 -0
- package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_scatter.d.ts +15 -0
- package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_scatter.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/sort/shader_radix_sort_scatter.js +192 -0
- package/src/shade/renderer/gpu_primitive/sort/verify_radix_sort.d.ts +12 -0
- package/src/shade/renderer/gpu_primitive/sort/verify_radix_sort.d.ts.map +1 -0
- package/src/shade/renderer/gpu_primitive/sort/verify_radix_sort.js +188 -0
- package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts +16 -4
- package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.d.ts.map +1 -1
- package/src/shade/renderer/scene/GPUInstancesAccelerationStructure.js +235 -24
- package/src/shade/renderer/scene/GPUSceneContext.d.ts.map +1 -1
- package/src/shade/renderer/scene/GPUSceneContext.js +15 -3
- package/src/shade/renderer/scene/SkinnedMesh.d.ts +57 -11
- package/src/shade/renderer/scene/SkinnedMesh.d.ts.map +1 -1
- package/src/shade/renderer/scene/SkinnedMesh.js +111 -11
- package/src/shade/renderer/scene/shader_bvh_extract_instance_leaves.d.ts +22 -0
- package/src/shade/renderer/scene/shader_bvh_extract_instance_leaves.d.ts.map +1 -0
- package/src/shade/renderer/scene/shader_bvh_extract_instance_leaves.js +145 -0
- package/src/shade/renderer/scene/verify_gpu_tlas_build.d.ts +18 -0
- package/src/shade/renderer/scene/verify_gpu_tlas_build.d.ts.map +1 -0
- package/src/shade/renderer/scene/verify_gpu_tlas_build.js +364 -0
- package/src/shade/renderer/shader/chunk/binary/chunk_split_by_3.d.ts +9 -1
- package/src/shade/renderer/shader/chunk/binary/chunk_split_by_3.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/binary/chunk_split_by_3.js +29 -21
- package/src/shade/renderer/shader/chunk/bvh/morton/chunk_v3_morton_encode.d.ts +22 -0
- package/src/shade/renderer/shader/chunk/bvh/morton/chunk_v3_morton_encode.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/bvh/morton/chunk_v3_morton_encode.js +31 -0
- package/src/shade/renderer/shader/chunk/geometry/aabb3/chunk_aabb3_intersects_ray.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/geometry/aabb3/chunk_aabb3_intersects_ray.js +87 -39
- package/src/shade/renderer/shader/chunk/geometry/format/chunk_geometry_read_triangle_bounds.d.ts +17 -0
- package/src/shade/renderer/shader/chunk/geometry/format/chunk_geometry_read_triangle_bounds.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/geometry/format/chunk_geometry_read_triangle_bounds.js +40 -0
- package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_triangle_bounds.d.ts +15 -0
- package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_triangle_bounds.d.ts.map +1 -0
- package/src/shade/renderer/shader/chunk/geometry/meshlet/chunk_read_meshlet_triangle_bounds.js +52 -0
- package/src/shade/renderer/shader/chunk/geometry/ray/RAY_STRUCT.d.ts +9 -0
- package/src/shade/renderer/shader/chunk/geometry/ray/RAY_STRUCT.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/geometry/ray/RAY_STRUCT.js +9 -0
- package/src/shade/renderer/shader/chunk/geometry/ray/chunk_ray_transform_m4.d.ts +20 -0
- package/src/shade/renderer/shader/chunk/geometry/ray/chunk_ray_transform_m4.d.ts.map +1 -1
- package/src/shade/renderer/shader/chunk/geometry/ray/chunk_ray_transform_m4.js +52 -34
- package/src/shade/renderer/texture/virtual/README.md +255 -276
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/WGSLJavaScriptCompiler.js +66 -2
- package/src/shade/wgsl/emulator/WGSLLanguageCore.d.ts.map +1 -1
- package/src/shade/wgsl/emulator/WGSLLanguageCore.js +83 -0
- package/src/view/interaction/InterfaceCommand.d.ts +8 -8
- package/src/view/interaction/InterfaceCommand.d.ts.map +1 -1
- package/src/view/interaction/InterfaceCommand.js +146 -146
- package/src/view/interaction/createInterfaceCommandButton.d.ts.map +1 -1
- package/src/view/interaction/createInterfaceCommandButton.js +115 -124
- package/src/engine/ecs/components/Timer.d.ts +0 -50
- package/src/engine/ecs/components/Timer.d.ts.map +0 -1
- package/src/engine/ecs/components/Timer.js +0 -80
- package/src/engine/ecs/evaluation/PointFitnessBinary.d.ts +0 -22
- package/src/engine/ecs/evaluation/PointFitnessBinary.d.ts.map +0 -1
- package/src/engine/ecs/evaluation/PointFitnessBinary.js +0 -33
- package/src/engine/ecs/evaluation/PointFitnessConstant.d.ts +0 -12
- package/src/engine/ecs/evaluation/PointFitnessConstant.d.ts.map +0 -1
- package/src/engine/ecs/evaluation/PointFitnessConstant.js +0 -27
- package/src/engine/ecs/evaluation/PointFitnessFunction.d.ts +0 -17
- package/src/engine/ecs/evaluation/PointFitnessFunction.d.ts.map +0 -1
- package/src/engine/ecs/evaluation/PointFitnessFunction.js +0 -20
- package/src/engine/ecs/evaluation/arithmetic/PointFitnessAdd.d.ts +0 -12
- package/src/engine/ecs/evaluation/arithmetic/PointFitnessAdd.d.ts.map +0 -1
- package/src/engine/ecs/evaluation/arithmetic/PointFitnessAdd.js +0 -27
- package/src/engine/ecs/evaluation/arithmetic/PointFitnessMultiply.d.ts +0 -12
- package/src/engine/ecs/evaluation/arithmetic/PointFitnessMultiply.d.ts.map +0 -1
- package/src/engine/ecs/evaluation/arithmetic/PointFitnessMultiply.js +0 -28
- package/src/engine/ecs/evaluation/complex/PointFitnessGaussianBlur.d.ts +0 -50
- package/src/engine/ecs/evaluation/complex/PointFitnessGaussianBlur.d.ts.map +0 -1
- package/src/engine/ecs/evaluation/complex/PointFitnessGaussianBlur.js +0 -176
- package/src/engine/ecs/evaluation/json/deserializeFromJSON_PointFitnessFunction.d.ts +0 -7
- package/src/engine/ecs/evaluation/json/deserializeFromJSON_PointFitnessFunction.d.ts.map +0 -1
- package/src/engine/ecs/evaluation/json/deserializeFromJSON_PointFitnessFunction.js +0 -68
- package/src/engine/ecs/evaluation/json/serializeToJSON_PointFitnessFunction.d.ts +0 -7
- package/src/engine/ecs/evaluation/json/serializeToJSON_PointFitnessFunction.d.ts.map +0 -1
- package/src/engine/ecs/evaluation/json/serializeToJSON_PointFitnessFunction.js +0 -89
- package/src/engine/ecs/evaluation/world/ReadTerrainLayerWeightPointFitness.d.ts +0 -17
- package/src/engine/ecs/evaluation/world/ReadTerrainLayerWeightPointFitness.d.ts.map +0 -1
- package/src/engine/ecs/evaluation/world/ReadTerrainLayerWeightPointFitness.js +0 -60
- package/src/engine/ecs/systems/TimerSystem.d.ts +0 -10
- package/src/engine/ecs/systems/TimerSystem.d.ts.map +0 -1
- package/src/engine/ecs/systems/TimerSystem.js +0 -86
- package/src/engine/graphics/FULL_SCREEN_QUAD_VERTEX_SHADER.d.ts +0 -13
- package/src/engine/graphics/FULL_SCREEN_QUAD_VERTEX_SHADER.d.ts.map +0 -1
- package/src/engine/graphics/FULL_SCREEN_QUAD_VERTEX_SHADER.js +0 -14
- package/src/engine/graphics/StandardFrameBuffers.d.ts +0 -7
- package/src/engine/graphics/StandardFrameBuffers.d.ts.map +0 -1
- package/src/engine/graphics/StandardFrameBuffers.js +0 -9
- package/src/engine/graphics/copy_transform_to_threejs_object.d.ts +0 -7
- package/src/engine/graphics/copy_transform_to_threejs_object.d.ts.map +0 -1
- package/src/engine/graphics/copy_transform_to_threejs_object.js +0 -12
- package/src/engine/graphics/ecs/light/binding/LightBinding.d.ts +0 -42
- package/src/engine/graphics/ecs/light/binding/LightBinding.d.ts.map +0 -1
- package/src/engine/graphics/ecs/light/binding/LightBinding.js +0 -133
- package/src/engine/graphics/ecs/light/binding/fp/FPLightBinding.d.ts +0 -25
- package/src/engine/graphics/ecs/light/binding/fp/FPLightBinding.d.ts.map +0 -1
- package/src/engine/graphics/ecs/light/binding/fp/FPLightBinding.js +0 -90
- package/src/engine/graphics/ecs/light/binding/three/applyRotation.d.ts +0 -7
- package/src/engine/graphics/ecs/light/binding/three/applyRotation.d.ts.map +0 -1
- package/src/engine/graphics/ecs/light/binding/three/applyRotation.js +0 -24
- package/src/engine/graphics/ecs/light/binding/three/threeEnsureLightObject.d.ts +0 -7
- package/src/engine/graphics/ecs/light/binding/three/threeEnsureLightObject.d.ts.map +0 -1
- package/src/engine/graphics/ecs/light/binding/three/threeEnsureLightObject.js +0 -12
- package/src/engine/graphics/ecs/light/binding/three/threeMakeLight.d.ts +0 -8
- package/src/engine/graphics/ecs/light/binding/three/threeMakeLight.d.ts.map +0 -1
- package/src/engine/graphics/ecs/light/binding/three/threeMakeLight.js +0 -41
- package/src/engine/graphics/ecs/light/shadow/LightShadow.d.ts +0 -4
- package/src/engine/graphics/ecs/light/shadow/LightShadow.d.ts.map +0 -1
- package/src/engine/graphics/ecs/light/shadow/LightShadow.js +0 -4
- package/src/engine/graphics/ecs/light/shadow/ShadowManager.d.ts +0 -27
- package/src/engine/graphics/ecs/light/shadow/ShadowManager.d.ts.map +0 -1
- package/src/engine/graphics/ecs/light/shadow/ShadowManager.js +0 -53
- package/src/engine/graphics/ecs/light/shadow/ShadowMap.d.ts +0 -8
- package/src/engine/graphics/ecs/light/shadow/ShadowMap.d.ts.map +0 -1
- package/src/engine/graphics/ecs/light/shadow/ShadowMap.js +0 -7
- package/src/engine/graphics/ecs/light/shadow/compute_view_frustum_aabb_in_space.d.ts +0 -14
- package/src/engine/graphics/ecs/light/shadow/compute_view_frustum_aabb_in_space.d.ts.map +0 -1
- package/src/engine/graphics/ecs/light/shadow/compute_view_frustum_aabb_in_space.js +0 -62
- package/src/engine/graphics/ecs/light/shadow/extend_shadow_camera_near_for_casters.d.ts +0 -30
- package/src/engine/graphics/ecs/light/shadow/extend_shadow_camera_near_for_casters.d.ts.map +0 -1
- package/src/engine/graphics/ecs/light/shadow/extend_shadow_camera_near_for_casters.js +0 -77
- package/src/engine/graphics/ecs/light/shadow/setShadowCameraDimensionsDiscrete.d.ts +0 -13
- package/src/engine/graphics/ecs/light/shadow/setShadowCameraDimensionsDiscrete.d.ts.map +0 -1
- package/src/engine/graphics/ecs/light/shadow/setShadowCameraDimensionsDiscrete.js +0 -43
- package/src/engine/graphics/ecs/light/three/light2type.d.ts +0 -8
- package/src/engine/graphics/ecs/light/three/light2type.d.ts.map +0 -1
- package/src/engine/graphics/ecs/light/three/light2type.js +0 -20
- package/src/engine/graphics/ecs/mesh/applyTransformToThreeObject.d.ts +0 -7
- package/src/engine/graphics/ecs/mesh/applyTransformToThreeObject.d.ts.map +0 -1
- package/src/engine/graphics/ecs/mesh/applyTransformToThreeObject.js +0 -13
- package/src/engine/graphics/particles/node-based/codegen/CodeContext.d.ts +0 -20
- package/src/engine/graphics/particles/node-based/codegen/CodeContext.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/CodeContext.js +0 -47
- package/src/engine/graphics/particles/node-based/codegen/CodeGenerator.d.ts +0 -12
- package/src/engine/graphics/particles/node-based/codegen/CodeGenerator.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/CodeGenerator.js +0 -19
- package/src/engine/graphics/particles/node-based/codegen/glsl/GLSLCodeGenerator.d.ts +0 -18
- package/src/engine/graphics/particles/node-based/codegen/glsl/GLSLCodeGenerator.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/glsl/GLSLCodeGenerator.js +0 -249
- package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeInputName.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeInputName.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeInputName.js +0 -8
- package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeOutputName.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeOutputName.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/glsl/genAttributeOutputName.js +0 -8
- package/src/engine/graphics/particles/node-based/codegen/glsl/getTypeByteSize.d.ts +0 -14
- package/src/engine/graphics/particles/node-based/codegen/glsl/getTypeByteSize.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/glsl/getTypeByteSize.js +0 -20
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_curlNoise.d.ts +0 -3
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_curlNoise.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_curlNoise.js +0 -58
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_snoiseVector3.d.ts +0 -3
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_snoiseVector3.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/curl/glslm_snoiseVector3.js +0 -44
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v3.d.ts +0 -3
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v3.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v3.js +0 -28
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v4.d.ts +0 -3
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v4.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_mod289_v4.js +0 -28
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_permute.d.ts +0 -3
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_permute.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_permute.js +0 -39
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_snoise.d.ts +0 -3
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_snoise.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_snoise.js +0 -124
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_tylorInvSqrt.d.ts +0 -3
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_tylorInvSqrt.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/glsl/modules/noise/simplex/3d/glslm_tylorInvSqrt.js +0 -30
- package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModule.d.ts +0 -64
- package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModule.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModule.js +0 -131
- package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleReference.d.ts +0 -32
- package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleReference.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleReference.js +0 -62
- package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleRegistry.d.ts +0 -46
- package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleRegistry.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/modules/FunctionModuleRegistry.js +0 -272
- package/src/engine/graphics/particles/node-based/codegen/modules/FunctionParameterSpecification.d.ts +0 -28
- package/src/engine/graphics/particles/node-based/codegen/modules/FunctionParameterSpecification.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/modules/FunctionParameterSpecification.js +0 -57
- package/src/engine/graphics/particles/node-based/codegen/modules/FunctionSignature.d.ts +0 -32
- package/src/engine/graphics/particles/node-based/codegen/modules/FunctionSignature.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/codegen/modules/FunctionSignature.js +0 -55
- package/src/engine/graphics/particles/node-based/editor/ParticleSpecificationEditorView.d.ts +0 -34
- package/src/engine/graphics/particles/node-based/editor/ParticleSpecificationEditorView.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/editor/ParticleSpecificationEditorView.js +0 -178
- package/src/engine/graphics/particles/node-based/nodes/FloatConstant.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/nodes/FloatConstant.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/FloatConstant.js +0 -31
- package/src/engine/graphics/particles/node-based/nodes/ParticleDataTypes.d.ts +0 -13
- package/src/engine/graphics/particles/node-based/nodes/ParticleDataTypes.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/ParticleDataTypes.js +0 -13
- package/src/engine/graphics/particles/node-based/nodes/ReadFloatUniform.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/nodes/ReadFloatUniform.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/ReadFloatUniform.js +0 -26
- package/src/engine/graphics/particles/node-based/nodes/ReadPosition.d.ts +0 -4
- package/src/engine/graphics/particles/node-based/nodes/ReadPosition.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/ReadPosition.js +0 -5
- package/src/engine/graphics/particles/node-based/nodes/ReadVelocity.d.ts +0 -6
- package/src/engine/graphics/particles/node-based/nodes/ReadVelocity.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/ReadVelocity.js +0 -14
- package/src/engine/graphics/particles/node-based/nodes/ShaderNode.d.ts +0 -37
- package/src/engine/graphics/particles/node-based/nodes/ShaderNode.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/ShaderNode.js +0 -73
- package/src/engine/graphics/particles/node-based/nodes/Vector3Constant.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/nodes/Vector3Constant.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/Vector3Constant.js +0 -30
- package/src/engine/graphics/particles/node-based/nodes/Vector3Merge.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/nodes/Vector3Merge.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/Vector3Merge.js +0 -30
- package/src/engine/graphics/particles/node-based/nodes/Vector3Split.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/nodes/Vector3Split.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/Vector3Split.js +0 -32
- package/src/engine/graphics/particles/node-based/nodes/WriteVelocity.d.ts +0 -6
- package/src/engine/graphics/particles/node-based/nodes/WriteVelocity.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/WriteVelocity.js +0 -15
- package/src/engine/graphics/particles/node-based/nodes/attribute/ReadVector3Attribute.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/nodes/attribute/ReadVector3Attribute.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/attribute/ReadVector3Attribute.js +0 -27
- package/src/engine/graphics/particles/node-based/nodes/attribute/WriteVector3Attribute.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/nodes/attribute/WriteVector3Attribute.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/attribute/WriteVector3Attribute.js +0 -25
- package/src/engine/graphics/particles/node-based/nodes/math/AddFloatNode.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/nodes/math/AddFloatNode.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/math/AddFloatNode.js +0 -26
- package/src/engine/graphics/particles/node-based/nodes/math/Vector3Add.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/nodes/math/Vector3Add.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/math/Vector3Add.js +0 -25
- package/src/engine/graphics/particles/node-based/nodes/math/Vector3Divide.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/nodes/math/Vector3Divide.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/math/Vector3Divide.js +0 -25
- package/src/engine/graphics/particles/node-based/nodes/math/Vector3Multiply.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/nodes/math/Vector3Multiply.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/math/Vector3Multiply.js +0 -25
- package/src/engine/graphics/particles/node-based/nodes/math/Vector3Subtract.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/nodes/math/Vector3Subtract.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/math/Vector3Subtract.js +0 -25
- package/src/engine/graphics/particles/node-based/nodes/noise/CurlNoiseNode.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/nodes/noise/CurlNoiseNode.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/noise/CurlNoiseNode.js +0 -39
- package/src/engine/graphics/particles/node-based/nodes/particle_data_type_component_count.d.ts +0 -39
- package/src/engine/graphics/particles/node-based/nodes/particle_data_type_component_count.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/nodes/particle_data_type_component_count.js +0 -45
- package/src/engine/graphics/particles/node-based/particle/GeometryAttributes.d.ts +0 -9
- package/src/engine/graphics/particles/node-based/particle/GeometryAttributes.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/particle/GeometryAttributes.js +0 -10
- package/src/engine/graphics/particles/node-based/particle/ParticleAttributeBinding.d.ts +0 -13
- package/src/engine/graphics/particles/node-based/particle/ParticleAttributeBinding.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/particle/ParticleAttributeBinding.js +0 -14
- package/src/engine/graphics/particles/node-based/particle/ParticleAttributeSpecification.d.ts +0 -50
- package/src/engine/graphics/particles/node-based/particle/ParticleAttributeSpecification.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/particle/ParticleAttributeSpecification.js +0 -47
- package/src/engine/graphics/particles/node-based/particle/ParticleSpecification.d.ts +0 -51
- package/src/engine/graphics/particles/node-based/particle/ParticleSpecification.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/particle/ParticleSpecification.js +0 -93
- package/src/engine/graphics/particles/node-based/populateFunctionModuleRegistry.d.ts +0 -6
- package/src/engine/graphics/particles/node-based/populateFunctionModuleRegistry.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/populateFunctionModuleRegistry.js +0 -23
- package/src/engine/graphics/particles/node-based/populateNodeRegistry.d.ts +0 -7
- package/src/engine/graphics/particles/node-based/populateNodeRegistry.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/populateNodeRegistry.js +0 -48
- package/src/engine/graphics/particles/node-based/rendering/AbstractParticleRenderer.d.ts +0 -21
- package/src/engine/graphics/particles/node-based/rendering/AbstractParticleRenderer.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/rendering/AbstractParticleRenderer.js +0 -35
- package/src/engine/graphics/particles/node-based/rendering/ParticleRenderCommand.d.ts +0 -20
- package/src/engine/graphics/particles/node-based/rendering/ParticleRenderCommand.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/rendering/ParticleRenderCommand.js +0 -35
- package/src/engine/graphics/particles/node-based/rendering/ParticleRenderSpecification.d.ts +0 -14
- package/src/engine/graphics/particles/node-based/rendering/ParticleRenderSpecification.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/rendering/ParticleRenderSpecification.js +0 -17
- package/src/engine/graphics/particles/node-based/rendering/billboard/ParticleBillboardShader.d.ts +0 -5
- package/src/engine/graphics/particles/node-based/rendering/billboard/ParticleBillboardShader.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/rendering/billboard/ParticleBillboardShader.js +0 -150
- package/src/engine/graphics/particles/node-based/simulation/EmitterAttributeData.d.ts +0 -55
- package/src/engine/graphics/particles/node-based/simulation/EmitterAttributeData.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/simulation/EmitterAttributeData.js +0 -105
- package/src/engine/graphics/particles/node-based/simulation/GLDataBuffer.d.ts +0 -49
- package/src/engine/graphics/particles/node-based/simulation/GLDataBuffer.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/simulation/GLDataBuffer.js +0 -103
- package/src/engine/graphics/particles/node-based/simulation/GLSLParticleSimulator.d.ts +0 -4
- package/src/engine/graphics/particles/node-based/simulation/GLSLParticleSimulator.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/simulation/GLSLParticleSimulator.js +0 -6
- package/src/engine/graphics/particles/node-based/simulation/GLSLSimulationShader.d.ts +0 -83
- package/src/engine/graphics/particles/node-based/simulation/GLSLSimulationShader.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/simulation/GLSLSimulationShader.js +0 -188
- package/src/engine/graphics/particles/node-based/simulation/TransformFeedback.d.ts +0 -123
- package/src/engine/graphics/particles/node-based/simulation/TransformFeedback.d.ts.map +0 -1
- package/src/engine/graphics/particles/node-based/simulation/TransformFeedback.js +0 -415
- package/src/engine/graphics/render/buffer/FrameBufferManager.d.ts +0 -71
- package/src/engine/graphics/render/buffer/FrameBufferManager.d.ts.map +0 -1
- package/src/engine/graphics/render/buffer/FrameBufferManager.js +0 -229
- package/src/engine/graphics/render/buffer/simple-fx/taa/TemporalSupersamplingRenderPlugin.d.ts +0 -22
- package/src/engine/graphics/render/buffer/simple-fx/taa/TemporalSupersamplingRenderPlugin.d.ts.map +0 -1
- package/src/engine/graphics/render/buffer/simple-fx/taa/TemporalSupersamplingRenderPlugin.js +0 -84
- package/src/engine/graphics/render/forward_plus/LightRenderMetadata.d.ts +0 -33
- package/src/engine/graphics/render/forward_plus/LightRenderMetadata.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/LightRenderMetadata.js +0 -61
- package/src/engine/graphics/render/forward_plus/SPECIFICATION.md +0 -155
- package/src/engine/graphics/render/forward_plus/assign_cluster.d.ts +0 -29
- package/src/engine/graphics/render/forward_plus/assign_cluster.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/assign_cluster.js +0 -124
- package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash.d.ts +0 -7
- package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash.js +0 -17
- package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash_0.d.ts +0 -7
- package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash_0.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/cluster/compute_light_data_hash_0.js +0 -17
- package/src/engine/graphics/render/forward_plus/cluster/read_plane_pair.d.ts +0 -9
- package/src/engine/graphics/render/forward_plus/cluster/read_plane_pair.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/cluster/read_plane_pair.js +0 -29
- package/src/engine/graphics/render/forward_plus/cluster/write_cluster_planes.d.ts +0 -12
- package/src/engine/graphics/render/forward_plus/cluster/write_cluster_planes.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/cluster/write_cluster_planes.js +0 -43
- package/src/engine/graphics/render/forward_plus/computeFrustumCorners.d.ts +0 -8
- package/src/engine/graphics/render/forward_plus/computeFrustumCorners.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/computeFrustumCorners.js +0 -68
- package/src/engine/graphics/render/forward_plus/debug/createLayerSwitcher.d.ts +0 -4
- package/src/engine/graphics/render/forward_plus/debug/createLayerSwitcher.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/debug/createLayerSwitcher.js +0 -46
- package/src/engine/graphics/render/forward_plus/debug/createScreenGrid.d.ts +0 -14
- package/src/engine/graphics/render/forward_plus/debug/createScreenGrid.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/debug/createScreenGrid.js +0 -327
- package/src/engine/graphics/render/forward_plus/materials/FP_INJECTION_POINT_ACCUMULATION.d.ts +0 -2
- package/src/engine/graphics/render/forward_plus/materials/FP_INJECTION_POINT_ACCUMULATION.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/materials/FP_INJECTION_POINT_ACCUMULATION.js +0 -1
- package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_ACCUMULATION.d.ts +0 -2
- package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_ACCUMULATION.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_ACCUMULATION.js +0 -40
- package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_APPLY_DECALS.d.ts +0 -2
- package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_APPLY_DECALS.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_APPLY_DECALS.js +0 -74
- package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_DECODE_PARS.d.ts +0 -2
- package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_DECODE_PARS.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_DECODE_PARS.js +0 -55
- package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_LOAD_METADATA.d.ts +0 -2
- package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_LOAD_METADATA.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_LOAD_METADATA.js +0 -11
- package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_PREAMBLE.d.ts +0 -2
- package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_PREAMBLE.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/materials/FP_SHADER_CHUNK_PREAMBLE.js +0 -34
- package/src/engine/graphics/render/forward_plus/materials/fp_build_fragment_shader.d.ts +0 -7
- package/src/engine/graphics/render/forward_plus/materials/fp_build_fragment_shader.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/materials/fp_build_fragment_shader.js +0 -60
- package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_lighting_shared.d.ts +0 -7
- package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_lighting_shared.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_lighting_shared.js +0 -38
- package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_shader.d.ts +0 -7
- package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_shader.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/materials/fp_build_vertex_shader.js +0 -30
- package/src/engine/graphics/render/forward_plus/model/Decal.d.ts +0 -51
- package/src/engine/graphics/render/forward_plus/model/Decal.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/model/Decal.js +0 -133
- package/src/engine/graphics/render/forward_plus/plugin/forwardPlusMaterialMarker.d.ts +0 -16
- package/src/engine/graphics/render/forward_plus/plugin/forwardPlusMaterialMarker.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/plugin/forwardPlusMaterialMarker.js +0 -18
- package/src/engine/graphics/render/forward_plus/plugin/isLitMaterial.d.ts +0 -7
- package/src/engine/graphics/render/forward_plus/plugin/isLitMaterial.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/plugin/isLitMaterial.js +0 -8
- package/src/engine/graphics/render/forward_plus/query/analytical_biplanar_corner_mapping.d.ts +0 -10
- package/src/engine/graphics/render/forward_plus/query/analytical_biplanar_corner_mapping.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/query/analytical_biplanar_corner_mapping.js +0 -65
- package/src/engine/graphics/render/forward_plus/query/analytical_triplanar_corner_mapping.d.ts +0 -7
- package/src/engine/graphics/render/forward_plus/query/analytical_triplanar_corner_mapping.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/query/analytical_triplanar_corner_mapping.js +0 -8
- package/src/engine/graphics/render/forward_plus/query/cube_mapping.d.ts +0 -11
- package/src/engine/graphics/render/forward_plus/query/cube_mapping.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/query/cube_mapping.js +0 -38
- package/src/engine/graphics/render/forward_plus/query/detailed_sphere_frustum_intersection_test.d.ts +0 -21
- package/src/engine/graphics/render/forward_plus/query/detailed_sphere_frustum_intersection_test.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/query/detailed_sphere_frustum_intersection_test.js +0 -96
- package/src/engine/graphics/render/forward_plus/query/point_light_inside_volume.d.ts +0 -22
- package/src/engine/graphics/render/forward_plus/query/point_light_inside_volume.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/query/point_light_inside_volume.js +0 -44
- package/src/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_texture.d.ts +0 -11
- package/src/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_texture.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/query/query_bvh_frustum_from_texture.js +0 -169
- package/src/engine/graphics/render/forward_plus/query/spot_light_inside_volume.d.ts +0 -9
- package/src/engine/graphics/render/forward_plus/query/spot_light_inside_volume.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/query/spot_light_inside_volume.js +0 -33
- package/src/engine/graphics/render/forward_plus/read_frustum_corner.d.ts +0 -2
- package/src/engine/graphics/render/forward_plus/read_frustum_corner.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/read_frustum_corner.js +0 -2
- package/src/engine/graphics/render/forward_plus/sort_decal_data.d.ts +0 -9
- package/src/engine/graphics/render/forward_plus/sort_decal_data.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/sort_decal_data.js +0 -102
- package/src/engine/graphics/render/forward_plus/testClusterEquality.d.ts +0 -10
- package/src/engine/graphics/render/forward_plus/testClusterEquality.d.ts.map +0 -1
- package/src/engine/graphics/render/forward_plus/testClusterEquality.js +0 -22
- package/src/engine/graphics/render/frame_graph/webgl/WebGLRenderContext.d.ts +0 -19
- package/src/engine/graphics/render/frame_graph/webgl/WebGLRenderContext.d.ts.map +0 -1
- package/src/engine/graphics/render/frame_graph/webgl/WebGLRenderContext.js +0 -62
- package/src/engine/graphics/shaders/AlphaBlendShader.d.ts +0 -18
- package/src/engine/graphics/shaders/AlphaBlendShader.d.ts.map +0 -1
- package/src/engine/graphics/shaders/AlphaBlendShader.js +0 -42
- package/src/engine/graphics/shaders/ClearShader.d.ts +0 -8
- package/src/engine/graphics/shaders/ClearShader.d.ts.map +0 -1
- package/src/engine/graphics/shaders/ClearShader.js +0 -28
- package/src/engine/graphics/shaders/ScreenSpaceQuadShader.d.ts +0 -13
- package/src/engine/graphics/shaders/ScreenSpaceQuadShader.d.ts.map +0 -1
- package/src/engine/graphics/shaders/ScreenSpaceQuadShader.js +0 -38
- package/src/engine/graphics/shaders/ScreenSpaceShader.d.ts +0 -7
- package/src/engine/graphics/shaders/ScreenSpaceShader.d.ts.map +0 -1
- package/src/engine/graphics/shaders/ScreenSpaceShader.js +0 -102
- package/src/engine/graphics/shaders/chunks/glsl_octahedral_impostor.d.ts +0 -102
- package/src/engine/graphics/shaders/chunks/glsl_octahedral_impostor.d.ts.map +0 -1
- package/src/engine/graphics/shaders/chunks/glsl_octahedral_impostor.js +0 -277
- package/src/engine/graphics/shaders/chunks/glsl_voxel_impostor_splat.d.ts +0 -40
- package/src/engine/graphics/shaders/chunks/glsl_voxel_impostor_splat.d.ts.map +0 -1
- package/src/engine/graphics/shaders/chunks/glsl_voxel_impostor_splat.js +0 -57
- package/src/engine/graphics/shaders/glsl_gen_swizzled_read.d.ts +0 -8
- package/src/engine/graphics/shaders/glsl_gen_swizzled_read.d.ts.map +0 -1
- package/src/engine/graphics/shaders/glsl_gen_swizzled_read.js +0 -39
- package/src/engine/graphics/shadows/README.md +0 -6
- package/src/engine/graphics/shadows/vsm.glsl.d.ts +0 -3
- package/src/engine/graphics/shadows/vsm.glsl.d.ts.map +0 -1
- package/src/engine/graphics/shadows/vsm.glsl.js +0 -43
- package/src/engine/graphics/util/composeMatrix4.d.ts +0 -9
- package/src/engine/graphics/util/composeMatrix4.d.ts.map +0 -1
- package/src/engine/graphics/util/composeMatrix4.js +0 -13
- package/src/engine/graphics/util/threeUpdateMatrix.d.ts +0 -6
- package/src/engine/graphics/util/threeUpdateMatrix.d.ts.map +0 -1
- package/src/engine/graphics/util/threeUpdateMatrix.js +0 -14
- package/src/engine/graphics/util/threeUpdateTransform.d.ts +0 -6
- package/src/engine/graphics/util/threeUpdateTransform.d.ts.map +0 -1
- package/src/engine/graphics/util/threeUpdateTransform.js +0 -16
- package/src/engine/sound/ecs/SoundController.d.ts.map +0 -1
- package/src/engine/sound/ecs/SoundControllerSystem.d.ts +0 -23
- package/src/engine/sound/ecs/SoundControllerSystem.d.ts.map +0 -1
- package/src/engine/sound/ecs/SoundControllerSystem.js +0 -103
- package/src/engine/sound/ecs/emitter/SoundAttenuationFunction.d.ts.map +0 -1
- package/src/engine/sound/ecs/emitter/SoundEmitter.d.ts.map +0 -1
- package/src/engine/sound/ecs/emitter/SoundEmitterComponentContext.d.ts +0 -55
- package/src/engine/sound/ecs/emitter/SoundEmitterComponentContext.d.ts.map +0 -1
- package/src/engine/sound/ecs/emitter/SoundEmitterComponentContext.js +0 -265
- package/src/engine/sound/ecs/emitter/SoundEmitterFlags.d.ts.map +0 -1
- package/src/engine/sound/ecs/emitter/SoundEmitterSerializationAdapter.d.ts.map +0 -1
- package/src/engine/sound/ecs/emitter/SoundEmitterSystem.d.ts +0 -88
- package/src/engine/sound/ecs/emitter/SoundEmitterSystem.d.ts.map +0 -1
- package/src/engine/sound/ecs/emitter/SoundEmitterSystem.js +0 -159
- package/src/engine/sound/ecs/emitter/SoundPanningModelType.d.ts.map +0 -1
- package/src/engine/sound/ecs/emitter/SoundTrack.d.ts.map +0 -1
- package/src/engine/sound/ecs/emitter/SoundTrackFlags.d.ts.map +0 -1
- package/src/engine/sound/ecs/emitter/loadSoundTrackAsset.d.ts +0 -8
- package/src/engine/sound/ecs/emitter/loadSoundTrackAsset.d.ts.map +0 -1
- package/src/engine/sound/ecs/emitter/loadSoundTrackAsset.js +0 -41
- package/src/shade/playground/FramePerformanceMonitor.d.ts +0 -114
- package/src/shade/playground/FramePerformanceMonitor.d.ts.map +0 -1
- package/src/shade/playground/FramePerformanceMonitor.js +0 -468
- package/src/shade/playground/add_random_lights.d.ts +0 -8
- package/src/shade/playground/add_random_lights.d.ts.map +0 -1
- package/src/shade/playground/add_random_lights.js +0 -50
- package/src/shade/playground/animation_prototype.d.ts +0 -24
- package/src/shade/playground/animation_prototype.d.ts.map +0 -1
- package/src/shade/playground/animation_prototype.js +0 -508
- package/src/shade/playground/animation_prototype_skinning.d.ts +0 -31
- package/src/shade/playground/animation_prototype_skinning.d.ts.map +0 -1
- package/src/shade/playground/animation_prototype_skinning.js +0 -647
- package/src/shade/playground/animation_prototype_stress.d.ts +0 -35
- package/src/shade/playground/animation_prototype_stress.d.ts.map +0 -1
- package/src/shade/playground/animation_prototype_stress.js +0 -765
- package/src/shade/playground/enable_picker.d.ts +0 -8
- package/src/shade/playground/enable_picker.d.ts.map +0 -1
- package/src/shade/playground/enable_picker.js +0 -60
- package/src/shade/playground/gltf_skinned_prototype.d.ts +0 -27
- package/src/shade/playground/gltf_skinned_prototype.d.ts.map +0 -1
- package/src/shade/playground/gltf_skinned_prototype.js +0 -560
- package/src/shade/playground/gltf_skinned_stress_prototype.d.ts +0 -24
- package/src/shade/playground/gltf_skinned_stress_prototype.d.ts.map +0 -1
- package/src/shade/playground/gltf_skinned_stress_prototype.js +0 -387
- package/src/shade/playground/gltf_viewer.d.ts +0 -2
- package/src/shade/playground/gltf_viewer.d.ts.map +0 -1
- package/src/shade/playground/gltf_viewer.js +0 -283
- package/src/shade/playground/main.d.ts.map +0 -1
- package/src/shade/playground/main.js +0 -2727
- package/src/shade/playground/make_animated_instances.d.ts +0 -9
- package/src/shade/playground/make_animated_instances.d.ts.map +0 -1
- package/src/shade/playground/make_animated_instances.js +0 -118
- package/src/shade/playground/prototype_virtual_texture.d.ts +0 -2
- package/src/shade/playground/prototype_virtual_texture.d.ts.map +0 -1
- package/src/shade/playground/prototype_virtual_texture.js +0 -274
- package/src/shade/playground/prototype_volumetrics_01.d.ts +0 -2
- package/src/shade/playground/prototype_volumetrics_01.d.ts.map +0 -1
- package/src/shade/playground/prototype_volumetrics_01.js +0 -206
- package/src/shade/playground/sample.d.ts +0 -2
- package/src/shade/playground/sample.d.ts.map +0 -1
- package/src/shade/playground/sample.js +0 -234
- package/src/shade/playground/sample_load_gltf.d.ts +0 -9
- package/src/shade/playground/sample_load_gltf.d.ts.map +0 -1
- package/src/shade/playground/sample_load_gltf.js +0 -103
- package/src/shade/playground/spread_node3d_grid.d.ts +0 -7
- package/src/shade/playground/spread_node3d_grid.d.ts.map +0 -1
- package/src/shade/playground/spread_node3d_grid.js +0 -20
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVH.d.ts +0 -24
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVH.d.ts.map +0 -1
- package/src/shade/renderer/geometry/bvh/GPUGeometryBVH.js +0 -88
- package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_scan_add.d.ts +0 -3
- package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_scan_add.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_scan_add.js +0 -49
- package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_sum_scan.d.ts +0 -3
- package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_sum_scan.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/prefix_sum/v0/shader_exclusive_prefix_sum_scan.js +0 -93
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdl.d.ts +0 -24
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdl.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/graph_prefix_scan_csdl.js +0 -119
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/shader_one_sweep_prefix_scan.d.ts +0 -7
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/shader_one_sweep_prefix_scan.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/prefix_sum/v1/shader_one_sweep_prefix_scan.js +0 -235
- package/src/shade/renderer/gpu_primitive/sort/NOTES.md +0 -5
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_common.d.ts +0 -7
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_common.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/chunk_sort_common.js +0 -136
- package/src/shade/renderer/gpu_primitive/sort/ffx/chunk_safe_load_uint4_umax.d.ts +0 -18
- package/src/shade/renderer/gpu_primitive/sort/ffx/chunk_safe_load_uint4_umax.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/ffx/chunk_safe_load_uint4_umax.js +0 -108
- package/src/shade/renderer/gpu_primitive/sort/ffx/defs.d.ts +0 -35
- package/src/shade/renderer/gpu_primitive/sort/ffx/defs.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/ffx/defs.js +0 -42
- package/src/shade/renderer/gpu_primitive/sort/ffx/graph_radix_sort.d.ts +0 -13
- package/src/shade/renderer/gpu_primitive/sort/ffx/graph_radix_sort.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/ffx/graph_radix_sort.js +0 -116
- package/src/shade/renderer/gpu_primitive/sort/ffx/shader_bit_histogram.d.ts +0 -3
- package/src/shade/renderer/gpu_primitive/sort/ffx/shader_bit_histogram.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/ffx/shader_bit_histogram.js +0 -120
- package/src/shade/renderer/gpu_primitive/sort/ffx/shader_distribute_part_sum_int4.d.ts +0 -3
- package/src/shade/renderer/gpu_primitive/sort/ffx/shader_distribute_part_sum_int4.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/ffx/shader_distribute_part_sum_int4.js +0 -76
- package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_partial.d.ts +0 -3
- package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_partial.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_partial.js +0 -125
- package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_uint4.d.ts +0 -3
- package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_uint4.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scan_exclusive_uint4.js +0 -140
- package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scatter_keys_and_values.d.ts +0 -3
- package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scatter_keys_and_values.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/ffx/shader_scatter_keys_and_values.js +0 -338
- package/src/shade/renderer/gpu_primitive/sort/gaussian_splatting/x.d.ts +0 -7
- package/src/shade/renderer/gpu_primitive/sort/gaussian_splatting/x.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/gaussian_splatting/x.js +0 -261
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/chunk_extract_digit.d.ts +0 -3
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/chunk_extract_digit.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/chunk_extract_digit.js +0 -14
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/defs.d.ts +0 -25
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/defs.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/defs.js +0 -25
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/graph_radix_sort.d.ts +0 -15
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/graph_radix_sort.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/graph_radix_sort.js +0 -192
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_digit_binning_pass_pairs.d.ts +0 -5
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_digit_binning_pass_pairs.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_digit_binning_pass_pairs.js +0 -990
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_global_histogram.d.ts +0 -5
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_global_histogram.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_global_histogram.js +0 -82
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_init_sweep.d.ts +0 -3
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_init_sweep.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_init_sweep.js +0 -44
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_scan.d.ts +0 -5
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_scan.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/shader_scan.js +0 -156
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/test_radix_sort.d.ts +0 -6
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/test_radix_sort.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/test_radix_sort.js +0 -55
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/verify_radix_sort_one_sweep.d.ts +0 -14
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/verify_radix_sort_one_sweep.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/one_sweep/verify_radix_sort_one_sweep.js +0 -110
- package/src/shade/renderer/gpu_primitive/sort/v4/graph_radix_sort.d.ts +0 -12
- package/src/shade/renderer/gpu_primitive/sort/v4/graph_radix_sort.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/v4/graph_radix_sort.js +0 -74
- package/src/shade/renderer/gpu_primitive/sort/v4/shader_radix_sort.d.ts +0 -3
- package/src/shade/renderer/gpu_primitive/sort/v4/shader_radix_sort.d.ts.map +0 -1
- package/src/shade/renderer/gpu_primitive/sort/v4/shader_radix_sort.js +0 -125
- package/src/shade/renderer/shader/chunk/bvh/morton/chunk_calculate_morton_code.d.ts +0 -7
- package/src/shade/renderer/shader/chunk/bvh/morton/chunk_calculate_morton_code.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/bvh/morton/chunk_calculate_morton_code.js +0 -36
- package/src/shade/renderer/shader/chunk/bvh/morton/chunk_get_morton_codes_from_unit_coord.d.ts +0 -7
- package/src/shade/renderer/shader/chunk/bvh/morton/chunk_get_morton_codes_from_unit_coord.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/bvh/morton/chunk_get_morton_codes_from_unit_coord.js +0 -54
- package/src/shade/renderer/shader/chunk/bvh/packed/NOTES.md +0 -19
- package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_STRUCT.d.ts +0 -3
- package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_STRUCT.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_STRUCT.js +0 -9
- package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_WORD_COUNT.d.ts +0 -6
- package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_WORD_COUNT.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/bvh/packed/PACKED_BVH_NODE_WORD_COUNT.js +0 -5
- package/src/shade/renderer/shader/chunk/bvh/packed/chunk_make_f32_interval_f16_safe.d.ts +0 -8
- package/src/shade/renderer/shader/chunk/bvh/packed/chunk_make_f32_interval_f16_safe.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/bvh/packed/chunk_make_f32_interval_f16_safe.js +0 -17
- package/src/shade/renderer/shader/chunk/bvh/packed/chunk_pack_f32_interval_to_u32.d.ts +0 -3
- package/src/shade/renderer/shader/chunk/bvh/packed/chunk_pack_f32_interval_to_u32.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/bvh/packed/chunk_pack_f32_interval_to_u32.js +0 -14
- package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_from_unpacked_node.d.ts +0 -3
- package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_from_unpacked_node.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_from_unpacked_node.js +0 -27
- package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_read_node.d.ts +0 -3
- package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_read_node.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_read_node.js +0 -31
- package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_write_node.d.ts +0 -3
- package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_write_node.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/bvh/packed/chunk_packed_bvh_write_node.js +0 -25
- package/src/shade/renderer/shader/chunk/bvh/packed/shader_pack_blas.d.ts +0 -3
- package/src/shade/renderer/shader/chunk/bvh/packed/shader_pack_blas.d.ts.map +0 -1
- package/src/shade/renderer/shader/chunk/bvh/packed/shader_pack_blas.js +0 -42
- /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundAttenuationFunction.d.ts +0 -0
- /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundAttenuationFunction.js +0 -0
- /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterFlags.d.ts +0 -0
- /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterFlags.js +0 -0
- /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationAdapter.d.ts +0 -0
- /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationAdapter.js +0 -0
- /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_0_1.d.ts +0 -0
- /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_0_1.js +0 -0
- /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_1_2.d.ts +0 -0
- /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundEmitterSerializationUpgrader_1_2.js +0 -0
- /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundPanningModelType.d.ts +0 -0
- /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundPanningModelType.js +0 -0
- /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundTrackFlags.d.ts +0 -0
- /package/src/engine/sound/{ecs/emitter → sopra/legacy}/SoundTrackFlags.js +0 -0
- /package/src/shade/playground/{main.d.ts → bvh_repro/main.d.ts} +0 -0
|
@@ -1,269 +1,275 @@
|
|
|
1
|
-
# Binary serialization coverage
|
|
2
|
-
|
|
3
|
-
What verifies the save format, what does not, and what is known to be wrong with it.
|
|
4
|
-
|
|
5
|
-
This file exists because three aggregate specs that used to answer those questions were deleted. They are
|
|
6
|
-
worth understanding before adding anything like them back.
|
|
7
|
-
|
|
8
|
-
## Why the aggregate harnesses went
|
|
9
|
-
|
|
10
|
-
`binary_adapter_round_trip.spec.js`, `upgrader_chain_contract.spec.js` and
|
|
11
|
-
`upgrader_execution_contract.spec.js` walked the source tree with `fs.readdirSync`, dynamically imported every
|
|
12
|
-
match, and drove each adapter through reflection.
|
|
13
|
-
|
|
14
|
-
They found real defects — that was never in doubt. They were removed anyway, for reasons that are worth
|
|
15
|
-
keeping:
|
|
16
|
-
|
|
17
|
-
* **40% of the green was hollow.** The round-trip harness reported 78 passing tests. **31 of them asserted
|
|
18
|
-
nothing:** 20 "not checked" (16 of those because the harness's own perturbation produced an object that
|
|
19
|
-
violated the component's invariants and `serialize` threw — *"Expected 'Managed' flag to be set"*,
|
|
20
|
-
*"Incorrect height data size. 4 !== 256"*), 4 whose state is `#private` and therefore invisible to
|
|
21
|
-
structural comparison, and 7 the perturber could not vary. `Tag`, `Blackboard`, `UUID`, `Terrain`,
|
|
22
|
-
`FogOfWar`, `AudioEmitter`, `SoundEmitter`, `ParticleEmitter` and `AnimationGraph` were all reported green
|
|
23
|
-
and none of them were checked. The list was printed by `console.log` in an `afterAll`, invisible in a normal
|
|
24
|
-
run.
|
|
25
|
-
* **It asserted that the broken things were exactly the broken things.** `KNOWN_DIVERGENCE` was, in its own
|
|
26
|
-
words, "a baseline, not a specification" — nine real defects encoded as expected values. A test that passes
|
|
27
|
-
*because* the bug is still present is worse than no test.
|
|
28
|
-
* **It hid a bug of exactly the kind it existed to catch.** See "Found and fixed" below.
|
|
29
|
-
* **The reflection was the failure surface.** `perturb()` and `divergentPaths()` were ~250 lines of
|
|
30
|
-
special-cased traversal (`isColor`, `isQuaternion`, typed arrays, `getValue`/`set`, `__validSet`,
|
|
31
|
-
writability probing, depth limits, `Math.fround` tolerance). Whenever a test failed, the first question was
|
|
32
|
-
whether the harness or the adapter was wrong.
|
|
33
|
-
* **The dynamic imports flaked.** On Windows the transform cache lost `rename` races —
|
|
34
|
-
`EPERM: operation not permitted, rename ...\ssr\.tmp-... -> ...\ssr\<hash>` — failing whichever adapter
|
|
35
|
-
happened to be importing. The flake was read as a serialization bug more than once.
|
|
36
|
-
|
|
37
|
-
The replacement is one hand-written spec per adapter, colocated with it, in the style of
|
|
38
|
-
[`TagSerializationAdapter.spec.js`](../../components/TagSerializationAdapter.spec.js): construct an instance
|
|
39
|
-
with distinctive values, serialize, deserialize into a fresh one, assert. Explicit, verbose, no reflection, no
|
|
40
|
-
allow-lists, and each one states what the format actually promises.
|
|
41
|
-
|
|
42
|
-
**The upgrade-path property is not reproduced.** `upgrader_chain_contract.spec.js` checked that every
|
|
43
|
-
historical version could reach the current one. That property matters to a *consumer* of the engine shipping
|
|
44
|
-
saved data, not to the engine, so it belongs in the consumer's suite.
|
|
45
|
-
|
|
46
|
-
## Found and fixed on the way out
|
|
47
|
-
|
|
48
|
-
`FailingBehavior` and `SucceedingBehavior` **could not be serialized at all.** Both adapters wrote
|
|
49
|
-
`value.delayTicks` — a constructor parameter that was deprecated and removed from both classes — so
|
|
50
|
-
`writeUintVar(undefined)` threw on *any* instance, and a behaviour tree containing either could not be saved.
|
|
51
|
-
|
|
52
|
-
The harness reported both green. `perturb()` found no field it knew how to vary, pushed them onto the
|
|
53
|
-
"nothing the harness could vary" list, and returned before ever calling `serialize`.
|
|
54
|
-
|
|
55
|
-
Both adapters now write nothing, because the classes carry no state. No version bump: since `serialize` always
|
|
56
|
-
threw, no save containing these behaviours can exist, so there is no data to stay compatible with.
|
|
57
|
-
|
|
58
|
-
## Adapters still without a spec
|
|
59
|
-
|
|
60
|
-
29 files, of which `BinaryClassSerializationAdapter.js` (the base class) and
|
|
61
|
-
`ObjectBasedClassSerializationAdapter.js` (a helper) are not adapters — so **27 real ones**. Every entry is an
|
|
62
|
-
adapter nothing currently verifies.
|
|
63
|
-
|
|
64
|
-
Sixteen of these are the ones whose `serialize` threw under the old harness. That is not a coincidence and it
|
|
65
|
-
is where the interesting bugs are: those components have invariants, so a spec for one needs a hand-built
|
|
66
|
-
fixture rather than a default instance. `FogOfWar` needs correctly-sized height data, `GUIElement` needs its
|
|
67
|
-
`Managed` flag, `Terrain` needs a height array matching its resolution.
|
|
68
|
-
|
|
69
|
-
| Class | Adapter |
|
|
70
|
-
|---|---|
|
|
71
|
-
| `Animation` | `engine/ecs/animation/AnimationSerializationAdapter.js` |
|
|
72
|
-
| `FogOfWar` | `engine/ecs/fow/serialization/FogOfWarSerializationAdapter.js` |
|
|
73
|
-
| `GUIElement` | `engine/ecs/gui/GUIElementSerializationAdapter.js` |
|
|
74
|
-
| `InverseKinematics` | `engine/ecs/ik/InverseKinematicsSerializationAdapter.js` |
|
|
75
|
-
| `Book` | `engine/ecs/storage/binary/BinaryClassSerializationAdapter.js` |
|
|
76
|
-
| `?` | `engine/ecs/storage/binary/object/ObjectBasedClassSerializationAdapter.js` |
|
|
77
|
-
| `Terrain` | `engine/ecs/terrain/serialization/TerrainSerializationAdapter.js` |
|
|
78
|
-
| `AnimationController` | `engine/graphics/ecs/animation/AnimationControllerSerializationAdapter.js` |
|
|
79
|
-
| `AnimationGraph` | `engine/graphics/ecs/animation/animator/graph/AnimationGraphSerializationAdapter.js` |
|
|
80
|
-
| `AnimationGraphDefinition` | `engine/graphics/ecs/animation/animator/graph/definition/serialization/AnimationGraphDefinitionSerializationAdapter.js` |
|
|
81
|
-
| `Camera` | `engine/graphics/ecs/camera/serialization/CameraSerializationAdapter.js` |
|
|
82
|
-
| `TopDownCameraController` | `engine/graphics/ecs/camera/topdown/TopDownCameraControllerSerializationAdapter.js` |
|
|
83
|
-
| `Decal` | `engine/graphics/ecs/decal/v2/DecalSerializationAdapter.js` |
|
|
84
|
-
| `Highlight` | `engine/graphics/ecs/highlight/HighlightSerializationAdapter.js` |
|
|
85
|
-
| `Mesh` | `engine/graphics/ecs/mesh/serialization/MeshSerializationAdapter.js` |
|
|
86
|
-
| `Water` | `engine/graphics/ecs/water/WaterSerializationAdapter.js` |
|
|
87
|
-
| `ParameterLookupTable` | `engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.js` |
|
|
88
|
-
| `ParticleEmitter` | `engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.js` |
|
|
89
|
-
| `LightProbeVolume` | `engine/graphics/sh3/lpv/serialization/LightProbeVolumeSerializationAdapter.js` |
|
|
90
|
-
| `Sampler2D` | `engine/graphics/texture/sampler/serialization/Sampler2DSerializationAdapter.js` |
|
|
91
|
-
| `GridPosition2Transform` | `engine/grid/grid2transform/GridPosition2TransformSerializationAdapter.js` |
|
|
92
|
-
| `GridObstacle` | `engine/grid/obstacle/GridObstacleSerializationAdapter.js` |
|
|
93
|
-
| `ParallelBehavior` | `engine/intelligence/behavior/composite/ParallelBehaviorSerializationAdapter.js` |
|
|
94
|
-
| `SequenceBehavior` | `engine/intelligence/behavior/composite/SequenceBehaviorSerializationAdapter.js` |
|
|
95
|
-
| `InvertStatusBehavior` | `engine/intelligence/behavior/decorator/InvertStatusBehaviorSerializationAdapter.js` |
|
|
96
|
-
| `RepeatBehavior` | `engine/intelligence/behavior/decorator/RepeatBehaviorSerializationAdapter.js` |
|
|
97
|
-
| `BehaviorComponent` | `engine/intelligence/behavior/ecs/BehaviorComponentSerializationAdapter.js` |
|
|
98
|
-
| `Transform` | `engine/interpolation/TransformPoseSerializationAdapter.js` |
|
|
99
|
-
| `AcousticProbeField` | `engine/sound/simulation/probe/AcousticProbeFieldSerializationAdapter.js` |
|
|
100
|
-
|
|
101
|
-
## Upgraders
|
|
102
|
-
|
|
103
|
-
24 upgraders in the tree. Ten had a hand-written golden — an explicit byte layout in the version the upgrader
|
|
104
|
-
reads — and those goldens are the one genuinely brutalist thing in the deleted files. They are preserved here
|
|
105
|
-
verbatim so porting them to per-upgrader specs is transcription rather than archaeology.
|
|
106
|
-
|
|
107
|
-
The per-upgrader spec should assert **the restored field values**, not the byte count the deleted harness
|
|
108
|
-
asserted. The byte count was a proxy it used because it had no idea what the values ought to be; a spec that
|
|
109
|
-
names one upgrader does know, and should say so.
|
|
110
|
-
|
|
111
|
-
### Goldens to port
|
|
112
|
-
|
|
113
|
-
```js
|
|
114
|
-
const GOLDENS = {
|
|
115
|
-
"CameraSerializationUpgrader_0_1.js": buffer => {
|
|
116
|
-
buffer.writeUint8(1); // autoClip
|
|
117
|
-
buffer.writeUint8(1); // active, an ObservedBoolean, one byte
|
|
118
|
-
},
|
|
119
|
-
|
|
120
|
-
"ClingToTerrainSerializationUpgrader_0_1.js": buffer => {
|
|
121
|
-
buffer.writeUint8(1); // normalAlign
|
|
122
|
-
},
|
|
123
|
-
|
|
124
|
-
"DecalSerializationUpgrader_0_1.js": buffer => {
|
|
125
|
-
buffer.writeUTF8String("data/textures/decal/circle1.png");
|
|
126
|
-
buffer.writeFloat32(0); // priority
|
|
127
|
-
buffer.writeFloat32Array([1, 1, 1, 1], 0, 4); // colour
|
|
128
|
-
},
|
|
129
|
-
|
|
130
|
-
"HighlightSerializationUpgrader_0_1.js": buffer => {
|
|
131
|
-
buffer.writeFloat32(0.25); // r
|
|
132
|
-
buffer.writeFloat32(0.5); // g
|
|
133
|
-
buffer.writeFloat32(0.75); // b
|
|
134
|
-
buffer.writeFloat32(1); // a
|
|
135
|
-
},
|
|
136
|
-
|
|
137
|
-
"PathSerializationUpgrader_0_1.js": buffer => {
|
|
138
|
-
buffer.writeUint32(2); // point count
|
|
139
|
-
|
|
140
|
-
for (let i = 0; i < 6; i++) {
|
|
141
|
-
buffer.writeFloat64(i);
|
|
142
|
-
}
|
|
143
|
-
},
|
|
144
|
-
|
|
145
|
-
"PathSerializationUpgrader_1_2.js": buffer => {
|
|
146
|
-
buffer.writeUint8(0); // interpolation
|
|
147
|
-
buffer.writeUintVar(0); // marker index
|
|
148
|
-
buffer.writeFloat32(0); // marker offset
|
|
149
|
-
buffer.writeUintVar(2); // point count
|
|
150
|
-
|
|
151
|
-
for (let i = 0; i < 6; i++) {
|
|
152
|
-
buffer.writeFloat32(i);
|
|
153
|
-
}
|
|
154
|
-
},
|
|
155
|
-
|
|
156
|
-
"PathSerializationUpgrader_2_3.js": buffer => {
|
|
157
|
-
buffer.writeUint8(0); // interpolation
|
|
158
|
-
buffer.writeUintVar(2); // point count
|
|
159
|
-
buffer.writeUintVar(3); // elements per point
|
|
160
|
-
|
|
161
|
-
for (let i = 0; i < 6; i++) {
|
|
162
|
-
buffer.writeFloat32(i);
|
|
163
|
-
}
|
|
164
|
-
},
|
|
165
|
-
|
|
166
|
-
"TagSerializationUpgrader_0_1.js": buffer => {
|
|
167
|
-
buffer.writeUTF8String("a-tag");
|
|
168
|
-
},
|
|
169
|
-
|
|
170
|
-
"TopDownCameraControllerSerializationUpgrader_0_1.js": buffer => {
|
|
171
|
-
// target x/y/z, pitch, yaw, distance, distanceMin, distanceMax
|
|
172
|
-
for (let i = 0; i < 8; i++) {
|
|
173
|
-
buffer.writeFloat64(i + 1);
|
|
174
|
-
}
|
|
175
|
-
},
|
|
176
|
-
|
|
177
|
-
"TransformSerializationUpgrader_0_1.js": buffer => {
|
|
178
|
-
buffer.writeFloat64(1); // position x
|
|
179
|
-
buffer.writeFloat64(2); // position y
|
|
180
|
-
buffer.writeFloat64(3); // position z
|
|
181
|
-
|
|
182
|
-
buffer.writeUint32(0); // encoded rotation
|
|
183
|
-
|
|
184
|
-
buffer.writeFloat32(1); // scale x
|
|
185
|
-
buffer.writeFloat32(2); // scale y
|
|
186
|
-
buffer.writeFloat32(3); // scale z
|
|
187
|
-
}
|
|
188
|
-
};
|
|
189
|
-
```
|
|
190
|
-
|
|
191
|
-
### Upgraders with no golden
|
|
192
|
-
|
|
193
|
-
Fourteen versions of the save format that nothing verifies can still be read. This was already an admitted gap
|
|
194
|
-
in the deleted spec; it is not a new one.
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
"
|
|
205
|
-
"
|
|
206
|
-
"
|
|
207
|
-
"
|
|
208
|
-
"
|
|
209
|
-
"
|
|
210
|
-
"
|
|
211
|
-
"
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
`
|
|
224
|
-
|
|
225
|
-
a defect
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
"engine/
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
],
|
|
249
|
-
"engine/
|
|
250
|
-
|
|
251
|
-
//
|
|
252
|
-
"engine/intelligence/behavior/
|
|
253
|
-
"
|
|
254
|
-
],
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
1
|
+
# Binary serialization coverage
|
|
2
|
+
|
|
3
|
+
What verifies the save format, what does not, and what is known to be wrong with it.
|
|
4
|
+
|
|
5
|
+
This file exists because three aggregate specs that used to answer those questions were deleted. They are
|
|
6
|
+
worth understanding before adding anything like them back.
|
|
7
|
+
|
|
8
|
+
## Why the aggregate harnesses went
|
|
9
|
+
|
|
10
|
+
`binary_adapter_round_trip.spec.js`, `upgrader_chain_contract.spec.js` and
|
|
11
|
+
`upgrader_execution_contract.spec.js` walked the source tree with `fs.readdirSync`, dynamically imported every
|
|
12
|
+
match, and drove each adapter through reflection.
|
|
13
|
+
|
|
14
|
+
They found real defects — that was never in doubt. They were removed anyway, for reasons that are worth
|
|
15
|
+
keeping:
|
|
16
|
+
|
|
17
|
+
* **40% of the green was hollow.** The round-trip harness reported 78 passing tests. **31 of them asserted
|
|
18
|
+
nothing:** 20 "not checked" (16 of those because the harness's own perturbation produced an object that
|
|
19
|
+
violated the component's invariants and `serialize` threw — *"Expected 'Managed' flag to be set"*,
|
|
20
|
+
*"Incorrect height data size. 4 !== 256"*), 4 whose state is `#private` and therefore invisible to
|
|
21
|
+
structural comparison, and 7 the perturber could not vary. `Tag`, `Blackboard`, `UUID`, `Terrain`,
|
|
22
|
+
`FogOfWar`, `AudioEmitter`, `SoundEmitter`, `ParticleEmitter` and `AnimationGraph` were all reported green
|
|
23
|
+
and none of them were checked. The list was printed by `console.log` in an `afterAll`, invisible in a normal
|
|
24
|
+
run.
|
|
25
|
+
* **It asserted that the broken things were exactly the broken things.** `KNOWN_DIVERGENCE` was, in its own
|
|
26
|
+
words, "a baseline, not a specification" — nine real defects encoded as expected values. A test that passes
|
|
27
|
+
*because* the bug is still present is worse than no test.
|
|
28
|
+
* **It hid a bug of exactly the kind it existed to catch.** See "Found and fixed" below.
|
|
29
|
+
* **The reflection was the failure surface.** `perturb()` and `divergentPaths()` were ~250 lines of
|
|
30
|
+
special-cased traversal (`isColor`, `isQuaternion`, typed arrays, `getValue`/`set`, `__validSet`,
|
|
31
|
+
writability probing, depth limits, `Math.fround` tolerance). Whenever a test failed, the first question was
|
|
32
|
+
whether the harness or the adapter was wrong.
|
|
33
|
+
* **The dynamic imports flaked.** On Windows the transform cache lost `rename` races —
|
|
34
|
+
`EPERM: operation not permitted, rename ...\ssr\.tmp-... -> ...\ssr\<hash>` — failing whichever adapter
|
|
35
|
+
happened to be importing. The flake was read as a serialization bug more than once.
|
|
36
|
+
|
|
37
|
+
The replacement is one hand-written spec per adapter, colocated with it, in the style of
|
|
38
|
+
[`TagSerializationAdapter.spec.js`](../../components/TagSerializationAdapter.spec.js): construct an instance
|
|
39
|
+
with distinctive values, serialize, deserialize into a fresh one, assert. Explicit, verbose, no reflection, no
|
|
40
|
+
allow-lists, and each one states what the format actually promises.
|
|
41
|
+
|
|
42
|
+
**The upgrade-path property is not reproduced.** `upgrader_chain_contract.spec.js` checked that every
|
|
43
|
+
historical version could reach the current one. That property matters to a *consumer* of the engine shipping
|
|
44
|
+
saved data, not to the engine, so it belongs in the consumer's suite.
|
|
45
|
+
|
|
46
|
+
## Found and fixed on the way out
|
|
47
|
+
|
|
48
|
+
`FailingBehavior` and `SucceedingBehavior` **could not be serialized at all.** Both adapters wrote
|
|
49
|
+
`value.delayTicks` — a constructor parameter that was deprecated and removed from both classes — so
|
|
50
|
+
`writeUintVar(undefined)` threw on *any* instance, and a behaviour tree containing either could not be saved.
|
|
51
|
+
|
|
52
|
+
The harness reported both green. `perturb()` found no field it knew how to vary, pushed them onto the
|
|
53
|
+
"nothing the harness could vary" list, and returned before ever calling `serialize`.
|
|
54
|
+
|
|
55
|
+
Both adapters now write nothing, because the classes carry no state. No version bump: since `serialize` always
|
|
56
|
+
threw, no save containing these behaviours can exist, so there is no data to stay compatible with.
|
|
57
|
+
|
|
58
|
+
## Adapters still without a spec
|
|
59
|
+
|
|
60
|
+
29 files, of which `BinaryClassSerializationAdapter.js` (the base class) and
|
|
61
|
+
`ObjectBasedClassSerializationAdapter.js` (a helper) are not adapters — so **27 real ones**. Every entry is an
|
|
62
|
+
adapter nothing currently verifies.
|
|
63
|
+
|
|
64
|
+
Sixteen of these are the ones whose `serialize` threw under the old harness. That is not a coincidence and it
|
|
65
|
+
is where the interesting bugs are: those components have invariants, so a spec for one needs a hand-built
|
|
66
|
+
fixture rather than a default instance. `FogOfWar` needs correctly-sized height data, `GUIElement` needs its
|
|
67
|
+
`Managed` flag, `Terrain` needs a height array matching its resolution.
|
|
68
|
+
|
|
69
|
+
| Class | Adapter |
|
|
70
|
+
|---|---|
|
|
71
|
+
| `Animation` | `engine/ecs/animation/AnimationSerializationAdapter.js` |
|
|
72
|
+
| `FogOfWar` | `engine/ecs/fow/serialization/FogOfWarSerializationAdapter.js` |
|
|
73
|
+
| `GUIElement` | `engine/ecs/gui/GUIElementSerializationAdapter.js` |
|
|
74
|
+
| `InverseKinematics` | `engine/ecs/ik/InverseKinematicsSerializationAdapter.js` |
|
|
75
|
+
| `Book` | `engine/ecs/storage/binary/BinaryClassSerializationAdapter.js` |
|
|
76
|
+
| `?` | `engine/ecs/storage/binary/object/ObjectBasedClassSerializationAdapter.js` |
|
|
77
|
+
| `Terrain` | `engine/ecs/terrain/serialization/TerrainSerializationAdapter.js` |
|
|
78
|
+
| `AnimationController` | `engine/graphics/ecs/animation/AnimationControllerSerializationAdapter.js` |
|
|
79
|
+
| `AnimationGraph` | `engine/graphics/ecs/animation/animator/graph/AnimationGraphSerializationAdapter.js` |
|
|
80
|
+
| `AnimationGraphDefinition` | `engine/graphics/ecs/animation/animator/graph/definition/serialization/AnimationGraphDefinitionSerializationAdapter.js` |
|
|
81
|
+
| `Camera` | `engine/graphics/ecs/camera/serialization/CameraSerializationAdapter.js` |
|
|
82
|
+
| `TopDownCameraController` | `engine/graphics/ecs/camera/topdown/TopDownCameraControllerSerializationAdapter.js` |
|
|
83
|
+
| `Decal` | `engine/graphics/ecs/decal/v2/DecalSerializationAdapter.js` |
|
|
84
|
+
| `Highlight` | `engine/graphics/ecs/highlight/HighlightSerializationAdapter.js` |
|
|
85
|
+
| `Mesh` | `engine/graphics/ecs/mesh/serialization/MeshSerializationAdapter.js` |
|
|
86
|
+
| `Water` | `engine/graphics/ecs/water/WaterSerializationAdapter.js` |
|
|
87
|
+
| `ParameterLookupTable` | `engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.js` |
|
|
88
|
+
| `ParticleEmitter` | `engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.js` |
|
|
89
|
+
| `LightProbeVolume` | `engine/graphics/sh3/lpv/serialization/LightProbeVolumeSerializationAdapter.js` |
|
|
90
|
+
| `Sampler2D` | `engine/graphics/texture/sampler/serialization/Sampler2DSerializationAdapter.js` |
|
|
91
|
+
| `GridPosition2Transform` | `engine/grid/grid2transform/GridPosition2TransformSerializationAdapter.js` |
|
|
92
|
+
| `GridObstacle` | `engine/grid/obstacle/GridObstacleSerializationAdapter.js` |
|
|
93
|
+
| `ParallelBehavior` | `engine/intelligence/behavior/composite/ParallelBehaviorSerializationAdapter.js` |
|
|
94
|
+
| `SequenceBehavior` | `engine/intelligence/behavior/composite/SequenceBehaviorSerializationAdapter.js` |
|
|
95
|
+
| `InvertStatusBehavior` | `engine/intelligence/behavior/decorator/InvertStatusBehaviorSerializationAdapter.js` |
|
|
96
|
+
| `RepeatBehavior` | `engine/intelligence/behavior/decorator/RepeatBehaviorSerializationAdapter.js` |
|
|
97
|
+
| `BehaviorComponent` | `engine/intelligence/behavior/ecs/BehaviorComponentSerializationAdapter.js` |
|
|
98
|
+
| `Transform` | `engine/interpolation/TransformPoseSerializationAdapter.js` |
|
|
99
|
+
| `AcousticProbeField` | `engine/sound/simulation/probe/AcousticProbeFieldSerializationAdapter.js` |
|
|
100
|
+
|
|
101
|
+
## Upgraders
|
|
102
|
+
|
|
103
|
+
24 upgraders in the tree. Ten had a hand-written golden — an explicit byte layout in the version the upgrader
|
|
104
|
+
reads — and those goldens are the one genuinely brutalist thing in the deleted files. They are preserved here
|
|
105
|
+
verbatim so porting them to per-upgrader specs is transcription rather than archaeology.
|
|
106
|
+
|
|
107
|
+
The per-upgrader spec should assert **the restored field values**, not the byte count the deleted harness
|
|
108
|
+
asserted. The byte count was a proxy it used because it had no idea what the values ought to be; a spec that
|
|
109
|
+
names one upgrader does know, and should say so.
|
|
110
|
+
|
|
111
|
+
### Goldens to port
|
|
112
|
+
|
|
113
|
+
```js
|
|
114
|
+
const GOLDENS = {
|
|
115
|
+
"CameraSerializationUpgrader_0_1.js": buffer => {
|
|
116
|
+
buffer.writeUint8(1); // autoClip
|
|
117
|
+
buffer.writeUint8(1); // active, an ObservedBoolean, one byte
|
|
118
|
+
},
|
|
119
|
+
|
|
120
|
+
"ClingToTerrainSerializationUpgrader_0_1.js": buffer => {
|
|
121
|
+
buffer.writeUint8(1); // normalAlign
|
|
122
|
+
},
|
|
123
|
+
|
|
124
|
+
"DecalSerializationUpgrader_0_1.js": buffer => {
|
|
125
|
+
buffer.writeUTF8String("data/textures/decal/circle1.png");
|
|
126
|
+
buffer.writeFloat32(0); // priority
|
|
127
|
+
buffer.writeFloat32Array([1, 1, 1, 1], 0, 4); // colour
|
|
128
|
+
},
|
|
129
|
+
|
|
130
|
+
"HighlightSerializationUpgrader_0_1.js": buffer => {
|
|
131
|
+
buffer.writeFloat32(0.25); // r
|
|
132
|
+
buffer.writeFloat32(0.5); // g
|
|
133
|
+
buffer.writeFloat32(0.75); // b
|
|
134
|
+
buffer.writeFloat32(1); // a
|
|
135
|
+
},
|
|
136
|
+
|
|
137
|
+
"PathSerializationUpgrader_0_1.js": buffer => {
|
|
138
|
+
buffer.writeUint32(2); // point count
|
|
139
|
+
|
|
140
|
+
for (let i = 0; i < 6; i++) {
|
|
141
|
+
buffer.writeFloat64(i);
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
|
|
145
|
+
"PathSerializationUpgrader_1_2.js": buffer => {
|
|
146
|
+
buffer.writeUint8(0); // interpolation
|
|
147
|
+
buffer.writeUintVar(0); // marker index
|
|
148
|
+
buffer.writeFloat32(0); // marker offset
|
|
149
|
+
buffer.writeUintVar(2); // point count
|
|
150
|
+
|
|
151
|
+
for (let i = 0; i < 6; i++) {
|
|
152
|
+
buffer.writeFloat32(i);
|
|
153
|
+
}
|
|
154
|
+
},
|
|
155
|
+
|
|
156
|
+
"PathSerializationUpgrader_2_3.js": buffer => {
|
|
157
|
+
buffer.writeUint8(0); // interpolation
|
|
158
|
+
buffer.writeUintVar(2); // point count
|
|
159
|
+
buffer.writeUintVar(3); // elements per point
|
|
160
|
+
|
|
161
|
+
for (let i = 0; i < 6; i++) {
|
|
162
|
+
buffer.writeFloat32(i);
|
|
163
|
+
}
|
|
164
|
+
},
|
|
165
|
+
|
|
166
|
+
"TagSerializationUpgrader_0_1.js": buffer => {
|
|
167
|
+
buffer.writeUTF8String("a-tag");
|
|
168
|
+
},
|
|
169
|
+
|
|
170
|
+
"TopDownCameraControllerSerializationUpgrader_0_1.js": buffer => {
|
|
171
|
+
// target x/y/z, pitch, yaw, distance, distanceMin, distanceMax
|
|
172
|
+
for (let i = 0; i < 8; i++) {
|
|
173
|
+
buffer.writeFloat64(i + 1);
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
|
|
177
|
+
"TransformSerializationUpgrader_0_1.js": buffer => {
|
|
178
|
+
buffer.writeFloat64(1); // position x
|
|
179
|
+
buffer.writeFloat64(2); // position y
|
|
180
|
+
buffer.writeFloat64(3); // position z
|
|
181
|
+
|
|
182
|
+
buffer.writeUint32(0); // encoded rotation
|
|
183
|
+
|
|
184
|
+
buffer.writeFloat32(1); // scale x
|
|
185
|
+
buffer.writeFloat32(2); // scale y
|
|
186
|
+
buffer.writeFloat32(3); // scale z
|
|
187
|
+
}
|
|
188
|
+
};
|
|
189
|
+
```
|
|
190
|
+
|
|
191
|
+
### Upgraders with no golden
|
|
192
|
+
|
|
193
|
+
Fourteen versions of the save format that nothing verifies can still be read. This was already an admitted gap
|
|
194
|
+
in the deleted spec; it is not a new one.
|
|
195
|
+
|
|
196
|
+
> The two `SoundEmitter` upgraders, its v2 adapter and the `SoundController` adapter now live under
|
|
197
|
+
> `engine/sound/sopra/legacy/` alongside the components they read. Those components are frozen readers with no
|
|
198
|
+
> runtime behaviour: they exist so that pre-`AudioEmitter` saves still deserialize, and are fed to
|
|
199
|
+
> `convertLegacySoundComponents`, which turns them into `AudioEmitter` / `AudioEventTrigger`. They stay
|
|
200
|
+
> registered here for exactly that reason — de-registering them would make old saves unreadable.
|
|
201
|
+
|
|
202
|
+
```js
|
|
203
|
+
const WITHOUT_GOLDEN = [
|
|
204
|
+
"FogOfWarSerializationUpdater_0_1.js",
|
|
205
|
+
"GridPosition2TransformSerializationUpgrader_0_1.js",
|
|
206
|
+
"GridPositionSerializationUpdater_0_1.js",
|
|
207
|
+
"ParticleEmitterSerializationUpgrader_0_1.js",
|
|
208
|
+
"PathFollowerSerializationUpgrader_0_1.js",
|
|
209
|
+
"PathFollowerSerializationUpgrader_1_2.js",
|
|
210
|
+
"PathFollowerSerializationUpgrader_2_3.js",
|
|
211
|
+
"PathFollowerSerializationUpgrader_3_4.js",
|
|
212
|
+
"RigidBodySerializationUpgrader_0_1.js",
|
|
213
|
+
"SoundEmitterSerializationUpgrader_0_1.js",
|
|
214
|
+
"SoundEmitterSerializationUpgrader_1_2.js",
|
|
215
|
+
"TerrainSerializationUpgrader_0_1.js",
|
|
216
|
+
"TerrainSerializationUpgrader_1_2.js",
|
|
217
|
+
"WaterSerializationUpgrader_0_1.js"
|
|
218
|
+
];
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
## Known defects in the format
|
|
222
|
+
|
|
223
|
+
These came out of `KNOWN_DIVERGENCE`, where they were encoded as expected values so the suite stayed green
|
|
224
|
+
with the bugs in place. They are real: an entity saved with any of these set does not come back the same.
|
|
225
|
+
Preserved here as a defect list, which is what they always were.
|
|
226
|
+
|
|
227
|
+
Where a spec has since been written for the adapter, the divergence is asserted explicitly *with its reason*,
|
|
228
|
+
so the behaviour is visible at the adapter rather than in a table keyed by file path — see
|
|
229
|
+
`LightSerializationAdapter.spec.js` (packed RGB drops alpha, harmless for a light and stated as such) and
|
|
230
|
+
`WaitForEventBehaviorSerializationAdapter.spec.js` (the event name survives, the wait state does not, which is
|
|
231
|
+
a defect and says so).
|
|
232
|
+
|
|
233
|
+
```js
|
|
234
|
+
const KNOWN_DIVERGENCE = {
|
|
235
|
+
// Color.toUint() is documented as RGB-only (uint24) and both adapters use
|
|
236
|
+
// it, so alpha is dropped by design. Kept visible rather than exempted:
|
|
237
|
+
// a light has no meaningful alpha, but water's might, and that is a call
|
|
238
|
+
// for whoever owns the water shader.
|
|
239
|
+
"engine/graphics/ecs/light/LightSerializationAdapter.js": ["color.a"],
|
|
240
|
+
"engine/graphics/ecs/water/WaterSerializationAdapter.js": ["color.a", "shoreColor.a"],
|
|
241
|
+
|
|
242
|
+
"engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.js": [
|
|
243
|
+
"flags", "valueMax", "valueMin"
|
|
244
|
+
],
|
|
245
|
+
|
|
246
|
+
// flag fields dropped wholesale
|
|
247
|
+
"engine/grid/grid2transform/GridPosition2TransformSerializationAdapter.js": ["flags"],
|
|
248
|
+
"engine/ecs/transform/TransformSerializationAdapter.js": ["flags"],
|
|
249
|
+
"engine/graphics/ecs/mesh/serialization/MeshSerializationAdapter.js": ["flags"],
|
|
250
|
+
|
|
251
|
+
// a behaviour tree restored mid-run resumes from the wrong child
|
|
252
|
+
"engine/intelligence/behavior/composite/SequenceBehaviorSerializationAdapter.js": [
|
|
253
|
+
"__currentBehaviourIndex", "__currentBehaviourState"
|
|
254
|
+
],
|
|
255
|
+
"engine/intelligence/behavior/ecs/BehaviorComponentSerializationAdapter.js": ["__behavior"],
|
|
256
|
+
|
|
257
|
+
// the event it is waiting for is dropped, so it waits forever
|
|
258
|
+
"engine/intelligence/behavior/ecs/WaitForEventBehaviorSerializationAdapter.js": [
|
|
259
|
+
"detected", "entity", "target"
|
|
260
|
+
],
|
|
261
|
+
|
|
262
|
+
"engine/sound/simulation/ecs/AcousticVolumeSerializationAdapter.js": ["shape.radius"]
|
|
263
|
+
};
|
|
264
|
+
```
|
|
265
|
+
|
|
266
|
+
Worth separating when these are worked through:
|
|
267
|
+
|
|
268
|
+
* **Deliberate and harmless** — `Light.color.a`: `Color.toUint()` is documented RGB-only. A light has no
|
|
269
|
+
meaningful alpha.
|
|
270
|
+
* **Deliberate and questionable** — `Water.color.a`, `Water.shoreColor.a`: same encoding, but water's alpha
|
|
271
|
+
might mean something. A call for whoever owns that shader.
|
|
272
|
+
* **Straightforwardly broken** — `flags` dropped wholesale on `Transform`, `Mesh` and
|
|
273
|
+
`GridPosition2Transform`; `SequenceBehavior` resuming from the wrong child; `BehaviorComponent` losing its
|
|
274
|
+
behaviour entirely; `WaitForEventBehavior` restored on the wrong side of the event it waits for, so it waits
|
|
275
|
+
forever; `AcousticVolume` losing its radius.
|
|
@@ -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":"AA+KA;;;;;;;;GAQG;AACH,iGAyGC"}
|
|
@@ -152,16 +152,26 @@ import {
|
|
|
152
152
|
import {
|
|
153
153
|
PathFollowerSerializationUpgrader_3_4
|
|
154
154
|
} from "../../navigation/ecs/path_following/PathFollowerSerializationUpgrader_3_4.js";
|
|
155
|
-
import { SoundEmitter } from "../../sound/
|
|
156
|
-
import { SoundEmitterSerializationAdapter } from "../../sound/
|
|
155
|
+
import { SoundEmitter } from "../../sound/sopra/legacy/SoundEmitter.js";
|
|
156
|
+
import { SoundEmitterSerializationAdapter } from "../../sound/sopra/legacy/SoundEmitterSerializationAdapter.js";
|
|
157
157
|
import {
|
|
158
158
|
SoundEmitterSerializationUpgrader_0_1
|
|
159
|
-
} from "../../sound/
|
|
159
|
+
} from "../../sound/sopra/legacy/SoundEmitterSerializationUpgrader_0_1.js";
|
|
160
160
|
import {
|
|
161
161
|
SoundEmitterSerializationUpgrader_1_2
|
|
162
|
-
} from "../../sound/
|
|
163
|
-
import { SoundControllerSerializationAdapter } from "../../sound/
|
|
162
|
+
} from "../../sound/sopra/legacy/SoundEmitterSerializationUpgrader_1_2.js";
|
|
163
|
+
import { SoundControllerSerializationAdapter } from "../../sound/sopra/legacy/SoundController.js";
|
|
164
164
|
import { SoundListenerSerializationAdapter } from "../../sound/ecs/SoundListener.js";
|
|
165
|
+
import { AudioEmitterSerializationAdapter } from "../../sound/ecs/audio/AudioEmitterSerializationAdapter.js";
|
|
166
|
+
import {
|
|
167
|
+
AudioEventTriggerSerializationAdapter
|
|
168
|
+
} from "../../sound/ecs/trigger/AudioEventTriggerSerializationAdapter.js";
|
|
169
|
+
import {
|
|
170
|
+
populateAcousticSerializationRegistry
|
|
171
|
+
} from "../../sound/simulation/serialization/populateAcousticSerializationRegistry.js";
|
|
172
|
+
import {
|
|
173
|
+
populateSopraSerializationRegistry
|
|
174
|
+
} from "../../sound/sopra/serialization/populateSopraSerializationRegistry.js";
|
|
165
175
|
|
|
166
176
|
/**
|
|
167
177
|
* Registers the serialization adapters and upgraders for every engine-side component type.
|
|
@@ -174,6 +184,15 @@ import { SoundListenerSerializationAdapter } from "../../sound/ecs/SoundListener
|
|
|
174
184
|
*/
|
|
175
185
|
export function populateEngineSerializationRegistry(registry) {
|
|
176
186
|
|
|
187
|
+
// Value types the component adapters below reach through the engine's BinaryObjectSerializationAdapter,
|
|
188
|
+
// which is built from THIS registry: an AudioEmitter's EventDescription owns a polymorphic clip graph
|
|
189
|
+
// (sample / sequence / random / switch / blend) plus effects, and the acoustic components carry
|
|
190
|
+
// materials / media / directivity. Without these the object adapter cannot name those types and an
|
|
191
|
+
// AudioEmitter cannot be written at all. Registered first so a host that also calls one of them gets the
|
|
192
|
+
// engine's registration rather than a duplicate warning.
|
|
193
|
+
populateSopraSerializationRegistry(registry);
|
|
194
|
+
populateAcousticSerializationRegistry(registry);
|
|
195
|
+
|
|
177
196
|
registry.registerAdapters([
|
|
178
197
|
new TransformSerializationAdapter(),
|
|
179
198
|
new NameSerializationAdapter(),
|
|
@@ -185,6 +204,8 @@ export function populateEngineSerializationRegistry(registry) {
|
|
|
185
204
|
new SoundEmitterSerializationAdapter(),
|
|
186
205
|
new SoundControllerSerializationAdapter(),
|
|
187
206
|
new SoundListenerSerializationAdapter(),
|
|
207
|
+
new AudioEmitterSerializationAdapter(),
|
|
208
|
+
new AudioEventTriggerSerializationAdapter(),
|
|
188
209
|
new AnimationSerializationAdapter(),
|
|
189
210
|
new SGMeshSerializationAdapter(),
|
|
190
211
|
new TopDownCameraControllerSerializationAdapter(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hideEntityGracefully.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/util/hideEntityGracefully.js"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hideEntityGracefully.d.ts","sourceRoot":"","sources":["../../../../../src/engine/ecs/util/hideEntityGracefully.js"],"names":[],"mappings":"AA2JA;;;;;;GAMG;AACH,8GAFY,MAAM,CAmCjB"}
|