@carbonenginejs/runtime 0.1.0-alpha.0 → 0.1.0-alpha.1

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 (929) hide show
  1. package/README.md +58 -125
  2. package/dist/audio/index.js +8 -1
  3. package/dist/audio/index.js.map +1 -1
  4. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js +84 -0
  5. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js.map +1 -0
  6. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js +14 -0
  7. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js.map +1 -0
  8. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js +26 -0
  9. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js.map +1 -0
  10. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js +27 -0
  11. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js.map +1 -0
  12. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js +27 -0
  13. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js.map +1 -0
  14. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js +25 -0
  15. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js.map +1 -0
  16. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js +26 -0
  17. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js.map +1 -0
  18. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js +58 -0
  19. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js.map +1 -0
  20. package/dist/audio/trinity/audio/AudManager.js +1 -1
  21. package/dist/audio/trinity/audio/AudManager.js.map +1 -1
  22. package/dist/audio/trinity/audio/{AudObstructionOcclusion.js → AudObstructionOcclusion/AudObstructionOcclusion.js} +8 -52
  23. package/dist/audio/trinity/audio/AudObstructionOcclusion/AudObstructionOcclusion.js.map +1 -0
  24. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js +17 -0
  25. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js.map +1 -0
  26. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js +46 -0
  27. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js.map +1 -0
  28. package/dist/audio/trinity/index.js +8 -1
  29. package/dist/audio/trinity/index.js.map +1 -1
  30. package/dist/character/CjsCharacterAppearanceConstruction.js +5 -0
  31. package/dist/character/CjsCharacterAppearanceConstruction.js.map +1 -1
  32. package/dist/character/CjsCharacterAppearanceManager.js +14 -0
  33. package/dist/character/CjsCharacterAppearanceManager.js.map +1 -1
  34. package/dist/character/CjsCharacterFoundationConstruction.js +5 -0
  35. package/dist/character/CjsCharacterFoundationConstruction.js.map +1 -1
  36. package/dist/character/CjsCharacterTexturePolicy.js +5 -0
  37. package/dist/character/CjsCharacterTexturePolicy.js.map +1 -1
  38. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js +17 -0
  39. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js.map +1 -1
  40. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js +2 -0
  41. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js.map +1 -1
  42. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js +5 -0
  43. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js.map +1 -1
  44. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js +5 -0
  45. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js.map +1 -1
  46. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js +2 -0
  47. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js.map +1 -1
  48. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js +5 -0
  49. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js.map +1 -1
  50. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js +5 -0
  51. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js.map +1 -1
  52. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js +9 -0
  53. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js.map +1 -1
  54. package/dist/global/blue/CjsScriptCallback.js +142 -0
  55. package/dist/global/blue/CjsScriptCallback.js.map +1 -0
  56. package/dist/global/blue/index.js +2 -0
  57. package/dist/global/blue/index.js.map +1 -0
  58. package/dist/global/consts/renderContext/formats.js +51 -1
  59. package/dist/global/consts/renderContext/formats.js.map +1 -1
  60. package/dist/global/consts/renderContext/index.js +2 -2
  61. package/dist/global/consts/renderContext/renderStates.js +16 -1
  62. package/dist/global/consts/renderContext/renderStates.js.map +1 -1
  63. package/dist/global/contracts/index.js +0 -1
  64. package/dist/global/contracts/index.js.map +1 -1
  65. package/dist/global/index.js +4 -3
  66. package/dist/global/index.js.map +1 -1
  67. package/dist/global/math/index.js +2 -0
  68. package/dist/global/math/index.js.map +1 -1
  69. package/dist/global/math/mesh.js +70 -16
  70. package/dist/global/math/mesh.js.map +1 -1
  71. package/dist/global/math/noise.js +47 -68
  72. package/dist/global/math/noise.js.map +1 -1
  73. package/dist/global/math/pool.js +18 -3
  74. package/dist/global/math/pool.js.map +1 -1
  75. package/dist/global/math/random.js +52 -0
  76. package/dist/global/math/random.js.map +1 -0
  77. package/dist/global/math/tri3.js +18 -4
  78. package/dist/global/math/tri3.js.map +1 -1
  79. package/dist/global/utils/bytes.js +22 -4
  80. package/dist/global/utils/bytes.js.map +1 -1
  81. package/dist/global/utils/checksum.js +80 -0
  82. package/dist/global/utils/checksum.js.map +1 -0
  83. package/dist/global/utils/errors/CjsCancellationError.js +36 -0
  84. package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
  85. package/dist/global/utils/errors/CjsError.js +21 -52
  86. package/dist/global/utils/errors/CjsError.js.map +1 -1
  87. package/dist/global/utils/errors/abort.js +1 -1
  88. package/dist/global/utils/errors/abort.js.map +1 -1
  89. package/dist/global/utils/errors/index.js +2 -1
  90. package/dist/global/utils/errors/index.js.map +1 -1
  91. package/dist/global/utils/index.js +4 -2
  92. package/dist/global/utils/index.js.map +1 -1
  93. package/dist/index.js +95 -35
  94. package/dist/index.js.map +1 -1
  95. package/dist/input/Tr2MainWindow.js +7 -9
  96. package/dist/input/Tr2MainWindow.js.map +1 -1
  97. package/dist/resource/CjsResMan.js +33 -39
  98. package/dist/resource/CjsResMan.js.map +1 -1
  99. package/dist/resource/CjsResource.js +19 -5
  100. package/dist/resource/CjsResource.js.map +1 -1
  101. package/dist/resource/audio/AudioGeometryResData.js +22 -27
  102. package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
  103. package/dist/resource/audio/CjsAudioRes.js +4 -5
  104. package/dist/resource/audio/CjsAudioRes.js.map +1 -1
  105. package/dist/resource/format/CjsBitReader.js +263 -0
  106. package/dist/resource/format/CjsBitReader.js.map +1 -0
  107. package/dist/resource/format/CjsByteReader.js +130 -125
  108. package/dist/resource/format/CjsByteReader.js.map +1 -1
  109. package/dist/resource/format/CjsFormat.js +11 -4
  110. package/dist/resource/format/CjsFormat.js.map +1 -1
  111. package/dist/resource/format/CjsFormatError.js +37 -1
  112. package/dist/resource/format/CjsFormatError.js.map +1 -1
  113. package/dist/resource/format/CjsResourceProbe.js +41 -37
  114. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  115. package/dist/resource/format/carbonRecordGuard.js +33 -0
  116. package/dist/resource/format/carbonRecordGuard.js.map +1 -0
  117. package/dist/resource/format/imageSignatures.js +202 -0
  118. package/dist/resource/format/imageSignatures.js.map +1 -0
  119. package/dist/resource/format/index.js +2 -1
  120. package/dist/resource/format/index.js.map +1 -1
  121. package/dist/resource/format/jsonPolicies.js +180 -0
  122. package/dist/resource/format/jsonPolicies.js.map +1 -0
  123. package/dist/resource/formats/black/core/helpers.js +18 -29
  124. package/dist/resource/formats/black/core/helpers.js.map +1 -1
  125. package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
  126. package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
  127. package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
  128. package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
  129. package/dist/resource/formats/bnk/core/busNodes.js +2 -1
  130. package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
  131. package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
  132. package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
  133. package/dist/resource/formats/bnk/core/eventAction.js +15 -93
  134. package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
  135. package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
  136. package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
  137. package/dist/resource/formats/bnk/core/helpers.js +2 -48
  138. package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
  139. package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
  140. package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
  141. package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
  142. package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
  143. package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
  144. package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
  145. package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
  146. package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
  147. package/dist/resource/formats/cmf/core/binary.js +54 -60
  148. package/dist/resource/formats/cmf/core/binary.js.map +1 -1
  149. package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
  150. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  151. package/dist/resource/formats/dds/core/bc6h.js +16 -18
  152. package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
  153. package/dist/resource/formats/dds/core/bc7.js +28 -24
  154. package/dist/resource/formats/dds/core/bc7.js.map +1 -1
  155. package/dist/resource/formats/dds/core/helpers.js +7 -133
  156. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  157. package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
  158. package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
  159. package/dist/resource/formats/dxbc/core/helpers.js +4 -32
  160. package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
  161. package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
  162. package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
  163. package/dist/resource/formats/fbx/core/helpers.js +18 -12
  164. package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
  165. package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
  166. package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
  167. package/dist/resource/formats/flac/core/helpers.js +1 -62
  168. package/dist/resource/formats/flac/core/helpers.js.map +1 -1
  169. package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
  170. package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
  171. package/dist/resource/formats/gif/core/helpers.js +1 -63
  172. package/dist/resource/formats/gif/core/helpers.js.map +1 -1
  173. package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
  174. package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
  175. package/dist/resource/formats/gltf/core/helpers.js +3 -19
  176. package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
  177. package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
  178. package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
  179. package/dist/resource/formats/gr2/core/container.js +1 -10
  180. package/dist/resource/formats/gr2/core/container.js.map +1 -1
  181. package/dist/resource/formats/gr2/core/helpers.js +24 -35
  182. package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
  183. package/dist/resource/formats/gr2/core/shared.js +193 -189
  184. package/dist/resource/formats/gr2/core/shared.js.map +1 -1
  185. package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
  186. package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
  187. package/dist/resource/formats/hlsl/core/helpers.js +1 -30
  188. package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
  189. package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
  190. package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
  191. package/dist/resource/formats/jpeg/core/helpers.js +7 -134
  192. package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
  193. package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
  194. package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
  195. package/dist/resource/formats/mp3/core/helpers.js +1 -64
  196. package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
  197. package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
  198. package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
  199. package/dist/resource/formats/mp4/core/helpers.js +1 -73
  200. package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
  201. package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
  202. package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
  203. package/dist/resource/formats/obj/core/helpers.js +93 -115
  204. package/dist/resource/formats/obj/core/helpers.js.map +1 -1
  205. package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
  206. package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
  207. package/dist/resource/formats/ogg/core/helpers.js +1 -15
  208. package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
  209. package/dist/resource/formats/ogg/core/vorbis.js +138 -144
  210. package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
  211. package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
  212. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  213. package/dist/resource/formats/png/CjsPngFormat.js +5 -3
  214. package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
  215. package/dist/resource/formats/png/core/helpers.js +13 -152
  216. package/dist/resource/formats/png/core/helpers.js.map +1 -1
  217. package/dist/resource/formats/png/core/writer.js +3 -27
  218. package/dist/resource/formats/png/core/writer.js.map +1 -1
  219. package/dist/resource/formats/red/core/helpers.js +19 -29
  220. package/dist/resource/formats/red/core/helpers.js.map +1 -1
  221. package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
  222. package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
  223. package/dist/resource/formats/stl/core/helpers.js +44 -66
  224. package/dist/resource/formats/stl/core/helpers.js.map +1 -1
  225. package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
  226. package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
  227. package/dist/resource/formats/tga/core/helpers.js +7 -153
  228. package/dist/resource/formats/tga/core/helpers.js.map +1 -1
  229. package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
  230. package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
  231. package/dist/resource/formats/vta/core/helpers.js +1 -17
  232. package/dist/resource/formats/vta/core/helpers.js.map +1 -1
  233. package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
  234. package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
  235. package/dist/resource/formats/wav/core/helpers.js +1 -15
  236. package/dist/resource/formats/wav/core/helpers.js.map +1 -1
  237. package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
  238. package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
  239. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +52 -4
  240. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  241. package/dist/resource/formats/webgl/core/helpers.js +39 -68
  242. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  243. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
  244. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  245. package/dist/resource/formats/webgpu/core/helpers.js +4 -30
  246. package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
  247. package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
  248. package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
  249. package/dist/resource/formats/webm/core/helpers.js +1 -73
  250. package/dist/resource/formats/webm/core/helpers.js.map +1 -1
  251. package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
  252. package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
  253. package/dist/resource/formats/webp/core/helpers.js +1 -62
  254. package/dist/resource/formats/webp/core/helpers.js.map +1 -1
  255. package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
  256. package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
  257. package/dist/resource/formats/wem/core/bitStream.js +83 -106
  258. package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
  259. package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
  260. package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
  261. package/dist/resource/formats/wem/core/helpers.js +1 -15
  262. package/dist/resource/formats/wem/core/helpers.js.map +1 -1
  263. package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
  264. package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
  265. package/dist/resource/geometry/MeshDecalData.js +23 -25
  266. package/dist/resource/geometry/MeshDecalData.js.map +1 -1
  267. package/dist/resource/geometry/MeshDecalLodData.js +14 -23
  268. package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
  269. package/dist/resource/geometry/TriGeometryRes.js +299 -284
  270. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  271. package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
  272. package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
  273. package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
  274. package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
  275. package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
  276. package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
  277. package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
  278. package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
  279. package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
  280. package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
  281. package/dist/resource/geometry/TriJointBinding.js +16 -24
  282. package/dist/resource/geometry/TriJointBinding.js.map +1 -1
  283. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
  284. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
  285. package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
  286. package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
  287. package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
  288. package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
  289. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
  290. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  291. package/dist/resource/index.js +1 -1
  292. package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
  293. package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
  294. package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
  295. package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
  296. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
  297. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  298. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
  299. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
  300. package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
  301. package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
  302. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
  303. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  304. package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
  305. package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
  306. package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
  307. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  308. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
  309. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
  310. package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
  311. package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
  312. package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
  313. package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
  314. package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
  315. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  316. package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
  317. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  318. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
  319. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
  320. package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
  321. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  322. package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
  323. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  324. package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
  325. package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
  327. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
  329. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
  330. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
  331. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  332. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
  333. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  334. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
  335. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  336. package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
  337. package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
  338. package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
  339. package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
  340. package/dist/resource/worker/protocol.js +18 -1
  341. package/dist/resource/worker/protocol.js.map +1 -1
  342. package/dist/sof/EveSOF.js +2 -222
  343. package/dist/sof/EveSOF.js.map +1 -1
  344. package/dist/sof/SofDocumentBuilder.js +205 -0
  345. package/dist/sof/SofDocumentBuilder.js.map +1 -0
  346. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
  347. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
  348. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
  349. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
  350. package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
  351. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  352. package/dist/sof/faction/index.js +3 -1
  353. package/dist/sof/faction/index.js.map +1 -1
  354. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
  355. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
  356. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
  357. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
  358. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
  359. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
  360. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
  361. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
  362. package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
  363. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  364. package/dist/sof/generic/index.js +5 -1
  365. package/dist/sof/generic/index.js.map +1 -1
  366. package/dist/sof/index.js +23 -7
  367. package/dist/sof/index.js.map +1 -1
  368. package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
  369. package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
  370. package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
  371. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  372. package/dist/sof/pattern/index.js +2 -1
  373. package/dist/sof/pattern/index.js.map +1 -1
  374. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
  375. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
  376. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
  377. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
  378. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
  379. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
  380. package/dist/sof/shared/EveSOFDataArea.js +2 -13
  381. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  382. package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
  383. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  384. package/dist/sof/shared/EveSOFDataParameter.js +2 -146
  385. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  386. package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
  387. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
  388. package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
  389. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
  390. package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
  391. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
  392. package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
  393. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
  394. package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
  395. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
  396. package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
  397. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
  398. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
  399. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
  400. package/dist/sof/shared/index.js +13 -4
  401. package/dist/sof/shared/index.js.map +1 -1
  402. package/dist/sof/sofDocumentValues.js +33 -0
  403. package/dist/sof/sofDocumentValues.js.map +1 -0
  404. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
  405. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
  406. package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
  407. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
  408. package/dist/trinity/controllers/Tr2Controller.js +2 -1
  409. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  410. package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
  411. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  412. package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
  413. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  414. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
  415. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  416. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
  417. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
  418. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
  419. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
  420. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
  421. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
  422. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
  423. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
  424. package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
  425. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
  426. package/dist/trinity/controllers/index.js +5 -2
  427. package/dist/trinity/controllers/index.js.map +1 -1
  428. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
  429. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  430. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
  431. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  432. package/dist/trinity/core/ITr2Updateable.js +2 -1
  433. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  434. package/dist/trinity/core/Tr2Blitter.js +6 -3
  435. package/dist/trinity/core/Tr2Blitter.js.map +1 -1
  436. package/dist/trinity/core/Tr2Denoiser.js +256 -0
  437. package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
  438. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
  439. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
  440. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
  441. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
  442. package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
  443. package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
  444. package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
  445. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
  446. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
  447. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
  448. package/dist/trinity/core/Tr2RenderUtils.js +20 -3
  449. package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
  450. package/dist/trinity/core/Tr2Renderer.js +146 -1
  451. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  452. package/dist/trinity/core/Tr2ShadowMap.js +135 -14
  453. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  454. package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
  455. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
  456. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
  457. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
  458. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
  459. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
  460. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
  461. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
  462. package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
  463. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
  464. package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
  465. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
  466. package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
  467. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
  468. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
  469. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
  470. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
  471. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
  472. package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
  473. package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
  474. package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
  475. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  476. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
  477. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
  478. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
  479. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
  480. package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
  481. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  482. package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
  483. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
  484. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
  485. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
  486. package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
  487. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
  488. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
  489. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
  490. package/dist/trinity/core/index.js +42 -15
  491. package/dist/trinity/core/index.js.map +1 -1
  492. package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
  493. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  494. package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
  495. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
  496. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
  497. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
  498. package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
  499. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
  500. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
  501. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
  502. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
  503. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  504. package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
  505. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  506. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
  507. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  508. package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
  509. package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
  510. package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
  511. package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
  512. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
  513. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
  514. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
  515. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
  516. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
  517. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
  518. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
  519. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
  520. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
  521. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
  522. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
  523. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
  524. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
  525. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
  526. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
  527. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
  528. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
  529. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
  530. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
  531. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
  532. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
  533. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
  534. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
  535. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
  536. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
  537. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
  538. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
  539. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
  540. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
  541. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
  542. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
  543. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
  544. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
  545. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
  546. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
  547. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
  548. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
  549. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
  550. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
  551. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
  552. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
  553. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
  554. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
  555. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
  556. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
  557. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
  558. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
  559. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
  560. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
  561. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
  562. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
  563. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
  564. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
  565. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
  566. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
  567. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
  568. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
  569. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
  570. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
  571. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
  572. package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
  573. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
  574. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
  575. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
  576. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
  577. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
  578. package/dist/trinity/core/variable/TriVariable.js +83 -83
  579. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  580. package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
  581. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
  582. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
  583. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
  584. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
  585. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  586. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
  587. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  588. package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
  589. package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
  590. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
  591. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  592. package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
  593. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  594. package/dist/trinity/eve/IEveTransform.js +2 -1
  595. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  596. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
  597. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  598. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
  599. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  600. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
  601. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
  602. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
  603. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  604. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
  605. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  606. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
  607. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
  608. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
  609. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  610. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
  611. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  612. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
  613. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  614. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
  615. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  616. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
  617. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  618. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
  619. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  620. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
  621. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  622. package/dist/trinity/eve/camera/EveCamera.js +1 -1
  623. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  624. package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
  625. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  626. package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
  627. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  628. package/dist/trinity/eve/child/EveChildContainer.js +141 -141
  629. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  630. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
  631. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
  632. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
  633. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
  634. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
  635. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
  636. package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
  637. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
  638. package/dist/trinity/eve/child/EveChildMesh.js +218 -218
  639. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  640. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
  641. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
  642. package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
  643. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
  644. package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
  645. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  646. package/dist/trinity/eve/child/EveChildTransform.js +5 -0
  647. package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
  648. package/dist/trinity/eve/child/EveChildTurret.js +7 -0
  649. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  650. package/dist/trinity/eve/index.js +10 -4
  651. package/dist/trinity/eve/index.js.map +1 -1
  652. package/dist/trinity/eve/lights/Tr2Light.js +5 -0
  653. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  654. package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
  655. package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
  656. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
  657. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  658. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
  659. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  660. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
  661. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  662. package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
  663. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  664. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
  665. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  666. package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
  667. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  668. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
  669. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  670. package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
  671. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  672. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
  673. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  674. package/dist/trinity/generated/index.js +0 -1
  675. package/dist/trinity/generated/index.js.map +1 -1
  676. package/dist/trinity/generated/trinityCore/index.js +0 -1
  677. package/dist/trinity/generated/trinityCore/index.js.map +1 -1
  678. package/dist/trinity/index.js +59 -23
  679. package/dist/trinity/index.js.map +1 -1
  680. package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
  681. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
  682. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
  683. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
  684. package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
  685. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  686. package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
  687. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  688. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
  689. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  690. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
  691. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  692. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
  693. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  694. package/dist/trinity/particle/index.js +2 -1
  695. package/dist/trinity/particle/index.js.map +1 -1
  696. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
  697. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  698. package/dist/trinity/shader/Tr2Effect.js +131 -58
  699. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  700. package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
  701. package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
  702. package/dist/trinity/shader/Tr2Material.js +21 -4
  703. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  704. package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
  705. package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
  706. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
  707. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  708. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
  709. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
  710. package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
  711. package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
  712. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
  713. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
  714. package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
  715. package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
  716. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
  717. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
  718. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
  719. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
  720. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
  721. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
  722. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
  723. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
  724. package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
  725. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
  726. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
  727. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
  728. package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
  729. package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
  730. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
  731. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
  732. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
  733. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
  734. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
  735. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
  736. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
  737. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
  738. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
  739. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
  740. package/dist/trinityal/index.js +22 -9
  741. package/dist/trinityal/index.js.map +1 -1
  742. package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
  743. package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
  744. package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
  745. package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
  746. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
  747. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
  748. package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
  749. package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
  750. package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
  751. package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
  752. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
  753. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
  754. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
  755. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
  756. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
  757. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
  758. package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
  759. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
  760. package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
  761. package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
  762. package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
  763. package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
  764. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
  765. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
  766. package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
  767. package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
  768. package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
  769. package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
  770. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
  771. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
  772. package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
  773. package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
  774. package/dist/trinityal/stub/index.js +8 -4
  775. package/dist/trinityal/stub/index.js.map +1 -1
  776. package/dist/trinityal/vertexLayoutMatch.js +2 -2
  777. package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
  778. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
  779. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
  780. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
  781. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
  782. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
  783. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
  784. package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
  785. package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
  786. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
  787. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  788. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
  789. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  790. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
  791. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
  792. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
  793. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
  794. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
  795. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
  796. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
  797. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
  798. package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
  799. package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
  800. package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
  801. package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
  802. package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
  803. package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
  804. package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
  805. package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
  806. package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
  807. package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
  808. package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
  809. package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
  810. package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
  811. package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
  812. package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
  813. package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
  814. package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
  815. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
  816. package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
  817. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
  818. package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
  819. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
  820. package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
  821. package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
  822. package/dist/trinityal/webgpu/internal.js +12 -11
  823. package/dist/trinityal/webgpu/internal.js.map +1 -1
  824. package/docs/audio/reference/classes/trinity.md +44 -34
  825. package/docs/character/architecture.md +276 -0
  826. package/docs/character/reference/character-appearance-plans.md +30 -66
  827. package/docs/character/reference/prepared-libraries.md +14 -30
  828. package/docs/global/reference/api.md +2 -1
  829. package/docs/global/reference/classes/README.md +53 -71
  830. package/docs/global/reference/classes/dropped.md +16 -0
  831. package/docs/resource/README.md +19 -15
  832. package/docs/resource/architecture.md +9 -2
  833. package/docs/resource/concepts/format-capabilities.md +124 -80
  834. package/docs/resource/concepts/shared-format-helpers.md +94 -0
  835. package/docs/resource/formats/README.md +230 -224
  836. package/docs/resource/formats/bitknit2.md +221 -0
  837. package/docs/resource/formats/carbon-effect-container.md +184 -269
  838. package/docs/resource/formats/gr2.md +6 -1
  839. package/docs/resource/formats/schemabound.md +28 -48
  840. package/docs/resource/formats/static.md +70 -97
  841. package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
  842. package/docs/resource/formats/webgl/decl-io.md +165 -256
  843. package/docs/resource/formats/webgl/memory-structured.md +64 -142
  844. package/docs/resource/formats/webgl/texture-sample.md +109 -138
  845. package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
  846. package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
  847. package/docs/resource/formats/webgpu/reference/api.md +64 -67
  848. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +104 -260
  849. package/docs/resource/reference/classes/core.md +256 -236
  850. package/docs/resource/reference/classes/formats.md +1668 -1672
  851. package/docs/resource/reference/workers.md +4 -2
  852. package/docs/sof/reference/classes/core.md +1 -1
  853. package/docs/sof/reference/classes/faction.md +2 -2
  854. package/docs/sof/reference/classes/generic.md +4 -4
  855. package/docs/sof/reference/classes/pattern.md +1 -1
  856. package/docs/sof/reference/classes/shared.md +10 -10
  857. package/docs/trinity/architecture.md +55 -44
  858. package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
  859. package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
  860. package/docs/trinity/reference/classes/dropped.md +0 -189
  861. package/docs/trinity/reference/classes/eve-runtime.md +8 -8
  862. package/docs/trinity/reference/classes/generated.md +0 -10
  863. package/docs/trinity/reference/classes/particle.md +2 -2
  864. package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
  865. package/docs/trinity/reference/implementation-status.md +50 -75
  866. package/docs/trinity/reference/main-semantic-extraction.md +13 -17
  867. package/docs/trinityal/reference/classes/README.md +77 -27
  868. package/docs/trinityal/reference/classes/dropped.md +82 -0
  869. package/docs/trinityal/webgpu/README.md +3 -1
  870. package/docs/trinityal/webgpu/architecture.md +121 -228
  871. package/docs/trinityal/webgpu/reference/api.md +5 -5
  872. package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
  873. package/format-notices/gr2/NOTICE +18 -12
  874. package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
  875. package/package.json +4 -1
  876. package/dist/audio/trinity/audio/AudActionLog.js +0 -173
  877. package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
  878. package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
  879. package/dist/global/contracts/CjsScriptCallback.js +0 -94
  880. package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
  881. package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
  882. package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
  883. package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
  884. package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
  885. package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
  886. package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
  887. package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
  888. package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
  889. package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
  890. package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
  891. package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
  892. package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
  893. package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
  894. package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
  895. package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
  896. package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
  897. package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
  898. package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
  899. package/dist/trinity/core/rawData/constantLayout.js +0 -175
  900. package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
  901. package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
  902. package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
  903. package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
  904. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
  905. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
  906. package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
  907. package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
  908. package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
  909. package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
  910. package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
  911. package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
  912. package/dist/trinityal/Tr2SamplerDescription.js +0 -72
  913. package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
  914. package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
  915. package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
  916. package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
  917. package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
  918. package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
  919. package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
  920. package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
  921. package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
  922. package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
  923. package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
  924. package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
  925. package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
  926. package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
  927. package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
  928. package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
  929. package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
@@ -7,9 +7,9 @@ import { TriVariableContentType } from '../../generated/trinityCore/enums.js';
7
7
 
8
8
  let _initProto, _initClass, _init_name, _init_extra_name, _init_contentType, _init_extra_contentType;
9
9
 
10
- /**
11
- * One named shader-binding variable: the content type fixed when it was
12
- * registered, plus the value payload standing in for Carbon's typed union.
10
+ /**
11
+ * One named shader-binding variable: the content type fixed when it was
12
+ * registered, plus the value payload standing in for Carbon's typed union.
13
13
  */
14
14
  let _TriVariable;
15
15
  new class extends _identity {
@@ -41,19 +41,19 @@ new class extends _identity {
41
41
  return this.contentType;
42
42
  }
43
43
 
44
- /**
45
- * Assigns the value payload. The content type stays as registered; Carbon
46
- * fixes it at registration time and SetValue only stores.
44
+ /**
45
+ * Assigns the value payload. The content type stays as registered; Carbon
46
+ * fixes it at registration time and SetValue only stores.
47
47
  */
48
48
  SetValue(value) {
49
49
  this.value = value;
50
50
  return true;
51
51
  }
52
52
 
53
- /**
54
- * Reads the payload; when out is array-like and so is the payload, the
55
- * overlapping components are copied into out and out is returned, otherwise
56
- * the stored payload itself is returned and is not a copy.
53
+ /**
54
+ * Reads the payload; when out is array-like and so is the payload, the
55
+ * overlapping components are copied into out and out is returned, otherwise
56
+ * the stored payload itself is returned and is not a copy.
57
57
  */
58
58
  GetValue(out = undefined) {
59
59
  const value = this.value;
@@ -67,19 +67,19 @@ new class extends _identity {
67
67
  return value;
68
68
  }
69
69
 
70
- /**
71
- * Clears the payload and returns the variable to the reserved INVALID
72
- * type, releasing texture/buffer references as Carbon's Clear does.
70
+ /**
71
+ * Clears the payload and returns the variable to the reserved INVALID
72
+ * type, releasing texture/buffer references as Carbon's Clear does.
73
73
  */
74
74
  Invalidate() {
75
75
  this.value = null;
76
76
  this.contentType = TriVariableContentType.TRIVARIABLE_INVALID;
77
77
  }
78
78
 
79
- /**
80
- * Clears the value but leaves the type alone, so a new SetValue will
81
- * still work. Carbon zeroes the union slot and drops texture/buffer
82
- * references; the JS payload slot zero-fills arrays and nulls references.
79
+ /**
80
+ * Clears the value but leaves the type alone, so a new SetValue will
81
+ * still work. Carbon zeroes the union slot and drops texture/buffer
82
+ * references; the JS payload slot zero-fills arrays and nulls references.
83
83
  */
84
84
  Clear() {
85
85
  const value = this.value;
@@ -92,23 +92,23 @@ new class extends _identity {
92
92
  }
93
93
  }
94
94
 
95
- /**
96
- * Binds this variable's resource into a resource-set description.
97
- *
98
- * Carbon `TriVariable::CopyToResourceSet` (`TriVariable.cpp:25-67`), which
99
- * switches on the content type and answers false for everything that is not
100
- * a resource — a float or a matrix is a CONSTANT and reaches a shader
101
- * through `CopyValueToEffect`, not through a resource set.
102
- *
103
- * A PROVIDER THAT HAS NOT RESOLVED STILL BINDS, as an empty slot rather than
104
- * a skipped one. That is Carbon's, and it matters: leaving the register
105
- * untouched would let a draw read whatever the previous one bound there.
106
- *
107
- * @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.
108
- * @param {number} stage A `ShaderType`.
109
- * @param {number} registerIndex The register.
110
- * @param {number} [flags] A `ResourceFlags` word; bit 0 is sRGB.
111
- * @returns {boolean} Whether the slot took the binding.
95
+ /**
96
+ * Binds this variable's resource into a resource-set description.
97
+ *
98
+ * Carbon `TriVariable::CopyToResourceSet` (`TriVariable.cpp:25-67`), which
99
+ * switches on the content type and answers false for everything that is not
100
+ * a resource — a float or a matrix is a CONSTANT and reaches a shader
101
+ * through `CopyValueToEffect`, not through a resource set.
102
+ *
103
+ * A PROVIDER THAT HAS NOT RESOLVED STILL BINDS, as an empty slot rather than
104
+ * a skipped one. That is Carbon's, and it matters: leaving the register
105
+ * untouched would let a draw read whatever the previous one bound there.
106
+ *
107
+ * @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.
108
+ * @param {number} stage A `ShaderType`.
109
+ * @param {number} registerIndex The register.
110
+ * @param {number} [flags] A `ResourceFlags` word; bit 0 is sRGB.
111
+ * @returns {boolean} Whether the slot took the binding.
112
112
  */
113
113
  CopyToResourceSet(resourceDesc, stage, registerIndex, flags = 0) {
114
114
  if (this.contentType === TriVariableContentType.TRIVARIABLE_TEXTURE_RES) {
@@ -116,28 +116,28 @@ new class extends _identity {
116
116
  return resourceDesc.SetSrv(stage, registerIndex, this.#Texture(), colorSpace);
117
117
  }
118
118
  if (this.contentType === TriVariableContentType.TRIVARIABLE_GPUBUFFER) {
119
- return resourceDesc.SetSrv(stage, registerIndex, this.#GpuBuffer());
119
+ return resourceDesc.SetSrv(stage, registerIndex, this.#GpuBuffer(), 0, 1);
120
120
  }
121
121
  return false;
122
122
  }
123
123
 
124
- /**
125
- * Binds this variable's resource as an unordered-access view.
126
- *
127
- * Carbon `TriVariable::ApplyUav` (`TriVariable.cpp:69+`). Same switch, no
128
- * colour space — a UAV is written rather than sampled.
129
- *
130
- * @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.
131
- * @param {number} stage A `ShaderType`.
132
- * @param {number} registerIndex The register.
133
- * @returns {boolean} Whether the slot took the binding.
124
+ /**
125
+ * Binds this variable's resource as an unordered-access view.
126
+ *
127
+ * Carbon `TriVariable::ApplyUav` (`TriVariable.cpp:69+`). Same switch, no
128
+ * colour space — a UAV is written rather than sampled.
129
+ *
130
+ * @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.
131
+ * @param {number} stage A `ShaderType`.
132
+ * @param {number} registerIndex The register.
133
+ * @returns {boolean} Whether the slot took the binding.
134
134
  */
135
135
  ApplyUav(resourceDesc, stage, registerIndex) {
136
136
  if (this.contentType === TriVariableContentType.TRIVARIABLE_TEXTURE_RES) {
137
137
  return resourceDesc.SetUav(stage, registerIndex, this.#Texture());
138
138
  }
139
139
  if (this.contentType === TriVariableContentType.TRIVARIABLE_GPUBUFFER) {
140
- return resourceDesc.SetUav(stage, registerIndex, this.#GpuBuffer());
140
+ return resourceDesc.SetUav(stage, registerIndex, this.#GpuBuffer(), 0, 1);
141
141
  }
142
142
  return false;
143
143
  }
@@ -154,29 +154,29 @@ new class extends _identity {
154
154
  return typeof provider?.GetGpuBuffer === "function" ? provider.GetGpuBuffer(0) : null;
155
155
  }
156
156
 
157
- /**
158
- * Carbon's display name for a content type, defaulting to this variable's own
159
- * type.
157
+ /**
158
+ * Carbon's display name for a content type, defaulting to this variable's own
159
+ * type.
160
160
  */
161
161
  GetTypeName(contentType = this.contentType) {
162
162
  return _TriVariable.GetTypeName(contentType);
163
163
  }
164
164
 
165
- /**
166
- * Constant-buffer byte size of a content type, defaulting to this variable's
167
- * own type.
165
+ /**
166
+ * Constant-buffer byte size of a content type, defaulting to this variable's
167
+ * own type.
168
168
  */
169
169
  GetTypeSize(contentType = this.contentType) {
170
170
  return _TriVariable.GetTypeSize(contentType);
171
171
  }
172
172
 
173
- /**
174
- * Maps a script value onto a Carbon content type the way the Python
175
- * bridge does: integers and booleans register as INT (Python bools are
176
- * ints), other numbers as FLOAT, arrays by length, texture-provider
177
- * shapes as TEXTURE_RES. Unknown values map to INVALID, which
178
- * RegisterVariable treats as unsupported (GPU-buffer duck detection has
179
- * no reliable JS shape yet and is left to the realization layer).
173
+ /**
174
+ * Maps a script value onto a Carbon content type the way the Python
175
+ * bridge does: integers and booleans register as INT (Python bools are
176
+ * ints), other numbers as FLOAT, arrays by length, texture-provider
177
+ * shapes as TEXTURE_RES. Unknown values map to INVALID, which
178
+ * RegisterVariable treats as unsupported (GPU-buffer duck detection has
179
+ * no reliable JS shape yet and is left to the realization layer).
180
180
  */
181
181
  static getVariableType(value) {
182
182
  if (typeof value === "boolean") {
@@ -206,21 +206,21 @@ new class extends _identity {
206
206
  return TriVariableContentType.TRIVARIABLE_INVALID;
207
207
  }
208
208
 
209
- /**
210
- * Copies the value into an effect constant destination.
211
- *
212
- * Clamped to the destination length, the source length, and `size` BYTES at
213
- * four bytes per float - `size` is a byte budget, not a component count. A
214
- * scalar writes one component.
215
- *
216
- * Lives here because an effect binds a VARIABLE and then copies from it, so
217
- * the variable has to be able to answer. It used to live only on a parallel
218
- * store's own variable class, which is why binding could not use Carbon's.
219
- *
220
- * @param {*} _inputType Accepted and ignored, matching the parameter shape.
221
- * @param {ArrayLike} destination Constant destination.
222
- * @param {number} [size] Byte budget in the destination.
223
- * @returns {boolean} Whether anything was written.
209
+ /**
210
+ * Copies the value into an effect constant destination.
211
+ *
212
+ * Clamped to the destination length, the source length, and `size` BYTES at
213
+ * four bytes per float - `size` is a byte budget, not a component count. A
214
+ * scalar writes one component.
215
+ *
216
+ * Lives here because an effect binds a VARIABLE and then copies from it, so
217
+ * the variable has to be able to answer. It used to live only on a parallel
218
+ * store's own variable class, which is why binding could not use Carbon's.
219
+ *
220
+ * @param {*} _inputType Accepted and ignored, matching the parameter shape.
221
+ * @param {ArrayLike} destination Constant destination.
222
+ * @param {number} [size] Byte budget in the destination.
223
+ * @returns {boolean} Whether anything was written.
224
224
  */
225
225
  CopyValueToEffect(_inputType, destination, size = Number.POSITIVE_INFINITY) {
226
226
  if (!destination || typeof destination.length !== "number") return false;
@@ -236,20 +236,20 @@ new class extends _identity {
236
236
  return count > 0;
237
237
  }
238
238
 
239
- /**
240
- * Carbon's display name for a content type; an unrecognised type falls back to
241
- * the INVALID label.
239
+ /**
240
+ * Carbon's display name for a content type; an unrecognised type falls back to
241
+ * the INVALID label.
242
242
  */
243
243
  static GetTypeName(contentType) {
244
244
  return _TriVariable.#typeNames[contentType] ?? _TriVariable.#typeNames[0];
245
245
  }
246
246
 
247
- /**
248
- * Byte size a variable of the given content type occupies in a constant
249
- * buffer. INVALID and UNKNOWN_FLOAT may be converted to another type, so
250
- * they must register as the largest type. Texture and GPU-buffer slots are
251
- * pointer-sized in Carbon; the JS reference slot keeps the same 8 bytes so
252
- * shared-buffer offset math stays aligned with Carbon's.
247
+ /**
248
+ * Byte size a variable of the given content type occupies in a constant
249
+ * buffer. INVALID and UNKNOWN_FLOAT may be converted to another type, so
250
+ * they must register as the largest type. Texture and GPU-buffer slots are
251
+ * pointer-sized in Carbon; the JS reference slot keeps the same 8 bytes so
252
+ * shared-buffer offset math stays aligned with Carbon's.
253
253
  */
254
254
  static GetTypeSize(contentType) {
255
255
  return _TriVariable.#typeSizes[contentType] ?? 0;
@@ -1 +1 @@
1
- {"version":3,"file":"TriVariable.js","sources":["../../../../../src/trinity/core/variable/TriVariable.js"],"sourcesContent":["// Source: trinity/trinity/TriVariable.h\n// Source: trinity/trinity/TriVariable.cpp\nimport { carbon, impl, io, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport { Tr2ColorSpace } from \"#consts/render-context\";\nimport { ResourceFlags } from \"../../shader/parameter/ITr2EffectValue.js\";\nimport { TriVariableContentType } from \"../../generated/trinityCore/enums.js\";\n\n\n/**\n * One named shader-binding variable: the content type fixed when it was\n * registered, plus the value payload standing in for Carbon's typed union.\n */\n@type.define({\n className: \"TriVariable\",\n family: \"trinityCore\"\n})\nexport class TriVariable extends CjsModel\n{\n @io.read\n @type.string\n name = \"\";\n\n /** m_type (TriVariableContentType). */\n @io.read\n @type.int32\n contentType = TriVariableContentType.TRIVARIABLE_INVALID;\n\n /** Runtime value payload; the typed C++ union collapses to one slot. */\n value = null;\n\n /** The registered variable name, which the store also uses as its key. */\n @carbon.method\n @impl.implemented\n GetName()\n {\n return this.name;\n }\n\n /** The TriVariableContentType fixed at registration; SetValue never changes it. */\n @carbon.method\n @impl.implemented\n GetType()\n {\n return this.contentType;\n }\n\n /**\n * Assigns the value payload. The content type stays as registered; Carbon\n * fixes it at registration time and SetValue only stores.\n */\n @carbon.method\n @impl.adapted\n SetValue(value)\n {\n this.value = value;\n return true;\n }\n\n /**\n * Reads the payload; when out is array-like and so is the payload, the\n * overlapping components are copied into out and out is returned, otherwise\n * the stored payload itself is returned and is not a copy.\n */\n @carbon.method\n @impl.adapted\n GetValue(out = undefined)\n {\n const value = this.value;\n if (out && value && typeof value.length === \"number\" && typeof out.length === \"number\")\n {\n const count = Math.min(out.length, value.length);\n for (let index = 0; index < count; index++)\n {\n out[index] = value[index];\n }\n return out;\n }\n return value;\n }\n\n /**\n * Clears the payload and returns the variable to the reserved INVALID\n * type, releasing texture/buffer references as Carbon's Clear does.\n */\n @carbon.method\n @impl.implemented\n Invalidate()\n {\n this.value = null;\n this.contentType = TriVariableContentType.TRIVARIABLE_INVALID;\n }\n\n /**\n * Clears the value but leaves the type alone, so a new SetValue will\n * still work. Carbon zeroes the union slot and drops texture/buffer\n * references; the JS payload slot zero-fills arrays and nulls references.\n */\n @carbon.method\n @impl.adapted\n Clear()\n {\n const value = this.value;\n if (value && typeof value.length === \"number\" && typeof value.fill === \"function\")\n {\n value.fill(0);\n }\n else if (typeof value === \"number\")\n {\n this.value = 0;\n }\n else\n {\n this.value = null;\n }\n }\n\n /**\n * Binds this variable's resource into a resource-set description.\n *\n * Carbon `TriVariable::CopyToResourceSet` (`TriVariable.cpp:25-67`), which\n * switches on the content type and answers false for everything that is not\n * a resource — a float or a matrix is a CONSTANT and reaches a shader\n * through `CopyValueToEffect`, not through a resource set.\n *\n * A PROVIDER THAT HAS NOT RESOLVED STILL BINDS, as an empty slot rather than\n * a skipped one. That is Carbon's, and it matters: leaving the register\n * untouched would let a draw read whatever the previous one bound there.\n *\n * @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.\n * @param {number} stage A `ShaderType`.\n * @param {number} registerIndex The register.\n * @param {number} [flags] A `ResourceFlags` word; bit 0 is sRGB.\n * @returns {boolean} Whether the slot took the binding.\n */\n @carbon.method\n @impl.implemented\n CopyToResourceSet(resourceDesc, stage, registerIndex, flags = 0)\n {\n if (this.contentType === TriVariableContentType.TRIVARIABLE_TEXTURE_RES)\n {\n const colorSpace = (flags & ResourceFlags.RESOURCE_FLAG_SRGB)\n ? Tr2ColorSpace.COLOR_SPACE_SRGB\n : Tr2ColorSpace.COLOR_SPACE_LINEAR;\n\n return resourceDesc.SetSrv(stage, registerIndex, this.#Texture(), colorSpace);\n }\n\n if (this.contentType === TriVariableContentType.TRIVARIABLE_GPUBUFFER)\n {\n return resourceDesc.SetSrv(stage, registerIndex, this.#GpuBuffer());\n }\n\n return false;\n }\n\n /**\n * Binds this variable's resource as an unordered-access view.\n *\n * Carbon `TriVariable::ApplyUav` (`TriVariable.cpp:69+`). Same switch, no\n * colour space — a UAV is written rather than sampled.\n *\n * @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.\n * @param {number} stage A `ShaderType`.\n * @param {number} registerIndex The register.\n * @returns {boolean} Whether the slot took the binding.\n */\n @carbon.method\n @impl.implemented\n ApplyUav(resourceDesc, stage, registerIndex)\n {\n if (this.contentType === TriVariableContentType.TRIVARIABLE_TEXTURE_RES)\n {\n return resourceDesc.SetUav(stage, registerIndex, this.#Texture());\n }\n\n if (this.contentType === TriVariableContentType.TRIVARIABLE_GPUBUFFER)\n {\n return resourceDesc.SetUav(stage, registerIndex, this.#GpuBuffer());\n }\n\n return false;\n }\n\n /** The provider's texture, or null when it has not resolved one. */\n #Texture()\n {\n const provider = this.value;\n\n return typeof provider?.GetTexture === \"function\" ? provider.GetTexture() : null;\n }\n\n /** The provider's first buffer, which is the index Carbon passes. */\n #GpuBuffer()\n {\n const provider = this.value;\n\n return typeof provider?.GetGpuBuffer === \"function\" ? provider.GetGpuBuffer(0) : null;\n }\n\n /**\n * Carbon's display name for a content type, defaulting to this variable's own\n * type.\n */\n @carbon.method\n @impl.implemented\n GetTypeName(contentType = this.contentType)\n {\n return TriVariable.GetTypeName(contentType);\n }\n\n /**\n * Constant-buffer byte size of a content type, defaulting to this variable's\n * own type.\n */\n @carbon.method\n @impl.implemented\n GetTypeSize(contentType = this.contentType)\n {\n return TriVariable.GetTypeSize(contentType);\n }\n\n /**\n * Maps a script value onto a Carbon content type the way the Python\n * bridge does: integers and booleans register as INT (Python bools are\n * ints), other numbers as FLOAT, arrays by length, texture-provider\n * shapes as TEXTURE_RES. Unknown values map to INVALID, which\n * RegisterVariable treats as unsupported (GPU-buffer duck detection has\n * no reliable JS shape yet and is left to the realization layer).\n */\n static getVariableType(value)\n {\n if (typeof value === \"boolean\")\n {\n return TriVariableContentType.TRIVARIABLE_INT;\n }\n if (typeof value === \"number\")\n {\n return Number.isInteger(value)\n ? TriVariableContentType.TRIVARIABLE_INT\n : TriVariableContentType.TRIVARIABLE_FLOAT;\n }\n if (value && typeof value.length === \"number\")\n {\n switch (value.length)\n {\n case 2: return TriVariableContentType.TRIVARIABLE_FLOAT2;\n case 3: return TriVariableContentType.TRIVARIABLE_FLOAT3;\n case 4: return TriVariableContentType.TRIVARIABLE_FLOAT4;\n case 16: return TriVariableContentType.TRIVARIABLE_FLOAT4X4;\n }\n return TriVariableContentType.TRIVARIABLE_INVALID;\n }\n if (value && typeof value === \"object\")\n {\n if (typeof value.GetTexture === \"function\" || typeof value.RequestResolution === \"function\")\n {\n return TriVariableContentType.TRIVARIABLE_TEXTURE_RES;\n }\n }\n return TriVariableContentType.TRIVARIABLE_INVALID;\n }\n\n /**\n * Copies the value into an effect constant destination.\n *\n * Clamped to the destination length, the source length, and `size` BYTES at\n * four bytes per float - `size` is a byte budget, not a component count. A\n * scalar writes one component.\n *\n * Lives here because an effect binds a VARIABLE and then copies from it, so\n * the variable has to be able to answer. It used to live only on a parallel\n * store's own variable class, which is why binding could not use Carbon's.\n *\n * @param {*} _inputType Accepted and ignored, matching the parameter shape.\n * @param {ArrayLike} destination Constant destination.\n * @param {number} [size] Byte budget in the destination.\n * @returns {boolean} Whether anything was written.\n */\n CopyValueToEffect(_inputType, destination, size = Number.POSITIVE_INFINITY)\n {\n if (!destination || typeof destination.length !== \"number\") return false;\n\n const source = this.GetValue();\n\n if (typeof source === \"number\")\n {\n destination[0] = source;\n return true;\n }\n\n if (!source || typeof source.length !== \"number\") return false;\n\n const byteLimit = Number.isFinite(size) ? Math.max(0, size) : Infinity;\n const count = Math.min(destination.length, source.length, Math.floor(byteLimit / 4));\n\n for (let i = 0; i < count; i++) destination[i] = source[i];\n\n return count > 0;\n }\n\n /**\n * Carbon's display name for a content type; an unrecognised type falls back to\n * the INVALID label.\n */\n static GetTypeName(contentType)\n {\n return TriVariable.#typeNames[contentType] ?? TriVariable.#typeNames[0];\n }\n\n /**\n * Byte size a variable of the given content type occupies in a constant\n * buffer. INVALID and UNKNOWN_FLOAT may be converted to another type, so\n * they must register as the largest type. Texture and GPU-buffer slots are\n * pointer-sized in Carbon; the JS reference slot keeps the same 8 bytes so\n * shared-buffer offset math stays aligned with Carbon's.\n */\n static GetTypeSize(contentType)\n {\n return TriVariable.#typeSizes[contentType] ?? 0;\n }\n\n static #typeNames = Object.freeze([\n \"INVALID TYPE!\",\n \"TRIVARIABLE_UNKNOWN_FLOAT\",\n \"TRIVARIABLE_TEXTURE_RES\",\n \"TRIVARIABLE_INT\",\n \"TRIVARIABLE_FLOAT\",\n \"TRIVARIABLE_FLOAT2\",\n \"TRIVARIABLE_FLOAT3\",\n \"TRIVARIABLE_FLOAT4\",\n \"TRIVARIABLE_FLOAT4X4\",\n \"TRIVARIABLE_COLOR\",\n \"TRIVARIABLE_GPUBUFFER\"\n ]);\n\n static #typeSizes = Object.freeze([\n 4 * 16,\n 4 * 16,\n 8,\n 4,\n 4,\n 4 * 2,\n 4 * 3,\n 4 * 4,\n 4 * 16,\n 4 * 4,\n 8\n ]);\n\n static ContentType = TriVariableContentType;\n}\n"],"names":["_TriVariable","_identity","TriVariable","CjsModel","e","_init_name","_init_extra_name","_init_contentType","_init_extra_contentType","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","string","int32","carbon","method","impl","implemented","adapted","name","contentType","TriVariableContentType","TRIVARIABLE_INVALID","value","GetName","GetType","SetValue","GetValue","out","undefined","length","count","Math","min","index","Invalidate","Clear","fill","CopyToResourceSet","resourceDesc","stage","registerIndex","flags","TRIVARIABLE_TEXTURE_RES","colorSpace","ResourceFlags","RESOURCE_FLAG_SRGB","Tr2ColorSpace","COLOR_SPACE_SRGB","COLOR_SPACE_LINEAR","SetSrv","TRIVARIABLE_GPUBUFFER","ApplyUav","SetUav","#Texture","provider","GetTexture","#GpuBuffer","GetGpuBuffer","GetTypeName","GetTypeSize","getVariableType","TRIVARIABLE_INT","Number","isInteger","TRIVARIABLE_FLOAT","TRIVARIABLE_FLOAT2","TRIVARIABLE_FLOAT3","TRIVARIABLE_FLOAT4","TRIVARIABLE_FLOAT4X4","RequestResolution","CopyValueToEffect","_inputType","destination","size","POSITIVE_INFINITY","source","byteLimit","isFinite","max","Infinity","floor","i","Object","freeze","ContentType","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"TriVariable.js","sources":["../../../../../src/trinity/core/variable/TriVariable.js"],"sourcesContent":["// Source: trinity/trinity/TriVariable.h\r\n// Source: trinity/trinity/TriVariable.cpp\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { Tr2ColorSpace } from \"#consts/render-context\";\r\nimport { ResourceFlags } from \"../../shader/parameter/ITr2EffectValue.js\";\r\nimport { TriVariableContentType } from \"../../generated/trinityCore/enums.js\";\r\n\r\n\r\n/**\r\n * One named shader-binding variable: the content type fixed when it was\r\n * registered, plus the value payload standing in for Carbon's typed union.\r\n */\r\n@type.define({\r\n className: \"TriVariable\",\r\n family: \"trinityCore\"\r\n})\r\nexport class TriVariable extends CjsModel\r\n{\r\n @io.read\r\n @type.string\r\n name = \"\";\r\n\r\n /** m_type (TriVariableContentType). */\r\n @io.read\r\n @type.int32\r\n contentType = TriVariableContentType.TRIVARIABLE_INVALID;\r\n\r\n /** Runtime value payload; the typed C++ union collapses to one slot. */\r\n value = null;\r\n\r\n /** The registered variable name, which the store also uses as its key. */\r\n @carbon.method\r\n @impl.implemented\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n /** The TriVariableContentType fixed at registration; SetValue never changes it. */\r\n @carbon.method\r\n @impl.implemented\r\n GetType()\r\n {\r\n return this.contentType;\r\n }\r\n\r\n /**\r\n * Assigns the value payload. The content type stays as registered; Carbon\r\n * fixes it at registration time and SetValue only stores.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetValue(value)\r\n {\r\n this.value = value;\r\n return true;\r\n }\r\n\r\n /**\r\n * Reads the payload; when out is array-like and so is the payload, the\r\n * overlapping components are copied into out and out is returned, otherwise\r\n * the stored payload itself is returned and is not a copy.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetValue(out = undefined)\r\n {\r\n const value = this.value;\r\n if (out && value && typeof value.length === \"number\" && typeof out.length === \"number\")\r\n {\r\n const count = Math.min(out.length, value.length);\r\n for (let index = 0; index < count; index++)\r\n {\r\n out[index] = value[index];\r\n }\r\n return out;\r\n }\r\n return value;\r\n }\r\n\r\n /**\r\n * Clears the payload and returns the variable to the reserved INVALID\r\n * type, releasing texture/buffer references as Carbon's Clear does.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Invalidate()\r\n {\r\n this.value = null;\r\n this.contentType = TriVariableContentType.TRIVARIABLE_INVALID;\r\n }\r\n\r\n /**\r\n * Clears the value but leaves the type alone, so a new SetValue will\r\n * still work. Carbon zeroes the union slot and drops texture/buffer\r\n * references; the JS payload slot zero-fills arrays and nulls references.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Clear()\r\n {\r\n const value = this.value;\r\n if (value && typeof value.length === \"number\" && typeof value.fill === \"function\")\r\n {\r\n value.fill(0);\r\n }\r\n else if (typeof value === \"number\")\r\n {\r\n this.value = 0;\r\n }\r\n else\r\n {\r\n this.value = null;\r\n }\r\n }\r\n\r\n /**\r\n * Binds this variable's resource into a resource-set description.\r\n *\r\n * Carbon `TriVariable::CopyToResourceSet` (`TriVariable.cpp:25-67`), which\r\n * switches on the content type and answers false for everything that is not\r\n * a resource — a float or a matrix is a CONSTANT and reaches a shader\r\n * through `CopyValueToEffect`, not through a resource set.\r\n *\r\n * A PROVIDER THAT HAS NOT RESOLVED STILL BINDS, as an empty slot rather than\r\n * a skipped one. That is Carbon's, and it matters: leaving the register\r\n * untouched would let a draw read whatever the previous one bound there.\r\n *\r\n * @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.\r\n * @param {number} stage A `ShaderType`.\r\n * @param {number} registerIndex The register.\r\n * @param {number} [flags] A `ResourceFlags` word; bit 0 is sRGB.\r\n * @returns {boolean} Whether the slot took the binding.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n CopyToResourceSet(resourceDesc, stage, registerIndex, flags = 0)\r\n {\r\n if (this.contentType === TriVariableContentType.TRIVARIABLE_TEXTURE_RES)\r\n {\r\n const colorSpace = (flags & ResourceFlags.RESOURCE_FLAG_SRGB)\r\n ? Tr2ColorSpace.COLOR_SPACE_SRGB\r\n : Tr2ColorSpace.COLOR_SPACE_LINEAR;\r\n\r\n return resourceDesc.SetSrv(stage, registerIndex, this.#Texture(), colorSpace);\r\n }\r\n\r\n if (this.contentType === TriVariableContentType.TRIVARIABLE_GPUBUFFER)\r\n {\r\n return resourceDesc.SetSrv(stage, registerIndex, this.#GpuBuffer(), 0, 1);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Binds this variable's resource as an unordered-access view.\r\n *\r\n * Carbon `TriVariable::ApplyUav` (`TriVariable.cpp:69+`). Same switch, no\r\n * colour space — a UAV is written rather than sampled.\r\n *\r\n * @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.\r\n * @param {number} stage A `ShaderType`.\r\n * @param {number} registerIndex The register.\r\n * @returns {boolean} Whether the slot took the binding.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n ApplyUav(resourceDesc, stage, registerIndex)\r\n {\r\n if (this.contentType === TriVariableContentType.TRIVARIABLE_TEXTURE_RES)\r\n {\r\n return resourceDesc.SetUav(stage, registerIndex, this.#Texture());\r\n }\r\n\r\n if (this.contentType === TriVariableContentType.TRIVARIABLE_GPUBUFFER)\r\n {\r\n return resourceDesc.SetUav(stage, registerIndex, this.#GpuBuffer(), 0, 1);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** The provider's texture, or null when it has not resolved one. */\r\n #Texture()\r\n {\r\n const provider = this.value;\r\n\r\n return typeof provider?.GetTexture === \"function\" ? provider.GetTexture() : null;\r\n }\r\n\r\n /** The provider's first buffer, which is the index Carbon passes. */\r\n #GpuBuffer()\r\n {\r\n const provider = this.value;\r\n\r\n return typeof provider?.GetGpuBuffer === \"function\" ? provider.GetGpuBuffer(0) : null;\r\n }\r\n\r\n /**\r\n * Carbon's display name for a content type, defaulting to this variable's own\r\n * type.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTypeName(contentType = this.contentType)\r\n {\r\n return TriVariable.GetTypeName(contentType);\r\n }\r\n\r\n /**\r\n * Constant-buffer byte size of a content type, defaulting to this variable's\r\n * own type.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTypeSize(contentType = this.contentType)\r\n {\r\n return TriVariable.GetTypeSize(contentType);\r\n }\r\n\r\n /**\r\n * Maps a script value onto a Carbon content type the way the Python\r\n * bridge does: integers and booleans register as INT (Python bools are\r\n * ints), other numbers as FLOAT, arrays by length, texture-provider\r\n * shapes as TEXTURE_RES. Unknown values map to INVALID, which\r\n * RegisterVariable treats as unsupported (GPU-buffer duck detection has\r\n * no reliable JS shape yet and is left to the realization layer).\r\n */\r\n static getVariableType(value)\r\n {\r\n if (typeof value === \"boolean\")\r\n {\r\n return TriVariableContentType.TRIVARIABLE_INT;\r\n }\r\n if (typeof value === \"number\")\r\n {\r\n return Number.isInteger(value)\r\n ? TriVariableContentType.TRIVARIABLE_INT\r\n : TriVariableContentType.TRIVARIABLE_FLOAT;\r\n }\r\n if (value && typeof value.length === \"number\")\r\n {\r\n switch (value.length)\r\n {\r\n case 2: return TriVariableContentType.TRIVARIABLE_FLOAT2;\r\n case 3: return TriVariableContentType.TRIVARIABLE_FLOAT3;\r\n case 4: return TriVariableContentType.TRIVARIABLE_FLOAT4;\r\n case 16: return TriVariableContentType.TRIVARIABLE_FLOAT4X4;\r\n }\r\n return TriVariableContentType.TRIVARIABLE_INVALID;\r\n }\r\n if (value && typeof value === \"object\")\r\n {\r\n if (typeof value.GetTexture === \"function\" || typeof value.RequestResolution === \"function\")\r\n {\r\n return TriVariableContentType.TRIVARIABLE_TEXTURE_RES;\r\n }\r\n }\r\n return TriVariableContentType.TRIVARIABLE_INVALID;\r\n }\r\n\r\n /**\r\n * Copies the value into an effect constant destination.\r\n *\r\n * Clamped to the destination length, the source length, and `size` BYTES at\r\n * four bytes per float - `size` is a byte budget, not a component count. A\r\n * scalar writes one component.\r\n *\r\n * Lives here because an effect binds a VARIABLE and then copies from it, so\r\n * the variable has to be able to answer. It used to live only on a parallel\r\n * store's own variable class, which is why binding could not use Carbon's.\r\n *\r\n * @param {*} _inputType Accepted and ignored, matching the parameter shape.\r\n * @param {ArrayLike} destination Constant destination.\r\n * @param {number} [size] Byte budget in the destination.\r\n * @returns {boolean} Whether anything was written.\r\n */\r\n CopyValueToEffect(_inputType, destination, size = Number.POSITIVE_INFINITY)\r\n {\r\n if (!destination || typeof destination.length !== \"number\") return false;\r\n\r\n const source = this.GetValue();\r\n\r\n if (typeof source === \"number\")\r\n {\r\n destination[0] = source;\r\n return true;\r\n }\r\n\r\n if (!source || typeof source.length !== \"number\") return false;\r\n\r\n const byteLimit = Number.isFinite(size) ? Math.max(0, size) : Infinity;\r\n const count = Math.min(destination.length, source.length, Math.floor(byteLimit / 4));\r\n\r\n for (let i = 0; i < count; i++) destination[i] = source[i];\r\n\r\n return count > 0;\r\n }\r\n\r\n /**\r\n * Carbon's display name for a content type; an unrecognised type falls back to\r\n * the INVALID label.\r\n */\r\n static GetTypeName(contentType)\r\n {\r\n return TriVariable.#typeNames[contentType] ?? TriVariable.#typeNames[0];\r\n }\r\n\r\n /**\r\n * Byte size a variable of the given content type occupies in a constant\r\n * buffer. INVALID and UNKNOWN_FLOAT may be converted to another type, so\r\n * they must register as the largest type. Texture and GPU-buffer slots are\r\n * pointer-sized in Carbon; the JS reference slot keeps the same 8 bytes so\r\n * shared-buffer offset math stays aligned with Carbon's.\r\n */\r\n static GetTypeSize(contentType)\r\n {\r\n return TriVariable.#typeSizes[contentType] ?? 0;\r\n }\r\n\r\n static #typeNames = Object.freeze([\r\n \"INVALID TYPE!\",\r\n \"TRIVARIABLE_UNKNOWN_FLOAT\",\r\n \"TRIVARIABLE_TEXTURE_RES\",\r\n \"TRIVARIABLE_INT\",\r\n \"TRIVARIABLE_FLOAT\",\r\n \"TRIVARIABLE_FLOAT2\",\r\n \"TRIVARIABLE_FLOAT3\",\r\n \"TRIVARIABLE_FLOAT4\",\r\n \"TRIVARIABLE_FLOAT4X4\",\r\n \"TRIVARIABLE_COLOR\",\r\n \"TRIVARIABLE_GPUBUFFER\"\r\n ]);\r\n\r\n static #typeSizes = Object.freeze([\r\n 4 * 16,\r\n 4 * 16,\r\n 8,\r\n 4,\r\n 4,\r\n 4 * 2,\r\n 4 * 3,\r\n 4 * 4,\r\n 4 * 16,\r\n 4 * 4,\r\n 8\r\n ]);\r\n\r\n static ContentType = TriVariableContentType;\r\n}\r\n"],"names":["_TriVariable","_identity","TriVariable","CjsModel","e","_init_name","_init_extra_name","_init_contentType","_init_extra_contentType","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","string","int32","carbon","method","impl","implemented","adapted","name","contentType","TriVariableContentType","TRIVARIABLE_INVALID","value","GetName","GetType","SetValue","GetValue","out","undefined","length","count","Math","min","index","Invalidate","Clear","fill","CopyToResourceSet","resourceDesc","stage","registerIndex","flags","TRIVARIABLE_TEXTURE_RES","colorSpace","ResourceFlags","RESOURCE_FLAG_SRGB","Tr2ColorSpace","COLOR_SPACE_SRGB","COLOR_SPACE_LINEAR","SetSrv","TRIVARIABLE_GPUBUFFER","ApplyUav","SetUav","#Texture","provider","GetTexture","#GpuBuffer","GetGpuBuffer","GetTypeName","GetTypeSize","getVariableType","TRIVARIABLE_INT","Number","isInteger","TRIVARIABLE_FLOAT","TRIVARIABLE_FLOAT2","TRIVARIABLE_FLOAT3","TRIVARIABLE_FLOAT4","TRIVARIABLE_FLOAT4X4","RequestResolution","CopyValueToEffect","_inputType","destination","size","POSITIVE_INFINITY","source","byteLimit","isFinite","max","Infinity","floor","i","Object","freeze","ContentType","constructor"],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- import { Tr2VertexUsageCode } from './usageCode.js';
1
+ import { Tr2VertexDefinitionItem } from './Tr2VertexDefinitionItem.js';
2
+ import { Tr2VertexUsageCode } from '../usageCode.js';
2
3
 
3
4
  // Source: trinity/trinityal/Tr2VertexDefinition.h:14-207 (the definition and its items)
4
5
  // trinity/trinityal/Tr2VertexDefinition.cpp:25-42 (item and definition equality)
@@ -10,22 +11,7 @@ import { Tr2VertexUsageCode } from './usageCode.js';
10
11
  // parked under this class's name until 2026-09-06, before it had its real
11
12
  // Carbon surface.
12
13
 
13
- /**
14
- * One vertex element (Carbon Tr2VertexDefinition::Item, h:123-141).
15
- *
16
- * Carbon's usage and data type are bit-coded enums; the runtime's element
17
- * vocabulary is the string names throughout (payload readers, the quad
18
- * renderer, the AL's binding-plan matcher), so the item carries the names
19
- * and the byte arithmetic derives from them.
20
- */
21
- class Tr2VertexDefinitionItem {
22
- usage = "POSITION";
23
- usageIndex = 0;
24
- type = "FLOAT32_1";
25
- offset = 0;
26
- stream = 0;
27
- instanceStepRate = 0;
28
- }
14
+ /** A mesh's vertex element list (Carbon trinityal/Tr2VertexDefinition.h). */
29
15
  const USAGE_NAMES = Object.keys(Tr2VertexUsageCode);
30
16
  const DATA_TYPE_BASE_BYTES = {
31
17
  BYTE: 1,
@@ -39,8 +25,6 @@ const DATA_TYPE_BASE_BYTES = {
39
25
  FLOAT32: 4,
40
26
  UFLOAT32: 4
41
27
  };
42
-
43
- /** A mesh's vertex element list (Carbon trinityal/Tr2VertexDefinition.h). */
44
28
  class Tr2VertexDefinition {
45
29
  /** Carbon m_items. */
46
30
  items = [];
@@ -155,5 +139,5 @@ class Tr2VertexDefinition {
155
139
  }
156
140
  }
157
141
 
158
- export { Tr2VertexDefinition, Tr2VertexDefinitionItem };
142
+ export { Tr2VertexDefinition };
159
143
  //# sourceMappingURL=Tr2VertexDefinition.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2VertexDefinition.js","sources":["../../../../../../src/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js"],"sourcesContent":["// Source: trinity/trinityal/Tr2VertexDefinition.h:14-207 (the definition and its items)\n// trinity/trinityal/Tr2VertexDefinition.cpp:25-42 (item and definition equality)\n//\n// This class is the definition and NOTHING ELSE: items, the per-stream offset\n// ledger, Add/Find/empty, and its own equality. The intern table lives on\n// Tr2EffectStateManager (Carbon s_vertexLayoutMap) and the shader-input match\n// lives in the vertex-layout AL (trinityal/vertexLayoutMatch.js) - both were\n// parked under this class's name until 2026-09-06, before it had its real\n// Carbon surface.\nimport { Tr2VertexDefinitionItem } from \"./Tr2VertexDefinitionItem.js\";\nimport { Tr2VertexUsageCode } from \"../usageCode.js\";\n\n\n/** A mesh's vertex element list (Carbon trinityal/Tr2VertexDefinition.h). */\nconst USAGE_NAMES = Object.keys(Tr2VertexUsageCode);\n\nconst DATA_TYPE_BASE_BYTES = {\n BYTE: 1, UBYTE: 1,\n SHORT: 2, USHORT: 2,\n INT32: 4, UINT32: 4,\n FLOAT16: 2, UFLOAT16: 2,\n FLOAT32: 4, UFLOAT32: 4\n};\n\n\nexport class Tr2VertexDefinition\n{\n /** Carbon m_items. */\n items = [];\n\n /** Carbon m_nextOffset[OFFSET_COUNT] (h:153-159): per-stream offset ledger. */\n nextOffset = [ 0, 0, 0, 0 ];\n\n /** Carbon empty() (h:145-148). */\n empty()\n {\n return this.items.length === 0;\n }\n\n /**\n * Carbon Add (h:174-181): append an item at the stream's current offset\n * and advance the ledger by the type's byte size. `stepRate` is \"almost\n * always a bool that indicates if the added item is coming from instanced\n * data\" - Carbon's own words.\n *\n * @param {string} type Data type name, e.g. \"FLOAT32_3\", \"UBYTE_4_NORM\".\n * @param {string|number} usage Usage name or Tr2VertexUsageCode ordinal.\n * @param {number} [usageIndex]\n * @param {number} [stream]\n * @param {number} [stepRate]\n * @returns {Tr2VertexDefinitionItem} The item just added.\n */\n Add(type, usage, usageIndex = 0, stream = 0, stepRate = 0)\n {\n const item = new Tr2VertexDefinitionItem();\n item.usage = typeof usage === \"number\" ? USAGE_NAMES[usage] : String(usage);\n item.usageIndex = usageIndex;\n item.type = String(type);\n item.offset = this.nextOffset[stream] ?? 0;\n item.stream = stream;\n item.instanceStepRate = stepRate;\n this.nextOffset[stream] = item.offset + Tr2VertexDefinition.getDataTypeSizeInBytes(item.type);\n this.items.push(item);\n return item;\n }\n\n /**\n * Carbon Find (h:169-172): the first item with the usage, and optionally\n * the usage index; null when absent.\n */\n Find(usage, usageIndex = null)\n {\n const name = typeof usage === \"number\" ? USAGE_NAMES[usage] : String(usage);\n for (const item of this.items)\n {\n if (item.usage === name && (usageIndex === null || item.usageIndex === usageIndex))\n {\n return item;\n }\n }\n return null;\n }\n\n /** Carbon GetDataTypeSizeInMembers (h:183-186), from the type NAME. */\n static getDataTypeSizeInMembers(type)\n {\n const match = /_([1-4])(?:_NORM)?$/.exec(String(type));\n return match ? Number(match[1]) : 0;\n }\n\n /** Carbon GetDataTypeSizeInBytes (h:188-205), from the type NAME. */\n static getDataTypeSizeInBytes(type)\n {\n const base = DATA_TYPE_BASE_BYTES[String(type).split(\"_\")[0]];\n return base ? base * Tr2VertexDefinition.getDataTypeSizeInMembers(type) : 0;\n }\n\n // Carbon Tr2VertexDefinition::UsageCode (Tr2VertexDefinition.h:17-30). Note\n // BLENDINDICES=6 before BLENDWEIGHTS=7; ccpwgl's GLES-v8 lineage has them\n // transposed and translates at its reader boundary.\n\n /** Carbon's vertex-usage vocabulary, in its declared order. */\n static UsageCode = Tr2VertexUsageCode;\n\n /** Carbon's nested Item class (h:123-141), reachable as Carbon spells it:\n * Tr2VertexDefinition::Item. JS cannot nest the declaration, so the class\n * is declared at module scope and aliased here. */\n static Item = Tr2VertexDefinitionItem;\n\n // Carbon's definition equality is the definition's OWN operator==\n // (Tr2VertexDefinition.cpp:35-42): all four ledger slots AND every item,\n // item equality being all six fields (cpp:25-33). Two meshes sharing\n // semantics but differing in offset or stream need different input layouts,\n // so this is deliberately stricter than the AL's shader-input match, which\n // compares usage and usageIndex only.\n\n /**\n * Whether two definitions are the same declaration, field for field.\n *\n * Accepts a Tr2VertexDefinition or a plain element array on either side;\n * the ledger participates only when both sides carry one, because a plain\n * payload element list has no ledger to compare (Carbon always has both,\n * so comparing what exists is the faithful subset).\n */\n static isSameDefinition(firstDefinition, secondDefinition)\n {\n const first = firstDefinition?.items ?? firstDefinition;\n const second = secondDefinition?.items ?? secondDefinition;\n if (first === second && firstDefinition === secondDefinition) return true;\n if (!first || !second || first.length !== second.length) return false;\n\n const firstLedger = firstDefinition?.nextOffset;\n const secondLedger = secondDefinition?.nextOffset;\n if (firstLedger && secondLedger)\n {\n for (let stream = 0; stream < 4; stream++)\n {\n if (firstLedger[stream] !== secondLedger[stream]) return false;\n }\n }\n\n for (let index = 0; index < first.length; index++)\n {\n const a = first[index];\n const b = second[index];\n\n if (a.usage !== b.usage\n || a.usageIndex !== b.usageIndex\n || a.type !== b.type\n || a.offset !== b.offset\n || (a.stream ?? 0) !== (b.stream ?? 0)\n || (a.instanceStepRate ?? 0) !== (b.instanceStepRate ?? 0))\n {\n return false;\n }\n }\n\n return true;\n }\n}\n"],"names":["USAGE_NAMES","Object","keys","Tr2VertexUsageCode","DATA_TYPE_BASE_BYTES","BYTE","UBYTE","SHORT","USHORT","INT32","UINT32","FLOAT16","UFLOAT16","FLOAT32","UFLOAT32","Tr2VertexDefinition","items","nextOffset","empty","length","Add","type","usage","usageIndex","stream","stepRate","item","Tr2VertexDefinitionItem","String","offset","instanceStepRate","getDataTypeSizeInBytes","push","Find","name","getDataTypeSizeInMembers","match","exec","Number","base","split","UsageCode","Item","isSameDefinition","firstDefinition","secondDefinition","first","second","firstLedger","secondLedger","index","a","b"],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ // Source: trinity/trinityal/Tr2VertexDefinition.h:14-207 (the definition and its items)
2
+ // trinity/trinityal/Tr2VertexDefinition.cpp:25-42 (item and definition equality)
3
+ //
4
+ // This class is the definition and NOTHING ELSE: items, the per-stream offset
5
+ // ledger, Add/Find/empty, and its own equality. The intern table lives on
6
+ // Tr2EffectStateManager (Carbon s_vertexLayoutMap) and the shader-input match
7
+ // lives in the vertex-layout AL (trinityal/vertexLayoutMatch.js) - both were
8
+ // parked under this class's name until 2026-09-06, before it had its real
9
+ // Carbon surface.
10
+
11
+ /**
12
+ * One vertex element (Carbon Tr2VertexDefinition::Item, h:123-141).
13
+ *
14
+ * Carbon's usage and data type are bit-coded enums; the runtime's element
15
+ * vocabulary is the string names throughout (payload readers, the quad
16
+ * renderer, the AL's binding-plan matcher), so the item carries the names
17
+ * and the byte arithmetic derives from them.
18
+ */
19
+ class Tr2VertexDefinitionItem {
20
+ usage = "POSITION";
21
+ usageIndex = 0;
22
+ type = "FLOAT32_1";
23
+ offset = 0;
24
+ stream = 0;
25
+ instanceStepRate = 0;
26
+ }
27
+
28
+ export { Tr2VertexDefinitionItem };
29
+ //# sourceMappingURL=Tr2VertexDefinitionItem.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2VertexDefinitionItem.js","sources":["../../../../../../src/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js"],"sourcesContent":["// Source: trinity/trinityal/Tr2VertexDefinition.h:14-207 (the definition and its items)\n// trinity/trinityal/Tr2VertexDefinition.cpp:25-42 (item and definition equality)\n//\n// This class is the definition and NOTHING ELSE: items, the per-stream offset\n// ledger, Add/Find/empty, and its own equality. The intern table lives on\n// Tr2EffectStateManager (Carbon s_vertexLayoutMap) and the shader-input match\n// lives in the vertex-layout AL (trinityal/vertexLayoutMatch.js) - both were\n// parked under this class's name until 2026-09-06, before it had its real\n// Carbon surface.\n\n\n/**\n * One vertex element (Carbon Tr2VertexDefinition::Item, h:123-141).\n *\n * Carbon's usage and data type are bit-coded enums; the runtime's element\n * vocabulary is the string names throughout (payload readers, the quad\n * renderer, the AL's binding-plan matcher), so the item carries the names\n * and the byte arithmetic derives from them.\n */\nexport class Tr2VertexDefinitionItem\n{\n usage = \"POSITION\";\n\n usageIndex = 0;\n\n type = \"FLOAT32_1\";\n\n offset = 0;\n\n stream = 0;\n\n instanceStepRate = 0;\n}\n\n\n"],"names":["Tr2VertexDefinitionItem","usage","usageIndex","type","offset","stream","instanceStepRate"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,uBAAuB,CACpC;AACIC,EAAAA,KAAK,GAAG,UAAU;AAElBC,EAAAA,UAAU,GAAG,CAAC;AAEdC,EAAAA,IAAI,GAAG,WAAW;AAElBC,EAAAA,MAAM,GAAG,CAAC;AAEVC,EAAAA,MAAM,GAAG,CAAC;AAEVC,EAAAA,gBAAgB,GAAG,CAAC;AACxB;;;;"}