@carbonenginejs/runtime-trinity 0.6.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 (1087) 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 +10 -0
  7. package/dist/controllers/Tr2ActionAnimateCurveSet.js.map +1 -1
  8. package/dist/controllers/Tr2ActionAnimateValue.js +26 -0
  9. package/dist/controllers/Tr2ActionAnimateValue.js.map +1 -1
  10. package/dist/controllers/Tr2ActionBindRTPC.js +11 -0
  11. package/dist/controllers/Tr2ActionBindRTPC.js.map +1 -1
  12. package/dist/controllers/Tr2ActionCallback.js +5 -0
  13. package/dist/controllers/Tr2ActionCallback.js.map +1 -1
  14. package/dist/controllers/Tr2ActionChildEffect.js +63 -0
  15. package/dist/controllers/Tr2ActionChildEffect.js.map +1 -1
  16. package/dist/controllers/Tr2ActionOverlay.js +68 -0
  17. package/dist/controllers/Tr2ActionOverlay.js.map +1 -1
  18. package/dist/controllers/Tr2ActionPlayCurveSet.js +16 -0
  19. package/dist/controllers/Tr2ActionPlayCurveSet.js.map +1 -1
  20. package/dist/controllers/Tr2ActionPlayMeshAnimation.js +29 -0
  21. package/dist/controllers/Tr2ActionPlayMeshAnimation.js.map +1 -1
  22. package/dist/controllers/Tr2ActionPlaySound.js +11 -0
  23. package/dist/controllers/Tr2ActionPlaySound.js.map +1 -1
  24. package/dist/controllers/Tr2ActionPython.js +11 -0
  25. package/dist/controllers/Tr2ActionPython.js.map +1 -1
  26. package/dist/controllers/Tr2ActionResetClipSphereCenter.js +17 -0
  27. package/dist/controllers/Tr2ActionResetClipSphereCenter.js.map +1 -1
  28. package/dist/controllers/Tr2ActionSetAttenuationScaling.js +5 -0
  29. package/dist/controllers/Tr2ActionSetAttenuationScaling.js.map +1 -1
  30. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js +5 -0
  31. package/dist/controllers/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
  32. package/dist/controllers/Tr2ActionSetAudioSwitch.js +5 -0
  33. package/dist/controllers/Tr2ActionSetAudioSwitch.js.map +1 -1
  34. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js +23 -0
  35. package/dist/controllers/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  36. package/dist/controllers/Tr2ActionSetShaderOption.js +5 -0
  37. package/dist/controllers/Tr2ActionSetShaderOption.js.map +1 -1
  38. package/dist/controllers/Tr2ActionSetValue.js +35 -0
  39. package/dist/controllers/Tr2ActionSetValue.js.map +1 -1
  40. package/dist/controllers/Tr2ActionSpawnParticles.js +10 -0
  41. package/dist/controllers/Tr2ActionSpawnParticles.js.map +1 -1
  42. package/dist/controllers/Tr2BindingPoint.js +67 -0
  43. package/dist/controllers/Tr2BindingPoint.js.map +1 -1
  44. package/dist/controllers/Tr2Controller.js +37 -0
  45. package/dist/controllers/Tr2Controller.js.map +1 -1
  46. package/dist/controllers/Tr2ControllerEventHandler.js +10 -0
  47. package/dist/controllers/Tr2ControllerEventHandler.js.map +1 -1
  48. package/dist/controllers/Tr2ControllerExpression.js +17 -0
  49. package/dist/controllers/Tr2ControllerExpression.js.map +1 -1
  50. package/dist/controllers/Tr2ControllerFloatVariable.js +6 -0
  51. package/dist/controllers/Tr2ControllerFloatVariable.js.map +1 -1
  52. package/dist/controllers/Tr2ControllerReference.js +11 -0
  53. package/dist/controllers/Tr2ControllerReference.js.map +1 -1
  54. package/dist/controllers/Tr2StateMachine.js +17 -0
  55. package/dist/controllers/Tr2StateMachine.js.map +1 -1
  56. package/dist/controllers/Tr2StateMachineState.js +47 -0
  57. package/dist/controllers/Tr2StateMachineState.js.map +1 -1
  58. package/dist/controllers/Tr2StateMachineTransition.js +29 -0
  59. package/dist/controllers/Tr2StateMachineTransition.js.map +1 -1
  60. package/dist/controllers/Tr2SyncToAnimation.js +5 -0
  61. package/dist/controllers/Tr2SyncToAnimation.js.map +1 -1
  62. package/dist/controllers/Tr2TimelineController.js +61 -0
  63. package/dist/controllers/Tr2TimelineController.js.map +1 -1
  64. package/dist/controllers/contracts.js +24 -1
  65. package/dist/controllers/contracts.js.map +1 -1
  66. package/dist/controllers/index.js +1 -1
  67. package/dist/curves/CjsGrannyCurves.js +150 -0
  68. package/dist/curves/CjsGrannyCurves.js.map +1 -1
  69. package/dist/curves/Tr2BoneMatrixCurve.js +23 -0
  70. package/dist/curves/Tr2BoneMatrixCurve.js.map +1 -1
  71. package/dist/curves/Tr2CameraFollowCurveKey.js +6 -0
  72. package/dist/curves/Tr2CameraFollowCurveKey.js.map +1 -1
  73. package/dist/curves/Tr2CurveColor.js +6 -0
  74. package/dist/curves/Tr2CurveColor.js.map +1 -1
  75. package/dist/curves/Tr2CurveColorMixer.js +6 -0
  76. package/dist/curves/Tr2CurveColorMixer.js.map +1 -1
  77. package/dist/curves/Tr2CurveCombiner.js +5 -0
  78. package/dist/curves/Tr2CurveCombiner.js.map +1 -1
  79. package/dist/curves/Tr2CurveConstant.js +16 -0
  80. package/dist/curves/Tr2CurveConstant.js.map +1 -1
  81. package/dist/curves/Tr2CurveEulerRotation.js +5 -0
  82. package/dist/curves/Tr2CurveEulerRotation.js.map +1 -1
  83. package/dist/curves/Tr2CurveEulerRotationExpression.js +66 -0
  84. package/dist/curves/Tr2CurveEulerRotationExpression.js.map +1 -1
  85. package/dist/curves/Tr2CurveQuaternion.js +5 -0
  86. package/dist/curves/Tr2CurveQuaternion.js.map +1 -1
  87. package/dist/curves/Tr2CurveQuaternionKey.js +5 -0
  88. package/dist/curves/Tr2CurveQuaternionKey.js.map +1 -1
  89. package/dist/curves/Tr2CurveRandomAxisRotation.js +28 -0
  90. package/dist/curves/Tr2CurveRandomAxisRotation.js.map +1 -1
  91. package/dist/curves/Tr2CurveScalar.js +35 -0
  92. package/dist/curves/Tr2CurveScalar.js.map +1 -1
  93. package/dist/curves/Tr2CurveScalarExpression.js +11 -0
  94. package/dist/curves/Tr2CurveScalarExpression.js.map +1 -1
  95. package/dist/curves/Tr2CurveScalarKey.js +6 -0
  96. package/dist/curves/Tr2CurveScalarKey.js.map +1 -1
  97. package/dist/curves/Tr2CurveSetRange.js +5 -0
  98. package/dist/curves/Tr2CurveSetRange.js.map +1 -1
  99. package/dist/curves/Tr2CurveVector2.js +5 -0
  100. package/dist/curves/Tr2CurveVector2.js.map +1 -1
  101. package/dist/curves/Tr2CurveVector3.js +5 -0
  102. package/dist/curves/Tr2CurveVector3.js.map +1 -1
  103. package/dist/curves/Tr2CurveVector3Expression.js +71 -0
  104. package/dist/curves/Tr2CurveVector3Expression.js.map +1 -1
  105. package/dist/curves/Tr2CurveVector3Lerp.js +6 -0
  106. package/dist/curves/Tr2CurveVector3Lerp.js.map +1 -1
  107. package/dist/curves/Tr2DistanceTracker.js +6 -0
  108. package/dist/curves/Tr2DistanceTracker.js.map +1 -1
  109. package/dist/curves/Tr2FollowCurve.js +6 -0
  110. package/dist/curves/Tr2FollowCurve.js.map +1 -1
  111. package/dist/curves/Tr2GrannyEventTrack.js +5 -0
  112. package/dist/curves/Tr2GrannyEventTrack.js.map +1 -1
  113. package/dist/curves/Tr2GrannyTrack.js +6 -0
  114. package/dist/curves/Tr2GrannyTrack.js.map +1 -1
  115. package/dist/curves/Tr2GrannyTransformTrack.js +6 -0
  116. package/dist/curves/Tr2GrannyTransformTrack.js.map +1 -1
  117. package/dist/curves/Tr2GrannyVectorTrack.js +5 -0
  118. package/dist/curves/Tr2GrannyVectorTrack.js.map +1 -1
  119. package/dist/curves/Tr2MatrixKey.js +5 -0
  120. package/dist/curves/Tr2MatrixKey.js.map +1 -1
  121. package/dist/curves/Tr2ObjectFollowCurveKey.js +6 -0
  122. package/dist/curves/Tr2ObjectFollowCurveKey.js.map +1 -1
  123. package/dist/curves/Tr2QuaternionLerpCurve.js +6 -0
  124. package/dist/curves/Tr2QuaternionLerpCurve.js.map +1 -1
  125. package/dist/curves/Tr2RotationAdapter.js +6 -0
  126. package/dist/curves/Tr2RotationAdapter.js.map +1 -1
  127. package/dist/curves/Tr2ScalarExprKey.js +18 -0
  128. package/dist/curves/Tr2ScalarExprKey.js.map +1 -1
  129. package/dist/curves/Tr2ScalarExprKeyCurve.js +23 -0
  130. package/dist/curves/Tr2ScalarExprKeyCurve.js.map +1 -1
  131. package/dist/curves/Tr2ScalarFader.js +11 -0
  132. package/dist/curves/Tr2ScalarFader.js.map +1 -1
  133. package/dist/curves/Tr2TranslationAdapter.js +6 -0
  134. package/dist/curves/Tr2TranslationAdapter.js.map +1 -1
  135. package/dist/curves/TriColorSequencer.js +6 -0
  136. package/dist/curves/TriColorSequencer.js.map +1 -1
  137. package/dist/curves/TriCurveSet.js +23 -0
  138. package/dist/curves/TriCurveSet.js.map +1 -1
  139. package/dist/curves/TriEventCurve.js +23 -0
  140. package/dist/curves/TriEventCurve.js.map +1 -1
  141. package/dist/curves/TriEventKey.js +5 -0
  142. package/dist/curves/TriEventKey.js.map +1 -1
  143. package/dist/curves/TriPerlinCurve.js +30 -0
  144. package/dist/curves/TriPerlinCurve.js.map +1 -1
  145. package/dist/curves/TriVectorSequencer.js +6 -0
  146. package/dist/curves/TriVectorSequencer.js.map +1 -1
  147. package/dist/eve/AudioGameObject.js +89 -1
  148. package/dist/eve/AudioGameObject.js.map +1 -1
  149. package/dist/eve/BackAndForthData.js +7 -0
  150. package/dist/eve/BackAndForthData.js.map +1 -1
  151. package/dist/eve/CjsDistributionRandom.js +6 -0
  152. package/dist/eve/CjsDistributionRandom.js.map +1 -1
  153. package/dist/eve/CjsEveThrottleableState.js +11 -0
  154. package/dist/eve/CjsEveThrottleableState.js.map +1 -1
  155. package/dist/eve/EveChildUpdateParams.js +7 -0
  156. package/dist/eve/EveChildUpdateParams.js.map +1 -1
  157. package/dist/eve/EveComponentTypes.js.map +1 -1
  158. package/dist/eve/EveCustomMask.js +58 -27
  159. package/dist/eve/EveCustomMask.js.map +1 -1
  160. package/dist/eve/EveDistanceField.js +84 -0
  161. package/dist/eve/EveDistanceField.js.map +1 -1
  162. package/dist/eve/EveEntity.js +138 -0
  163. package/dist/eve/EveEntity.js.map +1 -0
  164. package/dist/eve/EveImpactOverlay.js +61 -0
  165. package/dist/eve/EveImpactOverlay.js.map +1 -1
  166. package/dist/eve/EveLODHelper.js +17 -13
  167. package/dist/eve/EveLODHelper.js.map +1 -1
  168. package/dist/eve/EveLineData.js +2 -0
  169. package/dist/eve/EveLineData.js.map +1 -1
  170. package/dist/eve/EveThrottleable.js +11 -0
  171. package/dist/eve/EveThrottleable.js.map +1 -1
  172. package/dist/eve/FollowASplineData.js +7 -0
  173. package/dist/eve/FollowASplineData.js.map +1 -1
  174. package/dist/eve/FormationData.js +6 -0
  175. package/dist/eve/FormationData.js.map +1 -1
  176. package/dist/eve/InertiaData.js +7 -0
  177. package/dist/eve/InertiaData.js.map +1 -1
  178. package/dist/eve/PlacementDataWithIdentifier.js +7 -0
  179. package/dist/eve/PlacementDataWithIdentifier.js.map +1 -1
  180. package/dist/eve/PlayFXData.js +7 -0
  181. package/dist/eve/PlayFXData.js.map +1 -1
  182. package/dist/eve/SeekTargetData.js +7 -0
  183. package/dist/eve/SeekTargetData.js.map +1 -1
  184. package/dist/eve/{EveSpaceObjectAttachmentUtils.js → attachment/EveSpaceObjectAttachmentUtils.js} +11 -11
  185. package/dist/eve/attachment/EveSpaceObjectAttachmentUtils.js.map +1 -0
  186. package/dist/eve/attachment/banner/EveBannerItem.js +70 -0
  187. package/dist/eve/attachment/banner/EveBannerItem.js.map +1 -0
  188. package/dist/eve/{EveBannerLight.js → attachment/banner/EveBannerLight.js} +13 -2
  189. package/dist/eve/attachment/banner/EveBannerLight.js.map +1 -0
  190. package/dist/eve/attachment/banner/EveBannerSet.js +537 -0
  191. package/dist/eve/attachment/banner/EveBannerSet.js.map +1 -0
  192. package/dist/eve/{EveBoosterSet2.js → attachment/booster/EveBoosterSet2.js} +204 -35
  193. package/dist/eve/attachment/booster/EveBoosterSet2.js.map +1 -0
  194. package/dist/eve/{EveBoosterSet2Renderable.js → attachment/booster/EveBoosterSet2Renderable.js} +205 -12
  195. package/dist/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -0
  196. package/dist/eve/{EveTrailsSet.js → attachment/booster/EveTrailsSet.js} +49 -1
  197. package/dist/eve/attachment/booster/EveTrailsSet.js.map +1 -0
  198. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js +512 -0
  199. package/dist/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -0
  200. package/dist/eve/{EveHazeSet.js → attachment/haze/EveHazeSet.js} +65 -6
  201. package/dist/eve/attachment/haze/EveHazeSet.js.map +1 -0
  202. package/dist/eve/attachment/haze/EveHazeSetItem.js +64 -0
  203. package/dist/eve/attachment/haze/EveHazeSetItem.js.map +1 -0
  204. package/dist/eve/{EveHazeSetLight.js → attachment/haze/EveHazeSetLight.js} +13 -2
  205. package/dist/eve/attachment/haze/EveHazeSetLight.js.map +1 -0
  206. package/dist/eve/attachment/itemSetBounds.js +131 -0
  207. package/dist/eve/attachment/itemSetBounds.js.map +1 -0
  208. package/dist/eve/{EvePlaneLight.js → attachment/plane/EvePlaneLight.js} +14 -2
  209. package/dist/eve/attachment/plane/EvePlaneLight.js.map +1 -0
  210. package/dist/eve/{EvePlaneSet.js → attachment/plane/EvePlaneSet.js} +119 -7
  211. package/dist/eve/attachment/plane/EvePlaneSet.js.map +1 -0
  212. package/dist/eve/attachment/plane/EvePlaneSetItem.js +72 -0
  213. package/dist/eve/attachment/plane/EvePlaneSetItem.js.map +1 -0
  214. package/dist/eve/{EveSpotlightLight.js → attachment/spotlight/EveSpotlightLight.js} +13 -2
  215. package/dist/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -0
  216. package/dist/eve/{EveSpotlightSet.js → attachment/spotlight/EveSpotlightSet.js} +86 -6
  217. package/dist/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -0
  218. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js +61 -0
  219. package/dist/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -0
  220. package/dist/eve/{EveSpriteLight.js → attachment/sprite/EveSpriteLight.js} +14 -2
  221. package/dist/eve/attachment/sprite/EveSpriteLight.js.map +1 -0
  222. package/dist/eve/{EveSpriteLineSet.js → attachment/sprite/EveSpriteLineSet.js} +69 -7
  223. package/dist/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -0
  224. package/dist/eve/{EveSpriteLineSetItem.js → attachment/sprite/EveSpriteLineSetItem.js} +29 -4
  225. package/dist/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -0
  226. package/dist/eve/{EveSpriteSet.js → attachment/sprite/EveSpriteSet.js} +87 -8
  227. package/dist/eve/attachment/sprite/EveSpriteSet.js.map +1 -0
  228. package/dist/{generated/eve/attachment/sprites → eve/attachment/sprite}/EveSpriteSetItem.js +23 -26
  229. package/dist/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -0
  230. package/dist/eve/attachment/turrets/EveTurretFiringFX.js +184 -2
  231. package/dist/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  232. package/dist/eve/attachment/turrets/EveTurretSet.js +236 -7
  233. package/dist/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  234. package/dist/eve/attachment/turrets/EveTurretTarget.js +112 -0
  235. package/dist/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  236. package/dist/eve/camera/EveCamera.js +644 -0
  237. package/dist/eve/camera/EveCamera.js.map +1 -0
  238. package/dist/eve/child/EveChildAudio.js +63 -0
  239. package/dist/eve/child/EveChildAudio.js.map +1 -1
  240. package/dist/eve/child/EveChildBehaviorSystem.js +412 -0
  241. package/dist/eve/child/EveChildBehaviorSystem.js.map +1 -0
  242. package/dist/{generated/eve → eve}/child/EveChildBulletStorm.js +41 -3
  243. package/dist/eve/child/EveChildBulletStorm.js.map +1 -0
  244. package/dist/eve/child/EveChildContainer.js +175 -16
  245. package/dist/eve/child/EveChildContainer.js.map +1 -1
  246. package/dist/eve/child/EveChildEffectPropagator.js +1 -1
  247. package/dist/eve/child/EveChildEffectPropagator.js.map +1 -1
  248. package/dist/eve/child/EveChildFogVolume.js +72 -0
  249. package/dist/eve/child/EveChildFogVolume.js.map +1 -1
  250. package/dist/eve/child/EveChildInheritProperties.js +17 -0
  251. package/dist/eve/child/EveChildInheritProperties.js.map +1 -1
  252. package/dist/eve/child/EveChildInstancedMeshes.js +211 -1
  253. package/dist/eve/child/EveChildInstancedMeshes.js.map +1 -1
  254. package/dist/eve/child/EveChildLightingOverride.js +74 -0
  255. package/dist/eve/child/EveChildLightingOverride.js.map +1 -1
  256. package/dist/{generated/eve → eve}/child/EveChildLink.js +17 -16
  257. package/dist/eve/child/EveChildLink.js.map +1 -0
  258. package/dist/eve/child/EveChildMesh.js +351 -105
  259. package/dist/eve/child/EveChildMesh.js.map +1 -1
  260. package/dist/eve/child/EveChildSpherePin.js +108 -0
  261. package/dist/eve/child/EveChildSpherePin.js.map +1 -0
  262. package/dist/eve/child/EveChildTransform.js +44 -1
  263. package/dist/eve/child/EveChildTransform.js.map +1 -1
  264. package/dist/eve/child/IEveSpaceObjectChild.js +5 -0
  265. package/dist/eve/child/IEveSpaceObjectChild.js.map +1 -1
  266. package/dist/eve/child/behaviors/CollisionAvoidance.js +112 -0
  267. package/dist/eve/child/behaviors/CollisionAvoidance.js.map +1 -0
  268. package/dist/eve/child/behaviors/InclusionVolume.js +131 -0
  269. package/dist/eve/child/behaviors/InclusionVolume.js.map +1 -0
  270. package/dist/eve/child/behaviors/Wander.js +99 -0
  271. package/dist/eve/child/behaviors/Wander.js.map +1 -0
  272. package/dist/{generated/eve → eve}/child/behaviors/enums.js +1 -1
  273. package/dist/eve/child/behaviors/enums.js.map +1 -0
  274. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js +540 -0
  275. package/dist/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -0
  276. package/dist/eve/{ProcessLifetimeData.js → child/behaviors/lifecycle/ProcessLifetimeData.js} +8 -2
  277. package/dist/eve/child/behaviors/lifecycle/ProcessLifetimeData.js.map +1 -0
  278. package/dist/eve/child/behaviors/{SplineTunnel.js → tunnels/SplineTunnel.js} +9 -7
  279. package/dist/eve/child/behaviors/tunnels/SplineTunnel.js.map +1 -0
  280. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js +211 -0
  281. package/dist/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -0
  282. package/dist/eve/child/behaviors/{SplineTunnelPoint.js → tunnels/SplineTunnelPoint.js} +3 -3
  283. package/dist/eve/child/behaviors/tunnels/SplineTunnelPoint.js.map +1 -0
  284. package/dist/eve/child/lineSetPaths/EveBezierCurve.js +65 -0
  285. package/dist/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  286. package/dist/eve/child/lineSetPaths/EveCircle.js +63 -0
  287. package/dist/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  288. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierAttachToBone.js +24 -16
  289. package/dist/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -0
  290. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js +5 -0
  291. package/dist/eve/child/modifiers/EveChildModifierBillboard2D.js.map +1 -1
  292. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierBillboard3D.js +22 -19
  293. package/dist/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -0
  294. package/dist/eve/child/modifiers/EveChildModifierBooster.js +6 -0
  295. package/dist/eve/child/modifiers/EveChildModifierBooster.js.map +1 -1
  296. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js +5 -0
  297. package/dist/eve/child/modifiers/EveChildModifierCameraOrientedRotationConstrained.js.map +1 -1
  298. package/dist/eve/child/modifiers/EveChildModifierHalo.js +5 -0
  299. package/dist/eve/child/modifiers/EveChildModifierHalo.js.map +1 -1
  300. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js +6 -0
  301. package/dist/eve/child/modifiers/EveChildModifierHaloInverted.js.map +1 -1
  302. package/dist/eve/child/modifiers/EveChildModifierSRT.js +5 -0
  303. package/dist/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  304. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierStretch.js +31 -17
  305. package/dist/eve/child/modifiers/EveChildModifierStretch.js.map +1 -0
  306. package/dist/{generated/eve → eve}/child/modifiers/EveChildModifierTranslateWithCamera.js +16 -14
  307. package/dist/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -0
  308. package/dist/{generated/eve → eve}/child/procedural/EveChildProceduralContainer.js +11 -4
  309. package/dist/eve/child/procedural/EveChildProceduralContainer.js.map +1 -0
  310. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMap.js +12 -12
  311. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -0
  312. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +6 -6
  313. package/dist/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -0
  314. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCycling.js +12 -12
  315. package/dist/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -0
  316. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodCyclingParameter.js +8 -8
  317. package/dist/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -0
  318. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandom.js +17 -17
  319. package/dist/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -0
  320. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodRandomParameter.js +7 -7
  321. package/dist/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -0
  322. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholdParameter.js +7 -7
  323. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -0
  324. package/dist/{generated/eve → eve}/child/procedural/selection/EveProceduralMethodThresholds.js +17 -17
  325. package/dist/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -0
  326. package/dist/{generated/eve → eve}/distribution/EveBaseDistributionMethod.js +132 -3
  327. package/dist/eve/distribution/EveBaseDistributionMethod.js.map +1 -0
  328. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +12 -1
  329. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -0
  330. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +9 -1
  331. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -0
  332. package/dist/{generated/eve → eve}/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +12 -1
  333. package/dist/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -0
  334. package/dist/eve/distribution/attributeModifiers/enums.js.map +1 -0
  335. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorLocators.js +16 -3
  336. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -0
  337. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +31 -3
  338. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -0
  339. package/dist/{generated/eve → eve}/distribution/placement/EveDistributionPlacementGeneratorVolume.js +34 -3
  340. package/dist/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -0
  341. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +14 -2
  342. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -0
  343. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +13 -2
  344. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -0
  345. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +13 -2
  346. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -0
  347. package/dist/{generated/eve → eve}/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +13 -2
  348. package/dist/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -0
  349. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerBurst.js +19 -1
  350. package/dist/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -0
  351. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +25 -1
  352. package/dist/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -0
  353. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerInterval.js +17 -1
  354. package/dist/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -0
  355. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +20 -1
  356. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -0
  357. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +20 -1
  358. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -0
  359. package/dist/{generated/eve → eve}/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +20 -1
  360. package/dist/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -0
  361. package/dist/{generated/eve/effect → eve/effect/lensflare}/EveLensflare.js +44 -2
  362. package/dist/eve/effect/lensflare/EveLensflare.js.map +1 -0
  363. package/dist/eve/effect/multiEffect/EveMultiEffect.js +302 -0
  364. package/dist/eve/effect/multiEffect/EveMultiEffect.js.map +1 -0
  365. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js +92 -0
  366. package/dist/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -0
  367. package/dist/eve/index.js +117 -47
  368. package/dist/eve/index.js.map +1 -1
  369. package/dist/eve/lights/CjsLightData.js +7 -0
  370. package/dist/eve/lights/CjsLightData.js.map +1 -1
  371. package/dist/eve/lights/Tr2Light.js +41 -0
  372. package/dist/eve/lights/Tr2Light.js.map +1 -1
  373. package/dist/eve/lights/Tr2PointLight.js +5 -0
  374. package/dist/eve/lights/Tr2PointLight.js.map +1 -1
  375. package/dist/eve/lights/Tr2SpotLight.js +5 -0
  376. package/dist/eve/lights/Tr2SpotLight.js.map +1 -1
  377. package/dist/eve/lights/Tr2TexturedPointLight.js +10 -0
  378. package/dist/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  379. package/dist/eve/lights/lightConversion.js +29 -27
  380. package/dist/eve/lights/lightConversion.js.map +1 -1
  381. package/dist/eve/{EveLocator2.js → locator/EveLocator2.js} +20 -1
  382. package/dist/eve/locator/EveLocator2.js.map +1 -0
  383. package/dist/eve/{EveLocatorSets.js → locator/EveLocatorSets.js} +43 -1
  384. package/dist/eve/locator/EveLocatorSets.js.map +1 -0
  385. package/dist/eve/{Locator.js → locator/Locator.js} +6 -1
  386. package/dist/eve/locator/Locator.js.map +1 -0
  387. package/dist/eve/{LocatorData.js → locator/LocatorData.js} +3 -1
  388. package/dist/eve/locator/LocatorData.js.map +1 -0
  389. package/dist/eve/overlays/EveMeshOverlayEffect.js +208 -0
  390. package/dist/eve/overlays/EveMeshOverlayEffect.js.map +1 -0
  391. package/dist/eve/{EveParticleDirectForce.js → particles/force/EveParticleDirectForce.js} +5 -5
  392. package/dist/eve/particles/force/EveParticleDirectForce.js.map +1 -0
  393. package/dist/eve/{EveParticleDragForce.js → particles/force/EveParticleDragForce.js} +5 -5
  394. package/dist/eve/particles/force/EveParticleDragForce.js.map +1 -0
  395. package/dist/eve/{EveParticleSpring.js → particles/force/EveParticleSpring.js} +6 -6
  396. package/dist/eve/particles/force/EveParticleSpring.js.map +1 -0
  397. package/dist/{generated/eve/scene → eve/particles/static}/EveSceneStaticParticles.js +70 -36
  398. package/dist/eve/particles/static/EveSceneStaticParticles.js.map +1 -0
  399. package/dist/eve/perObjectData/childPerObjectRecords.js +90 -0
  400. package/dist/eve/perObjectData/childPerObjectRecords.js.map +1 -0
  401. package/dist/eve/renderable/stretch/CjsStretchRuntime.js +76 -0
  402. package/dist/eve/renderable/stretch/CjsStretchRuntime.js.map +1 -1
  403. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js +85 -1
  404. package/dist/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  405. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js +91 -0
  406. package/dist/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
  407. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js +36 -0
  408. package/dist/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
  409. package/dist/eve/renderable/stretch/EveStretch.js +158 -9
  410. package/dist/eve/renderable/stretch/EveStretch.js.map +1 -1
  411. package/dist/eve/renderable/stretch/EveStretch2.js +121 -12
  412. package/dist/eve/renderable/stretch/EveStretch2.js.map +1 -1
  413. package/dist/eve/renderable/stretch/EveStretch3.js +261 -8
  414. package/dist/eve/renderable/stretch/EveStretch3.js.map +1 -1
  415. package/dist/eve/scene/EveSpaceScene.js +56 -6
  416. package/dist/eve/scene/EveSpaceScene.js.map +1 -1
  417. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentCollection.js +24 -1
  418. package/dist/eve/scene/components/EveComponentCollection.js.map +1 -0
  419. package/dist/{generated/eve/scene → eve/scene/components}/EveComponentRegistry.js +74 -2
  420. package/dist/eve/scene/components/EveComponentRegistry.js.map +1 -0
  421. package/dist/eve/scene/picking/EvePickingContext.js +61 -0
  422. package/dist/eve/scene/picking/EvePickingContext.js.map +1 -0
  423. package/dist/eve/scene/shadows/TriShadowFrustum.js +70 -0
  424. package/dist/eve/scene/shadows/TriShadowFrustum.js.map +1 -0
  425. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js +129 -0
  426. package/dist/eve/scene/shadows/TriShadowOrthoFrustum.js.map +1 -0
  427. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +19 -19
  428. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -0
  429. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +19 -19
  430. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -0
  431. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +12 -12
  432. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -0
  433. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +12 -12
  434. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -0
  435. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +30 -30
  436. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -0
  437. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +9 -9
  438. package/dist/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -0
  439. package/dist/{generated/eve → eve}/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +23 -23
  440. package/dist/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -0
  441. package/dist/eve/smartLights/attributeModifiers/enums.js.map +1 -0
  442. package/dist/{generated/eve → eve}/socket/EveSocketParameterBindingBase.js +26 -1
  443. package/dist/eve/socket/EveSocketParameterBindingBase.js.map +1 -0
  444. package/dist/{generated/eve → eve}/socket/EveSocketParameterBool.js +17 -1
  445. package/dist/eve/socket/EveSocketParameterBool.js.map +1 -0
  446. package/dist/{generated/eve → eve}/socket/EveSocketParameterColor.js +21 -5
  447. package/dist/eve/socket/EveSocketParameterColor.js.map +1 -0
  448. package/dist/eve/socket/EveSocketParameterFilePath.js +5 -5
  449. package/dist/eve/socket/EveSocketParameterFilePath.js.map +1 -1
  450. package/dist/{generated/eve → eve}/socket/EveSocketParameterFloat.js +17 -1
  451. package/dist/eve/socket/EveSocketParameterFloat.js.map +1 -0
  452. package/dist/{generated/eve → eve}/socket/EveSocketParameterInt.js +17 -1
  453. package/dist/eve/socket/EveSocketParameterInt.js.map +1 -0
  454. package/dist/{generated/eve → eve}/socket/EveSocketParameterString.js +42 -2
  455. package/dist/eve/socket/EveSocketParameterString.js.map +1 -0
  456. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector2.js +17 -1
  457. package/dist/eve/socket/EveSocketParameterVector2.js.map +1 -0
  458. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector3.js +17 -1
  459. package/dist/eve/socket/EveSocketParameterVector3.js.map +1 -0
  460. package/dist/{generated/eve → eve}/socket/EveSocketParameterVector4.js +17 -1
  461. package/dist/eve/socket/EveSocketParameterVector4.js.map +1 -0
  462. package/dist/eve/spaceObject/EveEffectRoot2.js +58 -31
  463. package/dist/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  464. package/dist/eve/spaceObject/EveMissile.js +49 -1
  465. package/dist/eve/spaceObject/EveMissile.js.map +1 -1
  466. package/dist/eve/spaceObject/EveMissileWarhead.js +100 -1
  467. package/dist/eve/spaceObject/EveMissileWarhead.js.map +1 -1
  468. package/dist/eve/spaceObject/EveMobile.js +104 -0
  469. package/dist/eve/spaceObject/EveMobile.js.map +1 -1
  470. package/dist/eve/spaceObject/EveRootTransform.js +17 -0
  471. package/dist/eve/spaceObject/EveRootTransform.js.map +1 -1
  472. package/dist/{generated/eve → eve}/spaceObject/EveShip2.js +32 -12
  473. package/dist/eve/spaceObject/EveShip2.js.map +1 -0
  474. package/dist/eve/spaceObject/EveSpaceObject2.js +726 -199
  475. package/dist/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  476. package/dist/eve/spaceObject/EveTransform.js +100 -4
  477. package/dist/eve/spaceObject/EveTransform.js.map +1 -1
  478. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js +70 -0
  479. package/dist/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -0
  480. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js +19 -16
  481. package/dist/eve/spaceObject/createEveSpaceObjectMainPerObjectValues.js.map +1 -1
  482. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +92 -0
  483. package/dist/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -0
  484. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +158 -0
  485. package/dist/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -0
  486. package/dist/{generated/eve/spaceObject → eve/spaceObject/planet}/EvePlanet.js +2 -2
  487. package/dist/eve/spaceObject/planet/EvePlanet.js.map +1 -0
  488. package/dist/{generated/eve → eve}/spaceObject/swarm/EveSwarmRenderable.js +102 -64
  489. package/dist/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -0
  490. package/dist/eve/ui/EveEllipseDefinition.js +15 -0
  491. package/dist/eve/ui/EveEllipseDefinition.js.map +1 -1
  492. package/dist/eve/ui/EveEllipseSet.js +42 -0
  493. package/dist/eve/ui/EveEllipseSet.js.map +1 -1
  494. package/dist/{generated/eve → eve}/ui/EveSpherePin.js +76 -11
  495. package/dist/eve/ui/EveSpherePin.js.map +1 -0
  496. package/dist/eve/ui/EveSprite2dBracket.js +5 -0
  497. package/dist/eve/ui/EveSprite2dBracket.js.map +1 -1
  498. package/dist/eve/ui/EveUiObject.js +11 -0
  499. package/dist/eve/ui/EveUiObject.js.map +1 -1
  500. package/dist/{generated/eve/ui → eve/ui/lines}/EveLineSet.js +67 -6
  501. package/dist/eve/ui/lines/EveLineSet.js.map +1 -0
  502. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +78 -0
  503. package/dist/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -0
  504. package/dist/{generated/eve/ui → eve/ui/tacticalOverlay}/EveTacticalTrails.js +22 -2
  505. package/dist/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -0
  506. package/dist/eve/virtualCamera/EveVirtualCamera.js +152 -0
  507. package/dist/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
  508. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js +65 -0
  509. package/dist/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
  510. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +17 -0
  511. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
  512. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +19 -0
  513. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
  514. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +17 -0
  515. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
  516. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +29 -0
  517. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
  518. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +15 -0
  519. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
  520. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +38 -0
  521. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
  522. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +17 -0
  523. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
  524. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +18 -0
  525. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
  526. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +20 -0
  527. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
  528. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +20 -0
  529. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
  530. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js +11 -0
  531. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveRight.js.map +1 -1
  532. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js +14 -0
  533. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveUp.js.map +1 -1
  534. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +16 -0
  535. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
  536. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +20 -0
  537. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
  538. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +36 -0
  539. package/dist/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
  540. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js +36 -0
  541. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionBase.js.map +1 -1
  542. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js +11 -0
  543. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionCut.js.map +1 -1
  544. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +37 -0
  545. package/dist/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
  546. package/dist/eve/volume/EveBoxVolume.js +59 -0
  547. package/dist/eve/volume/EveBoxVolume.js.map +1 -1
  548. package/dist/eve/volume/EveEllipsoidVolume.js +54 -0
  549. package/dist/eve/volume/EveEllipsoidVolume.js.map +1 -1
  550. package/dist/eve/volume/EveSphereVolume.js +34 -0
  551. package/dist/eve/volume/EveSphereVolume.js.map +1 -1
  552. package/dist/generated/eve/child/EveChildCloud2.js +138 -138
  553. package/dist/generated/eve/child/EveChildCloud2.js.map +1 -1
  554. package/dist/generated/eve/child/EveChildParticleSystem.js +10 -4
  555. package/dist/generated/eve/child/EveChildParticleSystem.js.map +1 -1
  556. package/dist/generated/eve/child/EveChildSocket.js +1 -1
  557. package/dist/generated/eve/child/EveChildSocket.js.map +1 -1
  558. package/dist/generated/eve/child/behaviors/BackAndForth.js +14 -17
  559. package/dist/generated/eve/child/behaviors/BackAndForth.js.map +1 -1
  560. package/dist/generated/eve/child/behaviors/BehaviorGroup.js +2 -2
  561. package/dist/generated/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  562. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js +26 -29
  563. package/dist/generated/eve/child/behaviors/EveKDdroneManagementTree.js.map +1 -1
  564. package/dist/generated/eve/child/behaviors/FollowASpline.js +13 -17
  565. package/dist/generated/eve/child/behaviors/FollowASpline.js.map +1 -1
  566. package/dist/generated/eve/child/behaviors/PlayFX.js +14 -14
  567. package/dist/generated/eve/child/behaviors/PlayFX.js.map +1 -1
  568. package/dist/generated/eve/child/behaviors/SeekTarget.js +1 -1
  569. package/dist/generated/eve/child/behaviors/SeekTarget.js.map +1 -1
  570. package/dist/generated/eve/child/behaviors/index.js +0 -6
  571. package/dist/generated/eve/child/behaviors/index.js.map +1 -1
  572. package/dist/generated/eve/child/index.js +0 -23
  573. package/dist/generated/eve/child/index.js.map +1 -1
  574. package/dist/generated/eve/effect/index.js +0 -3
  575. package/dist/generated/eve/effect/index.js.map +1 -1
  576. package/dist/generated/eve/index.js +0 -88
  577. package/dist/generated/eve/index.js.map +1 -1
  578. package/dist/generated/eve/scene/index.js +0 -6
  579. package/dist/generated/eve/scene/index.js.map +1 -1
  580. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js +20 -20
  581. package/dist/generated/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  582. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js +1 -1
  583. package/dist/generated/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  584. package/dist/generated/eve/smartLights/index.js +0 -8
  585. package/dist/generated/eve/smartLights/index.js.map +1 -1
  586. package/dist/generated/eve/spaceObject/index.js +0 -4
  587. package/dist/generated/eve/spaceObject/index.js.map +1 -1
  588. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js +11 -11
  589. package/dist/generated/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  590. package/dist/generated/eve/spaceObject/swarm/index.js +0 -1
  591. package/dist/generated/eve/spaceObject/swarm/index.js.map +1 -1
  592. package/dist/generated/eve/ui/index.js +0 -4
  593. package/dist/generated/eve/ui/index.js.map +1 -1
  594. package/dist/generated/index.js +0 -93
  595. package/dist/generated/index.js.map +1 -1
  596. package/dist/generated/trinityCore/index.js +0 -5
  597. package/dist/generated/trinityCore/index.js.map +1 -1
  598. package/dist/index.js +130 -155
  599. package/dist/index.js.map +1 -1
  600. package/dist/particle/Tr2GpuSharedEmitter.js +39 -0
  601. package/dist/particle/Tr2GpuSharedEmitter.js.map +1 -1
  602. package/dist/particle/Tr2GpuUniqueEmitter.js +5 -0
  603. package/dist/particle/Tr2GpuUniqueEmitter.js.map +1 -1
  604. package/dist/particle/Tr2ParticleAttractorForce.js +10 -0
  605. package/dist/particle/Tr2ParticleAttractorForce.js.map +1 -1
  606. package/dist/particle/Tr2ParticleDirectForce.js +7 -0
  607. package/dist/particle/Tr2ParticleDirectForce.js.map +1 -1
  608. package/dist/particle/Tr2ParticleDragForce.js +7 -0
  609. package/dist/particle/Tr2ParticleDragForce.js.map +1 -1
  610. package/dist/particle/Tr2ParticleElementDeclaration.js +5 -0
  611. package/dist/particle/Tr2ParticleElementDeclaration.js.map +1 -1
  612. package/dist/particle/Tr2ParticleFluidDragForce.js +10 -0
  613. package/dist/particle/Tr2ParticleFluidDragForce.js.map +1 -1
  614. package/dist/particle/Tr2ParticleSpring.js +10 -0
  615. package/dist/particle/Tr2ParticleSpring.js.map +1 -1
  616. package/dist/particle/Tr2ParticleVortexForce.js +10 -0
  617. package/dist/particle/Tr2ParticleVortexForce.js.map +1 -1
  618. package/dist/particle/particleElementBinding.js +12 -0
  619. package/dist/particle/particleElementBinding.js.map +1 -1
  620. package/dist/postProcess/Tr2PPBloomEffect.js +6 -0
  621. package/dist/postProcess/Tr2PPBloomEffect.js.map +1 -1
  622. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js +16 -0
  623. package/dist/postProcess/Tr2PPDepthOfFieldEffect.js.map +1 -1
  624. package/dist/postProcess/Tr2PPGenericEffect.js +7 -0
  625. package/dist/postProcess/Tr2PPGenericEffect.js.map +1 -1
  626. package/dist/postProcess/Tr2PPTaaEffect.js +10 -0
  627. package/dist/postProcess/Tr2PPTaaEffect.js.map +1 -1
  628. package/dist/postProcess/Tr2PPTonemappingEffect.js +5 -0
  629. package/dist/postProcess/Tr2PPTonemappingEffect.js.map +1 -1
  630. package/dist/postProcess/Tr2PostProcess.js +5 -0
  631. package/dist/postProcess/Tr2PostProcess.js.map +1 -1
  632. package/dist/postProcess/Tr2PostProcess2.js +147 -0
  633. package/dist/postProcess/Tr2PostProcess2.js.map +1 -1
  634. package/dist/postProcess/Tr2PostProcessAttributes.js +89 -0
  635. package/dist/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  636. package/dist/renderJob/Tr2RenderJobs.js +34 -0
  637. package/dist/renderJob/Tr2RenderJobs.js.map +1 -1
  638. package/dist/renderJob/TriRenderJob.js +59 -0
  639. package/dist/renderJob/TriRenderJob.js.map +1 -1
  640. package/dist/renderJob/TriRenderStep.js +20 -0
  641. package/dist/renderJob/TriRenderStep.js.map +1 -1
  642. package/dist/renderJob/TriStepClear.js +18 -0
  643. package/dist/renderJob/TriStepClear.js.map +1 -1
  644. package/dist/renderJob/TriStepCopyRenderTarget.js +51 -0
  645. package/dist/renderJob/TriStepCopyRenderTarget.js.map +1 -1
  646. package/dist/renderJob/TriStepEnableWireframeMode.js +9 -0
  647. package/dist/renderJob/TriStepEnableWireframeMode.js.map +1 -1
  648. package/dist/renderJob/TriStepGenerateMipMaps.js +9 -0
  649. package/dist/renderJob/TriStepGenerateMipMaps.js.map +1 -1
  650. package/dist/renderJob/TriStepPopDepthStencil.js +6 -0
  651. package/dist/renderJob/TriStepPopDepthStencil.js.map +1 -1
  652. package/dist/renderJob/TriStepPopProjection.js +6 -0
  653. package/dist/renderJob/TriStepPopProjection.js.map +1 -1
  654. package/dist/renderJob/TriStepPopRenderTarget.js +12 -0
  655. package/dist/renderJob/TriStepPopRenderTarget.js.map +1 -1
  656. package/dist/renderJob/TriStepPopViewTransform.js +6 -0
  657. package/dist/renderJob/TriStepPopViewTransform.js.map +1 -1
  658. package/dist/renderJob/TriStepPopViewport.js +6 -0
  659. package/dist/renderJob/TriStepPopViewport.js.map +1 -1
  660. package/dist/renderJob/TriStepPresentSwapChain.js +12 -0
  661. package/dist/renderJob/TriStepPresentSwapChain.js.map +1 -1
  662. package/dist/renderJob/TriStepPushDepthStencil.js +17 -0
  663. package/dist/renderJob/TriStepPushDepthStencil.js.map +1 -1
  664. package/dist/renderJob/TriStepPushProjection.js +6 -0
  665. package/dist/renderJob/TriStepPushProjection.js.map +1 -1
  666. package/dist/renderJob/TriStepPushRenderTarget.js +9 -0
  667. package/dist/renderJob/TriStepPushRenderTarget.js.map +1 -1
  668. package/dist/renderJob/TriStepPushViewTransform.js +6 -0
  669. package/dist/renderJob/TriStepPushViewTransform.js.map +1 -1
  670. package/dist/renderJob/TriStepPushViewport.js +6 -0
  671. package/dist/renderJob/TriStepPushViewport.js.map +1 -1
  672. package/dist/renderJob/TriStepRemoteSync.js +17 -0
  673. package/dist/renderJob/TriStepRemoteSync.js.map +1 -1
  674. package/dist/renderJob/TriStepResolve.js +13 -0
  675. package/dist/renderJob/TriStepResolve.js.map +1 -1
  676. package/dist/renderJob/TriStepRunJob.js +12 -0
  677. package/dist/renderJob/TriStepRunJob.js.map +1 -1
  678. package/dist/renderJob/TriStepSetDepthStencil.js +12 -0
  679. package/dist/renderJob/TriStepSetDepthStencil.js.map +1 -1
  680. package/dist/renderJob/TriStepSetProjection.js +14 -0
  681. package/dist/renderJob/TriStepSetProjection.js.map +1 -1
  682. package/dist/renderJob/TriStepSetRenderState.js +20 -0
  683. package/dist/renderJob/TriStepSetRenderState.js.map +1 -1
  684. package/dist/renderJob/TriStepSetRenderTarget.js +12 -0
  685. package/dist/renderJob/TriStepSetRenderTarget.js.map +1 -1
  686. package/dist/renderJob/TriStepSetStdRndStates.js +18 -0
  687. package/dist/renderJob/TriStepSetStdRndStates.js.map +1 -1
  688. package/dist/renderJob/TriStepSetView.js +29 -2
  689. package/dist/renderJob/TriStepSetView.js.map +1 -1
  690. package/dist/renderJob/TriStepSetViewport.js +17 -0
  691. package/dist/renderJob/TriStepSetViewport.js.map +1 -1
  692. package/dist/renderJob/TriStepSetVisualizationMode.js +19 -0
  693. package/dist/renderJob/TriStepSetVisualizationMode.js.map +1 -1
  694. package/dist/shader/Tr2Effect.js +217 -2
  695. package/dist/shader/Tr2Effect.js.map +1 -1
  696. package/dist/shader/Tr2Material.js +41 -0
  697. package/dist/shader/Tr2Material.js.map +1 -1
  698. package/dist/shader/index.js +1 -11
  699. package/dist/shader/index.js.map +1 -1
  700. package/dist/shader/material/Tr2EffectLibraryParameters.js +7 -0
  701. package/dist/shader/material/Tr2EffectLibraryParameters.js.map +1 -1
  702. package/dist/shader/material/Tr2EffectPassParameters.js +23 -0
  703. package/dist/shader/material/Tr2EffectPassParameters.js.map +1 -1
  704. package/dist/shader/material/Tr2MaterialStageInput.js +15 -0
  705. package/dist/shader/material/Tr2MaterialStageInput.js.map +1 -1
  706. package/dist/shader/parameter/CjsParameter.js +94 -0
  707. package/dist/shader/parameter/CjsParameter.js.map +1 -1
  708. package/dist/shader/parameter/CjsVectorParameter.js +20 -0
  709. package/dist/shader/parameter/CjsVectorParameter.js.map +1 -1
  710. package/dist/shader/parameter/Tr2FloatParameter.js +53 -0
  711. package/dist/shader/parameter/Tr2FloatParameter.js.map +1 -1
  712. package/dist/shader/parameter/Tr2GeometryBufferParameter.js +39 -0
  713. package/dist/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  714. package/dist/shader/parameter/Tr2Matrix4Parameter.js +54 -0
  715. package/dist/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  716. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js +54 -0
  717. package/dist/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  718. package/dist/shader/parameter/Tr2TextureAnimationParameter.js +35 -0
  719. package/dist/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  720. package/dist/shader/parameter/Tr2Vector2Parameter.js +86 -0
  721. package/dist/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  722. package/dist/shader/parameter/Tr2Vector3Parameter.js +95 -0
  723. package/dist/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  724. package/dist/shader/parameter/Tr2Vector4Parameter.js +105 -0
  725. package/dist/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  726. package/dist/shader/parameter/TriFloatArrayParameter.js +26 -0
  727. package/dist/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  728. package/dist/shader/parameter/TriTextureParameter.js +84 -0
  729. package/dist/shader/parameter/TriTextureParameter.js.map +1 -1
  730. package/dist/shader/parameter/TriTransformParameter.js +2 -0
  731. package/dist/shader/parameter/TriTransformParameter.js.map +1 -1
  732. package/dist/shader/parameter/TriVariableParameter.js +38 -0
  733. package/dist/shader/parameter/TriVariableParameter.js.map +1 -1
  734. package/dist/shader/parameter/TriVector4.js +2 -0
  735. package/dist/shader/parameter/TriVector4.js.map +1 -1
  736. package/dist/shader/reflection/Tr2ShaderOption.js +6 -1
  737. package/dist/shader/reflection/Tr2ShaderOption.js.map +1 -1
  738. package/dist/shader/support/CjsVariableStore.js +140 -0
  739. package/dist/shader/support/CjsVariableStore.js.map +1 -1
  740. package/dist/shader/support/Tr2ShaderBuffer.js +15 -0
  741. package/dist/shader/support/Tr2ShaderBuffer.js.map +1 -1
  742. package/dist/trinityCore/CjsBatchManager.js +62 -2
  743. package/dist/trinityCore/CjsBatchManager.js.map +1 -1
  744. package/dist/trinityCore/GrannyBoneOffset.js +51 -0
  745. package/dist/trinityCore/GrannyBoneOffset.js.map +1 -1
  746. package/dist/trinityCore/ITriRenderBatchAccumulator.js +65 -3
  747. package/dist/trinityCore/ITriRenderBatchAccumulator.js.map +1 -1
  748. package/dist/trinityCore/Tr2DirectInstanceData.js +19 -0
  749. package/dist/trinityCore/Tr2DirectInstanceData.js.map +1 -1
  750. package/dist/trinityCore/Tr2ExpressionTermInfo.js +21 -0
  751. package/dist/trinityCore/Tr2ExpressionTermInfo.js.map +1 -1
  752. package/dist/trinityCore/Tr2GpuBuffer.js +5 -0
  753. package/dist/trinityCore/Tr2GpuBuffer.js.map +1 -1
  754. package/dist/{generated/trinityCore → trinityCore}/Tr2GrannyAnimation.js +137 -8
  755. package/dist/trinityCore/Tr2GrannyAnimation.js.map +1 -0
  756. package/dist/trinityCore/Tr2InstancedMesh.js +52 -0
  757. package/dist/trinityCore/Tr2InstancedMesh.js.map +1 -1
  758. package/dist/trinityCore/Tr2MaterialParameterStore.js +5 -0
  759. package/dist/trinityCore/Tr2MaterialParameterStore.js.map +1 -1
  760. package/dist/trinityCore/Tr2Mesh.js +37 -0
  761. package/dist/trinityCore/Tr2Mesh.js.map +1 -1
  762. package/dist/trinityCore/Tr2MeshArea.js +78 -0
  763. package/dist/trinityCore/Tr2MeshArea.js.map +1 -1
  764. package/dist/trinityCore/Tr2MeshBase.js +98 -2
  765. package/dist/trinityCore/Tr2MeshBase.js.map +1 -1
  766. package/dist/trinityCore/Tr2PerObjectData.js +10 -0
  767. package/dist/trinityCore/Tr2PerObjectData.js.map +1 -1
  768. package/dist/trinityCore/Tr2PickType.js +33 -0
  769. package/dist/trinityCore/Tr2PickType.js.map +1 -0
  770. package/dist/trinityCore/Tr2RenderBatch.js +137 -0
  771. package/dist/trinityCore/Tr2RenderBatch.js.map +1 -1
  772. package/dist/trinityCore/Tr2RenderContext.js +271 -0
  773. package/dist/trinityCore/Tr2RenderContext.js.map +1 -1
  774. package/dist/trinityCore/Tr2RuntimeInstanceData.js +179 -0
  775. package/dist/trinityCore/Tr2RuntimeInstanceData.js.map +1 -1
  776. package/dist/trinityCore/Tr2ShLightingManager.js +397 -0
  777. package/dist/trinityCore/Tr2ShLightingManager.js.map +1 -0
  778. package/dist/trinityCore/Tr2VariableStore.js +26 -0
  779. package/dist/trinityCore/Tr2VariableStore.js.map +1 -1
  780. package/dist/trinityCore/Tr2VisibilityResults.js +5 -0
  781. package/dist/trinityCore/Tr2VisibilityResults.js.map +1 -1
  782. package/dist/trinityCore/TriDevice.js +5 -0
  783. package/dist/trinityCore/TriDevice.js.map +1 -1
  784. package/dist/trinityCore/TriFrustum.js +21 -14
  785. package/dist/trinityCore/TriFrustum.js.map +1 -1
  786. package/dist/trinityCore/TriObserverLocal.js +43 -0
  787. package/dist/trinityCore/TriObserverLocal.js.map +1 -1
  788. package/dist/trinityCore/TriProjection.js +86 -32
  789. package/dist/trinityCore/TriProjection.js.map +1 -1
  790. package/dist/trinityCore/TriRect.js +12 -0
  791. package/dist/trinityCore/TriRect.js.map +1 -1
  792. package/dist/trinityCore/TriRenderBatchAccumulator.js +46 -0
  793. package/dist/trinityCore/TriRenderBatchAccumulator.js.map +1 -1
  794. package/dist/trinityCore/TriRenderBatchMap.js +39 -2
  795. package/dist/trinityCore/TriRenderBatchMap.js.map +1 -1
  796. package/dist/trinityCore/TriSettings.js +38 -0
  797. package/dist/trinityCore/TriSettings.js.map +1 -1
  798. package/dist/trinityCore/TriVariable.js +30 -0
  799. package/dist/trinityCore/TriVariable.js.map +1 -1
  800. package/dist/trinityCore/TriView.js +16 -1
  801. package/dist/trinityCore/TriView.js.map +1 -1
  802. package/dist/trinityCore/TriViewport.js +12 -0
  803. package/dist/trinityCore/TriViewport.js.map +1 -1
  804. package/dist/trinityCore/{Tr2BindingVector3.js → binding/Tr2BindingVector3.js} +1 -1
  805. package/dist/trinityCore/binding/Tr2BindingVector3.js.map +1 -0
  806. package/dist/trinityCore/binding/Tr2DynamicBinding.js +266 -0
  807. package/dist/trinityCore/binding/Tr2DynamicBinding.js.map +1 -0
  808. package/dist/trinityCore/binding/Tr2ExternalParameter.js +392 -0
  809. package/dist/trinityCore/binding/Tr2ExternalParameter.js.map +1 -0
  810. package/dist/trinityCore/{Tr2PyValueBinding.js → binding/Tr2PyValueBinding.js} +30 -6
  811. package/dist/trinityCore/binding/Tr2PyValueBinding.js.map +1 -0
  812. package/dist/trinityCore/binding/TriValueBinding.js +648 -0
  813. package/dist/trinityCore/binding/TriValueBinding.js.map +1 -0
  814. package/dist/trinityCore/index.js +11 -4
  815. package/dist/trinityCore/index.js.map +1 -1
  816. package/dist/trinityCore/pickRay.js +84 -0
  817. package/dist/trinityCore/pickRay.js.map +1 -0
  818. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js +931 -0
  819. package/dist/trinityCore/rawData/CjsPerObjectLayouts.js.map +1 -0
  820. package/dist/trinityCore/rawData/RawData.js +294 -38
  821. package/dist/trinityCore/rawData/RawData.js.map +1 -1
  822. package/dist/trinityCore/rawData/TriPoolAllocator.js +357 -0
  823. package/dist/trinityCore/rawData/TriPoolAllocator.js.map +1 -0
  824. package/dist/utilities/Range.js +53 -0
  825. package/dist/utilities/Range.js.map +1 -1
  826. package/docs/README.md +88 -0
  827. package/docs/architecture.md +162 -0
  828. package/docs/concepts/eve-runtime-behavior.md +86 -0
  829. package/docs/concepts/generated-class-lifecycle.md +116 -0
  830. package/docs/reference/api.md +76 -0
  831. package/docs/reference/classes/eve-runtime.md +106 -0
  832. package/docs/reference/classes/trinity-core.md +26 -0
  833. package/docs/reference/implementation-status.md +104 -0
  834. package/docs/reference/main-semantic-extraction.md +104 -0
  835. package/package.json +33 -24
  836. package/dist/eve/DecalVSPerObjectData.js +0 -34
  837. package/dist/eve/DecalVSPerObjectData.js.map +0 -1
  838. package/dist/eve/EveBannerItem.js +0 -43
  839. package/dist/eve/EveBannerItem.js.map +0 -1
  840. package/dist/eve/EveBannerLight.js.map +0 -1
  841. package/dist/eve/EveBannerSet.js +0 -190
  842. package/dist/eve/EveBannerSet.js.map +0 -1
  843. package/dist/eve/EveBasicPerObjectData.js +0 -31
  844. package/dist/eve/EveBasicPerObjectData.js.map +0 -1
  845. package/dist/eve/EveBoosterSet2.js.map +0 -1
  846. package/dist/eve/EveBoosterSet2Renderable.js.map +0 -1
  847. package/dist/eve/EveChildSpherePinPerObjectData.js +0 -37
  848. package/dist/eve/EveChildSpherePinPerObjectData.js.map +0 -1
  849. package/dist/eve/EveHazeSet.js.map +0 -1
  850. package/dist/eve/EveHazeSetLight.js.map +0 -1
  851. package/dist/eve/EveLocator2.js.map +0 -1
  852. package/dist/eve/EveLocatorSets.js.map +0 -1
  853. package/dist/eve/EveParticleDirectForce.js.map +0 -1
  854. package/dist/eve/EveParticleDragForce.js.map +0 -1
  855. package/dist/eve/EveParticleSpring.js.map +0 -1
  856. package/dist/eve/EvePerObjectPSData.js +0 -29
  857. package/dist/eve/EvePerObjectPSData.js.map +0 -1
  858. package/dist/eve/EvePerObjectVSData.js +0 -29
  859. package/dist/eve/EvePerObjectVSData.js.map +0 -1
  860. package/dist/eve/EvePlaneLight.js.map +0 -1
  861. package/dist/eve/EvePlaneSet.js.map +0 -1
  862. package/dist/eve/EvePlaneSetItem.js +0 -45
  863. package/dist/eve/EvePlaneSetItem.js.map +0 -1
  864. package/dist/eve/EveSpaceObjectAttachmentUtils.js.map +0 -1
  865. package/dist/eve/EveSpaceObjectDecal.js +0 -150
  866. package/dist/eve/EveSpaceObjectDecal.js.map +0 -1
  867. package/dist/eve/EveSpaceObjectPSData.js +0 -73
  868. package/dist/eve/EveSpaceObjectPSData.js.map +0 -1
  869. package/dist/eve/EveSpaceObjectVSData.js +0 -79
  870. package/dist/eve/EveSpaceObjectVSData.js.map +0 -1
  871. package/dist/eve/EveSpacePerObjectData.js +0 -97
  872. package/dist/eve/EveSpacePerObjectData.js.map +0 -1
  873. package/dist/eve/EveSpherePinPerObjectData.js +0 -37
  874. package/dist/eve/EveSpherePinPerObjectData.js.map +0 -1
  875. package/dist/eve/EveSpotlightLight.js.map +0 -1
  876. package/dist/eve/EveSpotlightSet.js.map +0 -1
  877. package/dist/eve/EveSpriteLight.js.map +0 -1
  878. package/dist/eve/EveSpriteLineSet.js.map +0 -1
  879. package/dist/eve/EveSpriteLineSetItem.js.map +0 -1
  880. package/dist/eve/EveSpriteSet.js.map +0 -1
  881. package/dist/eve/EveTrailsSet.js.map +0 -1
  882. package/dist/eve/Locator.js.map +0 -1
  883. package/dist/eve/LocatorData.js.map +0 -1
  884. package/dist/eve/ProcessLifetimeData.js.map +0 -1
  885. package/dist/eve/attachment/turrets/EveTurretSetPSData.js +0 -47
  886. package/dist/eve/attachment/turrets/EveTurretSetPSData.js.map +0 -1
  887. package/dist/eve/attachment/turrets/EveTurretSetVSData.js +0 -62
  888. package/dist/eve/attachment/turrets/EveTurretSetVSData.js.map +0 -1
  889. package/dist/eve/child/behaviors/SplineTunnel.js.map +0 -1
  890. package/dist/eve/child/behaviors/SplineTunnelPoint.js.map +0 -1
  891. package/dist/eve/perObjectData/DecalPSPerObjectData.js +0 -56
  892. package/dist/eve/perObjectData/DecalPSPerObjectData.js.map +0 -1
  893. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js +0 -31
  894. package/dist/eve/perObjectData/EveMissileWarheadPerObjectData.js.map +0 -1
  895. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js +0 -36
  896. package/dist/eve/perObjectData/EveTurretSetPerObjectData.js.map +0 -1
  897. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js +0 -64
  898. package/dist/eve/perObjectData/MergeMorphsConstantBuffer.js.map +0 -1
  899. package/dist/generated/eve/EveCamera.js +0 -264
  900. package/dist/generated/eve/EveCamera.js.map +0 -1
  901. package/dist/generated/eve/EveEntity.js +0 -81
  902. package/dist/generated/eve/EveEntity.js.map +0 -1
  903. package/dist/generated/eve/attachment/decal/index.js +0 -2
  904. package/dist/generated/eve/attachment/decal/index.js.map +0 -1
  905. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js +0 -52
  906. package/dist/generated/eve/attachment/haze/EveHazeSetItem.js.map +0 -1
  907. package/dist/generated/eve/attachment/haze/index.js +0 -2
  908. package/dist/generated/eve/attachment/haze/index.js.map +0 -1
  909. package/dist/generated/eve/attachment/index.js +0 -5
  910. package/dist/generated/eve/attachment/index.js.map +0 -1
  911. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js +0 -55
  912. package/dist/generated/eve/attachment/spotlights/EveSpotlightSetItem.js.map +0 -1
  913. package/dist/generated/eve/attachment/spotlights/index.js +0 -2
  914. package/dist/generated/eve/attachment/spotlights/index.js.map +0 -1
  915. package/dist/generated/eve/attachment/sprites/EveSpriteSetItem.js.map +0 -1
  916. package/dist/generated/eve/attachment/sprites/index.js +0 -2
  917. package/dist/generated/eve/attachment/sprites/index.js.map +0 -1
  918. package/dist/generated/eve/attachment/turrets/enums.js +0 -32
  919. package/dist/generated/eve/attachment/turrets/enums.js.map +0 -1
  920. package/dist/generated/eve/attachment/turrets/index.js +0 -2
  921. package/dist/generated/eve/attachment/turrets/index.js.map +0 -1
  922. package/dist/generated/eve/child/EveChildBehaviorSystem.js +0 -357
  923. package/dist/generated/eve/child/EveChildBehaviorSystem.js.map +0 -1
  924. package/dist/generated/eve/child/EveChildBulletStorm.js.map +0 -1
  925. package/dist/generated/eve/child/EveChildLink.js.map +0 -1
  926. package/dist/generated/eve/child/EveChildSpherePin.js +0 -54
  927. package/dist/generated/eve/child/EveChildSpherePin.js.map +0 -1
  928. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js +0 -85
  929. package/dist/generated/eve/child/behaviors/CollisionAvoidance.js.map +0 -1
  930. package/dist/generated/eve/child/behaviors/InclusionVolume.js +0 -104
  931. package/dist/generated/eve/child/behaviors/InclusionVolume.js.map +0 -1
  932. package/dist/generated/eve/child/behaviors/ProcessLifetime.js +0 -458
  933. package/dist/generated/eve/child/behaviors/ProcessLifetime.js.map +0 -1
  934. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js +0 -161
  935. package/dist/generated/eve/child/behaviors/SplineTunnelGroup.js.map +0 -1
  936. package/dist/generated/eve/child/behaviors/Wander.js +0 -92
  937. package/dist/generated/eve/child/behaviors/Wander.js.map +0 -1
  938. package/dist/generated/eve/child/behaviors/enums.js.map +0 -1
  939. package/dist/generated/eve/child/modifiers/EveChildModifierAttachToBone.js.map +0 -1
  940. package/dist/generated/eve/child/modifiers/EveChildModifierBillboard3D.js.map +0 -1
  941. package/dist/generated/eve/child/modifiers/EveChildModifierStretch.js.map +0 -1
  942. package/dist/generated/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +0 -1
  943. package/dist/generated/eve/child/modifiers/index.js +0 -5
  944. package/dist/generated/eve/child/modifiers/index.js.map +0 -1
  945. package/dist/generated/eve/child/procedural/EveChildProceduralContainer.js.map +0 -1
  946. package/dist/generated/eve/child/procedural/index.js +0 -10
  947. package/dist/generated/eve/child/procedural/index.js.map +0 -1
  948. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +0 -1
  949. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +0 -1
  950. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +0 -1
  951. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +0 -1
  952. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +0 -1
  953. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +0 -1
  954. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +0 -1
  955. package/dist/generated/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +0 -1
  956. package/dist/generated/eve/child/procedural/selection/index.js +0 -9
  957. package/dist/generated/eve/child/procedural/selection/index.js.map +0 -1
  958. package/dist/generated/eve/distribution/EveBaseDistributionMethod.js.map +0 -1
  959. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +0 -1
  960. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +0 -1
  961. package/dist/generated/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +0 -1
  962. package/dist/generated/eve/distribution/attributeModifiers/enums.js.map +0 -1
  963. package/dist/generated/eve/distribution/attributeModifiers/index.js +0 -5
  964. package/dist/generated/eve/distribution/attributeModifiers/index.js.map +0 -1
  965. package/dist/generated/eve/distribution/index.js +0 -19
  966. package/dist/generated/eve/distribution/index.js.map +0 -1
  967. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +0 -1
  968. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +0 -1
  969. package/dist/generated/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +0 -1
  970. package/dist/generated/eve/distribution/placement/index.js +0 -4
  971. package/dist/generated/eve/distribution/placement/index.js.map +0 -1
  972. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +0 -1
  973. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +0 -1
  974. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +0 -1
  975. package/dist/generated/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +0 -1
  976. package/dist/generated/eve/distribution/spawnModifiers/index.js +0 -5
  977. package/dist/generated/eve/distribution/spawnModifiers/index.js.map +0 -1
  978. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +0 -1
  979. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +0 -1
  980. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +0 -1
  981. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +0 -1
  982. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +0 -1
  983. package/dist/generated/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +0 -1
  984. package/dist/generated/eve/distribution/spawners/index.js +0 -7
  985. package/dist/generated/eve/distribution/spawners/index.js.map +0 -1
  986. package/dist/generated/eve/effect/EveLensflare.js.map +0 -1
  987. package/dist/generated/eve/effect/EveMultiEffect.js +0 -84
  988. package/dist/generated/eve/effect/EveMultiEffect.js.map +0 -1
  989. package/dist/generated/eve/effect/EveMultiEffectParameter.js +0 -45
  990. package/dist/generated/eve/effect/EveMultiEffectParameter.js.map +0 -1
  991. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js +0 -47
  992. package/dist/generated/eve/fxAttributes/EveCameraFxAttributes.js.map +0 -1
  993. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js +0 -63
  994. package/dist/generated/eve/fxAttributes/EveSpaceObjectFxAttributes.js.map +0 -1
  995. package/dist/generated/eve/fxAttributes/index.js +0 -3
  996. package/dist/generated/eve/fxAttributes/index.js.map +0 -1
  997. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js +0 -58
  998. package/dist/generated/eve/overlays/EveMeshOverlayEffect.js.map +0 -1
  999. package/dist/generated/eve/overlays/index.js +0 -2
  1000. package/dist/generated/eve/overlays/index.js.map +0 -1
  1001. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js +0 -66
  1002. package/dist/generated/eve/perObjectData/EveBoosterSetPerObjectData.js.map +0 -1
  1003. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js +0 -39
  1004. package/dist/generated/eve/perObjectData/EveChildBulletStormPerObjectData.js.map +0 -1
  1005. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js +0 -34
  1006. package/dist/generated/eve/perObjectData/EveDecalPerObjectData.js.map +0 -1
  1007. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js +0 -32
  1008. package/dist/generated/eve/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +0 -1
  1009. package/dist/generated/eve/perObjectData/index.js +0 -5
  1010. package/dist/generated/eve/perObjectData/index.js.map +0 -1
  1011. package/dist/generated/eve/scene/EveComponentCollection.js.map +0 -1
  1012. package/dist/generated/eve/scene/EveComponentRegistry.js.map +0 -1
  1013. package/dist/generated/eve/scene/EvePickingContext.js +0 -43
  1014. package/dist/generated/eve/scene/EvePickingContext.js.map +0 -1
  1015. package/dist/generated/eve/scene/EveSceneStaticParticles.js.map +0 -1
  1016. package/dist/generated/eve/scene/TriShadowFrustum.js +0 -83
  1017. package/dist/generated/eve/scene/TriShadowFrustum.js.map +0 -1
  1018. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js +0 -140
  1019. package/dist/generated/eve/scene/TriShadowOrthoFrustum.js.map +0 -1
  1020. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +0 -1
  1021. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +0 -1
  1022. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +0 -1
  1023. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +0 -1
  1024. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +0 -1
  1025. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +0 -1
  1026. package/dist/generated/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +0 -1
  1027. package/dist/generated/eve/smartLights/attributeModifiers/enums.js.map +0 -1
  1028. package/dist/generated/eve/smartLights/attributeModifiers/index.js +0 -9
  1029. package/dist/generated/eve/smartLights/attributeModifiers/index.js.map +0 -1
  1030. package/dist/generated/eve/socket/EveSocketParameterBindingBase.js.map +0 -1
  1031. package/dist/generated/eve/socket/EveSocketParameterBool.js.map +0 -1
  1032. package/dist/generated/eve/socket/EveSocketParameterColor.js.map +0 -1
  1033. package/dist/generated/eve/socket/EveSocketParameterFloat.js.map +0 -1
  1034. package/dist/generated/eve/socket/EveSocketParameterInt.js.map +0 -1
  1035. package/dist/generated/eve/socket/EveSocketParameterString.js.map +0 -1
  1036. package/dist/generated/eve/socket/EveSocketParameterVector2.js.map +0 -1
  1037. package/dist/generated/eve/socket/EveSocketParameterVector3.js.map +0 -1
  1038. package/dist/generated/eve/socket/EveSocketParameterVector4.js.map +0 -1
  1039. package/dist/generated/eve/socket/index.js +0 -10
  1040. package/dist/generated/eve/socket/index.js.map +0 -1
  1041. package/dist/generated/eve/spaceObject/EvePlanet.js.map +0 -1
  1042. package/dist/generated/eve/spaceObject/EveShip2.js.map +0 -1
  1043. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js +0 -46
  1044. package/dist/generated/eve/spaceObject/IEveSpaceObject2.js.map +0 -1
  1045. package/dist/generated/eve/spaceObject/swarm/EveSwarmRenderable.js.map +0 -1
  1046. package/dist/generated/eve/ui/EveLineSet.js.map +0 -1
  1047. package/dist/generated/eve/ui/EveSpherePin.js.map +0 -1
  1048. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js +0 -44
  1049. package/dist/generated/eve/ui/EveTacticalOverlayTrackObject.js.map +0 -1
  1050. package/dist/generated/eve/ui/EveTacticalTrails.js.map +0 -1
  1051. package/dist/generated/trinityCore/Tr2DynamicBinding.js +0 -58
  1052. package/dist/generated/trinityCore/Tr2DynamicBinding.js.map +0 -1
  1053. package/dist/generated/trinityCore/Tr2ExternalParameter.js +0 -164
  1054. package/dist/generated/trinityCore/Tr2ExternalParameter.js.map +0 -1
  1055. package/dist/generated/trinityCore/Tr2GrannyAnimation.js.map +0 -1
  1056. package/dist/generated/trinityCore/Tr2ShLightingManager.js +0 -48
  1057. package/dist/generated/trinityCore/Tr2ShLightingManager.js.map +0 -1
  1058. package/dist/generated/trinityCore/TriValueBinding.js +0 -249
  1059. package/dist/generated/trinityCore/TriValueBinding.js.map +0 -1
  1060. package/dist/shader/Tr2Shader.js +0 -150
  1061. package/dist/shader/Tr2Shader.js.map +0 -1
  1062. package/dist/shader/reflection/Tr2EffectConstant.js +0 -61
  1063. package/dist/shader/reflection/Tr2EffectConstant.js.map +0 -1
  1064. package/dist/shader/reflection/Tr2EffectDefine.js +0 -34
  1065. package/dist/shader/reflection/Tr2EffectDefine.js.map +0 -1
  1066. package/dist/shader/reflection/Tr2EffectDescription.js +0 -34
  1067. package/dist/shader/reflection/Tr2EffectDescription.js.map +0 -1
  1068. package/dist/shader/reflection/Tr2EffectLibrary.js +0 -61
  1069. package/dist/shader/reflection/Tr2EffectLibrary.js.map +0 -1
  1070. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js +0 -54
  1071. package/dist/shader/reflection/Tr2EffectParameterAnnotation.js.map +0 -1
  1072. package/dist/shader/reflection/Tr2EffectResource.js +0 -63
  1073. package/dist/shader/reflection/Tr2EffectResource.js.map +0 -1
  1074. package/dist/shader/reflection/Tr2EffectStageInput.js +0 -58
  1075. package/dist/shader/reflection/Tr2EffectStageInput.js.map +0 -1
  1076. package/dist/shader/reflection/Tr2EffectTechnique.js +0 -40
  1077. package/dist/shader/reflection/Tr2EffectTechnique.js.map +0 -1
  1078. package/dist/shader/reflection/Tr2Pass.js +0 -46
  1079. package/dist/shader/reflection/Tr2Pass.js.map +0 -1
  1080. package/dist/shader/sampler/Tr2SamplerSetup.js +0 -34
  1081. package/dist/shader/sampler/Tr2SamplerSetup.js.map +0 -1
  1082. package/dist/trinityCore/Tr2BindingVector3.js.map +0 -1
  1083. package/dist/trinityCore/Tr2PyValueBinding.js.map +0 -1
  1084. package/dist/trinityCore/rawData/RawDataStore.js +0 -232
  1085. package/dist/trinityCore/rawData/RawDataStore.js.map +0 -1
  1086. /package/dist/{generated/eve → eve}/distribution/attributeModifiers/enums.js +0 -0
  1087. /package/dist/{generated/eve → eve}/smartLights/attributeModifiers/enums.js +0 -0
@@ -3,6 +3,11 @@ import { CjsModel } from '@carbonenginejs/runtime-utils/model';
3
3
  import { io, type, carbon, impl } from '@carbonenginejs/runtime-utils/schema';
4
4
 
5
5
  let _initProto, _initClass, _init_name, _init_extra_name, _init_display, _init_extra_display, _init_index, _init_extra_index, _init_count, _init_extra_count, _init_reversed, _init_extra_reversed, _init_useSHLighting, _init_extra_useSHLighting, _init_effect, _init_extra_effect, _init_castsShadows, _init_extra_castsShadows, _init_generateDepthArea, _init_extra_generateDepthArea, _init_minLod, _init_extra_minLod;
6
+
7
+ /**
8
+ * One drawable range of a mesh: the index and count of geometry groups plus the
9
+ * effect, shadow, depth and LOD state that decide how the range is batched.
10
+ */
6
11
  let _Tr2MeshArea;
7
12
  class Tr2MeshArea extends CjsModel {
8
13
  static {
@@ -27,6 +32,7 @@ class Tr2MeshArea extends CjsModel {
27
32
  // setters. The JS values path has no setter side channel, so they are
28
33
  // schema-backed here so SOF-authored shadow/depth/LOD state survives
29
34
  // values exchange. Without them every area defaults to shadow-casting.
35
+
30
36
  /** m_castsShadows - per-batch-type shadow participation (SOF-stamped). */
31
37
  castsShadows = (_init_extra_effect(this), _init_castsShadows(this, true));
32
38
 
@@ -41,75 +47,147 @@ class Tr2MeshArea extends CjsModel {
41
47
 
42
48
  /** m_jointMappingAnimRig - shared joint mapping owned by the parent mesh. */
43
49
  #jointMappingAnimRig = null;
50
+
51
+ /** First geometry group of the area's range. */
44
52
  GetIndex() {
45
53
  return this.index;
46
54
  }
55
+
56
+ /**
57
+ * Sets the first geometry group, coerced to a signed integer; schedules the
58
+ * batches rebuild.
59
+ */
47
60
  SetIndex(value) {
48
61
  this.index = Number(value) | 0;
49
62
  }
63
+
64
+ /** Number of geometry groups in the area's range. */
50
65
  GetCount() {
51
66
  return this.count;
52
67
  }
68
+
69
+ /**
70
+ * Sets the group count, coerced to a signed integer; schedules the batches
71
+ * rebuild.
72
+ */
53
73
  SetCount(value) {
54
74
  this.count = Number(value) | 0;
55
75
  }
76
+
77
+ /** Whether the area is drawn; a hidden area emits no batch. */
56
78
  GetDisplay() {
57
79
  return this.display;
58
80
  }
81
+
82
+ /** Shows or hides the area. */
59
83
  SetDisplay(value) {
60
84
  this.display = !!value;
61
85
  }
86
+
87
+ /** Whether the area is drawn with reversed winding. */
62
88
  GetReversed() {
63
89
  return this.reversed;
64
90
  }
91
+
92
+ /** Carbon's second name for GetReversed. */
65
93
  IsReversed() {
66
94
  return this.reversed;
67
95
  }
96
+
97
+ /** Sets the reversed-winding flag; schedules the batches rebuild. */
68
98
  SetReversed(value) {
69
99
  this.reversed = !!value;
70
100
  }
101
+
102
+ /** Whether the area is lit with spherical-harmonic lighting. */
71
103
  GetUseSHLighting() {
72
104
  return this.useSHLighting;
73
105
  }
106
+
107
+ /** Sets the spherical-harmonic lighting flag; schedules the batches rebuild. */
74
108
  SetUseSHLighting(value) {
75
109
  this.useSHLighting = !!value;
76
110
  }
111
+
112
+ /**
113
+ * The area's effect, which serves as its material and shader key during batch
114
+ * collection; null areas produce no batch.
115
+ */
77
116
  GetMaterialInterface() {
78
117
  return this.effect;
79
118
  }
119
+
120
+ /** Binds the effect used as this area's material. */
80
121
  SetMaterial(value) {
81
122
  this.effect = value ?? null;
82
123
  }
124
+
125
+ /**
126
+ * The authored area name, which SOF and effect bindings use to address this
127
+ * area of the mesh.
128
+ */
83
129
  GetName() {
84
130
  return this.name;
85
131
  }
132
+
133
+ /** Sets the area name, coercing null to an empty string. */
86
134
  SetName(value) {
87
135
  this.name = String(value ?? "");
88
136
  }
137
+
138
+ /**
139
+ * Whether the area takes part in shadow and overlay area-block collection; SOF
140
+ * stamps this per batch type and it defaults to true.
141
+ */
89
142
  IsCastingShadows() {
90
143
  return this.castsShadows;
91
144
  }
145
+
146
+ /** Sets shadow participation; schedules the batches rebuild. */
92
147
  SetCastsShadows(value) {
93
148
  this.castsShadows = !!value;
94
149
  }
150
+
151
+ /** Whether the authored area participates in depth-area generation. */
95
152
  GetGenerateDepthArea() {
96
153
  return this.generateDepthArea;
97
154
  }
155
+
156
+ /** Sets depth-area participation; schedules the batches rebuild. */
98
157
  SetGenerateDepthArea(value) {
99
158
  this.generateDepthArea = !!value;
100
159
  }
160
+
161
+ /**
162
+ * Lowest LOD at which the area is visible; -1 (TR2_LOD_UNSPECIFIED) means
163
+ * unrestricted.
164
+ */
101
165
  GetMinLod() {
102
166
  return this.minLod;
103
167
  }
168
+
169
+ /** Sets the minimum visible LOD, coerced to a signed integer. */
104
170
  SetMinLod(lod) {
105
171
  this.minLod = Number(lod) | 0;
106
172
  }
173
+
174
+ /** Skinning joint count, filled in when the parent mesh binds to a rig. */
107
175
  GetJointCount() {
108
176
  return this.#jointCount;
109
177
  }
178
+
179
+ /**
180
+ * Sets the skinning joint count; CopyFrom deliberately resets it to zero for a
181
+ * new owner.
182
+ */
110
183
  SetJointCount(value) {
111
184
  this.#jointCount = Number(value) >>> 0;
112
185
  }
186
+
187
+ /**
188
+ * The joint mapping array; it is owned by the parent mesh and shared by every
189
+ * area, so it must not be mutated here.
190
+ */
113
191
  GetJointMappingAnimRig() {
114
192
  return this.#jointMappingAnimRig;
115
193
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2MeshArea.js","sources":["../../../src/trinityCore/Tr2MeshArea.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshArea.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshArea.cpp\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshArea_Blue.cpp\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\n\n\n@type.define({ className: \"Tr2MeshArea\", family: \"trinityCore\" })\nexport class Tr2MeshArea extends CjsModel\n{\n @io.persist\n @type.string\n name = \"\";\n\n @io.readwrite\n @type.boolean\n display = true;\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.int32\n index = 0;\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.int32\n count = 1;\n\n @io.rebuild(\"batches\")\n @io.persistOnly\n @type.boolean\n reversed = false;\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.boolean\n useSHLighting = false;\n\n @io.rebuild(\"batches\")\n @io.notify\n @io.persist\n @type.objectRef(\"Tr2Effect\")\n effect = null;\n\n // DIVERGENCE (deliberate, precedent: EvePlaneSetItem.blinkData): Carbon\n // keeps these three as private runtime state stamped by SOF through\n // setters. The JS values path has no setter side channel, so they are\n // schema-backed here so SOF-authored shadow/depth/LOD state survives\n // values exchange. Without them every area defaults to shadow-casting.\n /** m_castsShadows - per-batch-type shadow participation (SOF-stamped). */\n @io.rebuild(\"batches\")\n @io.persist\n @type.boolean\n castsShadows = true;\n\n /** m_generateDepthArea - authored depth-area participation (SOF-stamped). */\n @io.rebuild(\"batches\")\n @io.persist\n @type.boolean\n generateDepthArea = false;\n\n /** m_minLod (Tr2Lod) - minimal visible lod; TR2_LOD_UNSPECIFIED = -1. */\n @io.rebuild(\"batches\")\n @io.persist\n @type.int32\n minLod = -1;\n\n /** m_jointCount - skinning joint count, fed by Tr2MeshBase.BindToRig. */\n #jointCount = 0;\n\n /** m_jointMappingAnimRig - shared joint mapping owned by the parent mesh. */\n #jointMappingAnimRig = null;\n\n @carbon.method\n @impl.adapted\n GetIndex()\n {\n return this.index;\n }\n\n @carbon.method\n @impl.adapted\n SetIndex(value)\n {\n this.index = Number(value) | 0;\n }\n\n @carbon.method\n @impl.adapted\n GetCount()\n {\n return this.count;\n }\n\n @carbon.method\n @impl.adapted\n SetCount(value)\n {\n this.count = Number(value) | 0;\n }\n\n @carbon.method\n @impl.adapted\n GetDisplay()\n {\n return this.display;\n }\n\n @carbon.method\n @impl.adapted\n SetDisplay(value)\n {\n this.display = !!value;\n }\n\n @carbon.method\n @impl.adapted\n GetReversed()\n {\n return this.reversed;\n }\n\n @carbon.method\n @impl.adapted\n IsReversed()\n {\n return this.reversed;\n }\n\n @carbon.method\n @impl.adapted\n SetReversed(value)\n {\n this.reversed = !!value;\n }\n\n @carbon.method\n @impl.adapted\n GetUseSHLighting()\n {\n return this.useSHLighting;\n }\n\n @carbon.method\n @impl.adapted\n SetUseSHLighting(value)\n {\n this.useSHLighting = !!value;\n }\n\n @carbon.method\n @impl.adapted\n GetMaterialInterface()\n {\n return this.effect;\n }\n\n @carbon.method\n @impl.adapted\n SetMaterial(value)\n {\n this.effect = value ?? null;\n }\n\n @carbon.method\n @impl.implemented\n GetName()\n {\n return this.name;\n }\n\n @carbon.method\n @impl.adapted\n SetName(value)\n {\n this.name = String(value ?? \"\");\n }\n\n @carbon.method\n @impl.adapted\n IsCastingShadows()\n {\n return this.castsShadows;\n }\n\n @carbon.method\n @impl.adapted\n SetCastsShadows(value)\n {\n this.castsShadows = !!value;\n }\n\n @carbon.method\n @impl.adapted\n GetGenerateDepthArea()\n {\n return this.generateDepthArea;\n }\n\n @carbon.method\n @impl.adapted\n SetGenerateDepthArea(value)\n {\n this.generateDepthArea = !!value;\n }\n\n @carbon.method\n @impl.implemented\n GetMinLod()\n {\n return this.minLod;\n }\n\n @carbon.method\n @impl.implemented\n SetMinLod(lod)\n {\n this.minLod = Number(lod) | 0;\n }\n\n @carbon.method\n @impl.implemented\n GetJointCount()\n {\n return this.#jointCount;\n }\n\n @carbon.method\n @impl.implemented\n SetJointCount(value)\n {\n this.#jointCount = Number(value) >>> 0;\n }\n\n @carbon.method\n @impl.implemented\n GetJointMappingAnimRig()\n {\n return this.#jointMappingAnimRig;\n }\n\n /**\n * The provided array is NOT owned by this instance, it is owned by the\n * parent mesh; each mesh area shares the same array.\n */\n @carbon.method\n @impl.implemented\n SetJointMappingAnimRig(value)\n {\n this.#jointMappingAnimRig = value ?? null;\n }\n\n /**\n * Carbon's operator= - copies authored fields and deliberately resets the\n * joint state, which BindToRig must rebuild for the new owner.\n */\n @carbon.method\n @impl.adapted\n CopyFrom(other)\n {\n this.name = other.name;\n this.index = other.index;\n this.count = other.count;\n this.reversed = other.reversed;\n this.effect = other.effect;\n this.#jointCount = 0;\n this.#jointMappingAnimRig = null;\n this.display = other.display;\n this.useSHLighting = other.useSHLighting;\n this.generateDepthArea = other.GetGenerateDepthArea();\n return this;\n }\n}\n"],"names":["_Tr2MeshArea","Tr2MeshArea","CjsModel","e","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_index","_init_extra_index","_init_count","_init_extra_count","_init_reversed","_init_extra_reversed","_init_useSHLighting","_init_extra_useSHLighting","_init_effect","_init_extra_effect","_init_castsShadows","_init_extra_castsShadows","_init_generateDepthArea","_init_extra_generateDepthArea","_init_minLod","_init_extra_minLod","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","readwrite","boolean","rebuild","int32","persistOnly","notify","objectRef","carbon","method","impl","adapted","implemented","name","display","index","count","reversed","useSHLighting","effect","castsShadows","generateDepthArea","minLod","GetIndex","SetIndex","value","Number","GetCount","SetCount","GetDisplay","SetDisplay","GetReversed","IsReversed","SetReversed","GetUseSHLighting","SetUseSHLighting","GetMaterialInterface","SetMaterial","GetName","SetName","String","IsCastingShadows","SetCastsShadows","GetGenerateDepthArea","SetGenerateDepthArea","GetMinLod","SetMinLod","lod","GetJointCount","SetJointCount","GetJointMappingAnimRig","SetJointMappingAnimRig","CopyFrom","other"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2MeshArea.js","sources":["../../../src/trinityCore/Tr2MeshArea.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshArea.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshArea.cpp\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshArea_Blue.cpp\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\n\n\n/**\n * One drawable range of a mesh: the index and count of geometry groups plus the\n * effect, shadow, depth and LOD state that decide how the range is batched.\n */\n@type.define({ className: \"Tr2MeshArea\", family: \"trinityCore\" })\nexport class Tr2MeshArea extends CjsModel\n{\n @io.persist\n @type.string\n name = \"\";\n\n @io.readwrite\n @type.boolean\n display = true;\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.int32\n index = 0;\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.int32\n count = 1;\n\n @io.rebuild(\"batches\")\n @io.persistOnly\n @type.boolean\n reversed = false;\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.boolean\n useSHLighting = false;\n\n @io.rebuild(\"batches\")\n @io.notify\n @io.persist\n @type.objectRef(\"Tr2Effect\")\n effect = null;\n\n // DIVERGENCE (deliberate, precedent: EvePlaneSetItem.blinkData): Carbon\n // keeps these three as private runtime state stamped by SOF through\n // setters. The JS values path has no setter side channel, so they are\n // schema-backed here so SOF-authored shadow/depth/LOD state survives\n // values exchange. Without them every area defaults to shadow-casting.\n\n /** m_castsShadows - per-batch-type shadow participation (SOF-stamped). */\n @io.rebuild(\"batches\")\n @io.persist\n @type.boolean\n castsShadows = true;\n\n /** m_generateDepthArea - authored depth-area participation (SOF-stamped). */\n @io.rebuild(\"batches\")\n @io.persist\n @type.boolean\n generateDepthArea = false;\n\n /** m_minLod (Tr2Lod) - minimal visible lod; TR2_LOD_UNSPECIFIED = -1. */\n @io.rebuild(\"batches\")\n @io.persist\n @type.int32\n minLod = -1;\n\n /** m_jointCount - skinning joint count, fed by Tr2MeshBase.BindToRig. */\n #jointCount = 0;\n\n /** m_jointMappingAnimRig - shared joint mapping owned by the parent mesh. */\n #jointMappingAnimRig = null;\n\n /** First geometry group of the area's range. */\n @carbon.method\n @impl.adapted\n GetIndex()\n {\n return this.index;\n }\n\n /**\n * Sets the first geometry group, coerced to a signed integer; schedules the\n * batches rebuild.\n */\n @carbon.method\n @impl.adapted\n SetIndex(value)\n {\n this.index = Number(value) | 0;\n }\n\n /** Number of geometry groups in the area's range. */\n @carbon.method\n @impl.adapted\n GetCount()\n {\n return this.count;\n }\n\n /**\n * Sets the group count, coerced to a signed integer; schedules the batches\n * rebuild.\n */\n @carbon.method\n @impl.adapted\n SetCount(value)\n {\n this.count = Number(value) | 0;\n }\n\n /** Whether the area is drawn; a hidden area emits no batch. */\n @carbon.method\n @impl.adapted\n GetDisplay()\n {\n return this.display;\n }\n\n /** Shows or hides the area. */\n @carbon.method\n @impl.adapted\n SetDisplay(value)\n {\n this.display = !!value;\n }\n\n /** Whether the area is drawn with reversed winding. */\n @carbon.method\n @impl.adapted\n GetReversed()\n {\n return this.reversed;\n }\n\n /** Carbon's second name for GetReversed. */\n @carbon.method\n @impl.adapted\n IsReversed()\n {\n return this.reversed;\n }\n\n /** Sets the reversed-winding flag; schedules the batches rebuild. */\n @carbon.method\n @impl.adapted\n SetReversed(value)\n {\n this.reversed = !!value;\n }\n\n /** Whether the area is lit with spherical-harmonic lighting. */\n @carbon.method\n @impl.adapted\n GetUseSHLighting()\n {\n return this.useSHLighting;\n }\n\n /** Sets the spherical-harmonic lighting flag; schedules the batches rebuild. */\n @carbon.method\n @impl.adapted\n SetUseSHLighting(value)\n {\n this.useSHLighting = !!value;\n }\n\n /**\n * The area's effect, which serves as its material and shader key during batch\n * collection; null areas produce no batch.\n */\n @carbon.method\n @impl.adapted\n GetMaterialInterface()\n {\n return this.effect;\n }\n\n /** Binds the effect used as this area's material. */\n @carbon.method\n @impl.adapted\n SetMaterial(value)\n {\n this.effect = value ?? null;\n }\n\n /**\n * The authored area name, which SOF and effect bindings use to address this\n * area of the mesh.\n */\n @carbon.method\n @impl.implemented\n GetName()\n {\n return this.name;\n }\n\n /** Sets the area name, coercing null to an empty string. */\n @carbon.method\n @impl.adapted\n SetName(value)\n {\n this.name = String(value ?? \"\");\n }\n\n /**\n * Whether the area takes part in shadow and overlay area-block collection; SOF\n * stamps this per batch type and it defaults to true.\n */\n @carbon.method\n @impl.adapted\n IsCastingShadows()\n {\n return this.castsShadows;\n }\n\n /** Sets shadow participation; schedules the batches rebuild. */\n @carbon.method\n @impl.adapted\n SetCastsShadows(value)\n {\n this.castsShadows = !!value;\n }\n\n /** Whether the authored area participates in depth-area generation. */\n @carbon.method\n @impl.adapted\n GetGenerateDepthArea()\n {\n return this.generateDepthArea;\n }\n\n /** Sets depth-area participation; schedules the batches rebuild. */\n @carbon.method\n @impl.adapted\n SetGenerateDepthArea(value)\n {\n this.generateDepthArea = !!value;\n }\n\n /**\n * Lowest LOD at which the area is visible; -1 (TR2_LOD_UNSPECIFIED) means\n * unrestricted.\n */\n @carbon.method\n @impl.implemented\n GetMinLod()\n {\n return this.minLod;\n }\n\n /** Sets the minimum visible LOD, coerced to a signed integer. */\n @carbon.method\n @impl.implemented\n SetMinLod(lod)\n {\n this.minLod = Number(lod) | 0;\n }\n\n /** Skinning joint count, filled in when the parent mesh binds to a rig. */\n @carbon.method\n @impl.implemented\n GetJointCount()\n {\n return this.#jointCount;\n }\n\n /**\n * Sets the skinning joint count; CopyFrom deliberately resets it to zero for a\n * new owner.\n */\n @carbon.method\n @impl.implemented\n SetJointCount(value)\n {\n this.#jointCount = Number(value) >>> 0;\n }\n\n /**\n * The joint mapping array; it is owned by the parent mesh and shared by every\n * area, so it must not be mutated here.\n */\n @carbon.method\n @impl.implemented\n GetJointMappingAnimRig()\n {\n return this.#jointMappingAnimRig;\n }\n\n /**\n * The provided array is NOT owned by this instance, it is owned by the\n * parent mesh; each mesh area shares the same array.\n */\n @carbon.method\n @impl.implemented\n SetJointMappingAnimRig(value)\n {\n this.#jointMappingAnimRig = value ?? null;\n }\n\n /**\n * Carbon's operator= - copies authored fields and deliberately resets the\n * joint state, which BindToRig must rebuild for the new owner.\n */\n @carbon.method\n @impl.adapted\n CopyFrom(other)\n {\n this.name = other.name;\n this.index = other.index;\n this.count = other.count;\n this.reversed = other.reversed;\n this.effect = other.effect;\n this.#jointCount = 0;\n this.#jointMappingAnimRig = null;\n this.display = other.display;\n this.useSHLighting = other.useSHLighting;\n this.generateDepthArea = other.GetGenerateDepthArea();\n return this;\n }\n}\n"],"names":["_Tr2MeshArea","Tr2MeshArea","CjsModel","e","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_index","_init_extra_index","_init_count","_init_extra_count","_init_reversed","_init_extra_reversed","_init_useSHLighting","_init_extra_useSHLighting","_init_effect","_init_extra_effect","_init_castsShadows","_init_extra_castsShadows","_init_generateDepthArea","_init_extra_generateDepthArea","_init_minLod","_init_extra_minLod","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","readwrite","boolean","rebuild","int32","persistOnly","notify","objectRef","carbon","method","impl","adapted","implemented","name","display","index","count","reversed","useSHLighting","effect","castsShadows","generateDepthArea","minLod","GetIndex","SetIndex","value","Number","GetCount","SetCount","GetDisplay","SetDisplay","GetReversed","IsReversed","SetReversed","GetUseSHLighting","SetUseSHLighting","GetMaterialInterface","SetMaterial","GetName","SetName","String","IsCastingShadows","SetCastsShadows","GetGenerateDepthArea","SetGenerateDepthArea","GetMinLod","SetMinLod","lod","GetJointCount","SetJointCount","GetJointMappingAnimRig","SetJointMappingAnimRig","CopyFrom","other"],"mappings":"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"}
@@ -5,6 +5,11 @@ import { TriBatchType } from '@carbonenginejs/runtime-utils/graphics';
5
5
  import { Tr2RenderBatch, TriRenderBatchAreaBlock, TriRenderBatchAreaBlocksWithSharedMaterial } from './Tr2RenderBatch.js';
6
6
 
7
7
  let _initProto, _initClass, _init_name, _init_extra_name, _init_display, _init_extra_display, _init_meshIndex, _init_extra_meshIndex, _init_opaqueAreas, _init_extra_opaqueAreas, _init_decalAreas, _init_extra_decalAreas, _init_depthAreas, _init_extra_depthAreas, _init_transparentAreas, _init_extra_transparentAreas, _init_additiveAreas, _init_extra_additiveAreas, _init_pickableAreas, _init_extra_pickableAreas, _init_mirrorAreas, _init_extra_mirrorAreas, _init_decalNormalAreas, _init_extra_decalNormalAreas, _init_depthNormalAreas, _init_extra_depthNormalAreas, _init_opaquePrepassAreas, _init_extra_opaquePrepassAreas, _init_decalPrepassAreas, _init_extra_decalPrepassAreas, _init_geometryEraserAreas, _init_extra_geometryEraserAreas, _init_distortionAreas, _init_extra_distortionAreas, _init_flareAreas, _init_extra_flareAreas, _init_maxVertexScale, _init_extra_maxVertexScale, _init_maxVertexDisplacement, _init_extra_maxVertexDisplacement, _init_rotatesVertices, _init_extra_rotatesVertices;
8
+
9
+ /**
10
+ * Base mesh: owns one mesh-area list per batch type and turns the displayed
11
+ * areas into GPU-free render batches and shadow area blocks.
12
+ */
8
13
  let _Tr2MeshBase;
9
14
  new class extends _identity {
10
15
  static [class Tr2MeshBase extends CjsModel {
@@ -15,7 +20,7 @@ new class extends _identity {
15
20
  } = _applyDecs2311(this, [type.define({
16
21
  className: "Tr2MeshBase",
17
22
  family: "trinityCore"
18
- })], [[[io, io.persist, type, type.string], 16, "name"], [[io, io.readwrite, type, type.boolean], 16, "display"], [[void 0, io.rebuild("batches"), io, io.notify, io, io.persist, type, type.int32], 16, "meshIndex"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "opaqueAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "decalAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "depthAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "transparentAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "additiveAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "pickableAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "mirrorAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "decalNormalAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "depthNormalAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "opaquePrepassAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "decalPrepassAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "geometryEraserAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "distortionAreas"], [io.rebuild("batches"), 0, "flareAreas"], [[io, io.read, io, io.persist, type, type.float32], 16, "maxVertexScale"], [[io, io.read, io, io.persist, type, type.float32], 16, "maxVertexDisplacement"], [[io, io.read, io, io.persist, type, type.boolean], 16, "rotatesVertices"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetAreas"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddArea"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetAllAreas"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMaterialBoundsAdjustment"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMaterialBoundsAdjustment"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetGeometryResPath"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("GPU-free descriptor batches: geometry buffers and final draw args are resolved by the engine at dispatch")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("GPU-free: emits a geometry source descriptor instead of realized Tr2BufferAL allocations")], 18, "CreateGeometryBatch"], [[carbon, carbon.method, impl, impl.implemented], 18, "CollectAreaBlocks"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Material grouping uses reference identity in place of Carbon's effect hash values.")], 18, "CollectAreaBlocksWithSharedMaterials"]], 0, void 0, CjsModel));
23
+ })], [[[io, io.persist, type, type.string], 16, "name"], [[io, io.readwrite, type, type.boolean], 16, "display"], [[void 0, io.rebuild("batches"), io, io.notify, io, io.persist, type, type.int32], 16, "meshIndex"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "opaqueAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "decalAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "depthAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "transparentAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "additiveAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "pickableAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "mirrorAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "decalNormalAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "depthNormalAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "opaquePrepassAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "decalPrepassAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "geometryEraserAreas"], [[void 0, io.rebuild("batches"), io, io.persist, void 0, type.list("Tr2MeshArea")], 16, "distortionAreas"], [[io.rebuild("batches"), type.list("Tr2MeshArea")], 0, "flareAreas"], [[io, io.read, io, io.persist, type, type.float32], 16, "maxVertexScale"], [[io, io.read, io, io.persist, type, type.float32], 16, "maxVertexDisplacement"], [[io, io.read, io, io.persist, type, type.boolean], 16, "rotatesVertices"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetAreas"], [[carbon, carbon.method, impl, impl.adapted], 18, "AddArea"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetAllAreas"], [[carbon, carbon.method, impl, impl.implemented], 18, "UseWithScreenSize"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetShaderOption"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetMaterialBoundsAdjustment"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMaterialBoundsAdjustment"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetGeometryResPath"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("GPU-free descriptor batches: geometry buffers and final draw args are resolved by the engine at dispatch")], 18, "GetBatches"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("GPU-free: emits a geometry source descriptor instead of realized Tr2BufferAL allocations")], 18, "CreateGeometryBatch"], [[carbon, carbon.method, impl, impl.implemented], 18, "CollectAreaBlocks"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Material grouping uses reference identity in place of Carbon's effect hash values.")], 18, "CollectAreaBlocksWithSharedMaterials"]], 0, void 0, CjsModel));
19
24
  }
20
25
  constructor(...args) {
21
26
  super(...args);
@@ -38,25 +43,77 @@ new class extends _identity {
38
43
  geometryEraserAreas = (_init_extra_decalPrepassAreas(this), _init_geometryEraserAreas(this, []));
39
44
  distortionAreas = (_init_extra_geometryEraserAreas(this), _init_distortionAreas(this, []));
40
45
 
41
- // Carbon routes TRIBATCHTYPE_FLARE but does not expose this list to Blue.
46
+ // Carbon routes TRIBATCHTYPE_FLARE but does not expose this list to Blue, so
47
+ // this list is typed without being read or persisted: the type declaration is
48
+ // what makes its areas reachable to graph traversal, independent of io.
42
49
  flareAreas = (_init_extra_distortionAreas(this), _init_flareAreas(this, []));
43
50
  maxVertexScale = (_init_extra_flareAreas(this), _init_maxVertexScale(this, 1));
44
51
  maxVertexDisplacement = (_init_extra_maxVertexScale(this), _init_maxVertexDisplacement(this, 0));
45
52
  rotatesVertices = (_init_extra_maxVertexDisplacement(this), _init_rotatesVertices(this, false));
53
+
54
+ /**
55
+ * The live area list for a TriBatchType, or null for a non-integer or unmapped
56
+ * type.
57
+ */
46
58
  GetAreas(areaType) {
47
59
  if (!Number.isInteger(areaType)) return null;
48
60
  const property = _Tr2MeshBase.#areaProperties[areaType];
49
61
  return property ? this[property] : null;
50
62
  }
63
+
64
+ /**
65
+ * Appends an area to the list for a batch type; returns false when that type
66
+ * has no list.
67
+ */
51
68
  AddArea(areaType, area) {
52
69
  const areas = this.GetAreas(areaType);
53
70
  if (!areas) return false;
54
71
  areas.push(area);
55
72
  return true;
56
73
  }
74
+
75
+ /**
76
+ * Every area of every batch type, in batch-type order, as one newly allocated
77
+ * array.
78
+ */
57
79
  GetAllAreas() {
58
80
  return _Tr2MeshBase.#areaProperties.flatMap(property => this[property]);
59
81
  }
82
+
83
+ /**
84
+ * Carbon Tr2MeshBase::UseWithScreenSize (Tr2MeshBase.cpp:589-610): reports the
85
+ * on-screen size this mesh is being drawn at to every area material, so the
86
+ * texture streamer can request a matching mip level. The LOD the size resolves
87
+ * to supplies the uv densities the material needs to turn a pixel size into a
88
+ * texture resolution.
89
+ *
90
+ * Callers pass a screen size already scaled by the LOD factor
91
+ * (EveSpaceObject2, EveTransform, EveChildMesh, BehaviorGroup).
92
+ */
93
+ UseWithScreenSize(screenSize, worldRadius) {
94
+ const geometry = this.GetGeometryResource?.() ?? null;
95
+ if (!geometry) return false;
96
+ const lod = geometry.GetMeshLod?.(this.meshIndex, screenSize) ?? null;
97
+ if (!lod) return false;
98
+
99
+ // Carbon reads m_uvDensities off the resolved LOD; a resource that exposes
100
+ // none yields an empty list, which the material treats as "no LOD data" and
101
+ // requests the full resolution.
102
+ const uvDensities = lod.uvDensities ?? lod.m_uvDensities ?? [];
103
+ let reported = false;
104
+ for (const area of this.GetAllAreas()) {
105
+ const material = area?.GetMaterialInterface?.();
106
+ if (!material?.UsedWithScreenSize) continue;
107
+ material.UsedWithScreenSize(screenSize, worldRadius, uvDensities);
108
+ reported = true;
109
+ }
110
+ return reported;
111
+ }
112
+
113
+ /**
114
+ * Sets a shader option on every area effect that supports it; returns whether
115
+ * at least one area was updated.
116
+ */
60
117
  SetShaderOption(name, value) {
61
118
  let updated = false;
62
119
  for (const area of this.GetAllAreas()) {
@@ -66,6 +123,12 @@ new class extends _identity {
66
123
  }
67
124
  return updated;
68
125
  }
126
+
127
+ /**
128
+ * The vertex-displacement bounds adjustment consumers apply to this mesh: max
129
+ * local scale, max local displacement and whether the material rotates
130
+ * vertices.
131
+ */
69
132
  GetMaterialBoundsAdjustment() {
70
133
  return {
71
134
  maxLocalScale: this.maxVertexScale,
@@ -73,6 +136,11 @@ new class extends _identity {
73
136
  rotatesVertices: this.rotatesVertices
74
137
  };
75
138
  }
139
+
140
+ /**
141
+ * Stores the bounds adjustment, coercing missing or non-numeric entries to
142
+ * zero and false.
143
+ */
76
144
  SetMaterialBoundsAdjustment(value) {
77
145
  const source = value || {};
78
146
  this.maxVertexScale = Number(source.maxLocalScale) || 0;
@@ -80,6 +148,8 @@ new class extends _identity {
80
148
  this.rotatesVertices = !!source.rotatesVertices;
81
149
  return true;
82
150
  }
151
+
152
+ /** Empty at this level; Tr2Mesh overrides it with the real geometry path. */
83
153
  GetGeometryResPath() {
84
154
  return "";
85
155
  }
@@ -89,6 +159,13 @@ new class extends _identity {
89
159
  // scene collector can drive a mesh directly and a transform can pass a
90
160
  // pre-fetched vector (Carbon Tr2Transform::GetBatches passes GetAreas(type)).
91
161
  // Returns whether any batch was committed (JS addition; Carbon returns void).
162
+
163
+ /**
164
+ * Emits one batch per displayed area into the accumulator, where areas may be
165
+ * a TriBatchType or an already-resolved area list, so a scene collector or a
166
+ * transform can drive the mesh directly; returns whether any batch was
167
+ * committed (a JS addition, Carbon returns void).
168
+ */
92
169
  GetBatches(accumulator, areas, perObjectData, _reason) {
93
170
  if (this.display === false) return false;
94
171
  const areaList = Array.isArray(areas) ? areas : this.GetAreas(areas);
@@ -106,6 +183,13 @@ new class extends _identity {
106
183
  // material/shader key, and the geometry + area range are recorded as a source
107
184
  // descriptor for the engine to realize. Returns null for a hidden or
108
185
  // material-less area (Carbon returns an invalid batch in those cases).
186
+
187
+ /**
188
+ * Builds one GPU-free batch for a mesh area, using the area's effect as
189
+ * material and shader key and recording geometry plus area range as a source
190
+ * descriptor; returns null for a hidden or material-less area, where Carbon
191
+ * returns an invalid batch.
192
+ */
109
193
  CreateGeometryBatch(geometry, area, perObjectData) {
110
194
  if (!area || area.GetDisplay() === false) return null;
111
195
  const effect = area.GetMaterialInterface();
@@ -122,6 +206,12 @@ new class extends _identity {
122
206
  // Appends one (startIndex, count) block per area of the requested type.
123
207
  // Carbon deliberately skips non-shadow-casting OPAQUE areas here too (overlay
124
208
  // rendering over e.g. scaffolding build effects causes problems).
209
+
210
+ /**
211
+ * Appends one clamped (startIndex, count) block per area of the requested type
212
+ * to the caller's collector, skipping non-shadow-casting OPAQUE areas as
213
+ * Carbon does because overlay rendering over build effects misbehaves.
214
+ */
125
215
  CollectAreaBlocks(collector, areaType) {
126
216
  const areas = this.GetAreas(areaType);
127
217
  if (!areas) return collector;
@@ -135,6 +225,12 @@ new class extends _identity {
135
225
  // Appends blocks grouped by shared area material (the shadow path). Skips
136
226
  // non-shadow-casting OPAQUE and DECAL areas. Faithfully does NOT clamp
137
227
  // negative index/count (Carbon asymmetry with CollectAreaBlocks).
228
+
229
+ /**
230
+ * Appends blocks grouped by shared area material for the shadow path, skipping
231
+ * non-shadow-casting OPAQUE and DECAL areas, and faithfully reproduces
232
+ * Carbon's asymmetry by not clamping negative index or count.
233
+ */
138
234
  CollectAreaBlocksWithSharedMaterials(collectors, areaType) {
139
235
  const areas = this.GetAreas(areaType);
140
236
  if (!areas) return collectors;
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2MeshBase.js","sources":["../../../src/trinityCore/Tr2MeshBase.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshBase.h\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshBase.cpp\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshBase_Blue.cpp\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\nimport { TriBatchType } from \"@carbonenginejs/runtime-utils/graphics\";\nimport { Tr2RenderBatch, TriRenderBatchAreaBlock, TriRenderBatchAreaBlocksWithSharedMaterial } from \"./Tr2RenderBatch.js\";\n\n\n@type.define({ className: \"Tr2MeshBase\", family: \"trinityCore\" })\nexport class Tr2MeshBase extends CjsModel\n{\n @io.persist\n @type.string\n name = \"\";\n\n @io.readwrite\n @type.boolean\n display = true;\n\n @io.rebuild(\"batches\")\n @io.notify\n @io.persist\n @type.int32\n meshIndex = 0;\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n opaqueAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n decalAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n depthAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n transparentAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n additiveAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n pickableAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n mirrorAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n decalNormalAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n depthNormalAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n opaquePrepassAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n decalPrepassAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n geometryEraserAreas = [];\n\n @io.rebuild(\"batches\")\n @io.persist\n @type.list(\"Tr2MeshArea\")\n distortionAreas = [];\n\n // Carbon routes TRIBATCHTYPE_FLARE but does not expose this list to Blue.\n @io.rebuild(\"batches\")\n flareAreas = [];\n\n @io.read\n @io.persist\n @type.float32\n maxVertexScale = 1;\n\n @io.read\n @io.persist\n @type.float32\n maxVertexDisplacement = 0;\n\n @io.read\n @io.persist\n @type.boolean\n rotatesVertices = false;\n\n @carbon.method\n @impl.implemented\n GetAreas(areaType)\n {\n if (!Number.isInteger(areaType)) return null;\n const property = Tr2MeshBase.#areaProperties[areaType];\n return property ? this[property] : null;\n }\n\n @carbon.method\n @impl.adapted\n AddArea(areaType, area)\n {\n const areas = this.GetAreas(areaType);\n if (!areas) return false;\n areas.push(area);\n return true;\n }\n\n @carbon.method\n @impl.implemented\n GetAllAreas()\n {\n return Tr2MeshBase.#areaProperties.flatMap(property => this[property]);\n }\n\n @carbon.method\n @impl.adapted\n SetShaderOption(name, value)\n {\n let updated = false;\n for (const area of this.GetAllAreas())\n {\n if (!area?.effect?.SetOption) continue;\n area.effect.SetOption(name, value);\n updated = true;\n }\n return updated;\n }\n\n @carbon.method\n @impl.adapted\n GetMaterialBoundsAdjustment()\n {\n return {\n maxLocalScale: this.maxVertexScale,\n maxLocalDisplacement: this.maxVertexDisplacement,\n rotatesVertices: this.rotatesVertices\n };\n }\n\n @carbon.method\n @impl.adapted\n SetMaterialBoundsAdjustment(value)\n {\n const source = value || {};\n this.maxVertexScale = Number(source.maxLocalScale) || 0;\n this.maxVertexDisplacement = Number(source.maxLocalDisplacement) || 0;\n this.rotatesVertices = !!source.rotatesVertices;\n return true;\n }\n\n @carbon.method\n @impl.adapted\n GetGeometryResPath()\n {\n return \"\";\n }\n\n // Emits one batch per displayed area into the accumulator. `areas` may be a\n // TriBatchType (resolved via GetAreas) or an already-resolved area list, so the\n // scene collector can drive a mesh directly and a transform can pass a\n // pre-fetched vector (Carbon Tr2Transform::GetBatches passes GetAreas(type)).\n // Returns whether any batch was committed (JS addition; Carbon returns void).\n @carbon.method\n @impl.adapted\n @impl.reason(\"GPU-free descriptor batches: geometry buffers and final draw args are resolved by the engine at dispatch\")\n GetBatches(accumulator, areas, perObjectData, _reason)\n {\n if (this.display === false) return false;\n\n const areaList = Array.isArray(areas) ? areas : this.GetAreas(areas);\n if (!areaList) return false;\n\n let committed = false;\n const geometry = this.GetGeometryResource?.() ?? null;\n for (const area of areaList)\n {\n const batch = this.CreateGeometryBatch(geometry, area, perObjectData);\n if (batch) committed = accumulator.Commit(batch) || committed;\n }\n return committed;\n }\n\n // Builds a single GPU-free batch for one mesh area: the area's effect is the\n // material/shader key, and the geometry + area range are recorded as a source\n // descriptor for the engine to realize. Returns null for a hidden or\n // material-less area (Carbon returns an invalid batch in those cases).\n @carbon.method\n @impl.adapted\n @impl.reason(\"GPU-free: emits a geometry source descriptor instead of realized Tr2BufferAL allocations\")\n CreateGeometryBatch(geometry, area, perObjectData)\n {\n if (!area || area.GetDisplay() === false) return null;\n\n const effect = area.GetMaterialInterface();\n if (!effect) return null;\n\n const batch = new Tr2RenderBatch();\n batch.SetMaterial(effect);\n if (!batch.IsValid()) return null;\n\n batch.SetGeometrySource(geometry, this.meshIndex, area.GetIndex(), area.GetCount(), area.GetReversed());\n batch.SetPerObjectData(perObjectData ?? null);\n batch.SetPickingData(this.meshIndex, area.GetIndex());\n return batch;\n }\n\n // Appends one (startIndex, count) block per area of the requested type.\n // Carbon deliberately skips non-shadow-casting OPAQUE areas here too (overlay\n // rendering over e.g. scaffolding build effects causes problems).\n @carbon.method\n @impl.implemented\n CollectAreaBlocks(collector, areaType)\n {\n const areas = this.GetAreas(areaType);\n if (!areas) return collector;\n\n for (const area of areas)\n {\n if (areaType === TriBatchType.TRIBATCHTYPE_OPAQUE && !area.IsCastingShadows()) continue;\n collector.push(new TriRenderBatchAreaBlock(\n Math.max(0, area.GetIndex()), Math.max(0, area.GetCount())));\n }\n return collector;\n }\n\n // Appends blocks grouped by shared area material (the shadow path). Skips\n // non-shadow-casting OPAQUE and DECAL areas. Faithfully does NOT clamp\n // negative index/count (Carbon asymmetry with CollectAreaBlocks).\n @carbon.method\n @impl.adapted\n @impl.reason(\"Material grouping uses reference identity in place of Carbon's effect hash values.\")\n CollectAreaBlocksWithSharedMaterials(collectors, areaType)\n {\n const areas = this.GetAreas(areaType);\n if (!areas) return collectors;\n\n for (const area of areas)\n {\n if (areaType === TriBatchType.TRIBATCHTYPE_OPAQUE && !area.IsCastingShadows()) continue;\n if (areaType === TriBatchType.TRIBATCHTYPE_DECAL && !area.IsCastingShadows()) continue;\n\n const material = area.GetMaterialInterface();\n let entry = collectors.find(candidate => candidate.shaderMaterial === material);\n if (!entry)\n {\n entry = new TriRenderBatchAreaBlocksWithSharedMaterial();\n entry.shaderMaterial = material;\n collectors.push(entry);\n }\n entry.areaBlockVector.push(new TriRenderBatchAreaBlock(area.GetIndex(), area.GetCount()));\n }\n return collectors;\n }\n\n static #areaProperties = Object.freeze([\n \"opaqueAreas\",\n \"decalAreas\",\n \"transparentAreas\",\n \"depthAreas\",\n \"additiveAreas\",\n \"pickableAreas\",\n \"mirrorAreas\",\n \"decalNormalAreas\",\n \"depthNormalAreas\",\n \"opaquePrepassAreas\",\n \"decalPrepassAreas\",\n \"geometryEraserAreas\",\n \"flareAreas\",\n \"distortionAreas\"\n ]);\n}\n"],"names":["_Tr2MeshBase","_identity","Tr2MeshBase","CjsModel","e","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_meshIndex","_init_extra_meshIndex","_init_opaqueAreas","_init_extra_opaqueAreas","_init_decalAreas","_init_extra_decalAreas","_init_depthAreas","_init_extra_depthAreas","_init_transparentAreas","_init_extra_transparentAreas","_init_additiveAreas","_init_extra_additiveAreas","_init_pickableAreas","_init_extra_pickableAreas","_init_mirrorAreas","_init_extra_mirrorAreas","_init_decalNormalAreas","_init_extra_decalNormalAreas","_init_depthNormalAreas","_init_extra_depthNormalAreas","_init_opaquePrepassAreas","_init_extra_opaquePrepassAreas","_init_decalPrepassAreas","_init_extra_decalPrepassAreas","_init_geometryEraserAreas","_init_extra_geometryEraserAreas","_init_distortionAreas","_init_extra_distortionAreas","_init_flareAreas","_init_extra_flareAreas","_init_maxVertexScale","_init_extra_maxVertexScale","_init_maxVertexDisplacement","_init_extra_maxVertexDisplacement","_init_rotatesVertices","_init_extra_rotatesVertices","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","readwrite","boolean","rebuild","notify","int32","list","read","float32","carbon","method","impl","implemented","adapted","reason","constructor","args","name","display","meshIndex","opaqueAreas","decalAreas","depthAreas","transparentAreas","additiveAreas","pickableAreas","mirrorAreas","decalNormalAreas","depthNormalAreas","opaquePrepassAreas","decalPrepassAreas","geometryEraserAreas","distortionAreas","flareAreas","maxVertexScale","maxVertexDisplacement","rotatesVertices","GetAreas","areaType","Number","isInteger","property","AddArea","area","areas","push","GetAllAreas","flatMap","SetShaderOption","value","updated","effect","SetOption","GetMaterialBoundsAdjustment","maxLocalScale","maxLocalDisplacement","SetMaterialBoundsAdjustment","source","GetGeometryResPath","GetBatches","accumulator","perObjectData","_reason","areaList","Array","isArray","committed","geometry","GetGeometryResource","batch","CreateGeometryBatch","Commit","GetDisplay","GetMaterialInterface","Tr2RenderBatch","SetMaterial","IsValid","SetGeometrySource","GetIndex","GetCount","GetReversed","SetPerObjectData","SetPickingData","CollectAreaBlocks","collector","TriBatchType","TRIBATCHTYPE_OPAQUE","IsCastingShadows","TriRenderBatchAreaBlock","Math","max","CollectAreaBlocksWithSharedMaterials","collectors","TRIBATCHTYPE_DECAL","material","entry","find","candidate","shaderMaterial","TriRenderBatchAreaBlocksWithSharedMaterial","areaBlockVector","Object","freeze"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2MeshBase.js","sources":["../../../src/trinityCore/Tr2MeshBase.js"],"sourcesContent":["// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshBase.h\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshBase.cpp\r\n// Source: E:\\carbonengine\\trinity\\trinity\\Tr2MeshBase_Blue.cpp\r\nimport { CjsModel } from \"@carbonenginejs/runtime-utils/model\";\r\nimport { carbon, impl, io, type } from \"@carbonenginejs/runtime-utils/schema\";\r\nimport { TriBatchType } from \"@carbonenginejs/runtime-utils/graphics\";\r\nimport { Tr2RenderBatch, TriRenderBatchAreaBlock, TriRenderBatchAreaBlocksWithSharedMaterial } from \"./Tr2RenderBatch.js\";\r\n\r\n\r\n/**\r\n * Base mesh: owns one mesh-area list per batch type and turns the displayed\r\n * areas into GPU-free render batches and shadow area blocks.\r\n */\r\n@type.define({ className: \"Tr2MeshBase\", family: \"trinityCore\" })\r\nexport class Tr2MeshBase extends CjsModel\r\n{\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.readwrite\r\n @type.boolean\r\n display = true;\r\n\r\n @io.rebuild(\"batches\")\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n meshIndex = 0;\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n opaqueAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n decalAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n depthAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n transparentAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n additiveAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n pickableAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n mirrorAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n decalNormalAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n depthNormalAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n opaquePrepassAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n decalPrepassAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n geometryEraserAreas = [];\r\n\r\n @io.rebuild(\"batches\")\r\n @io.persist\r\n @type.list(\"Tr2MeshArea\")\r\n distortionAreas = [];\r\n\r\n // Carbon routes TRIBATCHTYPE_FLARE but does not expose this list to Blue, so\r\n // this list is typed without being read or persisted: the type declaration is\r\n // what makes its areas reachable to graph traversal, independent of io.\r\n @io.rebuild(\"batches\")\r\n @type.list(\"Tr2MeshArea\")\r\n flareAreas = [];\r\n\r\n @io.read\r\n @io.persist\r\n @type.float32\r\n maxVertexScale = 1;\r\n\r\n @io.read\r\n @io.persist\r\n @type.float32\r\n maxVertexDisplacement = 0;\r\n\r\n @io.read\r\n @io.persist\r\n @type.boolean\r\n rotatesVertices = false;\r\n\r\n /**\r\n * The live area list for a TriBatchType, or null for a non-integer or unmapped\r\n * type.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetAreas(areaType)\r\n {\r\n if (!Number.isInteger(areaType)) return null;\r\n const property = Tr2MeshBase.#areaProperties[areaType];\r\n return property ? this[property] : null;\r\n }\r\n\r\n /**\r\n * Appends an area to the list for a batch type; returns false when that type\r\n * has no list.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n AddArea(areaType, area)\r\n {\r\n const areas = this.GetAreas(areaType);\r\n if (!areas) return false;\r\n areas.push(area);\r\n return true;\r\n }\r\n\r\n /**\r\n * Every area of every batch type, in batch-type order, as one newly allocated\r\n * array.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetAllAreas()\r\n {\r\n return Tr2MeshBase.#areaProperties.flatMap(property => this[property]);\r\n }\r\n\r\n /**\r\n * Carbon Tr2MeshBase::UseWithScreenSize (Tr2MeshBase.cpp:589-610): reports the\r\n * on-screen size this mesh is being drawn at to every area material, so the\r\n * texture streamer can request a matching mip level. The LOD the size resolves\r\n * to supplies the uv densities the material needs to turn a pixel size into a\r\n * texture resolution.\r\n *\r\n * Callers pass a screen size already scaled by the LOD factor\r\n * (EveSpaceObject2, EveTransform, EveChildMesh, BehaviorGroup).\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UseWithScreenSize(screenSize, worldRadius)\r\n {\r\n const geometry = this.GetGeometryResource?.() ?? null;\r\n if (!geometry) return false;\r\n\r\n const lod = geometry.GetMeshLod?.(this.meshIndex, screenSize) ?? null;\r\n if (!lod) return false;\r\n\r\n // Carbon reads m_uvDensities off the resolved LOD; a resource that exposes\r\n // none yields an empty list, which the material treats as \"no LOD data\" and\r\n // requests the full resolution.\r\n const uvDensities = lod.uvDensities ?? lod.m_uvDensities ?? [];\r\n let reported = false;\r\n\r\n for (const area of this.GetAllAreas())\r\n {\r\n const material = area?.GetMaterialInterface?.();\r\n if (!material?.UsedWithScreenSize) continue;\r\n\r\n material.UsedWithScreenSize(screenSize, worldRadius, uvDensities);\r\n reported = true;\r\n }\r\n\r\n return reported;\r\n }\r\n\r\n /**\r\n * Sets a shader option on every area effect that supports it; returns whether\r\n * at least one area was updated.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetShaderOption(name, value)\r\n {\r\n let updated = false;\r\n for (const area of this.GetAllAreas())\r\n {\r\n if (!area?.effect?.SetOption) continue;\r\n area.effect.SetOption(name, value);\r\n updated = true;\r\n }\r\n return updated;\r\n }\r\n\r\n /**\r\n * The vertex-displacement bounds adjustment consumers apply to this mesh: max\r\n * local scale, max local displacement and whether the material rotates\r\n * vertices.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetMaterialBoundsAdjustment()\r\n {\r\n return {\r\n maxLocalScale: this.maxVertexScale,\r\n maxLocalDisplacement: this.maxVertexDisplacement,\r\n rotatesVertices: this.rotatesVertices\r\n };\r\n }\r\n\r\n /**\r\n * Stores the bounds adjustment, coercing missing or non-numeric entries to\r\n * zero and false.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetMaterialBoundsAdjustment(value)\r\n {\r\n const source = value || {};\r\n this.maxVertexScale = Number(source.maxLocalScale) || 0;\r\n this.maxVertexDisplacement = Number(source.maxLocalDisplacement) || 0;\r\n this.rotatesVertices = !!source.rotatesVertices;\r\n return true;\r\n }\r\n\r\n /** Empty at this level; Tr2Mesh overrides it with the real geometry path. */\r\n @carbon.method\r\n @impl.adapted\r\n GetGeometryResPath()\r\n {\r\n return \"\";\r\n }\r\n\r\n // Emits one batch per displayed area into the accumulator. `areas` may be a\r\n // TriBatchType (resolved via GetAreas) or an already-resolved area list, so the\r\n // scene collector can drive a mesh directly and a transform can pass a\r\n // pre-fetched vector (Carbon Tr2Transform::GetBatches passes GetAreas(type)).\r\n // Returns whether any batch was committed (JS addition; Carbon returns void).\r\n\r\n /**\r\n * Emits one batch per displayed area into the accumulator, where areas may be\r\n * a TriBatchType or an already-resolved area list, so a scene collector or a\r\n * transform can drive the mesh directly; returns whether any batch was\r\n * committed (a JS addition, Carbon returns void).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"GPU-free descriptor batches: geometry buffers and final draw args are resolved by the engine at dispatch\")\r\n GetBatches(accumulator, areas, perObjectData, _reason)\r\n {\r\n if (this.display === false) return false;\r\n\r\n const areaList = Array.isArray(areas) ? areas : this.GetAreas(areas);\r\n if (!areaList) return false;\r\n\r\n let committed = false;\r\n const geometry = this.GetGeometryResource?.() ?? null;\r\n for (const area of areaList)\r\n {\r\n const batch = this.CreateGeometryBatch(geometry, area, perObjectData);\r\n if (batch) committed = accumulator.Commit(batch) || committed;\r\n }\r\n return committed;\r\n }\r\n\r\n // Builds a single GPU-free batch for one mesh area: the area's effect is the\r\n // material/shader key, and the geometry + area range are recorded as a source\r\n // descriptor for the engine to realize. Returns null for a hidden or\r\n // material-less area (Carbon returns an invalid batch in those cases).\r\n\r\n /**\r\n * Builds one GPU-free batch for a mesh area, using the area's effect as\r\n * material and shader key and recording geometry plus area range as a source\r\n * descriptor; returns null for a hidden or material-less area, where Carbon\r\n * returns an invalid batch.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"GPU-free: emits a geometry source descriptor instead of realized Tr2BufferAL allocations\")\r\n CreateGeometryBatch(geometry, area, perObjectData)\r\n {\r\n if (!area || area.GetDisplay() === false) return null;\r\n\r\n const effect = area.GetMaterialInterface();\r\n if (!effect) return null;\r\n\r\n const batch = new Tr2RenderBatch();\r\n batch.SetMaterial(effect);\r\n if (!batch.IsValid()) return null;\r\n\r\n batch.SetGeometrySource(geometry, this.meshIndex, area.GetIndex(), area.GetCount(), area.GetReversed());\r\n batch.SetPerObjectData(perObjectData ?? null);\r\n batch.SetPickingData(this.meshIndex, area.GetIndex());\r\n return batch;\r\n }\r\n\r\n // Appends one (startIndex, count) block per area of the requested type.\r\n // Carbon deliberately skips non-shadow-casting OPAQUE areas here too (overlay\r\n // rendering over e.g. scaffolding build effects causes problems).\r\n\r\n /**\r\n * Appends one clamped (startIndex, count) block per area of the requested type\r\n * to the caller's collector, skipping non-shadow-casting OPAQUE areas as\r\n * Carbon does because overlay rendering over build effects misbehaves.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n CollectAreaBlocks(collector, areaType)\r\n {\r\n const areas = this.GetAreas(areaType);\r\n if (!areas) return collector;\r\n\r\n for (const area of areas)\r\n {\r\n if (areaType === TriBatchType.TRIBATCHTYPE_OPAQUE && !area.IsCastingShadows()) continue;\r\n collector.push(new TriRenderBatchAreaBlock(\r\n Math.max(0, area.GetIndex()), Math.max(0, area.GetCount())));\r\n }\r\n return collector;\r\n }\r\n\r\n // Appends blocks grouped by shared area material (the shadow path). Skips\r\n // non-shadow-casting OPAQUE and DECAL areas. Faithfully does NOT clamp\r\n // negative index/count (Carbon asymmetry with CollectAreaBlocks).\r\n\r\n /**\r\n * Appends blocks grouped by shared area material for the shadow path, skipping\r\n * non-shadow-casting OPAQUE and DECAL areas, and faithfully reproduces\r\n * Carbon's asymmetry by not clamping negative index or count.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Material grouping uses reference identity in place of Carbon's effect hash values.\")\r\n CollectAreaBlocksWithSharedMaterials(collectors, areaType)\r\n {\r\n const areas = this.GetAreas(areaType);\r\n if (!areas) return collectors;\r\n\r\n for (const area of areas)\r\n {\r\n if (areaType === TriBatchType.TRIBATCHTYPE_OPAQUE && !area.IsCastingShadows()) continue;\r\n if (areaType === TriBatchType.TRIBATCHTYPE_DECAL && !area.IsCastingShadows()) continue;\r\n\r\n const material = area.GetMaterialInterface();\r\n let entry = collectors.find(candidate => candidate.shaderMaterial === material);\r\n if (!entry)\r\n {\r\n entry = new TriRenderBatchAreaBlocksWithSharedMaterial();\r\n entry.shaderMaterial = material;\r\n collectors.push(entry);\r\n }\r\n entry.areaBlockVector.push(new TriRenderBatchAreaBlock(area.GetIndex(), area.GetCount()));\r\n }\r\n return collectors;\r\n }\r\n\r\n static #areaProperties = Object.freeze([\r\n \"opaqueAreas\",\r\n \"decalAreas\",\r\n \"transparentAreas\",\r\n \"depthAreas\",\r\n \"additiveAreas\",\r\n \"pickableAreas\",\r\n \"mirrorAreas\",\r\n \"decalNormalAreas\",\r\n \"depthNormalAreas\",\r\n \"opaquePrepassAreas\",\r\n \"decalPrepassAreas\",\r\n \"geometryEraserAreas\",\r\n \"flareAreas\",\r\n \"distortionAreas\"\r\n ]);\r\n}\r\n"],"names":["_Tr2MeshBase","_identity","Tr2MeshBase","CjsModel","e","_init_name","_init_extra_name","_init_display","_init_extra_display","_init_meshIndex","_init_extra_meshIndex","_init_opaqueAreas","_init_extra_opaqueAreas","_init_decalAreas","_init_extra_decalAreas","_init_depthAreas","_init_extra_depthAreas","_init_transparentAreas","_init_extra_transparentAreas","_init_additiveAreas","_init_extra_additiveAreas","_init_pickableAreas","_init_extra_pickableAreas","_init_mirrorAreas","_init_extra_mirrorAreas","_init_decalNormalAreas","_init_extra_decalNormalAreas","_init_depthNormalAreas","_init_extra_depthNormalAreas","_init_opaquePrepassAreas","_init_extra_opaquePrepassAreas","_init_decalPrepassAreas","_init_extra_decalPrepassAreas","_init_geometryEraserAreas","_init_extra_geometryEraserAreas","_init_distortionAreas","_init_extra_distortionAreas","_init_flareAreas","_init_extra_flareAreas","_init_maxVertexScale","_init_extra_maxVertexScale","_init_maxVertexDisplacement","_init_extra_maxVertexDisplacement","_init_rotatesVertices","_init_extra_rotatesVertices","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","readwrite","boolean","rebuild","notify","int32","list","read","float32","carbon","method","impl","implemented","adapted","reason","constructor","args","name","display","meshIndex","opaqueAreas","decalAreas","depthAreas","transparentAreas","additiveAreas","pickableAreas","mirrorAreas","decalNormalAreas","depthNormalAreas","opaquePrepassAreas","decalPrepassAreas","geometryEraserAreas","distortionAreas","flareAreas","maxVertexScale","maxVertexDisplacement","rotatesVertices","GetAreas","areaType","Number","isInteger","property","AddArea","area","areas","push","GetAllAreas","flatMap","UseWithScreenSize","screenSize","worldRadius","geometry","GetGeometryResource","lod","GetMeshLod","uvDensities","m_uvDensities","reported","material","GetMaterialInterface","UsedWithScreenSize","SetShaderOption","value","updated","effect","SetOption","GetMaterialBoundsAdjustment","maxLocalScale","maxLocalDisplacement","SetMaterialBoundsAdjustment","source","GetGeometryResPath","GetBatches","accumulator","perObjectData","_reason","areaList","Array","isArray","committed","batch","CreateGeometryBatch","Commit","GetDisplay","Tr2RenderBatch","SetMaterial","IsValid","SetGeometrySource","GetIndex","GetCount","GetReversed","SetPerObjectData","SetPickingData","CollectAreaBlocks","collector","TriBatchType","TRIBATCHTYPE_OPAQUE","IsCastingShadows","TriRenderBatchAreaBlock","Math","max","CollectAreaBlocksWithSharedMaterials","collectors","TRIBATCHTYPE_DECAL","entry","find","candidate","shaderMaterial","TriRenderBatchAreaBlocksWithSharedMaterial","areaBlockVector","Object","freeze"],"mappings":"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"}
@@ -7,13 +7,23 @@
7
7
  // concrete GPU upload path (Carbon SetPerObjectDataToDevice / ApplyConstantBuffers,
8
8
  // which write Tr2ConstantBufferAL) is engine-owned and intentionally not modelled
9
9
  // here; the engine reads whatever data a concrete subclass exposes at dispatch.
10
+
11
+ /**
12
+ * GPU-free base for per-object render data, carrying the object id a batch is
13
+ * picked and identified by; the GPU upload path is engine-owned.
14
+ */
10
15
  class Tr2PerObjectData {
16
+ /** Starts with a zero object id. */
11
17
  constructor() {
12
18
  this.userData = 0;
13
19
  }
20
+
21
+ /** Sets the object id, coerced to an unsigned 32-bit value. */
14
22
  SetUserData(userData) {
15
23
  this.userData = userData >>> 0;
16
24
  }
25
+
26
+ /** The object id, which doubles as the picking id. */
17
27
  GetUserData() {
18
28
  return this.userData;
19
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2PerObjectData.js","sources":["../../../src/trinityCore/Tr2PerObjectData.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/Tr2PerObjectData.h (Tr2PerObjectData base)\n//\n// GPU-free base for per-object render data. Carries the object id (Carbon's\n// m_userData, used as the picking / object id) and is the value a renderable's\n// GetPerObjectData returns and a batch references via SetPerObjectData. The\n// concrete GPU upload path (Carbon SetPerObjectDataToDevice / ApplyConstantBuffers,\n// which write Tr2ConstantBufferAL) is engine-owned and intentionally not modelled\n// here; the engine reads whatever data a concrete subclass exposes at dispatch.\nexport class Tr2PerObjectData\n{\n constructor()\n {\n this.userData = 0;\n }\n\n SetUserData(userData)\n {\n this.userData = userData >>> 0;\n }\n\n GetUserData()\n {\n return this.userData;\n }\n}\n"],"names":["Tr2PerObjectData","constructor","userData","SetUserData","GetUserData"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,gBAAgB,CAC7B;AACEC,EAAAA,WAAWA,GACX;IACE,IAAI,CAACC,QAAQ,GAAG,CAAC;AACnB,EAAA;EAEAC,WAAWA,CAACD,QAAQ,EACpB;AACE,IAAA,IAAI,CAACA,QAAQ,GAAGA,QAAQ,KAAK,CAAC;AAChC,EAAA;AAEAE,EAAAA,WAAWA,GACX;IACE,OAAO,IAAI,CAACF,QAAQ;AACtB,EAAA;AACF;;;;"}
1
+ {"version":3,"file":"Tr2PerObjectData.js","sources":["../../../src/trinityCore/Tr2PerObjectData.js"],"sourcesContent":["// Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n// trinity/Tr2PerObjectData.h (Tr2PerObjectData base)\n//\n// GPU-free base for per-object render data. Carries the object id (Carbon's\n// m_userData, used as the picking / object id) and is the value a renderable's\n// GetPerObjectData returns and a batch references via SetPerObjectData. The\n// concrete GPU upload path (Carbon SetPerObjectDataToDevice / ApplyConstantBuffers,\n// which write Tr2ConstantBufferAL) is engine-owned and intentionally not modelled\n// here; the engine reads whatever data a concrete subclass exposes at dispatch.\n\n/**\n * GPU-free base for per-object render data, carrying the object id a batch is\n * picked and identified by; the GPU upload path is engine-owned.\n */\nexport class Tr2PerObjectData\n{\n /** Starts with a zero object id. */\n constructor()\n {\n this.userData = 0;\n }\n\n /** Sets the object id, coerced to an unsigned 32-bit value. */\n SetUserData(userData)\n {\n this.userData = userData >>> 0;\n }\n\n /** The object id, which doubles as the picking id. */\n GetUserData()\n {\n return this.userData;\n }\n}\n"],"names":["Tr2PerObjectData","constructor","userData","SetUserData","GetUserData"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACO,MAAMA,gBAAgB,CAC7B;AACE;AACAC,EAAAA,WAAWA,GACX;IACE,IAAI,CAACC,QAAQ,GAAG,CAAC;AACnB,EAAA;;AAEA;EACAC,WAAWA,CAACD,QAAQ,EACpB;AACE,IAAA,IAAI,CAACA,QAAQ,GAAGA,QAAQ,KAAK,CAAC;AAChC,EAAA;;AAEA;AACAE,EAAAA,WAAWA,GACX;IACE,OAAO,IAAI,CAACF,QAAQ;AACtB,EAAA;AACF;;;;"}