@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2SamplerDescription.js","sources":["../../../../src/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js"],"sourcesContent":["// Source: trinity/trinityal/Tr2HalHelperStructures.h:137-254 (struct Tr2SamplerDescription)\n// trinity/trinityal/Tr2HalHelperStructures.h:255-277 (struct hash<Tr2SamplerDescription>)\n// trinity/trinityal/include/Tr2SamplerStateAL.h (forward declaration, and the factory)\n//\n// ONE FOLDER PER DONOR HEADER - see the sibling files for why.\n//\n// THE CLASS WAS MISSING AND THIS FILE HELD ONLY FUNCTIONS. Carbon declares a\n// struct with a documented default constructor; we had a normaliser returning an\n// anonymous object, and the previous provenance header named `Tr2SamplerAL.h`,\n// which does not declare it. A struct with defaults reduced to a literal with\n// `?? 0` is how those defaults drifted - see below.\n//\n// THREE DEFAULTS WERE WRONG, and two were not even members of their enum. Carbon's\n// default constructor sets TF_POINT (1), TA_WRAP (1) and CMP_ALWAYS (8); the\n// normaliser defaulted all three to 0. `TextureFilter` does have a zero\n// (`TF_NONE`), so an omitted filter silently meant NO filtering rather than point\n// sampling. `TextureAddressMode` and `CompareFunc` are 1-based and have no zero at\n// all, so an omitted address mode or comparison produced a value outside the enum,\n// which no backend can map and nothing reported.\n//\n// THE FACTORY KEY IS CARBON'S TOO. `Tr2SamplerStateAL::Create` is a lookup in a\n// `Tr2ObjectFactory<..., Tr2SamplerDescription>` owned by the primary context\n// (`Tr2SamplerStateAL.cpp:25-28`), so two equal descriptions yield one state and\n// `operator==` on states is identity. Carbon reaches that through\n// `std::hash<Tr2SamplerDescription>`; JavaScript has no hash specialisation to\n// install, so `SamplerDescriptionKey` is the equivalent and the Map it feeds is\n// the factory.\nimport { CompareFunc, TextureAddressMode, TextureFilter } from \"../../global/consts/renderContext/index.js\";\n\nconst rawView = new DataView(new ArrayBuffer(4));\n\n/** A float from its raw IEEE-754 bits, or the float itself. */\nfunction floatOf(value, raw, fallback)\n{\n if (Number.isFinite(value)) return value;\n\n if (Number.isInteger(raw))\n {\n rawView.setUint32(0, raw >>> 0, true);\n\n return rawView.getFloat32(0, true);\n }\n\n return fallback;\n}\n\n/**\n * Carbon's `std::numeric_limits<float>::max()`, the open upper LOD bound an author\n * leaves unbounded.\n */\nexport const SAMPLER_LOD_UNBOUNDED = 3.4028234663852886e38;\n\n\n/**\n * The authored sampler state a `Tr2SamplerStateAL` is created from, and the key\n * its factory dedupes on.\n */\nexport class Tr2SamplerDescription\n{\n m_minFilter = TextureFilter.TF_POINT;\n\n m_magFilter = TextureFilter.TF_POINT;\n\n m_mipFilter = TextureFilter.TF_POINT;\n\n m_isComparisonFilter = false;\n\n m_addressU = TextureAddressMode.TA_WRAP;\n\n m_addressV = TextureAddressMode.TA_WRAP;\n\n m_addressW = TextureAddressMode.TA_WRAP;\n\n m_mipLODBias = 0;\n\n m_maxAnisotropy = 1;\n\n m_comparisonFunc = CompareFunc.CMP_ALWAYS;\n\n /** Four floats, RGBA. Carbon's constructor zeroes all four. */\n m_borderColor = [ 0, 0, 0, 0 ];\n\n m_minLOD = 0;\n\n m_maxLOD = SAMPLER_LOD_UNBOUNDED;\n\n /**\n * Carbon's second constructor, which takes every field.\n *\n * Its first form is the default constructor, which is the field initialisers\n * above. Passing nothing here is that form.\n *\n * @param {object} [values] Field values in the normal form, as\n * {@link NormalizeSamplerDescription} produces.\n */\n constructor(values = undefined)\n {\n if (!values) return;\n\n Object.assign(this, {\n m_minFilter: values.minFilter,\n m_magFilter: values.magFilter,\n m_mipFilter: values.mipFilter,\n m_isComparisonFilter: values.isComparisonFilter,\n m_addressU: values.addressU,\n m_addressV: values.addressV,\n m_addressW: values.addressW,\n m_mipLODBias: values.mipLODBias,\n m_maxAnisotropy: values.maxAnisotropy,\n m_comparisonFunc: values.comparisonFunc,\n m_borderColor: [ ...values.borderColor ],\n m_minLOD: values.minLOD,\n m_maxLOD: values.maxLOD\n });\n }\n}\n\n\n/**\n * The normal form of a sampler description.\n *\n * TWO SPELLINGS ARRIVE HERE. The effect reader keeps floats as their raw bits\n * (`Tr2SamplerSetup.fromCarbonBinary`: `minLODRaw`, `maxLODRaw`, `mipLODBiasRaw`,\n * `borderColorRaw`) so a round trip is byte-exact; an override built at runtime\n * carries plain floats. The normal form is the floats, and both spellings\n * normalise to it, so the factory key is the same whichever road a description\n * took.\n *\n * @param {object|null} description Authored state in either spelling.\n * @returns {object|null} The normalised description, or null for nothing.\n */\nexport function NormalizeSamplerDescription(description)\n{\n if (!description || typeof description !== \"object\") return null;\n\n const border = description.borderColor ?? description.borderColorRaw ?? [];\n const rawBorder = description.borderColor ? null : description.borderColorRaw ?? null;\n\n // Defaults are Carbon's default constructor, NOT zero. `isComparisonFilter` is\n // also Carbon's field name; it was `comparison` here, which reads as the\n // comparison FUNCTION rather than the flag selecting a comparison sampler.\n return {\n minFilter: description.minFilter ?? TextureFilter.TF_POINT,\n magFilter: description.magFilter ?? TextureFilter.TF_POINT,\n mipFilter: description.mipFilter ?? TextureFilter.TF_POINT,\n isComparisonFilter: Boolean(description.isComparisonFilter ?? description.comparison),\n addressU: description.addressU ?? TextureAddressMode.TA_WRAP,\n addressV: description.addressV ?? TextureAddressMode.TA_WRAP,\n addressW: description.addressW ?? TextureAddressMode.TA_WRAP,\n mipLODBias: floatOf(description.mipLODBias, description.mipLODBiasRaw, 0),\n maxAnisotropy: description.maxAnisotropy ?? 1,\n comparisonFunc: description.comparisonFunc ?? CompareFunc.CMP_ALWAYS,\n borderColor: [ 0, 1, 2, 3 ].map(index => floatOf(rawBorder ? undefined : border[index], rawBorder?.[index], 0)),\n minLOD: floatOf(description.minLOD, description.minLODRaw, 0),\n maxLOD: floatOf(description.maxLOD, description.maxLODRaw, SAMPLER_LOD_UNBOUNDED)\n };\n}\n\n\n/**\n * The factory key for a description: two descriptions with equal keys are one\n * sampler state.\n *\n * This is what Carbon reaches through `std::hash<Tr2SamplerDescription>`\n * (`Tr2HalHelperStructures.h:255-277`), which JavaScript cannot install.\n *\n * @param {object} description A description in either spelling.\n * @returns {string|null} The key, or null for nothing.\n */\nexport function SamplerDescriptionKey(description)\n{\n const normalized = NormalizeSamplerDescription(description);\n\n return normalized ? JSON.stringify(normalized) : null;\n}\n"],"names":["rawView","DataView","ArrayBuffer","floatOf","value","raw","fallback","Number","isFinite","isInteger","setUint32","getFloat32","SAMPLER_LOD_UNBOUNDED","Tr2SamplerDescription","m_minFilter","TextureFilter","TF_POINT","m_magFilter","m_mipFilter","m_isComparisonFilter","m_addressU","TextureAddressMode","TA_WRAP","m_addressV","m_addressW","m_mipLODBias","m_maxAnisotropy","m_comparisonFunc","CompareFunc","CMP_ALWAYS","m_borderColor","m_minLOD","m_maxLOD","constructor","values","undefined","Object","assign","minFilter","magFilter","mipFilter","isComparisonFilter","addressU","addressV","addressW","mipLODBias","maxAnisotropy","comparisonFunc","borderColor","minLOD","maxLOD","NormalizeSamplerDescription","description","border","borderColorRaw","rawBorder","Boolean","comparison","mipLODBiasRaw","map","index","minLODRaw","maxLODRaw","SamplerDescriptionKey","normalized","JSON","stringify"],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ // Source: trinity/trinityal/Tr2HalHelperStructures.h:20-25
2
+ //
3
+ // ONE FOLDER PER DONOR HEADER - see the sibling files for why.
4
+ //
5
+ // WAS NEVER PORTED, and nothing noticed. Carbon's texture creation takes an array
6
+ // of these as its initial data, one per (mip, layer), indexed
7
+ // `mip + layer * mipCount` (`Tr2ImageIOHelpers.cpp:104-128`). Our callers were
8
+ // already passing objects of exactly this shape as anonymous literals -
9
+ // `Tr2ImageIOHelpers.js` builds `{ sysMem, sysMemPitch, sysMemSlicePitch }` - so
10
+ // the contract existed with no type to name it, which is precisely what made its
11
+ // absence invisible.
12
+
13
+ /**
14
+ * One mip of one layer: where its pixels are, and how they are laid out.
15
+ */
16
+ class Tr2SubresourceData {
17
+ /**
18
+ * Carbon's `const void* m_sysMem`. A pointer there; the bytes themselves here,
19
+ * because JavaScript has no pointer to hand a backend instead.
20
+ */
21
+ m_sysMem = null;
22
+
23
+ /** Size in bytes of one line of pixels. */
24
+ m_sysMemPitch = 0;
25
+
26
+ /**
27
+ * Size in bytes of the entire mip level.
28
+ *
29
+ * CANNOT BE ZERO, says Carbon's own comment on the field. It is not defaulted
30
+ * away or validated here: the donor states the requirement and leaves the
31
+ * caller to meet it, and a zero reaching a backend is the caller's bug to see.
32
+ */
33
+ m_sysMemSlicePitch = 0;
34
+
35
+ /**
36
+ * @param {ArrayBufferView|null} [sysMem] The pixels for this mip.
37
+ * @param {number} [sysMemPitch] Bytes per line.
38
+ * @param {number} [sysMemSlicePitch] Bytes for the whole mip level.
39
+ */
40
+ constructor(sysMem = null, sysMemPitch = 0, sysMemSlicePitch = 0) {
41
+ this.m_sysMem = sysMem;
42
+ this.m_sysMemPitch = sysMemPitch;
43
+ this.m_sysMemSlicePitch = sysMemSlicePitch;
44
+ }
45
+ }
46
+
47
+ export { Tr2SubresourceData };
48
+ //# sourceMappingURL=Tr2SubresourceData.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2SubresourceData.js","sources":["../../../../src/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js"],"sourcesContent":["// Source: trinity/trinityal/Tr2HalHelperStructures.h:20-25\n//\n// ONE FOLDER PER DONOR HEADER - see the sibling files for why.\n//\n// WAS NEVER PORTED, and nothing noticed. Carbon's texture creation takes an array\n// of these as its initial data, one per (mip, layer), indexed\n// `mip + layer * mipCount` (`Tr2ImageIOHelpers.cpp:104-128`). Our callers were\n// already passing objects of exactly this shape as anonymous literals -\n// `Tr2ImageIOHelpers.js` builds `{ sysMem, sysMemPitch, sysMemSlicePitch }` - so\n// the contract existed with no type to name it, which is precisely what made its\n// absence invisible.\n\n\n/**\n * One mip of one layer: where its pixels are, and how they are laid out.\n */\nexport class Tr2SubresourceData\n{\n /**\n * Carbon's `const void* m_sysMem`. A pointer there; the bytes themselves here,\n * because JavaScript has no pointer to hand a backend instead.\n */\n m_sysMem = null;\n\n /** Size in bytes of one line of pixels. */\n m_sysMemPitch = 0;\n\n /**\n * Size in bytes of the entire mip level.\n *\n * CANNOT BE ZERO, says Carbon's own comment on the field. It is not defaulted\n * away or validated here: the donor states the requirement and leaves the\n * caller to meet it, and a zero reaching a backend is the caller's bug to see.\n */\n m_sysMemSlicePitch = 0;\n\n /**\n * @param {ArrayBufferView|null} [sysMem] The pixels for this mip.\n * @param {number} [sysMemPitch] Bytes per line.\n * @param {number} [sysMemSlicePitch] Bytes for the whole mip level.\n */\n constructor(sysMem = null, sysMemPitch = 0, sysMemSlicePitch = 0)\n {\n this.m_sysMem = sysMem;\n this.m_sysMemPitch = sysMemPitch;\n this.m_sysMemSlicePitch = sysMemSlicePitch;\n }\n}\n"],"names":["Tr2SubresourceData","m_sysMem","m_sysMemPitch","m_sysMemSlicePitch","constructor","sysMem","sysMemPitch","sysMemSlicePitch"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACO,MAAMA,kBAAkB,CAC/B;AACE;AACF;AACA;AACA;AACEC,EAAAA,QAAQ,GAAG,IAAI;;AAEf;AACAC,EAAAA,aAAa,GAAG,CAAC;;AAEjB;AACF;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,kBAAkB,GAAG,CAAC;;AAEtB;AACF;AACA;AACA;AACA;AACEC,EAAAA,WAAWA,CAACC,MAAM,GAAG,IAAI,EAAEC,WAAW,GAAG,CAAC,EAAEC,gBAAgB,GAAG,CAAC,EAChE;IACE,IAAI,CAACN,QAAQ,GAAGI,MAAM;IACtB,IAAI,CAACH,aAAa,GAAGI,WAAW;IAChC,IAAI,CAACH,kBAAkB,GAAGI,gBAAgB;AAC5C,EAAA;AACF;;;;"}
@@ -0,0 +1,75 @@
1
+ // Source: trinity/trinityal/Tr2HalHelperStructures.h
2
+ // Source: trinity/trinityal/Tr2HalHelperStructures.cpp
3
+ //
4
+ // ONE FOLDER PER DONOR HEADER. Carbon declares six types in this header, and a
5
+ // C++ header is an include unit rather than a class container. Splitting them one
6
+ // per file keeps every class findable by its own name without inventing anything:
7
+ // the folder still names the donor, so each file has something to be diffed
8
+ // against. It also makes an unported sibling visible as a missing FILE, which is
9
+ // how two of these were found absent.
10
+
11
+ /** Carbon's "not set" for every box coordinate: `0xffffffff`. */
12
+ const UNSET = 0xffffffff;
13
+
14
+ /**
15
+ * A box within a texture, in pixels.
16
+ */
17
+ class Tr2TextureCoordBox {
18
+ /** @type {number} */
19
+ left = UNSET;
20
+
21
+ /** @type {number} */
22
+ top = UNSET;
23
+
24
+ /** @type {number} */
25
+ front = UNSET;
26
+
27
+ /** @type {number} */
28
+ right = UNSET;
29
+
30
+ /** @type {number} */
31
+ bottom = UNSET;
32
+
33
+ /** @type {number} */
34
+ back = UNSET;
35
+
36
+ /**
37
+ * Width of the box.
38
+ *
39
+ * @returns {number} Right minus left.
40
+ */
41
+ GetWidth() {
42
+ return this.right - this.left;
43
+ }
44
+
45
+ /**
46
+ * Height of the box.
47
+ *
48
+ * @returns {number} Bottom minus top.
49
+ */
50
+ GetHeight() {
51
+ return this.bottom - this.top;
52
+ }
53
+
54
+ /**
55
+ * Depth of the box.
56
+ *
57
+ * @returns {number} Back minus front.
58
+ */
59
+ GetDepth() {
60
+ return this.back - this.front;
61
+ }
62
+
63
+ /**
64
+ * Whether two boxes cover the same region.
65
+ *
66
+ * @param {Tr2TextureCoordBox} other The box to compare with.
67
+ * @returns {boolean} True when every coordinate matches.
68
+ */
69
+ Equals(other) {
70
+ return this.left === other.left && this.top === other.top && this.front === other.front && this.right === other.right && this.bottom === other.bottom && this.back === other.back;
71
+ }
72
+ }
73
+
74
+ export { Tr2TextureCoordBox };
75
+ //# sourceMappingURL=Tr2TextureCoordBox.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2TextureCoordBox.js","sources":["../../../../src/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js"],"sourcesContent":["// Source: trinity/trinityal/Tr2HalHelperStructures.h\n// Source: trinity/trinityal/Tr2HalHelperStructures.cpp\n//\n// ONE FOLDER PER DONOR HEADER. Carbon declares six types in this header, and a\n// C++ header is an include unit rather than a class container. Splitting them one\n// per file keeps every class findable by its own name without inventing anything:\n// the folder still names the donor, so each file has something to be diffed\n// against. It also makes an unported sibling visible as a missing FILE, which is\n// how two of these were found absent.\n\n/** Carbon's \"not set\" for every box coordinate: `0xffffffff`. */\nconst UNSET = 0xffffffff;\n\n/**\n * A box within a texture, in pixels.\n */\nexport class Tr2TextureCoordBox\n{\n /** @type {number} */\n left = UNSET;\n\n /** @type {number} */\n top = UNSET;\n\n /** @type {number} */\n front = UNSET;\n\n /** @type {number} */\n right = UNSET;\n\n /** @type {number} */\n bottom = UNSET;\n\n /** @type {number} */\n back = UNSET;\n\n /**\n * Width of the box.\n *\n * @returns {number} Right minus left.\n */\n GetWidth()\n {\n return this.right - this.left;\n }\n\n /**\n * Height of the box.\n *\n * @returns {number} Bottom minus top.\n */\n GetHeight()\n {\n return this.bottom - this.top;\n }\n\n /**\n * Depth of the box.\n *\n * @returns {number} Back minus front.\n */\n GetDepth()\n {\n return this.back - this.front;\n }\n\n /**\n * Whether two boxes cover the same region.\n *\n * @param {Tr2TextureCoordBox} other The box to compare with.\n * @returns {boolean} True when every coordinate matches.\n */\n Equals(other)\n {\n return this.left === other.left &&\n this.top === other.top &&\n this.front === other.front &&\n this.right === other.right &&\n this.bottom === other.bottom &&\n this.back === other.back;\n }\n}\n"],"names":["UNSET","Tr2TextureCoordBox","left","top","front","right","bottom","back","GetWidth","GetHeight","GetDepth","Equals","other"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA,MAAMA,KAAK,GAAG,UAAU;;AAExB;AACA;AACA;AACO,MAAMC,kBAAkB,CAC/B;AACE;AACAC,EAAAA,IAAI,GAAGF,KAAK;;AAEZ;AACAG,EAAAA,GAAG,GAAGH,KAAK;;AAEX;AACAI,EAAAA,KAAK,GAAGJ,KAAK;;AAEb;AACAK,EAAAA,KAAK,GAAGL,KAAK;;AAEb;AACAM,EAAAA,MAAM,GAAGN,KAAK;;AAEd;AACAO,EAAAA,IAAI,GAAGP,KAAK;;AAEZ;AACF;AACA;AACA;AACA;AACEQ,EAAAA,QAAQA,GACR;AACE,IAAA,OAAO,IAAI,CAACH,KAAK,GAAG,IAAI,CAACH,IAAI;AAC/B,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEO,EAAAA,SAASA,GACT;AACE,IAAA,OAAO,IAAI,CAACH,MAAM,GAAG,IAAI,CAACH,GAAG;AAC/B,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEO,EAAAA,QAAQA,GACR;AACE,IAAA,OAAO,IAAI,CAACH,IAAI,GAAG,IAAI,CAACH,KAAK;AAC/B,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEO,MAAMA,CAACC,KAAK,EACZ;IACE,OAAO,IAAI,CAACV,IAAI,KAAKU,KAAK,CAACV,IAAI,IAC7B,IAAI,CAACC,GAAG,KAAKS,KAAK,CAACT,GAAG,IACtB,IAAI,CAACC,KAAK,KAAKQ,KAAK,CAACR,KAAK,IAC1B,IAAI,CAACC,KAAK,KAAKO,KAAK,CAACP,KAAK,IAC1B,IAAI,CAACC,MAAM,KAAKM,KAAK,CAACN,MAAM,IAC5B,IAAI,CAACC,IAAI,KAAKK,KAAK,CAACL,IAAI;AAC5B,EAAA;AACF;;;;"}
@@ -1,125 +1,21 @@
1
- import { TextureType } from '../global/consts/renderContext/formats.js';
2
- import '../global/consts/renderContext/pipeline.js';
1
+ import { TextureType } from '../../global/consts/renderContext/formats.js';
2
+ import '../../global/consts/renderContext/pipeline.js';
3
+ import { Tr2TextureCoordBox } from './Tr2TextureCoordBox.js';
3
4
 
4
5
  // Source: trinity/trinityal/Tr2HalHelperStructures.h
5
6
  // Source: trinity/trinityal/Tr2HalHelperStructures.cpp
6
7
  //
7
- // The small value types the abstraction layer passes around: a multisample
8
- // description, and the region of a texture that a map, an update or a copy
9
- // applies to.
10
- //
11
- // `Tr2TextureSubresource` LOOKS like a plain rectangle and is not. Its default
12
- // is "all of it", spelled as an all-ones box rather than as a flag, and
13
- // `HasBox` is what distinguishes "the caller named a region" from "the caller
14
- // named the whole texture". Half the validation in the texture stub turns on
15
- // that distinction, so it is transcribed here rather than simplified into a
16
- // nullable box.
17
- //
18
- // TWO LANGUAGE DIFFERENCES. Carbon's three constructor overloads become the
19
- // default constructor plus two named factories, and `operator==` becomes
20
- // `Equals`.
21
- //
22
- // Carbon's `AdvanceMip` is NOT ported: nothing in this runtime walks a copy
23
- // down a mip chain yet, and its depth branch shrinks the vertical box rather
24
- // than the depth one, which is a bug worth reading again before relying on.
8
+ // ONE FOLDER PER DONOR HEADER. Carbon declares six types in this header, and a
9
+ // C++ header is an include unit rather than a class container. Splitting them one
10
+ // per file keeps every class findable by its own name without inventing anything:
11
+ // the folder still names the donor, so each file has something to be diffed
12
+ // against. It also makes an unported sibling visible as a missing FILE, which is
13
+ // how two of these were found absent.
25
14
 
26
15
 
27
16
  /** Carbon's "not set" for every box coordinate: `0xffffffff`. */
28
17
  const UNSET = 0xffffffff;
29
18
 
30
- /**
31
- * A multisample description.
32
- */
33
- class Tr2MsaaDesc {
34
- /** Samples per pixel; never below one. */
35
- samples = 1;
36
-
37
- /** Backend-defined quality level. */
38
- quality = 0;
39
-
40
- /**
41
- * @param {number} [samples] Samples per pixel.
42
- * @param {number} [quality] Quality level.
43
- */
44
- constructor(samples = 1, quality = 0) {
45
- this.samples = Math.max(samples, 1);
46
- this.quality = quality;
47
- }
48
-
49
- /**
50
- * Whether two descriptions match.
51
- *
52
- * Carbon clamps both sample counts to at least one before comparing, so a
53
- * zero and a one are the same description.
54
- *
55
- * @param {Tr2MsaaDesc} other The description to compare with.
56
- * @returns {boolean} True when they match.
57
- */
58
- Equals(other) {
59
- return Math.max(this.samples, 1) === Math.max(other.samples, 1) && this.quality === other.quality;
60
- }
61
- }
62
-
63
- /**
64
- * A box within a texture, in pixels.
65
- */
66
- class Tr2TextureCoordBox {
67
- /** @type {number} */
68
- left = UNSET;
69
-
70
- /** @type {number} */
71
- top = UNSET;
72
-
73
- /** @type {number} */
74
- front = UNSET;
75
-
76
- /** @type {number} */
77
- right = UNSET;
78
-
79
- /** @type {number} */
80
- bottom = UNSET;
81
-
82
- /** @type {number} */
83
- back = UNSET;
84
-
85
- /**
86
- * Width of the box.
87
- *
88
- * @returns {number} Right minus left.
89
- */
90
- GetWidth() {
91
- return this.right - this.left;
92
- }
93
-
94
- /**
95
- * Height of the box.
96
- *
97
- * @returns {number} Bottom minus top.
98
- */
99
- GetHeight() {
100
- return this.bottom - this.top;
101
- }
102
-
103
- /**
104
- * Depth of the box.
105
- *
106
- * @returns {number} Back minus front.
107
- */
108
- GetDepth() {
109
- return this.back - this.front;
110
- }
111
-
112
- /**
113
- * Whether two boxes cover the same region.
114
- *
115
- * @param {Tr2TextureCoordBox} other The box to compare with.
116
- * @returns {boolean} True when every coordinate matches.
117
- */
118
- Equals(other) {
119
- return this.left === other.left && this.top === other.top && this.front === other.front && this.right === other.right && this.bottom === other.bottom && this.back === other.back;
120
- }
121
- }
122
-
123
19
  /**
124
20
  * A range of faces, mip levels and pixels within a texture.
125
21
  *
@@ -400,5 +296,5 @@ function Crop(sourceSR, sourceBD, destSR, destBD) {
400
296
  return sourceSR.IsValid() && destSR.IsValid();
401
297
  }
402
298
 
403
- export { Crop, Tr2MsaaDesc, Tr2TextureCoordBox, Tr2TextureSubresource };
404
- //# sourceMappingURL=Tr2HalHelperStructures.js.map
299
+ export { Crop, Tr2TextureSubresource };
300
+ //# sourceMappingURL=Tr2TextureSubresource.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2TextureSubresource.js","sources":["../../../../src/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js"],"sourcesContent":["// Source: trinity/trinityal/Tr2HalHelperStructures.h\n// Source: trinity/trinityal/Tr2HalHelperStructures.cpp\n//\n// ONE FOLDER PER DONOR HEADER. Carbon declares six types in this header, and a\n// C++ header is an include unit rather than a class container. Splitting them one\n// per file keeps every class findable by its own name without inventing anything:\n// the folder still names the donor, so each file has something to be diffed\n// against. It also makes an unported sibling visible as a missing FILE, which is\n// how two of these were found absent.\n\nimport { TextureType } from \"../../global/consts/renderContext/index.js\";\n// Implicit while both lived in one file: Carbon's subresource HOLDS a coord box.\nimport { Tr2TextureCoordBox } from \"./Tr2TextureCoordBox.js\";\n\n/** Carbon's \"not set\" for every box coordinate: `0xffffffff`. */\nconst UNSET = 0xffffffff;\n\n/**\n * A range of faces, mip levels and pixels within a texture.\n *\n * The default is the whole resource. `ForMipLevel` and `ForFace` are Carbon's\n * other two constructors.\n */\nexport class Tr2TextureSubresource\n{\n /** First slice. */\n m_startFace = 0;\n\n /** One past the last slice. */\n m_endFace = UNSET;\n\n /** First mip level. */\n m_startMipLevel = 0;\n\n /** One past the last mip level. */\n m_endMipLevel = UNSET;\n\n /** @type {Tr2TextureCoordBox} */\n m_box = new Tr2TextureCoordBox();\n\n /**\n * A single mip level of the first slice.\n *\n * @param {number} mipLevel The mip level.\n * @returns {Tr2TextureSubresource} The region.\n */\n static ForMipLevel(mipLevel)\n {\n const region = new Tr2TextureSubresource();\n\n region.m_startFace = 0;\n region.m_endFace = 1;\n region.m_startMipLevel = mipLevel;\n region.m_endMipLevel = mipLevel + 1;\n\n return region;\n }\n\n /**\n * A single mip level of a single slice.\n *\n * @param {number} face The slice or cube face.\n * @param {number} mipLevel The mip level.\n * @returns {Tr2TextureSubresource} The region.\n */\n static ForFace(face, mipLevel)\n {\n const region = Tr2TextureSubresource.ForMipLevel(mipLevel);\n\n region.m_startFace = face;\n region.m_endFace = face + 1;\n\n return region;\n }\n\n /**\n * Width of the box.\n *\n * @returns {number} Width in pixels.\n */\n GetWidth()\n {\n return this.m_box.GetWidth();\n }\n\n /**\n * Height of the box.\n *\n * @returns {number} Height in pixels.\n */\n GetHeight()\n {\n return this.m_box.GetHeight();\n }\n\n /**\n * Depth of the box.\n *\n * @returns {number} Depth in slices.\n */\n GetDepth()\n {\n return this.m_box.GetDepth();\n }\n\n /**\n * Mip levels in the range.\n *\n * @returns {number} Level count.\n */\n GetMipCount()\n {\n return this.m_endMipLevel - this.m_startMipLevel;\n }\n\n /**\n * Slices in the range.\n *\n * @returns {number} Face count.\n */\n GetFaceCount()\n {\n return this.m_endFace - this.m_startFace;\n }\n\n /**\n * Whether the caller named a box at all.\n *\n * An untouched box is all ones, which means \"the whole mip\". This is the\n * test the rest of the type turns on.\n *\n * @returns {boolean} True when any coordinate was set.\n */\n HasBox()\n {\n const box = this.m_box;\n\n return box.left !== UNSET ||\n box.top !== UNSET ||\n box.front !== UNSET ||\n box.right !== UNSET ||\n box.bottom !== UNSET ||\n box.back !== UNSET;\n }\n\n /**\n * Whether the range names exactly one face and one mip level.\n *\n * @returns {boolean} True for a single subresource.\n */\n IsSingleSubresource()\n {\n return this.m_endFace === this.m_startFace + 1 && this.m_endMipLevel === this.m_startMipLevel + 1;\n }\n\n /**\n * Sets the box from six coordinates: left, top, front, right, bottom, back.\n *\n * @param {number[]} ltfrbb The six coordinates, in that order.\n * @returns {Tr2TextureSubresource} This region, for chaining.\n */\n SetBox(ltfrbb)\n {\n const box = this.m_box;\n\n box.left = ltfrbb[0];\n box.top = ltfrbb[1];\n box.front = ltfrbb[2];\n box.right = ltfrbb[3];\n box.bottom = ltfrbb[4];\n box.back = ltfrbb[5];\n\n return this;\n }\n\n /**\n * Sets the box from a rectangle, spanning one slice in depth.\n *\n * @param {number} left Left edge.\n * @param {number} top Top edge.\n * @param {number} right One past the right edge.\n * @param {number} bottom One past the bottom edge.\n * @returns {Tr2TextureSubresource} This region, for chaining.\n */\n SetRect(left, top, right, bottom)\n {\n return this.SetBox([ left, top, 0, right, bottom, 1 ]);\n }\n\n /**\n * Clamps the range to a texture, filling in a box if there was none.\n *\n * @param {import(\"./Tr2BitmapDimensions.js\").Tr2BitmapDimensions} texture The texture to clamp against.\n */\n ClampToTexture(texture)\n {\n const arraySize = Math.max(texture.GetArraySize(), 1);\n\n this.m_startFace = Math.min(this.m_startFace, arraySize - 1);\n this.m_endFace = Math.min(this.m_endFace, arraySize);\n\n this.m_startMipLevel = Math.min(this.m_startMipLevel, texture.GetTrueMipCount() - 1);\n this.m_endMipLevel = Math.min(this.m_endMipLevel, texture.GetTrueMipCount());\n\n const mipWidth = texture.GetMipWidth(this.m_startMipLevel);\n const mipHeight = texture.GetMipHeight(this.m_startMipLevel);\n const mipDepth = Math.max(texture.GetDepth() >> this.m_startMipLevel, 1);\n const box = this.m_box;\n\n if (this.HasBox())\n {\n box.left = Math.min(box.left, mipWidth - 1);\n box.right = Math.min(box.right, mipWidth);\n box.top = Math.min(box.top, mipHeight - 1);\n box.bottom = Math.min(box.bottom, mipHeight);\n\n if (texture.GetType() === TextureType.TEX_TYPE_3D)\n {\n box.front = Math.min(box.front, mipDepth - 1);\n box.back = Math.min(box.back, mipDepth);\n }\n else\n {\n box.front = 0;\n box.back = 1;\n }\n }\n else\n {\n box.left = 0;\n box.top = 0;\n box.front = 0;\n box.right = mipWidth;\n box.bottom = mipHeight;\n box.back = mipDepth;\n }\n }\n\n /**\n * Whether the range covers the entire texture.\n *\n * @param {import(\"./Tr2BitmapDimensions.js\").Tr2BitmapDimensions} texture The texture to check against.\n * @returns {boolean} True when nothing is left out.\n */\n IsSubresourceFull(texture)\n {\n if (this.m_startFace > 0 || this.m_endFace < texture.GetArraySize()) return false;\n\n if (this.m_startMipLevel > 0) return false;\n\n if (this.m_endMipLevel < texture.GetTrueMipCount()) return false;\n\n if (this.HasBox())\n {\n const box = this.m_box;\n\n if (box.left > 0 || box.top > 0 || box.front > 0) return false;\n\n if (box.right < texture.GetWidth() || box.bottom < texture.GetHeight() || box.back < texture.GetDepth())\n {\n return false;\n }\n }\n\n return true;\n }\n\n /**\n * Whether the range fits inside a texture.\n *\n * @param {import(\"./Tr2BitmapDimensions.js\").Tr2BitmapDimensions} bitmap The texture to check against.\n * @returns {boolean} True when it fits.\n */\n IsValidForBitmap(bitmap)\n {\n if (this.m_endFace > bitmap.GetArraySize()) return false;\n\n if (this.m_endMipLevel > bitmap.GetTrueMipCount()) return false;\n\n if (this.HasBox())\n {\n const box = this.m_box;\n\n if (box.right > bitmap.GetMipWidth(this.m_startMipLevel)) return false;\n\n if (box.bottom > bitmap.GetMipHeight(this.m_startMipLevel)) return false;\n\n if (bitmap.GetType() === TextureType.TEX_TYPE_3D && box.back > bitmap.GetMipDepth(this.m_startMipLevel)) return false;\n }\n\n return true;\n }\n\n /**\n * Whether the range is self-consistent: non-empty in every dimension.\n *\n * @returns {boolean} True when valid.\n */\n IsValid()\n {\n if (this.HasBox())\n {\n const box = this.m_box;\n\n if (box.left >= box.right || box.top >= box.bottom || box.front >= box.back) return false;\n }\n\n return this.m_startFace < this.m_endFace && this.m_startMipLevel < this.m_endMipLevel;\n }\n\n /**\n * Whether two ranges name the same region.\n *\n * @param {Tr2TextureSubresource} other The region to compare with.\n * @returns {boolean} True when they match.\n */\n Equals(other)\n {\n return this.m_startFace === other.m_startFace &&\n this.m_endFace === other.m_endFace &&\n this.m_startMipLevel === other.m_startMipLevel &&\n this.m_endMipLevel === other.m_endMipLevel &&\n this.m_box.Equals(other.m_box);\n }\n}\n\n/**\n * Crops a source and destination region to their textures and to each other.\n *\n * Carbon runs the clamp TWICE on purpose: the first pass fits each region to\n * its own texture, the shrink then makes them the same size, and the second\n * pass catches a box the shrink pushed back out of range.\n *\n * @param {Tr2TextureSubresource} sourceSR Source region; mutated in place.\n * @param {import(\"./Tr2BitmapDimensions.js\").Tr2BitmapDimensions} sourceBD Source texture.\n * @param {Tr2TextureSubresource} destSR Destination region; mutated in place.\n * @param {import(\"./Tr2BitmapDimensions.js\").Tr2BitmapDimensions} destBD Destination texture.\n * @returns {boolean} True when a copy would make sense.\n */\nexport function Crop(sourceSR, sourceBD, destSR, destBD)\n{\n if (destSR.GetFaceCount() !== sourceSR.GetFaceCount()) return false;\n\n if (sourceSR.HasBox() && destSR.HasBox() && destSR.GetDepth() !== sourceSR.GetDepth()) return false;\n\n sourceSR.ClampToTexture(sourceBD);\n destSR.ClampToTexture(destBD);\n\n if (sourceSR.GetWidth() < destSR.GetWidth())\n {\n destSR.m_box.right = destSR.m_box.left + sourceSR.GetWidth();\n }\n else\n {\n sourceSR.m_box.right = sourceSR.m_box.left + destSR.GetWidth();\n }\n\n if (sourceSR.GetHeight() < destSR.GetHeight())\n {\n destSR.m_box.bottom = destSR.m_box.top + sourceSR.GetHeight();\n }\n else\n {\n sourceSR.m_box.bottom = sourceSR.m_box.top + destSR.GetHeight();\n }\n\n sourceSR.ClampToTexture(sourceBD);\n destSR.ClampToTexture(destBD);\n\n return sourceSR.IsValid() && destSR.IsValid();\n}\n"],"names":["UNSET","Tr2TextureSubresource","m_startFace","m_endFace","m_startMipLevel","m_endMipLevel","m_box","Tr2TextureCoordBox","ForMipLevel","mipLevel","region","ForFace","face","GetWidth","GetHeight","GetDepth","GetMipCount","GetFaceCount","HasBox","box","left","top","front","right","bottom","back","IsSingleSubresource","SetBox","ltfrbb","SetRect","ClampToTexture","texture","arraySize","Math","max","GetArraySize","min","GetTrueMipCount","mipWidth","GetMipWidth","mipHeight","GetMipHeight","mipDepth","GetType","TextureType","TEX_TYPE_3D","IsSubresourceFull","IsValidForBitmap","bitmap","GetMipDepth","IsValid","Equals","other","Crop","sourceSR","sourceBD","destSR","destBD"],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ // Source: trinity/trinityal/Tr2HalHelperStructures.h:27-48
2
+ //
3
+ // ONE FOLDER PER DONOR HEADER - see the sibling files for why.
4
+ //
5
+ // WAS NEVER PORTED. Carbon's comment calls it "Viewport for use with
6
+ // Tr2RenderContextAL", and the AL's viewport verbs were being passed loose
7
+ // objects instead, so nothing named the type or its defaults.
8
+ //
9
+ // THE TWO CONSTRUCTORS DIFFER, and the difference is Carbon's. The default one
10
+ // leaves EVERY field uninitialised - C++ gives a `float` member no value, so a
11
+ // default-constructed viewport holds garbage until someone assigns it. The
12
+ // `(width, height)` one sets all six. JavaScript cannot express "uninitialised",
13
+ // so the fields read zero here; the depth range is therefore 0..0 rather than
14
+ // Carbon's 0..1 until the sized constructor or an assignment runs, which is the
15
+ // one behaviour a caller could tell apart.
16
+
17
+ /**
18
+ * The viewport a render context draws through.
19
+ */
20
+ class Tr2Viewport {
21
+ m_x = 0;
22
+ m_y = 0;
23
+ m_width = 0;
24
+ m_height = 0;
25
+
26
+ /**
27
+ * Near depth. Carbon's sized constructor sets 0; its default constructor leaves
28
+ * this uninitialised, which JavaScript cannot reproduce.
29
+ */
30
+ m_minZ = 0;
31
+
32
+ /** Far depth. Carbon's sized constructor sets 1. */
33
+ m_maxZ = 0;
34
+
35
+ /**
36
+ * @param {number} [width] Width in pixels; omit for Carbon's default constructor.
37
+ * @param {number} [height] Height in pixels.
38
+ */
39
+ constructor(width = undefined, height = undefined) {
40
+ if (width === undefined && height === undefined) return;
41
+ this.m_x = 0;
42
+ this.m_y = 0;
43
+ this.m_width = Number(width);
44
+ this.m_height = Number(height);
45
+ this.m_minZ = 0;
46
+ this.m_maxZ = 1;
47
+ }
48
+ }
49
+
50
+ export { Tr2Viewport };
51
+ //# sourceMappingURL=Tr2Viewport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2Viewport.js","sources":["../../../../src/trinityal/Tr2HalHelperStructures/Tr2Viewport.js"],"sourcesContent":["// Source: trinity/trinityal/Tr2HalHelperStructures.h:27-48\n//\n// ONE FOLDER PER DONOR HEADER - see the sibling files for why.\n//\n// WAS NEVER PORTED. Carbon's comment calls it \"Viewport for use with\n// Tr2RenderContextAL\", and the AL's viewport verbs were being passed loose\n// objects instead, so nothing named the type or its defaults.\n//\n// THE TWO CONSTRUCTORS DIFFER, and the difference is Carbon's. The default one\n// leaves EVERY field uninitialised - C++ gives a `float` member no value, so a\n// default-constructed viewport holds garbage until someone assigns it. The\n// `(width, height)` one sets all six. JavaScript cannot express \"uninitialised\",\n// so the fields read zero here; the depth range is therefore 0..0 rather than\n// Carbon's 0..1 until the sized constructor or an assignment runs, which is the\n// one behaviour a caller could tell apart.\n\n\n/**\n * The viewport a render context draws through.\n */\nexport class Tr2Viewport\n{\n m_x = 0;\n\n m_y = 0;\n\n m_width = 0;\n\n m_height = 0;\n\n /**\n * Near depth. Carbon's sized constructor sets 0; its default constructor leaves\n * this uninitialised, which JavaScript cannot reproduce.\n */\n m_minZ = 0;\n\n /** Far depth. Carbon's sized constructor sets 1. */\n m_maxZ = 0;\n\n /**\n * @param {number} [width] Width in pixels; omit for Carbon's default constructor.\n * @param {number} [height] Height in pixels.\n */\n constructor(width = undefined, height = undefined)\n {\n if (width === undefined && height === undefined) return;\n\n this.m_x = 0;\n this.m_y = 0;\n this.m_width = Number(width);\n this.m_height = Number(height);\n this.m_minZ = 0;\n this.m_maxZ = 1;\n }\n}\n"],"names":["Tr2Viewport","m_x","m_y","m_width","m_height","m_minZ","m_maxZ","constructor","width","undefined","height","Number"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACO,MAAMA,WAAW,CACxB;AACEC,EAAAA,GAAG,GAAG,CAAC;AAEPC,EAAAA,GAAG,GAAG,CAAC;AAEPC,EAAAA,OAAO,GAAG,CAAC;AAEXC,EAAAA,QAAQ,GAAG,CAAC;;AAEZ;AACF;AACA;AACA;AACEC,EAAAA,MAAM,GAAG,CAAC;;AAEV;AACAC,EAAAA,MAAM,GAAG,CAAC;;AAEV;AACF;AACA;AACA;EACEC,WAAWA,CAACC,KAAK,GAAGC,SAAS,EAAEC,MAAM,GAAGD,SAAS,EACjD;AACE,IAAA,IAAID,KAAK,KAAKC,SAAS,IAAIC,MAAM,KAAKD,SAAS,EAAE;IAEjD,IAAI,CAACR,GAAG,GAAG,CAAC;IACZ,IAAI,CAACC,GAAG,GAAG,CAAC;AACZ,IAAA,IAAI,CAACC,OAAO,GAAGQ,MAAM,CAACH,KAAK,CAAC;AAC5B,IAAA,IAAI,CAACJ,QAAQ,GAAGO,MAAM,CAACD,MAAM,CAAC;IAC9B,IAAI,CAACL,MAAM,GAAG,CAAC;IACf,IAAI,CAACC,MAAM,GAAG,CAAC;AACjB,EAAA;AACF;;;;"}
@@ -1,6 +1,6 @@
1
- import '../global/consts/renderContext/formats.js';
2
- import '../global/consts/renderContext/pipeline.js';
3
- import { Tr2LoadAction, Tr2StoreAction } from '../global/consts/renderContext/renderPass.js';
1
+ import '../../global/consts/renderContext/formats.js';
2
+ import '../../global/consts/renderContext/pipeline.js';
3
+ import { Tr2LoadAction, Tr2StoreAction } from '../../global/consts/renderContext/renderPass.js';
4
4
 
5
5
  // Source: trinity/trinityal/include/Tr2RenderPassAL.h
6
6
  //
@@ -11,29 +11,6 @@ import { Tr2LoadAction, Tr2StoreAction } from '../global/consts/renderContext/re
11
11
  // every call site in `EveSpaceScene.cpp`.
12
12
 
13
13
 
14
- /** How a pass treats its depth attachment. */
15
- class Tr2DepthAttachment {
16
- /** What the pass does with the existing depth. */
17
- load = Tr2LoadAction.DONT_CARE;
18
-
19
- /** Whether the resulting depth is written back. */
20
- store = Tr2StoreAction.DONT_CARE;
21
-
22
- /** The depth a CLEAR load starts from. */
23
- clearValue = 0;
24
-
25
- /**
26
- * @param {number} [load] A `Tr2LoadAction`.
27
- * @param {number} [store] A `Tr2StoreAction`.
28
- * @param {number} [clearValue] The depth a CLEAR starts from.
29
- */
30
- constructor(load = Tr2LoadAction.DONT_CARE, store = Tr2StoreAction.DONT_CARE, clearValue = 0) {
31
- this.load = load;
32
- this.store = store;
33
- this.clearValue = clearValue;
34
- }
35
- }
36
-
37
14
  /** How a pass treats one colour attachment. */
38
15
  class Tr2ColorAttachment {
39
16
  /** What the pass does with the existing colour. */
@@ -57,5 +34,5 @@ class Tr2ColorAttachment {
57
34
  }
58
35
  }
59
36
 
60
- export { Tr2ColorAttachment, Tr2DepthAttachment };
61
- //# sourceMappingURL=Tr2RenderPassAL.js.map
37
+ export { Tr2ColorAttachment };
38
+ //# sourceMappingURL=Tr2ColorAttachment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2ColorAttachment.js","sources":["../../../../src/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js"],"sourcesContent":["// Source: trinity/trinityal/include/Tr2RenderPassAL.h\n//\n// The two attachment descriptions `RenderPassHint` takes.\n//\n// Both default to DONT_CARE/DONT_CARE, which is Carbon's default and is the\n// reason an empty `{}` reads as \"this attachment is not part of the hint\" at\n// every call site in `EveSpaceScene.cpp`.\n\nimport { Tr2LoadAction, Tr2StoreAction } from \"../../global/consts/renderContext/index.js\";\n\n/** How a pass treats one colour attachment. */\nexport class Tr2ColorAttachment\n{\n /** What the pass does with the existing colour. */\n load = Tr2LoadAction.DONT_CARE;\n\n /** Whether the resulting colour is written back. */\n store = Tr2StoreAction.DONT_CARE;\n\n /** The packed colour a CLEAR load starts from. */\n clearColor = 0;\n\n /**\n * @param {number} [load] A `Tr2LoadAction`.\n * @param {number} [store] A `Tr2StoreAction`.\n * @param {number} [clearColor] The packed colour a CLEAR starts from.\n */\n constructor(load = Tr2LoadAction.DONT_CARE, store = Tr2StoreAction.DONT_CARE, clearColor = 0)\n {\n this.load = load;\n this.store = store;\n this.clearColor = clearColor;\n }\n}\n"],"names":["Tr2ColorAttachment","load","Tr2LoadAction","DONT_CARE","store","Tr2StoreAction","clearColor","constructor"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAIA;AACO,MAAMA,kBAAkB,CAC/B;AACE;EACAC,IAAI,GAAGC,aAAa,CAACC,SAAS;;AAE9B;EACAC,KAAK,GAAGC,cAAc,CAACF,SAAS;;AAEhC;AACAG,EAAAA,UAAU,GAAG,CAAC;;AAEd;AACF;AACA;AACA;AACA;AACEC,EAAAA,WAAWA,CAACN,IAAI,GAAGC,aAAa,CAACC,SAAS,EAAEC,KAAK,GAAGC,cAAc,CAACF,SAAS,EAAEG,UAAU,GAAG,CAAC,EAC5F;IACE,IAAI,CAACL,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACG,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACE,UAAU,GAAGA,UAAU;AAC9B,EAAA;AACF;;;;"}
@@ -0,0 +1,38 @@
1
+ import '../../global/consts/renderContext/formats.js';
2
+ import '../../global/consts/renderContext/pipeline.js';
3
+ import { Tr2LoadAction, Tr2StoreAction } from '../../global/consts/renderContext/renderPass.js';
4
+
5
+ // Source: trinity/trinityal/include/Tr2RenderPassAL.h
6
+ //
7
+ // The two attachment descriptions `RenderPassHint` takes.
8
+ //
9
+ // Both default to DONT_CARE/DONT_CARE, which is Carbon's default and is the
10
+ // reason an empty `{}` reads as "this attachment is not part of the hint" at
11
+ // every call site in `EveSpaceScene.cpp`.
12
+
13
+
14
+ /** How a pass treats its depth attachment. */
15
+ class Tr2DepthAttachment {
16
+ /** What the pass does with the existing depth. */
17
+ load = Tr2LoadAction.DONT_CARE;
18
+
19
+ /** Whether the resulting depth is written back. */
20
+ store = Tr2StoreAction.DONT_CARE;
21
+
22
+ /** The depth a CLEAR load starts from. */
23
+ clearValue = 0;
24
+
25
+ /**
26
+ * @param {number} [load] A `Tr2LoadAction`.
27
+ * @param {number} [store] A `Tr2StoreAction`.
28
+ * @param {number} [clearValue] The depth a CLEAR starts from.
29
+ */
30
+ constructor(load = Tr2LoadAction.DONT_CARE, store = Tr2StoreAction.DONT_CARE, clearValue = 0) {
31
+ this.load = load;
32
+ this.store = store;
33
+ this.clearValue = clearValue;
34
+ }
35
+ }
36
+
37
+ export { Tr2DepthAttachment };
38
+ //# sourceMappingURL=Tr2DepthAttachment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2DepthAttachment.js","sources":["../../../../src/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js"],"sourcesContent":["// Source: trinity/trinityal/include/Tr2RenderPassAL.h\n//\n// The two attachment descriptions `RenderPassHint` takes.\n//\n// Both default to DONT_CARE/DONT_CARE, which is Carbon's default and is the\n// reason an empty `{}` reads as \"this attachment is not part of the hint\" at\n// every call site in `EveSpaceScene.cpp`.\n\nimport { Tr2LoadAction, Tr2StoreAction } from \"../../global/consts/renderContext/index.js\";\n\n/** How a pass treats its depth attachment. */\nexport class Tr2DepthAttachment\n{\n /** What the pass does with the existing depth. */\n load = Tr2LoadAction.DONT_CARE;\n\n /** Whether the resulting depth is written back. */\n store = Tr2StoreAction.DONT_CARE;\n\n /** The depth a CLEAR load starts from. */\n clearValue = 0;\n\n /**\n * @param {number} [load] A `Tr2LoadAction`.\n * @param {number} [store] A `Tr2StoreAction`.\n * @param {number} [clearValue] The depth a CLEAR starts from.\n */\n constructor(load = Tr2LoadAction.DONT_CARE, store = Tr2StoreAction.DONT_CARE, clearValue = 0)\n {\n this.load = load;\n this.store = store;\n this.clearValue = clearValue;\n }\n}\n"],"names":["Tr2DepthAttachment","load","Tr2LoadAction","DONT_CARE","store","Tr2StoreAction","clearValue","constructor"],"mappings":";;;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;;;AAIA;AACO,MAAMA,kBAAkB,CAC/B;AACE;EACAC,IAAI,GAAGC,aAAa,CAACC,SAAS;;AAE9B;EACAC,KAAK,GAAGC,cAAc,CAACF,SAAS;;AAEhC;AACAG,EAAAA,UAAU,GAAG,CAAC;;AAEd;AACF;AACA;AACA;AACA;AACEC,EAAAA,WAAWA,CAACN,IAAI,GAAGC,aAAa,CAACC,SAAS,EAAEC,KAAK,GAAGC,cAAc,CAACF,SAAS,EAAEG,UAAU,GAAG,CAAC,EAC5F;IACE,IAAI,CAACL,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACG,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACE,UAAU,GAAGA,UAAU;AAC9B,EAAA;AACF;;;;"}
@@ -0,0 +1,80 @@
1
+ import { applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
+ import { impl } from '#schema';
3
+ import { ShaderType } from '#consts/render-context';
4
+
5
+ let _initProto;
6
+ const MAX_RESOURCES_IN_STAGE = 32;
7
+
8
+ /** Stage/register to dense resource index, with counts spanning all stages. */
9
+ class Tr2RegisterMapAL {
10
+ static {
11
+ [_initProto] = _applyDecs2311(this, [], [[[impl, impl.adapted, void 0, impl.reason("JavaScript spells the C++ equality operator as a method.")], 18, "equals"]]).e;
12
+ }
13
+ static MAX_RESOURCES_IN_STAGE = MAX_RESOURCES_IN_STAGE;
14
+ srvCount = (_initProto(this), 0);
15
+ uavCount = 0;
16
+ samplerCount = 0;
17
+ srvs = Array.from({
18
+ length: ShaderType.SHADER_TYPE_COUNT
19
+ }, () => new Uint8Array(MAX_RESOURCES_IN_STAGE).fill(255));
20
+ uavs = Array.from({
21
+ length: ShaderType.SHADER_TYPE_COUNT
22
+ }, () => new Uint8Array(MAX_RESOURCES_IN_STAGE).fill(255));
23
+ samplers = Array.from({
24
+ length: ShaderType.SHADER_TYPE_COUNT
25
+ }, () => new Uint8Array(MAX_RESOURCES_IN_STAGE).fill(255));
26
+
27
+ /** JS adaptation: named selectors replace C++ constructor overloads. */
28
+ constructor({
29
+ stage = null,
30
+ signature = null,
31
+ shaders = null,
32
+ stages = [],
33
+ signatures = [],
34
+ copy = null
35
+ } = {}) {
36
+ // Deterministic 255 replaces uninitialized default arrays. Carbon only
37
+ // reads a category's arrays when its count is nonzero.
38
+ if (copy) {
39
+ this.srvCount = copy.srvCount;
40
+ this.uavCount = copy.uavCount;
41
+ this.samplerCount = copy.samplerCount;
42
+ this.srvs = copy.srvs.map(row => row.slice());
43
+ this.uavs = copy.uavs.map(row => row.slice());
44
+ this.samplers = copy.samplers.map(row => row.slice());
45
+ return;
46
+ }
47
+ if (signature) {
48
+ stages = [stage];
49
+ signatures = [signature];
50
+ } else if (shaders) {
51
+ stages = shaders.map(shader => shader.GetType());
52
+ signatures = shaders.map(shader => shader.GetSignature());
53
+ }
54
+ for (let index = 0; index < signatures.length; index += 1) {
55
+ // Input order, including duplicate registers, is intentional (:34-119).
56
+ for (const register of signatures[index]?.registers ?? []) {
57
+ const shaderStage = stages[index];
58
+ const slot = register.registerIndex;
59
+ if (register.registerType & 32) this.srvs[shaderStage][slot] = this.srvCount++;else if (register.registerType & 64) this.uavs[shaderStage][slot] = this.uavCount++;else if (register.registerType === 1) this.samplers[shaderStage][slot] = this.samplerCount++;
60
+ }
61
+ }
62
+ }
63
+
64
+ /** Carbon's operator==; a struct method uses lower camel case. */
65
+ equals(other) {
66
+ for (const [count, slots] of [["srvCount", "srvs"], ["uavCount", "uavs"], ["samplerCount", "samplers"]]) {
67
+ if (this[count] !== other[count]) return false;
68
+ if (this[count] === 0) continue;
69
+ for (let stage = 0; stage < ShaderType.SHADER_TYPE_COUNT; stage += 1) {
70
+ for (let slot = 0; slot < MAX_RESOURCES_IN_STAGE; slot += 1) {
71
+ if (this[slots][stage][slot] !== other[slots][stage][slot]) return false;
72
+ }
73
+ }
74
+ }
75
+ return true;
76
+ }
77
+ }
78
+
79
+ export { MAX_RESOURCES_IN_STAGE, Tr2RegisterMapAL };
80
+ //# sourceMappingURL=Tr2RegisterMapAL.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Tr2RegisterMapAL.js","sources":["../../../../src/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js"],"sourcesContent":["// Source: trinity/trinityal/include/Tr2ResourceSetAL.h:23\r\n// Source: trinity/trinityal/src/Tr2ResourceSetAL.cpp:27-144\r\nimport { impl } from \"#schema\";\r\nimport { ShaderType } from \"#consts/render-context\";\r\n\r\nexport const MAX_RESOURCES_IN_STAGE = 32;\r\n\r\n/** Stage/register to dense resource index, with counts spanning all stages. */\r\nexport class Tr2RegisterMapAL\r\n{\r\n static MAX_RESOURCES_IN_STAGE = MAX_RESOURCES_IN_STAGE;\r\n\r\n srvCount = 0;\r\n uavCount = 0;\r\n samplerCount = 0;\r\n srvs = Array.from({ length: ShaderType.SHADER_TYPE_COUNT }, () => new Uint8Array(MAX_RESOURCES_IN_STAGE).fill(255));\r\n uavs = Array.from({ length: ShaderType.SHADER_TYPE_COUNT }, () => new Uint8Array(MAX_RESOURCES_IN_STAGE).fill(255));\r\n samplers = Array.from({ length: ShaderType.SHADER_TYPE_COUNT }, () => new Uint8Array(MAX_RESOURCES_IN_STAGE).fill(255));\r\n\r\n /** JS adaptation: named selectors replace C++ constructor overloads. */\r\n constructor({ stage = null, signature = null, shaders = null, stages = [], signatures = [], copy = null } = {})\r\n {\r\n // Deterministic 255 replaces uninitialized default arrays. Carbon only\r\n // reads a category's arrays when its count is nonzero.\r\n if (copy)\r\n {\r\n this.srvCount = copy.srvCount;\r\n this.uavCount = copy.uavCount;\r\n this.samplerCount = copy.samplerCount;\r\n this.srvs = copy.srvs.map(row => row.slice());\r\n this.uavs = copy.uavs.map(row => row.slice());\r\n this.samplers = copy.samplers.map(row => row.slice());\r\n return;\r\n }\r\n if (signature)\r\n {\r\n stages = [ stage ];\r\n signatures = [ signature ];\r\n }\r\n else if (shaders)\r\n {\r\n stages = shaders.map(shader => shader.GetType());\r\n signatures = shaders.map(shader => shader.GetSignature());\r\n }\r\n for (let index = 0; index < signatures.length; index += 1)\r\n {\r\n // Input order, including duplicate registers, is intentional (:34-119).\r\n for (const register of (signatures[index]?.registers ?? []))\r\n {\r\n const shaderStage = stages[index];\r\n const slot = register.registerIndex;\r\n if (register.registerType & 32) this.srvs[shaderStage][slot] = this.srvCount++;\r\n else if (register.registerType & 64) this.uavs[shaderStage][slot] = this.uavCount++;\r\n else if (register.registerType === 1) this.samplers[shaderStage][slot] = this.samplerCount++;\r\n }\r\n }\r\n }\r\n\r\n /** Carbon's operator==; a struct method uses lower camel case. */\r\n @impl.adapted\r\n @impl.reason(\"JavaScript spells the C++ equality operator as a method.\")\r\n equals(other)\r\n {\r\n for (const [ count, slots ] of [ [ \"srvCount\", \"srvs\" ], [ \"uavCount\", \"uavs\" ], [ \"samplerCount\", \"samplers\" ] ])\r\n {\r\n if (this[count] !== other[count]) return false;\r\n if (this[count] === 0) continue;\r\n for (let stage = 0; stage < ShaderType.SHADER_TYPE_COUNT; stage += 1)\r\n {\r\n for (let slot = 0; slot < MAX_RESOURCES_IN_STAGE; slot += 1)\r\n {\r\n if (this[slots][stage][slot] !== other[slots][stage][slot]) return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n}\r\n"],"names":["MAX_RESOURCES_IN_STAGE","Tr2RegisterMapAL","_initProto","_applyDecs","impl","adapted","reason","e","srvCount","uavCount","samplerCount","srvs","Array","from","length","ShaderType","SHADER_TYPE_COUNT","Uint8Array","fill","uavs","samplers","constructor","stage","signature","shaders","stages","signatures","copy","map","row","slice","shader","GetType","GetSignature","index","register","registers","shaderStage","slot","registerIndex","registerType","equals","other","count","slots"],"mappings":";;;;;AAKO,MAAMA,sBAAsB,GAAG;;AAEtC;AACO,MAAMC,gBAAgB,CAC7B;AAAA,EAAA;AAAA,IAAA,CAAAC,UAAA,CAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,EAAA,EAAA,CAAA,CAAA,CAkDGC,IAAI,EAAJA,IAAI,CAACC,OAAO,EAAA,MAAA,EACZD,IAAI,CAACE,MAAM,CAAC,0DAA0D,CAAC,mBAAAC,CAAA;AAAA;EAlDxE,OAAOP,sBAAsB,GAAGA,sBAAsB;EAEtDQ,QAAQ,IAAAN,UAAA,CAAA,IAAA,CAAA,EAAG,CAAC;AACZO,EAAAA,QAAQ,GAAG,CAAC;AACZC,EAAAA,YAAY,GAAG,CAAC;AAChBC,EAAAA,IAAI,GAAGC,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAEC,UAAU,CAACC;AAAkB,GAAC,EAAE,MAAM,IAAIC,UAAU,CAACjB,sBAAsB,CAAC,CAACkB,IAAI,CAAC,GAAG,CAAC,CAAC;AACnHC,EAAAA,IAAI,GAAGP,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAEC,UAAU,CAACC;AAAkB,GAAC,EAAE,MAAM,IAAIC,UAAU,CAACjB,sBAAsB,CAAC,CAACkB,IAAI,CAAC,GAAG,CAAC,CAAC;AACnHE,EAAAA,QAAQ,GAAGR,KAAK,CAACC,IAAI,CAAC;IAAEC,MAAM,EAAEC,UAAU,CAACC;AAAkB,GAAC,EAAE,MAAM,IAAIC,UAAU,CAACjB,sBAAsB,CAAC,CAACkB,IAAI,CAAC,GAAG,CAAC,CAAC;;AAEvH;AACAG,EAAAA,WAAWA,CAAC;AAAEC,IAAAA,KAAK,GAAG,IAAI;AAAEC,IAAAA,SAAS,GAAG,IAAI;AAAEC,IAAAA,OAAO,GAAG,IAAI;AAAEC,IAAAA,MAAM,GAAG,EAAE;AAAEC,IAAAA,UAAU,GAAG,EAAE;AAAEC,IAAAA,IAAI,GAAG;GAAM,GAAG,EAAE,EAC9G;AACE;AACA;AACA,IAAA,IAAIA,IAAI,EACR;AACE,MAAA,IAAI,CAACnB,QAAQ,GAAGmB,IAAI,CAACnB,QAAQ;AAC7B,MAAA,IAAI,CAACC,QAAQ,GAAGkB,IAAI,CAAClB,QAAQ;AAC7B,MAAA,IAAI,CAACC,YAAY,GAAGiB,IAAI,CAACjB,YAAY;AACrC,MAAA,IAAI,CAACC,IAAI,GAAGgB,IAAI,CAAChB,IAAI,CAACiB,GAAG,CAACC,GAAG,IAAIA,GAAG,CAACC,KAAK,EAAE,CAAC;AAC7C,MAAA,IAAI,CAACX,IAAI,GAAGQ,IAAI,CAACR,IAAI,CAACS,GAAG,CAACC,GAAG,IAAIA,GAAG,CAACC,KAAK,EAAE,CAAC;AAC7C,MAAA,IAAI,CAACV,QAAQ,GAAGO,IAAI,CAACP,QAAQ,CAACQ,GAAG,CAACC,GAAG,IAAIA,GAAG,CAACC,KAAK,EAAE,CAAC;AACrD,MAAA;AACF,IAAA;AACA,IAAA,IAAIP,SAAS,EACb;MACEE,MAAM,GAAG,CAAEH,KAAK,CAAE;MAClBI,UAAU,GAAG,CAAEH,SAAS,CAAE;IAC5B,CAAC,MACI,IAAIC,OAAO,EAChB;AACEC,MAAAA,MAAM,GAAGD,OAAO,CAACI,GAAG,CAACG,MAAM,IAAIA,MAAM,CAACC,OAAO,EAAE,CAAC;AAChDN,MAAAA,UAAU,GAAGF,OAAO,CAACI,GAAG,CAACG,MAAM,IAAIA,MAAM,CAACE,YAAY,EAAE,CAAC;AAC3D,IAAA;AACA,IAAA,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGR,UAAU,CAACZ,MAAM,EAAEoB,KAAK,IAAI,CAAC,EACzD;AACE;MACA,KAAK,MAAMC,QAAQ,IAAKT,UAAU,CAACQ,KAAK,CAAC,EAAEE,SAAS,IAAI,EAAE,EAC1D;AACE,QAAA,MAAMC,WAAW,GAAGZ,MAAM,CAACS,KAAK,CAAC;AACjC,QAAA,MAAMI,IAAI,GAAGH,QAAQ,CAACI,aAAa;AACnC,QAAA,IAAIJ,QAAQ,CAACK,YAAY,GAAG,EAAE,EAAE,IAAI,CAAC7B,IAAI,CAAC0B,WAAW,CAAC,CAACC,IAAI,CAAC,GAAG,IAAI,CAAC9B,QAAQ,EAAE,CAAC,KAC1E,IAAI2B,QAAQ,CAACK,YAAY,GAAG,EAAE,EAAE,IAAI,CAACrB,IAAI,CAACkB,WAAW,CAAC,CAACC,IAAI,CAAC,GAAG,IAAI,CAAC7B,QAAQ,EAAE,CAAC,KAC/E,IAAI0B,QAAQ,CAACK,YAAY,KAAK,CAAC,EAAE,IAAI,CAACpB,QAAQ,CAACiB,WAAW,CAAC,CAACC,IAAI,CAAC,GAAG,IAAI,CAAC5B,YAAY,EAAE;AAC9F,MAAA;AACF,IAAA;AACF,EAAA;;AAEA;EAGA+B,MAAMA,CAACC,KAAK,EACZ;IACE,KAAK,MAAM,CAAEC,KAAK,EAAEC,KAAK,CAAE,IAAI,CAAE,CAAE,UAAU,EAAE,MAAM,CAAE,EAAE,CAAE,UAAU,EAAE,MAAM,CAAE,EAAE,CAAE,cAAc,EAAE,UAAU,CAAE,CAAE,EACjH;MACE,IAAI,IAAI,CAACD,KAAK,CAAC,KAAKD,KAAK,CAACC,KAAK,CAAC,EAAE,OAAO,KAAK;AAC9C,MAAA,IAAI,IAAI,CAACA,KAAK,CAAC,KAAK,CAAC,EAAE;AACvB,MAAA,KAAK,IAAIrB,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGP,UAAU,CAACC,iBAAiB,EAAEM,KAAK,IAAI,CAAC,EACpE;AACE,QAAA,KAAK,IAAIgB,IAAI,GAAG,CAAC,EAAEA,IAAI,GAAGtC,sBAAsB,EAAEsC,IAAI,IAAI,CAAC,EAC3D;UACE,IAAI,IAAI,CAACM,KAAK,CAAC,CAACtB,KAAK,CAAC,CAACgB,IAAI,CAAC,KAAKI,KAAK,CAACE,KAAK,CAAC,CAACtB,KAAK,CAAC,CAACgB,IAAI,CAAC,EAAE,OAAO,KAAK;AAC1E,QAAA;AACF,MAAA;AACF,IAAA;AACA,IAAA,OAAO,IAAI;AACb,EAAA;AACF;;;;"}