@carbonenginejs/runtime 0.1.0-alpha.3 → 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 (1620) 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 +79 -98
  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/index.js +1 -1
  231. package/dist/global/schema/CjsSchema.js +177 -51
  232. package/dist/global/schema/CjsSchema.js.map +1 -1
  233. package/dist/global/schema/index.js +4 -3
  234. package/dist/global/schema/index.js.map +1 -1
  235. package/dist/global/schema/types/carbonTypes.js +1 -1
  236. package/dist/global/schema/types/carbonTypes.js.map +1 -1
  237. package/dist/global/utils/bytes.js +2 -0
  238. package/dist/global/utils/bytes.js.map +1 -1
  239. package/dist/global/utils/path.js +30 -1
  240. package/dist/global/utils/path.js.map +1 -1
  241. package/dist/index.js +57 -24
  242. package/dist/index.js.map +1 -1
  243. package/dist/resource/CjsResMan.js +33 -43
  244. package/dist/resource/CjsResMan.js.map +1 -1
  245. package/dist/resource/CjsResource.js +4 -1
  246. package/dist/resource/CjsResource.js.map +1 -1
  247. package/dist/resource/format/CjsBlueReader.js +0 -1
  248. package/dist/resource/format/CjsBlueReader.js.map +1 -1
  249. package/dist/resource/format/CjsResourceProbe.js +15 -16
  250. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  251. package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js +132 -75
  252. package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js.map +1 -1
  253. package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js +26 -0
  254. package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js.map +1 -1
  255. package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js +2 -1
  256. package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js.map +1 -1
  257. package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js +4 -0
  258. package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js.map +1 -0
  259. package/dist/resource/formats/black/core/blackDefinitions.js +1 -1
  260. package/dist/resource/formats/black/core/blackDefinitions.js.map +1 -1
  261. package/dist/resource/formats/black/core/blackSchema.js +1 -1
  262. package/dist/resource/formats/dds/CjsDdsFormat.js +50 -1
  263. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  264. package/dist/resource/formats/dds/core/helpers.js +51 -5
  265. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  266. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js +94 -0
  267. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js.map +1 -0
  268. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js +189 -0
  269. package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js.map +1 -0
  270. package/dist/resource/formats/fsd/64/readers/index.js +2 -0
  271. package/dist/resource/formats/fsd/64/readers/index.js.map +1 -1
  272. package/dist/resource/formats/hlsl/core/detailMapFamily.js +18 -92
  273. package/dist/resource/formats/hlsl/core/detailMapFamily.js.map +1 -1
  274. package/dist/resource/formats/hlsl/core/textureArrayFamilies.js +285 -0
  275. package/dist/resource/formats/hlsl/core/textureArrayFamilies.js.map +1 -0
  276. package/dist/resource/formats/pickle/CjsPickleFormat.js +34 -14
  277. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  278. package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js +60 -451
  279. package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -1
  280. package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js +407 -0
  281. package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js.map +1 -0
  282. package/dist/resource/formats/pickle/core/pickleCommon.js +671 -0
  283. package/dist/resource/formats/pickle/core/pickleCommon.js.map +1 -0
  284. package/dist/resource/formats/red/core/blackDefinitions.js +1 -1
  285. package/dist/resource/formats/webgl/core/effectPackage.js +85 -7
  286. package/dist/resource/formats/webgl/core/effectPackage.js.map +1 -1
  287. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +659 -564
  288. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  289. package/dist/resource/formats/webgl/core/glslBackendBodySet.js +4 -4
  290. package/dist/resource/formats/webgl/core/glslBackendBodySet.js.map +1 -1
  291. package/dist/resource/formats/webgl/core/helpers.js +2 -2
  292. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  293. package/dist/resource/geometry/TriGeometryRes.js +61 -7
  294. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  295. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +11 -11
  296. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  297. package/dist/resource/index.js +9 -0
  298. package/dist/resource/index.js.map +1 -1
  299. package/dist/resource/shader/Tr2EffectRes.js +2 -3
  300. package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
  301. package/dist/resource/shader/Tr2MaterialArea.js +3 -3
  302. package/dist/resource/shader/Tr2MaterialArea.js.map +1 -1
  303. package/dist/resource/shader/Tr2MaterialMesh.js +2 -2
  304. package/dist/resource/shader/Tr2MaterialMesh.js.map +1 -1
  305. package/dist/resource/shader/Tr2MaterialRes.js +3 -3
  306. package/dist/resource/shader/Tr2MaterialRes.js.map +1 -1
  307. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +2 -2
  308. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  309. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +2 -2
  310. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  311. package/dist/resource/shader/reflection/Tr2Pass.js +4 -4
  312. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  313. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  314. package/dist/resource/texture/Tr2ImageRes.js +3 -4
  315. package/dist/resource/texture/Tr2ImageRes.js.map +1 -1
  316. package/dist/resource/texture/Tr2TextureLodManager.js +0 -1
  317. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  318. package/dist/resource/texture/Tr2TexturePackChannel.js +4 -4
  319. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  320. package/dist/resource/texture/Tr2TexturePipeline.js +3 -4
  321. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  322. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +5 -5
  323. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  324. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +3 -3
  325. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +2 -2
  327. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +6 -6
  329. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  330. package/dist/resource/texture/TriTextureRes.js +23 -22
  331. package/dist/resource/texture/TriTextureRes.js.map +1 -1
  332. package/dist/resource/video/AudioMetadata.js +41 -0
  333. package/dist/resource/video/AudioMetadata.js.map +1 -0
  334. package/dist/resource/video/IAudioSink.js +51 -0
  335. package/dist/resource/video/IAudioSink.js.map +1 -0
  336. package/dist/resource/video/IEncodedFrame.js +52 -0
  337. package/dist/resource/video/IEncodedFrame.js.map +1 -0
  338. package/dist/resource/video/IVideoContainerParser.js +70 -0
  339. package/dist/resource/video/IVideoContainerParser.js.map +1 -0
  340. package/dist/resource/video/IVideoDecoder.js +36 -0
  341. package/dist/resource/video/IVideoDecoder.js.map +1 -0
  342. package/dist/resource/video/PcmFrame.js +33 -0
  343. package/dist/resource/video/PcmFrame.js.map +1 -0
  344. package/dist/resource/video/VideoFrame.js +45 -0
  345. package/dist/resource/video/VideoFrame.js.map +1 -0
  346. package/dist/resource/video/VideoMetadata.js +34 -0
  347. package/dist/resource/video/VideoMetadata.js.map +1 -0
  348. package/dist/resource/video/enums.js +30 -0
  349. package/dist/resource/video/enums.js.map +1 -0
  350. package/dist/sof/EveSOF.js +176 -176
  351. package/dist/sof/EveSOF.js.map +1 -1
  352. package/dist/sof/EveSOFDNA.js +5 -1
  353. package/dist/sof/EveSOFDNA.js.map +1 -1
  354. package/dist/sof/EveSOFData.js +2 -2
  355. package/dist/sof/EveSOFData.js.map +1 -1
  356. package/dist/sof/faction/EveSOFDataFaction.js +2 -2
  357. package/dist/sof/faction/EveSOFDataFaction.js.map +1 -1
  358. package/dist/sof/faction/EveSOFDataFactionChild.js +2 -2
  359. package/dist/sof/faction/EveSOFDataFactionChild.js.map +1 -1
  360. package/dist/sof/faction/EveSOFDataFactionColorSet.js +189 -3
  361. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  362. package/dist/sof/faction/EveSOFDataFactionHullArea.js +2 -2
  363. package/dist/sof/faction/EveSOFDataFactionHullArea.js.map +1 -1
  364. package/dist/sof/faction/EveSOFDataFactionPlaneSet.js +2 -2
  365. package/dist/sof/faction/EveSOFDataFactionPlaneSet.js.map +1 -1
  366. package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js +2 -2
  367. package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js.map +1 -1
  368. package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js +2 -2
  369. package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js.map +1 -1
  370. package/dist/sof/generic/EveSOFDataGeneric.js +234 -230
  371. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  372. package/dist/sof/generic/EveSOFDataGenericDamage.js +2 -2
  373. package/dist/sof/generic/EveSOFDataGenericDamage.js.map +1 -1
  374. package/dist/sof/generic/EveSOFDataGenericDecalShader.js +2 -2
  375. package/dist/sof/generic/EveSOFDataGenericDecalShader.js.map +1 -1
  376. package/dist/sof/generic/EveSOFDataGenericHullCategory.js +27 -23
  377. package/dist/sof/generic/EveSOFDataGenericHullCategory.js.map +1 -1
  378. package/dist/sof/generic/EveSOFDataGenericHullDamage.js +2 -2
  379. package/dist/sof/generic/EveSOFDataGenericHullDamage.js.map +1 -1
  380. package/dist/sof/generic/EveSOFDataGenericShader.js +2 -2
  381. package/dist/sof/generic/EveSOFDataGenericShader.js.map +1 -1
  382. package/dist/sof/generic/EveSOFDataGenericString.js +2 -2
  383. package/dist/sof/generic/EveSOFDataGenericString.js.map +1 -1
  384. package/dist/sof/generic/EveSOFDataGenericSwarm.js +2 -2
  385. package/dist/sof/generic/EveSOFDataGenericSwarm.js.map +1 -1
  386. package/dist/sof/generic/EveSOFDataGenericVariant.js +2 -2
  387. package/dist/sof/generic/EveSOFDataGenericVariant.js.map +1 -1
  388. package/dist/sof/generic/EveSOFDataVisibilityGroup.js +2 -2
  389. package/dist/sof/generic/EveSOFDataVisibilityGroup.js.map +1 -1
  390. package/dist/sof/hull/EveSOFDataHull.js +56 -3
  391. package/dist/sof/hull/EveSOFDataHull.js.map +1 -1
  392. package/dist/sof/hull/EveSOFDataHullAnimation.js +2 -2
  393. package/dist/sof/hull/EveSOFDataHullAnimation.js.map +1 -1
  394. package/dist/sof/hull/EveSOFDataHullArea.js +58 -54
  395. package/dist/sof/hull/EveSOFDataHullArea.js.map +1 -1
  396. package/dist/sof/hull/EveSOFDataHullBanner.js +109 -3
  397. package/dist/sof/hull/EveSOFDataHullBanner.js.map +1 -1
  398. package/dist/sof/hull/EveSOFDataHullBannerLight.js +2 -2
  399. package/dist/sof/hull/EveSOFDataHullBannerLight.js.map +1 -1
  400. package/dist/sof/hull/EveSOFDataHullBannerSet.js +2 -2
  401. package/dist/sof/hull/EveSOFDataHullBannerSet.js.map +1 -1
  402. package/dist/sof/hull/EveSOFDataHullBannerSetItem.js +109 -3
  403. package/dist/sof/hull/EveSOFDataHullBannerSetItem.js.map +1 -1
  404. package/dist/sof/hull/EveSOFDataHullBooster.js +2 -2
  405. package/dist/sof/hull/EveSOFDataHullBooster.js.map +1 -1
  406. package/dist/sof/hull/EveSOFDataHullBoosterItem.js +2 -2
  407. package/dist/sof/hull/EveSOFDataHullBoosterItem.js.map +1 -1
  408. package/dist/sof/hull/EveSOFDataHullChild.js +55 -50
  409. package/dist/sof/hull/EveSOFDataHullChild.js.map +1 -1
  410. package/dist/sof/hull/EveSOFDataHullChildSet.js +2 -2
  411. package/dist/sof/hull/EveSOFDataHullChildSet.js.map +1 -1
  412. package/dist/sof/hull/EveSOFDataHullChildSetItem.js +51 -46
  413. package/dist/sof/hull/EveSOFDataHullChildSetItem.js.map +1 -1
  414. package/dist/sof/hull/EveSOFDataHullController.js +2 -2
  415. package/dist/sof/hull/EveSOFDataHullController.js.map +1 -1
  416. package/dist/sof/hull/EveSOFDataHullDecalSet.js +2 -2
  417. package/dist/sof/hull/EveSOFDataHullDecalSet.js.map +1 -1
  418. package/dist/sof/hull/EveSOFDataHullDecalSetItem.js +45 -3
  419. package/dist/sof/hull/EveSOFDataHullDecalSetItem.js.map +1 -1
  420. package/dist/sof/hull/EveSOFDataHullHazeSet.js +21 -3
  421. package/dist/sof/hull/EveSOFDataHullHazeSet.js.map +1 -1
  422. package/dist/sof/hull/EveSOFDataHullHazeSetItem.js +47 -43
  423. package/dist/sof/hull/EveSOFDataHullHazeSetItem.js.map +1 -1
  424. package/dist/sof/hull/EveSOFDataHullLightSet.js +2 -2
  425. package/dist/sof/hull/EveSOFDataHullLightSet.js.map +1 -1
  426. package/dist/sof/hull/EveSOFDataHullLightSetItem.js +4 -2
  427. package/dist/sof/hull/EveSOFDataHullLightSetItem.js.map +1 -1
  428. package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js +2 -2
  429. package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js.map +1 -1
  430. package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js +2 -2
  431. package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js.map +1 -1
  432. package/dist/sof/hull/EveSOFDataHullLocator.js +2 -2
  433. package/dist/sof/hull/EveSOFDataHullLocator.js.map +1 -1
  434. package/dist/sof/hull/EveSOFDataHullLocatorSet.js +2 -2
  435. package/dist/sof/hull/EveSOFDataHullLocatorSet.js.map +1 -1
  436. package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js +2 -2
  437. package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js.map +1 -1
  438. package/dist/sof/hull/EveSOFDataHullPlaneSet.js +29 -3
  439. package/dist/sof/hull/EveSOFDataHullPlaneSet.js.map +1 -1
  440. package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js +81 -75
  441. package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js.map +1 -1
  442. package/dist/sof/hull/EveSOFDataHullSoundEmitter.js +2 -2
  443. package/dist/sof/hull/EveSOFDataHullSoundEmitter.js.map +1 -1
  444. package/dist/sof/hull/EveSOFDataHullSpotlightSet.js +2 -2
  445. package/dist/sof/hull/EveSOFDataHullSpotlightSet.js.map +1 -1
  446. package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js +45 -41
  447. package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js.map +1 -1
  448. package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js +2 -2
  449. package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js.map +1 -1
  450. package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js +70 -66
  451. package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js.map +1 -1
  452. package/dist/sof/hull/EveSOFDataHullSpriteSet.js +2 -2
  453. package/dist/sof/hull/EveSOFDataHullSpriteSet.js.map +1 -1
  454. package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js +45 -41
  455. package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js.map +1 -1
  456. package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js +2 -2
  457. package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js.map +1 -1
  458. package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js +2 -2
  459. package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js.map +1 -1
  460. package/dist/sof/layout/EveSOFDataHullExtensionBucket.js +2 -2
  461. package/dist/sof/layout/EveSOFDataHullExtensionBucket.js.map +1 -1
  462. package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js +2 -2
  463. package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js.map +1 -1
  464. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js +2 -2
  465. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js.map +1 -1
  466. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js +35 -3
  467. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js.map +1 -1
  468. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js +2 -2
  469. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js.map +1 -1
  470. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js +2 -2
  471. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js.map +1 -1
  472. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js +2 -2
  473. package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js.map +1 -1
  474. package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js +2 -2
  475. package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js.map +1 -1
  476. package/dist/sof/layout/EveSOFDataLayout.js +2 -2
  477. package/dist/sof/layout/EveSOFDataLayout.js.map +1 -1
  478. package/dist/sof/pattern/EveSOFDataPattern.js +2 -2
  479. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  480. package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js +2 -2
  481. package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js.map +1 -1
  482. package/dist/sof/pattern/EveSOFDataPatternLayer.js +60 -3
  483. package/dist/sof/pattern/EveSOFDataPatternLayer.js.map +1 -1
  484. package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js +23 -3
  485. package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js.map +1 -1
  486. package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js +2 -2
  487. package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js.map +1 -1
  488. package/dist/sof/pattern/EveSOFDataPatternPerHull.js +2 -2
  489. package/dist/sof/pattern/EveSOFDataPatternPerHull.js.map +1 -1
  490. package/dist/sof/pattern/EveSOFDataPatternTransform.js +2 -2
  491. package/dist/sof/pattern/EveSOFDataPatternTransform.js.map +1 -1
  492. package/dist/sof/race/EveSOFDataRace.js +46 -42
  493. package/dist/sof/race/EveSOFDataRace.js.map +1 -1
  494. package/dist/sof/race/EveSOFDataRaceDamage.js +2 -2
  495. package/dist/sof/race/EveSOFDataRaceDamage.js.map +1 -1
  496. package/dist/sof/shared/CjsExternalRef.js +2 -2
  497. package/dist/sof/shared/CjsExternalRef.js.map +1 -1
  498. package/dist/sof/shared/EveSOFDNADescriptor.js +2 -2
  499. package/dist/sof/shared/EveSOFDNADescriptor.js.map +1 -1
  500. package/dist/sof/shared/EveSOFDataArea.js +61 -3
  501. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  502. package/dist/sof/shared/EveSOFDataAreaMaterial.js +4 -2
  503. package/dist/sof/shared/EveSOFDataAreaMaterial.js.map +1 -1
  504. package/dist/sof/shared/EveSOFDataBlinkType.js +48 -8
  505. package/dist/sof/shared/EveSOFDataBlinkType.js.map +1 -1
  506. package/dist/sof/shared/EveSOFDataBooster.js +2 -2
  507. package/dist/sof/shared/EveSOFDataBooster.js.map +1 -1
  508. package/dist/sof/shared/EveSOFDataBoosterShape.js +2 -2
  509. package/dist/sof/shared/EveSOFDataBoosterShape.js.map +1 -1
  510. package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js +2 -2
  511. package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js.map +1 -1
  512. package/dist/sof/shared/EveSOFDataInstancedMesh.js +40 -3
  513. package/dist/sof/shared/EveSOFDataInstancedMesh.js.map +1 -1
  514. package/dist/sof/shared/EveSOFDataLogo.js +2 -2
  515. package/dist/sof/shared/EveSOFDataLogo.js.map +1 -1
  516. package/dist/sof/shared/EveSOFDataLogoSet.js +33 -3
  517. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  518. package/dist/sof/shared/EveSOFDataMaterial.js +2 -2
  519. package/dist/sof/shared/EveSOFDataMaterial.js.map +1 -1
  520. package/dist/sof/shared/EveSOFDataParameter.js +2 -2
  521. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  522. package/dist/sof/shared/EveSOFDataParameterBool.js +2 -2
  523. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -1
  524. package/dist/sof/shared/EveSOFDataParameterColor.js +2 -2
  525. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -1
  526. package/dist/sof/shared/EveSOFDataParameterFloat.js +2 -2
  527. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -1
  528. package/dist/sof/shared/EveSOFDataParameterInt.js +2 -2
  529. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -1
  530. package/dist/sof/shared/EveSOFDataParameterVector2.js +2 -2
  531. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -1
  532. package/dist/sof/shared/EveSOFDataParameterVector3.js +2 -2
  533. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -1
  534. package/dist/sof/shared/EveSOFDataPointLightAttachment.js +2 -2
  535. package/dist/sof/shared/EveSOFDataPointLightAttachment.js.map +1 -1
  536. package/dist/sof/shared/EveSOFDataSpotLightAttachment.js +2 -2
  537. package/dist/sof/shared/EveSOFDataSpotLightAttachment.js.map +1 -1
  538. package/dist/sof/shared/EveSOFDataTexture.js +2 -2
  539. package/dist/sof/shared/EveSOFDataTexture.js.map +1 -1
  540. package/dist/sof/shared/EveSOFDataTransform.js +2 -2
  541. package/dist/sof/shared/EveSOFDataTransform.js.map +1 -1
  542. package/dist/sof/shared/EveSofDataMeshInstance.js +2 -2
  543. package/dist/sof/shared/EveSofDataMeshInstance.js.map +1 -1
  544. package/dist/sof/sofDocumentValues.js +9 -0
  545. package/dist/sof/sofDocumentValues.js.map +1 -1
  546. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +2 -25
  547. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -1
  548. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js +2 -72
  549. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -1
  550. package/dist/trinity/controllers/ITr2ControllerOwner.js +1 -36
  551. package/dist/trinity/controllers/ITr2ControllerOwner.js.map +1 -1
  552. package/dist/trinity/controllers/Tr2Controller.js +4 -5
  553. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  554. package/dist/trinity/controllers/Tr2ControllerEventHandler.js +2 -2
  555. package/dist/trinity/controllers/Tr2ControllerEventHandler.js.map +1 -1
  556. package/dist/trinity/controllers/Tr2ControllerReference.js +9 -17
  557. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  558. package/dist/trinity/controllers/Tr2SyncToAnimation.js +4 -5
  559. package/dist/trinity/controllers/Tr2SyncToAnimation.js.map +1 -1
  560. package/dist/trinity/controllers/action/ITr2ControllerAction.js +1 -28
  561. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  562. package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js +9 -7
  563. package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js.map +1 -1
  564. package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js +11 -9
  565. package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js.map +1 -1
  566. package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js +9 -7
  567. package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js.map +1 -1
  568. package/dist/trinity/controllers/action/Tr2ActionCallback.js +4 -5
  569. package/dist/trinity/controllers/action/Tr2ActionCallback.js.map +1 -1
  570. package/dist/trinity/controllers/action/Tr2ActionChildEffect.js +4 -5
  571. package/dist/trinity/controllers/action/Tr2ActionChildEffect.js.map +1 -1
  572. package/dist/trinity/controllers/action/Tr2ActionOverlay.js +4 -5
  573. package/dist/trinity/controllers/action/Tr2ActionOverlay.js.map +1 -1
  574. package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js +4 -5
  575. package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js.map +1 -1
  576. package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js +13 -9
  577. package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js.map +1 -1
  578. package/dist/trinity/controllers/action/Tr2ActionPlaySound.js +4 -5
  579. package/dist/trinity/controllers/action/Tr2ActionPlaySound.js.map +1 -1
  580. package/dist/trinity/controllers/action/Tr2ActionPython.js +6 -6
  581. package/dist/trinity/controllers/action/Tr2ActionPython.js.map +1 -1
  582. package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js +4 -5
  583. package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js.map +1 -1
  584. package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js +4 -5
  585. package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js.map +1 -1
  586. package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js +4 -5
  587. package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
  588. package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js +4 -5
  589. package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js.map +1 -1
  590. package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js +8 -17
  591. package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js.map +1 -1
  592. package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js +4 -5
  593. package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js.map +1 -1
  594. package/dist/trinity/controllers/action/Tr2ActionSetValue.js +11 -9
  595. package/dist/trinity/controllers/action/Tr2ActionSetValue.js.map +1 -1
  596. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +4 -5
  597. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  598. package/dist/trinity/controllers/contracts.js +27 -19
  599. package/dist/trinity/controllers/contracts.js.map +1 -1
  600. package/dist/trinity/controllers/expression/Tr2BindingPoint.js +6 -15
  601. package/dist/trinity/controllers/expression/Tr2BindingPoint.js.map +1 -1
  602. package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js +2 -2
  603. package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js.map +1 -1
  604. package/dist/trinity/controllers/expression/expressionRuntime.js +136 -0
  605. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -1
  606. package/dist/trinity/controllers/index.js +6 -6
  607. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +1 -24
  608. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  609. package/dist/trinity/controllers/state/Tr2StateMachine.js +4 -6
  610. package/dist/trinity/controllers/state/Tr2StateMachine.js.map +1 -1
  611. package/dist/trinity/controllers/state/Tr2StateMachineState.js +6 -6
  612. package/dist/trinity/controllers/state/Tr2StateMachineState.js.map +1 -1
  613. package/dist/trinity/controllers/state/Tr2StateMachineTransition.js +12 -9
  614. package/dist/trinity/controllers/state/Tr2StateMachineTransition.js.map +1 -1
  615. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +5 -6
  616. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  617. package/dist/trinity/core/ITr2Renderable.js +1 -49
  618. package/dist/trinity/core/ITr2Renderable.js.map +1 -1
  619. package/dist/trinity/core/ITr2Updateable.js +1 -22
  620. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  621. package/dist/trinity/core/ITriReroutable.js +56 -0
  622. package/dist/trinity/core/ITriReroutable.js.map +1 -0
  623. package/dist/trinity/core/Tr2Denoiser.js +2 -2
  624. package/dist/trinity/core/Tr2Denoiser.js.map +1 -1
  625. package/dist/trinity/core/Tr2MaterialParameterStore.js +2 -2
  626. package/dist/trinity/core/Tr2MaterialParameterStore.js.map +1 -1
  627. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js +2 -2
  628. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -1
  629. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +1 -1
  630. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -1
  631. package/dist/trinity/core/Tr2Renderer.js +161 -4
  632. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  633. package/dist/trinity/core/Tr2ShadowMap.js +3 -3
  634. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  635. package/dist/trinity/core/Tr2StreamingBitmapSaver.js +2 -2
  636. package/dist/trinity/core/Tr2StreamingBitmapSaver.js.map +1 -1
  637. package/dist/trinity/core/Tr2Transform.js +4 -5
  638. package/dist/trinity/core/Tr2Transform.js.map +1 -1
  639. package/dist/trinity/core/animation/Tr2GrannyAnimation.js +2 -2
  640. package/dist/trinity/core/animation/Tr2GrannyAnimation.js.map +1 -1
  641. package/dist/trinity/core/animation/Tr2TextureAnimation.js +2 -2
  642. package/dist/trinity/core/animation/Tr2TextureAnimation.js.map +1 -1
  643. package/dist/trinity/core/animation/TriRigidOrientation.js +2 -2
  644. package/dist/trinity/core/animation/TriRigidOrientation.js.map +1 -1
  645. package/dist/trinity/core/animation/TriTorque.js +2 -2
  646. package/dist/trinity/core/animation/TriTorque.js.map +1 -1
  647. package/dist/trinity/core/batch/CjsBatchManager.js +15 -50
  648. package/dist/trinity/core/batch/CjsBatchManager.js.map +1 -1
  649. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -1
  650. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js +12 -14
  651. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -1
  652. package/dist/trinity/core/binding/Tr2BindingVector3.js +2 -2
  653. package/dist/trinity/core/binding/Tr2BindingVector3.js.map +1 -1
  654. package/dist/trinity/core/binding/Tr2DynamicBinding.js +6 -20
  655. package/dist/trinity/core/binding/Tr2DynamicBinding.js.map +1 -1
  656. package/dist/trinity/core/binding/Tr2ExternalParameter.js +3 -6
  657. package/dist/trinity/core/binding/Tr2ExternalParameter.js.map +1 -1
  658. package/dist/trinity/core/binding/Tr2PyValueBinding.js +2 -2
  659. package/dist/trinity/core/binding/Tr2PyValueBinding.js.map +1 -1
  660. package/dist/trinity/core/binding/TriValueBinding.js +50 -24
  661. package/dist/trinity/core/binding/TriValueBinding.js.map +1 -1
  662. package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js +0 -6
  663. package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js.map +1 -1
  664. package/dist/trinity/core/context/CjsTrinityStepExecutor.js +7 -10
  665. package/dist/trinity/core/context/CjsTrinityStepExecutor.js.map +1 -1
  666. package/dist/trinity/core/context/Tr2RenderContext.js +74 -116
  667. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  668. package/dist/trinity/core/device/Tr2DepthStencil.js +2 -2
  669. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  670. package/dist/trinity/core/device/Tr2GpuBuffer.js +2 -2
  671. package/dist/trinity/core/device/Tr2GpuBuffer.js.map +1 -1
  672. package/dist/trinity/core/device/Tr2RenderTarget.js +2 -2
  673. package/dist/trinity/core/device/Tr2RenderTarget.js.map +1 -1
  674. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js +2 -2
  675. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -1
  676. package/dist/trinity/core/device/Tr2SwapChain.js +2 -2
  677. package/dist/trinity/core/device/Tr2SwapChain.js.map +1 -1
  678. package/dist/trinity/core/device/TriDevice.js +576 -37
  679. package/dist/trinity/core/device/TriDevice.js.map +1 -1
  680. package/dist/trinity/core/device/gTriDev.js +49 -0
  681. package/dist/trinity/core/device/gTriDev.js.map +1 -0
  682. package/dist/trinity/core/index.js +9 -5
  683. package/dist/trinity/core/index.js.map +1 -1
  684. package/dist/trinity/core/lighting/Tr2KelvinColor.js +2 -2
  685. package/dist/trinity/core/lighting/Tr2KelvinColor.js.map +1 -1
  686. package/dist/trinity/core/lighting/Tr2LightManager.js +7 -17
  687. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  688. package/dist/trinity/core/lighting/Tr2ShLightingManager.js +2 -2
  689. package/dist/trinity/core/lighting/Tr2ShLightingManager.js.map +1 -1
  690. package/dist/trinity/core/line/Tr2BoundingLineSet.js +2 -2
  691. package/dist/trinity/core/line/Tr2BoundingLineSet.js.map +1 -1
  692. package/dist/trinity/core/line/Tr2CurveLineSet.js +10 -7
  693. package/dist/trinity/core/line/Tr2CurveLineSet.js.map +1 -1
  694. package/dist/trinity/core/line/Tr2LineGraph.js +2 -2
  695. package/dist/trinity/core/line/Tr2LineGraph.js.map +1 -1
  696. package/dist/trinity/core/line/Tr2PrimitiveSet.js +4 -5
  697. package/dist/trinity/core/line/Tr2PrimitiveSet.js.map +1 -1
  698. package/dist/trinity/core/line/TriLineSet.js +2 -2
  699. package/dist/trinity/core/line/TriLineSet.js.map +1 -1
  700. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js +1 -37
  701. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -1
  702. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js +1 -34
  703. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -1
  704. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +5 -6
  705. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  706. package/dist/trinity/core/mesh/Tr2InstancedMesh.js +2 -2
  707. package/dist/trinity/core/mesh/Tr2InstancedMesh.js.map +1 -1
  708. package/dist/trinity/core/mesh/Tr2Mesh.js +288 -183
  709. package/dist/trinity/core/mesh/Tr2Mesh.js.map +1 -1
  710. package/dist/trinity/core/mesh/Tr2MeshArea.js +32 -3
  711. package/dist/trinity/core/mesh/Tr2MeshArea.js.map +1 -1
  712. package/dist/trinity/core/mesh/Tr2MeshBase.js +58 -8
  713. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  714. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +141 -142
  715. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  716. package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js +2 -2
  717. package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js.map +1 -1
  718. package/dist/trinity/core/procedural/GradientTextureConstructor.js +62 -0
  719. package/dist/trinity/core/procedural/GradientTextureConstructor.js.map +1 -0
  720. package/dist/trinity/core/procedural/gradientTexture.js +196 -0
  721. package/dist/trinity/core/procedural/gradientTexture.js.map +1 -0
  722. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -1
  723. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +5 -0
  724. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -1
  725. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +2 -0
  726. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -1
  727. package/dist/trinity/core/tool/Tr2ManipulationTool.js +2 -2
  728. package/dist/trinity/core/tool/Tr2ManipulationTool.js.map +1 -1
  729. package/dist/trinity/core/tool/Tr2RotationTool.js +2 -2
  730. package/dist/trinity/core/tool/Tr2RotationTool.js.map +1 -1
  731. package/dist/trinity/core/tool/Tr2ScalingTool.js +2 -2
  732. package/dist/trinity/core/tool/Tr2ScalingTool.js.map +1 -1
  733. package/dist/trinity/core/tool/Tr2TranslationTool.js +2 -2
  734. package/dist/trinity/core/tool/Tr2TranslationTool.js.map +1 -1
  735. package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js +2 -2
  736. package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js.map +1 -1
  737. package/dist/trinity/core/variable/TriFloat.js +2 -2
  738. package/dist/trinity/core/variable/TriFloat.js.map +1 -1
  739. package/dist/trinity/core/variable/TriObserverLocal.js +2 -2
  740. package/dist/trinity/core/variable/TriObserverLocal.js.map +1 -1
  741. package/dist/trinity/core/variable/TriVariable.js +2 -2
  742. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  743. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js +2 -0
  744. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -1
  745. package/dist/trinity/core/view/TriProjection.js +2 -2
  746. package/dist/trinity/core/view/TriProjection.js.map +1 -1
  747. package/dist/trinity/core/view/TriRect.js +2 -2
  748. package/dist/trinity/core/view/TriRect.js.map +1 -1
  749. package/dist/trinity/core/view/TriView.js +2 -2
  750. package/dist/trinity/core/view/TriView.js.map +1 -1
  751. package/dist/trinity/core/view/TriViewport.js +2 -2
  752. package/dist/trinity/core/view/TriViewport.js.map +1 -1
  753. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +3 -3
  754. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  755. package/dist/trinity/curves/Tr2CurveSetRange.js +2 -2
  756. package/dist/trinity/curves/Tr2CurveSetRange.js.map +1 -1
  757. package/dist/trinity/curves/TriCurveSet.js +2 -2
  758. package/dist/trinity/curves/TriCurveSet.js.map +1 -1
  759. package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js +2 -2
  760. package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js.map +1 -1
  761. package/dist/trinity/curves/curve/Tr2CurveColor.js +2 -2
  762. package/dist/trinity/curves/curve/Tr2CurveColor.js.map +1 -1
  763. package/dist/trinity/curves/curve/Tr2CurveColorMixer.js +2 -2
  764. package/dist/trinity/curves/curve/Tr2CurveColorMixer.js.map +1 -1
  765. package/dist/trinity/curves/curve/Tr2CurveCombiner.js +3 -3
  766. package/dist/trinity/curves/curve/Tr2CurveCombiner.js.map +1 -1
  767. package/dist/trinity/curves/curve/Tr2CurveConstant.js +2 -2
  768. package/dist/trinity/curves/curve/Tr2CurveConstant.js.map +1 -1
  769. package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js +2 -2
  770. package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js.map +1 -1
  771. package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js +2 -2
  772. package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js.map +1 -1
  773. package/dist/trinity/curves/curve/Tr2CurveQuaternion.js +3 -3
  774. package/dist/trinity/curves/curve/Tr2CurveQuaternion.js.map +1 -1
  775. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +2 -2
  776. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  777. package/dist/trinity/curves/curve/Tr2CurveScalar.js +3 -3
  778. package/dist/trinity/curves/curve/Tr2CurveScalar.js.map +1 -1
  779. package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js +2 -2
  780. package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js.map +1 -1
  781. package/dist/trinity/curves/curve/Tr2CurveVector2.js +2 -2
  782. package/dist/trinity/curves/curve/Tr2CurveVector2.js.map +1 -1
  783. package/dist/trinity/curves/curve/Tr2CurveVector3.js +2 -2
  784. package/dist/trinity/curves/curve/Tr2CurveVector3.js.map +1 -1
  785. package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js +2 -2
  786. package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js.map +1 -1
  787. package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js +2 -2
  788. package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js.map +1 -1
  789. package/dist/trinity/curves/curve/Tr2DistanceTracker.js +5 -5
  790. package/dist/trinity/curves/curve/Tr2DistanceTracker.js.map +1 -1
  791. package/dist/trinity/curves/curve/Tr2FollowCurve.js +2 -2
  792. package/dist/trinity/curves/curve/Tr2FollowCurve.js.map +1 -1
  793. package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js +2 -2
  794. package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js.map +1 -1
  795. package/dist/trinity/curves/curve/Tr2RotationAdapter.js +2 -2
  796. package/dist/trinity/curves/curve/Tr2RotationAdapter.js.map +1 -1
  797. package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js +2 -2
  798. package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js.map +1 -1
  799. package/dist/trinity/curves/curve/Tr2ScalarFader.js +2 -2
  800. package/dist/trinity/curves/curve/Tr2ScalarFader.js.map +1 -1
  801. package/dist/trinity/curves/curve/Tr2TranslationAdapter.js +2 -2
  802. package/dist/trinity/curves/curve/Tr2TranslationAdapter.js.map +1 -1
  803. package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js +2 -2
  804. package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js.map +1 -1
  805. package/dist/trinity/curves/curve/TriColorSequencer.js +18 -18
  806. package/dist/trinity/curves/curve/TriColorSequencer.js.map +1 -1
  807. package/dist/trinity/curves/curve/TriEventCurve.js +51 -51
  808. package/dist/trinity/curves/curve/TriEventCurve.js.map +1 -1
  809. package/dist/trinity/curves/curve/TriPerlinCurve.js +2 -2
  810. package/dist/trinity/curves/curve/TriPerlinCurve.js.map +1 -1
  811. package/dist/trinity/curves/curve/TriVectorSequencer.js +36 -36
  812. package/dist/trinity/curves/curve/TriVectorSequencer.js.map +1 -1
  813. package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js +2 -2
  814. package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js.map +1 -1
  815. package/dist/trinity/curves/key/Tr2MatrixKey.js +2 -2
  816. package/dist/trinity/curves/key/Tr2MatrixKey.js.map +1 -1
  817. package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js +2 -2
  818. package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js.map +1 -1
  819. package/dist/trinity/curves/key/Tr2ScalarExprKey.js +28 -24
  820. package/dist/trinity/curves/key/Tr2ScalarExprKey.js.map +1 -1
  821. package/dist/trinity/curves/key/TriEventKey.js +2 -2
  822. package/dist/trinity/curves/key/TriEventKey.js.map +1 -1
  823. package/dist/trinity/curves/track/Tr2GrannyEventTrack.js +2 -2
  824. package/dist/trinity/curves/track/Tr2GrannyEventTrack.js.map +1 -1
  825. package/dist/trinity/curves/track/Tr2GrannyTrack.js +9 -4
  826. package/dist/trinity/curves/track/Tr2GrannyTrack.js.map +1 -1
  827. package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js +2 -2
  828. package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js.map +1 -1
  829. package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js +2 -2
  830. package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js.map +1 -1
  831. package/dist/trinity/eve/AudioGameObject.js +6 -8
  832. package/dist/trinity/eve/AudioGameObject.js.map +1 -1
  833. package/dist/trinity/eve/EveCustomMask.js +2 -2
  834. package/dist/trinity/eve/EveCustomMask.js.map +1 -1
  835. package/dist/trinity/eve/EveDistanceField.js +6 -4
  836. package/dist/trinity/eve/EveDistanceField.js.map +1 -1
  837. package/dist/trinity/eve/EveImpactOverlay.js +2 -2
  838. package/dist/trinity/eve/EveImpactOverlay.js.map +1 -1
  839. package/dist/trinity/eve/EveThrottleable.js +2 -2
  840. package/dist/trinity/eve/EveThrottleable.js.map +1 -1
  841. package/dist/trinity/eve/EveTriggerVolume.js +4 -5
  842. package/dist/trinity/eve/EveTriggerVolume.js.map +1 -1
  843. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +1 -23
  844. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  845. package/dist/trinity/eve/IEveSpaceObject2.js +1 -24
  846. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  847. package/dist/trinity/eve/IEveTransform.js +1 -22
  848. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  849. package/dist/trinity/eve/attachment/banner/EveBannerItem.js +2 -2
  850. package/dist/trinity/eve/attachment/banner/EveBannerItem.js.map +1 -1
  851. package/dist/trinity/eve/attachment/banner/EveBannerLight.js +2 -2
  852. package/dist/trinity/eve/attachment/banner/EveBannerLight.js.map +1 -1
  853. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +20 -3
  854. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  855. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +127 -122
  856. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  857. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +5 -5
  858. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -1
  859. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +4 -5
  860. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  861. package/dist/trinity/eve/attachment/booster/EveTrailsSet.js +4 -2
  862. package/dist/trinity/eve/attachment/booster/EveTrailsSet.js.map +1 -1
  863. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +151 -148
  864. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  865. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +3 -3
  866. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  867. package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js +2 -2
  868. package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js.map +1 -1
  869. package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js +2 -2
  870. package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js.map +1 -1
  871. package/dist/trinity/eve/attachment/plane/EvePlaneLight.js +2 -2
  872. package/dist/trinity/eve/attachment/plane/EvePlaneLight.js.map +1 -1
  873. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +10 -4
  874. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  875. package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js +3 -2
  876. package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js.map +1 -1
  877. package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js +2 -2
  878. package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -1
  879. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +3 -3
  880. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  881. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js +2 -2
  882. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -1
  883. package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js +2 -2
  884. package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js.map +1 -1
  885. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +4 -4
  886. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  887. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js +2 -2
  888. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -1
  889. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +5 -5
  890. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  891. package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js +2 -2
  892. package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -1
  893. package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js +7 -4
  894. package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
  895. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +177 -144
  896. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  897. package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js +2 -2
  898. package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  899. package/dist/trinity/eve/camera/EveCamera.js +5 -11
  900. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  901. package/dist/trinity/eve/child/EveChildAudio.js +4 -5
  902. package/dist/trinity/eve/child/EveChildAudio.js.map +1 -1
  903. package/dist/trinity/eve/child/EveChildBehaviorSystem.js +5 -6
  904. package/dist/trinity/eve/child/EveChildBehaviorSystem.js.map +1 -1
  905. package/dist/trinity/eve/child/EveChildBoosterSet.js +6 -6
  906. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  907. package/dist/trinity/eve/child/EveChildBulletStorm.js +4 -5
  908. package/dist/trinity/eve/child/EveChildBulletStorm.js.map +1 -1
  909. package/dist/trinity/eve/child/EveChildCloud.js +5 -6
  910. package/dist/trinity/eve/child/EveChildCloud.js.map +1 -1
  911. package/dist/trinity/eve/child/EveChildCloud2.js +166 -166
  912. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  913. package/dist/trinity/eve/child/EveChildContainer.js +235 -169
  914. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  915. package/dist/trinity/eve/child/EveChildEffectPropagator.js +9 -9
  916. package/dist/trinity/eve/child/EveChildEffectPropagator.js.map +1 -1
  917. package/dist/trinity/eve/child/EveChildExplosion.js +11 -7
  918. package/dist/trinity/eve/child/EveChildExplosion.js.map +1 -1
  919. package/dist/trinity/eve/child/EveChildFogVolume.js +2 -2
  920. package/dist/trinity/eve/child/EveChildFogVolume.js.map +1 -1
  921. package/dist/trinity/eve/child/EveChildInheritProperties.js +2 -2
  922. package/dist/trinity/eve/child/EveChildInheritProperties.js.map +1 -1
  923. package/dist/trinity/eve/child/EveChildInstanceContainer.js +2 -2
  924. package/dist/trinity/eve/child/EveChildInstanceContainer.js.map +1 -1
  925. package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js +11 -7
  926. package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
  927. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +2 -2
  928. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -1
  929. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +2 -2
  930. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -1
  931. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +2 -2
  932. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -1
  933. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js +4 -5
  934. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -1
  935. package/dist/trinity/eve/child/EveChildLightingOverride.js +4 -5
  936. package/dist/trinity/eve/child/EveChildLightingOverride.js.map +1 -1
  937. package/dist/trinity/eve/child/EveChildLineSet.js +4 -5
  938. package/dist/trinity/eve/child/EveChildLineSet.js.map +1 -1
  939. package/dist/trinity/eve/child/EveChildLink.js +2 -2
  940. package/dist/trinity/eve/child/EveChildLink.js.map +1 -1
  941. package/dist/trinity/eve/child/EveChildMesh.js +299 -227
  942. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  943. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +2 -2
  944. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -1
  945. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js +2 -2
  946. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -1
  947. package/dist/trinity/eve/child/EveChildParticleSphere.js +4 -5
  948. package/dist/trinity/eve/child/EveChildParticleSphere.js.map +1 -1
  949. package/dist/trinity/eve/child/EveChildParticleSystem.js +36 -36
  950. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  951. package/dist/trinity/eve/child/EveChildPlug.js +60 -14
  952. package/dist/trinity/eve/child/EveChildPlug.js.map +1 -1
  953. package/dist/trinity/eve/child/EveChildPostProcessVolume.js +2 -2
  954. package/dist/trinity/eve/child/EveChildPostProcessVolume.js.map +1 -1
  955. package/dist/trinity/eve/child/EveChildQuad.js +4 -5
  956. package/dist/trinity/eve/child/EveChildQuad.js.map +1 -1
  957. package/dist/trinity/eve/child/EveChildRef.js +2 -2
  958. package/dist/trinity/eve/child/EveChildRef.js.map +1 -1
  959. package/dist/trinity/eve/child/EveChildSocket.js +2 -2
  960. package/dist/trinity/eve/child/EveChildSocket.js.map +1 -1
  961. package/dist/trinity/eve/child/EveChildSpherePin.js +4 -4
  962. package/dist/trinity/eve/child/EveChildSpherePin.js.map +1 -1
  963. package/dist/trinity/eve/child/EveChildTurret.js +4 -4
  964. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  965. package/dist/trinity/eve/child/EveCloudVolumeBall.js +2 -2
  966. package/dist/trinity/eve/child/EveCloudVolumeBall.js.map +1 -1
  967. package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js +6 -6
  968. package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
  969. package/dist/trinity/eve/child/EveSpaceObjectChild.js +2 -2
  970. package/dist/trinity/eve/child/EveSpaceObjectChild.js.map +1 -1
  971. package/dist/trinity/eve/child/IEveLightingOverride.js +1 -23
  972. package/dist/trinity/eve/child/IEveLightingOverride.js.map +1 -1
  973. package/dist/trinity/eve/child/behaviors/Allign.js +2 -2
  974. package/dist/trinity/eve/child/behaviors/Allign.js.map +1 -1
  975. package/dist/trinity/eve/child/behaviors/ApproachGroup.js +2 -2
  976. package/dist/trinity/eve/child/behaviors/ApproachGroup.js.map +1 -1
  977. package/dist/trinity/eve/child/behaviors/BackAndForth.js +2 -2
  978. package/dist/trinity/eve/child/behaviors/BackAndForth.js.map +1 -1
  979. package/dist/trinity/eve/child/behaviors/BehaviorGroup.js +4 -4
  980. package/dist/trinity/eve/child/behaviors/BehaviorGroup.js.map +1 -1
  981. package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js +2 -2
  982. package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
  983. package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js +2 -2
  984. package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
  985. package/dist/trinity/eve/child/behaviors/DroneAvoidance.js +2 -2
  986. package/dist/trinity/eve/child/behaviors/DroneAvoidance.js.map +1 -1
  987. package/dist/trinity/eve/child/behaviors/FollowASpline.js +2 -2
  988. package/dist/trinity/eve/child/behaviors/FollowASpline.js.map +1 -1
  989. package/dist/trinity/eve/child/behaviors/Formation.js +2 -2
  990. package/dist/trinity/eve/child/behaviors/Formation.js.map +1 -1
  991. package/dist/trinity/eve/child/behaviors/InclusionVolume.js +2 -2
  992. package/dist/trinity/eve/child/behaviors/InclusionVolume.js.map +1 -1
  993. package/dist/trinity/eve/child/behaviors/Inertia.js +2 -2
  994. package/dist/trinity/eve/child/behaviors/Inertia.js.map +1 -1
  995. package/dist/trinity/eve/child/behaviors/PlayFX.js +2 -2
  996. package/dist/trinity/eve/child/behaviors/PlayFX.js.map +1 -1
  997. package/dist/trinity/eve/child/behaviors/SeekTarget.js +2 -2
  998. package/dist/trinity/eve/child/behaviors/SeekTarget.js.map +1 -1
  999. package/dist/trinity/eve/child/behaviors/SpawnDrones.js +2 -2
  1000. package/dist/trinity/eve/child/behaviors/SpawnDrones.js.map +1 -1
  1001. package/dist/trinity/eve/child/behaviors/Wander.js +2 -2
  1002. package/dist/trinity/eve/child/behaviors/Wander.js.map +1 -1
  1003. package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js +2 -2
  1004. package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -1
  1005. package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js +2 -2
  1006. package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -1
  1007. package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js +8 -8
  1008. package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
  1009. package/dist/trinity/eve/child/lineSetPaths/EveCircle.js +8 -8
  1010. package/dist/trinity/eve/child/lineSetPaths/EveCircle.js.map +1 -1
  1011. package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js +2 -2
  1012. package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
  1013. package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js +2 -2
  1014. package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
  1015. package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js +2 -2
  1016. package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
  1017. package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js +2 -2
  1018. package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
  1019. package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js +2 -2
  1020. package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
  1021. package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +2 -2
  1022. package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
  1023. package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js +5 -6
  1024. package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
  1025. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +3 -3
  1026. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
  1027. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +3 -3
  1028. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
  1029. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js +2 -2
  1030. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
  1031. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +3 -3
  1032. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
  1033. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js +4 -4
  1034. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
  1035. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +4 -4
  1036. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
  1037. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +4 -4
  1038. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
  1039. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js +4 -4
  1040. package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
  1041. package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js +2 -2
  1042. package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
  1043. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +2 -2
  1044. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
  1045. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +2 -2
  1046. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
  1047. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +2 -2
  1048. package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
  1049. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +2 -2
  1050. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
  1051. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +4 -4
  1052. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
  1053. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +2 -2
  1054. package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
  1055. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +2 -2
  1056. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
  1057. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +2 -2
  1058. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
  1059. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +2 -2
  1060. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
  1061. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +2 -2
  1062. package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
  1063. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js +2 -2
  1064. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
  1065. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +2 -2
  1066. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
  1067. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js +2 -2
  1068. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
  1069. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +2 -2
  1070. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
  1071. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +2 -2
  1072. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
  1073. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +2 -2
  1074. package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
  1075. package/dist/trinity/eve/effect/lensflare/EveLensflare.js +4 -5
  1076. package/dist/trinity/eve/effect/lensflare/EveLensflare.js.map +1 -1
  1077. package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js +4 -5
  1078. package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js.map +1 -1
  1079. package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js +4 -4
  1080. package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -1
  1081. package/dist/trinity/eve/index.js +4 -4
  1082. package/dist/trinity/eve/lights/Tr2FactionLight.js +5 -6
  1083. package/dist/trinity/eve/lights/Tr2FactionLight.js.map +1 -1
  1084. package/dist/trinity/eve/lights/Tr2Light.js +37 -9
  1085. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  1086. package/dist/trinity/eve/lights/Tr2PointLight.js +2 -2
  1087. package/dist/trinity/eve/lights/Tr2PointLight.js.map +1 -1
  1088. package/dist/trinity/eve/lights/Tr2SpotLight.js +2 -2
  1089. package/dist/trinity/eve/lights/Tr2SpotLight.js.map +1 -1
  1090. package/dist/trinity/eve/lights/Tr2TexturedPointLight.js +29 -31
  1091. package/dist/trinity/eve/lights/Tr2TexturedPointLight.js.map +1 -1
  1092. package/dist/trinity/eve/locator/EveLocator2.js +2 -2
  1093. package/dist/trinity/eve/locator/EveLocator2.js.map +1 -1
  1094. package/dist/trinity/eve/locator/EveLocatorSets.js +2 -2
  1095. package/dist/trinity/eve/locator/EveLocatorSets.js.map +1 -1
  1096. package/dist/trinity/eve/locator/Locator.js +2 -2
  1097. package/dist/trinity/eve/locator/Locator.js.map +1 -1
  1098. package/dist/trinity/eve/overlays/EveDamageOverlay.js +2 -2
  1099. package/dist/trinity/eve/overlays/EveDamageOverlay.js.map +1 -1
  1100. package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js +2 -2
  1101. package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
  1102. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +5 -6
  1103. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  1104. package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js +4 -5
  1105. package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
  1106. package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js +2 -2
  1107. package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
  1108. package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js +2 -2
  1109. package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
  1110. package/dist/trinity/eve/renderable/stretch/EveStretch.js +6 -6
  1111. package/dist/trinity/eve/renderable/stretch/EveStretch.js.map +1 -1
  1112. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +10 -8
  1113. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  1114. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +4 -5
  1115. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  1116. package/dist/trinity/eve/scene/EveSpaceScene.js +2 -2
  1117. package/dist/trinity/eve/scene/EveSpaceScene.js.map +1 -1
  1118. package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js +2 -2
  1119. package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
  1120. package/dist/trinity/eve/scene/components/EveComponentRegistry.js +3 -3
  1121. package/dist/trinity/eve/scene/components/EveComponentRegistry.js.map +1 -1
  1122. package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js +6 -7
  1123. package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
  1124. package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js +2 -2
  1125. package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
  1126. package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js +4 -8
  1127. package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
  1128. package/dist/trinity/eve/smartLights/EveSmartLightMesh.js +7 -4
  1129. package/dist/trinity/eve/smartLights/EveSmartLightMesh.js.map +1 -1
  1130. package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js +25 -15
  1131. package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
  1132. package/dist/trinity/eve/smartLights/EveSmartLightQuad.js +4 -9
  1133. package/dist/trinity/eve/smartLights/EveSmartLightQuad.js.map +1 -1
  1134. package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js +2 -2
  1135. package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
  1136. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +2 -3
  1137. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
  1138. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +2 -2
  1139. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
  1140. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +2 -2
  1141. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
  1142. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +10 -18
  1143. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
  1144. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +2 -2
  1145. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
  1146. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +2 -2
  1147. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
  1148. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +4 -9
  1149. package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
  1150. package/dist/trinity/eve/socket/EveSocketParameterBool.js +2 -2
  1151. package/dist/trinity/eve/socket/EveSocketParameterBool.js.map +1 -1
  1152. package/dist/trinity/eve/socket/EveSocketParameterColor.js +2 -2
  1153. package/dist/trinity/eve/socket/EveSocketParameterColor.js.map +1 -1
  1154. package/dist/trinity/eve/socket/EveSocketParameterFloat.js +2 -2
  1155. package/dist/trinity/eve/socket/EveSocketParameterFloat.js.map +1 -1
  1156. package/dist/trinity/eve/socket/EveSocketParameterInt.js +2 -2
  1157. package/dist/trinity/eve/socket/EveSocketParameterInt.js.map +1 -1
  1158. package/dist/trinity/eve/socket/EveSocketParameterString.js +2 -2
  1159. package/dist/trinity/eve/socket/EveSocketParameterString.js.map +1 -1
  1160. package/dist/trinity/eve/socket/EveSocketParameterVector2.js +2 -2
  1161. package/dist/trinity/eve/socket/EveSocketParameterVector2.js.map +1 -1
  1162. package/dist/trinity/eve/socket/EveSocketParameterVector3.js +2 -2
  1163. package/dist/trinity/eve/socket/EveSocketParameterVector3.js.map +1 -1
  1164. package/dist/trinity/eve/socket/EveSocketParameterVector4.js +2 -2
  1165. package/dist/trinity/eve/socket/EveSocketParameterVector4.js.map +1 -1
  1166. package/dist/trinity/eve/spaceObject/EveEffectRoot2.js +20 -17
  1167. package/dist/trinity/eve/spaceObject/EveEffectRoot2.js.map +1 -1
  1168. package/dist/trinity/eve/spaceObject/EveMissile.js +2 -2
  1169. package/dist/trinity/eve/spaceObject/EveMissile.js.map +1 -1
  1170. package/dist/trinity/eve/spaceObject/EveMissileWarhead.js +2 -2
  1171. package/dist/trinity/eve/spaceObject/EveMissileWarhead.js.map +1 -1
  1172. package/dist/trinity/eve/spaceObject/EveMobile.js +2 -2
  1173. package/dist/trinity/eve/spaceObject/EveMobile.js.map +1 -1
  1174. package/dist/trinity/eve/spaceObject/EveRootTransform.js +2 -2
  1175. package/dist/trinity/eve/spaceObject/EveRootTransform.js.map +1 -1
  1176. package/dist/trinity/eve/spaceObject/EveShip2.js +2 -2
  1177. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  1178. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +525 -431
  1179. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  1180. package/dist/trinity/eve/spaceObject/EveTransform.js +7 -7
  1181. package/dist/trinity/eve/spaceObject/EveTransform.js.map +1 -1
  1182. package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +2 -2
  1183. package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -1
  1184. package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +2 -2
  1185. package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -1
  1186. package/dist/trinity/eve/spaceObject/planet/EvePlanet.js +2 -2
  1187. package/dist/trinity/eve/spaceObject/planet/EvePlanet.js.map +1 -1
  1188. package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js +2 -2
  1189. package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
  1190. package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js +7 -8
  1191. package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
  1192. package/dist/trinity/eve/ui/EveConnector.js +2 -2
  1193. package/dist/trinity/eve/ui/EveConnector.js.map +1 -1
  1194. package/dist/trinity/eve/ui/EveEllipseDefinition.js +2 -2
  1195. package/dist/trinity/eve/ui/EveEllipseDefinition.js.map +1 -1
  1196. package/dist/trinity/eve/ui/EveEllipseSet.js +36 -6
  1197. package/dist/trinity/eve/ui/EveEllipseSet.js.map +1 -1
  1198. package/dist/trinity/eve/ui/EveLineContainer.js +4 -5
  1199. package/dist/trinity/eve/ui/EveLineContainer.js.map +1 -1
  1200. package/dist/trinity/eve/ui/EveProjectBracket.js +11 -3
  1201. package/dist/trinity/eve/ui/EveProjectBracket.js.map +1 -1
  1202. package/dist/trinity/eve/ui/EveSpherePin.js +6 -7
  1203. package/dist/trinity/eve/ui/EveSpherePin.js.map +1 -1
  1204. package/dist/trinity/eve/ui/EveSprite2dBracket.js +2 -2
  1205. package/dist/trinity/eve/ui/EveSprite2dBracket.js.map +1 -1
  1206. package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js +2 -2
  1207. package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
  1208. package/dist/trinity/eve/ui/EveTacticalOverlay.js +6 -24
  1209. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  1210. package/dist/trinity/eve/ui/EveUiObject.js +2 -2
  1211. package/dist/trinity/eve/ui/EveUiObject.js.map +1 -1
  1212. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +4 -5
  1213. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  1214. package/dist/trinity/eve/ui/lines/EveLineSet.js +6 -7
  1215. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  1216. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +2 -2
  1217. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -1
  1218. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +8 -9
  1219. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  1220. package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js +2 -2
  1221. package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
  1222. package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js +2 -2
  1223. package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
  1224. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +2 -2
  1225. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
  1226. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +4 -4
  1227. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
  1228. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +2 -2
  1229. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
  1230. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +2 -2
  1231. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
  1232. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +2 -2
  1233. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
  1234. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +4 -4
  1235. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
  1236. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +2 -2
  1237. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
  1238. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +2 -2
  1239. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
  1240. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +2 -2
  1241. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
  1242. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +2 -2
  1243. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
  1244. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +2 -2
  1245. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
  1246. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +2 -2
  1247. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
  1248. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +2 -2
  1249. package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
  1250. package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +2 -2
  1251. package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
  1252. package/dist/trinity/eve/volume/EveBoxVolume.js +44 -44
  1253. package/dist/trinity/eve/volume/EveBoxVolume.js.map +1 -1
  1254. package/dist/trinity/eve/volume/EveEllipsoidVolume.js +2 -2
  1255. package/dist/trinity/eve/volume/EveEllipsoidVolume.js.map +1 -1
  1256. package/dist/trinity/eve/volume/EveSphereVolume.js +5 -6
  1257. package/dist/trinity/eve/volume/EveSphereVolume.js.map +1 -1
  1258. package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js +2 -2
  1259. package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
  1260. package/dist/trinity/generated/eve/effect/EveOccluder.js +2 -2
  1261. package/dist/trinity/generated/eve/effect/EveOccluder.js.map +1 -1
  1262. package/dist/trinity/generated/eve/effect/EveStarfield.js +2 -2
  1263. package/dist/trinity/generated/eve/effect/EveStarfield.js.map +1 -1
  1264. package/dist/trinity/generated/font/Tr2FontManager.js +2 -2
  1265. package/dist/trinity/generated/font/Tr2FontManager.js.map +1 -1
  1266. package/dist/trinity/generated/font/Tr2FontMeasurer.js +2 -2
  1267. package/dist/trinity/generated/font/Tr2FontMeasurer.js.map +1 -1
  1268. package/dist/trinity/generated/font/Tr2SBitWrapper.js +2 -2
  1269. package/dist/trinity/generated/font/Tr2SBitWrapper.js.map +1 -1
  1270. package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js +2 -2
  1271. package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
  1272. package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js +2 -2
  1273. package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
  1274. package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js +2 -2
  1275. package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
  1276. package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
  1277. package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
  1278. package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js +2 -2
  1279. package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
  1280. package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js +2 -2
  1281. package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
  1282. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
  1283. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
  1284. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js +2 -2
  1285. package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
  1286. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js +2 -2
  1287. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
  1288. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js +2 -2
  1289. package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
  1290. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js +2 -2
  1291. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
  1292. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js +2 -2
  1293. package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
  1294. package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js +2 -2
  1295. package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
  1296. package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js +2 -2
  1297. package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
  1298. package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
  1299. package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
  1300. package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js +2 -2
  1301. package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
  1302. package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js +2 -2
  1303. package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
  1304. package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js +2 -2
  1305. package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
  1306. package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
  1307. package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
  1308. package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js +2 -2
  1309. package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
  1310. package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js +2 -2
  1311. package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
  1312. package/dist/trinity/generated/trinityCore/Tr2SSSSS.js +2 -2
  1313. package/dist/trinity/generated/trinityCore/Tr2SSSSS.js.map +1 -1
  1314. package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js +2 -2
  1315. package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
  1316. package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
  1317. package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
  1318. package/dist/trinity/index.js +23 -16
  1319. package/dist/trinity/index.js.map +1 -1
  1320. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js +1 -31
  1321. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -1
  1322. package/dist/trinity/particle/Tr2ParticleSystem.js +51 -52
  1323. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  1324. package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js +2 -2
  1325. package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
  1326. package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js +2 -2
  1327. package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
  1328. package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js +2 -2
  1329. package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
  1330. package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js +2 -2
  1331. package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
  1332. package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js +2 -2
  1333. package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js.map +1 -1
  1334. package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js +2 -2
  1335. package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js.map +1 -1
  1336. package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js +2 -2
  1337. package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js.map +1 -1
  1338. package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js +13 -3
  1339. package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js.map +1 -1
  1340. package/dist/trinity/particle/constraint/Tr2SphereConstraint.js +2 -2
  1341. package/dist/trinity/particle/constraint/Tr2SphereConstraint.js.map +1 -1
  1342. package/dist/trinity/particle/element/Tr2ParticleElementData.js +22 -8
  1343. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  1344. package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js +13 -25
  1345. package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js.map +1 -1
  1346. package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js +38 -3
  1347. package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js.map +1 -1
  1348. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +26 -27
  1349. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  1350. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +4 -5
  1351. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  1352. package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js +2 -2
  1353. package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js.map +1 -1
  1354. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +17 -18
  1355. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  1356. package/dist/trinity/particle/force/Tr2ForceSphereVolume.js +2 -2
  1357. package/dist/trinity/particle/force/Tr2ForceSphereVolume.js.map +1 -1
  1358. package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js +2 -2
  1359. package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js.map +1 -1
  1360. package/dist/trinity/particle/force/Tr2ParticleDirectForce.js +2 -2
  1361. package/dist/trinity/particle/force/Tr2ParticleDirectForce.js.map +1 -1
  1362. package/dist/trinity/particle/force/Tr2ParticleDragForce.js +2 -2
  1363. package/dist/trinity/particle/force/Tr2ParticleDragForce.js.map +1 -1
  1364. package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js +2 -2
  1365. package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js.map +1 -1
  1366. package/dist/trinity/particle/force/Tr2ParticleSpring.js +2 -2
  1367. package/dist/trinity/particle/force/Tr2ParticleSpring.js.map +1 -1
  1368. package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js +2 -2
  1369. package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js.map +1 -1
  1370. package/dist/trinity/particle/force/Tr2ParticleVortexForce.js +2 -2
  1371. package/dist/trinity/particle/force/Tr2ParticleVortexForce.js.map +1 -1
  1372. package/dist/trinity/particle/index.js +1 -1
  1373. package/dist/trinity/postProcess/Tr2PostProcess.js +2 -2
  1374. package/dist/trinity/postProcess/Tr2PostProcess.js.map +1 -1
  1375. package/dist/trinity/postProcess/Tr2PostProcess2.js +2 -2
  1376. package/dist/trinity/postProcess/Tr2PostProcess2.js.map +1 -1
  1377. package/dist/trinity/postProcess/Tr2PostProcessAttributes.js +2 -2
  1378. package/dist/trinity/postProcess/Tr2PostProcessAttributes.js.map +1 -1
  1379. package/dist/trinity/postProcess/Tr2PostProcessRenderer.js +4 -4
  1380. package/dist/trinity/postProcess/Tr2PostProcessRenderer.js.map +1 -1
  1381. package/dist/trinity/postProcess/Tr2SSAO.js +4 -4
  1382. package/dist/trinity/postProcess/Tr2SSAO.js.map +1 -1
  1383. package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js +2 -2
  1384. package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js.map +1 -1
  1385. package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js +2 -2
  1386. package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js.map +1 -1
  1387. package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js +2 -2
  1388. package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js.map +1 -1
  1389. package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js +2 -2
  1390. package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js.map +1 -1
  1391. package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js +2 -2
  1392. package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js.map +1 -1
  1393. package/dist/trinity/postProcess/effect/Tr2PPEffect.js +2 -2
  1394. package/dist/trinity/postProcess/effect/Tr2PPEffect.js.map +1 -1
  1395. package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js +2 -2
  1396. package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js.map +1 -1
  1397. package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js +2 -2
  1398. package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js.map +1 -1
  1399. package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js +2 -2
  1400. package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js.map +1 -1
  1401. package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js +2 -2
  1402. package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js.map +1 -1
  1403. package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js +2 -2
  1404. package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js.map +1 -1
  1405. package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js +2 -2
  1406. package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js.map +1 -1
  1407. package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js +2 -2
  1408. package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js.map +1 -1
  1409. package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js +2 -2
  1410. package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js.map +1 -1
  1411. package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js +2 -2
  1412. package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js.map +1 -1
  1413. package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js +2 -2
  1414. package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js.map +1 -1
  1415. package/dist/trinity/renderJob/Tr2RenderJobs.js +5 -5
  1416. package/dist/trinity/renderJob/Tr2RenderJobs.js.map +1 -1
  1417. package/dist/trinity/renderJob/TriRenderJob.js +4 -4
  1418. package/dist/trinity/renderJob/TriRenderJob.js.map +1 -1
  1419. package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js +4 -5
  1420. package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js.map +1 -1
  1421. package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js +4 -5
  1422. package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js.map +1 -1
  1423. package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js +2 -2
  1424. package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js.map +1 -1
  1425. package/dist/trinity/renderJob/step/TriRenderStep.js +2 -2
  1426. package/dist/trinity/renderJob/step/TriRenderStep.js.map +1 -1
  1427. package/dist/trinity/renderJob/step/TriStepClear.js +2 -2
  1428. package/dist/trinity/renderJob/step/TriStepClear.js.map +1 -1
  1429. package/dist/trinity/renderJob/step/TriStepClearUav.js +2 -2
  1430. package/dist/trinity/renderJob/step/TriStepClearUav.js.map +1 -1
  1431. package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js +2 -2
  1432. package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js.map +1 -1
  1433. package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js +2 -2
  1434. package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js.map +1 -1
  1435. package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js +2 -2
  1436. package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js.map +1 -1
  1437. package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js +2 -2
  1438. package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js.map +1 -1
  1439. package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js +2 -2
  1440. package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js.map +1 -1
  1441. package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js +2 -2
  1442. package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js.map +1 -1
  1443. package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js +2 -2
  1444. package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js.map +1 -1
  1445. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +2 -2
  1446. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  1447. package/dist/trinity/renderJob/step/TriStepRenderAtlas.js +2 -2
  1448. package/dist/trinity/renderJob/step/TriStepRenderAtlas.js.map +1 -1
  1449. package/dist/trinity/renderJob/step/TriStepRenderDebug.js +2 -2
  1450. package/dist/trinity/renderJob/step/TriStepRenderDebug.js.map +1 -1
  1451. package/dist/trinity/renderJob/step/TriStepRenderEffect.js +2 -2
  1452. package/dist/trinity/renderJob/step/TriStepRenderEffect.js.map +1 -1
  1453. package/dist/trinity/renderJob/step/TriStepRenderFps.js +2 -2
  1454. package/dist/trinity/renderJob/step/TriStepRenderFps.js.map +1 -1
  1455. package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js +2 -2
  1456. package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js.map +1 -1
  1457. package/dist/trinity/renderJob/step/TriStepRenderObject.js +2 -2
  1458. package/dist/trinity/renderJob/step/TriStepRenderObject.js.map +1 -1
  1459. package/dist/trinity/renderJob/step/TriStepRenderPass.js +2 -2
  1460. package/dist/trinity/renderJob/step/TriStepRenderPass.js.map +1 -1
  1461. package/dist/trinity/renderJob/step/TriStepRenderScene.js +2 -2
  1462. package/dist/trinity/renderJob/step/TriStepRenderScene.js.map +1 -1
  1463. package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js +2 -2
  1464. package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js.map +1 -1
  1465. package/dist/trinity/renderJob/step/TriStepRenderTexture.js +2 -2
  1466. package/dist/trinity/renderJob/step/TriStepRenderTexture.js.map +1 -1
  1467. package/dist/trinity/renderJob/step/TriStepResolve.js +2 -2
  1468. package/dist/trinity/renderJob/step/TriStepResolve.js.map +1 -1
  1469. package/dist/trinity/renderJob/step/TriStepRunComputeShader.js +2 -2
  1470. package/dist/trinity/renderJob/step/TriStepRunComputeShader.js.map +1 -1
  1471. package/dist/trinity/renderJob/step/TriStepRunJob.js +2 -2
  1472. package/dist/trinity/renderJob/step/TriStepRunJob.js.map +1 -1
  1473. package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js +2 -2
  1474. package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js.map +1 -1
  1475. package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js +2 -2
  1476. package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js.map +1 -1
  1477. package/dist/trinity/renderJob/step/TriStepSetProjection.js +2 -2
  1478. package/dist/trinity/renderJob/step/TriStepSetProjection.js.map +1 -1
  1479. package/dist/trinity/renderJob/step/TriStepSetRenderState.js +2 -2
  1480. package/dist/trinity/renderJob/step/TriStepSetRenderState.js.map +1 -1
  1481. package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js +2 -2
  1482. package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js.map +1 -1
  1483. package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js +2 -2
  1484. package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js.map +1 -1
  1485. package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js +2 -2
  1486. package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js.map +1 -1
  1487. package/dist/trinity/renderJob/step/TriStepSetVariableStore.js +2 -2
  1488. package/dist/trinity/renderJob/step/TriStepSetVariableStore.js.map +1 -1
  1489. package/dist/trinity/renderJob/step/TriStepSetView.js +2 -2
  1490. package/dist/trinity/renderJob/step/TriStepSetView.js.map +1 -1
  1491. package/dist/trinity/renderJob/step/TriStepSetViewport.js +2 -2
  1492. package/dist/trinity/renderJob/step/TriStepSetViewport.js.map +1 -1
  1493. package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js +2 -2
  1494. package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js.map +1 -1
  1495. package/dist/trinity/renderJob/step/TriStepTestBlocking.js +2 -2
  1496. package/dist/trinity/renderJob/step/TriStepTestBlocking.js.map +1 -1
  1497. package/dist/trinity/renderJob/step/TriStepToggleCubemap.js +2 -2
  1498. package/dist/trinity/renderJob/step/TriStepToggleCubemap.js.map +1 -1
  1499. package/dist/trinity/renderJob/step/TriStepUpdate.js +2 -2
  1500. package/dist/trinity/renderJob/step/TriStepUpdate.js.map +1 -1
  1501. package/dist/trinity/shader/Tr2DataTextureManager.js +9 -9
  1502. package/dist/trinity/shader/Tr2DataTextureManager.js.map +1 -1
  1503. package/dist/trinity/shader/Tr2Effect.js +370 -347
  1504. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  1505. package/dist/trinity/shader/Tr2Material.js +5 -5
  1506. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  1507. package/dist/trinity/shader/Tr2ShaderBuffer.js +3 -4
  1508. package/dist/trinity/shader/Tr2ShaderBuffer.js.map +1 -1
  1509. package/dist/trinity/shader/index.js +3 -0
  1510. package/dist/trinity/shader/index.js.map +1 -1
  1511. package/dist/trinity/shader/parameter/CjsParameter.js +202 -185
  1512. package/dist/trinity/shader/parameter/CjsParameter.js.map +1 -1
  1513. package/dist/trinity/shader/parameter/CjsVectorParameter.js +2 -2
  1514. package/dist/trinity/shader/parameter/CjsVectorParameter.js.map +1 -1
  1515. package/dist/trinity/shader/parameter/ITriEffectParameter.js +56 -0
  1516. package/dist/trinity/shader/parameter/ITriEffectParameter.js.map +1 -0
  1517. package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js +31 -0
  1518. package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js.map +1 -0
  1519. package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js +43 -0
  1520. package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js.map +1 -0
  1521. package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js +17 -5
  1522. package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
  1523. package/dist/trinity/shader/parameter/Tr2FloatParameter.js +46 -45
  1524. package/dist/trinity/shader/parameter/Tr2FloatParameter.js.map +1 -1
  1525. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +14 -12
  1526. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  1527. package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js +33 -32
  1528. package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
  1529. package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js +11 -10
  1530. package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
  1531. package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js +55 -53
  1532. package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
  1533. package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js +49 -48
  1534. package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
  1535. package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js +52 -51
  1536. package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
  1537. package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js +56 -55
  1538. package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
  1539. package/dist/trinity/shader/parameter/TriFloatArrayParameter.js +8 -8
  1540. package/dist/trinity/shader/parameter/TriFloatArrayParameter.js.map +1 -1
  1541. package/dist/trinity/shader/parameter/TriTextureParameter.js +27 -22
  1542. package/dist/trinity/shader/parameter/TriTextureParameter.js.map +1 -1
  1543. package/dist/trinity/shader/parameter/TriTransformParameter.js +27 -27
  1544. package/dist/trinity/shader/parameter/TriTransformParameter.js.map +1 -1
  1545. package/dist/trinity/shader/parameter/TriVariableParameter.js +53 -54
  1546. package/dist/trinity/shader/parameter/TriVariableParameter.js.map +1 -1
  1547. package/dist/trinity/shader/parameter/TriVector4.js +2 -2
  1548. package/dist/trinity/shader/parameter/TriVector4.js.map +1 -1
  1549. package/dist/trinity/shader/reflection/Tr2ShaderOption.js +4 -2
  1550. package/dist/trinity/shader/reflection/Tr2ShaderOption.js.map +1 -1
  1551. package/dist/trinity/shader/sampler/Tr2SamplerOverride.js +11 -2
  1552. package/dist/trinity/shader/sampler/Tr2SamplerOverride.js.map +1 -1
  1553. package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js +2 -2
  1554. package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
  1555. package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js +2 -2
  1556. package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
  1557. package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js +2 -2
  1558. package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
  1559. package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js +8 -9
  1560. package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
  1561. package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js +2 -2
  1562. package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
  1563. package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js +2 -2
  1564. package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
  1565. package/dist/trinity/sprite2d/Tr2Sprite2dScene.js +4 -4
  1566. package/dist/trinity/sprite2d/Tr2Sprite2dScene.js.map +1 -1
  1567. package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js +2 -2
  1568. package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
  1569. package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js +2 -2
  1570. package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
  1571. package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js +2 -2
  1572. package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
  1573. package/dist/trinity/ui/Tr2PresentParameters.js +2 -2
  1574. package/dist/trinity/ui/Tr2PresentParameters.js.map +1 -1
  1575. package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js +3 -3
  1576. package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js.map +1 -1
  1577. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -1
  1578. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -1
  1579. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  1580. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  1581. package/docs/core/README.md +38 -38
  1582. package/docs/core/architecture.md +6 -5
  1583. package/docs/core/reference/api.md +0 -10
  1584. package/docs/core/reference/classes/README.md +57 -67
  1585. package/docs/global/architecture.md +1 -3
  1586. package/docs/global/blue-enums.md +115 -0
  1587. package/docs/global/concepts/model-lifecycle.md +177 -182
  1588. package/docs/global/core-types/README.md +394 -317
  1589. package/docs/global/reference/api.md +2 -2
  1590. package/docs/global/reference/classes/README.md +355 -205
  1591. package/docs/global/reference/classes/dropped.md +40 -0
  1592. package/docs/resource/architecture.md +152 -112
  1593. package/docs/resource/concepts/resource-lifecycle.md +14 -10
  1594. package/docs/resource/formats/pickle.md +126 -100
  1595. package/docs/resource/formats/provenance.md +15 -9
  1596. package/docs/resource/formats/webgl/carbon-constant-layouts.md +98 -232
  1597. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +278 -530
  1598. package/docs/resource/reference/classes/README.md +3 -1
  1599. package/docs/resource/reference/classes/dropped.md +21 -1
  1600. package/docs/resource/reference/classes/formats.md +33 -0
  1601. package/docs/resource/reference/classes/video.md +92 -0
  1602. package/docs/resource/reference/events.md +10 -9
  1603. package/docs/resource/reference/queues.md +8 -1
  1604. package/docs/trinity/README.md +5 -5
  1605. package/docs/trinity/architecture.md +355 -344
  1606. package/docs/trinity/concepts/eve-runtime-behavior.md +1 -1
  1607. package/docs/trinity/reference/api.md +19 -7
  1608. package/docs/trinity/reference/classes/dropped.md +2 -11
  1609. package/docs/trinity/reference/classes/eve-runtime.md +1 -1
  1610. package/docs/trinity/reference/classes/trinity-core.md +1672 -1622
  1611. package/docs/trinity/reference/implementation-status.md +92 -92
  1612. package/package.json +2 -1
  1613. package/dist/core/CjsFrameDriver.js +0 -109
  1614. package/dist/core/CjsFrameDriver.js.map +0 -1
  1615. package/dist/global/contracts/CjsFrameLifecycle.js +0 -49
  1616. package/dist/global/contracts/CjsFrameLifecycle.js.map +0 -1
  1617. package/dist/global/contracts/CjsInstancedMeshManager.js +0 -58
  1618. package/dist/global/contracts/CjsInstancedMeshManager.js.map +0 -1
  1619. package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js +0 -4
  1620. package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gradientTexture.js","sources":["../../../../../src/trinity/core/procedural/gradientTexture.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Procedural/GradientTexture.h\n// Source: trinity/trinity/Resources/Procedural/GradientTexture.cpp\n//\n// `dynamic:/gradient_1d/<base64>` names a width x 1 texture rasterized from four\n// scalar curves - Carbon's second procedural texture, beside `dynamic:/color/`.\n//\n// WHY THIS IS IN TRINITY AND THE COLOUR ONE IS NOT. Carbon rasterizes both\n// inside TriTextureRes::Initialize (TriTextureRes.cpp:223-236), because its\n// TriTextureRes sits in trinity beside the curves. Ours is in the resource\n// layer, which may not import trinity (layers.json), and a gradient needs\n// Tr2CurveScalar. So the gradient is rasterized here and published by the\n// constructor beside this file, while the colour - which needs nothing but a\n// parse - stays in TriTextureRes.Initialize as Carbon has it.\n//\n// Not ported, for want of a consumer: CurveToGradientPath (the writer).\nimport { num } from \"#math/num\";\nimport { Tr2CurveColor } from \"../../curves/curve/Tr2CurveColor.js\";\nimport { Tr2CurveScalar } from \"../../curves/curve/Tr2CurveScalar.js\";\n\n/** `gradientPrefix` (GradientTexture.cpp:24). */\nexport const GradientPrefix = \"dynamic:/gradient_1d/\";\n\n// `Header` (GradientTexture.cpp:10-23): uint32 width, then four `Channel`\n// records of uint16 keyCount, uint8 extrapolationBefore, uint8 extrapolationAfter.\nconst HEADER_BYTES = 20;\n// `Tr2CurveScalarKey` (Tr2CurveScalar.h:54-70): float time, value, leftTangent,\n// rightTangent, then uint16 id, uint8 interpolation, uint8 tangentType.\nconst KEY_BYTES = 20;\nconst CHANNEL_COUNT = 4;\n\n/**\n * Carbon's `Base64::Decode` (Base64Encoding.h:5). Node and the browser each\n * carry a decoder; `formats/gltf/core/parser.js:163-167` picks between them the\n * same way.\n *\n * @param {string} text Base64 text.\n * @returns {Uint8Array|null} Decoded bytes, or null when the text is not base64.\n */\nfunction decodeBase64(text)\n{\n try\n {\n if (typeof Buffer !== \"undefined\") return new Uint8Array(Buffer.from(text, \"base64\"));\n const binary = atob(text);\n const bytes = new Uint8Array(binary.length);\n for (let index = 0; index < binary.length; index++) bytes[index] = binary.charCodeAt(index);\n return bytes;\n }\n catch\n {\n return null;\n }\n}\n\n/**\n * Whether a path names a gradient texture (GradientTexture.cpp:48-51).\n *\n * @param {string} path Resource path.\n * @returns {boolean}\n */\nexport function IsGradientTexturePath(path)\n{\n return String(path).startsWith(GradientPrefix);\n}\n\n/**\n * The header and curve definitions a gradient path carries, or null on every\n * condition Carbon logs and abandons: short data, a key count that disagrees\n * with the payload size, or a zero width (GradientTexture.cpp:148-172).\n *\n * Carbon writes this decode twice, in `GradientPathToCurve` and in\n * `RasterizeGradient`; both callers here share one copy.\n *\n * @param {string} path `dynamic:/gradient_1d/...` path.\n * @returns {{width: number, definitions: object[]}|null}\n */\nfunction readGradient(path)\n{\n if (!IsGradientTexturePath(path)) return null;\n\n const data = decodeBase64(String(path).slice(GradientPrefix.length));\n if (!data || data.byteLength < HEADER_BYTES) return null;\n\n const view = new DataView(data.buffer, data.byteOffset, data.byteLength);\n const width = view.getUint32(0, true);\n const channels = [];\n let keyCount = 0;\n for (let channel = 0; channel < CHANNEL_COUNT; channel++)\n {\n const offset = 4 + channel * 4;\n const count = view.getUint16(offset, true);\n channels.push({\n keyCount: count,\n extrapolationBefore: view.getUint8(offset + 2),\n extrapolationAfter: view.getUint8(offset + 3)\n });\n keyCount += count;\n }\n if (data.byteLength !== HEADER_BYTES + keyCount * KEY_BYTES) return null;\n if (width === 0) return null;\n\n let cursor = HEADER_BYTES;\n const definitions = channels.map(channel =>\n {\n const keys = [];\n for (let index = 0; index < channel.keyCount; index++)\n {\n keys.push({\n time: view.getFloat32(cursor, true),\n value: view.getFloat32(cursor + 4, true),\n leftTangent: view.getFloat32(cursor + 8, true),\n rightTangent: view.getFloat32(cursor + 12, true),\n id: view.getUint16(cursor + 16, true),\n interpolation: view.getUint8(cursor + 18),\n tangentType: view.getUint8(cursor + 19)\n });\n cursor += KEY_BYTES;\n }\n return {\n keys,\n keyCount: channel.keyCount,\n extrapolationBefore: channel.extrapolationBefore,\n extrapolationAfter: channel.extrapolationAfter\n };\n });\n\n return { width, definitions };\n}\n\n/**\n * Carbon's `GradientPathToCurve` (GradientTexture.cpp:55-101): the colour curve a\n * gradient path describes, with the texture width it asks for.\n *\n * Carbon returns `std::pair<IRootPtr, uint32_t>`; a JavaScript pair is an object.\n *\n * @param {string} path `dynamic:/gradient_1d/...` path.\n * @returns {{curve: Tr2CurveColor, width: number}|null}\n */\nexport function GradientPathToCurve(path)\n{\n const gradient = readGradient(path);\n if (!gradient) return null;\n\n const curve = new Tr2CurveColor();\n const [ r, g, b, a ] = gradient.definitions;\n curve.r.SetDefinition(r);\n curve.g.SetDefinition(g);\n curve.b.SetDefinition(b);\n curve.a.SetDefinition(a);\n return { curve, width: gradient.width };\n}\n\n/**\n * Carbon's `RasterizeGradient` (GradientTexture.cpp:140-196): each channel\n * sampled across the texture width into one interleaved bitmap.\n *\n * Carbon writes `PIXEL_FORMAT_R16G16B16A16_FLOAT`; as with `dynamic:/color/`,\n * the payload contract carries float colour as `rgba32float`, so the samples are\n * quantized through the half-float codec and stored in a wider container. A\n * channel with no keys rasterizes to 0, which is what Carbon's scalar curve\n * returns for an empty definition - `Tr2CurveColor`'s \"empty alpha is 1\" rule\n * belongs to its own GetValueAt and is not used here.\n *\n * @param {string} path `dynamic:/gradient_1d/...` path.\n * @returns {object|null} An `rgba` payload.\n */\nexport function RasterizeGradient(path)\n{\n const gradient = readGradient(path);\n if (!gradient) return null;\n\n const { width, definitions } = gradient;\n const data = new Float32Array(width * CHANNEL_COUNT);\n const curve = new Tr2CurveScalar();\n for (let channel = 0; channel < CHANNEL_COUNT; channel++)\n {\n curve.SetDefinition(definitions[channel]);\n // Carbon advances the pixel pointer by one half-float per channel\n // (`pixels + 1`, stride 4); a subarray is the same offset view.\n curve.Rasterize({ width, stride: CHANNEL_COUNT, data: data.subarray(channel) });\n }\n for (let index = 0; index < data.length; index++)\n {\n data[index] = num.fromHalfFloat(num.toHalfFloat(data[index]));\n }\n\n return {\n payloadType: \"rgba\",\n sourceFormat: \"dynamic-gradient\",\n width,\n height: 1,\n pixelFormat: \"rgba32float\",\n data,\n strideBytes: width * 16,\n origin: \"top-left\",\n colorSpace: \"linear\",\n alphaMode: \"straight\"\n };\n}\n"],"names":["GradientPrefix","HEADER_BYTES","KEY_BYTES","CHANNEL_COUNT","decodeBase64","text","Buffer","Uint8Array","from","binary","atob","bytes","length","index","charCodeAt","IsGradientTexturePath","path","String","startsWith","readGradient","data","slice","byteLength","view","DataView","buffer","byteOffset","width","getUint32","channels","keyCount","channel","offset","count","getUint16","push","extrapolationBefore","getUint8","extrapolationAfter","cursor","definitions","map","keys","time","getFloat32","value","leftTangent","rightTangent","id","interpolation","tangentType","GradientPathToCurve","gradient","curve","Tr2CurveColor","r","g","b","a","SetDefinition","RasterizeGradient","Float32Array","Tr2CurveScalar","Rasterize","stride","subarray","num","fromHalfFloat","toHalfFloat","payloadType","sourceFormat","height","pixelFormat","strideBytes","origin","colorSpace","alphaMode"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAKA;AACO,MAAMA,cAAc,GAAG;;AAE9B;AACA;AACA,MAAMC,YAAY,GAAG,EAAE;AACvB;AACA;AACA,MAAMC,SAAS,GAAG,EAAE;AACpB,MAAMC,aAAa,GAAG,CAAC;;AAEvB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,YAAYA,CAACC,IAAI,EAC1B;EACE,IACA;AACE,IAAA,IAAI,OAAOC,MAAM,KAAK,WAAW,EAAE,OAAO,IAAIC,UAAU,CAACD,MAAM,CAACE,IAAI,CAACH,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrF,IAAA,MAAMI,MAAM,GAAGC,IAAI,CAACL,IAAI,CAAC;IACzB,MAAMM,KAAK,GAAG,IAAIJ,UAAU,CAACE,MAAM,CAACG,MAAM,CAAC;IAC3C,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGJ,MAAM,CAACG,MAAM,EAAEC,KAAK,EAAE,EAAEF,KAAK,CAACE,KAAK,CAAC,GAAGJ,MAAM,CAACK,UAAU,CAACD,KAAK,CAAC;AAC3F,IAAA,OAAOF,KAAK;AACd,EAAA,CAAC,CACD,MACA;AACE,IAAA,OAAO,IAAI;AACb,EAAA;AACF;;AAEA;AACA;AACA;AACA;AACA;AACA;AACO,SAASI,qBAAqBA,CAACC,IAAI,EAC1C;EACE,OAAOC,MAAM,CAACD,IAAI,CAAC,CAACE,UAAU,CAAClB,cAAc,CAAC;AAChD;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAASmB,YAAYA,CAACH,IAAI,EAC1B;AACE,EAAA,IAAI,CAACD,qBAAqB,CAACC,IAAI,CAAC,EAAE,OAAO,IAAI;AAE7C,EAAA,MAAMI,IAAI,GAAGhB,YAAY,CAACa,MAAM,CAACD,IAAI,CAAC,CAACK,KAAK,CAACrB,cAAc,CAACY,MAAM,CAAC,CAAC;EACpE,IAAI,CAACQ,IAAI,IAAIA,IAAI,CAACE,UAAU,GAAGrB,YAAY,EAAE,OAAO,IAAI;AAExD,EAAA,MAAMsB,IAAI,GAAG,IAAIC,QAAQ,CAACJ,IAAI,CAACK,MAAM,EAAEL,IAAI,CAACM,UAAU,EAAEN,IAAI,CAACE,UAAU,CAAC;EACxE,MAAMK,KAAK,GAAGJ,IAAI,CAACK,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC;EACrC,MAAMC,QAAQ,GAAG,EAAE;EACnB,IAAIC,QAAQ,GAAG,CAAC;EAChB,KAAK,IAAIC,OAAO,GAAG,CAAC,EAAEA,OAAO,GAAG5B,aAAa,EAAE4B,OAAO,EAAE,EACxD;AACE,IAAA,MAAMC,MAAM,GAAG,CAAC,GAAGD,OAAO,GAAG,CAAC;IAC9B,MAAME,KAAK,GAAGV,IAAI,CAACW,SAAS,CAACF,MAAM,EAAE,IAAI,CAAC;IAC1CH,QAAQ,CAACM,IAAI,CAAC;AACZL,MAAAA,QAAQ,EAAEG,KAAK;MACfG,mBAAmB,EAAEb,IAAI,CAACc,QAAQ,CAACL,MAAM,GAAG,CAAC,CAAC;AAC9CM,MAAAA,kBAAkB,EAAEf,IAAI,CAACc,QAAQ,CAACL,MAAM,GAAG,CAAC;AAC9C,KAAC,CAAC;AACFF,IAAAA,QAAQ,IAAIG,KAAK;AACnB,EAAA;EACA,IAAIb,IAAI,CAACE,UAAU,KAAKrB,YAAY,GAAG6B,QAAQ,GAAG5B,SAAS,EAAE,OAAO,IAAI;AACxE,EAAA,IAAIyB,KAAK,KAAK,CAAC,EAAE,OAAO,IAAI;EAE5B,IAAIY,MAAM,GAAGtC,YAAY;AACzB,EAAA,MAAMuC,WAAW,GAAGX,QAAQ,CAACY,GAAG,CAACV,OAAO,IACxC;IACE,MAAMW,IAAI,GAAG,EAAE;AACf,IAAA,KAAK,IAAI7B,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGkB,OAAO,CAACD,QAAQ,EAAEjB,KAAK,EAAE,EACrD;MACE6B,IAAI,CAACP,IAAI,CAAC;QACRQ,IAAI,EAAEpB,IAAI,CAACqB,UAAU,CAACL,MAAM,EAAE,IAAI,CAAC;QACnCM,KAAK,EAAEtB,IAAI,CAACqB,UAAU,CAACL,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC;QACxCO,WAAW,EAAEvB,IAAI,CAACqB,UAAU,CAACL,MAAM,GAAG,CAAC,EAAE,IAAI,CAAC;QAC9CQ,YAAY,EAAExB,IAAI,CAACqB,UAAU,CAACL,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC;QAChDS,EAAE,EAAEzB,IAAI,CAACW,SAAS,CAACK,MAAM,GAAG,EAAE,EAAE,IAAI,CAAC;QACrCU,aAAa,EAAE1B,IAAI,CAACc,QAAQ,CAACE,MAAM,GAAG,EAAE,CAAC;AACzCW,QAAAA,WAAW,EAAE3B,IAAI,CAACc,QAAQ,CAACE,MAAM,GAAG,EAAE;AACxC,OAAC,CAAC;AACFA,MAAAA,MAAM,IAAIrC,SAAS;AACrB,IAAA;IACA,OAAO;MACLwC,IAAI;MACJZ,QAAQ,EAAEC,OAAO,CAACD,QAAQ;MAC1BM,mBAAmB,EAAEL,OAAO,CAACK,mBAAmB;MAChDE,kBAAkB,EAAEP,OAAO,CAACO;KAC7B;AACH,EAAA,CAAC,CAAC;EAEF,OAAO;IAAEX,KAAK;AAAEa,IAAAA;GAAa;AAC/B;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASW,mBAAmBA,CAACnC,IAAI,EACxC;AACE,EAAA,MAAMoC,QAAQ,GAAGjC,YAAY,CAACH,IAAI,CAAC;AACnC,EAAA,IAAI,CAACoC,QAAQ,EAAE,OAAO,IAAI;AAE1B,EAAA,MAAMC,KAAK,GAAG,IAAIC,cAAa,EAAE;AACjC,EAAA,MAAM,CAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,EAAEC,CAAC,CAAE,GAAGN,QAAQ,CAACZ,WAAW;AAC3Ca,EAAAA,KAAK,CAACE,CAAC,CAACI,aAAa,CAACJ,CAAC,CAAC;AACxBF,EAAAA,KAAK,CAACG,CAAC,CAACG,aAAa,CAACH,CAAC,CAAC;AACxBH,EAAAA,KAAK,CAACI,CAAC,CAACE,aAAa,CAACF,CAAC,CAAC;AACxBJ,EAAAA,KAAK,CAACK,CAAC,CAACC,aAAa,CAACD,CAAC,CAAC;EACxB,OAAO;IAAEL,KAAK;IAAE1B,KAAK,EAAEyB,QAAQ,CAACzB;GAAO;AACzC;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASiC,iBAAiBA,CAAC5C,IAAI,EACtC;AACE,EAAA,MAAMoC,QAAQ,GAAGjC,YAAY,CAACH,IAAI,CAAC;AACnC,EAAA,IAAI,CAACoC,QAAQ,EAAE,OAAO,IAAI;EAE1B,MAAM;IAAEzB,KAAK;AAAEa,IAAAA;AAAY,GAAC,GAAGY,QAAQ;EACvC,MAAMhC,IAAI,GAAG,IAAIyC,YAAY,CAAClC,KAAK,GAAGxB,aAAa,CAAC;AACpD,EAAA,MAAMkD,KAAK,GAAG,IAAIS,eAAc,EAAE;EAClC,KAAK,IAAI/B,OAAO,GAAG,CAAC,EAAEA,OAAO,GAAG5B,aAAa,EAAE4B,OAAO,EAAE,EACxD;AACEsB,IAAAA,KAAK,CAACM,aAAa,CAACnB,WAAW,CAACT,OAAO,CAAC,CAAC;AACzC;AACA;IACAsB,KAAK,CAACU,SAAS,CAAC;MAAEpC,KAAK;AAAEqC,MAAAA,MAAM,EAAE7D,aAAa;AAAEiB,MAAAA,IAAI,EAAEA,IAAI,CAAC6C,QAAQ,CAAClC,OAAO;AAAE,KAAC,CAAC;AACjF,EAAA;AACA,EAAA,KAAK,IAAIlB,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGO,IAAI,CAACR,MAAM,EAAEC,KAAK,EAAE,EAChD;AACEO,IAAAA,IAAI,CAACP,KAAK,CAAC,GAAGqD,GAAG,CAACC,aAAa,CAACD,GAAG,CAACE,WAAW,CAAChD,IAAI,CAACP,KAAK,CAAC,CAAC,CAAC;AAC/D,EAAA;EAEA,OAAO;AACLwD,IAAAA,WAAW,EAAE,MAAM;AACnBC,IAAAA,YAAY,EAAE,kBAAkB;IAChC3C,KAAK;AACL4C,IAAAA,MAAM,EAAE,CAAC;AACTC,IAAAA,WAAW,EAAE,aAAa;IAC1BpD,IAAI;IACJqD,WAAW,EAAE9C,KAAK,GAAG,EAAE;AACvB+C,IAAAA,MAAM,EAAE,UAAU;AAClBC,IAAAA,UAAU,EAAE,QAAQ;AACpBC,IAAAA,SAAS,EAAE;GACZ;AACH;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2PerObjectData.js","sources":["../../../../../../src/trinity/core/rawData/perObjectData/Tr2PerObjectData.js"],"sourcesContent":["// Source: trinity/Tr2PerObjectData.h (Tr2PerObjectData base)\n//\n// Per-object render data. Carries the object id (Carbon's m_userData, used as\n// the picking / object id) and is the value a renderable's GetPerObjectData\n// returns and a batch references via SetPerObjectData.\n//\n// THIS HEAD COMMENT USED TO SAY the upload path was \"engine-owned and\n// intentionally not modelled here; the engine reads the canonical\n// CjsConstantPayload at dispatch\". That was the engine-means-`trinityal/webgpu`\n// misreading: Carbon's SetPerObjectDataToDevice calls FillAndSetConstants,\n// which lives in Tr2RenderUtils.h - Trinity. The upload is here now and it\n// writes a Tr2ConstantBufferAL through the abstraction layer.\n//\n// ApplyConstantBuffers, the indirect-draw sibling, is still unported: it takes\n// a Tr2IndirectDrawBufferWriter and nothing on this path draws indirectly yet.\n\nimport { CjsConstantPayload } from \"#contracts\";\nimport { CjsSchema, carbon, impl } from \"#schema\";\nimport { ShaderType } from \"#consts/render-context\";\nimport { FillAndSetConstants } from \"../../Tr2RenderUtils.js\";\nimport { PER_OBJECT_PS, PER_OBJECT_VS } from \"../../Tr2Renderer.js\";\n\n/**\n * Per-object render data: the object id a batch is picked and identified by,\n * and the upload of its constant payloads through the abstraction layer.\n */\nexport class Tr2PerObjectData\n{\n /** Starts with a zero object id. */\n constructor()\n {\n this.userData = 0;\n }\n\n /** Sets the object id, coerced to an unsigned 32-bit value. */\n SetUserData(userData)\n {\n this.userData = userData >>> 0;\n }\n\n /** The object id, which doubles as the picking id. */\n GetUserData()\n {\n return this.userData;\n }\n\n /**\n * The payloads this object uploads, in binding order.\n *\n * DECLARED BY EACH SUBCLASS, because Carbon's differ in what they hold and\n * there is no single member shape to read. EveDecalPerObjectData owns a\n * vertex/pixel struct pair; EveChildSpherePinPerObjectData owns ONE payload\n * and Carbon uploads the same bytes to both per-object registers;\n * EveChildBehaviorSystemPerObjectData owns nothing and points at the payloads\n * of the object it decorates. A getter covers all three without anything\n * having to guess from properties.\n *\n * The base carries none, matching its empty upload.\n *\n * @returns {object[]} Leased `RawData` payloads.\n */\n GetPayloads()\n {\n return [];\n }\n\n /**\n * Uploads this object's per-object constants and binds them.\n *\n * AN EMPTY BODY, BECAUSE CARBON'S IS (`Tr2PerObjectData.cpp:29-32`). The base\n * declares the virtual and does nothing; `Tr2PerObjectDataStandard` and\n * `Tr2PerObjectDataSkinned` override it, and `Tr2PerObjectDataPSBuffer`\n * deliberately does not - allocating one of those uploads nothing, which is\n * its donor's behaviour rather than an omission here.\n *\n * The static `setPerObjectDataToDevice` below is the shared mechanism these\n * overrides call; this is the dispatch point Carbon's callers reach through.\n *\n * @returns {number} How many payloads were uploaded; none, at this level.\n */\n @carbon.method\n @impl.implemented\n SetPerObjectDataToDevice()\n {\n return 0;\n }\n\n /**\n * The indirect-draw sibling.\n *\n * Carbon's base asserts rather than defaulting (`Tr2PerObjectData.cpp:34-37`),\n * so a call that reached here is a porting mistake and must not look valid.\n */\n @carbon.method\n @impl.notImplemented\n @impl.reason(\"Tr2IndirectDrawBufferWriter is unported and nothing on this path draws indirectly; Carbon's base asserts here too.\")\n ApplyConstantBuffers()\n {\n throw new Error(\"Tr2PerObjectData.ApplyConstantBuffers: indirect draw is unported.\");\n }\n\n // Carbon Tr2RenderContextEnum::ShaderType (trinityal/Tr2RenderContextEnum.h:31-43).\n // The order is the bit order used by every constant-binding mask.\n\n /** Carbon's shader-type vocabulary, in its declared order. */\n static ShaderType = Object.freeze({\n VERTEX_SHADER: 0,\n PIXEL_SHADER: 1,\n COMPUTE_SHADER: 2,\n GEOMETRY_SHADER: 3,\n HULL_SHADER: 4,\n DOMAIN_SHADER: 5\n });\n\n /** A layout stage name to its shader-type bit. */\n static StageBits = Object.freeze({\n vs: 1 << 0,\n ps: 1 << 1,\n cs: 1 << 2,\n gs: 1 << 3,\n hs: 1 << 4,\n ds: 1 << 5\n });\n\n // Carbon's perFrameVsMask (Tr2PerObjectData.cpp:49-54): a payload declared\n // for the vertex stage is bound to the whole non-pixel family, because those\n // stages share the per-object vertex register. A struct declaring \"vs\" is\n // therefore asking for all five, exactly as Carbon's fill does.\n\n /** The stages a \"vs\" payload binds to, per Carbon's per-object VS mask. */\n static VertexFamilyMask =\n Tr2PerObjectData.StageBits.vs\n | Tr2PerObjectData.StageBits.cs\n | Tr2PerObjectData.StageBits.gs\n | Tr2PerObjectData.StageBits.hs\n | Tr2PerObjectData.StageBits.ds;\n\n // Carbon SetPerObjectDataToDevice(buffers, constantTypeMask, renderContext)\n // (Tr2PerObjectData.cpp:47-67 Standard, :75-96 Skinned). getConstantRecords\n // answers WHICH payload binds to WHICH stages for a given technique;\n // SetPerObjectDataToDevice above then uploads them. It is the join Carbon\n // makes per batch, where\n // RenderBatchGroup hoists currentShader->GetShaderTypeMask(technique) once per\n // group and passes it to every batch in that group.\n //\n // A zero mask binds nothing, matching FillAndSetConstants' early return\n // (Tr2RenderUtils.cpp:104-107), so a record is omitted rather than emitted\n // empty.\n //\n // DELIBERATE DEVIATION, because Carbon's two subclasses disagree and one\n // generic path cannot reproduce both. Tr2PerObjectDataStandard binds its\n // PIXEL payload UNMASKED - it passes the PIXEL_SHADER enum straight through,\n // so the pixel constant buffer is filled and bound even for a technique with\n // no pixel stage - while Tr2PerObjectDataSkinned gates the same payload on\n // (constantTypeMask & (1 << PIXEL_SHADER)). This port takes the gated form\n // for every struct. See docs/research/carbon-known-defects.md CE-19.\n\n /**\n * Uploads this object's per-object constants and binds them.\n *\n * Carbon `Tr2PerObjectDataStandard::SetPerObjectDataToDevice`\n * (`Tr2PerObjectData.cpp:47-67`), which is two `FillAndSetConstants` calls\n * and nothing else.\n *\n * THE CPU HALF WAS ALREADY HERE - `getConstantRecords` below answers which\n * payload binds to which stages, gated on the technique's mask. What was\n * missing was this last hop, because it was believed to be work for the\n * `trinityal/webgpu` package rather than for Trinity calling the abstraction\n * layer. `FillAndSetConstants` is in `Tr2RenderUtils.h`, which is Trinity.\n *\n * ONE BUFFER PER STAGE, SUPPLIED BY THE CALLER, as Carbon does: the context\n * owns a small array of per-object constant buffers and hands the same ones\n * to every batch in a group, so the buffer is created once and refilled per\n * object rather than allocated per draw.\n *\n * STATIC, TAKING THE DATA, WHERE CARBON'S IS A VIRTUAL ON IT - and this is\n * forced rather than chosen. Carbon dispatches on the subclass\n * (`Tr2PerObjectDataStandard` / `Tr2PerObjectDataSkinned`), but almost\n * nothing here is a `Tr2PerObjectData` instance: every renderable's\n * `GetPerObjectData` returns a plain `{ vs, ps }` pair of `RawData` records,\n * and only `EveChildCloud2` constructs the class at all. Written as an\n * instance method it would answer for `this` - which has no payloads - and\n * silently upload nothing. `getConstantRecords` beside it is static for the\n * same reason and takes the same argument.\n *\n * @param {object} objectData A `{ vs, ps }` pair, a single payload, or null.\n * @param {Array<object>} buffers A `Tr2ConstantBufferAL` per `ShaderType`.\n * @param {number} constantTypeMask The technique's shader-type mask.\n * @param {object} renderContext The context to upload and bind against.\n * @returns {number} How many payloads were uploaded.\n */\n static setPerObjectDataToDevice(objectData, buffers, constantTypeMask, renderContext)\n {\n let uploaded = 0;\n\n for (const record of Tr2PerObjectData.getConstantRecords(objectData, constantTypeMask))\n {\n // The register is the payload's own: a pixel payload binds at the\n // per-object PS register, everything else at the VS one. Carbon picks\n // between exactly these two the same way.\n const isPixel = record.stageMask === Tr2PerObjectData.StageBits.ps;\n const buffer = buffers[isPixel ? ShaderType.PIXEL_SHADER : ShaderType.VERTEX_SHADER];\n\n if (!buffer) continue;\n\n const bound = FillAndSetConstants(\n buffer,\n record.data,\n record.data.byteLength,\n record.stageMask,\n isPixel ? PER_OBJECT_PS : PER_OBJECT_VS,\n renderContext\n );\n\n if (bound) uploaded += 1;\n }\n\n return uploaded;\n }\n\n /**\n * The per-object constant records to bind for a technique's shader-type mask:\n * one entry per payload that has a stage in common with the mask, carrying the\n * bytes and the stages to bind them to. Accepts a single record, a { vs, ps }\n * pair, or null, which is every shape a renderable's GetPerObjectData returns.\n */\n static getConstantRecords(objectData, shaderTypeMask)\n {\n const mask = shaderTypeMask >>> 0;\n\n if (!objectData || !mask) return [];\n\n const records = [];\n\n for (const payload of Tr2PerObjectData.#payloadsOf(objectData))\n {\n const stages = payload.GetLayout().stages;\n\n if (!stages) continue;\n\n let declared = 0;\n\n for (const stage of stages)\n {\n declared |= stage === \"vs\"\n ? Tr2PerObjectData.VertexFamilyMask\n : (Tr2PerObjectData.StageBits[stage] ?? 0);\n }\n\n const stageMask = declared & mask;\n\n if (stageMask)\n {\n records.push({\n stageMask,\n payload,\n data: payload.GetData(),\n struct: payload.GetStruct()\n });\n }\n }\n\n return records;\n }\n\n /**\n * The payloads carried by a family instance, a single payload, or a\n * { vs, ps } pair.\n *\n * The pair form is what producers not yet moved onto a Carbon class return.\n * `CjsSchema.cast` is the one sanctioned type test on a class we own and it\n * answers on `extends` lineage, so it separates the two without probing for\n * properties or methods.\n */\n static #payloadsOf(objectData)\n {\n if (objectData instanceof CjsConstantPayload) return [ objectData ];\n\n const owned = CjsSchema.cast(objectData, Tr2PerObjectData);\n\n if (owned) return owned.GetPayloads();\n\n return [ objectData.vs, objectData.ps ].filter(Boolean);\n }\n}\n"],"names":["Tr2PerObjectData","_initProto","_applyDecs","carbon","method","impl","implemented","notImplemented","reason","e","constructor","userData","SetUserData","GetUserData","GetPayloads","SetPerObjectDataToDevice","ApplyConstantBuffers","Error","ShaderType","Object","freeze","VERTEX_SHADER","PIXEL_SHADER","COMPUTE_SHADER","GEOMETRY_SHADER","HULL_SHADER","DOMAIN_SHADER","StageBits","vs","ps","cs","gs","hs","ds","VertexFamilyMask","setPerObjectDataToDevice","objectData","buffers","constantTypeMask","renderContext","uploaded","record","getConstantRecords","isPixel","stageMask","buffer","bound","FillAndSetConstants","data","byteLength","PER_OBJECT_PS","PER_OBJECT_VS","shaderTypeMask","mask","records","payload","stages","GetLayout","declared","stage","push","GetData","struct","GetStruct","#payloadsOf","CjsConstantPayload","owned","CjsSchema","cast","filter","Boolean"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2PerObjectData.js","sources":["../../../../../../src/trinity/core/rawData/perObjectData/Tr2PerObjectData.js"],"sourcesContent":["// Source: trinity/Tr2PerObjectData.h (Tr2PerObjectData base)\n//\n// Per-object render data. Carries the object id (Carbon's m_userData, used as\n// the picking / object id) and is the value a renderable's GetPerObjectData\n// returns and a batch references via SetPerObjectData.\n//\n// The upload lives here, as it does in Carbon: SetPerObjectDataToDevice calls\n// FillAndSetConstants (Tr2RenderUtils.h), and this writes a Tr2ConstantBufferAL\n// through the abstraction layer.\n//\n// ApplyConstantBuffers, the indirect-draw sibling, is unported: it takes a\n// Tr2IndirectDrawBufferWriter and nothing on this path draws indirectly yet.\n\nimport { CjsConstantPayload } from \"#contracts\";\nimport { CjsSchema, carbon, impl } from \"#schema\";\nimport { ShaderType } from \"#consts/render-context\";\nimport { FillAndSetConstants } from \"../../Tr2RenderUtils.js\";\nimport { PER_OBJECT_PS, PER_OBJECT_VS } from \"../../Tr2Renderer.js\";\n\n/**\n * Per-object render data: the object id a batch is picked and identified by,\n * and the upload of its constant payloads through the abstraction layer.\n */\nexport class Tr2PerObjectData\n{\n /** Starts with a zero object id. */\n constructor()\n {\n this.userData = 0;\n }\n\n /** Sets the object id, coerced to an unsigned 32-bit value. */\n SetUserData(userData)\n {\n this.userData = userData >>> 0;\n }\n\n /** The object id, which doubles as the picking id. */\n GetUserData()\n {\n return this.userData;\n }\n\n /**\n * The payloads this object uploads, in binding order.\n *\n * DECLARED BY EACH SUBCLASS, because Carbon's differ in what they hold and\n * there is no single member shape to read. EveDecalPerObjectData owns a\n * vertex/pixel struct pair; EveChildSpherePinPerObjectData owns ONE payload\n * and Carbon uploads the same bytes to both per-object registers;\n * EveChildBehaviorSystemPerObjectData owns nothing and points at the payloads\n * of the object it decorates. A getter covers all three without anything\n * having to guess from properties.\n *\n * The base carries none, matching its empty upload.\n *\n * @returns {object[]} Leased `RawData` payloads.\n */\n GetPayloads()\n {\n return [];\n }\n\n /**\n * Uploads this object's per-object constants and binds them.\n *\n * AN EMPTY BODY, BECAUSE CARBON'S IS (`Tr2PerObjectData.cpp:29-32`). The base\n * declares the virtual and does nothing; `Tr2PerObjectDataStandard` and\n * `Tr2PerObjectDataSkinned` override it, and `Tr2PerObjectDataPSBuffer`\n * deliberately does not - allocating one of those uploads nothing, which is\n * its donor's behaviour rather than an omission here.\n *\n * The static `setPerObjectDataToDevice` below is the shared mechanism these\n * overrides call; this is the dispatch point Carbon's callers reach through.\n *\n * @returns {number} How many payloads were uploaded; none, at this level.\n */\n @carbon.method\n @impl.implemented\n SetPerObjectDataToDevice()\n {\n return 0;\n }\n\n /**\n * The indirect-draw sibling.\n *\n * Carbon's base asserts rather than defaulting (`Tr2PerObjectData.cpp:34-37`),\n * so a call that reached here is a porting mistake and must not look valid.\n */\n @carbon.method\n @impl.notImplemented\n @impl.reason(\"Tr2IndirectDrawBufferWriter is unported and nothing on this path draws indirectly; Carbon's base asserts here too.\")\n ApplyConstantBuffers()\n {\n throw new Error(\"Tr2PerObjectData.ApplyConstantBuffers: indirect draw is unported.\");\n }\n\n // Carbon Tr2RenderContextEnum::ShaderType (trinityal/Tr2RenderContextEnum.h:31-43).\n // The order is the bit order used by every constant-binding mask.\n\n /** Carbon's shader-type vocabulary, in its declared order. */\n static ShaderType = Object.freeze({\n VERTEX_SHADER: 0,\n PIXEL_SHADER: 1,\n COMPUTE_SHADER: 2,\n GEOMETRY_SHADER: 3,\n HULL_SHADER: 4,\n DOMAIN_SHADER: 5\n });\n\n /** A layout stage name to its shader-type bit. */\n static StageBits = Object.freeze({\n vs: 1 << 0,\n ps: 1 << 1,\n cs: 1 << 2,\n gs: 1 << 3,\n hs: 1 << 4,\n ds: 1 << 5\n });\n\n // Carbon's perFrameVsMask (Tr2PerObjectData.cpp:49-54): a payload declared\n // for the vertex stage is bound to the whole non-pixel family, because those\n // stages share the per-object vertex register. A struct declaring \"vs\" is\n // therefore asking for all five, exactly as Carbon's fill does.\n\n /** The stages a \"vs\" payload binds to, per Carbon's per-object VS mask. */\n static VertexFamilyMask =\n Tr2PerObjectData.StageBits.vs\n | Tr2PerObjectData.StageBits.cs\n | Tr2PerObjectData.StageBits.gs\n | Tr2PerObjectData.StageBits.hs\n | Tr2PerObjectData.StageBits.ds;\n\n // Carbon SetPerObjectDataToDevice(buffers, constantTypeMask, renderContext)\n // (Tr2PerObjectData.cpp:47-67 Standard, :75-96 Skinned). getConstantRecords\n // answers WHICH payload binds to WHICH stages for a given technique;\n // SetPerObjectDataToDevice above then uploads them. It is the join Carbon\n // makes per batch, where\n // RenderBatchGroup hoists currentShader->GetShaderTypeMask(technique) once per\n // group and passes it to every batch in that group.\n //\n // A zero mask binds nothing, matching FillAndSetConstants' early return\n // (Tr2RenderUtils.cpp:104-107), so a record is omitted rather than emitted\n // empty.\n //\n // DELIBERATE DEVIATION, because Carbon's two subclasses disagree and one\n // generic path cannot reproduce both. Tr2PerObjectDataStandard binds its\n // PIXEL payload UNMASKED - it passes the PIXEL_SHADER enum straight through,\n // so the pixel constant buffer is filled and bound even for a technique with\n // no pixel stage - while Tr2PerObjectDataSkinned gates the same payload on\n // (constantTypeMask & (1 << PIXEL_SHADER)). This port takes the gated form\n // for every struct. See docs/research/carbon-known-defects.md CE-19.\n\n /**\n * Uploads this object's per-object constants and binds them.\n *\n * Carbon `Tr2PerObjectDataStandard::SetPerObjectDataToDevice`\n * (`Tr2PerObjectData.cpp:47-67`), which is two `FillAndSetConstants` calls\n * and nothing else.\n *\n * THE CPU HALF WAS ALREADY HERE - `getConstantRecords` below answers which\n * payload binds to which stages, gated on the technique's mask. What was\n * missing was this last hop, because it was believed to be work for the\n * `trinityal/webgpu` package rather than for Trinity calling the abstraction\n * layer. `FillAndSetConstants` is in `Tr2RenderUtils.h`, which is Trinity.\n *\n * ONE BUFFER PER STAGE, SUPPLIED BY THE CALLER, as Carbon does: the context\n * owns a small array of per-object constant buffers and hands the same ones\n * to every batch in a group, so the buffer is created once and refilled per\n * object rather than allocated per draw.\n *\n * STATIC, TAKING THE DATA, WHERE CARBON'S IS A VIRTUAL ON IT - and this is\n * forced rather than chosen. Carbon dispatches on the subclass\n * (`Tr2PerObjectDataStandard` / `Tr2PerObjectDataSkinned`), but almost\n * nothing here is a `Tr2PerObjectData` instance: every renderable's\n * `GetPerObjectData` returns a plain `{ vs, ps }` pair of `RawData` records,\n * and only `EveChildCloud2` constructs the class at all. Written as an\n * instance method it would answer for `this` - which has no payloads - and\n * silently upload nothing. `getConstantRecords` beside it is static for the\n * same reason and takes the same argument.\n *\n * @param {object} objectData A `{ vs, ps }` pair, a single payload, or null.\n * @param {Array<object>} buffers A `Tr2ConstantBufferAL` per `ShaderType`.\n * @param {number} constantTypeMask The technique's shader-type mask.\n * @param {object} renderContext The context to upload and bind against.\n * @returns {number} How many payloads were uploaded.\n */\n static setPerObjectDataToDevice(objectData, buffers, constantTypeMask, renderContext)\n {\n let uploaded = 0;\n\n for (const record of Tr2PerObjectData.getConstantRecords(objectData, constantTypeMask))\n {\n // The register is the payload's own: a pixel payload binds at the\n // per-object PS register, everything else at the VS one. Carbon picks\n // between exactly these two the same way.\n const isPixel = record.stageMask === Tr2PerObjectData.StageBits.ps;\n const buffer = buffers[isPixel ? ShaderType.PIXEL_SHADER : ShaderType.VERTEX_SHADER];\n\n if (!buffer) continue;\n\n const bound = FillAndSetConstants(\n buffer,\n record.data,\n record.data.byteLength,\n record.stageMask,\n isPixel ? PER_OBJECT_PS : PER_OBJECT_VS,\n renderContext\n );\n\n if (bound) uploaded += 1;\n }\n\n return uploaded;\n }\n\n /**\n * The per-object constant records to bind for a technique's shader-type mask:\n * one entry per payload that has a stage in common with the mask, carrying the\n * bytes and the stages to bind them to. Accepts a single record, a { vs, ps }\n * pair, or null, which is every shape a renderable's GetPerObjectData returns.\n */\n static getConstantRecords(objectData, shaderTypeMask)\n {\n const mask = shaderTypeMask >>> 0;\n\n if (!objectData || !mask) return [];\n\n const records = [];\n\n for (const payload of Tr2PerObjectData.#payloadsOf(objectData))\n {\n const stages = payload.GetLayout().stages;\n\n if (!stages) continue;\n\n let declared = 0;\n\n for (const stage of stages)\n {\n declared |= stage === \"vs\"\n ? Tr2PerObjectData.VertexFamilyMask\n : (Tr2PerObjectData.StageBits[stage] ?? 0);\n }\n\n const stageMask = declared & mask;\n\n if (stageMask)\n {\n records.push({\n stageMask,\n payload,\n data: payload.GetData(),\n struct: payload.GetStruct()\n });\n }\n }\n\n return records;\n }\n\n /**\n * The payloads carried by a family instance, a single payload, or a\n * { vs, ps } pair.\n *\n * The pair form is what producers not yet moved onto a Carbon class return.\n * `CjsSchema.cast` is the one sanctioned type test on a class we own and it\n * answers on `extends` lineage, so it separates the two without probing for\n * properties or methods.\n */\n static #payloadsOf(objectData)\n {\n if (objectData instanceof CjsConstantPayload) return [ objectData ];\n\n const owned = CjsSchema.cast(objectData, Tr2PerObjectData);\n\n if (owned) return owned.GetPayloads();\n\n return [ objectData.vs, objectData.ps ].filter(Boolean);\n }\n}\n"],"names":["Tr2PerObjectData","_initProto","_applyDecs","carbon","method","impl","implemented","notImplemented","reason","e","constructor","userData","SetUserData","GetUserData","GetPayloads","SetPerObjectDataToDevice","ApplyConstantBuffers","Error","ShaderType","Object","freeze","VERTEX_SHADER","PIXEL_SHADER","COMPUTE_SHADER","GEOMETRY_SHADER","HULL_SHADER","DOMAIN_SHADER","StageBits","vs","ps","cs","gs","hs","ds","VertexFamilyMask","setPerObjectDataToDevice","objectData","buffers","constantTypeMask","renderContext","uploaded","record","getConstantRecords","isPixel","stageMask","buffer","bound","FillAndSetConstants","data","byteLength","PER_OBJECT_PS","PER_OBJECT_VS","shaderTypeMask","mask","records","payload","stages","GetLayout","declared","stage","push","GetData","struct","GetStruct","#payloadsOf","CjsConstantPayload","owned","CjsSchema","cast","filter","Boolean"],"mappings":"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"}
@@ -92,6 +92,11 @@ class Tr2PerObjectDataPSBuffer extends Tr2PerObjectData {
92
92
  GetPayloads() {
93
93
  return [this.ps];
94
94
  }
95
+
96
+ /**
97
+ * Allocates pixel-stage object data and checks its size against the stage
98
+ * budget.
99
+ */
95
100
  static alloc(accumulator, psStruct) {
96
101
  const data = new this();
97
102
  data.ps = accumulator.Alloc(psStruct);
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2PerObjectDataPSBuffer.js","sources":["../../../../../../src/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js"],"sourcesContent":["// Source: trinity/Tr2PerObjectData.h:42 (Tr2PerObjectDataPSBuffer)\n// Source: trinity/Tr2PerObjectData.cpp:29-37 (the base upload and apply bodies)\n//\n// Shared pixel-shader storage for the per-object data classes that carry one.\n//\n// NOTHING BINDS AT THIS LEVEL. Carbon's base SetPerObjectDataToDevice is an\n// empty body and this class does not override it, so it is storage and nothing\n// else - exactly as its donor comment says, \"a common functionality of\n// Tr2PerObjectDataStandard, Tr2PerAreaSHLightingData and\n// Tr2PerObjectDataSkinned\". Allocating one directly uploads nothing, which is\n// Carbon's behaviour and not an omission here.\n//\n// WHY THERE IS NO CopyToPSFloatBuffer. Carbon's Copy methods bridge a STACK\n// struct into a member float array:\n//\n// EvePerObjectPSData perObjectPSBuffer; // stack, defaults\n// perObjectPSBuffer.WorldMat = Transpose( m_worldTransform );\n// data->CopyToPSFloatBuffer( perObjectPSBuffer ); // memcpy into member\n//\n// JavaScript has no such gap: a RawData already IS the uploadable buffer. So the\n// class leases its RawData in the named shape and the producer writes onto it\n// directly. A method carrying Carbon's name while accepting field-wise writes\n// instead of a whole struct would read as ported when it is not.\n//\n// Carbon's three static_asserts land as one create-time check. `sizeof(T) <=\n// sizeof(buffer)` is AssertFitsPerObjectBudget; `sizeof(T) % 16 == 0` is already\n// guaranteed by every CjsPerObjectLayouts stride; the not-a-pointer assert has\n// no JS counterpart.\n\nimport { Tr2PerObjectData } from \"./Tr2PerObjectData.js\";\n\n\n/** `m_pixelShaderFloatConstantBuffer[80 * 4]` - Carbon's PS register budget. */\nexport const PER_OBJECT_PS_FLOAT_CAPACITY = 80 * 4;\n\n/** `m_vertexShaderFloatConstantBuffer[40 * 4]` - Carbon's VS register budget. */\nexport const PER_OBJECT_VS_FLOAT_CAPACITY = 40 * 4;\n\n\n/**\n * Carbon's `static_assert( sizeof( T ) <= sizeof( buffer ) )`, at lease time.\n *\n * A layout wider than its register budget is a porting mistake rather than a\n * runtime condition, so this throws. `FillAndSetConstants` would otherwise clamp\n * the copy to the buffer and drop the tail - which is Carbon's own behaviour for\n * an oversized payload, and exactly the quiet wrongness the assert exists to\n * stop at build time.\n *\n * @param {object} payload A leased `RawData`.\n * @param {number} floatCapacity The register budget, in floats.\n * @param {string} struct The layout name, for the message.\n * @param {string} half Either \"VS\" or \"PS\", for the message.\n */\nexport function AssertFitsPerObjectBudget(payload, floatCapacity, struct, half)\n{\n const floats = payload.GetData().length;\n\n if (floats > floatCapacity)\n {\n throw new Error(\n `Tr2PerObjectData: ${half} layout \"${struct}\" is ${floats} floats, `\n + `over Carbon's ${floatCapacity}-float per-object ${half} register budget.`\n );\n }\n}\n\n\n/**\n * Per-object data carrying a pixel-shader payload.\n *\n * Storage only: it declares no upload, because Carbon's does not.\n */\nexport class Tr2PerObjectDataPSBuffer extends Tr2PerObjectData\n{\n /**\n * The pixel payload, in the shape this object was leased for.\n *\n * Carbon's equivalent is a fixed 1,280-byte member zeroed in the constructor,\n * with `m_pixelShaderFloatBufferSize` recording how much of it a copy filled.\n * Ours is exactly its layout's stride, so the size IS the buffer and there is\n * no tail to disagree about.\n */\n ps = null;\n\n /**\n * Leases a per-object data object and its pixel payload.\n *\n * Carbon leases the OBJECT from the accumulator too -\n * `accumulator->Allocate<Tr2PerObjectDataStandard>()` - because its buffers are\n * inline members and the whole thing lives in the frame arena. Constructed\n * directly here instead, because `ITriRenderBatchAccumulator.Allocate` records\n * that it only calls the constructor - in JS the GC owns the object's lifetime,\n * and it is the BUFFERS that need the arena. If that door ever starts pooling,\n * route this through it.\n *\n * @param {object} accumulator An `ITriRenderBatchAccumulator`.\n * @param {string} psStruct A `CjsPerObjectLayouts` struct name.\n * @returns {Tr2PerObjectDataPSBuffer} The leased object.\n */\n /** @returns {object[]} The pixel payload. */\n GetPayloads()\n {\n return [ this.ps ];\n }\n\n static alloc(accumulator, psStruct)\n {\n const data = new this();\n\n data.ps = accumulator.Alloc(psStruct);\n\n AssertFitsPerObjectBudget(data.ps, PER_OBJECT_PS_FLOAT_CAPACITY, psStruct, \"PS\");\n\n return data;\n }\n}\n"],"names":["PER_OBJECT_PS_FLOAT_CAPACITY","PER_OBJECT_VS_FLOAT_CAPACITY","AssertFitsPerObjectBudget","payload","floatCapacity","struct","half","floats","GetData","length","Error","Tr2PerObjectDataPSBuffer","Tr2PerObjectData","ps","GetPayloads","alloc","accumulator","psStruct","data","Alloc"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAKA;AACO,MAAMA,4BAA4B,GAAG,EAAE,GAAG;;AAEjD;AACO,MAAMC,4BAA4B,GAAG,EAAE,GAAG;;AAGjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,yBAAyBA,CAACC,OAAO,EAAEC,aAAa,EAAEC,MAAM,EAAEC,IAAI,EAC9E;EACE,MAAMC,MAAM,GAAGJ,OAAO,CAACK,OAAO,EAAE,CAACC,MAAM;EAEvC,IAAIF,MAAM,GAAGH,aAAa,EAC1B;AACE,IAAA,MAAM,IAAIM,KAAK,CACb,CAAA,kBAAA,EAAqBJ,IAAI,YAAYD,MAAM,CAAA,KAAA,EAAQE,MAAM,CAAA,SAAA,CAAW,GAClE,CAAA,cAAA,EAAiBH,aAAa,CAAA,kBAAA,EAAqBE,IAAI,mBAC3D,CAAC;AACH,EAAA;AACF;;AAGA;AACA;AACA;AACA;AACA;AACO,MAAMK,wBAAwB,SAASC,gBAAgB,CAC9D;AACE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,EAAE,GAAG,IAAI;;AAET;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE;AACAC,EAAAA,WAAWA,GACX;AACE,IAAA,OAAO,CAAE,IAAI,CAACD,EAAE,CAAE;AACpB,EAAA;AAEA,EAAA,OAAOE,KAAKA,CAACC,WAAW,EAAEC,QAAQ,EAClC;AACE,IAAA,MAAMC,IAAI,GAAG,IAAI,IAAI,EAAE;IAEvBA,IAAI,CAACL,EAAE,GAAGG,WAAW,CAACG,KAAK,CAACF,QAAQ,CAAC;IAErCf,yBAAyB,CAACgB,IAAI,CAACL,EAAE,EAAEb,4BAA4B,EAAEiB,QAAQ,EAAE,IAAI,CAAC;AAEhF,IAAA,OAAOC,IAAI;AACb,EAAA;AACF;;;;"}
1
+ {"version":3,"file":"Tr2PerObjectDataPSBuffer.js","sources":["../../../../../../src/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js"],"sourcesContent":["// Source: trinity/Tr2PerObjectData.h:42 (Tr2PerObjectDataPSBuffer)\n// Source: trinity/Tr2PerObjectData.cpp:29-37 (the base upload and apply bodies)\n//\n// Shared pixel-shader storage for the per-object data classes that carry one.\n//\n// NOTHING BINDS AT THIS LEVEL. Carbon's base SetPerObjectDataToDevice is an\n// empty body and this class does not override it, so it is storage and nothing\n// else - exactly as its donor comment says, \"a common functionality of\n// Tr2PerObjectDataStandard, Tr2PerAreaSHLightingData and\n// Tr2PerObjectDataSkinned\". Allocating one directly uploads nothing, which is\n// Carbon's behaviour and not an omission here.\n//\n// WHY THERE IS NO CopyToPSFloatBuffer. Carbon's Copy methods bridge a STACK\n// struct into a member float array:\n//\n// EvePerObjectPSData perObjectPSBuffer; // stack, defaults\n// perObjectPSBuffer.WorldMat = Transpose( m_worldTransform );\n// data->CopyToPSFloatBuffer( perObjectPSBuffer ); // memcpy into member\n//\n// JavaScript has no such gap: a RawData already IS the uploadable buffer. So the\n// class leases its RawData in the named shape and the producer writes onto it\n// directly. A method carrying Carbon's name while accepting field-wise writes\n// instead of a whole struct would read as ported when it is not.\n//\n// Carbon's three static_asserts land as one create-time check. `sizeof(T) <=\n// sizeof(buffer)` is AssertFitsPerObjectBudget; `sizeof(T) % 16 == 0` is already\n// guaranteed by every CjsPerObjectLayouts stride; the not-a-pointer assert has\n// no JS counterpart.\n\nimport { Tr2PerObjectData } from \"./Tr2PerObjectData.js\";\n\n\n/** `m_pixelShaderFloatConstantBuffer[80 * 4]` - Carbon's PS register budget. */\nexport const PER_OBJECT_PS_FLOAT_CAPACITY = 80 * 4;\n\n/** `m_vertexShaderFloatConstantBuffer[40 * 4]` - Carbon's VS register budget. */\nexport const PER_OBJECT_VS_FLOAT_CAPACITY = 40 * 4;\n\n\n/**\n * Carbon's `static_assert( sizeof( T ) <= sizeof( buffer ) )`, at lease time.\n *\n * A layout wider than its register budget is a porting mistake rather than a\n * runtime condition, so this throws. `FillAndSetConstants` would otherwise clamp\n * the copy to the buffer and drop the tail - which is Carbon's own behaviour for\n * an oversized payload, and exactly the quiet wrongness the assert exists to\n * stop at build time.\n *\n * @param {object} payload A leased `RawData`.\n * @param {number} floatCapacity The register budget, in floats.\n * @param {string} struct The layout name, for the message.\n * @param {string} half Either \"VS\" or \"PS\", for the message.\n */\nexport function AssertFitsPerObjectBudget(payload, floatCapacity, struct, half)\n{\n const floats = payload.GetData().length;\n\n if (floats > floatCapacity)\n {\n throw new Error(\n `Tr2PerObjectData: ${half} layout \"${struct}\" is ${floats} floats, `\n + `over Carbon's ${floatCapacity}-float per-object ${half} register budget.`\n );\n }\n}\n\n\n/**\n * Per-object data carrying a pixel-shader payload.\n *\n * Storage only: it declares no upload, because Carbon's does not.\n */\nexport class Tr2PerObjectDataPSBuffer extends Tr2PerObjectData\n{\n /**\n * The pixel payload, in the shape this object was leased for.\n *\n * Carbon's equivalent is a fixed 1,280-byte member zeroed in the constructor,\n * with `m_pixelShaderFloatBufferSize` recording how much of it a copy filled.\n * Ours is exactly its layout's stride, so the size IS the buffer and there is\n * no tail to disagree about.\n */\n ps = null;\n\n /**\n * Leases a per-object data object and its pixel payload.\n *\n * Carbon leases the OBJECT from the accumulator too -\n * `accumulator->Allocate<Tr2PerObjectDataStandard>()` - because its buffers are\n * inline members and the whole thing lives in the frame arena. Constructed\n * directly here instead, because `ITriRenderBatchAccumulator.Allocate` records\n * that it only calls the constructor - in JS the GC owns the object's lifetime,\n * and it is the BUFFERS that need the arena. If that door ever starts pooling,\n * route this through it.\n *\n * @param {object} accumulator An `ITriRenderBatchAccumulator`.\n * @param {string} psStruct A `CjsPerObjectLayouts` struct name.\n * @returns {Tr2PerObjectDataPSBuffer} The leased object.\n */\n /** @returns {object[]} The pixel payload. */\n GetPayloads()\n {\n return [ this.ps ];\n }\n\n /**\n * Allocates pixel-stage object data and checks its size against the stage\n * budget.\n */\n static alloc(accumulator, psStruct)\n {\n const data = new this();\n\n data.ps = accumulator.Alloc(psStruct);\n\n AssertFitsPerObjectBudget(data.ps, PER_OBJECT_PS_FLOAT_CAPACITY, psStruct, \"PS\");\n\n return data;\n }\n}\n"],"names":["PER_OBJECT_PS_FLOAT_CAPACITY","PER_OBJECT_VS_FLOAT_CAPACITY","AssertFitsPerObjectBudget","payload","floatCapacity","struct","half","floats","GetData","length","Error","Tr2PerObjectDataPSBuffer","Tr2PerObjectData","ps","GetPayloads","alloc","accumulator","psStruct","data","Alloc"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAKA;AACO,MAAMA,4BAA4B,GAAG,EAAE,GAAG;;AAEjD;AACO,MAAMC,4BAA4B,GAAG,EAAE,GAAG;;AAGjD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASC,yBAAyBA,CAACC,OAAO,EAAEC,aAAa,EAAEC,MAAM,EAAEC,IAAI,EAC9E;EACE,MAAMC,MAAM,GAAGJ,OAAO,CAACK,OAAO,EAAE,CAACC,MAAM;EAEvC,IAAIF,MAAM,GAAGH,aAAa,EAC1B;AACE,IAAA,MAAM,IAAIM,KAAK,CACb,CAAA,kBAAA,EAAqBJ,IAAI,YAAYD,MAAM,CAAA,KAAA,EAAQE,MAAM,CAAA,SAAA,CAAW,GAClE,CAAA,cAAA,EAAiBH,aAAa,CAAA,kBAAA,EAAqBE,IAAI,mBAC3D,CAAC;AACH,EAAA;AACF;;AAGA;AACA;AACA;AACA;AACA;AACO,MAAMK,wBAAwB,SAASC,gBAAgB,CAC9D;AACE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,EAAE,GAAG,IAAI;;AAET;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACE;AACAC,EAAAA,WAAWA,GACX;AACE,IAAA,OAAO,CAAE,IAAI,CAACD,EAAE,CAAE;AACpB,EAAA;;AAEA;AACF;AACA;AACA;AACE,EAAA,OAAOE,KAAKA,CAACC,WAAW,EAAEC,QAAQ,EAClC;AACE,IAAA,MAAMC,IAAI,GAAG,IAAI,IAAI,EAAE;IAEvBA,IAAI,CAACL,EAAE,GAAGG,WAAW,CAACG,KAAK,CAACF,QAAQ,CAAC;IAErCf,yBAAyB,CAACgB,IAAI,CAACL,EAAE,EAAEb,4BAA4B,EAAEiB,QAAQ,EAAE,IAAI,CAAC;AAEhF,IAAA,OAAOC,IAAI;AACb,EAAA;AACF;;;;"}
@@ -31,6 +31,8 @@ class Tr2PerObjectDataStandard extends Tr2PerObjectDataPSBuffer {
31
31
  GetPayloads() {
32
32
  return [this.vs, this.ps];
33
33
  }
34
+
35
+ /** Allocates vertex and pixel object data and checks their stage budgets. */
34
36
  static alloc(accumulator, vsStruct, psStruct) {
35
37
  const data = super.alloc(accumulator, psStruct);
36
38
  data.vs = accumulator.Alloc(vsStruct);
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2PerObjectDataStandard.js","sources":["../../../../../../src/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js"],"sourcesContent":["// Source: trinity/Tr2PerObjectData.h:71 (Tr2PerObjectDataStandard)\n// Source: trinity/Tr2PerObjectData.cpp:42-73\n//\n// Per-object data for an ordinary renderable: one vertex payload and one pixel\n// payload, uploaded to the per-object registers.\n//\n// Carbon's producers are EveLineSet, EveCurveLineSet and EveEllipseSet (each\n// Eve/UI/*.cpp, GetPerObjectData), all of which fill only WorldMat and leave\n// every other field at its layout default.\n//\n// WHY THIS CLASS EXISTS RATHER THAN A { vs, ps } RECORD. Carbon's upload is a\n// virtual on the data, and its subclasses differ in a way no shared function can\n// express: Standard binds its pixel buffer without consulting the technique mask\n// while Skinned gates the identical payload behind it. In C++ that difference is\n// carried entirely by overload resolution on an argument type -\n// FillAndSetConstants takes `unsigned` at Tr2RenderUtils.h:35 and `ShaderType`\n// at :46, the latter shifting `1 << t` - which JavaScript cannot express. With\n// the class restored, each subclass simply states its own behaviour.\n\nimport { Tr2PerObjectData } from \"./Tr2PerObjectData.js\";\nimport {\n AssertFitsPerObjectBudget,\n PER_OBJECT_VS_FLOAT_CAPACITY,\n Tr2PerObjectDataPSBuffer\n} from \"./Tr2PerObjectDataPSBuffer.js\";\nimport { carbon, impl } from \"#schema\";\n\n\n/**\n * Per-object data with both a vertex and a pixel payload.\n */\nexport class Tr2PerObjectDataStandard extends Tr2PerObjectDataPSBuffer\n{\n /** The vertex payload, in the shape this object was leased for. */\n vs = null;\n\n /**\n * Leases a per-object data object and both of its payloads.\n *\n * @param {object} accumulator An `ITriRenderBatchAccumulator`.\n * @param {string} vsStruct A `CjsPerObjectLayouts` struct name for the vertex payload.\n * @param {string} psStruct A `CjsPerObjectLayouts` struct name for the pixel payload.\n * @returns {Tr2PerObjectDataStandard} The leased object.\n */\n /**\n * Vertex payload first, matching the order Carbon binds them in.\n *\n * @returns {object[]} Both payloads.\n */\n GetPayloads()\n {\n return [ this.vs, this.ps ];\n }\n\n static alloc(accumulator, vsStruct, psStruct)\n {\n const data = super.alloc(accumulator, psStruct);\n\n data.vs = accumulator.Alloc(vsStruct);\n\n AssertFitsPerObjectBudget(data.vs, PER_OBJECT_VS_FLOAT_CAPACITY, vsStruct, \"VS\");\n\n return data;\n }\n\n /**\n * Uploads both payloads and binds them at the per-object registers.\n *\n * THE PIXEL HALF IS GATED HERE AND IS NOT IN CARBON, which is the one\n * behavioural divergence in this class. Carbon passes the PIXEL_SHADER enum,\n * selecting the overload that shifts `1 << PIXEL_SHADER` and never intersects\n * it with the technique's mask, so Standard binds its pixel buffer even for a\n * technique with no pixel stage (`Tr2PerObjectData.cpp:61-66`; Skinned gates\n * the same payload at :77).\n *\n * We gate it, for a reason Carbon does not have available: our layouts DECLARE\n * which stages they serve, so the gate is per layout rather than per hardcoded\n * half, and it is strictly more precise. `FillAndSetConstants` is built around\n * that - its own head comment records that a zero mask binding nothing \"is how\n * a payload declared for stages a technique does not use gets skipped, per\n * batch, without the caller testing anything\". Binding a pixel buffer for a\n * pipeline with no pixel stage is wasted upload work, and the declaration also\n * expresses a payload serving both stages in ONE buffer, which Carbon can only\n * do with two.\n *\n * The upload itself is the shared static, so this class adds the virtual and\n * the identity without a second copy of the mechanism.\n *\n * @param {object[]} buffers A `Tr2ConstantBufferAL` per `ShaderType`.\n * @param {number} constantTypeMask A bit per `ShaderType`.\n * @param {object} renderContext The context to upload and bind against.\n * @returns {number} How many payloads were uploaded.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon binds the pixel payload without consulting the technique mask, distinguished from the gated form only by C++ overload resolution on an argument type. Our layouts declare the stages they serve, so the gate is per declaration and more precise than Carbon's hardcoded halves.\")\n SetPerObjectDataToDevice(buffers, constantTypeMask, renderContext)\n {\n return Tr2PerObjectData.setPerObjectDataToDevice(this, buffers, constantTypeMask, renderContext);\n }\n\n /**\n * The indirect-draw sibling.\n *\n * Carbon writes both payloads through a `Tr2IndirectDrawBufferWriter`\n * (`Tr2PerObjectData.cpp:69-73`). That class has no JS counterpart and nothing\n * on this path draws indirectly, and Carbon's base asserts rather than\n * defaulting (`:34-37`), so an accidental call must not look successful.\n */\n @carbon.method\n @impl.notImplemented\n @impl.reason(\"Tr2IndirectDrawBufferWriter is unported and nothing on this path draws indirectly.\")\n ApplyConstantBuffers()\n {\n throw new Error(\"Tr2PerObjectDataStandard.ApplyConstantBuffers: indirect draw is unported.\");\n }\n}\n"],"names":["Tr2PerObjectDataStandard","Tr2PerObjectDataPSBuffer","_initProto","_applyDecs","carbon","method","impl","adapted","reason","notImplemented","e","vs","GetPayloads","ps","alloc","accumulator","vsStruct","psStruct","data","Alloc","AssertFitsPerObjectBudget","PER_OBJECT_VS_FLOAT_CAPACITY","SetPerObjectDataToDevice","buffers","constantTypeMask","renderContext","Tr2PerObjectData","setPerObjectDataToDevice","ApplyConstantBuffers","Error"],"mappings":";;;;;;;AA4BA;AACA;AACA;AACO,MAAMA,wBAAwB,SAASC,wBAAwB,CACtE;AAAA,EAAA;IAAA,CAAAC,UAAA,IAAAC,cAAA,CAAA,IAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CA6DGC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,yRAAyR,CAAC,sCActSJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,cAAc,UACnBH,IAAI,CAACE,MAAM,CAAC,oFAAoF,CAAC,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAhFtDP,wBAAwB,EAAAS,CAAA;AAAA;AAEpE;EACAC,EAAE,IAAAT,UAAA,CAAA,IAAA,CAAA,EAAG,IAAI;;AAET;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACE;AACF;AACA;AACA;AACA;AACEU,EAAAA,WAAWA,GACX;IACE,OAAO,CAAE,IAAI,CAACD,EAAE,EAAE,IAAI,CAACE,EAAE,CAAE;AAC7B,EAAA;AAEA,EAAA,OAAOC,KAAKA,CAACC,WAAW,EAAEC,QAAQ,EAAEC,QAAQ,EAC5C;IACE,MAAMC,IAAI,GAAG,KAAK,CAACJ,KAAK,CAACC,WAAW,EAAEE,QAAQ,CAAC;IAE/CC,IAAI,CAACP,EAAE,GAAGI,WAAW,CAACI,KAAK,CAACH,QAAQ,CAAC;IAErCI,yBAAyB,CAACF,IAAI,CAACP,EAAE,EAAEU,4BAA4B,EAAEL,QAAQ,EAAE,IAAI,CAAC;AAEhF,IAAA,OAAOE,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIEI,EAAAA,wBAAwBA,CAACC,OAAO,EAAEC,gBAAgB,EAAEC,aAAa,EACjE;IACE,OAAOC,gBAAgB,CAACC,wBAAwB,CAAC,IAAI,EAAEJ,OAAO,EAAEC,gBAAgB,EAAEC,aAAa,CAAC;AAClG,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AAIEG,EAAAA,oBAAoBA,GACpB;AACE,IAAA,MAAM,IAAIC,KAAK,CAAC,2EAA2E,CAAC;AAC9F,EAAA;AACF;;;;"}
1
+ {"version":3,"file":"Tr2PerObjectDataStandard.js","sources":["../../../../../../src/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js"],"sourcesContent":["// Source: trinity/Tr2PerObjectData.h:71 (Tr2PerObjectDataStandard)\n// Source: trinity/Tr2PerObjectData.cpp:42-73\n//\n// Per-object data for an ordinary renderable: one vertex payload and one pixel\n// payload, uploaded to the per-object registers.\n//\n// Carbon's producers are EveLineSet, EveCurveLineSet and EveEllipseSet (each\n// Eve/UI/*.cpp, GetPerObjectData), all of which fill only WorldMat and leave\n// every other field at its layout default.\n//\n// WHY THIS CLASS EXISTS RATHER THAN A { vs, ps } RECORD. Carbon's upload is a\n// virtual on the data, and its subclasses differ in a way no shared function can\n// express: Standard binds its pixel buffer without consulting the technique mask\n// while Skinned gates the identical payload behind it. In C++ that difference is\n// carried entirely by overload resolution on an argument type -\n// FillAndSetConstants takes `unsigned` at Tr2RenderUtils.h:35 and `ShaderType`\n// at :46, the latter shifting `1 << t` - which JavaScript cannot express. With\n// the class restored, each subclass simply states its own behaviour.\n\nimport { Tr2PerObjectData } from \"./Tr2PerObjectData.js\";\nimport {\n AssertFitsPerObjectBudget,\n PER_OBJECT_VS_FLOAT_CAPACITY,\n Tr2PerObjectDataPSBuffer\n} from \"./Tr2PerObjectDataPSBuffer.js\";\nimport { carbon, impl } from \"#schema\";\n\n\n/**\n * Per-object data with both a vertex and a pixel payload.\n */\nexport class Tr2PerObjectDataStandard extends Tr2PerObjectDataPSBuffer\n{\n /** The vertex payload, in the shape this object was leased for. */\n vs = null;\n\n /**\n * Leases a per-object data object and both of its payloads.\n *\n * @param {object} accumulator An `ITriRenderBatchAccumulator`.\n * @param {string} vsStruct A `CjsPerObjectLayouts` struct name for the vertex payload.\n * @param {string} psStruct A `CjsPerObjectLayouts` struct name for the pixel payload.\n * @returns {Tr2PerObjectDataStandard} The leased object.\n */\n /**\n * Vertex payload first, matching the order Carbon binds them in.\n *\n * @returns {object[]} Both payloads.\n */\n GetPayloads()\n {\n return [ this.vs, this.ps ];\n }\n\n /** Allocates vertex and pixel object data and checks their stage budgets. */\n static alloc(accumulator, vsStruct, psStruct)\n {\n const data = super.alloc(accumulator, psStruct);\n\n data.vs = accumulator.Alloc(vsStruct);\n\n AssertFitsPerObjectBudget(data.vs, PER_OBJECT_VS_FLOAT_CAPACITY, vsStruct, \"VS\");\n\n return data;\n }\n\n /**\n * Uploads both payloads and binds them at the per-object registers.\n *\n * THE PIXEL HALF IS GATED HERE AND IS NOT IN CARBON, which is the one\n * behavioural divergence in this class. Carbon passes the PIXEL_SHADER enum,\n * selecting the overload that shifts `1 << PIXEL_SHADER` and never intersects\n * it with the technique's mask, so Standard binds its pixel buffer even for a\n * technique with no pixel stage (`Tr2PerObjectData.cpp:61-66`; Skinned gates\n * the same payload at :77).\n *\n * We gate it, for a reason Carbon does not have available: our layouts DECLARE\n * which stages they serve, so the gate is per layout rather than per hardcoded\n * half, and it is strictly more precise. `FillAndSetConstants` is built around\n * that - its own head comment records that a zero mask binding nothing \"is how\n * a payload declared for stages a technique does not use gets skipped, per\n * batch, without the caller testing anything\". Binding a pixel buffer for a\n * pipeline with no pixel stage is wasted upload work, and the declaration also\n * expresses a payload serving both stages in ONE buffer, which Carbon can only\n * do with two.\n *\n * The upload itself is the shared static, so this class adds the virtual and\n * the identity without a second copy of the mechanism.\n *\n * @param {object[]} buffers A `Tr2ConstantBufferAL` per `ShaderType`.\n * @param {number} constantTypeMask A bit per `ShaderType`.\n * @param {object} renderContext The context to upload and bind against.\n * @returns {number} How many payloads were uploaded.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Carbon binds the pixel payload without consulting the technique mask, distinguished from the gated form only by C++ overload resolution on an argument type. Our layouts declare the stages they serve, so the gate is per declaration and more precise than Carbon's hardcoded halves.\")\n SetPerObjectDataToDevice(buffers, constantTypeMask, renderContext)\n {\n return Tr2PerObjectData.setPerObjectDataToDevice(this, buffers, constantTypeMask, renderContext);\n }\n\n /**\n * The indirect-draw sibling.\n *\n * Carbon writes both payloads through a `Tr2IndirectDrawBufferWriter`\n * (`Tr2PerObjectData.cpp:69-73`). That class has no JS counterpart and nothing\n * on this path draws indirectly, and Carbon's base asserts rather than\n * defaulting (`:34-37`), so an accidental call must not look successful.\n */\n @carbon.method\n @impl.notImplemented\n @impl.reason(\"Tr2IndirectDrawBufferWriter is unported and nothing on this path draws indirectly.\")\n ApplyConstantBuffers()\n {\n throw new Error(\"Tr2PerObjectDataStandard.ApplyConstantBuffers: indirect draw is unported.\");\n }\n}\n"],"names":["Tr2PerObjectDataStandard","Tr2PerObjectDataPSBuffer","_initProto","_applyDecs","carbon","method","impl","adapted","reason","notImplemented","e","vs","GetPayloads","ps","alloc","accumulator","vsStruct","psStruct","data","Alloc","AssertFitsPerObjectBudget","PER_OBJECT_VS_FLOAT_CAPACITY","SetPerObjectDataToDevice","buffers","constantTypeMask","renderContext","Tr2PerObjectData","setPerObjectDataToDevice","ApplyConstantBuffers","Error"],"mappings":";;;;;;;AA4BA;AACA;AACA;AACO,MAAMA,wBAAwB,SAASC,wBAAwB,CACtE;AAAA,EAAA;IAAA,CAAAC,UAAA,IAAAC,cAAA,CAAA,IAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CA8DGC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,yRAAyR,CAAC,sCActSJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,cAAc,UACnBH,IAAI,CAACE,MAAM,CAAC,oFAAoF,CAAC,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAjFtDP,wBAAwB,EAAAS,CAAA;AAAA;AAEpE;EACAC,EAAE,IAAAT,UAAA,CAAA,IAAA,CAAA,EAAG,IAAI;;AAET;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACE;AACF;AACA;AACA;AACA;AACEU,EAAAA,WAAWA,GACX;IACE,OAAO,CAAE,IAAI,CAACD,EAAE,EAAE,IAAI,CAACE,EAAE,CAAE;AAC7B,EAAA;;AAEA;AACA,EAAA,OAAOC,KAAKA,CAACC,WAAW,EAAEC,QAAQ,EAAEC,QAAQ,EAC5C;IACE,MAAMC,IAAI,GAAG,KAAK,CAACJ,KAAK,CAACC,WAAW,EAAEE,QAAQ,CAAC;IAE/CC,IAAI,CAACP,EAAE,GAAGI,WAAW,CAACI,KAAK,CAACH,QAAQ,CAAC;IAErCI,yBAAyB,CAACF,IAAI,CAACP,EAAE,EAAEU,4BAA4B,EAAEL,QAAQ,EAAE,IAAI,CAAC;AAEhF,IAAA,OAAOE,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIEI,EAAAA,wBAAwBA,CAACC,OAAO,EAAEC,gBAAgB,EAAEC,aAAa,EACjE;IACE,OAAOC,gBAAgB,CAACC,wBAAwB,CAAC,IAAI,EAAEJ,OAAO,EAAEC,gBAAgB,EAAEC,aAAa,CAAC;AAClG,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AAIEG,EAAAA,oBAAoBA,GACpB;AACE,IAAA,MAAM,IAAIC,KAAK,CAAC,2EAA2E,CAAC;AAC9F,EAAA;AACF;;;;"}
@@ -1,5 +1,5 @@
1
1
  import { 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 { mat4 } from '#math/mat4';
5
5
  import { vec3 } from '#math/vec3';
@@ -17,7 +17,7 @@ class Tr2ManipulationTool extends CjsModel {
17
17
  } = _applyDecs2311(this, [type.define({
18
18
  className: "Tr2ManipulationTool",
19
19
  family: "trinityCore"
20
- })], [[[type, type.string], 16, "selectedAxis"], [type.rawStruct("BlueScriptCallback"), 0, "moveCallback"], [[io, io.readwrite, type, type.boolean], 16, "captured"], [[io, io.read, void 0, type.list("Tr2PrimitiveSet")], 16, "primitives"], [[io, io.readwrite, void 0, type.objectRef("PyObject")], 16, "_userData"], [[io, io.persist, type, type.mat4], 16, "localTransform"], [[io, io.readwrite, type, type.vec3], 16, "pivot"], [[io, io.read, type, type.mat4], 16, "worldTransform"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMoveCallback"], [[carbon, carbon.method, impl, impl.adapted], 18, "SelectAxis"], [[carbon, carbon.method, impl, impl.implemented], 18, "Init"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBaseVectors"], [[impl, impl.abstract], 18, "Update"], [[impl, impl.abstract], 18, "GenLineSets"], [[impl, impl.abstract], 18, "ResetPrimitiveColors"], [[impl, impl.abstract], 18, "GetPrimitivesToRender"], [[carbon, carbon.method, impl, impl.abstract], 18, "Move"], [[impl, impl.adapted], 18, "OnMoveCallback"]], 0, void 0, CjsModel));
20
+ })], [[[type, type.string], 16, "selectedAxis"], [type.rawStruct("BlueScriptCallback"), 0, "moveCallback"], [[edit, edit.readwrite, type, type.boolean], 16, "captured"], [[edit, edit.read, void 0, type.list("Tr2PrimitiveSet")], 16, "primitives"], [[edit, edit.readwrite, void 0, type.objectRef("PyObject")], 16, "_userData"], [[edit, edit.persist, type, type.mat4], 16, "localTransform"], [[edit, edit.readwrite, type, type.vec3], 16, "pivot"], [[edit, edit.read, type, type.mat4], 16, "worldTransform"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetMoveCallback"], [[carbon, carbon.method, impl, impl.adapted], 18, "SelectAxis"], [[carbon, carbon.method, impl, impl.implemented], 18, "Init"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBaseVectors"], [[impl, impl.abstract], 18, "Update"], [[impl, impl.abstract], 18, "GenLineSets"], [[impl, impl.abstract], 18, "ResetPrimitiveColors"], [[impl, impl.abstract], 18, "GetPrimitivesToRender"], [[carbon, carbon.method, impl, impl.abstract], 18, "Move"], [[impl, impl.adapted], 18, "OnMoveCallback"]], 0, void 0, CjsModel));
21
21
  }
22
22
  constructor(...args) {
23
23
  super(...args);
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2ManipulationTool.js","sources":["../../../../../src/trinity/core/tool/Tr2ManipulationTool.js"],"sourcesContent":["// Source: trinity/trinity/Tr2ManipulationTool.h\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 { mat4 } from \"#math/mat4\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\n\r\n/** The interactive manipulator base: axis selection, drag handling and the callback a move reports through. */\r\n@type.define({ className: \"Tr2ManipulationTool\", family: \"trinityCore\" })\r\nexport class Tr2ManipulationTool extends CjsModel\r\n{\r\n\r\n /** Carbon's selected primitive/axis name. */\r\n @type.string\r\n selectedAxis = \"\";\r\n\r\n /** Browser callback replacing BlueScriptCallback. */\r\n @type.rawStruct(\"BlueScriptCallback\")\r\n moveCallback = null;\r\n\r\n /** m_captured (bool) [READWRITE] */\r\n @io.readwrite\r\n @type.boolean\r\n captured = false;\r\n\r\n /** m_primitives (PTr2PrimitiveSetVector) [READ] */\r\n @io.read\r\n @type.list(\"Tr2PrimitiveSet\")\r\n primitives = [];\r\n\r\n /** m_pythonUserData (PyObject*) [READWRITE] */\r\n @io.readwrite\r\n @type.objectRef(\"PyObject\")\r\n _userData = null;\r\n\r\n /** m_localTransform (Matrix) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.mat4\r\n localTransform = mat4.create();\r\n\r\n /** m_pivot (Vector3) [READWRITE] */\r\n @io.readwrite\r\n @type.vec3\r\n pivot = vec3.create();\r\n\r\n /** m_worldTransform (Matrix) [READ] */\r\n @io.read\r\n @type.mat4\r\n worldTransform = mat4.create();\r\n\r\n /** Carbon method SetMoveCallback (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n SetMoveCallback(callback)\r\n {\r\n this.moveCallback = callback ?? null;\r\n }\r\n\r\n /** Carbon method SelectAxis (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n SelectAxis(axisName)\r\n {\r\n const selected = this.primitives.filter(primitive => primitive?.name === axisName);\r\n if (selected.length === 0)\r\n {\r\n return false;\r\n }\r\n this.ResetPrimitiveColors();\r\n const yellow = vec4.fromValues(1, 1, 0.01, 1);\r\n for (const primitive of selected)\r\n {\r\n primitive.SetCurrentColor(yellow);\r\n }\r\n this.selectedAxis = axisName;\r\n return true;\r\n }\r\n\r\n /** Carbon method Init (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n Init(initialTransform)\r\n {\r\n mat4.copy(this.localTransform, initialTransform);\r\n }\r\n\r\n /**\r\n * Carbon GetBaseVectors (Tr2ManipulationTool.cpp): the tool's local basis,\r\n * each row of the local transform normalised. Row r maps to gl-matrix\r\n * indices [(r-1)*4 .. (r-1)*4+2].\r\n *\r\n * @param {Float32Array} [outX] Caller-owned; allocated when omitted.\r\n * @param {Float32Array} [outY]\r\n * @param {Float32Array} [outZ]\r\n * @returns {[Float32Array, Float32Array, Float32Array]} The three axes.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetBaseVectors(outX = vec3.create(), outY = vec3.create(), outZ = vec3.create())\r\n {\r\n const local = this.localTransform;\r\n vec3.normalize(outX, vec3.set(outX, local[0], local[1], local[2]));\r\n vec3.normalize(outY, vec3.set(outY, local[4], local[5], local[6]));\r\n vec3.normalize(outZ, vec3.set(outZ, local[8], local[9], local[10]));\r\n return [ outX, outY, outZ ];\r\n }\r\n\r\n /** Required per-frame manipulator update contract (Tr2ManipulationTool.h:37). */\r\n @impl.abstract\r\n Update(..._args)\r\n {\r\n throw new Error(\"Tr2ManipulationTool.Update must be implemented by a concrete manipulation tool.\");\r\n }\r\n\r\n /** Required guide-geometry construction contract (Tr2ManipulationTool.h:38). */\r\n @impl.abstract\r\n GenLineSets(..._args)\r\n {\r\n throw new Error(\"Tr2ManipulationTool.GenLineSets must be implemented by a concrete manipulation tool.\");\r\n }\r\n\r\n /** Required primitive-colour reset contract (Tr2ManipulationTool.h:39). */\r\n @impl.abstract\r\n ResetPrimitiveColors(..._args)\r\n {\r\n throw new Error(\"Tr2ManipulationTool.ResetPrimitiveColors must be implemented by a concrete manipulation tool.\");\r\n }\r\n\r\n /** Required visible-primitive collection contract (Tr2ManipulationTool.h:40). */\r\n @impl.abstract\r\n GetPrimitivesToRender(..._args)\r\n {\r\n throw new Error(\"Tr2ManipulationTool.GetPrimitivesToRender must be implemented by a concrete manipulation tool.\");\r\n }\r\n\r\n /** Carbon's pure-virtual Move contract, exposed through PyMove. */\r\n @carbon.method\r\n @impl.abstract\r\n Move(..._args)\r\n {\r\n throw new Error(\"Tr2ManipulationTool.Move must be implemented by a concrete manipulation tool.\");\r\n }\r\n\r\n /** Invokes Carbon's move veto callback with current and proposed transforms. */\r\n @impl.adapted\r\n OnMoveCallback(currentTransform, nextTransform)\r\n {\r\n if (!this.moveCallback)\r\n {\r\n return true;\r\n }\r\n if (typeof this.moveCallback === \"function\")\r\n {\r\n return this.moveCallback(currentTransform, nextTransform) !== false;\r\n }\r\n return this.moveCallback.Call?.(currentTransform, nextTransform) !== false;\r\n }\r\n\r\n}\r\n"],"names":["_Tr2ManipulationTool","Tr2ManipulationTool","CjsModel","e","_init_selectedAxis","_init_extra_selectedAxis","_init_moveCallback","_init_extra_moveCallback","_init_captured","_init_extra_captured","_init_primitives","_init_extra_primitives","_init__userData","_init_extra__userData","_init_localTransform","_init_extra_localTransform","_init_pivot","_init_extra_pivot","_init_worldTransform","_init_extra_worldTransform","_initProto","c","_initClass","_applyDecs","type","define","className","family","string","rawStruct","io","readwrite","boolean","read","list","objectRef","persist","mat4","vec3","carbon","method","impl","adapted","implemented","abstract","constructor","args","selectedAxis","moveCallback","captured","primitives","_userData","localTransform","create","pivot","worldTransform","SetMoveCallback","callback","SelectAxis","axisName","selected","filter","primitive","name","length","ResetPrimitiveColors","yellow","vec4","fromValues","SetCurrentColor","Init","initialTransform","copy","GetBaseVectors","outX","outY","outZ","local","normalize","set","Update","_args","Error","GenLineSets","GetPrimitivesToRender","Move","OnMoveCallback","currentTransform","nextTransform","Call"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2ManipulationTool.js","sources":["../../../../../src/trinity/core/tool/Tr2ManipulationTool.js"],"sourcesContent":["// Source: trinity/trinity/Tr2ManipulationTool.h\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 { mat4 } from \"#math/mat4\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\n\r\n/** The interactive manipulator base: axis selection, drag handling and the callback a move reports through. */\r\n@type.define({ className: \"Tr2ManipulationTool\", family: \"trinityCore\" })\r\nexport class Tr2ManipulationTool extends CjsModel\r\n{\r\n\r\n /** Carbon's selected primitive/axis name. */\r\n @type.string\r\n selectedAxis = \"\";\r\n\r\n /** Browser callback replacing BlueScriptCallback. */\r\n @type.rawStruct(\"BlueScriptCallback\")\r\n moveCallback = null;\r\n\r\n /** m_captured (bool) [READWRITE] */\r\n @edit.readwrite\r\n @type.boolean\r\n captured = false;\r\n\r\n /** m_primitives (PTr2PrimitiveSetVector) [READ] */\r\n @edit.read\r\n @type.list(\"Tr2PrimitiveSet\")\r\n primitives = [];\r\n\r\n /** m_pythonUserData (PyObject*) [READWRITE] */\r\n @edit.readwrite\r\n @type.objectRef(\"PyObject\")\r\n _userData = null;\r\n\r\n /** m_localTransform (Matrix) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.mat4\r\n localTransform = mat4.create();\r\n\r\n /** m_pivot (Vector3) [READWRITE] */\r\n @edit.readwrite\r\n @type.vec3\r\n pivot = vec3.create();\r\n\r\n /** m_worldTransform (Matrix) [READ] */\r\n @edit.read\r\n @type.mat4\r\n worldTransform = mat4.create();\r\n\r\n /** Carbon method SetMoveCallback (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n SetMoveCallback(callback)\r\n {\r\n this.moveCallback = callback ?? null;\r\n }\r\n\r\n /** Carbon method SelectAxis (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n SelectAxis(axisName)\r\n {\r\n const selected = this.primitives.filter(primitive => primitive?.name === axisName);\r\n if (selected.length === 0)\r\n {\r\n return false;\r\n }\r\n this.ResetPrimitiveColors();\r\n const yellow = vec4.fromValues(1, 1, 0.01, 1);\r\n for (const primitive of selected)\r\n {\r\n primitive.SetCurrentColor(yellow);\r\n }\r\n this.selectedAxis = axisName;\r\n return true;\r\n }\r\n\r\n /** Carbon method Init (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n Init(initialTransform)\r\n {\r\n mat4.copy(this.localTransform, initialTransform);\r\n }\r\n\r\n /**\r\n * Carbon GetBaseVectors (Tr2ManipulationTool.cpp): the tool's local basis,\r\n * each row of the local transform normalised. Row r maps to gl-matrix\r\n * indices [(r-1)*4 .. (r-1)*4+2].\r\n *\r\n * @param {Float32Array} [outX] Caller-owned; allocated when omitted.\r\n * @param {Float32Array} [outY]\r\n * @param {Float32Array} [outZ]\r\n * @returns {[Float32Array, Float32Array, Float32Array]} The three axes.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetBaseVectors(outX = vec3.create(), outY = vec3.create(), outZ = vec3.create())\r\n {\r\n const local = this.localTransform;\r\n vec3.normalize(outX, vec3.set(outX, local[0], local[1], local[2]));\r\n vec3.normalize(outY, vec3.set(outY, local[4], local[5], local[6]));\r\n vec3.normalize(outZ, vec3.set(outZ, local[8], local[9], local[10]));\r\n return [ outX, outY, outZ ];\r\n }\r\n\r\n /** Required per-frame manipulator update contract (Tr2ManipulationTool.h:37). */\r\n @impl.abstract\r\n Update(..._args)\r\n {\r\n throw new Error(\"Tr2ManipulationTool.Update must be implemented by a concrete manipulation tool.\");\r\n }\r\n\r\n /** Required guide-geometry construction contract (Tr2ManipulationTool.h:38). */\r\n @impl.abstract\r\n GenLineSets(..._args)\r\n {\r\n throw new Error(\"Tr2ManipulationTool.GenLineSets must be implemented by a concrete manipulation tool.\");\r\n }\r\n\r\n /** Required primitive-colour reset contract (Tr2ManipulationTool.h:39). */\r\n @impl.abstract\r\n ResetPrimitiveColors(..._args)\r\n {\r\n throw new Error(\"Tr2ManipulationTool.ResetPrimitiveColors must be implemented by a concrete manipulation tool.\");\r\n }\r\n\r\n /** Required visible-primitive collection contract (Tr2ManipulationTool.h:40). */\r\n @impl.abstract\r\n GetPrimitivesToRender(..._args)\r\n {\r\n throw new Error(\"Tr2ManipulationTool.GetPrimitivesToRender must be implemented by a concrete manipulation tool.\");\r\n }\r\n\r\n /** Carbon's pure-virtual Move contract, exposed through PyMove. */\r\n @carbon.method\r\n @impl.abstract\r\n Move(..._args)\r\n {\r\n throw new Error(\"Tr2ManipulationTool.Move must be implemented by a concrete manipulation tool.\");\r\n }\r\n\r\n /** Invokes Carbon's move veto callback with current and proposed transforms. */\r\n @impl.adapted\r\n OnMoveCallback(currentTransform, nextTransform)\r\n {\r\n if (!this.moveCallback)\r\n {\r\n return true;\r\n }\r\n if (typeof this.moveCallback === \"function\")\r\n {\r\n return this.moveCallback(currentTransform, nextTransform) !== false;\r\n }\r\n return this.moveCallback.Call?.(currentTransform, nextTransform) !== false;\r\n }\r\n\r\n}\r\n"],"names":["_Tr2ManipulationTool","Tr2ManipulationTool","CjsModel","e","_init_selectedAxis","_init_extra_selectedAxis","_init_moveCallback","_init_extra_moveCallback","_init_captured","_init_extra_captured","_init_primitives","_init_extra_primitives","_init__userData","_init_extra__userData","_init_localTransform","_init_extra_localTransform","_init_pivot","_init_extra_pivot","_init_worldTransform","_init_extra_worldTransform","_initProto","c","_initClass","_applyDecs","type","define","className","family","string","rawStruct","edit","readwrite","boolean","read","list","objectRef","persist","mat4","vec3","carbon","method","impl","adapted","implemented","abstract","constructor","args","selectedAxis","moveCallback","captured","primitives","_userData","localTransform","create","pivot","worldTransform","SetMoveCallback","callback","SelectAxis","axisName","selected","filter","primitive","name","length","ResetPrimitiveColors","yellow","vec4","fromValues","SetCurrentColor","Init","initialTransform","copy","GetBaseVectors","outX","outY","outZ","local","normalize","set","Update","_args","Error","GenLineSets","GetPrimitivesToRender","Move","OnMoveCallback","currentTransform","nextTransform","Call"],"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 { Tr2ManipulationTool as _Tr2ManipulationTool } from './Tr2ManipulationTool.js';
4
4
  import { mat4 } from '#math/mat4';
5
5
  import { quat } from '#math/quat';
@@ -27,7 +27,7 @@ new class extends _identity {
27
27
  className: "Tr2RotationTool",
28
28
  family: "trinityCore",
29
29
  purpose: "Extends the manipulation tool with quaternion rotation state and angular precision."
30
- })], [[[io, io.readwrite, type, type.float32], 16, "precision"], [[io, io.read, type, type.quat], 16, "rotation"], [[io, io.readwrite, void 0, type.objectRef("Tr2LineSet")], 16, "wwLine"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDesiredPlaneNormal"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetUnTransformedBaseVectors"], [[carbon, carbon.method, impl, impl.implemented], 18, "Hemisphere"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("JavaScript returns a fresh array instead of Carbon's reused private visible-object vector.")], 18, "GetPrimitivesToRender"], [[carbon, carbon.method, impl, impl.implemented], 18, "ResetPrimitiveColors"]], 0, void 0, _Tr2ManipulationTool));
30
+ })], [[[edit, edit.readwrite, type, type.float32], 16, "precision"], [[edit, edit.read, type, type.quat], 16, "rotation"], [[edit, edit.readwrite, void 0, type.objectRef("Tr2LineSet")], 16, "wwLine"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetDesiredPlaneNormal"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetUnTransformedBaseVectors"], [[carbon, carbon.method, impl, impl.implemented], 18, "Hemisphere"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("JavaScript returns a fresh array instead of Carbon's reused private visible-object vector.")], 18, "GetPrimitivesToRender"], [[carbon, carbon.method, impl, impl.implemented], 18, "ResetPrimitiveColors"]], 0, void 0, _Tr2ManipulationTool));
31
31
  }
32
32
  constructor(...args) {
33
33
  super(...args);
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2RotationTool.js","sources":["../../../../../src/trinity/core/tool/Tr2RotationTool.js"],"sourcesContent":["// Source: trinity/trinity/Tr2RotationTool.h\n// Source: trinity/trinity/Tr2RotationTool.cpp\n// Hand-maintained from Carbon source, promoted out of generated intake.\nimport { carbon, impl, io, type } from \"#schema\";\nimport { Tr2ManipulationTool } from \"./Tr2ManipulationTool.js\";\nimport { mat4 } from \"#math/mat4\";\nimport { quat } from \"#math/quat\";\nimport { vec3 } from \"#math/vec3\";\nimport { vec4 } from \"#math/vec4\";\n\nconst AXIS_COLORS = Object.freeze({\n x: vec4.fromValues(1, 0.01, 0.01, 1),\n y: vec4.fromValues(0.01, 1, 0.01, 1),\n z: vec4.fromValues(0.01, 0.01, 1, 1),\n w: vec4.fromValues(0, 1, 1, 1),\n ww: vec4.fromValues(0.5, 0.5, 0.5, 1)\n});\n\n/** Extends the manipulation tool with quaternion rotation state and angular precision. */\n@type.define({ className: \"Tr2RotationTool\", family: \"trinityCore\", purpose: \"Extends the manipulation tool with quaternion rotation state and angular precision.\" })\nexport class Tr2RotationTool extends Tr2ManipulationTool\n{\n\n /** m_precision (float) [READWRITE] */\n @io.readwrite\n @type.float32\n precision = 1;\n\n /** m_rotation (Quaternion) [READ] */\n @io.read\n @type.quat\n rotation = quat.create();\n\n /** m_wwLine (Tr2LineSetPtr, Tr2RotationTool.h:33): the screen-space ring\n * primitive whose scale is the arcball radius. Carbon builds it in\n * GenLineSets, which is not ported; a host supplies it (or any\n * { scale } duck) before Hemisphere is useful. */\n @io.readwrite\n @type.objectRef(\"Tr2LineSet\")\n wwLine = null;\n\n /**\n * Carbon GetDesiredPlaneNormal (Tr2RotationTool.cpp:131-165), the rotation\n * tool's override: the best drag plane for the selected gizmo axis. The\n * view direction is the view matrix's third column (_13/_23/_33 -> gl\n * [2],[6],[10]); the screen-space handles (\"w\"/\"ww\") use it directly, an\n * axis handle uses that axis flipped toward the camera when\n * Dot(view, axis) > 0. Always normalised.\n *\n * @param {Float32Array} _ray Unused by this override, as in Carbon.\n * @param {Float32Array} viewMatrix\n * @param {Float32Array} [out] Caller-owned; allocated when omitted.\n * @returns {Float32Array} The plane normal.\n */\n @carbon.method\n @impl.implemented\n GetDesiredPlaneNormal(_ray, viewMatrix, out = vec3.create())\n {\n vec3.set(Tr2RotationTool.#view, viewMatrix[2], viewMatrix[6], viewMatrix[10]);\n\n if (this.selectedAxis === \"w\" || this.selectedAxis === \"ww\")\n {\n return vec3.normalize(out, vec3.copy(out, Tr2RotationTool.#view));\n }\n\n const [ xAxis, yAxis, zAxis ] = this.GetBaseVectors(\n Tr2RotationTool.#xAxis, Tr2RotationTool.#yAxis, Tr2RotationTool.#zAxis);\n const axis = this.selectedAxis === \"x\" ? xAxis : this.selectedAxis === \"y\" ? yAxis : zAxis;\n\n vec3.copy(out, axis);\n if (vec3.dot(Tr2RotationTool.#view, out) > 0)\n {\n vec3.negate(out, out);\n }\n return vec3.normalize(out, out);\n }\n\n /**\n * Carbon GetUnTransformedBaseVectors (Tr2RotationTool.cpp:211-216): the\n * identity axes, the untransformed counterpart to GetBaseVectors.\n */\n @carbon.method\n @impl.implemented\n GetUnTransformedBaseVectors(outX = vec3.create(), outY = vec3.create(), outZ = vec3.create())\n {\n vec3.set(outX, 1, 0, 0);\n vec3.set(outY, 0, 1, 0);\n vec3.set(outZ, 0, 0, 1);\n return [ outX, outY, outZ ];\n }\n\n /**\n * Carbon Hemisphere (Tr2RotationTool.cpp:396-439): maps a mouse position\n * onto the arcball. Projects the gizmo centre and a point one ring-radius\n * along the camera-right axis to derive the ring's pixel radius (plus 16px\n * for the cursor), normalises the mouse offset by it (y screen-inverted),\n * and lifts z as `1 - d` for d <= 1 - a CONE, not a hemisphere, despite\n * the name; transcribed as Carbon computes it. Returns the normalised\n * vector, in view space.\n *\n * Compositions follow the row-vector rule: Carbon's `view * projection`\n * is `mat4.multiply(out, projection, view)` here, and `v * M` is\n * `transformMat4(v, M)` over the shared byte layout.\n *\n * @param {number} mouseX\n * @param {number} mouseY\n * @param {{x:number,y:number,width:number,height:number}} viewport Tr2Viewport's m_x/m_y/m_width/m_height.\n * @param {Float32Array} viewMatrix\n * @param {Float32Array} projectionMatrix\n * @param {Float32Array} [out] Caller-owned; allocated when omitted.\n * @returns {Float32Array} The arcball vector.\n */\n @carbon.method\n @impl.implemented\n Hemisphere(mouseX, mouseY, viewport, viewMatrix, projectionMatrix, out = vec3.create())\n {\n const viewProj = mat4.multiply(Tr2RotationTool.#viewProj, projectionMatrix, viewMatrix);\n\n const project = (point, screen) =>\n {\n const projected = vec4.transformMat4(\n Tr2RotationTool.#projected,\n vec4.set(Tr2RotationTool.#projected, point[0], point[1], point[2], 1),\n viewProj);\n screen[0] = viewport.x + viewport.width * (0.5 + 0.5 * projected[0] / projected[3]);\n screen[1] = viewport.y + viewport.height * (0.5 - 0.5 * projected[1] / projected[3]);\n return screen;\n };\n\n // The ring radius comes from the ww line primitive's scale (cpp:412).\n const radius = this.wwLine.scale;\n const world = this.worldTransform;\n const center = vec3.set(Tr2RotationTool.#center, world[12], world[13], world[14]);\n // viewMatrix._11/_21/_31 is the view matrix's first column: camera right.\n const side = vec3.set(Tr2RotationTool.#side,\n center[0] - viewMatrix[0] * radius,\n center[1] - viewMatrix[4] * radius,\n center[2] - viewMatrix[8] * radius);\n\n const screenCenter = project(center, Tr2RotationTool.#screenCenter);\n const screenSide = project(side, Tr2RotationTool.#screenSide);\n const dx = screenCenter[0] - screenSide[0];\n const dy = screenCenter[1] - screenSide[1];\n // \"add the width of the cursor\" (cpp:424).\n const radiusPixels = Math.sqrt(dx * dx + dy * dy) + 16;\n\n const px = (mouseX - screenCenter[0]) / radiusPixels;\n const py = (screenCenter[1] - mouseY) / radiusPixels;\n const d = Math.sqrt(px * px + py * py);\n const z = d <= 1 ? 1 - d : 0;\n\n return vec3.normalize(out, vec3.set(out, px, py, z));\n }\n\n /** Returns all authored rotation primitives in their stored order. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"JavaScript returns a fresh array instead of Carbon's reused private visible-object vector.\")\n GetPrimitivesToRender()\n {\n return Array.from(this.primitives);\n }\n\n /** Restores Carbon's authored axis and ring colours. */\n @carbon.method\n @impl.implemented\n ResetPrimitiveColors()\n {\n for (const primitive of this.primitives)\n {\n const color = AXIS_COLORS[primitive.name];\n if (color)\n {\n primitive.SetCurrentColor(color);\n }\n }\n }\n\n static #view = vec3.create();\n static #xAxis = vec3.create();\n static #yAxis = vec3.create();\n static #zAxis = vec3.create();\n static #viewProj = mat4.create();\n static #projected = vec4.create();\n static #center = vec3.create();\n static #side = vec3.create();\n static #screenCenter = new Float32Array(2);\n static #screenSide = new Float32Array(2);\n\n}\n"],"names":["AXIS_COLORS","Object","freeze","x","vec4","fromValues","y","z","w","ww","_Tr2RotationTool","_identity","Tr2RotationTool","Tr2ManipulationTool","e","_init_precision","_init_extra_precision","_init_rotation","_init_extra_rotation","_init_wwLine","_init_extra_wwLine","_initProto","c","_initClass","_applyDecs","type","define","className","family","purpose","io","readwrite","float32","read","quat","objectRef","carbon","method","impl","implemented","adapted","reason","constructor","args","precision","rotation","create","wwLine","GetDesiredPlaneNormal","_ray","viewMatrix","out","vec3","set","selectedAxis","normalize","copy","xAxis","yAxis","zAxis","GetBaseVectors","axis","dot","negate","GetUnTransformedBaseVectors","outX","outY","outZ","Hemisphere","mouseX","mouseY","viewport","projectionMatrix","viewProj","mat4","multiply","project","point","screen","projected","transformMat4","width","height","radius","scale","world","worldTransform","center","side","screenCenter","screenSide","dx","dy","radiusPixels","Math","sqrt","px","py","d","GetPrimitivesToRender","Array","from","primitives","ResetPrimitiveColors","primitive","color","name","SetCurrentColor","Float32Array"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2RotationTool.js","sources":["../../../../../src/trinity/core/tool/Tr2RotationTool.js"],"sourcesContent":["// Source: trinity/trinity/Tr2RotationTool.h\n// Source: trinity/trinity/Tr2RotationTool.cpp\n// Hand-maintained from Carbon source, promoted out of generated intake.\nimport { carbon, impl, edit, type } from \"#schema\";\nimport { Tr2ManipulationTool } from \"./Tr2ManipulationTool.js\";\nimport { mat4 } from \"#math/mat4\";\nimport { quat } from \"#math/quat\";\nimport { vec3 } from \"#math/vec3\";\nimport { vec4 } from \"#math/vec4\";\n\nconst AXIS_COLORS = Object.freeze({\n x: vec4.fromValues(1, 0.01, 0.01, 1),\n y: vec4.fromValues(0.01, 1, 0.01, 1),\n z: vec4.fromValues(0.01, 0.01, 1, 1),\n w: vec4.fromValues(0, 1, 1, 1),\n ww: vec4.fromValues(0.5, 0.5, 0.5, 1)\n});\n\n/** Extends the manipulation tool with quaternion rotation state and angular precision. */\n@type.define({ className: \"Tr2RotationTool\", family: \"trinityCore\", purpose: \"Extends the manipulation tool with quaternion rotation state and angular precision.\" })\nexport class Tr2RotationTool extends Tr2ManipulationTool\n{\n\n /** m_precision (float) [READWRITE] */\n @edit.readwrite\n @type.float32\n precision = 1;\n\n /** m_rotation (Quaternion) [READ] */\n @edit.read\n @type.quat\n rotation = quat.create();\n\n /** m_wwLine (Tr2LineSetPtr, Tr2RotationTool.h:33): the screen-space ring\n * primitive whose scale is the arcball radius. Carbon builds it in\n * GenLineSets, which is not ported; a host supplies it (or any\n * { scale } duck) before Hemisphere is useful. */\n @edit.readwrite\n @type.objectRef(\"Tr2LineSet\")\n wwLine = null;\n\n /**\n * Carbon GetDesiredPlaneNormal (Tr2RotationTool.cpp:131-165), the rotation\n * tool's override: the best drag plane for the selected gizmo axis. The\n * view direction is the view matrix's third column (_13/_23/_33 -> gl\n * [2],[6],[10]); the screen-space handles (\"w\"/\"ww\") use it directly, an\n * axis handle uses that axis flipped toward the camera when\n * Dot(view, axis) > 0. Always normalised.\n *\n * @param {Float32Array} _ray Unused by this override, as in Carbon.\n * @param {Float32Array} viewMatrix\n * @param {Float32Array} [out] Caller-owned; allocated when omitted.\n * @returns {Float32Array} The plane normal.\n */\n @carbon.method\n @impl.implemented\n GetDesiredPlaneNormal(_ray, viewMatrix, out = vec3.create())\n {\n vec3.set(Tr2RotationTool.#view, viewMatrix[2], viewMatrix[6], viewMatrix[10]);\n\n if (this.selectedAxis === \"w\" || this.selectedAxis === \"ww\")\n {\n return vec3.normalize(out, vec3.copy(out, Tr2RotationTool.#view));\n }\n\n const [ xAxis, yAxis, zAxis ] = this.GetBaseVectors(\n Tr2RotationTool.#xAxis, Tr2RotationTool.#yAxis, Tr2RotationTool.#zAxis);\n const axis = this.selectedAxis === \"x\" ? xAxis : this.selectedAxis === \"y\" ? yAxis : zAxis;\n\n vec3.copy(out, axis);\n if (vec3.dot(Tr2RotationTool.#view, out) > 0)\n {\n vec3.negate(out, out);\n }\n return vec3.normalize(out, out);\n }\n\n /**\n * Carbon GetUnTransformedBaseVectors (Tr2RotationTool.cpp:211-216): the\n * identity axes, the untransformed counterpart to GetBaseVectors.\n */\n @carbon.method\n @impl.implemented\n GetUnTransformedBaseVectors(outX = vec3.create(), outY = vec3.create(), outZ = vec3.create())\n {\n vec3.set(outX, 1, 0, 0);\n vec3.set(outY, 0, 1, 0);\n vec3.set(outZ, 0, 0, 1);\n return [ outX, outY, outZ ];\n }\n\n /**\n * Carbon Hemisphere (Tr2RotationTool.cpp:396-439): maps a mouse position\n * onto the arcball. Projects the gizmo centre and a point one ring-radius\n * along the camera-right axis to derive the ring's pixel radius (plus 16px\n * for the cursor), normalises the mouse offset by it (y screen-inverted),\n * and lifts z as `1 - d` for d <= 1 - a CONE, not a hemisphere, despite\n * the name; transcribed as Carbon computes it. Returns the normalised\n * vector, in view space.\n *\n * Compositions follow the row-vector rule: Carbon's `view * projection`\n * is `mat4.multiply(out, projection, view)` here, and `v * M` is\n * `transformMat4(v, M)` over the shared byte layout.\n *\n * @param {number} mouseX\n * @param {number} mouseY\n * @param {{x:number,y:number,width:number,height:number}} viewport Tr2Viewport's m_x/m_y/m_width/m_height.\n * @param {Float32Array} viewMatrix\n * @param {Float32Array} projectionMatrix\n * @param {Float32Array} [out] Caller-owned; allocated when omitted.\n * @returns {Float32Array} The arcball vector.\n */\n @carbon.method\n @impl.implemented\n Hemisphere(mouseX, mouseY, viewport, viewMatrix, projectionMatrix, out = vec3.create())\n {\n const viewProj = mat4.multiply(Tr2RotationTool.#viewProj, projectionMatrix, viewMatrix);\n\n const project = (point, screen) =>\n {\n const projected = vec4.transformMat4(\n Tr2RotationTool.#projected,\n vec4.set(Tr2RotationTool.#projected, point[0], point[1], point[2], 1),\n viewProj);\n screen[0] = viewport.x + viewport.width * (0.5 + 0.5 * projected[0] / projected[3]);\n screen[1] = viewport.y + viewport.height * (0.5 - 0.5 * projected[1] / projected[3]);\n return screen;\n };\n\n // The ring radius comes from the ww line primitive's scale (cpp:412).\n const radius = this.wwLine.scale;\n const world = this.worldTransform;\n const center = vec3.set(Tr2RotationTool.#center, world[12], world[13], world[14]);\n // viewMatrix._11/_21/_31 is the view matrix's first column: camera right.\n const side = vec3.set(Tr2RotationTool.#side,\n center[0] - viewMatrix[0] * radius,\n center[1] - viewMatrix[4] * radius,\n center[2] - viewMatrix[8] * radius);\n\n const screenCenter = project(center, Tr2RotationTool.#screenCenter);\n const screenSide = project(side, Tr2RotationTool.#screenSide);\n const dx = screenCenter[0] - screenSide[0];\n const dy = screenCenter[1] - screenSide[1];\n // \"add the width of the cursor\" (cpp:424).\n const radiusPixels = Math.sqrt(dx * dx + dy * dy) + 16;\n\n const px = (mouseX - screenCenter[0]) / radiusPixels;\n const py = (screenCenter[1] - mouseY) / radiusPixels;\n const d = Math.sqrt(px * px + py * py);\n const z = d <= 1 ? 1 - d : 0;\n\n return vec3.normalize(out, vec3.set(out, px, py, z));\n }\n\n /** Returns all authored rotation primitives in their stored order. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"JavaScript returns a fresh array instead of Carbon's reused private visible-object vector.\")\n GetPrimitivesToRender()\n {\n return Array.from(this.primitives);\n }\n\n /** Restores Carbon's authored axis and ring colours. */\n @carbon.method\n @impl.implemented\n ResetPrimitiveColors()\n {\n for (const primitive of this.primitives)\n {\n const color = AXIS_COLORS[primitive.name];\n if (color)\n {\n primitive.SetCurrentColor(color);\n }\n }\n }\n\n static #view = vec3.create();\n static #xAxis = vec3.create();\n static #yAxis = vec3.create();\n static #zAxis = vec3.create();\n static #viewProj = mat4.create();\n static #projected = vec4.create();\n static #center = vec3.create();\n static #side = vec3.create();\n static #screenCenter = new Float32Array(2);\n static #screenSide = new Float32Array(2);\n\n}\n"],"names":["AXIS_COLORS","Object","freeze","x","vec4","fromValues","y","z","w","ww","_Tr2RotationTool","_identity","Tr2RotationTool","Tr2ManipulationTool","e","_init_precision","_init_extra_precision","_init_rotation","_init_extra_rotation","_init_wwLine","_init_extra_wwLine","_initProto","c","_initClass","_applyDecs","type","define","className","family","purpose","edit","readwrite","float32","read","quat","objectRef","carbon","method","impl","implemented","adapted","reason","constructor","args","precision","rotation","create","wwLine","GetDesiredPlaneNormal","_ray","viewMatrix","out","vec3","set","selectedAxis","normalize","copy","xAxis","yAxis","zAxis","GetBaseVectors","axis","dot","negate","GetUnTransformedBaseVectors","outX","outY","outZ","Hemisphere","mouseX","mouseY","viewport","projectionMatrix","viewProj","mat4","multiply","project","point","screen","projected","transformMat4","width","height","radius","scale","world","worldTransform","center","side","screenCenter","screenSide","dx","dy","radiusPixels","Math","sqrt","px","py","d","GetPrimitivesToRender","Array","from","primitives","ResetPrimitiveColors","primitive","color","name","SetCurrentColor","Float32Array"],"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 { Tr2ManipulationTool as _Tr2ManipulationTool } from './Tr2ManipulationTool.js';
4
4
  import { mat4 } from '#math/mat4';
5
5
  import { vec3 } from '#math/vec3';
@@ -23,7 +23,7 @@ class Tr2ScalingTool extends _Tr2ManipulationTool {
23
23
  } = _applyDecs2311(this, [type.define({
24
24
  className: "Tr2ScalingTool",
25
25
  family: "trinityCore"
26
- })], [[[io, io.read, type, type.vec3], 16, "scale"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Copies the authored transform into portable primitive models; renderer-owned guide-line rebuilding remains optional.")], 18, "ResetPrimitives"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("JavaScript returns a fresh array instead of Carbon's reused private visible-object vector.")], 18, "GetPrimitivesToRender"], [[carbon, carbon.method, impl, impl.implemented], 18, "ResetPrimitiveColors"]], 0, void 0, _Tr2ManipulationTool));
26
+ })], [[[edit, edit.read, type, type.vec3], 16, "scale"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Copies the authored transform into portable primitive models; renderer-owned guide-line rebuilding remains optional.")], 18, "ResetPrimitives"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("JavaScript returns a fresh array instead of Carbon's reused private visible-object vector.")], 18, "GetPrimitivesToRender"], [[carbon, carbon.method, impl, impl.implemented], 18, "ResetPrimitiveColors"]], 0, void 0, _Tr2ManipulationTool));
27
27
  }
28
28
  constructor(...args) {
29
29
  super(...args);
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2ScalingTool.js","sources":["../../../../../src/trinity/core/tool/Tr2ScalingTool.js"],"sourcesContent":["// Source: trinity/trinity/Tr2ScalingTool.h\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { Tr2ManipulationTool } from \"./Tr2ManipulationTool.js\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\n\r\nconst AXIS_COLORS = Object.freeze({\r\n x: vec4.fromValues(1, 0.01, 0.01, 1),\r\n y: vec4.fromValues(0.01, 1, 0.01, 1),\r\n z: vec4.fromValues(0.01, 0.01, 1, 1),\r\n w: vec4.fromValues(0, 1, 1, 1)\r\n});\r\n\r\n/** An interactive scaling manipulator that turns pointer drags along a selected axis into a scale. */\r\n@type.define({ className: \"Tr2ScalingTool\", family: \"trinityCore\" })\r\nexport class Tr2ScalingTool extends Tr2ManipulationTool\r\n{\r\n\r\n /** m_scale (Vector3) [READ] */\r\n @io.read\r\n @type.vec3\r\n scale = vec3.fromValues(1, 1, 1);\r\n\r\n /** Carbon method ResetPrimitives (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Copies the authored transform into portable primitive models; renderer-owned guide-line rebuilding remains optional.\")\r\n ResetPrimitives()\r\n {\r\n for (const primitive of this.primitives)\r\n {\r\n if (primitive?.localTransform?.length >= 16)\r\n {\r\n mat4.copy(primitive.localTransform, this.localTransform);\r\n }\r\n else if (primitive)\r\n {\r\n primitive.localTransform = mat4.clone(this.localTransform);\r\n }\r\n primitive?.UpdateTransform?.();\r\n }\r\n for (const line of [this.xLine, this.yLine, this.zLine])\r\n {\r\n if (line?.localTransform?.length >= 16)\r\n {\r\n mat4.identity(line.localTransform);\r\n }\r\n }\r\n this.UpdateLines?.();\r\n }\r\n\r\n /** Returns the full tool, or the captured axis, guide and centre primitives. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"JavaScript returns a fresh array instead of Carbon's reused private visible-object vector.\")\r\n GetPrimitivesToRender()\r\n {\r\n if (!this.captured || this.selectedAxis === \"w\")\r\n {\r\n return Array.from(this.primitives);\r\n }\r\n return this.primitives.filter(primitive =>\r\n primitive.name === \"w\"\r\n || primitive.name === this.selectedAxis\r\n || primitive.name === `_${this.selectedAxis}`);\r\n }\r\n\r\n /** Restores Carbon's authored axis and centre colours. */\r\n @carbon.method\r\n @impl.implemented\r\n ResetPrimitiveColors()\r\n {\r\n for (const primitive of this.primitives)\r\n {\r\n const color = AXIS_COLORS[primitive.name];\r\n if (color)\r\n {\r\n primitive.SetCurrentColor(color);\r\n }\r\n }\r\n }\r\n\r\n}\r\n"],"names":["AXIS_COLORS","Object","freeze","x","vec4","fromValues","y","z","w","_Tr2ScalingTool","Tr2ScalingTool","Tr2ManipulationTool","e","_init_scale","_init_extra_scale","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","vec3","carbon","method","impl","adapted","reason","implemented","constructor","args","scale","ResetPrimitives","primitive","primitives","localTransform","length","mat4","copy","clone","UpdateTransform","line","xLine","yLine","zLine","identity","UpdateLines","GetPrimitivesToRender","captured","selectedAxis","Array","from","filter","name","ResetPrimitiveColors","color","SetCurrentColor"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2ScalingTool.js","sources":["../../../../../src/trinity/core/tool/Tr2ScalingTool.js"],"sourcesContent":["// Source: trinity/trinity/Tr2ScalingTool.h\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { Tr2ManipulationTool } from \"./Tr2ManipulationTool.js\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\n\r\nconst AXIS_COLORS = Object.freeze({\r\n x: vec4.fromValues(1, 0.01, 0.01, 1),\r\n y: vec4.fromValues(0.01, 1, 0.01, 1),\r\n z: vec4.fromValues(0.01, 0.01, 1, 1),\r\n w: vec4.fromValues(0, 1, 1, 1)\r\n});\r\n\r\n/** An interactive scaling manipulator that turns pointer drags along a selected axis into a scale. */\r\n@type.define({ className: \"Tr2ScalingTool\", family: \"trinityCore\" })\r\nexport class Tr2ScalingTool extends Tr2ManipulationTool\r\n{\r\n\r\n /** m_scale (Vector3) [READ] */\r\n @edit.read\r\n @type.vec3\r\n scale = vec3.fromValues(1, 1, 1);\r\n\r\n /** Carbon method ResetPrimitives (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Copies the authored transform into portable primitive models; renderer-owned guide-line rebuilding remains optional.\")\r\n ResetPrimitives()\r\n {\r\n for (const primitive of this.primitives)\r\n {\r\n if (primitive?.localTransform?.length >= 16)\r\n {\r\n mat4.copy(primitive.localTransform, this.localTransform);\r\n }\r\n else if (primitive)\r\n {\r\n primitive.localTransform = mat4.clone(this.localTransform);\r\n }\r\n primitive?.UpdateTransform?.();\r\n }\r\n for (const line of [this.xLine, this.yLine, this.zLine])\r\n {\r\n if (line?.localTransform?.length >= 16)\r\n {\r\n mat4.identity(line.localTransform);\r\n }\r\n }\r\n this.UpdateLines?.();\r\n }\r\n\r\n /** Returns the full tool, or the captured axis, guide and centre primitives. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"JavaScript returns a fresh array instead of Carbon's reused private visible-object vector.\")\r\n GetPrimitivesToRender()\r\n {\r\n if (!this.captured || this.selectedAxis === \"w\")\r\n {\r\n return Array.from(this.primitives);\r\n }\r\n return this.primitives.filter(primitive =>\r\n primitive.name === \"w\"\r\n || primitive.name === this.selectedAxis\r\n || primitive.name === `_${this.selectedAxis}`);\r\n }\r\n\r\n /** Restores Carbon's authored axis and centre colours. */\r\n @carbon.method\r\n @impl.implemented\r\n ResetPrimitiveColors()\r\n {\r\n for (const primitive of this.primitives)\r\n {\r\n const color = AXIS_COLORS[primitive.name];\r\n if (color)\r\n {\r\n primitive.SetCurrentColor(color);\r\n }\r\n }\r\n }\r\n\r\n}\r\n"],"names":["AXIS_COLORS","Object","freeze","x","vec4","fromValues","y","z","w","_Tr2ScalingTool","Tr2ScalingTool","Tr2ManipulationTool","e","_init_scale","_init_extra_scale","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","read","vec3","carbon","method","impl","adapted","reason","implemented","constructor","args","scale","ResetPrimitives","primitive","primitives","localTransform","length","mat4","copy","clone","UpdateTransform","line","xLine","yLine","zLine","identity","UpdateLines","GetPrimitivesToRender","captured","selectedAxis","Array","from","filter","name","ResetPrimitiveColors","color","SetCurrentColor"],"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 { Tr2ManipulationTool as _Tr2ManipulationTool } from './Tr2ManipulationTool.js';
4
4
  import { vec3 } from '#math/vec3';
5
5
  import { vec4 } from '#math/vec4';
@@ -23,7 +23,7 @@ class Tr2TranslationTool extends _Tr2ManipulationTool {
23
23
  className: "Tr2TranslationTool",
24
24
  family: "trinityCore",
25
25
  purpose: "Extends the manipulation tool with the current three-axis translation result."
26
- })], [[[io, io.read, type, type.vec3], 16, "translation"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("JavaScript returns a fresh array instead of Carbon's reused private visible-object vector.")], 18, "GetPrimitivesToRender"], [[carbon, carbon.method, impl, impl.implemented], 18, "ResetPrimitiveColors"]], 0, void 0, _Tr2ManipulationTool));
26
+ })], [[[edit, edit.read, type, type.vec3], 16, "translation"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("JavaScript returns a fresh array instead of Carbon's reused private visible-object vector.")], 18, "GetPrimitivesToRender"], [[carbon, carbon.method, impl, impl.implemented], 18, "ResetPrimitiveColors"]], 0, void 0, _Tr2ManipulationTool));
27
27
  }
28
28
  constructor(...args) {
29
29
  super(...args);
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2TranslationTool.js","sources":["../../../../../src/trinity/core/tool/Tr2TranslationTool.js"],"sourcesContent":["// Source: trinity/trinity/Tr2TranslationTool.h\n// Source: trinity/trinity/Tr2TranslationTool.cpp\n// Hand-maintained from Carbon source, promoted out of generated intake.\nimport { carbon, impl, io, type } from \"#schema\";\nimport { Tr2ManipulationTool } from \"./Tr2ManipulationTool.js\";\nimport { vec3 } from \"#math/vec3\";\nimport { vec4 } from \"#math/vec4\";\n\nconst AXIS_COLORS = Object.freeze({\n x: vec4.fromValues(1, 0.01, 0.01, 1),\n y: vec4.fromValues(0.01, 1, 0.01, 1),\n z: vec4.fromValues(0.01, 0.01, 1, 1),\n w: vec4.fromValues(0, 1, 1, 1)\n});\n\n/** Extends the manipulation tool with the current three-axis translation result. */\n@type.define({ className: \"Tr2TranslationTool\", family: \"trinityCore\", purpose: \"Extends the manipulation tool with the current three-axis translation result.\" })\nexport class Tr2TranslationTool extends Tr2ManipulationTool\n{\n\n /** m_translation (Vector3) [READ] */\n @io.read\n @type.vec3\n translation = vec3.create();\n\n /** Returns the full tool, or the captured axis and centre primitive. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"JavaScript returns a fresh array instead of Carbon's reused private visible-object vector.\")\n GetPrimitivesToRender()\n {\n if (!this.captured)\n {\n return Array.from(this.primitives);\n }\n return this.primitives.filter(primitive =>\n primitive.name === \"w\" || primitive.name === this.selectedAxis);\n }\n\n /** Restores Carbon's authored axis and centre colours. */\n @carbon.method\n @impl.implemented\n ResetPrimitiveColors()\n {\n for (const primitive of this.primitives)\n {\n const color = AXIS_COLORS[primitive.name];\n if (color)\n {\n primitive.SetCurrentColor(color);\n }\n }\n }\n\n}\n"],"names":["AXIS_COLORS","Object","freeze","x","vec4","fromValues","y","z","w","_Tr2TranslationTool","Tr2TranslationTool","Tr2ManipulationTool","e","_init_translation","_init_extra_translation","_initProto","c","_initClass","_applyDecs","type","define","className","family","purpose","io","read","vec3","carbon","method","impl","adapted","reason","implemented","constructor","args","translation","create","GetPrimitivesToRender","captured","Array","from","primitives","filter","primitive","name","selectedAxis","ResetPrimitiveColors","color","SetCurrentColor"],"mappings":";;;;;;;AAQA,MAAMA,WAAW,GAAGC,MAAM,CAACC,MAAM,CAAC;AAChCC,EAAAA,CAAC,EAAEC,IAAI,CAACC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACpCC,EAAAA,CAAC,EAAEF,IAAI,CAACC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACpCE,EAAAA,CAAC,EAAEH,IAAI,CAACC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;EACpCG,CAAC,EAAEJ,IAAI,CAACC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/B,CAAC,CAAC;;AAEF;AAAA,IAAAI;AACA,MAAAC,kBAAA,SACwCC,oBAAmB,CAC3D;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,EAAA,CAAAC,iBAAA,EAAAC,uBAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAAP,mBAAA,EAAAQ,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,oBAAoB;AAAEC,MAAAA,MAAM,EAAE,aAAa;AAAEC,MAAAA,OAAO,EAAE;KAAiF,CAAC,MAK/JC,EAAE,EAAFA,EAAE,CAACC,IAAI,EACPN,IAAI,EAAJA,IAAI,CAACO,IAAI,yBAITC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,UACZD,IAAI,CAACE,MAAM,CAAC,4FAA4F,CAAC,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAYzGJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAxBqBrB,oBAAmB,CAAA;AAAA;AAAAsB,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAApB,uBAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAGzD;EAGAqB,WAAW,IAAApB,UAAA,CAAA,IAAA,CAAA,EAAAF,iBAAA,OAAGa,IAAI,CAACU,MAAM,EAAE,CAAA;;AAE3B;AAIAC,EAAAA,qBAAqBA,GACrB;AACE,IAAA,IAAI,CAAC,IAAI,CAACC,QAAQ,EAClB;AACE,MAAA,OAAOC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACC,UAAU,CAAC;AACpC,IAAA;IACA,OAAO,IAAI,CAACA,UAAU,CAACC,MAAM,CAACC,SAAS,IACrCA,SAAS,CAACC,IAAI,KAAK,GAAG,IAAID,SAAS,CAACC,IAAI,KAAK,IAAI,CAACC,YAAY,CAAC;AACnE,EAAA;;AAEA;AAGAC,EAAAA,oBAAoBA,GACpB;AACE,IAAA,KAAK,MAAMH,SAAS,IAAI,IAAI,CAACF,UAAU,EACvC;AACE,MAAA,MAAMM,KAAK,GAAG/C,WAAW,CAAC2C,SAAS,CAACC,IAAI,CAAC;AACzC,MAAA,IAAIG,KAAK,EACT;AACEJ,QAAAA,SAAS,CAACK,eAAe,CAACD,KAAK,CAAC;AAClC,MAAA;AACF,IAAA;AACF,EAAA;AAAC,EAAA;IAAA9B,UAAA,EAAA;AAAA;AAEH;;;;"}
1
+ {"version":3,"file":"Tr2TranslationTool.js","sources":["../../../../../src/trinity/core/tool/Tr2TranslationTool.js"],"sourcesContent":["// Source: trinity/trinity/Tr2TranslationTool.h\n// Source: trinity/trinity/Tr2TranslationTool.cpp\n// Hand-maintained from Carbon source, promoted out of generated intake.\nimport { carbon, impl, edit, type } from \"#schema\";\nimport { Tr2ManipulationTool } from \"./Tr2ManipulationTool.js\";\nimport { vec3 } from \"#math/vec3\";\nimport { vec4 } from \"#math/vec4\";\n\nconst AXIS_COLORS = Object.freeze({\n x: vec4.fromValues(1, 0.01, 0.01, 1),\n y: vec4.fromValues(0.01, 1, 0.01, 1),\n z: vec4.fromValues(0.01, 0.01, 1, 1),\n w: vec4.fromValues(0, 1, 1, 1)\n});\n\n/** Extends the manipulation tool with the current three-axis translation result. */\n@type.define({ className: \"Tr2TranslationTool\", family: \"trinityCore\", purpose: \"Extends the manipulation tool with the current three-axis translation result.\" })\nexport class Tr2TranslationTool extends Tr2ManipulationTool\n{\n\n /** m_translation (Vector3) [READ] */\n @edit.read\n @type.vec3\n translation = vec3.create();\n\n /** Returns the full tool, or the captured axis and centre primitive. */\n @carbon.method\n @impl.adapted\n @impl.reason(\"JavaScript returns a fresh array instead of Carbon's reused private visible-object vector.\")\n GetPrimitivesToRender()\n {\n if (!this.captured)\n {\n return Array.from(this.primitives);\n }\n return this.primitives.filter(primitive =>\n primitive.name === \"w\" || primitive.name === this.selectedAxis);\n }\n\n /** Restores Carbon's authored axis and centre colours. */\n @carbon.method\n @impl.implemented\n ResetPrimitiveColors()\n {\n for (const primitive of this.primitives)\n {\n const color = AXIS_COLORS[primitive.name];\n if (color)\n {\n primitive.SetCurrentColor(color);\n }\n }\n }\n\n}\n"],"names":["AXIS_COLORS","Object","freeze","x","vec4","fromValues","y","z","w","_Tr2TranslationTool","Tr2TranslationTool","Tr2ManipulationTool","e","_init_translation","_init_extra_translation","_initProto","c","_initClass","_applyDecs","type","define","className","family","purpose","edit","read","vec3","carbon","method","impl","adapted","reason","implemented","constructor","args","translation","create","GetPrimitivesToRender","captured","Array","from","primitives","filter","primitive","name","selectedAxis","ResetPrimitiveColors","color","SetCurrentColor"],"mappings":";;;;;;;AAQA,MAAMA,WAAW,GAAGC,MAAM,CAACC,MAAM,CAAC;AAChCC,EAAAA,CAAC,EAAEC,IAAI,CAACC,UAAU,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AACpCC,EAAAA,CAAC,EAAEF,IAAI,CAACC,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;AACpCE,EAAAA,CAAC,EAAEH,IAAI,CAACC,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;EACpCG,CAAC,EAAEJ,IAAI,CAACC,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;AAC/B,CAAC,CAAC;;AAEF;AAAA,IAAAI;AACA,MAAAC,kBAAA,SACwCC,oBAAmB,CAC3D;AAAA,EAAA;AAAA,IAAA,CAAA;AAAAC,MAAAA,CAAA,EAAA,CAAAC,iBAAA,EAAAC,uBAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAAP,mBAAA,EAAAQ,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,oBAAoB;AAAEC,MAAAA,MAAM,EAAE,aAAa;AAAEC,MAAAA,OAAO,EAAE;KAAiF,CAAC,MAK/JC,IAAI,EAAJA,IAAI,CAACC,IAAI,EACTN,IAAI,EAAJA,IAAI,CAACO,IAAI,yBAITC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,UACZD,IAAI,CAACE,MAAM,CAAC,4FAA4F,CAAC,CAAA,EAAA,EAAA,EAAA,uBAAA,CAAA,EAAA,CAAA,CAYzGJ,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACG,WAAW,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAxBqBrB,oBAAmB,CAAA;AAAA;AAAAsB,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAApB,uBAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAGzD;EAGAqB,WAAW,IAAApB,UAAA,CAAA,IAAA,CAAA,EAAAF,iBAAA,OAAGa,IAAI,CAACU,MAAM,EAAE,CAAA;;AAE3B;AAIAC,EAAAA,qBAAqBA,GACrB;AACE,IAAA,IAAI,CAAC,IAAI,CAACC,QAAQ,EAClB;AACE,MAAA,OAAOC,KAAK,CAACC,IAAI,CAAC,IAAI,CAACC,UAAU,CAAC;AACpC,IAAA;IACA,OAAO,IAAI,CAACA,UAAU,CAACC,MAAM,CAACC,SAAS,IACrCA,SAAS,CAACC,IAAI,KAAK,GAAG,IAAID,SAAS,CAACC,IAAI,KAAK,IAAI,CAACC,YAAY,CAAC;AACnE,EAAA;;AAEA;AAGAC,EAAAA,oBAAoBA,GACpB;AACE,IAAA,KAAK,MAAMH,SAAS,IAAI,IAAI,CAACF,UAAU,EACvC;AACE,MAAA,MAAMM,KAAK,GAAG/C,WAAW,CAAC2C,SAAS,CAACC,IAAI,CAAC;AACzC,MAAA,IAAIG,KAAK,EACT;AACEJ,QAAAA,SAAS,CAACK,eAAe,CAACD,KAAK,CAAC;AAClC,MAAA;AACF,IAAA;AACF,EAAA;AAAC,EAAA;IAAA9B,UAAA,EAAA;AAAA;AAEH;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { CjsModel } from '#model';
3
- import { io, type, carbon, impl } from '#schema';
3
+ import { edit, type, carbon, impl } from '#schema';
4
4
 
5
5
  let _initProto, _initClass, _init_type, _init_extra_type, _init_category, _init_extra_category, _init_name, _init_extra_name, _init_description, _init_extra_description, _create;
6
6
  const TermType = Object.freeze({
@@ -23,7 +23,7 @@ new class extends _identity {
23
23
  } = _applyDecs2311(this, [type.define({
24
24
  className: "Tr2ExpressionTermInfo",
25
25
  family: "trinityCore"
26
- })], [[[io, io.readwrite, type, type.int32, void 0, type.enum("TermType")], 16, "type"], [[io, io.readwrite, type, type.string], 16, "category"], [[io, io.readwrite, type, type.string], 16, "name"], [[io, io.readwrite, type, type.string], 16, "description"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetArguments"]], 0, void 0, CjsModel));
26
+ })], [[[edit, edit.readwrite, type, type.int32, void 0, type.enum("TermType")], 16, "type"], [[edit, edit.readwrite, type, type.string], 16, "category"], [[edit, edit.readwrite, type, type.string], 16, "name"], [[edit, edit.readwrite, type, type.string], 16, "description"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetArguments"]], 0, void 0, CjsModel));
27
27
  _create = function (termType, category, name, args, description) {
28
28
  const term = new _Tr2ExpressionTermInf();
29
29
  term.type = termType;
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2ExpressionTermInfo.js","sources":["../../../../../src/trinity/core/variable/Tr2ExpressionTermInfo.js"],"sourcesContent":["// Source: trinity/trinity/Tr2ExpressionTermInfo.h\r\n// Source: trinity/trinity/Tr2ExpressionTermInfo.cpp\r\n// Source: trinity/trinity/Tr2ExpressionTermInfo_Blue.cpp\r\nimport { CjsModel } from \"#model\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\n\r\n\r\nconst TermType = Object.freeze({\r\n VARIABLE: 0,\r\n FUNCTION: 1,\r\n STRING_FUNCTION: 2\r\n});\r\n\r\n\r\n/**\r\n * Describes one term the expression language exposes - a variable, a function or\r\n * a string function - with its category, argument names and help text.\r\n */\r\n@type.define({\r\n className: \"Tr2ExpressionTermInfo\",\r\n family: \"trinityCore\"\r\n})\r\nexport class Tr2ExpressionTermInfo extends CjsModel\r\n{\r\n @io.readwrite\r\n @type.int32\r\n @type.enum(\"TermType\")\r\n type = TermType.VARIABLE;\r\n\r\n @io.readwrite\r\n @type.string\r\n category = \"\";\r\n\r\n @io.readwrite\r\n @type.string\r\n name = \"\";\r\n\r\n @io.readwrite\r\n @type.string\r\n description = \"\";\r\n\r\n #arguments = [];\r\n\r\n /** A detached copy of the argument-name list. */\r\n @carbon.method\r\n @impl.implemented\r\n GetArguments()\r\n {\r\n return this.#arguments.slice();\r\n }\r\n\r\n /** Builds a VARIABLE term, which takes no arguments. */\r\n static Variable(category, name, description)\r\n {\r\n return Tr2ExpressionTermInfo.#create(TermType.VARIABLE, category, name, [], description);\r\n }\r\n\r\n /**\r\n * Builds a FUNCTION term where every trailing value but the last is an\r\n * argument name and the last is the description.\r\n */\r\n static Function(category, name, ...argumentsAndDescription)\r\n {\r\n const values = argumentsAndDescription.slice();\r\n const description = values.pop() ?? \"\";\r\n return Tr2ExpressionTermInfo.#create(TermType.FUNCTION, category, name, values, description);\r\n }\r\n\r\n /** Builds a STRING_FUNCTION term taking exactly one argument. */\r\n static StringFunction(category, name, argument, description)\r\n {\r\n return Tr2ExpressionTermInfo.#create(TermType.STRING_FUNCTION, category, name, [argument], description);\r\n }\r\n\r\n /**\r\n * Constructs and fills a term of the given type, copying the argument list so\r\n * the caller's array is not retained.\r\n */\r\n static #create(termType, category, name, args, description)\r\n {\r\n const term = new Tr2ExpressionTermInfo();\r\n term.type = termType;\r\n term.category = category;\r\n term.name = name;\r\n term.description = description;\r\n term.#arguments = args.slice();\r\n return term;\r\n }\r\n\r\n static TermType = TermType;\r\n\r\n}\r\n"],"names":["TermType","Object","freeze","VARIABLE","FUNCTION","STRING_FUNCTION","_Tr2ExpressionTermInf","_identity","Tr2ExpressionTermInfo","CjsModel","e","_init_type","_init_extra_type","_init_category","_init_extra_category","_init_name","_init_extra_name","_init_description","_init_extra_description","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","readwrite","int32","enum","string","carbon","method","impl","implemented","_create","termType","category","name","args","description","term","slice","GetArguments","Variable","Function","argumentsAndDescription","values","pop","StringFunction","argument","#create","_0","_1","_2","_3","_4","apply","arguments","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2ExpressionTermInfo.js","sources":["../../../../../src/trinity/core/variable/Tr2ExpressionTermInfo.js"],"sourcesContent":["// Source: trinity/trinity/Tr2ExpressionTermInfo.h\r\n// Source: trinity/trinity/Tr2ExpressionTermInfo.cpp\r\n// Source: trinity/trinity/Tr2ExpressionTermInfo_Blue.cpp\r\nimport { CjsModel } from \"#model\";\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\n\r\n\r\nconst TermType = Object.freeze({\r\n VARIABLE: 0,\r\n FUNCTION: 1,\r\n STRING_FUNCTION: 2\r\n});\r\n\r\n\r\n/**\r\n * Describes one term the expression language exposes - a variable, a function or\r\n * a string function - with its category, argument names and help text.\r\n */\r\n@type.define({\r\n className: \"Tr2ExpressionTermInfo\",\r\n family: \"trinityCore\"\r\n})\r\nexport class Tr2ExpressionTermInfo extends CjsModel\r\n{\r\n @edit.readwrite\r\n @type.int32\r\n @type.enum(\"TermType\")\r\n type = TermType.VARIABLE;\r\n\r\n @edit.readwrite\r\n @type.string\r\n category = \"\";\r\n\r\n @edit.readwrite\r\n @type.string\r\n name = \"\";\r\n\r\n @edit.readwrite\r\n @type.string\r\n description = \"\";\r\n\r\n #arguments = [];\r\n\r\n /** A detached copy of the argument-name list. */\r\n @carbon.method\r\n @impl.implemented\r\n GetArguments()\r\n {\r\n return this.#arguments.slice();\r\n }\r\n\r\n /** Builds a VARIABLE term, which takes no arguments. */\r\n static Variable(category, name, description)\r\n {\r\n return Tr2ExpressionTermInfo.#create(TermType.VARIABLE, category, name, [], description);\r\n }\r\n\r\n /**\r\n * Builds a FUNCTION term where every trailing value but the last is an\r\n * argument name and the last is the description.\r\n */\r\n static Function(category, name, ...argumentsAndDescription)\r\n {\r\n const values = argumentsAndDescription.slice();\r\n const description = values.pop() ?? \"\";\r\n return Tr2ExpressionTermInfo.#create(TermType.FUNCTION, category, name, values, description);\r\n }\r\n\r\n /** Builds a STRING_FUNCTION term taking exactly one argument. */\r\n static StringFunction(category, name, argument, description)\r\n {\r\n return Tr2ExpressionTermInfo.#create(TermType.STRING_FUNCTION, category, name, [argument], description);\r\n }\r\n\r\n /**\r\n * Constructs and fills a term of the given type, copying the argument list so\r\n * the caller's array is not retained.\r\n */\r\n static #create(termType, category, name, args, description)\r\n {\r\n const term = new Tr2ExpressionTermInfo();\r\n term.type = termType;\r\n term.category = category;\r\n term.name = name;\r\n term.description = description;\r\n term.#arguments = args.slice();\r\n return term;\r\n }\r\n\r\n static TermType = TermType;\r\n\r\n}\r\n"],"names":["TermType","Object","freeze","VARIABLE","FUNCTION","STRING_FUNCTION","_Tr2ExpressionTermInf","_identity","Tr2ExpressionTermInfo","CjsModel","e","_init_type","_init_extra_type","_init_category","_init_extra_category","_init_name","_init_extra_name","_init_description","_init_extra_description","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","readwrite","int32","enum","string","carbon","method","impl","implemented","_create","termType","category","name","args","description","term","slice","GetArguments","Variable","Function","argumentsAndDescription","values","pop","StringFunction","argument","#create","_0","_1","_2","_3","_4","apply","arguments","constructor"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
- import { io, type } from '#schema';
2
+ import { edit, type } from '#schema';
3
3
  import { CjsModel } from '#model';
4
4
 
5
5
  let _initClass, _init_value, _init_extra_value;
@@ -14,7 +14,7 @@ class TriFloat extends CjsModel {
14
14
  } = _applyDecs2311(this, [type.define({
15
15
  className: "TriFloat",
16
16
  family: "trinityCore"
17
- })], [[[io, io.persist, type, type.float32], 16, "value"]], 0, void 0, CjsModel));
17
+ })], [[[edit, edit.persist, type, type.float32], 16, "value"]], 0, void 0, CjsModel));
18
18
  }
19
19
  constructor(...args) {
20
20
  super(...args);