@woosh/meep-engine 3.20.0 → 3.21.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.
Files changed (701) hide show
  1. package/build/bundle-worker-terrain.js +1 -1
  2. package/editor/Editor.d.ts.map +1 -1
  3. package/editor/enableEditor.d.ts.map +1 -1
  4. package/editor/particles/effect/ParticleEffectDocument.d.ts.map +1 -1
  5. package/editor/particles/effect/ParticleReferenceSimulation.d.ts.map +1 -1
  6. package/editor/templates/entity_templates.d.ts.map +1 -1
  7. package/editor/tools/v2/GizmoNode.d.ts +1 -1
  8. package/editor/tools/v2/GizmoNode.d.ts.map +1 -1
  9. package/editor/view/ecs/HierarchicalEntityListView.d.ts +3 -3
  10. package/editor/view/ecs/HierarchicalEntityListView.d.ts.map +1 -1
  11. package/editor/view/makeEntityDecorators.d.ts.map +1 -1
  12. package/editor/view/node-graph/NodeGraphClipboard.d.ts.map +1 -1
  13. package/editor/view/tools/ToolSettingsView.d.ts +1 -1
  14. package/editor/view/tools/ToolSettingsView.d.ts.map +1 -1
  15. package/package.json +12 -12
  16. package/src/core/IdPool.d.ts.map +1 -1
  17. package/src/core/binary/32BitEncoder.d.ts.map +1 -1
  18. package/src/core/binary/BinaryBuffer.d.ts +1 -1
  19. package/src/core/binary/BinaryBuffer.d.ts.map +1 -1
  20. package/src/core/bvh2/binary/2/BinaryUint32BVH.d.ts +1 -1
  21. package/src/core/bvh2/binary/2/BinaryUint32BVH.d.ts.map +1 -1
  22. package/src/core/bvh2/bvh3/BVH.d.ts +3 -3
  23. package/src/core/bvh2/bvh3/BVH.d.ts.map +1 -1
  24. package/src/core/bvh2/bvh3/BVH.js +1 -2
  25. package/src/core/bvh2/bvh3/query/bvh_query_user_data_nearest_to_point_filtered.d.ts.map +1 -1
  26. package/src/core/bvh2/traversal/aabb3_detailed_volume_intersection_callback_based.d.ts.map +1 -1
  27. package/src/core/cache/Cache.d.ts +1 -1
  28. package/src/core/cache/Cache.d.ts.map +1 -1
  29. package/src/core/cache/wtinylfu/CacheWTinylfu.d.ts.map +1 -1
  30. package/src/core/collection/list/List.d.ts.map +1 -1
  31. package/src/core/collection/list/ListForwarder.d.ts +1 -1
  32. package/src/core/collection/list/ListForwarder.d.ts.map +1 -1
  33. package/src/core/collection/map/HashMap.d.ts.map +1 -1
  34. package/src/core/collection/set/ArraySet.d.ts.map +1 -1
  35. package/src/core/collection/table/RowFirstTable.d.ts +1 -1
  36. package/src/core/collection/table/RowFirstTable.d.ts.map +1 -1
  37. package/src/core/collection/table/bind/TableRecord.d.ts +1 -1
  38. package/src/core/collection/table/bind/TableRecord.d.ts.map +1 -1
  39. package/src/core/color/Color.d.ts +8 -8
  40. package/src/core/color/Color.d.ts.map +1 -1
  41. package/src/core/color/hsv/hsv_to_rgb_uint8.d.ts.map +1 -1
  42. package/src/core/color/hsv/rgb_to_hsv.d.ts.map +1 -1
  43. package/src/core/events/signal/Signal.d.ts +1 -1
  44. package/src/core/events/signal/Signal.d.ts.map +1 -1
  45. package/src/core/events/signal/signal_aggregate_by_time_window.d.ts.map +1 -1
  46. package/src/core/fsm/simple/SimpleStateMachineDescription.d.ts.map +1 -1
  47. package/src/core/geom/2d/aabb/AABB2.d.ts +4 -4
  48. package/src/core/geom/2d/aabb/AABB2.d.ts.map +1 -1
  49. package/src/core/geom/2d/bvh/BVH2D.d.ts +1 -1
  50. package/src/core/geom/2d/bvh/BVH2D.d.ts.map +1 -1
  51. package/src/core/geom/2d/triangle/tri2_rasterize_conservative.d.ts.map +1 -1
  52. package/src/core/geom/3d/aabb/AABB3.d.ts +6 -6
  53. package/src/core/geom/3d/aabb/AABB3.d.ts.map +1 -1
  54. package/src/core/geom/3d/atlas/atlas_bench_lib.d.ts.map +1 -1
  55. package/src/core/geom/3d/atlas/atlas_compute_charts.d.ts.map +1 -1
  56. package/src/core/geom/3d/atlas/atlas_generate.d.ts.map +1 -1
  57. package/src/core/geom/3d/atlas/pack/atlas_pack_charts.d.ts.map +1 -1
  58. package/src/core/geom/3d/atlas/param/atlas_chart_param_validity.d.ts.map +1 -1
  59. package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_bff.d.ts.map +1 -1
  60. package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_lscm.d.ts.map +1 -1
  61. package/src/core/geom/3d/atlas/segment/atlas_compute_planar_regions.d.ts.map +1 -1
  62. package/src/core/geom/3d/atlas/segment/atlas_segment_charts.d.ts.map +1 -1
  63. package/src/core/geom/3d/atlas/segment/atlas_segment_charts_atomic.d.ts.map +1 -1
  64. package/src/core/geom/3d/mat4/m4_decompose.d.ts +7 -1
  65. package/src/core/geom/3d/mat4/m4_decompose.d.ts.map +1 -1
  66. package/src/core/geom/3d/quadric/Quadric3.d.ts +11 -11
  67. package/src/core/geom/3d/quadric/Quadric3.d.ts.map +1 -1
  68. package/src/core/geom/3d/ray/Ray3.d.ts +3 -3
  69. package/src/core/geom/3d/ray/Ray3.d.ts.map +1 -1
  70. package/src/core/geom/3d/shape/TransformedShape3D.d.ts +1 -1
  71. package/src/core/geom/3d/shape/TransformedShape3D.d.ts.map +1 -1
  72. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.d.ts.map +1 -1
  73. package/src/core/geom/3d/tetrahedra/delaunay/debug/push_boundary_with_validation.d.ts.map +1 -1
  74. package/src/core/geom/3d/tetrahedra/delaunay/debug/validate_cavity_boundary.d.ts.map +1 -1
  75. package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_carve_outside_surface.d.ts.map +1 -1
  76. package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_improve_quality.d.ts.map +1 -1
  77. package/src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.d.ts.map +1 -1
  78. package/src/core/geom/3d/tetrahedra/validate_tetrahedron_neighbourhood.d.ts.map +1 -1
  79. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_to_indexed_geometry.d.ts.map +1 -1
  80. package/src/core/geom/3d/util/aabb3_emit_point_grid.d.ts.map +1 -1
  81. package/src/core/geom/Quaternion.d.ts +4 -4
  82. package/src/core/geom/Quaternion.d.ts.map +1 -1
  83. package/src/core/geom/Vector1.d.ts +1 -1
  84. package/src/core/geom/Vector1.d.ts.map +1 -1
  85. package/src/core/geom/Vector2.d.ts +2 -2
  86. package/src/core/geom/Vector2.d.ts.map +1 -1
  87. package/src/core/geom/Vector3.d.ts +3 -3
  88. package/src/core/geom/Vector3.d.ts.map +1 -1
  89. package/src/core/geom/Vector4.d.ts +4 -4
  90. package/src/core/geom/Vector4.d.ts.map +1 -1
  91. package/src/core/geom/packing/max-rect/find_best_container.d.ts.map +1 -1
  92. package/src/core/geom/vec3/v3_hash.d.ts +12 -0
  93. package/src/core/geom/vec3/v3_hash.d.ts.map +1 -0
  94. package/src/core/geom/vec3/v3_hash.js +19 -0
  95. package/src/core/geom/vec3/v3_lerp.d.ts +3 -1
  96. package/src/core/geom/vec3/v3_lerp.d.ts.map +1 -1
  97. package/src/core/geom/vec3/v3_set.d.ts +14 -0
  98. package/src/core/geom/vec3/v3_set.d.ts.map +1 -0
  99. package/src/core/geom/vec3/v3_set.js +17 -0
  100. package/src/core/geom/vec3/v3_slerp.d.ts +3 -1
  101. package/src/core/geom/vec3/v3_slerp.d.ts.map +1 -1
  102. package/src/core/geom/vec4/v4_equals_array.d.ts +11 -0
  103. package/src/core/geom/vec4/v4_equals_array.d.ts.map +1 -0
  104. package/src/core/geom/vec4/v4_equals_array.js +16 -0
  105. package/src/core/geom/vec4/v4_hash.d.ts +12 -0
  106. package/src/core/geom/vec4/v4_hash.d.ts.map +1 -0
  107. package/src/core/geom/vec4/v4_hash.js +18 -0
  108. package/src/core/geom/vec4/v4_set.d.ts +15 -0
  109. package/src/core/geom/vec4/v4_set.d.ts.map +1 -0
  110. package/src/core/geom/vec4/v4_set.js +19 -0
  111. package/src/core/graph/convert_graph_to_dot_string.d.ts +1 -1
  112. package/src/core/graph/convert_graph_to_dot_string.d.ts.map +1 -1
  113. package/src/core/graph/metis/native/bisection/split_graph_two_way.d.ts.map +1 -1
  114. package/src/core/graph/metis/native/metis_partition_kway.d.ts.map +1 -1
  115. package/src/core/graph/metis/native/refine/fm_kway.d.ts.map +1 -1
  116. package/src/core/json/abstractJSONSerializer.d.ts.map +1 -1
  117. package/src/core/lang/reactive/AbstractCachingParser.d.ts.map +1 -1
  118. package/src/core/localization/Localization.d.ts.map +1 -1
  119. package/src/core/math/linalg/cg/cg_solve.d.ts.map +1 -1
  120. package/src/core/math/noise/create_simplex_noise_2d.d.ts.map +1 -1
  121. package/src/core/math/physics/mie/compute_bhmie_optical_properties.d.ts.map +1 -1
  122. package/src/core/math/physics/mie/compute_mie_particle_properties_rgb.d.ts.map +1 -1
  123. package/src/core/math/random/seededRandom_Mulberry32.d.ts +1 -1
  124. package/src/core/math/random/seededRandom_Mulberry32.d.ts.map +1 -1
  125. package/src/core/model/ModuleRegistry.d.ts.map +1 -1
  126. package/src/core/model/node-graph/visual/layout/layout_assign_coordinates.d.ts.map +1 -1
  127. package/src/core/model/node-graph/visual/layout/layout_node_graph.d.ts.map +1 -1
  128. package/src/core/model/node-graph/visual/layout/layout_order_layers.d.ts.map +1 -1
  129. package/src/core/model/reactive/model/ReactiveExpression.d.ts.map +1 -1
  130. package/src/core/model/validate_enum_schema.d.ts.map +1 -1
  131. package/src/core/process/Future.d.ts.map +1 -1
  132. package/src/core/process/task/Task.d.ts.map +1 -1
  133. package/src/core/process/task/util/countTask.d.ts.map +1 -1
  134. package/src/core/process/task/util/randomCountTask.d.ts.map +1 -1
  135. package/src/core/process/worker/WorkerBuilder.d.ts.map +1 -1
  136. package/src/engine/Clock.d.ts +1 -1
  137. package/src/engine/Clock.d.ts.map +1 -1
  138. package/src/engine/EngineHarness.d.ts.map +1 -1
  139. package/src/engine/animation/Animations.d.ts.map +1 -1
  140. package/src/engine/animation/EntityAnimation.d.ts.map +1 -1
  141. package/src/engine/animation/TransitionFunctions.d.ts.map +1 -1
  142. package/src/engine/animation/Tween.d.ts.map +1 -1
  143. package/src/engine/animation/curve/editor/uploadViaElement.d.ts.map +1 -1
  144. package/src/engine/animation/curve/view/AnimationCurveView.d.ts +1 -1
  145. package/src/engine/animation/curve/view/AnimationCurveView.d.ts.map +1 -1
  146. package/src/engine/asset/AssetManager.d.ts.map +1 -1
  147. package/src/engine/asset/AssetRequest.d.ts.map +1 -1
  148. package/src/engine/asset/loaders/AssetLoader.d.ts.map +1 -1
  149. package/src/engine/asset/loaders/image/avif/encode_image_source.d.ts.map +1 -1
  150. package/src/engine/asset/loaders/image/avif/threaded_image_encoder.d.ts.map +1 -1
  151. package/src/engine/browserInfo.d.ts.map +1 -1
  152. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts +1 -1
  153. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
  154. package/src/engine/control/first-person/abilities/LedgeGrab.js +9 -9
  155. package/src/engine/control/first-person/abilities/Mantle.js +8 -8
  156. package/src/engine/control/first-person/abilities/ScrambleUp.js +2 -2
  157. package/src/engine/control/first-person/abilities/WallJump.js +2 -2
  158. package/src/engine/control/first-person/abilities/WallRun.js +3 -3
  159. package/src/engine/control/first-person/collision/KinematicMover.d.ts +1 -1
  160. package/src/engine/control/first-person/collision/KinematicMover.d.ts.map +1 -1
  161. package/src/engine/control/first-person/collision/KinematicMover.js +19 -46
  162. package/src/engine/control/first-person/sensors/FirstPersonSensors.d.ts +17 -5
  163. package/src/engine/control/first-person/sensors/FirstPersonSensors.d.ts.map +1 -1
  164. package/src/engine/control/first-person/sensors/FirstPersonSensors.js +20 -7
  165. package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.d.ts.map +1 -1
  166. package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.js +9 -8
  167. package/src/engine/control/first-person/test/buildTestPlayer.d.ts.map +1 -1
  168. package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
  169. package/src/engine/ecs/EntityManager.d.ts.map +1 -1
  170. package/src/engine/ecs/EntityObserver.d.ts.map +1 -1
  171. package/src/engine/ecs/System.d.ts.map +1 -1
  172. package/src/engine/ecs/animation/Animation.d.ts +1 -1
  173. package/src/engine/ecs/animation/Animation.d.ts.map +1 -1
  174. package/src/engine/ecs/async/SystemWorkerLoopback.d.ts +3 -3
  175. package/src/engine/ecs/async/SystemWorkerLoopback.d.ts.map +1 -1
  176. package/src/engine/ecs/dynamic_actions/DynamicActorSystem.d.ts.map +1 -1
  177. package/src/engine/ecs/grid/pick.d.ts.map +1 -1
  178. package/src/engine/ecs/guid/UUID.d.ts +1 -1
  179. package/src/engine/ecs/guid/UUID.d.ts.map +1 -1
  180. package/src/engine/ecs/ik/OneBoneSurfaceAlignmentSolver.d.ts.map +1 -1
  181. package/src/engine/ecs/ik/OneBoneSurfaceAlignmentSolver.js +26 -9
  182. package/src/engine/ecs/parent/EntityNode.d.ts +1 -1
  183. package/src/engine/ecs/parent/EntityNode.d.ts.map +1 -1
  184. package/src/engine/ecs/parent/FaceEditor.d.ts +7 -7
  185. package/src/engine/ecs/parent/FaceEditor.d.ts.map +1 -1
  186. package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts.map +1 -1
  187. package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter2.d.ts +2 -2
  188. package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter2.d.ts.map +1 -1
  189. package/src/engine/ecs/terrain/TerrainClouds.d.ts +1 -1
  190. package/src/engine/ecs/terrain/ecs/Terrain.d.ts +1 -1
  191. package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
  192. package/src/engine/ecs/terrain/ecs/TerrainSystem.d.ts.map +1 -1
  193. package/src/engine/ecs/terrain/overlay/TerrainOverlay.d.ts +1 -1
  194. package/src/engine/ecs/terrain/overlay/TerrainOverlay.d.ts.map +1 -1
  195. package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts +1 -1
  196. package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts.map +1 -1
  197. package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts +1 -1
  198. package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts.map +1 -1
  199. package/src/engine/ecs/terrain/util/obtainTerrain.d.ts.map +1 -1
  200. package/src/engine/ecs/transform/Transform64.d.ts +6 -6
  201. package/src/engine/ecs/transform/Transform64.d.ts.map +1 -1
  202. package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts +1 -1
  203. package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts.map +1 -1
  204. package/src/engine/graphics/FrameRunner.d.ts.map +1 -1
  205. package/src/engine/graphics/ecs/camera/camera_traverse_active.d.ts.map +1 -1
  206. package/src/engine/graphics/ecs/camera/pp/PerfectPanner.d.ts +1 -1
  207. package/src/engine/graphics/ecs/camera/pp/PerfectPanner.d.ts.map +1 -1
  208. package/src/engine/graphics/ecs/highlight/HighlightDefinition.d.ts +1 -1
  209. package/src/engine/graphics/ecs/highlight/HighlightDefinition.d.ts.map +1 -1
  210. package/src/engine/graphics/ecs/make_bvh_depth_range_computer.d.ts.map +1 -1
  211. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.d.ts +4 -4
  212. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.d.ts.map +1 -1
  213. package/src/engine/graphics/ecs/path/tube/TubePathStyle.d.ts +1 -1
  214. package/src/engine/graphics/ecs/path/tube/TubePathStyle.d.ts.map +1 -1
  215. package/src/engine/graphics/ecs/path/tube/build/computeFrenetFrames.d.ts.map +1 -1
  216. package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts +3 -3
  217. package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts.map +1 -1
  218. package/src/engine/graphics/geometry/buffered/build_height_field_geometry.d.ts +1 -1
  219. package/src/engine/graphics/geometry/buffered/build_height_field_geometry.d.ts.map +1 -1
  220. package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.d.ts +1 -1
  221. package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.d.ts.map +1 -1
  222. package/src/engine/graphics/make_ray_from_viewport_position.d.ts.map +1 -1
  223. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
  224. package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.d.ts.map +1 -1
  225. package/src/engine/graphics/particles/particular/engine/utils/distribute_points_on_indexed_triangles.d.ts.map +1 -1
  226. package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.d.ts.map +1 -1
  227. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts +3 -3
  228. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts.map +1 -1
  229. package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts.map +1 -1
  230. package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.d.ts +1 -1
  231. package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.d.ts.map +1 -1
  232. package/src/engine/graphics/render/layers/RenderLayer.d.ts +3 -3
  233. package/src/engine/graphics/render/layers/RenderLayer.d.ts.map +1 -1
  234. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts +1 -1
  235. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts.map +1 -1
  236. package/src/engine/graphics/render/visibility/VisibilityComputer.d.ts +2 -2
  237. package/src/engine/graphics/render/visibility/VisibilityComputer.d.ts.map +1 -1
  238. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts +1 -1
  239. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts.map +1 -1
  240. package/src/engine/graphics/sh3/path_tracer/populate_path_traced_scene_from_ecd.d.ts.map +1 -1
  241. package/src/engine/graphics/sh3/path_tracer/populate_path_traced_scene_from_ecd.js +5 -1
  242. package/src/engine/graphics/texture/3d/SingleChannelSampler3D.d.ts +1 -1
  243. package/src/engine/graphics/texture/3d/SingleChannelSampler3D.d.ts.map +1 -1
  244. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
  245. package/src/engine/graphics/texture/sampler/filter/sampler2d_scale_down_generic.d.ts +1 -1
  246. package/src/engine/graphics/texture/sampler/filter/sampler2d_scale_down_generic.d.ts.map +1 -1
  247. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_max.d.ts +1 -1
  248. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_max.d.ts.map +1 -1
  249. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_min.d.ts +1 -1
  250. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_min.d.ts.map +1 -1
  251. package/src/engine/graphics/texture/sampler/sampler2d_combine.d.ts.map +1 -1
  252. package/src/engine/graphics/texture/sampler/sampler2d_compute_texel_value_conversion_scale_to_uint8.d.ts.map +1 -1
  253. package/src/engine/graphics/texture/sampler/search/make_edge_condition_channel_threshold.d.ts.map +1 -1
  254. package/src/engine/graphics/texture/sampler/search/sampler2d_find_pixels.d.ts.map +1 -1
  255. package/src/engine/graphics/texture/virtual/VirtualTextureTileLoader.d.ts +3 -3
  256. package/src/engine/graphics/texture/virtual/VirtualTextureTileLoader.d.ts.map +1 -1
  257. package/src/engine/graphics/texture/virtual/VirtualTextureUsage.d.ts +1 -1
  258. package/src/engine/graphics/texture/virtual/VirtualTextureUsage.d.ts.map +1 -1
  259. package/src/engine/graphics/texture/virtual/debug/UsageDebugView.d.ts +2 -2
  260. package/src/engine/graphics/texture/virtual/debug/UsageDebugView.d.ts.map +1 -1
  261. package/src/engine/graphics/texture/virtual/debug/UsagePyramidDebugView.d.ts +1 -1
  262. package/src/engine/graphics/texture/virtual/debug/UsagePyramidDebugView.d.ts.map +1 -1
  263. package/src/engine/graphics/texture/virtual/tile/decompose_finger_print.d.ts.map +1 -1
  264. package/src/engine/graphics3/HighlightOutlineSystem.d.ts.map +1 -1
  265. package/src/engine/graphics3/ParticipatingMedia.d.ts +1 -1
  266. package/src/engine/graphics3/ParticipatingMedia.d.ts.map +1 -1
  267. package/src/engine/graphics3/VolumetricLightMap.d.ts +1 -1
  268. package/src/engine/graphics3/VolumetricLightMap.d.ts.map +1 -1
  269. package/src/engine/graphics3/decal/graph_build_decal_clusters.d.ts.map +1 -1
  270. package/src/engine/graphics3/highlight/pack_highlight_table.d.ts.map +1 -1
  271. package/src/engine/graphics3/preview/make_model_preview_scene.d.ts.map +1 -1
  272. package/src/engine/graphics3/terrain/GPUTerrainSplatRenderer.d.ts.map +1 -1
  273. package/src/engine/graphics3/terrain/pack_terrain_row_table.d.ts.map +1 -1
  274. package/src/engine/grid/obstacle/GridObstacle.d.ts.map +1 -1
  275. package/src/engine/input/devices/GamepadDevice.d.ts +1 -1
  276. package/src/engine/input/devices/GamepadDevice.d.ts.map +1 -1
  277. package/src/engine/input/devices/PointerDevice.d.ts +1 -1
  278. package/src/engine/input/devices/PointerDevice.d.ts.map +1 -1
  279. package/src/engine/input/ecs/controllers/KeyboardCameraController.d.ts.map +1 -1
  280. package/src/engine/input/ecs/controllers/KeyboardCameraController.js +11 -2
  281. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts +1 -1
  282. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts.map +1 -1
  283. package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts.map +1 -1
  284. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts.map +1 -1
  285. package/src/engine/intelligence/behavior/util/RotationBehavior.d.ts.map +1 -1
  286. package/src/engine/intelligence/behavior/util/RotationBehavior.js +14 -2
  287. package/src/engine/intelligence/blackboard/Blackboard.d.ts.map +1 -1
  288. package/src/engine/intelligence/mcts/MonteCarlo.d.ts +1 -1
  289. package/src/engine/intelligence/mcts/MonteCarlo.d.ts.map +1 -1
  290. package/src/engine/intelligence/mcts/StateNode.d.ts.map +1 -1
  291. package/src/engine/intelligence/optimization/RandomOptimizer.d.ts +1 -1
  292. package/src/engine/intelligence/optimization/RandomOptimizer.d.ts.map +1 -1
  293. package/src/engine/knowledge/database/StaticKnowledgeDataTable.d.ts.map +1 -1
  294. package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts +1 -1
  295. package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts.map +1 -1
  296. package/src/engine/navigation/ecs/path_following/PathFollower.d.ts +2 -2
  297. package/src/engine/navigation/ecs/path_following/PathFollower.d.ts.map +1 -1
  298. package/src/engine/network/NetworkSession.d.ts.map +1 -1
  299. package/src/engine/network/PriorityFetch.d.ts +2 -2
  300. package/src/engine/network/PriorityFetch.d.ts.map +1 -1
  301. package/src/engine/network/diagnostics/BandwidthMeter.d.ts.map +1 -1
  302. package/src/engine/network/ecs/owner_authorization.d.ts.map +1 -1
  303. package/src/engine/network/orchestrator/NetworkPeer.d.ts.map +1 -1
  304. package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts.map +1 -1
  305. package/src/engine/network/replication/Replicator.d.ts +1 -1
  306. package/src/engine/network/replication/Replicator.d.ts.map +1 -1
  307. package/src/engine/network/sim/SimActionExecutor.d.ts +1 -1
  308. package/src/engine/network/sim/SimActionExecutor.d.ts.map +1 -1
  309. package/src/engine/network/time/RenderPlayout.d.ts.map +1 -1
  310. package/src/engine/network/transport/Channel.d.ts.map +1 -1
  311. package/src/engine/network/transport/fragments/FragmentRetention.d.ts.map +1 -1
  312. package/src/engine/physics/body/SolverBodyState.d.ts +11 -11
  313. package/src/engine/physics/body/SolverBodyState.d.ts.map +1 -1
  314. package/src/engine/physics/body/SolverBodyState.js +13 -13
  315. package/src/engine/physics/broadphase/compute_fat_world_aabb.d.ts +4 -4
  316. package/src/engine/physics/broadphase/compute_fat_world_aabb.d.ts.map +1 -1
  317. package/src/engine/physics/broadphase/compute_fat_world_aabb.js +2 -2
  318. package/src/engine/physics/broadphase/generate_pairs.d.ts +3 -3
  319. package/src/engine/physics/broadphase/generate_pairs.d.ts.map +1 -1
  320. package/src/engine/physics/broadphase/generate_pairs.js +1 -1
  321. package/src/engine/physics/ccd/linear_sweep.d.ts +2 -3
  322. package/src/engine/physics/ccd/linear_sweep.d.ts.map +1 -1
  323. package/src/engine/physics/ccd/linear_sweep.js +4 -5
  324. package/src/engine/physics/constraint/solve_constraints.js +3 -3
  325. package/src/engine/physics/ecs/BodyKind.d.ts +1 -1
  326. package/src/engine/physics/ecs/BodyKind.js +1 -1
  327. package/src/engine/physics/ecs/Collider.d.ts +1 -1
  328. package/src/engine/physics/ecs/Collider.js +1 -1
  329. package/src/engine/physics/ecs/Joint.d.ts +15 -10
  330. package/src/engine/physics/ecs/Joint.d.ts.map +1 -1
  331. package/src/engine/physics/ecs/Joint.js +27 -18
  332. package/src/engine/physics/ecs/JointSerializationAdapter.d.ts.map +1 -1
  333. package/src/engine/physics/ecs/JointSerializationAdapter.js +8 -6
  334. package/src/engine/physics/ecs/PhysicsSystem.d.ts +40 -77
  335. package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
  336. package/src/engine/physics/ecs/PhysicsSystem.js +113 -75
  337. package/src/engine/physics/ecs/RigidBody.d.ts +17 -12
  338. package/src/engine/physics/ecs/RigidBody.d.ts.map +1 -1
  339. package/src/engine/physics/ecs/RigidBody.js +58 -24
  340. package/src/engine/physics/ecs/RigidBodySerializationAdapter.d.ts.map +1 -1
  341. package/src/engine/physics/ecs/RigidBodySerializationAdapter.js +13 -12
  342. package/src/engine/physics/ecs/find_non_finite_physics_state.d.ts +1 -1
  343. package/src/engine/physics/ecs/find_non_finite_physics_state.js +1 -1
  344. package/src/engine/physics/fluid/FluidField.d.ts.map +1 -1
  345. package/src/engine/physics/fluid/REVIEW_02_PLAN.md +4 -4
  346. package/src/engine/physics/fluid/SliceVisualiser.d.ts.map +1 -1
  347. package/src/engine/physics/fluid/ecs/FluidComponent.d.ts +10 -10
  348. package/src/engine/physics/fluid/ecs/FluidComponent.js +10 -10
  349. package/src/engine/physics/fluid/ecs/FluidEffectorsComponent.d.ts +2 -2
  350. package/src/engine/physics/fluid/ecs/FluidEffectorsComponent.js +2 -2
  351. package/src/engine/physics/fluid/ecs/FluidObstacle.d.ts +3 -3
  352. package/src/engine/physics/fluid/ecs/FluidObstacle.js +3 -3
  353. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +1 -1
  354. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.js +4 -4
  355. package/src/engine/physics/fluid/ecs/FluidSystem.d.ts +2 -2
  356. package/src/engine/physics/fluid/ecs/FluidSystem.js +3 -3
  357. package/src/engine/physics/fluid/ecs/WorkerFluidSystem.d.ts +1 -1
  358. package/src/engine/physics/fluid/ecs/WorkerFluidSystem.js +2 -2
  359. package/src/engine/physics/fluid/ecs/fluid_reanchor_field.d.ts +3 -3
  360. package/src/engine/physics/fluid/ecs/fluid_reanchor_field.d.ts.map +1 -1
  361. package/src/engine/physics/fluid/ecs/fluid_reanchor_field.js +3 -3
  362. package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.d.ts +3 -3
  363. package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.d.ts.map +1 -1
  364. package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.js +2 -2
  365. package/src/engine/physics/fluid/effector/AbstractFluidEffector.d.ts +3 -3
  366. package/src/engine/physics/fluid/effector/AbstractFluidEffector.d.ts.map +1 -1
  367. package/src/engine/physics/fluid/effector/AbstractFluidEffector.js +2 -2
  368. package/src/engine/physics/fluid/effector/ImpulseFluidEffector.js +2 -2
  369. package/src/engine/physics/fluid/effector/WakeFluidEffector.d.ts +4 -4
  370. package/src/engine/physics/fluid/effector/WakeFluidEffector.js +8 -8
  371. package/src/engine/physics/inertia/world_inverse_inertia.d.ts +8 -17
  372. package/src/engine/physics/inertia/world_inverse_inertia.d.ts.map +1 -1
  373. package/src/engine/physics/inertia/world_inverse_inertia.js +11 -11
  374. package/src/engine/physics/integration/integrate_position.d.ts +6 -7
  375. package/src/engine/physics/integration/integrate_position.d.ts.map +1 -1
  376. package/src/engine/physics/integration/integrate_position.js +5 -6
  377. package/src/engine/physics/integration/integrate_velocity.d.ts +4 -4
  378. package/src/engine/physics/integration/integrate_velocity.d.ts.map +1 -1
  379. package/src/engine/physics/integration/integrate_velocity.js +7 -7
  380. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts +4 -4
  381. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts.map +1 -1
  382. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.js +3 -3
  383. package/src/engine/physics/narrowphase/convex_decomposition.d.ts.map +1 -1
  384. package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.d.ts +1 -2
  385. package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.d.ts.map +1 -1
  386. package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.js +1 -2
  387. package/src/engine/physics/narrowphase/narrowphase_step.d.ts +7 -6
  388. package/src/engine/physics/narrowphase/narrowphase_step.d.ts.map +1 -1
  389. package/src/engine/physics/narrowphase/narrowphase_step.js +8 -8
  390. package/src/engine/physics/queries/PhysicsSurfacePoint.d.ts +10 -5
  391. package/src/engine/physics/queries/PhysicsSurfacePoint.d.ts.map +1 -1
  392. package/src/engine/physics/queries/PhysicsSurfacePoint.js +10 -6
  393. package/src/engine/physics/queries/overlap_shape.d.ts +5 -14
  394. package/src/engine/physics/queries/overlap_shape.d.ts.map +1 -1
  395. package/src/engine/physics/queries/overlap_shape.js +4 -4
  396. package/src/engine/physics/queries/raycast.d.ts.map +1 -1
  397. package/src/engine/physics/queries/shape_cast.d.ts +9 -1
  398. package/src/engine/physics/queries/shape_cast.d.ts.map +1 -1
  399. package/src/engine/physics/queries/shape_cast.js +2 -2
  400. package/src/engine/physics/solver/solve_contacts.d.ts +2 -2
  401. package/src/engine/physics/solver/solve_contacts.d.ts.map +1 -1
  402. package/src/engine/physics/solver/solve_contacts.js +2 -2
  403. package/src/engine/physics/vehicle/RaycastVehicle.d.ts +4 -8
  404. package/src/engine/physics/vehicle/RaycastVehicle.d.ts.map +1 -1
  405. package/src/engine/physics/vehicle/RaycastVehicle.js +16 -12
  406. package/src/engine/save/Storage.d.ts.map +1 -1
  407. package/src/engine/sound/SoundEngine.d.ts +1 -1
  408. package/src/engine/sound/SoundEngine.d.ts.map +1 -1
  409. package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
  410. package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +27 -2
  411. package/src/engine/sound/simulation/AcousticSimulator.d.ts +2 -2
  412. package/src/engine/sound/simulation/AcousticSimulator.d.ts.map +1 -1
  413. package/src/engine/sound/simulation/core/VolumeField.d.ts +1 -1
  414. package/src/engine/sound/simulation/core/VolumeField.d.ts.map +1 -1
  415. package/src/engine/sound/simulation/probe/AcousticProbeField.d.ts.map +1 -1
  416. package/src/engine/sound/simulation/probe/probe_delaunay_edges.d.ts.map +1 -1
  417. package/src/engine/sound/simulation/probe/probe_densify_portals.d.ts.map +1 -1
  418. package/src/engine/sound/simulation/probe/probe_detect_portals.d.ts.map +1 -1
  419. package/src/engine/sound/simulation/probe/probe_place_sdf_cover.d.ts.map +1 -1
  420. package/src/engine/sound/simulation/probe/probe_refine_connectivity.d.ts.map +1 -1
  421. package/src/engine/sound/simulation/render/ProbeReverbRenderer.d.ts +1 -1
  422. package/src/engine/sound/simulation/render/ProbeReverbRenderer.d.ts.map +1 -1
  423. package/src/engine/sound/simulation/render/foaReverbImpulseResponse.d.ts.map +1 -1
  424. package/src/engine/sound/sopra/SopraEngine.d.ts.map +1 -1
  425. package/src/engine/sound/sopra/legacy/SoundEmitter.d.ts +3 -3
  426. package/src/engine/sound/sopra/legacy/SoundEmitter.d.ts.map +1 -1
  427. package/src/engine/sound/sopra/legacy/SoundTrack.d.ts +3 -3
  428. package/src/engine/sound/sopra/legacy/SoundTrack.d.ts.map +1 -1
  429. package/src/engine/sound/sopra/util/buildAttenuationCurve.d.ts.map +1 -1
  430. package/src/engine/ui/notification/NotificationManager.d.ts.map +1 -1
  431. package/src/engine/ui/notification/ViewEmitter.d.ts +1 -1
  432. package/src/engine/ui/notification/ViewEmitter.d.ts.map +1 -1
  433. package/src/engine/ui/tiles2d/TileGrid.d.ts.map +1 -1
  434. package/src/extractName.d.ts.map +1 -1
  435. package/src/format/image/avif/api/convert_to_rgba.d.ts.map +1 -1
  436. package/src/format/image/avif/av1/encode/encode_av1_still.d.ts.map +1 -1
  437. package/src/format/image/avif/heif/write_avif_file.d.ts +2 -2
  438. package/src/format/image/avif/heif/write_avif_file.d.ts.map +1 -1
  439. package/src/format/image/jpeg/JpegImage.d.ts.map +1 -1
  440. package/src/format/image/png/PNG.d.ts.map +1 -1
  441. package/src/format/image/png/chunk/png_chunk_decode_iTXt.d.ts.map +1 -1
  442. package/src/format/image/png/chunk/png_chunk_decode_zTXt.d.ts.map +1 -1
  443. package/src/format/scene/gltf/ext/GltfBufferViewExtensionSet.d.ts.map +1 -1
  444. package/src/format/scene/gltf/gltf_node_world_matrices.d.ts.map +1 -1
  445. package/src/format/scene/usd/unpack_usdz.d.ts.map +1 -1
  446. package/src/format/scene/usd/usd_triangulate.d.ts.map +1 -1
  447. package/src/format/texture/basis/astc_integer_sequence.d.ts.map +1 -1
  448. package/src/generation/grid/actions/ContinuousGridCellActionWriteObstacle.d.ts.map +1 -1
  449. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.d.ts.map +1 -1
  450. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.js +22 -3
  451. package/src/generation/markers/transform/MarkerNodeTransformerRecordPropertyClosure.d.ts.map +1 -1
  452. package/src/generation/theme/ThemeEngine.d.ts +2 -2
  453. package/src/generation/theme/ThemeEngine.d.ts.map +1 -1
  454. package/src/shade/descriptor/ObjectDescriptorBase.d.ts +1 -1
  455. package/src/shade/descriptor/ObjectDescriptorBase.d.ts.map +1 -1
  456. package/src/shade/descriptor/texture/TextureDescriptor.d.ts +1 -1
  457. package/src/shade/device/ShadeGPUCommandContext.d.ts +1 -1
  458. package/src/shade/device/ShadeGPUCommandContext.d.ts.map +1 -1
  459. package/src/shade/device/pass/ShadeGPUComputePassEncoder.d.ts +1 -1
  460. package/src/shade/device/pass/ShadeGPUComputePassEncoder.d.ts.map +1 -1
  461. package/src/shade/device/pass/ShadeGPURenderPassEncoder.d.ts +1 -1
  462. package/src/shade/device/pass/ShadeGPURenderPassEncoder.d.ts.map +1 -1
  463. package/src/shade/device/timing/GPUTimerArray.d.ts.map +1 -1
  464. package/src/shade/device/timing/GPUTimerStats.d.ts +1 -1
  465. package/src/shade/device/timing/GPUTimerStats.d.ts.map +1 -1
  466. package/src/shade/device/timing/GPU_PROFILER_PROPOSAL_2026_08_28.md +894 -894
  467. package/src/shade/playground/basis_textures/texture_inventory.d.ts.map +1 -1
  468. package/src/shade/playground/bvh_repro/bvh_repro_device.d.ts.map +1 -1
  469. package/src/shade/playground/ground_seam/capture_scene_color.d.ts.map +1 -1
  470. package/src/shade/playground/ground_seam/measure_flicker.d.ts.map +1 -1
  471. package/src/shade/playground/particle_system/index.html +0 -1
  472. package/src/shade/playground/particle_system/main.js +1 -2
  473. package/src/shade/playground/particle_system/particle_prototype.d.ts.map +1 -1
  474. package/src/shade/playground/particle_system/particle_scene.d.ts +5 -6
  475. package/src/shade/playground/particle_system/particle_scene.d.ts.map +1 -1
  476. package/src/shade/playground/particle_system/particle_scene.js +6 -7
  477. package/src/shade/playground/skinned_blas_refit/sweep_views.js +2 -2
  478. package/src/shade/playground/skinned_blas_refit/verify_traversal_reachability.js +1 -1
  479. package/src/shade/playground/vgeo_viewer/README.md +123 -0
  480. package/src/shade/playground/vgeo_viewer/cut_geometry.d.ts +61 -0
  481. package/src/shade/playground/vgeo_viewer/cut_geometry.d.ts.map +1 -0
  482. package/src/shade/playground/vgeo_viewer/cut_geometry.js +497 -0
  483. package/src/shade/playground/vgeo_viewer/index.html +77 -0
  484. package/src/shade/playground/vgeo_viewer/main.d.ts +2 -0
  485. package/src/shade/playground/vgeo_viewer/main.d.ts.map +1 -0
  486. package/src/shade/playground/vgeo_viewer/main.js +1288 -0
  487. package/src/shade/playground/vgeo_viewer/sample_asset.d.ts +18 -0
  488. package/src/shade/playground/vgeo_viewer/sample_asset.d.ts.map +1 -0
  489. package/src/shade/playground/vgeo_viewer/sample_asset.js +117 -0
  490. package/src/shade/playground/vgeo_viewer/select_cut.d.ts +154 -0
  491. package/src/shade/playground/vgeo_viewer/select_cut.d.ts.map +1 -0
  492. package/src/shade/playground/vgeo_viewer/select_cut.js +437 -0
  493. package/src/shade/renderer/DynamicResolutionScaling.d.ts +1 -1
  494. package/src/shade/renderer/DynamicResolutionScaling.d.ts.map +1 -1
  495. package/src/shade/renderer/Renderer.d.ts +5 -5
  496. package/src/shade/renderer/Renderer.d.ts.map +1 -1
  497. package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
  498. package/src/shade/renderer/animation/skin_normalize_mesh_frame.d.ts.map +1 -1
  499. package/src/shade/renderer/camera/Camera.d.ts +3 -3
  500. package/src/shade/renderer/camera/Camera.d.ts.map +1 -1
  501. package/src/shade/renderer/camera/GPUCameraContext.d.ts +1 -1
  502. package/src/shade/renderer/camera/GPUCameraContext.d.ts.map +1 -1
  503. package/src/shade/renderer/camera/OrthographicCamera.d.ts +4 -4
  504. package/src/shade/renderer/camera/OrthographicCamera.d.ts.map +1 -1
  505. package/src/shade/renderer/camera/PerspectiveCamera.d.ts +2 -2
  506. package/src/shade/renderer/camera/PerspectiveCamera.d.ts.map +1 -1
  507. package/src/shade/renderer/camera/orbital/OrbitalCameraController.d.ts +11 -3
  508. package/src/shade/renderer/camera/orbital/OrbitalCameraController.d.ts.map +1 -1
  509. package/src/shade/renderer/camera/orbital/OrbitalCameraController.js +25 -5
  510. package/src/shade/renderer/extension/FrameContext.d.ts +1 -1
  511. package/src/shade/renderer/extension/FrameContext.d.ts.map +1 -1
  512. package/src/shade/renderer/extension/GBufferTextures.d.ts +4 -4
  513. package/src/shade/renderer/extension/GBufferTextures.d.ts.map +1 -1
  514. package/src/shade/renderer/extension/PresentTarget.d.ts +1 -1
  515. package/src/shade/renderer/extension/PresentTarget.d.ts.map +1 -1
  516. package/src/shade/renderer/extension/RENDER_EXTENSION_DESIGN.md +918 -918
  517. package/src/shade/renderer/extension/SceneColor.d.ts +1 -1
  518. package/src/shade/renderer/extension/SceneColor.d.ts.map +1 -1
  519. package/src/shade/renderer/extension/ViewTextures.d.ts +4 -4
  520. package/src/shade/renderer/extension/ViewTextures.d.ts.map +1 -1
  521. package/src/shade/renderer/geometry/Attribute.d.ts +1 -1
  522. package/src/shade/renderer/geometry/Attribute.d.ts.map +1 -1
  523. package/src/shade/renderer/geometry/Geometry.d.ts +1 -1
  524. package/src/shade/renderer/geometry/Geometry.d.ts.map +1 -1
  525. package/src/shade/renderer/geometry/bvh/bvh2_check_bounds.d.ts.map +1 -1
  526. package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.d.ts.map +1 -1
  527. package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts +3 -3
  528. package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts.map +1 -1
  529. package/src/shade/renderer/geometry/virtual/build/gltf/gltf_collect_geometries.d.ts.map +1 -1
  530. package/src/shade/renderer/geometry/virtual/format/attribute/VGEO_ATTRIBUTES.d.ts.map +1 -1
  531. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_read_frame_extent.d.ts +29 -0
  532. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_read_frame_extent.d.ts.map +1 -0
  533. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_read_frame_extent.js +59 -0
  534. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_scan_frames.d.ts +0 -1
  535. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_scan_frames.d.ts.map +1 -1
  536. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_scan_frames.js +2 -23
  537. package/src/shade/renderer/geometry/virtual/format/read/VGeoByteSource.d.ts +94 -0
  538. package/src/shade/renderer/geometry/virtual/format/read/VGeoByteSource.d.ts.map +1 -0
  539. package/src/shade/renderer/geometry/virtual/format/read/VGeoByteSource.js +170 -0
  540. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerHeader.d.ts +122 -0
  541. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerHeader.d.ts.map +1 -0
  542. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerHeader.js +143 -0
  543. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.d.ts +185 -0
  544. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.d.ts.map +1 -0
  545. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.js +572 -0
  546. package/src/shade/renderer/geometry/virtual/format/read/VGeoDirectory.d.ts +64 -0
  547. package/src/shade/renderer/geometry/virtual/format/read/VGeoDirectory.d.ts.map +1 -0
  548. package/src/shade/renderer/geometry/virtual/format/read/VGeoDirectory.js +80 -0
  549. package/src/shade/renderer/geometry/virtual/format/read/VGeoPage.d.ts +198 -0
  550. package/src/shade/renderer/geometry/virtual/format/read/VGeoPage.d.ts.map +1 -0
  551. package/src/shade/renderer/geometry/virtual/format/read/VGeoPage.js +232 -0
  552. package/src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.d.ts +51 -0
  553. package/src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.d.ts.map +1 -0
  554. package/src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.js +55 -0
  555. package/src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.d.ts +68 -0
  556. package/src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.d.ts.map +1 -0
  557. package/src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.js +72 -0
  558. package/src/shade/renderer/geometry/virtual/format/read/vgeo_fetch_byte_source.d.ts +28 -0
  559. package/src/shade/renderer/geometry/virtual/format/read/vgeo_fetch_byte_source.d.ts.map +1 -0
  560. package/src/shade/renderer/geometry/virtual/format/read/vgeo_fetch_byte_source.js +108 -0
  561. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_directory.d.ts +23 -0
  562. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_directory.d.ts.map +1 -0
  563. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_directory.js +83 -0
  564. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_header.d.ts +53 -0
  565. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_header.d.ts.map +1 -0
  566. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_header.js +211 -0
  567. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_page.d.ts +26 -0
  568. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_page.d.ts.map +1 -0
  569. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_page.js +271 -0
  570. package/src/shade/renderer/global_illumination/brick4/cpu/brick4_bake_for_scene.d.ts.map +1 -1
  571. package/src/shade/renderer/global_illumination/clipmap/GPUClipMap3D.d.ts +2 -2
  572. package/src/shade/renderer/global_illumination/clipmap/GPUClipMap3D.d.ts.map +1 -1
  573. package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.d.ts +1 -1
  574. package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.d.ts.map +1 -1
  575. package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts +1 -1
  576. package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts.map +1 -1
  577. package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.d.ts +1 -1
  578. package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.d.ts.map +1 -1
  579. package/src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.d.ts.map +1 -1
  580. package/src/shade/renderer/light/LightCollection.d.ts +2 -2
  581. package/src/shade/renderer/light/LightCollection.d.ts.map +1 -1
  582. package/src/shade/renderer/light/model/PointLight.d.ts +1 -1
  583. package/src/shade/renderer/light/model/PointLight.d.ts.map +1 -1
  584. package/src/shade/renderer/light/model/SpotLight.d.ts +1 -1
  585. package/src/shade/renderer/light/model/SpotLight.d.ts.map +1 -1
  586. package/src/shade/renderer/loader/gltf/fix_up_material_sides.d.ts.map +1 -1
  587. package/src/shade/renderer/loader/gltf/gltf_create_material.d.ts +1 -1
  588. package/src/shade/renderer/loader/gltf/gltf_create_material.d.ts.map +1 -1
  589. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +2 -2
  590. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts.map +1 -1
  591. package/src/shade/renderer/loader/usd/usd_decode_image.d.ts +1 -1
  592. package/src/shade/renderer/loader/usd/usd_decode_image.d.ts.map +1 -1
  593. package/src/shade/renderer/material/util/material_convert_metallic_roughness_to_specular_glossiness.d.ts.map +1 -1
  594. package/src/shade/renderer/material/util/material_convert_specular_glossiness_to_metallic_roughness.d.ts.map +1 -1
  595. package/src/shade/renderer/particles/DESIGN.md +18 -7
  596. package/src/shade/renderer/particles/GPUParticleSystem.d.ts +24 -10
  597. package/src/shade/renderer/particles/GPUParticleSystem.d.ts.map +1 -1
  598. package/src/shade/renderer/particles/GPUParticleSystem.js +77 -72
  599. package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts +17 -16
  600. package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts.map +1 -1
  601. package/src/shade/renderer/particles/coherence/graph_particle_bucket.js +35 -22
  602. package/src/shade/renderer/particles/graph/ParticleGroupBuilder.d.ts +6 -6
  603. package/src/shade/renderer/particles/graph/ParticleGroupBuilder.d.ts.map +1 -1
  604. package/src/shade/renderer/particles/graph/ParticleNodeGroup.d.ts.map +1 -1
  605. package/src/shade/renderer/particles/graph/ParticleValueType.d.ts +1 -1
  606. package/src/shade/renderer/particles/graph/ParticleValueType.d.ts.map +1 -1
  607. package/src/shade/renderer/particles/graph/make_particle_group.d.ts.map +1 -1
  608. package/src/shade/renderer/particles/graph/particle_graph_authoring.d.ts.map +1 -1
  609. package/src/shade/renderer/particles/graph/particle_group_json.d.ts.map +1 -1
  610. package/src/shade/renderer/particles/graph_particles.d.ts +11 -0
  611. package/src/shade/renderer/particles/graph_particles.d.ts.map +1 -1
  612. package/src/shade/renderer/particles/graph_particles.js +55 -37
  613. package/src/shade/renderer/particles/graph_particles_billboard.d.ts.map +1 -1
  614. package/src/shade/renderer/particles/isa/ParticleVMISA.d.ts.map +1 -1
  615. package/src/shade/renderer/particles/isa/particle_assembly.d.ts.map +1 -1
  616. package/src/shade/renderer/particles/layout/ParticleLayout.d.ts.map +1 -1
  617. package/src/shade/renderer/particles/optimizer/dag/particle_vector_lift.d.ts.map +1 -1
  618. package/src/shade/renderer/particles/optimizer/dag/particle_vector_pack.d.ts.map +1 -1
  619. package/src/shade/renderer/particles/optimizer/optimize_particle_program.d.ts +1 -1
  620. package/src/shade/renderer/particles/optimizer/optimize_particle_program.d.ts.map +1 -1
  621. package/src/shade/renderer/particles/optimizer/particle_program_equivalence.d.ts.map +1 -1
  622. package/src/shade/renderer/particles/runtime/create_particle_effect.d.ts.map +1 -1
  623. package/src/shade/renderer/particles/sort/graph_particle_sort.d.ts +17 -13
  624. package/src/shade/renderer/particles/sort/graph_particle_sort.d.ts.map +1 -1
  625. package/src/shade/renderer/particles/sort/graph_particle_sort.js +43 -33
  626. package/src/shade/renderer/particles/vm/ParticleVMReference.d.ts.map +1 -1
  627. package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts +1 -1
  628. package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts.map +1 -1
  629. package/src/shade/renderer/postprocess/graph_pass_composit_red_as_rgba.d.ts.map +1 -1
  630. package/src/shade/renderer/postprocess/nss/NSS.d.ts +4 -4
  631. package/src/shade/renderer/postprocess/nss/NSS.d.ts.map +1 -1
  632. package/src/shade/renderer/postprocess/ssr/SSR.d.ts +3 -3
  633. package/src/shade/renderer/postprocess/ssr/SSR.d.ts.map +1 -1
  634. package/src/shade/renderer/postprocess/taa/TAA.d.ts +2 -2
  635. package/src/shade/renderer/postprocess/taa/TAA.d.ts.map +1 -1
  636. package/src/shade/renderer/rasterize/bucket/prepare_meshlet_draw_commands_by_material.d.ts.map +1 -1
  637. package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts.map +1 -1
  638. package/src/shade/renderer/scene/InstanceBatch.d.ts +1 -1
  639. package/src/shade/renderer/scene/InstanceBatch.d.ts.map +1 -1
  640. package/src/shade/renderer/scene/Node3D.d.ts +3 -3
  641. package/src/shade/renderer/scene/Node3D.d.ts.map +1 -1
  642. package/src/shade/renderer/scene/bvh/StaticSceneBVH.d.ts.map +1 -1
  643. package/src/shade/renderer/shader/compiler/CodeChunk.d.ts.map +1 -1
  644. package/src/shade/renderer/shader/graph/graph_prepare_pass_input_data.d.ts.map +1 -1
  645. package/src/shade/renderer/shader/graph/graph_prepare_pass_input_data.js +11 -0
  646. package/src/shade/renderer/shader/type/WebGPUStruct.d.ts +1 -1
  647. package/src/shade/renderer/shader/type/WebGPUStruct.d.ts.map +1 -1
  648. package/src/shade/renderer/texture/GPUTextureContext.d.ts +1 -1
  649. package/src/shade/renderer/texture/GPUTextureContext.d.ts.map +1 -1
  650. package/src/shade/renderer/texture/format/sampler_descriptor_unpack.d.ts.map +1 -1
  651. package/src/shade/renderer/texture/source/ShadeImage.d.ts +7 -7
  652. package/src/shade/renderer/texture/source/ShadeImage.d.ts.map +1 -1
  653. package/src/shade/renderer/texture/virtual/VTPageTable.d.ts.map +1 -1
  654. package/src/shade/renderer/view/GPUViewContext.d.ts +2 -2
  655. package/src/shade/renderer/view/GPUViewContext.d.ts.map +1 -1
  656. package/src/shade/renderer/view/GPUViewSkyContext.d.ts +1 -1
  657. package/src/shade/renderer/view/GPUViewSkyContext.d.ts.map +1 -1
  658. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts +2 -2
  659. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
  660. package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts +1 -1
  661. package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts.map +1 -1
  662. package/src/shade/wgsl/emulator/CPUBitmapData.d.ts.map +1 -1
  663. package/src/view/View.d.ts +1 -1
  664. package/src/view/View.d.ts.map +1 -1
  665. package/src/view/elements/button/ButtonView.d.ts +1 -1
  666. package/src/view/elements/button/ButtonView.d.ts.map +1 -1
  667. package/src/view/elements/progress/SmoothProgressBar.d.ts +2 -2
  668. package/src/view/elements/progress/SmoothProgressBar.d.ts.map +1 -1
  669. package/src/view/elements/radial/RadialMenuElement.d.ts +3 -3
  670. package/src/view/elements/radial/RadialMenuElement.d.ts.map +1 -1
  671. package/src/view/elements/windrose/WindRoseDiagram.d.ts.map +1 -1
  672. package/src/view/layout/DockLayoutView.d.ts.map +1 -1
  673. package/src/view/layout/DrawerView.d.ts +2 -2
  674. package/src/view/layout/DrawerView.d.ts.map +1 -1
  675. package/src/view/layout/SplitView.d.ts +9 -9
  676. package/src/view/layout/SplitView.d.ts.map +1 -1
  677. package/src/view/minimap/MinimapMarkerCollection.d.ts +3 -2
  678. package/src/view/minimap/MinimapMarkerCollection.d.ts.map +1 -1
  679. package/src/view/minimap/MinimapMarkerCollection.js +28 -5
  680. package/src/view/minimap/dom/MinimapMarkerView.js +65 -34
  681. package/src/view/minimap/gl/MarkerGL.d.ts +15 -3
  682. package/src/view/minimap/gl/MarkerGL.d.ts.map +1 -1
  683. package/src/view/minimap/gl/MarkerGL.js +31 -4
  684. package/src/engine/physics/BULLET_REVIEW.md +0 -945
  685. package/src/engine/physics/CANNON_REVIEW.md +0 -1300
  686. package/src/engine/physics/CONSTRAINT_SOLVER_BENCH_LOG.md +0 -208
  687. package/src/engine/physics/CONSTRAINT_SOLVER_IMPROVEMENTS_PLAN.md +0 -364
  688. package/src/engine/physics/INTEPOLATION_SYSTEM_PLAN.md +0 -287
  689. package/src/engine/physics/JOLT_REVIEW.md +0 -913
  690. package/src/engine/physics/PLAN.md +0 -1120
  691. package/src/engine/physics/RAPIER_REVIEW.md +0 -934
  692. package/src/engine/physics/REVIEW_001_ACTION_PLAN.md +0 -642
  693. package/src/engine/physics/REVIEW_002.md +0 -151
  694. package/src/engine/physics/REVIEW_003.md +0 -166
  695. package/src/shade/descriptor/util/optional_clone.d.ts +0 -7
  696. package/src/shade/descriptor/util/optional_clone.d.ts.map +0 -1
  697. package/src/shade/descriptor/util/optional_equality.d.ts +0 -10
  698. package/src/shade/descriptor/util/optional_equality.d.ts.map +0 -1
  699. package/src/shade/descriptor/util/optional_hash.d.ts +0 -9
  700. package/src/shade/descriptor/util/optional_hash.d.ts.map +0 -1
  701. package/src/shade/renderer/geometry/virtual/format/prototypeVGEOFormatViewer.js +0 -2063
@@ -0,0 +1,437 @@
1
+ import { assert } from "../../../core/assert.js";
2
+ import { DEG_TO_RAD } from "../../../core/math/DEG_TO_RAD.js";
3
+ import {
4
+ VGeoPageWant
5
+ } from "../../renderer/geometry/virtual/format/read/VGeoPageWant.js";
6
+ import { VGEO_NO_CHILD } from "../../renderer/geometry/virtual/format/cluster/VGEO_NO_CHILD.js";
7
+ import { VGEO_SAME_PAGE } from "../../renderer/geometry/virtual/format/cluster/VGEO_SAME_PAGE.js";
8
+
9
+ /**
10
+ * Selecting a cut from a partially resident container.
11
+ *
12
+ * The traversal itself is the runtime's rule, not a debug approximation of it: descend the page
13
+ * graph from the root's parentless groups, refine a cluster whose error projects above τ, take it
14
+ * when it does not. What this file adds is the part a whole-file reader never has to think about —
15
+ * what to do when the page a refinement wants is not here.
16
+ *
17
+ * The answer is the format's (`VGEO_FORMAT.md` §10): **draw the coarser cluster and say so**. The
18
+ * result is a genuine surface — watertight, correct, merely coarser in that region — and the want it
19
+ * records carries the exact byte range that would refine it. That is what makes streaming safe in
20
+ * any arrival order, and it is why this file's most interesting number is `clamped`.
21
+ *
22
+ * @author Alex Goldring
23
+ * @copyright Company Named Limited (c) 2026
24
+ */
25
+
26
+ /**
27
+ * The view a cut is selected for. `VIRTUAL_GEOMETRY_DESIGN.md` §4: a cut is selected at one camera's
28
+ * distances and pixel budget, and is the wrong cut for any other.
29
+ */
30
+ export class VGeoCutView {
31
+ /**
32
+ * Camera position, object space — the viewer draws at identity, so world and object agree.
33
+ * @type {Float32Array}
34
+ */
35
+ eye = new Float32Array(3);
36
+
37
+ /**
38
+ * Pixels of permitted error. The one quality dial.
39
+ * @type {number}
40
+ */
41
+ tau = 1;
42
+
43
+ /**
44
+ * Height of the render target, in pixels — the projection's numerator.
45
+ * @type {number}
46
+ */
47
+ screen_height = 1080;
48
+
49
+ /**
50
+ * @type {number}
51
+ */
52
+ fov_y = 60 * DEG_TO_RAD;
53
+
54
+ /**
55
+ * @type {boolean}
56
+ */
57
+ cull_enabled = false;
58
+
59
+ /**
60
+ * Six normalized world-space planes, as {@link Camera.frustum} holds them.
61
+ * @type {Float32Array}
62
+ */
63
+ frustum = new Float32Array(24);
64
+ }
65
+
66
+ /**
67
+ * What one traversal came to, including what it had to look at to get there and what it could not
68
+ * reach.
69
+ *
70
+ * A cut holds the {@link VGeoPage} objects it selected from rather than page indices, so it stays
71
+ * drawable across an eviction: the bytes it needs are reachable from the cut itself. Nothing here
72
+ * goes stale because residency moved under it.
73
+ */
74
+ export class VGeoCut {
75
+ /**
76
+ * The page each selected cluster came from, parallel to {@link clusters}.
77
+ * @type {VGeoPage[]}
78
+ */
79
+ pages = [];
80
+
81
+ /**
82
+ * Selected clusters, as indices within the page at the same position of {@link pages}. There is
83
+ * no global cluster id in the format and none in the reader; a cluster is a page and an index.
84
+ * @type {number[]}
85
+ */
86
+ clusters = [];
87
+
88
+ /**
89
+ * @type {number}
90
+ */
91
+ triangle_count = 0;
92
+
93
+ /**
94
+ * @type {number}
95
+ */
96
+ vertex_count = 0;
97
+
98
+ /**
99
+ * @type {number}
100
+ */
101
+ groups_visited = 0;
102
+
103
+ /**
104
+ * @type {number}
105
+ */
106
+ clusters_tested = 0;
107
+
108
+ /**
109
+ * Clusters whose subtree the frustum threw away, which is a whole region rather than one
110
+ * cluster — the reason culling belongs in the traversal and not after it.
111
+ * @type {number}
112
+ */
113
+ culled = 0;
114
+
115
+ /**
116
+ * Clusters that projected above τ and were drawn anyway, because the page holding their
117
+ * refinement is not resident.
118
+ *
119
+ * **This is the number that says a cut is still arriving.** Zero means the cut on screen is the
120
+ * one the container's own metric selects for this view; anything above it means part of the
121
+ * surface is standing in for something finer, and {@link wants} says exactly what to fetch to
122
+ * fix it.
123
+ *
124
+ * @type {number}
125
+ */
126
+ clamped = 0;
127
+
128
+ /**
129
+ * Which clusters those were, keyed `page · 65536 + cluster`. What the panel counts, a display
130
+ * can paint — so the regions still waiting on bytes are visible as regions.
131
+ * @type {Set<number>}
132
+ */
133
+ clamped_keys = new Set();
134
+
135
+ /**
136
+ * Clusters whose `child_ref` names an entry outside their page's child table.
137
+ *
138
+ * Impossible in a file the validator accepts, and reachable here precisely because validation is
139
+ * off by default — so it is counted and the cluster is drawn as a leaf, rather than read out of
140
+ * bounds or thrown out of a traversal that was two thirds of the way to a picture.
141
+ *
142
+ * @type {number}
143
+ */
144
+ broken_child_refs = 0;
145
+
146
+ /**
147
+ * The pages this cut would need to stop being clamped, one entry per page, most wanted first.
148
+ * @type {VGeoPageWant[]}
149
+ */
150
+ wants = [];
151
+
152
+ /**
153
+ * Distinct pages the traversal read from.
154
+ * @type {number}
155
+ */
156
+ pages_touched = 0;
157
+
158
+ /**
159
+ * @type {number}
160
+ */
161
+ duration_ms = 0;
162
+ }
163
+
164
+ /**
165
+ * `VIRTUAL_GEOMETRY_DESIGN.md` §4: `err_px = r_e · screen_height / (2 · tan(fov_y / 2) · d)`, with
166
+ * `d` the distance to the *closest point* of the sphere.
167
+ *
168
+ * A zero error projects to zero unconditionally — otherwise a leaf, whose error is exactly zero,
169
+ * would become undrawable the moment the camera entered its sphere.
170
+ *
171
+ * @param {number} error object-space `r_e`; `+Infinity` for a root's parent
172
+ * @param {Float32Array} spheres
173
+ * @param {number} base index of the sphere's first component
174
+ * @param {Float32Array} eye
175
+ * @param {number} k `screen_height / (2 · tan(fov_y / 2))`, hoisted out of the loop
176
+ * @returns {number} pixels
177
+ */
178
+ function project_error(error, spheres, base, eye, k) {
179
+ if (error === 0) {
180
+ return 0;
181
+ }
182
+
183
+ const dx = eye[0] - spheres[base];
184
+ const dy = eye[1] - spheres[base + 1];
185
+ const dz = eye[2] - spheres[base + 2];
186
+
187
+ const distance = Math.sqrt(dx * dx + dy * dy + dz * dz) - spheres[base + 3];
188
+
189
+ if (distance <= 0) {
190
+ // camera inside the sphere; the projection is unbounded and the cluster must refine
191
+ return Number.POSITIVE_INFINITY;
192
+ }
193
+
194
+ return (error * k) / distance;
195
+ }
196
+
197
+ /**
198
+ * Whether a sphere is entirely outside the frustum.
199
+ *
200
+ * Only the five finite planes are tested. The projection is infinite reverse-Z, so the far plane's
201
+ * row is degenerate and normalizing it produces nothing a test can use.
202
+ *
203
+ * @param {Float32Array} frustum
204
+ * @param {Float32Array} spheres
205
+ * @param {number} base
206
+ * @returns {boolean}
207
+ */
208
+ function sphere_outside_frustum(frustum, spheres, base) {
209
+ const x = spheres[base];
210
+ const y = spheres[base + 1];
211
+ const z = spheres[base + 2];
212
+ const radius = spheres[base + 3];
213
+
214
+ for (let plane = 0; plane < 5; plane++) {
215
+ const o = plane * 4;
216
+
217
+ const distance = frustum[o] * x + frustum[o + 1] * y + frustum[o + 2] * z + frustum[o + 3];
218
+
219
+ if (distance < -radius) {
220
+ return true;
221
+ }
222
+ }
223
+
224
+ return false;
225
+ }
226
+
227
+ /**
228
+ * Select the cut for a view from whatever the reader currently holds.
229
+ *
230
+ * A traversal rather than a flat pass over every cluster, per design §4 — and it gets the cut rule's
231
+ * first half for free. The rule is `project(parent) > τ AND project(self) ≤ τ`; a group is only ever
232
+ * reached by descending *through* the cluster whose step consumed it, and that descent happened
233
+ * precisely because the step projected above τ. Every cluster of a group shares that step's sphere
234
+ * and error, so the parent test is satisfied by the act of arriving.
235
+ *
236
+ * The residency clamp is the live one here, and it is the reason a cut can be taken at all before
237
+ * the file has finished arriving: a cluster that wants a page nobody has is drawn as it stands.
238
+ *
239
+ * @param {VGeoContainerReader} reader
240
+ * @param {VGeoCutView} view
241
+ * @returns {VGeoCut}
242
+ */
243
+ export function vgeo_select_cut(reader, view) {
244
+ assert.defined(reader.root, 'reader.root — the container must be open');
245
+
246
+ const started = performance.now();
247
+
248
+ const cut = new VGeoCut();
249
+
250
+ const k = view.screen_height / (2 * Math.tan(view.fov_y * 0.5));
251
+
252
+ /**
253
+ * Groups already queued, keyed `page · 65536 + group`. A group is referenced by every sibling
254
+ * cluster of the step that consumed it, so without this the traversal would expand it once per
255
+ * parent and the cut would carry duplicates.
256
+ *
257
+ * Multiplied rather than shifted: a page index is a u32, and `<<` would wrap it at the sixteenth
258
+ * page of a large asset.
259
+ *
260
+ * @type {Set<number>}
261
+ */
262
+ const queued = new Set();
263
+
264
+ /**
265
+ * @type {Set<number>}
266
+ */
267
+ const touched = new Set();
268
+
269
+ /**
270
+ * Wants by page index, so that many clamped clusters wanting one page produce one entry — which
271
+ * is also where {@link VGeoPageWant.reference_count} comes from.
272
+ * @type {Map<number, VGeoPageWant>}
273
+ */
274
+ const wants = new Map();
275
+
276
+ /**
277
+ * Page and group index, interleaved.
278
+ * @type {number[]}
279
+ */
280
+ const stack = [];
281
+
282
+ const root = reader.root;
283
+
284
+ for (let group = 0; group < root.group_parent_count.length; group++) {
285
+ // no cluster anywhere refines into this group, so it is the top of the DAG and selectable
286
+ // with nothing above it
287
+ if (root.group_parent_count[group] === 0) {
288
+ queued.add(group);
289
+ stack.push(0, group);
290
+ }
291
+ }
292
+
293
+ while (stack.length > 0) {
294
+ const group = stack.pop();
295
+ const page_index = stack.pop();
296
+
297
+ const page = reader.page(page_index);
298
+
299
+ if (page === undefined) {
300
+ // Evicted between being queued and being reached. Nothing here fetches, so the subtree
301
+ // is simply not selected; the clusters above it were already taken by whoever queued it.
302
+ continue;
303
+ }
304
+
305
+ cut.groups_visited++;
306
+ touched.add(page_index);
307
+
308
+ const first = page.group_cluster_first[group];
309
+ const count = page.group_cluster_count[group];
310
+
311
+ for (let i = 0; i < count; i++) {
312
+ const id = first + i;
313
+
314
+ cut.clusters_tested++;
315
+
316
+ /*
317
+ Culling on `self_sphere` rather than on the tight `bounds_sphere`, because this decides
318
+ the subtree as well as the cluster: monotonicity makes a cluster's self sphere contain
319
+ every descendant's geometry, so a self sphere outside the frustum means nothing under
320
+ it can be on screen either.
321
+ */
322
+ if (view.cull_enabled
323
+ && sphere_outside_frustum(view.frustum, page.self_sphere, id * 4)) {
324
+ cut.culled++;
325
+ continue;
326
+ }
327
+
328
+ const child_ref = page.child_ref[id];
329
+
330
+ const self_px = project_error(
331
+ page.self_error[id], page.self_sphere, id * 4, view.eye, k
332
+ );
333
+
334
+ if (self_px <= view.tau || child_ref === VGEO_NO_CHILD) {
335
+ select(cut, page, id);
336
+ continue;
337
+ }
338
+
339
+ if (child_ref === VGEO_SAME_PAGE) {
340
+ push(stack, queued, page_index, page.child_group[id]);
341
+ continue;
342
+ }
343
+
344
+ if (child_ref >= page.child_page_index.length) {
345
+ cut.broken_child_refs++;
346
+
347
+ select(cut, page, id);
348
+ continue;
349
+ }
350
+
351
+ const child_page = page.child_page_index[child_ref];
352
+
353
+ if (reader.is_resident(child_page)) {
354
+ push(stack, queued, child_page, page.child_group[id]);
355
+ continue;
356
+ }
357
+
358
+ /*
359
+ The clamp. Drawing this cluster is not a fallback for a missing one — it is the correct
360
+ coarser surface over exactly the region the missing page would have refined, which is
361
+ what makes an arriving cut watertight at every moment rather than only at the end.
362
+ */
363
+ cut.clamped++;
364
+ cut.clamped_keys.add(page_index * 65536 + id);
365
+
366
+ select(cut, page, id);
367
+
368
+ want(wants, page, child_ref, child_page, self_px);
369
+ }
370
+ }
371
+
372
+ cut.wants = Array.from(wants.values()).sort((a, b) => b.priority - a.priority);
373
+ cut.pages_touched = touched.size;
374
+ cut.duration_ms = performance.now() - started;
375
+
376
+ return cut;
377
+ }
378
+
379
+ /**
380
+ * @param {VGeoCut} cut
381
+ * @param {VGeoPage} page
382
+ * @param {number} cluster index within `page`
383
+ */
384
+ function select(cut, page, cluster) {
385
+ cut.pages.push(page);
386
+ cut.clusters.push(cluster);
387
+
388
+ cut.triangle_count += page.triangle_count[cluster];
389
+ cut.vertex_count += page.vertex_count[cluster];
390
+ }
391
+
392
+ /**
393
+ * @param {number[]} stack
394
+ * @param {Set<number>} queued
395
+ * @param {number} page_index
396
+ * @param {number} group
397
+ */
398
+ function push(stack, queued, page_index, group) {
399
+ const key = page_index * 65536 + group;
400
+
401
+ if (queued.has(key)) {
402
+ return;
403
+ }
404
+
405
+ queued.add(key);
406
+ stack.push(page_index, group);
407
+ }
408
+
409
+ /**
410
+ * Record — or reinforce — a want for the page a clamped cluster could not reach.
411
+ *
412
+ * Everything the fetch needs comes out of the child table of the page that is already here, which is
413
+ * the property (§5) that lets refinement cost one round trip and no metadata request.
414
+ *
415
+ * @param {Map<number, VGeoPageWant>} wants
416
+ * @param {VGeoPage} page the resident page holding the clamped cluster
417
+ * @param {number} child_ref index into that page's child table
418
+ * @param {number} child_page
419
+ * @param {number} projected pixels the clamped cluster's error came to
420
+ */
421
+ function want(wants, page, child_ref, child_page, projected) {
422
+ let record = wants.get(child_page);
423
+
424
+ if (record === undefined) {
425
+ record = new VGeoPageWant();
426
+
427
+ record.page_index = child_page;
428
+ record.frame_offset = page.child_frame_offset[child_ref];
429
+ record.fetch_size = page.child_fetch_size[child_ref];
430
+ record.decoded_size = page.child_decoded_size[child_ref];
431
+
432
+ wants.set(child_page, record);
433
+ }
434
+
435
+ record.reference_count++;
436
+ record.priority = Math.max(record.priority, projected);
437
+ }
@@ -48,7 +48,7 @@ export class DynamicResolutionScaling {
48
48
  /**
49
49
  * @param {number} v
50
50
  */
51
- set target_frame_rate(arg: number);
51
+ set target_frame_rate(v: number);
52
52
  /**
53
53
  * @returns {number}
54
54
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DynamicResolutionScaling.d.ts","sourceRoot":"","sources":["../../../../src/shade/renderer/DynamicResolutionScaling.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH;IAEI;;;OAGG;IACH,SAFU,OAAO,CAEF;IAEf;;;;OAIG;IACH,WAFU,MAAM,MAAM,CAEL;IAEjB;;;OAGG;IACH,eAFc,MAAM,KAAK,IAAI,CAEZ;IAEjB;;;OAGG;IACH,qBAFU,MAAM,CAEa;IAE7B;;OAEG;IACH,mCAIC;IAED;;OAEG;IACH,gCAEC;IAED;;;OAGG;IACH,WAFU,MAAM,CAEC;IAEjB;;;OAGG;IACH,WAFU,MAAM,CAEA;IAEhB;;;;OAIG;IACH,WAFU,MAAM,CAEC;IAEjB;;;;;OAKG;IACH,YAFU,MAAM,CAEE;IAElB;;;;;OAKG;IACH,kBAFU,MAAM,CAES;IAEzB;;;;OAIG;IACH,eAFU,MAAM,CAEG;IAEnB;;;;;OAKG;IACH,qBAFU,MAAM,CAEU;IAE1B;;;;OAIG;IACH,0BAFU,MAAM,CAEa;IAE7B;;;OAGG;IACH,uBAFU,MAAM,CAEU;IAE1B;;;OAGG;IACH,uBAFU,MAAM,CAEY;IAE5B;;;OAGG;IACH,eAFU,MAAM,CAEG;IA8BnB;;;OAGG;IACH,cAOC;IAED,4EAA4E;IAC5E,qCAEC;IAED,4EAA4E;IAC5E,qCAEC;IAED;;;;;OAKG;IACH,2BAFW,MAAM,QA2DhB;;CAqGJ"}
1
+ {"version":3,"file":"DynamicResolutionScaling.d.ts","sourceRoot":"","sources":["../../../../src/shade/renderer/DynamicResolutionScaling.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH;IAEI;;;OAGG;IACH,SAFU,OAAO,CAEF;IAEf;;;;OAIG;IACH,WAFU,MAAM,MAAM,CAEL;IAEjB;;;OAGG;IACH,WAFU,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI,CAEZ;IAEjB;;;OAGG;IACH,qBAFU,MAAM,CAEa;IAE7B;;OAEG;IACH,iCAIC;IAED;;OAEG;IACH,gCAEC;IAED;;;OAGG;IACH,WAFU,MAAM,CAEC;IAEjB;;;OAGG;IACH,WAFU,MAAM,CAEA;IAEhB;;;;OAIG;IACH,WAFU,MAAM,CAEC;IAEjB;;;;;OAKG;IACH,YAFU,MAAM,CAEE;IAElB;;;;;OAKG;IACH,kBAFU,MAAM,CAES;IAEzB;;;;OAIG;IACH,eAFU,MAAM,CAEG;IAEnB;;;;;OAKG;IACH,qBAFU,MAAM,CAEU;IAE1B;;;;OAIG;IACH,0BAFU,MAAM,CAEa;IAE7B;;;OAGG;IACH,uBAFU,MAAM,CAEU;IAE1B;;;OAGG;IACH,uBAFU,MAAM,CAEY;IAE5B;;;OAGG;IACH,eAFU,MAAM,CAEG;IA8BnB;;;OAGG;IACH,cAOC;IAED,4EAA4E;IAC5E,qCAEC;IAED,4EAA4E;IAC5E,qCAEC;IAED;;;;;OAKG;IACH,2BAFW,MAAM,QA2DhB;;CAqGJ"}
@@ -21,7 +21,7 @@ export class Renderer {
21
21
  * @returns {SceneManager}
22
22
  */
23
23
  get scenes(): SceneManager;
24
- set feature_shadows_enabled(arg: boolean);
24
+ set feature_shadows_enabled(v: boolean);
25
25
  get feature_shadows_enabled(): boolean;
26
26
  /**
27
27
  * Controls which indirect lighting technique is used for
@@ -72,7 +72,7 @@ export class Renderer {
72
72
  feature_tetrahedron_point_shadows: boolean;
73
73
  feature_bloom_enabled: boolean;
74
74
  feature_automatic_exposure_enabled: boolean;
75
- set exposure_compensation(arg: number);
75
+ set exposure_compensation(v: number);
76
76
  /**
77
77
  * Fixed exposure, in f-stops, used when {@link feature_automatic_exposure_enabled} is off.
78
78
  *
@@ -100,7 +100,7 @@ export class Renderer {
100
100
  * history of arbitrary parity. Reset temporal history on the transition.
101
101
  * @param {boolean} v
102
102
  */
103
- set feature_taa_enabled(arg: boolean);
103
+ set feature_taa_enabled(v: boolean);
104
104
  get feature_taa_enabled(): boolean;
105
105
  /**
106
106
  * Jimenez 2014 reconstruction-filter motion blur, runs between
@@ -212,7 +212,7 @@ export class Renderer {
212
212
  *
213
213
  * @param {number} v
214
214
  */
215
- set internal_resolution_scale(arg: number);
215
+ set internal_resolution_scale(v: number);
216
216
  /**
217
217
  *
218
218
  * @returns {number}
@@ -243,7 +243,7 @@ export class Renderer {
243
243
  *
244
244
  * @param {number} ratio
245
245
  */
246
- set pixel_ratio(arg: number);
246
+ set pixel_ratio(ratio: number);
247
247
  /**
248
248
  *
249
249
  * @return {number}
@@ -1 +1 @@
1
- {"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../../../src/shade/renderer/Renderer.js"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Renderer.d.ts","sourceRoot":"","sources":["../../../../src/shade/renderer/Renderer.js"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"GPUAnimationManager.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/animation/GPUAnimationManager.js"],"names":[],"mappings":"AAiIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH;IA6OI;;;;OAIG;IACH,sCAHW,MAAM,kCAgBhB;IAED;;OAEG;IACH,4BAEC;IAED;;;;;;;;;;;;OAYG;IACH,gCAEC;IAED;;;;;;;;;;OAUG;IACH,qCAEC;IAED;;;;;;OAMG;IACH,gCAEC;IAED;;;;;;;;;;OAUG;IACH,mCAEC;IAED;;;;;;;;;;;;OAYG;IACH,4CAFW,MAAM,QA6BhB;IAED;;;;;OAKG;IACH,kBAHW,MAAM,GACJ;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,CAK3D;IAED;;;;;;;;;;;;OAYG;IACH,gCAHW,MAAM,GACJ,MAAM,CAOlB;IAED;;;;;;;;;;;OAWG;IACH,kCAFa,MAAM,CA+BlB;IAED;;;;;;;;;;;;;;OAcG;IACH,oBAJW;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAEhD,MAAM,CA2BlB;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH;eAPc,MAAM;qBACA,MAAM;mBACR,MAAM;kBACP,MAAM;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC;QAEhE,MAAM,CAkElB;IAgCD;;;;;;;;;;;;;;;;;OAiBG;IACH,kBAHW,MAAM,QACN,MAAM,QAKhB;IAED;;;;;;;;OAQG;IACH,2BAHW,MAAM,QACN,MAAM,QAKhB;IAED;;;;;;;;;;;;;;OAcG;IACH,6BAHW,MAAM,UACN,MAAM,QAKhB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,mBAHW,MAAM,SACN,MAAM,QAShB;IAED;;;;;;;OAOG;IACH,qBAHW,MAAM,SACN,MAAM,QAShB;IAED;;;;;;;;;;;OAWG;IACH,eAFW,MAAM,QAShB;IAED;;;;;;;;;OASG;IACH,cAFW,MAAM,QAShB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH;gBAJe,MAAM;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,YAAY,GAAG,MAAM,EAAE,CAAA;SAAE,CAAC;QAEhE,MAAM,CAoElB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,2BAFa,MAAM,CA0FlB;IAyLD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,yCAFa,MAAM,CAsElB;IAwDD;;;;;;;;;;;;;;;OAeG;IACH,yBAFW,MAAM,QAoChB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,yBAFW,MAAM,QA6ChB;IAqHD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,8CAIC;IAoBD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,iEA2CC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,kDAFW,MAAM,QAmChB;IA8FD,gBAYC;;CACJ;4BAn6D2B,gCAAgC"}
1
+ {"version":3,"file":"GPUAnimationManager.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/animation/GPUAnimationManager.js"],"names":[],"mappings":"AAiIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH;IA6OI;;;;OAIG;IACH,sCAHW,MAAM,kCAgBhB;IAED;;OAEG;IACH,4BAEC;IAED;;;;;;;;;;;;OAYG;IACH,gCAEC;IAED;;;;;;;;;;OAUG;IACH,qCAEC;IAED;;;;;;OAMG;IACH,gCAEC;IAED;;;;;;;;;;OAUG;IACH,mCAEC;IAED;;;;;;;;;;;;OAYG;IACH,4CAFW,MAAM,QA6BhB;IAED;;;;;OAKG;IACH,kBAHW,MAAM,GACJ;QAAC,gBAAgB,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAC,CAK3D;IAED;;;;;;;;;;;;OAYG;IACH,gCAHW,MAAM,GACJ,MAAM,CAOlB;IAED;;;;;;;;;;;OAWG;IACH,kCAFa,MAAM,CA+BlB;IAED;;;;;;;;;;;;;;OAcG;IACH,oBAJW;QAAE,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAEhD,MAAM,CA2BlB;IAED;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,eARW;QACV,IAAU,CAAC,EAAE,MAAM,CAAC;QACpB,UAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,QAAc,CAAC,EAAE,MAAM,CAAC;QACxB,QAAc,EAAE,MAAM;YAAE,KAAK,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAC1E,GACS,MAAM,CAkElB;IAgCD;;;;;;;;;;;;;;;;;OAiBG;IACH,kBAHW,MAAM,QACN,MAAM,QAKhB;IAED;;;;;;;;OAQG;IACH,2BAHW,MAAM,QACN,MAAM,QAKhB;IAED;;;;;;;;;;;;;;OAcG;IACH,6BAHW,MAAM,UACN,MAAM,QAKhB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,mBAHW,MAAM,SACN,MAAM,QAShB;IAED;;;;;;;OAOG;IACH,qBAHW,MAAM,SACN,MAAM,QAShB;IAED;;;;;;;;;;;OAWG;IACH,eAFW,MAAM,QAShB;IAED;;;;;;;;;OASG;IACH,cAFW,MAAM,QAShB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;OA4BG;IACH,eALW;QACV,MAAY,EAAE,MAAM;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,YAAY,EAAE,YAAY,GAAG,MAAM,EAAE,CAAA;SAAE,CAAC,CAAC;KAC1E,GACS,MAAM,CAoElB;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,2BAFa,MAAM,CA0FlB;IAyLD;;;;;;;;;;;;;;;;;;;;;;;;OAwBG;IACH,yCAFa,MAAM,CAsElB;IAwDD;;;;;;;;;;;;;;;OAeG;IACH,yBAFW,MAAM,QAoChB;IAED;;;;;;;;;;;;;;;;OAgBG;IACH,yBAFW,MAAM,QA6ChB;IAqHD;;;;;;;;;;;;;;;;;;;OAmBG;IACH,8CAIC;IAoBD;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,iEA2CC;IAED;;;;;;;;;;;;;;;;;;;;;;;;;;OA0BG;IACH,kDAFW,MAAM,QAmChB;IA8FD,gBAYC;;CACJ;4BAn6D2B,gCAAgC"}
@@ -1 +1 @@
1
- {"version":3,"file":"skin_normalize_mesh_frame.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/animation/skin_normalize_mesh_frame.js"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH;kBAdqB,MAAM;cACV,MAAM;eACL,MAAM;eACN,MAAM;cACP,MAAM;gBACJ,QAAQ;cACV,QAAQ;EA4GxB"}
1
+ {"version":3,"file":"skin_normalize_mesh_frame.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/animation/skin_normalize_mesh_frame.js"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2DG;AACH,uDAfa;IACZ,YAAkB,EAAE,MAAM,CAAC;IAC3B,QAAc,EAAE,MAAM,CAAC;IACvB,SAAe,EAAE,MAAM,CAAC;IACxB,SAAe,EAAE,MAAM,CAAC;IACxB,QAAc,EAAE,MAAM,CAAC;IACvB,UAAgB,EAAE,QAAQ,CAAC;IAC3B,QAAc,EAAE,QAAQ,CAAC;CACtB,CA2GH"}
@@ -8,11 +8,11 @@ export class Camera {
8
8
  * @type {Float32Array}
9
9
  */
10
10
  frustum: Float32Array;
11
- set near(arg: number);
11
+ set near(v: number);
12
12
  get near(): number;
13
- set far(arg: number);
13
+ set far(v: number);
14
14
  get far(): number;
15
- set aspect(arg: number);
15
+ set aspect(v: number);
16
16
  get aspect(): number;
17
17
  get isReverseZ(): boolean;
18
18
  get isInfiniteFar(): boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/camera/Camera.js"],"names":[],"mappings":"AAiFA;IAMI,uBAA8B;IAE9B,0BAA4B;IAC5B,gCAAkC;IAClC,qCAAuC;IAEvC;;;OAGG;IACH,SAFU,YAAY,CAES;IAoB/B,sBAEC;IAED,mBAEC;IAED,qBAEC;IAED,kBAEC;IAED,wBAKC;IAED,qBAEC;IAED,0BAEC;IAED,6BAEC;IAED;;;OAGG;IACH,YAFW,MAAM,QAchB;IAED,aAQC;IAED,iBAEC;IAED,eAMC;IAED;;;OAGG;IACH,cAFW,MAAM,WAQhB;IAED,wBAKC;IAED,0BAEC;IAED,2BAuDC;IAED,uBAIC;IAED,eAQC;;CACJ;4BAvR2B,8CAA8C"}
1
+ {"version":3,"file":"Camera.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/camera/Camera.js"],"names":[],"mappings":"AAiFA;IAMI,uBAA8B;IAE9B,0BAA4B;IAC5B,gCAAkC;IAClC,qCAAuC;IAEvC;;;OAGG;IACH,SAFU,YAAY,CAES;IAoB/B,oBAEC;IAED,mBAEC;IAED,mBAEC;IAED,kBAEC;IAED,sBAKC;IAED,qBAEC;IAED,0BAEC;IAED,6BAEC;IAED;;;OAGG;IACH,YAFW,MAAM,QAchB;IAED,aAQC;IAED,iBAEC;IAED,eAMC;IAED;;;OAGG;IACH,cAFW,MAAM,WAQhB;IAED,wBAKC;IAED,0BAEC;IAED,2BAuDC;IAED,uBAIC;IAED,eAQC;;CACJ;4BAvR2B,8CAA8C"}
@@ -25,7 +25,7 @@ export class GPUCameraContext {
25
25
  *
26
26
  * @param {Camera} v
27
27
  */
28
- set camera(arg: Camera);
28
+ set camera(v: Camera);
29
29
  /**
30
30
  *
31
31
  * @return {Camera}
@@ -1 +1 @@
1
- {"version":3,"file":"GPUCameraContext.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/camera/GPUCameraContext.js"],"names":[],"mappings":"AAWA;IAyEI;;;;OAIG;IACH,+CAIC;IA9ED,iBAEC;IAED;;OAEG;IACH,4BAEC;IAED;;OAEG;IACH,QAFU,cAAc,CAEjB;IAyBP,2CAEC;IAED;;;;OAIG;IACH,qBAHW,MAAM,KACN,MAAM,QAKhB;IAED;;;OAGG;IACH,wBAEC;IAED;;;OAGG;IACH,qBAEC;IAaD,0BAMC;IAED;;;;OAIG;IACH,YAHW,gBAAgB,8CAkC1B;IAED,mBAQC;IAED,gBAEC;IAED,eAEC;;CA6EJ;+BArO8B,6BAA6B"}
1
+ {"version":3,"file":"GPUCameraContext.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/camera/GPUCameraContext.js"],"names":[],"mappings":"AAWA;IAyEI;;;;OAIG;IACH,+CAIC;IA9ED,iBAEC;IAED;;OAEG;IACH,4BAEC;IAED;;OAEG;IACH,QAFU,cAAc,CAEjB;IAyBP,2CAEC;IAED;;;;OAIG;IACH,qBAHW,MAAM,KACN,MAAM,QAKhB;IAED;;;OAGG;IACH,sBAEC;IAED;;;OAGG;IACH,qBAEC;IAaD,0BAMC;IAED;;;;OAIG;IACH,YAHW,gBAAgB,8CAkC1B;IAED,mBAQC;IAED,gBAEC;IAED,eAEC;;CA6EJ;+BArO8B,6BAA6B"}
@@ -1,11 +1,11 @@
1
1
  export class OrthographicCamera extends Camera {
2
- set left(arg: number);
2
+ set left(v: number);
3
3
  get left(): number;
4
- set right(arg: number);
4
+ set right(v: number);
5
5
  get right(): number;
6
- set top(arg: number);
6
+ set top(v: number);
7
7
  get top(): number;
8
- set bottom(arg: number);
8
+ set bottom(v: number);
9
9
  get bottom(): number;
10
10
  /**
11
11
  *
@@ -1 +1 @@
1
- {"version":3,"file":"OrthographicCamera.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/camera/OrthographicCamera.js"],"names":[],"mappings":"AA4CA;IAgBI,sBAEC;IAND,mBAEC;IAUD,uBAEC;IAND,oBAEC;IAUD,qBAEC;IAND,kBAEC;IAUD,wBAEC;IAND,qBAEC;IAMD;;;OAGG;IACH,2BAFW,MAAM,EAAE,QASlB;IAED;;;OAGG;IACH,YAFW,kBAAkB,QAY5B;IAED,4BAWC;IAaL;;;OAGG;IACH,sBAFU,OAAO,CAEgC;;CANhD;uBA1IsB,aAAa"}
1
+ {"version":3,"file":"OrthographicCamera.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/camera/OrthographicCamera.js"],"names":[],"mappings":"AA4CA;IAgBI,oBAEC;IAND,mBAEC;IAUD,qBAEC;IAND,oBAEC;IAUD,mBAEC;IAND,kBAEC;IAUD,sBAEC;IAND,qBAEC;IAMD;;;OAGG;IACH,2BAFW,MAAM,EAAE,QASlB;IAED;;;OAGG;IACH,YAFW,kBAAkB,QAY5B;IAED,4BAWC;IAaL;;;OAGG;IACH,sBAFU,OAAO,CAEgC;;CANhD;uBA1IsB,aAAa"}
@@ -3,7 +3,7 @@ export class PerspectiveCamera extends Camera {
3
3
  *
4
4
  * @param {number} fov_radians in Radians
5
5
  */
6
- set fov(arg: number);
6
+ set fov(fov_radians: number);
7
7
  /**
8
8
  * In Radians
9
9
  * @returns {number}
@@ -13,7 +13,7 @@ export class PerspectiveCamera extends Camera {
13
13
  * Utility property to specify FOV in degrees instead of Radians.
14
14
  * @param {number} degrees
15
15
  */
16
- set fov_degrees(arg: number);
16
+ set fov_degrees(degrees: number);
17
17
  /**
18
18
  *
19
19
  * @returns {number}
@@ -1 +1 @@
1
- {"version":3,"file":"PerspectiveCamera.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/camera/PerspectiveCamera.js"],"names":[],"mappings":"AA+CA;IAYI;;;OAGG;IACH,qBAEC;IAED;;;OAGG;IACH,kBAEC;IAED;;;OAGG;IACH,6BAEC;IAED;;;OAGG;IACH,0BAEC;IAED,4BAIC;IAGD;;;OAGG;IACH,YAFW,iBAAiB,QAS3B;IA8BL;;;OAGG;IACH,qBAFU,OAAO,CAE8B;;CAN9C;uBAtIsB,aAAa"}
1
+ {"version":3,"file":"PerspectiveCamera.d.ts","sourceRoot":"","sources":["../../../../../src/shade/renderer/camera/PerspectiveCamera.js"],"names":[],"mappings":"AA+CA;IAYI;;;OAGG;IACH,6BAEC;IAED;;;OAGG;IACH,kBAEC;IAED;;;OAGG;IACH,iCAEC;IAED;;;OAGG;IACH,0BAEC;IAED,4BAIC;IAGD;;;OAGG;IACH,YAFW,iBAAiB,QAS3B;IA8BL;;;OAGG;IACH,qBAFU,OAAO,CAE8B;;CAN9C;uBAtIsB,aAAa"}
@@ -47,9 +47,10 @@ export class OrbitalCameraController {
47
47
  _lastRecorded: Transform64;
48
48
  _lastUpdateTime: number;
49
49
  _scratchEye: Vector3;
50
+ _scratchTarget: Vector3;
50
51
  /** Zoom range, in world units (NumericInterval). Mutate `.min/.max` or `.set()`. */
51
52
  get distanceLimits(): import("../../../../core/math/interval/NumericInterval.js").NumericInterval;
52
- set movement_speed_scale(arg: number);
53
+ set movement_speed_scale(value: number);
53
54
  /** Scene-relative WASD/keyboard move speed. */
54
55
  get movement_speed_scale(): number;
55
56
  /** Current smoothed orbit distance (radius). */
@@ -72,9 +73,16 @@ export class OrbitalCameraController {
72
73
  /**
73
74
  * Adopt an external camera transform as the new orbit pose (target is placed
74
75
  * `distance` ahead along its forward).
75
- * @param {Transform} transform
76
+ *
77
+ * Read component-wise rather than through `Vector3.copy`, because a
78
+ * {@link Transform64} answers `forward` and `translation` with raw
79
+ * `Float64Array`s — no `.x`, and a `copy` of one silently sets three
80
+ * undefineds. Those two arrays are also freshly allocated per access, so
81
+ * each is read once into a scratch that outlives the call.
82
+ *
83
+ * @param {Transform64} transform
76
84
  */
77
- from_transform(transform: Transform): void;
85
+ from_transform(transform: Transform64): void;
78
86
  /**
79
87
  * Screen-space pan of the orbit target, in pointer pixels (legacy signature).
80
88
  * @param {number} delta_x
@@ -1 +1 @@
1
- {"version":3,"file":"OrbitalCameraController.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/camera/orbital/OrbitalCameraController.js"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;GAkBG;AACH;IACI;;;;OAIG;IACH,oBAJW,OAAO,yBAAyB,EAAE,iBAAiB,cACnD,WAAW,yBAuCrB;IAnCG,4DAAoB;IACpB,wBAA4B;IAE5B;;;;;;;;;;;;;OAAwD;IAGxD,uBAA4C;IAI5C,yBAA8C;IAK9C,sBAAwD;IAExD,0BAOE;IAIF,2BAAsC;IAEtC,wBAAgD;IAChD,qBAAgC;IAUpC,oFAAoF;IACpF,kGAEC;IAOD,sCAEC;IAPD,+CAA+C;IAC/C,mCAEC;IAMD,gDAAgD;IAChD,uBAEC;IAED,gFAAgF;IAChF,sBAEC;IAED;;;;OAIG;IACH,WAHW,OAAO,MACP,OAAO,QAUjB;IAED;;;;;OAKG;IACH,YAHW,OAAO,MACP,OAAO,QAUjB;IAED;;;;OAIG;IACH,2CAMC;IAED;;;;OAIG;IACH,aAHW,MAAM,WACN,MAAM,QAIhB;IAED;;;;;;OAMG;IACH,YAJW,MAAM,QAuBhB;IAED,uDAAuD;IACvD,gBAIC;IAMD;;;;;;OAMG;IACH,gBAHW,MAAM,GACJ,MAAM,CAelB;CACJ;8BAjN6B,mDAAmD;2BADtD,oDAAoD;iCAE9C,uBAAuB;mCACrB,yBAAyB;4BALhC,iDAAiD;oBAFzD,kCAAkC"}
1
+ {"version":3,"file":"OrbitalCameraController.d.ts","sourceRoot":"","sources":["../../../../../../src/shade/renderer/camera/orbital/OrbitalCameraController.js"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;;;GAkBG;AACH;IACI;;;;OAIG;IACH,oBAJW,OAAO,yBAAyB,EAAE,iBAAiB,cACnD,WAAW,yBAwCrB;IApCG,4DAAoB;IACpB,wBAA4B;IAE5B;;;;;;;;;;;;;OAAwD;IAGxD,uBAA4C;IAI5C,yBAA8C;IAK9C,sBAAwD;IAExD,0BAOE;IAIF,2BAAsC;IAEtC,wBAAgD;IAChD,qBAAgC;IAChC,wBAAmC;IAUvC,oFAAoF;IACpF,kGAEC;IAOD,wCAEC;IAPD,+CAA+C;IAC/C,mCAEC;IAMD,gDAAgD;IAChD,uBAEC;IAED,gFAAgF;IAChF,sBAEC;IAED;;;;OAIG;IACH,WAHW,OAAO,MACP,OAAO,QAUjB;IAED;;;;;OAKG;IACH,YAHW,OAAO,MACP,OAAO,QAUjB;IAED;;;;;;;;;;;OAWG;IACH,0BAFW,WAAW,QAoBrB;IAED;;;;OAIG;IACH,aAHW,MAAM,WACN,MAAM,QAIhB;IAED;;;;;;OAMG;IACH,YAJW,MAAM,QAuBhB;IAED,uDAAuD;IACvD,gBAIC;IAMD;;;;;;OAMG;IACH,gBAHW,MAAM,GACJ,MAAM,CAelB;CACJ;8BArO6B,mDAAmD;2BADtD,oDAAoD;iCAE9C,uBAAuB;mCACrB,yBAAyB;4BALhC,iDAAiD;oBAFzD,kCAAkC"}