@carbonenginejs/runtime-trinity 0.5.0 → 0.7.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 (1499) hide show
  1. package/README.md +35 -243
  2. package/dist/controllers/CjsControllerExpressionProgram.js +157 -0
  3. package/dist/controllers/CjsControllerExpressionProgram.js.map +1 -1
  4. package/dist/controllers/ITr2ControllerAction.js +57 -0
  5. package/dist/controllers/ITr2ControllerAction.js.map +1 -1
  6. package/dist/controllers/Tr2ActionAnimateCurveSet.js +12 -2
  7. package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
  8. package/dist/controllers/Tr2ActionAnimateValue.js +28 -2
  9. package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
  10. package/dist/controllers/Tr2ActionBindRTPC.js +13 -2
  11. package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
  12. package/dist/controllers/Tr2ActionCallback.js +7 -2
  13. package/dist/controllers/Tr2ActionCallback.js.map +1 -1
  14. package/dist/controllers/Tr2ActionChildEffect.js +65 -2
  15. package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
  16. package/dist/controllers/Tr2ActionOverlay.js +70 -2
  17. package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
  18. package/dist/controllers/Tr2ActionPlayCurveSet.js +18 -2
  19. package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
  20. package/dist/controllers/Tr2ActionPlayMeshAnimation.js +31 -2
  21. package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
  22. package/dist/controllers/Tr2ActionPlaySound.js +13 -2
  23. package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
  24. package/dist/controllers/Tr2ActionPython.js +13 -2
  25. package/dist/controllers/Tr2ActionPython.js.map +1 -1
  26. package/dist/controllers/Tr2ActionResetClipSphereCenter.js +21 -4
  27. package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
  28. package/dist/controllers/Tr2ActionSetAttenuationScaling.js +7 -2
  29. package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
  30. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +7 -2
  31. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
  32. package/dist/controllers/Tr2ActionSetAudioSwitch.js +7 -2
  33. package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
  34. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +25 -2
  35. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  36. package/dist/controllers/Tr2ActionSetShaderOption.js +7 -2
  37. package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
  38. package/dist/controllers/Tr2ActionSetValue.js +37 -2
  39. package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
  40. package/dist/controllers/Tr2ActionSpawnParticles.js +12 -2
  41. package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
  42. package/dist/controllers/Tr2BindingPoint.js +71 -4
  43. package/dist/controllers/Tr2BindingPoint.js.map +1 -1
  44. package/dist/controllers/Tr2Controller.js +39 -2
  45. package/dist/controllers/Tr2Controller.js.map +1 -1
  46. package/dist/controllers/Tr2ControllerEventHandler.js +12 -2
  47. package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
  48. package/dist/controllers/Tr2ControllerExpression.js +19 -2
  49. package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
  50. package/dist/controllers/Tr2ControllerFloatVariable.js +8 -2
  51. package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
  52. package/dist/controllers/Tr2ControllerReference.js +13 -2
  53. package/dist/controllers/Tr2ControllerReference.js.map +1 -1
  54. package/dist/controllers/Tr2StateMachine.js +19 -2
  55. package/dist/controllers/Tr2StateMachine.js.map +1 -1
  56. package/dist/controllers/Tr2StateMachineState.js +49 -2
  57. package/dist/controllers/Tr2StateMachineState.js.map +1 -1
  58. package/dist/controllers/Tr2StateMachineTransition.js +31 -2
  59. package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
  60. package/dist/controllers/Tr2SyncToAnimation.js +7 -2
  61. package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
  62. package/dist/controllers/Tr2TimelineController.js +63 -2
  63. package/dist/controllers/Tr2TimelineController.js.map +1 -1
  64. package/dist/controllers/Tr2TimelineEntry.js +2 -2
  65. package/dist/controllers/Tr2TimelineEntry.js.map +1 -1
  66. package/dist/controllers/contracts.js +24 -1
  67. package/dist/controllers/contracts.js.map +1 -1
  68. package/dist/controllers/index.js +1 -1
  69. package/dist/curves/CjsGrannyCurves.js +151 -1
  70. package/dist/curves/CjsGrannyCurves.js.map +1 -1
  71. package/dist/curves/Tr2BoneMatrixCurve.js +27 -4
  72. package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
  73. package/dist/curves/Tr2CameraFollowCurveKey.js +9 -3
  74. package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
  75. package/dist/curves/Tr2CurveColor.js +10 -4
  76. package/dist/curves/Tr2CurveColor.js.map +1 -1
  77. package/dist/curves/Tr2CurveColorMixer.js +10 -4
  78. package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
  79. package/dist/curves/Tr2CurveCombiner.js +8 -3
  80. package/dist/curves/Tr2CurveCombiner.js.map +1 -1
  81. package/dist/curves/Tr2CurveConstant.js +22 -6
  82. package/dist/curves/Tr2CurveConstant.js.map +1 -1
  83. package/dist/curves/Tr2CurveEulerRotation.js +8 -3
  84. package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
  85. package/dist/curves/Tr2CurveEulerRotationExpression.js +69 -3
  86. package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
  87. package/dist/curves/Tr2CurveQuaternion.js +8 -3
  88. package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
  89. package/dist/curves/Tr2CurveQuaternionKey.js +8 -3
  90. package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
  91. package/dist/curves/Tr2CurveRandomAxisRotation.js +31 -3
  92. package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
  93. package/dist/curves/Tr2CurveScalar.js +40 -5
  94. package/dist/curves/Tr2CurveScalar.js.map +1 -1
  95. package/dist/curves/Tr2CurveScalarExpression.js +13 -2
  96. package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
  97. package/dist/curves/Tr2CurveScalarKey.js +8 -2
  98. package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
  99. package/dist/curves/Tr2CurveSetRange.js +7 -2
  100. package/dist/curves/Tr2CurveSetRange.js.map +1 -1
  101. package/dist/curves/Tr2CurveVector2.js +8 -3
  102. package/dist/curves/Tr2CurveVector2.js.map +1 -1
  103. package/dist/curves/Tr2CurveVector3.js +8 -3
  104. package/dist/curves/Tr2CurveVector3.js.map +1 -1
  105. package/dist/curves/Tr2CurveVector3Expression.js +74 -3
  106. package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
  107. package/dist/curves/Tr2CurveVector3Lerp.js +9 -3
  108. package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
  109. package/dist/curves/Tr2DistanceTracker.js +9 -3
  110. package/dist/curves/Tr2DistanceTracker.js.map +1 -1
  111. package/dist/curves/Tr2FollowCurve.js +9 -3
  112. package/dist/curves/Tr2FollowCurve.js.map +1 -1
  113. package/dist/curves/Tr2GrannyEventTrack.js +6 -1
  114. package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
  115. package/dist/curves/Tr2GrannyTrack.js +8 -2
  116. package/dist/curves/Tr2GrannyTrack.js.map +1 -1
  117. package/dist/curves/Tr2GrannyTransformTrack.js +9 -3
  118. package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
  119. package/dist/curves/Tr2GrannyVectorTrack.js +6 -1
  120. package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
  121. package/dist/curves/Tr2MatrixKey.js +8 -3
  122. package/dist/curves/Tr2MatrixKey.js.map +1 -1
  123. package/dist/curves/Tr2ObjectFollowCurveKey.js +10 -4
  124. package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
  125. package/dist/curves/Tr2QuaternionLerpCurve.js +10 -4
  126. package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
  127. package/dist/curves/Tr2RotationAdapter.js +9 -3
  128. package/dist/curves/Tr2RotationAdapter.js.map +1 -1
  129. package/dist/curves/Tr2ScalarExprKey.js +21 -3
  130. package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
  131. package/dist/curves/Tr2ScalarExprKeyCurve.js +27 -4
  132. package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
  133. package/dist/curves/Tr2ScalarFader.js +14 -3
  134. package/dist/curves/Tr2ScalarFader.js.map +1 -1
  135. package/dist/curves/Tr2TranslationAdapter.js +10 -4
  136. package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
  137. package/dist/curves/TriColorSequencer.js +10 -4
  138. package/dist/curves/TriColorSequencer.js.map +1 -1
  139. package/dist/curves/TriCurveSet.js +25 -2
  140. package/dist/curves/TriCurveSet.js.map +1 -1
  141. package/dist/curves/TriEventCurve.js +25 -2
  142. package/dist/curves/TriEventCurve.js.map +1 -1
  143. package/dist/curves/TriEventKey.js +7 -2
  144. package/dist/curves/TriEventKey.js.map +1 -1
  145. package/dist/curves/TriPerlinCurve.js +33 -3
  146. package/dist/curves/TriPerlinCurve.js.map +1 -1
  147. package/dist/curves/TriVectorSequencer.js +10 -4
  148. package/dist/curves/TriVectorSequencer.js.map +1 -1
  149. package/dist/eve/AudioGameObject.js +95 -7
  150. package/dist/eve/AudioGameObject.js.map +1 -1
  151. package/dist/eve/BackAndForthData.js +10 -3
  152. package/dist/eve/BackAndForthData.js.map +1 -1
  153. package/dist/eve/CjsDistributionRandom.js +6 -0
  154. package/dist/eve/CjsDistributionRandom.js.map +1 -1
  155. package/dist/eve/CjsEveThrottleableState.js +11 -0
  156. package/dist/eve/CjsEveThrottleableState.js.map +1 -1
  157. package/dist/eve/EveChildUpdateParams.js +11 -4
  158. package/dist/eve/EveChildUpdateParams.js.map +1 -1
  159. package/dist/eve/EveComponentTypes.js.map +1 -1
  160. package/dist/eve/EveCustomMask.js +64 -33
  161. package/dist/eve/EveCustomMask.js.map +1 -1
  162. package/dist/eve/EveDistanceField.js +87 -3
  163. package/dist/eve/EveDistanceField.js.map +1 -1
  164. package/dist/eve/EveEntity.js +138 -0
  165. package/dist/eve/EveEntity.js.map +1 -0
  166. package/dist/eve/EveImpactOverlay.js +64 -3
  167. package/dist/eve/EveImpactOverlay.js.map +1 -1
  168. package/dist/eve/EveLODHelper.js +17 -13
  169. package/dist/eve/EveLODHelper.js.map +1 -1
  170. package/dist/eve/EveLineData.js +6 -4
  171. package/dist/eve/EveLineData.js.map +1 -1
  172. package/dist/eve/EveThrottleable.js +13 -2
  173. package/dist/eve/EveThrottleable.js.map +1 -1
  174. package/dist/eve/EveUpdateContext.js +3 -3
  175. package/dist/eve/EveUpdateContext.js.map +1 -1
  176. package/dist/eve/FollowASplineData.js +9 -2
  177. package/dist/eve/FollowASplineData.js.map +1 -1
  178. package/dist/eve/FormationData.js +8 -2
  179. package/dist/eve/FormationData.js.map +1 -1
  180. package/dist/eve/InertiaData.js +10 -3
  181. package/dist/eve/InertiaData.js.map +1 -1
  182. package/dist/eve/PlacementDataWithIdentifier.js +11 -4
  183. package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
  184. package/dist/eve/PlayFXData.js +10 -3
  185. package/dist/eve/PlayFXData.js.map +1 -1
  186. package/dist/eve/SeekTargetData.js +10 -3
  187. package/dist/eve/SeekTargetData.js.map +1 -1
  188. package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js +105 -0
  189. package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
  190. package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
  191. package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
  192. package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +16 -5
  193. package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
  194. package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
  195. package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
  196. package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +267 -46
  197. package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
  198. package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +216 -15
  199. package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
  200. package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +52 -4
  201. package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
  202. package/dist/eve/attachment/decal/DecalMeshCache.js +2 -2
  203. package/dist/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  204. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
  205. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
  206. package/dist/eve/attachment/haze/EveHazeSet.js +187 -0
  207. package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
  208. package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
  209. package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
  210. package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +16 -5
  211. package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
  212. package/dist/eve/attachment/itemSetBounds.js +131 -0
  213. package/dist/eve/attachment/itemSetBounds.js.map +1 -0
  214. package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +17 -5
  215. package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
  216. package/dist/eve/attachment/plane/EvePlaneSet.js +303 -0
  217. package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
  218. package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
  219. package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
  220. package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +16 -5
  221. package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
  222. package/dist/eve/attachment/spotlight/EveSpotlightSet.js +235 -0
  223. package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
  224. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
  225. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
  226. package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +17 -5
  227. package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
  228. package/dist/eve/attachment/sprite/EveSpriteLineSet.js +192 -0
  229. package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
  230. package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +34 -9
  231. package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
  232. package/dist/eve/attachment/sprite/EveSpriteSet.js +255 -0
  233. package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
  234. package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +28 -31
  235. package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
  236. package/dist/eve/attachment/turrets/EveTurretFiringFX.js +187 -5
  237. package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  238. package/dist/eve/attachment/turrets/EveTurretSet.js +333 -19
  239. package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  240. package/dist/eve/attachment/turrets/EveTurretTarget.js +115 -3
  241. package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  242. package/dist/eve/camera/EveCamera.js +644 -0
  243. package/dist/eve/camera/EveCamera.js.map +1 -0
  244. package/dist/eve/child/EveChildAudio.js +67 -4
  245. package/dist/eve/child/EveChildAudio.js.map +1 -1
  246. package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
  247. package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
  248. package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +46 -8
  249. package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
  250. package/dist/eve/child/EveChildContainer.js +181 -22
  251. package/dist/eve/child/EveChildContainer.js.map +1 -1
  252. package/dist/eve/child/EveChildEffectPropagator.js +5 -5
  253. package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
  254. package/dist/eve/child/EveChildFogVolume.js +76 -4
  255. package/dist/eve/child/EveChildFogVolume.js.map +1 -1
  256. package/dist/eve/child/EveChildInheritProperties.js +20 -3
  257. package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
  258. package/dist/eve/child/EveChildInstanceTransform.js +4 -4
  259. package/dist/eve/child/EveChildInstanceTransform.js.map +1 -1
  260. package/dist/eve/child/EveChildInstancedMeshes.js +485 -23
  261. package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
  262. package/dist/eve/child/EveChildLightingOverride.js +78 -4
  263. package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
  264. package/dist/{generated/eve → eve}/child/EveChildLink.js +23 -22
  265. package/dist/eve/child/EveChildLink.js.map +1 -0
  266. package/dist/eve/child/EveChildMesh.js +366 -111
  267. package/dist/eve/child/EveChildMesh.js.map +1 -1
  268. package/dist/eve/child/EveChildSpherePin.js +108 -0
  269. package/dist/eve/child/EveChildSpherePin.js.map +1 -0
  270. package/dist/eve/child/EveChildTransform.js +48 -5
  271. package/dist/eve/child/EveChildTransform.js.map +1 -1
  272. package/dist/eve/child/EveCloudVolumeBall.js +4 -4
  273. package/dist/eve/child/EveCloudVolumeBall.js.map +1 -1
  274. package/dist/eve/child/IEveSpaceObjectChild.js +7 -2
  275. package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
  276. package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
  277. package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
  278. package/dist/eve/child/behaviors/DroneAgent.js +5 -5
  279. package/dist/eve/child/behaviors/DroneAgent.js.map +1 -1
  280. package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
  281. package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
  282. package/dist/eve/child/behaviors/Wander.js +99 -0
  283. package/dist/eve/child/behaviors/Wander.js.map +1 -0
  284. package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
  285. package/dist/eve/child/behaviors/enums.js.map +1 -0
  286. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
  287. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
  288. package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +10 -4
  289. package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
  290. package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +11 -9
  291. package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
  292. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
  293. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
  294. package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +6 -6
  295. package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
  296. package/dist/eve/child/lineSetPaths/EveBezierCurve.js +82 -8
  297. package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  298. package/dist/eve/child/lineSetPaths/EveCircle.js +82 -8
  299. package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  300. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +27 -19
  301. package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
  302. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +8 -3
  303. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
  304. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +26 -23
  305. package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
  306. package/dist/eve/child/modifiers/EveChildModifierBooster.js +10 -4
  307. package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
  308. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +12 -6
  309. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
  310. package/dist/eve/child/modifiers/EveChildModifierHalo.js +9 -4
  311. package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
  312. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +10 -4
  313. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
  314. package/dist/eve/child/modifiers/EveChildModifierSRT.js +10 -5
  315. package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  316. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +36 -22
  317. package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
  318. package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js +2 -2
  319. package/dist/eve/child/modifiers/EveChildModifierTransformCommon.js.map +1 -1
  320. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +19 -17
  321. package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
  322. package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +15 -8
  323. package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
  324. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +14 -14
  325. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
  326. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +8 -8
  327. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
  328. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +14 -14
  329. package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
  330. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +10 -10
  331. package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
  332. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +19 -19
  333. package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
  334. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +9 -9
  335. package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
  336. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +9 -9
  337. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
  338. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +19 -19
  339. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
  340. package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +136 -7
  341. package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
  342. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +14 -3
  343. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
  344. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +13 -5
  345. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
  346. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +16 -5
  347. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
  348. package/dist/eve/distribution/attributeModifiers/InitialPlacement.js +2 -2
  349. package/dist/eve/distribution/attributeModifiers/InitialPlacement.js.map +1 -1
  350. package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
  351. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +18 -5
  352. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
  353. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +33 -5
  354. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
  355. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +38 -7
  356. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
  357. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +16 -4
  358. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
  359. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +16 -5
  360. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
  361. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +17 -6
  362. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
  363. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +16 -5
  364. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
  365. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +21 -3
  366. package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
  367. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +27 -3
  368. package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
  369. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +19 -3
  370. package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
  371. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +24 -5
  372. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
  373. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +23 -4
  374. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
  375. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +23 -4
  376. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
  377. package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +81 -9
  378. package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
  379. package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
  380. package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
  381. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
  382. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
  383. package/dist/eve/index.js +118 -46
  384. package/dist/eve/index.js.map +1 -1
  385. package/dist/eve/lights/CjsLightData.js +12 -5
  386. package/dist/eve/lights/CjsLightData.js.map +1 -1
  387. package/dist/eve/lights/LightFeatures.js +2 -2
  388. package/dist/eve/lights/LightFeatures.js.map +1 -1
  389. package/dist/eve/lights/Tr2Light.js +130 -4
  390. package/dist/eve/lights/Tr2Light.js.map +1 -1
  391. package/dist/eve/lights/Tr2PointLight.js +9 -4
  392. package/dist/eve/lights/Tr2PointLight.js.map +1 -1
  393. package/dist/eve/lights/Tr2SpotLight.js +9 -4
  394. package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
  395. package/dist/eve/lights/Tr2TexturedPointLight.js +11 -1
  396. package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  397. package/dist/eve/lights/lightConversion.js +196 -0
  398. package/dist/eve/lights/lightConversion.js.map +1 -0
  399. package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +23 -4
  400. package/dist/eve/locator/EveLocator2.js.map +1 -0
  401. package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +46 -4
  402. package/dist/eve/locator/EveLocatorSets.js.map +1 -0
  403. package/dist/eve/{Locator.js → locator/Locator.js} +10 -5
  404. package/dist/eve/locator/Locator.js.map +1 -0
  405. package/dist/eve/{LocatorData.js → locator/LocatorData.js} +7 -5
  406. package/dist/eve/locator/LocatorData.js.map +1 -0
  407. package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
  408. package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
  409. package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +6 -6
  410. package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
  411. package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +6 -6
  412. package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
  413. package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +7 -7
  414. package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
  415. package/dist/eve/particles/static/EveSceneStaticParticles.js +326 -0
  416. package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
  417. package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
  418. package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
  419. package/dist/eve/renderable/stretch/CjsStretchRuntime.js +78 -2
  420. package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
  421. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +88 -4
  422. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  423. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +95 -4
  424. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
  425. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +40 -4
  426. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
  427. package/dist/eve/renderable/stretch/EveStretch.js +162 -13
  428. package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
  429. package/dist/eve/renderable/stretch/EveStretch2.js +125 -16
  430. package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
  431. package/dist/eve/renderable/stretch/EveStretch3.js +265 -12
  432. package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
  433. package/dist/eve/scene/EveSpaceScene.js +62 -12
  434. package/dist/eve/scene/EveSpaceScene.js.map +1 -1
  435. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +26 -3
  436. package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
  437. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +76 -4
  438. package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
  439. package/dist/eve/scene/picking/EvePickingContext.js +61 -0
  440. package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
  441. package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
  442. package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
  443. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
  444. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
  445. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +20 -20
  446. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
  447. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +21 -21
  448. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
  449. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +14 -14
  450. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
  451. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +13 -13
  452. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
  453. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +32 -32
  454. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
  455. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +11 -11
  456. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
  457. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +25 -25
  458. package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
  459. package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
  460. package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +28 -3
  461. package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
  462. package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +18 -2
  463. package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
  464. package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +23 -7
  465. package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
  466. package/dist/eve/socket/EveSocketParameterFilePath.js +6 -6
  467. package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
  468. package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +18 -2
  469. package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
  470. package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +18 -2
  471. package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
  472. package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +44 -4
  473. package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
  474. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +19 -3
  475. package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
  476. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +19 -3
  477. package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
  478. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +19 -3
  479. package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
  480. package/dist/eve/spaceObject/EveEffectRoot2.js +69 -33
  481. package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  482. package/dist/eve/spaceObject/EveMissile.js +55 -7
  483. package/dist/eve/spaceObject/EveMissile.js.map +1 -1
  484. package/dist/eve/spaceObject/EveMissileWarhead.js +112 -16
  485. package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
  486. package/dist/eve/spaceObject/EveMobile.js +107 -3
  487. package/dist/eve/spaceObject/EveMobile.js.map +1 -1
  488. package/dist/eve/spaceObject/EveRootTransform.js +21 -4
  489. package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
  490. package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +34 -14
  491. package/dist/eve/spaceObject/EveShip2.js.map +1 -0
  492. package/dist/eve/spaceObject/EveSpaceObject2.js +747 -205
  493. package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  494. package/dist/eve/spaceObject/EveStation2.js +1 -1
  495. package/dist/eve/spaceObject/EveStation2.js.map +1 -1
  496. package/dist/eve/spaceObject/EveTransform.js +124 -24
  497. package/dist/eve/spaceObject/EveTransform.js.map +1 -1
  498. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
  499. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
  500. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
  501. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
  502. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
  503. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
  504. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
  505. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
  506. package/dist/eve/spaceObject/planet/EvePlanet.js +63 -0
  507. package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
  508. package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js +225 -0
  509. package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
  510. package/dist/eve/spaceObject/swarm/SwarmVehicle.js +4 -4
  511. package/dist/eve/spaceObject/swarm/SwarmVehicle.js.map +1 -1
  512. package/dist/eve/spaceObject/swarm/SwarmVehicleDebug.js +3 -3
  513. package/dist/eve/spaceObject/swarm/SwarmVehicleDebug.js.map +1 -1
  514. package/dist/eve/ui/EveEllipseDefinition.js +18 -3
  515. package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
  516. package/dist/eve/ui/EveEllipseSet.js +44 -2
  517. package/dist/eve/ui/EveEllipseSet.js.map +1 -1
  518. package/dist/eve/ui/EveSpherePin.js +159 -0
  519. package/dist/eve/ui/EveSpherePin.js.map +1 -0
  520. package/dist/eve/ui/EveSprite2dBracket.js +9 -4
  521. package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
  522. package/dist/eve/ui/EveUiObject.js +12 -1
  523. package/dist/eve/ui/EveUiObject.js.map +1 -1
  524. package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +71 -10
  525. package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
  526. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
  527. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
  528. package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +24 -4
  529. package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
  530. package/dist/eve/virtualCamera/EveVirtualCamera.js +158 -6
  531. package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
  532. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +67 -2
  533. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
  534. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +18 -1
  535. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
  536. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +21 -2
  537. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
  538. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +18 -1
  539. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
  540. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +30 -1
  541. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
  542. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +16 -1
  543. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
  544. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +42 -4
  545. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
  546. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +19 -2
  547. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
  548. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +20 -2
  549. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
  550. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +22 -2
  551. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
  552. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +22 -2
  553. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
  554. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +13 -2
  555. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
  556. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +16 -2
  557. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
  558. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +18 -2
  559. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
  560. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +23 -3
  561. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
  562. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +38 -2
  563. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
  564. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +38 -2
  565. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
  566. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +12 -1
  567. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
  568. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +39 -2
  569. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
  570. package/dist/eve/volume/EveBoxVolume.js +63 -4
  571. package/dist/eve/volume/EveBoxVolume.js.map +1 -1
  572. package/dist/eve/volume/EveEllipsoidVolume.js +58 -4
  573. package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
  574. package/dist/eve/volume/EveSphereVolume.js +37 -3
  575. package/dist/eve/volume/EveSphereVolume.js.map +1 -1
  576. package/dist/generated/curves/Tr2VectorFunctionModifier.js +3 -3
  577. package/dist/generated/curves/Tr2VectorFunctionModifier.js.map +1 -1
  578. package/dist/generated/eve/child/EveChildCloud.js +5 -5
  579. package/dist/generated/eve/child/EveChildCloud.js.map +1 -1
  580. package/dist/generated/eve/child/EveChildCloud2.js +759 -48
  581. package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
  582. package/dist/generated/eve/child/EveChildExplosion.js +4 -4
  583. package/dist/generated/eve/child/EveChildExplosion.js.map +1 -1
  584. package/dist/generated/eve/child/EveChildInstanceContainer.js +1 -1
  585. package/dist/generated/eve/child/EveChildInstanceContainer.js.map +1 -1
  586. package/dist/generated/eve/child/EveChildInstanceMeshRenderer.js +3 -3
  587. package/dist/generated/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
  588. package/dist/generated/eve/child/EveChildLineSet.js +2 -2
  589. package/dist/generated/eve/child/EveChildLineSet.js.map +1 -1
  590. package/dist/generated/eve/child/EveChildParticleSphere.js +3 -3
  591. package/dist/generated/eve/child/EveChildParticleSphere.js.map +1 -1
  592. package/dist/generated/eve/child/EveChildParticleSystem.js +16 -10
  593. package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
  594. package/dist/generated/eve/child/EveChildPlug.js +1 -1
  595. package/dist/generated/eve/child/EveChildPlug.js.map +1 -1
  596. package/dist/generated/eve/child/EveChildPostProcessVolume.js +4 -4
  597. package/dist/generated/eve/child/EveChildPostProcessVolume.js.map +1 -1
  598. package/dist/generated/eve/child/EveChildQuad.js +5 -5
  599. package/dist/generated/eve/child/EveChildQuad.js.map +1 -1
  600. package/dist/generated/eve/child/EveChildRef.js +1 -1
  601. package/dist/generated/eve/child/EveChildRef.js.map +1 -1
  602. package/dist/generated/eve/child/EveChildSocket.js +2 -2
  603. package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
  604. package/dist/generated/eve/child/EveCloudEditableVolume.js +2 -2
  605. package/dist/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
  606. package/dist/generated/eve/child/EveCloudVolumeTextureParameter.js +2 -2
  607. package/dist/generated/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
  608. package/dist/generated/eve/child/IEveLightingOverride.js +2 -2
  609. package/dist/generated/eve/child/IEveLightingOverride.js.map +1 -1
  610. package/dist/generated/eve/child/behaviors/Allign.js +3 -3
  611. package/dist/generated/eve/child/behaviors/Allign.js.map +1 -1
  612. package/dist/generated/eve/child/behaviors/ApproachGroup.js +3 -3
  613. package/dist/generated/eve/child/behaviors/ApproachGroup.js.map +1 -1
  614. package/dist/generated/eve/child/behaviors/BackAndForth.js +18 -21
  615. package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
  616. package/dist/generated/eve/child/behaviors/BehaviorGroup.js +7 -7
  617. package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  618. package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js +5 -5
  619. package/dist/generated/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
  620. package/dist/generated/eve/child/behaviors/DroneAvoidance.js +3 -3
  621. package/dist/generated/eve/child/behaviors/DroneAvoidance.js.map +1 -1
  622. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +29 -32
  623. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
  624. package/dist/generated/eve/child/behaviors/FollowASpline.js +16 -20
  625. package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
  626. package/dist/generated/eve/child/behaviors/Formation.js +4 -4
  627. package/dist/generated/eve/child/behaviors/Formation.js.map +1 -1
  628. package/dist/generated/eve/child/behaviors/Inertia.js +4 -4
  629. package/dist/generated/eve/child/behaviors/Inertia.js.map +1 -1
  630. package/dist/generated/eve/child/behaviors/PlayFX.js +16 -16
  631. package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
  632. package/dist/generated/eve/child/behaviors/SeekTarget.js +4 -4
  633. package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
  634. package/dist/generated/eve/child/behaviors/SpawnDrones.js +4 -4
  635. package/dist/generated/eve/child/behaviors/SpawnDrones.js.map +1 -1
  636. package/dist/generated/eve/child/behaviors/index.js +0 -6
  637. package/dist/generated/eve/child/behaviors/index.js.map +1 -1
  638. package/dist/generated/eve/child/index.js +0 -23
  639. package/dist/generated/eve/child/index.js.map +1 -1
  640. package/dist/generated/eve/child/lineSetPaths/EveLineChildContainer.js +1 -1
  641. package/dist/generated/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
  642. package/dist/generated/eve/effect/EveOccluder.js +2 -2
  643. package/dist/generated/eve/effect/EveOccluder.js.map +1 -1
  644. package/dist/generated/eve/effect/EveStarfield.js +2 -2
  645. package/dist/generated/eve/effect/EveStarfield.js.map +1 -1
  646. package/dist/generated/eve/effect/index.js +0 -3
  647. package/dist/generated/eve/effect/index.js.map +1 -1
  648. package/dist/generated/eve/index.js +0 -88
  649. package/dist/generated/eve/index.js.map +1 -1
  650. package/dist/generated/eve/lights/Tr2FactionLight.js +4 -4
  651. package/dist/generated/eve/lights/Tr2FactionLight.js.map +1 -1
  652. package/dist/generated/eve/scene/EvePendingPickingReadback.js +2 -2
  653. package/dist/generated/eve/scene/EvePendingPickingReadback.js.map +1 -1
  654. package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js +3 -3
  655. package/dist/generated/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
  656. package/dist/generated/eve/scene/index.js +0 -6
  657. package/dist/generated/eve/scene/index.js.map +1 -1
  658. package/dist/generated/eve/smartLights/EveChildSmartLightSet.js +2 -2
  659. package/dist/generated/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
  660. package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js +3 -3
  661. package/dist/generated/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
  662. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +23 -23
  663. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  664. package/dist/generated/eve/smartLights/EveSmartLightMesh.js +1 -1
  665. package/dist/generated/eve/smartLights/EveSmartLightMesh.js.map +1 -1
  666. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +6 -6
  667. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  668. package/dist/generated/eve/smartLights/EveSmartLightQuad.js +6 -6
  669. package/dist/generated/eve/smartLights/EveSmartLightQuad.js.map +1 -1
  670. package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js +1 -1
  671. package/dist/generated/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
  672. package/dist/generated/eve/smartLights/index.js +0 -8
  673. package/dist/generated/eve/smartLights/index.js.map +1 -1
  674. package/dist/generated/eve/spaceObject/index.js +0 -4
  675. package/dist/generated/eve/spaceObject/index.js.map +1 -1
  676. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +194 -173
  677. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  678. package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
  679. package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
  680. package/dist/generated/eve/ui/EveConnector.js +4 -4
  681. package/dist/generated/eve/ui/EveConnector.js.map +1 -1
  682. package/dist/generated/eve/ui/EveCurveLineSet.js +2 -2
  683. package/dist/generated/eve/ui/EveCurveLineSet.js.map +1 -1
  684. package/dist/generated/eve/ui/EveLineContainer.js +2 -2
  685. package/dist/generated/eve/ui/EveLineContainer.js.map +1 -1
  686. package/dist/generated/eve/ui/EveProjectBracket.js +4 -4
  687. package/dist/generated/eve/ui/EveProjectBracket.js.map +1 -1
  688. package/dist/generated/eve/ui/EveSprite2dBracketRenderer.js +2 -2
  689. package/dist/generated/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
  690. package/dist/generated/eve/ui/EveTacticalOverlay.js +4 -4
  691. package/dist/generated/eve/ui/EveTacticalOverlay.js.map +1 -1
  692. package/dist/generated/eve/ui/index.js +0 -4
  693. package/dist/generated/eve/ui/index.js.map +1 -1
  694. package/dist/generated/font/Tr2FontManager.js +2 -2
  695. package/dist/generated/font/Tr2FontManager.js.map +1 -1
  696. package/dist/generated/font/Tr2FontMeasurer.js +2 -2
  697. package/dist/generated/font/Tr2FontMeasurer.js.map +1 -1
  698. package/dist/generated/font/Tr2SBitWrapper.js +2 -2
  699. package/dist/generated/font/Tr2SBitWrapper.js.map +1 -1
  700. package/dist/generated/index.js +0 -93
  701. package/dist/generated/index.js.map +1 -1
  702. package/dist/generated/particle/ITr2GenericEmitter.js +4 -4
  703. package/dist/generated/particle/ITr2GenericEmitter.js.map +1 -1
  704. package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js +4 -4
  705. package/dist/generated/particle/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
  706. package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js +3 -3
  707. package/dist/generated/particle/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
  708. package/dist/generated/particle/Tr2DynamicEmitter.js +2 -2
  709. package/dist/generated/particle/Tr2DynamicEmitter.js.map +1 -1
  710. package/dist/generated/particle/Tr2ElementBlendConstraint.js +3 -3
  711. package/dist/generated/particle/Tr2ElementBlendConstraint.js.map +1 -1
  712. package/dist/generated/particle/Tr2ForceSphereVolume.js +3 -3
  713. package/dist/generated/particle/Tr2ForceSphereVolume.js.map +1 -1
  714. package/dist/generated/particle/Tr2GpuParticleSystem.js +2 -2
  715. package/dist/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
  716. package/dist/generated/particle/Tr2ParticleSystem.js +3 -3
  717. package/dist/generated/particle/Tr2ParticleSystem.js.map +1 -1
  718. package/dist/generated/particle/Tr2ParticleTurbulenceForce.js +5 -5
  719. package/dist/generated/particle/Tr2ParticleTurbulenceForce.js.map +1 -1
  720. package/dist/generated/particle/Tr2PlaneConstraint.js +4 -4
  721. package/dist/generated/particle/Tr2PlaneConstraint.js.map +1 -1
  722. package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js +2 -2
  723. package/dist/generated/particle/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
  724. package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js +3 -3
  725. package/dist/generated/particle/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
  726. package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js +3 -3
  727. package/dist/generated/particle/Tr2RandomUniformAttributeGenerator.js.map +1 -1
  728. package/dist/generated/particle/Tr2SphereConstraint.js +4 -4
  729. package/dist/generated/particle/Tr2SphereConstraint.js.map +1 -1
  730. package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js +4 -4
  731. package/dist/generated/particle/Tr2SphereShapeAttributeGenerator.js.map +1 -1
  732. package/dist/generated/particle/Tr2StaticEmitter.js +2 -2
  733. package/dist/generated/particle/Tr2StaticEmitter.js.map +1 -1
  734. package/dist/generated/postProcess/Tr2PostProcessRenderer.js +2 -2
  735. package/dist/generated/postProcess/Tr2PostProcessRenderer.js.map +1 -1
  736. package/dist/generated/raytracing/Tr2RaytracingGeometry.js +3 -3
  737. package/dist/generated/raytracing/Tr2RaytracingGeometry.js.map +1 -1
  738. package/dist/generated/raytracing/Tr2RaytracingManager.js +2 -2
  739. package/dist/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
  740. package/dist/generated/raytracing/Tr2RaytracingMesh.js +2 -2
  741. package/dist/generated/raytracing/Tr2RaytracingMesh.js.map +1 -1
  742. package/dist/generated/raytracing/Tr2RaytracingPipelineStateManager.js +2 -2
  743. package/dist/generated/raytracing/Tr2RaytracingPipelineStateManager.js.map +1 -1
  744. package/dist/generated/renderJob/Tr2RenderNodeEffect.js +2 -2
  745. package/dist/generated/renderJob/Tr2RenderNodeEffect.js.map +1 -1
  746. package/dist/generated/renderJob/Tr2RenderNodeSprite2dScene.js +2 -2
  747. package/dist/generated/renderJob/Tr2RenderNodeSprite2dScene.js.map +1 -1
  748. package/dist/generated/renderJob/Tr2StepExecuteRenderNode.js +1 -1
  749. package/dist/generated/renderJob/Tr2StepExecuteRenderNode.js.map +1 -1
  750. package/dist/generated/renderJob/TriStepClearUav.js +2 -2
  751. package/dist/generated/renderJob/TriStepClearUav.js.map +1 -1
  752. package/dist/generated/renderJob/TriStepFilterVisibilityResults.js +1 -1
  753. package/dist/generated/renderJob/TriStepFilterVisibilityResults.js.map +1 -1
  754. package/dist/generated/renderJob/TriStepPythonCB.js +1 -1
  755. package/dist/generated/renderJob/TriStepPythonCB.js.map +1 -1
  756. package/dist/generated/renderJob/TriStepRemoteUpdate.js +1 -1
  757. package/dist/generated/renderJob/TriStepRemoteUpdate.js.map +1 -1
  758. package/dist/generated/renderJob/TriStepRenderAtlas.js +3 -3
  759. package/dist/generated/renderJob/TriStepRenderAtlas.js.map +1 -1
  760. package/dist/generated/renderJob/TriStepRenderDebug.js +2 -2
  761. package/dist/generated/renderJob/TriStepRenderDebug.js.map +1 -1
  762. package/dist/generated/renderJob/TriStepRenderEffect.js +2 -2
  763. package/dist/generated/renderJob/TriStepRenderEffect.js.map +1 -1
  764. package/dist/generated/renderJob/TriStepRenderFps.js +1 -1
  765. package/dist/generated/renderJob/TriStepRenderFps.js.map +1 -1
  766. package/dist/generated/renderJob/TriStepRenderLineGraph.js +1 -1
  767. package/dist/generated/renderJob/TriStepRenderLineGraph.js.map +1 -1
  768. package/dist/generated/renderJob/TriStepRenderObject.js +1 -1
  769. package/dist/generated/renderJob/TriStepRenderObject.js.map +1 -1
  770. package/dist/generated/renderJob/TriStepRenderPass.js +1 -1
  771. package/dist/generated/renderJob/TriStepRenderPass.js.map +1 -1
  772. package/dist/generated/renderJob/TriStepRenderScene.js +1 -1
  773. package/dist/generated/renderJob/TriStepRenderScene.js.map +1 -1
  774. package/dist/generated/renderJob/TriStepRenderSceneDebug.js +1 -1
  775. package/dist/generated/renderJob/TriStepRenderSceneDebug.js.map +1 -1
  776. package/dist/generated/renderJob/TriStepRenderTexture.js +2 -2
  777. package/dist/generated/renderJob/TriStepRenderTexture.js.map +1 -1
  778. package/dist/generated/renderJob/TriStepRunComputeShader.js +1 -1
  779. package/dist/generated/renderJob/TriStepRunComputeShader.js.map +1 -1
  780. package/dist/generated/renderJob/TriStepSetDebugRenderer.js +1 -1
  781. package/dist/generated/renderJob/TriStepSetDebugRenderer.js.map +1 -1
  782. package/dist/generated/renderJob/TriStepSetUpscalingContextID.js +1 -1
  783. package/dist/generated/renderJob/TriStepSetUpscalingContextID.js.map +1 -1
  784. package/dist/generated/renderJob/TriStepSetVariableStore.js +1 -1
  785. package/dist/generated/renderJob/TriStepSetVariableStore.js.map +1 -1
  786. package/dist/generated/renderJob/TriStepTestBlocking.js +1 -1
  787. package/dist/generated/renderJob/TriStepTestBlocking.js.map +1 -1
  788. package/dist/generated/renderJob/TriStepToggleCubemap.js +1 -1
  789. package/dist/generated/renderJob/TriStepToggleCubemap.js.map +1 -1
  790. package/dist/generated/renderJob/TriStepUpdate.js +1 -1
  791. package/dist/generated/renderJob/TriStepUpdate.js.map +1 -1
  792. package/dist/generated/sprite2d/Tr2Sprite2d.js +1 -1
  793. package/dist/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
  794. package/dist/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
  795. package/dist/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
  796. package/dist/generated/sprite2d/Tr2Sprite2dContainer.js +1 -1
  797. package/dist/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
  798. package/dist/generated/sprite2d/Tr2Sprite2dContainerBase.js +1 -1
  799. package/dist/generated/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
  800. package/dist/generated/sprite2d/Tr2Sprite2dDisplayList.js +4 -4
  801. package/dist/generated/sprite2d/Tr2Sprite2dDisplayList.js.map +1 -1
  802. package/dist/generated/sprite2d/Tr2Sprite2dFrame.js +1 -1
  803. package/dist/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
  804. package/dist/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
  805. package/dist/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
  806. package/dist/generated/sprite2d/Tr2Sprite2dLine.js +3 -3
  807. package/dist/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
  808. package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js +3 -3
  809. package/dist/generated/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
  810. package/dist/generated/sprite2d/Tr2Sprite2dPickingMask.js +2 -2
  811. package/dist/generated/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
  812. package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js +4 -4
  813. package/dist/generated/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
  814. package/dist/generated/sprite2d/Tr2Sprite2dRenderJob.js +1 -1
  815. package/dist/generated/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
  816. package/dist/generated/sprite2d/Tr2Sprite2dScene.js +6 -6
  817. package/dist/generated/sprite2d/Tr2Sprite2dScene.js.map +1 -1
  818. package/dist/generated/sprite2d/Tr2Sprite2dStretch.js +1 -1
  819. package/dist/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
  820. package/dist/generated/sprite2d/Tr2Sprite2dStretchVertical.js +1 -1
  821. package/dist/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
  822. package/dist/generated/sprite2d/Tr2Sprite2dTextObject.js +1 -1
  823. package/dist/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
  824. package/dist/generated/sprite2d/Tr2Sprite2dTexture.js +3 -3
  825. package/dist/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
  826. package/dist/generated/sprite2d/Tr2Sprite2dTransform.js +2 -2
  827. package/dist/generated/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
  828. package/dist/generated/sprite2d/Tr2Sprite2dVertex.js +2 -2
  829. package/dist/generated/sprite2d/Tr2Sprite2dVertex.js.map +1 -1
  830. package/dist/generated/sprite2d/Tr2SpriteObject.js +3 -3
  831. package/dist/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
  832. package/dist/generated/sprite2d/Tr2SpriteObjectBase.js +2 -2
  833. package/dist/generated/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
  834. package/dist/generated/sprite2d/Tr2TexturedSpriteObject.js +1 -1
  835. package/dist/generated/sprite2d/Tr2TexturedSpriteObject.js.map +1 -1
  836. package/dist/generated/trinityCore/ITr2FroxelFogSettings.js +2 -2
  837. package/dist/generated/trinityCore/ITr2FroxelFogSettings.js.map +1 -1
  838. package/dist/generated/trinityCore/ITr2ImpostorSource.js +3 -3
  839. package/dist/generated/trinityCore/ITr2ImpostorSource.js.map +1 -1
  840. package/dist/generated/trinityCore/ITr2InstanceData.js +2 -2
  841. package/dist/generated/trinityCore/ITr2InstanceData.js.map +1 -1
  842. package/dist/generated/trinityCore/Tr2AtlasTexture.js +2 -2
  843. package/dist/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
  844. package/dist/generated/trinityCore/Tr2BoundingLineSet.js +2 -2
  845. package/dist/generated/trinityCore/Tr2BoundingLineSet.js.map +1 -1
  846. package/dist/generated/trinityCore/Tr2CurveLineSet.js +5 -5
  847. package/dist/generated/trinityCore/Tr2CurveLineSet.js.map +1 -1
  848. package/dist/generated/trinityCore/Tr2DebugRenderer.js +4 -4
  849. package/dist/generated/trinityCore/Tr2DebugRenderer.js.map +1 -1
  850. package/dist/generated/trinityCore/Tr2Denoiser.js +2 -2
  851. package/dist/generated/trinityCore/Tr2Denoiser.js.map +1 -1
  852. package/dist/generated/trinityCore/Tr2GpuProfiler.js +2 -2
  853. package/dist/generated/trinityCore/Tr2GpuProfiler.js.map +1 -1
  854. package/dist/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
  855. package/dist/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
  856. package/dist/generated/trinityCore/Tr2GrannyPrimitiveSet.js +1 -1
  857. package/dist/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
  858. package/dist/generated/trinityCore/Tr2HostBitmap.js +3 -3
  859. package/dist/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
  860. package/dist/generated/trinityCore/Tr2ImpostorManager.js +2 -2
  861. package/dist/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
  862. package/dist/generated/trinityCore/Tr2KelvinColor.js +2 -2
  863. package/dist/generated/trinityCore/Tr2KelvinColor.js.map +1 -1
  864. package/dist/generated/trinityCore/Tr2LineGraph.js +3 -3
  865. package/dist/generated/trinityCore/Tr2LineGraph.js.map +1 -1
  866. package/dist/generated/trinityCore/Tr2LineSet.js +3 -3
  867. package/dist/generated/trinityCore/Tr2LineSet.js.map +1 -1
  868. package/dist/generated/trinityCore/Tr2ManipulationTool.js +5 -5
  869. package/dist/generated/trinityCore/Tr2ManipulationTool.js.map +1 -1
  870. package/dist/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
  871. package/dist/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
  872. package/dist/generated/trinityCore/Tr2PrimitiveSet.js +4 -4
  873. package/dist/generated/trinityCore/Tr2PrimitiveSet.js.map +1 -1
  874. package/dist/generated/trinityCore/Tr2PrimitiveText.js +3 -3
  875. package/dist/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
  876. package/dist/generated/trinityCore/Tr2ProjectBoundingBoxBracket.js +2 -2
  877. package/dist/generated/trinityCore/Tr2ProjectBoundingBoxBracket.js.map +1 -1
  878. package/dist/generated/trinityCore/Tr2QuadRenderer.js +2 -2
  879. package/dist/generated/trinityCore/Tr2QuadRenderer.js.map +1 -1
  880. package/dist/generated/trinityCore/Tr2ReflectionProbe.js +4 -4
  881. package/dist/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
  882. package/dist/generated/trinityCore/Tr2RingBuffer.js +2 -2
  883. package/dist/generated/trinityCore/Tr2RingBuffer.js.map +1 -1
  884. package/dist/generated/trinityCore/Tr2RotationTool.js +2 -2
  885. package/dist/generated/trinityCore/Tr2RotationTool.js.map +1 -1
  886. package/dist/generated/trinityCore/Tr2SSAO.js +2 -2
  887. package/dist/generated/trinityCore/Tr2SSAO.js.map +1 -1
  888. package/dist/generated/trinityCore/Tr2SSSSS.js +3 -3
  889. package/dist/generated/trinityCore/Tr2SSSSS.js.map +1 -1
  890. package/dist/generated/trinityCore/Tr2ScalingTool.js +3 -3
  891. package/dist/generated/trinityCore/Tr2ScalingTool.js.map +1 -1
  892. package/dist/generated/trinityCore/Tr2ShadowMap.js +2 -2
  893. package/dist/generated/trinityCore/Tr2ShadowMap.js.map +1 -1
  894. package/dist/generated/trinityCore/Tr2SolidSet.js +3 -3
  895. package/dist/generated/trinityCore/Tr2SolidSet.js.map +1 -1
  896. package/dist/generated/trinityCore/Tr2StreamingBitmapSaver.js +3 -3
  897. package/dist/generated/trinityCore/Tr2StreamingBitmapSaver.js.map +1 -1
  898. package/dist/generated/trinityCore/Tr2TextureAnimation.js +2 -2
  899. package/dist/generated/trinityCore/Tr2TextureAnimation.js.map +1 -1
  900. package/dist/generated/trinityCore/Tr2TextureArray.js +3 -3
  901. package/dist/generated/trinityCore/Tr2TextureArray.js.map +1 -1
  902. package/dist/generated/trinityCore/Tr2TextureAtlas.js +3 -3
  903. package/dist/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
  904. package/dist/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
  905. package/dist/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
  906. package/dist/generated/trinityCore/Tr2TextureReference.js +2 -2
  907. package/dist/generated/trinityCore/Tr2TextureReference.js.map +1 -1
  908. package/dist/generated/trinityCore/Tr2Transform.js +5 -5
  909. package/dist/generated/trinityCore/Tr2Transform.js.map +1 -1
  910. package/dist/generated/trinityCore/Tr2TransientTextureReference.js +2 -2
  911. package/dist/generated/trinityCore/Tr2TransientTextureReference.js.map +1 -1
  912. package/dist/generated/trinityCore/Tr2TranslationTool.js +2 -2
  913. package/dist/generated/trinityCore/Tr2TranslationTool.js.map +1 -1
  914. package/dist/generated/trinityCore/Tr2VolumetricsRenderer.js +2 -2
  915. package/dist/generated/trinityCore/Tr2VolumetricsRenderer.js.map +1 -1
  916. package/dist/generated/trinityCore/TriLineSet.js +4 -4
  917. package/dist/generated/trinityCore/TriLineSet.js.map +1 -1
  918. package/dist/generated/trinityCore/TriRigidOrientation.js +4 -4
  919. package/dist/generated/trinityCore/TriRigidOrientation.js.map +1 -1
  920. package/dist/generated/trinityCore/index.js +0 -5
  921. package/dist/generated/trinityCore/index.js.map +1 -1
  922. package/dist/generated/utilities/Float4x3.js +2 -2
  923. package/dist/generated/utilities/Float4x3.js.map +1 -1
  924. package/dist/generated/utilities/Obb.js +3 -3
  925. package/dist/generated/utilities/Obb.js.map +1 -1
  926. package/dist/generated/utilities/Tr2MaterialBoundsAdjustment.js +2 -2
  927. package/dist/generated/utilities/Tr2MaterialBoundsAdjustment.js.map +1 -1
  928. package/dist/index.js +131 -152
  929. package/dist/index.js.map +1 -1
  930. package/dist/particle/Tr2GpuSharedEmitter.js +43 -4
  931. package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
  932. package/dist/particle/Tr2GpuUniqueEmitter.js +7 -2
  933. package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
  934. package/dist/particle/Tr2ParticleAttractorForce.js +13 -3
  935. package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
  936. package/dist/particle/Tr2ParticleDirectForce.js +10 -3
  937. package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
  938. package/dist/particle/Tr2ParticleDragForce.js +10 -3
  939. package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
  940. package/dist/particle/Tr2ParticleElementData.js +2 -2
  941. package/dist/particle/Tr2ParticleElementData.js.map +1 -1
  942. package/dist/particle/Tr2ParticleElementDeclaration.js +7 -2
  943. package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
  944. package/dist/particle/Tr2ParticleElementDeclarationName.js +2 -2
  945. package/dist/particle/Tr2ParticleElementDeclarationName.js.map +1 -1
  946. package/dist/particle/Tr2ParticleFluidDragForce.js +13 -3
  947. package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
  948. package/dist/particle/Tr2ParticleSpring.js +13 -3
  949. package/dist/particle/Tr2ParticleSpring.js.map +1 -1
  950. package/dist/particle/Tr2ParticleVortexForce.js +13 -3
  951. package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
  952. package/dist/particle/particleElementBinding.js +12 -0
  953. package/dist/particle/particleElementBinding.js.map +1 -1
  954. package/dist/postProcess/BlurContext.js +2 -2
  955. package/dist/postProcess/BlurContext.js.map +1 -1
  956. package/dist/postProcess/GaussianData.js +4 -4
  957. package/dist/postProcess/GaussianData.js.map +1 -1
  958. package/dist/postProcess/Tr2PPBloomEffect.js +8 -2
  959. package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
  960. package/dist/postProcess/Tr2PPColorCorrectionEffect.js +2 -2
  961. package/dist/postProcess/Tr2PPColorCorrectionEffect.js.map +1 -1
  962. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +17 -1
  963. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
  964. package/dist/postProcess/Tr2PPDesaturateEffect.js +1 -1
  965. package/dist/postProcess/Tr2PPDesaturateEffect.js.map +1 -1
  966. package/dist/postProcess/Tr2PPDynamicExposureEffect.js +1 -1
  967. package/dist/postProcess/Tr2PPDynamicExposureEffect.js.map +1 -1
  968. package/dist/postProcess/Tr2PPEffect.js +2 -2
  969. package/dist/postProcess/Tr2PPEffect.js.map +1 -1
  970. package/dist/postProcess/Tr2PPFadeEffect.js +2 -2
  971. package/dist/postProcess/Tr2PPFadeEffect.js.map +1 -1
  972. package/dist/postProcess/Tr2PPFilmGrainEffect.js +1 -1
  973. package/dist/postProcess/Tr2PPFilmGrainEffect.js.map +1 -1
  974. package/dist/postProcess/Tr2PPFogEffect.js +4 -4
  975. package/dist/postProcess/Tr2PPFogEffect.js.map +1 -1
  976. package/dist/postProcess/Tr2PPGenericEffect.js +8 -1
  977. package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
  978. package/dist/postProcess/Tr2PPGodRaysEffect.js +2 -2
  979. package/dist/postProcess/Tr2PPGodRaysEffect.js.map +1 -1
  980. package/dist/postProcess/Tr2PPLutEffect.js +1 -1
  981. package/dist/postProcess/Tr2PPLutEffect.js.map +1 -1
  982. package/dist/postProcess/Tr2PPSignalLossEffect.js +1 -1
  983. package/dist/postProcess/Tr2PPSignalLossEffect.js.map +1 -1
  984. package/dist/postProcess/Tr2PPTaaEffect.js +11 -1
  985. package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
  986. package/dist/postProcess/Tr2PPTonemappingEffect.js +6 -1
  987. package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
  988. package/dist/postProcess/Tr2PPVignetteEffect.js +3 -3
  989. package/dist/postProcess/Tr2PPVignetteEffect.js.map +1 -1
  990. package/dist/postProcess/Tr2PostProcess.js +7 -2
  991. package/dist/postProcess/Tr2PostProcess.js.map +1 -1
  992. package/dist/postProcess/Tr2PostProcess2.js +149 -2
  993. package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
  994. package/dist/postProcess/Tr2PostProcessAttributes.js +94 -5
  995. package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  996. package/dist/renderJob/Tr2RenderJobs.js +36 -2
  997. package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
  998. package/dist/renderJob/TriRenderJob.js +61 -2
  999. package/dist/renderJob/TriRenderJob.js.map +1 -1
  1000. package/dist/renderJob/TriRenderStep.js +22 -2
  1001. package/dist/renderJob/TriRenderStep.js.map +1 -1
  1002. package/dist/renderJob/TriStepClear.js +20 -2
  1003. package/dist/renderJob/TriStepClear.js.map +1 -1
  1004. package/dist/renderJob/TriStepCopyRenderTarget.js +52 -1
  1005. package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
  1006. package/dist/renderJob/TriStepEnableWireframeMode.js +10 -1
  1007. package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
  1008. package/dist/renderJob/TriStepGenerateMipMaps.js +10 -1
  1009. package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
  1010. package/dist/renderJob/TriStepPopDepthStencil.js +7 -1
  1011. package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
  1012. package/dist/renderJob/TriStepPopProjection.js +7 -1
  1013. package/dist/renderJob/TriStepPopProjection.js.map +1 -1
  1014. package/dist/renderJob/TriStepPopRenderTarget.js +13 -1
  1015. package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
  1016. package/dist/renderJob/TriStepPopViewTransform.js +7 -1
  1017. package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
  1018. package/dist/renderJob/TriStepPopViewport.js +7 -1
  1019. package/dist/renderJob/TriStepPopViewport.js.map +1 -1
  1020. package/dist/renderJob/TriStepPresentSwapChain.js +13 -1
  1021. package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
  1022. package/dist/renderJob/TriStepPushDepthStencil.js +18 -1
  1023. package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
  1024. package/dist/renderJob/TriStepPushProjection.js +7 -1
  1025. package/dist/renderJob/TriStepPushProjection.js.map +1 -1
  1026. package/dist/renderJob/TriStepPushRenderTarget.js +10 -1
  1027. package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
  1028. package/dist/renderJob/TriStepPushViewTransform.js +7 -1
  1029. package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
  1030. package/dist/renderJob/TriStepPushViewport.js +7 -1
  1031. package/dist/renderJob/TriStepPushViewport.js.map +1 -1
  1032. package/dist/renderJob/TriStepRemoteSync.js +18 -1
  1033. package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
  1034. package/dist/renderJob/TriStepResolve.js +14 -1
  1035. package/dist/renderJob/TriStepResolve.js.map +1 -1
  1036. package/dist/renderJob/TriStepRunJob.js +13 -1
  1037. package/dist/renderJob/TriStepRunJob.js.map +1 -1
  1038. package/dist/renderJob/TriStepSetDepthStencil.js +13 -1
  1039. package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
  1040. package/dist/renderJob/TriStepSetProjection.js +15 -1
  1041. package/dist/renderJob/TriStepSetProjection.js.map +1 -1
  1042. package/dist/renderJob/TriStepSetRenderState.js +22 -2
  1043. package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
  1044. package/dist/renderJob/TriStepSetRenderTarget.js +13 -1
  1045. package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
  1046. package/dist/renderJob/TriStepSetStdRndStates.js +19 -1
  1047. package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
  1048. package/dist/renderJob/TriStepSetView.js +30 -3
  1049. package/dist/renderJob/TriStepSetView.js.map +1 -1
  1050. package/dist/renderJob/TriStepSetViewport.js +18 -1
  1051. package/dist/renderJob/TriStepSetViewport.js.map +1 -1
  1052. package/dist/renderJob/TriStepSetVisualizationMode.js +20 -1
  1053. package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
  1054. package/dist/shader/Tr2Effect.js +219 -4
  1055. package/dist/shader/Tr2Effect.js.map +1 -1
  1056. package/dist/shader/Tr2Material.js +43 -2
  1057. package/dist/shader/Tr2Material.js.map +1 -1
  1058. package/dist/shader/index.js +1 -11
  1059. package/dist/shader/index.js.map +1 -1
  1060. package/dist/shader/material/Tr2EffectLibraryParameters.js +9 -2
  1061. package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
  1062. package/dist/shader/material/Tr2EffectParam.js +2 -2
  1063. package/dist/shader/material/Tr2EffectParam.js.map +1 -1
  1064. package/dist/shader/material/Tr2EffectPassParameters.js +25 -2
  1065. package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
  1066. package/dist/shader/material/Tr2EffectTechniqueInputs.js +2 -2
  1067. package/dist/shader/material/Tr2EffectTechniqueInputs.js.map +1 -1
  1068. package/dist/shader/material/Tr2MaterialStageInput.js +17 -2
  1069. package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
  1070. package/dist/shader/material/Tr2SharedConstantBuffers.js +2 -2
  1071. package/dist/shader/material/Tr2SharedConstantBuffers.js.map +1 -1
  1072. package/dist/shader/parameter/CjsParameter.js +95 -1
  1073. package/dist/shader/parameter/CjsParameter.js.map +1 -1
  1074. package/dist/shader/parameter/CjsVectorParameter.js +20 -0
  1075. package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
  1076. package/dist/shader/parameter/Tr2ConstantEffectParameter.js +2 -2
  1077. package/dist/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
  1078. package/dist/shader/parameter/Tr2FloatParameter.js +54 -1
  1079. package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
  1080. package/dist/shader/parameter/Tr2GeometryBufferParameter.js +41 -2
  1081. package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  1082. package/dist/shader/parameter/Tr2Matrix4Parameter.js +56 -2
  1083. package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  1084. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +55 -1
  1085. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  1086. package/dist/shader/parameter/Tr2TextureAnimationParameter.js +36 -1
  1087. package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  1088. package/dist/shader/parameter/Tr2Vector2Parameter.js +89 -3
  1089. package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  1090. package/dist/shader/parameter/Tr2Vector3Parameter.js +98 -3
  1091. package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  1092. package/dist/shader/parameter/Tr2Vector4Parameter.js +108 -3
  1093. package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  1094. package/dist/shader/parameter/TriFloatArrayParameter.js +27 -1
  1095. package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  1096. package/dist/shader/parameter/TriTextureParameter.js +86 -2
  1097. package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
  1098. package/dist/shader/parameter/TriTransformParameter.js +29 -6
  1099. package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
  1100. package/dist/shader/parameter/TriVariableParameter.js +40 -2
  1101. package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
  1102. package/dist/shader/parameter/TriVector4.js +5 -3
  1103. package/dist/shader/parameter/TriVector4.js.map +1 -1
  1104. package/dist/shader/reflection/Tr2ShaderOption.js +8 -3
  1105. package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
  1106. package/dist/shader/sampler/Tr2SamplerOverride.js +2 -2
  1107. package/dist/shader/sampler/Tr2SamplerOverride.js.map +1 -1
  1108. package/dist/shader/sampler/Tr2SamplerOverrideData.js +2 -2
  1109. package/dist/shader/sampler/Tr2SamplerOverrideData.js.map +1 -1
  1110. package/dist/shader/support/CjsVariableStore.js +140 -0
  1111. package/dist/shader/support/CjsVariableStore.js.map +1 -1
  1112. package/dist/shader/support/Tr2DataTextureManager.js +2 -2
  1113. package/dist/shader/support/Tr2DataTextureManager.js.map +1 -1
  1114. package/dist/shader/support/Tr2EffectStateManager.js +2 -2
  1115. package/dist/shader/support/Tr2EffectStateManager.js.map +1 -1
  1116. package/dist/shader/support/Tr2ShaderBuffer.js +17 -2
  1117. package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
  1118. package/dist/sprite2d/Tr2Sprite2dClipRect.js +2 -2
  1119. package/dist/sprite2d/Tr2Sprite2dClipRect.js.map +1 -1
  1120. package/dist/sprite2d/Tr2Sprite2dD3DVertex.js +2 -2
  1121. package/dist/sprite2d/Tr2Sprite2dD3DVertex.js.map +1 -1
  1122. package/dist/sprite2d/Tr2Sprite2dLineTraceVertex.js +4 -4
  1123. package/dist/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
  1124. package/dist/sprite2d/Tr2Sprite2dTriangle.js +2 -2
  1125. package/dist/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
  1126. package/dist/sprite2d/Tr2Sprite2dVertexBase.js +5 -5
  1127. package/dist/sprite2d/Tr2Sprite2dVertexBase.js.map +1 -1
  1128. package/dist/trinityCore/CjsBatchManager.js +67 -1
  1129. package/dist/trinityCore/CjsBatchManager.js.map +1 -1
  1130. package/dist/trinityCore/GrannyBoneOffset.js +56 -5
  1131. package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
  1132. package/dist/trinityCore/ITriRenderBatchAccumulator.js +90 -2
  1133. package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
  1134. package/dist/trinityCore/Tr2DepthStencil.js +3 -3
  1135. package/dist/trinityCore/Tr2DepthStencil.js.map +1 -1
  1136. package/dist/trinityCore/Tr2DirectInstanceData.js +22 -3
  1137. package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
  1138. package/dist/trinityCore/Tr2ExpressionTermInfo.js +23 -2
  1139. package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
  1140. package/dist/trinityCore/Tr2GpuBuffer.js +8 -3
  1141. package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
  1142. package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +143 -14
  1143. package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
  1144. package/dist/trinityCore/Tr2InstancedMesh.js +54 -2
  1145. package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
  1146. package/dist/trinityCore/Tr2MaterialParameterStore.js +7 -2
  1147. package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
  1148. package/dist/trinityCore/Tr2Mesh.js +38 -1
  1149. package/dist/trinityCore/Tr2Mesh.js.map +1 -1
  1150. package/dist/trinityCore/Tr2MeshArea.js +80 -2
  1151. package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
  1152. package/dist/trinityCore/Tr2MeshBase.js +101 -5
  1153. package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
  1154. package/dist/trinityCore/Tr2PerObjectData.js +10 -0
  1155. package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
  1156. package/dist/trinityCore/Tr2PickType.js +33 -0
  1157. package/dist/trinityCore/Tr2PickType.js.map +1 -0
  1158. package/dist/trinityCore/Tr2PrimaryRenderContext.js +2 -2
  1159. package/dist/trinityCore/Tr2PrimaryRenderContext.js.map +1 -1
  1160. package/dist/trinityCore/Tr2RenderBatch.js +139 -2
  1161. package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
  1162. package/dist/trinityCore/Tr2RenderContext.js +275 -4
  1163. package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
  1164. package/dist/trinityCore/Tr2RenderTarget.js +3 -3
  1165. package/dist/trinityCore/Tr2RenderTarget.js.map +1 -1
  1166. package/dist/trinityCore/Tr2RuntimeGpuBuffer.js +2 -2
  1167. package/dist/trinityCore/Tr2RuntimeGpuBuffer.js.map +1 -1
  1168. package/dist/trinityCore/Tr2RuntimeInstanceData.js +182 -3
  1169. package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
  1170. package/dist/trinityCore/Tr2SerializedMorphAnimation.js +2 -2
  1171. package/dist/trinityCore/Tr2SerializedMorphAnimation.js.map +1 -1
  1172. package/dist/trinityCore/Tr2ShLightingManager.js +397 -0
  1173. package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
  1174. package/dist/trinityCore/Tr2SwapChain.js +2 -2
  1175. package/dist/trinityCore/Tr2SwapChain.js.map +1 -1
  1176. package/dist/trinityCore/Tr2VariableStore.js +28 -2
  1177. package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
  1178. package/dist/trinityCore/Tr2VisibilityResults.js +9 -4
  1179. package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
  1180. package/dist/trinityCore/TriDevice.js +8 -3
  1181. package/dist/trinityCore/TriDevice.js.map +1 -1
  1182. package/dist/trinityCore/TriFloat.js +2 -2
  1183. package/dist/trinityCore/TriFloat.js.map +1 -1
  1184. package/dist/trinityCore/TriFrustum.js +24 -17
  1185. package/dist/trinityCore/TriFrustum.js.map +1 -1
  1186. package/dist/trinityCore/TriFrustumOrtho.js +2 -2
  1187. package/dist/trinityCore/TriFrustumOrtho.js.map +1 -1
  1188. package/dist/trinityCore/TriObserverLocal.js +46 -3
  1189. package/dist/trinityCore/TriObserverLocal.js.map +1 -1
  1190. package/dist/trinityCore/TriProjection.js +88 -34
  1191. package/dist/trinityCore/TriProjection.js.map +1 -1
  1192. package/dist/trinityCore/TriRect.js +14 -2
  1193. package/dist/trinityCore/TriRect.js.map +1 -1
  1194. package/dist/trinityCore/TriRenderBatchAccumulator.js +48 -2
  1195. package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
  1196. package/dist/trinityCore/TriRenderBatchMap.js +47 -1
  1197. package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
  1198. package/dist/trinityCore/TriSettings.js +40 -2
  1199. package/dist/trinityCore/TriSettings.js.map +1 -1
  1200. package/dist/trinityCore/TriTorque.js +4 -4
  1201. package/dist/trinityCore/TriTorque.js.map +1 -1
  1202. package/dist/trinityCore/TriVariable.js +32 -2
  1203. package/dist/trinityCore/TriVariable.js.map +1 -1
  1204. package/dist/trinityCore/TriView.js +19 -4
  1205. package/dist/trinityCore/TriView.js.map +1 -1
  1206. package/dist/trinityCore/TriViewport.js +14 -2
  1207. package/dist/trinityCore/TriViewport.js.map +1 -1
  1208. package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +4 -4
  1209. package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
  1210. package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
  1211. package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
  1212. package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
  1213. package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
  1214. package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +31 -7
  1215. package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
  1216. package/dist/trinityCore/binding/TriValueBinding.js +648 -0
  1217. package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
  1218. package/dist/trinityCore/index.js +11 -2
  1219. package/dist/trinityCore/index.js.map +1 -1
  1220. package/dist/trinityCore/pickRay.js +84 -0
  1221. package/dist/trinityCore/pickRay.js.map +1 -0
  1222. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +931 -0
  1223. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
  1224. package/dist/trinityCore/rawData/RawData.js +434 -0
  1225. package/dist/trinityCore/rawData/RawData.js.map +1 -0
  1226. package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
  1227. package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
  1228. package/dist/ui/Tr2PresentParameters.js +2 -2
  1229. package/dist/ui/Tr2PresentParameters.js.map +1 -1
  1230. package/dist/utilities/Range.js +55 -2
  1231. package/dist/utilities/Range.js.map +1 -1
  1232. package/docs/README.md +88 -0
  1233. package/docs/architecture.md +162 -0
  1234. package/docs/concepts/eve-runtime-behavior.md +86 -0
  1235. package/docs/concepts/generated-class-lifecycle.md +116 -0
  1236. package/docs/reference/api.md +76 -0
  1237. package/docs/reference/classes/eve-runtime.md +106 -0
  1238. package/docs/reference/classes/trinity-core.md +26 -0
  1239. package/docs/reference/implementation-status.md +104 -0
  1240. package/docs/reference/main-semantic-extraction.md +104 -0
  1241. package/package.json +33 -26
  1242. package/dist/eve/DecalVSPerObjectData.js +0 -34
  1243. package/dist/eve/DecalVSPerObjectData.js.map +0 -1
  1244. package/dist/eve/EveBannerItem.js +0 -43
  1245. package/dist/eve/EveBannerItem.js.map +0 -1
  1246. package/dist/eve/EveBannerLight.js.map +0 -1
  1247. package/dist/eve/EveBannerSet.js +0 -109
  1248. package/dist/eve/EveBannerSet.js.map +0 -1
  1249. package/dist/eve/EveBasicPerObjectData.js +0 -31
  1250. package/dist/eve/EveBasicPerObjectData.js.map +0 -1
  1251. package/dist/eve/EveBoosterSet2.js.map +0 -1
  1252. package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
  1253. package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
  1254. package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
  1255. package/dist/eve/EveHazeSet.js +0 -72
  1256. package/dist/eve/EveHazeSet.js.map +0 -1
  1257. package/dist/eve/EveHazeSetLight.js.map +0 -1
  1258. package/dist/eve/EveLocator2.js.map +0 -1
  1259. package/dist/eve/EveLocatorSets.js.map +0 -1
  1260. package/dist/eve/EveParticleDirectForce.js.map +0 -1
  1261. package/dist/eve/EveParticleDragForce.js.map +0 -1
  1262. package/dist/eve/EveParticleSpring.js.map +0 -1
  1263. package/dist/eve/EvePerObjectPSData.js +0 -29
  1264. package/dist/eve/EvePerObjectPSData.js.map +0 -1
  1265. package/dist/eve/EvePerObjectVSData.js +0 -29
  1266. package/dist/eve/EvePerObjectVSData.js.map +0 -1
  1267. package/dist/eve/EvePlaneLight.js.map +0 -1
  1268. package/dist/eve/EvePlaneSet.js +0 -104
  1269. package/dist/eve/EvePlaneSet.js.map +0 -1
  1270. package/dist/eve/EvePlaneSetItem.js +0 -45
  1271. package/dist/eve/EvePlaneSetItem.js.map +0 -1
  1272. package/dist/eve/EveSpaceObjectDecal.js +0 -150
  1273. package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
  1274. package/dist/eve/EveSpaceObjectPSData.js +0 -73
  1275. package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
  1276. package/dist/eve/EveSpaceObjectVSData.js +0 -79
  1277. package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
  1278. package/dist/eve/EveSpacePerObjectData.js +0 -97
  1279. package/dist/eve/EveSpacePerObjectData.js.map +0 -1
  1280. package/dist/eve/EveSpherePinPerObjectData.js +0 -37
  1281. package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
  1282. package/dist/eve/EveSpotlightLight.js.map +0 -1
  1283. package/dist/eve/EveSpotlightSet.js +0 -98
  1284. package/dist/eve/EveSpotlightSet.js.map +0 -1
  1285. package/dist/eve/EveSpriteLight.js.map +0 -1
  1286. package/dist/eve/EveSpriteLineSet.js +0 -74
  1287. package/dist/eve/EveSpriteLineSet.js.map +0 -1
  1288. package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
  1289. package/dist/eve/EveSpriteSet.js +0 -115
  1290. package/dist/eve/EveSpriteSet.js.map +0 -1
  1291. package/dist/eve/EveTrailsSet.js.map +0 -1
  1292. package/dist/eve/Locator.js.map +0 -1
  1293. package/dist/eve/LocatorData.js.map +0 -1
  1294. package/dist/eve/ProcessLifetimeData.js.map +0 -1
  1295. package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
  1296. package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
  1297. package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
  1298. package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
  1299. package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
  1300. package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
  1301. package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
  1302. package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
  1303. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
  1304. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
  1305. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
  1306. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
  1307. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
  1308. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
  1309. package/dist/generated/eve/EveCamera.js +0 -264
  1310. package/dist/generated/eve/EveCamera.js.map +0 -1
  1311. package/dist/generated/eve/EveEntity.js +0 -81
  1312. package/dist/generated/eve/EveEntity.js.map +0 -1
  1313. package/dist/generated/eve/attachment/decal/index.js +0 -2
  1314. package/dist/generated/eve/attachment/decal/index.js.map +0 -1
  1315. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
  1316. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
  1317. package/dist/generated/eve/attachment/haze/index.js +0 -2
  1318. package/dist/generated/eve/attachment/haze/index.js.map +0 -1
  1319. package/dist/generated/eve/attachment/index.js +0 -5
  1320. package/dist/generated/eve/attachment/index.js.map +0 -1
  1321. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
  1322. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
  1323. package/dist/generated/eve/attachment/spotlights/index.js +0 -2
  1324. package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
  1325. package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
  1326. package/dist/generated/eve/attachment/sprites/index.js +0 -2
  1327. package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
  1328. package/dist/generated/eve/attachment/turrets/enums.js +0 -32
  1329. package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
  1330. package/dist/generated/eve/attachment/turrets/index.js +0 -2
  1331. package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
  1332. package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
  1333. package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
  1334. package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
  1335. package/dist/generated/eve/child/EveChildLink.js.map +0 -1
  1336. package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
  1337. package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
  1338. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
  1339. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
  1340. package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
  1341. package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
  1342. package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
  1343. package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
  1344. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
  1345. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
  1346. package/dist/generated/eve/child/behaviors/Wander.js +0 -92
  1347. package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
  1348. package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
  1349. package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
  1350. package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
  1351. package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
  1352. package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
  1353. package/dist/generated/eve/child/modifiers/index.js +0 -5
  1354. package/dist/generated/eve/child/modifiers/index.js.map +0 -1
  1355. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
  1356. package/dist/generated/eve/child/procedural/index.js +0 -10
  1357. package/dist/generated/eve/child/procedural/index.js.map +0 -1
  1358. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
  1359. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
  1360. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
  1361. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
  1362. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
  1363. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
  1364. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
  1365. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
  1366. package/dist/generated/eve/child/procedural/selection/index.js +0 -9
  1367. package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
  1368. package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
  1369. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
  1370. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
  1371. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
  1372. package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
  1373. package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
  1374. package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
  1375. package/dist/generated/eve/distribution/index.js +0 -19
  1376. package/dist/generated/eve/distribution/index.js.map +0 -1
  1377. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
  1378. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
  1379. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
  1380. package/dist/generated/eve/distribution/placement/index.js +0 -4
  1381. package/dist/generated/eve/distribution/placement/index.js.map +0 -1
  1382. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
  1383. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
  1384. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
  1385. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
  1386. package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
  1387. package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
  1388. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
  1389. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
  1390. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
  1391. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
  1392. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
  1393. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
  1394. package/dist/generated/eve/distribution/spawners/index.js +0 -7
  1395. package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
  1396. package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
  1397. package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
  1398. package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
  1399. package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
  1400. package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
  1401. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
  1402. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
  1403. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
  1404. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
  1405. package/dist/generated/eve/fxAttributes/index.js +0 -3
  1406. package/dist/generated/eve/fxAttributes/index.js.map +0 -1
  1407. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
  1408. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
  1409. package/dist/generated/eve/overlays/index.js +0 -2
  1410. package/dist/generated/eve/overlays/index.js.map +0 -1
  1411. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
  1412. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
  1413. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
  1414. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
  1415. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
  1416. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
  1417. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
  1418. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
  1419. package/dist/generated/eve/perObjectData/index.js +0 -5
  1420. package/dist/generated/eve/perObjectData/index.js.map +0 -1
  1421. package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
  1422. package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
  1423. package/dist/generated/eve/scene/EvePickingContext.js +0 -43
  1424. package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
  1425. package/dist/generated/eve/scene/EveSceneStaticParticles.js +0 -173
  1426. package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
  1427. package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
  1428. package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
  1429. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
  1430. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
  1431. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
  1432. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
  1433. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
  1434. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
  1435. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
  1436. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
  1437. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
  1438. package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
  1439. package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
  1440. package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
  1441. package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
  1442. package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
  1443. package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
  1444. package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
  1445. package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
  1446. package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
  1447. package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
  1448. package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
  1449. package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
  1450. package/dist/generated/eve/socket/index.js +0 -10
  1451. package/dist/generated/eve/socket/index.js.map +0 -1
  1452. package/dist/generated/eve/spaceObject/EvePlanet.js +0 -47
  1453. package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
  1454. package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
  1455. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
  1456. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
  1457. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js +0 -129
  1458. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
  1459. package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
  1460. package/dist/generated/eve/ui/EveSpherePin.js +0 -94
  1461. package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
  1462. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
  1463. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
  1464. package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
  1465. package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
  1466. package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
  1467. package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
  1468. package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
  1469. package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
  1470. package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
  1471. package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
  1472. package/dist/generated/trinityCore/TriValueBinding.js +0 -249
  1473. package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
  1474. package/dist/shader/Tr2Shader.js +0 -150
  1475. package/dist/shader/Tr2Shader.js.map +0 -1
  1476. package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
  1477. package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
  1478. package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
  1479. package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
  1480. package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
  1481. package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
  1482. package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
  1483. package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
  1484. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
  1485. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
  1486. package/dist/shader/reflection/Tr2EffectResource.js +0 -63
  1487. package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
  1488. package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
  1489. package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
  1490. package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
  1491. package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
  1492. package/dist/shader/reflection/Tr2Pass.js +0 -46
  1493. package/dist/shader/reflection/Tr2Pass.js.map +0 -1
  1494. package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
  1495. package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
  1496. package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
  1497. package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
  1498. /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
  1499. /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"CjsGrannyCurves.js","sources":["../../../src/curves/CjsGrannyCurves.js"],"sourcesContent":["/**\r\n * Granny animation-curve decoding authored by cppctamber for ccpwgl2.\r\n *\r\n * This local copy decodes and samples already-materialized curve data without\r\n * coupling runtime-trinity to a GR2 container reader. The former format-gr2\r\n * licensing boundary is resolved: its BitKnit2 decoder was replaced by a\r\n * clean-room implementation, the package is MIT, and the canonical reader now\r\n * lives at @carbonenginejs/runtime-resource/formats/gr2.\r\n */\r\nimport { num } from \"@carbonenginejs/core-math/num\";\r\n\r\nconst fr = Math.fround;\r\nconst CURVE_DECODERS = Object.freeze([Object.freeze({\r\n format: 0,\r\n decode: decodeDaKeyframes32f\r\n}), Object.freeze({\r\n format: 1,\r\n decode: decodeDaK32fC32f\r\n}), Object.freeze({\r\n format: 2,\r\n decode: decodeDaIdentity\r\n}), Object.freeze({\r\n format: 3,\r\n decode: decodeDaConstant32f\r\n}), Object.freeze({\r\n format: 4,\r\n decode: decodeD3Constant32f\r\n}), Object.freeze({\r\n format: 5,\r\n decode: decodeD4Constant32f\r\n}), Object.freeze({\r\n format: 6,\r\n decode: decodeDaK16uC16u\r\n}), Object.freeze({\r\n format: 7,\r\n decode: decodeDaK8uC8u\r\n}), Object.freeze({\r\n format: 8,\r\n decode: decodeD4nK16uC15u\r\n}), Object.freeze({\r\n format: 9,\r\n decode: decodeD4nK8uC7u\r\n}), Object.freeze({\r\n format: 10,\r\n decode: decodeD3K16uC16u\r\n}), Object.freeze({\r\n format: 11,\r\n decode: decodeD3K8uC8u\r\n}), Object.freeze({\r\n format: 12,\r\n decode: decodeD9I1K16uC16u\r\n}), Object.freeze({\r\n format: 13,\r\n decode: decodeD9I3K16uC16u\r\n}), Object.freeze({\r\n format: 14,\r\n decode: decodeD9I1K8uC8u\r\n}), Object.freeze({\r\n format: 15,\r\n decode: decodeD9I3K8uC8u\r\n}), Object.freeze({\r\n format: 16,\r\n decode: decodeD3I1K32fC32f\r\n}), Object.freeze({\r\n format: 17,\r\n decode: decodeD3I1K16uC16u\r\n}), Object.freeze({\r\n format: 18,\r\n decode: decodeD3I1K8uC8u\r\n})]);\r\nconst D4N_SCALE_TABLE = new Float32Array([1.4142135, 0.70710677, 0.35355338, 0.35355338, 0.35355338, 0.17677669, 0.17677669, 0.17677669, -1.4142135, -0.70710677, -0.35355338, -0.35355338, -0.35355338, -0.17677669, -0.17677669, -0.17677669]);\r\nconst D4N_OFFSET_TABLE = new Float32Array([-0.70710677, -0.35355338, -0.53033006, -0.17677669, 0.17677669, -0.17677669, -0.088388346, 0.0, 0.70710677, 0.35355338, 0.53033006, 0.17677669, -0.17677669, 0.17677669, 0.088388346, -0.0]);\r\nconst D4N_SCALE_TABLE_MULTIPLIER_16 = 0.000030518509;\r\nconst D4N_SCALE_TABLE_MULTIPLIER_8 = 0.0078740157;\r\nexport class CjsGrannyCurves\r\n{\r\n static #resources = new Map();\r\n\r\n /**\r\n * Decode a GR2 JSON curve object into explicit knots and controls.\r\n */\r\n static decodeCurve(curveJson, dimension)\r\n {\r\n if (!curveJson || typeof curveJson.format !== \"number\")\r\n {\r\n throw new Error(\"gr2reader: decodeCurve requires a curve object with a numeric format\");\r\n }\r\n const decoder = CURVE_DECODERS[curveJson.format];\r\n if (!decoder)\r\n {\r\n throw new Error(`gr2reader: unsupported granny curve format ${curveJson.format}`);\r\n }\r\n const {\r\n knots,\r\n controls,\r\n dimension: dim\r\n } = decoder.decode(curveJson, dimension);\r\n if (dimension && dim && dim !== dimension)\r\n {\r\n throw new Error(`gr2reader: curve format ${curveJson.format} decoded dimension ${dim} does not match track dimension ${dimension}`);\r\n }\r\n return {\r\n knots,\r\n controls,\r\n degree: Number(curveJson.degree) || 0,\r\n dimension: dim || dimension\r\n };\r\n }\r\n\r\n /**\r\n * Sample a decoded Granny curve into caller-provided output.\r\n */\r\n static sampleDecodedCurve(out, curve, time, cycle = false, duration = 0, options = {})\r\n {\r\n if (!curve || !curve.knots || !curve.controls || !curve.dimension)\r\n {\r\n return out;\r\n }\r\n const knots = curve.knots,\r\n count = knots.length,\r\n dim = curve.dimension,\r\n controlCount = curve.controls.length / dim;\r\n if (!count || !controlCount)\r\n {\r\n return out;\r\n }\r\n if (options.keyframed)\r\n {\r\n return CjsGrannyCurves.#copyControl(out, curve, CjsGrannyCurves.#sampleKeyframedCurve(count, time, duration));\r\n }\r\n const knot = CjsGrannyCurves.#findKnotIndex(knots, time);\r\n if (curve.degree <= 0 || count === 1 || controlCount === 1)\r\n {\r\n const index = time >= knots[count - 1]\r\n ? count - 1\r\n : Math.max(0, knot - 1);\r\n return CjsGrannyCurves.#copyControl(out, curve, Math.min(index, controlCount - 1));\r\n }\r\n if (curve.degree === 1)\r\n {\r\n return CjsGrannyCurves.#sampleLinearCurve(out, curve, time, cycle, duration || knots[count - 1], knot);\r\n }\r\n return CjsGrannyCurves.#sampleQuadraticCurve(out, curve, time, cycle, duration || knots[count - 1], knot);\r\n }\r\n\r\n static registerResource(path, source)\r\n {\r\n if (path)\r\n {\r\n CjsGrannyCurves.#resources.set(path, source);\r\n }\r\n }\r\n\r\n static unregisterResource(path)\r\n {\r\n CjsGrannyCurves.#resources.delete(path);\r\n }\r\n\r\n static clearResources()\r\n {\r\n CjsGrannyCurves.#resources.clear();\r\n }\r\n\r\n static resolveResource(path)\r\n {\r\n return CjsGrannyCurves.#resources.get(path) ?? null;\r\n }\r\n\r\n static getTrackSource(value)\r\n {\r\n return CjsGrannyCurves.#findTrackSource(value, 0);\r\n }\r\n\r\n static getAnimations(source)\r\n {\r\n return CjsGrannyCurves.#getArray(source, \"animations\", \"Animations\");\r\n }\r\n\r\n static getTrackGroups(animation)\r\n {\r\n return CjsGrannyCurves.#getArray(animation, \"trackGroups\", \"TrackGroups\");\r\n }\r\n\r\n static getAnimationDuration(animation)\r\n {\r\n return Number(animation.duration ?? animation.Duration) || 0;\r\n }\r\n\r\n static getAnimationTimeStep(animation)\r\n {\r\n return Number(animation.timeStep ?? animation.TimeStep) || 0;\r\n }\r\n\r\n static findTransformTrack(group, name)\r\n {\r\n const trackGroup = CjsGrannyCurves.#asTrackGroup(group);\r\n if (!trackGroup)\r\n {\r\n return null;\r\n }\r\n const tracks = CjsGrannyCurves.#getArray(trackGroup, \"transformTracks\", \"TransformTracks\");\r\n const track = tracks.find(item => CjsGrannyCurves.#getName(item) === name);\r\n return track ? CjsGrannyCurves.#normalizeTransformTrack(track) : null;\r\n }\r\n\r\n static findVectorTrack(group, name)\r\n {\r\n const trackGroup = CjsGrannyCurves.#asTrackGroup(group);\r\n if (!trackGroup)\r\n {\r\n return null;\r\n }\r\n const tracks = CjsGrannyCurves.#getArray(trackGroup, \"vectorTracks\", \"VectorTracks\");\r\n const track = tracks.find(item => CjsGrannyCurves.#getName(item) === name);\r\n return track ? CjsGrannyCurves.#normalizeVectorTrack(track) : null;\r\n }\r\n\r\n static findTextTrack(group, name)\r\n {\r\n const trackGroup = CjsGrannyCurves.#asTrackGroup(group);\r\n if (!trackGroup)\r\n {\r\n return null;\r\n }\r\n const textTracks = CjsGrannyCurves.#getArray(trackGroup, \"textTracks\", \"TextTracks\");\r\n return textTracks.find(track => CjsGrannyCurves.#getName(track) === name) ?? null;\r\n }\r\n\r\n static getTextTrackEntries(track)\r\n {\r\n const entries = CjsGrannyCurves.#getArray(track, \"entries\", \"Entries\");\r\n const out = [];\r\n for (const entry of entries)\r\n {\r\n const time = CjsGrannyCurves.#getEntryTime(entry);\r\n if (Number.isFinite(time))\r\n {\r\n out.push({ time, text: String(entry.text ?? entry.Text ?? \"\") });\r\n }\r\n }\r\n return out;\r\n }\r\n\r\n static decodeGrannyCurve(curve, dimension)\r\n {\r\n if (!curve || curve.error || curve.Error)\r\n {\r\n return null;\r\n }\r\n const normalized = CjsGrannyCurves.#normalizeCurve(curve);\r\n const decodedDirect = CjsGrannyCurves.#getDecodedCurve(normalized, dimension);\r\n if (decodedDirect)\r\n {\r\n return decodedDirect;\r\n }\r\n if (typeof normalized.format !== \"number\" || typeof normalized.degree !== \"number\")\r\n {\r\n return null;\r\n }\r\n try\r\n {\r\n const decoded = CjsGrannyCurves.decodeCurve(normalized, dimension);\r\n return {\r\n format: normalized.format,\r\n knots: decoded.knots,\r\n controls: decoded.controls,\r\n degree: decoded.degree,\r\n dimension: decoded.dimension,\r\n keyframed: normalized.format === 0\r\n };\r\n }\r\n catch\r\n {\r\n return null;\r\n }\r\n }\r\n\r\n /** Decodes an already-materialized Carbon animation curve into the shared sampler shape. */\r\n static decodeAnimationCurve(curve, dimension)\r\n {\r\n if (!curve)\r\n {\r\n return null;\r\n }\r\n\r\n const valueDimension = Number(curve.valueDimension ?? curve.ValueDimension);\r\n const knotCount = Number(curve.knotCount ?? curve.KnotCount);\r\n if (valueDimension !== dimension || !Number.isSafeInteger(knotCount) || knotCount <= 0)\r\n {\r\n return null;\r\n }\r\n\r\n try\r\n {\r\n const knots = decodeElements(\r\n curve.knots ?? curve.Knots,\r\n curve.knotType ?? curve.KnotType,\r\n knotCount\r\n );\r\n const controls = decodeElements(\r\n curve.values ?? curve.Values,\r\n curve.valueType ?? curve.ValueType,\r\n knotCount * valueDimension\r\n );\r\n const interpolation = curve.interpolation ?? curve.Interpolation;\r\n\r\n return {\r\n knots,\r\n controls,\r\n degree: interpolation === \"Step\" || interpolation === 0 ? 0 : 1,\r\n dimension: valueDimension,\r\n keyframed: false\r\n };\r\n }\r\n catch\r\n {\r\n return null;\r\n }\r\n }\r\n\r\n static sampleGrannyCurve(out, curve, time, cycle, duration)\r\n {\r\n CjsGrannyCurves.sampleDecodedCurve(out, curve, time, cycle, duration, {\r\n keyframed: curve.keyframed\r\n });\r\n return out;\r\n }\r\n\r\n static #asRecord(value)\r\n {\r\n return value !== null && typeof value === \"object\" ? value : null;\r\n }\r\n\r\n static #asTrackSource(value)\r\n {\r\n const record = CjsGrannyCurves.#asRecord(value);\r\n return CjsGrannyCurves.#hasArrayValue(record, \"animations\", \"Animations\") ? record : null;\r\n }\r\n\r\n static #asTrackGroup(value)\r\n {\r\n return CjsGrannyCurves.#asRecord(value);\r\n }\r\n\r\n static #findTrackSource(value, depth)\r\n {\r\n const direct = CjsGrannyCurves.#asTrackSource(value);\r\n if (direct)\r\n {\r\n return direct;\r\n }\r\n const record = CjsGrannyCurves.#asRecord(value);\r\n if (!record || depth > 8)\r\n {\r\n return null;\r\n }\r\n for (const key of [\"json\", \"Json\", \"data\", \"Data\", \"value\", \"Value\", \"source\", \"Source\", \"fileInfo\", \"FileInfo\"])\r\n {\r\n const nested = CjsGrannyCurves.#findTrackSource(record[key], depth + 1);\r\n if (nested)\r\n {\r\n return nested;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n static #getArray(value, lowerKey, upperKey)\r\n {\r\n const lower = value[lowerKey];\r\n if (Array.isArray(lower))\r\n {\r\n return lower;\r\n }\r\n const upper = value[upperKey];\r\n return Array.isArray(upper) ? upper : [];\r\n }\r\n\r\n static #hasArrayValue(value, lowerKey, upperKey)\r\n {\r\n return Array.isArray(value?.[lowerKey]) || Array.isArray(value?.[upperKey]);\r\n }\r\n\r\n static #getName(value)\r\n {\r\n return value.name ?? value.Name;\r\n }\r\n\r\n static #getEntryTime(entry)\r\n {\r\n const value = entry.timeStamp ?? entry.TimeStamp ?? entry.timestamp ?? entry.time;\r\n return typeof value === \"number\" ? value : Number.NaN;\r\n }\r\n\r\n static #normalizeTransformTrack(track)\r\n {\r\n return {\r\n ...track,\r\n name: CjsGrannyCurves.#getName(track),\r\n orientation: track.orientation ?? track.Orientation,\r\n position: track.position ?? track.Position,\r\n scaleShear: track.scaleShear ?? track.ScaleShear\r\n };\r\n }\r\n\r\n static #normalizeVectorTrack(track)\r\n {\r\n return {\r\n ...track,\r\n name: CjsGrannyCurves.#getName(track),\r\n valueCurve: track.valueCurve ?? track.ValueCurve\r\n };\r\n }\r\n\r\n static #normalizeCurve(curve)\r\n {\r\n const normalized = { ...curve };\r\n for (const [key, value] of Object.entries(curve))\r\n {\r\n const lowerKey = CjsGrannyCurves.#lowerFirst(key);\r\n if (!(lowerKey in normalized))\r\n {\r\n normalized[lowerKey] = value;\r\n }\r\n }\r\n normalized.format = curve.format ?? curve.Format;\r\n normalized.degree = curve.degree ?? curve.Degree;\r\n normalized.knots = curve.knots ?? curve.Knots;\r\n normalized.controls = curve.controls ?? curve.Controls;\r\n normalized.dimension = curve.dimension ?? curve.Dimension;\r\n normalized.error = curve.error ?? curve.Error;\r\n return normalized;\r\n }\r\n\r\n static #getDecodedCurve(curve, dimension)\r\n {\r\n const knots = curve.knots;\r\n const controls = curve.controls;\r\n const curveDimension = Number(curve.dimension) || dimension;\r\n if (!Array.isArray(knots) || !Array.isArray(controls) || curveDimension !== dimension || controls.length % curveDimension !== 0)\r\n {\r\n return null;\r\n }\r\n return {\r\n format: curve.format,\r\n knots,\r\n controls,\r\n degree: Number(curve.degree) || 0,\r\n dimension: curveDimension,\r\n keyframed: curve.format === 0\r\n };\r\n }\r\n\r\n static #lowerFirst(value)\r\n {\r\n return value ? value[0].toLowerCase() + value.slice(1) : value;\r\n }\r\n\r\n static #copyControl(out, curve, index)\r\n {\r\n const offset = index * curve.dimension;\r\n for (let i = 0; i < curve.dimension; i++)\r\n {\r\n out[i] = curve.controls[offset + i];\r\n }\r\n return out;\r\n }\r\n\r\n static #findKnotIndex(knots, time)\r\n {\r\n let low = 0;\r\n let high = knots.length - 1;\r\n while (low < high)\r\n {\r\n const mid = low + high >> 1;\r\n if (knots[mid] > time)\r\n {\r\n high = mid;\r\n }\r\n else\r\n {\r\n low = mid + 1;\r\n }\r\n }\r\n return low;\r\n }\r\n\r\n static #sampleKeyframedCurve(count, time, duration)\r\n {\r\n const frame = duration > 0 ? Math.trunc(count * time / duration) : 0;\r\n return Math.max(0, Math.min(count - 1, frame));\r\n }\r\n\r\n static #sampleLinearCurve(out, curve, time, cycle, duration, knot)\r\n {\r\n const knots = curve.knots;\r\n const count = knots.length;\r\n const dim = curve.dimension;\r\n const knot0 = cycle ? (knot + count - 1) % count : knot === 0 ? 0 : knot - 1;\r\n const start = knots[knot0];\r\n let end = knots[knot];\r\n let localTime = time;\r\n if (cycle && end < start)\r\n {\r\n end += duration;\r\n }\r\n if (cycle && localTime < start)\r\n {\r\n localTime += duration;\r\n }\r\n const t = end !== start ? (localTime - start) / (end - start) : 0;\r\n const p0 = knot0 * dim;\r\n const p1 = knot * dim;\r\n for (let i = 0; i < dim; i++)\r\n {\r\n out[i] = curve.controls[p0 + i] * (1 - t) + curve.controls[p1 + i] * t;\r\n }\r\n return out;\r\n }\r\n\r\n static #sampleQuadraticCurve(out, curve, time, cycle, duration, knot)\r\n {\r\n const knots = curve.knots;\r\n const count = knots.length;\r\n const dim = curve.dimension;\r\n const k2 = cycle ? (knot + count - 2) % count : knot === 0 ? 0 : Math.max(0, knot - 2);\r\n const k1 = cycle ? (knot + count - 1) % count : knot === 0 ? 0 : knot - 1;\r\n const ti2 = knots[k2];\r\n const ti1 = knots[k1];\r\n let ti = knots[knot];\r\n let tiNext = knots[(knot + 1) % count];\r\n let localTime = time;\r\n if (ti2 > ti)\r\n {\r\n ti += duration;\r\n tiNext += duration;\r\n localTime += duration;\r\n }\r\n if (ti1 > ti)\r\n {\r\n ti += duration;\r\n tiNext += duration;\r\n localTime += duration;\r\n }\r\n if (tiNext < ti)\r\n {\r\n tiNext += duration;\r\n }\r\n const d0 = ti - ti1;\r\n const d1a = ti - ti2;\r\n const d1b = tiNext - ti1;\r\n const l0 = d0 !== 0 ? (localTime - ti1) / d0 : 0;\r\n const l1a = d1a !== 0 ? (localTime - ti2) / d1a : 0;\r\n const l1b = d1b !== 0 ? (localTime - ti1) / d1b : 0;\r\n let c2 = l1a + l0 - l0 * l1a;\r\n const ci = l0 * l1b;\r\n const c1 = c2 - ci;\r\n c2 = 1 - c2;\r\n const p0 = k2 * dim;\r\n const p1 = k1 * dim;\r\n const p2 = knot * dim;\r\n for (let i = 0; i < dim; i++)\r\n {\r\n out[i] = c2 * curve.controls[p0 + i] + c1 * curve.controls[p1 + i] + ci * curve.controls[p2 + i];\r\n }\r\n return out;\r\n }\r\n}\r\n\r\nconst ANIMATION_ELEMENT_TYPES = Object.freeze([\r\n \"Float32\",\r\n \"Float16\",\r\n \"UInt16Norm\",\r\n \"UInt16\",\r\n \"Int16Norm\",\r\n \"Int16\",\r\n \"UInt8Norm\",\r\n \"UInt8\",\r\n \"Int8Norm\",\r\n \"Int8\"\r\n]);\r\n\r\nfunction decodeElements(value, typeValue, count)\r\n{\r\n const type = typeof typeValue === \"number\" ? ANIMATION_ELEMENT_TYPES[typeValue] : typeValue;\r\n const size = elementTypeSize(type);\r\n\r\n if (ArrayBuffer.isView(value) && !(value instanceof Uint8Array) && value.length === count)\r\n {\r\n return Array.from(value, Number);\r\n }\r\n if (Array.isArray(value) && size > 1 && value.length === count)\r\n {\r\n return value.map(Number);\r\n }\r\n\r\n const bytes = asByteView(value);\r\n if (!bytes || bytes.byteLength < count * size)\r\n {\r\n throw new TypeError(\"Animation curve data is incomplete\");\r\n }\r\n\r\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\r\n return Array.from({ length: count }, (_, index) => readElement(view, index * size, type));\r\n}\r\n\r\nfunction asByteView(value)\r\n{\r\n if (value instanceof Uint8Array)\r\n {\r\n return value;\r\n }\r\n if (ArrayBuffer.isView(value))\r\n {\r\n return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\r\n }\r\n if (value instanceof ArrayBuffer)\r\n {\r\n return new Uint8Array(value);\r\n }\r\n return Array.isArray(value) ? Uint8Array.from(value) : null;\r\n}\r\n\r\nfunction elementTypeSize(type)\r\n{\r\n switch (type)\r\n {\r\n case \"Float32\":\r\n return 4;\r\n case \"Float16\":\r\n case \"UInt16Norm\":\r\n case \"UInt16\":\r\n case \"Int16Norm\":\r\n case \"Int16\":\r\n return 2;\r\n case \"UInt8Norm\":\r\n case \"UInt8\":\r\n case \"Int8Norm\":\r\n case \"Int8\":\r\n return 1;\r\n default:\r\n throw new TypeError(`Unsupported animation curve element type \"${type}\"`);\r\n }\r\n}\r\n\r\nfunction readElement(view, offset, type)\r\n{\r\n switch (type)\r\n {\r\n case \"Float32\":\r\n return view.getFloat32(offset, true);\r\n case \"Float16\":\r\n return num.fromHalfFloat(view.getUint16(offset, true));\r\n case \"UInt16Norm\":\r\n return view.getUint16(offset, true) / 65535;\r\n case \"UInt16\":\r\n return view.getUint16(offset, true);\r\n case \"Int16Norm\":\r\n return Math.max(view.getInt16(offset, true) / 32767, -1);\r\n case \"Int16\":\r\n return view.getInt16(offset, true);\r\n case \"UInt8Norm\":\r\n return view.getUint8(offset) / 255;\r\n case \"UInt8\":\r\n return view.getUint8(offset);\r\n case \"Int8Norm\":\r\n return Math.max(view.getInt8(offset) / 127, -1);\r\n case \"Int8\":\r\n return view.getInt8(offset);\r\n default:\r\n throw new TypeError(`Unsupported animation curve element type \"${type}\"`);\r\n }\r\n}\r\n\r\nfunction exactDiv(numerator, divisor, what)\r\n{\r\n const value = numerator / divisor;\r\n if (!Number.isInteger(value))\r\n {\r\n throw new Error(`gr2reader: curve ${what}: ${numerator} is not divisible by ${divisor}`);\r\n }\r\n return value;\r\n}\r\nfunction knotScaleFromTrunc(oneOverKnotScaleTrunc)\r\n{\r\n const buffer = new Uint32Array([oneOverKnotScaleTrunc << 16]);\r\n return new Float32Array(buffer.buffer)[0];\r\n}\r\nfunction knotsFromControls(knotsControls, count, scale)\r\n{\r\n const out = new Array(count);\r\n for (let i = 0; i < count; i++)\r\n {\r\n out[i] = fr(knotsControls[i] / scale);\r\n }\r\n return out;\r\n}\r\nfunction knotsFromControlsTrunc(knotsControls, count, oneOverKnotScaleTrunc)\r\n{\r\n return knotsFromControls(knotsControls, count, knotScaleFromTrunc(oneOverKnotScaleTrunc));\r\n}\r\nfunction identityControls(dimension)\r\n{\r\n switch (dimension)\r\n {\r\n case 3:\r\n return [0, 0, 0];\r\n case 4:\r\n return [0, 0, 0, 1];\r\n case 9:\r\n return [1, 0, 0, 0, 1, 0, 0, 0, 1];\r\n default:\r\n throw new Error(`gr2reader: invalid curve dimension ${dimension}`);\r\n }\r\n}\r\nfunction decodeDaKeyframes32f(c, dimension)\r\n{\r\n const dim = c.dimension || dimension,\r\n controls = c.controls || [],\r\n count = exactDiv(controls.length, dim, \"DaKeyframes32f controls/dimension\"),\r\n knots = new Array(count);\r\n for (let i = 0; i < count; i++)\r\n {\r\n knots[i] = i;\r\n }\r\n return {\r\n knots,\r\n controls: controls.map(fr),\r\n dimension: dim\r\n };\r\n}\r\nfunction decodeDaK32fC32f(c, dimension)\r\n{\r\n const knots = (c.knots || []).map(fr),\r\n controls = (c.controls || []).map(fr),\r\n dim = knots.length ? exactDiv(controls.length, knots.length, \"DaK32fC32f controls/knots\") : dimension;\r\n return {\r\n knots,\r\n controls,\r\n dimension: dim\r\n };\r\n}\r\nfunction decodeDaIdentity(c, dimension)\r\n{\r\n const dim = c.dimension || dimension;\r\n return {\r\n knots: [0],\r\n controls: identityControls(dim),\r\n dimension: dim\r\n };\r\n}\r\nfunction decodeDaConstant32f(c, dimension)\r\n{\r\n const controls = (c.controls || []).map(fr);\r\n return {\r\n knots: [0],\r\n controls,\r\n dimension: controls.length || dimension\r\n };\r\n}\r\nfunction decodeD3Constant32f(c)\r\n{\r\n const controls = (c.controls || [0, 0, 0]).slice(0, 3).map(fr);\r\n return {\r\n knots: [0],\r\n controls,\r\n dimension: 3\r\n };\r\n}\r\nfunction decodeD4Constant32f(c)\r\n{\r\n const controls = (c.controls || [0, 0, 0, 1]).slice(0, 4).map(fr);\r\n return {\r\n knots: [0],\r\n controls,\r\n dimension: 4\r\n };\r\n}\r\nfunction decodeDaK(c)\r\n{\r\n const controlScaleOffsets = c.controlScaleOffsets || [],\r\n knotsControls = c.knotsControls || [],\r\n dim = exactDiv(controlScaleOffsets.length, 2, \"DaK controlScaleOffsets/2\"),\r\n count = exactDiv(knotsControls.length, dim + 1, \"DaK knotsControls/(dim+1)\"),\r\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0),\r\n controls = new Array(count * dim);\r\n for (let i = 0; i < count; i++)\r\n {\r\n for (let x = 0; x < dim; x++)\r\n {\r\n controls[i * dim + x] = fr(knotsControls[count + i * dim + x] * controlScaleOffsets[x] + controlScaleOffsets[dim + x]);\r\n }\r\n }\r\n return {\r\n knots,\r\n controls,\r\n dimension: dim\r\n };\r\n}\r\nfunction quatFromControl16(out, a, b, c, scales, offsets)\r\n{\r\n const swizzle1 = (b & 0x8000) >> 14 | c >> 15,\r\n swizzle2 = swizzle1 + 1 & 3,\r\n swizzle3 = swizzle2 + 1 & 3,\r\n swizzle4 = swizzle3 + 1 & 3;\r\n const dataA = (a & 0x7fff) * scales[swizzle2] + offsets[swizzle2],\r\n dataB = (b & 0x7fff) * scales[swizzle3] + offsets[swizzle3],\r\n dataC = (c & 0x7fff) * scales[swizzle4] + offsets[swizzle4];\r\n let dataD = Math.sqrt(Math.max(0, 1 - (dataA * dataA + dataB * dataB + dataC * dataC)));\r\n if ((a & 0x8000) !== 0)\r\n {\r\n dataD = -dataD;\r\n }\r\n out[swizzle2] = fr(dataA);\r\n out[swizzle3] = fr(dataB);\r\n out[swizzle4] = fr(dataC);\r\n out[swizzle1] = fr(dataD);\r\n return out;\r\n}\r\nfunction decodeD4n(c, decoder, scaleTableMultiplier)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 4, \"D4n knotsControls/4\"),\r\n knots = knotsFromControls(knotsControls, count, Number(c.oneOverKnotScale) || 0);\r\n const selector = (c.scaleOffsetTableEntries ?? 0) >>> 0,\r\n scales = new Float32Array([D4N_SCALE_TABLE[selector >> 0 & 0x0f] * scaleTableMultiplier, D4N_SCALE_TABLE[selector >> 4 & 0x0f] * scaleTableMultiplier, D4N_SCALE_TABLE[selector >> 8 & 0x0f] * scaleTableMultiplier, D4N_SCALE_TABLE[selector >> 12 & 0x0f] * scaleTableMultiplier]),\r\n offsets = new Float32Array([D4N_OFFSET_TABLE[selector >> 0 & 0x0f], D4N_OFFSET_TABLE[selector >> 4 & 0x0f], D4N_OFFSET_TABLE[selector >> 8 & 0x0f], D4N_OFFSET_TABLE[selector >> 12 & 0x0f]]);\r\n const controls = new Array(count * 4),\r\n quat = [0, 0, 0, 1];\r\n for (let i = 0; i < count; i++)\r\n {\r\n decoder(quat, knotsControls[count + i * 3], knotsControls[count + i * 3 + 1], knotsControls[count + i * 3 + 2], scales, offsets);\r\n controls[i * 4] = quat[0];\r\n controls[i * 4 + 1] = quat[1];\r\n controls[i * 4 + 2] = quat[2];\r\n controls[i * 4 + 3] = quat[3];\r\n }\r\n return {\r\n knots,\r\n controls,\r\n dimension: 4\r\n };\r\n}\r\nfunction decodeD4nK16uC15u(c)\r\n{\r\n return decodeD4n(c, quatFromControl16, D4N_SCALE_TABLE_MULTIPLIER_16);\r\n}\r\nfunction quatFromControl8(out, a, b, c, scales, offsets)\r\n{\r\n const swizzle1 = (b & 0x80) >> 6 | (c & 0x80) >> 7,\r\n swizzle2 = swizzle1 + 1 & 3,\r\n swizzle3 = swizzle2 + 1 & 3,\r\n swizzle4 = swizzle3 + 1 & 3;\r\n const dataA = (a & 0x7f) * scales[swizzle2] + offsets[swizzle2],\r\n dataB = (b & 0x7f) * scales[swizzle3] + offsets[swizzle3],\r\n dataC = (c & 0x7f) * scales[swizzle4] + offsets[swizzle4];\r\n let dataD = Math.sqrt(Math.max(0, 1 - (dataA * dataA + dataB * dataB + dataC * dataC)));\r\n if ((a & 0x80) !== 0)\r\n {\r\n dataD = -dataD;\r\n }\r\n out[swizzle2] = fr(dataA);\r\n out[swizzle3] = fr(dataB);\r\n out[swizzle4] = fr(dataC);\r\n out[swizzle1] = fr(dataD);\r\n return out;\r\n}\r\nfunction decodeD4nK8uC7u(c)\r\n{\r\n return decodeD4n(c, quatFromControl8, D4N_SCALE_TABLE_MULTIPLIER_8);\r\n}\r\nfunction decodeD3K(c)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 4, \"D3K knotsControls/4\"),\r\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0),\r\n controlScales = c.controlScales || [],\r\n controlOffsets = c.controlOffsets || [],\r\n controls = new Array(count * 3);\r\n for (let i = 0; i < count; i++)\r\n {\r\n for (let x = 0; x < 3; x++)\r\n {\r\n controls[i * 3 + x] = fr(knotsControls[count + i * 3 + x] * controlScales[x] + controlOffsets[x]);\r\n }\r\n }\r\n return {\r\n knots,\r\n controls,\r\n dimension: 3\r\n };\r\n}\r\nfunction decodeD9I1(c)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 2, \"D9I1 knotsControls/2\"),\r\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0);\r\n const scale = Array.isArray(c.controlScales) ? c.controlScales[0] ?? 0 : c.controlScale || 0,\r\n offset = Array.isArray(c.controlOffsets) ? c.controlOffsets[0] ?? 0 : c.controlOffset || 0,\r\n controls = new Array(count * 9).fill(0);\r\n for (let i = 0; i < count; i++)\r\n {\r\n const s = fr(knotsControls[count + i] * scale + offset);\r\n controls[i * 9] = s;\r\n controls[i * 9 + 4] = s;\r\n controls[i * 9 + 8] = s;\r\n }\r\n return {\r\n knots,\r\n controls,\r\n dimension: 9\r\n };\r\n}\r\nfunction decodeD9I3(c)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 4, \"D9I3 knotsControls/4\"),\r\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0),\r\n controlScales = c.controlScales || [],\r\n controlOffsets = c.controlOffsets || [],\r\n controls = new Array(count * 9).fill(0);\r\n for (let i = 0; i < count; i++)\r\n {\r\n controls[i * 9] = fr(knotsControls[count + i * 3] * controlScales[0] + controlOffsets[0]);\r\n controls[i * 9 + 4] = fr(knotsControls[count + i * 3 + 1] * controlScales[1] + controlOffsets[1]);\r\n controls[i * 9 + 8] = fr(knotsControls[count + i * 3 + 2] * controlScales[2] + controlOffsets[2]);\r\n }\r\n return {\r\n knots,\r\n controls,\r\n dimension: 9\r\n };\r\n}\r\nfunction d3I1Controls(knotsControls, count, scales, offsets)\r\n{\r\n const controls = new Array(count * 3);\r\n for (let i = 0; i < count; i++)\r\n {\r\n const value = knotsControls[count + i];\r\n controls[i * 3] = fr(value * scales[0] + offsets[0]);\r\n controls[i * 3 + 1] = fr(value * scales[1] + offsets[1]);\r\n controls[i * 3 + 2] = fr(value * scales[2] + offsets[2]);\r\n }\r\n return controls;\r\n}\r\nfunction decodeD3I1K32fC32f(c)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 2, \"D3I1K32f knotsControls/2\"),\r\n knots = new Array(count);\r\n for (let i = 0; i < count; i++)\r\n {\r\n knots[i] = fr(knotsControls[i]);\r\n }\r\n return {\r\n knots,\r\n controls: d3I1Controls(knotsControls, count, c.controlScales || [], c.controlOffsets || []),\r\n dimension: 3\r\n };\r\n}\r\nfunction decodeD3I1u(c)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 2, \"D3I1 knotsControls/2\"),\r\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0);\r\n return {\r\n knots,\r\n controls: d3I1Controls(knotsControls, count, c.controlScales || [], c.controlOffsets || []),\r\n dimension: 3\r\n };\r\n}\r\nfunction decodeDaK16uC16u(c)\r\n{\r\n return decodeDaK(c);\r\n}\r\nfunction decodeDaK8uC8u(c)\r\n{\r\n return decodeDaK(c);\r\n}\r\nfunction decodeD3K16uC16u(c)\r\n{\r\n return decodeD3K(c);\r\n}\r\nfunction decodeD3K8uC8u(c)\r\n{\r\n return decodeD3K(c);\r\n}\r\nfunction decodeD9I1K16uC16u(c)\r\n{\r\n return decodeD9I1(c);\r\n}\r\nfunction decodeD9I1K8uC8u(c)\r\n{\r\n return decodeD9I1(c);\r\n}\r\nfunction decodeD9I3K16uC16u(c)\r\n{\r\n return decodeD9I3(c);\r\n}\r\nfunction decodeD9I3K8uC8u(c)\r\n{\r\n return decodeD9I3(c);\r\n}\r\nfunction decodeD3I1K16uC16u(c)\r\n{\r\n return decodeD3I1u(c);\r\n}\r\nfunction decodeD3I1K8uC8u(c)\r\n{\r\n return decodeD3I1u(c);\r\n}\r\n"],"names":["fr","Math","fround","CURVE_DECODERS","Object","freeze","format","decode","decodeDaKeyframes32f","decodeDaK32fC32f","decodeDaIdentity","decodeDaConstant32f","decodeD3Constant32f","decodeD4Constant32f","decodeDaK16uC16u","decodeDaK8uC8u","decodeD4nK16uC15u","decodeD4nK8uC7u","decodeD3K16uC16u","decodeD3K8uC8u","decodeD9I1K16uC16u","decodeD9I3K16uC16u","decodeD9I1K8uC8u","decodeD9I3K8uC8u","decodeD3I1K32fC32f","decodeD3I1K16uC16u","decodeD3I1K8uC8u","D4N_SCALE_TABLE","Float32Array","D4N_OFFSET_TABLE","D4N_SCALE_TABLE_MULTIPLIER_16","D4N_SCALE_TABLE_MULTIPLIER_8","CjsGrannyCurves","Map","decodeCurve","curveJson","dimension","Error","decoder","knots","controls","dim","degree","Number","sampleDecodedCurve","out","curve","time","cycle","duration","options","count","length","controlCount","keyframed","knot","index","max","min","registerResource","path","source","set","unregisterResource","delete","clearResources","clear","resolveResource","get","getTrackSource","value","getAnimations","getTrackGroups","animation","getAnimationDuration","Duration","getAnimationTimeStep","timeStep","TimeStep","findTransformTrack","group","name","trackGroup","tracks","track","find","item","findVectorTrack","findTextTrack","textTracks","getTextTrackEntries","entries","entry","isFinite","push","text","String","Text","decodeGrannyCurve","error","normalized","decodedDirect","decoded","decodeAnimationCurve","valueDimension","ValueDimension","knotCount","KnotCount","isSafeInteger","decodeElements","Knots","knotType","KnotType","values","Values","valueType","ValueType","interpolation","Interpolation","sampleGrannyCurve","#asRecord","#asTrackSource","record","#asTrackGroup","#findTrackSource","depth","direct","key","nested","#getArray","lowerKey","upperKey","lower","Array","isArray","upper","#hasArrayValue","#getName","Name","#getEntryTime","timeStamp","TimeStamp","timestamp","NaN","#normalizeTransformTrack","orientation","Orientation","position","Position","scaleShear","ScaleShear","#normalizeVectorTrack","valueCurve","ValueCurve","#normalizeCurve","Format","Degree","Controls","Dimension","#getDecodedCurve","curveDimension","#lowerFirst","toLowerCase","slice","#copyControl","offset","i","#findKnotIndex","low","high","mid","#sampleKeyframedCurve","frame","trunc","#sampleLinearCurve","knot0","start","end","localTime","t","p0","p1","#sampleQuadraticCurve","k2","k1","ti2","ti1","ti","tiNext","d0","d1a","d1b","l0","l1a","l1b","c2","ci","c1","p2","ANIMATION_ELEMENT_TYPES","typeValue","type","size","elementTypeSize","ArrayBuffer","isView","Uint8Array","from","map","bytes","asByteView","byteLength","TypeError","view","DataView","buffer","byteOffset","_","readElement","getFloat32","num","fromHalfFloat","getUint16","getInt16","getUint8","getInt8","exactDiv","numerator","divisor","what","isInteger","knotScaleFromTrunc","oneOverKnotScaleTrunc","Uint32Array","knotsFromControls","knotsControls","scale","knotsFromControlsTrunc","identityControls","c","decodeDaK","controlScaleOffsets","x","quatFromControl16","a","b","scales","offsets","swizzle1","swizzle2","swizzle3","swizzle4","dataA","dataB","dataC","dataD","sqrt","decodeD4n","scaleTableMultiplier","oneOverKnotScale","selector","scaleOffsetTableEntries","quat","quatFromControl8","decodeD3K","controlScales","controlOffsets","decodeD9I1","controlScale","controlOffset","fill","s","decodeD9I3","d3I1Controls","decodeD3I1u"],"mappings":"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"}
1
+ {"version":3,"file":"CjsGrannyCurves.js","sources":["../../../src/curves/CjsGrannyCurves.js"],"sourcesContent":["/**\r\n * Granny animation-curve decoding authored by cppctamber for ccpwgl2.\r\n *\r\n * This local copy decodes and samples already-materialized curve data without\r\n * coupling runtime-trinity to a GR2 container reader. The former format-gr2\r\n * licensing boundary is resolved: its BitKnit2 decoder was replaced by a\r\n * clean-room implementation, the package is MIT, and the canonical reader now\r\n * lives at @carbonenginejs/runtime-resource/formats/gr2.\r\n */\r\nimport { num } from \"@carbonenginejs/runtime-utils/num\";\r\n\r\nconst fr = Math.fround;\r\nconst CURVE_DECODERS = Object.freeze([Object.freeze({\r\n format: 0,\r\n decode: decodeDaKeyframes32f\r\n}), Object.freeze({\r\n format: 1,\r\n decode: decodeDaK32fC32f\r\n}), Object.freeze({\r\n format: 2,\r\n decode: decodeDaIdentity\r\n}), Object.freeze({\r\n format: 3,\r\n decode: decodeDaConstant32f\r\n}), Object.freeze({\r\n format: 4,\r\n decode: decodeD3Constant32f\r\n}), Object.freeze({\r\n format: 5,\r\n decode: decodeD4Constant32f\r\n}), Object.freeze({\r\n format: 6,\r\n decode: decodeDaK16uC16u\r\n}), Object.freeze({\r\n format: 7,\r\n decode: decodeDaK8uC8u\r\n}), Object.freeze({\r\n format: 8,\r\n decode: decodeD4nK16uC15u\r\n}), Object.freeze({\r\n format: 9,\r\n decode: decodeD4nK8uC7u\r\n}), Object.freeze({\r\n format: 10,\r\n decode: decodeD3K16uC16u\r\n}), Object.freeze({\r\n format: 11,\r\n decode: decodeD3K8uC8u\r\n}), Object.freeze({\r\n format: 12,\r\n decode: decodeD9I1K16uC16u\r\n}), Object.freeze({\r\n format: 13,\r\n decode: decodeD9I3K16uC16u\r\n}), Object.freeze({\r\n format: 14,\r\n decode: decodeD9I1K8uC8u\r\n}), Object.freeze({\r\n format: 15,\r\n decode: decodeD9I3K8uC8u\r\n}), Object.freeze({\r\n format: 16,\r\n decode: decodeD3I1K32fC32f\r\n}), Object.freeze({\r\n format: 17,\r\n decode: decodeD3I1K16uC16u\r\n}), Object.freeze({\r\n format: 18,\r\n decode: decodeD3I1K8uC8u\r\n})]);\r\nconst D4N_SCALE_TABLE = new Float32Array([1.4142135, 0.70710677, 0.35355338, 0.35355338, 0.35355338, 0.17677669, 0.17677669, 0.17677669, -1.4142135, -0.70710677, -0.35355338, -0.35355338, -0.35355338, -0.17677669, -0.17677669, -0.17677669]);\r\nconst D4N_OFFSET_TABLE = new Float32Array([-0.70710677, -0.35355338, -0.53033006, -0.17677669, 0.17677669, -0.17677669, -0.088388346, 0.0, 0.70710677, 0.35355338, 0.53033006, 0.17677669, -0.17677669, 0.17677669, 0.088388346, -0.0]);\r\nconst D4N_SCALE_TABLE_MULTIPLIER_16 = 0.000030518509;\r\nconst D4N_SCALE_TABLE_MULTIPLIER_8 = 0.0078740157;\r\n\r\n/**\r\n * Decodes Granny's 19 compressed animation-curve formats into explicit knots and\r\n * controls, and samples them at a time, without depending on a GR2 container\r\n * reader.\r\n */\r\nexport class CjsGrannyCurves\r\n{\r\n static #resources = new Map();\r\n\r\n /**\r\n * Decode a GR2 JSON curve object into explicit knots and controls.\r\n */\r\n static decodeCurve(curveJson, dimension)\r\n {\r\n if (!curveJson || typeof curveJson.format !== \"number\")\r\n {\r\n throw new Error(\"gr2reader: decodeCurve requires a curve object with a numeric format\");\r\n }\r\n const decoder = CURVE_DECODERS[curveJson.format];\r\n if (!decoder)\r\n {\r\n throw new Error(`gr2reader: unsupported granny curve format ${curveJson.format}`);\r\n }\r\n const {\r\n knots,\r\n controls,\r\n dimension: dim\r\n } = decoder.decode(curveJson, dimension);\r\n if (dimension && dim && dim !== dimension)\r\n {\r\n throw new Error(`gr2reader: curve format ${curveJson.format} decoded dimension ${dim} does not match track dimension ${dimension}`);\r\n }\r\n return {\r\n knots,\r\n controls,\r\n degree: Number(curveJson.degree) || 0,\r\n dimension: dim || dimension\r\n };\r\n }\r\n\r\n /**\r\n * Sample a decoded Granny curve into caller-provided output.\r\n */\r\n static sampleDecodedCurve(out, curve, time, cycle = false, duration = 0, options = {})\r\n {\r\n if (!curve || !curve.knots || !curve.controls || !curve.dimension)\r\n {\r\n return out;\r\n }\r\n const knots = curve.knots,\r\n count = knots.length,\r\n dim = curve.dimension,\r\n controlCount = curve.controls.length / dim;\r\n if (!count || !controlCount)\r\n {\r\n return out;\r\n }\r\n if (options.keyframed)\r\n {\r\n return CjsGrannyCurves.#copyControl(out, curve, CjsGrannyCurves.#sampleKeyframedCurve(count, time, duration));\r\n }\r\n const knot = CjsGrannyCurves.#findKnotIndex(knots, time);\r\n if (curve.degree <= 0 || count === 1 || controlCount === 1)\r\n {\r\n const index = time >= knots[count - 1]\r\n ? count - 1\r\n : Math.max(0, knot - 1);\r\n return CjsGrannyCurves.#copyControl(out, curve, Math.min(index, controlCount - 1));\r\n }\r\n if (curve.degree === 1)\r\n {\r\n return CjsGrannyCurves.#sampleLinearCurve(out, curve, time, cycle, duration || knots[count - 1], knot);\r\n }\r\n return CjsGrannyCurves.#sampleQuadraticCurve(out, curve, time, cycle, duration || knots[count - 1], knot);\r\n }\r\n\r\n /**\r\n * Registers a decoded Granny source under a resource path so tracks can\r\n * resolve it later; the caller retains ownership of the source object.\r\n */\r\n static registerResource(path, source)\r\n {\r\n if (path)\r\n {\r\n CjsGrannyCurves.#resources.set(path, source);\r\n }\r\n }\r\n\r\n /** Drops the registration for a resource path. */\r\n static unregisterResource(path)\r\n {\r\n CjsGrannyCurves.#resources.delete(path);\r\n }\r\n\r\n /** Drops every registered Granny source. */\r\n static clearResources()\r\n {\r\n CjsGrannyCurves.#resources.clear();\r\n }\r\n\r\n /** Gets the source registered for a resource path, or null. */\r\n static resolveResource(path)\r\n {\r\n return CjsGrannyCurves.#resources.get(path) ?? null;\r\n }\r\n\r\n /**\r\n * Unwraps an arbitrary loader result down to the object that actually carries\r\n * an `animations` array, searching nested json/data/value/source/fileInfo keys\r\n * up to eight levels deep.\r\n */\r\n static getTrackSource(value)\r\n {\r\n return CjsGrannyCurves.#findTrackSource(value, 0);\r\n }\r\n\r\n /**\r\n * Gets a source's animation list, accepting either the camel-case or\r\n * Pascal-case key and returning an empty array when absent.\r\n */\r\n static getAnimations(source)\r\n {\r\n return CjsGrannyCurves.#getArray(source, \"animations\", \"Animations\");\r\n }\r\n\r\n /**\r\n * Gets an animation's track group list, accepting either the camel-case or\r\n * Pascal-case key and returning an empty array when absent.\r\n */\r\n static getTrackGroups(animation)\r\n {\r\n return CjsGrannyCurves.#getArray(animation, \"trackGroups\", \"TrackGroups\");\r\n }\r\n\r\n /**\r\n * Gets an animation's duration in seconds, or 0 when it is absent or\r\n * non-numeric.\r\n */\r\n static getAnimationDuration(animation)\r\n {\r\n return Number(animation.duration ?? animation.Duration) || 0;\r\n }\r\n\r\n /**\r\n * Gets an animation's authored time step in seconds, or 0 when it is absent or\r\n * non-numeric.\r\n */\r\n static getAnimationTimeStep(animation)\r\n {\r\n return Number(animation.timeStep ?? animation.TimeStep) || 0;\r\n }\r\n\r\n /**\r\n * Finds a named transform track in a track group and returns it with its\r\n * orientation, position and scaleShear curves normalized to camel-case keys.\r\n */\r\n static findTransformTrack(group, name)\r\n {\r\n const trackGroup = CjsGrannyCurves.#asTrackGroup(group);\r\n if (!trackGroup)\r\n {\r\n return null;\r\n }\r\n const tracks = CjsGrannyCurves.#getArray(trackGroup, \"transformTracks\", \"TransformTracks\");\r\n const track = tracks.find(item => CjsGrannyCurves.#getName(item) === name);\r\n return track ? CjsGrannyCurves.#normalizeTransformTrack(track) : null;\r\n }\r\n\r\n /**\r\n * Finds a named vector track in a track group and returns it with its\r\n * valueCurve normalized to a camel-case key.\r\n */\r\n static findVectorTrack(group, name)\r\n {\r\n const trackGroup = CjsGrannyCurves.#asTrackGroup(group);\r\n if (!trackGroup)\r\n {\r\n return null;\r\n }\r\n const tracks = CjsGrannyCurves.#getArray(trackGroup, \"vectorTracks\", \"VectorTracks\");\r\n const track = tracks.find(item => CjsGrannyCurves.#getName(item) === name);\r\n return track ? CjsGrannyCurves.#normalizeVectorTrack(track) : null;\r\n }\r\n\r\n /** Finds a named text (event) track in a track group, or null. */\r\n static findTextTrack(group, name)\r\n {\r\n const trackGroup = CjsGrannyCurves.#asTrackGroup(group);\r\n if (!trackGroup)\r\n {\r\n return null;\r\n }\r\n const textTracks = CjsGrannyCurves.#getArray(trackGroup, \"textTracks\", \"TextTracks\");\r\n return textTracks.find(track => CjsGrannyCurves.#getName(track) === name) ?? null;\r\n }\r\n\r\n /**\r\n * Flattens a text track into `{ time, text }` records in source order,\r\n * dropping entries whose timestamp is not a finite number.\r\n */\r\n static getTextTrackEntries(track)\r\n {\r\n const entries = CjsGrannyCurves.#getArray(track, \"entries\", \"Entries\");\r\n const out = [];\r\n for (const entry of entries)\r\n {\r\n const time = CjsGrannyCurves.#getEntryTime(entry);\r\n if (Number.isFinite(time))\r\n {\r\n out.push({ time, text: String(entry.text ?? entry.Text ?? \"\") });\r\n }\r\n }\r\n return out;\r\n }\r\n\r\n /**\r\n * Decodes one Granny curve to the shared sampler shape for the expected\r\n * dimension, first reusing already-explicit knots and controls when present\r\n * and otherwise running the format decoder; returns null instead of throwing\r\n * for an errored, malformed or unsupported curve.\r\n */\r\n static decodeGrannyCurve(curve, dimension)\r\n {\r\n if (!curve || curve.error || curve.Error)\r\n {\r\n return null;\r\n }\r\n const normalized = CjsGrannyCurves.#normalizeCurve(curve);\r\n const decodedDirect = CjsGrannyCurves.#getDecodedCurve(normalized, dimension);\r\n if (decodedDirect)\r\n {\r\n return decodedDirect;\r\n }\r\n if (typeof normalized.format !== \"number\" || typeof normalized.degree !== \"number\")\r\n {\r\n return null;\r\n }\r\n try\r\n {\r\n const decoded = CjsGrannyCurves.decodeCurve(normalized, dimension);\r\n return {\r\n format: normalized.format,\r\n knots: decoded.knots,\r\n controls: decoded.controls,\r\n degree: decoded.degree,\r\n dimension: decoded.dimension,\r\n keyframed: normalized.format === 0\r\n };\r\n }\r\n catch\r\n {\r\n return null;\r\n }\r\n }\r\n\r\n /** Decodes an already-materialized Carbon animation curve into the shared sampler shape. */\r\n static decodeAnimationCurve(curve, dimension)\r\n {\r\n if (!curve)\r\n {\r\n return null;\r\n }\r\n\r\n const valueDimension = Number(curve.valueDimension ?? curve.ValueDimension);\r\n const knotCount = Number(curve.knotCount ?? curve.KnotCount);\r\n if (valueDimension !== dimension || !Number.isSafeInteger(knotCount) || knotCount <= 0)\r\n {\r\n return null;\r\n }\r\n\r\n try\r\n {\r\n const knots = decodeElements(\r\n curve.knots ?? curve.Knots,\r\n curve.knotType ?? curve.KnotType,\r\n knotCount\r\n );\r\n const controls = decodeElements(\r\n curve.values ?? curve.Values,\r\n curve.valueType ?? curve.ValueType,\r\n knotCount * valueDimension\r\n );\r\n const interpolation = curve.interpolation ?? curve.Interpolation;\r\n\r\n return {\r\n knots,\r\n controls,\r\n degree: interpolation === \"Step\" || interpolation === 0 ? 0 : 1,\r\n dimension: valueDimension,\r\n keyframed: false\r\n };\r\n }\r\n catch\r\n {\r\n return null;\r\n }\r\n }\r\n\r\n /**\r\n * Samples a decoded curve into the caller-owned `out` array, taking the\r\n * keyframed flag from the curve itself; `out` must hold at least the curve's\r\n * dimension.\r\n */\r\n static sampleGrannyCurve(out, curve, time, cycle, duration)\r\n {\r\n CjsGrannyCurves.sampleDecodedCurve(out, curve, time, cycle, duration, {\r\n keyframed: curve.keyframed\r\n });\r\n return out;\r\n }\r\n\r\n /** Narrows a value to a non-null object, otherwise null. */\r\n static #asRecord(value)\r\n {\r\n return value !== null && typeof value === \"object\" ? value : null;\r\n }\r\n\r\n /**\r\n * Accepts a value as a Granny source only if it carries an animations array\r\n * under either casing.\r\n */\r\n static #asTrackSource(value)\r\n {\r\n const record = CjsGrannyCurves.#asRecord(value);\r\n return CjsGrannyCurves.#hasArrayValue(record, \"animations\", \"Animations\") ? record : null;\r\n }\r\n\r\n /** Narrows a value to a non-null object usable as a track group. */\r\n static #asTrackGroup(value)\r\n {\r\n return CjsGrannyCurves.#asRecord(value);\r\n }\r\n\r\n /**\r\n * Recursively searches the common wrapper keys for the object carrying the\r\n * animations array, stopping past depth 8 to bound cyclic or deeply nested\r\n * loader results.\r\n */\r\n static #findTrackSource(value, depth)\r\n {\r\n const direct = CjsGrannyCurves.#asTrackSource(value);\r\n if (direct)\r\n {\r\n return direct;\r\n }\r\n const record = CjsGrannyCurves.#asRecord(value);\r\n if (!record || depth > 8)\r\n {\r\n return null;\r\n }\r\n for (const key of [\"json\", \"Json\", \"data\", \"Data\", \"value\", \"Value\", \"source\", \"Source\", \"fileInfo\", \"FileInfo\"])\r\n {\r\n const nested = CjsGrannyCurves.#findTrackSource(record[key], depth + 1);\r\n if (nested)\r\n {\r\n return nested;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Reads an array property under either the camel-case or Pascal-case key,\r\n * returning an empty array when neither holds one.\r\n */\r\n static #getArray(value, lowerKey, upperKey)\r\n {\r\n const lower = value[lowerKey];\r\n if (Array.isArray(lower))\r\n {\r\n return lower;\r\n }\r\n const upper = value[upperKey];\r\n return Array.isArray(upper) ? upper : [];\r\n }\r\n\r\n /** Checks whether either the camel-case or Pascal-case key holds an array. */\r\n static #hasArrayValue(value, lowerKey, upperKey)\r\n {\r\n return Array.isArray(value?.[lowerKey]) || Array.isArray(value?.[upperKey]);\r\n }\r\n\r\n /** Reads a name under either the camel-case or Pascal-case key. */\r\n static #getName(value)\r\n {\r\n return value.name ?? value.Name;\r\n }\r\n\r\n /**\r\n * Reads a text-track entry's time from timeStamp, TimeStamp, timestamp or\r\n * time, returning NaN when none is numeric.\r\n */\r\n static #getEntryTime(entry)\r\n {\r\n const value = entry.timeStamp ?? entry.TimeStamp ?? entry.timestamp ?? entry.time;\r\n return typeof value === \"number\" ? value : Number.NaN;\r\n }\r\n\r\n /**\r\n * Copies a transform track with its name and its orientation, position and\r\n * scaleShear curves exposed under camel-case keys.\r\n */\r\n static #normalizeTransformTrack(track)\r\n {\r\n return {\r\n ...track,\r\n name: CjsGrannyCurves.#getName(track),\r\n orientation: track.orientation ?? track.Orientation,\r\n position: track.position ?? track.Position,\r\n scaleShear: track.scaleShear ?? track.ScaleShear\r\n };\r\n }\r\n\r\n /**\r\n * Copies a vector track with its name and valueCurve exposed under camel-case\r\n * keys.\r\n */\r\n static #normalizeVectorTrack(track)\r\n {\r\n return {\r\n ...track,\r\n name: CjsGrannyCurves.#getName(track),\r\n valueCurve: track.valueCurve ?? track.ValueCurve\r\n };\r\n }\r\n\r\n /**\r\n * Copies a curve object with every Pascal-case key also exposed camel-case, so\r\n * the format decoders can read one casing regardless of how the source was\r\n * produced.\r\n */\r\n static #normalizeCurve(curve)\r\n {\r\n const normalized = { ...curve };\r\n for (const [key, value] of Object.entries(curve))\r\n {\r\n const lowerKey = CjsGrannyCurves.#lowerFirst(key);\r\n if (!(lowerKey in normalized))\r\n {\r\n normalized[lowerKey] = value;\r\n }\r\n }\r\n normalized.format = curve.format ?? curve.Format;\r\n normalized.degree = curve.degree ?? curve.Degree;\r\n normalized.knots = curve.knots ?? curve.Knots;\r\n normalized.controls = curve.controls ?? curve.Controls;\r\n normalized.dimension = curve.dimension ?? curve.Dimension;\r\n normalized.error = curve.error ?? curve.Error;\r\n return normalized;\r\n }\r\n\r\n /**\r\n * Reuses a curve that already carries explicit knot and control arrays,\r\n * rejecting it when the dimension does not match the track or the control\r\n * count is not a whole number of samples.\r\n */\r\n static #getDecodedCurve(curve, dimension)\r\n {\r\n const knots = curve.knots;\r\n const controls = curve.controls;\r\n const curveDimension = Number(curve.dimension) || dimension;\r\n if (!Array.isArray(knots) || !Array.isArray(controls) || curveDimension !== dimension || controls.length % curveDimension !== 0)\r\n {\r\n return null;\r\n }\r\n return {\r\n format: curve.format,\r\n knots,\r\n controls,\r\n degree: Number(curve.degree) || 0,\r\n dimension: curveDimension,\r\n keyframed: curve.format === 0\r\n };\r\n }\r\n\r\n /** Lower-cases the first character of a key name. */\r\n static #lowerFirst(value)\r\n {\r\n return value ? value[0].toLowerCase() + value.slice(1) : value;\r\n }\r\n\r\n /** Copies one whole control sample into the caller-owned `out` array. */\r\n static #copyControl(out, curve, index)\r\n {\r\n const offset = index * curve.dimension;\r\n for (let i = 0; i < curve.dimension; i++)\r\n {\r\n out[i] = curve.controls[offset + i];\r\n }\r\n return out;\r\n }\r\n\r\n /**\r\n * Binary-searches the knot array for the index of the first knot strictly\r\n * greater than the time.\r\n */\r\n static #findKnotIndex(knots, time)\r\n {\r\n let low = 0;\r\n let high = knots.length - 1;\r\n while (low < high)\r\n {\r\n const mid = low + high >> 1;\r\n if (knots[mid] > time)\r\n {\r\n high = mid;\r\n }\r\n else\r\n {\r\n low = mid + 1;\r\n }\r\n }\r\n return low;\r\n }\r\n\r\n /**\r\n * Maps a time onto a frame index for a uniformly keyframed curve, clamping to\r\n * the first and last frame; a duration of zero always yields frame 0.\r\n */\r\n static #sampleKeyframedCurve(count, time, duration)\r\n {\r\n const frame = duration > 0 ? Math.trunc(count * time / duration) : 0;\r\n return Math.max(0, Math.min(count - 1, frame));\r\n }\r\n\r\n /**\r\n * Linearly interpolates a degree-1 curve into `out`, wrapping the segment\r\n * around the end of the knot array and shifting the times by one duration when\r\n * cycling.\r\n */\r\n static #sampleLinearCurve(out, curve, time, cycle, duration, knot)\r\n {\r\n const knots = curve.knots;\r\n const count = knots.length;\r\n const dim = curve.dimension;\r\n const knot0 = cycle ? (knot + count - 1) % count : knot === 0 ? 0 : knot - 1;\r\n const start = knots[knot0];\r\n let end = knots[knot];\r\n let localTime = time;\r\n if (cycle && end < start)\r\n {\r\n end += duration;\r\n }\r\n if (cycle && localTime < start)\r\n {\r\n localTime += duration;\r\n }\r\n const t = end !== start ? (localTime - start) / (end - start) : 0;\r\n const p0 = knot0 * dim;\r\n const p1 = knot * dim;\r\n for (let i = 0; i < dim; i++)\r\n {\r\n out[i] = curve.controls[p0 + i] * (1 - t) + curve.controls[p1 + i] * t;\r\n }\r\n return out;\r\n }\r\n\r\n /**\r\n * Evaluates a degree-2 curve into `out` from the three controls ending at the\r\n * found knot, shifting out-of-order times by one duration so a cycling curve\r\n * stays monotonic.\r\n */\r\n static #sampleQuadraticCurve(out, curve, time, cycle, duration, knot)\r\n {\r\n const knots = curve.knots;\r\n const count = knots.length;\r\n const dim = curve.dimension;\r\n const k2 = cycle ? (knot + count - 2) % count : knot === 0 ? 0 : Math.max(0, knot - 2);\r\n const k1 = cycle ? (knot + count - 1) % count : knot === 0 ? 0 : knot - 1;\r\n const ti2 = knots[k2];\r\n const ti1 = knots[k1];\r\n let ti = knots[knot];\r\n let tiNext = knots[(knot + 1) % count];\r\n let localTime = time;\r\n if (ti2 > ti)\r\n {\r\n ti += duration;\r\n tiNext += duration;\r\n localTime += duration;\r\n }\r\n if (ti1 > ti)\r\n {\r\n ti += duration;\r\n tiNext += duration;\r\n localTime += duration;\r\n }\r\n if (tiNext < ti)\r\n {\r\n tiNext += duration;\r\n }\r\n const d0 = ti - ti1;\r\n const d1a = ti - ti2;\r\n const d1b = tiNext - ti1;\r\n const l0 = d0 !== 0 ? (localTime - ti1) / d0 : 0;\r\n const l1a = d1a !== 0 ? (localTime - ti2) / d1a : 0;\r\n const l1b = d1b !== 0 ? (localTime - ti1) / d1b : 0;\r\n let c2 = l1a + l0 - l0 * l1a;\r\n const ci = l0 * l1b;\r\n const c1 = c2 - ci;\r\n c2 = 1 - c2;\r\n const p0 = k2 * dim;\r\n const p1 = k1 * dim;\r\n const p2 = knot * dim;\r\n for (let i = 0; i < dim; i++)\r\n {\r\n out[i] = c2 * curve.controls[p0 + i] + c1 * curve.controls[p1 + i] + ci * curve.controls[p2 + i];\r\n }\r\n return out;\r\n }\r\n}\r\n\r\nconst ANIMATION_ELEMENT_TYPES = Object.freeze([\r\n \"Float32\",\r\n \"Float16\",\r\n \"UInt16Norm\",\r\n \"UInt16\",\r\n \"Int16Norm\",\r\n \"Int16\",\r\n \"UInt8Norm\",\r\n \"UInt8\",\r\n \"Int8Norm\",\r\n \"Int8\"\r\n]);\r\n\r\nfunction decodeElements(value, typeValue, count)\r\n{\r\n const type = typeof typeValue === \"number\" ? ANIMATION_ELEMENT_TYPES[typeValue] : typeValue;\r\n const size = elementTypeSize(type);\r\n\r\n if (ArrayBuffer.isView(value) && !(value instanceof Uint8Array) && value.length === count)\r\n {\r\n return Array.from(value, Number);\r\n }\r\n if (Array.isArray(value) && size > 1 && value.length === count)\r\n {\r\n return value.map(Number);\r\n }\r\n\r\n const bytes = asByteView(value);\r\n if (!bytes || bytes.byteLength < count * size)\r\n {\r\n throw new TypeError(\"Animation curve data is incomplete\");\r\n }\r\n\r\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\r\n return Array.from({ length: count }, (_, index) => readElement(view, index * size, type));\r\n}\r\n\r\nfunction asByteView(value)\r\n{\r\n if (value instanceof Uint8Array)\r\n {\r\n return value;\r\n }\r\n if (ArrayBuffer.isView(value))\r\n {\r\n return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\r\n }\r\n if (value instanceof ArrayBuffer)\r\n {\r\n return new Uint8Array(value);\r\n }\r\n return Array.isArray(value) ? Uint8Array.from(value) : null;\r\n}\r\n\r\nfunction elementTypeSize(type)\r\n{\r\n switch (type)\r\n {\r\n case \"Float32\":\r\n return 4;\r\n case \"Float16\":\r\n case \"UInt16Norm\":\r\n case \"UInt16\":\r\n case \"Int16Norm\":\r\n case \"Int16\":\r\n return 2;\r\n case \"UInt8Norm\":\r\n case \"UInt8\":\r\n case \"Int8Norm\":\r\n case \"Int8\":\r\n return 1;\r\n default:\r\n throw new TypeError(`Unsupported animation curve element type \"${type}\"`);\r\n }\r\n}\r\n\r\nfunction readElement(view, offset, type)\r\n{\r\n switch (type)\r\n {\r\n case \"Float32\":\r\n return view.getFloat32(offset, true);\r\n case \"Float16\":\r\n return num.fromHalfFloat(view.getUint16(offset, true));\r\n case \"UInt16Norm\":\r\n return view.getUint16(offset, true) / 65535;\r\n case \"UInt16\":\r\n return view.getUint16(offset, true);\r\n case \"Int16Norm\":\r\n return Math.max(view.getInt16(offset, true) / 32767, -1);\r\n case \"Int16\":\r\n return view.getInt16(offset, true);\r\n case \"UInt8Norm\":\r\n return view.getUint8(offset) / 255;\r\n case \"UInt8\":\r\n return view.getUint8(offset);\r\n case \"Int8Norm\":\r\n return Math.max(view.getInt8(offset) / 127, -1);\r\n case \"Int8\":\r\n return view.getInt8(offset);\r\n default:\r\n throw new TypeError(`Unsupported animation curve element type \"${type}\"`);\r\n }\r\n}\r\n\r\nfunction exactDiv(numerator, divisor, what)\r\n{\r\n const value = numerator / divisor;\r\n if (!Number.isInteger(value))\r\n {\r\n throw new Error(`gr2reader: curve ${what}: ${numerator} is not divisible by ${divisor}`);\r\n }\r\n return value;\r\n}\r\nfunction knotScaleFromTrunc(oneOverKnotScaleTrunc)\r\n{\r\n const buffer = new Uint32Array([oneOverKnotScaleTrunc << 16]);\r\n return new Float32Array(buffer.buffer)[0];\r\n}\r\nfunction knotsFromControls(knotsControls, count, scale)\r\n{\r\n const out = new Array(count);\r\n for (let i = 0; i < count; i++)\r\n {\r\n out[i] = fr(knotsControls[i] / scale);\r\n }\r\n return out;\r\n}\r\nfunction knotsFromControlsTrunc(knotsControls, count, oneOverKnotScaleTrunc)\r\n{\r\n return knotsFromControls(knotsControls, count, knotScaleFromTrunc(oneOverKnotScaleTrunc));\r\n}\r\nfunction identityControls(dimension)\r\n{\r\n switch (dimension)\r\n {\r\n case 3:\r\n return [0, 0, 0];\r\n case 4:\r\n return [0, 0, 0, 1];\r\n case 9:\r\n return [1, 0, 0, 0, 1, 0, 0, 0, 1];\r\n default:\r\n throw new Error(`gr2reader: invalid curve dimension ${dimension}`);\r\n }\r\n}\r\nfunction decodeDaKeyframes32f(c, dimension)\r\n{\r\n const dim = c.dimension || dimension,\r\n controls = c.controls || [],\r\n count = exactDiv(controls.length, dim, \"DaKeyframes32f controls/dimension\"),\r\n knots = new Array(count);\r\n for (let i = 0; i < count; i++)\r\n {\r\n knots[i] = i;\r\n }\r\n return {\r\n knots,\r\n controls: controls.map(fr),\r\n dimension: dim\r\n };\r\n}\r\nfunction decodeDaK32fC32f(c, dimension)\r\n{\r\n const knots = (c.knots || []).map(fr),\r\n controls = (c.controls || []).map(fr),\r\n dim = knots.length ? exactDiv(controls.length, knots.length, \"DaK32fC32f controls/knots\") : dimension;\r\n return {\r\n knots,\r\n controls,\r\n dimension: dim\r\n };\r\n}\r\nfunction decodeDaIdentity(c, dimension)\r\n{\r\n const dim = c.dimension || dimension;\r\n return {\r\n knots: [0],\r\n controls: identityControls(dim),\r\n dimension: dim\r\n };\r\n}\r\nfunction decodeDaConstant32f(c, dimension)\r\n{\r\n const controls = (c.controls || []).map(fr);\r\n return {\r\n knots: [0],\r\n controls,\r\n dimension: controls.length || dimension\r\n };\r\n}\r\nfunction decodeD3Constant32f(c)\r\n{\r\n const controls = (c.controls || [0, 0, 0]).slice(0, 3).map(fr);\r\n return {\r\n knots: [0],\r\n controls,\r\n dimension: 3\r\n };\r\n}\r\nfunction decodeD4Constant32f(c)\r\n{\r\n const controls = (c.controls || [0, 0, 0, 1]).slice(0, 4).map(fr);\r\n return {\r\n knots: [0],\r\n controls,\r\n dimension: 4\r\n };\r\n}\r\nfunction decodeDaK(c)\r\n{\r\n const controlScaleOffsets = c.controlScaleOffsets || [],\r\n knotsControls = c.knotsControls || [],\r\n dim = exactDiv(controlScaleOffsets.length, 2, \"DaK controlScaleOffsets/2\"),\r\n count = exactDiv(knotsControls.length, dim + 1, \"DaK knotsControls/(dim+1)\"),\r\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0),\r\n controls = new Array(count * dim);\r\n for (let i = 0; i < count; i++)\r\n {\r\n for (let x = 0; x < dim; x++)\r\n {\r\n controls[i * dim + x] = fr(knotsControls[count + i * dim + x] * controlScaleOffsets[x] + controlScaleOffsets[dim + x]);\r\n }\r\n }\r\n return {\r\n knots,\r\n controls,\r\n dimension: dim\r\n };\r\n}\r\nfunction quatFromControl16(out, a, b, c, scales, offsets)\r\n{\r\n const swizzle1 = (b & 0x8000) >> 14 | c >> 15,\r\n swizzle2 = swizzle1 + 1 & 3,\r\n swizzle3 = swizzle2 + 1 & 3,\r\n swizzle4 = swizzle3 + 1 & 3;\r\n const dataA = (a & 0x7fff) * scales[swizzle2] + offsets[swizzle2],\r\n dataB = (b & 0x7fff) * scales[swizzle3] + offsets[swizzle3],\r\n dataC = (c & 0x7fff) * scales[swizzle4] + offsets[swizzle4];\r\n let dataD = Math.sqrt(Math.max(0, 1 - (dataA * dataA + dataB * dataB + dataC * dataC)));\r\n if ((a & 0x8000) !== 0)\r\n {\r\n dataD = -dataD;\r\n }\r\n out[swizzle2] = fr(dataA);\r\n out[swizzle3] = fr(dataB);\r\n out[swizzle4] = fr(dataC);\r\n out[swizzle1] = fr(dataD);\r\n return out;\r\n}\r\nfunction decodeD4n(c, decoder, scaleTableMultiplier)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 4, \"D4n knotsControls/4\"),\r\n knots = knotsFromControls(knotsControls, count, Number(c.oneOverKnotScale) || 0);\r\n const selector = (c.scaleOffsetTableEntries ?? 0) >>> 0,\r\n scales = new Float32Array([D4N_SCALE_TABLE[selector >> 0 & 0x0f] * scaleTableMultiplier, D4N_SCALE_TABLE[selector >> 4 & 0x0f] * scaleTableMultiplier, D4N_SCALE_TABLE[selector >> 8 & 0x0f] * scaleTableMultiplier, D4N_SCALE_TABLE[selector >> 12 & 0x0f] * scaleTableMultiplier]),\r\n offsets = new Float32Array([D4N_OFFSET_TABLE[selector >> 0 & 0x0f], D4N_OFFSET_TABLE[selector >> 4 & 0x0f], D4N_OFFSET_TABLE[selector >> 8 & 0x0f], D4N_OFFSET_TABLE[selector >> 12 & 0x0f]]);\r\n const controls = new Array(count * 4),\r\n quat = [0, 0, 0, 1];\r\n for (let i = 0; i < count; i++)\r\n {\r\n decoder(quat, knotsControls[count + i * 3], knotsControls[count + i * 3 + 1], knotsControls[count + i * 3 + 2], scales, offsets);\r\n controls[i * 4] = quat[0];\r\n controls[i * 4 + 1] = quat[1];\r\n controls[i * 4 + 2] = quat[2];\r\n controls[i * 4 + 3] = quat[3];\r\n }\r\n return {\r\n knots,\r\n controls,\r\n dimension: 4\r\n };\r\n}\r\nfunction decodeD4nK16uC15u(c)\r\n{\r\n return decodeD4n(c, quatFromControl16, D4N_SCALE_TABLE_MULTIPLIER_16);\r\n}\r\nfunction quatFromControl8(out, a, b, c, scales, offsets)\r\n{\r\n const swizzle1 = (b & 0x80) >> 6 | (c & 0x80) >> 7,\r\n swizzle2 = swizzle1 + 1 & 3,\r\n swizzle3 = swizzle2 + 1 & 3,\r\n swizzle4 = swizzle3 + 1 & 3;\r\n const dataA = (a & 0x7f) * scales[swizzle2] + offsets[swizzle2],\r\n dataB = (b & 0x7f) * scales[swizzle3] + offsets[swizzle3],\r\n dataC = (c & 0x7f) * scales[swizzle4] + offsets[swizzle4];\r\n let dataD = Math.sqrt(Math.max(0, 1 - (dataA * dataA + dataB * dataB + dataC * dataC)));\r\n if ((a & 0x80) !== 0)\r\n {\r\n dataD = -dataD;\r\n }\r\n out[swizzle2] = fr(dataA);\r\n out[swizzle3] = fr(dataB);\r\n out[swizzle4] = fr(dataC);\r\n out[swizzle1] = fr(dataD);\r\n return out;\r\n}\r\nfunction decodeD4nK8uC7u(c)\r\n{\r\n return decodeD4n(c, quatFromControl8, D4N_SCALE_TABLE_MULTIPLIER_8);\r\n}\r\nfunction decodeD3K(c)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 4, \"D3K knotsControls/4\"),\r\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0),\r\n controlScales = c.controlScales || [],\r\n controlOffsets = c.controlOffsets || [],\r\n controls = new Array(count * 3);\r\n for (let i = 0; i < count; i++)\r\n {\r\n for (let x = 0; x < 3; x++)\r\n {\r\n controls[i * 3 + x] = fr(knotsControls[count + i * 3 + x] * controlScales[x] + controlOffsets[x]);\r\n }\r\n }\r\n return {\r\n knots,\r\n controls,\r\n dimension: 3\r\n };\r\n}\r\nfunction decodeD9I1(c)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 2, \"D9I1 knotsControls/2\"),\r\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0);\r\n const scale = Array.isArray(c.controlScales) ? c.controlScales[0] ?? 0 : c.controlScale || 0,\r\n offset = Array.isArray(c.controlOffsets) ? c.controlOffsets[0] ?? 0 : c.controlOffset || 0,\r\n controls = new Array(count * 9).fill(0);\r\n for (let i = 0; i < count; i++)\r\n {\r\n const s = fr(knotsControls[count + i] * scale + offset);\r\n controls[i * 9] = s;\r\n controls[i * 9 + 4] = s;\r\n controls[i * 9 + 8] = s;\r\n }\r\n return {\r\n knots,\r\n controls,\r\n dimension: 9\r\n };\r\n}\r\nfunction decodeD9I3(c)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 4, \"D9I3 knotsControls/4\"),\r\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0),\r\n controlScales = c.controlScales || [],\r\n controlOffsets = c.controlOffsets || [],\r\n controls = new Array(count * 9).fill(0);\r\n for (let i = 0; i < count; i++)\r\n {\r\n controls[i * 9] = fr(knotsControls[count + i * 3] * controlScales[0] + controlOffsets[0]);\r\n controls[i * 9 + 4] = fr(knotsControls[count + i * 3 + 1] * controlScales[1] + controlOffsets[1]);\r\n controls[i * 9 + 8] = fr(knotsControls[count + i * 3 + 2] * controlScales[2] + controlOffsets[2]);\r\n }\r\n return {\r\n knots,\r\n controls,\r\n dimension: 9\r\n };\r\n}\r\nfunction d3I1Controls(knotsControls, count, scales, offsets)\r\n{\r\n const controls = new Array(count * 3);\r\n for (let i = 0; i < count; i++)\r\n {\r\n const value = knotsControls[count + i];\r\n controls[i * 3] = fr(value * scales[0] + offsets[0]);\r\n controls[i * 3 + 1] = fr(value * scales[1] + offsets[1]);\r\n controls[i * 3 + 2] = fr(value * scales[2] + offsets[2]);\r\n }\r\n return controls;\r\n}\r\nfunction decodeD3I1K32fC32f(c)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 2, \"D3I1K32f knotsControls/2\"),\r\n knots = new Array(count);\r\n for (let i = 0; i < count; i++)\r\n {\r\n knots[i] = fr(knotsControls[i]);\r\n }\r\n return {\r\n knots,\r\n controls: d3I1Controls(knotsControls, count, c.controlScales || [], c.controlOffsets || []),\r\n dimension: 3\r\n };\r\n}\r\nfunction decodeD3I1u(c)\r\n{\r\n const knotsControls = c.knotsControls || [],\r\n count = exactDiv(knotsControls.length, 2, \"D3I1 knotsControls/2\"),\r\n knots = knotsFromControlsTrunc(knotsControls, count, Number(c.oneOverKnotScaleTrunc) || 0);\r\n return {\r\n knots,\r\n controls: d3I1Controls(knotsControls, count, c.controlScales || [], c.controlOffsets || []),\r\n dimension: 3\r\n };\r\n}\r\nfunction decodeDaK16uC16u(c)\r\n{\r\n return decodeDaK(c);\r\n}\r\nfunction decodeDaK8uC8u(c)\r\n{\r\n return decodeDaK(c);\r\n}\r\nfunction decodeD3K16uC16u(c)\r\n{\r\n return decodeD3K(c);\r\n}\r\nfunction decodeD3K8uC8u(c)\r\n{\r\n return decodeD3K(c);\r\n}\r\nfunction decodeD9I1K16uC16u(c)\r\n{\r\n return decodeD9I1(c);\r\n}\r\nfunction decodeD9I1K8uC8u(c)\r\n{\r\n return decodeD9I1(c);\r\n}\r\nfunction decodeD9I3K16uC16u(c)\r\n{\r\n return decodeD9I3(c);\r\n}\r\nfunction decodeD9I3K8uC8u(c)\r\n{\r\n return decodeD9I3(c);\r\n}\r\nfunction decodeD3I1K16uC16u(c)\r\n{\r\n return decodeD3I1u(c);\r\n}\r\nfunction decodeD3I1K8uC8u(c)\r\n{\r\n return decodeD3I1u(c);\r\n}\r\n"],"names":["fr","Math","fround","CURVE_DECODERS","Object","freeze","format","decode","decodeDaKeyframes32f","decodeDaK32fC32f","decodeDaIdentity","decodeDaConstant32f","decodeD3Constant32f","decodeD4Constant32f","decodeDaK16uC16u","decodeDaK8uC8u","decodeD4nK16uC15u","decodeD4nK8uC7u","decodeD3K16uC16u","decodeD3K8uC8u","decodeD9I1K16uC16u","decodeD9I3K16uC16u","decodeD9I1K8uC8u","decodeD9I3K8uC8u","decodeD3I1K32fC32f","decodeD3I1K16uC16u","decodeD3I1K8uC8u","D4N_SCALE_TABLE","Float32Array","D4N_OFFSET_TABLE","D4N_SCALE_TABLE_MULTIPLIER_16","D4N_SCALE_TABLE_MULTIPLIER_8","CjsGrannyCurves","Map","decodeCurve","curveJson","dimension","Error","decoder","knots","controls","dim","degree","Number","sampleDecodedCurve","out","curve","time","cycle","duration","options","count","length","controlCount","keyframed","knot","index","max","min","registerResource","path","source","set","unregisterResource","delete","clearResources","clear","resolveResource","get","getTrackSource","value","getAnimations","getTrackGroups","animation","getAnimationDuration","Duration","getAnimationTimeStep","timeStep","TimeStep","findTransformTrack","group","name","trackGroup","tracks","track","find","item","findVectorTrack","findTextTrack","textTracks","getTextTrackEntries","entries","entry","isFinite","push","text","String","Text","decodeGrannyCurve","error","normalized","decodedDirect","decoded","decodeAnimationCurve","valueDimension","ValueDimension","knotCount","KnotCount","isSafeInteger","decodeElements","Knots","knotType","KnotType","values","Values","valueType","ValueType","interpolation","Interpolation","sampleGrannyCurve","#asRecord","#asTrackSource","record","#asTrackGroup","#findTrackSource","depth","direct","key","nested","#getArray","lowerKey","upperKey","lower","Array","isArray","upper","#hasArrayValue","#getName","Name","#getEntryTime","timeStamp","TimeStamp","timestamp","NaN","#normalizeTransformTrack","orientation","Orientation","position","Position","scaleShear","ScaleShear","#normalizeVectorTrack","valueCurve","ValueCurve","#normalizeCurve","Format","Degree","Controls","Dimension","#getDecodedCurve","curveDimension","#lowerFirst","toLowerCase","slice","#copyControl","offset","i","#findKnotIndex","low","high","mid","#sampleKeyframedCurve","frame","trunc","#sampleLinearCurve","knot0","start","end","localTime","t","p0","p1","#sampleQuadraticCurve","k2","k1","ti2","ti1","ti","tiNext","d0","d1a","d1b","l0","l1a","l1b","c2","ci","c1","p2","ANIMATION_ELEMENT_TYPES","typeValue","type","size","elementTypeSize","ArrayBuffer","isView","Uint8Array","from","map","bytes","asByteView","byteLength","TypeError","view","DataView","buffer","byteOffset","_","readElement","getFloat32","num","fromHalfFloat","getUint16","getInt16","getUint8","getInt8","exactDiv","numerator","divisor","what","isInteger","knotScaleFromTrunc","oneOverKnotScaleTrunc","Uint32Array","knotsFromControls","knotsControls","scale","knotsFromControlsTrunc","identityControls","c","decodeDaK","controlScaleOffsets","x","quatFromControl16","a","b","scales","offsets","swizzle1","swizzle2","swizzle3","swizzle4","dataA","dataB","dataC","dataD","sqrt","decodeD4n","scaleTableMultiplier","oneOverKnotScale","selector","scaleOffsetTableEntries","quat","quatFromControl8","decodeD3K","controlScales","controlOffsets","decodeD9I1","controlScale","controlOffset","fill","s","decodeD9I3","d3I1Controls","decodeD3I1u"],"mappings":"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"}
@@ -1,12 +1,18 @@
1
1
  import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../_virtual/_rollupPluginBabelHelpers.js';
2
- import { mat4 } from '@carbonenginejs/core-math/mat4';
3
- import { isArrayLike } from '@carbonenginejs/core-math/is';
4
- import { CjsModel } from '@carbonenginejs/core-types/model';
5
- import { io, type, carbon, impl } from '@carbonenginejs/core-types/schema';
2
+ import { mat4 } from '@carbonenginejs/runtime-utils/mat4';
3
+ import { isArrayLike } from '@carbonenginejs/runtime-utils/is';
4
+ import { CjsModel } from '@carbonenginejs/runtime-utils/model';
5
+ import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
6
6
  import { Tr2MatrixKey as _Tr2MatrixKey } from './Tr2MatrixKey.js';
7
7
 
8
8
  let _initProto, _initClass, _init_currentValue, _init_extra_currentValue, _init_name, _init_extra_name, _init_length, _init_extra_length, _init_cycle, _init_extra_cycle, _init_reversed, _init_extra_reversed, _init_startValue, _init_extra_startValue, _init_endValue, _init_extra_endValue, _init_skinnedObject, _init_extra_skinnedObject, _init_transform, _init_extra_transform, _init_keys, _init_extra_keys;
9
9
  const SPHERICAL_LINEAR = 4;
10
+
11
+ /**
12
+ * Matrix function that tracks a named bone on a skinned object, returning the
13
+ * authored transform composed with that bone's current matrix and the object's
14
+ * world transform rather than sampling its own keys.
15
+ */
10
16
  let _Tr2BoneMatrixCurve;
11
17
  new class extends _identity {
12
18
  static [class Tr2BoneMatrixCurve extends CjsModel {
@@ -191,6 +197,12 @@ new class extends _identity {
191
197
  GetBone() {
192
198
  return this.#bone;
193
199
  }
200
+
201
+ /**
202
+ * Gets the last key at or before a time, relying on the keys being sorted and
203
+ * falling back to the first key when the time precedes all of them; returns
204
+ * null for an empty curve.
205
+ */
194
206
  GetKeyForTime(time) {
195
207
  const keys = this.keys;
196
208
  if (!this.keys.length) {
@@ -206,6 +218,17 @@ new class extends _identity {
206
218
  }
207
219
  return best;
208
220
  }
221
+
222
+ /**
223
+ * Reads a bone's 16-component matrix through GetBoneMatrix or
224
+ * GetBoneTransform, returning null when the object exposes neither or returns
225
+ * a wrongly sized value.
226
+ */
227
+
228
+ /**
229
+ * Reads the skinned object's own 16-component world transform, or null when it
230
+ * exposes none.
231
+ */
209
232
  }];
210
233
  #identityMatrix = mat4.create();
211
234
  #keyInterpolations = new WeakMap();
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2BoneMatrixCurve.js","sources":["../../../src/curves/Tr2BoneMatrixCurve.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Curves\\Tr2BoneMatrixCurve.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Curves\\Tr2BoneMatrixCurve.cpp\nimport { mat4 } from \"@carbonenginejs/core-math/mat4\";\nimport { isArrayLike } from \"@carbonenginejs/core-math/is\";\nimport { CjsModel } from \"@carbonenginejs/core-types/model\";\nimport { carbon, impl, io, type } from \"@carbonenginejs/core-types/schema\";\nimport { Tr2MatrixKey } from \"./Tr2MatrixKey.js\";\n\n\nconst SPHERICAL_LINEAR = 4;\n\n\n@type.define({\n className: \"Tr2BoneMatrixCurve\",\n family: \"curves\"\n})\nexport class Tr2BoneMatrixCurve extends CjsModel\n{\n static #identityMatrix = mat4.create();\n\n static #keyInterpolations = new WeakMap();\n\n @io.read\n @type.mat4\n currentValue = mat4.create();\n\n @io.persist\n @type.string\n name = \"\";\n\n @io.persist\n @type.float32\n length = 1;\n\n @io.persist\n @type.boolean\n cycle = true;\n\n @io.persist\n @type.boolean\n reversed = false;\n\n @io.persist\n @type.mat4\n startValue = mat4.create();\n\n @io.persist\n @type.mat4\n endValue = mat4.create();\n\n @io.readwrite\n @type.objectRef(\"Tr2SkinnedObject\")\n skinnedObject = null;\n\n @io.persist\n @type.mat4\n transform = mat4.create();\n\n @io.persistOnly\n @type.list(\"Tr2MatrixKey\")\n keys = [];\n\n #bone = \"\";\n\n #scratch = mat4.create();\n\n /**\n * Initializes sorted keys and cached value.\n */\n @carbon.method\n @impl.adapted\n Initialize()\n {\n this.Sort();\n this.UpdateValue(0);\n return true;\n }\n\n /**\n * Gets authored duration.\n */\n @carbon.method\n @impl.implemented\n Length()\n {\n const keys = this.keys;\n const length = this.length;\n return length || (keys.length ? keys[keys.length - 1].time : 0);\n }\n\n /**\n * Updates cached matrix value.\n */\n @carbon.method\n @impl.adapted\n UpdateValue(time)\n {\n this.GetValueAt(time, this.currentValue);\n }\n\n /**\n * Gets matrix value at a time.\n */\n @carbon.method\n @impl.adapted\n GetValueAt(_time, out)\n {\n const boneMatrix = Tr2BoneMatrixCurve.#getBoneMatrix(this.skinnedObject, this.#bone);\n if (!boneMatrix)\n {\n return mat4.identity(out);\n }\n // Carbon (row-vector): (m_transform * bone) * world - m_transform first,\n // world last (XMMatrixMultiply is row-vector A*B).\n mat4.multiply(this.#scratch, boneMatrix, this.transform);\n const worldTransform = Tr2BoneMatrixCurve.#getSkinnedObjectTransform(this.skinnedObject);\n return worldTransform ? mat4.multiply(out, worldTransform, this.#scratch) : mat4.copy(out, this.#scratch);\n }\n\n /**\n * Gets matrix value at a time.\n */\n @carbon.method\n @impl.adapted\n GetValue(time, out)\n {\n return this.GetValueAt(time, out);\n }\n\n /**\n * Sorts keys by time.\n */\n @carbon.method\n @impl.implemented\n Sort()\n {\n const keys = this.keys;\n keys.sort((a, b) => a.time - b.time);\n const lastKey = keys.at(-1);\n const length = this.length;\n if (lastKey && lastKey.time > length)\n {\n const previousLength = this.length;\n mat4.copy(this.#scratch, this.endValue);\n this.length = lastKey.time;\n mat4.copy(this.endValue, lastKey.value);\n if (previousLength > 0)\n {\n lastKey.time = previousLength;\n mat4.copy(lastKey.value, this.#scratch);\n }\n }\n }\n\n /**\n * Adds a matrix key.\n */\n @carbon.method\n @impl.adapted\n AddKey(time, value = null)\n {\n const keyValue = value ?? Tr2BoneMatrixCurve.#identityMatrix;\n const keys = this.keys;\n for (let i = 0; i < this.keys.length; i++)\n {\n const key = keys[i];\n if (key.time === time)\n {\n mat4.copy(key.value, keyValue);\n return i;\n }\n }\n const key = new Tr2MatrixKey();\n key.time = time;\n mat4.copy(key.value, keyValue);\n Tr2BoneMatrixCurve.#keyInterpolations.set(key, SPHERICAL_LINEAR);\n keys.push(key);\n this.Sort();\n return keys.indexOf(key);\n }\n\n /** Gets the number of matrix keys. */\n @carbon.method\n @impl.implemented\n GetKeyCount()\n {\n return this.keys.length;\n }\n\n /** Gets a key time, or the curve length when the index is out of range. */\n @carbon.method\n @impl.implemented\n GetKeyTime(index)\n {\n return Number(this.keys[index]?.time ?? this.length);\n }\n\n /** Sets a key time without reordering; Carbon requires an explicit Sort call. */\n @carbon.method\n @impl.implemented\n SetKeyTime(index, time)\n {\n if (this.keys[index])\n {\n this.keys[index].time = Number(time);\n }\n }\n\n /** Gets a detached key matrix, or the curve end value when out of range. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"JavaScript returns a detached matrix instead of exposing Carbon's const Matrix reference.\")\n GetKeyValue(index)\n {\n return mat4.clone(this.keys[index]?.value ?? this.endValue);\n }\n\n /** Copies a matrix into an existing key. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"JavaScript copies authored matrix values so curve storage never aliases caller-owned arrays.\")\n SetKeyValue(index, value)\n {\n if (this.keys[index])\n {\n if (!isArrayLike(value, 16))\n {\n throw new TypeError(\"Matrix key values must contain 16 components\");\n }\n mat4.copy(this.keys[index].value, value);\n }\n }\n\n /** Gets a key interpolation, or Carbon's spherical-linear curve default. */\n @carbon.method\n @impl.implemented\n GetKeyInterpolation(index)\n {\n const key = this.keys[index];\n return key\n ? Tr2BoneMatrixCurve.#keyInterpolations.get(key) ?? SPHERICAL_LINEAR\n : SPHERICAL_LINEAR;\n }\n\n /** Sets the unpersisted interpolation mode on an existing matrix key. */\n @carbon.method\n @impl.implemented\n SetKeyInterpolation(index, interpolation)\n {\n const key = this.keys[index];\n if (key)\n {\n Tr2BoneMatrixCurve.#keyInterpolations.set(key, Math.trunc(Number(interpolation)) >>> 0);\n }\n }\n\n /**\n * Removes a matrix key.\n */\n @carbon.method\n @impl.implemented\n RemoveKey(index)\n {\n if (Number.isInteger(index) && index >= 0 && index < this.keys.length)\n {\n const [key] = this.keys.splice(index, 1);\n Tr2BoneMatrixCurve.#keyInterpolations.delete(key);\n this.Sort();\n }\n }\n\n /**\n * Sets the source bone name.\n */\n @carbon.method\n @impl.implemented\n SetBone(bone)\n {\n this.#bone = bone;\n }\n\n /**\n * Gets the source bone name.\n */\n @carbon.method\n @impl.implemented\n GetBone()\n {\n return this.#bone;\n }\n GetKeyForTime(time)\n {\n const keys = this.keys;\n if (!this.keys.length)\n {\n return null;\n }\n let best = keys[0];\n for (const key of keys)\n {\n if (key.time <= time)\n {\n best = key;\n }\n else\n {\n break;\n }\n }\n return best;\n }\n\n static #getBoneMatrix(skinnedObject, bone)\n {\n if (!skinnedObject || !bone)\n {\n return null;\n }\n if (typeof skinnedObject === \"object\" && \"GetBoneMatrix\" in skinnedObject && typeof skinnedObject.GetBoneMatrix === \"function\")\n {\n const value = skinnedObject.GetBoneMatrix(bone);\n return isArrayLike(value, 16) ? value : null;\n }\n if (typeof skinnedObject === \"object\" && \"GetBoneTransform\" in skinnedObject && typeof skinnedObject.GetBoneTransform === \"function\")\n {\n const value = skinnedObject.GetBoneTransform(bone);\n return isArrayLike(value, 16) ? value : null;\n }\n return null;\n }\n\n static #getSkinnedObjectTransform(skinnedObject)\n {\n if (skinnedObject && typeof skinnedObject === \"object\" && \"GetTransform\" in skinnedObject && typeof skinnedObject.GetTransform === \"function\")\n {\n const value = skinnedObject.GetTransform();\n return isArrayLike(value, 16) ? value : null;\n }\n return null;\n }\n}\n"],"names":["SPHERICAL_LINEAR","_Tr2BoneMatrixCurve","_identity","Tr2BoneMatrixCurve","CjsModel","e","_init_currentValue","_init_extra_currentValue","_init_name","_init_extra_name","_init_length","_init_extra_length","_init_cycle","_init_extra_cycle","_init_reversed","_init_extra_reversed","_init_startValue","_init_extra_startValue","_init_endValue","_init_extra_endValue","_init_skinnedObject","_init_extra_skinnedObject","_init_transform","_init_extra_transform","_init_keys","_init_extra_keys","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","mat4","persist","string","float32","boolean","readwrite","objectRef","persistOnly","list","carbon","method","impl","adapted","implemented","reason","currentValue","create","name","length","cycle","reversed","startValue","endValue","skinnedObject","transform","keys","Initialize","Sort","UpdateValue","Length","time","GetValueAt","_time","out","boneMatrix","identity","multiply","worldTransform","copy","GetValue","sort","a","b","lastKey","at","previousLength","value","AddKey","keyValue","i","key","Tr2MatrixKey","set","push","indexOf","GetKeyCount","GetKeyTime","index","Number","SetKeyTime","GetKeyValue","clone","SetKeyValue","isArrayLike","TypeError","GetKeyInterpolation","get","SetKeyInterpolation","interpolation","Math","trunc","RemoveKey","isInteger","splice","delete","SetBone","bone","GetBone","GetKeyForTime","best","WeakMap","#getBoneMatrix","GetBoneMatrix","GetBoneTransform","#getSkinnedObjectTransform","GetTransform","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2BoneMatrixCurve.js","sources":["../../../src/curves/Tr2BoneMatrixCurve.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Curves\\Tr2BoneMatrixCurve.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Curves\\Tr2BoneMatrixCurve.cpp\nimport { mat4 } from \"@carbonenginejs/runtime-utils/mat4\";\nimport { isArrayLike } from \"@carbonenginejs/runtime-utils/is\";\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { Tr2MatrixKey } from \"./Tr2MatrixKey.js\";\n\n\nconst SPHERICAL_LINEAR = 4;\n\n\n/**\n * Matrix function that tracks a named bone on a skinned object, returning the\n * authored transform composed with that bone's current matrix and the object's\n * world transform rather than sampling its own keys.\n */\n@type.define({\n className: \"Tr2BoneMatrixCurve\",\n family: \"curves\"\n})\nexport class Tr2BoneMatrixCurve extends CjsModel\n{\n static #identityMatrix = mat4.create();\n\n static #keyInterpolations = new WeakMap();\n\n @io.read\n @type.mat4\n currentValue = mat4.create();\n\n @io.persist\n @type.string\n name = \"\";\n\n @io.persist\n @type.float32\n length = 1;\n\n @io.persist\n @type.boolean\n cycle = true;\n\n @io.persist\n @type.boolean\n reversed = false;\n\n @io.persist\n @type.mat4\n startValue = mat4.create();\n\n @io.persist\n @type.mat4\n endValue = mat4.create();\n\n @io.readwrite\n @type.objectRef(\"Tr2SkinnedObject\")\n skinnedObject = null;\n\n @io.persist\n @type.mat4\n transform = mat4.create();\n\n @io.persistOnly\n @type.list(\"Tr2MatrixKey\")\n keys = [];\n\n #bone = \"\";\n\n #scratch = mat4.create();\n\n /**\n * Initializes sorted keys and cached value.\n */\n @carbon.method\n @impl.adapted\n Initialize()\n {\n this.Sort();\n this.UpdateValue(0);\n return true;\n }\n\n /**\n * Gets authored duration.\n */\n @carbon.method\n @impl.implemented\n Length()\n {\n const keys = this.keys;\n const length = this.length;\n return length || (keys.length ? keys[keys.length - 1].time : 0);\n }\n\n /**\n * Updates cached matrix value.\n */\n @carbon.method\n @impl.adapted\n UpdateValue(time)\n {\n this.GetValueAt(time, this.currentValue);\n }\n\n /**\n * Gets matrix value at a time.\n */\n @carbon.method\n @impl.adapted\n GetValueAt(_time, out)\n {\n const boneMatrix = Tr2BoneMatrixCurve.#getBoneMatrix(this.skinnedObject, this.#bone);\n if (!boneMatrix)\n {\n return mat4.identity(out);\n }\n // Carbon (row-vector): (m_transform * bone) * world - m_transform first,\n // world last (XMMatrixMultiply is row-vector A*B).\n mat4.multiply(this.#scratch, boneMatrix, this.transform);\n const worldTransform = Tr2BoneMatrixCurve.#getSkinnedObjectTransform(this.skinnedObject);\n return worldTransform ? mat4.multiply(out, worldTransform, this.#scratch) : mat4.copy(out, this.#scratch);\n }\n\n /**\n * Gets matrix value at a time.\n */\n @carbon.method\n @impl.adapted\n GetValue(time, out)\n {\n return this.GetValueAt(time, out);\n }\n\n /**\n * Sorts keys by time.\n */\n @carbon.method\n @impl.implemented\n Sort()\n {\n const keys = this.keys;\n keys.sort((a, b) => a.time - b.time);\n const lastKey = keys.at(-1);\n const length = this.length;\n if (lastKey && lastKey.time > length)\n {\n const previousLength = this.length;\n mat4.copy(this.#scratch, this.endValue);\n this.length = lastKey.time;\n mat4.copy(this.endValue, lastKey.value);\n if (previousLength > 0)\n {\n lastKey.time = previousLength;\n mat4.copy(lastKey.value, this.#scratch);\n }\n }\n }\n\n /**\n * Adds a matrix key.\n */\n @carbon.method\n @impl.adapted\n AddKey(time, value = null)\n {\n const keyValue = value ?? Tr2BoneMatrixCurve.#identityMatrix;\n const keys = this.keys;\n for (let i = 0; i < this.keys.length; i++)\n {\n const key = keys[i];\n if (key.time === time)\n {\n mat4.copy(key.value, keyValue);\n return i;\n }\n }\n const key = new Tr2MatrixKey();\n key.time = time;\n mat4.copy(key.value, keyValue);\n Tr2BoneMatrixCurve.#keyInterpolations.set(key, SPHERICAL_LINEAR);\n keys.push(key);\n this.Sort();\n return keys.indexOf(key);\n }\n\n /** Gets the number of matrix keys. */\n @carbon.method\n @impl.implemented\n GetKeyCount()\n {\n return this.keys.length;\n }\n\n /** Gets a key time, or the curve length when the index is out of range. */\n @carbon.method\n @impl.implemented\n GetKeyTime(index)\n {\n return Number(this.keys[index]?.time ?? this.length);\n }\n\n /** Sets a key time without reordering; Carbon requires an explicit Sort call. */\n @carbon.method\n @impl.implemented\n SetKeyTime(index, time)\n {\n if (this.keys[index])\n {\n this.keys[index].time = Number(time);\n }\n }\n\n /** Gets a detached key matrix, or the curve end value when out of range. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"JavaScript returns a detached matrix instead of exposing Carbon's const Matrix reference.\")\n GetKeyValue(index)\n {\n return mat4.clone(this.keys[index]?.value ?? this.endValue);\n }\n\n /** Copies a matrix into an existing key. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"JavaScript copies authored matrix values so curve storage never aliases caller-owned arrays.\")\n SetKeyValue(index, value)\n {\n if (this.keys[index])\n {\n if (!isArrayLike(value, 16))\n {\n throw new TypeError(\"Matrix key values must contain 16 components\");\n }\n mat4.copy(this.keys[index].value, value);\n }\n }\n\n /** Gets a key interpolation, or Carbon's spherical-linear curve default. */\n @carbon.method\n @impl.implemented\n GetKeyInterpolation(index)\n {\n const key = this.keys[index];\n return key\n ? Tr2BoneMatrixCurve.#keyInterpolations.get(key) ?? SPHERICAL_LINEAR\n : SPHERICAL_LINEAR;\n }\n\n /** Sets the unpersisted interpolation mode on an existing matrix key. */\n @carbon.method\n @impl.implemented\n SetKeyInterpolation(index, interpolation)\n {\n const key = this.keys[index];\n if (key)\n {\n Tr2BoneMatrixCurve.#keyInterpolations.set(key, Math.trunc(Number(interpolation)) >>> 0);\n }\n }\n\n /**\n * Removes a matrix key.\n */\n @carbon.method\n @impl.implemented\n RemoveKey(index)\n {\n if (Number.isInteger(index) && index >= 0 && index < this.keys.length)\n {\n const [key] = this.keys.splice(index, 1);\n Tr2BoneMatrixCurve.#keyInterpolations.delete(key);\n this.Sort();\n }\n }\n\n /**\n * Sets the source bone name.\n */\n @carbon.method\n @impl.implemented\n SetBone(bone)\n {\n this.#bone = bone;\n }\n\n /**\n * Gets the source bone name.\n */\n @carbon.method\n @impl.implemented\n GetBone()\n {\n return this.#bone;\n }\n\n /**\n * Gets the last key at or before a time, relying on the keys being sorted and\n * falling back to the first key when the time precedes all of them; returns\n * null for an empty curve.\n */\n GetKeyForTime(time)\n {\n const keys = this.keys;\n if (!this.keys.length)\n {\n return null;\n }\n let best = keys[0];\n for (const key of keys)\n {\n if (key.time <= time)\n {\n best = key;\n }\n else\n {\n break;\n }\n }\n return best;\n }\n\n /**\n * Reads a bone's 16-component matrix through GetBoneMatrix or\n * GetBoneTransform, returning null when the object exposes neither or returns\n * a wrongly sized value.\n */\n static #getBoneMatrix(skinnedObject, bone)\n {\n if (!skinnedObject || !bone)\n {\n return null;\n }\n if (typeof skinnedObject === \"object\" && \"GetBoneMatrix\" in skinnedObject && typeof skinnedObject.GetBoneMatrix === \"function\")\n {\n const value = skinnedObject.GetBoneMatrix(bone);\n return isArrayLike(value, 16) ? value : null;\n }\n if (typeof skinnedObject === \"object\" && \"GetBoneTransform\" in skinnedObject && typeof skinnedObject.GetBoneTransform === \"function\")\n {\n const value = skinnedObject.GetBoneTransform(bone);\n return isArrayLike(value, 16) ? value : null;\n }\n return null;\n }\n\n /**\n * Reads the skinned object's own 16-component world transform, or null when it\n * exposes none.\n */\n static #getSkinnedObjectTransform(skinnedObject)\n {\n if (skinnedObject && typeof skinnedObject === \"object\" && \"GetTransform\" in skinnedObject && typeof skinnedObject.GetTransform === \"function\")\n {\n const value = skinnedObject.GetTransform();\n return isArrayLike(value, 16) ? value : null;\n }\n return null;\n }\n}\n"],"names":["SPHERICAL_LINEAR","_Tr2BoneMatrixCurve","_identity","Tr2BoneMatrixCurve","CjsModel","e","_init_currentValue","_init_extra_currentValue","_init_name","_init_extra_name","_init_length","_init_extra_length","_init_cycle","_init_extra_cycle","_init_reversed","_init_extra_reversed","_init_startValue","_init_extra_startValue","_init_endValue","_init_extra_endValue","_init_skinnedObject","_init_extra_skinnedObject","_init_transform","_init_extra_transform","_init_keys","_init_extra_keys","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","mat4","persist","string","float32","boolean","readwrite","objectRef","persistOnly","list","carbon","method","impl","adapted","implemented","reason","currentValue","create","name","length","cycle","reversed","startValue","endValue","skinnedObject","transform","keys","Initialize","Sort","UpdateValue","Length","time","GetValueAt","_time","out","boneMatrix","identity","multiply","worldTransform","copy","GetValue","sort","a","b","lastKey","at","previousLength","value","AddKey","keyValue","i","key","Tr2MatrixKey","set","push","indexOf","GetKeyCount","GetKeyTime","index","Number","SetKeyTime","GetKeyValue","clone","SetKeyValue","isArrayLike","TypeError","GetKeyInterpolation","get","SetKeyInterpolation","interpolation","Math","trunc","RemoveKey","isInteger","splice","delete","SetBone","bone","GetBone","GetKeyForTime","best","WeakMap","#getBoneMatrix","GetBoneMatrix","GetBoneTransform","#getSkinnedObjectTransform","GetTransform","constructor"],"mappings":";;;;;;;;AASA,MAAMA,gBAAgB,GAAG,CAAC;;AAG1B;AACA;AACA;AACA;AACA;AAJA,IAAAC;AAAA,IAAA,cAAAC,SAAA,CAAA;AAAA,EAAA,QAKA,MAAAC,kBAAA,SAIwCC,QAAQ,CAChD;AAAA,IAAA;AAAA,MAAA,CAAA;AAAAC,QAAAA,CAAA,GAAAC,kBAAA,EAAAC,wBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,YAAA,EAAAC,kBAAA,EAAAC,WAAA,EAAAC,iBAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,gBAAA,EAAAC,sBAAA,EAAAC,cAAA,EAAAC,oBAAA,EAAAC,mBAAA,EAAAC,yBAAA,EAAAC,eAAA,EAAAC,qBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,UAAA,CAAA;QAAAC,CAAA,EAAA,CAAA1B,mBAAA,EAAA2B,UAAA;AAAA,OAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CALCC,IAAI,CAACC,MAAM,CAAC;AACXC,QAAAA,SAAS,EAAE,oBAAoB;AAC/BC,QAAAA,MAAM,EAAE;AACV,OAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAOCC,EAAE,EAAFA,EAAE,CAACC,IAAI,EACPL,IAAI,EAAJA,IAAI,CAACM,IAAI,0BAGTF,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACQ,MAAM,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAGXJ,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAGZL,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACU,OAAO,CAAA,EAAA,EAAA,EAAA,OAAA,CAAA,EAAA,CAAA,CAGZN,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACU,OAAO,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAGZN,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACM,IAAI,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAGTF,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACM,IAAI,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAGTF,EAAE,EAAFA,EAAE,CAACO,SAAS,UACZX,IAAI,CAACY,SAAS,CAAC,kBAAkB,CAAC,CAAA,EAAA,EAAA,EAAA,eAAA,CAAA,EAAA,CAAA,CAGlCR,EAAE,EAAFA,EAAE,CAACG,OAAO,EACVP,IAAI,EAAJA,IAAI,CAACM,IAAI,uBAGTF,EAAE,EAAFA,EAAE,CAACS,WAAW,EAAA,MAAA,EACdb,IAAI,CAACc,IAAI,CAAC,cAAc,CAAC,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAUzBC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,wBAWZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAWhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CASZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAkBZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,sBASZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAwBhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,QAAA,CAAA,EAAA,CAAA,CAwBZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAOhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,YAAA,CAAA,EAAA,CAAA,CAOhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,wBAUhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACG,MAAM,CAAC,2FAA2F,CAAC,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAOxGL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACG,MAAM,CAAC,8FAA8F,CAAC,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAc3GL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,qBAAA,CAAA,EAAA,CAAA,CAUhBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,iCAahBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,WAAA,CAAA,EAAA,CAAA,CAchBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAShBJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,+BA7QqB7C,QAAQ,CAAA;AAAA;IAQ9C+C,YAAY,IAAAzB,UAAA,CAAA,IAAA,CAAA,EAAApB,kBAAA,OAAG8B,IAAI,CAACgB,MAAM,EAAE,CAAA;AAI5BC,IAAAA,IAAI,IAAA9C,wBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,EAAE,CAAA;AAIT8C,IAAAA,MAAM,IAAA7C,gBAAA,CAAA,IAAA,CAAA,EAAAC,YAAA,OAAG,CAAC,CAAA;AAIV6C,IAAAA,KAAK,IAAA5C,kBAAA,CAAA,IAAA,CAAA,EAAAC,WAAA,OAAG,IAAI,CAAA;AAIZ4C,IAAAA,QAAQ,IAAA3C,iBAAA,CAAA,IAAA,CAAA,EAAAC,cAAA,OAAG,KAAK,CAAA;IAIhB2C,UAAU,IAAA1C,oBAAA,CAAA,IAAA,CAAA,EAAAC,gBAAA,OAAGoB,IAAI,CAACgB,MAAM,EAAE,CAAA;IAI1BM,QAAQ,IAAAzC,sBAAA,CAAA,IAAA,CAAA,EAAAC,cAAA,OAAGkB,IAAI,CAACgB,MAAM,EAAE,CAAA;AAIxBO,IAAAA,aAAa,IAAAxC,oBAAA,CAAA,IAAA,CAAA,EAAAC,mBAAA,OAAG,IAAI,CAAA;IAIpBwC,SAAS,IAAAvC,yBAAA,CAAA,IAAA,CAAA,EAAAC,eAAA,OAAGc,IAAI,CAACgB,MAAM,EAAE,CAAA;AAIzBS,IAAAA,IAAI,IAAAtC,qBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,EAAE,CAAA;AAET,IAAA,KAAK,IAAAC,gBAAA,CAAA,IAAA,CAAA,EAAG,EAAE;AAEV,IAAA,QAAQ,GAAGW,IAAI,CAACgB,MAAM,EAAE;;AAExB;AACF;AACA;AAGEU,IAAAA,UAAUA,GACV;MACE,IAAI,CAACC,IAAI,EAAE;AACX,MAAA,IAAI,CAACC,WAAW,CAAC,CAAC,CAAC;AACnB,MAAA,OAAO,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AAGEC,IAAAA,MAAMA,GACN;AACE,MAAA,MAAMJ,IAAI,GAAG,IAAI,CAACA,IAAI;AACtB,MAAA,MAAMP,MAAM,GAAG,IAAI,CAACA,MAAM;AAC1B,MAAA,OAAOA,MAAM,KAAKO,IAAI,CAACP,MAAM,GAAGO,IAAI,CAACA,IAAI,CAACP,MAAM,GAAG,CAAC,CAAC,CAACY,IAAI,GAAG,CAAC,CAAC;AACjE,IAAA;;AAEA;AACF;AACA;IAGEF,WAAWA,CAACE,IAAI,EAChB;MACE,IAAI,CAACC,UAAU,CAACD,IAAI,EAAE,IAAI,CAACf,YAAY,CAAC;AAC1C,IAAA;;AAEA;AACF;AACA;AAGEgB,IAAAA,UAAUA,CAACC,KAAK,EAAEC,GAAG,EACrB;AACE,MAAA,MAAMC,UAAU,GAAGnE,mBAAkB,CAAC,cAAc,CAAC,IAAI,CAACwD,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC;MACpF,IAAI,CAACW,UAAU,EACf;AACE,QAAA,OAAOlC,IAAI,CAACmC,QAAQ,CAACF,GAAG,CAAC;AAC3B,MAAA;AACA;AACA;AACAjC,MAAAA,IAAI,CAACoC,QAAQ,CAAC,IAAI,CAAC,QAAQ,EAAEF,UAAU,EAAE,IAAI,CAACV,SAAS,CAAC;MACxD,MAAMa,cAAc,GAAGtE,mBAAkB,CAAC,0BAA0B,CAAC,IAAI,CAACwD,aAAa,CAAC;MACxF,OAAOc,cAAc,GAAGrC,IAAI,CAACoC,QAAQ,CAACH,GAAG,EAAEI,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAGrC,IAAI,CAACsC,IAAI,CAACL,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;AAC3G,IAAA;;AAEA;AACF;AACA;AAGEM,IAAAA,QAAQA,CAACT,IAAI,EAAEG,GAAG,EAClB;AACE,MAAA,OAAO,IAAI,CAACF,UAAU,CAACD,IAAI,EAAEG,GAAG,CAAC;AACnC,IAAA;;AAEA;AACF;AACA;AAGEN,IAAAA,IAAIA,GACJ;AACE,MAAA,MAAMF,IAAI,GAAG,IAAI,CAACA,IAAI;AACtBA,MAAAA,IAAI,CAACe,IAAI,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKD,CAAC,CAACX,IAAI,GAAGY,CAAC,CAACZ,IAAI,CAAC;MACpC,MAAMa,OAAO,GAAGlB,IAAI,CAACmB,EAAE,CAAC,EAAE,CAAC;AAC3B,MAAA,MAAM1B,MAAM,GAAG,IAAI,CAACA,MAAM;AAC1B,MAAA,IAAIyB,OAAO,IAAIA,OAAO,CAACb,IAAI,GAAGZ,MAAM,EACpC;AACE,QAAA,MAAM2B,cAAc,GAAG,IAAI,CAAC3B,MAAM;QAClClB,IAAI,CAACsC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAChB,QAAQ,CAAC;AACvC,QAAA,IAAI,CAACJ,MAAM,GAAGyB,OAAO,CAACb,IAAI;QAC1B9B,IAAI,CAACsC,IAAI,CAAC,IAAI,CAAChB,QAAQ,EAAEqB,OAAO,CAACG,KAAK,CAAC;QACvC,IAAID,cAAc,GAAG,CAAC,EACtB;UACEF,OAAO,CAACb,IAAI,GAAGe,cAAc;UAC7B7C,IAAI,CAACsC,IAAI,CAACK,OAAO,CAACG,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC;AACzC,QAAA;AACF,MAAA;AACF,IAAA;;AAEA;AACF;AACA;AAGEC,IAAAA,MAAMA,CAACjB,IAAI,EAAEgB,KAAK,GAAG,IAAI,EACzB;AACE,MAAA,MAAME,QAAQ,GAAGF,KAAK,IAAI/E,mBAAkB,CAAC,eAAe;AAC5D,MAAA,MAAM0D,IAAI,GAAG,IAAI,CAACA,IAAI;AACtB,MAAA,KAAK,IAAIwB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAACxB,IAAI,CAACP,MAAM,EAAE+B,CAAC,EAAE,EACzC;AACE,QAAA,MAAMC,GAAG,GAAGzB,IAAI,CAACwB,CAAC,CAAC;AACnB,QAAA,IAAIC,GAAG,CAACpB,IAAI,KAAKA,IAAI,EACrB;UACE9B,IAAI,CAACsC,IAAI,CAACY,GAAG,CAACJ,KAAK,EAAEE,QAAQ,CAAC;AAC9B,UAAA,OAAOC,CAAC;AACV,QAAA;AACF,MAAA;AACA,MAAA,MAAMC,GAAG,GAAG,IAAIC,aAAY,EAAE;MAC9BD,GAAG,CAACpB,IAAI,GAAGA,IAAI;MACf9B,IAAI,CAACsC,IAAI,CAACY,GAAG,CAACJ,KAAK,EAAEE,QAAQ,CAAC;MAC9BjF,mBAAkB,CAAC,kBAAkB,CAACqF,GAAG,CAACF,GAAG,EAAEtF,gBAAgB,CAAC;AAChE6D,MAAAA,IAAI,CAAC4B,IAAI,CAACH,GAAG,CAAC;MACd,IAAI,CAACvB,IAAI,EAAE;AACX,MAAA,OAAOF,IAAI,CAAC6B,OAAO,CAACJ,GAAG,CAAC;AAC1B,IAAA;;AAEA;AAGAK,IAAAA,WAAWA,GACX;AACE,MAAA,OAAO,IAAI,CAAC9B,IAAI,CAACP,MAAM;AACzB,IAAA;;AAEA;IAGAsC,UAAUA,CAACC,KAAK,EAChB;AACE,MAAA,OAAOC,MAAM,CAAC,IAAI,CAACjC,IAAI,CAACgC,KAAK,CAAC,EAAE3B,IAAI,IAAI,IAAI,CAACZ,MAAM,CAAC;AACtD,IAAA;;AAEA;AAGAyC,IAAAA,UAAUA,CAACF,KAAK,EAAE3B,IAAI,EACtB;AACE,MAAA,IAAI,IAAI,CAACL,IAAI,CAACgC,KAAK,CAAC,EACpB;QACE,IAAI,CAAChC,IAAI,CAACgC,KAAK,CAAC,CAAC3B,IAAI,GAAG4B,MAAM,CAAC5B,IAAI,CAAC;AACtC,MAAA;AACF,IAAA;;AAEA;IAIA8B,WAAWA,CAACH,KAAK,EACjB;AACE,MAAA,OAAOzD,IAAI,CAAC6D,KAAK,CAAC,IAAI,CAACpC,IAAI,CAACgC,KAAK,CAAC,EAAEX,KAAK,IAAI,IAAI,CAACxB,QAAQ,CAAC;AAC7D,IAAA;;AAEA;AAIAwC,IAAAA,WAAWA,CAACL,KAAK,EAAEX,KAAK,EACxB;AACE,MAAA,IAAI,IAAI,CAACrB,IAAI,CAACgC,KAAK,CAAC,EACpB;AACE,QAAA,IAAI,CAACM,WAAW,CAACjB,KAAK,EAAE,EAAE,CAAC,EAC3B;AACE,UAAA,MAAM,IAAIkB,SAAS,CAAC,8CAA8C,CAAC;AACrE,QAAA;AACAhE,QAAAA,IAAI,CAACsC,IAAI,CAAC,IAAI,CAACb,IAAI,CAACgC,KAAK,CAAC,CAACX,KAAK,EAAEA,KAAK,CAAC;AAC1C,MAAA;AACF,IAAA;;AAEA;IAGAmB,mBAAmBA,CAACR,KAAK,EACzB;AACE,MAAA,MAAMP,GAAG,GAAG,IAAI,CAACzB,IAAI,CAACgC,KAAK,CAAC;AAC5B,MAAA,OAAOP,GAAG,GACNnF,mBAAkB,CAAC,kBAAkB,CAACmG,GAAG,CAAChB,GAAG,CAAC,IAAItF,gBAAgB,GAClEA,gBAAgB;AACtB,IAAA;;AAEA;AAGAuG,IAAAA,mBAAmBA,CAACV,KAAK,EAAEW,aAAa,EACxC;AACE,MAAA,MAAMlB,GAAG,GAAG,IAAI,CAACzB,IAAI,CAACgC,KAAK,CAAC;AAC5B,MAAA,IAAIP,GAAG,EACP;AACEnF,QAAAA,mBAAkB,CAAC,kBAAkB,CAACqF,GAAG,CAACF,GAAG,EAAEmB,IAAI,CAACC,KAAK,CAACZ,MAAM,CAACU,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC;AACzF,MAAA;AACF,IAAA;;AAEA;AACF;AACA;IAGEG,SAASA,CAACd,KAAK,EACf;AACE,MAAA,IAAIC,MAAM,CAACc,SAAS,CAACf,KAAK,CAAC,IAAIA,KAAK,IAAI,CAAC,IAAIA,KAAK,GAAG,IAAI,CAAChC,IAAI,CAACP,MAAM,EACrE;AACE,QAAA,MAAM,CAACgC,GAAG,CAAC,GAAG,IAAI,CAACzB,IAAI,CAACgD,MAAM,CAAChB,KAAK,EAAE,CAAC,CAAC;AACxC1F,QAAAA,mBAAkB,CAAC,kBAAkB,CAAC2G,MAAM,CAACxB,GAAG,CAAC;QACjD,IAAI,CAACvB,IAAI,EAAE;AACb,MAAA;AACF,IAAA;;AAEA;AACF;AACA;IAGEgD,OAAOA,CAACC,IAAI,EACZ;AACE,MAAA,IAAI,CAAC,KAAK,GAAGA,IAAI;AACnB,IAAA;;AAEA;AACF;AACA;AAGEC,IAAAA,OAAOA,GACP;MACE,OAAO,IAAI,CAAC,KAAK;AACnB,IAAA;;AAEA;AACF;AACA;AACA;AACA;IACEC,aAAaA,CAAChD,IAAI,EAClB;AACE,MAAA,MAAML,IAAI,GAAG,IAAI,CAACA,IAAI;AACtB,MAAA,IAAI,CAAC,IAAI,CAACA,IAAI,CAACP,MAAM,EACrB;AACE,QAAA,OAAO,IAAI;AACb,MAAA;AACA,MAAA,IAAI6D,IAAI,GAAGtD,IAAI,CAAC,CAAC,CAAC;AAClB,MAAA,KAAK,MAAMyB,GAAG,IAAIzB,IAAI,EACtB;AACE,QAAA,IAAIyB,GAAG,CAACpB,IAAI,IAAIA,IAAI,EACpB;AACEiD,UAAAA,IAAI,GAAG7B,GAAG;AACZ,QAAA,CAAC,MAED;AACE,UAAA;AACF,QAAA;AACF,MAAA;AACA,MAAA,OAAO6B,IAAI;AACb,IAAA;;AAEA;AACF;AACA;AACA;AACA;;AAoBE;AACF;AACA;AACA;GAUC;AAjVQ,EAAA,eAAe,GAAG/E,IAAI,CAACgB,MAAM,EAAE;AAE/B,EAAA,kBAAkB,GAAG,IAAIgE,OAAO,EAAE;AA+SlC,EAAA,cAAcC,CAAC1D,aAAa,EAAEqD,IAAI,EACzC;AACE,IAAA,IAAI,CAACrD,aAAa,IAAI,CAACqD,IAAI,EAC3B;AACE,MAAA,OAAO,IAAI;AACb,IAAA;AACA,IAAA,IAAI,OAAOrD,aAAa,KAAK,QAAQ,IAAI,eAAe,IAAIA,aAAa,IAAI,OAAOA,aAAa,CAAC2D,aAAa,KAAK,UAAU,EAC9H;AACE,MAAA,MAAMpC,KAAK,GAAGvB,aAAa,CAAC2D,aAAa,CAACN,IAAI,CAAC;MAC/C,OAAOb,WAAW,CAACjB,KAAK,EAAE,EAAE,CAAC,GAAGA,KAAK,GAAG,IAAI;AAC9C,IAAA;AACA,IAAA,IAAI,OAAOvB,aAAa,KAAK,QAAQ,IAAI,kBAAkB,IAAIA,aAAa,IAAI,OAAOA,aAAa,CAAC4D,gBAAgB,KAAK,UAAU,EACpI;AACE,MAAA,MAAMrC,KAAK,GAAGvB,aAAa,CAAC4D,gBAAgB,CAACP,IAAI,CAAC;MAClD,OAAOb,WAAW,CAACjB,KAAK,EAAE,EAAE,CAAC,GAAGA,KAAK,GAAG,IAAI;AAC9C,IAAA;AACA,IAAA,OAAO,IAAI;AACb,EAAA;EAMO,0BAA0BsC,CAAC7D,aAAa,EAC/C;AACE,IAAA,IAAIA,aAAa,IAAI,OAAOA,aAAa,KAAK,QAAQ,IAAI,cAAc,IAAIA,aAAa,IAAI,OAAOA,aAAa,CAAC8D,YAAY,KAAK,UAAU,EAC7I;AACE,MAAA,MAAMvC,KAAK,GAAGvB,aAAa,CAAC8D,YAAY,EAAE;MAC1C,OAAOtB,WAAW,CAACjB,KAAK,EAAE,EAAE,CAAC,GAAGA,KAAK,GAAG,IAAI;AAC9C,IAAA;AACA,IAAA,OAAO,IAAI;AACb,EAAA;EAACwC,WAAAA,GAAA;IAAA,KAAA,CAAAzH,mBAAA,GAAA2B,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
@@ -1,10 +1,16 @@
1
1
  import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../_virtual/_rollupPluginBabelHelpers.js';
2
- import { vec3 } from '@carbonenginejs/core-math/vec3';
3
- import { CjsModel } from '@carbonenginejs/core-types/model';
4
- import { io, type, carbon, impl, schema } from '@carbonenginejs/core-types/schema';
2
+ import { vec3 } from '@carbonenginejs/runtime-utils/vec3';
3
+ import { CjsModel } from '@carbonenginejs/runtime-utils/model';
4
+ import { io, type, carbon, impl, schema } from '@carbonenginejs/runtime-utils/schema';
5
5
  import { Tr2FollowCurveKeyInterpolation } from './enums.js';
6
6
 
7
7
  let _initProto, _initClass, _init_interpolation, _init_extra_interpolation, _init_fovMultiplication, _init_extra_fovMultiplication, _init_offset, _init_extra_offset, _init_enabled, _init_extra_enabled, _init_name, _init_extra_name, _init_angleZero, _init_extra_angleZero, _init_angle, _init_extra_angle, _init_objectBounds, _init_extra_objectBounds, _init_leftTangent, _init_extra_leftTangent, _init_boxPosition, _init_extra_boxPosition, _init_rightTangent, _init_extra_rightTangent, _init_rotatedLeftTangent, _init_extra_rotatedLeftTangent, _init_rotatedRightTangent, _init_extra_rotatedRightTangent, _init_time, _init_extra_time;
8
+
9
+ /**
10
+ * Key of a camera follow curve, holding the camera offset and its tangents plus
11
+ * the field-of-view multiplier and framing angles used to place the camera box
12
+ * at that point in time.
13
+ */
8
14
  let _Tr2CameraFollowCurve;
9
15
  new class extends _identity {
10
16
  static [class Tr2CameraFollowCurveKey extends CjsModel {
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2CameraFollowCurveKey.js","sources":["../../../src/curves/Tr2CameraFollowCurveKey.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Curves\\Tr2FollowCurveKey.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Curves\\Tr2FollowCurveKey.cpp\r\nimport { vec3 } from \"@carbonenginejs/core-math/vec3\";\r\nimport { CjsModel } from \"@carbonenginejs/core-types/model\";\r\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/core-types/schema\";\r\nimport { Tr2FollowCurveKeyInterpolation } from \"./enums.js\";\r\n\r\n\r\n@type.define({\r\n className: \"Tr2CameraFollowCurveKey\",\r\n family: \"curves\"\r\n})\r\nexport class Tr2CameraFollowCurveKey extends CjsModel\r\n{\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Tr2FollowCurveKeyInterpolation\")\r\n interpolation = Tr2FollowCurveKeyInterpolation.LINEAR;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n fovMultiplication = 0.5;\r\n\r\n @io.persist\r\n @type.vec3\r\n offset = vec3.create();\r\n\r\n @io.notify\r\n @io.readwrite\r\n @type.boolean\r\n enabled = true;\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.float32\r\n angleZero = Math.PI / 2;\r\n\r\n @io.persist\r\n @type.float32\r\n angle = 0;\r\n\r\n @io.readwrite\r\n @type.vec3\r\n objectBounds = vec3.create();\r\n\r\n @io.persist\r\n @type.vec3\r\n leftTangent = vec3.create();\r\n\r\n @io.read\r\n @type.vec3\r\n boxPosition = vec3.create();\r\n\r\n @io.persist\r\n @type.vec3\r\n rightTangent = vec3.create();\r\n\r\n @io.read\r\n @type.vec3\r\n rotatedLeftTangent = vec3.create();\r\n\r\n @io.read\r\n @type.vec3\r\n rotatedRightTangent = vec3.create();\r\n\r\n @io.persist\r\n @type.float32\r\n time = 0;\r\n\r\n /**\r\n * Initializes derived camera-box values.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n this.CalculateBoxPosition();\r\n return true;\r\n }\r\n\r\n /**\r\n * Recalculates derived values after modification.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n OnModified(_options = {})\r\n {\r\n this.fovMultiplication = Math.min(0.999, Math.max(0.001, this.fovMultiplication));\r\n this.CalculateBoxPosition();\r\n return true;\r\n }\r\n\r\n /**\r\n * Updates camera box/tangent positions.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n CalculateBoxPosition()\r\n {\r\n vec3.copy(this.boxPosition, this.offset);\r\n vec3.copy(this.rotatedLeftTangent, this.leftTangent);\r\n vec3.copy(this.rotatedRightTangent, this.rightTangent);\r\n }\r\n\r\n /**\r\n * Gets key value.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetValue(out)\r\n {\r\n this.CalculateBoxPosition();\r\n return vec3.copy(out, this.boxPosition);\r\n }\r\n\r\n /**\r\n * Gets key time.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTime()\r\n {\r\n return this.time;\r\n }\r\n\r\n /**\r\n * Gets key interpolation.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetInterpolationType()\r\n {\r\n return this.interpolation;\r\n }\r\n\r\n /**\r\n * Gets left tangent.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetLeftTangent(out)\r\n {\r\n return vec3.copy(out, this.rotatedLeftTangent);\r\n }\r\n\r\n /**\r\n * Gets right tangent.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetRightTangent(out)\r\n {\r\n return vec3.copy(out, this.rotatedRightTangent);\r\n }\r\n\r\n static Tr2FollowCurveKeyInterpolation = Tr2FollowCurveKeyInterpolation;\r\n\r\n}\r\n"],"names":["_Tr2CameraFollowCurve","_identity","Tr2CameraFollowCurveKey","CjsModel","e","_init_interpolation","_init_extra_interpolation","_init_fovMultiplication","_init_extra_fovMultiplication","_init_offset","_init_extra_offset","_init_enabled","_init_extra_enabled","_init_name","_init_extra_name","_init_angleZero","_init_extra_angleZero","_init_angle","_init_extra_angle","_init_objectBounds","_init_extra_objectBounds","_init_leftTangent","_init_extra_leftTangent","_init_boxPosition","_init_extra_boxPosition","_init_rightTangent","_init_extra_rightTangent","_init_rotatedLeftTangent","_init_extra_rotatedLeftTangent","_init_rotatedRightTangent","_init_extra_rotatedRightTangent","_init_time","_init_extra_time","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","int32","schema","enum","notify","float32","vec3","readwrite","boolean","string","read","carbon","method","impl","adapted","implemented","constructor","args","interpolation","Tr2FollowCurveKeyInterpolation","LINEAR","fovMultiplication","offset","create","enabled","name","angleZero","Math","PI","angle","objectBounds","leftTangent","boxPosition","rightTangent","rotatedLeftTangent","rotatedRightTangent","time","Initialize","CalculateBoxPosition","OnModified","_options","min","max","copy","GetValue","out","GetTime","GetInterpolationType","GetLeftTangent","GetRightTangent"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2CameraFollowCurveKey.js","sources":["../../../src/curves/Tr2CameraFollowCurveKey.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Curves\\Tr2FollowCurveKey.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Curves\\Tr2FollowCurveKey.cpp\r\nimport { vec3 } from \"@carbonenginejs/runtime-utils/vec3\";\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { carbon, impl, io, schema, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { Tr2FollowCurveKeyInterpolation } from \"./enums.js\";\r\n\r\n\r\n/**\r\n * Key of a camera follow curve, holding the camera offset and its tangents plus\r\n * the field-of-view multiplier and framing angles used to place the camera box\r\n * at that point in time.\r\n */\r\n@type.define({\r\n className: \"Tr2CameraFollowCurveKey\",\r\n family: \"curves\"\r\n})\r\nexport class Tr2CameraFollowCurveKey extends CjsModel\r\n{\r\n @io.persist\r\n @type.int32\r\n @schema.enum(\"Tr2FollowCurveKeyInterpolation\")\r\n interpolation = Tr2FollowCurveKeyInterpolation.LINEAR;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n fovMultiplication = 0.5;\r\n\r\n @io.persist\r\n @type.vec3\r\n offset = vec3.create();\r\n\r\n @io.notify\r\n @io.readwrite\r\n @type.boolean\r\n enabled = true;\r\n\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.float32\r\n angleZero = Math.PI / 2;\r\n\r\n @io.persist\r\n @type.float32\r\n angle = 0;\r\n\r\n @io.readwrite\r\n @type.vec3\r\n objectBounds = vec3.create();\r\n\r\n @io.persist\r\n @type.vec3\r\n leftTangent = vec3.create();\r\n\r\n @io.read\r\n @type.vec3\r\n boxPosition = vec3.create();\r\n\r\n @io.persist\r\n @type.vec3\r\n rightTangent = vec3.create();\r\n\r\n @io.read\r\n @type.vec3\r\n rotatedLeftTangent = vec3.create();\r\n\r\n @io.read\r\n @type.vec3\r\n rotatedRightTangent = vec3.create();\r\n\r\n @io.persist\r\n @type.float32\r\n time = 0;\r\n\r\n /**\r\n * Initializes derived camera-box values.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n this.CalculateBoxPosition();\r\n return true;\r\n }\r\n\r\n /**\r\n * Recalculates derived values after modification.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n OnModified(_options = {})\r\n {\r\n this.fovMultiplication = Math.min(0.999, Math.max(0.001, this.fovMultiplication));\r\n this.CalculateBoxPosition();\r\n return true;\r\n }\r\n\r\n /**\r\n * Updates camera box/tangent positions.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n CalculateBoxPosition()\r\n {\r\n vec3.copy(this.boxPosition, this.offset);\r\n vec3.copy(this.rotatedLeftTangent, this.leftTangent);\r\n vec3.copy(this.rotatedRightTangent, this.rightTangent);\r\n }\r\n\r\n /**\r\n * Gets key value.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetValue(out)\r\n {\r\n this.CalculateBoxPosition();\r\n return vec3.copy(out, this.boxPosition);\r\n }\r\n\r\n /**\r\n * Gets key time.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTime()\r\n {\r\n return this.time;\r\n }\r\n\r\n /**\r\n * Gets key interpolation.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetInterpolationType()\r\n {\r\n return this.interpolation;\r\n }\r\n\r\n /**\r\n * Gets left tangent.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetLeftTangent(out)\r\n {\r\n return vec3.copy(out, this.rotatedLeftTangent);\r\n }\r\n\r\n /**\r\n * Gets right tangent.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetRightTangent(out)\r\n {\r\n return vec3.copy(out, this.rotatedRightTangent);\r\n }\r\n\r\n static Tr2FollowCurveKeyInterpolation = Tr2FollowCurveKeyInterpolation;\r\n\r\n}\r\n"],"names":["_Tr2CameraFollowCurve","_identity","Tr2CameraFollowCurveKey","CjsModel","e","_init_interpolation","_init_extra_interpolation","_init_fovMultiplication","_init_extra_fovMultiplication","_init_offset","_init_extra_offset","_init_enabled","_init_extra_enabled","_init_name","_init_extra_name","_init_angleZero","_init_extra_angleZero","_init_angle","_init_extra_angle","_init_objectBounds","_init_extra_objectBounds","_init_leftTangent","_init_extra_leftTangent","_init_boxPosition","_init_extra_boxPosition","_init_rightTangent","_init_extra_rightTangent","_init_rotatedLeftTangent","_init_extra_rotatedLeftTangent","_init_rotatedRightTangent","_init_extra_rotatedRightTangent","_init_time","_init_extra_time","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","int32","schema","enum","notify","float32","vec3","readwrite","boolean","string","read","carbon","method","impl","adapted","implemented","constructor","args","interpolation","Tr2FollowCurveKeyInterpolation","LINEAR","fovMultiplication","offset","create","enabled","name","angleZero","Math","PI","angle","objectBounds","leftTangent","boxPosition","rightTangent","rotatedLeftTangent","rotatedRightTangent","time","Initialize","CalculateBoxPosition","OnModified","_options","min","max","copy","GetValue","out","GetTime","GetInterpolationType","GetLeftTangent","GetRightTangent"],"mappings":"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"}