@carbonenginejs/runtime 0.1.0-alpha.2 → 0.1.0-alpha.4

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 (1638) hide show
  1. package/NOTICE +5 -4
  2. package/dist/audio/generated/audio/AudEventKey.js +2 -2
  3. package/dist/audio/generated/audio/AudEventKey.js.map +1 -1
  4. package/dist/audio/generated/audio/AudSettings.js +2 -2
  5. package/dist/audio/generated/audio/AudSettings.js.map +1 -1
  6. package/dist/audio/index.js +1 -1
  7. package/dist/audio/trinity/audio/AudEmitter.js +4 -5
  8. package/dist/audio/trinity/audio/AudEmitter.js.map +1 -1
  9. package/dist/audio/trinity/audio/AudEventCurve.js +14 -14
  10. package/dist/audio/trinity/audio/AudEventCurve.js.map +1 -1
  11. package/dist/audio/trinity/audio/AudGameObjResource.js +13 -25
  12. package/dist/audio/trinity/audio/AudGameObjResource.js.map +1 -1
  13. package/dist/audio/trinity/audio/AudManager.js +2 -2
  14. package/dist/audio/trinity/audio/AudManager.js.map +1 -1
  15. package/dist/audio/trinity/audio/AudParameter.js +7 -11
  16. package/dist/audio/trinity/audio/AudParameter.js.map +1 -1
  17. package/dist/audio/trinity/audio/AudUIPlayer.js +2 -2
  18. package/dist/audio/trinity/audio/AudUIPlayer.js.map +1 -1
  19. package/dist/audio/trinity/audio/AudioCurveSetDriver.js +2 -2
  20. package/dist/audio/trinity/audio/AudioCurveSetDriver.js.map +1 -1
  21. package/dist/audio/trinity/audio/StretchAudio.js +2 -2
  22. package/dist/audio/trinity/audio/StretchAudio.js.map +1 -1
  23. package/dist/audio/trinity/index.js +1 -1
  24. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js +2 -2
  25. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js.map +1 -1
  26. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js +2 -2
  27. package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js.map +1 -1
  28. package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js +1 -37
  29. package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js.map +1 -1
  30. package/dist/character/incarna/curves/Tr2ColorCurve.js +2 -2
  31. package/dist/character/incarna/curves/Tr2ColorCurve.js.map +1 -1
  32. package/dist/character/incarna/curves/Tr2ColorKey.js +2 -2
  33. package/dist/character/incarna/curves/Tr2ColorKey.js.map +1 -1
  34. package/dist/character/incarna/curves/Tr2ScalarCurve.js +2 -2
  35. package/dist/character/incarna/curves/Tr2ScalarCurve.js.map +1 -1
  36. package/dist/character/incarna/curves/Tr2ScalarKey.js +2 -2
  37. package/dist/character/incarna/curves/Tr2ScalarKey.js.map +1 -1
  38. package/dist/character/incarna/interior/Tr2InteriorCell.js +2 -2
  39. package/dist/character/incarna/interior/Tr2InteriorCell.js.map +1 -1
  40. package/dist/character/library/CjsCharacterLibrary.js +9 -16
  41. package/dist/character/library/CjsCharacterLibrary.js.map +1 -1
  42. package/dist/character/library/CjsCharacterLibraryDocuments.js +20 -4
  43. package/dist/character/library/CjsCharacterLibraryDocuments.js.map +1 -1
  44. package/dist/character/model/CjsCharacterRecord.js +2 -2
  45. package/dist/character/model/CjsCharacterRecord.js.map +1 -1
  46. package/dist/character/model/activity/CjsCharacterArchetype.js +2 -2
  47. package/dist/character/model/activity/CjsCharacterArchetype.js.map +1 -1
  48. package/dist/character/model/appearance/CjsCharacterColorLocation.js +2 -2
  49. package/dist/character/model/appearance/CjsCharacterColorLocation.js.map +1 -1
  50. package/dist/character/model/appearance/CjsCharacterColorName.js +2 -2
  51. package/dist/character/model/appearance/CjsCharacterColorName.js.map +1 -1
  52. package/dist/character/model/appearance/CjsCharacterColorSelection.js +2 -2
  53. package/dist/character/model/appearance/CjsCharacterColorSelection.js.map +1 -1
  54. package/dist/character/model/appearance/CjsCharacterSculptSelection.js +2 -2
  55. package/dist/character/model/appearance/CjsCharacterSculptSelection.js.map +1 -1
  56. package/dist/character/model/appearance/CjsCharacterSculptingLocation.js +2 -2
  57. package/dist/character/model/appearance/CjsCharacterSculptingLocation.js.map +1 -1
  58. package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js +2 -2
  59. package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js.map +1 -1
  60. package/dist/character/model/catalog/CjsCharacterColorValue.js +2 -2
  61. package/dist/character/model/catalog/CjsCharacterColorValue.js.map +1 -1
  62. package/dist/character/model/catalog/CjsCharacterDefinition.js +2 -2
  63. package/dist/character/model/catalog/CjsCharacterDefinition.js.map +1 -1
  64. package/dist/character/model/catalog/CjsCharacterMaterialProfile.js +2 -2
  65. package/dist/character/model/catalog/CjsCharacterMaterialProfile.js.map +1 -1
  66. package/dist/character/model/catalog/CjsCharacterModifierReference.js +2 -2
  67. package/dist/character/model/catalog/CjsCharacterModifierReference.js.map +1 -1
  68. package/dist/character/model/catalog/CjsCharacterPartMetadata.js +2 -2
  69. package/dist/character/model/catalog/CjsCharacterPartMetadata.js.map +1 -1
  70. package/dist/character/model/catalog/CjsCharacterPartModelBundle.js +2 -2
  71. package/dist/character/model/catalog/CjsCharacterPartModelBundle.js.map +1 -1
  72. package/dist/character/model/catalog/CjsCharacterPartSource.js +2 -2
  73. package/dist/character/model/catalog/CjsCharacterPartSource.js.map +1 -1
  74. package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js +2 -2
  75. package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js.map +1 -1
  76. package/dist/character/model/catalog/CjsCharacterPartType.js +2 -2
  77. package/dist/character/model/catalog/CjsCharacterPartType.js.map +1 -1
  78. package/dist/character/model/catalog/CjsCharacterProjectionProfile.js +2 -2
  79. package/dist/character/model/catalog/CjsCharacterProjectionProfile.js.map +1 -1
  80. package/dist/character/model/catalog/CjsCharacterRecipeEntry.js +2 -2
  81. package/dist/character/model/catalog/CjsCharacterRecipeEntry.js.map +1 -1
  82. package/dist/character/model/catalog/CjsCharacterRecipeProfile.js +2 -2
  83. package/dist/character/model/catalog/CjsCharacterRecipeProfile.js.map +1 -1
  84. package/dist/character/model/catalog/CjsCharacterTextureMetadata.js +2 -2
  85. package/dist/character/model/catalog/CjsCharacterTextureMetadata.js.map +1 -1
  86. package/dist/character/model/composition/CjsCharacterModifierLocation.js +2 -2
  87. package/dist/character/model/composition/CjsCharacterModifierLocation.js.map +1 -1
  88. package/dist/character/model/composition/CjsCharacterModifierSelection.js +2 -2
  89. package/dist/character/model/composition/CjsCharacterModifierSelection.js.map +1 -1
  90. package/dist/character/model/creation/CjsCharacterPaperdoll.js +2 -2
  91. package/dist/character/model/creation/CjsCharacterPaperdoll.js.map +1 -1
  92. package/dist/character/model/demographics/CjsCharacterAncestry.js +2 -2
  93. package/dist/character/model/demographics/CjsCharacterAncestry.js.map +1 -1
  94. package/dist/character/model/demographics/CjsCharacterBloodline.js +2 -2
  95. package/dist/character/model/demographics/CjsCharacterBloodline.js.map +1 -1
  96. package/dist/character/model/demographics/CjsCharacterRace.js +2 -2
  97. package/dist/character/model/demographics/CjsCharacterRace.js.map +1 -1
  98. package/dist/character/model/planning/CjsCharacterAppearanceBinding.js +2 -2
  99. package/dist/character/model/planning/CjsCharacterAppearanceBinding.js.map +1 -1
  100. package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js +2 -2
  101. package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js.map +1 -1
  102. package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js +2 -2
  103. package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js.map +1 -1
  104. package/dist/character/model/planning/CjsCharacterAppearanceLayer.js +2 -2
  105. package/dist/character/model/planning/CjsCharacterAppearanceLayer.js.map +1 -1
  106. package/dist/character/model/planning/CjsCharacterAppearancePlan.js +2 -2
  107. package/dist/character/model/planning/CjsCharacterAppearancePlan.js.map +1 -1
  108. package/dist/character/model/planning/CjsCharacterAppearanceSelection.js +2 -2
  109. package/dist/character/model/planning/CjsCharacterAppearanceSelection.js.map +1 -1
  110. package/dist/character/model/planning/CjsCharacterBindingAlpha.js +2 -2
  111. package/dist/character/model/planning/CjsCharacterBindingAlpha.js.map +1 -1
  112. package/dist/character/model/planning/CjsCharacterCompositionInput.js +2 -2
  113. package/dist/character/model/planning/CjsCharacterCompositionInput.js.map +1 -1
  114. package/dist/character/model/planning/CjsCharacterCompositionPass.js +2 -2
  115. package/dist/character/model/planning/CjsCharacterCompositionPass.js.map +1 -1
  116. package/dist/character/model/planning/CjsCharacterCompositionTarget.js +2 -2
  117. package/dist/character/model/planning/CjsCharacterCompositionTarget.js.map +1 -1
  118. package/dist/character/model/planning/CjsCharacterCoverage.js +2 -2
  119. package/dist/character/model/planning/CjsCharacterCoverage.js.map +1 -1
  120. package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js +2 -2
  121. package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js.map +1 -1
  122. package/dist/character/model/planning/CjsCharacterOrigin.js +2 -2
  123. package/dist/character/model/planning/CjsCharacterOrigin.js.map +1 -1
  124. package/dist/character/model/planning/CjsCharacterResolvedPart.js +2 -2
  125. package/dist/character/model/planning/CjsCharacterResolvedPart.js.map +1 -1
  126. package/dist/character/model/planning/CjsCharacterTextureAsset.js +2 -2
  127. package/dist/character/model/planning/CjsCharacterTextureAsset.js.map +1 -1
  128. package/dist/character/model/planning/CjsCharacterTextureChannel.js +2 -2
  129. package/dist/character/model/planning/CjsCharacterTextureChannel.js.map +1 -1
  130. package/dist/character/model/resources/CjsCharacterPortraitResource.js +2 -2
  131. package/dist/character/model/resources/CjsCharacterPortraitResource.js.map +1 -1
  132. package/dist/character/model/resources/CjsCharacterResource.js +2 -2
  133. package/dist/character/model/resources/CjsCharacterResource.js.map +1 -1
  134. package/dist/character/trinity/interior/Tr2IntSkinnedObject.js +6 -5
  135. package/dist/character/trinity/interior/Tr2IntSkinnedObject.js.map +1 -1
  136. package/dist/character/trinity/interior/Tr2InteriorLightSource.js +2 -2
  137. package/dist/character/trinity/interior/Tr2InteriorLightSource.js.map +1 -1
  138. package/dist/character/trinity/interior/Tr2InteriorPlaceable.js +4 -5
  139. package/dist/character/trinity/interior/Tr2InteriorPlaceable.js.map +1 -1
  140. package/dist/character/trinity/interior/Tr2InteriorScene.js +2 -2
  141. package/dist/character/trinity/interior/Tr2InteriorScene.js.map +1 -1
  142. package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js +2 -2
  143. package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js.map +1 -1
  144. package/dist/character/trinity/trinityCore/Tr2GStateParameter.js +2 -2
  145. package/dist/character/trinity/trinityCore/Tr2GStateParameter.js.map +1 -1
  146. package/dist/character/trinity/trinityCore/Tr2Model.js +2 -2
  147. package/dist/character/trinity/trinityCore/Tr2Model.js.map +1 -1
  148. package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js +21 -10
  149. package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js.map +1 -1
  150. package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js +64 -57
  151. package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js.map +1 -1
  152. package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js +1 -1
  153. package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js.map +1 -1
  154. package/dist/character/trinity/wod/WodBakingScene.js +2 -2
  155. package/dist/character/trinity/wod/WodBakingScene.js.map +1 -1
  156. package/dist/core/CjsLibrary.js +32 -685
  157. package/dist/core/CjsLibrary.js.map +1 -1
  158. package/dist/core/index.js +1 -2
  159. package/dist/core/index.js.map +1 -1
  160. package/dist/global/blue/BeInfo.js +95 -0
  161. package/dist/global/blue/BeInfo.js.map +1 -0
  162. package/dist/global/blue/CcpDateTime.js +53 -0
  163. package/dist/global/blue/CcpDateTime.js.map +1 -0
  164. package/dist/global/blue/CcpTime.js +148 -0
  165. package/dist/global/blue/CcpTime.js.map +1 -0
  166. package/dist/global/blue/CjsBlueOS.js +301 -0
  167. package/dist/global/blue/CjsBlueOS.js.map +1 -0
  168. package/dist/global/blue/CjsBluePaths.js +97 -0
  169. package/dist/global/blue/CjsBluePaths.js.map +1 -0
  170. package/dist/global/blue/IBlueDynamicResourceConstructor.js +29 -0
  171. package/dist/global/blue/IBlueDynamicResourceConstructor.js.map +1 -0
  172. package/dist/global/blue/IBlueEvents.js +34 -0
  173. package/dist/global/blue/IBlueEvents.js.map +1 -0
  174. package/dist/global/blue/IBlueOS.js +132 -0
  175. package/dist/global/blue/IBlueOS.js.map +1 -0
  176. package/dist/global/blue/IBluePaths.js +72 -0
  177. package/dist/global/blue/IBluePaths.js.map +1 -0
  178. package/dist/global/blue/IBlueResMan.js +93 -0
  179. package/dist/global/blue/IBlueResMan.js.map +1 -0
  180. package/dist/global/blue/IBlueResManNotifications.js +51 -0
  181. package/dist/global/blue/IBlueResManNotifications.js.map +1 -0
  182. package/dist/global/blue/ICatchupTicks.js +25 -0
  183. package/dist/global/blue/ICatchupTicks.js.map +1 -0
  184. package/dist/global/blue/IInitialize.js +47 -0
  185. package/dist/global/blue/IInitialize.js.map +1 -0
  186. package/dist/global/blue/IListNotify.js +44 -0
  187. package/dist/global/blue/IListNotify.js.map +1 -0
  188. package/dist/global/blue/INotify.js +65 -0
  189. package/dist/global/blue/INotify.js.map +1 -0
  190. package/dist/global/blue/ISimTimeRebaseNotify.js +28 -0
  191. package/dist/global/blue/ISimTimeRebaseNotify.js.map +1 -0
  192. package/dist/global/blue/IVariableTicker.js +24 -0
  193. package/dist/global/blue/IVariableTicker.js.map +1 -0
  194. package/dist/global/blue/blue.js +61 -0
  195. package/dist/global/blue/blue.js.map +1 -0
  196. package/dist/global/blue/enums/CjsBlueEnumRegistry.js +173 -0
  197. package/dist/global/blue/enums/CjsBlueEnumRegistry.js.map +1 -0
  198. package/dist/global/blue/index.js +19 -0
  199. package/dist/global/blue/index.js.map +1 -1
  200. package/dist/global/blue/registerTrinityEnums.js +43 -0
  201. package/dist/global/blue/registerTrinityEnums.js.map +1 -0
  202. package/dist/global/compose/abstract.js +81 -0
  203. package/dist/global/compose/abstract.js.map +1 -0
  204. package/dist/global/compose/interface.js +131 -26
  205. package/dist/global/compose/interface.js.map +1 -1
  206. package/dist/global/compose/notify.js +10 -1
  207. package/dist/global/compose/notify.js.map +1 -1
  208. package/dist/global/compose/values.js +116 -53
  209. package/dist/global/compose/values.js.map +1 -1
  210. package/dist/global/consts/blue.js +73 -0
  211. package/dist/global/consts/blue.js.map +1 -0
  212. package/dist/global/consts/graphics/index.js +1 -1
  213. package/dist/global/consts/graphics/trinityEnums.js +19 -7
  214. package/dist/global/consts/graphics/trinityEnums.js.map +1 -1
  215. package/dist/global/consts/index.js +2 -1
  216. package/dist/global/consts/index.js.map +1 -1
  217. package/dist/global/consts/trinity.js.map +1 -1
  218. package/dist/global/contracts/ITr2BoundingBox.js +1 -34
  219. package/dist/global/contracts/ITr2BoundingBox.js.map +1 -1
  220. package/dist/global/contracts/ITr2RenderNode.js +1 -27
  221. package/dist/global/contracts/ITr2RenderNode.js.map +1 -1
  222. package/dist/global/contracts/index.js +2 -4
  223. package/dist/global/contracts/index.js.map +1 -1
  224. package/dist/global/index.js +23 -5
  225. package/dist/global/index.js.map +1 -1
  226. package/dist/global/model/CjsModel.js +82 -99
  227. package/dist/global/model/CjsModel.js.map +1 -1
  228. package/dist/global/model/CjsModelState.js +0 -15
  229. package/dist/global/model/CjsModelState.js.map +1 -1
  230. package/dist/global/model/document/CjsDocumentHydrator.js +5 -1
  231. package/dist/global/model/document/CjsDocumentHydrator.js.map +1 -1
  232. package/dist/global/model/index.js +1 -1
  233. package/dist/global/schema/CjsSchema.js +275 -69
  234. package/dist/global/schema/CjsSchema.js.map +1 -1
  235. package/dist/global/schema/hydration.js +10 -8
  236. package/dist/global/schema/hydration.js.map +1 -1
  237. package/dist/global/schema/index.js +4 -3
  238. package/dist/global/schema/index.js.map +1 -1
  239. package/dist/global/schema/types/carbonTypes.js +1 -1
  240. package/dist/global/schema/types/carbonTypes.js.map +1 -1
  241. package/dist/global/utils/bytes.js +2 -0
  242. package/dist/global/utils/bytes.js.map +1 -1
  243. package/dist/global/utils/path.js +30 -1
  244. package/dist/global/utils/path.js.map +1 -1
  245. package/dist/index.js +59 -24
  246. package/dist/index.js.map +1 -1
  247. package/dist/resource/CjsResMan.js +206 -43
  248. package/dist/resource/CjsResMan.js.map +1 -1
  249. package/dist/resource/CjsResource.js +4 -1
  250. package/dist/resource/CjsResource.js.map +1 -1
  251. package/dist/resource/format/CjsBlueReader.js +8 -2
  252. package/dist/resource/format/CjsBlueReader.js.map +1 -1
  253. package/dist/resource/format/CjsResourceProbe.js +15 -16
  254. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  255. package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js +132 -75
  256. package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js.map +1 -1
  257. package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js +26 -0
  258. package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js.map +1 -1
  259. package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js +2 -1
  260. package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js.map +1 -1
  261. package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js +4 -0
  262. package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js.map +1 -0
  263. package/dist/resource/formats/black/core/blackDefinitions.js +1 -1
  264. package/dist/resource/formats/black/core/blackDefinitions.js.map +1 -1
  265. package/dist/resource/formats/black/core/blackSchema.js +1 -1
  266. package/dist/resource/formats/dds/CjsDdsFormat.js +50 -1
  267. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  268. package/dist/resource/formats/dds/core/helpers.js +51 -5
  269. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  270. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js +94 -0
  271. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js.map +1 -0
  272. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js +189 -0
  273. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js.map +1 -0
  274. package/dist/resource/formats/fsd/64/readers/index.js +2 -0
  275. package/dist/resource/formats/fsd/64/readers/index.js.map +1 -1
  276. package/dist/resource/formats/hlsl/core/detailMapFamily.js +18 -92
  277. package/dist/resource/formats/hlsl/core/detailMapFamily.js.map +1 -1
  278. package/dist/resource/formats/hlsl/core/textureArrayFamilies.js +285 -0
  279. package/dist/resource/formats/hlsl/core/textureArrayFamilies.js.map +1 -0
  280. package/dist/resource/formats/pickle/CjsPickleFormat.js +34 -14
  281. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  282. package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js +60 -451
  283. package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -1
  284. package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js +407 -0
  285. package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js.map +1 -0
  286. package/dist/resource/formats/pickle/core/pickleCommon.js +671 -0
  287. package/dist/resource/formats/pickle/core/pickleCommon.js.map +1 -0
  288. package/dist/resource/formats/red/core/blackDefinitions.js +1 -1
  289. package/dist/resource/formats/webgl/core/effectPackage.js +85 -7
  290. package/dist/resource/formats/webgl/core/effectPackage.js.map +1 -1
  291. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +666 -565
  292. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  293. package/dist/resource/formats/webgl/core/glslBackendBodySet.js +4 -4
  294. package/dist/resource/formats/webgl/core/glslBackendBodySet.js.map +1 -1
  295. package/dist/resource/formats/webgl/core/helpers.js +2 -2
  296. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  297. package/dist/resource/geometry/TriGeometryRes.js +61 -7
  298. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  299. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +11 -11
  300. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  301. package/dist/resource/index.js +11 -0
  302. package/dist/resource/index.js.map +1 -1
  303. package/dist/resource/shader/Tr2EffectRes.js +2 -3
  304. package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
  305. package/dist/resource/shader/Tr2MaterialArea.js +3 -3
  306. package/dist/resource/shader/Tr2MaterialArea.js.map +1 -1
  307. package/dist/resource/shader/Tr2MaterialMesh.js +2 -2
  308. package/dist/resource/shader/Tr2MaterialMesh.js.map +1 -1
  309. package/dist/resource/shader/Tr2MaterialRes.js +3 -3
  310. package/dist/resource/shader/Tr2MaterialRes.js.map +1 -1
  311. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +2 -2
  312. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  313. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +2 -2
  314. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  315. package/dist/resource/shader/reflection/Tr2Pass.js +4 -4
  316. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  317. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  318. package/dist/resource/texture/SolidColorTextureConstructor.js +46 -0
  319. package/dist/resource/texture/SolidColorTextureConstructor.js.map +1 -0
  320. package/dist/resource/texture/Tr2ImageRes.js +3 -4
  321. package/dist/resource/texture/Tr2ImageRes.js.map +1 -1
  322. package/dist/resource/texture/Tr2TextureLodManager.js +0 -1
  323. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  324. package/dist/resource/texture/Tr2TexturePackChannel.js +4 -4
  325. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePipeline.js +3 -4
  327. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +5 -5
  329. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  330. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +3 -3
  331. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  332. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +2 -2
  333. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  334. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +6 -6
  335. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  336. package/dist/resource/texture/TriTextureRes.js +65 -21
  337. package/dist/resource/texture/TriTextureRes.js.map +1 -1
  338. package/dist/resource/texture/index.js +2 -0
  339. package/dist/resource/texture/index.js.map +1 -1
  340. package/dist/resource/texture/solidColorTexture.js +111 -0
  341. package/dist/resource/texture/solidColorTexture.js.map +1 -0
  342. package/dist/resource/video/AudioMetadata.js +41 -0
  343. package/dist/resource/video/AudioMetadata.js.map +1 -0
  344. package/dist/resource/video/IAudioSink.js +51 -0
  345. package/dist/resource/video/IAudioSink.js.map +1 -0
  346. package/dist/resource/video/IEncodedFrame.js +52 -0
  347. package/dist/resource/video/IEncodedFrame.js.map +1 -0
  348. package/dist/resource/video/IVideoContainerParser.js +70 -0
  349. package/dist/resource/video/IVideoContainerParser.js.map +1 -0
  350. package/dist/resource/video/IVideoDecoder.js +36 -0
  351. package/dist/resource/video/IVideoDecoder.js.map +1 -0
  352. package/dist/resource/video/PcmFrame.js +33 -0
  353. package/dist/resource/video/PcmFrame.js.map +1 -0
  354. package/dist/resource/video/VideoFrame.js +45 -0
  355. package/dist/resource/video/VideoFrame.js.map +1 -0
  356. package/dist/resource/video/VideoMetadata.js +34 -0
  357. package/dist/resource/video/VideoMetadata.js.map +1 -0
  358. package/dist/resource/video/enums.js +30 -0
  359. package/dist/resource/video/enums.js.map +1 -0
  360. package/dist/sof/EveSOF.js +176 -176
  361. package/dist/sof/EveSOF.js.map +1 -1
  362. package/dist/sof/EveSOFDNA.js +5 -1
  363. package/dist/sof/EveSOFDNA.js.map +1 -1
  364. package/dist/sof/EveSOFData.js +2 -2
  365. package/dist/sof/EveSOFData.js.map +1 -1
  366. package/dist/sof/faction/EveSOFDataFaction.js +2 -2
  367. package/dist/sof/faction/EveSOFDataFaction.js.map +1 -1
  368. package/dist/sof/faction/EveSOFDataFactionChild.js +2 -2
  369. package/dist/sof/faction/EveSOFDataFactionChild.js.map +1 -1
  370. package/dist/sof/faction/EveSOFDataFactionColorSet.js +189 -3
  371. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  372. package/dist/sof/faction/EveSOFDataFactionHullArea.js +2 -2
  373. package/dist/sof/faction/EveSOFDataFactionHullArea.js.map +1 -1
  374. package/dist/sof/faction/EveSOFDataFactionPlaneSet.js +2 -2
  375. package/dist/sof/faction/EveSOFDataFactionPlaneSet.js.map +1 -1
  376. package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js +2 -2
  377. package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js.map +1 -1
  378. package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js +2 -2
  379. package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js.map +1 -1
  380. package/dist/sof/generic/EveSOFDataGeneric.js +234 -230
  381. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  382. package/dist/sof/generic/EveSOFDataGenericDamage.js +2 -2
  383. package/dist/sof/generic/EveSOFDataGenericDamage.js.map +1 -1
  384. package/dist/sof/generic/EveSOFDataGenericDecalShader.js +2 -2
  385. package/dist/sof/generic/EveSOFDataGenericDecalShader.js.map +1 -1
  386. package/dist/sof/generic/EveSOFDataGenericHullCategory.js +27 -23
  387. package/dist/sof/generic/EveSOFDataGenericHullCategory.js.map +1 -1
  388. package/dist/sof/generic/EveSOFDataGenericHullDamage.js +2 -2
  389. package/dist/sof/generic/EveSOFDataGenericHullDamage.js.map +1 -1
  390. package/dist/sof/generic/EveSOFDataGenericShader.js +2 -2
  391. package/dist/sof/generic/EveSOFDataGenericShader.js.map +1 -1
  392. package/dist/sof/generic/EveSOFDataGenericString.js +2 -2
  393. package/dist/sof/generic/EveSOFDataGenericString.js.map +1 -1
  394. package/dist/sof/generic/EveSOFDataGenericSwarm.js +2 -2
  395. package/dist/sof/generic/EveSOFDataGenericSwarm.js.map +1 -1
  396. package/dist/sof/generic/EveSOFDataGenericVariant.js +2 -2
  397. package/dist/sof/generic/EveSOFDataGenericVariant.js.map +1 -1
  398. package/dist/sof/generic/EveSOFDataVisibilityGroup.js +2 -2
  399. package/dist/sof/generic/EveSOFDataVisibilityGroup.js.map +1 -1
  400. package/dist/sof/hull/EveSOFDataHull.js +56 -3
  401. package/dist/sof/hull/EveSOFDataHull.js.map +1 -1
  402. package/dist/sof/hull/EveSOFDataHullAnimation.js +2 -2
  403. package/dist/sof/hull/EveSOFDataHullAnimation.js.map +1 -1
  404. package/dist/sof/hull/EveSOFDataHullArea.js +58 -54
  405. package/dist/sof/hull/EveSOFDataHullArea.js.map +1 -1
  406. package/dist/sof/hull/EveSOFDataHullBanner.js +109 -3
  407. package/dist/sof/hull/EveSOFDataHullBanner.js.map +1 -1
  408. package/dist/sof/hull/EveSOFDataHullBannerLight.js +2 -2
  409. package/dist/sof/hull/EveSOFDataHullBannerLight.js.map +1 -1
  410. package/dist/sof/hull/EveSOFDataHullBannerSet.js +2 -2
  411. package/dist/sof/hull/EveSOFDataHullBannerSet.js.map +1 -1
  412. package/dist/sof/hull/EveSOFDataHullBannerSetItem.js +109 -3
  413. package/dist/sof/hull/EveSOFDataHullBannerSetItem.js.map +1 -1
  414. package/dist/sof/hull/EveSOFDataHullBooster.js +2 -2
  415. package/dist/sof/hull/EveSOFDataHullBooster.js.map +1 -1
  416. package/dist/sof/hull/EveSOFDataHullBoosterItem.js +2 -2
  417. package/dist/sof/hull/EveSOFDataHullBoosterItem.js.map +1 -1
  418. package/dist/sof/hull/EveSOFDataHullChild.js +55 -50
  419. package/dist/sof/hull/EveSOFDataHullChild.js.map +1 -1
  420. package/dist/sof/hull/EveSOFDataHullChildSet.js +2 -2
  421. package/dist/sof/hull/EveSOFDataHullChildSet.js.map +1 -1
  422. package/dist/sof/hull/EveSOFDataHullChildSetItem.js +51 -46
  423. package/dist/sof/hull/EveSOFDataHullChildSetItem.js.map +1 -1
  424. package/dist/sof/hull/EveSOFDataHullController.js +2 -2
  425. package/dist/sof/hull/EveSOFDataHullController.js.map +1 -1
  426. package/dist/sof/hull/EveSOFDataHullDecalSet.js +2 -2
  427. package/dist/sof/hull/EveSOFDataHullDecalSet.js.map +1 -1
  428. package/dist/sof/hull/EveSOFDataHullDecalSetItem.js +45 -3
  429. package/dist/sof/hull/EveSOFDataHullDecalSetItem.js.map +1 -1
  430. package/dist/sof/hull/EveSOFDataHullHazeSet.js +21 -3
  431. package/dist/sof/hull/EveSOFDataHullHazeSet.js.map +1 -1
  432. package/dist/sof/hull/EveSOFDataHullHazeSetItem.js +47 -43
  433. package/dist/sof/hull/EveSOFDataHullHazeSetItem.js.map +1 -1
  434. package/dist/sof/hull/EveSOFDataHullLightSet.js +2 -2
  435. package/dist/sof/hull/EveSOFDataHullLightSet.js.map +1 -1
  436. package/dist/sof/hull/EveSOFDataHullLightSetItem.js +4 -2
  437. package/dist/sof/hull/EveSOFDataHullLightSetItem.js.map +1 -1
  438. package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js +2 -2
  439. package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js.map +1 -1
  440. package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js +2 -2
  441. package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js.map +1 -1
  442. package/dist/sof/hull/EveSOFDataHullLocator.js +2 -2
  443. package/dist/sof/hull/EveSOFDataHullLocator.js.map +1 -1
  444. package/dist/sof/hull/EveSOFDataHullLocatorSet.js +2 -2
  445. package/dist/sof/hull/EveSOFDataHullLocatorSet.js.map +1 -1
  446. package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js +2 -2
  447. package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js.map +1 -1
  448. package/dist/sof/hull/EveSOFDataHullPlaneSet.js +29 -3
  449. package/dist/sof/hull/EveSOFDataHullPlaneSet.js.map +1 -1
  450. package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js +81 -75
  451. package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js.map +1 -1
  452. package/dist/sof/hull/EveSOFDataHullSoundEmitter.js +2 -2
  453. package/dist/sof/hull/EveSOFDataHullSoundEmitter.js.map +1 -1
  454. package/dist/sof/hull/EveSOFDataHullSpotlightSet.js +2 -2
  455. package/dist/sof/hull/EveSOFDataHullSpotlightSet.js.map +1 -1
  456. package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js +45 -41
  457. package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js.map +1 -1
  458. package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js +2 -2
  459. package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js.map +1 -1
  460. package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js +70 -66
  461. package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js.map +1 -1
  462. package/dist/sof/hull/EveSOFDataHullSpriteSet.js +2 -2
  463. package/dist/sof/hull/EveSOFDataHullSpriteSet.js.map +1 -1
  464. package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js +45 -41
  465. package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js.map +1 -1
  466. package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js +2 -2
  467. package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js.map +1 -1
  468. package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js +2 -2
  469. package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js.map +1 -1
  470. package/dist/sof/layout/EveSOFDataHullExtensionBucket.js +2 -2
  471. package/dist/sof/layout/EveSOFDataHullExtensionBucket.js.map +1 -1
  472. package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js +2 -2
  473. package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js.map +1 -1
  474. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js +2 -2
  475. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js.map +1 -1
  476. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js +35 -3
  477. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js.map +1 -1
  478. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js +2 -2
  479. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js.map +1 -1
  480. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js +2 -2
  481. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js.map +1 -1
  482. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js +2 -2
  483. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js.map +1 -1
  484. package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js +2 -2
  485. package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js.map +1 -1
  486. package/dist/sof/layout/EveSOFDataLayout.js +2 -2
  487. package/dist/sof/layout/EveSOFDataLayout.js.map +1 -1
  488. package/dist/sof/pattern/EveSOFDataPattern.js +2 -2
  489. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  490. package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js +2 -2
  491. package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js.map +1 -1
  492. package/dist/sof/pattern/EveSOFDataPatternLayer.js +60 -3
  493. package/dist/sof/pattern/EveSOFDataPatternLayer.js.map +1 -1
  494. package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js +23 -3
  495. package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js.map +1 -1
  496. package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js +2 -2
  497. package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js.map +1 -1
  498. package/dist/sof/pattern/EveSOFDataPatternPerHull.js +2 -2
  499. package/dist/sof/pattern/EveSOFDataPatternPerHull.js.map +1 -1
  500. package/dist/sof/pattern/EveSOFDataPatternTransform.js +2 -2
  501. package/dist/sof/pattern/EveSOFDataPatternTransform.js.map +1 -1
  502. package/dist/sof/race/EveSOFDataRace.js +46 -42
  503. package/dist/sof/race/EveSOFDataRace.js.map +1 -1
  504. package/dist/sof/race/EveSOFDataRaceDamage.js +2 -2
  505. package/dist/sof/race/EveSOFDataRaceDamage.js.map +1 -1
  506. package/dist/sof/shared/CjsExternalRef.js +2 -2
  507. package/dist/sof/shared/CjsExternalRef.js.map +1 -1
  508. package/dist/sof/shared/EveSOFDNADescriptor.js +2 -2
  509. package/dist/sof/shared/EveSOFDNADescriptor.js.map +1 -1
  510. package/dist/sof/shared/EveSOFDataArea.js +61 -3
  511. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  512. package/dist/sof/shared/EveSOFDataAreaMaterial.js +4 -2
  513. package/dist/sof/shared/EveSOFDataAreaMaterial.js.map +1 -1
  514. package/dist/sof/shared/EveSOFDataBlinkType.js +48 -8
  515. package/dist/sof/shared/EveSOFDataBlinkType.js.map +1 -1
  516. package/dist/sof/shared/EveSOFDataBooster.js +2 -2
  517. package/dist/sof/shared/EveSOFDataBooster.js.map +1 -1
  518. package/dist/sof/shared/EveSOFDataBoosterShape.js +2 -2
  519. package/dist/sof/shared/EveSOFDataBoosterShape.js.map +1 -1
  520. package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js +2 -2
  521. package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js.map +1 -1
  522. package/dist/sof/shared/EveSOFDataInstancedMesh.js +40 -3
  523. package/dist/sof/shared/EveSOFDataInstancedMesh.js.map +1 -1
  524. package/dist/sof/shared/EveSOFDataLogo.js +2 -2
  525. package/dist/sof/shared/EveSOFDataLogo.js.map +1 -1
  526. package/dist/sof/shared/EveSOFDataLogoSet.js +33 -3
  527. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  528. package/dist/sof/shared/EveSOFDataMaterial.js +2 -2
  529. package/dist/sof/shared/EveSOFDataMaterial.js.map +1 -1
  530. package/dist/sof/shared/EveSOFDataParameter.js +2 -2
  531. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  532. package/dist/sof/shared/EveSOFDataParameterBool.js +2 -2
  533. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -1
  534. package/dist/sof/shared/EveSOFDataParameterColor.js +2 -2
  535. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -1
  536. package/dist/sof/shared/EveSOFDataParameterFloat.js +2 -2
  537. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -1
  538. package/dist/sof/shared/EveSOFDataParameterInt.js +2 -2
  539. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -1
  540. package/dist/sof/shared/EveSOFDataParameterVector2.js +2 -2
  541. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -1
  542. package/dist/sof/shared/EveSOFDataParameterVector3.js +2 -2
  543. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -1
  544. package/dist/sof/shared/EveSOFDataPointLightAttachment.js +2 -2
  545. package/dist/sof/shared/EveSOFDataPointLightAttachment.js.map +1 -1
  546. package/dist/sof/shared/EveSOFDataSpotLightAttachment.js +2 -2
  547. package/dist/sof/shared/EveSOFDataSpotLightAttachment.js.map +1 -1
  548. package/dist/sof/shared/EveSOFDataTexture.js +2 -2
  549. package/dist/sof/shared/EveSOFDataTexture.js.map +1 -1
  550. package/dist/sof/shared/EveSOFDataTransform.js +2 -2
  551. package/dist/sof/shared/EveSOFDataTransform.js.map +1 -1
  552. package/dist/sof/shared/EveSofDataMeshInstance.js +2 -2
  553. package/dist/sof/shared/EveSofDataMeshInstance.js.map +1 -1
  554. package/dist/sof/sofDocumentValues.js +9 -0
  555. package/dist/sof/sofDocumentValues.js.map +1 -1
  556. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +2 -25
  557. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -1
  558. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js +2 -72
  559. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -1
  560. package/dist/trinity/controllers/ITr2ControllerOwner.js +1 -36
  561. package/dist/trinity/controllers/ITr2ControllerOwner.js.map +1 -1
  562. package/dist/trinity/controllers/Tr2Controller.js +4 -5
  563. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  564. package/dist/trinity/controllers/Tr2ControllerEventHandler.js +2 -2
  565. package/dist/trinity/controllers/Tr2ControllerEventHandler.js.map +1 -1
  566. package/dist/trinity/controllers/Tr2ControllerReference.js +9 -17
  567. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  568. package/dist/trinity/controllers/Tr2SyncToAnimation.js +4 -5
  569. package/dist/trinity/controllers/Tr2SyncToAnimation.js.map +1 -1
  570. package/dist/trinity/controllers/action/ITr2ControllerAction.js +1 -28
  571. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  572. package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js +9 -7
  573. package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js.map +1 -1
  574. package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js +11 -9
  575. package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js.map +1 -1
  576. package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js +9 -7
  577. package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js.map +1 -1
  578. package/dist/trinity/controllers/action/Tr2ActionCallback.js +4 -5
  579. package/dist/trinity/controllers/action/Tr2ActionCallback.js.map +1 -1
  580. package/dist/trinity/controllers/action/Tr2ActionChildEffect.js +4 -5
  581. package/dist/trinity/controllers/action/Tr2ActionChildEffect.js.map +1 -1
  582. package/dist/trinity/controllers/action/Tr2ActionOverlay.js +4 -5
  583. package/dist/trinity/controllers/action/Tr2ActionOverlay.js.map +1 -1
  584. package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js +4 -5
  585. package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js.map +1 -1
  586. package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js +13 -9
  587. package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js.map +1 -1
  588. package/dist/trinity/controllers/action/Tr2ActionPlaySound.js +4 -5
  589. package/dist/trinity/controllers/action/Tr2ActionPlaySound.js.map +1 -1
  590. package/dist/trinity/controllers/action/Tr2ActionPython.js +6 -6
  591. package/dist/trinity/controllers/action/Tr2ActionPython.js.map +1 -1
  592. package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js +4 -5
  593. package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js.map +1 -1
  594. package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js +4 -5
  595. package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js.map +1 -1
  596. package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js +4 -5
  597. package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
  598. package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js +4 -5
  599. package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js.map +1 -1
  600. package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js +8 -17
  601. package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  602. package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js +4 -5
  603. package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js.map +1 -1
  604. package/dist/trinity/controllers/action/Tr2ActionSetValue.js +11 -9
  605. package/dist/trinity/controllers/action/Tr2ActionSetValue.js.map +1 -1
  606. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +4 -5
  607. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  608. package/dist/trinity/controllers/contracts.js +27 -19
  609. package/dist/trinity/controllers/contracts.js.map +1 -1
  610. package/dist/trinity/controllers/expression/Tr2BindingPoint.js +6 -15
  611. package/dist/trinity/controllers/expression/Tr2BindingPoint.js.map +1 -1
  612. package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js +2 -2
  613. package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js.map +1 -1
  614. package/dist/trinity/controllers/expression/expressionRuntime.js +136 -0
  615. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -1
  616. package/dist/trinity/controllers/index.js +6 -6
  617. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +1 -24
  618. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  619. package/dist/trinity/controllers/state/Tr2StateMachine.js +4 -6
  620. package/dist/trinity/controllers/state/Tr2StateMachine.js.map +1 -1
  621. package/dist/trinity/controllers/state/Tr2StateMachineState.js +6 -6
  622. package/dist/trinity/controllers/state/Tr2StateMachineState.js.map +1 -1
  623. package/dist/trinity/controllers/state/Tr2StateMachineTransition.js +12 -9
  624. package/dist/trinity/controllers/state/Tr2StateMachineTransition.js.map +1 -1
  625. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +5 -6
  626. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  627. package/dist/trinity/core/ITr2Renderable.js +1 -49
  628. package/dist/trinity/core/ITr2Renderable.js.map +1 -1
  629. package/dist/trinity/core/ITr2Updateable.js +1 -22
  630. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  631. package/dist/trinity/core/ITriReroutable.js +56 -0
  632. package/dist/trinity/core/ITriReroutable.js.map +1 -0
  633. package/dist/trinity/core/Tr2Denoiser.js +2 -2
  634. package/dist/trinity/core/Tr2Denoiser.js.map +1 -1
  635. package/dist/trinity/core/Tr2MaterialParameterStore.js +2 -2
  636. package/dist/trinity/core/Tr2MaterialParameterStore.js.map +1 -1
  637. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js +2 -2
  638. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -1
  639. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +1 -1
  640. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -1
  641. package/dist/trinity/core/Tr2Renderer.js +161 -4
  642. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  643. package/dist/trinity/core/Tr2ShadowMap.js +3 -3
  644. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  645. package/dist/trinity/core/Tr2StreamingBitmapSaver.js +2 -2
  646. package/dist/trinity/core/Tr2StreamingBitmapSaver.js.map +1 -1
  647. package/dist/trinity/core/Tr2Transform.js +4 -5
  648. package/dist/trinity/core/Tr2Transform.js.map +1 -1
  649. package/dist/trinity/core/animation/Tr2GrannyAnimation.js +2 -2
  650. package/dist/trinity/core/animation/Tr2GrannyAnimation.js.map +1 -1
  651. package/dist/trinity/core/animation/Tr2TextureAnimation.js +2 -2
  652. package/dist/trinity/core/animation/Tr2TextureAnimation.js.map +1 -1
  653. package/dist/trinity/core/animation/TriRigidOrientation.js +2 -2
  654. package/dist/trinity/core/animation/TriRigidOrientation.js.map +1 -1
  655. package/dist/trinity/core/animation/TriTorque.js +2 -2
  656. package/dist/trinity/core/animation/TriTorque.js.map +1 -1
  657. package/dist/trinity/core/batch/CjsBatchManager.js +15 -50
  658. package/dist/trinity/core/batch/CjsBatchManager.js.map +1 -1
  659. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -1
  660. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js +12 -14
  661. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -1
  662. package/dist/trinity/core/binding/Tr2BindingVector3.js +2 -2
  663. package/dist/trinity/core/binding/Tr2BindingVector3.js.map +1 -1
  664. package/dist/trinity/core/binding/Tr2DynamicBinding.js +6 -20
  665. package/dist/trinity/core/binding/Tr2DynamicBinding.js.map +1 -1
  666. package/dist/trinity/core/binding/Tr2ExternalParameter.js +3 -6
  667. package/dist/trinity/core/binding/Tr2ExternalParameter.js.map +1 -1
  668. package/dist/trinity/core/binding/Tr2PyValueBinding.js +2 -2
  669. package/dist/trinity/core/binding/Tr2PyValueBinding.js.map +1 -1
  670. package/dist/trinity/core/binding/TriValueBinding.js +50 -24
  671. package/dist/trinity/core/binding/TriValueBinding.js.map +1 -1
  672. package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js +0 -6
  673. package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js.map +1 -1
  674. package/dist/trinity/core/context/CjsTrinityStepExecutor.js +7 -10
  675. package/dist/trinity/core/context/CjsTrinityStepExecutor.js.map +1 -1
  676. package/dist/trinity/core/context/Tr2RenderContext.js +74 -116
  677. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  678. package/dist/trinity/core/device/Tr2DepthStencil.js +2 -2
  679. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  680. package/dist/trinity/core/device/Tr2GpuBuffer.js +2 -2
  681. package/dist/trinity/core/device/Tr2GpuBuffer.js.map +1 -1
  682. package/dist/trinity/core/device/Tr2RenderTarget.js +2 -2
  683. package/dist/trinity/core/device/Tr2RenderTarget.js.map +1 -1
  684. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js +2 -2
  685. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -1
  686. package/dist/trinity/core/device/Tr2SwapChain.js +2 -2
  687. package/dist/trinity/core/device/Tr2SwapChain.js.map +1 -1
  688. package/dist/trinity/core/device/TriDevice.js +576 -37
  689. package/dist/trinity/core/device/TriDevice.js.map +1 -1
  690. package/dist/trinity/core/device/gTriDev.js +49 -0
  691. package/dist/trinity/core/device/gTriDev.js.map +1 -0
  692. package/dist/trinity/core/index.js +9 -5
  693. package/dist/trinity/core/index.js.map +1 -1
  694. package/dist/trinity/core/lighting/Tr2KelvinColor.js +2 -2
  695. package/dist/trinity/core/lighting/Tr2KelvinColor.js.map +1 -1
  696. package/dist/trinity/core/lighting/Tr2LightManager.js +7 -17
  697. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  698. package/dist/trinity/core/lighting/Tr2ShLightingManager.js +2 -2
  699. package/dist/trinity/core/lighting/Tr2ShLightingManager.js.map +1 -1
  700. package/dist/trinity/core/line/Tr2BoundingLineSet.js +2 -2
  701. package/dist/trinity/core/line/Tr2BoundingLineSet.js.map +1 -1
  702. package/dist/trinity/core/line/Tr2CurveLineSet.js +10 -7
  703. package/dist/trinity/core/line/Tr2CurveLineSet.js.map +1 -1
  704. package/dist/trinity/core/line/Tr2LineGraph.js +2 -2
  705. package/dist/trinity/core/line/Tr2LineGraph.js.map +1 -1
  706. package/dist/trinity/core/line/Tr2PrimitiveSet.js +4 -5
  707. package/dist/trinity/core/line/Tr2PrimitiveSet.js.map +1 -1
  708. package/dist/trinity/core/line/TriLineSet.js +2 -2
  709. package/dist/trinity/core/line/TriLineSet.js.map +1 -1
  710. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js +1 -37
  711. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -1
  712. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js +1 -34
  713. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -1
  714. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +5 -6
  715. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  716. package/dist/trinity/core/mesh/Tr2InstancedMesh.js +2 -2
  717. package/dist/trinity/core/mesh/Tr2InstancedMesh.js.map +1 -1
  718. package/dist/trinity/core/mesh/Tr2Mesh.js +288 -183
  719. package/dist/trinity/core/mesh/Tr2Mesh.js.map +1 -1
  720. package/dist/trinity/core/mesh/Tr2MeshArea.js +32 -3
  721. package/dist/trinity/core/mesh/Tr2MeshArea.js.map +1 -1
  722. package/dist/trinity/core/mesh/Tr2MeshBase.js +58 -8
  723. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  724. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +141 -142
  725. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  726. package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js +2 -2
  727. package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js.map +1 -1
  728. package/dist/trinity/core/procedural/GradientTextureConstructor.js +62 -0
  729. package/dist/trinity/core/procedural/GradientTextureConstructor.js.map +1 -0
  730. package/dist/trinity/core/procedural/gradientTexture.js +196 -0
  731. package/dist/trinity/core/procedural/gradientTexture.js.map +1 -0
  732. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -1
  733. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +5 -0
  734. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -1
  735. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +2 -0
  736. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -1
  737. package/dist/trinity/core/tool/Tr2ManipulationTool.js +2 -2
  738. package/dist/trinity/core/tool/Tr2ManipulationTool.js.map +1 -1
  739. package/dist/trinity/core/tool/Tr2RotationTool.js +2 -2
  740. package/dist/trinity/core/tool/Tr2RotationTool.js.map +1 -1
  741. package/dist/trinity/core/tool/Tr2ScalingTool.js +2 -2
  742. package/dist/trinity/core/tool/Tr2ScalingTool.js.map +1 -1
  743. package/dist/trinity/core/tool/Tr2TranslationTool.js +2 -2
  744. package/dist/trinity/core/tool/Tr2TranslationTool.js.map +1 -1
  745. package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js +2 -2
  746. package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js.map +1 -1
  747. package/dist/trinity/core/variable/TriFloat.js +2 -2
  748. package/dist/trinity/core/variable/TriFloat.js.map +1 -1
  749. package/dist/trinity/core/variable/TriObserverLocal.js +2 -2
  750. package/dist/trinity/core/variable/TriObserverLocal.js.map +1 -1
  751. package/dist/trinity/core/variable/TriVariable.js +2 -2
  752. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  753. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js +2 -0
  754. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -1
  755. package/dist/trinity/core/view/TriProjection.js +2 -2
  756. package/dist/trinity/core/view/TriProjection.js.map +1 -1
  757. package/dist/trinity/core/view/TriRect.js +2 -2
  758. package/dist/trinity/core/view/TriRect.js.map +1 -1
  759. package/dist/trinity/core/view/TriView.js +2 -2
  760. package/dist/trinity/core/view/TriView.js.map +1 -1
  761. package/dist/trinity/core/view/TriViewport.js +2 -2
  762. package/dist/trinity/core/view/TriViewport.js.map +1 -1
  763. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +3 -3
  764. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  765. package/dist/trinity/curves/Tr2CurveSetRange.js +2 -2
  766. package/dist/trinity/curves/Tr2CurveSetRange.js.map +1 -1
  767. package/dist/trinity/curves/TriCurveSet.js +2 -2
  768. package/dist/trinity/curves/TriCurveSet.js.map +1 -1
  769. package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js +2 -2
  770. package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js.map +1 -1
  771. package/dist/trinity/curves/curve/Tr2CurveColor.js +2 -2
  772. package/dist/trinity/curves/curve/Tr2CurveColor.js.map +1 -1
  773. package/dist/trinity/curves/curve/Tr2CurveColorMixer.js +2 -2
  774. package/dist/trinity/curves/curve/Tr2CurveColorMixer.js.map +1 -1
  775. package/dist/trinity/curves/curve/Tr2CurveCombiner.js +3 -3
  776. package/dist/trinity/curves/curve/Tr2CurveCombiner.js.map +1 -1
  777. package/dist/trinity/curves/curve/Tr2CurveConstant.js +2 -2
  778. package/dist/trinity/curves/curve/Tr2CurveConstant.js.map +1 -1
  779. package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js +2 -2
  780. package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js.map +1 -1
  781. package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js +2 -2
  782. package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js.map +1 -1
  783. package/dist/trinity/curves/curve/Tr2CurveQuaternion.js +3 -3
  784. package/dist/trinity/curves/curve/Tr2CurveQuaternion.js.map +1 -1
  785. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +2 -2
  786. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  787. package/dist/trinity/curves/curve/Tr2CurveScalar.js +3 -3
  788. package/dist/trinity/curves/curve/Tr2CurveScalar.js.map +1 -1
  789. package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js +2 -2
  790. package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js.map +1 -1
  791. package/dist/trinity/curves/curve/Tr2CurveVector2.js +2 -2
  792. package/dist/trinity/curves/curve/Tr2CurveVector2.js.map +1 -1
  793. package/dist/trinity/curves/curve/Tr2CurveVector3.js +2 -2
  794. package/dist/trinity/curves/curve/Tr2CurveVector3.js.map +1 -1
  795. package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js +2 -2
  796. package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js.map +1 -1
  797. package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js +2 -2
  798. package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js.map +1 -1
  799. package/dist/trinity/curves/curve/Tr2DistanceTracker.js +5 -5
  800. package/dist/trinity/curves/curve/Tr2DistanceTracker.js.map +1 -1
  801. package/dist/trinity/curves/curve/Tr2FollowCurve.js +2 -2
  802. package/dist/trinity/curves/curve/Tr2FollowCurve.js.map +1 -1
  803. package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js +2 -2
  804. package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js.map +1 -1
  805. package/dist/trinity/curves/curve/Tr2RotationAdapter.js +2 -2
  806. package/dist/trinity/curves/curve/Tr2RotationAdapter.js.map +1 -1
  807. package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js +2 -2
  808. package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js.map +1 -1
  809. package/dist/trinity/curves/curve/Tr2ScalarFader.js +2 -2
  810. package/dist/trinity/curves/curve/Tr2ScalarFader.js.map +1 -1
  811. package/dist/trinity/curves/curve/Tr2TranslationAdapter.js +2 -2
  812. package/dist/trinity/curves/curve/Tr2TranslationAdapter.js.map +1 -1
  813. package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js +2 -2
  814. package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js.map +1 -1
  815. package/dist/trinity/curves/curve/TriColorSequencer.js +18 -18
  816. package/dist/trinity/curves/curve/TriColorSequencer.js.map +1 -1
  817. package/dist/trinity/curves/curve/TriEventCurve.js +51 -51
  818. package/dist/trinity/curves/curve/TriEventCurve.js.map +1 -1
  819. package/dist/trinity/curves/curve/TriPerlinCurve.js +2 -2
  820. package/dist/trinity/curves/curve/TriPerlinCurve.js.map +1 -1
  821. package/dist/trinity/curves/curve/TriVectorSequencer.js +36 -36
  822. package/dist/trinity/curves/curve/TriVectorSequencer.js.map +1 -1
  823. package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js +2 -2
  824. package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js.map +1 -1
  825. package/dist/trinity/curves/key/Tr2MatrixKey.js +2 -2
  826. package/dist/trinity/curves/key/Tr2MatrixKey.js.map +1 -1
  827. package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js +2 -2
  828. package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js.map +1 -1
  829. package/dist/trinity/curves/key/Tr2ScalarExprKey.js +28 -24
  830. package/dist/trinity/curves/key/Tr2ScalarExprKey.js.map +1 -1
  831. package/dist/trinity/curves/key/TriEventKey.js +2 -2
  832. package/dist/trinity/curves/key/TriEventKey.js.map +1 -1
  833. package/dist/trinity/curves/track/Tr2GrannyEventTrack.js +2 -2
  834. package/dist/trinity/curves/track/Tr2GrannyEventTrack.js.map +1 -1
  835. package/dist/trinity/curves/track/Tr2GrannyTrack.js +9 -4
  836. package/dist/trinity/curves/track/Tr2GrannyTrack.js.map +1 -1
  837. package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js +2 -2
  838. package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js.map +1 -1
  839. package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js +2 -2
  840. package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js.map +1 -1
  841. package/dist/trinity/eve/AudioGameObject.js +6 -8
  842. package/dist/trinity/eve/AudioGameObject.js.map +1 -1
  843. package/dist/trinity/eve/EveCustomMask.js +2 -2
  844. package/dist/trinity/eve/EveCustomMask.js.map +1 -1
  845. package/dist/trinity/eve/EveDistanceField.js +6 -4
  846. package/dist/trinity/eve/EveDistanceField.js.map +1 -1
  847. package/dist/trinity/eve/EveImpactOverlay.js +2 -2
  848. package/dist/trinity/eve/EveImpactOverlay.js.map +1 -1
  849. package/dist/trinity/eve/EveThrottleable.js +2 -2
  850. package/dist/trinity/eve/EveThrottleable.js.map +1 -1
  851. package/dist/trinity/eve/EveTriggerVolume.js +4 -5
  852. package/dist/trinity/eve/EveTriggerVolume.js.map +1 -1
  853. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +1 -23
  854. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  855. package/dist/trinity/eve/IEveSpaceObject2.js +1 -24
  856. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  857. package/dist/trinity/eve/IEveTransform.js +1 -22
  858. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  859. package/dist/trinity/eve/attachment/banner/EveBannerItem.js +2 -2
  860. package/dist/trinity/eve/attachment/banner/EveBannerItem.js.map +1 -1
  861. package/dist/trinity/eve/attachment/banner/EveBannerLight.js +2 -2
  862. package/dist/trinity/eve/attachment/banner/EveBannerLight.js.map +1 -1
  863. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +20 -3
  864. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  865. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +127 -122
  866. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  867. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +5 -5
  868. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -1
  869. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +4 -5
  870. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  871. package/dist/trinity/eve/attachment/booster/EveTrailsSet.js +4 -2
  872. package/dist/trinity/eve/attachment/booster/EveTrailsSet.js.map +1 -1
  873. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +169 -155
  874. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  875. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +3 -3
  876. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  877. package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js +2 -2
  878. package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js.map +1 -1
  879. package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js +2 -2
  880. package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js.map +1 -1
  881. package/dist/trinity/eve/attachment/plane/EvePlaneLight.js +2 -2
  882. package/dist/trinity/eve/attachment/plane/EvePlaneLight.js.map +1 -1
  883. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +10 -4
  884. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  885. package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js +3 -2
  886. package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js.map +1 -1
  887. package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js +2 -2
  888. package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -1
  889. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +3 -3
  890. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  891. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js +2 -2
  892. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -1
  893. package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js +2 -2
  894. package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js.map +1 -1
  895. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +4 -4
  896. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  897. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js +2 -2
  898. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -1
  899. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +5 -5
  900. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  901. package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js +2 -2
  902. package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -1
  903. package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js +7 -4
  904. package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  905. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +177 -144
  906. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  907. package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js +2 -2
  908. package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  909. package/dist/trinity/eve/camera/EveCamera.js +5 -11
  910. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  911. package/dist/trinity/eve/child/EveChildAudio.js +4 -5
  912. package/dist/trinity/eve/child/EveChildAudio.js.map +1 -1
  913. package/dist/trinity/eve/child/EveChildBehaviorSystem.js +5 -6
  914. package/dist/trinity/eve/child/EveChildBehaviorSystem.js.map +1 -1
  915. package/dist/trinity/eve/child/EveChildBoosterSet.js +6 -6
  916. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  917. package/dist/trinity/eve/child/EveChildBulletStorm.js +4 -5
  918. package/dist/trinity/eve/child/EveChildBulletStorm.js.map +1 -1
  919. package/dist/trinity/eve/child/EveChildCloud.js +5 -6
  920. package/dist/trinity/eve/child/EveChildCloud.js.map +1 -1
  921. package/dist/trinity/eve/child/EveChildCloud2.js +166 -166
  922. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  923. package/dist/trinity/eve/child/EveChildContainer.js +235 -169
  924. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  925. package/dist/trinity/eve/child/EveChildEffectPropagator.js +9 -9
  926. package/dist/trinity/eve/child/EveChildEffectPropagator.js.map +1 -1
  927. package/dist/trinity/eve/child/EveChildExplosion.js +11 -7
  928. package/dist/trinity/eve/child/EveChildExplosion.js.map +1 -1
  929. package/dist/trinity/eve/child/EveChildFogVolume.js +2 -2
  930. package/dist/trinity/eve/child/EveChildFogVolume.js.map +1 -1
  931. package/dist/trinity/eve/child/EveChildInheritProperties.js +2 -2
  932. package/dist/trinity/eve/child/EveChildInheritProperties.js.map +1 -1
  933. package/dist/trinity/eve/child/EveChildInstanceContainer.js +2 -2
  934. package/dist/trinity/eve/child/EveChildInstanceContainer.js.map +1 -1
  935. package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js +11 -7
  936. package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
  937. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +2 -2
  938. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -1
  939. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +2 -2
  940. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -1
  941. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +2 -2
  942. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -1
  943. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js +4 -5
  944. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -1
  945. package/dist/trinity/eve/child/EveChildLightingOverride.js +4 -5
  946. package/dist/trinity/eve/child/EveChildLightingOverride.js.map +1 -1
  947. package/dist/trinity/eve/child/EveChildLineSet.js +4 -5
  948. package/dist/trinity/eve/child/EveChildLineSet.js.map +1 -1
  949. package/dist/trinity/eve/child/EveChildLink.js +2 -2
  950. package/dist/trinity/eve/child/EveChildLink.js.map +1 -1
  951. package/dist/trinity/eve/child/EveChildMesh.js +315 -229
  952. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  953. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +2 -2
  954. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -1
  955. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js +2 -2
  956. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -1
  957. package/dist/trinity/eve/child/EveChildParticleSphere.js +4 -5
  958. package/dist/trinity/eve/child/EveChildParticleSphere.js.map +1 -1
  959. package/dist/trinity/eve/child/EveChildParticleSystem.js +36 -36
  960. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  961. package/dist/trinity/eve/child/EveChildPlug.js +60 -14
  962. package/dist/trinity/eve/child/EveChildPlug.js.map +1 -1
  963. package/dist/trinity/eve/child/EveChildPostProcessVolume.js +2 -2
  964. package/dist/trinity/eve/child/EveChildPostProcessVolume.js.map +1 -1
  965. package/dist/trinity/eve/child/EveChildQuad.js +4 -5
  966. package/dist/trinity/eve/child/EveChildQuad.js.map +1 -1
  967. package/dist/trinity/eve/child/EveChildRef.js +2 -2
  968. package/dist/trinity/eve/child/EveChildRef.js.map +1 -1
  969. package/dist/trinity/eve/child/EveChildSocket.js +2 -2
  970. package/dist/trinity/eve/child/EveChildSocket.js.map +1 -1
  971. package/dist/trinity/eve/child/EveChildSpherePin.js +4 -4
  972. package/dist/trinity/eve/child/EveChildSpherePin.js.map +1 -1
  973. package/dist/trinity/eve/child/EveChildTurret.js +4 -4
  974. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  975. package/dist/trinity/eve/child/EveCloudVolumeBall.js +2 -2
  976. package/dist/trinity/eve/child/EveCloudVolumeBall.js.map +1 -1
  977. package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js +6 -6
  978. package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
  979. package/dist/trinity/eve/child/EveSpaceObjectChild.js +2 -2
  980. package/dist/trinity/eve/child/EveSpaceObjectChild.js.map +1 -1
  981. package/dist/trinity/eve/child/IEveLightingOverride.js +1 -23
  982. package/dist/trinity/eve/child/IEveLightingOverride.js.map +1 -1
  983. package/dist/trinity/eve/child/behaviors/Allign.js +2 -2
  984. package/dist/trinity/eve/child/behaviors/Allign.js.map +1 -1
  985. package/dist/trinity/eve/child/behaviors/ApproachGroup.js +2 -2
  986. package/dist/trinity/eve/child/behaviors/ApproachGroup.js.map +1 -1
  987. package/dist/trinity/eve/child/behaviors/BackAndForth.js +2 -2
  988. package/dist/trinity/eve/child/behaviors/BackAndForth.js.map +1 -1
  989. package/dist/trinity/eve/child/behaviors/BehaviorGroup.js +4 -4
  990. package/dist/trinity/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  991. package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js +2 -2
  992. package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
  993. package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js +2 -2
  994. package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
  995. package/dist/trinity/eve/child/behaviors/DroneAvoidance.js +2 -2
  996. package/dist/trinity/eve/child/behaviors/DroneAvoidance.js.map +1 -1
  997. package/dist/trinity/eve/child/behaviors/FollowASpline.js +2 -2
  998. package/dist/trinity/eve/child/behaviors/FollowASpline.js.map +1 -1
  999. package/dist/trinity/eve/child/behaviors/Formation.js +2 -2
  1000. package/dist/trinity/eve/child/behaviors/Formation.js.map +1 -1
  1001. package/dist/trinity/eve/child/behaviors/InclusionVolume.js +2 -2
  1002. package/dist/trinity/eve/child/behaviors/InclusionVolume.js.map +1 -1
  1003. package/dist/trinity/eve/child/behaviors/Inertia.js +2 -2
  1004. package/dist/trinity/eve/child/behaviors/Inertia.js.map +1 -1
  1005. package/dist/trinity/eve/child/behaviors/PlayFX.js +2 -2
  1006. package/dist/trinity/eve/child/behaviors/PlayFX.js.map +1 -1
  1007. package/dist/trinity/eve/child/behaviors/SeekTarget.js +2 -2
  1008. package/dist/trinity/eve/child/behaviors/SeekTarget.js.map +1 -1
  1009. package/dist/trinity/eve/child/behaviors/SpawnDrones.js +2 -2
  1010. package/dist/trinity/eve/child/behaviors/SpawnDrones.js.map +1 -1
  1011. package/dist/trinity/eve/child/behaviors/Wander.js +2 -2
  1012. package/dist/trinity/eve/child/behaviors/Wander.js.map +1 -1
  1013. package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js +2 -2
  1014. package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -1
  1015. package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js +2 -2
  1016. package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -1
  1017. package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js +8 -8
  1018. package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  1019. package/dist/trinity/eve/child/lineSetPaths/EveCircle.js +8 -8
  1020. package/dist/trinity/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  1021. package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js +2 -2
  1022. package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
  1023. package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js +2 -2
  1024. package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
  1025. package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js +2 -2
  1026. package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
  1027. package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js +2 -2
  1028. package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  1029. package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js +2 -2
  1030. package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
  1031. package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +2 -2
  1032. package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
  1033. package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js +5 -6
  1034. package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
  1035. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +3 -3
  1036. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
  1037. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +3 -3
  1038. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
  1039. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js +2 -2
  1040. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
  1041. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +3 -3
  1042. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
  1043. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js +4 -4
  1044. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
  1045. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +4 -4
  1046. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
  1047. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +4 -4
  1048. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
  1049. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js +4 -4
  1050. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
  1051. package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js +2 -2
  1052. package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
  1053. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +2 -2
  1054. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
  1055. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +2 -2
  1056. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
  1057. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +2 -2
  1058. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
  1059. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +2 -2
  1060. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
  1061. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +4 -4
  1062. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
  1063. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +2 -2
  1064. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
  1065. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +2 -2
  1066. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
  1067. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +2 -2
  1068. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
  1069. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +2 -2
  1070. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
  1071. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +2 -2
  1072. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
  1073. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js +2 -2
  1074. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
  1075. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +2 -2
  1076. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
  1077. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js +2 -2
  1078. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
  1079. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +2 -2
  1080. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
  1081. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +2 -2
  1082. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
  1083. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +2 -2
  1084. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
  1085. package/dist/trinity/eve/effect/lensflare/EveLensflare.js +4 -5
  1086. package/dist/trinity/eve/effect/lensflare/EveLensflare.js.map +1 -1
  1087. package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js +4 -5
  1088. package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js.map +1 -1
  1089. package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js +4 -4
  1090. package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -1
  1091. package/dist/trinity/eve/index.js +4 -4
  1092. package/dist/trinity/eve/lights/Tr2FactionLight.js +5 -6
  1093. package/dist/trinity/eve/lights/Tr2FactionLight.js.map +1 -1
  1094. package/dist/trinity/eve/lights/Tr2Light.js +37 -9
  1095. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  1096. package/dist/trinity/eve/lights/Tr2PointLight.js +2 -2
  1097. package/dist/trinity/eve/lights/Tr2PointLight.js.map +1 -1
  1098. package/dist/trinity/eve/lights/Tr2SpotLight.js +2 -2
  1099. package/dist/trinity/eve/lights/Tr2SpotLight.js.map +1 -1
  1100. package/dist/trinity/eve/lights/Tr2TexturedPointLight.js +29 -31
  1101. package/dist/trinity/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  1102. package/dist/trinity/eve/locator/EveLocator2.js +2 -2
  1103. package/dist/trinity/eve/locator/EveLocator2.js.map +1 -1
  1104. package/dist/trinity/eve/locator/EveLocatorSets.js +13 -4
  1105. package/dist/trinity/eve/locator/EveLocatorSets.js.map +1 -1
  1106. package/dist/trinity/eve/locator/Locator.js +2 -2
  1107. package/dist/trinity/eve/locator/Locator.js.map +1 -1
  1108. package/dist/trinity/eve/overlays/EveDamageOverlay.js +2 -2
  1109. package/dist/trinity/eve/overlays/EveDamageOverlay.js.map +1 -1
  1110. package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js +2 -2
  1111. package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
  1112. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +5 -6
  1113. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  1114. package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js +4 -5
  1115. package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  1116. package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js +2 -2
  1117. package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
  1118. package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js +2 -2
  1119. package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
  1120. package/dist/trinity/eve/renderable/stretch/EveStretch.js +6 -6
  1121. package/dist/trinity/eve/renderable/stretch/EveStretch.js.map +1 -1
  1122. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +10 -8
  1123. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  1124. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +4 -5
  1125. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  1126. package/dist/trinity/eve/scene/EveSpaceScene.js +2 -2
  1127. package/dist/trinity/eve/scene/EveSpaceScene.js.map +1 -1
  1128. package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js +2 -2
  1129. package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
  1130. package/dist/trinity/eve/scene/components/EveComponentRegistry.js +3 -3
  1131. package/dist/trinity/eve/scene/components/EveComponentRegistry.js.map +1 -1
  1132. package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js +6 -7
  1133. package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
  1134. package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js +2 -2
  1135. package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
  1136. package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js +4 -8
  1137. package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  1138. package/dist/trinity/eve/smartLights/EveSmartLightMesh.js +7 -4
  1139. package/dist/trinity/eve/smartLights/EveSmartLightMesh.js.map +1 -1
  1140. package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js +25 -15
  1141. package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  1142. package/dist/trinity/eve/smartLights/EveSmartLightQuad.js +4 -9
  1143. package/dist/trinity/eve/smartLights/EveSmartLightQuad.js.map +1 -1
  1144. package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js +2 -2
  1145. package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
  1146. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +2 -3
  1147. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
  1148. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +2 -2
  1149. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
  1150. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +2 -2
  1151. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
  1152. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +10 -18
  1153. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
  1154. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +2 -2
  1155. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
  1156. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +2 -2
  1157. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
  1158. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +4 -9
  1159. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
  1160. package/dist/trinity/eve/socket/EveSocketParameterBool.js +2 -2
  1161. package/dist/trinity/eve/socket/EveSocketParameterBool.js.map +1 -1
  1162. package/dist/trinity/eve/socket/EveSocketParameterColor.js +2 -2
  1163. package/dist/trinity/eve/socket/EveSocketParameterColor.js.map +1 -1
  1164. package/dist/trinity/eve/socket/EveSocketParameterFloat.js +2 -2
  1165. package/dist/trinity/eve/socket/EveSocketParameterFloat.js.map +1 -1
  1166. package/dist/trinity/eve/socket/EveSocketParameterInt.js +2 -2
  1167. package/dist/trinity/eve/socket/EveSocketParameterInt.js.map +1 -1
  1168. package/dist/trinity/eve/socket/EveSocketParameterString.js +2 -2
  1169. package/dist/trinity/eve/socket/EveSocketParameterString.js.map +1 -1
  1170. package/dist/trinity/eve/socket/EveSocketParameterVector2.js +2 -2
  1171. package/dist/trinity/eve/socket/EveSocketParameterVector2.js.map +1 -1
  1172. package/dist/trinity/eve/socket/EveSocketParameterVector3.js +2 -2
  1173. package/dist/trinity/eve/socket/EveSocketParameterVector3.js.map +1 -1
  1174. package/dist/trinity/eve/socket/EveSocketParameterVector4.js +2 -2
  1175. package/dist/trinity/eve/socket/EveSocketParameterVector4.js.map +1 -1
  1176. package/dist/trinity/eve/spaceObject/EveEffectRoot2.js +20 -17
  1177. package/dist/trinity/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  1178. package/dist/trinity/eve/spaceObject/EveMissile.js +2 -2
  1179. package/dist/trinity/eve/spaceObject/EveMissile.js.map +1 -1
  1180. package/dist/trinity/eve/spaceObject/EveMissileWarhead.js +2 -2
  1181. package/dist/trinity/eve/spaceObject/EveMissileWarhead.js.map +1 -1
  1182. package/dist/trinity/eve/spaceObject/EveMobile.js +2 -2
  1183. package/dist/trinity/eve/spaceObject/EveMobile.js.map +1 -1
  1184. package/dist/trinity/eve/spaceObject/EveRootTransform.js +2 -2
  1185. package/dist/trinity/eve/spaceObject/EveRootTransform.js.map +1 -1
  1186. package/dist/trinity/eve/spaceObject/EveShip2.js +2 -2
  1187. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  1188. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +539 -432
  1189. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  1190. package/dist/trinity/eve/spaceObject/EveTransform.js +7 -7
  1191. package/dist/trinity/eve/spaceObject/EveTransform.js.map +1 -1
  1192. package/dist/trinity/eve/spaceObject/IEveSpaceObject2ParentData.js +44 -52
  1193. package/dist/trinity/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -1
  1194. package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +2 -2
  1195. package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -1
  1196. package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +2 -2
  1197. package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -1
  1198. package/dist/trinity/eve/spaceObject/planet/EvePlanet.js +2 -2
  1199. package/dist/trinity/eve/spaceObject/planet/EvePlanet.js.map +1 -1
  1200. package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js +2 -2
  1201. package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  1202. package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js +7 -8
  1203. package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
  1204. package/dist/trinity/eve/ui/EveConnector.js +2 -2
  1205. package/dist/trinity/eve/ui/EveConnector.js.map +1 -1
  1206. package/dist/trinity/eve/ui/EveEllipseDefinition.js +2 -2
  1207. package/dist/trinity/eve/ui/EveEllipseDefinition.js.map +1 -1
  1208. package/dist/trinity/eve/ui/EveEllipseSet.js +36 -6
  1209. package/dist/trinity/eve/ui/EveEllipseSet.js.map +1 -1
  1210. package/dist/trinity/eve/ui/EveLineContainer.js +4 -5
  1211. package/dist/trinity/eve/ui/EveLineContainer.js.map +1 -1
  1212. package/dist/trinity/eve/ui/EveProjectBracket.js +11 -3
  1213. package/dist/trinity/eve/ui/EveProjectBracket.js.map +1 -1
  1214. package/dist/trinity/eve/ui/EveSpherePin.js +6 -7
  1215. package/dist/trinity/eve/ui/EveSpherePin.js.map +1 -1
  1216. package/dist/trinity/eve/ui/EveSprite2dBracket.js +2 -2
  1217. package/dist/trinity/eve/ui/EveSprite2dBracket.js.map +1 -1
  1218. package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js +2 -2
  1219. package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
  1220. package/dist/trinity/eve/ui/EveTacticalOverlay.js +6 -24
  1221. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  1222. package/dist/trinity/eve/ui/EveUiObject.js +2 -2
  1223. package/dist/trinity/eve/ui/EveUiObject.js.map +1 -1
  1224. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +4 -5
  1225. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  1226. package/dist/trinity/eve/ui/lines/EveLineSet.js +6 -7
  1227. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  1228. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +2 -2
  1229. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -1
  1230. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +8 -9
  1231. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  1232. package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js +2 -2
  1233. package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
  1234. package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js +2 -2
  1235. package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
  1236. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +2 -2
  1237. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
  1238. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +4 -4
  1239. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
  1240. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +2 -2
  1241. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
  1242. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +2 -2
  1243. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
  1244. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +2 -2
  1245. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
  1246. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +4 -4
  1247. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
  1248. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +2 -2
  1249. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
  1250. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +2 -2
  1251. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
  1252. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +2 -2
  1253. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
  1254. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +2 -2
  1255. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
  1256. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +2 -2
  1257. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
  1258. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +2 -2
  1259. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
  1260. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +2 -2
  1261. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
  1262. package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +2 -2
  1263. package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
  1264. package/dist/trinity/eve/volume/EveBoxVolume.js +44 -44
  1265. package/dist/trinity/eve/volume/EveBoxVolume.js.map +1 -1
  1266. package/dist/trinity/eve/volume/EveEllipsoidVolume.js +2 -2
  1267. package/dist/trinity/eve/volume/EveEllipsoidVolume.js.map +1 -1
  1268. package/dist/trinity/eve/volume/EveSphereVolume.js +5 -6
  1269. package/dist/trinity/eve/volume/EveSphereVolume.js.map +1 -1
  1270. package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js +2 -2
  1271. package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
  1272. package/dist/trinity/generated/eve/effect/EveOccluder.js +2 -2
  1273. package/dist/trinity/generated/eve/effect/EveOccluder.js.map +1 -1
  1274. package/dist/trinity/generated/eve/effect/EveStarfield.js +2 -2
  1275. package/dist/trinity/generated/eve/effect/EveStarfield.js.map +1 -1
  1276. package/dist/trinity/generated/font/Tr2FontManager.js +2 -2
  1277. package/dist/trinity/generated/font/Tr2FontManager.js.map +1 -1
  1278. package/dist/trinity/generated/font/Tr2FontMeasurer.js +2 -2
  1279. package/dist/trinity/generated/font/Tr2FontMeasurer.js.map +1 -1
  1280. package/dist/trinity/generated/font/Tr2SBitWrapper.js +2 -2
  1281. package/dist/trinity/generated/font/Tr2SBitWrapper.js.map +1 -1
  1282. package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js +2 -2
  1283. package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
  1284. package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js +2 -2
  1285. package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
  1286. package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js +2 -2
  1287. package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
  1288. package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
  1289. package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
  1290. package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js +2 -2
  1291. package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
  1292. package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js +2 -2
  1293. package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
  1294. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
  1295. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
  1296. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js +2 -2
  1297. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
  1298. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js +2 -2
  1299. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
  1300. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js +2 -2
  1301. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
  1302. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js +2 -2
  1303. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
  1304. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js +2 -2
  1305. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
  1306. package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js +2 -2
  1307. package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
  1308. package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js +2 -2
  1309. package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
  1310. package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
  1311. package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
  1312. package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js +2 -2
  1313. package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
  1314. package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js +2 -2
  1315. package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
  1316. package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js +2 -2
  1317. package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
  1318. package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
  1319. package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
  1320. package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js +2 -2
  1321. package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
  1322. package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js +2 -2
  1323. package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
  1324. package/dist/trinity/generated/trinityCore/Tr2SSSSS.js +2 -2
  1325. package/dist/trinity/generated/trinityCore/Tr2SSSSS.js.map +1 -1
  1326. package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js +2 -2
  1327. package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
  1328. package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
  1329. package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
  1330. package/dist/trinity/index.js +23 -16
  1331. package/dist/trinity/index.js.map +1 -1
  1332. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js +1 -31
  1333. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -1
  1334. package/dist/trinity/particle/Tr2ParticleSystem.js +51 -52
  1335. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  1336. package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js +2 -2
  1337. package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
  1338. package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js +2 -2
  1339. package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
  1340. package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js +2 -2
  1341. package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
  1342. package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js +2 -2
  1343. package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
  1344. package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js +2 -2
  1345. package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js.map +1 -1
  1346. package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js +2 -2
  1347. package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js.map +1 -1
  1348. package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js +2 -2
  1349. package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js.map +1 -1
  1350. package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js +13 -3
  1351. package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js.map +1 -1
  1352. package/dist/trinity/particle/constraint/Tr2SphereConstraint.js +2 -2
  1353. package/dist/trinity/particle/constraint/Tr2SphereConstraint.js.map +1 -1
  1354. package/dist/trinity/particle/element/Tr2ParticleElementData.js +22 -8
  1355. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  1356. package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js +13 -25
  1357. package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js.map +1 -1
  1358. package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js +38 -3
  1359. package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js.map +1 -1
  1360. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +26 -27
  1361. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  1362. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +4 -5
  1363. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  1364. package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js +2 -2
  1365. package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js.map +1 -1
  1366. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +17 -18
  1367. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  1368. package/dist/trinity/particle/force/Tr2ForceSphereVolume.js +2 -2
  1369. package/dist/trinity/particle/force/Tr2ForceSphereVolume.js.map +1 -1
  1370. package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js +2 -2
  1371. package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js.map +1 -1
  1372. package/dist/trinity/particle/force/Tr2ParticleDirectForce.js +2 -2
  1373. package/dist/trinity/particle/force/Tr2ParticleDirectForce.js.map +1 -1
  1374. package/dist/trinity/particle/force/Tr2ParticleDragForce.js +2 -2
  1375. package/dist/trinity/particle/force/Tr2ParticleDragForce.js.map +1 -1
  1376. package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js +2 -2
  1377. package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js.map +1 -1
  1378. package/dist/trinity/particle/force/Tr2ParticleSpring.js +2 -2
  1379. package/dist/trinity/particle/force/Tr2ParticleSpring.js.map +1 -1
  1380. package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js +2 -2
  1381. package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js.map +1 -1
  1382. package/dist/trinity/particle/force/Tr2ParticleVortexForce.js +2 -2
  1383. package/dist/trinity/particle/force/Tr2ParticleVortexForce.js.map +1 -1
  1384. package/dist/trinity/particle/index.js +1 -1
  1385. package/dist/trinity/postProcess/Tr2PostProcess.js +2 -2
  1386. package/dist/trinity/postProcess/Tr2PostProcess.js.map +1 -1
  1387. package/dist/trinity/postProcess/Tr2PostProcess2.js +2 -2
  1388. package/dist/trinity/postProcess/Tr2PostProcess2.js.map +1 -1
  1389. package/dist/trinity/postProcess/Tr2PostProcessAttributes.js +2 -2
  1390. package/dist/trinity/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  1391. package/dist/trinity/postProcess/Tr2PostProcessRenderer.js +4 -4
  1392. package/dist/trinity/postProcess/Tr2PostProcessRenderer.js.map +1 -1
  1393. package/dist/trinity/postProcess/Tr2SSAO.js +4 -4
  1394. package/dist/trinity/postProcess/Tr2SSAO.js.map +1 -1
  1395. package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js +2 -2
  1396. package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js.map +1 -1
  1397. package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js +2 -2
  1398. package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js.map +1 -1
  1399. package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js +2 -2
  1400. package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js.map +1 -1
  1401. package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js +2 -2
  1402. package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js.map +1 -1
  1403. package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js +2 -2
  1404. package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js.map +1 -1
  1405. package/dist/trinity/postProcess/effect/Tr2PPEffect.js +2 -2
  1406. package/dist/trinity/postProcess/effect/Tr2PPEffect.js.map +1 -1
  1407. package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js +2 -2
  1408. package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js.map +1 -1
  1409. package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js +2 -2
  1410. package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js.map +1 -1
  1411. package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js +2 -2
  1412. package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js.map +1 -1
  1413. package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js +2 -2
  1414. package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js.map +1 -1
  1415. package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js +2 -2
  1416. package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js.map +1 -1
  1417. package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js +2 -2
  1418. package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js.map +1 -1
  1419. package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js +2 -2
  1420. package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js.map +1 -1
  1421. package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js +2 -2
  1422. package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js.map +1 -1
  1423. package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js +2 -2
  1424. package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js.map +1 -1
  1425. package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js +2 -2
  1426. package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js.map +1 -1
  1427. package/dist/trinity/renderJob/Tr2RenderJobs.js +5 -5
  1428. package/dist/trinity/renderJob/Tr2RenderJobs.js.map +1 -1
  1429. package/dist/trinity/renderJob/TriRenderJob.js +4 -4
  1430. package/dist/trinity/renderJob/TriRenderJob.js.map +1 -1
  1431. package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js +4 -5
  1432. package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js.map +1 -1
  1433. package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js +4 -5
  1434. package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js.map +1 -1
  1435. package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js +2 -2
  1436. package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js.map +1 -1
  1437. package/dist/trinity/renderJob/step/TriRenderStep.js +2 -2
  1438. package/dist/trinity/renderJob/step/TriRenderStep.js.map +1 -1
  1439. package/dist/trinity/renderJob/step/TriStepClear.js +2 -2
  1440. package/dist/trinity/renderJob/step/TriStepClear.js.map +1 -1
  1441. package/dist/trinity/renderJob/step/TriStepClearUav.js +2 -2
  1442. package/dist/trinity/renderJob/step/TriStepClearUav.js.map +1 -1
  1443. package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js +2 -2
  1444. package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js.map +1 -1
  1445. package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js +2 -2
  1446. package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js.map +1 -1
  1447. package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js +2 -2
  1448. package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js.map +1 -1
  1449. package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js +2 -2
  1450. package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js.map +1 -1
  1451. package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js +2 -2
  1452. package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js.map +1 -1
  1453. package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js +2 -2
  1454. package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js.map +1 -1
  1455. package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js +2 -2
  1456. package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js.map +1 -1
  1457. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +2 -2
  1458. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  1459. package/dist/trinity/renderJob/step/TriStepRenderAtlas.js +2 -2
  1460. package/dist/trinity/renderJob/step/TriStepRenderAtlas.js.map +1 -1
  1461. package/dist/trinity/renderJob/step/TriStepRenderDebug.js +2 -2
  1462. package/dist/trinity/renderJob/step/TriStepRenderDebug.js.map +1 -1
  1463. package/dist/trinity/renderJob/step/TriStepRenderEffect.js +2 -2
  1464. package/dist/trinity/renderJob/step/TriStepRenderEffect.js.map +1 -1
  1465. package/dist/trinity/renderJob/step/TriStepRenderFps.js +2 -2
  1466. package/dist/trinity/renderJob/step/TriStepRenderFps.js.map +1 -1
  1467. package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js +2 -2
  1468. package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js.map +1 -1
  1469. package/dist/trinity/renderJob/step/TriStepRenderObject.js +2 -2
  1470. package/dist/trinity/renderJob/step/TriStepRenderObject.js.map +1 -1
  1471. package/dist/trinity/renderJob/step/TriStepRenderPass.js +2 -2
  1472. package/dist/trinity/renderJob/step/TriStepRenderPass.js.map +1 -1
  1473. package/dist/trinity/renderJob/step/TriStepRenderScene.js +2 -2
  1474. package/dist/trinity/renderJob/step/TriStepRenderScene.js.map +1 -1
  1475. package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js +2 -2
  1476. package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js.map +1 -1
  1477. package/dist/trinity/renderJob/step/TriStepRenderTexture.js +2 -2
  1478. package/dist/trinity/renderJob/step/TriStepRenderTexture.js.map +1 -1
  1479. package/dist/trinity/renderJob/step/TriStepResolve.js +2 -2
  1480. package/dist/trinity/renderJob/step/TriStepResolve.js.map +1 -1
  1481. package/dist/trinity/renderJob/step/TriStepRunComputeShader.js +2 -2
  1482. package/dist/trinity/renderJob/step/TriStepRunComputeShader.js.map +1 -1
  1483. package/dist/trinity/renderJob/step/TriStepRunJob.js +2 -2
  1484. package/dist/trinity/renderJob/step/TriStepRunJob.js.map +1 -1
  1485. package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js +2 -2
  1486. package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js.map +1 -1
  1487. package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js +2 -2
  1488. package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js.map +1 -1
  1489. package/dist/trinity/renderJob/step/TriStepSetProjection.js +2 -2
  1490. package/dist/trinity/renderJob/step/TriStepSetProjection.js.map +1 -1
  1491. package/dist/trinity/renderJob/step/TriStepSetRenderState.js +2 -2
  1492. package/dist/trinity/renderJob/step/TriStepSetRenderState.js.map +1 -1
  1493. package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js +2 -2
  1494. package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js.map +1 -1
  1495. package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js +2 -2
  1496. package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js.map +1 -1
  1497. package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js +2 -2
  1498. package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js.map +1 -1
  1499. package/dist/trinity/renderJob/step/TriStepSetVariableStore.js +2 -2
  1500. package/dist/trinity/renderJob/step/TriStepSetVariableStore.js.map +1 -1
  1501. package/dist/trinity/renderJob/step/TriStepSetView.js +2 -2
  1502. package/dist/trinity/renderJob/step/TriStepSetView.js.map +1 -1
  1503. package/dist/trinity/renderJob/step/TriStepSetViewport.js +2 -2
  1504. package/dist/trinity/renderJob/step/TriStepSetViewport.js.map +1 -1
  1505. package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js +2 -2
  1506. package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js.map +1 -1
  1507. package/dist/trinity/renderJob/step/TriStepTestBlocking.js +2 -2
  1508. package/dist/trinity/renderJob/step/TriStepTestBlocking.js.map +1 -1
  1509. package/dist/trinity/renderJob/step/TriStepToggleCubemap.js +2 -2
  1510. package/dist/trinity/renderJob/step/TriStepToggleCubemap.js.map +1 -1
  1511. package/dist/trinity/renderJob/step/TriStepUpdate.js +2 -2
  1512. package/dist/trinity/renderJob/step/TriStepUpdate.js.map +1 -1
  1513. package/dist/trinity/shader/Tr2DataTextureManager.js +9 -9
  1514. package/dist/trinity/shader/Tr2DataTextureManager.js.map +1 -1
  1515. package/dist/trinity/shader/Tr2Effect.js +370 -347
  1516. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  1517. package/dist/trinity/shader/Tr2Material.js +5 -5
  1518. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  1519. package/dist/trinity/shader/Tr2ShaderBuffer.js +3 -4
  1520. package/dist/trinity/shader/Tr2ShaderBuffer.js.map +1 -1
  1521. package/dist/trinity/shader/index.js +3 -0
  1522. package/dist/trinity/shader/index.js.map +1 -1
  1523. package/dist/trinity/shader/parameter/CjsParameter.js +202 -185
  1524. package/dist/trinity/shader/parameter/CjsParameter.js.map +1 -1
  1525. package/dist/trinity/shader/parameter/CjsVectorParameter.js +2 -2
  1526. package/dist/trinity/shader/parameter/CjsVectorParameter.js.map +1 -1
  1527. package/dist/trinity/shader/parameter/ITriEffectParameter.js +56 -0
  1528. package/dist/trinity/shader/parameter/ITriEffectParameter.js.map +1 -0
  1529. package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js +31 -0
  1530. package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js.map +1 -0
  1531. package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js +43 -0
  1532. package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js.map +1 -0
  1533. package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js +17 -5
  1534. package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
  1535. package/dist/trinity/shader/parameter/Tr2FloatParameter.js +46 -45
  1536. package/dist/trinity/shader/parameter/Tr2FloatParameter.js.map +1 -1
  1537. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +14 -12
  1538. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  1539. package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js +33 -32
  1540. package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  1541. package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js +11 -10
  1542. package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  1543. package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js +55 -53
  1544. package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  1545. package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js +49 -48
  1546. package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  1547. package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js +52 -51
  1548. package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  1549. package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js +56 -55
  1550. package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  1551. package/dist/trinity/shader/parameter/TriFloatArrayParameter.js +8 -8
  1552. package/dist/trinity/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  1553. package/dist/trinity/shader/parameter/TriTextureParameter.js +27 -22
  1554. package/dist/trinity/shader/parameter/TriTextureParameter.js.map +1 -1
  1555. package/dist/trinity/shader/parameter/TriTransformParameter.js +27 -27
  1556. package/dist/trinity/shader/parameter/TriTransformParameter.js.map +1 -1
  1557. package/dist/trinity/shader/parameter/TriVariableParameter.js +53 -54
  1558. package/dist/trinity/shader/parameter/TriVariableParameter.js.map +1 -1
  1559. package/dist/trinity/shader/parameter/TriVector4.js +2 -2
  1560. package/dist/trinity/shader/parameter/TriVector4.js.map +1 -1
  1561. package/dist/trinity/shader/reflection/Tr2ShaderOption.js +4 -2
  1562. package/dist/trinity/shader/reflection/Tr2ShaderOption.js.map +1 -1
  1563. package/dist/trinity/shader/sampler/Tr2SamplerOverride.js +11 -2
  1564. package/dist/trinity/shader/sampler/Tr2SamplerOverride.js.map +1 -1
  1565. package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js +2 -2
  1566. package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
  1567. package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js +2 -2
  1568. package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
  1569. package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js +2 -2
  1570. package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
  1571. package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js +8 -9
  1572. package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
  1573. package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js +2 -2
  1574. package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
  1575. package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js +2 -2
  1576. package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
  1577. package/dist/trinity/sprite2d/Tr2Sprite2dScene.js +4 -4
  1578. package/dist/trinity/sprite2d/Tr2Sprite2dScene.js.map +1 -1
  1579. package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js +2 -2
  1580. package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
  1581. package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js +2 -2
  1582. package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
  1583. package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js +2 -2
  1584. package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
  1585. package/dist/trinity/ui/Tr2PresentParameters.js +2 -2
  1586. package/dist/trinity/ui/Tr2PresentParameters.js.map +1 -1
  1587. package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js +3 -3
  1588. package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js.map +1 -1
  1589. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -1
  1590. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -1
  1591. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  1592. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  1593. package/docs/core/README.md +38 -38
  1594. package/docs/core/architecture.md +6 -5
  1595. package/docs/core/reference/api.md +0 -10
  1596. package/docs/core/reference/classes/README.md +57 -67
  1597. package/docs/global/architecture.md +1 -3
  1598. package/docs/global/blue-enums.md +115 -0
  1599. package/docs/global/concepts/model-lifecycle.md +177 -182
  1600. package/docs/global/core-types/README.md +394 -317
  1601. package/docs/global/reference/api.md +2 -2
  1602. package/docs/global/reference/classes/README.md +355 -205
  1603. package/docs/global/reference/classes/dropped.md +40 -0
  1604. package/docs/resource/architecture.md +152 -112
  1605. package/docs/resource/concepts/resource-lifecycle.md +21 -15
  1606. package/docs/resource/formats/geometry-interchange.md +50 -0
  1607. package/docs/resource/formats/pickle.md +126 -100
  1608. package/docs/resource/formats/provenance.md +15 -9
  1609. package/docs/resource/formats/webgl/carbon-constant-layouts.md +98 -232
  1610. package/docs/resource/formats/webgl/decl-io.md +241 -397
  1611. package/docs/resource/formats/webgl/memory-structured.md +91 -128
  1612. package/docs/resource/formats/webgl/texture-sample.md +306 -469
  1613. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +278 -530
  1614. package/docs/resource/reference/classes/README.md +3 -1
  1615. package/docs/resource/reference/classes/dropped.md +21 -1
  1616. package/docs/resource/reference/classes/formats.md +33 -0
  1617. package/docs/resource/reference/classes/texture.md +11 -1
  1618. package/docs/resource/reference/classes/video.md +92 -0
  1619. package/docs/resource/reference/events.md +10 -9
  1620. package/docs/resource/reference/motherlode-cache.md +24 -11
  1621. package/docs/resource/reference/queues.md +30 -1
  1622. package/docs/trinity/README.md +5 -5
  1623. package/docs/trinity/architecture.md +355 -344
  1624. package/docs/trinity/concepts/eve-runtime-behavior.md +1 -1
  1625. package/docs/trinity/reference/api.md +19 -7
  1626. package/docs/trinity/reference/classes/dropped.md +2 -11
  1627. package/docs/trinity/reference/classes/eve-runtime.md +1 -1
  1628. package/docs/trinity/reference/classes/trinity-core.md +1672 -1622
  1629. package/docs/trinity/reference/implementation-status.md +92 -92
  1630. package/package.json +2 -1
  1631. package/dist/core/CjsFrameDriver.js +0 -109
  1632. package/dist/core/CjsFrameDriver.js.map +0 -1
  1633. package/dist/global/contracts/CjsFrameLifecycle.js +0 -49
  1634. package/dist/global/contracts/CjsFrameLifecycle.js.map +0 -1
  1635. package/dist/global/contracts/CjsInstancedMeshManager.js +0 -58
  1636. package/dist/global/contracts/CjsInstancedMeshManager.js.map +0 -1
  1637. package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js +0 -4
  1638. package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"BehaviorGroupBooster.js","sources":["../../../../../../src/trinity/eve/child/behaviors/BehaviorGroupBooster.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/BehaviorGroupBooster.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/BehaviorGroupBooster.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { carbonPerlin1D } from \"#math/noise\";\r\nimport { Tr2Effect } from \"../../../shader/Tr2Effect.js\";\r\n\r\n// Module scratch for the light registration path.\r\nconst LIGHT_COLOR = vec4.create();\r\n\r\n/** A drone-group component that builds and drives the group's shared booster and ambient or halo flare effects and contributes their point light to the scene. */\r\n@type.define({ className: \"BehaviorGroupBooster\", family: \"eve/child/behaviors\" })\r\nexport class BehaviorGroupBooster extends CjsModel\r\n{\r\n\r\n /** m_display (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n display = true;\r\n\r\n /** m_boosterOffset (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n boosterOffset = vec3.create();\r\n\r\n /** m_atlasIndex0 (uint32_t) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.uint32\r\n atlasIndex0 = 0;\r\n\r\n /** m_atlasIndex1 (uint32_t) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.uint32\r\n atlasIndex1 = 0;\r\n\r\n /** m_boosterEffect (Tr2EffectPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"Tr2Effect\")\r\n boosterEffect = null;\r\n\r\n /** m_flareCount (unsigned int) [READ] */\r\n @io.read\r\n @type.uint32\r\n flareCount = 0;\r\n\r\n /** m_displayAmbientFlare (bool) [READWRITE] */\r\n @io.readwrite\r\n @type.boolean\r\n displayAmbientFlare = true;\r\n\r\n /** m_displayBoosters (bool) [READWRITE] */\r\n @io.readwrite\r\n @type.boolean\r\n displayBoosters = true;\r\n\r\n /** m_displayHazeFlare (bool) [READWRITE] */\r\n @io.readwrite\r\n @type.boolean\r\n displayHazeFlare = true;\r\n\r\n /** m_ambientFlareBrightness (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n ambientFlareBrightness = 0;\r\n\r\n /** m_haloFlareBrightness (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n haloFlareBrightness = 0;\r\n\r\n /** m_ambientFlareColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n ambientFlareColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n /** m_haloFlareColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n haloFlareColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n /** m_lightColor (Color) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.color\r\n lightColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n /** m_ambientFlareEffect (Tr2EffectPtr) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.model(\"Tr2Effect\")\r\n ambientFlareEffect = null;\r\n\r\n /** m_haloFlareEffect (Tr2EffectPtr) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.model(\"Tr2Effect\")\r\n haloFlareEffect = null;\r\n\r\n /** m_ambientFlareNoiseAmplitude (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n ambientFlareNoiseAmplitude = 0.2;\r\n\r\n /** m_haloFlareNoiseAmplitude (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n haloFlareNoiseAmplitude = 0.2;\r\n\r\n /** m_ambientFlareNoiseOctaves (uint32_t) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.uint32\r\n ambientFlareNoiseOctaves = 1;\r\n\r\n /** m_haloFlareNoiseOctaves (uint32_t) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.uint32\r\n haloFlareNoiseOctaves = 1;\r\n\r\n /** m_ambientFlareNoiseSpeed (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n ambientFlareNoiseSpeed = 1;\r\n\r\n /** m_haloFlareNoiseSpeed (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n haloFlareNoiseSpeed = 1;\r\n\r\n /** m_ambientFlareOffset (Vector3) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n ambientFlareOffset = vec3.create();\r\n\r\n /** m_haloFlareOffset (Vector3) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n haloFlareOffset = vec3.create();\r\n\r\n /** m_lightRadius (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n lightRadius = 3.5;\r\n\r\n /** m_ambientFlareScale (Vector3) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n ambientFlareScale = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_haloFlareScale (Vector3) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n haloFlareScale = vec3.fromValues(1, 1, 1);\r\n\r\n /**\r\n * Creates the hardcoded booster and flare effects when absent (Carbon\r\n * InitializeEffects, cpp:149-166). Carbon also registers the flare effects\r\n * with the Tr2QuadRenderer singleton - a quad-renderer/GPU seam that the\r\n * JS port omits.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Effect graph construction is ported; Tr2QuadRenderer::Instance() flare registration and the quad buffers are renderer-owned seams.\")\r\n InitializeEffects()\r\n {\r\n if (this.boosterEffect === null)\r\n {\r\n this.boosterEffect = BehaviorGroupBooster.#CreateBoosterEffect(\"BOOSTER_LOD_HIGH\");\r\n }\r\n if (this.ambientFlareEffect === null)\r\n {\r\n this.ambientFlareEffect = BehaviorGroupBooster.#CreateFlareEffect();\r\n }\r\n if (this.haloFlareEffect === null)\r\n {\r\n this.haloFlareEffect = BehaviorGroupBooster.#CreateFlareEffect();\r\n }\r\n }\r\n\r\n /** Carbon BehaviorGroupBooster::GetDisplay (cpp:254-257). */\r\n @carbon.method\r\n @impl.implemented\r\n GetDisplay()\r\n {\r\n return this.display;\r\n }\r\n\r\n /** Carbon BehaviorGroupBooster::GetLightSize (cpp:259-266). */\r\n @carbon.method\r\n @impl.implemented\r\n GetLightSize()\r\n {\r\n if (this.display)\r\n {\r\n return this.lightRadius;\r\n }\r\n return 0;\r\n }\r\n\r\n /** Carbon BehaviorGroupBooster::GetOffset (cpp:268-271). */\r\n @carbon.method\r\n @impl.implemented\r\n GetOffset()\r\n {\r\n return this.boosterOffset;\r\n }\r\n\r\n /** Carbon BehaviorGroupBooster::GetAtlasIndex0 (cpp:273-276). */\r\n @carbon.method\r\n @impl.implemented\r\n GetAtlasIndex0()\r\n {\r\n return this.atlasIndex0;\r\n }\r\n\r\n /** Carbon BehaviorGroupBooster::GetAtlasIndex1 (cpp:278-281). */\r\n @carbon.method\r\n @impl.implemented\r\n GetAtlasIndex1()\r\n {\r\n return this.atlasIndex1;\r\n }\r\n\r\n /** Carbon BehaviorGroupBooster::GetEffect (cpp:365-368). */\r\n @carbon.method\r\n @impl.implemented\r\n GetEffect()\r\n {\r\n return this.boosterEffect;\r\n }\r\n\r\n /**\r\n * Tracks the flare instance count (Carbon RebuildFlareBuffer, cpp:359-363).\r\n * The Quad lists Carbon resizes alongside it are GPU quad packing, kept\r\n * with the quad-renderer seam.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The flare Quad lists are GPU quad packing owned by the quad-renderer seam; only the CPU count is tracked.\")\r\n RebuildFlareBuffer(count)\r\n {\r\n this.flareCount = Math.max(0, Number(count) | 0);\r\n }\r\n\r\n /**\r\n * Registers one booster point light with the duck-typed light manager\r\n * (Carbon AddLight, cpp:435-445). Carbon ignores the parentTransform\r\n * parameter; the JS port keeps the signature.\r\n * @param {Object} lightManager\r\n * @param {Float32Array} position - light position (xyz read)\r\n * @param {Number} radiusModifier\r\n * @param {Number} agentIndex - phase-offsets the noise\r\n * @param {Float32Array} _parentTransform - unused (as Carbon)\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's frame clock maps to Date.now seconds for the noise phase; the light registers through the duck-typed manager (AddPointLight), never a GPU structure.\")\r\n AddLight(lightManager, position, radiusModifier, agentIndex, _parentTransform)\r\n {\r\n vec4.copy(LIGHT_COLOR, this.lightColor);\r\n if (this.ambientFlareNoiseAmplitude !== 0)\r\n {\r\n const time = Date.now() / 1000 + agentIndex * 0.01;\r\n const noise = carbonPerlin1D(time * this.ambientFlareNoiseSpeed, 2, 2, this.ambientFlareNoiseOctaves);\r\n vec4.scale(LIGHT_COLOR, LIGHT_COLOR, ((noise + 1) / 2) * this.ambientFlareNoiseAmplitude);\r\n }\r\n\r\n lightManager?.AddPointLight(position, radiusModifier * this.lightRadius, LIGHT_COLOR);\r\n }\r\n\r\n /** Carbon method Initialize (cpp:119-147) - flare quad setup and the\r\n * booster instanced vertex declaration; renderer-owned in JS. */\r\n @carbon.method\r\n @impl.noop\r\n Initialize()\r\n {\r\n return true;\r\n }\r\n\r\n /** Carbon method AddFlare (cpp:447-515) - fills the GPU flare quad lists. */\r\n @carbon.method\r\n @impl.notImplemented\r\n AddFlare(..._args)\r\n {\r\n throw new Error(\"BehaviorGroupBooster.AddFlare is not implemented in CarbonEngineJS (GPU flare-quad fill).\");\r\n }\r\n\r\n /** Carbon method GetBatch (cpp:375-400) - builds the instanced render batch. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetBatch(..._args)\r\n {\r\n throw new Error(\"BehaviorGroupBooster.GetBatch is not implemented in CarbonEngineJS (render-batch construction).\");\r\n }\r\n\r\n /** Carbon method CreateBuffer (cpp:351-357) - procedural GPU vertex buffer. */\r\n @carbon.method\r\n @impl.noop\r\n CreateBuffer()\r\n {\r\n }\r\n\r\n /** Carbon method RegisterWithQuadRenderer (cpp:402-415) - quad renderer\r\n * effect registration seam. */\r\n @carbon.method\r\n @impl.noop\r\n RegisterWithQuadRenderer(_quadRenderer)\r\n {\r\n }\r\n\r\n /** Carbon method AddQuadsToQuadRenderer (cpp:417-433) - quad renderer\r\n * submission seam. */\r\n @carbon.method\r\n @impl.noop\r\n AddQuadsToQuadRenderer(_frustum, _quadRenderer)\r\n {\r\n }\r\n\r\n // Builds the hardcoded volumetric drone booster effect (Carbon\r\n // CreateBoosterEffect + SetupBoosterEffect, cpp:284-336).\r\n /**\r\n * Builds and configures the drone booster effect, including its noise, colour and texture parameters.\r\n */\r\n static #CreateBoosterEffect(lodOption)\r\n {\r\n const effect = new Tr2Effect();\r\n effect.StartUpdate();\r\n\r\n effect.SetEffectPathName(\"res:/Graphics/Effect/Managed/Space/Booster/DroneBoosterVolumetric.fx\");\r\n effect.SetOption(\"BOOSTER_LOD\", lodOption);\r\n\r\n effect.AddParameterFloat(\"NoiseSpeed0\", 6);\r\n effect.AddParameterVector4(\"NoiseAmplitudeStart0\", vec4.fromValues(-0.05, -0.05, -0.05, -0.05));\r\n effect.AddParameterVector4(\"NoiseAmplitudeEnd0\", vec4.fromValues(0.1, 0.1, 0.1, 0.2));\r\n effect.AddParameterVector4(\"NoiseFrequency0\", vec4.fromValues(0.1, 0.1, 0, 0.1));\r\n effect.AddParameterColor(\"Color0\", vec4.fromValues(10, 13, 15, 0));\r\n effect.AddParameterFloat(\"NoiseSpeed1\", 6);\r\n effect.AddParameterVector4(\"NoiseAmplitudeStart1\", vec4.fromValues(-0.05, -0.05, -0.05, -0.05));\r\n effect.AddParameterVector4(\"NoiseAmplitudeEnd1\", vec4.fromValues(0.14, 0.7, 0.14, 0.14));\r\n effect.AddParameterColor(\"Color1\", vec4.fromValues(15, 13, 13, 0));\r\n\r\n // omitted warping, since these drones don't warp yet (Carbon comment);\r\n // NoiseFrequency1 is likewise absent in Carbon's setup.\r\n\r\n effect.AddParameterVector4(\"ShapeAtlasSize\", vec4.fromValues(256, 8, 0, 0));\r\n effect.AddParameterVector4(\"BoosterScale\", vec4.fromValues(1, 1, 1, 1));\r\n\r\n effect.AddResourceTexture2D(\"ShapeMap\", \"res:/dx9/model/booster/shape01.dds\");\r\n effect.AddResourceTexture2D(\"GradientMap0\", \"res:/dx9/model/booster/gradient01.dds\");\r\n effect.AddResourceTexture2D(\"GradientMap1\", \"res:/dx9/model/booster/gradient02.dds\");\r\n effect.AddResourceTexture2D(\"NoiseMap\", \"res:/Texture/Global/noise32cube_volume.dds\");\r\n\r\n effect.EndUpdate();\r\n return effect;\r\n }\r\n\r\n // Builds the shared flare quad effect (Carbon CreateFlareEffect, cpp:338-349).\r\n /**\r\n * Builds the shared flare-quad effect used by both the ambient and halo flares.\r\n */\r\n static #CreateFlareEffect()\r\n {\r\n const effect = new Tr2Effect();\r\n effect.StartUpdate();\r\n\r\n effect.SetEffectPathName(\"res:/Graphics/Effect/Managed/Space/SpecialFX/FlareQuad.fx\");\r\n\r\n effect.EndUpdate();\r\n return effect;\r\n }\r\n\r\n}\r\n"],"names":["LIGHT_COLOR","vec4","create","_BehaviorGroupBooster","_identity","BehaviorGroupBooster","CjsModel","e","_init_display","_init_extra_display","_init_boosterOffset","_init_extra_boosterOffset","_init_atlasIndex","_init_extra_atlasIndex","_init_atlasIndex2","_init_extra_atlasIndex2","_init_boosterEffect","_init_extra_boosterEffect","_init_flareCount","_init_extra_flareCount","_init_displayAmbientFlare","_init_extra_displayAmbientFlare","_init_displayBoosters","_init_extra_displayBoosters","_init_displayHazeFlare","_init_extra_displayHazeFlare","_init_ambientFlareBrightness","_init_extra_ambientFlareBrightness","_init_haloFlareBrightness","_init_extra_haloFlareBrightness","_init_ambientFlareColor","_init_extra_ambientFlareColor","_init_haloFlareColor","_init_extra_haloFlareColor","_init_lightColor","_init_extra_lightColor","_init_ambientFlareEffect","_init_extra_ambientFlareEffect","_init_haloFlareEffect","_init_extra_haloFlareEffect","_init_ambientFlareNoiseAmplitude","_init_extra_ambientFlareNoiseAmplitude","_init_haloFlareNoiseAmplitude","_init_extra_haloFlareNoiseAmplitude","_init_ambientFlareNoiseOctaves","_init_extra_ambientFlareNoiseOctaves","_init_haloFlareNoiseOctaves","_init_extra_haloFlareNoiseOctaves","_init_ambientFlareNoiseSpeed","_init_extra_ambientFlareNoiseSpeed","_init_haloFlareNoiseSpeed","_init_extra_haloFlareNoiseSpeed","_init_ambientFlareOffset","_init_extra_ambientFlareOffset","_init_haloFlareOffset","_init_extra_haloFlareOffset","_init_lightRadius","_init_extra_lightRadius","_init_ambientFlareScale","_init_extra_ambientFlareScale","_init_haloFlareScale","_init_extra_haloFlareScale","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","boolean","vec3","uint32","model","read","readwrite","notify","float32","color","carbon","method","impl","adapted","reason","implemented","noop","notImplemented","constructor","args","display","boosterOffset","atlasIndex0","atlasIndex1","boosterEffect","flareCount","displayAmbientFlare","displayBoosters","displayHazeFlare","ambientFlareBrightness","haloFlareBrightness","ambientFlareColor","fromValues","haloFlareColor","lightColor","ambientFlareEffect","haloFlareEffect","ambientFlareNoiseAmplitude","haloFlareNoiseAmplitude","ambientFlareNoiseOctaves","haloFlareNoiseOctaves","ambientFlareNoiseSpeed","haloFlareNoiseSpeed","ambientFlareOffset","haloFlareOffset","lightRadius","ambientFlareScale","haloFlareScale","InitializeEffects","GetDisplay","GetLightSize","GetOffset","GetAtlasIndex0","GetAtlasIndex1","GetEffect","RebuildFlareBuffer","count","Math","max","Number","AddLight","lightManager","position","radiusModifier","agentIndex","_parentTransform","copy","time","Date","now","noise","carbonPerlin1D","scale","AddPointLight","Initialize","AddFlare","_args","Error","GetBatch","CreateBuffer","RegisterWithQuadRenderer","_quadRenderer","AddQuadsToQuadRenderer","_frustum","#CreateBoosterEffect","lodOption","effect","Tr2Effect","StartUpdate","SetEffectPathName","SetOption","AddParameterFloat","AddParameterVector4","AddParameterColor","AddResourceTexture2D","EndUpdate","#CreateFlareEffect"],"mappings":"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"}
1
+ {"version":3,"file":"BehaviorGroupBooster.js","sources":["../../../../../../src/trinity/eve/child/behaviors/BehaviorGroupBooster.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/BehaviorGroupBooster.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/BehaviorGroupBooster.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { carbonPerlin1D } from \"#math/noise\";\r\nimport { Tr2Effect } from \"../../../shader/Tr2Effect.js\";\r\n\r\n// Module scratch for the light registration path.\r\nconst LIGHT_COLOR = vec4.create();\r\n\r\n/** A drone-group component that builds and drives the group's shared booster and ambient or halo flare effects and contributes their point light to the scene. */\r\n@type.define({ className: \"BehaviorGroupBooster\", family: \"eve/child/behaviors\" })\r\nexport class BehaviorGroupBooster extends CjsModel\r\n{\r\n\r\n /** m_display (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n display = true;\r\n\r\n /** m_boosterOffset (Vector3) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.vec3\r\n boosterOffset = vec3.create();\r\n\r\n /** m_atlasIndex0 (uint32_t) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.uint32\r\n atlasIndex0 = 0;\r\n\r\n /** m_atlasIndex1 (uint32_t) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.uint32\r\n atlasIndex1 = 0;\r\n\r\n /** m_boosterEffect (Tr2EffectPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"Tr2Effect\")\r\n boosterEffect = null;\r\n\r\n /** m_flareCount (unsigned int) [READ] */\r\n @edit.read\r\n @type.uint32\r\n flareCount = 0;\r\n\r\n /** m_displayAmbientFlare (bool) [READWRITE] */\r\n @edit.readwrite\r\n @type.boolean\r\n displayAmbientFlare = true;\r\n\r\n /** m_displayBoosters (bool) [READWRITE] */\r\n @edit.readwrite\r\n @type.boolean\r\n displayBoosters = true;\r\n\r\n /** m_displayHazeFlare (bool) [READWRITE] */\r\n @edit.readwrite\r\n @type.boolean\r\n displayHazeFlare = true;\r\n\r\n /** m_ambientFlareBrightness (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n ambientFlareBrightness = 0;\r\n\r\n /** m_haloFlareBrightness (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n haloFlareBrightness = 0;\r\n\r\n /** m_ambientFlareColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.color\r\n ambientFlareColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n /** m_haloFlareColor (Color) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.color\r\n haloFlareColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n /** m_lightColor (Color) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.color\r\n lightColor = vec4.fromValues(1, 1, 1, 1);\r\n\r\n /** m_ambientFlareEffect (Tr2EffectPtr) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.model(\"Tr2Effect\")\r\n ambientFlareEffect = null;\r\n\r\n /** m_haloFlareEffect (Tr2EffectPtr) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.model(\"Tr2Effect\")\r\n haloFlareEffect = null;\r\n\r\n /** m_ambientFlareNoiseAmplitude (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n ambientFlareNoiseAmplitude = 0.2;\r\n\r\n /** m_haloFlareNoiseAmplitude (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n haloFlareNoiseAmplitude = 0.2;\r\n\r\n /** m_ambientFlareNoiseOctaves (uint32_t) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.uint32\r\n ambientFlareNoiseOctaves = 1;\r\n\r\n /** m_haloFlareNoiseOctaves (uint32_t) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.uint32\r\n haloFlareNoiseOctaves = 1;\r\n\r\n /** m_ambientFlareNoiseSpeed (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n ambientFlareNoiseSpeed = 1;\r\n\r\n /** m_haloFlareNoiseSpeed (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n haloFlareNoiseSpeed = 1;\r\n\r\n /** m_ambientFlareOffset (Vector3) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.vec3\r\n ambientFlareOffset = vec3.create();\r\n\r\n /** m_haloFlareOffset (Vector3) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.vec3\r\n haloFlareOffset = vec3.create();\r\n\r\n /** m_lightRadius (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n lightRadius = 3.5;\r\n\r\n /** m_ambientFlareScale (Vector3) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.vec3\r\n ambientFlareScale = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_haloFlareScale (Vector3) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.vec3\r\n haloFlareScale = vec3.fromValues(1, 1, 1);\r\n\r\n /**\r\n * Creates the hardcoded booster and flare effects when absent (Carbon\r\n * InitializeEffects, cpp:149-166). Carbon also registers the flare effects\r\n * with the Tr2QuadRenderer singleton - a quad-renderer/GPU seam that the\r\n * JS port omits.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Effect graph construction is ported; Tr2QuadRenderer::Instance() flare registration and the quad buffers are renderer-owned seams.\")\r\n InitializeEffects()\r\n {\r\n if (this.boosterEffect === null)\r\n {\r\n this.boosterEffect = BehaviorGroupBooster.#CreateBoosterEffect(\"BOOSTER_LOD_HIGH\");\r\n }\r\n if (this.ambientFlareEffect === null)\r\n {\r\n this.ambientFlareEffect = BehaviorGroupBooster.#CreateFlareEffect();\r\n }\r\n if (this.haloFlareEffect === null)\r\n {\r\n this.haloFlareEffect = BehaviorGroupBooster.#CreateFlareEffect();\r\n }\r\n }\r\n\r\n /** Carbon BehaviorGroupBooster::GetDisplay (cpp:254-257). */\r\n @carbon.method\r\n @impl.implemented\r\n GetDisplay()\r\n {\r\n return this.display;\r\n }\r\n\r\n /** Carbon BehaviorGroupBooster::GetLightSize (cpp:259-266). */\r\n @carbon.method\r\n @impl.implemented\r\n GetLightSize()\r\n {\r\n if (this.display)\r\n {\r\n return this.lightRadius;\r\n }\r\n return 0;\r\n }\r\n\r\n /** Carbon BehaviorGroupBooster::GetOffset (cpp:268-271). */\r\n @carbon.method\r\n @impl.implemented\r\n GetOffset()\r\n {\r\n return this.boosterOffset;\r\n }\r\n\r\n /** Carbon BehaviorGroupBooster::GetAtlasIndex0 (cpp:273-276). */\r\n @carbon.method\r\n @impl.implemented\r\n GetAtlasIndex0()\r\n {\r\n return this.atlasIndex0;\r\n }\r\n\r\n /** Carbon BehaviorGroupBooster::GetAtlasIndex1 (cpp:278-281). */\r\n @carbon.method\r\n @impl.implemented\r\n GetAtlasIndex1()\r\n {\r\n return this.atlasIndex1;\r\n }\r\n\r\n /** Carbon BehaviorGroupBooster::GetEffect (cpp:365-368). */\r\n @carbon.method\r\n @impl.implemented\r\n GetEffect()\r\n {\r\n return this.boosterEffect;\r\n }\r\n\r\n /**\r\n * Tracks the flare instance count (Carbon RebuildFlareBuffer, cpp:359-363).\r\n * The Quad lists Carbon resizes alongside it are GPU quad packing, kept\r\n * with the quad-renderer seam.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The flare Quad lists are GPU quad packing owned by the quad-renderer seam; only the CPU count is tracked.\")\r\n RebuildFlareBuffer(count)\r\n {\r\n this.flareCount = Math.max(0, Number(count) | 0);\r\n }\r\n\r\n /**\r\n * Registers one booster point light with the duck-typed light manager\r\n * (Carbon AddLight, cpp:435-445). Carbon ignores the parentTransform\r\n * parameter; the JS port keeps the signature.\r\n * @param {Object} lightManager\r\n * @param {Float32Array} position - light position (xyz read)\r\n * @param {Number} radiusModifier\r\n * @param {Number} agentIndex - phase-offsets the noise\r\n * @param {Float32Array} _parentTransform - unused (as Carbon)\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's frame clock maps to Date.now seconds for the noise phase; the light registers through the duck-typed manager (AddPointLight), never a GPU structure.\")\r\n AddLight(lightManager, position, radiusModifier, agentIndex, _parentTransform)\r\n {\r\n vec4.copy(LIGHT_COLOR, this.lightColor);\r\n if (this.ambientFlareNoiseAmplitude !== 0)\r\n {\r\n const time = Date.now() / 1000 + agentIndex * 0.01;\r\n const noise = carbonPerlin1D(time * this.ambientFlareNoiseSpeed, 2, 2, this.ambientFlareNoiseOctaves);\r\n vec4.scale(LIGHT_COLOR, LIGHT_COLOR, ((noise + 1) / 2) * this.ambientFlareNoiseAmplitude);\r\n }\r\n\r\n lightManager?.AddPointLight(position, radiusModifier * this.lightRadius, LIGHT_COLOR);\r\n }\r\n\r\n /** Carbon method Initialize (cpp:119-147) - flare quad setup and the\r\n * booster instanced vertex declaration; renderer-owned in JS. */\r\n @carbon.method\r\n @impl.noop\r\n Initialize()\r\n {\r\n return true;\r\n }\r\n\r\n /** Carbon method AddFlare (cpp:447-515) - fills the GPU flare quad lists. */\r\n @carbon.method\r\n @impl.notImplemented\r\n AddFlare(..._args)\r\n {\r\n throw new Error(\"BehaviorGroupBooster.AddFlare is not implemented in CarbonEngineJS (GPU flare-quad fill).\");\r\n }\r\n\r\n /** Carbon method GetBatch (cpp:375-400) - builds the instanced render batch. */\r\n @carbon.method\r\n @impl.notImplemented\r\n GetBatch(..._args)\r\n {\r\n throw new Error(\"BehaviorGroupBooster.GetBatch is not implemented in CarbonEngineJS (render-batch construction).\");\r\n }\r\n\r\n /** Carbon method CreateBuffer (cpp:351-357) - procedural GPU vertex buffer. */\r\n @carbon.method\r\n @impl.noop\r\n CreateBuffer()\r\n {\r\n }\r\n\r\n /** Carbon method RegisterWithQuadRenderer (cpp:402-415) - quad renderer\r\n * effect registration seam. */\r\n @carbon.method\r\n @impl.noop\r\n RegisterWithQuadRenderer(_quadRenderer)\r\n {\r\n }\r\n\r\n /** Carbon method AddQuadsToQuadRenderer (cpp:417-433) - quad renderer\r\n * submission seam. */\r\n @carbon.method\r\n @impl.noop\r\n AddQuadsToQuadRenderer(_frustum, _quadRenderer)\r\n {\r\n }\r\n\r\n // Builds the hardcoded volumetric drone booster effect (Carbon\r\n // CreateBoosterEffect + SetupBoosterEffect, cpp:284-336).\r\n /**\r\n * Builds and configures the drone booster effect, including its noise, colour and texture parameters.\r\n */\r\n static #CreateBoosterEffect(lodOption)\r\n {\r\n const effect = new Tr2Effect();\r\n effect.StartUpdate();\r\n\r\n effect.SetEffectPathName(\"res:/Graphics/Effect/Managed/Space/Booster/DroneBoosterVolumetric.fx\");\r\n effect.SetOption(\"BOOSTER_LOD\", lodOption);\r\n\r\n effect.AddParameterFloat(\"NoiseSpeed0\", 6);\r\n effect.AddParameterVector4(\"NoiseAmplitudeStart0\", vec4.fromValues(-0.05, -0.05, -0.05, -0.05));\r\n effect.AddParameterVector4(\"NoiseAmplitudeEnd0\", vec4.fromValues(0.1, 0.1, 0.1, 0.2));\r\n effect.AddParameterVector4(\"NoiseFrequency0\", vec4.fromValues(0.1, 0.1, 0, 0.1));\r\n effect.AddParameterColor(\"Color0\", vec4.fromValues(10, 13, 15, 0));\r\n effect.AddParameterFloat(\"NoiseSpeed1\", 6);\r\n effect.AddParameterVector4(\"NoiseAmplitudeStart1\", vec4.fromValues(-0.05, -0.05, -0.05, -0.05));\r\n effect.AddParameterVector4(\"NoiseAmplitudeEnd1\", vec4.fromValues(0.14, 0.7, 0.14, 0.14));\r\n effect.AddParameterColor(\"Color1\", vec4.fromValues(15, 13, 13, 0));\r\n\r\n // omitted warping, since these drones don't warp yet (Carbon comment);\r\n // NoiseFrequency1 is likewise absent in Carbon's setup.\r\n\r\n effect.AddParameterVector4(\"ShapeAtlasSize\", vec4.fromValues(256, 8, 0, 0));\r\n effect.AddParameterVector4(\"BoosterScale\", vec4.fromValues(1, 1, 1, 1));\r\n\r\n effect.AddResourceTexture2D(\"ShapeMap\", \"res:/dx9/model/booster/shape01.dds\");\r\n effect.AddResourceTexture2D(\"GradientMap0\", \"res:/dx9/model/booster/gradient01.dds\");\r\n effect.AddResourceTexture2D(\"GradientMap1\", \"res:/dx9/model/booster/gradient02.dds\");\r\n effect.AddResourceTexture2D(\"NoiseMap\", \"res:/Texture/Global/noise32cube_volume.dds\");\r\n\r\n effect.EndUpdate();\r\n return effect;\r\n }\r\n\r\n // Builds the shared flare quad effect (Carbon CreateFlareEffect, cpp:338-349).\r\n /**\r\n * Builds the shared flare-quad effect used by both the ambient and halo flares.\r\n */\r\n static #CreateFlareEffect()\r\n {\r\n const effect = new Tr2Effect();\r\n effect.StartUpdate();\r\n\r\n effect.SetEffectPathName(\"res:/Graphics/Effect/Managed/Space/SpecialFX/FlareQuad.fx\");\r\n\r\n effect.EndUpdate();\r\n return effect;\r\n }\r\n\r\n}\r\n"],"names":["LIGHT_COLOR","vec4","create","_BehaviorGroupBooster","_identity","BehaviorGroupBooster","CjsModel","e","_init_display","_init_extra_display","_init_boosterOffset","_init_extra_boosterOffset","_init_atlasIndex","_init_extra_atlasIndex","_init_atlasIndex2","_init_extra_atlasIndex2","_init_boosterEffect","_init_extra_boosterEffect","_init_flareCount","_init_extra_flareCount","_init_displayAmbientFlare","_init_extra_displayAmbientFlare","_init_displayBoosters","_init_extra_displayBoosters","_init_displayHazeFlare","_init_extra_displayHazeFlare","_init_ambientFlareBrightness","_init_extra_ambientFlareBrightness","_init_haloFlareBrightness","_init_extra_haloFlareBrightness","_init_ambientFlareColor","_init_extra_ambientFlareColor","_init_haloFlareColor","_init_extra_haloFlareColor","_init_lightColor","_init_extra_lightColor","_init_ambientFlareEffect","_init_extra_ambientFlareEffect","_init_haloFlareEffect","_init_extra_haloFlareEffect","_init_ambientFlareNoiseAmplitude","_init_extra_ambientFlareNoiseAmplitude","_init_haloFlareNoiseAmplitude","_init_extra_haloFlareNoiseAmplitude","_init_ambientFlareNoiseOctaves","_init_extra_ambientFlareNoiseOctaves","_init_haloFlareNoiseOctaves","_init_extra_haloFlareNoiseOctaves","_init_ambientFlareNoiseSpeed","_init_extra_ambientFlareNoiseSpeed","_init_haloFlareNoiseSpeed","_init_extra_haloFlareNoiseSpeed","_init_ambientFlareOffset","_init_extra_ambientFlareOffset","_init_haloFlareOffset","_init_extra_haloFlareOffset","_init_lightRadius","_init_extra_lightRadius","_init_ambientFlareScale","_init_extra_ambientFlareScale","_init_haloFlareScale","_init_extra_haloFlareScale","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","persist","boolean","vec3","uint32","model","read","readwrite","notify","float32","color","carbon","method","impl","adapted","reason","implemented","noop","notImplemented","constructor","args","display","boosterOffset","atlasIndex0","atlasIndex1","boosterEffect","flareCount","displayAmbientFlare","displayBoosters","displayHazeFlare","ambientFlareBrightness","haloFlareBrightness","ambientFlareColor","fromValues","haloFlareColor","lightColor","ambientFlareEffect","haloFlareEffect","ambientFlareNoiseAmplitude","haloFlareNoiseAmplitude","ambientFlareNoiseOctaves","haloFlareNoiseOctaves","ambientFlareNoiseSpeed","haloFlareNoiseSpeed","ambientFlareOffset","haloFlareOffset","lightRadius","ambientFlareScale","haloFlareScale","InitializeEffects","GetDisplay","GetLightSize","GetOffset","GetAtlasIndex0","GetAtlasIndex1","GetEffect","RebuildFlareBuffer","count","Math","max","Number","AddLight","lightManager","position","radiusModifier","agentIndex","_parentTransform","copy","time","Date","now","noise","carbonPerlin1D","scale","AddPointLight","Initialize","AddFlare","_args","Error","GetBatch","CreateBuffer","RegisterWithQuadRenderer","_quadRenderer","AddQuadsToQuadRenderer","_frustum","#CreateBoosterEffect","lodOption","effect","Tr2Effect","StartUpdate","SetEffectPathName","SetOption","AddParameterFloat","AddParameterVector4","AddParameterColor","AddResourceTexture2D","EndUpdate","#CreateFlareEffect"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { io, type, carbon, impl } from '#schema';
2
+ import { edit, type, carbon, impl } from '#schema';
3
3
  import { CjsModel } from '#model';
4
4
  import { vec3 } from '#math/vec3';
5
5
  import { ProcessPriority } from './enums.js';
@@ -24,7 +24,7 @@ new class extends _identity {
24
24
  } = _applyDecs2311(this, [type.define({
25
25
  className: "CollisionAvoidance",
26
26
  family: "eve/child/behaviors"
27
- })], [[[io, io.notify, io, io.persist, type, type.int32, void 0, type.enum("ProcessPriority")], 16, "behaviorPriority"], [[io, io.persist, void 0, type.list("IEveVolume")], 16, "exclusionVolumes"], [[io, io.persist, type, type.float32], 16, "avoidanceScalar"], [[io, io.persist, type, type.boolean], 16, "enabled"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetProcessPriority"], [[carbon, carbon.method, impl, impl.implemented], 18, "CalculateBehavior"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Tr2DebugRendererOptions is represented by an injected Set-like option bag.")], 18, "GetDebugOptions"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("ITr2DebugRenderer2 is an injected engine-owned capability.")], 18, "RenderDebugInfo"]], 0, void 0, CjsModel));
27
+ })], [[[edit, edit.notify, edit, edit.persist, type, type.int32, void 0, type.enum("ProcessPriority")], 16, "behaviorPriority"], [[edit, edit.persist, void 0, type.list("IEveVolume")], 16, "exclusionVolumes"], [[edit, edit.persist, type, type.float32], 16, "avoidanceScalar"], [[edit, edit.persist, type, type.boolean], 16, "enabled"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetProcessPriority"], [[carbon, carbon.method, impl, impl.implemented], 18, "CalculateBehavior"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Tr2DebugRendererOptions is represented by an injected Set-like option bag.")], 18, "GetDebugOptions"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("ITr2DebugRenderer2 is an injected engine-owned capability.")], 18, "RenderDebugInfo"]], 0, void 0, CjsModel));
28
28
  }
29
29
  /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */
30
30
  behaviorPriority = (_initProto(this), _init_behaviorPriority(this, 0));
@@ -1 +1 @@
1
- {"version":3,"file":"CollisionAvoidance.js","sources":["../../../../../../src/trinity/eve/child/behaviors/CollisionAvoidance.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/CollisionAvoidance.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/CollisionAvoidance.cpp\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { ProcessPriority } from \"./enums.js\";\r\n\r\n// Module scratch for the per-agent loop (behavior updates run sequentially).\r\nconst FROM_TARGET = vec3.create();\r\nconst NO_FORCES = [];\r\n\r\n/**\r\n * Drone behavior that pushes agents away from the centre of every exclusion\r\n * volume they intersect, weighted by the volume's intensity at the agent.\r\n */\r\n@type.define({ className: \"CollisionAvoidance\", family: \"eve/child/behaviors\" })\r\nexport class CollisionAvoidance extends CjsModel\r\n{\r\n\r\n static ProcessPriority = ProcessPriority;\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n @type.enum(\"ProcessPriority\")\r\n behaviorPriority = 0;\r\n\r\n /** m_exclusionVolumes (PIEveVolumeVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"IEveVolume\")\r\n exclusionVolumes = [];\r\n\r\n /** m_collisionAvoidanceScalar (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n avoidanceScalar = 12;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n // Per-frame cache of the exclusion volume centres, prefetched so the\r\n // per-agent loop stays allocation-free.\r\n #volumeCenters = [];\r\n\r\n /** Carbon CollisionAvoidance::GetProcessPriority (cpp:18-21). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /**\r\n * Pushes each agent out of every exclusion volume it intersects,\r\n * intensity-weighted away from the volume centre (Carbon CalculateBehavior,\r\n * cpp:23-49). Carbon returns an always-empty force vector here.\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array|null} _scratchData - unused (no scratch)\r\n * @param {Number} _deltaTime\r\n * @param {Object} _group - owning BehaviorGroup\r\n * @param {Object} _system - owning EveChildBehaviorSystem\r\n * @param {Array} _dronesInSearchRadius - unused\r\n * @returns {Array} empty (as Carbon)\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n CalculateBehavior(agents, _scratchData, _deltaTime, _group, _system, _dronesInSearchRadius)\r\n {\r\n if (!this.enabled)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n const centers = this.#volumeCenters;\r\n centers.length = 0;\n for (const volume of this.exclusionVolumes)\n {\n centers.push(volume.GetBoundingSphere().center);\n }\r\n\r\n for (const agent of agents)\r\n {\r\n for (let i = 0; i < this.exclusionVolumes.length; i++)\r\n {\r\n const intensity = Number(this.exclusionVolumes[i].GetIntensity(agent.position));\n // we only want to continue if we are inside the outer radius\r\n if (intensity > 0 && centers[i])\r\n {\r\n // get the direction AWAY from the center of the exclusion volume\r\n vec3.subtract(FROM_TARGET, agent.position, centers[i]);\r\n vec3.scaleAndAdd(agent.acceleration, agent.acceleration, FROM_TARGET, intensity * this.avoidanceScalar);\r\n }\r\n }\r\n }\r\n return NO_FORCES;\r\n }\r\n\r\n /** Adds Carbon's exclusion-volume debug option. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2DebugRendererOptions is represented by an injected Set-like option bag.\")\r\n GetDebugOptions(options = new Set())\r\n {\r\n if (options?.add)\r\n {\r\n options.add(\"ExclusionVolumes\");\r\n }\r\n else\r\n {\r\n options?.insert?.(\"ExclusionVolumes\");\r\n }\r\n return options;\r\n }\r\n\r\n /** Delegates exclusion-volume debug geometry when its option is enabled. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"ITr2DebugRenderer2 is an injected engine-owned capability.\")\r\n RenderDebugInfo(renderer, _agents, parentWorldLocation)\r\n {\r\n if (!renderer?.HasOption?.(this, \"ExclusionVolumes\"))\r\n {\r\n return;\r\n }\n for (const volume of this.exclusionVolumes)\n {\n volume.RenderDebugInfo(renderer, parentWorldLocation);\n }\n }\r\n\r\n}\r\n"],"names":["FROM_TARGET","vec3","create","NO_FORCES","_CollisionAvoidance","_identity","CollisionAvoidance","CjsModel","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_exclusionVolumes","_init_extra_exclusionVolumes","_init_avoidanceScalar","_init_extra_avoidanceScalar","_init_enabled","_init_extra_enabled","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","enum","list","float32","boolean","carbon","method","impl","implemented","adapted","reason","behaviorPriority","exclusionVolumes","avoidanceScalar","enabled","GetProcessPriority","CalculateBehavior","agents","_scratchData","_deltaTime","_group","_system","_dronesInSearchRadius","centers","length","volume","push","GetBoundingSphere","center","agent","i","intensity","Number","GetIntensity","position","subtract","scaleAndAdd","acceleration","GetDebugOptions","options","Set","add","insert","RenderDebugInfo","renderer","_agents","parentWorldLocation","HasOption","ProcessPriority","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"CollisionAvoidance.js","sources":["../../../../../../src/trinity/eve/child/behaviors/CollisionAvoidance.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/CollisionAvoidance.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/CollisionAvoidance.cpp\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { ProcessPriority } from \"./enums.js\";\r\n\r\n// Module scratch for the per-agent loop (behavior updates run sequentially).\r\nconst FROM_TARGET = vec3.create();\r\nconst NO_FORCES = [];\r\n\r\n/**\r\n * Drone behavior that pushes agents away from the centre of every exclusion\r\n * volume they intersect, weighted by the volume's intensity at the agent.\r\n */\r\n@type.define({ className: \"CollisionAvoidance\", family: \"eve/child/behaviors\" })\r\nexport class CollisionAvoidance extends CjsModel\r\n{\r\n\r\n static ProcessPriority = ProcessPriority;\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @edit.notify\r\n @edit.persist\r\n @type.int32\r\n @type.enum(\"ProcessPriority\")\r\n behaviorPriority = 0;\r\n\r\n /** m_exclusionVolumes (PIEveVolumeVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"IEveVolume\")\r\n exclusionVolumes = [];\r\n\r\n /** m_collisionAvoidanceScalar (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n avoidanceScalar = 12;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n // Per-frame cache of the exclusion volume centres, prefetched so the\r\n // per-agent loop stays allocation-free.\r\n #volumeCenters = [];\r\n\r\n /** Carbon CollisionAvoidance::GetProcessPriority (cpp:18-21). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /**\r\n * Pushes each agent out of every exclusion volume it intersects,\r\n * intensity-weighted away from the volume centre (Carbon CalculateBehavior,\r\n * cpp:23-49). Carbon returns an always-empty force vector here.\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array|null} _scratchData - unused (no scratch)\r\n * @param {Number} _deltaTime\r\n * @param {Object} _group - owning BehaviorGroup\r\n * @param {Object} _system - owning EveChildBehaviorSystem\r\n * @param {Array} _dronesInSearchRadius - unused\r\n * @returns {Array} empty (as Carbon)\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n CalculateBehavior(agents, _scratchData, _deltaTime, _group, _system, _dronesInSearchRadius)\r\n {\r\n if (!this.enabled)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n const centers = this.#volumeCenters;\r\n centers.length = 0;\n for (const volume of this.exclusionVolumes)\n {\n centers.push(volume.GetBoundingSphere().center);\n }\r\n\r\n for (const agent of agents)\r\n {\r\n for (let i = 0; i < this.exclusionVolumes.length; i++)\r\n {\r\n const intensity = Number(this.exclusionVolumes[i].GetIntensity(agent.position));\n // we only want to continue if we are inside the outer radius\r\n if (intensity > 0 && centers[i])\r\n {\r\n // get the direction AWAY from the center of the exclusion volume\r\n vec3.subtract(FROM_TARGET, agent.position, centers[i]);\r\n vec3.scaleAndAdd(agent.acceleration, agent.acceleration, FROM_TARGET, intensity * this.avoidanceScalar);\r\n }\r\n }\r\n }\r\n return NO_FORCES;\r\n }\r\n\r\n /** Adds Carbon's exclusion-volume debug option. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2DebugRendererOptions is represented by an injected Set-like option bag.\")\r\n GetDebugOptions(options = new Set())\r\n {\r\n if (options?.add)\r\n {\r\n options.add(\"ExclusionVolumes\");\r\n }\r\n else\r\n {\r\n options?.insert?.(\"ExclusionVolumes\");\r\n }\r\n return options;\r\n }\r\n\r\n /** Delegates exclusion-volume debug geometry when its option is enabled. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"ITr2DebugRenderer2 is an injected engine-owned capability.\")\r\n RenderDebugInfo(renderer, _agents, parentWorldLocation)\r\n {\r\n if (!renderer?.HasOption?.(this, \"ExclusionVolumes\"))\r\n {\r\n return;\r\n }\n for (const volume of this.exclusionVolumes)\n {\n volume.RenderDebugInfo(renderer, parentWorldLocation);\n }\n }\r\n\r\n}\r\n"],"names":["FROM_TARGET","vec3","create","NO_FORCES","_CollisionAvoidance","_identity","CollisionAvoidance","CjsModel","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_exclusionVolumes","_init_extra_exclusionVolumes","_init_avoidanceScalar","_init_extra_avoidanceScalar","_init_enabled","_init_extra_enabled","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","notify","persist","int32","enum","list","float32","boolean","carbon","method","impl","implemented","adapted","reason","behaviorPriority","exclusionVolumes","avoidanceScalar","enabled","GetProcessPriority","CalculateBehavior","agents","_scratchData","_deltaTime","_group","_system","_dronesInSearchRadius","centers","length","volume","push","GetBoundingSphere","center","agent","i","intensity","Number","GetIntensity","position","subtract","scaleAndAdd","acceleration","GetDebugOptions","options","Set","add","insert","RenderDebugInfo","renderer","_agents","parentWorldLocation","HasOption","ProcessPriority","constructor"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { applyDecs2311 as _applyDecs2311 } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { io, type, carbon, impl } from '#schema';
2
+ import { edit, type, carbon, impl } from '#schema';
3
3
  import { CjsModel } from '#model';
4
4
  import { vec3 } from '#math/vec3';
5
5
 
@@ -21,7 +21,7 @@ class DroneAvoidance extends CjsModel {
21
21
  } = _applyDecs2311(this, [type.define({
22
22
  className: "DroneAvoidance",
23
23
  family: "eve/child/behaviors"
24
- })], [[[io, io.notify, io, io.persist, type, type.int32], 16, "behaviorPriority"], [[io, io.persist, type, type.float32], 16, "behaviorWeight"], [[io, io.persist, type, type.float32], 16, "visionRange"], [[io, io.persist, type, type.boolean], 16, "enabled"], [[io, io.persist, type, type.int32], 16, "framesBetweenUpdates"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetProcessPriority"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Debug force pairs are only collected when group.collectForces is set, keeping the per-agent loop allocation-free.")], 18, "CalculateBehavior"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBehaviorSearchRadius"]], 0, void 0, CjsModel));
24
+ })], [[[edit, edit.notify, edit, edit.persist, type, type.int32], 16, "behaviorPriority"], [[edit, edit.persist, type, type.float32], 16, "behaviorWeight"], [[edit, edit.persist, type, type.float32], 16, "visionRange"], [[edit, edit.persist, type, type.boolean], 16, "enabled"], [[edit, edit.persist, type, type.int32], 16, "framesBetweenUpdates"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetProcessPriority"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Debug force pairs are only collected when group.collectForces is set, keeping the per-agent loop allocation-free.")], 18, "CalculateBehavior"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBehaviorSearchRadius"]], 0, void 0, CjsModel));
25
25
  }
26
26
  /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */
27
27
  behaviorPriority = (_initProto(this), _init_behaviorPriority(this, 0));
@@ -1 +1 @@
1
- {"version":3,"file":"DroneAvoidance.js","sources":["../../../../../../src/trinity/eve/child/behaviors/DroneAvoidance.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/DroneAvoidance.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/DroneAvoidance.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { vec3 } from \"#math/vec3\";\r\n\r\n// Module scratch for the per-agent loop (behavior updates run sequentially).\r\nconst AVOIDANCE_DIRECTION = vec3.create();\r\nconst VELOCITY_NORMALIZED = vec3.create();\r\nconst FORCE_OFFSET = vec3.create();\r\nconst NO_FORCES = [];\r\n\r\n/** A steering behaviour that pushes each drone away from its nearby neighbours, blended with its current velocity direction, to keep agents from clustering or overlapping. */\r\n@type.define({ className: \"DroneAvoidance\", family: \"eve/child/behaviors\" })\r\nexport class DroneAvoidance extends CjsModel\r\n{\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n behaviorPriority = 0;\r\n\r\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n behaviorWeight = 300;\r\n\r\n /** m_visionRange (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n visionRange = 5;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n /** m_framesBetweenUpdates (int32_t) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.int32\r\n framesBetweenUpdates = 3;\r\n\r\n // Carbon m_frameCounter/m_lastPullForces runtime state.\r\n #frameCounter = 0;\r\n\r\n #lastPullForces = [];\r\n\r\n #returnForces = [];\r\n\r\n /** Carbon DroneAvoidance::GetProcessPriority (cpp:22-25). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /**\r\n * Pushes each agent away from close neighbours, blended with its current\r\n * velocity direction, on refresh frames; replays the cached forces in\r\n * between (Carbon CalculateBehavior, cpp:27-130).\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array|null} _scratchData - unused (no scratch)\r\n * @param {Number} _deltaTime\r\n * @param {Object} group - owning BehaviorGroup\r\n * @param {Object} _system - owning EveChildBehaviorSystem\r\n * @param {Array} dronesInSearchRadius - per-agent neighbour lists\r\n * @returns {Array} debug force pairs when group.collectForces is on\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Debug force pairs are only collected when group.collectForces is set, keeping the per-agent loop allocation-free.\")\r\n CalculateBehavior(agents, _scratchData, _deltaTime, group, _system, dronesInSearchRadius)\r\n {\r\n if (!this.enabled)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n const returnForces = this.#returnForces;\r\n returnForces.length = 0;\r\n\r\n if (this.#frameCounter === 0)\r\n {\r\n let c = 0;\r\n for (const agent of agents)\r\n {\r\n const pullForce = this.#PullForceAt(c);\r\n\r\n if (dronesInSearchRadius.length <= c)\r\n {\r\n vec3.set(pullForce, 0, 0, 0);\r\n c++;\r\n continue;\r\n }\r\n\r\n if (dronesInSearchRadius.length === 0)\r\n {\r\n vec3.set(pullForce, 0, 0, 0);\r\n this.#lastPullForces.length = c + 1;\r\n return returnForces;\r\n }\r\n\r\n const neighbours = dronesInSearchRadius[c];\r\n c++;\r\n\r\n if (neighbours.length === 0 || neighbours.length === 1)\r\n {\r\n vec3.set(pullForce, 0, 0, 0);\r\n continue;\r\n }\r\n\r\n vec3.set(AVOIDANCE_DIRECTION, 0, 0, 0);\r\n for (const other of neighbours)\r\n {\r\n if (other.id === agent.id)\r\n {\r\n continue;\r\n }\r\n\r\n AVOIDANCE_DIRECTION[0] += agent.position[0] - other.position[0];\r\n AVOIDANCE_DIRECTION[1] += agent.position[1] - other.position[1];\r\n AVOIDANCE_DIRECTION[2] += agent.position[2] - other.position[2];\r\n }\r\n\r\n if (vec3.squaredLength(AVOIDANCE_DIRECTION) === 0)\r\n {\r\n vec3.set(pullForce, 0, 0, 0);\r\n continue;\r\n }\r\n\r\n vec3.normalize(AVOIDANCE_DIRECTION, AVOIDANCE_DIRECTION);\r\n vec3.normalize(VELOCITY_NORMALIZED, agent.velocity);\r\n vec3.scale(pullForce, AVOIDANCE_DIRECTION, 0.5);\r\n vec3.scaleAndAdd(pullForce, pullForce, VELOCITY_NORMALIZED, 0.5);\r\n vec3.scale(pullForce, pullForce, this.behaviorWeight);\r\n\r\n if (vec3.squaredLength(pullForce) > 0)\r\n {\r\n vec3.add(agent.acceleration, agent.acceleration, pullForce);\r\n }\r\n else\r\n {\r\n vec3.set(pullForce, 0, 0, 0);\r\n }\r\n\r\n if (group.collectForces)\r\n {\r\n vec3.normalize(FORCE_OFFSET, pullForce);\r\n vec3.scale(FORCE_OFFSET, FORCE_OFFSET, group.GetBoundingSphereRadius());\r\n returnForces.push(vec3.add(vec3.create(), agent.position, FORCE_OFFSET));\r\n returnForces.push(vec3.clone(pullForce));\r\n }\r\n }\r\n this.#lastPullForces.length = c;\r\n }\r\n else\r\n {\r\n if (this.#lastPullForces.length === 0)\r\n {\r\n return returnForces;\r\n }\r\n\r\n let c = 0;\r\n for (const agent of agents)\r\n {\r\n if (c >= this.#lastPullForces.length)\r\n {\r\n break;\r\n }\r\n\r\n const pullForce = this.#lastPullForces[c];\r\n vec3.add(agent.acceleration, agent.acceleration, pullForce);\r\n\r\n if (group.collectForces && vec3.squaredLength(pullForce) > 0)\r\n {\r\n vec3.normalize(FORCE_OFFSET, pullForce);\r\n vec3.scale(FORCE_OFFSET, FORCE_OFFSET, group.GetBoundingSphereRadius());\r\n returnForces.push(vec3.add(vec3.create(), agent.position, FORCE_OFFSET));\r\n returnForces.push(vec3.clone(pullForce));\r\n }\r\n c++;\r\n }\r\n }\r\n\r\n return returnForces;\r\n }\r\n\r\n /** Carbon DroneAvoidance::GetBehaviorSearchRadius (cpp:132-144). */\r\n @carbon.method\r\n @impl.implemented\r\n GetBehaviorSearchRadius()\r\n {\r\n if (this.#frameCounter >= this.framesBetweenUpdates)\r\n {\r\n this.#frameCounter = 0;\r\n return this.visionRange;\r\n }\r\n this.#frameCounter++;\r\n return -1;\r\n }\r\n\r\n // Reuses (or grows) the cached pull-force slot for one agent index.\r\n /**\r\n * The cached pull-force vector for an agent index, created on first use.\r\n */\r\n #PullForceAt(index)\r\n {\r\n let force = this.#lastPullForces[index];\r\n if (!force)\r\n {\r\n force = vec3.create();\r\n this.#lastPullForces[index] = force;\r\n }\r\n return force;\r\n }\r\n\r\n}\r\n"],"names":["AVOIDANCE_DIRECTION","vec3","create","VELOCITY_NORMALIZED","FORCE_OFFSET","NO_FORCES","_DroneAvoidance","DroneAvoidance","CjsModel","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_behaviorWeight","_init_extra_behaviorWeight","_init_visionRange","_init_extra_visionRange","_init_enabled","_init_extra_enabled","_init_framesBetweenUpdates","_init_extra_framesBetweenUpdates","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","float32","boolean","carbon","method","impl","implemented","adapted","reason","behaviorPriority","behaviorWeight","visionRange","enabled","framesBetweenUpdates","GetProcessPriority","CalculateBehavior","agents","_scratchData","_deltaTime","group","_system","dronesInSearchRadius","returnForces","length","agent","pullForce","set","neighbours","other","id","position","squaredLength","normalize","velocity","scale","scaleAndAdd","add","acceleration","collectForces","GetBoundingSphereRadius","push","clone","GetBehaviorSearchRadius","#PullForceAt","index","force"],"mappings":"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"}
1
+ {"version":3,"file":"DroneAvoidance.js","sources":["../../../../../../src/trinity/eve/child/behaviors/DroneAvoidance.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/DroneAvoidance.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/DroneAvoidance.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { vec3 } from \"#math/vec3\";\r\n\r\n// Module scratch for the per-agent loop (behavior updates run sequentially).\r\nconst AVOIDANCE_DIRECTION = vec3.create();\r\nconst VELOCITY_NORMALIZED = vec3.create();\r\nconst FORCE_OFFSET = vec3.create();\r\nconst NO_FORCES = [];\r\n\r\n/** A steering behaviour that pushes each drone away from its nearby neighbours, blended with its current velocity direction, to keep agents from clustering or overlapping. */\r\n@type.define({ className: \"DroneAvoidance\", family: \"eve/child/behaviors\" })\r\nexport class DroneAvoidance extends CjsModel\r\n{\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @edit.notify\r\n @edit.persist\r\n @type.int32\r\n behaviorPriority = 0;\r\n\r\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n behaviorWeight = 300;\r\n\r\n /** m_visionRange (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n visionRange = 5;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n /** m_framesBetweenUpdates (int32_t) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.int32\r\n framesBetweenUpdates = 3;\r\n\r\n // Carbon m_frameCounter/m_lastPullForces runtime state.\r\n #frameCounter = 0;\r\n\r\n #lastPullForces = [];\r\n\r\n #returnForces = [];\r\n\r\n /** Carbon DroneAvoidance::GetProcessPriority (cpp:22-25). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /**\r\n * Pushes each agent away from close neighbours, blended with its current\r\n * velocity direction, on refresh frames; replays the cached forces in\r\n * between (Carbon CalculateBehavior, cpp:27-130).\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array|null} _scratchData - unused (no scratch)\r\n * @param {Number} _deltaTime\r\n * @param {Object} group - owning BehaviorGroup\r\n * @param {Object} _system - owning EveChildBehaviorSystem\r\n * @param {Array} dronesInSearchRadius - per-agent neighbour lists\r\n * @returns {Array} debug force pairs when group.collectForces is on\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Debug force pairs are only collected when group.collectForces is set, keeping the per-agent loop allocation-free.\")\r\n CalculateBehavior(agents, _scratchData, _deltaTime, group, _system, dronesInSearchRadius)\r\n {\r\n if (!this.enabled)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n const returnForces = this.#returnForces;\r\n returnForces.length = 0;\r\n\r\n if (this.#frameCounter === 0)\r\n {\r\n let c = 0;\r\n for (const agent of agents)\r\n {\r\n const pullForce = this.#PullForceAt(c);\r\n\r\n if (dronesInSearchRadius.length <= c)\r\n {\r\n vec3.set(pullForce, 0, 0, 0);\r\n c++;\r\n continue;\r\n }\r\n\r\n if (dronesInSearchRadius.length === 0)\r\n {\r\n vec3.set(pullForce, 0, 0, 0);\r\n this.#lastPullForces.length = c + 1;\r\n return returnForces;\r\n }\r\n\r\n const neighbours = dronesInSearchRadius[c];\r\n c++;\r\n\r\n if (neighbours.length === 0 || neighbours.length === 1)\r\n {\r\n vec3.set(pullForce, 0, 0, 0);\r\n continue;\r\n }\r\n\r\n vec3.set(AVOIDANCE_DIRECTION, 0, 0, 0);\r\n for (const other of neighbours)\r\n {\r\n if (other.id === agent.id)\r\n {\r\n continue;\r\n }\r\n\r\n AVOIDANCE_DIRECTION[0] += agent.position[0] - other.position[0];\r\n AVOIDANCE_DIRECTION[1] += agent.position[1] - other.position[1];\r\n AVOIDANCE_DIRECTION[2] += agent.position[2] - other.position[2];\r\n }\r\n\r\n if (vec3.squaredLength(AVOIDANCE_DIRECTION) === 0)\r\n {\r\n vec3.set(pullForce, 0, 0, 0);\r\n continue;\r\n }\r\n\r\n vec3.normalize(AVOIDANCE_DIRECTION, AVOIDANCE_DIRECTION);\r\n vec3.normalize(VELOCITY_NORMALIZED, agent.velocity);\r\n vec3.scale(pullForce, AVOIDANCE_DIRECTION, 0.5);\r\n vec3.scaleAndAdd(pullForce, pullForce, VELOCITY_NORMALIZED, 0.5);\r\n vec3.scale(pullForce, pullForce, this.behaviorWeight);\r\n\r\n if (vec3.squaredLength(pullForce) > 0)\r\n {\r\n vec3.add(agent.acceleration, agent.acceleration, pullForce);\r\n }\r\n else\r\n {\r\n vec3.set(pullForce, 0, 0, 0);\r\n }\r\n\r\n if (group.collectForces)\r\n {\r\n vec3.normalize(FORCE_OFFSET, pullForce);\r\n vec3.scale(FORCE_OFFSET, FORCE_OFFSET, group.GetBoundingSphereRadius());\r\n returnForces.push(vec3.add(vec3.create(), agent.position, FORCE_OFFSET));\r\n returnForces.push(vec3.clone(pullForce));\r\n }\r\n }\r\n this.#lastPullForces.length = c;\r\n }\r\n else\r\n {\r\n if (this.#lastPullForces.length === 0)\r\n {\r\n return returnForces;\r\n }\r\n\r\n let c = 0;\r\n for (const agent of agents)\r\n {\r\n if (c >= this.#lastPullForces.length)\r\n {\r\n break;\r\n }\r\n\r\n const pullForce = this.#lastPullForces[c];\r\n vec3.add(agent.acceleration, agent.acceleration, pullForce);\r\n\r\n if (group.collectForces && vec3.squaredLength(pullForce) > 0)\r\n {\r\n vec3.normalize(FORCE_OFFSET, pullForce);\r\n vec3.scale(FORCE_OFFSET, FORCE_OFFSET, group.GetBoundingSphereRadius());\r\n returnForces.push(vec3.add(vec3.create(), agent.position, FORCE_OFFSET));\r\n returnForces.push(vec3.clone(pullForce));\r\n }\r\n c++;\r\n }\r\n }\r\n\r\n return returnForces;\r\n }\r\n\r\n /** Carbon DroneAvoidance::GetBehaviorSearchRadius (cpp:132-144). */\r\n @carbon.method\r\n @impl.implemented\r\n GetBehaviorSearchRadius()\r\n {\r\n if (this.#frameCounter >= this.framesBetweenUpdates)\r\n {\r\n this.#frameCounter = 0;\r\n return this.visionRange;\r\n }\r\n this.#frameCounter++;\r\n return -1;\r\n }\r\n\r\n // Reuses (or grows) the cached pull-force slot for one agent index.\r\n /**\r\n * The cached pull-force vector for an agent index, created on first use.\r\n */\r\n #PullForceAt(index)\r\n {\r\n let force = this.#lastPullForces[index];\r\n if (!force)\r\n {\r\n force = vec3.create();\r\n this.#lastPullForces[index] = force;\r\n }\r\n return force;\r\n }\r\n\r\n}\r\n"],"names":["AVOIDANCE_DIRECTION","vec3","create","VELOCITY_NORMALIZED","FORCE_OFFSET","NO_FORCES","_DroneAvoidance","DroneAvoidance","CjsModel","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_behaviorWeight","_init_extra_behaviorWeight","_init_visionRange","_init_extra_visionRange","_init_enabled","_init_extra_enabled","_init_framesBetweenUpdates","_init_extra_framesBetweenUpdates","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","notify","persist","int32","float32","boolean","carbon","method","impl","implemented","adapted","reason","behaviorPriority","behaviorWeight","visionRange","enabled","framesBetweenUpdates","GetProcessPriority","CalculateBehavior","agents","_scratchData","_deltaTime","group","_system","dronesInSearchRadius","returnForces","length","agent","pullForce","set","neighbours","other","id","position","squaredLength","normalize","velocity","scale","scaleAndAdd","add","acceleration","collectForces","GetBoundingSphereRadius","push","clone","GetBehaviorSearchRadius","#PullForceAt","index","force"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { type, io, carbon, impl } from '#schema';
2
+ import { type, edit, carbon, impl } from '#schema';
3
3
  import { CjsModel } from '#model';
4
4
  import { vec3 } from '#math/vec3';
5
5
  import { TunnelGroupType } from './enums.js';
@@ -31,7 +31,7 @@ new class extends _identity {
31
31
  } = _applyDecs2311(this, [type.define({
32
32
  className: "FollowASpline",
33
33
  family: "eve/child/behaviors"
34
- })], [[type.list("SplineTunnel"), 0, "privateTunnels"], [[type, type.boolean], 16, "shouldReassignTunnelIDs"], [[io, io.notify, io, io.persist, type, type.int32], 16, "behaviorPriority"], [[io, io.persist, type, type.int32, void 0, type.enum("TunnelGroupType")], 16, "tunnelGroupType"], [[io, io.persist, void 0, type.list("SplineTunnelGroup")], 16, "splineTunnels"], [[io, io.persist, type, type.float32], 16, "smoothPullFactor"], [[io, io.persist, type, type.float32], 16, "behaviorWeight"], [[io, io.persist, type, type.boolean], 16, "enabled"], [[io, io.persist, type, type.float32], 16, "cornerSmoothener"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetProcessPriority"], [[carbon, carbon.method, impl, impl.implemented], 18, "OnModified"], [[carbon, carbon.method, impl, impl.implemented], 18, "OnListModified"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.")], 18, "GetScratchMemorySize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.")], 18, "InitializeScratch"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Debug force pairs are only collected when group.collectForces is set, keeping the per-agent loop allocation-free.")], 18, "CalculateBehavior"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateTunnelRegistry"], [[carbon, carbon.method, impl, impl.adapted], 18, "remapTunnels"]], 0, void 0, CjsModel));
34
+ })], [[type.list("SplineTunnel"), 0, "privateTunnels"], [[type, type.boolean], 16, "shouldReassignTunnelIDs"], [[edit, edit.notify, edit, edit.persist, type, type.int32], 16, "behaviorPriority"], [[edit, edit.persist, type, type.int32, void 0, type.enum("TunnelGroupType")], 16, "tunnelGroupType"], [[edit, edit.persist, void 0, type.list("SplineTunnelGroup")], 16, "splineTunnels"], [[edit, edit.persist, type, type.float32], 16, "smoothPullFactor"], [[edit, edit.persist, type, type.float32], 16, "behaviorWeight"], [[edit, edit.persist, type, type.boolean], 16, "enabled"], [[edit, edit.persist, type, type.float32], 16, "cornerSmoothener"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetProcessPriority"], [[carbon, carbon.method, impl, impl.implemented], 18, "OnModified"], [[carbon, carbon.method, impl, impl.implemented], 18, "OnListModified"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.")], 18, "GetScratchMemorySize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.")], 18, "InitializeScratch"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Debug force pairs are only collected when group.collectForces is set, keeping the per-agent loop allocation-free.")], 18, "CalculateBehavior"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateTunnelRegistry"], [[carbon, carbon.method, impl, impl.adapted], 18, "remapTunnels"]], 0, void 0, CjsModel));
35
35
  }
36
36
  /** Flattened CPU tunnel references used by the behavior system. */
37
37
  privateTunnels = (_initProto(this), _init_privateTunnels(this, []));
@@ -1 +1 @@
1
- {"version":3,"file":"FollowASpline.js","sources":["../../../../../../src/trinity/eve/child/behaviors/FollowASpline.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/FollowASpline.h\r\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/FollowASpline.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { TunnelGroupType } from \"./enums.js\";\r\nimport { BELIST_EVENTMASK, BELIST_INSERTED, BELIST_LOADFINISHED, BELIST_REMOVED } from \"../../../controllers/contracts.js\";\r\n\r\n// Module scratch for the per-agent loop (behavior updates run sequentially).\r\nconst DIST = vec3.create();\r\nconst TARGET_VECTOR = vec3.create();\r\nconst VECTOR_BETWEEN = vec3.create();\r\nconst VECTOR_PROJ = vec3.create();\r\nconst OFFSET = vec3.create();\r\nconst TARGET_NORMALIZED = vec3.create();\r\nconst BLEND_VECTOR = vec3.create();\r\nconst DESIRED_NORMALIZED = vec3.create();\r\nconst PULL_FORCE = vec3.create();\r\nconst FORCE_OFFSET = vec3.create();\r\nconst NO_FORCES = [];\r\n\r\n/** A steering behaviour that pulls unassigned drones into spline tunnel entrances and steers locked drones along their assigned tunnel's points toward the exit. */\r\n@type.define({ className: \"FollowASpline\", family: \"eve/child/behaviors\" })\r\nexport class FollowASpline extends CjsModel\r\n{\r\n\r\n /** Flattened CPU tunnel references used by the behavior system. */\r\n @type.list(\"SplineTunnel\")\r\n privateTunnels = [];\r\n\r\n @type.boolean\r\n shouldReassignTunnelIDs = true;\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n behaviorPriority = 0;\r\n\r\n /** m_tunnelGroupType (TunnelGroupType - enum TunnelGroupType) [READWRITE, PERSIST, ENUM] */\r\n @io.persist\r\n @type.int32\r\n @type.enum(\"TunnelGroupType\")\r\n tunnelGroupType = 2;\r\n\r\n /** m_splineTunnels (PSplineTunnelGroupVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"SplineTunnelGroup\")\r\n splineTunnels = [];\r\n\r\n /** m_smoothPullFactor (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n smoothPullFactor = 0.8;\r\n\r\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n behaviorWeight = 600;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n /** m_cornerSmoothener (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n cornerSmoothener = 0.8;\r\n\r\n // Carbon m_frameCounter/m_framesBetweenUpdates/m_lastPullForces/\r\n // m_targetPointVector/m_desiredVector runtime state.\r\n #frameCounter = 0;\r\n\r\n #framesBetweenUpdates = 11;\r\n\r\n #lastPullForces = [];\r\n\r\n #targetPointVector = [];\r\n\r\n #desiredVector = vec3.create();\r\n\r\n #returnForces = [];\r\n\r\n /** Carbon FollowASpline::GetProcessPriority (cpp:32-35). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /** Carbon FollowASpline::OnModified (cpp:26-30). */\r\n @carbon.method\r\n @impl.implemented\r\n OnModified(_value = null)\r\n {\r\n this.UpdateTunnelRegistry();\r\n return true;\r\n }\r\n\r\n /**\r\n * Carbon OnListModified (FollowASpline.cpp:37-67): only the spline-tunnels\r\n * list is watched, and the donor's INSERTED, REMOVED and LOADFINISHED\r\n * branches are textually identical - each hands the group a bound\r\n * UpdateTunnelRegistry callback with debug colour 0xff5555aa. One body\r\n * here; the duplication is the donor's, not three behaviours.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n OnListModified(event, _key, _key2, value, theList)\r\n {\r\n if (theList !== this.splineTunnels) return;\r\n\r\n const kind = event & BELIST_EVENTMASK;\r\n if (kind !== BELIST_INSERTED && kind !== BELIST_REMOVED && kind !== BELIST_LOADFINISHED) return;\r\n\r\n if (typeof value?.SetSystemTunnelFunctionReferenceAndColor === \"function\")\r\n {\r\n value.SetSystemTunnelFunctionReferenceAndColor(() => this.UpdateTunnelRegistry(), 0xFF5555AA);\r\n }\r\n }\r\n\r\n /** Per-agent scratch record count (Carbon sizeof(FollowASplineData)). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\r\n GetScratchMemorySize()\r\n {\r\n return 1;\r\n }\r\n\r\n /** Fresh per-agent scratch record (Carbon FollowASplineData placement init). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\r\n InitializeScratch()\r\n {\r\n return {\r\n tunnelLock: -1,\r\n tunnelPoint: 0\r\n };\r\n }\r\n\r\n /**\r\n * Pulls unassigned agents into tunnel entrances, steers locked agents along\r\n * their tunnel points, and replays cached pull forces on skip frames\r\n * (Carbon CalculateBehavior, cpp:201-293).\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array} scratchData - per-agent FollowASplineData records\r\n * @param {Number} _deltaTime\r\n * @param {Object} group - owning BehaviorGroup\r\n * @param {Object} system - owning EveChildBehaviorSystem\r\n * @param {Array} _dronesInSearchRadius - unused\r\n * @returns {Array} debug force pairs when group.collectForces is on\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Debug force pairs are only collected when group.collectForces is set, keeping the per-agent loop allocation-free.\")\r\n CalculateBehavior(agents, scratchData, _deltaTime, group, system, _dronesInSearchRadius)\r\n {\r\n if (!this.enabled)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n if (this.#frameCounter >= this.#framesBetweenUpdates)\r\n {\r\n this.#frameCounter = 0;\r\n }\r\n else\r\n {\r\n this.#frameCounter++;\r\n }\r\n\r\n const forceVectors = this.#returnForces;\r\n forceVectors.length = 0;\r\n\r\n if (this.#frameCounter === 0)\r\n {\r\n if (this.shouldReassignTunnelIDs)\r\n {\r\n // JS has no Blue list notify, so the local tunnel list refreshes here\r\n // before the system tunnels are prepended (Carbon relies on\r\n // OnListModified having filled m_privateTunnels already).\r\n this.remapTunnels();\r\n this.#ReassignTunnelIDsAndAddSystemTunnels(system);\r\n group.InitializeGeometryResource(); // reset all agents\r\n return forceVectors;\r\n }\r\n\r\n this.#targetPointVector.length = 0;\r\n\r\n let pullCount = 0;\r\n for (let c = 0; c < agents.length; c++)\r\n {\r\n const drone = agents[c];\r\n const data = scratchData?.[c];\r\n if (!data)\r\n {\r\n continue;\r\n }\r\n\r\n vec3.set(this.#desiredVector, 0, 0, 0);\r\n let rampingForce = 1;\r\n\r\n if (data.tunnelLock === -1)\r\n {\r\n rampingForce = this.#ProcessTunnelEntrances(drone, this.privateTunnels, data);\r\n }\r\n\r\n // tunnelLock can change in ProcessTunnelEntrances so if->else is not\r\n // equivalent\r\n if (data.tunnelLock !== -1)\r\n {\r\n if (this.#ProcessAssignedTunnel(drone, this.privateTunnels, group, data))\r\n {\r\n // If process returns true we update all the drones as a unit and\r\n // skip if they are in a Formation\r\n if (this.#CheckForAndUpdateFormation(agents, group, scratchData, data.tunnelLock, data.tunnelPoint))\r\n {\r\n // all drones have been updated so we break\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const pullForce = this.#PullForceAt(pullCount);\r\n pullCount++;\r\n\r\n if (vec3.squaredLength(this.#desiredVector) === 0)\r\n {\r\n vec3.set(pullForce, 0, 0, 0);\r\n continue;\r\n }\r\n\r\n vec3.normalize(PULL_FORCE, this.#desiredVector);\r\n if (group.collectForces)\r\n {\r\n vec3.scale(FORCE_OFFSET, PULL_FORCE, group.GetBoundingSphereRadius());\r\n forceVectors.push(vec3.add(vec3.create(), drone.position, FORCE_OFFSET));\r\n }\r\n vec3.scale(PULL_FORCE, PULL_FORCE, this.behaviorWeight * rampingForce);\r\n if (group.collectForces)\r\n {\r\n forceVectors.push(vec3.clone(PULL_FORCE));\r\n }\r\n vec3.add(drone.acceleration, drone.acceleration, PULL_FORCE);\r\n vec3.copy(pullForce, PULL_FORCE);\r\n }\r\n this.#lastPullForces.length = pullCount;\r\n }\r\n else\r\n {\r\n if (this.#lastPullForces.length === 0)\r\n {\r\n return forceVectors;\r\n }\r\n let c = 0;\r\n for (const agent of agents)\r\n {\r\n if (c >= this.#lastPullForces.length)\r\n {\r\n break;\r\n }\r\n const pullForce = this.#lastPullForces[c];\r\n vec3.add(agent.acceleration, agent.acceleration, pullForce);\r\n\r\n if (group.collectForces && vec3.squaredLength(pullForce) > 0)\r\n {\r\n vec3.normalize(FORCE_OFFSET, pullForce);\r\n vec3.scale(FORCE_OFFSET, FORCE_OFFSET, group.GetBoundingSphereRadius());\r\n forceVectors.push(vec3.add(vec3.create(), agent.position, FORCE_OFFSET));\r\n forceVectors.push(vec3.clone(pullForce));\r\n }\r\n c++;\r\n }\r\n }\r\n return forceVectors;\r\n }\r\n\r\n /**\r\n * Carbon UpdateTunnelRegistry (cpp:319-335): clear the private list,\r\n * flatten every group's tunnels into it, and raise the reassign flag so\r\n * ReassignTunnelIDsAndAddSystemTunnels renumbers on the next tick.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateTunnelRegistry()\r\n {\r\n this.privateTunnels.length = 0;\r\n for (const group of this.splineTunnels)\r\n {\r\n const tunnels = group?.GetTunnels?.() ?? group?.tunnels;\r\n if (Array.isArray(tunnels))\r\n {\r\n this.privateTunnels.push(...tunnels);\r\n }\r\n }\r\n this.shouldReassignTunnelIDs = true;\r\n }\r\n\r\n /** Blue exposure \"remapTunnels\" of UpdateTunnelRegistry (FollowASpline_Blue.cpp:37). */\r\n @carbon.method\r\n @impl.adapted\r\n remapTunnels()\r\n {\r\n this.UpdateTunnelRegistry();\r\n return this.privateTunnels;\r\n }\r\n\r\n // Prepends the system-wide tunnels and reassigns sequential IDs (Carbon\r\n // ReassignTunnelIDsAndAddSystemTunnels, cpp:337-370).\r\n /**\r\n * Prepends the system-wide tunnels to the private tunnel list and reassigns every tunnel a sequential identifier.\r\n */\r\n #ReassignTunnelIDsAndAddSystemTunnels(system)\r\n {\r\n const tunnels = system.GetTunnels?.() ?? [];\r\n\r\n for (const tunnel of tunnels)\r\n {\r\n this.privateTunnels.unshift(tunnel);\r\n }\r\n\r\n let id = 0;\r\n\r\n if (tunnels.length !== 0)\r\n {\r\n id = tunnels[tunnels.length - 1].tunnelID;\r\n }\r\n\r\n if (this.privateTunnels.length === 0)\r\n {\r\n this.shouldReassignTunnelIDs = false;\r\n return;\r\n }\r\n\r\n for (const tunnel of this.privateTunnels)\r\n {\r\n tunnel.tunnelID = id;\r\n id++;\r\n }\r\n\r\n this.shouldReassignTunnelIDs = false;\r\n }\r\n\r\n // Pull-in test against the tunnel entrance spheres (Carbon\r\n // ProcessTunnelEntrances, cpp:70-104). Returns the ramping force and may\r\n // lock the agent to a tunnel; mutates this.#desiredVector.\r\n /**\r\n * Tests an unassigned agent against each tunnel's entrance sphere, locking it to a tunnel once inside the point-of-no-return radius and otherwise building a pull force as it nears.\r\n */\r\n #ProcessTunnelEntrances(agent, tunnels, data)\r\n {\r\n // not associated with a tunnel\r\n for (const tunnel of tunnels)\r\n {\r\n if (tunnel.tunnelGroupType !== TunnelGroupType.OTHER_TUNNELS)\r\n {\r\n return 0;\r\n }\r\n\r\n if (tunnel.splinePoints.length === 0)\r\n {\r\n continue;\r\n }\r\n\r\n vec3.subtract(DIST, tunnel.splinePoints[0].pos, agent.position);\r\n const length = vec3.length(DIST);\r\n if (length < tunnel.pointOfNoReturnSize)\r\n {\r\n data.tunnelLock = tunnel.tunnelID;\r\n data.tunnelPoint = 0;\r\n }\r\n else if (length < tunnel.pullSize)\r\n {\r\n if (tunnel.pullSize === tunnel.pointOfNoReturnSize)\r\n {\r\n continue;\r\n }\r\n\r\n // normalize the distance between outer and inner spheres to increase\r\n // pull-strength\r\n let mod = (length - tunnel.pointOfNoReturnSize) / (tunnel.pullSize - tunnel.pointOfNoReturnSize);\r\n mod = 1 - Math.max(0, Math.min(mod, 1));\r\n vec3.copy(this.#desiredVector, DIST);\r\n return Math.min(1, Math.max(0, 1 - this.smoothPullFactor + this.smoothPullFactor * mod));\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n // Steers a locked agent along its tunnel (Carbon ProcessAssignedTunnel,\r\n // cpp:107-189). Returns true when the tunnel state advanced; mutates the\r\n // scratch record and this.#desiredVector.\r\n /**\r\n * Steers a locked agent toward its current spline point, blending toward the next for smooth cornering, and advances or releases the lock as it arrives or drifts away.\r\n */\r\n #ProcessAssignedTunnel(agent, tunnels, group, data)\r\n {\r\n if (data.tunnelLock > tunnels.length)\r\n {\r\n return false;\r\n }\r\n\r\n const tunnel = tunnels[data.tunnelLock];\r\n const points = tunnel?.splinePoints;\r\n if (!points || points.length === 0)\r\n {\r\n return false;\r\n }\r\n\r\n const pointID = data.tunnelPoint;\r\n const point = points[pointID];\r\n if (!point)\r\n {\r\n return false;\r\n }\r\n\r\n vec3.subtract(TARGET_VECTOR, point.pos, agent.position);\r\n\r\n // Carbon compares against *begin()/*end() by value; the intent is the\r\n // first/last spline point.\r\n if (pointID === 0)\r\n {\r\n vec3.copy(VECTOR_BETWEEN, point.rot);\r\n }\r\n else\r\n {\r\n vec3.copy(VECTOR_BETWEEN, points[pointID - 1].rot);\r\n }\r\n\r\n const lengthBetweenPoints = vec3.length(VECTOR_BETWEEN);\r\n\r\n if (lengthBetweenPoints !== 0)\r\n {\r\n // an offset is added to the target point so they don't all follow the\r\n // same line\r\n const dotProd = vec3.dot(TARGET_VECTOR, VECTOR_BETWEEN);\r\n vec3.scale(VECTOR_PROJ, VECTOR_BETWEEN, dotProd / (lengthBetweenPoints * lengthBetweenPoints));\r\n vec3.subtract(OFFSET, VECTOR_PROJ, TARGET_VECTOR);\r\n vec3.normalize(OFFSET, OFFSET);\r\n vec3.scaleAndAdd(TARGET_VECTOR, TARGET_VECTOR, OFFSET, tunnel.cylWidth / 2);\r\n }\r\n\r\n // Carbon records every target point for debug rendering; the JS port only\r\n // collects them in debug (collectForces) mode to keep the loop\r\n // allocation-free.\r\n if (group.collectForces)\r\n {\r\n this.#targetPointVector.push(vec3.add(vec3.create(), TARGET_VECTOR, agent.position));\r\n }\r\n\r\n if (pointID === points.length - 1)\r\n {\r\n vec3.copy(this.#desiredVector, point.rot);\r\n\r\n // the Dot product is positive if the agent is facing the target point\r\n if (vec3.dot(TARGET_VECTOR, agent.rotation) < 0)\r\n {\r\n data.tunnelLock = -1;\r\n data.tunnelPoint = 0;\r\n return true;\r\n }\r\n }\r\n else\r\n {\r\n const lengthFromShip = vec3.length(TARGET_VECTOR);\r\n\r\n let blendingMod = 0;\r\n\r\n if (lengthBetweenPoints !== 0)\r\n {\r\n blendingMod = Math.min(1, Math.max(0, (lengthBetweenPoints - lengthFromShip) / lengthBetweenPoints));\r\n blendingMod = blendingMod * blendingMod;\r\n }\r\n this.cornerSmoothener = Math.min(1, Math.max(0, this.cornerSmoothener));\r\n vec3.normalize(TARGET_NORMALIZED, TARGET_VECTOR);\r\n vec3.add(BLEND_VECTOR, point.rot, TARGET_VECTOR);\r\n vec3.normalize(BLEND_VECTOR, BLEND_VECTOR);\r\n vec3.scale(this.#desiredVector, TARGET_NORMALIZED, this.cornerSmoothener * (1 - blendingMod));\r\n vec3.scaleAndAdd(this.#desiredVector, this.#desiredVector, BLEND_VECTOR, (1 - this.cornerSmoothener) * blendingMod);\r\n vec3.normalize(DESIRED_NORMALIZED, this.#desiredVector);\r\n if (vec3.dot(TARGET_NORMALIZED, DESIRED_NORMALIZED) < this.cornerSmoothener)\r\n {\r\n vec3.copy(this.#desiredVector, TARGET_VECTOR);\r\n }\r\n\r\n if ((lengthFromShip - group.GetBoundingSphereRadius()) < tunnel.cylWidth / 1.5)\r\n {\r\n data.tunnelPoint++;\r\n return true;\r\n }\r\n\r\n // rework into cylinder collision\r\n if (lengthFromShip > (group.GetBoundingSphereRadius() + lengthBetweenPoints * 1.5) &&\r\n vec3.dot(TARGET_VECTOR, VECTOR_BETWEEN) < 0)\r\n {\r\n data.tunnelLock = -1;\r\n data.tunnelPoint = 0;\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n // When the group is in Formation, locks every drone to the same tunnel\r\n // point so they advance as a unit (Carbon CheckForAndUpdateFormation,\r\n // cpp:295-317).\r\n /**\r\n * Locks every agent to the same tunnel and tunnel point while the group's formation behaviour is active, so the group advances as a unit.\r\n */\r\n #CheckForAndUpdateFormation(agents, group, scratchData, tunnel, tunnelPoint)\r\n {\r\n const formation = group.GetBehaviorByName(\"Formation\");\r\n\r\n if (formation && formation.InFormation?.())\r\n {\r\n for (let c = 0; c < agents.length; c++)\r\n {\r\n const data = scratchData?.[c];\r\n if (data)\r\n {\r\n data.tunnelLock = tunnel;\r\n data.tunnelPoint = tunnelPoint;\r\n }\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n // Reuses (or grows) the cached pull-force slot for one agent index.\r\n /**\r\n * The cached pull-force vector for an agent index, created on first use.\r\n */\r\n #PullForceAt(index)\r\n {\r\n let force = this.#lastPullForces[index];\r\n if (!force)\r\n {\r\n force = vec3.create();\r\n this.#lastPullForces[index] = force;\r\n }\r\n return force;\r\n }\r\n\r\n static TunnelGroupType = TunnelGroupType;\r\n\r\n}\r\n"],"names":["DIST","vec3","create","TARGET_VECTOR","VECTOR_BETWEEN","VECTOR_PROJ","OFFSET","TARGET_NORMALIZED","BLEND_VECTOR","DESIRED_NORMALIZED","PULL_FORCE","FORCE_OFFSET","NO_FORCES","_FollowASpline","_identity","FollowASpline","CjsModel","e","_init_privateTunnels","_init_extra_privateTunnels","_init_shouldReassignTunnelIDs","_init_extra_shouldReassignTunnelIDs","_init_behaviorPriority","_init_extra_behaviorPriority","_init_tunnelGroupType","_init_extra_tunnelGroupType","_init_splineTunnels","_init_extra_splineTunnels","_init_smoothPullFactor","_init_extra_smoothPullFactor","_init_behaviorWeight","_init_extra_behaviorWeight","_init_enabled","_init_extra_enabled","_init_cornerSmoothener","_init_extra_cornerSmoothener","_initProto","c","_initClass","_applyDecs","type","define","className","family","list","boolean","io","notify","persist","int32","enum","float32","carbon","method","impl","implemented","adapted","reason","privateTunnels","shouldReassignTunnelIDs","behaviorPriority","tunnelGroupType","splineTunnels","smoothPullFactor","behaviorWeight","enabled","cornerSmoothener","GetProcessPriority","OnModified","_value","UpdateTunnelRegistry","OnListModified","event","_key","_key2","value","theList","kind","BELIST_EVENTMASK","BELIST_INSERTED","BELIST_REMOVED","BELIST_LOADFINISHED","SetSystemTunnelFunctionReferenceAndColor","GetScratchMemorySize","InitializeScratch","tunnelLock","tunnelPoint","CalculateBehavior","agents","scratchData","_deltaTime","group","system","_dronesInSearchRadius","forceVectors","length","remapTunnels","InitializeGeometryResource","pullCount","drone","data","set","rampingForce","pullForce","squaredLength","normalize","collectForces","scale","GetBoundingSphereRadius","push","add","position","clone","acceleration","copy","agent","tunnels","GetTunnels","Array","isArray","#ReassignTunnelIDsAndAddSystemTunnels","tunnel","unshift","id","tunnelID","#ProcessTunnelEntrances","TunnelGroupType","OTHER_TUNNELS","splinePoints","subtract","pos","pointOfNoReturnSize","pullSize","mod","Math","max","min","#ProcessAssignedTunnel","points","pointID","point","rot","lengthBetweenPoints","dotProd","dot","scaleAndAdd","cylWidth","rotation","lengthFromShip","blendingMod","#CheckForAndUpdateFormation","formation","GetBehaviorByName","InFormation","#PullForceAt","index","force","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"FollowASpline.js","sources":["../../../../../../src/trinity/eve/child/behaviors/FollowASpline.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/FollowASpline.h\r\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/FollowASpline.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { TunnelGroupType } from \"./enums.js\";\r\nimport { BELIST_EVENTMASK, BELIST_INSERTED, BELIST_LOADFINISHED, BELIST_REMOVED } from \"../../../controllers/contracts.js\";\r\n\r\n// Module scratch for the per-agent loop (behavior updates run sequentially).\r\nconst DIST = vec3.create();\r\nconst TARGET_VECTOR = vec3.create();\r\nconst VECTOR_BETWEEN = vec3.create();\r\nconst VECTOR_PROJ = vec3.create();\r\nconst OFFSET = vec3.create();\r\nconst TARGET_NORMALIZED = vec3.create();\r\nconst BLEND_VECTOR = vec3.create();\r\nconst DESIRED_NORMALIZED = vec3.create();\r\nconst PULL_FORCE = vec3.create();\r\nconst FORCE_OFFSET = vec3.create();\r\nconst NO_FORCES = [];\r\n\r\n/** A steering behaviour that pulls unassigned drones into spline tunnel entrances and steers locked drones along their assigned tunnel's points toward the exit. */\r\n@type.define({ className: \"FollowASpline\", family: \"eve/child/behaviors\" })\r\nexport class FollowASpline extends CjsModel\r\n{\r\n\r\n /** Flattened CPU tunnel references used by the behavior system. */\r\n @type.list(\"SplineTunnel\")\r\n privateTunnels = [];\r\n\r\n @type.boolean\r\n shouldReassignTunnelIDs = true;\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @edit.notify\r\n @edit.persist\r\n @type.int32\r\n behaviorPriority = 0;\r\n\r\n /** m_tunnelGroupType (TunnelGroupType - enum TunnelGroupType) [READWRITE, PERSIST, ENUM] */\r\n @edit.persist\r\n @type.int32\r\n @type.enum(\"TunnelGroupType\")\r\n tunnelGroupType = 2;\r\n\r\n /** m_splineTunnels (PSplineTunnelGroupVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"SplineTunnelGroup\")\r\n splineTunnels = [];\r\n\r\n /** m_smoothPullFactor (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n smoothPullFactor = 0.8;\r\n\r\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n behaviorWeight = 600;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n /** m_cornerSmoothener (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n cornerSmoothener = 0.8;\r\n\r\n // Carbon m_frameCounter/m_framesBetweenUpdates/m_lastPullForces/\r\n // m_targetPointVector/m_desiredVector runtime state.\r\n #frameCounter = 0;\r\n\r\n #framesBetweenUpdates = 11;\r\n\r\n #lastPullForces = [];\r\n\r\n #targetPointVector = [];\r\n\r\n #desiredVector = vec3.create();\r\n\r\n #returnForces = [];\r\n\r\n /** Carbon FollowASpline::GetProcessPriority (cpp:32-35). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /** Carbon FollowASpline::OnModified (cpp:26-30). */\r\n @carbon.method\r\n @impl.implemented\r\n OnModified(_value = null)\r\n {\r\n this.UpdateTunnelRegistry();\r\n return true;\r\n }\r\n\r\n /**\r\n * Carbon OnListModified (FollowASpline.cpp:37-67): only the spline-tunnels\r\n * list is watched, and the donor's INSERTED, REMOVED and LOADFINISHED\r\n * branches are textually identical - each hands the group a bound\r\n * UpdateTunnelRegistry callback with debug colour 0xff5555aa. One body\r\n * here; the duplication is the donor's, not three behaviours.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n OnListModified(event, _key, _key2, value, theList)\r\n {\r\n if (theList !== this.splineTunnels) return;\r\n\r\n const kind = event & BELIST_EVENTMASK;\r\n if (kind !== BELIST_INSERTED && kind !== BELIST_REMOVED && kind !== BELIST_LOADFINISHED) return;\r\n\r\n if (typeof value?.SetSystemTunnelFunctionReferenceAndColor === \"function\")\r\n {\r\n value.SetSystemTunnelFunctionReferenceAndColor(() => this.UpdateTunnelRegistry(), 0xFF5555AA);\r\n }\r\n }\r\n\r\n /** Per-agent scratch record count (Carbon sizeof(FollowASplineData)). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\r\n GetScratchMemorySize()\r\n {\r\n return 1;\r\n }\r\n\r\n /** Fresh per-agent scratch record (Carbon FollowASplineData placement init). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\r\n InitializeScratch()\r\n {\r\n return {\r\n tunnelLock: -1,\r\n tunnelPoint: 0\r\n };\r\n }\r\n\r\n /**\r\n * Pulls unassigned agents into tunnel entrances, steers locked agents along\r\n * their tunnel points, and replays cached pull forces on skip frames\r\n * (Carbon CalculateBehavior, cpp:201-293).\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array} scratchData - per-agent FollowASplineData records\r\n * @param {Number} _deltaTime\r\n * @param {Object} group - owning BehaviorGroup\r\n * @param {Object} system - owning EveChildBehaviorSystem\r\n * @param {Array} _dronesInSearchRadius - unused\r\n * @returns {Array} debug force pairs when group.collectForces is on\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Debug force pairs are only collected when group.collectForces is set, keeping the per-agent loop allocation-free.\")\r\n CalculateBehavior(agents, scratchData, _deltaTime, group, system, _dronesInSearchRadius)\r\n {\r\n if (!this.enabled)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n if (this.#frameCounter >= this.#framesBetweenUpdates)\r\n {\r\n this.#frameCounter = 0;\r\n }\r\n else\r\n {\r\n this.#frameCounter++;\r\n }\r\n\r\n const forceVectors = this.#returnForces;\r\n forceVectors.length = 0;\r\n\r\n if (this.#frameCounter === 0)\r\n {\r\n if (this.shouldReassignTunnelIDs)\r\n {\r\n // JS has no Blue list notify, so the local tunnel list refreshes here\r\n // before the system tunnels are prepended (Carbon relies on\r\n // OnListModified having filled m_privateTunnels already).\r\n this.remapTunnels();\r\n this.#ReassignTunnelIDsAndAddSystemTunnels(system);\r\n group.InitializeGeometryResource(); // reset all agents\r\n return forceVectors;\r\n }\r\n\r\n this.#targetPointVector.length = 0;\r\n\r\n let pullCount = 0;\r\n for (let c = 0; c < agents.length; c++)\r\n {\r\n const drone = agents[c];\r\n const data = scratchData?.[c];\r\n if (!data)\r\n {\r\n continue;\r\n }\r\n\r\n vec3.set(this.#desiredVector, 0, 0, 0);\r\n let rampingForce = 1;\r\n\r\n if (data.tunnelLock === -1)\r\n {\r\n rampingForce = this.#ProcessTunnelEntrances(drone, this.privateTunnels, data);\r\n }\r\n\r\n // tunnelLock can change in ProcessTunnelEntrances so if->else is not\r\n // equivalent\r\n if (data.tunnelLock !== -1)\r\n {\r\n if (this.#ProcessAssignedTunnel(drone, this.privateTunnels, group, data))\r\n {\r\n // If process returns true we update all the drones as a unit and\r\n // skip if they are in a Formation\r\n if (this.#CheckForAndUpdateFormation(agents, group, scratchData, data.tunnelLock, data.tunnelPoint))\r\n {\r\n // all drones have been updated so we break\r\n break;\r\n }\r\n }\r\n }\r\n\r\n const pullForce = this.#PullForceAt(pullCount);\r\n pullCount++;\r\n\r\n if (vec3.squaredLength(this.#desiredVector) === 0)\r\n {\r\n vec3.set(pullForce, 0, 0, 0);\r\n continue;\r\n }\r\n\r\n vec3.normalize(PULL_FORCE, this.#desiredVector);\r\n if (group.collectForces)\r\n {\r\n vec3.scale(FORCE_OFFSET, PULL_FORCE, group.GetBoundingSphereRadius());\r\n forceVectors.push(vec3.add(vec3.create(), drone.position, FORCE_OFFSET));\r\n }\r\n vec3.scale(PULL_FORCE, PULL_FORCE, this.behaviorWeight * rampingForce);\r\n if (group.collectForces)\r\n {\r\n forceVectors.push(vec3.clone(PULL_FORCE));\r\n }\r\n vec3.add(drone.acceleration, drone.acceleration, PULL_FORCE);\r\n vec3.copy(pullForce, PULL_FORCE);\r\n }\r\n this.#lastPullForces.length = pullCount;\r\n }\r\n else\r\n {\r\n if (this.#lastPullForces.length === 0)\r\n {\r\n return forceVectors;\r\n }\r\n let c = 0;\r\n for (const agent of agents)\r\n {\r\n if (c >= this.#lastPullForces.length)\r\n {\r\n break;\r\n }\r\n const pullForce = this.#lastPullForces[c];\r\n vec3.add(agent.acceleration, agent.acceleration, pullForce);\r\n\r\n if (group.collectForces && vec3.squaredLength(pullForce) > 0)\r\n {\r\n vec3.normalize(FORCE_OFFSET, pullForce);\r\n vec3.scale(FORCE_OFFSET, FORCE_OFFSET, group.GetBoundingSphereRadius());\r\n forceVectors.push(vec3.add(vec3.create(), agent.position, FORCE_OFFSET));\r\n forceVectors.push(vec3.clone(pullForce));\r\n }\r\n c++;\r\n }\r\n }\r\n return forceVectors;\r\n }\r\n\r\n /**\r\n * Carbon UpdateTunnelRegistry (cpp:319-335): clear the private list,\r\n * flatten every group's tunnels into it, and raise the reassign flag so\r\n * ReassignTunnelIDsAndAddSystemTunnels renumbers on the next tick.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateTunnelRegistry()\r\n {\r\n this.privateTunnels.length = 0;\r\n for (const group of this.splineTunnels)\r\n {\r\n const tunnels = group?.GetTunnels?.() ?? group?.tunnels;\r\n if (Array.isArray(tunnels))\r\n {\r\n this.privateTunnels.push(...tunnels);\r\n }\r\n }\r\n this.shouldReassignTunnelIDs = true;\r\n }\r\n\r\n /** Blue exposure \"remapTunnels\" of UpdateTunnelRegistry (FollowASpline_Blue.cpp:37). */\r\n @carbon.method\r\n @impl.adapted\r\n remapTunnels()\r\n {\r\n this.UpdateTunnelRegistry();\r\n return this.privateTunnels;\r\n }\r\n\r\n // Prepends the system-wide tunnels and reassigns sequential IDs (Carbon\r\n // ReassignTunnelIDsAndAddSystemTunnels, cpp:337-370).\r\n /**\r\n * Prepends the system-wide tunnels to the private tunnel list and reassigns every tunnel a sequential identifier.\r\n */\r\n #ReassignTunnelIDsAndAddSystemTunnels(system)\r\n {\r\n const tunnels = system.GetTunnels?.() ?? [];\r\n\r\n for (const tunnel of tunnels)\r\n {\r\n this.privateTunnels.unshift(tunnel);\r\n }\r\n\r\n let id = 0;\r\n\r\n if (tunnels.length !== 0)\r\n {\r\n id = tunnels[tunnels.length - 1].tunnelID;\r\n }\r\n\r\n if (this.privateTunnels.length === 0)\r\n {\r\n this.shouldReassignTunnelIDs = false;\r\n return;\r\n }\r\n\r\n for (const tunnel of this.privateTunnels)\r\n {\r\n tunnel.tunnelID = id;\r\n id++;\r\n }\r\n\r\n this.shouldReassignTunnelIDs = false;\r\n }\r\n\r\n // Pull-in test against the tunnel entrance spheres (Carbon\r\n // ProcessTunnelEntrances, cpp:70-104). Returns the ramping force and may\r\n // lock the agent to a tunnel; mutates this.#desiredVector.\r\n /**\r\n * Tests an unassigned agent against each tunnel's entrance sphere, locking it to a tunnel once inside the point-of-no-return radius and otherwise building a pull force as it nears.\r\n */\r\n #ProcessTunnelEntrances(agent, tunnels, data)\r\n {\r\n // not associated with a tunnel\r\n for (const tunnel of tunnels)\r\n {\r\n if (tunnel.tunnelGroupType !== TunnelGroupType.OTHER_TUNNELS)\r\n {\r\n return 0;\r\n }\r\n\r\n if (tunnel.splinePoints.length === 0)\r\n {\r\n continue;\r\n }\r\n\r\n vec3.subtract(DIST, tunnel.splinePoints[0].pos, agent.position);\r\n const length = vec3.length(DIST);\r\n if (length < tunnel.pointOfNoReturnSize)\r\n {\r\n data.tunnelLock = tunnel.tunnelID;\r\n data.tunnelPoint = 0;\r\n }\r\n else if (length < tunnel.pullSize)\r\n {\r\n if (tunnel.pullSize === tunnel.pointOfNoReturnSize)\r\n {\r\n continue;\r\n }\r\n\r\n // normalize the distance between outer and inner spheres to increase\r\n // pull-strength\r\n let mod = (length - tunnel.pointOfNoReturnSize) / (tunnel.pullSize - tunnel.pointOfNoReturnSize);\r\n mod = 1 - Math.max(0, Math.min(mod, 1));\r\n vec3.copy(this.#desiredVector, DIST);\r\n return Math.min(1, Math.max(0, 1 - this.smoothPullFactor + this.smoothPullFactor * mod));\r\n }\r\n }\r\n return 1;\r\n }\r\n\r\n // Steers a locked agent along its tunnel (Carbon ProcessAssignedTunnel,\r\n // cpp:107-189). Returns true when the tunnel state advanced; mutates the\r\n // scratch record and this.#desiredVector.\r\n /**\r\n * Steers a locked agent toward its current spline point, blending toward the next for smooth cornering, and advances or releases the lock as it arrives or drifts away.\r\n */\r\n #ProcessAssignedTunnel(agent, tunnels, group, data)\r\n {\r\n if (data.tunnelLock > tunnels.length)\r\n {\r\n return false;\r\n }\r\n\r\n const tunnel = tunnels[data.tunnelLock];\r\n const points = tunnel?.splinePoints;\r\n if (!points || points.length === 0)\r\n {\r\n return false;\r\n }\r\n\r\n const pointID = data.tunnelPoint;\r\n const point = points[pointID];\r\n if (!point)\r\n {\r\n return false;\r\n }\r\n\r\n vec3.subtract(TARGET_VECTOR, point.pos, agent.position);\r\n\r\n // Carbon compares against *begin()/*end() by value; the intent is the\r\n // first/last spline point.\r\n if (pointID === 0)\r\n {\r\n vec3.copy(VECTOR_BETWEEN, point.rot);\r\n }\r\n else\r\n {\r\n vec3.copy(VECTOR_BETWEEN, points[pointID - 1].rot);\r\n }\r\n\r\n const lengthBetweenPoints = vec3.length(VECTOR_BETWEEN);\r\n\r\n if (lengthBetweenPoints !== 0)\r\n {\r\n // an offset is added to the target point so they don't all follow the\r\n // same line\r\n const dotProd = vec3.dot(TARGET_VECTOR, VECTOR_BETWEEN);\r\n vec3.scale(VECTOR_PROJ, VECTOR_BETWEEN, dotProd / (lengthBetweenPoints * lengthBetweenPoints));\r\n vec3.subtract(OFFSET, VECTOR_PROJ, TARGET_VECTOR);\r\n vec3.normalize(OFFSET, OFFSET);\r\n vec3.scaleAndAdd(TARGET_VECTOR, TARGET_VECTOR, OFFSET, tunnel.cylWidth / 2);\r\n }\r\n\r\n // Carbon records every target point for debug rendering; the JS port only\r\n // collects them in debug (collectForces) mode to keep the loop\r\n // allocation-free.\r\n if (group.collectForces)\r\n {\r\n this.#targetPointVector.push(vec3.add(vec3.create(), TARGET_VECTOR, agent.position));\r\n }\r\n\r\n if (pointID === points.length - 1)\r\n {\r\n vec3.copy(this.#desiredVector, point.rot);\r\n\r\n // the Dot product is positive if the agent is facing the target point\r\n if (vec3.dot(TARGET_VECTOR, agent.rotation) < 0)\r\n {\r\n data.tunnelLock = -1;\r\n data.tunnelPoint = 0;\r\n return true;\r\n }\r\n }\r\n else\r\n {\r\n const lengthFromShip = vec3.length(TARGET_VECTOR);\r\n\r\n let blendingMod = 0;\r\n\r\n if (lengthBetweenPoints !== 0)\r\n {\r\n blendingMod = Math.min(1, Math.max(0, (lengthBetweenPoints - lengthFromShip) / lengthBetweenPoints));\r\n blendingMod = blendingMod * blendingMod;\r\n }\r\n this.cornerSmoothener = Math.min(1, Math.max(0, this.cornerSmoothener));\r\n vec3.normalize(TARGET_NORMALIZED, TARGET_VECTOR);\r\n vec3.add(BLEND_VECTOR, point.rot, TARGET_VECTOR);\r\n vec3.normalize(BLEND_VECTOR, BLEND_VECTOR);\r\n vec3.scale(this.#desiredVector, TARGET_NORMALIZED, this.cornerSmoothener * (1 - blendingMod));\r\n vec3.scaleAndAdd(this.#desiredVector, this.#desiredVector, BLEND_VECTOR, (1 - this.cornerSmoothener) * blendingMod);\r\n vec3.normalize(DESIRED_NORMALIZED, this.#desiredVector);\r\n if (vec3.dot(TARGET_NORMALIZED, DESIRED_NORMALIZED) < this.cornerSmoothener)\r\n {\r\n vec3.copy(this.#desiredVector, TARGET_VECTOR);\r\n }\r\n\r\n if ((lengthFromShip - group.GetBoundingSphereRadius()) < tunnel.cylWidth / 1.5)\r\n {\r\n data.tunnelPoint++;\r\n return true;\r\n }\r\n\r\n // rework into cylinder collision\r\n if (lengthFromShip > (group.GetBoundingSphereRadius() + lengthBetweenPoints * 1.5) &&\r\n vec3.dot(TARGET_VECTOR, VECTOR_BETWEEN) < 0)\r\n {\r\n data.tunnelLock = -1;\r\n data.tunnelPoint = 0;\r\n return true;\r\n }\r\n }\r\n return false;\r\n }\r\n\r\n // When the group is in Formation, locks every drone to the same tunnel\r\n // point so they advance as a unit (Carbon CheckForAndUpdateFormation,\r\n // cpp:295-317).\r\n /**\r\n * Locks every agent to the same tunnel and tunnel point while the group's formation behaviour is active, so the group advances as a unit.\r\n */\r\n #CheckForAndUpdateFormation(agents, group, scratchData, tunnel, tunnelPoint)\r\n {\r\n const formation = group.GetBehaviorByName(\"Formation\");\r\n\r\n if (formation && formation.InFormation?.())\r\n {\r\n for (let c = 0; c < agents.length; c++)\r\n {\r\n const data = scratchData?.[c];\r\n if (data)\r\n {\r\n data.tunnelLock = tunnel;\r\n data.tunnelPoint = tunnelPoint;\r\n }\r\n }\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n // Reuses (or grows) the cached pull-force slot for one agent index.\r\n /**\r\n * The cached pull-force vector for an agent index, created on first use.\r\n */\r\n #PullForceAt(index)\r\n {\r\n let force = this.#lastPullForces[index];\r\n if (!force)\r\n {\r\n force = vec3.create();\r\n this.#lastPullForces[index] = force;\r\n }\r\n return force;\r\n }\r\n\r\n static TunnelGroupType = TunnelGroupType;\r\n\r\n}\r\n"],"names":["DIST","vec3","create","TARGET_VECTOR","VECTOR_BETWEEN","VECTOR_PROJ","OFFSET","TARGET_NORMALIZED","BLEND_VECTOR","DESIRED_NORMALIZED","PULL_FORCE","FORCE_OFFSET","NO_FORCES","_FollowASpline","_identity","FollowASpline","CjsModel","e","_init_privateTunnels","_init_extra_privateTunnels","_init_shouldReassignTunnelIDs","_init_extra_shouldReassignTunnelIDs","_init_behaviorPriority","_init_extra_behaviorPriority","_init_tunnelGroupType","_init_extra_tunnelGroupType","_init_splineTunnels","_init_extra_splineTunnels","_init_smoothPullFactor","_init_extra_smoothPullFactor","_init_behaviorWeight","_init_extra_behaviorWeight","_init_enabled","_init_extra_enabled","_init_cornerSmoothener","_init_extra_cornerSmoothener","_initProto","c","_initClass","_applyDecs","type","define","className","family","list","boolean","edit","notify","persist","int32","enum","float32","carbon","method","impl","implemented","adapted","reason","privateTunnels","shouldReassignTunnelIDs","behaviorPriority","tunnelGroupType","splineTunnels","smoothPullFactor","behaviorWeight","enabled","cornerSmoothener","GetProcessPriority","OnModified","_value","UpdateTunnelRegistry","OnListModified","event","_key","_key2","value","theList","kind","BELIST_EVENTMASK","BELIST_INSERTED","BELIST_REMOVED","BELIST_LOADFINISHED","SetSystemTunnelFunctionReferenceAndColor","GetScratchMemorySize","InitializeScratch","tunnelLock","tunnelPoint","CalculateBehavior","agents","scratchData","_deltaTime","group","system","_dronesInSearchRadius","forceVectors","length","remapTunnels","InitializeGeometryResource","pullCount","drone","data","set","rampingForce","pullForce","squaredLength","normalize","collectForces","scale","GetBoundingSphereRadius","push","add","position","clone","acceleration","copy","agent","tunnels","GetTunnels","Array","isArray","#ReassignTunnelIDsAndAddSystemTunnels","tunnel","unshift","id","tunnelID","#ProcessTunnelEntrances","TunnelGroupType","OTHER_TUNNELS","splinePoints","subtract","pos","pointOfNoReturnSize","pullSize","mod","Math","max","min","#ProcessAssignedTunnel","points","pointID","point","rot","lengthBetweenPoints","dotProd","dot","scaleAndAdd","cylWidth","rotation","lengthFromShip","blendingMod","#CheckForAndUpdateFormation","formation","GetBehaviorByName","InFormation","#PullForceAt","index","force","constructor"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { applyDecs2311 as _applyDecs2311 } from '../../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { io, type, carbon, impl } from '#schema';
2
+ import { edit, type, carbon, impl } from '#schema';
3
3
  import { CjsModel } from '#model';
4
4
  import { quat } from '#math/quat';
5
5
  import { vec3 } from '#math/vec3';
@@ -36,7 +36,7 @@ class Formation extends CjsModel {
36
36
  } = _applyDecs2311(this, [type.define({
37
37
  className: "Formation",
38
38
  family: "eve/child/behaviors"
39
- })], [[[io, io.notify, io, io.persist, type, type.int32], 16, "behaviorPriority"], [[io, io.persist, type, type.float32], 16, "behaviorWeight"], [[io, io.read, type, type.boolean], 16, "inFormation"], [[io, io.persist, type, type.float32], 16, "maxFormationVelocityScaler"], [[io, io.persist, type, type.int32], 16, "stubbornness"], [[io, io.persist, type, type.boolean], 16, "enabled"], [[io, io.persist, type, type.int32], 16, "framesBetweenUpdates"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetProcessPriority"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBehaviorName"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.")], 18, "GetScratchMemorySize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.")], 18, "InitializeScratch"], [[carbon, carbon.method, impl, impl.implemented], 18, "InFormation"], [[carbon, carbon.method, impl, impl.implemented], 18, "Reset"], [[carbon, carbon.method, impl, impl.implemented], 18, "CalculateBehavior"]], 0, void 0, CjsModel));
39
+ })], [[[edit, edit.notify, edit, edit.persist, type, type.int32], 16, "behaviorPriority"], [[edit, edit.persist, type, type.float32], 16, "behaviorWeight"], [[edit, edit.read, type, type.boolean], 16, "inFormation"], [[edit, edit.persist, type, type.float32], 16, "maxFormationVelocityScaler"], [[edit, edit.persist, type, type.int32], 16, "stubbornness"], [[edit, edit.persist, type, type.boolean], 16, "enabled"], [[edit, edit.persist, type, type.int32], 16, "framesBetweenUpdates"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetProcessPriority"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBehaviorName"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.")], 18, "GetScratchMemorySize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.")], 18, "InitializeScratch"], [[carbon, carbon.method, impl, impl.implemented], 18, "InFormation"], [[carbon, carbon.method, impl, impl.implemented], 18, "Reset"], [[carbon, carbon.method, impl, impl.implemented], 18, "CalculateBehavior"]], 0, void 0, CjsModel));
40
40
  }
41
41
  /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */
42
42
  behaviorPriority = (_initProto(this), _init_behaviorPriority(this, 0));