@woosh/meep-engine 3.19.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 (809) 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/particles/effect/ParticleGraphEditorView.js +2 -2
  14. package/editor/view/particles/effect/ParticleNodeParametersView.d.ts.map +1 -1
  15. package/editor/view/particles/effect/ParticleNodeParametersView.js +7 -48
  16. package/editor/view/tools/ToolSettingsView.d.ts +1 -1
  17. package/editor/view/tools/ToolSettingsView.d.ts.map +1 -1
  18. package/package.json +12 -12
  19. package/src/core/IdPool.d.ts.map +1 -1
  20. package/src/core/binary/32BitEncoder.d.ts.map +1 -1
  21. package/src/core/binary/BinaryBuffer.d.ts +1 -1
  22. package/src/core/binary/BinaryBuffer.d.ts.map +1 -1
  23. package/src/core/bvh2/binary/2/BinaryUint32BVH.d.ts +1 -1
  24. package/src/core/bvh2/binary/2/BinaryUint32BVH.d.ts.map +1 -1
  25. package/src/core/bvh2/bvh3/BVH.d.ts +3 -3
  26. package/src/core/bvh2/bvh3/BVH.d.ts.map +1 -1
  27. package/src/core/bvh2/bvh3/BVH.js +1 -2
  28. package/src/core/bvh2/bvh3/query/bvh_query_user_data_nearest_to_point_filtered.d.ts.map +1 -1
  29. package/src/core/bvh2/traversal/aabb3_detailed_volume_intersection_callback_based.d.ts.map +1 -1
  30. package/src/core/cache/Cache.d.ts +1 -1
  31. package/src/core/cache/Cache.d.ts.map +1 -1
  32. package/src/core/cache/wtinylfu/CacheWTinylfu.d.ts.map +1 -1
  33. package/src/core/collection/array/array_group_by.d.ts.map +1 -1
  34. package/src/core/collection/array/array_group_by.js +2 -11
  35. package/src/core/collection/list/List.d.ts.map +1 -1
  36. package/src/core/collection/list/ListForwarder.d.ts +1 -1
  37. package/src/core/collection/list/ListForwarder.d.ts.map +1 -1
  38. package/src/core/collection/map/HashMap.d.ts.map +1 -1
  39. package/src/core/collection/set/ArraySet.d.ts.map +1 -1
  40. package/src/core/collection/table/RowFirstTable.d.ts +1 -1
  41. package/src/core/collection/table/RowFirstTable.d.ts.map +1 -1
  42. package/src/core/collection/table/bind/TableRecord.d.ts +1 -1
  43. package/src/core/collection/table/bind/TableRecord.d.ts.map +1 -1
  44. package/src/core/color/Color.d.ts +8 -8
  45. package/src/core/color/Color.d.ts.map +1 -1
  46. package/src/core/color/hsv/hsv_to_rgb_uint8.d.ts.map +1 -1
  47. package/src/core/color/hsv/rgb_to_hsv.d.ts.map +1 -1
  48. package/src/core/events/signal/Signal.d.ts +1 -1
  49. package/src/core/events/signal/Signal.d.ts.map +1 -1
  50. package/src/core/events/signal/signal_aggregate_by_time_window.d.ts.map +1 -1
  51. package/src/core/fsm/simple/SimpleStateMachineDescription.d.ts.map +1 -1
  52. package/src/core/geom/2d/aabb/AABB2.d.ts +4 -4
  53. package/src/core/geom/2d/aabb/AABB2.d.ts.map +1 -1
  54. package/src/core/geom/2d/bvh/BVH2D.d.ts +1 -1
  55. package/src/core/geom/2d/bvh/BVH2D.d.ts.map +1 -1
  56. package/src/core/geom/2d/triangle/tri2_rasterize_conservative.d.ts.map +1 -1
  57. package/src/core/geom/3d/aabb/AABB3.d.ts +6 -6
  58. package/src/core/geom/3d/aabb/AABB3.d.ts.map +1 -1
  59. package/src/core/geom/3d/atlas/atlas_bench_lib.d.ts.map +1 -1
  60. package/src/core/geom/3d/atlas/atlas_compute_charts.d.ts.map +1 -1
  61. package/src/core/geom/3d/atlas/atlas_generate.d.ts.map +1 -1
  62. package/src/core/geom/3d/atlas/pack/atlas_pack_charts.d.ts.map +1 -1
  63. package/src/core/geom/3d/atlas/param/atlas_chart_param_validity.d.ts.map +1 -1
  64. package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_bff.d.ts.map +1 -1
  65. package/src/core/geom/3d/atlas/param/atlas_chart_parameterize_lscm.d.ts.map +1 -1
  66. package/src/core/geom/3d/atlas/segment/atlas_compute_planar_regions.d.ts.map +1 -1
  67. package/src/core/geom/3d/atlas/segment/atlas_segment_charts.d.ts.map +1 -1
  68. package/src/core/geom/3d/atlas/segment/atlas_segment_charts_atomic.d.ts.map +1 -1
  69. package/src/core/geom/3d/mat4/m4_decompose.d.ts +7 -1
  70. package/src/core/geom/3d/mat4/m4_decompose.d.ts.map +1 -1
  71. package/src/core/geom/3d/quadric/Quadric3.d.ts +11 -11
  72. package/src/core/geom/3d/quadric/Quadric3.d.ts.map +1 -1
  73. package/src/core/geom/3d/ray/Ray3.d.ts +3 -3
  74. package/src/core/geom/3d/ray/Ray3.d.ts.map +1 -1
  75. package/src/core/geom/3d/shape/HeightMapShape3D.d.ts.map +1 -1
  76. package/src/core/geom/3d/shape/HeightMapShape3D.js +4 -9
  77. package/src/core/geom/3d/shape/TransformedShape3D.d.ts +1 -1
  78. package/src/core/geom/3d/shape/TransformedShape3D.d.ts.map +1 -1
  79. package/src/core/geom/3d/tetrahedra/TetrahedralMesh.d.ts.map +1 -1
  80. package/src/core/geom/3d/tetrahedra/delaunay/debug/push_boundary_with_validation.d.ts.map +1 -1
  81. package/src/core/geom/3d/tetrahedra/delaunay/debug/validate_cavity_boundary.d.ts.map +1 -1
  82. package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_carve_outside_surface.d.ts.map +1 -1
  83. package/src/core/geom/3d/tetrahedra/tetrahedral_mesh_improve_quality.d.ts.map +1 -1
  84. package/src/core/geom/3d/tetrahedra/validate_tetrahedral_mesh.d.ts.map +1 -1
  85. package/src/core/geom/3d/tetrahedra/validate_tetrahedron_neighbourhood.d.ts.map +1 -1
  86. package/src/core/geom/3d/topology/struct/binary/io/bt_mesh_to_indexed_geometry.d.ts.map +1 -1
  87. package/src/core/geom/3d/util/aabb3_emit_point_grid.d.ts.map +1 -1
  88. package/src/core/geom/Quaternion.d.ts +4 -4
  89. package/src/core/geom/Quaternion.d.ts.map +1 -1
  90. package/src/core/geom/Vector1.d.ts +1 -1
  91. package/src/core/geom/Vector1.d.ts.map +1 -1
  92. package/src/core/geom/Vector2.d.ts +2 -2
  93. package/src/core/geom/Vector2.d.ts.map +1 -1
  94. package/src/core/geom/Vector3.d.ts +3 -3
  95. package/src/core/geom/Vector3.d.ts.map +1 -1
  96. package/src/core/geom/Vector4.d.ts +4 -4
  97. package/src/core/geom/Vector4.d.ts.map +1 -1
  98. package/src/core/geom/packing/max-rect/find_best_container.d.ts.map +1 -1
  99. package/src/core/geom/vec3/v3_hash.d.ts +12 -0
  100. package/src/core/geom/vec3/v3_hash.d.ts.map +1 -0
  101. package/src/core/geom/vec3/v3_hash.js +19 -0
  102. package/src/core/geom/vec3/v3_lerp.d.ts +3 -1
  103. package/src/core/geom/vec3/v3_lerp.d.ts.map +1 -1
  104. package/src/core/geom/vec3/v3_set.d.ts +14 -0
  105. package/src/core/geom/vec3/v3_set.d.ts.map +1 -0
  106. package/src/core/geom/vec3/v3_set.js +17 -0
  107. package/src/core/geom/vec3/v3_slerp.d.ts +3 -1
  108. package/src/core/geom/vec3/v3_slerp.d.ts.map +1 -1
  109. package/src/core/geom/vec4/v4_equals_array.d.ts +11 -0
  110. package/src/core/geom/vec4/v4_equals_array.d.ts.map +1 -0
  111. package/src/core/geom/vec4/v4_equals_array.js +16 -0
  112. package/src/core/geom/vec4/v4_hash.d.ts +12 -0
  113. package/src/core/geom/vec4/v4_hash.d.ts.map +1 -0
  114. package/src/core/geom/vec4/v4_hash.js +18 -0
  115. package/src/core/geom/vec4/v4_set.d.ts +15 -0
  116. package/src/core/geom/vec4/v4_set.d.ts.map +1 -0
  117. package/src/core/geom/vec4/v4_set.js +19 -0
  118. package/src/core/graph/convert_graph_to_dot_string.d.ts +1 -1
  119. package/src/core/graph/convert_graph_to_dot_string.d.ts.map +1 -1
  120. package/src/core/graph/metis/native/bisection/split_graph_two_way.d.ts.map +1 -1
  121. package/src/core/graph/metis/native/metis_partition_kway.d.ts.map +1 -1
  122. package/src/core/graph/metis/native/refine/fm_kway.d.ts.map +1 -1
  123. package/src/core/json/abstractJSONSerializer.d.ts.map +1 -1
  124. package/src/core/lang/reactive/AbstractCachingParser.d.ts.map +1 -1
  125. package/src/core/localization/Localization.d.ts.map +1 -1
  126. package/src/core/math/linalg/cg/cg_solve.d.ts.map +1 -1
  127. package/src/core/math/noise/create_simplex_noise_2d.d.ts.map +1 -1
  128. package/src/core/math/physics/mie/compute_bhmie_optical_properties.d.ts.map +1 -1
  129. package/src/core/math/physics/mie/compute_mie_particle_properties_rgb.d.ts.map +1 -1
  130. package/src/core/math/random/seededRandom_Mulberry32.d.ts +1 -1
  131. package/src/core/math/random/seededRandom_Mulberry32.d.ts.map +1 -1
  132. package/src/core/model/ModuleRegistry.d.ts.map +1 -1
  133. package/src/core/model/node-graph/visual/layout/layout_assign_coordinates.d.ts.map +1 -1
  134. package/src/core/model/node-graph/visual/layout/layout_node_graph.d.ts.map +1 -1
  135. package/src/core/model/node-graph/visual/layout/layout_order_layers.d.ts.map +1 -1
  136. package/src/core/model/object/optional_clone.d.ts.map +1 -0
  137. package/src/{shade/descriptor/util → core/model/object}/optional_equality.d.ts +2 -2
  138. package/src/core/model/object/optional_equality.d.ts.map +1 -0
  139. package/src/{shade/descriptor/util → core/model/object}/optional_equality.js +2 -2
  140. package/src/{shade/descriptor/util → core/model/object}/optional_hash.d.ts +1 -1
  141. package/src/core/model/object/optional_hash.d.ts.map +1 -0
  142. package/src/{shade/descriptor/util → core/model/object}/optional_hash.js +3 -3
  143. package/src/core/model/reactive/model/ReactiveExpression.d.ts.map +1 -1
  144. package/src/core/model/validate_enum_schema.d.ts.map +1 -1
  145. package/src/core/process/Future.d.ts.map +1 -1
  146. package/src/core/process/task/Task.d.ts.map +1 -1
  147. package/src/core/process/task/util/countTask.d.ts.map +1 -1
  148. package/src/core/process/task/util/randomCountTask.d.ts.map +1 -1
  149. package/src/core/process/worker/WorkerBuilder.d.ts.map +1 -1
  150. package/src/engine/Clock.d.ts +1 -1
  151. package/src/engine/Clock.d.ts.map +1 -1
  152. package/src/engine/EngineHarness.d.ts.map +1 -1
  153. package/src/engine/animation/Animations.d.ts.map +1 -1
  154. package/src/engine/animation/EntityAnimation.d.ts.map +1 -1
  155. package/src/engine/animation/TransitionFunctions.d.ts.map +1 -1
  156. package/src/engine/animation/Tween.d.ts.map +1 -1
  157. package/src/engine/animation/curve/editor/uploadViaElement.d.ts.map +1 -1
  158. package/src/engine/animation/curve/view/AnimationCurveView.d.ts +1 -1
  159. package/src/engine/animation/curve/view/AnimationCurveView.d.ts.map +1 -1
  160. package/src/engine/asset/Asset.d.ts +1 -1
  161. package/src/engine/asset/Asset.d.ts.map +1 -1
  162. package/src/engine/asset/Asset.js +3 -1
  163. package/src/engine/asset/AssetManager.d.ts.map +1 -1
  164. package/src/engine/asset/AssetRequest.d.ts.map +1 -1
  165. package/src/engine/asset/loaders/AssetLoader.d.ts.map +1 -1
  166. package/src/engine/asset/loaders/image/avif/encode_image_source.d.ts.map +1 -1
  167. package/src/engine/asset/loaders/image/avif/threaded_image_encoder.d.ts.map +1 -1
  168. package/src/engine/browserInfo.d.ts.map +1 -1
  169. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts +1 -1
  170. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
  171. package/src/engine/control/first-person/abilities/LedgeGrab.js +9 -9
  172. package/src/engine/control/first-person/abilities/Mantle.js +8 -8
  173. package/src/engine/control/first-person/abilities/ScrambleUp.js +2 -2
  174. package/src/engine/control/first-person/abilities/WallJump.js +2 -2
  175. package/src/engine/control/first-person/abilities/WallRun.js +3 -3
  176. package/src/engine/control/first-person/collision/KinematicMover.d.ts +1 -1
  177. package/src/engine/control/first-person/collision/KinematicMover.d.ts.map +1 -1
  178. package/src/engine/control/first-person/collision/KinematicMover.js +19 -46
  179. package/src/engine/control/first-person/sensors/FirstPersonSensors.d.ts +17 -5
  180. package/src/engine/control/first-person/sensors/FirstPersonSensors.d.ts.map +1 -1
  181. package/src/engine/control/first-person/sensors/FirstPersonSensors.js +20 -7
  182. package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.d.ts.map +1 -1
  183. package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.js +9 -8
  184. package/src/engine/control/first-person/test/buildTestPlayer.d.ts.map +1 -1
  185. package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
  186. package/src/engine/ecs/EntityManager.d.ts.map +1 -1
  187. package/src/engine/ecs/EntityObserver.d.ts.map +1 -1
  188. package/src/engine/ecs/System.d.ts.map +1 -1
  189. package/src/engine/ecs/animation/Animation.d.ts +1 -1
  190. package/src/engine/ecs/animation/Animation.d.ts.map +1 -1
  191. package/src/engine/ecs/async/SystemWorkerLoopback.d.ts +3 -3
  192. package/src/engine/ecs/async/SystemWorkerLoopback.d.ts.map +1 -1
  193. package/src/engine/ecs/dynamic_actions/DynamicActorSystem.d.ts.map +1 -1
  194. package/src/engine/ecs/grid/pick.d.ts.map +1 -1
  195. package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.d.ts.map +1 -1
  196. package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.js +9 -10
  197. package/src/engine/ecs/guid/UUID.d.ts +1 -1
  198. package/src/engine/ecs/guid/UUID.d.ts.map +1 -1
  199. package/src/engine/ecs/ik/OneBoneSurfaceAlignmentSolver.d.ts.map +1 -1
  200. package/src/engine/ecs/ik/OneBoneSurfaceAlignmentSolver.js +26 -9
  201. package/src/engine/ecs/parent/EntityNode.d.ts +1 -1
  202. package/src/engine/ecs/parent/EntityNode.d.ts.map +1 -1
  203. package/src/engine/ecs/parent/FaceEditor.d.ts +7 -7
  204. package/src/engine/ecs/parent/FaceEditor.d.ts.map +1 -1
  205. package/src/engine/ecs/storage/binary/collection/BinaryCollectionDeSerializer.d.ts.map +1 -1
  206. package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter2.d.ts +2 -2
  207. package/src/engine/ecs/storage/binary/object/BinaryObjectSerializationAdapter2.d.ts.map +1 -1
  208. package/src/engine/ecs/terrain/TerrainClouds.d.ts +1 -1
  209. package/src/engine/ecs/terrain/ecs/Terrain.d.ts +1 -1
  210. package/src/engine/ecs/terrain/ecs/Terrain.d.ts.map +1 -1
  211. package/src/engine/ecs/terrain/ecs/TerrainSystem.d.ts.map +1 -1
  212. package/src/engine/ecs/terrain/overlay/TerrainOverlay.d.ts +1 -1
  213. package/src/engine/ecs/terrain/overlay/TerrainOverlay.d.ts.map +1 -1
  214. package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts +1 -1
  215. package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts.map +1 -1
  216. package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts +1 -1
  217. package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts.map +1 -1
  218. package/src/engine/ecs/terrain/util/obtainTerrain.d.ts.map +1 -1
  219. package/src/engine/ecs/transform/Transform64.d.ts +6 -6
  220. package/src/engine/ecs/transform/Transform64.d.ts.map +1 -1
  221. package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts +1 -1
  222. package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts.map +1 -1
  223. package/src/engine/graphics/FrameRunner.d.ts.map +1 -1
  224. package/src/engine/graphics/ecs/camera/camera_traverse_active.d.ts.map +1 -1
  225. package/src/engine/graphics/ecs/camera/pp/PerfectPanner.d.ts +1 -1
  226. package/src/engine/graphics/ecs/camera/pp/PerfectPanner.d.ts.map +1 -1
  227. package/src/engine/graphics/ecs/highlight/HighlightDefinition.d.ts +1 -1
  228. package/src/engine/graphics/ecs/highlight/HighlightDefinition.d.ts.map +1 -1
  229. package/src/engine/graphics/ecs/make_bvh_depth_range_computer.d.ts.map +1 -1
  230. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.d.ts +4 -4
  231. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.d.ts.map +1 -1
  232. package/src/engine/graphics/ecs/particles/ParticleEffect.d.ts.map +1 -1
  233. package/src/engine/graphics/ecs/particles/ParticleEffect.js +6 -22
  234. package/src/engine/graphics/ecs/path/tube/TubePathStyle.d.ts +1 -1
  235. package/src/engine/graphics/ecs/path/tube/TubePathStyle.d.ts.map +1 -1
  236. package/src/engine/graphics/ecs/path/tube/build/computeFrenetFrames.d.ts.map +1 -1
  237. package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts +3 -3
  238. package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts.map +1 -1
  239. package/src/engine/graphics/geometry/buffered/build_height_field_geometry.d.ts +1 -1
  240. package/src/engine/graphics/geometry/buffered/build_height_field_geometry.d.ts.map +1 -1
  241. package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.d.ts +1 -1
  242. package/src/engine/graphics/geometry/buffered/query/GeometrySpatialQueryAccelerator.d.ts.map +1 -1
  243. package/src/engine/graphics/make_ray_from_viewport_position.d.ts.map +1 -1
  244. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts.map +1 -1
  245. package/src/engine/graphics/particles/particular/engine/emitter/computeEmissionFunction.d.ts.map +1 -1
  246. package/src/engine/graphics/particles/particular/engine/utils/distribute_points_on_indexed_triangles.d.ts.map +1 -1
  247. package/src/engine/graphics/particles/particular/engine/utils/distrubuteParticlesOnMesh.d.ts.map +1 -1
  248. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts +3 -3
  249. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts.map +1 -1
  250. package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts.map +1 -1
  251. package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.d.ts +1 -1
  252. package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.d.ts.map +1 -1
  253. package/src/engine/graphics/render/layers/RenderLayer.d.ts +3 -3
  254. package/src/engine/graphics/render/layers/RenderLayer.d.ts.map +1 -1
  255. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts +1 -1
  256. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts.map +1 -1
  257. package/src/engine/graphics/render/visibility/VisibilityComputer.d.ts +2 -2
  258. package/src/engine/graphics/render/visibility/VisibilityComputer.d.ts.map +1 -1
  259. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts +1 -1
  260. package/src/engine/graphics/sh3/path_tracer/PathTracedMesh.d.ts.map +1 -1
  261. package/src/engine/graphics/sh3/path_tracer/populate_path_traced_scene_from_ecd.d.ts.map +1 -1
  262. package/src/engine/graphics/sh3/path_tracer/populate_path_traced_scene_from_ecd.js +5 -1
  263. package/src/engine/graphics/texture/3d/SingleChannelSampler3D.d.ts +1 -1
  264. package/src/engine/graphics/texture/3d/SingleChannelSampler3D.d.ts.map +1 -1
  265. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts.map +1 -1
  266. package/src/engine/graphics/texture/sampler/filter/sampler2d_scale_down_generic.d.ts +1 -1
  267. package/src/engine/graphics/texture/sampler/filter/sampler2d_scale_down_generic.d.ts.map +1 -1
  268. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_max.d.ts +1 -1
  269. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_max.d.ts.map +1 -1
  270. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_min.d.ts +1 -1
  271. package/src/engine/graphics/texture/sampler/sampler2d_channel_compute_min.d.ts.map +1 -1
  272. package/src/engine/graphics/texture/sampler/sampler2d_combine.d.ts.map +1 -1
  273. package/src/engine/graphics/texture/sampler/sampler2d_compute_texel_value_conversion_scale_to_uint8.d.ts.map +1 -1
  274. package/src/engine/graphics/texture/sampler/search/make_edge_condition_channel_threshold.d.ts.map +1 -1
  275. package/src/engine/graphics/texture/sampler/search/sampler2d_find_pixels.d.ts.map +1 -1
  276. package/src/engine/graphics/texture/virtual/VirtualTextureTileLoader.d.ts +3 -3
  277. package/src/engine/graphics/texture/virtual/VirtualTextureTileLoader.d.ts.map +1 -1
  278. package/src/engine/graphics/texture/virtual/VirtualTextureUsage.d.ts +1 -1
  279. package/src/engine/graphics/texture/virtual/VirtualTextureUsage.d.ts.map +1 -1
  280. package/src/engine/graphics/texture/virtual/debug/UsageDebugView.d.ts +2 -2
  281. package/src/engine/graphics/texture/virtual/debug/UsageDebugView.d.ts.map +1 -1
  282. package/src/engine/graphics/texture/virtual/debug/UsagePyramidDebugView.d.ts +1 -1
  283. package/src/engine/graphics/texture/virtual/debug/UsagePyramidDebugView.d.ts.map +1 -1
  284. package/src/engine/graphics/texture/virtual/tile/decompose_finger_print.d.ts.map +1 -1
  285. package/src/engine/graphics3/HighlightOutlineSystem.d.ts.map +1 -1
  286. package/src/engine/graphics3/ParticipatingMedia.d.ts +1 -1
  287. package/src/engine/graphics3/ParticipatingMedia.d.ts.map +1 -1
  288. package/src/engine/graphics3/VolumetricLightMap.d.ts +1 -1
  289. package/src/engine/graphics3/VolumetricLightMap.d.ts.map +1 -1
  290. package/src/engine/graphics3/decal/graph_build_decal_clusters.d.ts.map +1 -1
  291. package/src/engine/graphics3/highlight/pack_highlight_table.d.ts.map +1 -1
  292. package/src/engine/graphics3/preview/make_model_preview_scene.d.ts.map +1 -1
  293. package/src/engine/graphics3/terrain/GPUTerrainSplatRenderer.d.ts.map +1 -1
  294. package/src/engine/graphics3/terrain/pack_terrain_row_table.d.ts.map +1 -1
  295. package/src/engine/grid/obstacle/GridObstacle.d.ts.map +1 -1
  296. package/src/engine/input/devices/GamepadDevice.d.ts +1 -1
  297. package/src/engine/input/devices/GamepadDevice.d.ts.map +1 -1
  298. package/src/engine/input/devices/PointerDevice.d.ts +1 -1
  299. package/src/engine/input/devices/PointerDevice.d.ts.map +1 -1
  300. package/src/engine/input/ecs/controllers/KeyboardCameraController.d.ts.map +1 -1
  301. package/src/engine/input/ecs/controllers/KeyboardCameraController.js +11 -2
  302. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts +1 -1
  303. package/src/engine/intelligence/behavior/ecs/BehaviorComponent.d.ts.map +1 -1
  304. package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts.map +1 -1
  305. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts.map +1 -1
  306. package/src/engine/intelligence/behavior/util/RotationBehavior.d.ts.map +1 -1
  307. package/src/engine/intelligence/behavior/util/RotationBehavior.js +14 -2
  308. package/src/engine/intelligence/blackboard/Blackboard.d.ts.map +1 -1
  309. package/src/engine/intelligence/mcts/MonteCarlo.d.ts +1 -1
  310. package/src/engine/intelligence/mcts/MonteCarlo.d.ts.map +1 -1
  311. package/src/engine/intelligence/mcts/StateNode.d.ts.map +1 -1
  312. package/src/engine/intelligence/optimization/RandomOptimizer.d.ts +1 -1
  313. package/src/engine/intelligence/optimization/RandomOptimizer.d.ts.map +1 -1
  314. package/src/engine/knowledge/database/StaticKnowledgeDataTable.d.ts.map +1 -1
  315. package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts +1 -1
  316. package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts.map +1 -1
  317. package/src/engine/navigation/ecs/path_following/PathFollower.d.ts +2 -2
  318. package/src/engine/navigation/ecs/path_following/PathFollower.d.ts.map +1 -1
  319. package/src/engine/network/NetworkSession.d.ts.map +1 -1
  320. package/src/engine/network/PriorityFetch.d.ts +2 -2
  321. package/src/engine/network/PriorityFetch.d.ts.map +1 -1
  322. package/src/engine/network/diagnostics/BandwidthMeter.d.ts.map +1 -1
  323. package/src/engine/network/ecs/owner_authorization.d.ts.map +1 -1
  324. package/src/engine/network/orchestrator/NetworkPeer.d.ts.map +1 -1
  325. package/src/engine/network/orchestrator/ServerAuthoritativeServer.d.ts.map +1 -1
  326. package/src/engine/network/replication/Replicator.d.ts +1 -1
  327. package/src/engine/network/replication/Replicator.d.ts.map +1 -1
  328. package/src/engine/network/sim/SimActionExecutor.d.ts +1 -1
  329. package/src/engine/network/sim/SimActionExecutor.d.ts.map +1 -1
  330. package/src/engine/network/time/RenderPlayout.d.ts.map +1 -1
  331. package/src/engine/network/transport/Channel.d.ts.map +1 -1
  332. package/src/engine/network/transport/fragments/FragmentRetention.d.ts.map +1 -1
  333. package/src/engine/physics/body/SolverBodyState.d.ts +11 -11
  334. package/src/engine/physics/body/SolverBodyState.d.ts.map +1 -1
  335. package/src/engine/physics/body/SolverBodyState.js +13 -13
  336. package/src/engine/physics/broadphase/compute_fat_world_aabb.d.ts +4 -4
  337. package/src/engine/physics/broadphase/compute_fat_world_aabb.d.ts.map +1 -1
  338. package/src/engine/physics/broadphase/compute_fat_world_aabb.js +2 -2
  339. package/src/engine/physics/broadphase/generate_pairs.d.ts +3 -3
  340. package/src/engine/physics/broadphase/generate_pairs.d.ts.map +1 -1
  341. package/src/engine/physics/broadphase/generate_pairs.js +1 -1
  342. package/src/engine/physics/ccd/linear_sweep.d.ts +2 -3
  343. package/src/engine/physics/ccd/linear_sweep.d.ts.map +1 -1
  344. package/src/engine/physics/ccd/linear_sweep.js +4 -5
  345. package/src/engine/physics/constraint/solve_constraints.js +3 -3
  346. package/src/engine/physics/ecs/BodyKind.d.ts +1 -1
  347. package/src/engine/physics/ecs/BodyKind.js +1 -1
  348. package/src/engine/physics/ecs/Collider.d.ts +1 -1
  349. package/src/engine/physics/ecs/Collider.js +1 -1
  350. package/src/engine/physics/ecs/Joint.d.ts +15 -10
  351. package/src/engine/physics/ecs/Joint.d.ts.map +1 -1
  352. package/src/engine/physics/ecs/Joint.js +27 -18
  353. package/src/engine/physics/ecs/JointSerializationAdapter.d.ts.map +1 -1
  354. package/src/engine/physics/ecs/JointSerializationAdapter.js +8 -6
  355. package/src/engine/physics/ecs/PhysicsSystem.d.ts +40 -77
  356. package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
  357. package/src/engine/physics/ecs/PhysicsSystem.js +113 -75
  358. package/src/engine/physics/ecs/RigidBody.d.ts +17 -12
  359. package/src/engine/physics/ecs/RigidBody.d.ts.map +1 -1
  360. package/src/engine/physics/ecs/RigidBody.js +58 -24
  361. package/src/engine/physics/ecs/RigidBodySerializationAdapter.d.ts.map +1 -1
  362. package/src/engine/physics/ecs/RigidBodySerializationAdapter.js +13 -12
  363. package/src/engine/physics/ecs/find_non_finite_physics_state.d.ts +1 -1
  364. package/src/engine/physics/ecs/find_non_finite_physics_state.js +1 -1
  365. package/src/engine/physics/fluid/FluidField.d.ts.map +1 -1
  366. package/src/engine/physics/fluid/REVIEW_02_PLAN.md +4 -4
  367. package/src/engine/physics/fluid/SliceVisualiser.d.ts.map +1 -1
  368. package/src/engine/physics/fluid/ecs/FluidComponent.d.ts +10 -10
  369. package/src/engine/physics/fluid/ecs/FluidComponent.js +10 -10
  370. package/src/engine/physics/fluid/ecs/FluidEffectorsComponent.d.ts +2 -2
  371. package/src/engine/physics/fluid/ecs/FluidEffectorsComponent.js +2 -2
  372. package/src/engine/physics/fluid/ecs/FluidObstacle.d.ts +3 -3
  373. package/src/engine/physics/fluid/ecs/FluidObstacle.js +3 -3
  374. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +1 -1
  375. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.js +4 -4
  376. package/src/engine/physics/fluid/ecs/FluidSystem.d.ts +2 -2
  377. package/src/engine/physics/fluid/ecs/FluidSystem.js +3 -3
  378. package/src/engine/physics/fluid/ecs/WorkerFluidSystem.d.ts +1 -1
  379. package/src/engine/physics/fluid/ecs/WorkerFluidSystem.js +2 -2
  380. package/src/engine/physics/fluid/ecs/fluid_reanchor_field.d.ts +3 -3
  381. package/src/engine/physics/fluid/ecs/fluid_reanchor_field.d.ts.map +1 -1
  382. package/src/engine/physics/fluid/ecs/fluid_reanchor_field.js +3 -3
  383. package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.d.ts +3 -3
  384. package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.d.ts.map +1 -1
  385. package/src/engine/physics/fluid/ecs/fluid_sync_effectors_from_transform.js +2 -2
  386. package/src/engine/physics/fluid/effector/AbstractFluidEffector.d.ts +3 -3
  387. package/src/engine/physics/fluid/effector/AbstractFluidEffector.d.ts.map +1 -1
  388. package/src/engine/physics/fluid/effector/AbstractFluidEffector.js +2 -2
  389. package/src/engine/physics/fluid/effector/ImpulseFluidEffector.js +2 -2
  390. package/src/engine/physics/fluid/effector/WakeFluidEffector.d.ts +4 -4
  391. package/src/engine/physics/fluid/effector/WakeFluidEffector.js +8 -8
  392. package/src/engine/physics/inertia/world_inverse_inertia.d.ts +8 -17
  393. package/src/engine/physics/inertia/world_inverse_inertia.d.ts.map +1 -1
  394. package/src/engine/physics/inertia/world_inverse_inertia.js +11 -11
  395. package/src/engine/physics/integration/integrate_position.d.ts +6 -7
  396. package/src/engine/physics/integration/integrate_position.d.ts.map +1 -1
  397. package/src/engine/physics/integration/integrate_position.js +5 -6
  398. package/src/engine/physics/integration/integrate_velocity.d.ts +4 -4
  399. package/src/engine/physics/integration/integrate_velocity.d.ts.map +1 -1
  400. package/src/engine/physics/integration/integrate_velocity.js +7 -7
  401. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts +4 -4
  402. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.d.ts.map +1 -1
  403. package/src/engine/physics/inverse_kinematics/fabrik/fabrik_solve.js +3 -3
  404. package/src/engine/physics/narrowphase/convex_decomposition.d.ts.map +1 -1
  405. package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.d.ts +1 -2
  406. package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.d.ts.map +1 -1
  407. package/src/engine/physics/narrowphase/decomposition/triangle_buffer_layout.js +1 -2
  408. package/src/engine/physics/narrowphase/narrowphase_step.d.ts +7 -6
  409. package/src/engine/physics/narrowphase/narrowphase_step.d.ts.map +1 -1
  410. package/src/engine/physics/narrowphase/narrowphase_step.js +8 -8
  411. package/src/engine/physics/queries/PhysicsSurfacePoint.d.ts +10 -5
  412. package/src/engine/physics/queries/PhysicsSurfacePoint.d.ts.map +1 -1
  413. package/src/engine/physics/queries/PhysicsSurfacePoint.js +10 -6
  414. package/src/engine/physics/queries/overlap_shape.d.ts +5 -14
  415. package/src/engine/physics/queries/overlap_shape.d.ts.map +1 -1
  416. package/src/engine/physics/queries/overlap_shape.js +4 -4
  417. package/src/engine/physics/queries/raycast.d.ts.map +1 -1
  418. package/src/engine/physics/queries/shape_cast.d.ts +9 -1
  419. package/src/engine/physics/queries/shape_cast.d.ts.map +1 -1
  420. package/src/engine/physics/queries/shape_cast.js +2 -2
  421. package/src/engine/physics/solver/solve_contacts.d.ts +2 -2
  422. package/src/engine/physics/solver/solve_contacts.d.ts.map +1 -1
  423. package/src/engine/physics/solver/solve_contacts.js +2 -2
  424. package/src/engine/physics/vehicle/RaycastVehicle.d.ts +4 -8
  425. package/src/engine/physics/vehicle/RaycastVehicle.d.ts.map +1 -1
  426. package/src/engine/physics/vehicle/RaycastVehicle.js +16 -12
  427. package/src/engine/save/Storage.d.ts.map +1 -1
  428. package/src/engine/sound/SoundEngine.d.ts +1 -1
  429. package/src/engine/sound/SoundEngine.d.ts.map +1 -1
  430. package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts.map +1 -1
  431. package/src/engine/sound/ecs/audio/AudioEmitterSystem.js +27 -2
  432. package/src/engine/sound/simulation/AcousticSimulator.d.ts +2 -2
  433. package/src/engine/sound/simulation/AcousticSimulator.d.ts.map +1 -1
  434. package/src/engine/sound/simulation/core/VolumeField.d.ts +1 -1
  435. package/src/engine/sound/simulation/core/VolumeField.d.ts.map +1 -1
  436. package/src/engine/sound/simulation/probe/AcousticProbeField.d.ts.map +1 -1
  437. package/src/engine/sound/simulation/probe/probe_delaunay_edges.d.ts.map +1 -1
  438. package/src/engine/sound/simulation/probe/probe_densify_portals.d.ts.map +1 -1
  439. package/src/engine/sound/simulation/probe/probe_detect_portals.d.ts.map +1 -1
  440. package/src/engine/sound/simulation/probe/probe_place_sdf_cover.d.ts.map +1 -1
  441. package/src/engine/sound/simulation/probe/probe_refine_connectivity.d.ts.map +1 -1
  442. package/src/engine/sound/simulation/render/ProbeReverbRenderer.d.ts +1 -1
  443. package/src/engine/sound/simulation/render/ProbeReverbRenderer.d.ts.map +1 -1
  444. package/src/engine/sound/simulation/render/foaReverbImpulseResponse.d.ts.map +1 -1
  445. package/src/engine/sound/sopra/SopraEngine.d.ts.map +1 -1
  446. package/src/engine/sound/sopra/legacy/SoundEmitter.d.ts +3 -3
  447. package/src/engine/sound/sopra/legacy/SoundEmitter.d.ts.map +1 -1
  448. package/src/engine/sound/sopra/legacy/SoundTrack.d.ts +3 -3
  449. package/src/engine/sound/sopra/legacy/SoundTrack.d.ts.map +1 -1
  450. package/src/engine/sound/sopra/util/buildAttenuationCurve.d.ts.map +1 -1
  451. package/src/engine/ui/notification/NotificationManager.d.ts.map +1 -1
  452. package/src/engine/ui/notification/ViewEmitter.d.ts +1 -1
  453. package/src/engine/ui/notification/ViewEmitter.d.ts.map +1 -1
  454. package/src/engine/ui/tiles2d/TileGrid.d.ts.map +1 -1
  455. package/src/extractName.d.ts.map +1 -1
  456. package/src/format/image/avif/api/convert_to_rgba.d.ts.map +1 -1
  457. package/src/format/image/avif/av1/encode/encode_av1_still.d.ts.map +1 -1
  458. package/src/format/image/avif/heif/write_avif_file.d.ts +2 -2
  459. package/src/format/image/avif/heif/write_avif_file.d.ts.map +1 -1
  460. package/src/format/image/jpeg/JpegImage.d.ts.map +1 -1
  461. package/src/format/image/png/PNG.d.ts.map +1 -1
  462. package/src/format/image/png/chunk/png_chunk_decode_iTXt.d.ts.map +1 -1
  463. package/src/format/image/png/chunk/png_chunk_decode_zTXt.d.ts.map +1 -1
  464. package/src/format/scene/gltf/ext/GltfBufferViewExtensionSet.d.ts.map +1 -1
  465. package/src/format/scene/gltf/gltf_node_world_matrices.d.ts.map +1 -1
  466. package/src/format/scene/usd/unpack_usdz.d.ts.map +1 -1
  467. package/src/format/scene/usd/usd_triangulate.d.ts.map +1 -1
  468. package/src/format/texture/basis/astc_integer_sequence.d.ts.map +1 -1
  469. package/src/generation/grid/actions/ContinuousGridCellActionWriteObstacle.d.ts.map +1 -1
  470. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.d.ts.map +1 -1
  471. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorClingToTerrain.js +22 -3
  472. package/src/generation/markers/transform/MarkerNodeTransformerRecordPropertyClosure.d.ts.map +1 -1
  473. package/src/generation/theme/ThemeEngine.d.ts +2 -2
  474. package/src/generation/theme/ThemeEngine.d.ts.map +1 -1
  475. package/src/shade/descriptor/ObjectDescriptorBase.d.ts +1 -1
  476. package/src/shade/descriptor/ObjectDescriptorBase.d.ts.map +1 -1
  477. package/src/shade/descriptor/binding/BindGroupLayoutDescriptor.js +1 -1
  478. package/src/shade/descriptor/binding/BindGroupLayoutEntry.js +3 -3
  479. package/src/shade/descriptor/pipeline/PipelineDescriptorBase.js +1 -1
  480. package/src/shade/descriptor/pipeline/PipelineLayoutDescriptor.js +1 -1
  481. package/src/shade/descriptor/pipeline/render/ColorTargetState.js +3 -3
  482. package/src/shade/descriptor/pipeline/render/FragmentState.js +1 -1
  483. package/src/shade/descriptor/pipeline/render/RenderPipelineDescriptor.js +3 -3
  484. package/src/shade/descriptor/texture/TextureDescriptor.d.ts +1 -1
  485. package/src/shade/device/ShadeGPUCommandContext.d.ts +1 -1
  486. package/src/shade/device/ShadeGPUCommandContext.d.ts.map +1 -1
  487. package/src/shade/device/pass/ShadeGPUComputePassEncoder.d.ts +1 -1
  488. package/src/shade/device/pass/ShadeGPUComputePassEncoder.d.ts.map +1 -1
  489. package/src/shade/device/pass/ShadeGPURenderPassEncoder.d.ts +1 -1
  490. package/src/shade/device/pass/ShadeGPURenderPassEncoder.d.ts.map +1 -1
  491. package/src/shade/device/timing/GPUTimerArray.d.ts.map +1 -1
  492. package/src/shade/device/timing/GPUTimerStats.d.ts +1 -1
  493. package/src/shade/device/timing/GPUTimerStats.d.ts.map +1 -1
  494. package/src/shade/device/timing/GPU_PROFILER_PROPOSAL_2026_08_28.md +894 -894
  495. package/src/shade/playground/basis_textures/texture_inventory.d.ts.map +1 -1
  496. package/src/shade/playground/bvh_repro/bvh_repro_device.d.ts.map +1 -1
  497. package/src/shade/playground/ground_seam/capture_scene_color.d.ts.map +1 -1
  498. package/src/shade/playground/ground_seam/measure_flicker.d.ts.map +1 -1
  499. package/src/shade/playground/particle_editor/README.md +1 -1
  500. package/src/shade/playground/particle_system/index.html +0 -1
  501. package/src/shade/playground/particle_system/main.js +1 -2
  502. package/src/shade/playground/particle_system/particle_prototype.d.ts +7 -9
  503. package/src/shade/playground/particle_system/particle_prototype.d.ts.map +1 -1
  504. package/src/shade/playground/particle_system/particle_prototype.js +7 -9
  505. package/src/shade/playground/particle_system/particle_scene.d.ts +5 -6
  506. package/src/shade/playground/particle_system/particle_scene.d.ts.map +1 -1
  507. package/src/shade/playground/particle_system/particle_scene.js +6 -7
  508. package/src/shade/playground/skinned_blas_refit/sweep_views.js +2 -2
  509. package/src/shade/playground/skinned_blas_refit/verify_traversal_reachability.js +1 -1
  510. package/src/shade/playground/ssr_motion/README.md +22 -0
  511. package/src/shade/playground/ssr_motion/index.html +18 -0
  512. package/src/shade/playground/ssr_motion/main.d.ts +2 -0
  513. package/src/shade/playground/ssr_motion/main.d.ts.map +1 -0
  514. package/src/shade/playground/ssr_motion/main.js +149 -0
  515. package/src/shade/playground/ssr_variance/index.html +1 -0
  516. package/src/shade/playground/vgeo_viewer/README.md +123 -0
  517. package/src/shade/playground/vgeo_viewer/cut_geometry.d.ts +61 -0
  518. package/src/shade/playground/vgeo_viewer/cut_geometry.d.ts.map +1 -0
  519. package/src/shade/playground/vgeo_viewer/cut_geometry.js +497 -0
  520. package/src/shade/playground/vgeo_viewer/index.html +77 -0
  521. package/src/shade/playground/vgeo_viewer/main.d.ts +2 -0
  522. package/src/shade/playground/vgeo_viewer/main.d.ts.map +1 -0
  523. package/src/shade/playground/vgeo_viewer/main.js +1288 -0
  524. package/src/shade/playground/vgeo_viewer/sample_asset.d.ts +18 -0
  525. package/src/shade/playground/vgeo_viewer/sample_asset.d.ts.map +1 -0
  526. package/src/shade/playground/vgeo_viewer/sample_asset.js +117 -0
  527. package/src/shade/playground/vgeo_viewer/select_cut.d.ts +154 -0
  528. package/src/shade/playground/vgeo_viewer/select_cut.d.ts.map +1 -0
  529. package/src/shade/playground/vgeo_viewer/select_cut.js +437 -0
  530. package/src/shade/renderer/DynamicResolutionScaling.d.ts +1 -1
  531. package/src/shade/renderer/DynamicResolutionScaling.d.ts.map +1 -1
  532. package/src/shade/renderer/Renderer.d.ts +5 -5
  533. package/src/shade/renderer/Renderer.d.ts.map +1 -1
  534. package/src/shade/renderer/animation/GPUAnimationManager.d.ts.map +1 -1
  535. package/src/shade/renderer/animation/skin_normalize_mesh_frame.d.ts.map +1 -1
  536. package/src/shade/renderer/camera/Camera.d.ts +3 -3
  537. package/src/shade/renderer/camera/Camera.d.ts.map +1 -1
  538. package/src/shade/renderer/camera/GPUCameraContext.d.ts +1 -1
  539. package/src/shade/renderer/camera/GPUCameraContext.d.ts.map +1 -1
  540. package/src/shade/renderer/camera/OrthographicCamera.d.ts +4 -4
  541. package/src/shade/renderer/camera/OrthographicCamera.d.ts.map +1 -1
  542. package/src/shade/renderer/camera/PerspectiveCamera.d.ts +2 -2
  543. package/src/shade/renderer/camera/PerspectiveCamera.d.ts.map +1 -1
  544. package/src/shade/renderer/camera/orbital/OrbitalCameraController.d.ts +11 -3
  545. package/src/shade/renderer/camera/orbital/OrbitalCameraController.d.ts.map +1 -1
  546. package/src/shade/renderer/camera/orbital/OrbitalCameraController.js +25 -5
  547. package/src/shade/renderer/extension/FrameContext.d.ts +1 -1
  548. package/src/shade/renderer/extension/FrameContext.d.ts.map +1 -1
  549. package/src/shade/renderer/extension/GBufferTextures.d.ts +4 -4
  550. package/src/shade/renderer/extension/GBufferTextures.d.ts.map +1 -1
  551. package/src/shade/renderer/extension/PresentTarget.d.ts +1 -1
  552. package/src/shade/renderer/extension/PresentTarget.d.ts.map +1 -1
  553. package/src/shade/renderer/extension/RENDER_EXTENSION_DESIGN.md +918 -918
  554. package/src/shade/renderer/extension/SceneColor.d.ts +1 -1
  555. package/src/shade/renderer/extension/SceneColor.d.ts.map +1 -1
  556. package/src/shade/renderer/extension/ViewTextures.d.ts +4 -4
  557. package/src/shade/renderer/extension/ViewTextures.d.ts.map +1 -1
  558. package/src/shade/renderer/geometry/Attribute.d.ts +1 -1
  559. package/src/shade/renderer/geometry/Attribute.d.ts.map +1 -1
  560. package/src/shade/renderer/geometry/Geometry.d.ts +1 -1
  561. package/src/shade/renderer/geometry/Geometry.d.ts.map +1 -1
  562. package/src/shade/renderer/geometry/Geometry.js +4 -7
  563. package/src/shade/renderer/geometry/bvh/bvh2_check_bounds.d.ts.map +1 -1
  564. package/src/shade/renderer/geometry/bvh/bvh2_derive_topology.d.ts.map +1 -1
  565. package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts +3 -3
  566. package/src/shade/renderer/geometry/meshlet/MeshletBatch.d.ts.map +1 -1
  567. package/src/shade/renderer/geometry/virtual/build/gltf/gltf_collect_geometries.d.ts.map +1 -1
  568. package/src/shade/renderer/geometry/virtual/format/attribute/VGEO_ATTRIBUTES.d.ts.map +1 -1
  569. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_read_frame_extent.d.ts +29 -0
  570. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_read_frame_extent.d.ts.map +1 -0
  571. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_read_frame_extent.js +59 -0
  572. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_scan_frames.d.ts +0 -1
  573. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_scan_frames.d.ts.map +1 -1
  574. package/src/shade/renderer/geometry/virtual/format/frame/vgeo_scan_frames.js +2 -23
  575. package/src/shade/renderer/geometry/virtual/format/read/VGeoByteSource.d.ts +94 -0
  576. package/src/shade/renderer/geometry/virtual/format/read/VGeoByteSource.d.ts.map +1 -0
  577. package/src/shade/renderer/geometry/virtual/format/read/VGeoByteSource.js +170 -0
  578. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerHeader.d.ts +122 -0
  579. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerHeader.d.ts.map +1 -0
  580. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerHeader.js +143 -0
  581. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.d.ts +185 -0
  582. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.d.ts.map +1 -0
  583. package/src/shade/renderer/geometry/virtual/format/read/VGeoContainerReader.js +572 -0
  584. package/src/shade/renderer/geometry/virtual/format/read/VGeoDirectory.d.ts +64 -0
  585. package/src/shade/renderer/geometry/virtual/format/read/VGeoDirectory.d.ts.map +1 -0
  586. package/src/shade/renderer/geometry/virtual/format/read/VGeoDirectory.js +80 -0
  587. package/src/shade/renderer/geometry/virtual/format/read/VGeoPage.d.ts +198 -0
  588. package/src/shade/renderer/geometry/virtual/format/read/VGeoPage.d.ts.map +1 -0
  589. package/src/shade/renderer/geometry/virtual/format/read/VGeoPage.js +232 -0
  590. package/src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.d.ts +51 -0
  591. package/src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.d.ts.map +1 -0
  592. package/src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.js +55 -0
  593. package/src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.d.ts +68 -0
  594. package/src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.d.ts.map +1 -0
  595. package/src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.js +72 -0
  596. package/src/shade/renderer/geometry/virtual/format/read/vgeo_fetch_byte_source.d.ts +28 -0
  597. package/src/shade/renderer/geometry/virtual/format/read/vgeo_fetch_byte_source.d.ts.map +1 -0
  598. package/src/shade/renderer/geometry/virtual/format/read/vgeo_fetch_byte_source.js +108 -0
  599. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_directory.d.ts +23 -0
  600. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_directory.d.ts.map +1 -0
  601. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_directory.js +83 -0
  602. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_header.d.ts +53 -0
  603. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_header.d.ts.map +1 -0
  604. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_header.js +211 -0
  605. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_page.d.ts +26 -0
  606. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_page.d.ts.map +1 -0
  607. package/src/shade/renderer/geometry/virtual/format/read/vgeo_read_page.js +271 -0
  608. package/src/shade/renderer/global_illumination/brick4/cpu/brick4_bake_for_scene.d.ts.map +1 -1
  609. package/src/shade/renderer/global_illumination/clipmap/GPUClipMap3D.d.ts +2 -2
  610. package/src/shade/renderer/global_illumination/clipmap/GPUClipMap3D.d.ts.map +1 -1
  611. package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.d.ts +1 -1
  612. package/src/shade/renderer/global_illumination/lpv/LightProbeVolume.d.ts.map +1 -1
  613. package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts +1 -1
  614. package/src/shade/renderer/global_illumination/lpv/bake/GPULightProbeVolumeRenderer.d.ts.map +1 -1
  615. package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.d.ts +1 -1
  616. package/src/shade/renderer/global_illumination/sharc/SpatialHashRadianceCache.d.ts.map +1 -1
  617. package/src/shade/renderer/gpu_primitive/bvh/check_bvh_structure.d.ts.map +1 -1
  618. package/src/shade/renderer/light/LightCollection.d.ts +2 -2
  619. package/src/shade/renderer/light/LightCollection.d.ts.map +1 -1
  620. package/src/shade/renderer/light/model/PointLight.d.ts +1 -1
  621. package/src/shade/renderer/light/model/PointLight.d.ts.map +1 -1
  622. package/src/shade/renderer/light/model/SpotLight.d.ts +1 -1
  623. package/src/shade/renderer/light/model/SpotLight.d.ts.map +1 -1
  624. package/src/shade/renderer/loader/gltf/fix_up_material_sides.d.ts.map +1 -1
  625. package/src/shade/renderer/loader/gltf/gltf_create_material.d.ts +1 -1
  626. package/src/shade/renderer/loader/gltf/gltf_create_material.d.ts.map +1 -1
  627. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts +2 -2
  628. package/src/shade/renderer/loader/gltf/tiny-gltf.d.ts.map +1 -1
  629. package/src/shade/renderer/loader/usd/usd_decode_image.d.ts +1 -1
  630. package/src/shade/renderer/loader/usd/usd_decode_image.d.ts.map +1 -1
  631. package/src/shade/renderer/material/StandardShadeMaterial.js +2 -2
  632. package/src/shade/renderer/material/util/material_convert_metallic_roughness_to_specular_glossiness.d.ts.map +1 -1
  633. package/src/shade/renderer/material/util/material_convert_specular_glossiness_to_metallic_roughness.d.ts.map +1 -1
  634. package/src/shade/renderer/particles/DESIGN.md +27 -18
  635. package/src/shade/renderer/particles/GPUParticleSystem.d.ts +24 -10
  636. package/src/shade/renderer/particles/GPUParticleSystem.d.ts.map +1 -1
  637. package/src/shade/renderer/particles/GPUParticleSystem.js +80 -73
  638. package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts +17 -16
  639. package/src/shade/renderer/particles/coherence/graph_particle_bucket.d.ts.map +1 -1
  640. package/src/shade/renderer/particles/coherence/graph_particle_bucket.js +35 -22
  641. package/src/shade/renderer/particles/graph/ParticleGroupBuilder.d.ts +7 -7
  642. package/src/shade/renderer/particles/graph/ParticleGroupBuilder.d.ts.map +1 -1
  643. package/src/shade/renderer/particles/graph/ParticleGroupBuilder.js +1 -1
  644. package/src/shade/renderer/particles/graph/ParticleNodeGroup.d.ts.map +1 -1
  645. package/src/shade/renderer/particles/graph/ParticleNodeRegistry.d.ts.map +1 -1
  646. package/src/shade/renderer/particles/graph/ParticleNodeRegistry.js +9 -15
  647. package/src/shade/renderer/particles/graph/ParticleValueType.d.ts +1 -1
  648. package/src/shade/renderer/particles/graph/ParticleValueType.d.ts.map +1 -1
  649. package/src/shade/renderer/particles/graph/make_particle_group.d.ts.map +1 -1
  650. package/src/shade/renderer/particles/graph/particle_graph_authoring.d.ts.map +1 -1
  651. package/src/shade/renderer/particles/graph/particle_group_json.d.ts.map +1 -1
  652. package/src/shade/renderer/particles/graph/particle_group_library.d.ts.map +1 -1
  653. package/src/shade/renderer/particles/graph/particle_group_library.js +8 -3
  654. package/src/shade/renderer/particles/graph/particle_node_parameters.d.ts +0 -2
  655. package/src/shade/renderer/particles/graph/particle_node_parameters.d.ts.map +1 -1
  656. package/src/shade/renderer/particles/graph/particle_node_parameters.js +0 -9
  657. package/src/shade/renderer/particles/graph/particle_node_presentation.d.ts.map +1 -1
  658. package/src/shade/renderer/particles/graph/particle_node_presentation.js +0 -10
  659. package/src/shade/renderer/particles/graph/particle_ramp.d.ts +2 -8
  660. package/src/shade/renderer/particles/graph/particle_ramp.d.ts.map +1 -1
  661. package/src/shade/renderer/particles/graph/particle_ramp.js +2 -8
  662. package/src/shade/renderer/particles/graph/validate_particle_graph.js +0 -6
  663. package/src/shade/renderer/particles/graph_particles.d.ts +11 -0
  664. package/src/shade/renderer/particles/graph_particles.d.ts.map +1 -1
  665. package/src/shade/renderer/particles/graph_particles.js +55 -37
  666. package/src/shade/renderer/particles/graph_particles_avboit.d.ts.map +1 -1
  667. package/src/shade/renderer/particles/graph_particles_avboit.js +13 -4
  668. package/src/shade/renderer/particles/graph_particles_billboard.d.ts.map +1 -1
  669. package/src/shade/renderer/particles/isa/InstructionStream.d.ts +1 -12
  670. package/src/shade/renderer/particles/isa/InstructionStream.d.ts.map +1 -1
  671. package/src/shade/renderer/particles/isa/InstructionStream.js +1 -12
  672. package/src/shade/renderer/particles/isa/ParticleVMISA.d.ts +54 -60
  673. package/src/shade/renderer/particles/isa/ParticleVMISA.d.ts.map +1 -1
  674. package/src/shade/renderer/particles/isa/ParticleVMISA.js +9 -17
  675. package/src/shade/renderer/particles/isa/particle_assembly.d.ts +0 -1
  676. package/src/shade/renderer/particles/isa/particle_assembly.d.ts.map +1 -1
  677. package/src/shade/renderer/particles/isa/particle_assembly.js +2 -16
  678. package/src/shade/renderer/particles/layout/ParticleLayout.d.ts.map +1 -1
  679. package/src/shade/renderer/particles/optimizer/dag/particle_vector_graph.d.ts +1 -1
  680. package/src/shade/renderer/particles/optimizer/dag/particle_vector_graph.js +1 -1
  681. package/src/shade/renderer/particles/optimizer/dag/particle_vector_lift.d.ts.map +1 -1
  682. package/src/shade/renderer/particles/optimizer/dag/particle_vector_lift.js +0 -14
  683. package/src/shade/renderer/particles/optimizer/dag/particle_vector_pack.d.ts.map +1 -1
  684. package/src/shade/renderer/particles/optimizer/dag/particle_vector_pack.js +3 -17
  685. package/src/shade/renderer/particles/optimizer/optimize_particle_program.d.ts +1 -1
  686. package/src/shade/renderer/particles/optimizer/optimize_particle_program.d.ts.map +1 -1
  687. package/src/shade/renderer/particles/optimizer/particle_program_analysis.d.ts.map +1 -1
  688. package/src/shade/renderer/particles/optimizer/particle_program_analysis.js +15 -36
  689. package/src/shade/renderer/particles/optimizer/particle_program_equivalence.d.ts.map +1 -1
  690. package/src/shade/renderer/particles/optimizer/particle_program_equivalence.js +1 -5
  691. package/src/shade/renderer/particles/optimizer/particle_program_fuzz.d.ts.map +1 -1
  692. package/src/shade/renderer/particles/optimizer/particle_program_fuzz.js +1 -8
  693. package/src/shade/renderer/particles/optimizer/particle_vm_semantics.d.ts +2 -11
  694. package/src/shade/renderer/particles/optimizer/particle_vm_semantics.d.ts.map +1 -1
  695. package/src/shade/renderer/particles/optimizer/particle_vm_semantics.js +2 -11
  696. package/src/shade/renderer/particles/runtime/create_particle_effect.d.ts.map +1 -1
  697. package/src/shade/renderer/particles/shaders/chunk_particle_avboit_contribution.d.ts.map +1 -1
  698. package/src/shade/renderer/particles/shaders/chunk_particle_avboit_contribution.js +13 -0
  699. package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.d.ts +3 -6
  700. package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.d.ts.map +1 -1
  701. package/src/shade/renderer/particles/shaders/shader_particle_avboit_draw.js +49 -17
  702. package/src/shade/renderer/particles/shaders/shader_particle_emit.d.ts.map +1 -1
  703. package/src/shade/renderer/particles/shaders/shader_particle_emit.js +0 -2
  704. package/src/shade/renderer/particles/shaders/shader_particle_emit_wide.d.ts.map +1 -1
  705. package/src/shade/renderer/particles/shaders/shader_particle_emit_wide.js +0 -2
  706. package/src/shade/renderer/particles/shaders/shader_particle_simulate.d.ts.map +1 -1
  707. package/src/shade/renderer/particles/shaders/shader_particle_simulate.js +1 -5
  708. package/src/shade/renderer/particles/shaders/shader_particle_simulate_wide.d.ts.map +1 -1
  709. package/src/shade/renderer/particles/shaders/shader_particle_simulate_wide.js +0 -2
  710. package/src/shade/renderer/particles/sort/graph_particle_sort.d.ts +17 -13
  711. package/src/shade/renderer/particles/sort/graph_particle_sort.d.ts.map +1 -1
  712. package/src/shade/renderer/particles/sort/graph_particle_sort.js +43 -33
  713. package/src/shade/renderer/particles/vm/ParticleVMReference.d.ts +1 -3
  714. package/src/shade/renderer/particles/vm/ParticleVMReference.d.ts.map +1 -1
  715. package/src/shade/renderer/particles/vm/ParticleVMReference.js +4 -20
  716. package/src/shade/renderer/particles/vm/chunk_particle_vm.d.ts.map +1 -1
  717. package/src/shade/renderer/particles/vm/chunk_particle_vm.js +2 -5
  718. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance.d.ts.map +1 -1
  719. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance.js +0 -2
  720. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance_wide.d.ts.map +1 -1
  721. package/src/shade/renderer/particles/warmup/shader_particle_warmup_advance_wide.js +0 -2
  722. package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts +1 -1
  723. package/src/shade/renderer/postprocess/denoise/LigmaDenoiser.d.ts.map +1 -1
  724. package/src/shade/renderer/postprocess/graph_pass_composit_red_as_rgba.d.ts.map +1 -1
  725. package/src/shade/renderer/postprocess/nss/NSS.d.ts +4 -4
  726. package/src/shade/renderer/postprocess/nss/NSS.d.ts.map +1 -1
  727. package/src/shade/renderer/postprocess/ssr/SSR.d.ts +3 -3
  728. package/src/shade/renderer/postprocess/ssr/SSR.d.ts.map +1 -1
  729. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_reprojection.d.ts.map +1 -1
  730. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_reprojection.js +21 -0
  731. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.d.ts.map +1 -1
  732. package/src/shade/renderer/postprocess/ssr/reproject/chunk_ssr_temporal_accumulate.js +4 -0
  733. package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.d.ts.map +1 -1
  734. package/src/shade/renderer/postprocess/ssr/ssr_reproject_shader.js +2 -1
  735. package/src/shade/renderer/postprocess/taa/TAA.d.ts +2 -2
  736. package/src/shade/renderer/postprocess/taa/TAA.d.ts.map +1 -1
  737. package/src/shade/renderer/rasterize/bucket/prepare_meshlet_draw_commands_by_material.d.ts.map +1 -1
  738. package/src/shade/renderer/rasterize/native/avboit/AVBOITSideChannel.d.ts.map +1 -1
  739. package/src/shade/renderer/scene/InstanceBatch.d.ts +1 -1
  740. package/src/shade/renderer/scene/InstanceBatch.d.ts.map +1 -1
  741. package/src/shade/renderer/scene/Mesh.js +1 -1
  742. package/src/shade/renderer/scene/Node3D.d.ts +3 -3
  743. package/src/shade/renderer/scene/Node3D.d.ts.map +1 -1
  744. package/src/shade/renderer/scene/bvh/StaticSceneBVH.d.ts.map +1 -1
  745. package/src/shade/renderer/shader/compiler/CodeChunk.d.ts.map +1 -1
  746. package/src/shade/renderer/shader/graph/graph_prepare_pass_input_data.d.ts.map +1 -1
  747. package/src/shade/renderer/shader/graph/graph_prepare_pass_input_data.js +11 -0
  748. package/src/shade/renderer/shader/type/WebGPUStruct.d.ts +1 -1
  749. package/src/shade/renderer/shader/type/WebGPUStruct.d.ts.map +1 -1
  750. package/src/shade/renderer/texture/GPUTextureContext.d.ts +1 -1
  751. package/src/shade/renderer/texture/GPUTextureContext.d.ts.map +1 -1
  752. package/src/shade/renderer/texture/ShadeTexture.js +1 -1
  753. package/src/shade/renderer/texture/format/sampler_descriptor_unpack.d.ts.map +1 -1
  754. package/src/shade/renderer/texture/source/ShadeImage.d.ts +7 -7
  755. package/src/shade/renderer/texture/source/ShadeImage.d.ts.map +1 -1
  756. package/src/shade/renderer/texture/virtual/VTPageTable.d.ts.map +1 -1
  757. package/src/shade/renderer/view/GPUViewContext.d.ts +2 -2
  758. package/src/shade/renderer/view/GPUViewContext.d.ts.map +1 -1
  759. package/src/shade/renderer/view/GPUViewSkyContext.d.ts +1 -1
  760. package/src/shade/renderer/view/GPUViewSkyContext.d.ts.map +1 -1
  761. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts +2 -2
  762. package/src/shade/renderer/volumetrics/GPUViewVolumetrics.d.ts.map +1 -1
  763. package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts +1 -1
  764. package/src/shade/renderer/volumetrics/ParticipatingMediaVolume.d.ts.map +1 -1
  765. package/src/shade/wgsl/emulator/CPUBitmapData.d.ts.map +1 -1
  766. package/src/view/View.d.ts +1 -1
  767. package/src/view/View.d.ts.map +1 -1
  768. package/src/view/elements/button/ButtonView.d.ts +1 -1
  769. package/src/view/elements/button/ButtonView.d.ts.map +1 -1
  770. package/src/view/elements/progress/SmoothProgressBar.d.ts +2 -2
  771. package/src/view/elements/progress/SmoothProgressBar.d.ts.map +1 -1
  772. package/src/view/elements/radial/RadialMenuElement.d.ts +3 -3
  773. package/src/view/elements/radial/RadialMenuElement.d.ts.map +1 -1
  774. package/src/view/elements/windrose/WindRoseDiagram.d.ts.map +1 -1
  775. package/src/view/layout/DockLayoutView.d.ts.map +1 -1
  776. package/src/view/layout/DrawerView.d.ts +2 -2
  777. package/src/view/layout/DrawerView.d.ts.map +1 -1
  778. package/src/view/layout/SplitView.d.ts +9 -9
  779. package/src/view/layout/SplitView.d.ts.map +1 -1
  780. package/src/view/minimap/MinimapMarkerCollection.d.ts +3 -2
  781. package/src/view/minimap/MinimapMarkerCollection.d.ts.map +1 -1
  782. package/src/view/minimap/MinimapMarkerCollection.js +28 -5
  783. package/src/view/minimap/dom/MinimapMarkerView.js +65 -34
  784. package/src/view/minimap/gl/MarkerGL.d.ts +15 -3
  785. package/src/view/minimap/gl/MarkerGL.d.ts.map +1 -1
  786. package/src/view/minimap/gl/MarkerGL.js +31 -4
  787. package/src/engine/physics/BULLET_REVIEW.md +0 -945
  788. package/src/engine/physics/CANNON_REVIEW.md +0 -1300
  789. package/src/engine/physics/CONSTRAINT_SOLVER_BENCH_LOG.md +0 -208
  790. package/src/engine/physics/CONSTRAINT_SOLVER_IMPROVEMENTS_PLAN.md +0 -364
  791. package/src/engine/physics/INTEPOLATION_SYSTEM_PLAN.md +0 -287
  792. package/src/engine/physics/JOLT_REVIEW.md +0 -913
  793. package/src/engine/physics/PLAN.md +0 -1120
  794. package/src/engine/physics/RAPIER_REVIEW.md +0 -934
  795. package/src/engine/physics/REVIEW_001_ACTION_PLAN.md +0 -642
  796. package/src/engine/physics/REVIEW_002.md +0 -151
  797. package/src/engine/physics/REVIEW_003.md +0 -166
  798. package/src/shade/descriptor/util/optional_clone.d.ts.map +0 -1
  799. package/src/shade/descriptor/util/optional_equality.d.ts.map +0 -1
  800. package/src/shade/descriptor/util/optional_hash.d.ts.map +0 -1
  801. package/src/shade/renderer/geometry/virtual/format/prototypeVGEOFormatViewer.js +0 -2063
  802. package/src/shade/renderer/particles/shaders/chunk_particle_curve_animation.d.ts +0 -19
  803. package/src/shade/renderer/particles/shaders/chunk_particle_curve_animation.d.ts.map +0 -1
  804. package/src/shade/renderer/particles/shaders/chunk_particle_curve_animation.js +0 -30
  805. package/src/shade/renderer/particles/shaders/chunk_particle_curve_disabled.d.ts +0 -11
  806. package/src/shade/renderer/particles/shaders/chunk_particle_curve_disabled.d.ts.map +0 -1
  807. package/src/shade/renderer/particles/shaders/chunk_particle_curve_disabled.js +0 -13
  808. /package/src/{shade/descriptor/util → core/model/object}/optional_clone.d.ts +0 -0
  809. /package/src/{shade/descriptor/util → core/model/object}/optional_clone.js +0 -0
@@ -0,0 +1,80 @@
1
+ /**
2
+ * The page directory, decoded — one row per page, in page-index order.
3
+ *
4
+ * Auxiliary and fully derivable from the frames (`VGEO_FORMAT.md` §3, §9): a traversal never touches
5
+ * it, because every range it needs is already in the child table of a page it holds. What it is for
6
+ * is the tasks that are not a traversal — RAM budgeting before a fetch, resuming from a disk cache,
7
+ * and reaching a page the DAG does not lead to, which is exactly what a tool looking at a file wants
8
+ * and a runtime never does.
9
+ *
10
+ * A structure of arrays because a large asset has tens of thousands of pages and every use of this
11
+ * is a scan or a single indexed lookup.
12
+ *
13
+ * @author Alex Goldring
14
+ * @copyright Company Named Limited (c) 2026
15
+ */
16
+ export class VGeoDirectory {
17
+ /**
18
+ * @type {number}
19
+ */
20
+ page_count = 0;
21
+
22
+ /**
23
+ * Absolute frame offsets. A double rather than a BigInt: every offset past 2^53 names a file
24
+ * nothing here could hold, and the ones below it are exact.
25
+ * @type {Float64Array}
26
+ */
27
+ frame_offset = new Float64Array(0);
28
+
29
+ /**
30
+ * The exact byte range to fetch each page: `[frame_offset, frame_offset + fetch_size)`.
31
+ * @type {Uint32Array}
32
+ */
33
+ fetch_size = new Uint32Array(0);
34
+
35
+ /**
36
+ * @type {Uint32Array}
37
+ */
38
+ decoded_size = new Uint32Array(0);
39
+
40
+ /**
41
+ * @type {Uint8Array}
42
+ */
43
+ min_level = new Uint8Array(0);
44
+
45
+ /**
46
+ * @type {Uint8Array}
47
+ */
48
+ max_level = new Uint8Array(0);
49
+
50
+ /**
51
+ * Bit 0 is `VGEO_DIRECTORY_FLAG_ROOT_PAGE`.
52
+ * @type {Uint16Array}
53
+ */
54
+ flags = new Uint16Array(0);
55
+
56
+ /**
57
+ * @type {Uint16Array}
58
+ */
59
+ group_count = new Uint16Array(0);
60
+
61
+ /**
62
+ * @type {Uint16Array}
63
+ */
64
+ cluster_count = new Uint16Array(0);
65
+
66
+ /**
67
+ * What every page of this asset costs decoded, summed — the whole resident footprint, known
68
+ * without decoding one.
69
+ * @returns {number}
70
+ */
71
+ get total_decoded_bytes() {
72
+ let total = 0;
73
+
74
+ for (let i = 0; i < this.page_count; i++) {
75
+ total += this.decoded_size[i];
76
+ }
77
+
78
+ return total;
79
+ }
80
+ }
@@ -0,0 +1,198 @@
1
+ /**
2
+ * One page, fetched, decoded, and parsed far enough to traverse.
3
+ *
4
+ * **A page owns its own bytes and its own tables.** That is the difference between a reader that can
5
+ * stream and one that cannot: nothing here is an index into a whole-file image, nothing is numbered
6
+ * against a total the reader would have to know up front, and dropping a page is dropping this
7
+ * object. The format is built for it — a group never spans pages, a cluster's `payload_offset` is
8
+ * into its own page's payload section, and `child_group` names a group inside the page the child
9
+ * table points at — so page-local storage is not a compromise, it is the shape the file already has.
10
+ *
11
+ * A cluster is therefore identified by a page and an index within it, and there is no global cluster
12
+ * id anywhere in this reader. The format has none either.
13
+ *
14
+ * Clusters are a structure of arrays rather than objects: an asset of any size has hundreds of
15
+ * thousands of them, a traversal reads a handful of fields from the ones it visits and nothing at
16
+ * all from the ones it skips, and an object per cluster would cost more than the page does.
17
+ *
18
+ * @author Alex Goldring
19
+ * @copyright Company Named Limited (c) 2026
20
+ */
21
+ export class VGeoPage {
22
+ /**
23
+ * Page index, which is also the frame ordinal.
24
+ * @type {number}
25
+ */
26
+ index: number;
27
+ /**
28
+ * Absolute byte offset of this page's frame in the file, and the range it was fetched from.
29
+ * @type {number}
30
+ */
31
+ frame_offset: number;
32
+ /**
33
+ * @type {number}
34
+ */
35
+ fetch_size: number;
36
+ /**
37
+ * The codec its frame stored it under. Informational once the page is here — it is decoded
38
+ * before anything reads it — and worth keeping, because it is per page and a file can carry
39
+ * both.
40
+ * @type {number}
41
+ */
42
+ codec: number;
43
+ /**
44
+ * Bytes the frame stores, before decoding. What the fetch actually cost.
45
+ * @type {number}
46
+ */
47
+ stored_size: number;
48
+ /**
49
+ * Bytes the page occupies decoded — `bytes.length`, and what it costs resident.
50
+ * @type {number}
51
+ */
52
+ decoded_size: number;
53
+ /**
54
+ * The decoded page image: page header, group table, node table, cluster records, payload.
55
+ * @type {Uint8Array}
56
+ */
57
+ bytes: Uint8Array;
58
+ /**
59
+ * The same bytes, addressed a word at a time. A `DataView` has no alignment requirement, which
60
+ * is what a payload's encoded attribute words need: their offsets are the format's, not the
61
+ * browser's.
62
+ * @type {DataView}
63
+ */
64
+ data: DataView;
65
+ /**
66
+ * @type {number}
67
+ */
68
+ min_level: number;
69
+ /**
70
+ * @type {number}
71
+ */
72
+ max_level: number;
73
+ /**
74
+ * Byte offset of this page's payload section within {@link bytes}.
75
+ * @type {number}
76
+ */
77
+ payload_offset: number;
78
+ /**
79
+ * @type {number}
80
+ */
81
+ payload_size: number;
82
+ /**
83
+ * @type {number}
84
+ */
85
+ node_count: number;
86
+ /**
87
+ * `child_ref -> page index`, out of the frame's plaintext child table.
88
+ * @type {Uint32Array}
89
+ */
90
+ child_page_index: Uint32Array;
91
+ /**
92
+ * `child_ref -> absolute frame offset`. With {@link child_fetch_size} this is the exact range to
93
+ * fetch a child page, which is what makes traversal self-sufficient: an installed page needs
94
+ * nothing but itself to reach every page one level down.
95
+ * @type {Float64Array}
96
+ */
97
+ child_frame_offset: Float64Array;
98
+ /**
99
+ * @type {Uint32Array}
100
+ */
101
+ child_fetch_size: Uint32Array;
102
+ /**
103
+ * What each child page costs decoded — RAM admission before the fetch is issued.
104
+ * @type {Uint32Array}
105
+ */
106
+ child_decoded_size: Uint32Array;
107
+ /**
108
+ * Per group: index of its first cluster within this page.
109
+ * @type {Uint16Array}
110
+ */
111
+ group_cluster_first: Uint16Array;
112
+ /**
113
+ * @type {Uint16Array}
114
+ */
115
+ group_cluster_count: Uint16Array;
116
+ /**
117
+ * How many clusters name this group as their child. Zero is what makes a group selectable with
118
+ * nothing above it — the root page's topmost groups, and only those.
119
+ * @type {Uint16Array}
120
+ */
121
+ group_parent_count: Uint16Array;
122
+ /**
123
+ * @type {number}
124
+ */
125
+ cluster_count: number;
126
+ /**
127
+ * `4 · cluster_count` — the LOD-metric sphere of the step that created each cluster.
128
+ * @type {Float32Array}
129
+ */
130
+ self_sphere: Float32Array;
131
+ /**
132
+ * @type {Float32Array}
133
+ */
134
+ self_error: Float32Array;
135
+ /**
136
+ * @type {Float32Array}
137
+ */
138
+ parent_error: Float32Array;
139
+ /**
140
+ * `4 · cluster_count` — each cluster's own tight sphere, for culling and never for the cut test.
141
+ * @type {Float32Array}
142
+ */
143
+ bounds_sphere: Float32Array;
144
+ /**
145
+ * Index into {@link child_page_index}, or `VGEO_SAME_PAGE`, or `VGEO_NO_CHILD` for a leaf.
146
+ * @type {Uint16Array}
147
+ */
148
+ child_ref: Uint16Array;
149
+ /**
150
+ * Group index within the child page — or within this one, under `VGEO_SAME_PAGE`.
151
+ * @type {Uint16Array}
152
+ */
153
+ child_group: Uint16Array;
154
+ /**
155
+ * @type {Uint32Array}
156
+ */
157
+ encoding_flags: Uint32Array;
158
+ /**
159
+ * Offset into this page's payload section.
160
+ * @type {Uint32Array}
161
+ */
162
+ cluster_payload_offset: Uint32Array;
163
+ /**
164
+ * @type {Uint8Array}
165
+ */
166
+ vertex_count: Uint8Array;
167
+ /**
168
+ * @type {Uint8Array}
169
+ */
170
+ triangle_count: Uint8Array;
171
+ /**
172
+ * Group index of each cluster, so a colour can be keyed on the residency unit.
173
+ * @type {Uint16Array}
174
+ */
175
+ group_of_cluster: Uint16Array;
176
+ /**
177
+ * How many of this page's clusters store a normal per vertex rather than one constant-compressed
178
+ * word for the whole cluster.
179
+ *
180
+ * A source carrying no normals encodes the engine default everywhere, and then a display keyed
181
+ * on the stored normal comes out one flat colour across the whole model. That is the file's truth
182
+ * and it reads exactly like a broken viewer, so it is worth counting outright.
183
+ *
184
+ * It is not a count of clusters that *have* normals: a cluster whose vertices genuinely all face
185
+ * the same way compresses to one word as well, and a flat surface is not a missing one.
186
+ *
187
+ * @type {number}
188
+ */
189
+ per_vertex_normal_cluster_count: number;
190
+ /**
191
+ * Absolute byte offset of a cluster's payload within {@link bytes}.
192
+ *
193
+ * @param {number} cluster index within this page
194
+ * @returns {number}
195
+ */
196
+ payload_at(cluster: number): number;
197
+ }
198
+ //# sourceMappingURL=VGeoPage.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VGeoPage.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shade/renderer/geometry/virtual/format/read/VGeoPage.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AACH;IACI;;;OAGG;IACH,OAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,cAFU,MAAM,CAEC;IAEjB;;OAEG;IACH,YAFU,MAAM,CAED;IAEf;;;;;OAKG;IACH,OAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,aAFU,MAAM,CAEA;IAEhB;;;OAGG;IACH,cAFU,MAAM,CAEC;IAEjB;;;OAGG;IACH,OAFU,UAAU,CAEM;IAE1B;;;;;OAKG;IACH,MAFU,QAAQ,CAEsB;IAExC;;OAEG;IACH,WAFU,MAAM,CAEF;IAEd;;OAEG;IACH,WAFU,MAAM,CAEF;IAEd;;;OAGG;IACH,gBAFU,MAAM,CAEG;IAEnB;;OAEG;IACH,cAFU,MAAM,CAEC;IAEjB;;OAEG;IACH,YAFU,MAAM,CAED;IAEf;;;OAGG;IACH,kBAFU,WAAW,CAEiB;IAEtC;;;;;OAKG;IACH,oBAFU,YAAY,CAEmB;IAEzC;;OAEG;IACH,kBAFU,WAAW,CAEiB;IAEtC;;;OAGG;IACH,oBAFU,WAAW,CAEmB;IAExC;;;OAGG;IACH,qBAFU,WAAW,CAEoB;IAEzC;;OAEG;IACH,qBAFU,WAAW,CAEoB;IAEzC;;;;OAIG;IACH,oBAFU,WAAW,CAEmB;IAExC;;OAEG;IACH,eAFU,MAAM,CAEE;IAElB;;;OAGG;IACH,aAFU,YAAY,CAEY;IAElC;;OAEG;IACH,YAFU,YAAY,CAEW;IAEjC;;OAEG;IACH,cAFU,YAAY,CAEa;IAEnC;;;OAGG;IACH,eAFU,YAAY,CAEc;IAEpC;;;OAGG;IACH,WAFU,WAAW,CAEU;IAE/B;;;OAGG;IACH,aAFU,WAAW,CAEY;IAEjC;;OAEG;IACH,gBAFU,WAAW,CAEe;IAEpC;;;OAGG;IACH,wBAFU,WAAW,CAEuB;IAE5C;;OAEG;IACH,cAFU,UAAU,CAEa;IAEjC;;OAEG;IACH,gBAFU,UAAU,CAEe;IAEnC;;;OAGG;IACH,kBAFU,WAAW,CAEiB;IAEtC;;;;;;;;;;;;OAYG;IACH,iCAFU,MAAM,CAEoB;IAEpC;;;;;OAKG;IACH,oBAHW,MAAM,GACJ,MAAM,CAIlB;CACJ"}
@@ -0,0 +1,232 @@
1
+ /**
2
+ * One page, fetched, decoded, and parsed far enough to traverse.
3
+ *
4
+ * **A page owns its own bytes and its own tables.** That is the difference between a reader that can
5
+ * stream and one that cannot: nothing here is an index into a whole-file image, nothing is numbered
6
+ * against a total the reader would have to know up front, and dropping a page is dropping this
7
+ * object. The format is built for it — a group never spans pages, a cluster's `payload_offset` is
8
+ * into its own page's payload section, and `child_group` names a group inside the page the child
9
+ * table points at — so page-local storage is not a compromise, it is the shape the file already has.
10
+ *
11
+ * A cluster is therefore identified by a page and an index within it, and there is no global cluster
12
+ * id anywhere in this reader. The format has none either.
13
+ *
14
+ * Clusters are a structure of arrays rather than objects: an asset of any size has hundreds of
15
+ * thousands of them, a traversal reads a handful of fields from the ones it visits and nothing at
16
+ * all from the ones it skips, and an object per cluster would cost more than the page does.
17
+ *
18
+ * @author Alex Goldring
19
+ * @copyright Company Named Limited (c) 2026
20
+ */
21
+ export class VGeoPage {
22
+ /**
23
+ * Page index, which is also the frame ordinal.
24
+ * @type {number}
25
+ */
26
+ index = 0;
27
+
28
+ /**
29
+ * Absolute byte offset of this page's frame in the file, and the range it was fetched from.
30
+ * @type {number}
31
+ */
32
+ frame_offset = 0;
33
+
34
+ /**
35
+ * @type {number}
36
+ */
37
+ fetch_size = 0;
38
+
39
+ /**
40
+ * The codec its frame stored it under. Informational once the page is here — it is decoded
41
+ * before anything reads it — and worth keeping, because it is per page and a file can carry
42
+ * both.
43
+ * @type {number}
44
+ */
45
+ codec = 0;
46
+
47
+ /**
48
+ * Bytes the frame stores, before decoding. What the fetch actually cost.
49
+ * @type {number}
50
+ */
51
+ stored_size = 0;
52
+
53
+ /**
54
+ * Bytes the page occupies decoded — `bytes.length`, and what it costs resident.
55
+ * @type {number}
56
+ */
57
+ decoded_size = 0;
58
+
59
+ /**
60
+ * The decoded page image: page header, group table, node table, cluster records, payload.
61
+ * @type {Uint8Array}
62
+ */
63
+ bytes = new Uint8Array(0);
64
+
65
+ /**
66
+ * The same bytes, addressed a word at a time. A `DataView` has no alignment requirement, which
67
+ * is what a payload's encoded attribute words need: their offsets are the format's, not the
68
+ * browser's.
69
+ * @type {DataView}
70
+ */
71
+ data = new DataView(new ArrayBuffer(0));
72
+
73
+ /**
74
+ * @type {number}
75
+ */
76
+ min_level = 0;
77
+
78
+ /**
79
+ * @type {number}
80
+ */
81
+ max_level = 0;
82
+
83
+ /**
84
+ * Byte offset of this page's payload section within {@link bytes}.
85
+ * @type {number}
86
+ */
87
+ payload_offset = 0;
88
+
89
+ /**
90
+ * @type {number}
91
+ */
92
+ payload_size = 0;
93
+
94
+ /**
95
+ * @type {number}
96
+ */
97
+ node_count = 0;
98
+
99
+ /**
100
+ * `child_ref -> page index`, out of the frame's plaintext child table.
101
+ * @type {Uint32Array}
102
+ */
103
+ child_page_index = new Uint32Array(0);
104
+
105
+ /**
106
+ * `child_ref -> absolute frame offset`. With {@link child_fetch_size} this is the exact range to
107
+ * fetch a child page, which is what makes traversal self-sufficient: an installed page needs
108
+ * nothing but itself to reach every page one level down.
109
+ * @type {Float64Array}
110
+ */
111
+ child_frame_offset = new Float64Array(0);
112
+
113
+ /**
114
+ * @type {Uint32Array}
115
+ */
116
+ child_fetch_size = new Uint32Array(0);
117
+
118
+ /**
119
+ * What each child page costs decoded — RAM admission before the fetch is issued.
120
+ * @type {Uint32Array}
121
+ */
122
+ child_decoded_size = new Uint32Array(0);
123
+
124
+ /**
125
+ * Per group: index of its first cluster within this page.
126
+ * @type {Uint16Array}
127
+ */
128
+ group_cluster_first = new Uint16Array(0);
129
+
130
+ /**
131
+ * @type {Uint16Array}
132
+ */
133
+ group_cluster_count = new Uint16Array(0);
134
+
135
+ /**
136
+ * How many clusters name this group as their child. Zero is what makes a group selectable with
137
+ * nothing above it — the root page's topmost groups, and only those.
138
+ * @type {Uint16Array}
139
+ */
140
+ group_parent_count = new Uint16Array(0);
141
+
142
+ /**
143
+ * @type {number}
144
+ */
145
+ cluster_count = 0;
146
+
147
+ /**
148
+ * `4 · cluster_count` — the LOD-metric sphere of the step that created each cluster.
149
+ * @type {Float32Array}
150
+ */
151
+ self_sphere = new Float32Array(0);
152
+
153
+ /**
154
+ * @type {Float32Array}
155
+ */
156
+ self_error = new Float32Array(0);
157
+
158
+ /**
159
+ * @type {Float32Array}
160
+ */
161
+ parent_error = new Float32Array(0);
162
+
163
+ /**
164
+ * `4 · cluster_count` — each cluster's own tight sphere, for culling and never for the cut test.
165
+ * @type {Float32Array}
166
+ */
167
+ bounds_sphere = new Float32Array(0);
168
+
169
+ /**
170
+ * Index into {@link child_page_index}, or `VGEO_SAME_PAGE`, or `VGEO_NO_CHILD` for a leaf.
171
+ * @type {Uint16Array}
172
+ */
173
+ child_ref = new Uint16Array(0);
174
+
175
+ /**
176
+ * Group index within the child page — or within this one, under `VGEO_SAME_PAGE`.
177
+ * @type {Uint16Array}
178
+ */
179
+ child_group = new Uint16Array(0);
180
+
181
+ /**
182
+ * @type {Uint32Array}
183
+ */
184
+ encoding_flags = new Uint32Array(0);
185
+
186
+ /**
187
+ * Offset into this page's payload section.
188
+ * @type {Uint32Array}
189
+ */
190
+ cluster_payload_offset = new Uint32Array(0);
191
+
192
+ /**
193
+ * @type {Uint8Array}
194
+ */
195
+ vertex_count = new Uint8Array(0);
196
+
197
+ /**
198
+ * @type {Uint8Array}
199
+ */
200
+ triangle_count = new Uint8Array(0);
201
+
202
+ /**
203
+ * Group index of each cluster, so a colour can be keyed on the residency unit.
204
+ * @type {Uint16Array}
205
+ */
206
+ group_of_cluster = new Uint16Array(0);
207
+
208
+ /**
209
+ * How many of this page's clusters store a normal per vertex rather than one constant-compressed
210
+ * word for the whole cluster.
211
+ *
212
+ * A source carrying no normals encodes the engine default everywhere, and then a display keyed
213
+ * on the stored normal comes out one flat colour across the whole model. That is the file's truth
214
+ * and it reads exactly like a broken viewer, so it is worth counting outright.
215
+ *
216
+ * It is not a count of clusters that *have* normals: a cluster whose vertices genuinely all face
217
+ * the same way compresses to one word as well, and a flat surface is not a missing one.
218
+ *
219
+ * @type {number}
220
+ */
221
+ per_vertex_normal_cluster_count = 0;
222
+
223
+ /**
224
+ * Absolute byte offset of a cluster's payload within {@link bytes}.
225
+ *
226
+ * @param {number} cluster index within this page
227
+ * @returns {number}
228
+ */
229
+ payload_at(cluster) {
230
+ return this.payload_offset + this.cluster_payload_offset[cluster];
231
+ }
232
+ }
@@ -0,0 +1,51 @@
1
+ /**
2
+ * A page a traversal wanted and did not have.
3
+ *
4
+ * Everything needed to fetch it is here, because everything needed to fetch it was in the child
5
+ * table of a page that *is* resident (`VGEO_FORMAT.md` §5): the exact byte range, and what it will
6
+ * cost decoded. No metadata request, no directory lookup, no second round trip — one range, and the
7
+ * page installs.
8
+ *
9
+ * A want is not an error and not a stall. The cut that produced it is a correct, watertight,
10
+ * coarser surface — the clamp §10 describes — so a reader is free to fetch wants in whatever order
11
+ * and at whatever rate it likes, or to ignore them entirely and keep drawing what it has.
12
+ * {@link priority} is what makes the order worth choosing: it is how far past the pixel threshold
13
+ * the clamped cluster projected, so the page that would fix the most visible coarseness sorts first.
14
+ *
15
+ * @author Alex Goldring
16
+ * @copyright Company Named Limited (c) 2026
17
+ */
18
+ export class VGeoPageWant {
19
+ /**
20
+ * @type {number}
21
+ */
22
+ page_index: number;
23
+ /**
24
+ * Absolute offset of the page's frame.
25
+ * @type {number}
26
+ */
27
+ frame_offset: number;
28
+ /**
29
+ * Bytes to fetch from {@link frame_offset} — the whole frame, aligned.
30
+ * @type {number}
31
+ */
32
+ fetch_size: number;
33
+ /**
34
+ * What the page will cost resident, known before it is asked for.
35
+ * @type {number}
36
+ */
37
+ decoded_size: number;
38
+ /**
39
+ * Pixels of error the clamped cluster projected. The threshold it failed is τ, so anything here
40
+ * is above it, and the excess is how much refining this page would buy.
41
+ * @type {number}
42
+ */
43
+ priority: number;
44
+ /**
45
+ * How many clusters of the current cut are waiting on this page. A page wanted by many clamped
46
+ * clusters is one whose absence is spread over more of the surface.
47
+ * @type {number}
48
+ */
49
+ reference_count: number;
50
+ }
51
+ //# sourceMappingURL=VGeoPageWant.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VGeoPageWant.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shade/renderer/geometry/virtual/format/read/VGeoPageWant.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH;IACI;;OAEG;IACH,YAFU,MAAM,CAED;IAEf;;;OAGG;IACH,cAFU,MAAM,CAEC;IAEjB;;;OAGG;IACH,YAFU,MAAM,CAED;IAEf;;;OAGG;IACH,cAFU,MAAM,CAEC;IAEjB;;;;OAIG;IACH,UAFU,MAAM,CAEH;IAEb;;;;OAIG;IACH,iBAFU,MAAM,CAEI;CACvB"}
@@ -0,0 +1,55 @@
1
+ /**
2
+ * A page a traversal wanted and did not have.
3
+ *
4
+ * Everything needed to fetch it is here, because everything needed to fetch it was in the child
5
+ * table of a page that *is* resident (`VGEO_FORMAT.md` §5): the exact byte range, and what it will
6
+ * cost decoded. No metadata request, no directory lookup, no second round trip — one range, and the
7
+ * page installs.
8
+ *
9
+ * A want is not an error and not a stall. The cut that produced it is a correct, watertight,
10
+ * coarser surface — the clamp §10 describes — so a reader is free to fetch wants in whatever order
11
+ * and at whatever rate it likes, or to ignore them entirely and keep drawing what it has.
12
+ * {@link priority} is what makes the order worth choosing: it is how far past the pixel threshold
13
+ * the clamped cluster projected, so the page that would fix the most visible coarseness sorts first.
14
+ *
15
+ * @author Alex Goldring
16
+ * @copyright Company Named Limited (c) 2026
17
+ */
18
+ export class VGeoPageWant {
19
+ /**
20
+ * @type {number}
21
+ */
22
+ page_index = 0;
23
+
24
+ /**
25
+ * Absolute offset of the page's frame.
26
+ * @type {number}
27
+ */
28
+ frame_offset = 0;
29
+
30
+ /**
31
+ * Bytes to fetch from {@link frame_offset} — the whole frame, aligned.
32
+ * @type {number}
33
+ */
34
+ fetch_size = 0;
35
+
36
+ /**
37
+ * What the page will cost resident, known before it is asked for.
38
+ * @type {number}
39
+ */
40
+ decoded_size = 0;
41
+
42
+ /**
43
+ * Pixels of error the clamped cluster projected. The threshold it failed is τ, so anything here
44
+ * is above it, and the excess is how much refining this page would buy.
45
+ * @type {number}
46
+ */
47
+ priority = 0;
48
+
49
+ /**
50
+ * How many clusters of the current cut are waiting on this page. A page wanted by many clamped
51
+ * clusters is one whose absence is spread over more of the surface.
52
+ * @type {number}
53
+ */
54
+ reference_count = 0;
55
+ }
@@ -0,0 +1,68 @@
1
+ /**
2
+ * How a {@link VGeoContainerReader} opens and grows.
3
+ *
4
+ * @author Alex Goldring
5
+ * @copyright Company Named Limited (c) 2026
6
+ */
7
+ export class VGeoReadOptions {
8
+ /**
9
+ * How many bytes to ask for on the first read.
10
+ *
11
+ * `VGEO_FORMAT.md` §10 offers two cold starts: fetch the 256-byte header, then the level table
12
+ * and root frame the header located — two round trips, exactly the bytes needed — or fetch one
13
+ * speculative head prefix and get all three at once. The second is the default here because the
14
+ * layout is coarse-first: every byte of a prefix belongs to something the reader is about to
15
+ * want anyway, so a prefix that overshoots the root frame has bought the next pages rather than
16
+ * wasted a fetch.
17
+ *
18
+ * 256 KB is one nominal page plus the head, so it covers the root frame of a default build
19
+ * whole. Set it to {@link VGEO_HEADER_SIZE} for the strict two-round-trip start, which is what a
20
+ * reader measuring cold-start bytes wants.
21
+ *
22
+ * @type {number}
23
+ */
24
+ head_prefix_bytes: number;
25
+ /**
26
+ * Whether to run the whole-file audit when the container is opened.
27
+ *
28
+ * **Off, and it is the right default.** {@link vgeo_validate_container} reads every byte of the
29
+ * file — every frame, every checksum, the directory against a full frame scan — which is the
30
+ * one thing an incremental reader exists to avoid, and it answers a question about the *writer*
31
+ * rather than about the view being put on screen. Turning it on costs the whole file and the
32
+ * whole audit, on a file that may be gigabytes.
33
+ *
34
+ * What is *not* optional, and does not live here: the reject rules of §4 and §10 that
35
+ * {@link vgeo_read_header} and {@link vgeo_read_page} apply unconditionally — magic, reader
36
+ * version, payload encoding, hash algorithm, unknown required feature bits, unknown codecs, and
37
+ * a `decoded_size` outside what the stored bytes could produce. Those are not validation; they
38
+ * are the difference between refusing a file and misreading it.
39
+ *
40
+ * @type {boolean}
41
+ */
42
+ validate: boolean;
43
+ /**
44
+ * Whether each frame's identity-seeded checksum is verified before its page is decoded.
45
+ *
46
+ * Separate from {@link validate} because it is affordable where the audit is not: a frame's
47
+ * checksum covers only that frame, so it is verified from bytes the reader has just fetched
48
+ * anyway, with no extra request and no whole-file pass. §10 requires it of a *runtime* reader,
49
+ * where corruption at a content-addressed URL is deterministic and a quarantined page is the
50
+ * difference between a coarse stand-in and a wrong surface.
51
+ *
52
+ * Off by default here for the same reason {@link validate} is: hashing every installed byte is a
53
+ * real cost, and a tool looking at a file it just built is not defending against the network.
54
+ *
55
+ * @type {boolean}
56
+ */
57
+ verify_frames: boolean;
58
+ /**
59
+ * How many page fetches may be in flight at once.
60
+ *
61
+ * Enough to keep a connection busy, few enough that a traversal's whole want list does not
62
+ * become one burst — the wants are ranked, and issuing them all at once discards the ranking.
63
+ *
64
+ * @type {number}
65
+ */
66
+ max_concurrent_fetches: number;
67
+ }
68
+ //# sourceMappingURL=VGeoReadOptions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VGeoReadOptions.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shade/renderer/geometry/virtual/format/read/VGeoReadOptions.js"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH;IACI;;;;;;;;;;;;;;;OAeG;IACH,mBAFU,MAAM,CAEe;IAE/B;;;;;;;;;;;;;;;;OAgBG;IACH,UAFU,OAAO,CAEA;IAEjB;;;;;;;;;;;;;OAaG;IACH,eAFU,OAAO,CAEK;IAEtB;;;;;;;OAOG;IACH,wBAFU,MAAM,CAEW;CAC9B"}