@woosh/meep-engine 2.165.5 → 2.165.7

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 (936) hide show
  1. package/editor/tools/v2/GizmoNode.d.ts +21 -0
  2. package/editor/tools/v2/GizmoNode.d.ts.map +1 -0
  3. package/editor/tools/v2/TransformControls.d.ts +87 -20
  4. package/editor/tools/v2/TransformControls.d.ts.map +1 -0
  5. package/editor/tools/v2/TransformControlsGizmo.d.ts +22 -0
  6. package/editor/tools/v2/TransformControlsGizmo.d.ts.map +1 -0
  7. package/editor/tools/v2/TransformControlsPlane.d.ts +6 -0
  8. package/editor/tools/v2/TransformControlsPlane.d.ts.map +1 -0
  9. package/editor/tools/v2/TranslateHelperGeometry.d.ts +6 -0
  10. package/editor/tools/v2/TranslateHelperGeometry.d.ts.map +1 -0
  11. package/package.json +1 -1
  12. package/src/core/binary/data_view/DataType2DataViewReaders.d.ts +8 -12
  13. package/src/core/binary/data_view/DataType2DataViewReaders.d.ts.map +1 -1
  14. package/src/core/binary/data_view/DataType2DataViewWriters.d.ts +8 -12
  15. package/src/core/binary/data_view/DataType2DataViewWriters.d.ts.map +1 -1
  16. package/src/core/binary/data_view/DataViewStructAccessor.d.ts +39 -18
  17. package/src/core/binary/type/BinaryDataType.d.ts +15 -15
  18. package/src/core/binary/type/DataType2TypedArrayConstructorMapping.d.ts +7 -11
  19. package/src/core/binary/type/DataType2TypedArrayConstructorMapping.d.ts.map +1 -1
  20. package/src/core/binary/type/DataTypeByteSizes.d.ts +7 -13
  21. package/src/core/binary/type/DataTypeByteSizes.d.ts.map +1 -1
  22. package/src/core/binary/type/DataTypeIndices.d.ts +8 -11
  23. package/src/core/binary/type/DataTypeIndices.d.ts.map +1 -1
  24. package/src/core/cache/Cache.d.ts +226 -56
  25. package/src/core/cache/Cache.d.ts.map +1 -1
  26. package/src/core/cache/LoadingCache.d.ts +72 -23
  27. package/src/core/collection/Stack.d.ts +2 -2
  28. package/src/core/collection/array/array_copy.d.ts +12 -7
  29. package/src/core/collection/array/computeHashArray.d.ts +9 -1
  30. package/src/core/collection/array/isArrayEqualStrict.d.ts +8 -1
  31. package/src/core/collection/array/isArraysEqualWithComparator.d.ts +10 -1
  32. package/src/core/collection/array/iterator/ArrayIteratorRandom.d.ts +3 -1
  33. package/src/core/collection/array/iterator/ArrayIteratorRandom.d.ts.map +1 -1
  34. package/src/core/collection/list/List.d.ts +334 -45
  35. package/src/core/collection/list/List.d.ts.map +1 -1
  36. package/src/core/collection/list/ListForwarder.d.ts +37 -18
  37. package/src/core/collection/map/HashMap.d.ts +199 -40
  38. package/src/core/collection/queue/Deque.d.ts +113 -37
  39. package/src/core/collection/set/ArraySet.d.ts +87 -26
  40. package/src/core/collection/set/HashSet.d.ts +66 -33
  41. package/src/core/collection/set/HashSet.d.ts.map +1 -1
  42. package/src/core/collection/table/bind/TableRecord.d.ts +21 -20
  43. package/src/core/color/Color.d.ts +1 -2
  44. package/src/core/color/Color.d.ts.map +1 -1
  45. package/src/core/events/signal/Signal.d.ts +210 -57
  46. package/src/core/events/signal/signal_filter.d.ts +1 -1
  47. package/src/core/fsm/simple/SimpleStateMachine.d.ts +83 -27
  48. package/src/core/fsm/simple/SimpleStateMachineDescription.d.ts +90 -21
  49. package/src/core/geom/2d/aabb/AABB2.d.ts +335 -51
  50. package/src/core/geom/2d/quad-tree/QuadTreeDatum.d.ts +1 -6
  51. package/src/core/geom/2d/quad-tree/QuadTreeDatum.d.ts.map +1 -1
  52. package/src/core/geom/2d/quad-tree/QuadTreeNode.d.ts +1 -2
  53. package/src/core/geom/2d/quad-tree/QuadTreeNode.d.ts.map +1 -1
  54. package/src/core/geom/3d/SurfacePoint3.d.ts +62 -17
  55. package/src/core/geom/3d/aabb/aabb3_build_corners.d.ts +13 -1
  56. package/src/core/geom/3d/frustum/read_three_planes_to_array.d.ts +7 -3
  57. package/src/core/geom/3d/line/line3_compute_nearest_point_to_point.d.ts +7 -6
  58. package/src/core/geom/3d/sphere/harmonics/sh3_sample_by_direction.d.ts +16 -6
  59. package/src/core/geom/Quaternion.d.ts +1 -2
  60. package/src/core/geom/Quaternion.d.ts.map +1 -1
  61. package/src/core/geom/Vector1.d.ts +1 -2
  62. package/src/core/geom/Vector1.d.ts.map +1 -1
  63. package/src/core/geom/Vector2.d.ts +1 -2
  64. package/src/core/geom/Vector2.d.ts.map +1 -1
  65. package/src/core/geom/Vector3.d.ts +1 -2
  66. package/src/core/geom/Vector3.d.ts.map +1 -1
  67. package/src/core/geom/Vector4.d.ts +1 -1
  68. package/src/core/geom/Vector4.d.ts.map +1 -1
  69. package/src/core/graph/v2/Graph.d.ts +4 -4
  70. package/src/core/graph/v2/Graph.d.ts.map +1 -1
  71. package/src/core/json/resolvePathByArray.d.ts +10 -1
  72. package/src/core/math/clamp.d.ts +9 -1
  73. package/src/core/math/epsilonEquals.d.ts +9 -1
  74. package/src/core/math/interval/NumericInterval.d.ts +1 -2
  75. package/src/core/math/interval/NumericInterval.d.ts.map +1 -1
  76. package/src/core/math/noise/create_simplex_noise_2d.d.ts +7 -1
  77. package/src/core/math/random/seededRandom.d.ts +3 -1
  78. package/src/core/math/remap.d.ts +12 -5
  79. package/src/core/math/sign.d.ts +10 -1
  80. package/src/core/model/BooleanVector3.d.ts +77 -28
  81. package/src/core/model/BooleanVector3.d.ts.map +1 -1
  82. package/src/core/model/BoundedValue.d.ts +5 -5
  83. package/src/core/model/BoundedValue.d.ts.map +1 -1
  84. package/src/core/model/ModuleRegistry.d.ts +45 -3
  85. package/src/core/model/ObservedBoolean.d.ts +1 -2
  86. package/src/core/model/ObservedBoolean.d.ts.map +1 -1
  87. package/src/core/model/ObservedEnum.d.ts +91 -7
  88. package/src/core/model/ObservedEnum.d.ts.map +1 -1
  89. package/src/core/model/ObservedString.d.ts +1 -2
  90. package/src/core/model/ObservedString.d.ts.map +1 -1
  91. package/src/core/model/ObservedValue.d.ts +1 -1
  92. package/src/core/model/ObservedValue.d.ts.map +1 -1
  93. package/src/core/model/node-graph/Connection.d.ts +57 -12
  94. package/src/core/model/node-graph/NodeGraph.d.ts +2 -2
  95. package/src/core/model/node-graph/node/NodeDescription.d.ts +166 -15
  96. package/src/core/model/node-graph/node/NodeDescription.d.ts.map +1 -1
  97. package/src/core/model/node-graph/node/NodeInstance.d.ts +181 -22
  98. package/src/core/model/node-graph/node/NodeInstance.d.ts.map +1 -1
  99. package/src/core/model/node-graph/node/NodeInstancePortReference.d.ts +82 -3
  100. package/src/core/model/node-graph/node/Port.d.ts +72 -3
  101. package/src/core/model/node-graph/node/Port.d.ts.map +1 -1
  102. package/src/core/model/node-graph/node/PortDirection.d.ts +7 -5
  103. package/src/core/model/node-graph/type/DataType.d.ts +61 -4
  104. package/src/core/model/node-graph/type/ParametricDataType.d.ts +0 -1
  105. package/src/core/model/node-graph/type/ParametricDataType.d.ts.map +1 -1
  106. package/src/core/model/object/ImmutableObjectPool.d.ts +1 -2
  107. package/src/core/model/object/ImmutableObjectPool.d.ts.map +1 -1
  108. package/src/core/model/object/invokeObjectEquals.d.ts +9 -5
  109. package/src/core/model/object/invokeObjectHash.d.ts +7 -5
  110. package/src/core/model/object/objectDeepEquals.d.ts +10 -1
  111. package/src/core/model/object/objectKeyByValue.d.ts +10 -1
  112. package/src/core/model/object/read_property.d.ts +11 -1
  113. package/src/core/model/object/write_property.d.ts +10 -1
  114. package/src/core/model/reactive/evaluation/MultiPredicateEvaluator.d.ts +6 -0
  115. package/src/core/model/reactive/evaluation/MultiPredicateEvaluator.d.ts.map +1 -1
  116. package/src/core/model/reactive/evaluation/MultiPredicateEvaluator.js +12 -12
  117. package/src/core/model/reactive/js/compileReactiveToJS.d.ts.map +1 -1
  118. package/src/core/model/reactive/js/compileReactiveToJS.js +35 -1
  119. package/src/core/model/reactive/model/ReactiveBinaryExpression.d.ts +1 -3
  120. package/src/core/model/reactive/model/ReactiveBinaryExpression.d.ts.map +1 -1
  121. package/src/core/model/reactive/model/ReactiveExpression.d.ts +63 -10
  122. package/src/core/model/reactive/model/ReactiveExpression.d.ts.map +1 -1
  123. package/src/core/model/reactive/model/ReactiveUnaryExpression.d.ts +0 -12
  124. package/src/core/model/reactive/model/ReactiveUnaryExpression.d.ts.map +1 -1
  125. package/src/core/model/reactive/model/arithmetic/ReactiveAdd.d.ts +1 -1
  126. package/src/core/model/reactive/model/arithmetic/ReactiveAdd.d.ts.map +1 -1
  127. package/src/core/model/reactive/model/arithmetic/ReactiveDivide.d.ts +1 -1
  128. package/src/core/model/reactive/model/arithmetic/ReactiveDivide.d.ts.map +1 -1
  129. package/src/core/model/reactive/model/arithmetic/ReactiveMultiply.d.ts +1 -1
  130. package/src/core/model/reactive/model/arithmetic/ReactiveMultiply.d.ts.map +1 -1
  131. package/src/core/model/reactive/model/arithmetic/ReactiveNegate.d.ts +1 -1
  132. package/src/core/model/reactive/model/arithmetic/ReactiveNegate.d.ts.map +1 -1
  133. package/src/core/model/reactive/model/arithmetic/ReactiveSubtract.d.ts +1 -1
  134. package/src/core/model/reactive/model/arithmetic/ReactiveSubtract.d.ts.map +1 -1
  135. package/src/core/model/reactive/model/comparative/ReactiveEquals.d.ts +1 -1
  136. package/src/core/model/reactive/model/comparative/ReactiveEquals.d.ts.map +1 -1
  137. package/src/core/model/reactive/model/comparative/ReactiveGreaterThan.d.ts +1 -1
  138. package/src/core/model/reactive/model/comparative/ReactiveGreaterThan.d.ts.map +1 -1
  139. package/src/core/model/reactive/model/comparative/ReactiveGreaterThanOrEqual.d.ts +1 -1
  140. package/src/core/model/reactive/model/comparative/ReactiveGreaterThanOrEqual.d.ts.map +1 -1
  141. package/src/core/model/reactive/model/comparative/ReactiveLessThan.d.ts +1 -1
  142. package/src/core/model/reactive/model/comparative/ReactiveLessThan.d.ts.map +1 -1
  143. package/src/core/model/reactive/model/comparative/ReactiveLessThanOrEqual.d.ts +1 -1
  144. package/src/core/model/reactive/model/comparative/ReactiveLessThanOrEqual.d.ts.map +1 -1
  145. package/src/core/model/reactive/model/comparative/ReactiveNotEquals.d.ts +1 -1
  146. package/src/core/model/reactive/model/comparative/ReactiveNotEquals.d.ts.map +1 -1
  147. package/src/core/model/reactive/model/logic/ReactiveAnd.d.ts +41 -5
  148. package/src/core/model/reactive/model/logic/ReactiveAnd.d.ts.map +1 -1
  149. package/src/core/model/reactive/model/logic/ReactiveNot.d.ts +1 -1
  150. package/src/core/model/reactive/model/logic/ReactiveNot.d.ts.map +1 -1
  151. package/src/core/model/reactive/model/logic/ReactiveOr.d.ts +2 -1
  152. package/src/core/model/reactive/model/logic/ReactiveOr.d.ts.map +1 -1
  153. package/src/core/model/reactive/model/terminal/ReactiveLiteralBoolean.d.ts +2 -1
  154. package/src/core/model/reactive/model/terminal/ReactiveLiteralBoolean.d.ts.map +1 -1
  155. package/src/core/model/reactive/model/terminal/ReactiveLiteralNumber.d.ts +2 -3
  156. package/src/core/model/reactive/model/terminal/ReactiveLiteralNumber.d.ts.map +1 -1
  157. package/src/core/model/reactive/model/terminal/ReactiveLiteralString.d.ts +2 -4
  158. package/src/core/model/reactive/model/terminal/ReactiveLiteralString.d.ts.map +1 -1
  159. package/src/core/model/reactive/model/terminal/ReactiveReference.d.ts +68 -11
  160. package/src/core/model/reactive/model/terminal/ReactiveReference.d.ts.map +1 -1
  161. package/src/core/model/stat/LinearModifier.d.ts +79 -24
  162. package/src/core/parser/simple/DataType.d.ts +13 -5
  163. package/src/core/parser/simple/Token.d.ts +52 -13
  164. package/src/core/parser/simple/readArrayLiteral.d.ts +1 -0
  165. package/src/core/parser/simple/readArrayLiteral.d.ts.map +1 -1
  166. package/src/core/parser/simple/readBooleanToken.d.ts +1 -0
  167. package/src/core/parser/simple/readBooleanToken.d.ts.map +1 -1
  168. package/src/core/parser/simple/readHexToken.d.ts +1 -0
  169. package/src/core/parser/simple/readHexToken.d.ts.map +1 -1
  170. package/src/core/parser/simple/readIdentifierToken.d.ts +1 -0
  171. package/src/core/parser/simple/readIdentifierToken.d.ts.map +1 -1
  172. package/src/core/parser/simple/readNumberToken.d.ts +1 -0
  173. package/src/core/parser/simple/readNumberToken.d.ts.map +1 -1
  174. package/src/core/parser/simple/readReferenceToken.d.ts +1 -0
  175. package/src/core/parser/simple/readReferenceToken.d.ts.map +1 -1
  176. package/src/core/parser/simple/readStringToken.d.ts +1 -0
  177. package/src/core/parser/simple/readStringToken.d.ts.map +1 -1
  178. package/src/core/parser/simple/readUnsignedIntegerToken.d.ts +1 -0
  179. package/src/core/parser/simple/readUnsignedIntegerToken.d.ts.map +1 -1
  180. package/src/core/process/BaseProcess.d.ts +17 -5
  181. package/src/core/process/BaseProcess.d.ts.map +1 -1
  182. package/src/core/process/CompositeProcess.d.ts +0 -1
  183. package/src/core/process/CompositeProcess.d.ts.map +1 -1
  184. package/src/core/process/action/AsynchronousAction.d.ts +3 -3
  185. package/src/core/process/executor/ConcurrentExecutor.d.ts +3 -3
  186. package/src/core/process/filter/MutableFilter.d.ts +1 -1
  187. package/src/core/process/filter/MutableFilter.d.ts.map +1 -1
  188. package/src/core/process/task/Task.d.ts +1 -1
  189. package/src/core/process/task/Task.d.ts.map +1 -1
  190. package/src/core/process/task/TaskGroup.d.ts +3 -3
  191. package/src/core/process/task/TaskSignal.d.ts +8 -6
  192. package/src/core/process/undo/Action.d.ts +31 -9
  193. package/src/core/process/undo/ActionGroup.d.ts +20 -5
  194. package/src/core/process/undo/ActionProcessor.d.ts +163 -27
  195. package/src/core/process/undo/ActionProcessor.d.ts.map +1 -1
  196. package/src/engine/Engine.d.ts +178 -42
  197. package/src/engine/Engine.d.ts.map +1 -1
  198. package/src/engine/EngineConfiguration.d.ts +74 -20
  199. package/src/engine/achievements/AchievementGateway.d.ts +17 -5
  200. package/src/engine/achievements/AchievementManager.d.ts +0 -1
  201. package/src/engine/achievements/AchievementManager.d.ts.map +1 -1
  202. package/src/engine/animation/Tween.d.ts +1 -1
  203. package/src/engine/animation/clip/AnimationClip.d.ts +24 -4
  204. package/src/engine/animation/clip/AnimationClipBinding.d.ts +35 -14
  205. package/src/engine/animation/curve/actionProcessorOperations/curveActions.d.ts +2 -2
  206. package/src/engine/animation/curve/actionProcessorOperations/curveActions.d.ts.map +1 -1
  207. package/src/engine/animation/curve/editor/createKeyframeMarker.d.ts +1 -1
  208. package/src/engine/animation/curve/editor/createKeyframeMarker.d.ts.map +1 -1
  209. package/src/engine/animation/keyed2/AnimationTrackPlayback.d.ts +1 -1
  210. package/src/engine/animation/keyed2/behavior/AnimationBehavior.d.ts +0 -1
  211. package/src/engine/animation/keyed2/behavior/AnimationBehavior.d.ts.map +1 -1
  212. package/src/engine/asset/Asset.d.ts +47 -7
  213. package/src/engine/asset/AssetManager.d.ts +258 -60
  214. package/src/engine/asset/AssetRequestScope.d.ts +27 -3
  215. package/src/engine/asset/AssetTransformer.d.ts +16 -5
  216. package/src/engine/asset/CORS/CrossOriginConfig.d.ts +8 -5
  217. package/src/engine/asset/CORS/CrossOriginConfig.d.ts.map +1 -1
  218. package/src/engine/asset/CORS/CrossOriginKind.d.ts +5 -4
  219. package/src/engine/asset/loaders/AssetLoader.d.ts +50 -12
  220. package/src/engine/asset/loaders/GLTFAssetLoader.d.ts +71 -6
  221. package/src/engine/asset/loaders/image/ImageRGBADataAsset.d.ts +0 -1
  222. package/src/engine/asset/loaders/image/ImageRGBADataAsset.d.ts.map +1 -1
  223. package/src/engine/asset/loaders/material/StaticMaterialCache.d.ts +30 -7
  224. package/src/engine/asset/loaders/material/computeMaterialEquality.d.ts +8 -3
  225. package/src/engine/asset/loaders/material/computeMaterialHash.d.ts +7 -3
  226. package/src/engine/asset/loaders/material/traverseMaterialTextures.d.ts +8 -3
  227. package/src/engine/asset/loaders/texture/TextureAssetLoader.d.ts +6 -6
  228. package/src/engine/asset/preloader/AssetPreloader.d.ts +6 -15
  229. package/src/engine/asset/preloader/AssetPreloader.d.ts.map +1 -1
  230. package/src/engine/control/first-person/FirstPersonPlayerController.d.ts +13 -13
  231. package/src/engine/control/first-person/FirstPersonPlayerController.d.ts.map +1 -1
  232. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts +14 -4
  233. package/src/engine/control/first-person/FirstPersonPlayerControllerSystem.d.ts.map +1 -1
  234. package/src/engine/control/first-person/sensors/FirstPersonSensorsSystem.d.ts +1 -1
  235. package/src/engine/ecs/Entity.d.ts +228 -41
  236. package/src/engine/ecs/EntityBlueprint.d.ts +43 -17
  237. package/src/engine/ecs/EntityComponentDataset.d.ts +580 -60
  238. package/src/engine/ecs/EntityComponentDataset.d.ts.map +1 -1
  239. package/src/engine/ecs/EntityManager.d.ts +10 -9
  240. package/src/engine/ecs/EntityManager.d.ts.map +1 -1
  241. package/src/engine/ecs/EntityObserver.d.ts +80 -13
  242. package/src/engine/ecs/System.d.ts +162 -33
  243. package/src/engine/ecs/animation/AnimationSerializationAdapter.d.ts +0 -1
  244. package/src/engine/ecs/animation/AnimationSerializationAdapter.d.ts.map +1 -1
  245. package/src/engine/ecs/attachment/AttachmentSystem.d.ts +1 -1
  246. package/src/engine/ecs/attachment/AttachmentSystem.d.ts.map +1 -1
  247. package/src/engine/ecs/components/PropertySetSerializationAdapter.d.ts +0 -1
  248. package/src/engine/ecs/components/PropertySetSerializationAdapter.d.ts.map +1 -1
  249. package/src/engine/ecs/components/SerializationMetadataSerializationAdapter.d.ts +0 -1
  250. package/src/engine/ecs/components/SerializationMetadataSerializationAdapter.d.ts.map +1 -1
  251. package/src/engine/ecs/components/TagSerializationAdapter.d.ts +0 -1
  252. package/src/engine/ecs/components/TagSerializationAdapter.d.ts.map +1 -1
  253. package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescriptionTable.d.ts +1 -1
  254. package/src/engine/ecs/dynamic_actions/rules/DynamicRuleDescriptionTable.d.ts.map +1 -1
  255. package/src/engine/ecs/fow/FogOfWar.d.ts +1 -1
  256. package/src/engine/ecs/fow/FogOfWarRevealerSystem.d.ts +1 -1
  257. package/src/engine/ecs/fow/FogOfWarSystem.d.ts +1 -6
  258. package/src/engine/ecs/fow/FogOfWarSystem.d.ts.map +1 -1
  259. package/src/engine/ecs/fow/serialization/FogOfWarRevealerSerializationAdapter.d.ts +0 -1
  260. package/src/engine/ecs/fow/serialization/FogOfWarRevealerSerializationAdapter.d.ts.map +1 -1
  261. package/src/engine/ecs/fow/serialization/FogOfWarSerializationAdapter.d.ts +0 -1
  262. package/src/engine/ecs/fow/serialization/FogOfWarSerializationAdapter.d.ts.map +1 -1
  263. package/src/engine/ecs/gui/GUIElement.d.ts +115 -5
  264. package/src/engine/ecs/gui/GUIElementSerializationAdapter.d.ts +0 -1
  265. package/src/engine/ecs/gui/GUIElementSerializationAdapter.d.ts.map +1 -1
  266. package/src/engine/ecs/gui/GUIElementSystem.d.ts +59 -8
  267. package/src/engine/ecs/gui/GUIElementSystem.d.ts.map +1 -1
  268. package/src/engine/ecs/gui/hud/HeadsUpDisplaySerializationAdapter.d.ts +0 -1
  269. package/src/engine/ecs/gui/hud/HeadsUpDisplaySerializationAdapter.d.ts.map +1 -1
  270. package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.d.ts +42 -6
  271. package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.d.ts.map +1 -1
  272. package/src/engine/ecs/gui/hud/HeadsUpDisplaySystem.js +65 -12
  273. package/src/engine/ecs/gui/hud/testHudEdgeStick.d.ts +2 -0
  274. package/src/engine/ecs/gui/hud/testHudEdgeStick.d.ts.map +1 -0
  275. package/src/engine/ecs/gui/hud/testHudEdgeStick.js +134 -0
  276. package/src/engine/ecs/gui/menu/radial/RadialContextMenu.d.ts +23 -22
  277. package/src/engine/ecs/gui/parallax/GuiElementParallaxSystem.d.ts +1 -1
  278. package/src/engine/ecs/gui/position/ViewportPositionSerializationAdapter.d.ts +0 -1
  279. package/src/engine/ecs/gui/position/ViewportPositionSerializationAdapter.d.ts.map +1 -1
  280. package/src/engine/ecs/gui/position/ViewportPositionSystem.d.ts +1 -1
  281. package/src/engine/ecs/gui/position/ViewportPositionSystem.d.ts.map +1 -1
  282. package/src/engine/ecs/gui/position/ViewportPositionSystem.js +44 -23
  283. package/src/engine/ecs/gui/view/ViewEntity.d.ts +1 -2
  284. package/src/engine/ecs/gui/view/ViewEntity.d.ts.map +1 -1
  285. package/src/engine/ecs/guid/UUIDSerializationAdapter.d.ts +0 -1
  286. package/src/engine/ecs/guid/UUIDSerializationAdapter.d.ts.map +1 -1
  287. package/src/engine/ecs/ik/InverseKinematicsSerializationAdapter.d.ts +0 -1
  288. package/src/engine/ecs/ik/InverseKinematicsSerializationAdapter.d.ts.map +1 -1
  289. package/src/engine/ecs/ik/InverseKinematicsSystem.d.ts +1 -1
  290. package/src/engine/ecs/ik/InverseKinematicsSystem.d.ts.map +1 -1
  291. package/src/engine/ecs/name/NameSerializationAdapter.d.ts +0 -1
  292. package/src/engine/ecs/name/NameSerializationAdapter.d.ts.map +1 -1
  293. package/src/engine/ecs/parent/ChildEntities.d.ts +23 -3
  294. package/src/engine/ecs/parent/EntityNode.d.ts +157 -25
  295. package/src/engine/ecs/parent/ParentEntity.d.ts +31 -11
  296. package/src/engine/ecs/parent/ParentEntitySystem.d.ts +44 -11
  297. package/src/engine/ecs/renderable/RenderSystem.d.ts +65 -7
  298. package/src/engine/ecs/renderable/Renderable.d.ts +95 -25
  299. package/src/engine/ecs/speaker/VoiceSystem.d.ts +3 -3
  300. package/src/engine/ecs/speaker/VoiceSystem.d.ts.map +1 -1
  301. package/src/engine/ecs/storage/binary/BinaryClassSerializationAdapter.d.ts +86 -21
  302. package/src/engine/ecs/storage/binary/object-v2/serializerTestHarness.d.ts +1 -1
  303. package/src/engine/ecs/storage/binary/object-v2/serializerTestHarness.d.ts.map +1 -1
  304. package/src/engine/ecs/system/AbstractContextSystem.d.ts +1 -1
  305. package/src/engine/ecs/system_validate_class.d.ts +1 -1
  306. package/src/engine/ecs/system_validate_class.d.ts.map +1 -1
  307. package/src/engine/ecs/systems/AnimationSystem.d.ts +41 -6
  308. package/src/engine/ecs/systems/AnimationSystem.d.ts.map +1 -1
  309. package/src/engine/ecs/systems/ScriptSystem.d.ts +9 -5
  310. package/src/engine/ecs/systems/ScriptSystem.d.ts.map +1 -1
  311. package/src/engine/ecs/systems/TimerSystem.d.ts +1 -1
  312. package/src/engine/ecs/systems/TimerSystem.d.ts.map +1 -1
  313. package/src/engine/ecs/team/TeamSerializationAdapter.d.ts +0 -1
  314. package/src/engine/ecs/team/TeamSerializationAdapter.d.ts.map +1 -1
  315. package/src/engine/ecs/terrain/ecs/OffsetScaleTransform2D.d.ts +7 -6
  316. package/src/engine/ecs/terrain/ecs/Terrain.d.ts +389 -17
  317. package/src/engine/ecs/terrain/ecs/TerrainSystem.d.ts +65 -8
  318. package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSerializationAdapter.d.ts +0 -1
  319. package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSerializationAdapter.d.ts.map +1 -1
  320. package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSystem.d.ts +1 -1
  321. package/src/engine/ecs/terrain/ecs/cling/ClingToTerrainSystem.d.ts.map +1 -1
  322. package/src/engine/ecs/terrain/serialization/TerrainSerializationAdapter.d.ts +0 -1
  323. package/src/engine/ecs/terrain/serialization/TerrainSerializationAdapter.d.ts.map +1 -1
  324. package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts +2 -2
  325. package/src/engine/ecs/terrain/tiles/TerrainTile.d.ts.map +1 -1
  326. package/src/engine/ecs/terrain/tiles/TerrainTileManager.d.ts +2 -2
  327. package/src/engine/ecs/tooltip/TooltipComponentSerializationAdapter.d.ts +0 -1
  328. package/src/engine/ecs/tooltip/TooltipComponentSerializationAdapter.d.ts.map +1 -1
  329. package/src/engine/ecs/tooltip/TooltipComponentSystem.d.ts +1 -1
  330. package/src/engine/ecs/transform/TransformSerializationAdapter.d.ts +0 -1
  331. package/src/engine/ecs/transform/TransformSerializationAdapter.d.ts.map +1 -1
  332. package/src/engine/ecs/transform-attachment/TransformAttachment.d.ts +116 -19
  333. package/src/engine/ecs/transform-attachment/TransformAttachmentSystem.d.ts +58 -6
  334. package/src/engine/graphics/GraphicsEngine.d.ts +220 -41
  335. package/src/engine/graphics/camera/CameraShake.d.ts +6 -6
  336. package/src/engine/graphics/camera/CameraShake.d.ts.map +1 -1
  337. package/src/engine/graphics/camera/CameraShakeBehavior.d.ts +1 -2
  338. package/src/engine/graphics/camera/CameraShakeBehavior.d.ts.map +1 -1
  339. package/src/engine/graphics/camera/CameraShakeTraumaBehavior.d.ts +1 -2
  340. package/src/engine/graphics/camera/CameraShakeTraumaBehavior.d.ts.map +1 -1
  341. package/src/engine/graphics/camera/camera_compute_distance_to_fit_length.d.ts +8 -1
  342. package/src/engine/graphics/camera/makeScreenScissorFrustum.d.ts +8 -4
  343. package/src/engine/graphics/composit/CompositLayer.d.ts +1 -1
  344. package/src/engine/graphics/ecs/animation/AnimationControllerSerializationAdapter.d.ts +0 -1
  345. package/src/engine/graphics/ecs/animation/AnimationControllerSerializationAdapter.d.ts.map +1 -1
  346. package/src/engine/graphics/ecs/animation/AnimationControllerSystem.d.ts +1 -2
  347. package/src/engine/graphics/ecs/animation/AnimationControllerSystem.d.ts.map +1 -1
  348. package/src/engine/graphics/ecs/animation/animator/AnimationGraphSystem.d.ts +1 -1
  349. package/src/engine/graphics/ecs/animation/animator/graph/AnimationGraphSerializationAdapter.d.ts +0 -1
  350. package/src/engine/graphics/ecs/animation/animator/graph/AnimationGraphSerializationAdapter.d.ts.map +1 -1
  351. package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/AnimationGraphDefinitionSerializationAdapter.d.ts +0 -1
  352. package/src/engine/graphics/ecs/animation/animator/graph/definition/serialization/AnimationGraphDefinitionSerializationAdapter.d.ts.map +1 -1
  353. package/src/engine/graphics/ecs/camera/Camera.d.ts +113 -18
  354. package/src/engine/graphics/ecs/camera/Camera.d.ts.map +1 -1
  355. package/src/engine/graphics/ecs/camera/CameraSystem.d.ts +74 -10
  356. package/src/engine/graphics/ecs/camera/serialization/CameraSerializationAdapter.d.ts +0 -1
  357. package/src/engine/graphics/ecs/camera/serialization/CameraSerializationAdapter.d.ts.map +1 -1
  358. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraController.d.ts +90 -33
  359. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSerializationAdapter.d.ts +0 -1
  360. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSerializationAdapter.d.ts.map +1 -1
  361. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraControllerSystem.d.ts +34 -5
  362. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraLander.d.ts +0 -1
  363. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraLander.d.ts.map +1 -1
  364. package/src/engine/graphics/ecs/camera/topdown/TopDownCameraLanderSystem.d.ts +1 -1
  365. package/src/engine/graphics/ecs/decal/v2/Decal.d.ts +52 -15
  366. package/src/engine/graphics/ecs/decal/v2/DecalSerializationAdapter.d.ts +0 -1
  367. package/src/engine/graphics/ecs/decal/v2/DecalSerializationAdapter.d.ts.map +1 -1
  368. package/src/engine/graphics/ecs/decal/v2/FPDecalSystem.d.ts +70 -24
  369. package/src/engine/graphics/ecs/highlight/Highlight.d.ts +61 -16
  370. package/src/engine/graphics/ecs/highlight/HighlightDefinition.d.ts +57 -19
  371. package/src/engine/graphics/ecs/highlight/HighlightSerializationAdapter.d.ts +0 -1
  372. package/src/engine/graphics/ecs/highlight/HighlightSerializationAdapter.d.ts.map +1 -1
  373. package/src/engine/graphics/ecs/highlight/plugin/OutlineRenderPlugin.d.ts +0 -1
  374. package/src/engine/graphics/ecs/highlight/plugin/OutlineRenderPlugin.d.ts.map +1 -1
  375. package/src/engine/graphics/ecs/highlight/system/MeshHighlightSystem.d.ts +57 -8
  376. package/src/engine/graphics/ecs/highlight/system/MeshHighlightSystem.d.ts.map +1 -1
  377. package/src/engine/graphics/ecs/highlight/system/RenderableHighlightSystem.d.ts +62 -8
  378. package/src/engine/graphics/ecs/highlight/system/RenderableHighlightSystem.d.ts.map +1 -1
  379. package/src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.d.ts +68 -8
  380. package/src/engine/graphics/ecs/highlight/system/ShadedGeometryHighlightSystem.d.ts.map +1 -1
  381. package/src/engine/graphics/ecs/light/Light.d.ts +79 -19
  382. package/src/engine/graphics/ecs/light/Light.d.ts.map +1 -1
  383. package/src/engine/graphics/ecs/light/LightSerializationAdapter.d.ts +0 -1
  384. package/src/engine/graphics/ecs/light/LightSerializationAdapter.d.ts.map +1 -1
  385. package/src/engine/graphics/ecs/light/LightSystem.d.ts +123 -11
  386. package/src/engine/graphics/ecs/light/LightType.d.ts +8 -6
  387. package/src/engine/graphics/ecs/mesh/Mesh.d.ts +176 -30
  388. package/src/engine/graphics/ecs/mesh/MeshEvents.d.ts +6 -12
  389. package/src/engine/graphics/ecs/mesh/MeshSystem.d.ts +99 -7
  390. package/src/engine/graphics/ecs/mesh/serialization/MeshSerializationAdapter.d.ts +0 -1
  391. package/src/engine/graphics/ecs/mesh/serialization/MeshSerializationAdapter.d.ts.map +1 -1
  392. package/src/engine/graphics/ecs/mesh-v2/DrawMode.d.ts +8 -6
  393. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.d.ts +147 -32
  394. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.d.ts.map +1 -1
  395. package/src/engine/graphics/ecs/mesh-v2/ShadedGeometrySystem.js +37 -0
  396. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGAnimationPlayback.d.ts +6 -5
  397. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMesh.d.ts +162 -25
  398. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshAnimationController.d.ts +40 -12
  399. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshAnimationControllerSystem.d.ts +31 -11
  400. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshEvents.d.ts +5 -12
  401. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshHighlightSystem.d.ts +36 -7
  402. package/src/engine/graphics/ecs/mesh-v2/aggregate/SGMeshSystem.d.ts +63 -8
  403. package/src/engine/graphics/ecs/mesh-v2/sg_hierarchy_compute_bounding_box_via_parent_entity.d.ts +9 -4
  404. package/src/engine/graphics/ecs/path/PathDisplay.d.ts +21 -9
  405. package/src/engine/graphics/ecs/path/PathDisplayEvents.d.ts +6 -3
  406. package/src/engine/graphics/ecs/path/PathDisplaySpec.d.ts +28 -11
  407. package/src/engine/graphics/ecs/path/PathDisplaySystem.d.ts +55 -10
  408. package/src/engine/graphics/ecs/path/PathDisplaySystem.d.ts.map +1 -1
  409. package/src/engine/graphics/ecs/path/PathDisplayType.d.ts +8 -6
  410. package/src/engine/graphics/ecs/path/entity/EntityPathMarkerDefinition.d.ts +39 -8
  411. package/src/engine/graphics/ecs/path/entity/EntityPathStyle.d.ts +38 -12
  412. package/src/engine/graphics/ecs/path/highlight/PathDisplayHighlightSystem.d.ts +31 -7
  413. package/src/engine/graphics/ecs/path/ribbon/RibbonPathStyle.d.ts +24 -7
  414. package/src/engine/graphics/ecs/path/tube/BasicMaterialDefinition.d.ts +4 -3
  415. package/src/engine/graphics/ecs/path/tube/CapType.d.ts +7 -5
  416. package/src/engine/graphics/ecs/path/tube/MatcapMaterialDefinition.d.ts +11 -3
  417. package/src/engine/graphics/ecs/path/tube/PathNormalType.d.ts +6 -4
  418. package/src/engine/graphics/ecs/path/tube/StandardMaterialDefinition.d.ts +9 -4
  419. package/src/engine/graphics/ecs/path/tube/TubeMaterialType.d.ts +7 -6
  420. package/src/engine/graphics/ecs/path/tube/TubePathStyle.d.ts +114 -35
  421. package/src/engine/graphics/ecs/path/tube/TubePathStyle.d.ts.map +1 -1
  422. package/src/engine/graphics/ecs/trail2d/Trail2DSystem.d.ts +85 -6
  423. package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts +24 -1
  424. package/src/engine/graphics/ecs/trail3d/Trail3D.d.ts.map +1 -1
  425. package/src/engine/graphics/ecs/trail3d/Trail3D.js +43 -0
  426. package/src/engine/graphics/ecs/trail3d/Trail3DFlags.d.ts +1 -0
  427. package/src/engine/graphics/ecs/trail3d/Trail3DFlags.js +9 -1
  428. package/src/engine/graphics/ecs/trail3d/Trail3DSystem.d.ts +1 -1
  429. package/src/engine/graphics/ecs/trail3d/Trail3DSystem.d.ts.map +1 -1
  430. package/src/engine/graphics/ecs/trail3d/Trail3DSystem.js +4 -0
  431. package/src/engine/graphics/ecs/trail3d/prototypeTrail3D.js +22 -1
  432. package/src/engine/graphics/ecs/water/WaterSerializationAdapter.d.ts +0 -1
  433. package/src/engine/graphics/ecs/water/WaterSerializationAdapter.d.ts.map +1 -1
  434. package/src/engine/graphics/ecs/water/WaterSystem.d.ts +1 -1
  435. package/src/engine/graphics/geometry/AttributeGroupSpec.d.ts +75 -25
  436. package/src/engine/graphics/geometry/AttributeSpec.d.ts +85 -12
  437. package/src/engine/graphics/geometry/instancing/InstancedMeshGroup.d.ts +1 -2
  438. package/src/engine/graphics/geometry/instancing/InstancedMeshGroup.d.ts.map +1 -1
  439. package/src/engine/graphics/impostors/octahedral/grid/OctahedralUvEncoder.d.ts +6 -4
  440. package/src/engine/graphics/material/manager/MaterialManager.d.ts +12 -0
  441. package/src/engine/graphics/material/manager/MaterialManager.d.ts.map +1 -1
  442. package/src/engine/graphics/material/manager/MaterialManager.js +78 -41
  443. package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.d.ts +55 -7
  444. package/src/engine/graphics/particles/ecs/ParticleEmitterSystem.d.ts.map +1 -1
  445. package/src/engine/graphics/particles/node-based/codegen/glsl/getTypeByteSize.d.ts +9 -9
  446. package/src/engine/graphics/particles/node-based/editor/ParticleSpecificationEditorView.d.ts +1 -2
  447. package/src/engine/graphics/particles/node-based/editor/ParticleSpecificationEditorView.d.ts.map +1 -1
  448. package/src/engine/graphics/particles/node-based/nodes/FloatConstant.d.ts +0 -1
  449. package/src/engine/graphics/particles/node-based/nodes/FloatConstant.d.ts.map +1 -1
  450. package/src/engine/graphics/particles/node-based/nodes/ParticleDataTypes.d.ts +10 -9
  451. package/src/engine/graphics/particles/node-based/nodes/ParticleDataTypes.d.ts.map +1 -1
  452. package/src/engine/graphics/particles/node-based/nodes/ReadFloatUniform.d.ts +0 -1
  453. package/src/engine/graphics/particles/node-based/nodes/ReadFloatUniform.d.ts.map +1 -1
  454. package/src/engine/graphics/particles/node-based/nodes/ReadVelocity.d.ts +0 -1
  455. package/src/engine/graphics/particles/node-based/nodes/ReadVelocity.d.ts.map +1 -1
  456. package/src/engine/graphics/particles/node-based/nodes/Vector3Constant.d.ts +0 -1
  457. package/src/engine/graphics/particles/node-based/nodes/Vector3Constant.d.ts.map +1 -1
  458. package/src/engine/graphics/particles/node-based/nodes/Vector3Merge.d.ts +0 -1
  459. package/src/engine/graphics/particles/node-based/nodes/Vector3Merge.d.ts.map +1 -1
  460. package/src/engine/graphics/particles/node-based/nodes/Vector3Split.d.ts +0 -1
  461. package/src/engine/graphics/particles/node-based/nodes/Vector3Split.d.ts.map +1 -1
  462. package/src/engine/graphics/particles/node-based/nodes/WriteVelocity.d.ts +0 -1
  463. package/src/engine/graphics/particles/node-based/nodes/WriteVelocity.d.ts.map +1 -1
  464. package/src/engine/graphics/particles/node-based/nodes/attribute/ReadVector3Attribute.d.ts +0 -1
  465. package/src/engine/graphics/particles/node-based/nodes/attribute/ReadVector3Attribute.d.ts.map +1 -1
  466. package/src/engine/graphics/particles/node-based/nodes/attribute/WriteVector3Attribute.d.ts +0 -1
  467. package/src/engine/graphics/particles/node-based/nodes/attribute/WriteVector3Attribute.d.ts.map +1 -1
  468. package/src/engine/graphics/particles/node-based/nodes/math/AddFloatNode.d.ts +0 -1
  469. package/src/engine/graphics/particles/node-based/nodes/math/AddFloatNode.d.ts.map +1 -1
  470. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Add.d.ts +0 -1
  471. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Add.d.ts.map +1 -1
  472. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Divide.d.ts +0 -1
  473. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Divide.d.ts.map +1 -1
  474. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Multiply.d.ts +0 -1
  475. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Multiply.d.ts.map +1 -1
  476. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Subtract.d.ts +0 -1
  477. package/src/engine/graphics/particles/node-based/nodes/math/Vector3Subtract.d.ts.map +1 -1
  478. package/src/engine/graphics/particles/node-based/nodes/noise/CurlNoiseNode.d.ts +0 -1
  479. package/src/engine/graphics/particles/node-based/nodes/noise/CurlNoiseNode.d.ts.map +1 -1
  480. package/src/engine/graphics/particles/node-based/particle/ParticleAttributeSpecification.d.ts +18 -18
  481. package/src/engine/graphics/particles/particular/engine/emitter/ParticleEmitter.d.ts +252 -2
  482. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.d.ts +0 -1
  483. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParameterLookupTableSerializationAdapter.d.ts.map +1 -1
  484. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.d.ts +0 -1
  485. package/src/engine/graphics/particles/particular/engine/emitter/serde/ParticleEmitterSerializationAdapter.d.ts.map +1 -1
  486. package/src/engine/graphics/particles/particular/engine/parameter/ParameterLookupTable.d.ts +2 -15
  487. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.d.ts +5 -1
  488. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrack.d.ts.map +1 -1
  489. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.d.ts +1 -1
  490. package/src/engine/graphics/particles/particular/engine/parameter/ParameterTrackSet.d.ts.map +1 -1
  491. package/src/engine/graphics/particles/particular/engine/parameter/ParticleParameter.d.ts +5 -1
  492. package/src/engine/graphics/particles/particular/engine/parameter/ParticleParameter.d.ts.map +1 -1
  493. package/src/engine/graphics/particles/particular/engine/utils/volume/AttributeValue.d.ts +76 -16
  494. package/src/engine/graphics/particles/particular/engine/utils/volume/SamplingFunctionKind.d.ts +6 -4
  495. package/src/engine/graphics/render/buffer/simple-fx/ao/AmbientOcclusionPostProcessEffect.d.ts +92 -8
  496. package/src/engine/graphics/render/buffer/simple-fx/ao/AmbientOcclusionPostProcessEffect.d.ts.map +1 -1
  497. package/src/engine/graphics/render/buffer/simple-fx/ao/SAOUpscaleShader.js +78 -37
  498. package/src/engine/graphics/render/buffer/simple-fx/taa/TemporalSupersamplingRenderPlugin.d.ts +0 -3
  499. package/src/engine/graphics/render/buffer/simple-fx/taa/TemporalSupersamplingRenderPlugin.d.ts.map +1 -1
  500. package/src/engine/graphics/render/forward_plus/LightManager.d.ts +5 -0
  501. package/src/engine/graphics/render/forward_plus/LightManager.d.ts.map +1 -1
  502. package/src/engine/graphics/render/forward_plus/LightManager.js +11 -0
  503. package/src/engine/graphics/render/forward_plus/model/AbstractLight.d.ts +16 -1
  504. package/src/engine/graphics/render/forward_plus/model/AbstractLight.d.ts.map +1 -1
  505. package/src/engine/graphics/render/forward_plus/model/AbstractLight.js +22 -1
  506. package/src/engine/graphics/render/forward_plus/model/Decal.d.ts +8 -1
  507. package/src/engine/graphics/render/forward_plus/model/Decal.d.ts.map +1 -1
  508. package/src/engine/graphics/render/forward_plus/model/Decal.js +11 -0
  509. package/src/engine/graphics/render/forward_plus/model/PointLight.d.ts +2 -0
  510. package/src/engine/graphics/render/forward_plus/model/PointLight.d.ts.map +1 -1
  511. package/src/engine/graphics/render/forward_plus/model/PointLight.js +10 -0
  512. package/src/engine/graphics/render/forward_plus/model/SpotLight.d.ts +2 -0
  513. package/src/engine/graphics/render/forward_plus/model/SpotLight.d.ts.map +1 -1
  514. package/src/engine/graphics/render/forward_plus/model/SpotLight.js +12 -0
  515. package/src/engine/graphics/render/forward_plus/plugin/ForwardPlusRenderingPlugin.d.ts +27 -5
  516. package/src/engine/graphics/render/forward_plus/plugin/MaterialTransformer.d.ts.map +1 -1
  517. package/src/engine/graphics/render/forward_plus/plugin/MaterialTransformer.js +4 -9
  518. package/src/engine/graphics/render/forward_plus/plugin/forwardPlusMaterialMarker.d.ts +16 -0
  519. package/src/engine/graphics/render/forward_plus/plugin/forwardPlusMaterialMarker.d.ts.map +1 -0
  520. package/src/engine/graphics/render/forward_plus/plugin/forwardPlusMaterialMarker.js +18 -0
  521. package/src/engine/graphics/render/forward_plus/plugin/isForwardPlusLightingSkipped.d.ts +16 -0
  522. package/src/engine/graphics/render/forward_plus/plugin/isForwardPlusLightingSkipped.d.ts.map +1 -0
  523. package/src/engine/graphics/render/forward_plus/plugin/isForwardPlusLightingSkipped.js +31 -0
  524. package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts +1 -1
  525. package/src/engine/graphics/render/frame_graph/FrameGraph.d.ts.map +1 -1
  526. package/src/engine/graphics/render/frame_graph/resource/TextureResourceDescriptor.d.ts +1 -1
  527. package/src/engine/graphics/render/gizmo/Gizmo.d.ts +7 -3
  528. package/src/engine/graphics/render/gizmo/GizmoRenderingPlugin.d.ts +5 -5
  529. package/src/engine/graphics/render/gizmo/GizmoRenderingPlugin.d.ts.map +1 -1
  530. package/src/engine/graphics/render/gizmo/GizmoShapeRenderingInterface.d.ts +72 -13
  531. package/src/engine/graphics/render/layers/RenderLayer.d.ts +78 -22
  532. package/src/engine/graphics/render/layers/RenderLayerManager.d.ts +72 -17
  533. package/src/engine/graphics/render/layers/RenderLayerState.d.ts +18 -3
  534. package/src/engine/graphics/render/view/CameraView.d.ts +3 -3
  535. package/src/engine/graphics/render/view/CameraViewManager.d.ts +2 -2
  536. package/src/engine/graphics/render/visibility/IncrementalDeltaSet.d.ts +143 -24
  537. package/src/engine/graphics/sh3/lpg/serialization/LightProbeGridSerializationAdapter.d.ts +0 -1
  538. package/src/engine/graphics/sh3/lpg/serialization/LightProbeGridSerializationAdapter.d.ts.map +1 -1
  539. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.d.ts +3 -1
  540. package/src/engine/graphics/sh3/lpv/PathTracerProbeRenderer.d.ts.map +1 -1
  541. package/src/engine/graphics/sh3/lpv/serialization/LightProbeVolumeSerializationAdapter.d.ts +0 -1
  542. package/src/engine/graphics/sh3/lpv/serialization/LightProbeVolumeSerializationAdapter.d.ts.map +1 -1
  543. package/src/engine/graphics/sh3/path_tracer/material/StandardTexture.d.ts +1 -2
  544. package/src/engine/graphics/sh3/path_tracer/material/StandardTexture.d.ts.map +1 -1
  545. package/src/engine/graphics/texture/atlas/TextureAtlas.d.ts +3 -3
  546. package/src/engine/graphics/texture/atlas/TextureAtlas.d.ts.map +1 -1
  547. package/src/engine/graphics/texture/cubemap/load_environment_map.d.ts +13 -8
  548. package/src/engine/graphics/texture/sampler/Sampler2D.d.ts +1 -1
  549. package/src/engine/graphics/texture/sampler/serialization/Sampler2DSerializationAdapter.d.ts +0 -1
  550. package/src/engine/graphics/texture/sampler/serialization/Sampler2DSerializationAdapter.d.ts.map +1 -1
  551. package/src/engine/graphics/texture/virtual/VirtualTextureTileLoader.d.ts +1 -3
  552. package/src/engine/graphics/texture/virtual/VirtualTextureTileLoader.d.ts.map +1 -1
  553. package/src/engine/graphics/three/cloneObject3D.d.ts +7 -3
  554. package/src/engine/graphics/trail/tube/TubeMaterialX.d.ts +8 -1
  555. package/src/engine/graphics/trail/tube/TubeMaterialX.d.ts.map +1 -1
  556. package/src/engine/graphics/trail/tube/TubeMaterialX.js +111 -15
  557. package/src/engine/graphics/trail/tube/TubeXMaterialSpec.d.ts +9 -2
  558. package/src/engine/graphics/trail/tube/TubeXMaterialSpec.d.ts.map +1 -1
  559. package/src/engine/graphics/trail/tube/TubeXMaterialSpec.js +15 -4
  560. package/src/engine/graphics/trail/tube/TubeXPlugin.d.ts +0 -1
  561. package/src/engine/graphics/trail/tube/TubeXPlugin.d.ts.map +1 -1
  562. package/src/engine/graphics/trail/tube/TubeXPlugin.js +7 -1
  563. package/src/engine/graphics/trail/x/RibbonXMaterialSpec.d.ts +13 -3
  564. package/src/engine/graphics/trail/x/RibbonXPlugin.d.ts +0 -3
  565. package/src/engine/graphics/trail/x/RibbonXPlugin.d.ts.map +1 -1
  566. package/src/engine/graphics/util/promiseMaterialLoaded.d.ts +7 -3
  567. package/src/engine/grid/grid2transform/GridPosition2TransformSerializationAdapter.d.ts +0 -1
  568. package/src/engine/grid/grid2transform/GridPosition2TransformSerializationAdapter.d.ts.map +1 -1
  569. package/src/engine/grid/grid2transform/GridPosition2TransformSystem.d.ts +1 -1
  570. package/src/engine/grid/obstacle/GridObstacleSerializationAdapter.d.ts +0 -1
  571. package/src/engine/grid/obstacle/GridObstacleSerializationAdapter.d.ts.map +1 -1
  572. package/src/engine/grid/position/GridPositionSerializationAdapter.d.ts +0 -1
  573. package/src/engine/grid/position/GridPositionSerializationAdapter.d.ts.map +1 -1
  574. package/src/engine/grid/position/GridPositionSystem.d.ts +1 -1
  575. package/src/engine/grid/transform2grid/Transform2GridPositionSystem.d.ts +1 -1
  576. package/src/engine/input/GAMEPAD_API_PROPOSAL.md +717 -0
  577. package/src/engine/input/analog/apply_radial_dead_zone.d.ts +23 -0
  578. package/src/engine/input/analog/apply_radial_dead_zone.d.ts.map +1 -0
  579. package/src/engine/input/analog/apply_radial_dead_zone.js +38 -0
  580. package/src/engine/input/devices/GamepadDevice.d.ts +140 -23
  581. package/src/engine/input/devices/GamepadDevice.d.ts.map +1 -1
  582. package/src/engine/input/devices/GamepadDevice.js +202 -16
  583. package/src/engine/input/devices/InputDeviceSwitch.d.ts +44 -11
  584. package/src/engine/input/devices/InputDeviceSwitch.d.ts.map +1 -1
  585. package/src/engine/input/devices/KeyCodes.d.ts +112 -1
  586. package/src/engine/input/devices/KeyboardDevice.d.ts +2 -3
  587. package/src/engine/input/devices/KeyboardDevice.d.ts.map +1 -1
  588. package/src/engine/input/devices/PointerDevice.d.ts +96 -31
  589. package/src/engine/input/devices/PointerDevice.d.ts.map +1 -1
  590. package/src/engine/input/devices/events/KeyboardEvents.d.ts +5 -4
  591. package/src/engine/input/devices/events/MouseEvents.d.ts +18 -12
  592. package/src/engine/input/devices/events/TouchEvents.d.ts +12 -6
  593. package/src/engine/input/devices/gamepad/GamepadAxes.d.ts +5 -1
  594. package/src/engine/input/devices/gamepad/GamepadAxes.d.ts.map +1 -1
  595. package/src/engine/input/devices/gamepad/GamepadAxes.js +5 -1
  596. package/src/engine/input/devices/gamepad/GamepadHandle.d.ts +130 -26
  597. package/src/engine/input/devices/gamepad/GamepadHandle.d.ts.map +1 -1
  598. package/src/engine/input/devices/gamepad/GamepadHandle.js +60 -34
  599. package/src/engine/input/devices/gamepad/GamepadStandardMapping.d.ts +20 -0
  600. package/src/engine/input/devices/gamepad/GamepadStandardMapping.d.ts.map +1 -0
  601. package/src/engine/input/devices/gamepad/GamepadStandardMapping.js +20 -0
  602. package/src/engine/input/devices/gamepad/GamepadStick.d.ts +93 -0
  603. package/src/engine/input/devices/gamepad/GamepadStick.d.ts.map +1 -0
  604. package/src/engine/input/devices/gamepad/GamepadStick.js +165 -0
  605. package/src/engine/input/devices/gamepad/GamepadStickCalibration.d.ts +84 -0
  606. package/src/engine/input/devices/gamepad/GamepadStickCalibration.d.ts.map +1 -0
  607. package/src/engine/input/devices/gamepad/GamepadStickCalibration.js +119 -0
  608. package/src/engine/input/devices/gamepad/GamepadStickCalibrator.d.ts +92 -0
  609. package/src/engine/input/devices/gamepad/GamepadStickCalibrator.d.ts.map +1 -0
  610. package/src/engine/input/devices/gamepad/GamepadStickCalibrator.js +250 -0
  611. package/src/engine/input/devices/gamepad/gamepad_write_dpad_vector.d.ts +17 -0
  612. package/src/engine/input/devices/gamepad/gamepad_write_dpad_vector.d.ts.map +1 -0
  613. package/src/engine/input/devices/gamepad/gamepad_write_dpad_vector.js +30 -0
  614. package/src/engine/input/devices/touch/TouchDevice.d.ts +3 -3
  615. package/src/engine/input/ecs/components/Input.d.ts +49 -6
  616. package/src/engine/input/ecs/components/InputController.d.ts +33 -3
  617. package/src/engine/input/ecs/ism/InputBinding.d.ts +40 -4
  618. package/src/engine/input/ecs/systems/InputControllerSystem.d.ts +28 -6
  619. package/src/engine/input/ecs/systems/InputSystem.d.ts +59 -6
  620. package/src/engine/intelligence/behavior/Behavior.d.ts +58 -16
  621. package/src/engine/intelligence/behavior/Behavior.d.ts.map +1 -1
  622. package/src/engine/intelligence/behavior/BehaviorStatus.d.ts +10 -8
  623. package/src/engine/intelligence/behavior/SelectorBehavior.d.ts +0 -1
  624. package/src/engine/intelligence/behavior/SelectorBehavior.d.ts.map +1 -1
  625. package/src/engine/intelligence/behavior/composite/ParallelBehavior.d.ts +0 -8
  626. package/src/engine/intelligence/behavior/composite/ParallelBehavior.d.ts.map +1 -1
  627. package/src/engine/intelligence/behavior/composite/ParallelBehaviorSerializationAdapter.d.ts +0 -1
  628. package/src/engine/intelligence/behavior/composite/ParallelBehaviorSerializationAdapter.d.ts.map +1 -1
  629. package/src/engine/intelligence/behavior/composite/SequenceBehavior.d.ts +0 -1
  630. package/src/engine/intelligence/behavior/composite/SequenceBehavior.d.ts.map +1 -1
  631. package/src/engine/intelligence/behavior/composite/SequenceBehaviorSerializationAdapter.d.ts +0 -1
  632. package/src/engine/intelligence/behavior/composite/SequenceBehaviorSerializationAdapter.d.ts.map +1 -1
  633. package/src/engine/intelligence/behavior/decorator/AbstractDecoratorBehavior.d.ts +0 -1
  634. package/src/engine/intelligence/behavior/decorator/AbstractDecoratorBehavior.d.ts.map +1 -1
  635. package/src/engine/intelligence/behavior/decorator/IgnoreFailureBehavior.d.ts +1 -2
  636. package/src/engine/intelligence/behavior/decorator/IgnoreFailureBehavior.d.ts.map +1 -1
  637. package/src/engine/intelligence/behavior/decorator/InvertStatusBehavior.d.ts +1 -2
  638. package/src/engine/intelligence/behavior/decorator/InvertStatusBehavior.d.ts.map +1 -1
  639. package/src/engine/intelligence/behavior/decorator/InvertStatusBehaviorSerializationAdapter.d.ts +0 -1
  640. package/src/engine/intelligence/behavior/decorator/InvertStatusBehaviorSerializationAdapter.d.ts.map +1 -1
  641. package/src/engine/intelligence/behavior/decorator/OverrideContextBehavior.d.ts +1 -1
  642. package/src/engine/intelligence/behavior/decorator/OverrideContextBehavior.d.ts.map +1 -1
  643. package/src/engine/intelligence/behavior/decorator/RepeatBehavior.d.ts +1 -2
  644. package/src/engine/intelligence/behavior/decorator/RepeatBehavior.d.ts.map +1 -1
  645. package/src/engine/intelligence/behavior/decorator/RepeatBehaviorSerializationAdapter.d.ts +0 -1
  646. package/src/engine/intelligence/behavior/decorator/RepeatBehaviorSerializationAdapter.d.ts.map +1 -1
  647. package/src/engine/intelligence/behavior/decorator/RepeatUntilSuccessBehavior.d.ts +1 -2
  648. package/src/engine/intelligence/behavior/decorator/RepeatUntilSuccessBehavior.d.ts.map +1 -1
  649. package/src/engine/intelligence/behavior/ecs/BehaviorComponentSerializationAdapter.d.ts +0 -1
  650. package/src/engine/intelligence/behavior/ecs/BehaviorComponentSerializationAdapter.d.ts.map +1 -1
  651. package/src/engine/intelligence/behavior/ecs/BehaviorSystem.d.ts +1 -1
  652. package/src/engine/intelligence/behavior/ecs/DieBehavior.d.ts +1 -2
  653. package/src/engine/intelligence/behavior/ecs/DieBehavior.d.ts.map +1 -1
  654. package/src/engine/intelligence/behavior/ecs/EntityBehavior.d.ts +0 -1
  655. package/src/engine/intelligence/behavior/ecs/EntityBehavior.d.ts.map +1 -1
  656. package/src/engine/intelligence/behavior/ecs/KillBehavior.d.ts +1 -2
  657. package/src/engine/intelligence/behavior/ecs/KillBehavior.d.ts.map +1 -1
  658. package/src/engine/intelligence/behavior/ecs/OrbitingBehavior.d.ts +1 -2
  659. package/src/engine/intelligence/behavior/ecs/OrbitingBehavior.d.ts.map +1 -1
  660. package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts +1 -2
  661. package/src/engine/intelligence/behavior/ecs/SendEventBehavior.d.ts.map +1 -1
  662. package/src/engine/intelligence/behavior/ecs/WaitForEventBehavior.d.ts +1 -2
  663. package/src/engine/intelligence/behavior/ecs/WaitForEventBehavior.d.ts.map +1 -1
  664. package/src/engine/intelligence/behavior/ecs/WaitForEventBehaviorSerializationAdapter.d.ts +0 -1
  665. package/src/engine/intelligence/behavior/ecs/WaitForEventBehaviorSerializationAdapter.d.ts.map +1 -1
  666. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts +1 -2
  667. package/src/engine/intelligence/behavior/primitive/ActionBehavior.d.ts.map +1 -1
  668. package/src/engine/intelligence/behavior/primitive/FailingBehavior.d.ts +1 -3
  669. package/src/engine/intelligence/behavior/primitive/FailingBehavior.d.ts.map +1 -1
  670. package/src/engine/intelligence/behavior/primitive/FailingBehaviorSerializationAdapter.d.ts +0 -1
  671. package/src/engine/intelligence/behavior/primitive/FailingBehaviorSerializationAdapter.d.ts.map +1 -1
  672. package/src/engine/intelligence/behavior/primitive/PromiseBehavior.d.ts +2 -4
  673. package/src/engine/intelligence/behavior/primitive/PromiseBehavior.d.ts.map +1 -1
  674. package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.d.ts +1 -3
  675. package/src/engine/intelligence/behavior/primitive/SucceedingBehavior.d.ts.map +1 -1
  676. package/src/engine/intelligence/behavior/primitive/SucceedingBehaviorSerializationAdapter.d.ts +0 -1
  677. package/src/engine/intelligence/behavior/primitive/SucceedingBehaviorSerializationAdapter.d.ts.map +1 -1
  678. package/src/engine/intelligence/behavior/selector/WeightedRandomBehavior.d.ts +1 -2
  679. package/src/engine/intelligence/behavior/selector/WeightedRandomBehavior.d.ts.map +1 -1
  680. package/src/engine/intelligence/behavior/util/BranchBehavior.d.ts +1 -3
  681. package/src/engine/intelligence/behavior/util/BranchBehavior.d.ts.map +1 -1
  682. package/src/engine/intelligence/behavior/util/ConditionBehavior.d.ts +1 -2
  683. package/src/engine/intelligence/behavior/util/ConditionBehavior.d.ts.map +1 -1
  684. package/src/engine/intelligence/behavior/util/DelayBehavior.d.ts +1 -3
  685. package/src/engine/intelligence/behavior/util/DelayBehavior.d.ts.map +1 -1
  686. package/src/engine/intelligence/behavior/util/LogMessageBehavior.d.ts +1 -2
  687. package/src/engine/intelligence/behavior/util/LogMessageBehavior.d.ts.map +1 -1
  688. package/src/engine/intelligence/behavior/util/RandomDelayBehavior.d.ts +4 -4
  689. package/src/engine/intelligence/behavior/util/RandomDelayBehavior.d.ts.map +1 -1
  690. package/src/engine/intelligence/behavior/util/RotationBehavior.d.ts +1 -2
  691. package/src/engine/intelligence/behavior/util/RotationBehavior.d.ts.map +1 -1
  692. package/src/engine/intelligence/blackboard/AbstractBlackboard.d.ts +58 -15
  693. package/src/engine/intelligence/blackboard/AbstractBlackboard.d.ts.map +1 -1
  694. package/src/engine/intelligence/blackboard/Blackboard.d.ts +79 -11
  695. package/src/engine/intelligence/blackboard/Blackboard.d.ts.map +1 -1
  696. package/src/engine/intelligence/blackboard/BlackboardSerializationAdapter.d.ts +0 -1
  697. package/src/engine/intelligence/blackboard/BlackboardSerializationAdapter.d.ts.map +1 -1
  698. package/src/engine/intelligence/blackboard/BlackboardValue.d.ts +1 -0
  699. package/src/engine/intelligence/blackboard/BlackboardValue.d.ts.map +1 -1
  700. package/src/engine/intelligence/controller/graph/StateGraphSystem.d.ts +1 -3
  701. package/src/engine/intelligence/controller/graph/StateGraphSystem.d.ts.map +1 -1
  702. package/src/engine/interpolation/InterpolationSystem.d.ts +1 -5
  703. package/src/engine/interpolation/InterpolationSystem.d.ts.map +1 -1
  704. package/src/engine/interpolation/TransformPoseSerializationAdapter.d.ts +0 -1
  705. package/src/engine/interpolation/TransformPoseSerializationAdapter.d.ts.map +1 -1
  706. package/src/engine/knowledge/database/StaticKnowledgeDataTable.d.ts +140 -9
  707. package/src/engine/knowledge/database/StaticKnowledgeDataTableDescriptor.d.ts +26 -7
  708. package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts +2 -3
  709. package/src/engine/knowledge/database/StaticKnowledgeDatabase.d.ts.map +1 -1
  710. package/src/engine/navigation/ecs/components/InterpolationType.d.ts +8 -4
  711. package/src/engine/navigation/ecs/components/Path.d.ts +167 -47
  712. package/src/engine/navigation/ecs/components/PathEvents.d.ts +8 -6
  713. package/src/engine/navigation/ecs/components/PathSerializationAdapter.d.ts +0 -1
  714. package/src/engine/navigation/ecs/components/PathSerializationAdapter.d.ts.map +1 -1
  715. package/src/engine/navigation/ecs/path_following/PathFollower.d.ts +85 -45
  716. package/src/engine/navigation/ecs/path_following/PathFollowerEventType.d.ts +5 -3
  717. package/src/engine/navigation/ecs/path_following/PathFollowerFlags.d.ts +14 -20
  718. package/src/engine/navigation/ecs/path_following/PathFollowerSerializationAdapter.d.ts +0 -1
  719. package/src/engine/navigation/ecs/path_following/PathFollowerSerializationAdapter.d.ts.map +1 -1
  720. package/src/engine/navigation/ecs/path_following/PathFollowingSystem.d.ts +31 -6
  721. package/src/engine/navigation/ecs/path_following/PathFollowingSystem.d.ts.map +1 -1
  722. package/src/engine/network/adapters/TransformReplicationAdapter.d.ts +0 -1
  723. package/src/engine/network/adapters/TransformReplicationAdapter.d.ts.map +1 -1
  724. package/src/engine/network/ecs/NetworkSystem.d.ts +1 -1
  725. package/src/engine/network/ecs/serialization/NetworkIdentitySerializationAdapter.d.ts +0 -1
  726. package/src/engine/network/ecs/serialization/NetworkIdentitySerializationAdapter.d.ts.map +1 -1
  727. package/src/engine/options/Option.d.ts +3 -3
  728. package/src/engine/options/OptionsView.d.ts +1 -2
  729. package/src/engine/options/OptionsView.d.ts.map +1 -1
  730. package/src/engine/physics/body/SolverBodyState.d.ts.map +1 -1
  731. package/src/engine/physics/body/SolverBodyState.js +10 -1
  732. package/src/engine/physics/constraint/solve_constraints.d.ts.map +1 -1
  733. package/src/engine/physics/constraint/solve_constraints.js +840 -830
  734. package/src/engine/physics/ecs/ColliderObserverSystem.d.ts +3 -3
  735. package/src/engine/physics/ecs/ColliderObserverSystem.d.ts.map +1 -1
  736. package/src/engine/physics/ecs/ColliderSerializationAdapter.d.ts +0 -1
  737. package/src/engine/physics/ecs/ColliderSerializationAdapter.d.ts.map +1 -1
  738. package/src/engine/physics/ecs/JointSerializationAdapter.d.ts +0 -1
  739. package/src/engine/physics/ecs/JointSerializationAdapter.d.ts.map +1 -1
  740. package/src/engine/physics/ecs/PhysicsSystem.d.ts +14 -2
  741. package/src/engine/physics/ecs/PhysicsSystem.d.ts.map +1 -1
  742. package/src/engine/physics/ecs/PhysicsSystem.js +2246 -2172
  743. package/src/engine/physics/ecs/RigidBodySerializationAdapter.d.ts +0 -1
  744. package/src/engine/physics/ecs/RigidBodySerializationAdapter.d.ts.map +1 -1
  745. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts +12 -8
  746. package/src/engine/physics/fluid/ecs/FluidObstacleSystem.d.ts.map +1 -1
  747. package/src/engine/physics/fluid/ecs/FluidSystem.d.ts +8 -4
  748. package/src/engine/physics/fluid/ecs/FluidSystem.d.ts.map +1 -1
  749. package/src/engine/physics/integration/integrate_velocity.d.ts.map +1 -1
  750. package/src/engine/physics/integration/integrate_velocity.js +25 -2
  751. package/src/engine/physics/narrowphase/capsule_contacts.d.ts.map +1 -1
  752. package/src/engine/physics/narrowphase/capsule_contacts.js +622 -617
  753. package/src/engine/physics/narrowphase/convex_convex_manifold.d.ts.map +1 -1
  754. package/src/engine/physics/narrowphase/convex_convex_manifold.js +632 -568
  755. package/src/engine/physics/solver/solve_contacts.d.ts +6 -5
  756. package/src/engine/physics/solver/solve_contacts.d.ts.map +1 -1
  757. package/src/engine/physics/solver/solve_contacts.js +1506 -1482
  758. package/src/engine/platform/EnginePlatform.d.ts +24 -14
  759. package/src/engine/platform/WebEnginePlatform.d.ts +20 -5
  760. package/src/engine/platform/WebEnginePlatform.d.ts.map +1 -1
  761. package/src/engine/plugin/EnginePlugin.d.ts +36 -3
  762. package/src/engine/plugin/EnginePlugin.d.ts.map +1 -1
  763. package/src/engine/plugin/EnginePluginManager.d.ts +85 -16
  764. package/src/engine/plugin/EnginePluginManager.d.ts.map +1 -1
  765. package/src/engine/plugin/PluginReferenceContext.d.ts +1 -1
  766. package/src/engine/reference/v2/Reference.d.ts +55 -17
  767. package/src/engine/reference/v2/Reference.d.ts.map +1 -1
  768. package/src/engine/save/GameStateLoader.d.ts +0 -1
  769. package/src/engine/save/GameStateLoader.d.ts.map +1 -1
  770. package/src/engine/save/Storage.d.ts +75 -15
  771. package/src/engine/save/storage/InMemoryStorage.d.ts +0 -1
  772. package/src/engine/save/storage/InMemoryStorage.d.ts.map +1 -1
  773. package/src/engine/save/storage/IndexedDBStorage.d.ts +0 -2
  774. package/src/engine/save/storage/IndexedDBStorage.d.ts.map +1 -1
  775. package/src/engine/scene/Scene.d.ts +65 -7
  776. package/src/engine/scene/SceneManager.d.ts +125 -25
  777. package/src/engine/simulation/Ticker.d.ts +1 -2
  778. package/src/engine/simulation/Ticker.d.ts.map +1 -1
  779. package/src/engine/sound/SoundEngine.d.ts +46 -3
  780. package/src/engine/sound/ecs/SoundController.d.ts +0 -1
  781. package/src/engine/sound/ecs/SoundController.d.ts.map +1 -1
  782. package/src/engine/sound/ecs/SoundControllerSystem.d.ts +1 -2
  783. package/src/engine/sound/ecs/SoundControllerSystem.d.ts.map +1 -1
  784. package/src/engine/sound/ecs/SoundListener.d.ts +0 -1
  785. package/src/engine/sound/ecs/SoundListener.d.ts.map +1 -1
  786. package/src/engine/sound/ecs/SoundListenerSystem.d.ts +1 -1
  787. package/src/engine/sound/ecs/audio/AudioEmitterSystem.d.ts +1 -1
  788. package/src/engine/sound/ecs/emitter/SoundEmitter.d.ts +1 -1
  789. package/src/engine/sound/ecs/emitter/SoundEmitter.d.ts.map +1 -1
  790. package/src/engine/sound/ecs/emitter/SoundEmitterSerializationAdapter.d.ts +0 -1
  791. package/src/engine/sound/ecs/emitter/SoundEmitterSerializationAdapter.d.ts.map +1 -1
  792. package/src/engine/sound/ecs/emitter/SoundEmitterSystem.d.ts +1 -1
  793. package/src/engine/sound/ecs/emitter/SoundTrack.d.ts +1 -2
  794. package/src/engine/sound/ecs/emitter/SoundTrack.d.ts.map +1 -1
  795. package/src/engine/sound/simulation/core/AcousticMediumSerializationAdapter.d.ts +0 -1
  796. package/src/engine/sound/simulation/core/AcousticMediumSerializationAdapter.d.ts.map +1 -1
  797. package/src/engine/sound/simulation/definition/AcousticDirectivitySerializationAdapter.d.ts +0 -1
  798. package/src/engine/sound/simulation/definition/AcousticDirectivitySerializationAdapter.d.ts.map +1 -1
  799. package/src/engine/sound/simulation/definition/AcousticMaterialSerializationAdapter.d.ts +0 -1
  800. package/src/engine/sound/simulation/definition/AcousticMaterialSerializationAdapter.d.ts.map +1 -1
  801. package/src/engine/sound/simulation/ecs/AcousticBodySerializationAdapter.d.ts +0 -1
  802. package/src/engine/sound/simulation/ecs/AcousticBodySerializationAdapter.d.ts.map +1 -1
  803. package/src/engine/sound/simulation/ecs/AcousticProbeFieldSystem.d.ts +1 -1
  804. package/src/engine/sound/simulation/ecs/AcousticSimulationSystem.d.ts +1 -1
  805. package/src/engine/sound/simulation/ecs/AcousticVolumeSerializationAdapter.d.ts +0 -1
  806. package/src/engine/sound/simulation/ecs/AcousticVolumeSerializationAdapter.d.ts.map +1 -1
  807. package/src/engine/sound/simulation/ecs/AcousticVolumeSystem.d.ts +1 -1
  808. package/src/engine/sound/simulation/probe/AcousticProbeFieldSerializationAdapter.d.ts +0 -1
  809. package/src/engine/sound/simulation/probe/AcousticProbeFieldSerializationAdapter.d.ts.map +1 -1
  810. package/src/engine/sound/sopra/definition/BusDefinitionSerializationAdapter.d.ts +0 -1
  811. package/src/engine/sound/sopra/definition/BusDefinitionSerializationAdapter.d.ts.map +1 -1
  812. package/src/engine/sound/sopra/definition/DuckingRuleSerializationAdapter.d.ts +0 -1
  813. package/src/engine/sound/sopra/definition/DuckingRuleSerializationAdapter.d.ts.map +1 -1
  814. package/src/engine/sound/sopra/definition/EventDescriptionSerializationAdapter.d.ts +0 -1
  815. package/src/engine/sound/sopra/definition/EventDescriptionSerializationAdapter.d.ts.map +1 -1
  816. package/src/engine/sound/sopra/definition/MixerSnapshotSerializationAdapter.d.ts +0 -1
  817. package/src/engine/sound/sopra/definition/MixerSnapshotSerializationAdapter.d.ts.map +1 -1
  818. package/src/engine/sound/sopra/definition/ParameterDefinitionSerializationAdapter.d.ts +0 -1
  819. package/src/engine/sound/sopra/definition/ParameterDefinitionSerializationAdapter.d.ts.map +1 -1
  820. package/src/engine/sound/sopra/definition/clip/BlendContainerAudioClipSerializationAdapter.d.ts +0 -1
  821. package/src/engine/sound/sopra/definition/clip/BlendContainerAudioClipSerializationAdapter.d.ts.map +1 -1
  822. package/src/engine/sound/sopra/definition/clip/RandomContainerAudioClipSerializationAdapter.d.ts +0 -1
  823. package/src/engine/sound/sopra/definition/clip/RandomContainerAudioClipSerializationAdapter.d.ts.map +1 -1
  824. package/src/engine/sound/sopra/definition/clip/SampleAudioClipSerializationAdapter.d.ts +0 -1
  825. package/src/engine/sound/sopra/definition/clip/SampleAudioClipSerializationAdapter.d.ts.map +1 -1
  826. package/src/engine/sound/sopra/definition/clip/SequenceContainerAudioClipSerializationAdapter.d.ts +0 -1
  827. package/src/engine/sound/sopra/definition/clip/SequenceContainerAudioClipSerializationAdapter.d.ts.map +1 -1
  828. package/src/engine/sound/sopra/definition/clip/SilenceAudioClipSerializationAdapter.d.ts +0 -1
  829. package/src/engine/sound/sopra/definition/clip/SilenceAudioClipSerializationAdapter.d.ts.map +1 -1
  830. package/src/engine/sound/sopra/definition/clip/SwitchContainerAudioClipSerializationAdapter.d.ts +0 -1
  831. package/src/engine/sound/sopra/definition/clip/SwitchContainerAudioClipSerializationAdapter.d.ts.map +1 -1
  832. package/src/engine/sound/sopra/definition/effect/CompressorEffectSerializationAdapter.d.ts +0 -1
  833. package/src/engine/sound/sopra/definition/effect/CompressorEffectSerializationAdapter.d.ts.map +1 -1
  834. package/src/engine/sound/sopra/definition/effect/EqEffectSerializationAdapter.d.ts +0 -1
  835. package/src/engine/sound/sopra/definition/effect/EqEffectSerializationAdapter.d.ts.map +1 -1
  836. package/src/engine/sound/sopra/definition/effect/ReverbEffectSerializationAdapter.d.ts +0 -1
  837. package/src/engine/sound/sopra/definition/effect/ReverbEffectSerializationAdapter.d.ts.map +1 -1
  838. package/src/engine/sound/sopra/runtime/EventInstance.d.ts +1 -2
  839. package/src/engine/sound/sopra/runtime/EventInstance.d.ts.map +1 -1
  840. package/src/engine/sound/sopra/runtime/ParameterStore.d.ts +1 -2
  841. package/src/engine/sound/sopra/runtime/ParameterStore.d.ts.map +1 -1
  842. package/src/engine/ui/bindings/DomElementProcessorManager.d.ts +0 -3
  843. package/src/engine/ui/bindings/DomElementProcessorManager.d.ts.map +1 -1
  844. package/src/engine/ui/modal/ModalStack.d.ts +3 -3
  845. package/src/engine/ui/notification/AnimatedObjectEmitter.d.ts +2 -2
  846. package/src/engine/ui/notification/ViewEmitter.d.ts +2 -2
  847. package/src/generation/filtering/CellFilter.d.ts +1 -1
  848. package/src/generation/filtering/CellFilter.d.ts.map +1 -1
  849. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorRandomRotation.d.ts +3 -1
  850. package/src/generation/markers/actions/placement/MarkerNodeEntityProcessorRandomRotation.d.ts.map +1 -1
  851. package/src/generation/markers/actions/probability/MarkerNodeActionSelectWeighted.d.ts +3 -1
  852. package/src/generation/markers/actions/probability/MarkerNodeActionSelectWeighted.d.ts.map +1 -1
  853. package/src/generation/markers/transform/MarkerNodeTransformRotateRandom.d.ts +3 -1
  854. package/src/generation/markers/transform/MarkerNodeTransformRotateRandom.d.ts.map +1 -1
  855. package/src/generation/markers/transform/MarkerNodeTransformerRecordPropertyClosure.d.ts +3 -1
  856. package/src/generation/markers/transform/MarkerNodeTransformerRecordPropertyClosure.d.ts.map +1 -1
  857. package/src/generation/markers/transform/MarkerNodeTransformerRecordUniqueRandomEnum.d.ts +3 -1
  858. package/src/generation/markers/transform/MarkerNodeTransformerRecordUniqueRandomEnum.d.ts.map +1 -1
  859. package/src/generation/placement/action/util/CellMatcherWithinAABB.d.ts +1 -1
  860. package/src/generation/placement/action/util/CellMatcherWithinAABB.d.ts.map +1 -1
  861. package/src/misc/makeMatcapSelectionOption.d.ts +11 -13
  862. package/src/view/View.d.ts +313 -30
  863. package/src/view/asset/AssetLoaderStatusView.d.ts +1 -1
  864. package/src/view/asset/PreloaderView.d.ts +1 -1
  865. package/src/view/common/LabelView.d.ts +2 -1
  866. package/src/view/common/LabelView.d.ts.map +1 -1
  867. package/src/view/common/ListView.d.ts +2 -2
  868. package/src/view/common/ListView.d.ts.map +1 -1
  869. package/src/view/common/TabbedView.d.ts +1 -1
  870. package/src/view/common/VirtualListView.d.ts +3 -3
  871. package/src/view/common/VirtualListView.d.ts.map +1 -1
  872. package/src/view/common/dnd/Draggable.d.ts +2 -2
  873. package/src/view/common/dnd/DropTarget.d.ts +6 -6
  874. package/src/view/controller/GuiController.d.ts +1 -2
  875. package/src/view/controller/GuiController.d.ts.map +1 -1
  876. package/src/view/controller/controls/BooleanVector3Control.d.ts +1 -2
  877. package/src/view/controller/controls/BooleanVector3Control.d.ts.map +1 -1
  878. package/src/view/controller/controls/NativeListController.d.ts +1 -1
  879. package/src/view/controller/controls/Vector1Control.d.ts +1 -1
  880. package/src/view/currency/CompositeCurrencyLabelView.d.ts +1 -1
  881. package/src/view/currency/CurrencyDenominationLabelView.d.ts +1 -1
  882. package/src/view/elements/BottomLeftResizeHandleView.d.ts +1 -1
  883. package/src/view/elements/CanvasView.d.ts +1 -2
  884. package/src/view/elements/CanvasView.d.ts.map +1 -1
  885. package/src/view/elements/CheckboxView.d.ts +1 -1
  886. package/src/view/elements/CompassArrowView.d.ts +1 -2
  887. package/src/view/elements/CompassArrowView.d.ts.map +1 -1
  888. package/src/view/elements/ConfirmationDialogView.d.ts +1 -1
  889. package/src/view/elements/DropDownSelectionView.d.ts +1 -1
  890. package/src/view/elements/EmptyView.d.ts +1 -2
  891. package/src/view/elements/EmptyView.d.ts.map +1 -1
  892. package/src/view/elements/Group.d.ts +1 -2
  893. package/src/view/elements/Group.d.ts.map +1 -1
  894. package/src/view/elements/MeshPreview.d.ts +1 -1
  895. package/src/view/elements/SimpleWindow.d.ts +1 -1
  896. package/src/view/elements/button/ButtonView.d.ts +1 -1
  897. package/src/view/elements/image/ImageView.d.ts +1 -2
  898. package/src/view/elements/image/ImageView.d.ts.map +1 -1
  899. package/src/view/elements/image/SvgImageView.d.ts +1 -1
  900. package/src/view/elements/label/LabeledValueView.d.ts +1 -1
  901. package/src/view/elements/navigation/ViewStack.d.ts +1 -8
  902. package/src/view/elements/navigation/ViewStack.d.ts.map +1 -1
  903. package/src/view/elements/notify/ToastLogView.d.ts +1 -1
  904. package/src/view/elements/progress/RectangularPieProgressView.d.ts +1 -1
  905. package/src/view/elements/progress/SmoothProgressBar.d.ts +1 -1
  906. package/src/view/elements/progress/segmented/SegmentedResourceBarView.d.ts +1 -1
  907. package/src/view/elements/radial/RadialMenu.d.ts +1 -1
  908. package/src/view/elements/radial/RadialMenuElement.d.ts +1 -1
  909. package/src/view/elements/radial/RadialMenuElementDefinition.d.ts +125 -39
  910. package/src/view/elements/radial/RadialProgressView.d.ts +1 -1
  911. package/src/view/elements/radial/RadialText.d.ts +1 -1
  912. package/src/view/elements/tiles2d/Tile.d.ts +1 -1
  913. package/src/view/elements/tiles2d/TileGrid.d.ts +4 -5
  914. package/src/view/elements/tiles2d/TileGrid.d.ts.map +1 -1
  915. package/src/view/elements/video/VideoView.d.ts +2 -2
  916. package/src/view/elements/video/VideoView.d.ts.map +1 -1
  917. package/src/view/elements/windrose/WindRoseDiagram.d.ts +1 -1
  918. package/src/view/game/achievements/AchievementNotificationView.d.ts +1 -1
  919. package/src/view/math/FunctionGraphView.d.ts +1 -1
  920. package/src/view/minimap/Minimap.d.ts +1 -1
  921. package/src/view/minimap/dom/MinimapCameraView.d.ts +1 -1
  922. package/src/view/minimap/dom/MinimapMarkerView.d.ts +1 -1
  923. package/src/view/minimap/dom/MinimapTerrainView.d.ts +1 -1
  924. package/src/view/task/TaskProgressView.d.ts +1 -1
  925. package/src/view/tooltip/DomTooltipObserver.d.ts +2 -2
  926. package/src/view/tooltip/TooltipView.d.ts +1 -1
  927. package/src/view/tooltip/gml/parser/parseTooltipString.d.ts +1 -0
  928. package/src/view/tooltip/gml/parser/parseTooltipString.d.ts.map +1 -1
  929. package/src/view/tooltip/gml/parser/readReferenceToken.d.ts +1 -0
  930. package/src/view/tooltip/gml/parser/readReferenceToken.d.ts.map +1 -1
  931. package/src/view/tooltip/gml/parser/readReferenceValueToken.d.ts +2 -1
  932. package/src/view/tooltip/gml/parser/readReferenceValueToken.d.ts.map +1 -1
  933. package/src/view/tooltip/gml/parser/readStyleToken.d.ts +1 -0
  934. package/src/view/tooltip/gml/parser/readStyleToken.d.ts.map +1 -1
  935. package/editor/ecs/component/TypeSchema.d.ts +0 -38
  936. package/editor/tools/v2/BlenderCameraOrientationGizmo.d.ts +0 -50
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Scaled radial dead zone with inner and outer bounds.
3
+ *
4
+ * Input inside {@link inner} reads as neutral, input at or beyond {@link outer} reads as full deflection, and
5
+ * everything between is rescaled to span the full [0,1] range. The boundary is a circle, so the dead area is
6
+ * isotropic - unlike a per-axis gate, which admits up to `inner * sqrt(2)` of resting magnitude on the diagonal
7
+ * and has a direction-dependent threshold.
8
+ *
9
+ * Continuous at {@link inner}: magnitude approaches 0 from above rather than jumping to `inner`, so a consumer
10
+ * mapping magnitude to speed gets no pop as the stick leaves the dead zone.
11
+ *
12
+ * This is gameplay policy, not device policy - the same stick wants a different dead zone for locomotion, for
13
+ * aiming, and for menu navigation. Pick the values at the call site.
14
+ *
15
+ * @param {Vector2} result written with the shaped value, magnitude in [0,1]
16
+ * @param {number} x
17
+ * @param {number} y
18
+ * @param {number} inner magnitude at or below which input reads as neutral. Precondition: >= 0
19
+ * @param {number} outer magnitude at or above which input reads as full deflection. Precondition: > inner
20
+ * @returns {void}
21
+ */
22
+ export function apply_radial_dead_zone(result: Vector2, x: number, y: number, inner: number, outer: number): void;
23
+ //# sourceMappingURL=apply_radial_dead_zone.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apply_radial_dead_zone.d.ts","sourceRoot":"","sources":["../../../../../src/engine/input/analog/apply_radial_dead_zone.js"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,2DANW,MAAM,KACN,MAAM,SACN,MAAM,SACN,MAAM,GACJ,IAAI,CAkBhB"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Scaled radial dead zone with inner and outer bounds.
3
+ *
4
+ * Input inside {@link inner} reads as neutral, input at or beyond {@link outer} reads as full deflection, and
5
+ * everything between is rescaled to span the full [0,1] range. The boundary is a circle, so the dead area is
6
+ * isotropic - unlike a per-axis gate, which admits up to `inner * sqrt(2)` of resting magnitude on the diagonal
7
+ * and has a direction-dependent threshold.
8
+ *
9
+ * Continuous at {@link inner}: magnitude approaches 0 from above rather than jumping to `inner`, so a consumer
10
+ * mapping magnitude to speed gets no pop as the stick leaves the dead zone.
11
+ *
12
+ * This is gameplay policy, not device policy - the same stick wants a different dead zone for locomotion, for
13
+ * aiming, and for menu navigation. Pick the values at the call site.
14
+ *
15
+ * @param {Vector2} result written with the shaped value, magnitude in [0,1]
16
+ * @param {number} x
17
+ * @param {number} y
18
+ * @param {number} inner magnitude at or below which input reads as neutral. Precondition: >= 0
19
+ * @param {number} outer magnitude at or above which input reads as full deflection. Precondition: > inner
20
+ * @returns {void}
21
+ */
22
+ export function apply_radial_dead_zone(result, x, y, inner, outer) {
23
+ const magnitude = Math.sqrt(x * x + y * y);
24
+
25
+ if (magnitude <= inner) {
26
+ result.set(0, 0);
27
+
28
+ return;
29
+ }
30
+
31
+ /*
32
+ Normalize the direction and rescale the magnitude in one multiplication, division by magnitude is the
33
+ normalization
34
+ */
35
+ const scale = Math.min((magnitude - inner) / (outer - inner), 1) / magnitude;
36
+
37
+ result.set(x * scale, y * scale);
38
+ }
@@ -1,26 +1,143 @@
1
- import Signal from "../../../core/events/signal/Signal";
2
- import {GamepadHandle} from "./gamepad/GamepadHandle";
3
-
1
+ /**
2
+ * Provides gamepad input on top of the Gamepad API.
3
+ * see https://developer.mozilla.org/en-US/docs/Web/API/Gamepad_API
4
+ *
5
+ * Unlike mouse/keyboard, the Gamepad API offers no events for button/axis state changes, state must be polled instead.
6
+ * While running, the device polls automatically once per animation frame. {@link GamepadDevice#poll} can also be
7
+ * invoked manually for finer control (e.g. from a fixed-rate simulation loop).
8
+ *
9
+ * NOTE: when a gamepad disconnects, any "pressed" buttons will be automatically released with appropriate signals,
10
+ * preventing inputs from getting "stuck".
11
+ *
12
+ * The device reports what the hardware reports, corrected for what the hardware gets wrong (see
13
+ * {@link GamepadStickCalibration}). What to do with the result - dead zone, response curve, which world
14
+ * direction a stick means - is game policy and lives in the consumer.
15
+ *
16
+ * @example
17
+ * // locomotion from either stick or D-pad
18
+ * const pad = engine.devices.gamepad.main;
19
+ *
20
+ * if (pad.connected) {
21
+ * const left = pad.stickLeft.value;
22
+ *
23
+ * gamepad_write_dpad_vector(dpad, pad);
24
+ * apply_radial_dead_zone(stick, left.x, left.y, 0.15, 0.95);
25
+ *
26
+ * // fusion and frame are game policy, and this is the whole of it
27
+ * const x = stick.x !== 0 || stick.y !== 0 ? stick.x : dpad.x;
28
+ * const y = stick.x !== 0 || stick.y !== 0 ? stick.y : dpad.y;
29
+ *
30
+ * move.set(x, -y); // this game is y-up, the negation is stated once, here, on purpose
31
+ * }
32
+ *
33
+ * @author Alex Goldring
34
+ * @copyright Company Named Limited (c) 2026
35
+ */
4
36
  export class GamepadDevice {
5
- constructor()
6
-
7
- start(): void
8
-
9
- stop(): void
10
-
11
- poll(): void
12
-
13
- deadZone: number
14
-
15
- readonly pads: GamepadHandle[]
16
-
17
- readonly main: GamepadHandle | undefined
18
-
37
+ /**
38
+ * @readonly
39
+ */
19
40
  readonly on: {
20
- connected: Signal<GamepadHandle>,
21
- disconnected: Signal<GamepadHandle>,
22
- down: Signal<number /*buttonIndex*/, GamepadHandle>,
23
- up: Signal<number /*buttonIndex*/, GamepadHandle>,
24
- axis: Signal<number /*axisIndex*/, number /*value*/, GamepadHandle>
25
- }
41
+ /**
42
+ * Fires when a gamepad is connected
43
+ * @type {Signal<GamepadHandle>}
44
+ */
45
+ connected: any;
46
+ /**
47
+ * Fires when a gamepad is disconnected
48
+ * @type {Signal<GamepadHandle>}
49
+ */
50
+ disconnected: any;
51
+ /**
52
+ * Fires when any button on any gamepad is pressed, dispatches (buttonIndex, pad)
53
+ * @type {Signal<number, GamepadHandle>}
54
+ */
55
+ down: any;
56
+ /**
57
+ * Fires when any button on any gamepad is released, dispatches (buttonIndex, pad)
58
+ * @type {Signal<number, GamepadHandle>}
59
+ */
60
+ up: any;
61
+ /**
62
+ * Fires when any axis on any gamepad changes, dispatches (axisIndex, value, pad)
63
+ * @type {Signal<number, number, GamepadHandle>}
64
+ */
65
+ axis: any;
66
+ };
67
+ /**
68
+ * Known gamepads, indexed by {@link Gamepad.index}. May be sparse.
69
+ * Handles are retained after disconnection and re-used on re-connection, so they are safe to hold references to.
70
+ *
71
+ * A slot can be re-occupied by a different pad, so a handle does not represent one piece of hardware for
72
+ * its whole life. Anything learned about the hardware is dropped on connection, see
73
+ * {@link GamepadHandle#forgetCalibration}.
74
+ *
75
+ * @readonly
76
+ * @type {GamepadHandle[]}
77
+ */
78
+ readonly pads: GamepadHandle[];
79
+ /**
80
+ * The active gamepad, for the common single-player case.
81
+ *
82
+ * Always present, check {@link GamepadHandle#connected} to know whether there is hardware behind it. Binds
83
+ * to the first pad that connects, and when that pad is lost it rebinds to the oldest pad still connected.
84
+ * With nothing connected it stays present with everything released.
85
+ *
86
+ * Not a member of {@link pads}, it is a separate handle fed from the same hardware snapshot as the pad it
87
+ * mirrors. That makes it a stable binding target: signal identity survives disconnection and pad swaps, so
88
+ * paths like "gamepad/main/buttons/0/down" resolve before any hardware exists and never go stale.
89
+ *
90
+ * Stick calibration is the one thing that does not survive a swap - it describes a specific stick, so it is
91
+ * dropped whenever main moves to a different pad. See {@link GamepadStick#forgetCalibration}.
92
+ *
93
+ * @readonly
94
+ * @type {GamepadHandle}
95
+ *
96
+ * @example
97
+ * const pad = engine.devices.gamepad.main;
98
+ *
99
+ * if (pad.connected) {
100
+ * const is_jumping = pad.buttons[GamepadButtons.a].is_down;
101
+ * }
102
+ */
103
+ readonly main: GamepadHandle;
104
+ /**
105
+ * @private
106
+ * @type {boolean}
107
+ */
108
+ private isRunning;
109
+ /**
110
+ * @deprecated see {@link GamepadDevice#deadZone}
111
+ * @param {number} value
112
+ */
113
+ set deadZone(arg: number);
114
+ /**
115
+ * @deprecated sticks learn their own noise radius, see {@link GamepadStickCalibration}. Writing this
116
+ * overrides the learned value on every stick and stops them calibrating, which is only what you want when
117
+ * a value is being restored from a settings screen or a saved profile.
118
+ *
119
+ * Applies to pads connected later as well, and because it locks the calibration it also survives
120
+ * reconnection, where a learned value would not.
121
+ *
122
+ * @returns {number}
123
+ */
124
+ get deadZone(): number;
125
+ /**
126
+ * Read current state of all gamepads and dispatch signals for any changes.
127
+ * Invoked automatically once per animation frame while the device is running.
128
+ */
129
+ poll(): void;
130
+ /**
131
+ * Starts listening for gamepad connections and polling gamepad state.
132
+ * @returns {void}
133
+ */
134
+ start(): void;
135
+ /**
136
+ * Stops listening for gamepad connections and polling gamepad state.
137
+ * @returns {void}
138
+ */
139
+ stop(): void;
140
+ #private;
26
141
  }
142
+ import { GamepadHandle } from "./gamepad/GamepadHandle.js";
143
+ //# sourceMappingURL=GamepadDevice.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GamepadDevice.d.ts","sourceRoot":"","sources":["../../../../../src/engine/input/devices/GamepadDevice.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;GAaG;AACH;IAEI;;OAEG;IACH;QACI;;;WAGG;mBADO,OAAO,aAAa,CAAC;QAG/B;;;WAGG;sBADO,OAAO,aAAa,CAAC;QAG/B;;;WAGG;cADO,OAAO,MAAM,EAAE,aAAa,CAAC;QAGvC;;;WAGG;YADO,OAAO,MAAM,EAAE,aAAa,CAAC;QAGvC;;;WAGG;cADO,OAAO,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC;MAGjD;IAEF;;;;;;OAMG;IACH,eAFU,aAAa,EAAE,CAEf;IAEV;;;;OAIG;IACH,UAFU,MAAM,CAED;IAEf;;;OAGG;IACH,kBAAkB;IAQlB;;;;;OAKG;IACH,0BAaC;IAmFD;;;OAGG;IACH,aA+BC;IAQD;;;OAGG;IACH,SAFa,IAAI,CAmBhB;IAED;;;OAGG;IACH,QAFa,IAAI,CA6BhB;;CACJ;mBAvRkB,uCAAuC;8BAE5B,4BAA4B"}
1
+ {"version":3,"file":"GamepadDevice.d.ts","sourceRoot":"","sources":["../../../../../src/engine/input/devices/GamepadDevice.js"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH;IAEI;;OAEG;IACH;QACI;;;WAGG;;QAEH;;;WAGG;;QAEH;;;WAGG;;QAEH;;;WAGG;;QAEH;;;WAGG;;MAEL;IAEF;;;;;;;;;;OAUG;IACH,eAFU,aAAa,EAAE,CAEf;IAEV;;;;;;;;;;;;;;;;;;;;;;;OAuBG;IACH,eATU,aAAa,CASI;IAE3B;;;OAGG;IACH,kBAAkB;IAyClB;;;OAGG;IACH,0BAeC;IAjCD;;;;;;;;;OASG;IACH,uBAEC;IAmND;;;OAGG;IACH,aA+BC;IAQD;;;OAGG;IACH,SAFa,IAAI,CAmBhB;IAED;;;OAGG;IACH,QAFa,IAAI,CA+BhB;;CACJ;8BA/c6B,4BAA4B"}
@@ -13,6 +13,27 @@ import { GamepadHandle } from "./gamepad/GamepadHandle.js";
13
13
  * NOTE: when a gamepad disconnects, any "pressed" buttons will be automatically released with appropriate signals,
14
14
  * preventing inputs from getting "stuck".
15
15
  *
16
+ * The device reports what the hardware reports, corrected for what the hardware gets wrong (see
17
+ * {@link GamepadStickCalibration}). What to do with the result - dead zone, response curve, which world
18
+ * direction a stick means - is game policy and lives in the consumer.
19
+ *
20
+ * @example
21
+ * // locomotion from either stick or D-pad
22
+ * const pad = engine.devices.gamepad.main;
23
+ *
24
+ * if (pad.connected) {
25
+ * const left = pad.stickLeft.value;
26
+ *
27
+ * gamepad_write_dpad_vector(dpad, pad);
28
+ * apply_radial_dead_zone(stick, left.x, left.y, 0.15, 0.95);
29
+ *
30
+ * // fusion and frame are game policy, and this is the whole of it
31
+ * const x = stick.x !== 0 || stick.y !== 0 ? stick.x : dpad.x;
32
+ * const y = stick.x !== 0 || stick.y !== 0 ? stick.y : dpad.y;
33
+ *
34
+ * move.set(x, -y); // this game is y-up, the negation is stated once, here, on purpose
35
+ * }
36
+ *
16
37
  * @author Alex Goldring
17
38
  * @copyright Company Named Limited (c) 2026
18
39
  */
@@ -53,17 +74,40 @@ export class GamepadDevice {
53
74
  * Known gamepads, indexed by {@link Gamepad.index}. May be sparse.
54
75
  * Handles are retained after disconnection and re-used on re-connection, so they are safe to hold references to.
55
76
  *
77
+ * A slot can be re-occupied by a different pad, so a handle does not represent one piece of hardware for
78
+ * its whole life. Anything learned about the hardware is dropped on connection, see
79
+ * {@link GamepadHandle#forgetCalibration}.
80
+ *
56
81
  * @readonly
57
82
  * @type {GamepadHandle[]}
58
83
  */
59
84
  pads = [];
60
85
 
61
86
  /**
62
- * Axis values with magnitude below this threshold are treated as 0.
63
- * Compensates for analog stick noise/drift around the neutral position.
64
- * @type {number}
87
+ * The active gamepad, for the common single-player case.
88
+ *
89
+ * Always present, check {@link GamepadHandle#connected} to know whether there is hardware behind it. Binds
90
+ * to the first pad that connects, and when that pad is lost it rebinds to the oldest pad still connected.
91
+ * With nothing connected it stays present with everything released.
92
+ *
93
+ * Not a member of {@link pads}, it is a separate handle fed from the same hardware snapshot as the pad it
94
+ * mirrors. That makes it a stable binding target: signal identity survives disconnection and pad swaps, so
95
+ * paths like "gamepad/main/buttons/0/down" resolve before any hardware exists and never go stale.
96
+ *
97
+ * Stick calibration is the one thing that does not survive a swap - it describes a specific stick, so it is
98
+ * dropped whenever main moves to a different pad. See {@link GamepadStick#forgetCalibration}.
99
+ *
100
+ * @readonly
101
+ * @type {GamepadHandle}
102
+ *
103
+ * @example
104
+ * const pad = engine.devices.gamepad.main;
105
+ *
106
+ * if (pad.connected) {
107
+ * const is_jumping = pad.buttons[GamepadButtons.a].is_down;
108
+ * }
65
109
  */
66
- deadZone = 0.1;
110
+ main = new GamepadHandle();
67
111
 
68
112
  /**
69
113
  * @private
@@ -78,24 +122,71 @@ export class GamepadDevice {
78
122
  #animationFrameId = -1;
79
123
 
80
124
  /**
81
- * First connected gamepad, or undefined if none are connected.
82
- * Convenience accessor for the common single-player case.
125
+ * Pad currently mirrored by {@link main}, or undefined when nothing is connected
126
+ * @type {GamepadHandle|undefined}
127
+ */
128
+ #mainSource = undefined;
129
+
130
+ /**
131
+ * Incremented on every connection, stamped onto handles so the oldest connected pad can be identified
132
+ * @type {number}
133
+ */
134
+ #connectionSequence = 0;
135
+
136
+ /**
137
+ * Manually specified noise radius, applied to every stick in place of a learned one.
138
+ * Undefined while sticks are calibrating themselves, which is the normal case.
139
+ * @type {number|undefined}
140
+ */
141
+ #deadZoneOverride = undefined;
142
+
143
+ /**
144
+ * @deprecated sticks learn their own noise radius, see {@link GamepadStickCalibration}. Writing this
145
+ * overrides the learned value on every stick and stops them calibrating, which is only what you want when
146
+ * a value is being restored from a settings screen or a saved profile.
83
147
  *
84
- * @returns {GamepadHandle|undefined}
148
+ * Applies to pads connected later as well, and because it locks the calibration it also survives
149
+ * reconnection, where a learned value would not.
150
+ *
151
+ * @returns {number}
152
+ */
153
+ get deadZone() {
154
+ return this.#deadZoneOverride !== undefined ? this.#deadZoneOverride : 0;
155
+ }
156
+
157
+ /**
158
+ * @deprecated see {@link GamepadDevice#deadZone}
159
+ * @param {number} value
85
160
  */
86
- get main() {
161
+ set deadZone(value) {
162
+ this.#deadZoneOverride = value;
163
+
87
164
  const pads = this.pads;
88
165
  const n = pads.length;
89
166
 
90
167
  for (let i = 0; i < n; i++) {
91
168
  const pad = pads[i];
92
169
 
93
- if (pad !== undefined && pad.connected) {
94
- return pad;
170
+ if (pad !== undefined) {
171
+ this.#applyDeadZoneOverride(pad);
95
172
  }
96
173
  }
97
174
 
98
- return undefined;
175
+ this.#applyDeadZoneOverride(this.main);
176
+ }
177
+
178
+ /**
179
+ *
180
+ * @param {GamepadHandle} pad
181
+ */
182
+ #applyDeadZoneOverride(pad) {
183
+ const noiseRadius = this.#deadZoneOverride;
184
+
185
+ pad.stickLeft.calibration.set(0, 0, noiseRadius);
186
+ pad.stickLeft.calibration.locked = true;
187
+
188
+ pad.stickRight.calibration.set(0, 0, noiseRadius);
189
+ pad.stickRight.calibration.locked = true;
99
190
  }
100
191
 
101
192
  /**
@@ -116,6 +207,10 @@ export class GamepadDevice {
116
207
  pad.on.up.add(buttonIndex => this.on.up.send2(buttonIndex, pad));
117
208
  pad.on.axis.add((axisIndex, value) => this.on.axis.send3(axisIndex, value, pad));
118
209
 
210
+ if (this.#deadZoneOverride !== undefined) {
211
+ this.#applyDeadZoneOverride(pad);
212
+ }
213
+
119
214
  this.pads[index] = pad;
120
215
  }
121
216
 
@@ -130,11 +225,23 @@ export class GamepadDevice {
130
225
  #connect(gamepad) {
131
226
  const pad = this.#obtainHandle(gamepad.index);
132
227
 
133
- pad.update(gamepad, this.deadZone);
228
+ const is_new_connection = !pad.connected;
134
229
 
135
- if (!pad.connected) {
230
+ if (is_new_connection) {
136
231
  pad.connected = true;
232
+ pad.connectionIndex = this.#connectionSequence++;
233
+
234
+ /*
235
+ Handles are reused per hardware slot, and a slot can be re-occupied by a different pad, so what was
236
+ learned about the previous occupant does not carry over
237
+ */
238
+ pad.forgetCalibration();
239
+ }
137
240
 
241
+ pad.update(gamepad);
242
+
243
+ // state is fully refreshed before the connection is announced
244
+ if (is_new_connection) {
138
245
  this.on.connected.send1(pad);
139
246
  }
140
247
 
@@ -156,9 +263,86 @@ export class GamepadDevice {
156
263
  // release everything to avoid stuck inputs
157
264
  pad.reset();
158
265
 
266
+ if (this.#mainSource === pad) {
267
+ this.#unbindMain();
268
+ }
269
+
159
270
  this.on.disconnected.send1(pad);
160
271
  }
161
272
 
273
+ /**
274
+ * Oldest pad that is still connected, or undefined when there are none
275
+ *
276
+ * @returns {GamepadHandle|undefined}
277
+ */
278
+ #findOldestConnectedPad() {
279
+ const pads = this.pads;
280
+ const n = pads.length;
281
+
282
+ let oldest = undefined;
283
+
284
+ for (let i = 0; i < n; i++) {
285
+ const pad = pads[i];
286
+
287
+ if (pad === undefined || !pad.connected) {
288
+ continue;
289
+ }
290
+
291
+ if (oldest === undefined || pad.connectionIndex < oldest.connectionIndex) {
292
+ oldest = pad;
293
+ }
294
+ }
295
+
296
+ return oldest;
297
+ }
298
+
299
+ /**
300
+ * Detach {@link main} from the pad it was mirroring.
301
+ *
302
+ * Everything is released, so a button held on the outgoing pad never stays stuck. A successor is picked by
303
+ * the next {@link GamepadDevice#poll}, which is also the only place that re-presses whatever is genuinely
304
+ * held on the incoming pad.
305
+ */
306
+ #unbindMain() {
307
+ this.#mainSource = undefined;
308
+
309
+ this.main.reset();
310
+ this.main.connected = false;
311
+ }
312
+
313
+ /**
314
+ * Bind {@link main} to the oldest connected pad if it isn't bound, then refresh it from hardware.
315
+ *
316
+ * Sole feed point for {@link main}. It is given the same snapshot as the pad it mirrors rather than
317
+ * proxying that pad, so its switches and signals keep their identity across disconnection and pad swaps.
318
+ *
319
+ * @param {(Gamepad|null)[]} gamepads native gamepad list for this pass
320
+ */
321
+ #refreshMain(gamepads) {
322
+ if (this.#mainSource === undefined) {
323
+ const successor = this.#findOldestConnectedPad();
324
+
325
+ if (successor === undefined) {
326
+ // nothing connected, main stays present and released
327
+ return;
328
+ }
329
+
330
+ this.#mainSource = successor;
331
+ this.main.connected = true;
332
+
333
+ // main now represents different hardware, with a different rest position
334
+ this.main.forgetCalibration();
335
+ }
336
+
337
+ const snapshot = gamepads[this.#mainSource.index];
338
+
339
+ if (snapshot === null || snapshot === undefined) {
340
+ return;
341
+ }
342
+
343
+ this.main.update(snapshot);
344
+ }
345
+
162
346
  /**
163
347
  *
164
348
  * @param {GamepadEvent} event
@@ -210,10 +394,10 @@ export class GamepadDevice {
210
394
  Some browsers only dispatch "gamepadconnected" after a button is pressed,
211
395
  so connection is detected during polling as well
212
396
  */
213
- const pad = this.#connect(gamepad);
214
-
215
- pad.update(gamepad, this.deadZone);
397
+ this.#connect(gamepad);
216
398
  }
399
+
400
+ this.#refreshMain(gamepads);
217
401
  }
218
402
 
219
403
  #update = () => {
@@ -276,5 +460,7 @@ export class GamepadDevice {
276
460
  pad.reset();
277
461
  }
278
462
  }
463
+
464
+ this.main.reset();
279
465
  }
280
466
  }
@@ -1,11 +1,44 @@
1
- import Signal from "../../../core/events/signal/Signal";
2
-
3
- export class InputDeviceSwitch {
4
- readonly up: Signal
5
- readonly down: Signal
6
- readonly is_down: boolean
7
- readonly is_up: boolean
8
-
9
- press():void
10
- release():void
11
- }
1
+ /**
2
+ * Representation of an input device key/button
3
+ *
4
+ * @author Alex Goldring
5
+ * @copyright Company Named Limited (c) 2026
6
+ */
7
+ export class InputDeviceSwitch {
8
+ /**
9
+ * Switch press
10
+ * @readonly
11
+ * @type {Signal<>}
12
+ */
13
+ readonly down: any;
14
+ /**
15
+ * Switch release
16
+ * @readonly
17
+ * @type {Signal<>}
18
+ */
19
+ readonly up: any;
20
+ /**
21
+ * is button currently being pressed?
22
+ * Do not modify directly
23
+ * @type {boolean}
24
+ */
25
+ is_down: boolean;
26
+ /**
27
+ * Convenience accessor, dual of {@link is_down}
28
+ * @returns {boolean}
29
+ */
30
+ get is_up(): boolean;
31
+ /**
32
+ * Execute press, will trigger {@link down} signal if previous state was up
33
+ * Idempotent
34
+ * NOTE: make sure you understand the implications of using this
35
+ */
36
+ press(): void;
37
+ /**
38
+ * Execute release, will trigger {@link up} signal if previous state was down
39
+ * Idempotent
40
+ * NOTE: make sure you understand the implications of using this
41
+ */
42
+ release(): void;
43
+ }
44
+ //# sourceMappingURL=InputDeviceSwitch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputDeviceSwitch.d.ts","sourceRoot":"","sources":["../../../../../src/engine/input/devices/InputDeviceSwitch.js"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH;IAEI;;;;OAIG;IACH,eAFU,MAAQ,CAEC;IAEnB;;;;OAIG;IACH,aAFU,MAAQ,CAED;IAEjB;;;;OAIG;IACH,SAFU,OAAO,CAEF;IAEf;;;OAGG;IACH,qBAEC;IAED;;;;OAIG;IACH,cAOC;IAED;;;;OAIG;IACH,gBAOC;CACJ;mBAlEkB,uCAAuC"}
1
+ {"version":3,"file":"InputDeviceSwitch.d.ts","sourceRoot":"","sources":["../../../../../src/engine/input/devices/InputDeviceSwitch.js"],"names":[],"mappings":"AAEA;;;;;GAKG;AACH;IAEI;;;;OAIG;IACH,mBAAmB;IAEnB;;;;OAIG;IACH,iBAAiB;IAEjB;;;;OAIG;IACH,SAFU,OAAO,CAEF;IAEf;;;OAGG;IACH,qBAEC;IAED;;;;OAIG;IACH,cAOC;IAED;;;;OAIG;IACH,gBAOC;CACJ"}