@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
@@ -1,6 +1,8 @@
1
1
  import Signal from "../../../../core/events/signal/Signal.js";
2
- import Vector2 from "../../../../core/geom/Vector2.js";
3
2
  import { InputDeviceSwitch } from "../InputDeviceSwitch.js";
3
+ import { GamepadAxes } from "./GamepadAxes.js";
4
+ import { GamepadStick } from "./GamepadStick.js";
5
+ import { GAMEPAD_STANDARD_AXIS_COUNT, GAMEPAD_STANDARD_BUTTON_COUNT } from "./GamepadStandardMapping.js";
4
6
 
5
7
  /**
6
8
  * State of a single physical gamepad.
@@ -38,6 +40,14 @@ export class GamepadHandle {
38
40
  */
39
41
  connected = false;
40
42
 
43
+ /**
44
+ * Order in which this pad was connected, used to pick a successor when the active pad is lost.
45
+ * Lower is older. Meaningless while {@link connected} is false.
46
+ * Do not modify directly
47
+ * @type {number}
48
+ */
49
+ connectionIndex = -1;
50
+
41
51
  /**
42
52
  * @readonly
43
53
  */
@@ -62,13 +72,16 @@ export class GamepadHandle {
62
72
  /**
63
73
  * Individual button switches, indexed by button index.
64
74
  * For the standard mapping, see {@link GamepadButtons} for valid indices.
65
- * Populated lazily as buttons are observed; use {@link GamepadHandle#getButton} for safe access.
75
+ *
76
+ * Every index of the standard mapping is materialized up front, so reads need no guard - a button the
77
+ * hardware does not have simply never goes down. Hardware exposing more than the standard button count
78
+ * grows the array during {@link GamepadHandle#update}.
66
79
  *
67
80
  * @readonly
68
81
  * @type {InputDeviceSwitch[]}
69
82
  *
70
83
  * @example
71
- * const is_jumping = pad.buttons[GamepadButtons.a]?.is_down;
84
+ * const is_jumping = pad.buttons[GamepadButtons.a].is_down;
72
85
  */
73
86
  buttons = [];
74
87
 
@@ -81,26 +94,41 @@ export class GamepadHandle {
81
94
  buttonValues = [];
82
95
 
83
96
  /**
84
- * Axis values in the range [-1,1], after dead-zone filtering.
97
+ * Axis values in the range [-1,1], exactly as reported by the hardware.
85
98
  * For the standard mapping, see {@link GamepadAxes} for valid indices.
99
+ *
100
+ * Uncorrected: a resting stick rarely reads 0 here. Read {@link stickLeft}/{@link stickRight} for values
101
+ * with the learned rest position removed.
102
+ *
86
103
  * @readonly
87
104
  * @type {number[]}
88
105
  */
89
106
  axes = [];
90
107
 
91
108
  /**
92
- * Convenience accessor for axes 0 and 1 of the standard mapping
109
+ * Left stick of the standard mapping, axes 0 and 1
93
110
  * @readonly
94
- * @type {Vector2}
111
+ * @type {GamepadStick}
95
112
  */
96
- stickLeft = new Vector2();
113
+ stickLeft = new GamepadStick(GamepadAxes.left_stick_x, GamepadAxes.left_stick_y);
97
114
 
98
115
  /**
99
- * Convenience accessor for axes 2 and 3 of the standard mapping
116
+ * Right stick of the standard mapping, axes 2 and 3
100
117
  * @readonly
101
- * @type {Vector2}
118
+ * @type {GamepadStick}
102
119
  */
103
- stickRight = new Vector2();
120
+ stickRight = new GamepadStick(GamepadAxes.right_stick_x, GamepadAxes.right_stick_y);
121
+
122
+ constructor() {
123
+ for (let i = 0; i < GAMEPAD_STANDARD_BUTTON_COUNT; i++) {
124
+ this.buttons[i] = new InputDeviceSwitch();
125
+ this.buttonValues[i] = 0;
126
+ }
127
+
128
+ for (let i = 0; i < GAMEPAD_STANDARD_AXIS_COUNT; i++) {
129
+ this.axes[i] = 0;
130
+ }
131
+ }
104
132
 
105
133
  /**
106
134
  * Returns switch for a given button index, creating it if it doesn't exist yet
@@ -125,9 +153,8 @@ export class GamepadHandle {
125
153
  * Refresh state from a native {@link Gamepad} snapshot
126
154
  *
127
155
  * @param {Gamepad} source native gamepad object
128
- * @param {number} [deadZone] axis values with magnitude below this are clamped to 0
129
156
  */
130
- update(source, deadZone = 0) {
157
+ update(source) {
131
158
 
132
159
  this.index = source.index;
133
160
  this.id = source.id;
@@ -164,33 +191,20 @@ export class GamepadHandle {
164
191
  const axisCount = sourceAxes.length;
165
192
 
166
193
  for (let i = 0; i < axisCount; i++) {
167
- let value = sourceAxes[i];
168
-
169
- if (Math.abs(value) < deadZone) {
170
- // inside dead-zone, treat as neutral
171
- value = 0;
172
- }
194
+ const value = sourceAxes[i];
173
195
 
196
+ // hardware beyond the standard mapping has not been seen before and reads as neutral
174
197
  const oldValue = this.axes[i] !== undefined ? this.axes[i] : 0;
175
198
 
176
- if (value !== oldValue) {
177
- this.axes[i] = value;
199
+ this.axes[i] = value;
178
200
 
201
+ if (value !== oldValue) {
179
202
  this.on.axis.send3(i, value, oldValue);
180
- } else {
181
- this.axes[i] = value;
182
203
  }
183
204
  }
184
205
 
185
- this.stickLeft.set(
186
- this.axes[0] !== undefined ? this.axes[0] : 0,
187
- this.axes[1] !== undefined ? this.axes[1] : 0
188
- );
189
-
190
- this.stickRight.set(
191
- this.axes[2] !== undefined ? this.axes[2] : 0,
192
- this.axes[3] !== undefined ? this.axes[3] : 0
193
- );
206
+ this.stickLeft.update(this.axes);
207
+ this.stickRight.update(this.axes);
194
208
  }
195
209
 
196
210
  /**
@@ -226,7 +240,19 @@ export class GamepadHandle {
226
240
  }
227
241
  }
228
242
 
229
- this.stickLeft.set(0, 0);
230
- this.stickRight.set(0, 0);
231
- }
243
+ this.stickLeft.reset();
244
+ this.stickRight.reset();
245
+ }
246
+
247
+ /**
248
+ * Discard what has been learned about the sticks.
249
+ * Used when this handle starts representing different hardware, either because a pad was plugged into a
250
+ * slot another pad used to occupy, or because {@link GamepadDevice#main} moved to a different pad.
251
+ *
252
+ * @returns {void}
253
+ */
254
+ forgetCalibration() {
255
+ this.stickLeft.forgetCalibration();
256
+ this.stickRight.forgetCalibration();
257
+ }
232
258
  }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Number of buttons defined by the "standard" gamepad mapping
3
+ * see https://w3c.github.io/gamepad/#remapping
4
+ *
5
+ * {@link GamepadHandle} materializes this many button switches up front, so that every index in
6
+ * {@link GamepadButtons} is safe to read without a guard, before the hardware has ever been polled.
7
+ *
8
+ * @readonly
9
+ * @type {number}
10
+ */
11
+ export const GAMEPAD_STANDARD_BUTTON_COUNT: number;
12
+ /**
13
+ * Number of axes defined by the "standard" gamepad mapping
14
+ * see https://w3c.github.io/gamepad/#remapping
15
+ *
16
+ * @readonly
17
+ * @type {number}
18
+ */
19
+ export const GAMEPAD_STANDARD_AXIS_COUNT: number;
20
+ //# sourceMappingURL=GamepadStandardMapping.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GamepadStandardMapping.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/input/devices/gamepad/GamepadStandardMapping.js"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,4CAFU,MAAM,CAEgC;AAEhD;;;;;;GAMG;AACH,0CAFU,MAAM,CAE6B"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Number of buttons defined by the "standard" gamepad mapping
3
+ * see https://w3c.github.io/gamepad/#remapping
4
+ *
5
+ * {@link GamepadHandle} materializes this many button switches up front, so that every index in
6
+ * {@link GamepadButtons} is safe to read without a guard, before the hardware has ever been polled.
7
+ *
8
+ * @readonly
9
+ * @type {number}
10
+ */
11
+ export const GAMEPAD_STANDARD_BUTTON_COUNT = 17;
12
+
13
+ /**
14
+ * Number of axes defined by the "standard" gamepad mapping
15
+ * see https://w3c.github.io/gamepad/#remapping
16
+ *
17
+ * @readonly
18
+ * @type {number}
19
+ */
20
+ export const GAMEPAD_STANDARD_AXIS_COUNT = 4;
@@ -0,0 +1,93 @@
1
+ /**
2
+ * An analog stick: a pair of axes, plus what we have learned about the hardware behind them.
3
+ *
4
+ * Values are in the hardware frame, +x is right and +y is down, see {@link GamepadAxes}. Converting that into a
5
+ * game frame depends on the camera and belongs to a controller, not here - the same stick means different world
6
+ * directions in a top-down game and a third-person one.
7
+ *
8
+ * @author Alex Goldring
9
+ * @copyright Company Named Limited (c) 2026
10
+ */
11
+ export class GamepadStick {
12
+ /**
13
+ *
14
+ * @param {number} axisX index into {@link GamepadHandle#axes}
15
+ * @param {number} axisY index into {@link GamepadHandle#axes}
16
+ */
17
+ constructor(axisX: number, axisY: number);
18
+ /**
19
+ * Index into {@link GamepadHandle#axes} read as the horizontal component
20
+ * @type {number}
21
+ */
22
+ axisX: number;
23
+ /**
24
+ * Index into {@link GamepadHandle#axes} read as the vertical component
25
+ * @type {number}
26
+ */
27
+ axisY: number;
28
+ /**
29
+ * Hardware value, exactly as reported.
30
+ * A resting stick rarely reads (0,0) here, that is what {@link calibration} is for.
31
+ *
32
+ * @readonly
33
+ * @type {Vector2}
34
+ */
35
+ readonly raw: Vector2;
36
+ /**
37
+ * Calibrated value: {@link raw} with the learned rest position removed, reading exactly neutral while the
38
+ * stick is within its learned noise radius. This is what gameplay should read.
39
+ *
40
+ * Still raw in every other respect - no gameplay dead zone, no response curve, no magnitude clamp. Feed it
41
+ * to {@link apply_radial_dead_zone} to shape it.
42
+ *
43
+ * @readonly
44
+ * @type {Vector2}
45
+ */
46
+ readonly value: Vector2;
47
+ /**
48
+ * @readonly
49
+ * @type {GamepadStickCalibration}
50
+ */
51
+ readonly calibration: GamepadStickCalibration;
52
+ /**
53
+ * @readonly
54
+ */
55
+ readonly on: {
56
+ /**
57
+ * Fires when {@link value} changes. A calibrated stick at rest is silent.
58
+ * @type {Signal<>}
59
+ */
60
+ changed: any;
61
+ };
62
+ /**
63
+ * Refresh from raw axis values, feeding the calibrator on the way through.
64
+ *
65
+ * @param {number[]} axes raw axis values, indexed as {@link GamepadAxes}
66
+ * @returns {void}
67
+ */
68
+ update(axes: number[]): void;
69
+ /**
70
+ * Return to neutral. Used when the pad disconnects, so a deflected stick does not stay deflected.
71
+ * The calibration is kept, the hardware has not changed.
72
+ *
73
+ * @returns {void}
74
+ */
75
+ reset(): void;
76
+ /**
77
+ * Discard what has been learned, returning the stick to passthrough until it calibrates again.
78
+ *
79
+ * Called when the handle starts representing different hardware. Keeping the estimate would apply one
80
+ * pad's correction to another, and worse, would stop the new pad's own rest position from ever being
81
+ * adopted whenever it sits further from the origin than the old one - the calibrator only ever moves its
82
+ * estimate closer in.
83
+ *
84
+ * A locked calibration is left alone: it was supplied rather than learned, so it is not ours to discard.
85
+ *
86
+ * @returns {void}
87
+ */
88
+ forgetCalibration(): void;
89
+ #private;
90
+ }
91
+ import Vector2 from "../../../../core/geom/Vector2.js";
92
+ import { GamepadStickCalibration } from "./GamepadStickCalibration.js";
93
+ //# sourceMappingURL=GamepadStick.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GamepadStick.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/input/devices/gamepad/GamepadStick.js"],"names":[],"mappings":"AAKA;;;;;;;;;GASG;AACH;IAyDI;;;;OAIG;IACH,mBAHW,MAAM,SACN,MAAM,EAKhB;IA/DD;;;OAGG;IACH,OAFU,MAAM,CAEN;IAEV;;;OAGG;IACH,OAFU,MAAM,CAEN;IAEV;;;;;;OAMG;IACH,cAFU,OAAO,CAEG;IAEpB;;;;;;;;;OASG;IACH,gBAFU,OAAO,CAEK;IAEtB;;;OAGG;IACH,sBAFU,uBAAuB,CAEW;IAE5C;;OAEG;IACH;QACI;;;WAGG;;MAEL;IAiBF;;;;;OAKG;IACH,aAHW,MAAM,EAAE,GACN,IAAI,CA0BhB;IAED;;;;;OAKG;IACH,SAFa,IAAI,CAMhB;IAED;;;;;;;;;;;OAWG;IACH,qBAFa,IAAI,CAUhB;;CAkBJ;oBAnKmB,kCAAkC;wCACd,8BAA8B"}
@@ -0,0 +1,165 @@
1
+ import Signal from "../../../../core/events/signal/Signal.js";
2
+ import Vector2 from "../../../../core/geom/Vector2.js";
3
+ import { GamepadStickCalibration } from "./GamepadStickCalibration.js";
4
+ import { GamepadStickCalibrator } from "./GamepadStickCalibrator.js";
5
+
6
+ /**
7
+ * An analog stick: a pair of axes, plus what we have learned about the hardware behind them.
8
+ *
9
+ * Values are in the hardware frame, +x is right and +y is down, see {@link GamepadAxes}. Converting that into a
10
+ * game frame depends on the camera and belongs to a controller, not here - the same stick means different world
11
+ * directions in a top-down game and a third-person one.
12
+ *
13
+ * @author Alex Goldring
14
+ * @copyright Company Named Limited (c) 2026
15
+ */
16
+ export class GamepadStick {
17
+
18
+ /**
19
+ * Index into {@link GamepadHandle#axes} read as the horizontal component
20
+ * @type {number}
21
+ */
22
+ axisX = 0;
23
+
24
+ /**
25
+ * Index into {@link GamepadHandle#axes} read as the vertical component
26
+ * @type {number}
27
+ */
28
+ axisY = 1;
29
+
30
+ /**
31
+ * Hardware value, exactly as reported.
32
+ * A resting stick rarely reads (0,0) here, that is what {@link calibration} is for.
33
+ *
34
+ * @readonly
35
+ * @type {Vector2}
36
+ */
37
+ raw = new Vector2();
38
+
39
+ /**
40
+ * Calibrated value: {@link raw} with the learned rest position removed, reading exactly neutral while the
41
+ * stick is within its learned noise radius. This is what gameplay should read.
42
+ *
43
+ * Still raw in every other respect - no gameplay dead zone, no response curve, no magnitude clamp. Feed it
44
+ * to {@link apply_radial_dead_zone} to shape it.
45
+ *
46
+ * @readonly
47
+ * @type {Vector2}
48
+ */
49
+ value = new Vector2();
50
+
51
+ /**
52
+ * @readonly
53
+ * @type {GamepadStickCalibration}
54
+ */
55
+ calibration = new GamepadStickCalibration();
56
+
57
+ /**
58
+ * @readonly
59
+ */
60
+ on = {
61
+ /**
62
+ * Fires when {@link value} changes. A calibrated stick at rest is silent.
63
+ * @type {Signal<>}
64
+ */
65
+ changed: new Signal()
66
+ };
67
+
68
+ /**
69
+ * @type {GamepadStickCalibrator}
70
+ */
71
+ #calibrator = new GamepadStickCalibrator();
72
+
73
+ /**
74
+ *
75
+ * @param {number} axisX index into {@link GamepadHandle#axes}
76
+ * @param {number} axisY index into {@link GamepadHandle#axes}
77
+ */
78
+ constructor(axisX, axisY) {
79
+ this.axisX = axisX;
80
+ this.axisY = axisY;
81
+ }
82
+
83
+ /**
84
+ * Refresh from raw axis values, feeding the calibrator on the way through.
85
+ *
86
+ * @param {number[]} axes raw axis values, indexed as {@link GamepadAxes}
87
+ * @returns {void}
88
+ */
89
+ update(axes) {
90
+ const x = axes[this.axisX];
91
+ const y = axes[this.axisY];
92
+
93
+ this.raw.set(x, y);
94
+
95
+ const calibration = this.calibration;
96
+
97
+ if (!calibration.locked) {
98
+ this.#calibrator.sample(calibration, x, y);
99
+ }
100
+
101
+ const center = calibration.center;
102
+
103
+ const dx = x - center.x;
104
+ const dy = y - center.y;
105
+
106
+ const noiseRadius = calibration.noiseRadius;
107
+
108
+ if (dx * dx + dy * dy <= noiseRadius * noiseRadius) {
109
+ this.#write(0, 0);
110
+ } else {
111
+ this.#write(dx, dy);
112
+ }
113
+ }
114
+
115
+ /**
116
+ * Return to neutral. Used when the pad disconnects, so a deflected stick does not stay deflected.
117
+ * The calibration is kept, the hardware has not changed.
118
+ *
119
+ * @returns {void}
120
+ */
121
+ reset() {
122
+ this.raw.set(0, 0);
123
+
124
+ this.#write(0, 0);
125
+ }
126
+
127
+ /**
128
+ * Discard what has been learned, returning the stick to passthrough until it calibrates again.
129
+ *
130
+ * Called when the handle starts representing different hardware. Keeping the estimate would apply one
131
+ * pad's correction to another, and worse, would stop the new pad's own rest position from ever being
132
+ * adopted whenever it sits further from the origin than the old one - the calibrator only ever moves its
133
+ * estimate closer in.
134
+ *
135
+ * A locked calibration is left alone: it was supplied rather than learned, so it is not ours to discard.
136
+ *
137
+ * @returns {void}
138
+ */
139
+ forgetCalibration() {
140
+ if (this.calibration.locked) {
141
+ return;
142
+ }
143
+
144
+ this.calibration.setIdentity();
145
+
146
+ this.#calibrator.reset();
147
+ }
148
+
149
+ /**
150
+ *
151
+ * @param {number} x
152
+ * @param {number} y
153
+ */
154
+ #write(x, y) {
155
+ const value = this.value;
156
+
157
+ if (value.x === x && value.y === y) {
158
+ return;
159
+ }
160
+
161
+ value.set(x, y);
162
+
163
+ this.on.changed.send0();
164
+ }
165
+ }
@@ -0,0 +1,84 @@
1
+ /**
2
+ * Hardware characterization of a single analog stick.
3
+ *
4
+ * This describes what the hardware gets wrong, not what the game wants. Gameplay dead zone, response curve and
5
+ * frame conversion are policy and belong to the consumer, see {@link apply_radial_dead_zone}. Applying a
6
+ * gameplay dead zone here as well is how you end up with two dead zones stacked on top of each other and no
7
+ * precision left.
8
+ *
9
+ * Identity ({@link center} at origin, zero {@link noiseRadius}) is a bit-exact passthrough, so opting out of
10
+ * calibration is expressed by locking an identity calibration rather than by a separate code path.
11
+ *
12
+ * @author Alex Goldring
13
+ * @copyright Company Named Limited (c) 2026
14
+ */
15
+ export class GamepadStickCalibration {
16
+ /**
17
+ * Where the stick actually rests. Subtracted from the raw value.
18
+ *
19
+ * This is what "stick drift" is: an offset center, not symmetric noise. A dead zone responds to an offset
20
+ * center by widening the dead area asymmetrically, losing range on one side while still drifting on the
21
+ * other. Subtracting the learned center fixes it instead.
22
+ *
23
+ * @readonly
24
+ * @type {Vector2}
25
+ */
26
+ readonly center: Vector2;
27
+ /**
28
+ * Learned dispersion around {@link center}: how far the stick wanders while resting there. Deflection
29
+ * within this radius reads as neutral.
30
+ *
31
+ * Distinct from {@link center}, and much smaller. A fixed dead zone has to cover both at once, which is why
32
+ * the shipped constants are so large - XInput recommends 0.24 - and why they have to be sized for the worst
33
+ * pad in the population, leaving every good pad paying for it. Splitting them lets each be what it actually
34
+ * is: an offset that gets subtracted, and a noise floor of a few thousandths on a healthy stick.
35
+ *
36
+ * Structurally bounded by the calibrator's spread bound, see {@link NOISE_RADIUS_MAX}.
37
+ *
38
+ * @type {number}
39
+ */
40
+ noiseRadius: number;
41
+ /**
42
+ * When true, learning is suspended and the current values are used as they are.
43
+ * Set this after writing values from a saved profile or a settings screen.
44
+ * @type {boolean}
45
+ */
46
+ locked: boolean;
47
+ /**
48
+ * Restore the passthrough calibration. Does not affect {@link locked}.
49
+ * @returns {void}
50
+ */
51
+ setIdentity(): void;
52
+ /**
53
+ *
54
+ * @param {number} x
55
+ * @param {number} y
56
+ * @param {number} noiseRadius
57
+ * @returns {void}
58
+ */
59
+ set(x: number, y: number, noiseRadius: number): void;
60
+ /**
61
+ *
62
+ * @param {GamepadStickCalibration} other
63
+ * @returns {void}
64
+ */
65
+ copy(other: GamepadStickCalibration): void;
66
+ /**
67
+ *
68
+ * @param {GamepadStickCalibration} other
69
+ * @returns {boolean}
70
+ */
71
+ equals(other: GamepadStickCalibration): boolean;
72
+ /**
73
+ *
74
+ * @param {BinaryBuffer} buffer
75
+ */
76
+ toBinaryBuffer(buffer: BinaryBuffer): void;
77
+ /**
78
+ *
79
+ * @param {BinaryBuffer} buffer
80
+ */
81
+ fromBinaryBuffer(buffer: BinaryBuffer): void;
82
+ }
83
+ import Vector2 from "../../../../core/geom/Vector2.js";
84
+ //# sourceMappingURL=GamepadStickCalibration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GamepadStickCalibration.d.ts","sourceRoot":"","sources":["../../../../../../src/engine/input/devices/gamepad/GamepadStickCalibration.js"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH;IAEI;;;;;;;;;OASG;IACH,iBAFU,OAAO,CAEM;IAEvB;;;;;;;;;;;;OAYG;IACH,aAFU,MAAM,CAEA;IAEhB;;;;OAIG;IACH,QAFU,OAAO,CAEF;IAEf;;;OAGG;IACH,eAFa,IAAI,CAKhB;IAED;;;;;;OAMG;IACH,OALW,MAAM,KACN,MAAM,eACN,MAAM,GACJ,IAAI,CAKhB;IAED;;;;OAIG;IACH,YAHW,uBAAuB,GACrB,IAAI,CAMhB;IAED;;;;OAIG;IACH,cAHW,uBAAuB,GACrB,OAAO,CAMnB;IAED;;;OAGG;IACH,2CAKC;IAED;;;OAGG;IACH,6CAOC;CACJ;oBAtHmB,kCAAkC"}
@@ -0,0 +1,119 @@
1
+ import Vector2 from "../../../../core/geom/Vector2.js";
2
+
3
+ /**
4
+ * Hardware characterization of a single analog stick.
5
+ *
6
+ * This describes what the hardware gets wrong, not what the game wants. Gameplay dead zone, response curve and
7
+ * frame conversion are policy and belong to the consumer, see {@link apply_radial_dead_zone}. Applying a
8
+ * gameplay dead zone here as well is how you end up with two dead zones stacked on top of each other and no
9
+ * precision left.
10
+ *
11
+ * Identity ({@link center} at origin, zero {@link noiseRadius}) is a bit-exact passthrough, so opting out of
12
+ * calibration is expressed by locking an identity calibration rather than by a separate code path.
13
+ *
14
+ * @author Alex Goldring
15
+ * @copyright Company Named Limited (c) 2026
16
+ */
17
+ export class GamepadStickCalibration {
18
+
19
+ /**
20
+ * Where the stick actually rests. Subtracted from the raw value.
21
+ *
22
+ * This is what "stick drift" is: an offset center, not symmetric noise. A dead zone responds to an offset
23
+ * center by widening the dead area asymmetrically, losing range on one side while still drifting on the
24
+ * other. Subtracting the learned center fixes it instead.
25
+ *
26
+ * @readonly
27
+ * @type {Vector2}
28
+ */
29
+ center = new Vector2();
30
+
31
+ /**
32
+ * Learned dispersion around {@link center}: how far the stick wanders while resting there. Deflection
33
+ * within this radius reads as neutral.
34
+ *
35
+ * Distinct from {@link center}, and much smaller. A fixed dead zone has to cover both at once, which is why
36
+ * the shipped constants are so large - XInput recommends 0.24 - and why they have to be sized for the worst
37
+ * pad in the population, leaving every good pad paying for it. Splitting them lets each be what it actually
38
+ * is: an offset that gets subtracted, and a noise floor of a few thousandths on a healthy stick.
39
+ *
40
+ * Structurally bounded by the calibrator's spread bound, see {@link NOISE_RADIUS_MAX}.
41
+ *
42
+ * @type {number}
43
+ */
44
+ noiseRadius = 0;
45
+
46
+ /**
47
+ * When true, learning is suspended and the current values are used as they are.
48
+ * Set this after writing values from a saved profile or a settings screen.
49
+ * @type {boolean}
50
+ */
51
+ locked = false;
52
+
53
+ /**
54
+ * Restore the passthrough calibration. Does not affect {@link locked}.
55
+ * @returns {void}
56
+ */
57
+ setIdentity() {
58
+ this.center.set(0, 0);
59
+ this.noiseRadius = 0;
60
+ }
61
+
62
+ /**
63
+ *
64
+ * @param {number} x
65
+ * @param {number} y
66
+ * @param {number} noiseRadius
67
+ * @returns {void}
68
+ */
69
+ set(x, y, noiseRadius) {
70
+ this.center.set(x, y);
71
+ this.noiseRadius = noiseRadius;
72
+ }
73
+
74
+ /**
75
+ *
76
+ * @param {GamepadStickCalibration} other
77
+ * @returns {void}
78
+ */
79
+ copy(other) {
80
+ this.center.copy(other.center);
81
+ this.noiseRadius = other.noiseRadius;
82
+ this.locked = other.locked;
83
+ }
84
+
85
+ /**
86
+ *
87
+ * @param {GamepadStickCalibration} other
88
+ * @returns {boolean}
89
+ */
90
+ equals(other) {
91
+ return this.noiseRadius === other.noiseRadius
92
+ && this.locked === other.locked
93
+ && this.center.equals(other.center);
94
+ }
95
+
96
+ /**
97
+ *
98
+ * @param {BinaryBuffer} buffer
99
+ */
100
+ toBinaryBuffer(buffer) {
101
+ buffer.writeFloat64(this.center.x);
102
+ buffer.writeFloat64(this.center.y);
103
+ buffer.writeFloat64(this.noiseRadius);
104
+ buffer.writeUint8(this.locked ? 1 : 0);
105
+ }
106
+
107
+ /**
108
+ *
109
+ * @param {BinaryBuffer} buffer
110
+ */
111
+ fromBinaryBuffer(buffer) {
112
+ const x = buffer.readFloat64();
113
+ const y = buffer.readFloat64();
114
+
115
+ this.center.set(x, y);
116
+ this.noiseRadius = buffer.readFloat64();
117
+ this.locked = buffer.readUint8() !== 0;
118
+ }
119
+ }