@woosh/meep-engine 2.165.0 → 2.165.2

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.
Files changed (205) hide show
  1. package/README.md +137 -108
  2. package/build/bundle-worker-image-decoder.js +1 -1
  3. package/package.json +1 -1
  4. package/samples/generation/SampleGenerator0.js +3 -3
  5. package/samples/generation/filters/SampleGroundMoistureFilter.js +63 -56
  6. package/samples/generation/filters/SampleNoise20_0.js +6 -1
  7. package/samples/generation/themes/SampleTheme0.js +47 -47
  8. package/src/core/color/YCoCg/rgb_to_ycocg.d.ts +17 -0
  9. package/src/core/color/YCoCg/rgb_to_ycocg.d.ts.map +1 -0
  10. package/src/core/color/YCoCg/rgb_to_ycocg.js +20 -0
  11. package/src/core/color/YCoCg/ycocg_to_rgb.d.ts +14 -0
  12. package/src/core/color/YCoCg/ycocg_to_rgb.d.ts.map +1 -0
  13. package/src/core/color/YCoCg/ycocg_to_rgb.js +17 -0
  14. package/src/engine/REVIEW_2026_07_03.md +211 -0
  15. package/src/engine/animation/curve/actionProcessorOperations/curveActions.d.ts.map +1 -1
  16. package/src/engine/animation/curve/actionProcessorOperations/curveActions.js +3 -2
  17. package/src/engine/animation/curve/compression/sample_animation_curve_to_float_array.js +1 -1
  18. package/src/engine/animation/keyed2/AnimationTrackPlayback.d.ts.map +1 -1
  19. package/src/engine/animation/keyed2/AnimationTrackPlayback.js +3 -1
  20. package/src/engine/asset/loaders/image/png/filter/png_filter_unFilterNone.js +2 -2
  21. package/src/engine/asset/preloader/AssetPreloader.d.ts.map +1 -1
  22. package/src/engine/asset/preloader/AssetPreloader.js +6 -0
  23. package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.d.ts.map +1 -1
  24. package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.js +5 -2
  25. package/src/engine/ecs/Entity.js +1 -1
  26. package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
  27. package/src/engine/ecs/EntityComponentDataset.js +1 -0
  28. package/src/engine/ecs/EntityManager.d.ts.map +1 -1
  29. package/src/engine/ecs/EntityManager.js +12 -8
  30. package/src/engine/ecs/EntityObserver.js +1 -1
  31. package/src/engine/ecs/System.d.ts.map +1 -1
  32. package/src/engine/ecs/System.js +4 -0
  33. package/src/engine/ecs/animation/AnimationClip.js +1 -1
  34. package/src/engine/ecs/attachment/AttachmentSystem.js +2 -2
  35. package/src/engine/ecs/attachment/TransformAttachmentBinding.d.ts.map +1 -1
  36. package/src/engine/ecs/attachment/TransformAttachmentBinding.js +11 -0
  37. package/src/engine/ecs/fow/FogOfWar.js +2 -2
  38. package/src/engine/ecs/fow/shader/screenSpaceFogOfWarShader.d.ts.map +1 -1
  39. package/src/engine/ecs/fow/shader/screenSpaceFogOfWarShader.js +27 -9
  40. package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.js +1 -1
  41. package/src/engine/ecs/gui/position/ViewportPosition.d.ts +3 -1
  42. package/src/engine/ecs/gui/position/ViewportPosition.d.ts.map +1 -1
  43. package/src/engine/ecs/gui/position/ViewportPosition.js +4 -1
  44. package/src/engine/ecs/storage/binary/BinarySerializationRegistry.d.ts +10 -0
  45. package/src/engine/ecs/storage/binary/BinarySerializationRegistry.d.ts.map +1 -1
  46. package/src/engine/ecs/storage/binary/BinarySerializationRegistry.js +43 -0
  47. package/src/engine/ecs/storage/binary/object-v2/BinaryObjectDeSerializer.d.ts +93 -0
  48. package/src/engine/ecs/storage/binary/object-v2/BinaryObjectDeSerializer.d.ts.map +1 -0
  49. package/src/engine/ecs/storage/binary/object-v2/BinaryObjectDeSerializer.js +315 -0
  50. package/src/engine/ecs/storage/binary/object-v2/BinaryObjectSerializer.d.ts +48 -0
  51. package/src/engine/ecs/storage/binary/object-v2/BinaryObjectSerializer.d.ts.map +1 -0
  52. package/src/engine/ecs/storage/binary/object-v2/BinaryObjectSerializer.js +331 -0
  53. package/src/engine/ecs/storage/binary/object-v2/DESIGN.md +199 -0
  54. package/src/engine/ecs/storage/binary/object-v2/ObjectBinaryFormat.d.ts +53 -0
  55. package/src/engine/ecs/storage/binary/object-v2/ObjectBinaryFormat.d.ts.map +1 -0
  56. package/src/engine/ecs/storage/binary/object-v2/ObjectBinaryFormat.js +57 -0
  57. package/src/engine/ecs/storage/binary/object-v2/ObjectSerializationAdapter.d.ts +53 -0
  58. package/src/engine/ecs/storage/binary/object-v2/ObjectSerializationAdapter.d.ts.map +1 -0
  59. package/src/engine/ecs/storage/binary/object-v2/ObjectSerializationAdapter.js +56 -0
  60. package/src/engine/ecs/storage/binary/object-v2/README.md +110 -0
  61. package/src/engine/ecs/storage/binary/object-v2/objectStringCodec.d.ts +13 -0
  62. package/src/engine/ecs/storage/binary/object-v2/objectStringCodec.d.ts.map +1 -0
  63. package/src/engine/ecs/storage/binary/object-v2/objectStringCodec.js +48 -0
  64. package/src/engine/ecs/storage/binary/object-v2/serializerTestHarness.d.ts +29 -0
  65. package/src/engine/ecs/storage/binary/object-v2/serializerTestHarness.d.ts.map +1 -0
  66. package/src/engine/ecs/storage/binary/object-v2/serializerTestHarness.js +44 -0
  67. package/src/engine/ecs/system_validate_class.d.ts.map +1 -1
  68. package/src/engine/ecs/system_validate_class.js +9 -2
  69. package/src/engine/graphics/camera/makeScreenScissorFrustum.d.ts.map +1 -1
  70. package/src/engine/graphics/camera/makeScreenScissorFrustum.js +11 -10
  71. package/src/engine/graphics/canvas/canvas2d_draw_linear_scale.d.ts.map +1 -1
  72. package/src/engine/graphics/canvas/canvas2d_draw_linear_scale.js +3 -1
  73. package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/readAnimationGraphDefinitionFromJSON.d.ts +1 -1
  74. package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/readAnimationGraphDefinitionFromJSON.d.ts.map +1 -1
  75. package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/readAnimationGraphDefinitionFromJSON.js +2 -2
  76. package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/writeAnimationGraphDefinitionToJSON.d.ts.map +1 -1
  77. package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/writeAnimationGraphDefinitionToJSON.js +2 -0
  78. package/src/engine/graphics/ecs/camera/Camera.d.ts.map +1 -1
  79. package/src/engine/graphics/ecs/camera/Camera.js +4 -0
  80. package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.d.ts.map +1 -1
  81. package/src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.js +7 -2
  82. package/src/engine/graphics/ecs/camera/set_camera_aspect_ratio.js +1 -1
  83. package/src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.d.ts.map +1 -1
  84. package/src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.js +4 -1
  85. package/src/engine/graphics/ecs/light/binding/LightBinding.js +2 -2
  86. package/src/engine/graphics/ecs/mesh/MeshSystem.js +1 -1
  87. package/src/engine/graphics/ecs/mesh/SkeletonUtils.js +1 -1
  88. package/src/engine/graphics/ecs/mesh-v2/sg_hierarchy_compute_bounding_box_via_parent_entity.js +1 -1
  89. package/src/engine/graphics/ecs/water/WaterSystem.d.ts +6 -0
  90. package/src/engine/graphics/ecs/water/WaterSystem.d.ts.map +1 -1
  91. package/src/engine/graphics/ecs/water/WaterSystem.js +12 -1
  92. package/src/engine/graphics/geometry/buffered/ensureGeometryBoundingSphere.js +1 -1
  93. package/src/engine/graphics/geometry/buffered/query/bvh32_geometry_nearest.d.ts.map +1 -1
  94. package/src/engine/graphics/geometry/buffered/query/bvh32_geometry_nearest.js +0 -15
  95. package/src/engine/graphics/geometry/instancing/InstancedMeshGroup.js +10 -10
  96. package/src/engine/graphics/geometry/optimization/merge/merge_geometry_hierarchy.js +1 -1
  97. package/src/engine/graphics/material/SplatMaterial.js +1 -1
  98. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
  99. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js +3 -2
  100. package/src/engine/graphics/particles/particular/engine/emitter/ParticlePool.js +1 -1
  101. package/src/engine/graphics/particles/particular/group/ParticleGroup.d.ts.map +1 -1
  102. package/src/engine/graphics/particles/particular/group/ParticleGroup.js +3 -2
  103. package/src/engine/graphics/render/forward_plus/plugin/ForwardPlusRenderingPlugin.js +1 -1
  104. package/src/engine/graphics/sh3/gi/material/MaterialTransformer.d.ts +1 -8
  105. package/src/engine/graphics/sh3/gi/material/MaterialTransformer.d.ts.map +1 -1
  106. package/src/engine/graphics/sh3/gi/material/MaterialTransformer.js +2 -14
  107. package/src/engine/graphics/sh3/gi/material/ProbeResolutionStage.d.ts +9 -0
  108. package/src/engine/graphics/sh3/gi/material/ProbeResolutionStage.d.ts.map +1 -0
  109. package/src/engine/graphics/sh3/gi/material/ProbeResolutionStage.js +14 -0
  110. package/src/engine/graphics/sh3/lightmap/bake_lightmap_for_scene.d.ts.map +1 -1
  111. package/src/engine/graphics/sh3/lightmap/bake_lightmap_for_scene.js +4 -1
  112. package/src/engine/graphics/sh3/lpg/LightProbeGrid.d.ts +69 -0
  113. package/src/engine/graphics/sh3/lpg/LightProbeGrid.d.ts.map +1 -0
  114. package/src/engine/graphics/sh3/lpg/LightProbeGrid.js +173 -0
  115. package/src/engine/graphics/sh3/lpg/LightProbeGridBaker.d.ts +24 -0
  116. package/src/engine/graphics/sh3/lpg/LightProbeGridBaker.d.ts.map +1 -0
  117. package/src/engine/graphics/sh3/lpg/LightProbeGridBaker.js +88 -0
  118. package/src/engine/graphics/sh3/lpg/build_light_probe_grid_for_scene.d.ts +20 -0
  119. package/src/engine/graphics/sh3/lpg/build_light_probe_grid_for_scene.d.ts.map +1 -0
  120. package/src/engine/graphics/sh3/lpg/build_light_probe_grid_for_scene.js +79 -0
  121. package/src/engine/graphics/sh3/lpg/light_probe_grid_obtain_storage_cached.d.ts +11 -0
  122. package/src/engine/graphics/sh3/lpg/light_probe_grid_obtain_storage_cached.d.ts.map +1 -0
  123. package/src/engine/graphics/sh3/lpg/light_probe_grid_obtain_storage_cached.js +84 -0
  124. package/src/engine/graphics/sh3/lpg/light_probe_grid_textures.d.ts +29 -0
  125. package/src/engine/graphics/sh3/lpg/light_probe_grid_textures.d.ts.map +1 -0
  126. package/src/engine/graphics/sh3/lpg/light_probe_grid_textures.js +160 -0
  127. package/src/engine/graphics/sh3/lpg/material/LightProbeGridMaterialTransformer.d.ts +23 -0
  128. package/src/engine/graphics/sh3/lpg/material/LightProbeGridMaterialTransformer.d.ts.map +1 -0
  129. package/src/engine/graphics/sh3/lpg/material/LightProbeGridMaterialTransformer.js +228 -0
  130. package/src/engine/graphics/sh3/lpg/material/chunk_lpg_get_irradiance_at.d.ts +2 -0
  131. package/src/engine/graphics/sh3/lpg/material/chunk_lpg_get_irradiance_at.d.ts.map +1 -0
  132. package/src/engine/graphics/sh3/lpg/material/chunk_lpg_get_irradiance_at.js +24 -0
  133. package/src/engine/graphics/sh3/lpg/material/common.d.ts +3 -0
  134. package/src/engine/graphics/sh3/lpg/material/common.d.ts.map +1 -0
  135. package/src/engine/graphics/sh3/lpg/material/common.js +73 -0
  136. package/src/engine/graphics/sh3/lpg/material/space_fragment/build_fragment_shader.d.ts +6 -0
  137. package/src/engine/graphics/sh3/lpg/material/space_fragment/build_fragment_shader.d.ts.map +1 -0
  138. package/src/engine/graphics/sh3/lpg/material/space_fragment/build_fragment_shader.js +42 -0
  139. package/src/engine/graphics/sh3/lpg/material/space_fragment/build_vertex_shader.d.ts +6 -0
  140. package/src/engine/graphics/sh3/lpg/material/space_fragment/build_vertex_shader.d.ts.map +1 -0
  141. package/src/engine/graphics/sh3/lpg/material/space_fragment/build_vertex_shader.js +49 -0
  142. package/src/engine/graphics/sh3/lpg/material/space_fragment/space_fragment_transform_shader.d.ts +9 -0
  143. package/src/engine/graphics/sh3/lpg/material/space_fragment/space_fragment_transform_shader.d.ts.map +1 -0
  144. package/src/engine/graphics/sh3/lpg/material/space_fragment/space_fragment_transform_shader.js +12 -0
  145. package/src/engine/graphics/sh3/lpg/material/space_vertex/build_fragment_shader.d.ts +6 -0
  146. package/src/engine/graphics/sh3/lpg/material/space_vertex/build_fragment_shader.d.ts.map +1 -0
  147. package/src/engine/graphics/sh3/lpg/material/space_vertex/build_fragment_shader.js +30 -0
  148. package/src/engine/graphics/sh3/lpg/material/space_vertex/build_vertex_shader.d.ts +6 -0
  149. package/src/engine/graphics/sh3/lpg/material/space_vertex/build_vertex_shader.d.ts.map +1 -0
  150. package/src/engine/graphics/sh3/lpg/material/space_vertex/build_vertex_shader.js +41 -0
  151. package/src/engine/graphics/sh3/lpg/material/space_vertex/preamble.frag.d.ts +3 -0
  152. package/src/engine/graphics/sh3/lpg/material/space_vertex/preamble.frag.d.ts.map +1 -0
  153. package/src/engine/graphics/sh3/lpg/material/space_vertex/preamble.frag.js +15 -0
  154. package/src/engine/graphics/sh3/lpg/material/space_vertex/preamble.vert.d.ts +3 -0
  155. package/src/engine/graphics/sh3/lpg/material/space_vertex/preamble.vert.d.ts.map +1 -0
  156. package/src/engine/graphics/sh3/lpg/material/space_vertex/preamble.vert.js +9 -0
  157. package/src/engine/graphics/sh3/lpg/material/space_vertex/space_vertex_transform_shader.d.ts +9 -0
  158. package/src/engine/graphics/sh3/lpg/material/space_vertex/space_vertex_transform_shader.d.ts.map +1 -0
  159. package/src/engine/graphics/sh3/lpg/material/space_vertex/space_vertex_transform_shader.js +12 -0
  160. package/src/engine/graphics/sh3/lpg/serialization/LightProbeGridSerializationAdapter.d.ts +20 -0
  161. package/src/engine/graphics/sh3/lpg/serialization/LightProbeGridSerializationAdapter.d.ts.map +1 -0
  162. package/src/engine/graphics/sh3/lpg/serialization/LightProbeGridSerializationAdapter.js +59 -0
  163. package/src/engine/graphics/sh3/path_tracer/material/MaterialConverter.d.ts.map +1 -1
  164. package/src/engine/graphics/sh3/path_tracer/material/MaterialConverter.js +8 -0
  165. package/src/engine/graphics/sh3/prototypeLightProbeGrid.d.ts +2 -0
  166. package/src/engine/graphics/sh3/prototypeLightProbeGrid.d.ts.map +1 -0
  167. package/src/engine/graphics/sh3/prototypeLightProbeGrid.js +170 -0
  168. package/src/engine/graphics/texture/atlas/AtlasLookupTexture.js +1 -1
  169. package/src/engine/graphics/texture/atlas/CachingTextureAtlas.js +1 -1
  170. package/src/engine/graphics/texture/sampler/resize/sampler2d_scale_down_lanczos.js +1 -1
  171. package/src/engine/graphics/texture/sampler/sampler2d_copy_with_margins.js +3 -3
  172. package/src/engine/graphics/util/build_max_height_pyramid.d.ts.map +1 -1
  173. package/src/engine/graphics/util/build_max_height_pyramid.js +5 -2
  174. package/src/engine/grid/transform2grid/Transform2GridPositionSystem.js +1 -1
  175. package/src/engine/input/ecs/components/InputBinding.d.ts +7 -1
  176. package/src/engine/input/ecs/components/InputBinding.d.ts.map +1 -1
  177. package/src/engine/input/ecs/components/InputBinding.js +8 -1
  178. package/src/engine/input/ecs/systems/InputControllerSystem.js +1 -1
  179. package/src/engine/intelligence/behavior/decorator/OverrideContextBehavior.d.ts +2 -1
  180. package/src/engine/intelligence/behavior/decorator/OverrideContextBehavior.d.ts.map +1 -1
  181. package/src/engine/intelligence/behavior/decorator/OverrideContextBehavior.js +6 -2
  182. package/src/engine/intelligence/behavior/selector/WeightedElement.js +1 -1
  183. package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts.map +1 -1
  184. package/src/engine/knowledge/database/StaticKnowledgeDatabase.js +2 -4
  185. package/src/engine/logging/elastic/ElasticSearchLogger.d.ts +1 -2
  186. package/src/engine/logging/elastic/ElasticSearchLogger.d.ts.map +1 -1
  187. package/src/engine/logging/elastic/ElasticSearchLogger.js +14 -10
  188. package/src/engine/navigation/ecs/path_following/PathFollower.js +1 -1
  189. package/src/engine/navigation/grid/find_path_on_grid_astar.d.ts.map +1 -1
  190. package/src/engine/navigation/grid/find_path_on_grid_astar.js +5 -2
  191. package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts +1 -1
  192. package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts.map +1 -1
  193. package/src/engine/network/orchestrator/ServerAuthoritativeServer.js +17 -0
  194. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +4 -4
  195. package/src/engine/physics/fluid/ecs/FluidSystem.d.ts +3 -3
  196. package/src/engine/scene/SceneManager.d.ts.map +1 -1
  197. package/src/engine/scene/SceneManager.js +4 -2
  198. package/src/engine/simulation/Ticker.d.ts.map +1 -1
  199. package/src/engine/simulation/Ticker.js +9 -0
  200. package/src/engine/sound/ecs/emitter/SoundEmitterSystem.d.ts.map +1 -1
  201. package/src/engine/sound/ecs/emitter/SoundEmitterSystem.js +6 -1
  202. package/src/engine/sound/material/concrete/json/serializeSoundMaterialToJSON.js +1 -1
  203. package/src/generation/theme/ThemeEngine.d.ts +9 -0
  204. package/src/generation/theme/ThemeEngine.d.ts.map +1 -1
  205. package/src/generation/theme/ThemeEngine.js +37 -2
@@ -0,0 +1,44 @@
1
+ import { BinaryBuffer } from "../../../../../core/binary/BinaryBuffer.js";
2
+ import { ModuleRegistry } from "../../../../../core/model/ModuleRegistry.js";
3
+ import { BinarySerializationRegistry } from "../BinarySerializationRegistry.js";
4
+ import { BinaryObjectDeSerializer } from "./BinaryObjectDeSerializer.js";
5
+ import { BinaryObjectSerializer } from "./BinaryObjectSerializer.js";
6
+
7
+ /**
8
+ * Serialize `value` with a serializer built on `registry`, then deserialize it with a deserializer built on
9
+ * `registry` + `modules`. Shared by the object-graph specs.
10
+ *
11
+ * @template T
12
+ * @param {T} value
13
+ * @param {{registry?: BinarySerializationRegistry, modules?: ModuleRegistry}} [options]
14
+ * @returns {T}
15
+ */
16
+ export function roundTrip(value, { registry = new BinarySerializationRegistry(), modules = new ModuleRegistry() } = {}) {
17
+ const buffer = serialize(value, registry);
18
+
19
+ buffer.position = 0;
20
+
21
+ return new BinaryObjectDeSerializer(registry, modules).deserialize(buffer);
22
+ }
23
+
24
+ /**
25
+ * @param {*} value
26
+ * @param {BinarySerializationRegistry} [registry]
27
+ * @returns {BinaryBuffer} rewound to position 0
28
+ */
29
+ export function serialize(value, registry = new BinarySerializationRegistry()) {
30
+ const buffer = new BinaryBuffer();
31
+
32
+ new BinaryObjectSerializer(registry).serialize(buffer, value);
33
+
34
+ return buffer;
35
+ }
36
+
37
+ /**
38
+ * @param {*} value
39
+ * @param {BinarySerializationRegistry} [registry]
40
+ * @returns {number} byte length of the serialized form
41
+ */
42
+ export function serializedSize(value, registry = new BinarySerializationRegistry()) {
43
+ return serialize(value, registry).position;
44
+ }
@@ -1 +1 @@
1
- {"version":3,"file":"system_validate_class.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/system_validate_class.js"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,qFA0FC;uBAjGsB,aAAa"}
1
+ {"version":3,"file":"system_validate_class.d.ts","sourceRoot":"","sources":["../../../../src/engine/ecs/system_validate_class.js"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,qFAiGC;uBAxGsB,aAAa"}
@@ -60,8 +60,15 @@ export function system_validate_class(system) {
60
60
 
61
61
  const numDependencies = dependencies.length;
62
62
 
63
- if (numDependencies < 1) {
64
- throw new Error(`A system must declare at least one dependency`);
63
+ if (numDependencies === 0) {
64
+ // no dependencies means no entity tuple is observed, so 'link'/'unlink' can never be invoked
65
+ if (system.link !== System.prototype.link) {
66
+ throw new Error(`'link' is overridden, but no dependencies are declared, so it would never be invoked`);
67
+ }
68
+
69
+ if (system.unlink !== System.prototype.unlink) {
70
+ throw new Error(`'unlink' is overridden, but no dependencies are declared, so it would never be invoked`);
71
+ }
65
72
  }
66
73
 
67
74
  if (numDependencies > 1) {
@@ -1 +1 @@
1
- {"version":3,"file":"makeScreenScissorFrustum.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics/camera/makeScreenScissorFrustum.js"],"names":[],"mappings":"AAcA;;;;;GAKG;AACH,8EAFW,MAAM,MAAM,QAyCtB"}
1
+ {"version":3,"file":"makeScreenScissorFrustum.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics/camera/makeScreenScissorFrustum.js"],"names":[],"mappings":"AAcA;;;;;GAKG;AACH,8EAFW,MAAM,MAAM,QA0CtB"}
@@ -25,15 +25,17 @@ export function makeScreenScissorFrustum(output, box, camera) {
25
25
 
26
26
 
27
27
  //convert box from view space into world space
28
- farTL.set(box.x0, box.y0, 1);
29
- farTR.set(box.x1, box.y0, 1);
30
- farBL.set(box.x0, box.y1, 1);
31
- farBR.set(box.x1, box.y1, 1);
32
-
33
- nearTL.set(box.x0, box.y0, -1);
34
- nearTR.set(box.x1, box.y0, -1);
35
- nearBL.set(box.x0, box.y1, -1);
36
- nearBR.set(box.x1, box.y1, -1);
28
+ //AABB2 y0 is the lower (bottom) bound and y1 the upper (top) bound in NDC,
29
+ //so top corners take y1 and bottom corners take y0
30
+ farTL.set(box.x0, box.y1, 1);
31
+ farTR.set(box.x1, box.y1, 1);
32
+ farBL.set(box.x0, box.y0, 1);
33
+ farBR.set(box.x1, box.y0, 1);
34
+
35
+ nearTL.set(box.x0, box.y1, -1);
36
+ nearTR.set(box.x1, box.y1, -1);
37
+ nearBL.set(box.x0, box.y0, -1);
38
+ nearBR.set(box.x1, box.y0, -1);
37
39
 
38
40
  farTL.unproject(camera);
39
41
  farTR.unproject(camera);
@@ -56,5 +58,4 @@ export function makeScreenScissorFrustum(output, box, camera) {
56
58
  planes[4].setFromCoplanarPoints(nearTR, nearBR, nearBL);
57
59
 
58
60
  planes[5].setFromCoplanarPoints(farBR, farTR, farTL);
59
- planes[5].normal.multiplyScalar(-1);
60
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"canvas2d_draw_linear_scale.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics/canvas/canvas2d_draw_linear_scale.js"],"names":[],"mappings":"AAKA;;;;;;;;;;;GAWG;AACH,0IAVW,wBAAwB,QAyDlC"}
1
+ {"version":3,"file":"canvas2d_draw_linear_scale.d.ts","sourceRoot":"","sources":["../../../../../src/engine/graphics/canvas/canvas2d_draw_linear_scale.js"],"names":[],"mappings":"AAKA;;;;;;;;;;;GAWG;AACH,0IAVW,wBAAwB,QA2DlC"}
@@ -41,7 +41,9 @@ export function canvas2d_draw_linear_scale({
41
41
  const direction_x = delta_x / distance;
42
42
  const direction_y = delta_y / distance;
43
43
 
44
- const mark_count = Math.ceil(distance / spacing);
44
+ // largest multiple of `spacing` that still lands on or before the axis end;
45
+ // using ceil would place a final tick past position_1 with an extrapolated value
46
+ const mark_count = Math.floor(distance / spacing);
45
47
 
46
48
  for (let i = 0; i <= mark_count; i++) {
47
49
 
@@ -8,6 +8,6 @@
8
8
  *
9
9
  * @returns {AnimationGraphDefinition}
10
10
  */
11
- export function readAnimationGraphDefinitionFromJSON({ states, transitions, clips, notifications, startingState }: any[]): AnimationGraphDefinition;
11
+ export function readAnimationGraphDefinitionFromJSON({ states, transitions, clips, notifications, startingSate }: any[]): AnimationGraphDefinition;
12
12
  import { AnimationGraphDefinition } from "../AnimationGraphDefinition.js";
13
13
  //# sourceMappingURL=readAnimationGraphDefinitionFromJSON.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"readAnimationGraphDefinitionFromJSON.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/engine/graphics/ecs/animation/animator/graph/definition/serialization/readAnimationGraphDefinitionFromJSON.js"],"names":[],"mappings":"AAQA;;;;;;;;;GASG;AACH,2HAFa,wBAAwB,CAsHpC;yCAhIwC,gCAAgC"}
1
+ {"version":3,"file":"readAnimationGraphDefinitionFromJSON.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/engine/graphics/ecs/animation/animator/graph/definition/serialization/readAnimationGraphDefinitionFromJSON.js"],"names":[],"mappings":"AAQA;;;;;;;;;GASG;AACH,0HAFa,wBAAwB,CAsHpC;yCAhIwC,gCAAgC"}
@@ -22,7 +22,7 @@ export function readAnimationGraphDefinitionFromJSON(
22
22
  transitions = [],
23
23
  clips = [],
24
24
  notifications = [],
25
- startingState = 0
25
+ startingSate = 0
26
26
  }
27
27
  ) {
28
28
  /**
@@ -127,7 +127,7 @@ export function readAnimationGraphDefinitionFromJSON(
127
127
 
128
128
  graph.transitions = __transitions;
129
129
  graph.states = __states;
130
- graph.startingSate = __states[startingState];
130
+ graph.startingSate = __states[startingSate];
131
131
 
132
132
  graph.build();
133
133
 
@@ -1 +1 @@
1
- {"version":3,"file":"writeAnimationGraphDefinitionToJSON.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/engine/graphics/ecs/animation/animator/graph/definition/serialization/writeAnimationGraphDefinitionToJSON.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,0FA8FC"}
1
+ {"version":3,"file":"writeAnimationGraphDefinitionToJSON.d.ts","sourceRoot":"","sources":["../../../../../../../../../../src/engine/graphics/ecs/animation/animator/graph/definition/serialization/writeAnimationGraphDefinitionToJSON.js"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,0FAgGC"}
@@ -70,6 +70,8 @@ export function writeAnimationGraphDefinitionToJSON(graph) {
70
70
 
71
71
  return {
72
72
  type: s.type,
73
+ name: s.name,
74
+ tags: s.tags,
73
75
  motion: {
74
76
  def: clips.indexOf(motion.def),
75
77
  timeScale: motion.timeScale,
@@ -1 +1 @@
1
- {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/camera/Camera.js"],"names":[],"mappings":"AAaA;;GAEG;AACH;IA4II;;;;;;;OAOG;IACH,0BANW,MAAM,GAAC,MAAM,iBAAiB,GAAC,MAAM,kBAAkB,KACvD,MAAM,KACN,MAAM,cACN,OAAO,iBACP,OAAO,QA+CjB;IA/LG;;;OAGG;IACH,UAFU,OAAO,CAEI;IAErB;;;OAGG;IACH,oBAFU,MAAM,CAEc;IAE9B,YAAkB;IAElB;;;OAGG;IACH,KAFU,OAAO,CAES;IAE1B;;;OAGG;IACH,gBAFU,aAAa,cAAc,CAAC,CAE4C;IAElF;;;OAGG;IACH,QAFU,eAAe,CAEc;IAEvC;;;;OAIG;IACH,mBAAqB;IAErB;;;;OAIG;IACH,oBAAsB;IAG1B;;;;OAIG;IACH,mEAEC;IAMD,0BAMC;IAVD,uBAEC;IAcD,2BAMC;IAVD,wBAEC;IAUD,uBAaC;IAED,2DAEC;IAED;;;OAGG;IACH,YAFW,MAAM,QAMhB;IAED;;;OAGG;IACH,SAFa,MAAM,CAQlB;IAED;;;MAKC;IAED,0BAQC;IAyDD;;;OAGG;IACH,kDAUC;IAED;;;;;;;;;;OAUG;IACH,0BATW,OAAO,YACP,MAAM,YACN,MAAM,YACN,MAAM,eACN,MAAM,eACN,MAAM,eACN,MAAM,eACN,MAAM,QAyBhB;IAED;;;;;;OAMG;IACH,kCALW,MAAM,KACN,MAAM,KACN,MAAM,UACN,OAAO,QAqBjB;CACJ;;;;;oBA9RmB,kCAAkC;yBAG7B,wCAAwC;+BAElC,qBAAqB;4BAHxB,2CAA2C;oBADnD,kCAAkC"}
1
+ {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/camera/Camera.js"],"names":[],"mappings":"AAaA;;GAEG;AACH;IAgJI;;;;;;;OAOG;IACH,0BANW,MAAM,GAAC,MAAM,iBAAiB,GAAC,MAAM,kBAAkB,KACvD,MAAM,KACN,MAAM,cACN,OAAO,iBACP,OAAO,QA+CjB;IAnMG;;;OAGG;IACH,UAFU,OAAO,CAEI;IAErB;;;OAGG;IACH,oBAFU,MAAM,CAEc;IAE9B,YAAkB;IAElB;;;OAGG;IACH,KAFU,OAAO,CAES;IAE1B;;;OAGG;IACH,gBAFU,aAAa,cAAc,CAAC,CAE4C;IAElF;;;OAGG;IACH,QAFU,eAAe,CAEc;IAEvC;;;;OAIG;IACH,mBAAqB;IAErB;;;;OAIG;IACH,oBAAsB;IAG1B;;;;OAIG;IACH,mEAEC;IAMD,0BAMC;IAVD,uBAEC;IAcD,2BAMC;IAVD,wBAEC;IAUD,uBAaC;IAED,2DAEC;IAED;;;OAGG;IACH,YAFW,MAAM,QAUhB;IAED;;;OAGG;IACH,SAFa,MAAM,CAQlB;IAED;;;MAKC;IAED,0BAQC;IAyDD;;;OAGG;IACH,kDAUC;IAED;;;;;;;;;;OAUG;IACH,0BATW,OAAO,YACP,MAAM,YACN,MAAM,YACN,MAAM,eACN,MAAM,eACN,MAAM,eACN,MAAM,eACN,MAAM,QAyBhB;IAED;;;;;;OAMG;IACH,kCALW,MAAM,KACN,MAAM,KACN,MAAM,UACN,OAAO,QAqBjB;CACJ;;;;;oBAlSmB,kCAAkC;yBAG7B,wCAAwC;+BAElC,qBAAqB;4BAHxB,2CAA2C;oBADnD,kCAAkC"}
@@ -123,6 +123,10 @@ export class Camera {
123
123
  this.active.copy(other.active);
124
124
  this.projectionType.copy(other.projectionType);
125
125
  this.autoClip = other.autoClip;
126
+ this.autoClipHysteresis = other.autoClipHysteresis;
127
+ this.fov.copy(other.fov);
128
+ this.clip_near = other.clip_near;
129
+ this.clip_far = other.clip_far;
126
130
  }
127
131
 
128
132
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"auto_set_camera_clipping_planes.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.js"],"names":[],"mappings":"AAyBA;;;;;;;GAOG;AACH,6FAsFC"}
1
+ {"version":3,"file":"auto_set_camera_clipping_planes.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/camera/auto_set_camera_clipping_planes.js"],"names":[],"mappings":"AAyBA;;;;;;;GAOG;AACH,6FA2FC"}
@@ -38,6 +38,13 @@ export function auto_set_camera_clipping_planes(c, layers) {
38
38
  return;
39
39
  }
40
40
 
41
+ // Capture the previous frame's tightened planes *before* overwriting them
42
+ // with the outer bounds below — the hysteresis further down compares the new
43
+ // range against them, so sampling after the overwrite would always measure
44
+ // against the full outer span and never let the planes tighten.
45
+ const old_near = camera.near;
46
+ const old_far = camera.far;
47
+
41
48
  // Run visibility against the user-specified outer bounds, not the previous
42
49
  // frame's tightened range — otherwise objects could be culled before we
43
50
  // ever see them and the autoClip would shrink toward nothing.
@@ -97,8 +104,6 @@ export function auto_set_camera_clipping_planes(c, layers) {
97
104
 
98
105
  // Hysteresis: only shrink each plane if the shrink is meaningful relative
99
106
  // to the current span. Loosening always applies immediately.
100
- const old_near = camera.near;
101
- const old_far = camera.far;
102
107
  const old_span = old_far - old_near;
103
108
  const shrink_threshold = HYSTERESIS * old_span;
104
109
 
@@ -22,7 +22,7 @@ export function set_camera_aspect_ratio(camera, width, height) {
22
22
  case Camera.ProjectionType.Orthographic:
23
23
  //use smaller values to get a bit of a "zoom" on the world
24
24
  const w = c.right - c.left;
25
- const h = c.bottom - c.top;
25
+ const h = c.top - c.bottom;
26
26
 
27
27
  const existingAspect = w / h;
28
28
 
@@ -1 +1 @@
1
- {"version":3,"file":"ShadedGeometryHighlightSystem.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.js"],"names":[],"mappings":"AAoGA;IACI;;;;OAIG;IACH,4BAqBC;IAlBG;;;;OAIG;IACH,iBAAsB;IAEtB,2DAA+C;IAE/C,2BAA0C;IAE1C;;;;OAIG;IACH,8BAAiC;IAIrC;;;OAGG;IACH,sDAWC;IAED;;;OAGG;IACH,qDAoBC;CACJ;uBA3KsB,2BAA2B;+BAEnB,iCAAiC;sBAC1C,iBAAiB;AAIvC;IACI;;;OAGG;IACH,oBAFW,6BAA6B,EA+BvC;IA1BG;;;;OAIG;IACH,iBAAsB;IAEtB;;;;OAIG;IACH,eAAkB;IAClB;;;;OAIG;IACH,gBAAmB;IAEnB;;;;OAIG;IACH,uBAAiD;IAGrD,qCAoBC;IAED;;;;;;OAMG;IACH,gBAyBC;CACJ;6CA9F4C,2CAA2C"}
1
+ {"version":3,"file":"ShadedGeometryHighlightSystem.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.js"],"names":[],"mappings":"AAuGA;IACI;;;;OAIG;IACH,4BAqBC;IAlBG;;;;OAIG;IACH,iBAAsB;IAEtB,2DAA+C;IAE/C,2BAA0C;IAE1C;;;;OAIG;IACH,8BAAiC;IAIrC;;;OAGG;IACH,sDAWC;IAED;;;OAGG;IACH,qDAoBC;CACJ;uBA9KsB,2BAA2B;+BAEnB,iCAAiC;sBAC1C,iBAAiB;AAIvC;IACI;;;OAGG;IACH,oBAFW,6BAA6B,EA+BvC;IA1BG;;;;OAIG;IACH,iBAAsB;IAEtB;;;;OAIG;IACH,eAAkB;IAClB;;;;OAIG;IACH,gBAAmB;IAEnB;;;;OAIG;IACH,uBAAiD;IAGrD,qCAoBC;IAED;;;;;;OAMG;IACH,gBA4BC;CACJ;6CAjG4C,2CAA2C"}
@@ -87,7 +87,10 @@ class Supplier extends HighlightRenderElementSource {
87
87
 
88
88
  const object = this.__object_cache.get(sg);
89
89
 
90
- object.matrixWorld.elements = sg.transform;
90
+ // element-copy rather than aliasing: assigning sg.transform (the live ECS
91
+ // Transform.matrix) as `.elements` would let any three.js write into the
92
+ // cached object's matrix corrupt the entity's transform.
93
+ object.matrixWorld.fromArray(sg.transform);
91
94
 
92
95
  const renderElement = this.__pool.create();
93
96
 
@@ -48,7 +48,7 @@ export class LightBinding {
48
48
  link(ctx) {
49
49
  this.__c_transform.position.onChanged.add(this.__apply_position, this);
50
50
  this.__c_transform.rotation.onChanged.add(this.__apply_rotation, this);
51
- this.__c_transform.rotation.onChanged.add(this.__apply_scale, this);
51
+ this.__c_transform.scale.onChanged.add(this.__apply_scale, this);
52
52
 
53
53
  const l = this.__c_light;
54
54
 
@@ -86,7 +86,7 @@ export class LightBinding {
86
86
  unlink(ctx) {
87
87
  this.__c_transform.position.onChanged.remove(this.__apply_position, this);
88
88
  this.__c_transform.rotation.onChanged.remove(this.__apply_rotation, this);
89
- this.__c_transform.rotation.onChanged.remove(this.__apply_scale, this);
89
+ this.__c_transform.scale.onChanged.remove(this.__apply_scale, this);
90
90
 
91
91
  this.__c_light.intensity.onChanged.remove(this.__apply_intensity, this);
92
92
  this.__c_light.color.onChanged.remove(this.__apply_color, this);
@@ -234,7 +234,7 @@ export class MeshSystem extends System {
234
234
  if (!ecd.entityExists(entity)) {
235
235
  //entity was destroyed at some point, visibility set updates asynchronously from ECS dataset updates
236
236
  //skip
237
- return;
237
+ continue;
238
238
  }
239
239
 
240
240
  if (component !== undefined) {
@@ -151,7 +151,7 @@ export function findSkeletonBoneByType(skeleton, boneType) {
151
151
  export function getSkeletonBoneByType(component, boneType) {
152
152
  const skeleton = extractSkeletonFromMeshComponent(component);
153
153
 
154
- if (skeleton === undefined) {
154
+ if (skeleton === undefined || skeleton === null) {
155
155
  return null;
156
156
  }
157
157
 
@@ -16,7 +16,7 @@ export function sg_hierarchy_compute_bounding_box_via_parent_entity(result, root
16
16
  /**
17
17
  * @type {ShadedGeometry}
18
18
  */
19
- const sg = ecd.getComponent(root_entity, ShadedGeometry);
19
+ const sg = ecd.getComponent(entity, ShadedGeometry);
20
20
 
21
21
  if (sg !== undefined) {
22
22
  sg.getBoundingBox(scratch_aabb3);
@@ -30,6 +30,12 @@ declare class WaterSystem extends System<any, any, any, any, any> {
30
30
  * @type {RenderLayer|null}
31
31
  */
32
32
  renderLayer: RenderLayer | null;
33
+ /**
34
+ * preRender hook installed in startup, kept so shutdown can detach it
35
+ * @type {Function|null}
36
+ * @private
37
+ */
38
+ private __preRenderHook;
33
39
  shutdown(entityManager: any): Promise<void>;
34
40
  startup(entityManager: any): Promise<void>;
35
41
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"WaterSystem.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/water/WaterSystem.js"],"names":[],"mappings":";AAaA;IAyBI;;;;OAIG;IACH,sCAYC;IAzCD,+BAAuB;IAEvB;;;OAGG;IACH,cAFU,GAAG,CAEG;IAGhB,cAAY;IAEZ;;;OAGG;IACH,aAFU,KAAK,EAAE,CAEA;IAEjB;;;;OAIG;IACH,qBAAiB;IAWb,+BAA8B;IAE9B;;;OAGG;IACH,aAFU,cAAY,IAAI,CAEH;IAK3B,4CAMC;IAED,2CAiEC;IAED;;;;OAIG;IACH,gBAHW,KAAK,UACL,MAAM,QAsDhB;IAED;;;;OAIG;IACH,kBAHW,KAAK,UACL,MAAM,QAgBhB;IAED,2BAgCC;IAED;;;;;OAKG;IACH,0BAUC;IAED,6BAcC;CACJ;;;;uBApRsB,wBAAwB;kBAM7B,YAAY;oBARV,mCAAmC"}
1
+ {"version":3,"file":"WaterSystem.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/ecs/water/WaterSystem.js"],"names":[],"mappings":";AAaA;IAyBI;;;;OAIG;IACH,sCAmBC;IAhDD,+BAAuB;IAEvB;;;OAGG;IACH,cAFU,GAAG,CAEG;IAGhB,cAAY;IAEZ;;;OAGG;IACH,aAFU,KAAK,EAAE,CAEA;IAEjB;;;;OAIG;IACH,qBAAiB;IAWb,+BAA8B;IAE9B;;;OAGG;IACH,aAFU,cAAY,IAAI,CAEH;IAEvB;;;;OAIG;IACH,wBAA2B;IAK/B,4CASC;IAED,2CAkEC;IAED;;;;OAIG;IACH,gBAHW,KAAK,UACL,MAAM,QAsDhB;IAED;;;;OAIG;IACH,kBAHW,KAAK,UACL,MAAM,QAgBhB;IAED,2BAgCC;IAED;;;;;OAKG;IACH,0BAUC;IAED,6BAcC;CACJ;;;;uBA/RsB,wBAAwB;kBAM7B,YAAY;oBARV,mCAAmC"}
@@ -53,12 +53,22 @@ class WaterSystem extends System {
53
53
  */
54
54
  this.renderLayer = null;
55
55
 
56
+ /**
57
+ * preRender hook installed in startup, kept so shutdown can detach it
58
+ * @type {Function|null}
59
+ * @private
60
+ */
61
+ this.__preRenderHook = null;
62
+
56
63
  }
57
64
 
58
65
 
59
66
  async shutdown(entityManager) {
60
67
 
61
- this.graphicsEngine.size.onChanged.remove(this.setViewportSize);
68
+ if (this.__preRenderHook !== null) {
69
+ this.graphicsEngine.on.preRender.remove(this.__preRenderHook);
70
+ this.__preRenderHook = null;
71
+ }
62
72
 
63
73
  this.graphicsEngine.layers.remove(this.renderLayer);
64
74
 
@@ -128,6 +138,7 @@ class WaterSystem extends System {
128
138
  });
129
139
  }
130
140
 
141
+ this.__preRenderHook = preRenderHook;
131
142
  graphicsEngine.on.preRender.add(preRenderHook);
132
143
  }
133
144
 
@@ -12,7 +12,7 @@ export function ensureGeometryBoundingSphere(geometry) {
12
12
  if (boundingSphere === null || boundingSphere === undefined) {
13
13
  //build up bounding sphere
14
14
  const vector4 = computeGeometryBoundingSphereMiniball(geometry);
15
- geometry.boundingSphere = new ThreeSphere(new ThreeVector3(vector4.x, vector4.y, vector4.z), vector4.w);
15
+ boundingSphere = geometry.boundingSphere = new ThreeSphere(new ThreeVector3(vector4.x, vector4.y, vector4.z), vector4.w);
16
16
  }
17
17
 
18
18
  return boundingSphere;
@@ -1 +1 @@
1
- {"version":3,"file":"bvh32_geometry_nearest.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/geometry/buffered/query/bvh32_geometry_nearest.js"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;GAeG;AACH,8FAXW,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,iBAC1B,MAAM,iBACN,MAAM,0BACN,OAAO,WACP,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,GAAC,SAAS,KACpC,MAAM,KACN,MAAM,KACN,MAAM,iBACN,MAAM,GACJ,OAAO,CAmOnB"}
1
+ {"version":3,"file":"bvh32_geometry_nearest.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/geometry/buffered/query/bvh32_geometry_nearest.js"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;GAeG;AACH,8FAXW,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,iBAC1B,MAAM,iBACN,MAAM,0BACN,OAAO,WACP,MAAM,EAAE,GAAC,UAAU,MAAM,CAAC,GAAC,SAAS,KACpC,MAAM,KACN,MAAM,KACN,MAAM,iBACN,MAAM,GACJ,OAAO,CAoNnB"}
@@ -200,21 +200,6 @@ export function bvh32_geometry_nearest(
200
200
  cz = typed_array_value_denormalize(cz, vertices);
201
201
  }
202
202
 
203
- // denormalize if necessary
204
- if (vertex_data_normalized) {
205
- ax = typed_array_value_denormalize(ax, vertices);
206
- ay = typed_array_value_denormalize(ay, vertices);
207
- az = typed_array_value_denormalize(az, vertices);
208
-
209
- bx = typed_array_value_denormalize(bx, vertices);
210
- by = typed_array_value_denormalize(by, vertices);
211
- bz = typed_array_value_denormalize(bz, vertices);
212
-
213
- cx = typed_array_value_denormalize(cx, vertices);
214
- cy = typed_array_value_denormalize(cy, vertices);
215
- cz = typed_array_value_denormalize(cz, vertices);
216
- }
217
-
218
203
  tri3_closest_point_barycentric(
219
204
  v3_scratch_0, 0,
220
205
  x, y, z,
@@ -544,14 +544,15 @@ export class InstancedMeshGroup {
544
544
  if (this.__attributeTransform !== null) {
545
545
  const oldTransformArray = this.__attributeTransform.array;
546
546
  typed_array_copy(oldTransformArray, newTransformArray);
547
-
548
- if (newTransformArray.length > oldTransformArray.length) {
549
- //fill the rest of the array with 0s
550
- // TODO consider writing identity matrix instead
551
- newTransformArray.fill(0, oldTransformArray.length);
552
- }
553
547
  }
554
548
 
549
+ //reset the unused slots [count, capacity) to defaults on every rebuild,
550
+ //not only when growing — otherwise a shrink/regrow (or growing past a slot
551
+ //that was valid before) leaves stale data that a later transform-only add()
552
+ //would surface
553
+ // TODO consider writing identity matrix instead of 0
554
+ newTransformArray.fill(0, this.count * 16);
555
+
555
556
  //rewrite old attributes
556
557
  this.__attributeTransformArray = newTransformArray;
557
558
  this.__attributeTransform = new InstancedBufferAttribute(newTransformArray, 16);
@@ -568,12 +569,11 @@ export class InstancedMeshGroup {
568
569
  if (this.__attributeColor !== null) {
569
570
  const oldColorArray = this.__attributeColor.array;
570
571
  typed_array_copy(oldColorArray, newColorArray);
571
-
572
- if (newColorArray.length > oldColorArray.length) {
573
- newColorArray.fill(255, oldColorArray.length);
574
- }
575
572
  }
576
573
 
574
+ //reset unused colour slots [count, capacity) to the default every rebuild
575
+ newColorArray.fill(255, this.count * 4);
576
+
577
577
  this.__attributeColorArray = newColorArray;
578
578
  this.__attributeColor = new InstancedBufferAttribute(newColorArray, 4);
579
579
  this.__attributeColor.normalized = true;
@@ -89,7 +89,7 @@ function equal_attribute_structure(a, b) {
89
89
  const b_attribute_index = b_attribute_names.indexOf(a_key);
90
90
 
91
91
  if (b_attribute_index === -1) {
92
- return -1;
92
+ return false;
93
93
  }
94
94
 
95
95
  const a_attribute = a.attributes[a_key];
@@ -129,7 +129,7 @@ export function SplatMaterial(
129
129
  splatMap.wrapS = splatMap.wrapT = ClampToEdgeWrapping;
130
130
  splatMap.minFilter = LinearFilter;
131
131
  splatMap.magFilter = LinearFilter;
132
- uniforms.splatMap.value = splatMap;
132
+ uniforms.splatWeightMap.value = splatMap;
133
133
  }
134
134
 
135
135
  if (diffuseMaps !== void 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"ParticleEmitter.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js"],"names":[],"mappings":"AA2FA;IAyiCI;;;;OAIG;IACH,4BAFa,eAAe,CAM3B;IAjjCD;;OAEG;IACH,IAFU,MAAM,CAEE;IAElB;;;;OAIG;IACH,wBAAoB;IAEpB;;;OAGG;IACH,UAFU,OAAO,CAEe;IAChC,eAA6B;IAC7B,qBAAsC;IAEtC;;;;;OAKG;IACH,qCAA2C;IAE3C;;;;OAIG;IACH,WAFU,MAAM,CAEF;IAEd;;;OAGG;IACH,cAFU,YAAY,GAAC,MAAM,CAEM;IAEnC;;;OAGG;IACH,WAFU,YAAY,GAAC,IAAI,CAEV;IAEjB;;;OAGG;IACH,MAFU,WAAS,IAAI,CAEX;IAEZ;;;OAGG;IACH,mBAFU,SAAS,CAEQ;IAG3B;;;;OAIG;IACH,yBAFU,KAAK,CAE2E;IAE1F;;;OAGG;IACH,yBAFU,KAAK,CAE8B;IAG7C;;;OAGG;IACH,OAFU,MAAM,CAE6F;IAE7G;;;;OAIG;IACH,eAAW;IAGX;;;OAGG;IACH,qBAFU,YAAY,CAEU;IAWhC,wBAIC;IAED;;;;OAIG;IACH,cAHW,MAAM,GAAC,mBAAmB,GACxB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,mBAAmB,GACxB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,mBAAmB,SAC1B,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM,GAAC,mBAAmB,GACxB,OAAO,CAInB;IAED;;OAEG;IACH,gCAaC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;MAeC;IAED,0BAkEC;IAGD;;;OAGG;IACH,gBAFW,aAAa,QASvB;IAED;;;;OAIG;IACH,kDAUC;IAED;;;;OAIG;IACH,iCAHW,aAAa,GACZ,MAAM,CA2CjB;IAED,8BA0DC;IAED,8BAmBC;IAED,2BAmBC;IAED,6BAkBC;IAED;;;OAGG;IACH,uCAHW,MAAM,GACJ,MAAM,CA+BlB;IAED,cAuCC;IAED,mBA6BC;IAuBD,eAOC;IAED;;;;OAIG;IACH,cAHW,eAAe,GACb,OAAO,CAQnB;IAED;;;;OAIG;IACH,qCA2FC;IAED,eAOC;IAED;;;OAGG;IACH,4BAFY,MAAM,CAejB;IAED;;;OAGG;IACH,mBAFW,MAAM,QAMhB;IAiCD;;;;OAIG;IACH,sCA+GC;IAED;;;;OAIG;IACH,qCA6GC;IAED;;;OAGG;IACH,aA4CC;IAGD;;OAEG;IACH,gBAIC;;CAYJ;;;;;;;;;;;;;;;;oBAloCmB,wCAAwC;uBAFrC,2CAA2C;6BAOrC,6CAA6C;6BAqB7C,mBAAmB;0BApCtB,+CAA+C;sBAInD,8CAA8C;6BAYvC,8BAA8B;oCAiBvB,0BAA0B;8BAChC,oBAAoB;uCAF3C,0BAA0B;6CAA1B,0BAA0B;kDAA1B,0BAA0B;4CAA1B,0BAA0B;4CAA1B,0BAA0B;kDAA1B,0BAA0B;wCAA1B,0BAA0B;sCAA1B,0BAA0B;4CAA1B,0BAA0B;AAWjC,yCAKC"}
1
+ {"version":3,"file":"ParticleEmitter.d.ts","sourceRoot":"","sources":["../../../../../../../../src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.js"],"names":[],"mappings":"AA2FA;IA0iCI;;;;OAIG;IACH,4BAFa,eAAe,CAM3B;IAljCD;;OAEG;IACH,IAFU,MAAM,CAEE;IAElB;;;;OAIG;IACH,wBAAoB;IAEpB;;;OAGG;IACH,UAFU,OAAO,CAEe;IAChC,eAA6B;IAC7B,qBAAsC;IAEtC;;;;;OAKG;IACH,qCAA2C;IAE3C;;;;OAIG;IACH,WAFU,MAAM,CAEF;IAEd;;;OAGG;IACH,cAFU,YAAY,GAAC,MAAM,CAEM;IAEnC;;;OAGG;IACH,WAFU,YAAY,GAAC,IAAI,CAEV;IAEjB;;;OAGG;IACH,MAFU,WAAS,IAAI,CAEX;IAEZ;;;OAGG;IACH,mBAFU,SAAS,CAEQ;IAG3B;;;;OAIG;IACH,yBAFU,KAAK,CAE2E;IAE1F;;;OAGG;IACH,yBAFU,KAAK,CAE8B;IAG7C;;;OAGG;IACH,OAFU,MAAM,CAE6F;IAE7G;;;;OAIG;IACH,eAAW;IAGX;;;OAGG;IACH,qBAFU,YAAY,CAEU;IAWhC,wBAIC;IAED;;;;OAIG;IACH,cAHW,MAAM,GAAC,mBAAmB,GACxB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,mBAAmB,GACxB,IAAI,CAIhB;IAED;;;;OAIG;IACH,gBAHW,MAAM,GAAC,mBAAmB,SAC1B,OAAO,QAQjB;IAED;;;;OAIG;IACH,cAHW,MAAM,GAAC,mBAAmB,GACxB,OAAO,CAInB;IAED;;OAEG;IACH,gCAaC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;MAeC;IAED,0BAkEC;IAGD;;;OAGG;IACH,gBAFW,aAAa,QASvB;IAED;;;;OAIG;IACH,kDAUC;IAED;;;;OAIG;IACH,iCAHW,aAAa,GACZ,MAAM,CA2CjB;IAED,8BA0DC;IAED,8BAmBC;IAED,2BAmBC;IAED,6BAkBC;IAED;;;OAGG;IACH,uCAHW,MAAM,GACJ,MAAM,CA+BlB;IAED,cAuCC;IAED,mBA6BC;IAuBD,eAOC;IAED;;;;OAIG;IACH,cAHW,eAAe,GACb,OAAO,CASnB;IAED;;;;OAIG;IACH,qCA2FC;IAED,eAOC;IAED;;;OAGG;IACH,4BAFY,MAAM,CAejB;IAED;;;OAGG;IACH,mBAFW,MAAM,QAMhB;IAiCD;;;;OAIG;IACH,sCA+GC;IAED;;;;OAIG;IACH,qCA6GC;IAED;;;OAGG;IACH,aA4CC;IAGD;;OAEG;IACH,gBAIC;;CAYJ;;;;;;;;;;;;;;;;oBAnoCmB,wCAAwC;uBAFrC,2CAA2C;6BAOrC,6CAA6C;6BAqB7C,mBAAmB;0BApCtB,+CAA+C;sBAInD,8CAA8C;6BAYvC,8BAA8B;oCAiBvB,0BAA0B;8BAChC,oBAAoB;uCAF3C,0BAA0B;6CAA1B,0BAA0B;kDAA1B,0BAA0B;4CAA1B,0BAA0B;4CAA1B,0BAA0B;kDAA1B,0BAA0B;wCAA1B,0BAA0B;sCAA1B,0BAA0B;4CAA1B,0BAA0B;AAWjC,yCAKC"}
@@ -689,8 +689,9 @@ export class ParticleEmitter {
689
689
  return this.blendingMode === other.blendingMode
690
690
  && this.parameters.equals(other.parameters)
691
691
  && this.layers.equals(other.layers)
692
- && this.getFlag(ParticleEmitterFlag.DepthSorting) === other.getFlag(ParticleEmitterFlag.DepthSorting)
693
- && this.getFlag(ParticleEmitterFlag.PreWarm) === other.getFlag(ParticleEmitterFlag.PreWarm);
692
+ // compare the same flag set that #computeHash folds in, otherwise
693
+ // equal objects can hash differently
694
+ && (this.flags & SERIALIZABLE_FLAGS) === (other.flags & SERIALIZABLE_FLAGS);
694
695
  }
695
696
 
696
697
  /**
@@ -504,7 +504,7 @@ export class ParticlePool {
504
504
 
505
505
  // mark for update
506
506
  attribute.needsUpdate = true;
507
- attribute.updateRange.count = n;
507
+ attribute.updateRange.count = n * itemSize;
508
508
  attribute.updateRange.offset = 0;
509
509
  }
510
510
 
@@ -1 +1 @@
1
- {"version":3,"file":"ParticleGroup.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/particles/particular/group/ParticleGroup.js"],"names":[],"mappings":"AAoBA;IACI;;;;;OAKG;IACH,qDAHW,OAAO,EA8CjB;IA1CG,mBAA0B;IAC1B;;;OAGG;IACH,4BAAgB;IAEhB,kBAAoB;IAEpB;;;OAGG;IACH,cAAuC;IAEvC;;;OAGG;IACH,UAAa;IAEb;;;OAGG;IACH,cAAmB;IAEnB,mBAAqB;IACrB,qBAAuB;IAEvB,oCAAqC;IACrC,4BAA8B;IAE9B;;;OAGG;IACH,cAFU,MAAO,SAAS,CAAC,CAEL;IAEtB,sBAAiC;IAKrC;;;;;OAKG;IACH,+BAJW,YAAY,GAAC,YAAY,GAAC,WAAW,GAAC,WAAW,GAAC,UAAU,GAAC,UAAU,GAAC,UAAU,GAAC,SAAS,kBAE1F,wBAAwB,GAAC,eAAe,CAQpD;IAED;;;OAGG;IACH,oBAFa,uBAAuB,GAAC,cAAc,CAUlD;IAED,cAmCC;IAED;;OAEG;IACH,gCAcC;IAED,cASC;IAED;;;OAGG;IACH,UAFa,OAAO,CAanB;IAED,6BAEC;IAED;;;OAGG;IACH,mBAFW,MAAM,QAMhB;IAED;;;OAGG;IACH,UAFa,MAAM,CASlB;IAED;;OAEG;IACH,6BAEC;IAED;;;OAGG;IACH,kCAEC;IAED,uCAIC;IAED;;;;;OAKG;IACH,2DAFW,MAAO,MAAM,CAAC,QAIxB;IAED;;;;;OAKG;IACH,4BAJW,MAAM,kBACN,MAAM,UACN,QAAM,YAAY,GAAC,YAAY,GAAC,UAAU,QAapD;IAED,sEAKC;IAED;;;;OAIG;IACH,wBAHW,MAAM,GACJ,MAAM,CAIlB;IAED,0BAKC;IAED,2CAaC;IAED,8CAkBC;IAED;;;;;OAKG;IACH,2EAFW,MAAM,EAAE,QAclB;IAED;;;;;OAKG;IACH,kFAFW,MAAM,QAahB;IAED;;;;;;;OAOG;IACH,0GAiBC;IAED;;;;;;;;OAQG;IACH,kHAkBC;IAED;;;OAGG;IACH,4BAFW,SAAS,QA+BnB;IAED;;;OAGG;IACH,uBAFW,UAAW,QA+ErB;IAED;;;;OAIG;IACH,4BAHW,MAAM,UACN,MAAM,QAiChB;IAED;;;;OAIG;IACH,aAHW,MAAM,UACN,MAAM,QAahB;IAED;;;OAGG;IACH,0BAKC;IAED,kCAMC;IAED,mCAaC;IAED;;;OAGG;IACH,4BAIC;CACJ;0BAzmByB,gBAAgB;mBAHvB,+BAA+B;yCAD3C,OAAO;gCAAP,OAAO;wCAAP,OAAO;+BAAP,OAAO"}
1
+ {"version":3,"file":"ParticleGroup.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/particles/particular/group/ParticleGroup.js"],"names":[],"mappings":"AAoBA;IACI;;;;;OAKG;IACH,qDAHW,OAAO,EA8CjB;IA1CG,mBAA0B;IAC1B;;;OAGG;IACH,4BAAgB;IAEhB,kBAAoB;IAEpB;;;OAGG;IACH,cAAuC;IAEvC;;;OAGG;IACH,UAAa;IAEb;;;OAGG;IACH,cAAmB;IAEnB,mBAAqB;IACrB,qBAAuB;IAEvB,oCAAqC;IACrC,4BAA8B;IAE9B;;;OAGG;IACH,cAFU,MAAO,SAAS,CAAC,CAEL;IAEtB,sBAAiC;IAKrC;;;;;OAKG;IACH,+BAJW,YAAY,GAAC,YAAY,GAAC,WAAW,GAAC,WAAW,GAAC,UAAU,GAAC,UAAU,GAAC,UAAU,GAAC,SAAS,kBAE1F,wBAAwB,GAAC,eAAe,CAQpD;IAED;;;OAGG;IACH,oBAFa,uBAAuB,GAAC,cAAc,CAUlD;IAED,cAmCC;IAED;;OAEG;IACH,gCAcC;IAED,cASC;IAED;;;OAGG;IACH,UAFa,OAAO,CAanB;IAED,6BAEC;IAED;;;OAGG;IACH,mBAFW,MAAM,QAMhB;IAED;;;OAGG;IACH,UAFa,MAAM,CASlB;IAED;;OAEG;IACH,6BAEC;IAED;;;OAGG;IACH,kCAEC;IAED,uCAIC;IAED;;;;;OAKG;IACH,2DAFW,MAAO,MAAM,CAAC,QAIxB;IAED;;;;;OAKG;IACH,4BAJW,MAAM,kBACN,MAAM,UACN,QAAM,YAAY,GAAC,YAAY,GAAC,UAAU,QAapD;IAED,sEAKC;IAED;;;;OAIG;IACH,wBAHW,MAAM,GACJ,MAAM,CAIlB;IAED,0BAKC;IAED,2CAaC;IAED,8CAkBC;IAED;;;;;OAKG;IACH,2EAFW,MAAM,EAAE,QAclB;IAED;;;;;OAKG;IACH,kFAFW,MAAM,QAahB;IAED;;;;;;;OAOG;IACH,0GAiBC;IAED;;;;;;;;OAQG;IACH,kHAkBC;IAED;;;OAGG;IACH,4BAFW,SAAS,QA+BnB;IAED;;;OAGG;IACH,uBAFW,UAAW,QAgFrB;IAED;;;;OAIG;IACH,4BAHW,MAAM,UACN,MAAM,QAiChB;IAED;;;;OAIG;IACH,aAHW,MAAM,UACN,MAAM,QAahB;IAED;;;OAGG;IACH,0BAKC;IAED,kCAMC;IAED,mCAaC;IAED;;;OAGG;IACH,4BAIC;CACJ;0BA1mByB,gBAAgB;mBAHvB,+BAA+B;yCAD3C,OAAO;gCAAP,OAAO;wCAAP,OAAO;+BAAP,OAAO"}
@@ -462,8 +462,9 @@ export class ParticleGroup {
462
462
  const oldSize = this.size;
463
463
  const newSize = oldSize - deleteCount;
464
464
 
465
- //sort indices
466
- indices.sort();
465
+ //sort indices ascending numerically (the compaction below walks the
466
+ //deleted tail block and assumes ascending numeric order)
467
+ indices.sort((a, b) => a - b);
467
468
 
468
469
  const specAttributes = this.spec.attributes;
469
470
  const numAttributes = specAttributes.length;
@@ -77,7 +77,7 @@ export class ForwardPlusRenderingPlugin extends EnginePlugin {
77
77
  graphics.viewport.size.onChanged.remove(this.updateResolution, this);
78
78
  graphics.pixelRatio.onChanged.remove(this.updateResolution, this);
79
79
 
80
- graphics.on.preRender.remove(this.__prepare_for_render, this);
80
+ graphics.main_view.on.preRender.remove(this.__prepare_for_render, this);
81
81
 
82
82
  // release memory
83
83
  this.__light_manager.dispose();
@@ -1,11 +1,4 @@
1
- /**
2
- * Where should probes be resolved?
3
- */
4
- export type ProbeResolutionStage = number;
5
- export namespace ProbeResolutionStage {
6
- let Vertex: number;
7
- let Fragment: number;
8
- }
1
+ export { ProbeResolutionStage } from "./ProbeResolutionStage.js";
9
2
  export class MaterialTransformer extends AbstractMaterialTransformer {
10
3
  /**
11
4
  *
@@ -1 +1 @@
1
- {"version":3,"file":"MaterialTransformer.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/sh3/gi/material/MaterialTransformer.js"],"names":[],"mappings":";;;mCAqBU,MAAM;;;;;AAchB;IA+II;;;;OAIG;IACH,kDAaC;IA3BD;;;OAGG;IACH,2BAEC;IAdD;;;OAGG;IACH,wBAEC;IA+BD,sBAIC;IAED,sBAiDC;IAED,eAgDC;IAED,4BA2BC;;CACJ;4CAtU2C,0DAA0D"}
1
+ {"version":3,"file":"MaterialTransformer.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/sh3/gi/material/MaterialTransformer.js"],"names":[],"mappings":";AAuBA;IA+II;;;;OAIG;IACH,kDAaC;IA3BD;;;OAGG;IACH,2BAEC;IAdD;;;OAGG;IACH,wBAEC;IA+BD,sBAIC;IAED,sBAiDC;IAED,eAgDC;IAED,4BA2BC;;CACJ;4CA1T2C,0DAA0D"}
@@ -12,25 +12,13 @@ import { octahedral_depth_to_atlas, vector_buffer_to_attribute_texture } from ".
12
12
  import { tetrahedral_mesh_to_texture } from "../tetrahedral_mesh_to_texture.js";
13
13
  import { makeLookupTexture3D } from "./makeLookupTexture3D.js";
14
14
  import { makeOctahedralDepthAtlas } from "./makeOctahedralDepthAtlas.js";
15
+ import { ProbeResolutionStage } from "./ProbeResolutionStage.js";
15
16
  import { space_fragment_transform_shader } from "./space_fragment/space_fragment_transform_shader.js";
16
17
  import { space_vertex_transform_shader } from "./space_vertex/space_vertex_transform_shader.js";
17
18
 
18
19
  const PROPERTY_TRANSFORMER_MARKER = '@light-probe-volume-material-transformer';
19
20
 
20
- /**
21
- * Where should probes be resolved?
22
- * @enum {number}
23
- */
24
- export const ProbeResolutionStage = {
25
- /**
26
- * Cheaper, but less precise
27
- */
28
- Vertex: 0,
29
- /**
30
- * More expensive, necessary for large geometries with few vertices
31
- */
32
- Fragment: 1
33
- };
21
+ export { ProbeResolutionStage } from "./ProbeResolutionStage.js";
34
22
 
35
23
 
36
24
  export class MaterialTransformer extends AbstractMaterialTransformer {
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Where should probes be resolved?
3
+ */
4
+ export type ProbeResolutionStage = number;
5
+ export namespace ProbeResolutionStage {
6
+ let Vertex: number;
7
+ let Fragment: number;
8
+ }
9
+ //# sourceMappingURL=ProbeResolutionStage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProbeResolutionStage.d.ts","sourceRoot":"","sources":["../../../../../../../src/engine/graphics/sh3/gi/material/ProbeResolutionStage.js"],"names":[],"mappings":";;;mCAEU,MAAM"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Where should probes be resolved?
3
+ * @enum {number}
4
+ */
5
+ export const ProbeResolutionStage = {
6
+ /**
7
+ * Cheaper, but less precise
8
+ */
9
+ Vertex: 0,
10
+ /**
11
+ * More expensive, necessary for large geometries with few vertices
12
+ */
13
+ Fragment: 1
14
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"bake_lightmap_for_scene.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/sh3/lightmap/bake_lightmap_for_scene.js"],"names":[],"mappings":"AAuEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH;IAjC2C,GAAG;IAClB,mBAAmB,GAApC,MAAM;IACW,iBAAiB,GAAlC,MAAM;IACW,WAAW,GAA5B,MAAM;IACW,sBAAsB,GAAvC,MAAM;IACW,UAAU,GAA3B,MAAM;IACW,UAAU,GAA3B,MAAM;IACW,OAAO,GAAxB,MAAM;IACW,SAAS,GAA1B,MAAM;IAKW,mBAAmB,GAApC,MAAM;IACW,YAAY,GAA7B,MAAM;IAEW,aAAa,GAA9B,MAAM;IACW,uBAAuB,GAAxC,MAAM;IACW,mBAAmB,GAApC,MAAM;IACW,WAAW,GAA5B,MAAM;IACW,iBAAiB,GAAlC,MAAM;IACW,mBAAmB,GAApC,MAAM;IACW,eAAe,GAAhC,MAAM;IACY,OAAO,GAAzB,OAAO;IACU,mBAAmB,GAApC,MAAM;IACY,KAAK,GAAvB,OAAO;IAKL,SAAS,CAgiBrB;sBArpBqB,4CAA4C"}
1
+ {"version":3,"file":"bake_lightmap_for_scene.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/graphics/sh3/lightmap/bake_lightmap_for_scene.js"],"names":[],"mappings":"AAuEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgEG;AACH;IAjC2C,GAAG;IAClB,mBAAmB,GAApC,MAAM;IACW,iBAAiB,GAAlC,MAAM;IACW,WAAW,GAA5B,MAAM;IACW,sBAAsB,GAAvC,MAAM;IACW,UAAU,GAA3B,MAAM;IACW,UAAU,GAA3B,MAAM;IACW,OAAO,GAAxB,MAAM;IACW,SAAS,GAA1B,MAAM;IAKW,mBAAmB,GAApC,MAAM;IACW,YAAY,GAA7B,MAAM;IAEW,aAAa,GAA9B,MAAM;IACW,uBAAuB,GAAxC,MAAM;IACW,mBAAmB,GAApC,MAAM;IACW,WAAW,GAA5B,MAAM;IACW,iBAAiB,GAAlC,MAAM;IACW,mBAAmB,GAApC,MAAM;IACW,eAAe,GAAhC,MAAM;IACY,OAAO,GAAzB,OAAO;IACU,mBAAmB,GAApC,MAAM;IACY,KAAK,GAAvB,OAAO;IAKL,SAAS,CAmiBrB;sBAxpBqB,4CAA4C"}