@aura3d/engine 2.0.3 → 3.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (704) hide show
  1. package/README.md +37 -46
  2. package/dist/animation/AnimationAction.d.ts.map +1 -1
  3. package/dist/animation/AnimationAction.js +20 -2
  4. package/dist/animation/AnimationAction.js.map +1 -1
  5. package/dist/animation/AnimationLayer.d.ts +1 -0
  6. package/dist/animation/AnimationLayer.d.ts.map +1 -1
  7. package/dist/animation/AnimationLayer.js +24 -3
  8. package/dist/animation/AnimationLayer.js.map +1 -1
  9. package/dist/animation/AnimationMixer.d.ts +3 -0
  10. package/dist/animation/AnimationMixer.d.ts.map +1 -1
  11. package/dist/animation/AnimationMixer.js +69 -5
  12. package/dist/animation/AnimationMixer.js.map +1 -1
  13. package/dist/animation/AnimationTrack.d.ts.map +1 -1
  14. package/dist/animation/AnimationTrack.js +13 -0
  15. package/dist/animation/AnimationTrack.js.map +1 -1
  16. package/dist/animation/FootIk.d.ts +10 -0
  17. package/dist/animation/FootIk.d.ts.map +1 -1
  18. package/dist/animation/FootIk.js +95 -3
  19. package/dist/animation/FootIk.js.map +1 -1
  20. package/dist/animation/HumanoidRetargeting.d.ts +29 -0
  21. package/dist/animation/HumanoidRetargeting.d.ts.map +1 -1
  22. package/dist/animation/HumanoidRetargeting.js +41 -1
  23. package/dist/animation/HumanoidRetargeting.js.map +1 -1
  24. package/dist/animation/LocomotionKit.d.ts +6 -0
  25. package/dist/animation/LocomotionKit.d.ts.map +1 -1
  26. package/dist/animation/LocomotionKit.js +6 -0
  27. package/dist/animation/LocomotionKit.js.map +1 -1
  28. package/dist/animation/RootMotion.d.ts +27 -0
  29. package/dist/animation/RootMotion.d.ts.map +1 -1
  30. package/dist/animation/RootMotion.js +38 -0
  31. package/dist/animation/RootMotion.js.map +1 -1
  32. package/dist/animation/SpringBones.d.ts +28 -0
  33. package/dist/animation/SpringBones.d.ts.map +1 -1
  34. package/dist/animation/SpringBones.js +24 -0
  35. package/dist/animation/SpringBones.js.map +1 -1
  36. package/dist/assets/GLTFAnimationRuntime.d.ts +95 -2
  37. package/dist/assets/GLTFAnimationRuntime.d.ts.map +1 -1
  38. package/dist/assets/GLTFAnimationRuntime.js +328 -3
  39. package/dist/assets/GLTFAnimationRuntime.js.map +1 -1
  40. package/dist/assets/GLTFExtensionSupport.js +2 -2
  41. package/dist/assets/GLTFExtensionSupport.js.map +1 -1
  42. package/dist/assets/GLTFLoader.d.ts +360 -1
  43. package/dist/assets/GLTFLoader.d.ts.map +1 -1
  44. package/dist/assets/GLTFLoader.js +197 -1
  45. package/dist/assets/GLTFLoader.js.map +1 -1
  46. package/dist/assets/KTX2BasisTextureTranscoder.d.ts +39 -0
  47. package/dist/assets/KTX2BasisTextureTranscoder.d.ts.map +1 -1
  48. package/dist/assets/KTX2BasisTextureTranscoder.js +70 -0
  49. package/dist/assets/KTX2BasisTextureTranscoder.js.map +1 -1
  50. package/dist/assets/TexturePipeline.d.ts +20 -0
  51. package/dist/assets/TexturePipeline.d.ts.map +1 -1
  52. package/dist/assets/TexturePipeline.js +20 -0
  53. package/dist/assets/TexturePipeline.js.map +1 -1
  54. package/dist/assets/TextureStreaming.d.ts +30 -0
  55. package/dist/assets/TextureStreaming.d.ts.map +1 -1
  56. package/dist/assets/TextureStreaming.js +53 -0
  57. package/dist/assets/TextureStreaming.js.map +1 -1
  58. package/dist/assets/browser-index.d.ts +7 -3
  59. package/dist/assets/browser-index.d.ts.map +1 -1
  60. package/dist/assets/browser-index.js +3 -1
  61. package/dist/assets/browser-index.js.map +1 -1
  62. package/dist/assets/gltf-runtime.d.ts +1 -1
  63. package/dist/assets/gltf-runtime.d.ts.map +1 -1
  64. package/dist/assets/gltf-runtime.js.map +1 -1
  65. package/dist/assets/index.d.ts +7 -7
  66. package/dist/assets/index.d.ts.map +1 -1
  67. package/dist/assets/index.js +3 -3
  68. package/dist/assets/index.js.map +1 -1
  69. package/dist/assets/loaders/HDRLoader.d.ts +40 -0
  70. package/dist/assets/loaders/HDRLoader.d.ts.map +1 -1
  71. package/dist/assets/loaders/HDRLoader.js +158 -0
  72. package/dist/assets/loaders/HDRLoader.js.map +1 -1
  73. package/dist/audio/AudioSource.d.ts +2 -0
  74. package/dist/audio/AudioSource.d.ts.map +1 -1
  75. package/dist/audio/AudioSource.js +7 -0
  76. package/dist/audio/AudioSource.js.map +1 -1
  77. package/dist/audio/Footsteps.d.ts +47 -0
  78. package/dist/audio/Footsteps.d.ts.map +1 -0
  79. package/dist/audio/Footsteps.js +73 -0
  80. package/dist/audio/Footsteps.js.map +1 -0
  81. package/dist/audio/GameMixer.d.ts +69 -0
  82. package/dist/audio/GameMixer.d.ts.map +1 -0
  83. package/dist/audio/GameMixer.js +141 -0
  84. package/dist/audio/GameMixer.js.map +1 -0
  85. package/dist/audio/PositionalEmitter.d.ts +95 -0
  86. package/dist/audio/PositionalEmitter.d.ts.map +1 -0
  87. package/dist/audio/PositionalEmitter.js +199 -0
  88. package/dist/audio/PositionalEmitter.js.map +1 -0
  89. package/dist/audio/index.d.ts +6 -0
  90. package/dist/audio/index.d.ts.map +1 -1
  91. package/dist/audio/index.js +3 -0
  92. package/dist/audio/index.js.map +1 -1
  93. package/dist/aura3d-cli/asset-core-types.d.ts +19 -0
  94. package/dist/aura3d-cli/asset-core-types.d.ts.map +1 -1
  95. package/dist/aura3d-cli/asset-manifest.d.ts.map +1 -1
  96. package/dist/aura3d-cli/asset-manifest.js +2 -1
  97. package/dist/aura3d-cli/asset-manifest.js.map +1 -1
  98. package/dist/aura3d-cli/cli-help.d.ts.map +1 -1
  99. package/dist/aura3d-cli/cli-help.js +2 -0
  100. package/dist/aura3d-cli/cli-help.js.map +1 -1
  101. package/dist/aura3d-cli/cli.js +24 -1
  102. package/dist/aura3d-cli/cli.js.map +1 -1
  103. package/dist/aura3d-cli/index.d.ts +5 -1
  104. package/dist/aura3d-cli/index.d.ts.map +1 -1
  105. package/dist/aura3d-cli/index.js +5 -1
  106. package/dist/aura3d-cli/index.js.map +1 -1
  107. package/dist/aura3d-cli/meshy/admission.d.ts +40 -0
  108. package/dist/aura3d-cli/meshy/admission.d.ts.map +1 -0
  109. package/dist/aura3d-cli/meshy/admission.js +126 -0
  110. package/dist/aura3d-cli/meshy/admission.js.map +1 -0
  111. package/dist/aura3d-cli/meshy/evidence.d.ts +12 -0
  112. package/dist/aura3d-cli/meshy/evidence.d.ts.map +1 -0
  113. package/dist/aura3d-cli/meshy/evidence.js +37 -0
  114. package/dist/aura3d-cli/meshy/evidence.js.map +1 -0
  115. package/dist/aura3d-cli/meshy/import.d.ts +25 -0
  116. package/dist/aura3d-cli/meshy/import.d.ts.map +1 -0
  117. package/dist/aura3d-cli/meshy/import.js +104 -0
  118. package/dist/aura3d-cli/meshy/import.js.map +1 -0
  119. package/dist/aura3d-cli/meshy/index.d.ts +10 -0
  120. package/dist/aura3d-cli/meshy/index.d.ts.map +1 -0
  121. package/dist/aura3d-cli/meshy/index.js +6 -0
  122. package/dist/aura3d-cli/meshy/index.js.map +1 -0
  123. package/dist/aura3d-cli/meshy/metadata.d.ts +22 -0
  124. package/dist/aura3d-cli/meshy/metadata.d.ts.map +1 -0
  125. package/dist/aura3d-cli/meshy/metadata.js +176 -0
  126. package/dist/aura3d-cli/meshy/metadata.js.map +1 -0
  127. package/dist/aura3d-cli/meshy/provenance.d.ts +4 -0
  128. package/dist/aura3d-cli/meshy/provenance.d.ts.map +1 -0
  129. package/dist/aura3d-cli/meshy/provenance.js +21 -0
  130. package/dist/aura3d-cli/meshy/provenance.js.map +1 -0
  131. package/dist/aura3d-cli/meshy/thumbnail.d.ts +19 -0
  132. package/dist/aura3d-cli/meshy/thumbnail.d.ts.map +1 -0
  133. package/dist/aura3d-cli/meshy/thumbnail.js +59 -0
  134. package/dist/aura3d-cli/meshy/thumbnail.js.map +1 -0
  135. package/dist/aura3d-cli/meshy/validation.d.ts +5 -0
  136. package/dist/aura3d-cli/meshy/validation.d.ts.map +1 -0
  137. package/dist/aura3d-cli/meshy/validation.js +64 -0
  138. package/dist/aura3d-cli/meshy/validation.js.map +1 -0
  139. package/dist/aura3d-cli/pull-bridge/profiles.d.ts +12 -2
  140. package/dist/aura3d-cli/pull-bridge/profiles.d.ts.map +1 -1
  141. package/dist/aura3d-cli/pull-bridge/profiles.js +35 -4
  142. package/dist/aura3d-cli/pull-bridge/profiles.js.map +1 -1
  143. package/dist/aura3d-cli/pull-bridge/provenance.d.ts +15 -1
  144. package/dist/aura3d-cli/pull-bridge/provenance.d.ts.map +1 -1
  145. package/dist/aura3d-cli/pull-bridge/provenance.js +60 -1
  146. package/dist/aura3d-cli/pull-bridge/provenance.js.map +1 -1
  147. package/dist/aura3d-cli/pull-bridge/scoring.d.ts +10 -1
  148. package/dist/aura3d-cli/pull-bridge/scoring.d.ts.map +1 -1
  149. package/dist/aura3d-cli/pull-bridge/scoring.js +9 -1
  150. package/dist/aura3d-cli/pull-bridge/scoring.js.map +1 -1
  151. package/dist/aura3d-cli/pull-bridge/search.js +2 -2
  152. package/dist/aura3d-cli/pull-bridge/search.js.map +1 -1
  153. package/dist/aura3d-cli/pull-bridge.d.ts +15 -3
  154. package/dist/aura3d-cli/pull-bridge.d.ts.map +1 -1
  155. package/dist/aura3d-cli/pull-bridge.js +68 -5
  156. package/dist/aura3d-cli/pull-bridge.js.map +1 -1
  157. package/dist/controls/ArcballControls.d.ts +92 -0
  158. package/dist/controls/ArcballControls.d.ts.map +1 -0
  159. package/dist/controls/ArcballControls.js +286 -0
  160. package/dist/controls/ArcballControls.js.map +1 -0
  161. package/dist/controls/DragControls.d.ts +13 -0
  162. package/dist/controls/DragControls.d.ts.map +1 -1
  163. package/dist/controls/DragControls.js +24 -1
  164. package/dist/controls/DragControls.js.map +1 -1
  165. package/dist/controls/FlyControls.d.ts +9 -0
  166. package/dist/controls/FlyControls.d.ts.map +1 -1
  167. package/dist/controls/FlyControls.js +20 -2
  168. package/dist/controls/FlyControls.js.map +1 -1
  169. package/dist/controls/FocusFrame.d.ts +34 -0
  170. package/dist/controls/FocusFrame.d.ts.map +1 -0
  171. package/dist/controls/FocusFrame.js +82 -0
  172. package/dist/controls/FocusFrame.js.map +1 -0
  173. package/dist/controls/HoverOutline.d.ts +46 -0
  174. package/dist/controls/HoverOutline.d.ts.map +1 -0
  175. package/dist/controls/HoverOutline.js +87 -0
  176. package/dist/controls/HoverOutline.js.map +1 -0
  177. package/dist/controls/InteractionControls.d.ts +7 -0
  178. package/dist/controls/InteractionControls.d.ts.map +1 -1
  179. package/dist/controls/InteractionControls.js +12 -1
  180. package/dist/controls/InteractionControls.js.map +1 -1
  181. package/dist/controls/NativeControlTypes.d.ts +17 -0
  182. package/dist/controls/NativeControlTypes.d.ts.map +1 -1
  183. package/dist/controls/NativeControlTypes.js.map +1 -1
  184. package/dist/controls/OrbitControls.d.ts +9 -0
  185. package/dist/controls/OrbitControls.d.ts.map +1 -1
  186. package/dist/controls/OrbitControls.js +26 -6
  187. package/dist/controls/OrbitControls.js.map +1 -1
  188. package/dist/controls/Picking.d.ts +15 -0
  189. package/dist/controls/Picking.d.ts.map +1 -1
  190. package/dist/controls/Picking.js +62 -23
  191. package/dist/controls/Picking.js.map +1 -1
  192. package/dist/controls/PointerLockControls.d.ts.map +1 -1
  193. package/dist/controls/PointerLockControls.js +4 -0
  194. package/dist/controls/PointerLockControls.js.map +1 -1
  195. package/dist/controls/SelectionManager.d.ts +8 -0
  196. package/dist/controls/SelectionManager.d.ts.map +1 -1
  197. package/dist/controls/SelectionManager.js +11 -0
  198. package/dist/controls/SelectionManager.js.map +1 -1
  199. package/dist/controls/TrackballControls.d.ts +7 -0
  200. package/dist/controls/TrackballControls.d.ts.map +1 -1
  201. package/dist/controls/TrackballControls.js +19 -5
  202. package/dist/controls/TrackballControls.js.map +1 -1
  203. package/dist/controls/TransformControls.d.ts +8 -0
  204. package/dist/controls/TransformControls.d.ts.map +1 -1
  205. package/dist/controls/TransformControls.js +15 -2
  206. package/dist/controls/TransformControls.js.map +1 -1
  207. package/dist/controls/index.d.ts +6 -0
  208. package/dist/controls/index.d.ts.map +1 -1
  209. package/dist/controls/index.js +3 -0
  210. package/dist/controls/index.js.map +1 -1
  211. package/dist/create-aura3d/index.js +1 -1
  212. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.d.ts.map +1 -1
  213. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js +86 -4
  214. package/dist/create-aura3d/showcase-spec-game-geometry-extractor.js.map +1 -1
  215. package/dist/editor-runtime/RootEditorSurface.d.ts +65 -0
  216. package/dist/editor-runtime/RootEditorSurface.d.ts.map +1 -0
  217. package/dist/editor-runtime/RootEditorSurface.js +62 -0
  218. package/dist/editor-runtime/RootEditorSurface.js.map +1 -0
  219. package/dist/editor-runtime/index.d.ts +2 -0
  220. package/dist/editor-runtime/index.d.ts.map +1 -1
  221. package/dist/editor-runtime/index.js +1 -0
  222. package/dist/editor-runtime/index.js.map +1 -1
  223. package/dist/engine/agent-api/AnimationController.d.ts +9 -1
  224. package/dist/engine/agent-api/AnimationController.d.ts.map +1 -1
  225. package/dist/engine/agent-api/AnimationController.js +5 -1
  226. package/dist/engine/agent-api/AnimationController.js.map +1 -1
  227. package/dist/engine/agent-api/AnimationDebugOverlay.d.ts +56 -0
  228. package/dist/engine/agent-api/AnimationDebugOverlay.d.ts.map +1 -0
  229. package/dist/engine/agent-api/AnimationDebugOverlay.js +148 -0
  230. package/dist/engine/agent-api/AnimationDebugOverlay.js.map +1 -0
  231. package/dist/engine/agent-api/AnimationMixerBuilders.d.ts +41 -0
  232. package/dist/engine/agent-api/AnimationMixerBuilders.d.ts.map +1 -0
  233. package/dist/engine/agent-api/AnimationMixerBuilders.js +146 -0
  234. package/dist/engine/agent-api/AnimationMixerBuilders.js.map +1 -0
  235. package/dist/engine/agent-api/AssetDecoders.d.ts +17 -0
  236. package/dist/engine/agent-api/AssetDecoders.d.ts.map +1 -0
  237. package/dist/engine/agent-api/AssetDecoders.js +18 -0
  238. package/dist/engine/agent-api/AssetDecoders.js.map +1 -0
  239. package/dist/engine/agent-api/Decals.d.ts +174 -0
  240. package/dist/engine/agent-api/Decals.d.ts.map +1 -0
  241. package/dist/engine/agent-api/Decals.js +350 -0
  242. package/dist/engine/agent-api/Decals.js.map +1 -0
  243. package/dist/engine/agent-api/FootPlanting.d.ts +75 -0
  244. package/dist/engine/agent-api/FootPlanting.d.ts.map +1 -0
  245. package/dist/engine/agent-api/FootPlanting.js +60 -0
  246. package/dist/engine/agent-api/FootPlanting.js.map +1 -0
  247. package/dist/engine/agent-api/GameAppRuntime.d.ts +19 -0
  248. package/dist/engine/agent-api/GameAppRuntime.d.ts.map +1 -1
  249. package/dist/engine/agent-api/GameAppRuntime.js +37 -1
  250. package/dist/engine/agent-api/GameAppRuntime.js.map +1 -1
  251. package/dist/engine/agent-api/GameCameraRigs.d.ts +185 -0
  252. package/dist/engine/agent-api/GameCameraRigs.d.ts.map +1 -0
  253. package/dist/engine/agent-api/GameCameraRigs.js +414 -0
  254. package/dist/engine/agent-api/GameCameraRigs.js.map +1 -0
  255. package/dist/engine/agent-api/GameFeel.d.ts +100 -0
  256. package/dist/engine/agent-api/GameFeel.d.ts.map +1 -0
  257. package/dist/engine/agent-api/GameFeel.js +226 -0
  258. package/dist/engine/agent-api/GameFeel.js.map +1 -0
  259. package/dist/engine/agent-api/GameGenreKits.d.ts.map +1 -1
  260. package/dist/engine/agent-api/GameGenreKits.js +26 -3
  261. package/dist/engine/agent-api/GameGenreKits.js.map +1 -1
  262. package/dist/engine/agent-api/LabelTelemetry.d.ts +108 -0
  263. package/dist/engine/agent-api/LabelTelemetry.d.ts.map +1 -0
  264. package/dist/engine/agent-api/LabelTelemetry.js +116 -0
  265. package/dist/engine/agent-api/LabelTelemetry.js.map +1 -0
  266. package/dist/engine/agent-api/NavigationCrowds.d.ts +146 -0
  267. package/dist/engine/agent-api/NavigationCrowds.d.ts.map +1 -0
  268. package/dist/engine/agent-api/NavigationCrowds.js +104 -0
  269. package/dist/engine/agent-api/NavigationCrowds.js.map +1 -0
  270. package/dist/engine/agent-api/PhysicsRuntime.d.ts +61 -5
  271. package/dist/engine/agent-api/PhysicsRuntime.d.ts.map +1 -1
  272. package/dist/engine/agent-api/PhysicsRuntime.js +53 -21
  273. package/dist/engine/agent-api/PhysicsRuntime.js.map +1 -1
  274. package/dist/engine/agent-api/RootGeometry.d.ts +16 -1
  275. package/dist/engine/agent-api/RootGeometry.d.ts.map +1 -1
  276. package/dist/engine/agent-api/RootGeometry.js.map +1 -1
  277. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts +6 -0
  278. package/dist/engine/agent-api/RuntimeNodeHandle.d.ts.map +1 -1
  279. package/dist/engine/agent-api/RuntimeNodeHandle.js.map +1 -1
  280. package/dist/engine/agent-api/Scatter.d.ts +18 -0
  281. package/dist/engine/agent-api/Scatter.d.ts.map +1 -0
  282. package/dist/engine/agent-api/Scatter.js +18 -0
  283. package/dist/engine/agent-api/Scatter.js.map +1 -0
  284. package/dist/engine/agent-api/TouchControlBinding.d.ts +32 -0
  285. package/dist/engine/agent-api/TouchControlBinding.d.ts.map +1 -1
  286. package/dist/engine/agent-api/TouchControlBinding.js +36 -0
  287. package/dist/engine/agent-api/TouchControlBinding.js.map +1 -1
  288. package/dist/engine/agent-api/VehicleChassis.d.ts.map +1 -1
  289. package/dist/engine/agent-api/VehicleChassis.js +76 -13
  290. package/dist/engine/agent-api/VehicleChassis.js.map +1 -1
  291. package/dist/engine/agent-api/index.d.ts +723 -6
  292. package/dist/engine/agent-api/index.d.ts.map +1 -1
  293. package/dist/engine/agent-api/index.js +1805 -137
  294. package/dist/engine/agent-api/index.js.map +1 -1
  295. package/dist/engine/agent-api/product-viewer-runtime.d.ts.map +1 -1
  296. package/dist/engine/game/GameAudio.d.ts +66 -0
  297. package/dist/engine/game/GameAudio.d.ts.map +1 -1
  298. package/dist/engine/game/GameAudio.js +179 -44
  299. package/dist/engine/game/GameAudio.js.map +1 -1
  300. package/dist/engine/instances-model/InstancedModel.d.ts +111 -0
  301. package/dist/engine/instances-model/InstancedModel.d.ts.map +1 -0
  302. package/dist/engine/instances-model/InstancedModel.js +108 -0
  303. package/dist/engine/instances-model/InstancedModel.js.map +1 -0
  304. package/dist/engine/material-physical/PhysicalMaterialSpec.d.ts +72 -0
  305. package/dist/engine/material-physical/PhysicalMaterialSpec.d.ts.map +1 -0
  306. package/dist/engine/material-physical/PhysicalMaterialSpec.js +95 -0
  307. package/dist/engine/material-physical/PhysicalMaterialSpec.js.map +1 -0
  308. package/dist/engine/production-runtime/GameAppRuntime.d.ts +1 -1
  309. package/dist/engine/production-runtime/GameAppRuntime.d.ts.map +1 -1
  310. package/dist/engine/production-runtime/GameRenderPreset.d.ts +76 -0
  311. package/dist/engine/production-runtime/GameRenderPreset.d.ts.map +1 -1
  312. package/dist/engine/production-runtime/GameRenderPreset.js +167 -0
  313. package/dist/engine/production-runtime/GameRenderPreset.js.map +1 -1
  314. package/dist/engine/production-runtime/TypedGLBActor.d.ts +36 -2
  315. package/dist/engine/production-runtime/TypedGLBActor.d.ts.map +1 -1
  316. package/dist/engine/production-runtime/TypedGLBActor.js +92 -5
  317. package/dist/engine/production-runtime/TypedGLBActor.js.map +1 -1
  318. package/dist/engine/production-runtime/index.d.ts +4 -4
  319. package/dist/engine/production-runtime/index.d.ts.map +1 -1
  320. package/dist/engine/production-runtime/index.js +5 -3
  321. package/dist/engine/production-runtime/index.js.map +1 -1
  322. package/dist/input/ActionMap.d.ts +40 -0
  323. package/dist/input/ActionMap.d.ts.map +1 -1
  324. package/dist/input/ActionMap.js +179 -0
  325. package/dist/input/ActionMap.js.map +1 -1
  326. package/dist/input/ComboDetector.d.ts +49 -0
  327. package/dist/input/ComboDetector.d.ts.map +1 -0
  328. package/dist/input/ComboDetector.js +102 -0
  329. package/dist/input/ComboDetector.js.map +1 -0
  330. package/dist/input/Haptics.d.ts +46 -0
  331. package/dist/input/Haptics.d.ts.map +1 -0
  332. package/dist/input/Haptics.js +67 -0
  333. package/dist/input/Haptics.js.map +1 -0
  334. package/dist/input/TouchLayouts.d.ts +35 -0
  335. package/dist/input/TouchLayouts.d.ts.map +1 -0
  336. package/dist/input/TouchLayouts.js +88 -0
  337. package/dist/input/TouchLayouts.js.map +1 -0
  338. package/dist/input/WebXRSessionController.d.ts +53 -0
  339. package/dist/input/WebXRSessionController.d.ts.map +1 -1
  340. package/dist/input/WebXRSessionController.js +88 -2
  341. package/dist/input/WebXRSessionController.js.map +1 -1
  342. package/dist/input/index.d.ts +8 -2
  343. package/dist/input/index.d.ts.map +1 -1
  344. package/dist/input/index.js +3 -0
  345. package/dist/input/index.js.map +1 -1
  346. package/dist/lean/game.d.ts +98 -0
  347. package/dist/lean/game.d.ts.map +1 -1
  348. package/dist/lean/game.js +192 -0
  349. package/dist/lean/game.js.map +1 -1
  350. package/dist/materials/GameReadyMaterialLibrary.d.ts +39 -0
  351. package/dist/materials/GameReadyMaterialLibrary.d.ts.map +1 -0
  352. package/dist/materials/GameReadyMaterialLibrary.js +253 -0
  353. package/dist/materials/GameReadyMaterialLibrary.js.map +1 -0
  354. package/dist/materials/MaterialValidation.d.ts +21 -0
  355. package/dist/materials/MaterialValidation.d.ts.map +1 -1
  356. package/dist/materials/MaterialValidation.js +105 -0
  357. package/dist/materials/MaterialValidation.js.map +1 -1
  358. package/dist/materials/browser-index.d.ts +2 -0
  359. package/dist/materials/browser-index.d.ts.map +1 -1
  360. package/dist/materials/browser-index.js +1 -0
  361. package/dist/materials/browser-index.js.map +1 -1
  362. package/dist/materials/node.d.ts +2 -2
  363. package/dist/materials/node.d.ts.map +1 -1
  364. package/dist/materials/node.js +1 -1
  365. package/dist/materials/node.js.map +1 -1
  366. package/dist/physics/CollisionVolumes.d.ts +59 -0
  367. package/dist/physics/CollisionVolumes.d.ts.map +1 -1
  368. package/dist/physics/CollisionVolumes.js +87 -0
  369. package/dist/physics/CollisionVolumes.js.map +1 -1
  370. package/dist/physics/PhysicsDebugDraw.d.ts +37 -0
  371. package/dist/physics/PhysicsDebugDraw.d.ts.map +1 -1
  372. package/dist/physics/PhysicsDebugDraw.js +38 -1
  373. package/dist/physics/PhysicsDebugDraw.js.map +1 -1
  374. package/dist/physics/PhysicsWorld.d.ts +15 -0
  375. package/dist/physics/PhysicsWorld.d.ts.map +1 -1
  376. package/dist/physics/PhysicsWorld.js +8 -1
  377. package/dist/physics/PhysicsWorld.js.map +1 -1
  378. package/dist/physics/solverless.d.ts +1 -1
  379. package/dist/physics/solverless.d.ts.map +1 -1
  380. package/dist/physics/solverless.js.map +1 -1
  381. package/dist/physics-rapier/index.d.ts +7 -1
  382. package/dist/physics-rapier/index.d.ts.map +1 -1
  383. package/dist/physics-rapier/index.js +1 -1
  384. package/dist/physics-rapier/index.js.map +1 -1
  385. package/dist/react/index.d.ts +136 -2
  386. package/dist/react/index.d.ts.map +1 -1
  387. package/dist/react/index.js +251 -10
  388. package/dist/react/index.js.map +1 -1
  389. package/dist/rendering/AtmosphereWetness.d.ts +61 -0
  390. package/dist/rendering/AtmosphereWetness.d.ts.map +1 -0
  391. package/dist/rendering/AtmosphereWetness.js +99 -0
  392. package/dist/rendering/AtmosphereWetness.js.map +1 -0
  393. package/dist/rendering/ClusteredForwardLighting.d.ts +25 -1
  394. package/dist/rendering/ClusteredForwardLighting.d.ts.map +1 -1
  395. package/dist/rendering/ClusteredForwardLighting.js +80 -3
  396. package/dist/rendering/ClusteredForwardLighting.js.map +1 -1
  397. package/dist/rendering/DayNightSky.d.ts +63 -0
  398. package/dist/rendering/DayNightSky.d.ts.map +1 -0
  399. package/dist/rendering/DayNightSky.js +156 -0
  400. package/dist/rendering/DayNightSky.js.map +1 -0
  401. package/dist/rendering/EnvironmentPresetPack.d.ts +30 -0
  402. package/dist/rendering/EnvironmentPresetPack.d.ts.map +1 -0
  403. package/dist/rendering/EnvironmentPresetPack.js +49 -0
  404. package/dist/rendering/EnvironmentPresetPack.js.map +1 -0
  405. package/dist/rendering/ForwardPass.d.ts +67 -0
  406. package/dist/rendering/ForwardPass.d.ts.map +1 -1
  407. package/dist/rendering/ForwardPass.js +196 -2
  408. package/dist/rendering/ForwardPass.js.map +1 -1
  409. package/dist/rendering/InstancedPBRMaterial.d.ts +1 -0
  410. package/dist/rendering/InstancedPBRMaterial.d.ts.map +1 -1
  411. package/dist/rendering/InstancedPBRMaterial.js +3 -0
  412. package/dist/rendering/InstancedPBRMaterial.js.map +1 -1
  413. package/dist/rendering/InstancingDiagnostics.d.ts +69 -0
  414. package/dist/rendering/InstancingDiagnostics.d.ts.map +1 -0
  415. package/dist/rendering/InstancingDiagnostics.js +98 -0
  416. package/dist/rendering/InstancingDiagnostics.js.map +1 -0
  417. package/dist/rendering/LightingRig.d.ts +19 -1
  418. package/dist/rendering/LightingRig.d.ts.map +1 -1
  419. package/dist/rendering/LightingRig.js +61 -1
  420. package/dist/rendering/LightingRig.js.map +1 -1
  421. package/dist/rendering/MeshConsolidation.d.ts +12 -0
  422. package/dist/rendering/MeshConsolidation.d.ts.map +1 -1
  423. package/dist/rendering/MeshConsolidation.js +28 -0
  424. package/dist/rendering/MeshConsolidation.js.map +1 -1
  425. package/dist/rendering/MorphTargetPlan.d.ts +29 -2
  426. package/dist/rendering/MorphTargetPlan.d.ts.map +1 -1
  427. package/dist/rendering/MorphTargetPlan.js +23 -4
  428. package/dist/rendering/MorphTargetPlan.js.map +1 -1
  429. package/dist/rendering/NormalMappedPBRMaterial.d.ts.map +1 -1
  430. package/dist/rendering/NormalMappedPBRMaterial.js +22 -2
  431. package/dist/rendering/NormalMappedPBRMaterial.js.map +1 -1
  432. package/dist/rendering/OceanSurface.d.ts +75 -0
  433. package/dist/rendering/OceanSurface.d.ts.map +1 -1
  434. package/dist/rendering/OceanSurface.js +211 -0
  435. package/dist/rendering/OceanSurface.js.map +1 -1
  436. package/dist/rendering/PBRMaterial.d.ts +1 -0
  437. package/dist/rendering/PBRMaterial.d.ts.map +1 -1
  438. package/dist/rendering/PBRMaterial.js +23 -2
  439. package/dist/rendering/PBRMaterial.js.map +1 -1
  440. package/dist/rendering/PbrReference.d.ts +48 -0
  441. package/dist/rendering/PbrReference.d.ts.map +1 -1
  442. package/dist/rendering/PbrReference.js +126 -0
  443. package/dist/rendering/PbrReference.js.map +1 -1
  444. package/dist/rendering/PlanarReflection.d.ts +221 -0
  445. package/dist/rendering/PlanarReflection.d.ts.map +1 -0
  446. package/dist/rendering/PlanarReflection.js +541 -0
  447. package/dist/rendering/PlanarReflection.js.map +1 -0
  448. package/dist/rendering/PostProcessPass.d.ts +13 -0
  449. package/dist/rendering/PostProcessPass.d.ts.map +1 -1
  450. package/dist/rendering/PostProcessPass.js +15 -4
  451. package/dist/rendering/PostProcessPass.js.map +1 -1
  452. package/dist/rendering/ReflectionSurfaces.d.ts +14 -0
  453. package/dist/rendering/ReflectionSurfaces.d.ts.map +1 -1
  454. package/dist/rendering/ReflectionSurfaces.js +93 -0
  455. package/dist/rendering/ReflectionSurfaces.js.map +1 -1
  456. package/dist/rendering/RenderDevice.d.ts +87 -0
  457. package/dist/rendering/RenderDevice.d.ts.map +1 -1
  458. package/dist/rendering/RenderDevice.js +85 -0
  459. package/dist/rendering/RenderDevice.js.map +1 -1
  460. package/dist/rendering/Renderer.js +8 -5
  461. package/dist/rendering/Renderer.js.map +1 -1
  462. package/dist/rendering/RendererPostprocessPlan.d.ts +48 -0
  463. package/dist/rendering/RendererPostprocessPlan.d.ts.map +1 -1
  464. package/dist/rendering/RendererPostprocessPlan.js +101 -11
  465. package/dist/rendering/RendererPostprocessPlan.js.map +1 -1
  466. package/dist/rendering/RendererVisualPipelineReport.d.ts.map +1 -1
  467. package/dist/rendering/RendererVisualPipelineReport.js +3 -1
  468. package/dist/rendering/RendererVisualPipelineReport.js.map +1 -1
  469. package/dist/rendering/Sampler.d.ts +29 -0
  470. package/dist/rendering/Sampler.d.ts.map +1 -1
  471. package/dist/rendering/Sampler.js +47 -0
  472. package/dist/rendering/Sampler.js.map +1 -1
  473. package/dist/rendering/SceneOptimization.d.ts +1 -0
  474. package/dist/rendering/SceneOptimization.d.ts.map +1 -1
  475. package/dist/rendering/SceneOptimization.js +4 -2
  476. package/dist/rendering/SceneOptimization.js.map +1 -1
  477. package/dist/rendering/SdfText.d.ts +250 -0
  478. package/dist/rendering/SdfText.d.ts.map +1 -0
  479. package/dist/rendering/SdfText.js +551 -0
  480. package/dist/rendering/SdfText.js.map +1 -0
  481. package/dist/rendering/ShaderChunks.d.ts.map +1 -1
  482. package/dist/rendering/ShaderChunks.js +30 -12
  483. package/dist/rendering/ShaderChunks.js.map +1 -1
  484. package/dist/rendering/ShaderLibrary.d.ts.map +1 -1
  485. package/dist/rendering/ShaderLibrary.js +478 -34
  486. package/dist/rendering/ShaderLibrary.js.map +1 -1
  487. package/dist/rendering/ShaderLibraryCore.d.ts.map +1 -1
  488. package/dist/rendering/ShaderLibraryCore.js +70 -12
  489. package/dist/rendering/ShaderLibraryCore.js.map +1 -1
  490. package/dist/rendering/ShadowMap.d.ts +24 -0
  491. package/dist/rendering/ShadowMap.d.ts.map +1 -1
  492. package/dist/rendering/ShadowMap.js +43 -0
  493. package/dist/rendering/ShadowMap.js.map +1 -1
  494. package/dist/rendering/SkinnedLitMaterial.d.ts.map +1 -1
  495. package/dist/rendering/SkinnedLitMaterial.js +2 -0
  496. package/dist/rendering/SkinnedLitMaterial.js.map +1 -1
  497. package/dist/rendering/SkinningBounds.d.ts +10 -0
  498. package/dist/rendering/SkinningBounds.d.ts.map +1 -1
  499. package/dist/rendering/SkinningBounds.js +27 -0
  500. package/dist/rendering/SkinningBounds.js.map +1 -1
  501. package/dist/rendering/SpriteFlipbook.d.ts +60 -0
  502. package/dist/rendering/SpriteFlipbook.d.ts.map +1 -0
  503. package/dist/rendering/SpriteFlipbook.js +128 -0
  504. package/dist/rendering/SpriteFlipbook.js.map +1 -0
  505. package/dist/rendering/TerrainTiles.d.ts +120 -0
  506. package/dist/rendering/TerrainTiles.d.ts.map +1 -0
  507. package/dist/rendering/TerrainTiles.js +221 -0
  508. package/dist/rendering/TerrainTiles.js.map +1 -0
  509. package/dist/rendering/TexturedPBRMaterial.d.ts +1 -0
  510. package/dist/rendering/TexturedPBRMaterial.d.ts.map +1 -1
  511. package/dist/rendering/TexturedPBRMaterial.js +23 -2
  512. package/dist/rendering/TexturedPBRMaterial.js.map +1 -1
  513. package/dist/rendering/TexturedUnlitMaterial.d.ts.map +1 -1
  514. package/dist/rendering/TexturedUnlitMaterial.js +20 -2
  515. package/dist/rendering/TexturedUnlitMaterial.js.map +1 -1
  516. package/dist/rendering/UnlitMaterial.d.ts.map +1 -1
  517. package/dist/rendering/UnlitMaterial.js +20 -2
  518. package/dist/rendering/UnlitMaterial.js.map +1 -1
  519. package/dist/rendering/VertexFormat.d.ts +6 -0
  520. package/dist/rendering/VertexFormat.d.ts.map +1 -1
  521. package/dist/rendering/VertexFormat.js +12 -0
  522. package/dist/rendering/VertexFormat.js.map +1 -1
  523. package/dist/rendering/VolumetricFog.d.ts +55 -0
  524. package/dist/rendering/VolumetricFog.d.ts.map +1 -0
  525. package/dist/rendering/VolumetricFog.js +91 -0
  526. package/dist/rendering/VolumetricFog.js.map +1 -0
  527. package/dist/rendering/WaterSurface.d.ts +77 -0
  528. package/dist/rendering/WaterSurface.d.ts.map +1 -0
  529. package/dist/rendering/WaterSurface.js +133 -0
  530. package/dist/rendering/WaterSurface.js.map +1 -0
  531. package/dist/rendering/WebGL2Device.d.ts +58 -0
  532. package/dist/rendering/WebGL2Device.d.ts.map +1 -1
  533. package/dist/rendering/WebGL2Device.js +536 -17
  534. package/dist/rendering/WebGL2Device.js.map +1 -1
  535. package/dist/rendering/WebGPUDevice.d.ts +50 -0
  536. package/dist/rendering/WebGPUDevice.d.ts.map +1 -1
  537. package/dist/rendering/WebGPUDevice.js +504 -10
  538. package/dist/rendering/WebGPUDevice.js.map +1 -1
  539. package/dist/rendering/WebGPUSkinningLimits.d.ts +40 -0
  540. package/dist/rendering/WebGPUSkinningLimits.d.ts.map +1 -1
  541. package/dist/rendering/WebGPUSkinningLimits.js +32 -0
  542. package/dist/rendering/WebGPUSkinningLimits.js.map +1 -1
  543. package/dist/rendering/effects/CollisionModule.d.ts +9 -0
  544. package/dist/rendering/effects/CollisionModule.d.ts.map +1 -1
  545. package/dist/rendering/effects/CollisionModule.js +10 -0
  546. package/dist/rendering/effects/CollisionModule.js.map +1 -1
  547. package/dist/rendering/effects/ColorModule.d.ts +7 -0
  548. package/dist/rendering/effects/ColorModule.d.ts.map +1 -1
  549. package/dist/rendering/effects/ColorModule.js +23 -0
  550. package/dist/rendering/effects/ColorModule.js.map +1 -1
  551. package/dist/rendering/effects/ForceModule.d.ts +35 -0
  552. package/dist/rendering/effects/ForceModule.d.ts.map +1 -1
  553. package/dist/rendering/effects/ForceModule.js +49 -0
  554. package/dist/rendering/effects/ForceModule.js.map +1 -1
  555. package/dist/rendering/effects/GPUParticleBackend.d.ts +186 -0
  556. package/dist/rendering/effects/GPUParticleBackend.d.ts.map +1 -1
  557. package/dist/rendering/effects/GPUParticleBackend.js +692 -1
  558. package/dist/rendering/effects/GPUParticleBackend.js.map +1 -1
  559. package/dist/rendering/effects/HeightfieldModule.d.ts +58 -0
  560. package/dist/rendering/effects/HeightfieldModule.d.ts.map +1 -0
  561. package/dist/rendering/effects/HeightfieldModule.js +129 -0
  562. package/dist/rendering/effects/HeightfieldModule.js.map +1 -0
  563. package/dist/rendering/effects/LightingModule.d.ts +34 -0
  564. package/dist/rendering/effects/LightingModule.d.ts.map +1 -0
  565. package/dist/rendering/effects/LightingModule.js +54 -0
  566. package/dist/rendering/effects/LightingModule.js.map +1 -0
  567. package/dist/rendering/effects/ParticleDiagnostics.d.ts +8 -0
  568. package/dist/rendering/effects/ParticleDiagnostics.d.ts.map +1 -1
  569. package/dist/rendering/effects/ParticleDiagnostics.js +3 -0
  570. package/dist/rendering/effects/ParticleDiagnostics.js.map +1 -1
  571. package/dist/rendering/effects/ParticleModule.d.ts +8 -0
  572. package/dist/rendering/effects/ParticleModule.d.ts.map +1 -1
  573. package/dist/rendering/effects/ParticleModule.js.map +1 -1
  574. package/dist/rendering/effects/ParticleRenderer.d.ts +20 -0
  575. package/dist/rendering/effects/ParticleRenderer.d.ts.map +1 -1
  576. package/dist/rendering/effects/ParticleRenderer.js +57 -7
  577. package/dist/rendering/effects/ParticleRenderer.js.map +1 -1
  578. package/dist/rendering/effects/ParticleSystem.d.ts +45 -1
  579. package/dist/rendering/effects/ParticleSystem.d.ts.map +1 -1
  580. package/dist/rendering/effects/ParticleSystem.js +373 -4
  581. package/dist/rendering/effects/ParticleSystem.js.map +1 -1
  582. package/dist/rendering/effects/SizeModule.d.ts +4 -0
  583. package/dist/rendering/effects/SizeModule.d.ts.map +1 -1
  584. package/dist/rendering/effects/SizeModule.js +16 -0
  585. package/dist/rendering/effects/SizeModule.js.map +1 -1
  586. package/dist/rendering/effects/SubEmitterModule.d.ts +61 -0
  587. package/dist/rendering/effects/SubEmitterModule.d.ts.map +1 -0
  588. package/dist/rendering/effects/SubEmitterModule.js +119 -0
  589. package/dist/rendering/effects/SubEmitterModule.js.map +1 -0
  590. package/dist/rendering/effects/TrailModule.d.ts +38 -0
  591. package/dist/rendering/effects/TrailModule.d.ts.map +1 -1
  592. package/dist/rendering/effects/TrailModule.js +95 -2
  593. package/dist/rendering/effects/TrailModule.js.map +1 -1
  594. package/dist/rendering/effects/TurbulenceModule.d.ts +43 -0
  595. package/dist/rendering/effects/TurbulenceModule.d.ts.map +1 -0
  596. package/dist/rendering/effects/TurbulenceModule.js +130 -0
  597. package/dist/rendering/effects/TurbulenceModule.js.map +1 -0
  598. package/dist/rendering/effects/index.d.ts +4 -0
  599. package/dist/rendering/effects/index.d.ts.map +1 -1
  600. package/dist/rendering/effects/index.js +4 -0
  601. package/dist/rendering/effects/index.js.map +1 -1
  602. package/dist/rendering/index.d.ts +57 -19
  603. package/dist/rendering/index.d.ts.map +1 -1
  604. package/dist/rendering/index.js +31 -10
  605. package/dist/rendering/index.js.map +1 -1
  606. package/dist/rendering/materials/MaterialExtensions.js +3 -3
  607. package/dist/rendering/materials/MaterialExtensions.js.map +1 -1
  608. package/dist/rendering/postprocess/NativeBloomPyramid.d.ts +28 -0
  609. package/dist/rendering/postprocess/NativeBloomPyramid.d.ts.map +1 -0
  610. package/dist/rendering/postprocess/NativeBloomPyramid.js +54 -0
  611. package/dist/rendering/postprocess/NativeBloomPyramid.js.map +1 -0
  612. package/dist/rendering/postprocess/NativeLdrEffectLuts.d.ts +10 -1
  613. package/dist/rendering/postprocess/NativeLdrEffectLuts.d.ts.map +1 -1
  614. package/dist/rendering/postprocess/NativeLdrEffectLuts.js +19 -2
  615. package/dist/rendering/postprocess/NativeLdrEffectLuts.js.map +1 -1
  616. package/dist/rendering/postprocess/index.d.ts +2 -0
  617. package/dist/rendering/postprocess/index.d.ts.map +1 -1
  618. package/dist/rendering/postprocess/index.js +1 -0
  619. package/dist/rendering/postprocess/index.js.map +1 -1
  620. package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts +22 -0
  621. package/dist/rendering/production-runtime/PBRHDRPipeline.d.ts.map +1 -1
  622. package/dist/rendering/production-runtime/PBRHDRPipeline.js +125 -0
  623. package/dist/rendering/production-runtime/PBRHDRPipeline.js.map +1 -1
  624. package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts +52 -0
  625. package/dist/rendering/production-runtime/ProductionWebGPURenderer.d.ts.map +1 -1
  626. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js +101 -0
  627. package/dist/rendering/production-runtime/ProductionWebGPURenderer.js.map +1 -1
  628. package/dist/rendering/production-runtime/index.d.ts +5 -4
  629. package/dist/rendering/production-runtime/index.d.ts.map +1 -1
  630. package/dist/rendering/production-runtime/index.js +3 -2
  631. package/dist/rendering/production-runtime/index.js.map +1 -1
  632. package/dist/rendering/production-runtime/passes/DepthPrepass.d.ts +26 -1
  633. package/dist/rendering/production-runtime/passes/DepthPrepass.d.ts.map +1 -1
  634. package/dist/rendering/production-runtime/passes/DepthPrepass.js +49 -2
  635. package/dist/rendering/production-runtime/passes/DepthPrepass.js.map +1 -1
  636. package/dist/rendering/production-runtime/passes/FramegraphTopology.d.ts +13 -0
  637. package/dist/rendering/production-runtime/passes/FramegraphTopology.d.ts.map +1 -0
  638. package/dist/rendering/production-runtime/passes/FramegraphTopology.js +59 -0
  639. package/dist/rendering/production-runtime/passes/FramegraphTopology.js.map +1 -0
  640. package/dist/rendering/production-runtime/passes/OpaquePass.d.ts +24 -1
  641. package/dist/rendering/production-runtime/passes/OpaquePass.d.ts.map +1 -1
  642. package/dist/rendering/production-runtime/passes/OpaquePass.js +41 -2
  643. package/dist/rendering/production-runtime/passes/OpaquePass.js.map +1 -1
  644. package/dist/rendering/production-runtime/passes/ShadowPass.d.ts +24 -1
  645. package/dist/rendering/production-runtime/passes/ShadowPass.d.ts.map +1 -1
  646. package/dist/rendering/production-runtime/passes/ShadowPass.js +43 -2
  647. package/dist/rendering/production-runtime/passes/ShadowPass.js.map +1 -1
  648. package/dist/rendering/production-runtime/passes/SkyboxPass.d.ts +21 -1
  649. package/dist/rendering/production-runtime/passes/SkyboxPass.d.ts.map +1 -1
  650. package/dist/rendering/production-runtime/passes/SkyboxPass.js +39 -2
  651. package/dist/rendering/production-runtime/passes/SkyboxPass.js.map +1 -1
  652. package/dist/rendering/production-runtime/passes/ToneMappingPass.d.ts +29 -1
  653. package/dist/rendering/production-runtime/passes/ToneMappingPass.d.ts.map +1 -1
  654. package/dist/rendering/production-runtime/passes/ToneMappingPass.js +53 -2
  655. package/dist/rendering/production-runtime/passes/ToneMappingPass.js.map +1 -1
  656. package/dist/rendering/production-runtime/passes/TransparentPass.d.ts +24 -1
  657. package/dist/rendering/production-runtime/passes/TransparentPass.d.ts.map +1 -1
  658. package/dist/rendering/production-runtime/passes/TransparentPass.js +42 -2
  659. package/dist/rendering/production-runtime/passes/TransparentPass.js.map +1 -1
  660. package/dist/rendering/shadows/CascadeHysteresis.d.ts +67 -0
  661. package/dist/rendering/shadows/CascadeHysteresis.d.ts.map +1 -0
  662. package/dist/rendering/shadows/CascadeHysteresis.js +104 -0
  663. package/dist/rendering/shadows/CascadeHysteresis.js.map +1 -0
  664. package/dist/rendering/shadows/ContactShadows.d.ts +52 -0
  665. package/dist/rendering/shadows/ContactShadows.d.ts.map +1 -1
  666. package/dist/rendering/shadows/ContactShadows.js +122 -0
  667. package/dist/rendering/shadows/ContactShadows.js.map +1 -1
  668. package/dist/rendering/shadows/SpotShadowMaps.d.ts +77 -0
  669. package/dist/rendering/shadows/SpotShadowMaps.d.ts.map +1 -0
  670. package/dist/rendering/shadows/SpotShadowMaps.js +106 -0
  671. package/dist/rendering/shadows/SpotShadowMaps.js.map +1 -0
  672. package/dist/rendering/webgpu/WebGPUPostProcess.d.ts +2 -0
  673. package/dist/rendering/webgpu/WebGPUPostProcess.d.ts.map +1 -1
  674. package/dist/rendering/webgpu/WebGPUPostProcess.js +1 -0
  675. package/dist/rendering/webgpu/WebGPUPostProcess.js.map +1 -1
  676. package/dist/rendering/webgpu/WebGPUPostShaders.d.ts +78 -0
  677. package/dist/rendering/webgpu/WebGPUPostShaders.d.ts.map +1 -0
  678. package/dist/rendering/webgpu/WebGPUPostShaders.js +262 -0
  679. package/dist/rendering/webgpu/WebGPUPostShaders.js.map +1 -0
  680. package/dist/scene/Scene.d.ts +8 -1
  681. package/dist/scene/Scene.d.ts.map +1 -1
  682. package/dist/scene/Scene.js +12 -2
  683. package/dist/scene/Scene.js.map +1 -1
  684. package/dist/scripting/VisualGraphContext.d.ts +31 -0
  685. package/dist/scripting/VisualGraphContext.d.ts.map +1 -1
  686. package/dist/scripting/VisualGraphExecutor.d.ts.map +1 -1
  687. package/dist/scripting/VisualGraphExecutor.js +110 -0
  688. package/dist/scripting/VisualGraphExecutor.js.map +1 -1
  689. package/dist/scripting/VisualNodeCatalog.d.ts +1 -1
  690. package/dist/scripting/VisualNodeCatalog.d.ts.map +1 -1
  691. package/dist/scripting/VisualNodeCatalog.js +20 -0
  692. package/dist/scripting/VisualNodeCatalog.js.map +1 -1
  693. package/dist/scripting/VisualScriptingRoot.d.ts +96 -0
  694. package/dist/scripting/VisualScriptingRoot.d.ts.map +1 -0
  695. package/dist/scripting/VisualScriptingRoot.js +150 -0
  696. package/dist/scripting/VisualScriptingRoot.js.map +1 -0
  697. package/dist/scripting/index.d.ts +3 -1
  698. package/dist/scripting/index.d.ts.map +1 -1
  699. package/dist/scripting/index.js +1 -0
  700. package/dist/scripting/index.js.map +1 -1
  701. package/package.json +30 -23
  702. package/templates/cinematic-scene/package.json +1 -1
  703. package/templates/mini-game/package.json +1 -1
  704. package/templates/product-viewer/package.json +1 -1
@@ -0,0 +1,46 @@
1
+ import type { ControlObject3DLike } from "./NativeControlTypes.js";
2
+ export type HoverOutlineTone = "hover" | "selected" | "hover-selected";
3
+ export interface HoverOutlineStyle {
4
+ readonly color: readonly [number, number, number, number];
5
+ readonly width: number;
6
+ }
7
+ export interface HoverOutlineOptions {
8
+ readonly hover?: Partial<HoverOutlineStyle>;
9
+ readonly selected?: Partial<HoverOutlineStyle>;
10
+ readonly hoverSelected?: Partial<HoverOutlineStyle>;
11
+ }
12
+ export interface HoverOutlineEntry {
13
+ readonly object: ControlObject3DLike;
14
+ readonly tone: HoverOutlineTone;
15
+ readonly style: HoverOutlineStyle;
16
+ }
17
+ /**
18
+ * Hover/selection highlight state for the editor outline pass (A3).
19
+ *
20
+ * This class owns the *decision* — which objects request an outline and with
21
+ * which tone — while the renderer owns the pixels. A viewport feeds pointer
22
+ * picks (`setHovered`) and selection commits (`setSelected`) and reads
23
+ * `entries()` to submit outline geometry; the browser proof asserts the
24
+ * submitted outline changes rendered pixels.
25
+ */
26
+ export declare class HoverOutline {
27
+ private readonly hoverStyle;
28
+ private readonly selectedStyle;
29
+ private readonly hoverSelectedStyle;
30
+ private hovered;
31
+ private readonly selectedObjects;
32
+ private disposed;
33
+ constructor(options?: HoverOutlineOptions);
34
+ /** True after `dispose()`; setters are no-ops past this point. */
35
+ get isDisposed(): boolean;
36
+ setHovered(object: ControlObject3DLike | null): void;
37
+ setSelected(objects: readonly ControlObject3DLike[]): void;
38
+ clear(): void;
39
+ entries(): readonly HoverOutlineEntry[];
40
+ /**
41
+ * F1-standard disposal: drops hover/selection references and owns zero DOM
42
+ * listeners, so nothing can leak. Idempotent.
43
+ */
44
+ dispose(): void;
45
+ }
46
+ //# sourceMappingURL=HoverOutline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoverOutline.d.ts","sourceRoot":"","sources":["../../../../packages/controls/src/HoverOutline.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,MAAM,gBAAgB,GAAG,OAAO,GAAG,UAAU,GAAG,gBAAgB,CAAC;AAEvE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1D,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC/C,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACrD;AAED,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC;IAChC,QAAQ,CAAC,KAAK,EAAE,iBAAiB,CAAC;CACnC;AAiBD;;;;;;;;GAQG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAoB;IAC/C,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAoB;IAClD,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAoB;IACvD,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAkC;IAClE,OAAO,CAAC,QAAQ,CAAS;gBAEb,OAAO,GAAE,mBAAwB;IAM7C,kEAAkE;IAClE,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,UAAU,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,GAAG,IAAI;IAKpD,WAAW,CAAC,OAAO,EAAE,SAAS,mBAAmB,EAAE,GAAG,IAAI;IAM1D,KAAK,IAAI,IAAI;IAMb,OAAO,IAAI,SAAS,iBAAiB,EAAE;IAmBvC;;;OAGG;IACH,OAAO,IAAI,IAAI;CAMhB"}
@@ -0,0 +1,87 @@
1
+ const DEFAULT_HOVER_STYLE = {
2
+ color: [0.4, 0.75, 1, 1],
3
+ width: 2
4
+ };
5
+ const DEFAULT_SELECTED_STYLE = {
6
+ color: [1, 0.62, 0.16, 1],
7
+ width: 3
8
+ };
9
+ const DEFAULT_HOVER_SELECTED_STYLE = {
10
+ color: [1, 0.85, 0.4, 1],
11
+ width: 4
12
+ };
13
+ /**
14
+ * Hover/selection highlight state for the editor outline pass (A3).
15
+ *
16
+ * This class owns the *decision* — which objects request an outline and with
17
+ * which tone — while the renderer owns the pixels. A viewport feeds pointer
18
+ * picks (`setHovered`) and selection commits (`setSelected`) and reads
19
+ * `entries()` to submit outline geometry; the browser proof asserts the
20
+ * submitted outline changes rendered pixels.
21
+ */
22
+ export class HoverOutline {
23
+ hoverStyle;
24
+ selectedStyle;
25
+ hoverSelectedStyle;
26
+ hovered = null;
27
+ selectedObjects = new Set();
28
+ disposed = false;
29
+ constructor(options = {}) {
30
+ this.hoverStyle = { ...DEFAULT_HOVER_STYLE, ...options.hover };
31
+ this.selectedStyle = { ...DEFAULT_SELECTED_STYLE, ...options.selected };
32
+ this.hoverSelectedStyle = { ...DEFAULT_HOVER_SELECTED_STYLE, ...options.hoverSelected };
33
+ }
34
+ /** True after `dispose()`; setters are no-ops past this point. */
35
+ get isDisposed() {
36
+ return this.disposed;
37
+ }
38
+ setHovered(object) {
39
+ if (this.disposed)
40
+ return;
41
+ this.hovered = object;
42
+ }
43
+ setSelected(objects) {
44
+ if (this.disposed)
45
+ return;
46
+ this.selectedObjects.clear();
47
+ for (const object of objects)
48
+ this.selectedObjects.add(object);
49
+ }
50
+ clear() {
51
+ if (this.disposed)
52
+ return;
53
+ this.hovered = null;
54
+ this.selectedObjects.clear();
55
+ }
56
+ entries() {
57
+ const entries = [];
58
+ const seen = new Set();
59
+ if (this.hovered) {
60
+ const selected = this.selectedObjects.has(this.hovered);
61
+ entries.push({
62
+ object: this.hovered,
63
+ tone: selected ? "hover-selected" : "hover",
64
+ style: selected ? this.hoverSelectedStyle : this.hoverStyle
65
+ });
66
+ seen.add(this.hovered);
67
+ }
68
+ for (const object of this.selectedObjects) {
69
+ if (seen.has(object))
70
+ continue;
71
+ entries.push({ object, tone: "selected", style: this.selectedStyle });
72
+ }
73
+ return entries;
74
+ }
75
+ /**
76
+ * F1-standard disposal: drops hover/selection references and owns zero DOM
77
+ * listeners, so nothing can leak. Idempotent.
78
+ */
79
+ dispose() {
80
+ if (this.disposed)
81
+ return;
82
+ this.disposed = true;
83
+ this.hovered = null;
84
+ this.selectedObjects.clear();
85
+ }
86
+ }
87
+ //# sourceMappingURL=HoverOutline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HoverOutline.js","sourceRoot":"","sources":["../../../../packages/controls/src/HoverOutline.ts"],"names":[],"mappings":"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"}
@@ -63,6 +63,8 @@ export declare class InteractionControls {
63
63
  private readonly flyMoveSpeed;
64
64
  constructor(options?: InteractionControlsOptions);
65
65
  get mode(): InteractionControlMode;
66
+ /** True after `dispose()`; `update`/`setMode` stay silent past this point. */
67
+ get isDisposed(): boolean;
66
68
  setMode(mode: InteractionControlMode, snapshot?: InputSnapshot): void;
67
69
  setRoot(root: ControlObject3DLike | InteractionRootProvider | undefined): void;
68
70
  setRayProvider(provider: InteractionRayProvider | undefined): void;
@@ -71,6 +73,11 @@ export declare class InteractionControls {
71
73
  onHotspot(id: string, handler: HotspotHandler): () => void;
72
74
  update(snapshot: InputSnapshot): InteractionControlsUpdate;
73
75
  pick(snapshot: InputSnapshot): PickingReport | undefined;
76
+ /**
77
+ * F1-standard disposal: marks the instance disposed, drops every listener
78
+ * and hotspot handler, and clears hover state so `update()` stays silent.
79
+ * Idempotent. Owns zero DOM listeners, so nothing can leak.
80
+ */
74
81
  dispose(): void;
75
82
  private updateOrbit;
76
83
  private updateFly;
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionControls.d.ts","sourceRoot":"","sources":["../../../../packages/controls/src/InteractionControls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InteractionControls.d.ts","sourceRoot":"","sources":["../../../../packages/controls/src/InteractionControls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,aAAa,EAAE,KAAK,qBAAqB,EAAE,MAAM,WAAW,CAAC;AACzG,OAAO,EAAkB,KAAK,mBAAmB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAElG,MAAM,MAAM,sBAAsB,GAAG,OAAO,GAAG,KAAK,CAAC;AACrD,MAAM,MAAM,4BAA4B,GACpC,aAAa,GACb,aAAa,GACb,YAAY,GACZ,MAAM,GACN,eAAe,CAAC;AAEpB,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;CACjC;AAED,MAAM,MAAM,sBAAsB,GAAG,CAAC,QAAQ,EAAE,aAAa,KAAK,cAAc,CAAC;AACjF,MAAM,MAAM,uBAAuB,GAAG,MAAM,mBAAmB,GAAG,SAAS,CAAC;AAC5E,MAAM,MAAM,2BAA2B,GAAG,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,CAAC;AACpF,MAAM,MAAM,cAAc,GAAG,CAAC,KAAK,EAAE,wBAAwB,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,qBAAqB,CAAA;CAAE,KAAK,IAAI,CAAC;AAEjH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,sBAAsB,CAAC;IACvC,QAAQ,CAAC,KAAK,CAAC,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,GAAG,CAAC,EAAE,WAAW,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,GAAG,uBAAuB,CAAC;IAC9D,QAAQ,CAAC,WAAW,CAAC,EAAE,sBAAsB,CAAC;IAC9C,QAAQ,CAAC,WAAW,CAAC,EAAE,cAAc,CAAC;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC;IAC5C,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,aAAa,CAAC;IACjC,QAAQ,CAAC,GAAG,CAAC,EAAE,qBAAqB,CAAC;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,qBAAqB,CAAC;CAC9C;AAED,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,IAAI,EAAE,sBAAsB,CAAC;IACtC,QAAQ,CAAC,UAAU,CAAC,EAAE,aAAa,CAAC;IACpC,QAAQ,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAAC;CAC5C;AAED,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC;IAC9B,QAAQ,CAAC,GAAG,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAE1B,OAAO,UAAQ;IAEf,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,OAAO,CAAC,CAAgD;IAChE,OAAO,CAAC,WAAW,CAAC,CAAyB;IAC7C,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA0C;IACpE,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0C;IAC1E,OAAO,CAAC,QAAQ,CAAsC;IACtD,OAAO,CAAC,QAAQ,CAAS;IAEzB,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAS;gBAE1B,OAAO,GAAE,0BAA+B;IAgBpD,IAAI,IAAI,IAAI,sBAAsB,CAEjC;IAED,8EAA8E;IAC9E,IAAI,UAAU,IAAI,OAAO,CAExB;IAED,OAAO,CAAC,IAAI,EAAE,sBAAsB,EAAE,QAAQ,gBAAsB,GAAG,IAAI;IAM3E,OAAO,CAAC,IAAI,EAAE,mBAAmB,GAAG,uBAAuB,GAAG,SAAS,GAAG,IAAI;IAK9E,cAAc,CAAC,QAAQ,EAAE,sBAAsB,GAAG,SAAS,GAAG,IAAI;IAIlE,cAAc,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IAI7C,SAAS,CAAC,QAAQ,EAAE,2BAA2B,GAAG,MAAM,IAAI;IAK5D,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,MAAM,IAAI;IAU1D,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,yBAAyB;IAe1D,IAAI,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,GAAG,SAAS;IAOxD;;;;OAIG;IACH,OAAO,IAAI,IAAI;IAQf,OAAO,CAAC,WAAW;IAYnB,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,aAAa;IAmBrB,OAAO,CAAC,WAAW;IAUnB,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,UAAU;CAMnB"}
@@ -40,8 +40,12 @@ export class InteractionControls {
40
40
  get mode() {
41
41
  return this.controlMode;
42
42
  }
43
+ /** True after `dispose()`; `update`/`setMode` stay silent past this point. */
44
+ get isDisposed() {
45
+ return this.disposed;
46
+ }
43
47
  setMode(mode, snapshot = new InputSnapshot()) {
44
- if (this.controlMode === mode)
48
+ if (this.disposed || this.controlMode === mode)
45
49
  return;
46
50
  this.controlMode = mode;
47
51
  this.emit({ type: "mode-change", mode, snapshot });
@@ -90,7 +94,14 @@ export class InteractionControls {
90
94
  const ray = this.resolveRay(snapshot);
91
95
  return this.picking.report(root, ray.origin, ray.direction, this.pickOptions);
92
96
  }
97
+ /**
98
+ * F1-standard disposal: marks the instance disposed, drops every listener
99
+ * and hotspot handler, and clears hover state so `update()` stays silent.
100
+ * Idempotent. Owns zero DOM listeners, so nothing can leak.
101
+ */
93
102
  dispose() {
103
+ if (this.disposed)
104
+ return;
94
105
  this.disposed = true;
95
106
  this.listeners.clear();
96
107
  this.hotspotHandlers.clear();
@@ -1 +1 @@
1
- {"version":3,"file":"InteractionControls.js","sourceRoot":"","sources":["../../../../packages/controls/src/InteractionControls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InteractionControls.js","sourceRoot":"","sources":["../../../../packages/controls/src/InteractionControls.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,23 @@ export interface ControlPickMetadata {
16
16
  readonly pickRadius?: number;
17
17
  readonly priority?: number;
18
18
  readonly payload?: unknown;
19
+ /**
20
+ * Instanced picking: world-space centers of the instances belonging to an
21
+ * `InstancedMesh` (or any multi-part object). Each entry is tested as its
22
+ * own pick sphere; a hit reports the nearest entry via `instanceId` on the
23
+ * result metadata. Entries accept either a `Vector3Like` or an
24
+ * `[x, y, z]` tuple.
25
+ */
26
+ readonly instancePositions?: readonly (Vector3Like | readonly [number, number, number])[];
27
+ /**
28
+ * Skinned picking: number of influencing bones, when known. Informational
29
+ * only — the sphere test runs against the bind-pose position plus radius,
30
+ * so deformation beyond that radius is an explicit non-goal (see
31
+ * `Picking` docs).
32
+ */
33
+ readonly skinnedBoneCount?: number;
34
+ /** Reported on a hit against one entry of `instancePositions`. */
35
+ readonly instanceId?: number;
19
36
  }
20
37
  export declare class ControlVector3 implements Vector3Like {
21
38
  x: number;
@@ -1 +1 @@
1
- {"version":3,"file":"NativeControlTypes.d.ts","sourceRoot":"","sources":["../../../../packages/controls/src/NativeControlTypes.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC;IAC9B,QAAQ,CAAC,aAAa,CAAC,EAAE,OAAO,CAAC;IACjC,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,qBAAa,cAAe,YAAW,WAAW;IAC7B,CAAC;IAAa,CAAC;IAAa,CAAC;gBAA7B,CAAC,SAAI,EAAS,CAAC,SAAI,EAAS,CAAC,SAAI;IAEpD,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAO1C,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAI9B,KAAK,IAAI,cAAc;IAIvB,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAO7B,GAAG,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAO7B,MAAM,IAAI,MAAM;IAIhB,SAAS,IAAI,IAAI;CAIlB;AAED,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,mBAAmB,EAAE,CAAC;IACnD,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC;IAC/B,QAAQ,CAAC,QAAQ,CAAC,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IACvC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,GAAG,IAAI,CAAC;CAClE;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,EAAE,KAAK,EAAE,WAAW,GAAG,IAAI,CAKpF;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,IAAI,GAAG,IAAI,CAOtH"}
1
+ {"version":3,"file":"NativeControlTypes.d.ts","sourceRoot":"","sources":["../../../../packages/controls/src/NativeControlTypes.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"NativeControlTypes.js","sourceRoot":"","sources":["../../../../packages/controls/src/NativeControlTypes.ts"],"names":[],"mappings":"AAqBA,MAAM,OAAO,cAAc;IACN;IAAc;IAAc;IAA/C,YAAmB,IAAI,CAAC,EAAS,IAAI,CAAC,EAAS,IAAI,CAAC;QAAjC,MAAC,GAAD,CAAC,CAAI;QAAS,MAAC,GAAD,CAAC,CAAI;QAAS,MAAC,GAAD,CAAC,CAAI;IAAG,CAAC;IAExD,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;QACjC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAkB;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK;QACH,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,KAAkB;QACpB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,KAAkB;QACpB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzF,CAAC;CACF;AAiBD,MAAM,UAAU,UAAU,CAAC,MAA+B,EAAE,KAAkB;IAC5E,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;IACpB,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;IACpB,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAyB,EAAE,QAA+C;IAC9G,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;QAAE,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAClF,CAAC"}
1
+ {"version":3,"file":"NativeControlTypes.js","sourceRoot":"","sources":["../../../../packages/controls/src/NativeControlTypes.ts"],"names":[],"mappings":"AAsCA,MAAM,OAAO,cAAc;IACN;IAAc;IAAc;IAA/C,YAAmB,IAAI,CAAC,EAAS,IAAI,CAAC,EAAS,IAAI,CAAC;QAAjC,MAAC,GAAD,CAAC,CAAI;QAAS,MAAC,GAAD,CAAC,CAAI;QAAS,MAAC,GAAD,CAAC,CAAI;IAAG,CAAC;IAExD,GAAG,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS;QACjC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,KAAkB;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,KAAK;QACH,OAAO,IAAI,cAAc,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,KAAkB;QACpB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,GAAG,CAAC,KAAkB;QACpB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAClB,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,SAAS;QACP,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QAC7B,OAAO,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACzF,CAAC;CACF;AAiBD,MAAM,UAAU,UAAU,CAAC,MAA+B,EAAE,KAAkB;IAC5E,IAAI,CAAC,MAAM;QAAE,OAAO;IACpB,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;IACpB,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;IACpB,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC;AACtB,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAyB,EAAE,QAA+C;IAC9G,IAAI,OAAO,IAAI,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;QACxC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACxB,OAAO;IACT,CAAC;IACD,QAAQ,CAAC,IAAI,CAAC,CAAC;IACf,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,IAAI,EAAE;QAAE,qBAAqB,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;AAClF,CAAC"}
@@ -28,9 +28,12 @@ export declare class OrbitControls {
28
28
  enableRotate: boolean;
29
29
  private readonly engine;
30
30
  private attachedCamera;
31
+ private disposed;
31
32
  constructor(camera?: OrbitCameraLike, options?: OrbitControlsOptions);
32
33
  /** True when a camera is attached and motion is delegated to the real engine. */
33
34
  get isCameraAttached(): boolean;
35
+ /** True after `dispose()`; every mutator is a no-op past this point. */
36
+ get isDisposed(): boolean;
34
37
  /**
35
38
  * Drive the controls from an input snapshot. Camera-attached only; a detached
36
39
  * instance has no camera to move and ignores the snapshot.
@@ -52,6 +55,12 @@ export declare class OrbitControls {
52
55
  saveState(): void;
53
56
  /** Camera-attached only; no-op when detached. */
54
57
  reset(): void;
58
+ /**
59
+ * F1-standard disposal: disables the instance, detaches the camera so no
60
+ * further mutation is possible, and delegates to the input engine (which
61
+ * owns zero DOM listeners — input arrives via snapshots — so nothing can
62
+ * leak). Idempotent.
63
+ */
55
64
  dispose(): void;
56
65
  /**
57
66
  * Move the orbit target on the XZ ground plane. Camera-attached instances
@@ -1 +1 @@
1
- {"version":3,"file":"OrbitControls.d.ts","sourceRoot":"","sources":["../../../../packages/controls/src/OrbitControls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC/G,OAAO,EAA6B,KAAK,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CACpC;AAYD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAA+B;IACtE,SAAS,UAAQ;IACjB,UAAU,UAAQ;IAClB,YAAY,UAAQ;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,cAAc,CAA8B;gBAExC,MAAM,CAAC,EAAE,eAAe,EAAE,OAAO,GAAE,oBAAyB;IASxE,iFAAiF;IACjF,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED;;;;;;OAMG;IACH,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAQzC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAY5C,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAYzC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAW1B,qDAAqD;IACrD,iBAAiB,IAAI,MAAM;IAI3B,qDAAqD;IACrD,aAAa,IAAI,MAAM;IAIvB,qDAAqD;IACrD,WAAW,IAAI,MAAM;IAIrB,iDAAiD;IACjD,SAAS,IAAI,IAAI;IAIjB,iDAAiD;IACjD,KAAK,IAAI,IAAI;IAMb,OAAO,IAAI,IAAI;IAIf;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAa3D,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,SAAS;CAWlB"}
1
+ {"version":3,"file":"OrbitControls.d.ts","sourceRoot":"","sources":["../../../../packages/controls/src/OrbitControls.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAwC,KAAK,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAC/G,OAAO,EAA6B,KAAK,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AACzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,YAAY,EAAE,oBAAoB,EAAE,CAAC;AAErC,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,CAAC;IACtB,MAAM,CAAC,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAAC;CACpC;AAYD;;;;;;;;;;;;;;GAcG;AACH,qBAAa,aAAa;IACxB,QAAQ,CAAC,KAAK,EAAE,uBAAuB,CAA+B;IACtE,SAAS,UAAQ;IACjB,UAAU,UAAQ;IAClB,YAAY,UAAQ;IAEpB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAkC;IACzD,OAAO,CAAC,cAAc,CAA8B;IACpD,OAAO,CAAC,QAAQ,CAAS;gBAEb,MAAM,CAAC,EAAE,eAAe,EAAE,OAAO,GAAE,oBAAyB;IASxE,iFAAiF;IACjF,IAAI,gBAAgB,IAAI,OAAO,CAE9B;IAED,wEAAwE;IACxE,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;;OAMG;IACH,UAAU,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI;IAQzC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAY5C,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAYzC,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAW1B,qDAAqD;IACrD,iBAAiB,IAAI,MAAM;IAI3B,qDAAqD;IACrD,aAAa,IAAI,MAAM;IAIvB,qDAAqD;IACrD,WAAW,IAAI,MAAM;IAIrB,iDAAiD;IACjD,SAAS,IAAI,IAAI;IAKjB,iDAAiD;IACjD,KAAK,IAAI,IAAI;IAMb;;;;;OAKG;IACH,OAAO,IAAI,IAAI;IAQf;;;;OAIG;IACH,SAAS,CAAC,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAc3D,OAAO,CAAC,SAAS;IAMjB,OAAO,CAAC,SAAS;CAWlB"}
@@ -31,6 +31,7 @@ export class OrbitControls {
31
31
  enableRotate = true;
32
32
  engine;
33
33
  attachedCamera;
34
+ disposed = false;
34
35
  constructor(camera, options = {}) {
35
36
  if (!camera)
36
37
  return;
@@ -42,7 +43,11 @@ export class OrbitControls {
42
43
  }
43
44
  /** True when a camera is attached and motion is delegated to the real engine. */
44
45
  get isCameraAttached() {
45
- return this.engine !== undefined;
46
+ return this.engine !== undefined && !this.disposed;
47
+ }
48
+ /** True after `dispose()`; every mutator is a no-op past this point. */
49
+ get isDisposed() {
50
+ return this.disposed;
46
51
  }
47
52
  /**
48
53
  * Drive the controls from an input snapshot. Camera-attached only; a detached
@@ -53,14 +58,14 @@ export class OrbitControls {
53
58
  */
54
59
  applyInput(snapshot) {
55
60
  const engine = this.engine;
56
- if (!engine)
61
+ if (!engine || this.disposed || !this.state.enabled)
57
62
  return;
58
63
  this.pushFlags(engine);
59
64
  engine.update(snapshot);
60
65
  this.syncState();
61
66
  }
62
67
  rotate(deltaX, deltaY) {
63
- if (!this.enableRotate)
68
+ if (this.disposed || !this.enableRotate)
64
69
  return;
65
70
  if (this.engine) {
66
71
  this.pushFlags(this.engine);
@@ -72,7 +77,7 @@ export class OrbitControls {
72
77
  this.state.rotation.y += deltaX;
73
78
  }
74
79
  pan(deltaX, deltaY) {
75
- if (!this.enablePan)
80
+ if (this.disposed || !this.enablePan)
76
81
  return;
77
82
  if (this.engine) {
78
83
  this.pushFlags(this.engine);
@@ -84,7 +89,7 @@ export class OrbitControls {
84
89
  this.state.target.y += deltaY;
85
90
  }
86
91
  dolly(scale) {
87
- if (!this.enableZoom)
92
+ if (this.disposed || !this.enableZoom)
88
93
  return;
89
94
  if (this.engine) {
90
95
  this.pushFlags(this.engine);
@@ -108,16 +113,29 @@ export class OrbitControls {
108
113
  }
109
114
  /** Camera-attached only; no-op when detached. */
110
115
  saveState() {
116
+ if (this.disposed)
117
+ return;
111
118
  this.engine?.saveState();
112
119
  }
113
120
  /** Camera-attached only; no-op when detached. */
114
121
  reset() {
115
- if (!this.engine)
122
+ if (!this.engine || this.disposed)
116
123
  return;
117
124
  this.engine.reset();
118
125
  this.syncState();
119
126
  }
127
+ /**
128
+ * F1-standard disposal: disables the instance, detaches the camera so no
129
+ * further mutation is possible, and delegates to the input engine (which
130
+ * owns zero DOM listeners — input arrives via snapshots — so nothing can
131
+ * leak). Idempotent.
132
+ */
120
133
  dispose() {
134
+ if (this.disposed)
135
+ return;
136
+ this.disposed = true;
137
+ this.state.enabled = false;
138
+ this.attachedCamera = undefined;
121
139
  this.engine?.dispose();
122
140
  }
123
141
  /**
@@ -126,6 +144,8 @@ export class OrbitControls {
126
144
  * update `state.target` bookkeeping.
127
145
  */
128
146
  truckTarget(deltaX, deltaZ) {
147
+ if (this.disposed)
148
+ return;
129
149
  const engine = this.engine;
130
150
  if (!engine) {
131
151
  this.state.target.x += deltaX;
@@ -1 +1 @@
1
- {"version":3,"file":"OrbitControls.js","sourceRoot":"","sources":["../../../../packages/controls/src/OrbitControls.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"OrbitControls.js","sourceRoot":"","sources":["../../../../packages/controls/src/OrbitControls.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,21 @@ export interface PickingReport {
33
33
  readonly hits: readonly ThreeCompatPickResult[];
34
34
  readonly diagnostics: PickingDiagnostics;
35
35
  }
36
+ /**
37
+ * Sphere-based picking over `ControlObject3DLike` scene graphs.
38
+ *
39
+ * Scope notes (F4):
40
+ *
41
+ * - `SkinnedMesh` objects are pickable via the same bind-pose sphere test as
42
+ * static meshes (position plus `pickRadius`). Bone-deformed triangles beyond
43
+ * that radius are an explicit non-goal: this layer answers "which authored
44
+ * object did the pointer hit", not triangle-exact skinning queries.
45
+ * - `InstancedMesh` objects are pickable per instance: metadata
46
+ * `instancePositions` lists world-space instance centers, each tested as
47
+ * its own sphere, and a hit reports the nearest entry as
48
+ * `metadata.instanceId`. Without `instancePositions` the single object
49
+ * sphere is tested, exactly like a static mesh.
50
+ */
36
51
  export declare class Picking {
37
52
  pick(root: ControlObject3DLike, origin?: Vector3Like, direction?: Vector3Like, options?: PickingOptions): ThreeCompatPickResult | null;
38
53
  pickAll(root: ControlObject3DLike, origin?: Vector3Like, direction?: Vector3Like, options?: PickingOptions): readonly ThreeCompatPickResult[];
@@ -1 +1 @@
1
- {"version":3,"file":"Picking.d.ts","sourceRoot":"","sources":["../../../../packages/controls/src/Picking.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,mBAAmB,GAAG,SAAS,CAAC;CACtF;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;CAC1C;AAED,qBAAa,OAAO;IAClB,IAAI,CACF,IAAI,EAAE,mBAAmB,EACzB,MAAM,GAAE,WAAkC,EAC1C,SAAS,GAAE,WAA0C,EACrD,OAAO,GAAE,cAAmB,GAC3B,qBAAqB,GAAG,IAAI;IAI/B,OAAO,CACL,IAAI,EAAE,mBAAmB,EACzB,MAAM,GAAE,WAAkC,EAC1C,SAAS,GAAE,WAA0C,EACrD,OAAO,GAAE,cAAmB,GAC3B,SAAS,qBAAqB,EAAE;IAInC,MAAM,CACJ,IAAI,EAAE,mBAAmB,EACzB,MAAM,GAAE,WAAkC,EAC1C,SAAS,GAAE,WAA0C,EACrD,OAAO,GAAE,cAAmB,GAC3B,aAAa;CAgFjB"}
1
+ {"version":3,"file":"Picking.d.ts","sourceRoot":"","sources":["../../../../packages/controls/src/Picking.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,KAAK,mBAAmB,EACxB,KAAK,mBAAmB,EACxB,KAAK,WAAW,EACjB,MAAM,sBAAsB,CAAC;AAE9B,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,MAAM,EAAE,mBAAmB,CAAC;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,qBAAqB,EAAE,MAAM,CAAC;IACvC,QAAQ,CAAC,KAAK,EAAE,cAAc,CAAC;IAC/B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CAAC;CACzC;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IACpC,QAAQ,CAAC,4BAA4B,CAAC,EAAE,OAAO,CAAC;IAChD,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,mBAAmB,GAAG,SAAS,CAAC;CACtF;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,kBAAkB,EAAE,MAAM,CAAC;IACpC,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;IACjC,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,QAAQ,CAAC,gCAAgC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzD,QAAQ,CAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,GAAG,EAAE,qBAAqB,GAAG,IAAI,CAAC;IAC3C,QAAQ,CAAC,IAAI,EAAE,SAAS,qBAAqB,EAAE,CAAC;IAChD,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;CAC1C;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,OAAO;IAClB,IAAI,CACF,IAAI,EAAE,mBAAmB,EACzB,MAAM,GAAE,WAAkC,EAC1C,SAAS,GAAE,WAA0C,EACrD,OAAO,GAAE,cAAmB,GAC3B,qBAAqB,GAAG,IAAI;IAI/B,OAAO,CACL,IAAI,EAAE,mBAAmB,EACzB,MAAM,GAAE,WAAkC,EAC1C,SAAS,GAAE,WAA0C,EACrD,OAAO,GAAE,cAAmB,GAC3B,SAAS,qBAAqB,EAAE;IAInC,MAAM,CACJ,IAAI,EAAE,mBAAmB,EACzB,MAAM,GAAE,WAAkC,EAC1C,SAAS,GAAE,WAA0C,EACrD,OAAO,GAAE,cAAmB,GAC3B,aAAa;CAoFjB"}
@@ -1,4 +1,19 @@
1
1
  import { ControlVector3, traverseControlObject } from "./NativeControlTypes.js";
2
+ /**
3
+ * Sphere-based picking over `ControlObject3DLike` scene graphs.
4
+ *
5
+ * Scope notes (F4):
6
+ *
7
+ * - `SkinnedMesh` objects are pickable via the same bind-pose sphere test as
8
+ * static meshes (position plus `pickRadius`). Bone-deformed triangles beyond
9
+ * that radius are an explicit non-goal: this layer answers "which authored
10
+ * object did the pointer hit", not triangle-exact skinning queries.
11
+ * - `InstancedMesh` objects are pickable per instance: metadata
12
+ * `instancePositions` lists world-space instance centers, each tested as
13
+ * its own sphere, and a hit reports the nearest entry as
14
+ * `metadata.instanceId`. Without `instancePositions` the single object
15
+ * sphere is tested, exactly like a static mesh.
16
+ */
2
17
  export class Picking {
3
18
  pick(root, origin = new ControlVector3(), direction = new ControlVector3(0, 0, -1), options = {}) {
4
19
  return this.report(root, origin, direction, options).hit;
@@ -38,30 +53,34 @@ export class Picking {
38
53
  return;
39
54
  }
40
55
  counters.candidateObjects += 1;
41
- const toObject = new ControlVector3(object.position.x - origin.x, object.position.y - origin.y, object.position.z - origin.z);
42
- const distanceAlongRay = dot(toObject, normalizedDirection);
43
- if (distanceAlongRay < near || distanceAlongRay > far) {
44
- counters.skippedOutOfRange += 1;
45
- return;
46
- }
47
- const closestPoint = pointOnRay(origin, normalizedDirection, distanceAlongRay);
48
- const perpendicularDistance = new ControlVector3(object.position.x - closestPoint.x, object.position.y - closestPoint.y, object.position.z - closestPoint.z).length();
49
56
  const radius = resolvePickRadius(object, metadata) + tolerance;
50
- if (perpendicularDistance > radius) {
51
- counters.skippedMissedRadius += 1;
52
- nearestMissPerpendicularDistance = Math.min(nearestMissPerpendicularDistance, perpendicularDistance);
53
- return;
57
+ const instances = resolveInstanceCenters(object, metadata);
58
+ for (let instanceId = 0; instanceId < instances.length; instanceId += 1) {
59
+ const center = instances[instanceId];
60
+ const toCenter = new ControlVector3(center.x - origin.x, center.y - origin.y, center.z - origin.z);
61
+ const distanceAlongRay = dot(toCenter, normalizedDirection);
62
+ if (distanceAlongRay < near || distanceAlongRay > far) {
63
+ counters.skippedOutOfRange += 1;
64
+ continue;
65
+ }
66
+ const closestPoint = pointOnRay(origin, normalizedDirection, distanceAlongRay);
67
+ const perpendicularDistance = new ControlVector3(center.x - closestPoint.x, center.y - closestPoint.y, center.z - closestPoint.z).length();
68
+ if (perpendicularDistance > radius) {
69
+ counters.skippedMissedRadius += 1;
70
+ nearestMissPerpendicularDistance = Math.min(nearestMissPerpendicularDistance, perpendicularDistance);
71
+ continue;
72
+ }
73
+ const rayEntryDistance = Math.max(near, distanceAlongRay - Math.sqrt(Math.max(0, radius * radius - perpendicularDistance * perpendicularDistance)));
74
+ hits.push({
75
+ object,
76
+ distance: rayEntryDistance,
77
+ distanceAlongRay,
78
+ perpendicularDistance,
79
+ point: pointOnRay(origin, normalizedDirection, rayEntryDistance),
80
+ radius,
81
+ metadata: instances.length > 1 ? { ...metadata, instanceId } : metadata
82
+ });
54
83
  }
55
- const rayEntryDistance = Math.max(near, distanceAlongRay - Math.sqrt(Math.max(0, radius * radius - perpendicularDistance * perpendicularDistance)));
56
- hits.push({
57
- object,
58
- distance: rayEntryDistance,
59
- distanceAlongRay,
60
- perpendicularDistance,
61
- point: pointOnRay(origin, normalizedDirection, rayEntryDistance),
62
- radius,
63
- metadata
64
- });
65
84
  });
66
85
  hits.sort(compareHits);
67
86
  const hit = hits[0] ?? null;
@@ -107,7 +126,27 @@ function readUserDataMetadata(userData) {
107
126
  function isPickableObject(object, metadata, options) {
108
127
  if (metadata && options.includeNonRenderableMetadata !== false)
109
128
  return true;
110
- return object.type === "Mesh" || object.type === "Sprite" || object.type === "Points" || object.type === "LineSegments";
129
+ return object.type === "Mesh" ||
130
+ object.type === "SkinnedMesh" ||
131
+ object.type === "InstancedMesh" ||
132
+ object.type === "Sprite" ||
133
+ object.type === "Points" ||
134
+ object.type === "LineSegments";
135
+ }
136
+ function resolveInstanceCenters(object, metadata) {
137
+ const positions = metadata?.instancePositions;
138
+ if (!positions || positions.length === 0)
139
+ return [object.position];
140
+ return positions.map((entry) => {
141
+ if (Array.isArray(entry)) {
142
+ return {
143
+ x: Number(entry[0] ?? 0),
144
+ y: Number(entry[1] ?? 0),
145
+ z: Number(entry[2] ?? 0)
146
+ };
147
+ }
148
+ return entry;
149
+ });
111
150
  }
112
151
  function resolvePickRadius(object, metadata) {
113
152
  const explicit = metadata?.pickRadius ?? object.pickRadius ?? readUserDataRadius(object.userData);
@@ -1 +1 @@
1
- {"version":3,"file":"Picking.js","sourceRoot":"","sources":["../../../../packages/controls/src/Picking.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Picking.js","sourceRoot":"","sources":["../../../../packages/controls/src/Picking.ts"],"names":[],"mappings":"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"}