@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
@@ -4,10 +4,11 @@ export { CARBON_META, CARBON_RAW_STRUCT_TYPE, CARBON_TYPE, carbonValueToJsExpres
4
4
  export { resolveHydrationAdapter } from './hydration.js';
5
5
 
6
6
  // Namespace decorators re-exported as named bindings so consumers can write
7
- // `import { type, io } from ".../schema"` and `@type.string` instead of `@CjsSchema.type.string`.
7
+ // `import { type, edit } from ".../schema"` and `@type.string` instead of `@CjsSchema.type.string`.
8
8
  const {
9
9
  type,
10
- io,
10
+ edit,
11
+ lifecycle,
11
12
  jessica,
12
13
  impl,
13
14
  carbon,
@@ -15,5 +16,5 @@ const {
15
16
  compose
16
17
  } = CjsSchema;
17
18
 
18
- export { CjsSchema, carbon, components, compose, impl, io, jessica, CjsSchema as schema, type };
19
+ export { CjsSchema, carbon, components, compose, edit, impl, jessica, lifecycle, CjsSchema as schema, type };
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../../src/global/schema/index.js"],"sourcesContent":["import { CJS_CLASS_NAME, CJS_ENUM_NAME, CJS_MODEL_BRAND, CjsSchema } from \"./CjsSchema.js\";\r\n\r\n// Namespace decorators re-exported as named bindings so consumers can write\r\n// `import { type, io } from \".../schema\"` and `@type.string` instead of `@CjsSchema.type.string`.\r\nconst { type, io, jessica, impl, carbon, components, compose } = CjsSchema;\r\n\r\nexport {\n carbon,\n compose,\r\n components,\r\n CJS_CLASS_NAME,\r\n CJS_ENUM_NAME,\r\n CJS_MODEL_BRAND,\r\n CjsSchema,\r\n CjsSchema as schema,\r\n impl,\r\n io,\r\n jessica,\r\n type\n};\n\nexport * from \"./types/carbonTypes.js\";\nexport * from \"./hydration.js\";\n"],"names":["type","io","jessica","impl","carbon","components","compose","CjsSchema"],"mappings":";;;;;AAEA;AACA;AACA,MAAM;EAAEA,IAAI;EAAEC,EAAE;EAAEC,OAAO;EAAEC,IAAI;EAAEC,MAAM;EAAEC,UAAU;AAAEC,EAAAA;AAAQ,CAAC,GAAGC;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../../src/global/schema/index.js"],"sourcesContent":["import { CJS_CLASS_NAME, CJS_ENUM_NAME, CJS_MODEL_BRAND, CjsSchema } from \"./CjsSchema.js\";\r\n\r\n// Namespace decorators re-exported as named bindings so consumers can write\r\n// `import { type, edit } from \".../schema\"` and `@type.string` instead of `@CjsSchema.type.string`.\r\nconst { type, edit, lifecycle, jessica, impl, carbon, components, compose } = CjsSchema;\r\n\r\nexport {\r\n carbon,\r\n compose,\r\n components,\r\n CJS_CLASS_NAME,\r\n CJS_ENUM_NAME,\r\n CJS_MODEL_BRAND,\r\n CjsSchema,\r\n CjsSchema as schema,\r\n impl,\r\n edit,\r\n jessica,\r\n lifecycle,\r\n type\r\n};\r\n\r\nexport * from \"./types/carbonTypes.js\";\r\nexport * from \"./hydration.js\";\r\n"],"names":["type","edit","lifecycle","jessica","impl","carbon","components","compose","CjsSchema"],"mappings":";;;;;AAEA;AACA;AACA,MAAM;EAAEA,IAAI;EAAEC,IAAI;EAAEC,SAAS;EAAEC,OAAO;EAAEC,IAAI;EAAEC,MAAM;EAAEC,UAAU;AAAEC,EAAAA;AAAQ,CAAC,GAAGC;;;;"}
@@ -714,7 +714,7 @@ function typedArrayStorageFor(descriptor) {
714
714
  function createCarbonTypedArrayValue(descriptor, value) {
715
715
  // `null`/`undefined` never arrive: normalizeCarbonValue answers both before
716
716
  // the switch, and the declared default for these fields IS null - both
717
- // production declarations are `@io.persistOnly ... = null`, absent until
717
+ // production declarations are `@edit.persistOnly ... = null`, absent until
718
718
  // data arrives. Nothing here should invent an empty array over that.
719
719
  const storage = typedArrayStorageFor(descriptor);
720
720
  if (!storage) return cloneCarbonValue(value);
@@ -1 +1 @@
1
- {"version":3,"file":"carbonTypes.js","sources":["../../../../../src/global/schema/types/carbonTypes.js"],"sourcesContent":["import { isTag } from \"#utils/is\";\n\nexport const CARBON_META = Symbol.for(\"carbonenginejs.type\");\nexport const CARBON_RAW_STRUCT_TYPE = Symbol.for(\"carbonenginejs.rawStructType\");\n\nexport const CARBON_TYPE = Object.freeze({\n UNKNOWN: \"unknown\",\n BOOLEAN: \"boolean\",\n STRING: \"string\",\n PATH: \"path\",\n EXPRESSION: \"expression\",\n ENUM: \"enum\",\n FLOAT32: \"float32\",\n FLOAT64: \"float64\",\n INT8: \"int8\",\n UINT8: \"uint8\",\n INT16: \"int16\",\n UINT16: \"uint16\",\n INT32: \"int32\",\n UINT32: \"uint32\",\n INT64: \"int64\",\n UINT64: \"uint64\",\n VECTOR2: \"vector2\",\n VECTOR3: \"vector3\",\n VECTOR4: \"vector4\",\n COLOR: \"color\",\n QUATERNION: \"quaternion\",\n MATRIX3: \"matrix3\",\n MATRIX4: \"matrix4\",\n ARRAY: \"array\",\n MAP: \"map\",\n SET: \"set\",\n MODEL: \"model\",\n OBJECT_REF: \"objectRef\",\n STRUCT: \"struct\",\n RAW_STRUCT: \"rawStruct\",\n TYPED_ARRAY: \"typedArray\"\n});\n\nconst FLOAT32_VECTOR_DEFINITIONS = Object.freeze({\n [CARBON_TYPE.VECTOR2]: Object.freeze({ kind: CARBON_TYPE.VECTOR2, js: \"vec2\", scalar: CARBON_TYPE.FLOAT32, length: 2, default: [0, 0] }),\n [CARBON_TYPE.VECTOR3]: Object.freeze({ kind: CARBON_TYPE.VECTOR3, js: \"vec3\", scalar: CARBON_TYPE.FLOAT32, length: 3, default: [0, 0, 0] }),\n [CARBON_TYPE.VECTOR4]: Object.freeze({ kind: CARBON_TYPE.VECTOR4, js: \"vec4\", scalar: CARBON_TYPE.FLOAT32, length: 4, default: [0, 0, 0, 0] }),\n [CARBON_TYPE.COLOR]: Object.freeze({ kind: CARBON_TYPE.COLOR, js: \"vec4\", semantic: CARBON_TYPE.COLOR, scalar: CARBON_TYPE.FLOAT32, length: 4, default: [0, 0, 0, 0] }),\n [CARBON_TYPE.QUATERNION]: Object.freeze({ kind: CARBON_TYPE.QUATERNION, js: \"quat\", scalar: CARBON_TYPE.FLOAT32, length: 4, default: [0, 0, 0, 1] }),\n [CARBON_TYPE.MATRIX3]: Object.freeze({ kind: CARBON_TYPE.MATRIX3, js: \"mat3\", scalar: CARBON_TYPE.FLOAT32, length: 9, default: [1, 0, 0, 0, 1, 0, 0, 0, 1] }),\n [CARBON_TYPE.MATRIX4]: Object.freeze({ kind: CARBON_TYPE.MATRIX4, js: \"mat4\", scalar: CARBON_TYPE.FLOAT32, length: 16, default: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] })\n});\n\nconst TYPE_DEFINITIONS = Object.freeze({\n [CARBON_TYPE.UNKNOWN]: Object.freeze({ kind: CARBON_TYPE.UNKNOWN, js: \"*\" }),\n [CARBON_TYPE.BOOLEAN]: Object.freeze({ kind: CARBON_TYPE.BOOLEAN, js: \"boolean\" }),\n [CARBON_TYPE.STRING]: Object.freeze({ kind: CARBON_TYPE.STRING, js: \"string\" }),\n [CARBON_TYPE.PATH]: Object.freeze({ kind: CARBON_TYPE.PATH, js: \"string\" }),\n [CARBON_TYPE.EXPRESSION]: Object.freeze({ kind: CARBON_TYPE.EXPRESSION, js: \"string\", semantic: CARBON_TYPE.EXPRESSION }),\n [CARBON_TYPE.ENUM]: Object.freeze({ kind: CARBON_TYPE.ENUM, js: \"number|string|null\" }),\n [CARBON_TYPE.FLOAT32]: Object.freeze({ kind: CARBON_TYPE.FLOAT32, js: \"number\", bits: 32, signed: true, floating: true }),\n [CARBON_TYPE.FLOAT64]: Object.freeze({ kind: CARBON_TYPE.FLOAT64, js: \"number\", bits: 64, signed: true, floating: true }),\n [CARBON_TYPE.INT8]: Object.freeze({ kind: CARBON_TYPE.INT8, js: \"number\", bits: 8, signed: true, integer: true }),\n [CARBON_TYPE.UINT8]: Object.freeze({ kind: CARBON_TYPE.UINT8, js: \"number\", bits: 8, signed: false, integer: true }),\n [CARBON_TYPE.INT16]: Object.freeze({ kind: CARBON_TYPE.INT16, js: \"number\", bits: 16, signed: true, integer: true }),\n [CARBON_TYPE.UINT16]: Object.freeze({ kind: CARBON_TYPE.UINT16, js: \"number\", bits: 16, signed: false, integer: true }),\n [CARBON_TYPE.INT32]: Object.freeze({ kind: CARBON_TYPE.INT32, js: \"number\", bits: 32, signed: true, integer: true }),\n [CARBON_TYPE.UINT32]: Object.freeze({ kind: CARBON_TYPE.UINT32, js: \"number\", bits: 32, signed: false, integer: true }),\n [CARBON_TYPE.INT64]: Object.freeze({ kind: CARBON_TYPE.INT64, js: \"bigint\", bits: 64, signed: true, integer: true }),\n [CARBON_TYPE.UINT64]: Object.freeze({ kind: CARBON_TYPE.UINT64, js: \"bigint\", bits: 64, signed: false, integer: true }),\n [CARBON_TYPE.ARRAY]: Object.freeze({ kind: CARBON_TYPE.ARRAY, js: \"Array\" }),\n [CARBON_TYPE.MAP]: Object.freeze({ kind: CARBON_TYPE.MAP, js: \"Map\" }),\n [CARBON_TYPE.SET]: Object.freeze({ kind: CARBON_TYPE.SET, js: \"Set\" }),\n [CARBON_TYPE.MODEL]: Object.freeze({ kind: CARBON_TYPE.MODEL, js: \"object|null\" }),\n [CARBON_TYPE.OBJECT_REF]: Object.freeze({ kind: CARBON_TYPE.OBJECT_REF, js: \"object|null\" }),\n [CARBON_TYPE.STRUCT]: Object.freeze({ kind: CARBON_TYPE.STRUCT, js: \"object\" }),\n [CARBON_TYPE.RAW_STRUCT]: Object.freeze({ kind: CARBON_TYPE.RAW_STRUCT, js: \"object\" }),\n [CARBON_TYPE.TYPED_ARRAY]: Object.freeze({ kind: CARBON_TYPE.TYPED_ARRAY, js: \"TypedArray\" }),\n ...FLOAT32_VECTOR_DEFINITIONS\n});\n\nconst TYPE_ALIASES = Object.freeze({\n bool: CARBON_TYPE.BOOLEAN,\n float: CARBON_TYPE.FLOAT32,\n double: CARBON_TYPE.FLOAT64,\n vec2: CARBON_TYPE.VECTOR2,\n vec3: CARBON_TYPE.VECTOR3,\n vec4: CARBON_TYPE.VECTOR4,\n quat: CARBON_TYPE.QUATERNION,\n mat3: CARBON_TYPE.MATRIX3,\n mat4: CARBON_TYPE.MATRIX4\n});\n\nconst TYPED_ARRAY_CTORS = Object.freeze({\n Int8Array,\n Uint8Array,\n Uint8ClampedArray,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array,\n BigInt64Array,\n BigUint64Array\n});\n\n/** The typed array each declared scalar stores into. */\nconst TYPED_ARRAY_FOR_SCALAR = Object.freeze({\n [CARBON_TYPE.INT8]: \"Int8Array\",\n [CARBON_TYPE.UINT8]: \"Uint8Array\",\n [CARBON_TYPE.INT16]: \"Int16Array\",\n [CARBON_TYPE.UINT16]: \"Uint16Array\",\n [CARBON_TYPE.INT32]: \"Int32Array\",\n [CARBON_TYPE.UINT32]: \"Uint32Array\",\n [CARBON_TYPE.FLOAT32]: \"Float32Array\",\n [CARBON_TYPE.FLOAT64]: \"Float64Array\"\n});\n\nconst num = Object.freeze({\n int8,\n uint8,\n int16,\n uint16,\n int32,\n uint32,\n int64,\n uint64,\n float32,\n float64\n});\n\nconst CARBON_MATH_KINDS = new Set(Object.keys(FLOAT32_VECTOR_DEFINITIONS));\n\n/**\n * The typed array and rounding function a math kind's declared scalar wants.\n *\n * Every math descriptor carries a `scalar`, and the whole point of declaring\n * one is to know the storage type rather than assume it. Before 2026-09-08 both\n * this file's math paths hardcoded Float32Array and num.float32 and ignored\n * `scalar` entirely - harmless while every declared math kind happened to be\n * float32, and a SILENT TRUNCATION the moment one is not. Carbon has\n * `Vector3d`/`Vector4d` in 331 places, so that moment is a port away.\n *\n * @param {object} descriptor A normalized Carbon type descriptor.\n * @returns {{Ctor: Function, round: Function}|null} Null when the scalar has no\n * typed-array storage, so the caller falls back to a plain array.\n */\nfunction mathStorageFor(descriptor)\n{\n return MATH_STORAGE[descriptor.scalar] ?? null;\n}\n\n\n/**\n * Per-scalar storage, resolved once rather than per value.\n *\n * The `tag` is what `isTag` compares against - the exact-type check, which\n * unlike `instanceof` also answers correctly for a typed array that arrived\n * from a worker or another realm, where the constructor is a different object.\n */\nconst MATH_STORAGE = Object.freeze(Object.fromEntries(\n Object.entries(TYPED_ARRAY_FOR_SCALAR)\n .map(([ scalar, name ]) => [ scalar, Object.freeze({\n Ctor: TYPED_ARRAY_CTORS[name],\n round: num[scalar],\n tag: `[object ${name}]`\n }) ])\n .filter(([ , storage ]) => storage.Ctor && storage.round)));\n\n\n/** Creates the declared typed array for a Carbon math shape, with its defaults. */\nexport function createCarbonMathValue(type, value = undefined)\n{\n const descriptor = normalizeCarbonTypeDescriptor(type);\n const storage = CARBON_MATH_KINDS.has(descriptor.kind) ? mathStorageFor(descriptor) : null;\n\n // Both internal callers are math-kind switch arms, so `storage` is resolved\n // in every real call. The identity fallback covers a non-math descriptor\n // reaching here without quietly re-asserting float32 over it.\n const values = normalizeMathValues(\n value, descriptor.length, descriptor.default, storage?.round ?? (n => n), descriptor.kind);\n\n // Carbon math values are plain typed arrays of their DECLARED scalar. Their\n // descriptors remain independent of the gl-matrix-backed math helpers, whose\n // own ARRAY_TYPE stays float32; a field declaring a wider scalar keeps its\n // precision in storage, and only borrows gl-matrix for float32 work.\n // Defaults already encode identity/zero, matching gl-matrix's create().\n return storage ? storage.Ctor.from(values) : values;\n}\n\n/**\n * Coerce a math value INTO an existing typed-array target, in place, with no\n * allocation. Returns `true`/`false` (whether any element changed) when the fast\n * path applies — a math kind whose declared scalar has typed-array storage, a\n * `target` of exactly that type and the declared length, and an array-like\n * `value`. Returns `null` when it does not apply, so the caller falls back to a\n * normal allocating assignment.\n *\n * THROWS when `value` has a length other than the declared one: a declared\n * length is a requirement, and padding or truncating it hands back a plausible\n * wrong answer with no signal.\n */\nexport function coerceCarbonMathInto(target, value, type)\n{\n const descriptor = normalizeCarbonTypeDescriptor(type);\n if (!CARBON_MATH_KINDS.has(descriptor.kind)) return null;\n\n const storage = mathStorageFor(descriptor);\n if (!storage) return null;\n\n // Against the DECLARED type rather than a hardcoded Float32Array, through\n // the existing `isTag` util: the exact-type check, and correct for a typed\n // array that arrived from a worker or another realm, where `instanceof`\n // fails because the constructor is a different object.\n if (!isTag(target, storage.tag) || target.length !== descriptor.length) return null;\n\n const source = ArrayBuffer.isView(value) || Array.isArray(value) ? value : null;\n if (!source) return null;\n\n // A declared length is a requirement, so a mismatch is the caller's bug\n // rather than something to pad or truncate into silence.\n if (source.length !== descriptor.length)\n {\n const error = new RangeError(\n `${descriptor.kind} declares ${descriptor.length} elements and received ${source.length}.`);\n error.code = \"CJS_MATH_LENGTH_MISMATCH\";\n throw error;\n }\n\n const round = storage.round;\n let changed = false;\n for (let i = 0; i < descriptor.length; i++)\n {\n const next = round(source[i]);\n if (target[i] !== next)\n {\n target[i] = next;\n changed = true;\n }\n }\n return changed;\n}\n\n/**\n * Resolves descriptor metadata used to validate and construct a declared Carbon\n * value.\n */\nexport function getCarbonTypeDefinition(type)\n{\n const descriptor = normalizeCarbonTypeDescriptor(type);\n return TYPE_DEFINITIONS[descriptor.kind] || TYPE_DEFINITIONS[CARBON_TYPE.UNKNOWN];\n}\n\n/**\n * Normalizes shorthand or source-shaped type metadata into a canonical\n * descriptor.\n */\nexport function normalizeCarbonTypeDescriptor(type)\n{\n if (!type) return TYPE_DEFINITIONS[CARBON_TYPE.UNKNOWN];\n if (typeof type === \"string\") return carbonTypeDefinitionForKind(type);\n if (type.kind) return mergeCarbonTypeDefinition(type);\n if (type.jsType) return normalizeCarbonTypeDescriptor(type.jsType);\n if (type.cppType) return inferCarbonTypeFromCpp(type.cppType, type.name);\n if (type.pythonType) return inferCarbonTypeFromPython(type.pythonType);\n return TYPE_DEFINITIONS[CARBON_TYPE.UNKNOWN];\n}\n\n/** Infers a portable Carbon descriptor from a C++ type and optional field name. */\nexport function inferCarbonTypeFromCpp(cppType, propertyName = \"\")\n{\n const original = String(cppType || \"\").trim();\n const type = normalizeCppType(original);\n const named = normalizeCppTypeName(original);\n\n if (!type) return TYPE_DEFINITIONS[CARBON_TYPE.UNKNOWN];\n if (type.includes(\"std::vector\") || /(?:Vector|List)$/.test(named)) return containerDescriptor(CARBON_TYPE.ARRAY, original);\n if (type.includes(\"std::map\") || /(?:Map)$/.test(named)) return containerDescriptor(CARBON_TYPE.MAP, original);\n if (type.includes(\"std::set\") || /(?:Set)$/.test(named)) return containerDescriptor(CARBON_TYPE.SET, original);\n if (/\\*$/.test(type) || /^P(?:I)?[A-Z]\\w+$/.test(named) || /(?:Ptr|Ref)$/.test(named)) return objectRefDescriptor(original);\n\n switch (named)\n {\n case \"bool\":\n return TYPE_DEFINITIONS[CARBON_TYPE.BOOLEAN];\n case \"char\":\n case \"int8_t\":\n return TYPE_DEFINITIONS[CARBON_TYPE.INT8];\n case \"uint8_t\":\n case \"byte\":\n return TYPE_DEFINITIONS[CARBON_TYPE.UINT8];\n case \"int16_t\":\n case \"short\":\n return TYPE_DEFINITIONS[CARBON_TYPE.INT16];\n case \"uint16_t\":\n case \"ushort\":\n return TYPE_DEFINITIONS[CARBON_TYPE.UINT16];\n case \"int\":\n case \"int32_t\":\n case \"long\":\n return TYPE_DEFINITIONS[CARBON_TYPE.INT32];\n case \"uint\":\n case \"uint32_t\":\n case \"ulong\":\n return TYPE_DEFINITIONS[CARBON_TYPE.UINT32];\n case \"int64_t\":\n case \"longlong\":\n return TYPE_DEFINITIONS[CARBON_TYPE.INT64];\n case \"uint64_t\":\n case \"size_t\":\n case \"ulonglong\":\n return TYPE_DEFINITIONS[CARBON_TYPE.UINT64];\n case \"float\":\n return TYPE_DEFINITIONS[CARBON_TYPE.FLOAT32];\n case \"double\":\n return TYPE_DEFINITIONS[CARBON_TYPE.FLOAT64];\n case \"std::string\":\n case \"std::wstring\":\n case \"BlueSharedString\":\n return isExpressionLike(propertyName) ? TYPE_DEFINITIONS[CARBON_TYPE.EXPRESSION] : TYPE_DEFINITIONS[CARBON_TYPE.STRING];\n case \"Vector2\":\n return TYPE_DEFINITIONS[CARBON_TYPE.VECTOR2];\n case \"Vector3\":\n return TYPE_DEFINITIONS[CARBON_TYPE.VECTOR3];\n case \"Vector4\":\n return isRotationLike(propertyName) ? TYPE_DEFINITIONS[CARBON_TYPE.QUATERNION] : TYPE_DEFINITIONS[CARBON_TYPE.VECTOR4];\n case \"Color\":\n case \"ColorRGBA\":\n return TYPE_DEFINITIONS[CARBON_TYPE.COLOR];\n case \"Quaternion\":\n return TYPE_DEFINITIONS[CARBON_TYPE.QUATERNION];\n case \"Matrix3\":\n case \"Mat3\":\n return TYPE_DEFINITIONS[CARBON_TYPE.MATRIX3];\n case \"Matrix\":\n case \"Matrix4\":\n case \"Mat4\":\n case \"TriMatrix\":\n return TYPE_DEFINITIONS[CARBON_TYPE.MATRIX4];\n default:\n break;\n }\n\n if (/::[A-Za-z_]\\w*(?:Type|Usage|Mode|Enum)$/.test(type)) return TYPE_DEFINITIONS[CARBON_TYPE.ENUM];\n if (type.includes(\"::\")) return rawStructDescriptor(original);\n if (/^[A-Z]\\w*(?:Type|Usage|Mode|Enum)?$/.test(named)) return TYPE_DEFINITIONS[CARBON_TYPE.ENUM];\n return TYPE_DEFINITIONS[CARBON_TYPE.UNKNOWN];\n}\n\n/** Infers a portable Carbon descriptor from a Python type name. */\nexport function inferCarbonTypeFromPython(pythonType)\n{\n const type = String(pythonType || \"\").trim().toLowerCase();\n if (!type) return TYPE_DEFINITIONS[CARBON_TYPE.UNKNOWN];\n if (type === \"bool\" || type === \"boolean\") return TYPE_DEFINITIONS[CARBON_TYPE.BOOLEAN];\n if (type === \"str\" || type === \"unicode\" || type === \"bytes\") return TYPE_DEFINITIONS[CARBON_TYPE.STRING];\n if (type === \"float\") return TYPE_DEFINITIONS[CARBON_TYPE.FLOAT64];\n if (type === \"int\" || type === \"long\") return TYPE_DEFINITIONS[CARBON_TYPE.INT64];\n if (type === \"list\" || type === \"tuple\") return TYPE_DEFINITIONS[CARBON_TYPE.ARRAY];\n if (type === \"dict\") return TYPE_DEFINITIONS[CARBON_TYPE.MAP];\n if (type === \"set\") return TYPE_DEFINITIONS[CARBON_TYPE.SET];\n if (type === \"none\" || type === \"nonetype\") return objectRefDescriptor(\"NoneType\");\n return TYPE_DEFINITIONS[CARBON_TYPE.UNKNOWN];\n}\n\n/** Creates a field default from explicit source metadata or its normalized type. */\nexport function defaultValueForCarbonField(field)\n{\n if (field && field.default && field.default.kind !== \"expression\")\n {\n return normalizeCarbonValue(field.default.json, field);\n }\n return defaultCarbonValue(field);\n}\n\n/** Creates the canonical default value for a Carbon type descriptor. */\nexport function defaultCarbonValue(type)\n{\n const descriptor = normalizeCarbonTypeDescriptor(type);\n switch (descriptor.kind)\n {\n case CARBON_TYPE.BOOLEAN:\n return false;\n case CARBON_TYPE.STRING:\n case CARBON_TYPE.PATH:\n case CARBON_TYPE.EXPRESSION:\n return \"\";\n case CARBON_TYPE.FLOAT32:\n return num.float32(0);\n case CARBON_TYPE.FLOAT64:\n return num.float64(0);\n case CARBON_TYPE.INT8:\n return num.int8(0);\n case CARBON_TYPE.UINT8:\n return num.uint8(0);\n case CARBON_TYPE.INT16:\n return num.int16(0);\n case CARBON_TYPE.UINT16:\n return num.uint16(0);\n case CARBON_TYPE.INT32:\n return num.int32(0);\n case CARBON_TYPE.UINT32:\n return num.uint32(0);\n case CARBON_TYPE.INT64:\n return num.int64(0);\n case CARBON_TYPE.UINT64:\n return num.uint64(0);\n case CARBON_TYPE.VECTOR2:\n case CARBON_TYPE.VECTOR3:\n case CARBON_TYPE.VECTOR4:\n case CARBON_TYPE.COLOR:\n case CARBON_TYPE.QUATERNION:\n case CARBON_TYPE.MATRIX3:\n case CARBON_TYPE.MATRIX4:\n return createCarbonMathValue(descriptor);\n case CARBON_TYPE.ARRAY:\n return [];\n case CARBON_TYPE.MAP:\n return new Map();\n case CARBON_TYPE.SET:\n return new Set();\n case CARBON_TYPE.ENUM:\n case CARBON_TYPE.TYPED_ARRAY:\n {\n // A declared typed array is ALWAYS a typed array. Defaulting it to\n // null would make every reader test for it first, which is the\n // hedge this type system exists to remove: the declaration says\n // what the field holds, so an absent value is an EMPTY one of that\n // type, not a different type. An undeclared arrayType has nothing\n // to build and keeps the null.\n const storage = typedArrayStorageFor(descriptor);\n return storage ? new storage.Ctor(0) : null;\n }\n case CARBON_TYPE.MODEL:\n case CARBON_TYPE.OBJECT_REF:\n case CARBON_TYPE.STRUCT:\n case CARBON_TYPE.RAW_STRUCT:\n case CARBON_TYPE.UNKNOWN:\n default:\n return null;\n }\n}\n\n/** Coerces an input value according to a canonical Carbon type descriptor. */\nexport function normalizeCarbonValue(value, type)\n{\n const descriptor = normalizeCarbonTypeDescriptor(type);\n if (value === undefined) return defaultCarbonValue(descriptor);\n if (value === null) return null;\n\n switch (descriptor.kind)\n {\n case CARBON_TYPE.BOOLEAN:\n return Boolean(value);\n case CARBON_TYPE.STRING:\n case CARBON_TYPE.PATH:\n case CARBON_TYPE.EXPRESSION:\n return String(value);\n case CARBON_TYPE.FLOAT32:\n return num.float32(value);\n case CARBON_TYPE.FLOAT64:\n return num.float64(value);\n case CARBON_TYPE.INT8:\n return num.int8(value);\n case CARBON_TYPE.UINT8:\n return num.uint8(value);\n case CARBON_TYPE.INT16:\n return num.int16(value);\n case CARBON_TYPE.UINT16:\n return num.uint16(value);\n case CARBON_TYPE.INT32:\n return num.int32(value);\n case CARBON_TYPE.UINT32:\n return num.uint32(value);\n case CARBON_TYPE.INT64:\n return num.int64(value);\n case CARBON_TYPE.UINT64:\n return num.uint64(value);\n case CARBON_TYPE.VECTOR2:\n case CARBON_TYPE.VECTOR3:\n case CARBON_TYPE.VECTOR4:\n case CARBON_TYPE.COLOR:\n case CARBON_TYPE.QUATERNION:\n case CARBON_TYPE.MATRIX3:\n case CARBON_TYPE.MATRIX4:\n return createCarbonMathValue(descriptor, value);\n case CARBON_TYPE.TYPED_ARRAY:\n return createCarbonTypedArrayValue(descriptor, value);\n case CARBON_TYPE.ARRAY:\n return Array.isArray(value) ? value.map(cloneCarbonValue) : [cloneCarbonValue(value)];\n case CARBON_TYPE.MAP:\n return value instanceof Map ? cloneCarbonValue(value) : new Map(Object.entries(value || {}));\n case CARBON_TYPE.SET:\n return value instanceof Set ? new Set(value) : new Set(Array.isArray(value) ? value : [value]);\n default:\n return cloneCarbonValue(value);\n }\n}\n\n/** Clones portable Carbon values while preserving source-shaped object identity. */\nexport function cloneCarbonValue(value)\n{\n if (ArrayBuffer.isView(value)) return new value.constructor(value);\n if (typeof value === \"bigint\") return value;\n if (isSourceShapedObject(value)) return value;\n if (value instanceof Map) return new Map(Array.from(value.entries()).map(([key, item]) => [key, cloneCarbonValue(item)]));\n if (value instanceof Set) return new Set(Array.from(value.values()).map(cloneCarbonValue));\n if (Array.isArray(value)) return value.map(cloneCarbonValue);\n if (value && typeof value === \"object\")\n {\n const result = Object.fromEntries(Object.entries(value).map(([key, item]) => [key, cloneCarbonValue(item)]));\n if (isCarbonRawStruct(value)) return createCarbonRawStruct(getCarbonRawStructType(value), result);\n return result;\n }\n return value;\n}\n\n/**\n * Converts a Carbon runtime value into a plain serialization-safe\n * representation.\n */\nexport function exportCarbonValue(value)\n{\n if (ArrayBuffer.isView(value)) return Array.from(value, item => typeof item === \"bigint\" ? item.toString() : item);\n if (typeof value === \"bigint\") return value.toString();\n if (value instanceof Map) return Object.fromEntries(Array.from(value.entries()).map(([key, item]) => [key, exportCarbonValue(item)]));\n if (value instanceof Set) return Array.from(value.values()).map(exportCarbonValue);\n if (Array.isArray(value)) return value.map(exportCarbonValue);\n if (value && typeof value === \"object\")\n {\n const result = Object.fromEntries(\n Object.entries(value)\n .filter(([key]) => !key.startsWith(\"_\"))\n .map(([key, item]) => [key, exportCarbonValue(item)])\n );\n if (isCarbonRawStruct(value)) result.$type = getCarbonRawStructType(value);\n return result;\n }\n return value;\n}\n\n/** Creates a plain value record branded with its opaque native struct type. */\nexport function createCarbonRawStruct(typeName, values = {})\n{\n const result = { ...values };\n Object.defineProperty(result, CARBON_META, {\n value: CARBON_TYPE.RAW_STRUCT,\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(result, CARBON_RAW_STRUCT_TYPE, {\n value: typeName || null,\n enumerable: false,\n configurable: true\n });\n return result;\n}\n\n/** Reports whether a value carries the Carbon raw-struct brand. */\nexport function isCarbonRawStruct(value)\n{\n return Boolean(value && typeof value === \"object\" && value[CARBON_META] === CARBON_TYPE.RAW_STRUCT);\n}\n\n/** Returns the declared native type name of a branded raw struct. */\nexport function getCarbonRawStructType(value)\n{\n return isCarbonRawStruct(value) ? value[CARBON_RAW_STRUCT_TYPE] : null;\n}\n\n/** Formats a portable Carbon value as a deterministic JavaScript expression. */\nexport function carbonValueToJsExpression(value)\n{\n if (ArrayBuffer.isView(value))\n {\n const values = Array.from(value, item => typeof item === \"bigint\" ? `${item}n` : formatJsNumber(item));\n return `new ${value.constructor.name}([${values.join(\", \")}])`;\n }\n if (typeof value === \"bigint\") return `${value}n`;\n if (value instanceof Map) return \"new Map()\";\n if (value instanceof Set) return \"new Set()\";\n if (Array.isArray(value)) return `[${value.map(item => carbonValueToJsExpression(item)).join(\", \")}]`;\n if (value && typeof value === \"object\") return JSON.stringify(exportCarbonValue(value), null, 4);\n return JSON.stringify(value);\n}\n\n/** Resolves a supported typed-array constructor by its serialized name. */\nexport function typedArrayConstructor(name)\n{\n return TYPED_ARRAY_CTORS[name] || null;\n}\n\n\n/** Per-declared-name storage for the length-free `typedArray` kind. */\nconst TYPED_ARRAY_STORAGE = Object.freeze(Object.fromEntries(\n Object.keys(TYPED_ARRAY_CTORS).map(name => [ name, Object.freeze({\n Ctor: TYPED_ARRAY_CTORS[name],\n tag: `[object ${name}]`\n }) ])));\n\n\n/**\n * The storage a `@type.typedArray(\"Uint32Array\")` field declares.\n *\n * @param {object} descriptor\n * @returns {{Ctor: Function, tag: String}|null} Null when nothing is declared,\n * which keeps an undeclared field on its previous pass-through behaviour.\n */\nfunction typedArrayStorageFor(descriptor)\n{\n return TYPED_ARRAY_STORAGE[descriptor?.arrayType] ?? null;\n}\n\n\n/**\n * Builds a `typedArray` field's value as its DECLARED type.\n *\n * Unlike a math kind this declares no length - the incoming data decides it -\n * so there is nothing to require, only a type to honour. Before 2026-09-08\n * `arrayType` was written by the decorator and read by nothing, so these fields\n * kept whatever type the caller happened to send: a plain Array stayed an\n * Array, and a Float32Array stayed one where Uint32Array was declared.\n *\n * @param {object} descriptor\n * @param {*} value\n * @returns {*}\n */\nfunction createCarbonTypedArrayValue(descriptor, value)\n{\n // `null`/`undefined` never arrive: normalizeCarbonValue answers both before\n // the switch, and the declared default for these fields IS null - both\n // production declarations are `@io.persistOnly ... = null`, absent until\n // data arrives. Nothing here should invent an empty array over that.\n const storage = typedArrayStorageFor(descriptor);\n if (!storage) return cloneCarbonValue(value);\n\n return isTag(value, storage.tag) ? new storage.Ctor(value) : storage.Ctor.from(value);\n}\n\n\n/**\n * Coerce a `typedArray` value INTO an existing target, in place, when it fits.\n *\n * The kind declares no length, so a size change is legitimate rather than a\n * caller error - the opposite of the math kinds, where a declared length is a\n * requirement. Reuse therefore turns on the target already being the declared\n * type AND already the incoming length; anything else allocates.\n *\n * These are the BIG arrays - decal index buffers, Python blobs - so reusing\n * them matters more than reusing a vec3, and until now they always allocated.\n *\n * @param {*} target\n * @param {*} value\n * @param {*} type\n * @returns {Boolean|null} Whether any element changed, or null to allocate.\n */\nexport function coerceCarbonTypedArrayInto(target, value, type)\n{\n const descriptor = normalizeCarbonTypeDescriptor(type);\n if (descriptor.kind !== CARBON_TYPE.TYPED_ARRAY) return null;\n\n const storage = typedArrayStorageFor(descriptor);\n if (!storage || !isTag(target, storage.tag)) return null;\n\n const source = ArrayBuffer.isView(value) || Array.isArray(value) ? value : null;\n if (!source || source.length !== target.length) return null;\n\n let changed = false;\n for (let i = 0; i < target.length; i++)\n {\n if (target[i] !== source[i])\n {\n target[i] = source[i];\n changed = true;\n }\n }\n return changed;\n}\n\nfunction carbonTypeDefinitionForKind(kind)\n{\n const normalized = TYPE_ALIASES[kind] || kind;\n return TYPE_DEFINITIONS[normalized] || { kind: normalized, js: \"*\" };\n}\n\nfunction mergeCarbonTypeDefinition(type)\n{\n const definition = carbonTypeDefinitionForKind(type.kind);\n return { ...definition, ...type, kind: definition.kind };\n}\n\nfunction uint8(value)\n{\n return Number(value) & 0xff;\n}\n\nfunction int8(value)\n{\n const result = uint8(value);\n return result > 0x7f ? result - 0x100 : result;\n}\n\nfunction uint16(value)\n{\n return Number(value) & 0xffff;\n}\n\nfunction int16(value)\n{\n const result = uint16(value);\n return result > 0x7fff ? result - 0x10000 : result;\n}\n\nfunction uint32(value)\n{\n return Number(value) >>> 0;\n}\n\nfunction int32(value)\n{\n return Number(value) | 0;\n}\n\nfunction uint64(value)\n{\n return toBigInt(value, false);\n}\n\nfunction int64(value)\n{\n return toBigInt(value, true);\n}\n\nfunction float32(value)\n{\n const result = Number(value);\n return Number.isFinite(result) ? result : 0;\n}\n\nfunction float64(value)\n{\n const result = Number(value);\n return Number.isFinite(result) ? result : 0;\n}\n\nfunction toBigInt(value, signed)\n{\n let result = 0n;\n if (typeof value === \"bigint\") result = value;\n else if (typeof value === \"number\" && Number.isFinite(value)) result = BigInt(Math.trunc(value));\n else if (typeof value === \"string\" && value.trim()) result = BigInt(value.trim());\n\n // Clamp unsigned negatives but FALL THROUGH so safe-range values export\n // as ordinary numbers (an early BigInt return here leaked '0' strings\n // into values interchange - fixed 2026-07-23).\n if (!signed && result < 0n) result = 0n;\n\n // Safe-range 64-bit values stay ordinary numbers so a JSON round trip\n // (GetValues → SetValues) reproduces the exported representation; BigInt\n // is reserved for magnitudes JSON numbers cannot hold.\n if (result >= MIN_SAFE_BIGINT && result <= MAX_SAFE_BIGINT) return Number(result);\n return result;\n}\n\nconst MAX_SAFE_BIGINT = BigInt(Number.MAX_SAFE_INTEGER);\n\nconst MIN_SAFE_BIGINT = BigInt(Number.MIN_SAFE_INTEGER);\n\nfunction containerDescriptor(kind, cppType)\n{\n const elementCppType = extractTemplateArgument(cppType);\n return {\n kind,\n js: kind === CARBON_TYPE.MAP ? \"Map\" : kind === CARBON_TYPE.SET ? \"Set\" : \"Array\",\n cppType,\n elementType: elementCppType ? inferCarbonTypeFromCpp(elementCppType) : undefined\n };\n}\n\nfunction objectRefDescriptor(cppType)\n{\n return { ...TYPE_DEFINITIONS[CARBON_TYPE.OBJECT_REF], cppType };\n}\n\nfunction rawStructDescriptor(cppType)\n{\n return { ...TYPE_DEFINITIONS[CARBON_TYPE.RAW_STRUCT], cppType };\n}\n\nfunction extractTemplateArgument(cppType)\n{\n const match = String(cppType || \"\").match(/<(.+)>/);\n return match ? match[1].trim() : null;\n}\n\nfunction normalizeCppType(cppType)\n{\n return String(cppType || \"\")\n .replace(/\\bconst\\b/g, \"\")\n .replace(/&/g, \"\")\n .replace(/\\s+/g, \" \")\n .trim();\n}\n\nfunction normalizeCppTypeName(cppType)\n{\n return normalizeCppType(cppType)\n .replace(/\\s*\\*+$/, \"\")\n .replace(/\\bstd::basic_string\\s*<[^>]+>/g, \"std::string\")\n .trim();\n}\n\nfunction isRotationLike(name)\n{\n return /(?:^|[^A-Za-z0-9])(?:rotation|quat|quaternion)|(?:rotation|quat|quaternion)/i.test(String(name || \"\"));\n}\n\nfunction isExpressionLike(name)\n{\n return /(?:^|[^A-Za-z0-9])expression(?:$|[^A-Za-z0-9])|expression/i.test(String(name || \"\"));\n}\n\n/**\n * Builds a math value's element list from its defaults and an optional source.\n *\n * A DECLARED LENGTH IS A REQUIREMENT, not a maximum. Until 2026-09-08 a short\n * source was silently padded from the defaults and a long one silently\n * truncated, so `[1, 2]` into a vec3 became `[1, 2, 0]` and `[1, 2, 3, 4]`\n * became `[1, 2, 3]` - a caller passing the wrong shape got a plausible wrong\n * answer and no signal. Absent a source the defaults stand, which is ordinary\n * construction rather than a mismatch.\n *\n * @param {*} value Optional source elements.\n * @param {number} length The declared element count.\n * @param {number[]} defaults The declared defaults.\n * @param {Function} round The declared scalar's rounding function.\n * @param {string} kind The kind name, for the error.\n * @returns {number[]}\n */\nfunction normalizeMathValues(value, length, defaults, round, kind)\n{\n const result = Array.isArray(defaults) ? defaults.slice() : new Array(length).fill(0);\n if (value === null || value === undefined) return result;\n\n const source = ArrayBuffer.isView(value) || Array.isArray(value) ? value : null;\n if (!source) return result;\n\n if (source.length !== result.length)\n {\n const error = new RangeError(\n `${kind} declares ${result.length} elements and received ${source.length}.`);\n error.code = \"CJS_MATH_LENGTH_MISMATCH\";\n throw error;\n }\n\n for (let i = 0; i < result.length; i++) result[i] = round(source[i]);\n return result;\n}\n\nfunction formatJsNumber(value)\n{\n if (Object.is(value, -0)) return \"-0\";\n return Number.isFinite(value) ? String(value) : \"0\";\n}\n\nfunction isSourceShapedObject(value)\n{\n return Boolean(value && typeof value === \"object\" && typeof value._sourceClassName === \"string\");\n}\n"],"names":["CARBON_META","Symbol","for","CARBON_RAW_STRUCT_TYPE","CARBON_TYPE","Object","freeze","UNKNOWN","BOOLEAN","STRING","PATH","EXPRESSION","ENUM","FLOAT32","FLOAT64","INT8","UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","VECTOR2","VECTOR3","VECTOR4","COLOR","QUATERNION","MATRIX3","MATRIX4","ARRAY","MAP","SET","MODEL","OBJECT_REF","STRUCT","RAW_STRUCT","TYPED_ARRAY","FLOAT32_VECTOR_DEFINITIONS","kind","js","scalar","length","default","semantic","TYPE_DEFINITIONS","bits","signed","floating","integer","TYPE_ALIASES","bool","float","double","vec2","vec3","vec4","quat","mat3","mat4","TYPED_ARRAY_CTORS","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","TYPED_ARRAY_FOR_SCALAR","num","int8","uint8","int16","uint16","int32","uint32","int64","uint64","float32","float64","CARBON_MATH_KINDS","Set","keys","mathStorageFor","descriptor","MATH_STORAGE","fromEntries","entries","map","name","Ctor","round","tag","filter","storage","createCarbonMathValue","type","value","undefined","normalizeCarbonTypeDescriptor","has","values","normalizeMathValues","n","from","coerceCarbonMathInto","target","isTag","source","ArrayBuffer","isView","Array","isArray","error","RangeError","code","changed","i","next","getCarbonTypeDefinition","carbonTypeDefinitionForKind","mergeCarbonTypeDefinition","jsType","cppType","inferCarbonTypeFromCpp","pythonType","inferCarbonTypeFromPython","propertyName","original","String","trim","normalizeCppType","named","normalizeCppTypeName","includes","test","containerDescriptor","objectRefDescriptor","isExpressionLike","isRotationLike","rawStructDescriptor","toLowerCase","defaultValueForCarbonField","field","normalizeCarbonValue","json","defaultCarbonValue","Map","typedArrayStorageFor","Boolean","createCarbonTypedArrayValue","cloneCarbonValue","constructor","isSourceShapedObject","key","item","result","isCarbonRawStruct","createCarbonRawStruct","getCarbonRawStructType","exportCarbonValue","toString","startsWith","$type","typeName","defineProperty","enumerable","configurable","carbonValueToJsExpression","formatJsNumber","join","JSON","stringify","typedArrayConstructor","TYPED_ARRAY_STORAGE","arrayType","coerceCarbonTypedArrayInto","normalized","definition","Number","toBigInt","isFinite","BigInt","Math","trunc","MIN_SAFE_BIGINT","MAX_SAFE_BIGINT","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","elementCppType","extractTemplateArgument","elementType","match","replace","defaults","slice","fill","is","_sourceClassName"],"mappings":"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"}
1
+ {"version":3,"file":"carbonTypes.js","sources":["../../../../../src/global/schema/types/carbonTypes.js"],"sourcesContent":["import { isTag } from \"#utils/is\";\n\nexport const CARBON_META = Symbol.for(\"carbonenginejs.type\");\nexport const CARBON_RAW_STRUCT_TYPE = Symbol.for(\"carbonenginejs.rawStructType\");\n\nexport const CARBON_TYPE = Object.freeze({\n UNKNOWN: \"unknown\",\n BOOLEAN: \"boolean\",\n STRING: \"string\",\n PATH: \"path\",\n EXPRESSION: \"expression\",\n ENUM: \"enum\",\n FLOAT32: \"float32\",\n FLOAT64: \"float64\",\n INT8: \"int8\",\n UINT8: \"uint8\",\n INT16: \"int16\",\n UINT16: \"uint16\",\n INT32: \"int32\",\n UINT32: \"uint32\",\n INT64: \"int64\",\n UINT64: \"uint64\",\n VECTOR2: \"vector2\",\n VECTOR3: \"vector3\",\n VECTOR4: \"vector4\",\n COLOR: \"color\",\n QUATERNION: \"quaternion\",\n MATRIX3: \"matrix3\",\n MATRIX4: \"matrix4\",\n ARRAY: \"array\",\n MAP: \"map\",\n SET: \"set\",\n MODEL: \"model\",\n OBJECT_REF: \"objectRef\",\n STRUCT: \"struct\",\n RAW_STRUCT: \"rawStruct\",\n TYPED_ARRAY: \"typedArray\"\n});\n\nconst FLOAT32_VECTOR_DEFINITIONS = Object.freeze({\n [CARBON_TYPE.VECTOR2]: Object.freeze({ kind: CARBON_TYPE.VECTOR2, js: \"vec2\", scalar: CARBON_TYPE.FLOAT32, length: 2, default: [0, 0] }),\n [CARBON_TYPE.VECTOR3]: Object.freeze({ kind: CARBON_TYPE.VECTOR3, js: \"vec3\", scalar: CARBON_TYPE.FLOAT32, length: 3, default: [0, 0, 0] }),\n [CARBON_TYPE.VECTOR4]: Object.freeze({ kind: CARBON_TYPE.VECTOR4, js: \"vec4\", scalar: CARBON_TYPE.FLOAT32, length: 4, default: [0, 0, 0, 0] }),\n [CARBON_TYPE.COLOR]: Object.freeze({ kind: CARBON_TYPE.COLOR, js: \"vec4\", semantic: CARBON_TYPE.COLOR, scalar: CARBON_TYPE.FLOAT32, length: 4, default: [0, 0, 0, 0] }),\n [CARBON_TYPE.QUATERNION]: Object.freeze({ kind: CARBON_TYPE.QUATERNION, js: \"quat\", scalar: CARBON_TYPE.FLOAT32, length: 4, default: [0, 0, 0, 1] }),\n [CARBON_TYPE.MATRIX3]: Object.freeze({ kind: CARBON_TYPE.MATRIX3, js: \"mat3\", scalar: CARBON_TYPE.FLOAT32, length: 9, default: [1, 0, 0, 0, 1, 0, 0, 0, 1] }),\n [CARBON_TYPE.MATRIX4]: Object.freeze({ kind: CARBON_TYPE.MATRIX4, js: \"mat4\", scalar: CARBON_TYPE.FLOAT32, length: 16, default: [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1] })\n});\n\nconst TYPE_DEFINITIONS = Object.freeze({\n [CARBON_TYPE.UNKNOWN]: Object.freeze({ kind: CARBON_TYPE.UNKNOWN, js: \"*\" }),\n [CARBON_TYPE.BOOLEAN]: Object.freeze({ kind: CARBON_TYPE.BOOLEAN, js: \"boolean\" }),\n [CARBON_TYPE.STRING]: Object.freeze({ kind: CARBON_TYPE.STRING, js: \"string\" }),\n [CARBON_TYPE.PATH]: Object.freeze({ kind: CARBON_TYPE.PATH, js: \"string\" }),\n [CARBON_TYPE.EXPRESSION]: Object.freeze({ kind: CARBON_TYPE.EXPRESSION, js: \"string\", semantic: CARBON_TYPE.EXPRESSION }),\n [CARBON_TYPE.ENUM]: Object.freeze({ kind: CARBON_TYPE.ENUM, js: \"number|string|null\" }),\n [CARBON_TYPE.FLOAT32]: Object.freeze({ kind: CARBON_TYPE.FLOAT32, js: \"number\", bits: 32, signed: true, floating: true }),\n [CARBON_TYPE.FLOAT64]: Object.freeze({ kind: CARBON_TYPE.FLOAT64, js: \"number\", bits: 64, signed: true, floating: true }),\n [CARBON_TYPE.INT8]: Object.freeze({ kind: CARBON_TYPE.INT8, js: \"number\", bits: 8, signed: true, integer: true }),\n [CARBON_TYPE.UINT8]: Object.freeze({ kind: CARBON_TYPE.UINT8, js: \"number\", bits: 8, signed: false, integer: true }),\n [CARBON_TYPE.INT16]: Object.freeze({ kind: CARBON_TYPE.INT16, js: \"number\", bits: 16, signed: true, integer: true }),\n [CARBON_TYPE.UINT16]: Object.freeze({ kind: CARBON_TYPE.UINT16, js: \"number\", bits: 16, signed: false, integer: true }),\n [CARBON_TYPE.INT32]: Object.freeze({ kind: CARBON_TYPE.INT32, js: \"number\", bits: 32, signed: true, integer: true }),\n [CARBON_TYPE.UINT32]: Object.freeze({ kind: CARBON_TYPE.UINT32, js: \"number\", bits: 32, signed: false, integer: true }),\n [CARBON_TYPE.INT64]: Object.freeze({ kind: CARBON_TYPE.INT64, js: \"bigint\", bits: 64, signed: true, integer: true }),\n [CARBON_TYPE.UINT64]: Object.freeze({ kind: CARBON_TYPE.UINT64, js: \"bigint\", bits: 64, signed: false, integer: true }),\n [CARBON_TYPE.ARRAY]: Object.freeze({ kind: CARBON_TYPE.ARRAY, js: \"Array\" }),\n [CARBON_TYPE.MAP]: Object.freeze({ kind: CARBON_TYPE.MAP, js: \"Map\" }),\n [CARBON_TYPE.SET]: Object.freeze({ kind: CARBON_TYPE.SET, js: \"Set\" }),\n [CARBON_TYPE.MODEL]: Object.freeze({ kind: CARBON_TYPE.MODEL, js: \"object|null\" }),\n [CARBON_TYPE.OBJECT_REF]: Object.freeze({ kind: CARBON_TYPE.OBJECT_REF, js: \"object|null\" }),\n [CARBON_TYPE.STRUCT]: Object.freeze({ kind: CARBON_TYPE.STRUCT, js: \"object\" }),\n [CARBON_TYPE.RAW_STRUCT]: Object.freeze({ kind: CARBON_TYPE.RAW_STRUCT, js: \"object\" }),\n [CARBON_TYPE.TYPED_ARRAY]: Object.freeze({ kind: CARBON_TYPE.TYPED_ARRAY, js: \"TypedArray\" }),\n ...FLOAT32_VECTOR_DEFINITIONS\n});\n\nconst TYPE_ALIASES = Object.freeze({\n bool: CARBON_TYPE.BOOLEAN,\n float: CARBON_TYPE.FLOAT32,\n double: CARBON_TYPE.FLOAT64,\n vec2: CARBON_TYPE.VECTOR2,\n vec3: CARBON_TYPE.VECTOR3,\n vec4: CARBON_TYPE.VECTOR4,\n quat: CARBON_TYPE.QUATERNION,\n mat3: CARBON_TYPE.MATRIX3,\n mat4: CARBON_TYPE.MATRIX4\n});\n\nconst TYPED_ARRAY_CTORS = Object.freeze({\n Int8Array,\n Uint8Array,\n Uint8ClampedArray,\n Int16Array,\n Uint16Array,\n Int32Array,\n Uint32Array,\n Float32Array,\n Float64Array,\n BigInt64Array,\n BigUint64Array\n});\n\n/** The typed array each declared scalar stores into. */\nconst TYPED_ARRAY_FOR_SCALAR = Object.freeze({\n [CARBON_TYPE.INT8]: \"Int8Array\",\n [CARBON_TYPE.UINT8]: \"Uint8Array\",\n [CARBON_TYPE.INT16]: \"Int16Array\",\n [CARBON_TYPE.UINT16]: \"Uint16Array\",\n [CARBON_TYPE.INT32]: \"Int32Array\",\n [CARBON_TYPE.UINT32]: \"Uint32Array\",\n [CARBON_TYPE.FLOAT32]: \"Float32Array\",\n [CARBON_TYPE.FLOAT64]: \"Float64Array\"\n});\n\nconst num = Object.freeze({\n int8,\n uint8,\n int16,\n uint16,\n int32,\n uint32,\n int64,\n uint64,\n float32,\n float64\n});\n\nconst CARBON_MATH_KINDS = new Set(Object.keys(FLOAT32_VECTOR_DEFINITIONS));\n\n/**\n * The typed array and rounding function a math kind's declared scalar wants.\n *\n * Every math descriptor carries a `scalar`, and the whole point of declaring\n * one is to know the storage type rather than assume it. Before 2026-09-08 both\n * this file's math paths hardcoded Float32Array and num.float32 and ignored\n * `scalar` entirely - harmless while every declared math kind happened to be\n * float32, and a SILENT TRUNCATION the moment one is not. Carbon has\n * `Vector3d`/`Vector4d` in 331 places, so that moment is a port away.\n *\n * @param {object} descriptor A normalized Carbon type descriptor.\n * @returns {{Ctor: Function, round: Function}|null} Null when the scalar has no\n * typed-array storage, so the caller falls back to a plain array.\n */\nfunction mathStorageFor(descriptor)\n{\n return MATH_STORAGE[descriptor.scalar] ?? null;\n}\n\n\n/**\n * Per-scalar storage, resolved once rather than per value.\n *\n * The `tag` is what `isTag` compares against - the exact-type check, which\n * unlike `instanceof` also answers correctly for a typed array that arrived\n * from a worker or another realm, where the constructor is a different object.\n */\nconst MATH_STORAGE = Object.freeze(Object.fromEntries(\n Object.entries(TYPED_ARRAY_FOR_SCALAR)\n .map(([ scalar, name ]) => [ scalar, Object.freeze({\n Ctor: TYPED_ARRAY_CTORS[name],\n round: num[scalar],\n tag: `[object ${name}]`\n }) ])\n .filter(([ , storage ]) => storage.Ctor && storage.round)));\n\n\n/** Creates the declared typed array for a Carbon math shape, with its defaults. */\nexport function createCarbonMathValue(type, value = undefined)\n{\n const descriptor = normalizeCarbonTypeDescriptor(type);\n const storage = CARBON_MATH_KINDS.has(descriptor.kind) ? mathStorageFor(descriptor) : null;\n\n // Both internal callers are math-kind switch arms, so `storage` is resolved\n // in every real call. The identity fallback covers a non-math descriptor\n // reaching here without quietly re-asserting float32 over it.\n const values = normalizeMathValues(\n value, descriptor.length, descriptor.default, storage?.round ?? (n => n), descriptor.kind);\n\n // Carbon math values are plain typed arrays of their DECLARED scalar. Their\n // descriptors remain independent of the gl-matrix-backed math helpers, whose\n // own ARRAY_TYPE stays float32; a field declaring a wider scalar keeps its\n // precision in storage, and only borrows gl-matrix for float32 work.\n // Defaults already encode identity/zero, matching gl-matrix's create().\n return storage ? storage.Ctor.from(values) : values;\n}\n\n/**\n * Coerce a math value INTO an existing typed-array target, in place, with no\n * allocation. Returns `true`/`false` (whether any element changed) when the fast\n * path applies — a math kind whose declared scalar has typed-array storage, a\n * `target` of exactly that type and the declared length, and an array-like\n * `value`. Returns `null` when it does not apply, so the caller falls back to a\n * normal allocating assignment.\n *\n * THROWS when `value` has a length other than the declared one: a declared\n * length is a requirement, and padding or truncating it hands back a plausible\n * wrong answer with no signal.\n */\nexport function coerceCarbonMathInto(target, value, type)\n{\n const descriptor = normalizeCarbonTypeDescriptor(type);\n if (!CARBON_MATH_KINDS.has(descriptor.kind)) return null;\n\n const storage = mathStorageFor(descriptor);\n if (!storage) return null;\n\n // Against the DECLARED type rather than a hardcoded Float32Array, through\n // the existing `isTag` util: the exact-type check, and correct for a typed\n // array that arrived from a worker or another realm, where `instanceof`\n // fails because the constructor is a different object.\n if (!isTag(target, storage.tag) || target.length !== descriptor.length) return null;\n\n const source = ArrayBuffer.isView(value) || Array.isArray(value) ? value : null;\n if (!source) return null;\n\n // A declared length is a requirement, so a mismatch is the caller's bug\n // rather than something to pad or truncate into silence.\n if (source.length !== descriptor.length)\n {\n const error = new RangeError(\n `${descriptor.kind} declares ${descriptor.length} elements and received ${source.length}.`);\n error.code = \"CJS_MATH_LENGTH_MISMATCH\";\n throw error;\n }\n\n const round = storage.round;\n let changed = false;\n for (let i = 0; i < descriptor.length; i++)\n {\n const next = round(source[i]);\n if (target[i] !== next)\n {\n target[i] = next;\n changed = true;\n }\n }\n return changed;\n}\n\n/**\n * Resolves descriptor metadata used to validate and construct a declared Carbon\n * value.\n */\nexport function getCarbonTypeDefinition(type)\n{\n const descriptor = normalizeCarbonTypeDescriptor(type);\n return TYPE_DEFINITIONS[descriptor.kind] || TYPE_DEFINITIONS[CARBON_TYPE.UNKNOWN];\n}\n\n/**\n * Normalizes shorthand or source-shaped type metadata into a canonical\n * descriptor.\n */\nexport function normalizeCarbonTypeDescriptor(type)\n{\n if (!type) return TYPE_DEFINITIONS[CARBON_TYPE.UNKNOWN];\n if (typeof type === \"string\") return carbonTypeDefinitionForKind(type);\n if (type.kind) return mergeCarbonTypeDefinition(type);\n if (type.jsType) return normalizeCarbonTypeDescriptor(type.jsType);\n if (type.cppType) return inferCarbonTypeFromCpp(type.cppType, type.name);\n if (type.pythonType) return inferCarbonTypeFromPython(type.pythonType);\n return TYPE_DEFINITIONS[CARBON_TYPE.UNKNOWN];\n}\n\n/** Infers a portable Carbon descriptor from a C++ type and optional field name. */\nexport function inferCarbonTypeFromCpp(cppType, propertyName = \"\")\n{\n const original = String(cppType || \"\").trim();\n const type = normalizeCppType(original);\n const named = normalizeCppTypeName(original);\n\n if (!type) return TYPE_DEFINITIONS[CARBON_TYPE.UNKNOWN];\n if (type.includes(\"std::vector\") || /(?:Vector|List)$/.test(named)) return containerDescriptor(CARBON_TYPE.ARRAY, original);\n if (type.includes(\"std::map\") || /(?:Map)$/.test(named)) return containerDescriptor(CARBON_TYPE.MAP, original);\n if (type.includes(\"std::set\") || /(?:Set)$/.test(named)) return containerDescriptor(CARBON_TYPE.SET, original);\n if (/\\*$/.test(type) || /^P(?:I)?[A-Z]\\w+$/.test(named) || /(?:Ptr|Ref)$/.test(named)) return objectRefDescriptor(original);\n\n switch (named)\n {\n case \"bool\":\n return TYPE_DEFINITIONS[CARBON_TYPE.BOOLEAN];\n case \"char\":\n case \"int8_t\":\n return TYPE_DEFINITIONS[CARBON_TYPE.INT8];\n case \"uint8_t\":\n case \"byte\":\n return TYPE_DEFINITIONS[CARBON_TYPE.UINT8];\n case \"int16_t\":\n case \"short\":\n return TYPE_DEFINITIONS[CARBON_TYPE.INT16];\n case \"uint16_t\":\n case \"ushort\":\n return TYPE_DEFINITIONS[CARBON_TYPE.UINT16];\n case \"int\":\n case \"int32_t\":\n case \"long\":\n return TYPE_DEFINITIONS[CARBON_TYPE.INT32];\n case \"uint\":\n case \"uint32_t\":\n case \"ulong\":\n return TYPE_DEFINITIONS[CARBON_TYPE.UINT32];\n case \"int64_t\":\n case \"longlong\":\n return TYPE_DEFINITIONS[CARBON_TYPE.INT64];\n case \"uint64_t\":\n case \"size_t\":\n case \"ulonglong\":\n return TYPE_DEFINITIONS[CARBON_TYPE.UINT64];\n case \"float\":\n return TYPE_DEFINITIONS[CARBON_TYPE.FLOAT32];\n case \"double\":\n return TYPE_DEFINITIONS[CARBON_TYPE.FLOAT64];\n case \"std::string\":\n case \"std::wstring\":\n case \"BlueSharedString\":\n return isExpressionLike(propertyName) ? TYPE_DEFINITIONS[CARBON_TYPE.EXPRESSION] : TYPE_DEFINITIONS[CARBON_TYPE.STRING];\n case \"Vector2\":\n return TYPE_DEFINITIONS[CARBON_TYPE.VECTOR2];\n case \"Vector3\":\n return TYPE_DEFINITIONS[CARBON_TYPE.VECTOR3];\n case \"Vector4\":\n return isRotationLike(propertyName) ? TYPE_DEFINITIONS[CARBON_TYPE.QUATERNION] : TYPE_DEFINITIONS[CARBON_TYPE.VECTOR4];\n case \"Color\":\n case \"ColorRGBA\":\n return TYPE_DEFINITIONS[CARBON_TYPE.COLOR];\n case \"Quaternion\":\n return TYPE_DEFINITIONS[CARBON_TYPE.QUATERNION];\n case \"Matrix3\":\n case \"Mat3\":\n return TYPE_DEFINITIONS[CARBON_TYPE.MATRIX3];\n case \"Matrix\":\n case \"Matrix4\":\n case \"Mat4\":\n case \"TriMatrix\":\n return TYPE_DEFINITIONS[CARBON_TYPE.MATRIX4];\n default:\n break;\n }\n\n if (/::[A-Za-z_]\\w*(?:Type|Usage|Mode|Enum)$/.test(type)) return TYPE_DEFINITIONS[CARBON_TYPE.ENUM];\n if (type.includes(\"::\")) return rawStructDescriptor(original);\n if (/^[A-Z]\\w*(?:Type|Usage|Mode|Enum)?$/.test(named)) return TYPE_DEFINITIONS[CARBON_TYPE.ENUM];\n return TYPE_DEFINITIONS[CARBON_TYPE.UNKNOWN];\n}\n\n/** Infers a portable Carbon descriptor from a Python type name. */\nexport function inferCarbonTypeFromPython(pythonType)\n{\n const type = String(pythonType || \"\").trim().toLowerCase();\n if (!type) return TYPE_DEFINITIONS[CARBON_TYPE.UNKNOWN];\n if (type === \"bool\" || type === \"boolean\") return TYPE_DEFINITIONS[CARBON_TYPE.BOOLEAN];\n if (type === \"str\" || type === \"unicode\" || type === \"bytes\") return TYPE_DEFINITIONS[CARBON_TYPE.STRING];\n if (type === \"float\") return TYPE_DEFINITIONS[CARBON_TYPE.FLOAT64];\n if (type === \"int\" || type === \"long\") return TYPE_DEFINITIONS[CARBON_TYPE.INT64];\n if (type === \"list\" || type === \"tuple\") return TYPE_DEFINITIONS[CARBON_TYPE.ARRAY];\n if (type === \"dict\") return TYPE_DEFINITIONS[CARBON_TYPE.MAP];\n if (type === \"set\") return TYPE_DEFINITIONS[CARBON_TYPE.SET];\n if (type === \"none\" || type === \"nonetype\") return objectRefDescriptor(\"NoneType\");\n return TYPE_DEFINITIONS[CARBON_TYPE.UNKNOWN];\n}\n\n/** Creates a field default from explicit source metadata or its normalized type. */\nexport function defaultValueForCarbonField(field)\n{\n if (field && field.default && field.default.kind !== \"expression\")\n {\n return normalizeCarbonValue(field.default.json, field);\n }\n return defaultCarbonValue(field);\n}\n\n/** Creates the canonical default value for a Carbon type descriptor. */\nexport function defaultCarbonValue(type)\n{\n const descriptor = normalizeCarbonTypeDescriptor(type);\n switch (descriptor.kind)\n {\n case CARBON_TYPE.BOOLEAN:\n return false;\n case CARBON_TYPE.STRING:\n case CARBON_TYPE.PATH:\n case CARBON_TYPE.EXPRESSION:\n return \"\";\n case CARBON_TYPE.FLOAT32:\n return num.float32(0);\n case CARBON_TYPE.FLOAT64:\n return num.float64(0);\n case CARBON_TYPE.INT8:\n return num.int8(0);\n case CARBON_TYPE.UINT8:\n return num.uint8(0);\n case CARBON_TYPE.INT16:\n return num.int16(0);\n case CARBON_TYPE.UINT16:\n return num.uint16(0);\n case CARBON_TYPE.INT32:\n return num.int32(0);\n case CARBON_TYPE.UINT32:\n return num.uint32(0);\n case CARBON_TYPE.INT64:\n return num.int64(0);\n case CARBON_TYPE.UINT64:\n return num.uint64(0);\n case CARBON_TYPE.VECTOR2:\n case CARBON_TYPE.VECTOR3:\n case CARBON_TYPE.VECTOR4:\n case CARBON_TYPE.COLOR:\n case CARBON_TYPE.QUATERNION:\n case CARBON_TYPE.MATRIX3:\n case CARBON_TYPE.MATRIX4:\n return createCarbonMathValue(descriptor);\n case CARBON_TYPE.ARRAY:\n return [];\n case CARBON_TYPE.MAP:\n return new Map();\n case CARBON_TYPE.SET:\n return new Set();\n case CARBON_TYPE.ENUM:\n case CARBON_TYPE.TYPED_ARRAY:\n {\n // A declared typed array is ALWAYS a typed array. Defaulting it to\n // null would make every reader test for it first, which is the\n // hedge this type system exists to remove: the declaration says\n // what the field holds, so an absent value is an EMPTY one of that\n // type, not a different type. An undeclared arrayType has nothing\n // to build and keeps the null.\n const storage = typedArrayStorageFor(descriptor);\n return storage ? new storage.Ctor(0) : null;\n }\n case CARBON_TYPE.MODEL:\n case CARBON_TYPE.OBJECT_REF:\n case CARBON_TYPE.STRUCT:\n case CARBON_TYPE.RAW_STRUCT:\n case CARBON_TYPE.UNKNOWN:\n default:\n return null;\n }\n}\n\n/** Coerces an input value according to a canonical Carbon type descriptor. */\nexport function normalizeCarbonValue(value, type)\n{\n const descriptor = normalizeCarbonTypeDescriptor(type);\n if (value === undefined) return defaultCarbonValue(descriptor);\n if (value === null) return null;\n\n switch (descriptor.kind)\n {\n case CARBON_TYPE.BOOLEAN:\n return Boolean(value);\n case CARBON_TYPE.STRING:\n case CARBON_TYPE.PATH:\n case CARBON_TYPE.EXPRESSION:\n return String(value);\n case CARBON_TYPE.FLOAT32:\n return num.float32(value);\n case CARBON_TYPE.FLOAT64:\n return num.float64(value);\n case CARBON_TYPE.INT8:\n return num.int8(value);\n case CARBON_TYPE.UINT8:\n return num.uint8(value);\n case CARBON_TYPE.INT16:\n return num.int16(value);\n case CARBON_TYPE.UINT16:\n return num.uint16(value);\n case CARBON_TYPE.INT32:\n return num.int32(value);\n case CARBON_TYPE.UINT32:\n return num.uint32(value);\n case CARBON_TYPE.INT64:\n return num.int64(value);\n case CARBON_TYPE.UINT64:\n return num.uint64(value);\n case CARBON_TYPE.VECTOR2:\n case CARBON_TYPE.VECTOR3:\n case CARBON_TYPE.VECTOR4:\n case CARBON_TYPE.COLOR:\n case CARBON_TYPE.QUATERNION:\n case CARBON_TYPE.MATRIX3:\n case CARBON_TYPE.MATRIX4:\n return createCarbonMathValue(descriptor, value);\n case CARBON_TYPE.TYPED_ARRAY:\n return createCarbonTypedArrayValue(descriptor, value);\n case CARBON_TYPE.ARRAY:\n return Array.isArray(value) ? value.map(cloneCarbonValue) : [cloneCarbonValue(value)];\n case CARBON_TYPE.MAP:\n return value instanceof Map ? cloneCarbonValue(value) : new Map(Object.entries(value || {}));\n case CARBON_TYPE.SET:\n return value instanceof Set ? new Set(value) : new Set(Array.isArray(value) ? value : [value]);\n default:\n return cloneCarbonValue(value);\n }\n}\n\n/** Clones portable Carbon values while preserving source-shaped object identity. */\nexport function cloneCarbonValue(value)\n{\n if (ArrayBuffer.isView(value)) return new value.constructor(value);\n if (typeof value === \"bigint\") return value;\n if (isSourceShapedObject(value)) return value;\n if (value instanceof Map) return new Map(Array.from(value.entries()).map(([key, item]) => [key, cloneCarbonValue(item)]));\n if (value instanceof Set) return new Set(Array.from(value.values()).map(cloneCarbonValue));\n if (Array.isArray(value)) return value.map(cloneCarbonValue);\n if (value && typeof value === \"object\")\n {\n const result = Object.fromEntries(Object.entries(value).map(([key, item]) => [key, cloneCarbonValue(item)]));\n if (isCarbonRawStruct(value)) return createCarbonRawStruct(getCarbonRawStructType(value), result);\n return result;\n }\n return value;\n}\n\n/**\n * Converts a Carbon runtime value into a plain serialization-safe\n * representation.\n */\nexport function exportCarbonValue(value)\n{\n if (ArrayBuffer.isView(value)) return Array.from(value, item => typeof item === \"bigint\" ? item.toString() : item);\n if (typeof value === \"bigint\") return value.toString();\n if (value instanceof Map) return Object.fromEntries(Array.from(value.entries()).map(([key, item]) => [key, exportCarbonValue(item)]));\n if (value instanceof Set) return Array.from(value.values()).map(exportCarbonValue);\n if (Array.isArray(value)) return value.map(exportCarbonValue);\n if (value && typeof value === \"object\")\n {\n const result = Object.fromEntries(\n Object.entries(value)\n .filter(([key]) => !key.startsWith(\"_\"))\n .map(([key, item]) => [key, exportCarbonValue(item)])\n );\n if (isCarbonRawStruct(value)) result.$type = getCarbonRawStructType(value);\n return result;\n }\n return value;\n}\n\n/** Creates a plain value record branded with its opaque native struct type. */\nexport function createCarbonRawStruct(typeName, values = {})\n{\n const result = { ...values };\n Object.defineProperty(result, CARBON_META, {\n value: CARBON_TYPE.RAW_STRUCT,\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(result, CARBON_RAW_STRUCT_TYPE, {\n value: typeName || null,\n enumerable: false,\n configurable: true\n });\n return result;\n}\n\n/** Reports whether a value carries the Carbon raw-struct brand. */\nexport function isCarbonRawStruct(value)\n{\n return Boolean(value && typeof value === \"object\" && value[CARBON_META] === CARBON_TYPE.RAW_STRUCT);\n}\n\n/** Returns the declared native type name of a branded raw struct. */\nexport function getCarbonRawStructType(value)\n{\n return isCarbonRawStruct(value) ? value[CARBON_RAW_STRUCT_TYPE] : null;\n}\n\n/** Formats a portable Carbon value as a deterministic JavaScript expression. */\nexport function carbonValueToJsExpression(value)\n{\n if (ArrayBuffer.isView(value))\n {\n const values = Array.from(value, item => typeof item === \"bigint\" ? `${item}n` : formatJsNumber(item));\n return `new ${value.constructor.name}([${values.join(\", \")}])`;\n }\n if (typeof value === \"bigint\") return `${value}n`;\n if (value instanceof Map) return \"new Map()\";\n if (value instanceof Set) return \"new Set()\";\n if (Array.isArray(value)) return `[${value.map(item => carbonValueToJsExpression(item)).join(\", \")}]`;\n if (value && typeof value === \"object\") return JSON.stringify(exportCarbonValue(value), null, 4);\n return JSON.stringify(value);\n}\n\n/** Resolves a supported typed-array constructor by its serialized name. */\nexport function typedArrayConstructor(name)\n{\n return TYPED_ARRAY_CTORS[name] || null;\n}\n\n\n/** Per-declared-name storage for the length-free `typedArray` kind. */\nconst TYPED_ARRAY_STORAGE = Object.freeze(Object.fromEntries(\n Object.keys(TYPED_ARRAY_CTORS).map(name => [ name, Object.freeze({\n Ctor: TYPED_ARRAY_CTORS[name],\n tag: `[object ${name}]`\n }) ])));\n\n\n/**\n * The storage a `@type.typedArray(\"Uint32Array\")` field declares.\n *\n * @param {object} descriptor\n * @returns {{Ctor: Function, tag: String}|null} Null when nothing is declared,\n * which keeps an undeclared field on its previous pass-through behaviour.\n */\nfunction typedArrayStorageFor(descriptor)\n{\n return TYPED_ARRAY_STORAGE[descriptor?.arrayType] ?? null;\n}\n\n\n/**\n * Builds a `typedArray` field's value as its DECLARED type.\n *\n * Unlike a math kind this declares no length - the incoming data decides it -\n * so there is nothing to require, only a type to honour. Before 2026-09-08\n * `arrayType` was written by the decorator and read by nothing, so these fields\n * kept whatever type the caller happened to send: a plain Array stayed an\n * Array, and a Float32Array stayed one where Uint32Array was declared.\n *\n * @param {object} descriptor\n * @param {*} value\n * @returns {*}\n */\nfunction createCarbonTypedArrayValue(descriptor, value)\n{\n // `null`/`undefined` never arrive: normalizeCarbonValue answers both before\n // the switch, and the declared default for these fields IS null - both\n // production declarations are `@edit.persistOnly ... = null`, absent until\n // data arrives. Nothing here should invent an empty array over that.\n const storage = typedArrayStorageFor(descriptor);\n if (!storage) return cloneCarbonValue(value);\n\n return isTag(value, storage.tag) ? new storage.Ctor(value) : storage.Ctor.from(value);\n}\n\n\n/**\n * Coerce a `typedArray` value INTO an existing target, in place, when it fits.\n *\n * The kind declares no length, so a size change is legitimate rather than a\n * caller error - the opposite of the math kinds, where a declared length is a\n * requirement. Reuse therefore turns on the target already being the declared\n * type AND already the incoming length; anything else allocates.\n *\n * These are the BIG arrays - decal index buffers, Python blobs - so reusing\n * them matters more than reusing a vec3, and until now they always allocated.\n *\n * @param {*} target\n * @param {*} value\n * @param {*} type\n * @returns {Boolean|null} Whether any element changed, or null to allocate.\n */\nexport function coerceCarbonTypedArrayInto(target, value, type)\n{\n const descriptor = normalizeCarbonTypeDescriptor(type);\n if (descriptor.kind !== CARBON_TYPE.TYPED_ARRAY) return null;\n\n const storage = typedArrayStorageFor(descriptor);\n if (!storage || !isTag(target, storage.tag)) return null;\n\n const source = ArrayBuffer.isView(value) || Array.isArray(value) ? value : null;\n if (!source || source.length !== target.length) return null;\n\n let changed = false;\n for (let i = 0; i < target.length; i++)\n {\n if (target[i] !== source[i])\n {\n target[i] = source[i];\n changed = true;\n }\n }\n return changed;\n}\n\nfunction carbonTypeDefinitionForKind(kind)\n{\n const normalized = TYPE_ALIASES[kind] || kind;\n return TYPE_DEFINITIONS[normalized] || { kind: normalized, js: \"*\" };\n}\n\nfunction mergeCarbonTypeDefinition(type)\n{\n const definition = carbonTypeDefinitionForKind(type.kind);\n return { ...definition, ...type, kind: definition.kind };\n}\n\nfunction uint8(value)\n{\n return Number(value) & 0xff;\n}\n\nfunction int8(value)\n{\n const result = uint8(value);\n return result > 0x7f ? result - 0x100 : result;\n}\n\nfunction uint16(value)\n{\n return Number(value) & 0xffff;\n}\n\nfunction int16(value)\n{\n const result = uint16(value);\n return result > 0x7fff ? result - 0x10000 : result;\n}\n\nfunction uint32(value)\n{\n return Number(value) >>> 0;\n}\n\nfunction int32(value)\n{\n return Number(value) | 0;\n}\n\nfunction uint64(value)\n{\n return toBigInt(value, false);\n}\n\nfunction int64(value)\n{\n return toBigInt(value, true);\n}\n\nfunction float32(value)\n{\n const result = Number(value);\n return Number.isFinite(result) ? result : 0;\n}\n\nfunction float64(value)\n{\n const result = Number(value);\n return Number.isFinite(result) ? result : 0;\n}\n\nfunction toBigInt(value, signed)\n{\n let result = 0n;\n if (typeof value === \"bigint\") result = value;\n else if (typeof value === \"number\" && Number.isFinite(value)) result = BigInt(Math.trunc(value));\n else if (typeof value === \"string\" && value.trim()) result = BigInt(value.trim());\n\n // Clamp unsigned negatives but FALL THROUGH so safe-range values export\n // as ordinary numbers (an early BigInt return here leaked '0' strings\n // into values interchange - fixed 2026-07-23).\n if (!signed && result < 0n) result = 0n;\n\n // Safe-range 64-bit values stay ordinary numbers so a JSON round trip\n // (GetValues → SetValues) reproduces the exported representation; BigInt\n // is reserved for magnitudes JSON numbers cannot hold.\n if (result >= MIN_SAFE_BIGINT && result <= MAX_SAFE_BIGINT) return Number(result);\n return result;\n}\n\nconst MAX_SAFE_BIGINT = BigInt(Number.MAX_SAFE_INTEGER);\n\nconst MIN_SAFE_BIGINT = BigInt(Number.MIN_SAFE_INTEGER);\n\nfunction containerDescriptor(kind, cppType)\n{\n const elementCppType = extractTemplateArgument(cppType);\n return {\n kind,\n js: kind === CARBON_TYPE.MAP ? \"Map\" : kind === CARBON_TYPE.SET ? \"Set\" : \"Array\",\n cppType,\n elementType: elementCppType ? inferCarbonTypeFromCpp(elementCppType) : undefined\n };\n}\n\nfunction objectRefDescriptor(cppType)\n{\n return { ...TYPE_DEFINITIONS[CARBON_TYPE.OBJECT_REF], cppType };\n}\n\nfunction rawStructDescriptor(cppType)\n{\n return { ...TYPE_DEFINITIONS[CARBON_TYPE.RAW_STRUCT], cppType };\n}\n\nfunction extractTemplateArgument(cppType)\n{\n const match = String(cppType || \"\").match(/<(.+)>/);\n return match ? match[1].trim() : null;\n}\n\nfunction normalizeCppType(cppType)\n{\n return String(cppType || \"\")\n .replace(/\\bconst\\b/g, \"\")\n .replace(/&/g, \"\")\n .replace(/\\s+/g, \" \")\n .trim();\n}\n\nfunction normalizeCppTypeName(cppType)\n{\n return normalizeCppType(cppType)\n .replace(/\\s*\\*+$/, \"\")\n .replace(/\\bstd::basic_string\\s*<[^>]+>/g, \"std::string\")\n .trim();\n}\n\nfunction isRotationLike(name)\n{\n return /(?:^|[^A-Za-z0-9])(?:rotation|quat|quaternion)|(?:rotation|quat|quaternion)/i.test(String(name || \"\"));\n}\n\nfunction isExpressionLike(name)\n{\n return /(?:^|[^A-Za-z0-9])expression(?:$|[^A-Za-z0-9])|expression/i.test(String(name || \"\"));\n}\n\n/**\n * Builds a math value's element list from its defaults and an optional source.\n *\n * A DECLARED LENGTH IS A REQUIREMENT, not a maximum. Until 2026-09-08 a short\n * source was silently padded from the defaults and a long one silently\n * truncated, so `[1, 2]` into a vec3 became `[1, 2, 0]` and `[1, 2, 3, 4]`\n * became `[1, 2, 3]` - a caller passing the wrong shape got a plausible wrong\n * answer and no signal. Absent a source the defaults stand, which is ordinary\n * construction rather than a mismatch.\n *\n * @param {*} value Optional source elements.\n * @param {number} length The declared element count.\n * @param {number[]} defaults The declared defaults.\n * @param {Function} round The declared scalar's rounding function.\n * @param {string} kind The kind name, for the error.\n * @returns {number[]}\n */\nfunction normalizeMathValues(value, length, defaults, round, kind)\n{\n const result = Array.isArray(defaults) ? defaults.slice() : new Array(length).fill(0);\n if (value === null || value === undefined) return result;\n\n const source = ArrayBuffer.isView(value) || Array.isArray(value) ? value : null;\n if (!source) return result;\n\n if (source.length !== result.length)\n {\n const error = new RangeError(\n `${kind} declares ${result.length} elements and received ${source.length}.`);\n error.code = \"CJS_MATH_LENGTH_MISMATCH\";\n throw error;\n }\n\n for (let i = 0; i < result.length; i++) result[i] = round(source[i]);\n return result;\n}\n\nfunction formatJsNumber(value)\n{\n if (Object.is(value, -0)) return \"-0\";\n return Number.isFinite(value) ? String(value) : \"0\";\n}\n\nfunction isSourceShapedObject(value)\n{\n return Boolean(value && typeof value === \"object\" && typeof value._sourceClassName === \"string\");\n}\n"],"names":["CARBON_META","Symbol","for","CARBON_RAW_STRUCT_TYPE","CARBON_TYPE","Object","freeze","UNKNOWN","BOOLEAN","STRING","PATH","EXPRESSION","ENUM","FLOAT32","FLOAT64","INT8","UINT8","INT16","UINT16","INT32","UINT32","INT64","UINT64","VECTOR2","VECTOR3","VECTOR4","COLOR","QUATERNION","MATRIX3","MATRIX4","ARRAY","MAP","SET","MODEL","OBJECT_REF","STRUCT","RAW_STRUCT","TYPED_ARRAY","FLOAT32_VECTOR_DEFINITIONS","kind","js","scalar","length","default","semantic","TYPE_DEFINITIONS","bits","signed","floating","integer","TYPE_ALIASES","bool","float","double","vec2","vec3","vec4","quat","mat3","mat4","TYPED_ARRAY_CTORS","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","TYPED_ARRAY_FOR_SCALAR","num","int8","uint8","int16","uint16","int32","uint32","int64","uint64","float32","float64","CARBON_MATH_KINDS","Set","keys","mathStorageFor","descriptor","MATH_STORAGE","fromEntries","entries","map","name","Ctor","round","tag","filter","storage","createCarbonMathValue","type","value","undefined","normalizeCarbonTypeDescriptor","has","values","normalizeMathValues","n","from","coerceCarbonMathInto","target","isTag","source","ArrayBuffer","isView","Array","isArray","error","RangeError","code","changed","i","next","getCarbonTypeDefinition","carbonTypeDefinitionForKind","mergeCarbonTypeDefinition","jsType","cppType","inferCarbonTypeFromCpp","pythonType","inferCarbonTypeFromPython","propertyName","original","String","trim","normalizeCppType","named","normalizeCppTypeName","includes","test","containerDescriptor","objectRefDescriptor","isExpressionLike","isRotationLike","rawStructDescriptor","toLowerCase","defaultValueForCarbonField","field","normalizeCarbonValue","json","defaultCarbonValue","Map","typedArrayStorageFor","Boolean","createCarbonTypedArrayValue","cloneCarbonValue","constructor","isSourceShapedObject","key","item","result","isCarbonRawStruct","createCarbonRawStruct","getCarbonRawStructType","exportCarbonValue","toString","startsWith","$type","typeName","defineProperty","enumerable","configurable","carbonValueToJsExpression","formatJsNumber","join","JSON","stringify","typedArrayConstructor","TYPED_ARRAY_STORAGE","arrayType","coerceCarbonTypedArrayInto","normalized","definition","Number","toBigInt","isFinite","BigInt","Math","trunc","MIN_SAFE_BIGINT","MAX_SAFE_BIGINT","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","elementCppType","extractTemplateArgument","elementType","match","replace","defaults","slice","fill","is","_sourceClassName"],"mappings":"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"}
@@ -3,6 +3,8 @@
3
3
  // these run per record, and allocating a 4-byte ArrayBuffer each time is
4
4
  // pure garbage for a value that is read immediately and never retained.
5
5
  const scratch = new DataView(new ArrayBuffer(4));
6
+
7
+ /** Returns a zero-copy Uint8Array view over supported byte input. */
6
8
  function asUint8Array(value, label = "value") {
7
9
  if (value instanceof Uint8Array) {
8
10
  return value;
@@ -1 +1 @@
1
- {"version":3,"file":"bytes.js","sources":["../../../../src/global/utils/bytes.js"],"sourcesContent":["/** Returns a zero-copy Uint8Array view over supported byte input. */\n// One reused conversion view. `hash.js` keeps its own for the same reason:\n// these run per record, and allocating a 4-byte ArrayBuffer each time is\n// pure garbage for a value that is read immediately and never retained.\nconst scratch = new DataView(new ArrayBuffer(4));\n\nexport function asUint8Array(value, label = \"value\")\n{\n if (value instanceof Uint8Array)\n {\n return value;\n }\n\n if (value instanceof ArrayBuffer)\n {\n return new Uint8Array(value);\n }\n\n if (ArrayBuffer.isView(value))\n {\n return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n }\n\n throw new TypeError(`${label} must be a Uint8Array, ArrayBuffer, or ArrayBuffer view.`);\n}\n\n/** Returns an owned copy of supported byte input. */\nexport function copyBytes(value, label = \"value\")\n{\n return asUint8Array(value, label).slice();\n}\n\n/** Copies exactly the visible byte range into a standalone ArrayBuffer. */\nexport function toArrayBuffer(value, label = \"value\")\n{\n const bytes = asUint8Array(value, label);\n\n return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);\n}\n\n/** Tests whether byte input starts with the complete supplied prefix. */\nexport function hasBytePrefix(value, prefix)\n{\n const bytes = asUint8Array(value, \"value\");\n const expected = asUint8Array(prefix, \"prefix\");\n\n if (bytes.byteLength < expected.byteLength)\n {\n return false;\n }\n\n for (let index = 0; index < expected.byteLength; index++)\n {\n if (bytes[index] !== expected[index])\n {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Reads a fixed-length ASCII tag, as container formats use for chunk names.\n *\n * Missing bytes read as zero rather than throwing, because a truncated tag is\n * a failed match at the call site, not an error in the read.\n *\n * @param {Uint8Array} bytes Source bytes.\n * @param {number} offset Byte offset to read from.\n * @param {number} [length=4] Tag length in bytes.\n * @returns {string} The decoded tag.\n */\nexport function readFourCc(bytes, offset, length = 4)\n{\n let value = \"\";\n for (let i = 0; i < length; i++) value += String.fromCharCode(bytes[offset + i] || 0);\n return value;\n}\n\n// Container formats read fixed-width big- and little-endian integers\n// constantly, and every reader had grown its own copy. Missing bytes read as\n// zero, matching what the shifting forms already did: `>>> 0` turns the NaN a\n// truncated multiply produces back into a number, so only the two flac copies\n// that omitted it ever returned NaN, and flac bounds-checks before every read.\n\n/** Reads an unsigned big-endian 16-bit integer. */\nexport function readU16BE(bytes, offset)\n{\n return ((bytes[offset] || 0) << 8) | (bytes[offset + 1] || 0);\n}\n\n/** Reads an unsigned little-endian 16-bit integer. */\nexport function readU16LE(bytes, offset)\n{\n return (bytes[offset] || 0) | ((bytes[offset + 1] || 0) << 8);\n}\n\n/** Reads an unsigned big-endian 24-bit integer. */\nexport function readU24BE(bytes, offset)\n{\n return ((bytes[offset] || 0) * 0x10000) + ((bytes[offset + 1] || 0) << 8) + (bytes[offset + 2] || 0);\n}\n\n/** Reads an unsigned little-endian 24-bit integer. */\nexport function readU24LE(bytes, offset)\n{\n return (bytes[offset] || 0) + ((bytes[offset + 1] || 0) << 8) + ((bytes[offset + 2] || 0) * 0x10000);\n}\n\n/** Reads an unsigned big-endian 32-bit integer. */\nexport function readU32BE(bytes, offset)\n{\n return (((bytes[offset] || 0) * 0x1000000)\n + ((bytes[offset + 1] || 0) << 16)\n + ((bytes[offset + 2] || 0) << 8)\n + (bytes[offset + 3] || 0)) >>> 0;\n}\n\n/** Reads an unsigned little-endian 32-bit integer. */\nexport function readU32LE(bytes, offset)\n{\n return ((bytes[offset] || 0)\n + ((bytes[offset + 1] || 0) << 8)\n + ((bytes[offset + 2] || 0) << 16)\n + ((bytes[offset + 3] || 0) * 0x1000000)) >>> 0;\n}\n\n/**\n * Reinterprets the bits of an unsigned 32-bit integer as a float32.\n *\n * Carbon stores float-valued render states and annotation payloads as raw\n * uint32 bit patterns, so a consumer that needs the number rather than the\n * pattern must reinterpret rather than convert.\n *\n * @param {number} value Unsigned 32-bit integer containing float bits.\n * @returns {number} Float value represented by the same bits.\n */\nexport function float32FromBits(value)\n{\n scratch.setUint32(0, value >>> 0, true);\n return scratch.getFloat32(0, true);\n}\n\n/**\n * The bit pattern of a 32-bit float.\n *\n * The inverse of `float32FromBits`, and the reason both live here: a caller that\n * round-trips a float through its bits needs the two halves to agree about byte\n * order, and two modules each owning one half is how they stop agreeing.\n *\n * @param {number} value Float value.\n * @returns {number} Unsigned 32-bit pattern encoding that float.\n */\nexport function float32ToBits(value)\n{\n scratch.setFloat32(0, value, true);\n return scratch.getUint32(0, true);\n}\n"],"names":["scratch","DataView","ArrayBuffer","asUint8Array","value","label","Uint8Array","isView","buffer","byteOffset","byteLength","TypeError","copyBytes","slice","toArrayBuffer","bytes","hasBytePrefix","prefix","expected","index","readFourCc","offset","length","i","String","fromCharCode","readU16BE","readU16LE","readU24BE","readU24LE","readU32BE","readU32LE","float32FromBits","setUint32","getFloat32","float32ToBits","setFloat32","getUint32"],"mappings":"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"}
1
+ {"version":3,"file":"bytes.js","sources":["../../../../src/global/utils/bytes.js"],"sourcesContent":["/** Returns a zero-copy Uint8Array view over supported byte input. */\n// One reused conversion view. `hash.js` keeps its own for the same reason:\n// these run per record, and allocating a 4-byte ArrayBuffer each time is\n// pure garbage for a value that is read immediately and never retained.\nconst scratch = new DataView(new ArrayBuffer(4));\n\n/** Returns a zero-copy Uint8Array view over supported byte input. */\nexport function asUint8Array(value, label = \"value\")\n{\n if (value instanceof Uint8Array)\n {\n return value;\n }\n\n if (value instanceof ArrayBuffer)\n {\n return new Uint8Array(value);\n }\n\n if (ArrayBuffer.isView(value))\n {\n return new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\n }\n\n throw new TypeError(`${label} must be a Uint8Array, ArrayBuffer, or ArrayBuffer view.`);\n}\n\n/** Returns an owned copy of supported byte input. */\nexport function copyBytes(value, label = \"value\")\n{\n return asUint8Array(value, label).slice();\n}\n\n/** Copies exactly the visible byte range into a standalone ArrayBuffer. */\nexport function toArrayBuffer(value, label = \"value\")\n{\n const bytes = asUint8Array(value, label);\n\n return bytes.buffer.slice(bytes.byteOffset, bytes.byteOffset + bytes.byteLength);\n}\n\n/** Tests whether byte input starts with the complete supplied prefix. */\nexport function hasBytePrefix(value, prefix)\n{\n const bytes = asUint8Array(value, \"value\");\n const expected = asUint8Array(prefix, \"prefix\");\n\n if (bytes.byteLength < expected.byteLength)\n {\n return false;\n }\n\n for (let index = 0; index < expected.byteLength; index++)\n {\n if (bytes[index] !== expected[index])\n {\n return false;\n }\n }\n\n return true;\n}\n\n/**\n * Reads a fixed-length ASCII tag, as container formats use for chunk names.\n *\n * Missing bytes read as zero rather than throwing, because a truncated tag is\n * a failed match at the call site, not an error in the read.\n *\n * @param {Uint8Array} bytes Source bytes.\n * @param {number} offset Byte offset to read from.\n * @param {number} [length=4] Tag length in bytes.\n * @returns {string} The decoded tag.\n */\nexport function readFourCc(bytes, offset, length = 4)\n{\n let value = \"\";\n for (let i = 0; i < length; i++) value += String.fromCharCode(bytes[offset + i] || 0);\n return value;\n}\n\n// Container formats read fixed-width big- and little-endian integers\n// constantly, and every reader had grown its own copy. Missing bytes read as\n// zero, matching what the shifting forms already did: `>>> 0` turns the NaN a\n// truncated multiply produces back into a number, so only the two flac copies\n// that omitted it ever returned NaN, and flac bounds-checks before every read.\n\n/** Reads an unsigned big-endian 16-bit integer. */\nexport function readU16BE(bytes, offset)\n{\n return ((bytes[offset] || 0) << 8) | (bytes[offset + 1] || 0);\n}\n\n/** Reads an unsigned little-endian 16-bit integer. */\nexport function readU16LE(bytes, offset)\n{\n return (bytes[offset] || 0) | ((bytes[offset + 1] || 0) << 8);\n}\n\n/** Reads an unsigned big-endian 24-bit integer. */\nexport function readU24BE(bytes, offset)\n{\n return ((bytes[offset] || 0) * 0x10000) + ((bytes[offset + 1] || 0) << 8) + (bytes[offset + 2] || 0);\n}\n\n/** Reads an unsigned little-endian 24-bit integer. */\nexport function readU24LE(bytes, offset)\n{\n return (bytes[offset] || 0) + ((bytes[offset + 1] || 0) << 8) + ((bytes[offset + 2] || 0) * 0x10000);\n}\n\n/** Reads an unsigned big-endian 32-bit integer. */\nexport function readU32BE(bytes, offset)\n{\n return (((bytes[offset] || 0) * 0x1000000)\n + ((bytes[offset + 1] || 0) << 16)\n + ((bytes[offset + 2] || 0) << 8)\n + (bytes[offset + 3] || 0)) >>> 0;\n}\n\n/** Reads an unsigned little-endian 32-bit integer. */\nexport function readU32LE(bytes, offset)\n{\n return ((bytes[offset] || 0)\n + ((bytes[offset + 1] || 0) << 8)\n + ((bytes[offset + 2] || 0) << 16)\n + ((bytes[offset + 3] || 0) * 0x1000000)) >>> 0;\n}\n\n/**\n * Reinterprets the bits of an unsigned 32-bit integer as a float32.\n *\n * Carbon stores float-valued render states and annotation payloads as raw\n * uint32 bit patterns, so a consumer that needs the number rather than the\n * pattern must reinterpret rather than convert.\n *\n * @param {number} value Unsigned 32-bit integer containing float bits.\n * @returns {number} Float value represented by the same bits.\n */\nexport function float32FromBits(value)\n{\n scratch.setUint32(0, value >>> 0, true);\n return scratch.getFloat32(0, true);\n}\n\n/**\n * The bit pattern of a 32-bit float.\n *\n * The inverse of `float32FromBits`, and the reason both live here: a caller that\n * round-trips a float through its bits needs the two halves to agree about byte\n * order, and two modules each owning one half is how they stop agreeing.\n *\n * @param {number} value Float value.\n * @returns {number} Unsigned 32-bit pattern encoding that float.\n */\nexport function float32ToBits(value)\n{\n scratch.setFloat32(0, value, true);\n return scratch.getUint32(0, true);\n}\n"],"names":["scratch","DataView","ArrayBuffer","asUint8Array","value","label","Uint8Array","isView","buffer","byteOffset","byteLength","TypeError","copyBytes","slice","toArrayBuffer","bytes","hasBytePrefix","prefix","expected","index","readFourCc","offset","length","i","String","fromCharCode","readU16BE","readU16LE","readU24BE","readU24LE","readU32BE","readU32LE","float32FromBits","setUint32","getFloat32","float32ToBits","setFloat32","getUint32"],"mappings":"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"}
@@ -14,8 +14,37 @@ function normalizePath(value, options = {}) {
14
14
  return options.lowerCase ? result.toLowerCase() : result;
15
15
  }
16
16
 
17
- /** Normalizes a case-insensitive URI-style resource path. */
17
+ // "dynamic:/" and "dynamic:\\" are both nine characters.
18
+ const DYNAMIC_PREFIX_LENGTH = 9;
19
+
20
+ /**
21
+ * Normalizes a case-insensitive URI-style resource path.
22
+ *
23
+ * Carbon's NormalizeResPath (`blue/src/BlueFileUtil.cpp:33-59`) exempts a
24
+ * `dynamic:` path from all of it but the constructor name: only the characters
25
+ * before the first separator after `dynamic:` are lowercased, and a backslash AT
26
+ * that separator becomes a slash. Everything after keeps its authored case and
27
+ * its slashes, which `dynamic:/gradient_1d/<base64>` depends on - base64 is
28
+ * case-sensitive and its alphabet contains `/`, so lowercasing or collapsing
29
+ * repeated slashes destroys the payload. A leading `dynamic:\\` stays a
30
+ * backslash there, as Carbon leaves it.
31
+ */
18
32
  function normalizeResourcePath(value) {
33
+ const path = String(value ?? "");
34
+ if (path.startsWith("dynamic:/") || path.startsWith("dynamic:\\")) {
35
+ let separator = -1;
36
+ for (let index = DYNAMIC_PREFIX_LENGTH; index < path.length; index++) {
37
+ const character = path[index];
38
+ if (character === "/" || character === "\\") {
39
+ separator = index;
40
+ break;
41
+ }
42
+ }
43
+ // No query at all: the whole path is the name.
44
+ if (separator === -1) return path.toLowerCase();
45
+ const tail = path.slice(separator);
46
+ return path.slice(0, separator).toLowerCase() + (tail.startsWith("\\") ? `/${tail.slice(1)}` : tail);
47
+ }
19
48
  return normalizePath(value, {
20
49
  lowerCase: true
21
50
  });
@@ -1 +1 @@
1
- {"version":3,"file":"path.js","sources":["../../../../src/global/utils/path.js"],"sourcesContent":["/**\r\n * Normalizes slash direction and repeated separators without resolving dot\r\n * segments. URI-style scheme separators retain their authored slash count.\r\n */\r\nexport function normalizePath(value, options = {})\r\n{\r\n let result = String(value ?? \"\").trim().replace(/\\\\/gu, \"/\");\r\n const scheme = /^([A-Za-z][A-Za-z0-9+.-]*:)(\\/+)/u.exec(result);\r\n\r\n if (scheme)\r\n {\r\n const prefix = scheme[0];\r\n result = `${prefix}${result.slice(prefix.length).replace(/\\/+/gu, \"/\")}`;\r\n }\r\n else\r\n {\r\n result = result.replace(/\\/+/gu, \"/\");\r\n }\r\n\r\n return options.lowerCase ? result.toLowerCase() : result;\r\n}\r\n\r\n/** Normalizes a case-insensitive URI-style resource path. */\r\nexport function normalizeResourcePath(value)\r\n{\r\n return normalizePath(value, { lowerCase: true });\r\n}\r\n\r\n/** Returns the normalized extension of a URI-style resource path. */\r\nexport function getResourceExtension(value)\r\n{\r\n const path = normalizeResourcePath(value);\r\n const queryIndex = path.search(/[?#]/u);\r\n const cleanPath = queryIndex === -1 ? path : path.slice(0, queryIndex);\r\n const slashIndex = cleanPath.lastIndexOf(\"/\");\r\n const dotIndex = cleanPath.lastIndexOf(\".\");\r\n\r\n if (dotIndex === -1 || dotIndex < slashIndex)\r\n {\r\n return \"\";\r\n }\r\n\r\n return cleanPath.slice(dotIndex + 1);\r\n}\r\n\r\n/** Normalizes a resource extension without its optional leading dot. */\r\nexport function normalizeResourceExtension(value)\r\n{\r\n return String(value ?? \"\")\r\n .trim()\r\n .replace(/^\\./u, \"\")\r\n .toLowerCase();\r\n}\r\n"],"names":["normalizePath","value","options","result","String","trim","replace","scheme","exec","prefix","slice","length","lowerCase","toLowerCase","normalizeResourcePath","getResourceExtension","path","queryIndex","search","cleanPath","slashIndex","lastIndexOf","dotIndex","normalizeResourceExtension"],"mappings":"AAAA;AACA;AACA;AACA;AACO,SAASA,aAAaA,CAACC,KAAK,EAAEC,OAAO,GAAG,EAAE,EACjD;AACI,EAAA,IAAIC,MAAM,GAAGC,MAAM,CAACH,KAAK,IAAI,EAAE,CAAC,CAACI,IAAI,EAAE,CAACC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;AAC5D,EAAA,MAAMC,MAAM,GAAG,mCAAmC,CAACC,IAAI,CAACL,MAAM,CAAC;AAE/D,EAAA,IAAII,MAAM,EACV;AACI,IAAA,MAAME,MAAM,GAAGF,MAAM,CAAC,CAAC,CAAC;AACxBJ,IAAAA,MAAM,GAAG,CAAA,EAAGM,MAAM,GAAGN,MAAM,CAACO,KAAK,CAACD,MAAM,CAACE,MAAM,CAAC,CAACL,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA,CAAE;AAC5E,EAAA,CAAC,MAED;IACIH,MAAM,GAAGA,MAAM,CAACG,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC;AACzC,EAAA;EAEA,OAAOJ,OAAO,CAACU,SAAS,GAAGT,MAAM,CAACU,WAAW,EAAE,GAAGV,MAAM;AAC5D;;AAEA;AACO,SAASW,qBAAqBA,CAACb,KAAK,EAC3C;EACI,OAAOD,aAAa,CAACC,KAAK,EAAE;AAAEW,IAAAA,SAAS,EAAE;AAAK,GAAC,CAAC;AACpD;;AAEA;AACO,SAASG,oBAAoBA,CAACd,KAAK,EAC1C;AACI,EAAA,MAAMe,IAAI,GAAGF,qBAAqB,CAACb,KAAK,CAAC;AACzC,EAAA,MAAMgB,UAAU,GAAGD,IAAI,CAACE,MAAM,CAAC,OAAO,CAAC;AACvC,EAAA,MAAMC,SAAS,GAAGF,UAAU,KAAK,EAAE,GAAGD,IAAI,GAAGA,IAAI,CAACN,KAAK,CAAC,CAAC,EAAEO,UAAU,CAAC;AACtE,EAAA,MAAMG,UAAU,GAAGD,SAAS,CAACE,WAAW,CAAC,GAAG,CAAC;AAC7C,EAAA,MAAMC,QAAQ,GAAGH,SAAS,CAACE,WAAW,CAAC,GAAG,CAAC;EAE3C,IAAIC,QAAQ,KAAK,EAAE,IAAIA,QAAQ,GAAGF,UAAU,EAC5C;AACI,IAAA,OAAO,EAAE;AACb,EAAA;AAEA,EAAA,OAAOD,SAAS,CAACT,KAAK,CAACY,QAAQ,GAAG,CAAC,CAAC;AACxC;;AAEA;AACO,SAASC,0BAA0BA,CAACtB,KAAK,EAChD;EACI,OAAOG,MAAM,CAACH,KAAK,IAAI,EAAE,CAAC,CACrBI,IAAI,EAAE,CACNC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CACnBO,WAAW,EAAE;AACtB;;;;"}
1
+ {"version":3,"file":"path.js","sources":["../../../../src/global/utils/path.js"],"sourcesContent":["/**\r\n * Normalizes slash direction and repeated separators without resolving dot\r\n * segments. URI-style scheme separators retain their authored slash count.\r\n */\r\nexport function normalizePath(value, options = {})\r\n{\r\n let result = String(value ?? \"\").trim().replace(/\\\\/gu, \"/\");\r\n const scheme = /^([A-Za-z][A-Za-z0-9+.-]*:)(\\/+)/u.exec(result);\r\n\r\n if (scheme)\r\n {\r\n const prefix = scheme[0];\r\n result = `${prefix}${result.slice(prefix.length).replace(/\\/+/gu, \"/\")}`;\r\n }\r\n else\r\n {\r\n result = result.replace(/\\/+/gu, \"/\");\r\n }\r\n\r\n return options.lowerCase ? result.toLowerCase() : result;\r\n}\r\n\r\n// \"dynamic:/\" and \"dynamic:\\\\\" are both nine characters.\r\nconst DYNAMIC_PREFIX_LENGTH = 9;\r\n\r\n/**\r\n * Normalizes a case-insensitive URI-style resource path.\r\n *\r\n * Carbon's NormalizeResPath (`blue/src/BlueFileUtil.cpp:33-59`) exempts a\r\n * `dynamic:` path from all of it but the constructor name: only the characters\r\n * before the first separator after `dynamic:` are lowercased, and a backslash AT\r\n * that separator becomes a slash. Everything after keeps its authored case and\r\n * its slashes, which `dynamic:/gradient_1d/<base64>` depends on - base64 is\r\n * case-sensitive and its alphabet contains `/`, so lowercasing or collapsing\r\n * repeated slashes destroys the payload. A leading `dynamic:\\\\` stays a\r\n * backslash there, as Carbon leaves it.\r\n */\r\nexport function normalizeResourcePath(value)\r\n{\r\n const path = String(value ?? \"\");\r\n if (path.startsWith(\"dynamic:/\") || path.startsWith(\"dynamic:\\\\\"))\r\n {\r\n let separator = -1;\r\n for (let index = DYNAMIC_PREFIX_LENGTH; index < path.length; index++)\r\n {\r\n const character = path[index];\r\n if (character === \"/\" || character === \"\\\\\")\r\n {\r\n separator = index;\r\n break;\r\n }\r\n }\r\n // No query at all: the whole path is the name.\r\n if (separator === -1) return path.toLowerCase();\r\n const tail = path.slice(separator);\r\n return path.slice(0, separator).toLowerCase()\r\n + (tail.startsWith(\"\\\\\") ? `/${tail.slice(1)}` : tail);\r\n }\r\n return normalizePath(value, { lowerCase: true });\r\n}\r\n\r\n/** Returns the normalized extension of a URI-style resource path. */\r\nexport function getResourceExtension(value)\r\n{\r\n const path = normalizeResourcePath(value);\r\n const queryIndex = path.search(/[?#]/u);\r\n const cleanPath = queryIndex === -1 ? path : path.slice(0, queryIndex);\r\n const slashIndex = cleanPath.lastIndexOf(\"/\");\r\n const dotIndex = cleanPath.lastIndexOf(\".\");\r\n\r\n if (dotIndex === -1 || dotIndex < slashIndex)\r\n {\r\n return \"\";\r\n }\r\n\r\n return cleanPath.slice(dotIndex + 1);\r\n}\r\n\r\n/** Normalizes a resource extension without its optional leading dot. */\r\nexport function normalizeResourceExtension(value)\r\n{\r\n return String(value ?? \"\")\r\n .trim()\r\n .replace(/^\\./u, \"\")\r\n .toLowerCase();\r\n}\r\n"],"names":["normalizePath","value","options","result","String","trim","replace","scheme","exec","prefix","slice","length","lowerCase","toLowerCase","DYNAMIC_PREFIX_LENGTH","normalizeResourcePath","path","startsWith","separator","index","character","tail","getResourceExtension","queryIndex","search","cleanPath","slashIndex","lastIndexOf","dotIndex","normalizeResourceExtension"],"mappings":"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"}