@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,196 @@
1
+ // The shared machinery behind the constant-data catalogs.
2
+ //
3
+ // C++ gets a struct's layout free from the type system, so Carbon never
4
+ // declares one; JavaScript has to. Two catalogs need the same declaration
5
+ // vocabulary and the same resolver - CjsPerObjectLayouts (per draw) and
6
+ // CjsPerFrameLayouts (per frame) - so it lives here rather than being forked.
7
+ //
8
+ // Carbon uploads both kinds by memcpy'ing the C++ struct straight into the
9
+ // constant buffer, so the C++ declaration order IS the byte layout the shader
10
+ // reads. Field ORDER and field SIZE are therefore the entire binding contract:
11
+ // renaming a field is safe, reordering or resizing one silently shifts every
12
+ // field after it.
13
+ //
14
+ // ONE CLASS, NOT A MODULE OF FREE FUNCTIONS. The vocabulary and the resolver
15
+ // belong to the same owner and are reached through it, so the two lookup tables
16
+ // that are nobody else's business - lanes per type, and the encoder kind per
17
+ // type - are private statics rather than a wider export surface.
18
+
19
+ /**
20
+ * Declared C++ member types. String values rather than ordinals so a typo
21
+ * throws at lookup instead of silently packing wrong, and a layout dump reads
22
+ * `"matrix4"` rather than `3`.
23
+ */
24
+ const TYPES = Object.freeze({
25
+ /** 16 floats. Stored transposed; written with SetAndTranspose. */
26
+ MATRIX4: "matrix4",
27
+ /** 4 floats. */
28
+ QUATERNION: "quaternion",
29
+ /** 4 floats. */
30
+ VECTOR4: "vector4",
31
+ /** 4 floats - Carbon `Color` (BlueVectorTypes.h:46: `float r, g, b, a`). */
32
+ COLOR: "color",
33
+ /** 3 floats. */
34
+ VECTOR3: "vector3",
35
+ /** 2 floats. */
36
+ VECTOR2: "vector2",
37
+ /** 1 float. */
38
+ FLOAT: "float",
39
+ /** 1 lane, bit-cast into the buffer's Uint32 view. */
40
+ UINT32: "uint32",
41
+ /** 1 lane, two's-complement bit-cast. */
42
+ INT32: "int32"
43
+ });
44
+
45
+ /**
46
+ * The declaration vocabulary and the resolver for both constant-data catalogs.
47
+ *
48
+ * Statics only: it is never instantiated, because it owns no state. A catalog
49
+ * declares its groups, calls `BuildLayouts` once, and hands the result to
50
+ * `ToRawLayout` when RawData asks for a struct.
51
+ */
52
+ class CjsConstantLayout {
53
+ /** Declared C++ member types. */
54
+ static Types = TYPES;
55
+
56
+ /** Which stages each buffer key binds to. */
57
+ static Stages = Object.freeze({
58
+ vs: Object.freeze(["vs"]),
59
+ ps: Object.freeze(["ps"]),
60
+ shared: Object.freeze(["vs", "ps"])
61
+ });
62
+
63
+ /** The neutral for a `vector4` field. */
64
+ static Zero4 = Object.freeze([0, 0, 0, 0]);
65
+
66
+ /** The neutral for a `matrix4` field. */
67
+ static Identity = Object.freeze([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
68
+
69
+ /** Float lanes per declared type. */
70
+ static #lanes = Object.freeze({
71
+ [TYPES.MATRIX4]: 16,
72
+ [TYPES.QUATERNION]: 4,
73
+ [TYPES.VECTOR4]: 4,
74
+ [TYPES.COLOR]: 4,
75
+ [TYPES.VECTOR3]: 3,
76
+ [TYPES.VECTOR2]: 2,
77
+ [TYPES.FLOAT]: 1,
78
+ [TYPES.UINT32]: 1,
79
+ [TYPES.INT32]: 1
80
+ });
81
+
82
+ /**
83
+ * Declared type -> the encoder kind that writes its bytes. These are the
84
+ * string values of `RawDataType`, written literally rather than imported so
85
+ * this module stays free of a cycle (RawData imports the catalogs, which
86
+ * import this). Anything absent encodes as `"vector"`.
87
+ */
88
+ static #encodings = Object.freeze({
89
+ [TYPES.MATRIX4]: "matrix",
90
+ [TYPES.UINT32]: "uint",
91
+ [TYPES.INT32]: "int"
92
+ });
93
+
94
+ /**
95
+ * Resolves every group's buffers into flat, offset-bearing layouts, keyed by
96
+ * struct name. `owner` names the calling catalog so a thrown message points
97
+ * at the file to fix.
98
+ */
99
+ static BuildLayouts(groups, owner) {
100
+ const layouts = new Map();
101
+ for (const [group, buffers] of Object.entries(groups)) {
102
+ for (const [key, buffer] of Object.entries(buffers)) {
103
+ if (layouts.has(buffer.struct)) {
104
+ throw new Error(`${owner}: duplicate struct name "${buffer.struct}"`);
105
+ }
106
+ layouts.set(buffer.struct, CjsConstantLayout.#ResolveLayout(group, key, buffer, owner));
107
+ }
108
+ }
109
+ return layouts;
110
+ }
111
+
112
+ /**
113
+ * A resolved layout in the shape RawData consumes: float offsets keyed by
114
+ * name, plus the stride, stages, and the defaults to apply on allocation.
115
+ *
116
+ * A default on an array field is repeated across every element: the neutral
117
+ * for a slot - identity for an unused custom mask - applies to every slot,
118
+ * not just the first.
119
+ */
120
+ static ToRawLayout(layout) {
121
+ const fields = {};
122
+ const defaults = [];
123
+ for (const field of layout.fields.values()) {
124
+ fields[field.name] = {
125
+ offset: field.offset,
126
+ size: field.size,
127
+ elements: field.count,
128
+ encoding: CjsConstantLayout.#encodings[field.type] ?? "vector"
129
+ };
130
+ if (field.default) {
131
+ defaults.push({
132
+ offset: field.offset,
133
+ values: field.count > 1 ? Array.from({
134
+ length: field.count
135
+ }, () => [...field.default]).flat() : [...field.default]
136
+ });
137
+ }
138
+ }
139
+ return {
140
+ fields,
141
+ stride: layout.stride,
142
+ stages: layout.stages,
143
+ defaults
144
+ };
145
+ }
146
+
147
+ /** Lays out one buffer, asserting Carbon's two register invariants. */
148
+ static #ResolveLayout(group, key, buffer, owner) {
149
+ const fields = new Map();
150
+ let offset = 0;
151
+ for (const [name, declared] of Object.entries(buffer.fields)) {
152
+ const lanes = CjsConstantLayout.#lanes[declared.type];
153
+ if (lanes === undefined) {
154
+ throw new Error(`${owner}: ${buffer.struct}.${name} has unknown type "${declared.type}"`);
155
+ }
156
+ const count = declared.count ?? 1;
157
+
158
+ // Carbon hand-pads these structs so no float4-sized member ever needs
159
+ // implicit padding. A catalog entry that breaks that is wrong, so it
160
+ // fails loud rather than silently inserting a gap.
161
+ if (lanes >= 4 && offset % 4) {
162
+ throw new Error(`${owner}: ${buffer.struct}.${name} would start at float ${offset}, ` + "which is not a register boundary");
163
+ }
164
+ fields.set(name, {
165
+ name,
166
+ type: declared.type,
167
+ offset,
168
+ size: lanes,
169
+ count,
170
+ default: declared.default ?? null,
171
+ isMatrix: declared.type === TYPES.MATRIX4,
172
+ isInteger: declared.type === TYPES.UINT32 || declared.type === TYPES.INT32
173
+ });
174
+ offset += lanes * count;
175
+ }
176
+
177
+ // Tr2PerObjectData.h:57 - "Size of per-object data must be a multiple of
178
+ // Vector4". The same holds for a per-frame buffer's registers. Reproduced
179
+ // so a bad catalog entry fails at build, not on screen.
180
+ if (offset % 4) {
181
+ throw new Error(`${owner}: ${buffer.struct} is ${offset} floats, not a multiple of Vector4`);
182
+ }
183
+ return {
184
+ struct: buffer.struct,
185
+ group,
186
+ key,
187
+ stages: CjsConstantLayout.Stages[key] ?? CjsConstantLayout.Stages.vs,
188
+ fields,
189
+ stride: offset,
190
+ registerCount: offset / 4
191
+ };
192
+ }
193
+ }
194
+
195
+ export { CjsConstantLayout };
196
+ //# sourceMappingURL=CjsConstantLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CjsConstantLayout.js","sources":["../../../../../src/trinity/core/rawData/CjsConstantLayout.js"],"sourcesContent":["// The shared machinery behind the constant-data catalogs.\n//\n// C++ gets a struct's layout free from the type system, so Carbon never\n// declares one; JavaScript has to. Two catalogs need the same declaration\n// vocabulary and the same resolver - CjsPerObjectLayouts (per draw) and\n// CjsPerFrameLayouts (per frame) - so it lives here rather than being forked.\n//\n// Carbon uploads both kinds by memcpy'ing the C++ struct straight into the\n// constant buffer, so the C++ declaration order IS the byte layout the shader\n// reads. Field ORDER and field SIZE are therefore the entire binding contract:\n// renaming a field is safe, reordering or resizing one silently shifts every\n// field after it.\n//\n// ONE CLASS, NOT A MODULE OF FREE FUNCTIONS. The vocabulary and the resolver\n// belong to the same owner and are reached through it, so the two lookup tables\n// that are nobody else's business - lanes per type, and the encoder kind per\n// type - are private statics rather than a wider export surface.\n\n\n/**\n * Declared C++ member types. String values rather than ordinals so a typo\n * throws at lookup instead of silently packing wrong, and a layout dump reads\n * `\"matrix4\"` rather than `3`.\n */\nconst TYPES = Object.freeze({\n /** 16 floats. Stored transposed; written with SetAndTranspose. */\n MATRIX4: \"matrix4\",\n\n /** 4 floats. */\n QUATERNION: \"quaternion\",\n\n /** 4 floats. */\n VECTOR4: \"vector4\",\n\n /** 4 floats - Carbon `Color` (BlueVectorTypes.h:46: `float r, g, b, a`). */\n COLOR: \"color\",\n\n /** 3 floats. */\n VECTOR3: \"vector3\",\n\n /** 2 floats. */\n VECTOR2: \"vector2\",\n\n /** 1 float. */\n FLOAT: \"float\",\n\n /** 1 lane, bit-cast into the buffer's Uint32 view. */\n UINT32: \"uint32\",\n\n /** 1 lane, two's-complement bit-cast. */\n INT32: \"int32\"\n});\n\n\n/**\n * The declaration vocabulary and the resolver for both constant-data catalogs.\n *\n * Statics only: it is never instantiated, because it owns no state. A catalog\n * declares its groups, calls `BuildLayouts` once, and hands the result to\n * `ToRawLayout` when RawData asks for a struct.\n */\nexport class CjsConstantLayout\n{\n\n /** Declared C++ member types. */\n static Types = TYPES;\n\n /** Which stages each buffer key binds to. */\n static Stages = Object.freeze({\n vs: Object.freeze([\"vs\"]),\n ps: Object.freeze([\"ps\"]),\n shared: Object.freeze([\"vs\", \"ps\"])\n });\n\n /** The neutral for a `vector4` field. */\n static Zero4 = Object.freeze([0, 0, 0, 0]);\n\n /** The neutral for a `matrix4` field. */\n static Identity = Object.freeze([\n 1, 0, 0, 0,\n 0, 1, 0, 0,\n 0, 0, 1, 0,\n 0, 0, 0, 1\n ]);\n\n /** Float lanes per declared type. */\n static #lanes = Object.freeze({\n [TYPES.MATRIX4]: 16,\n [TYPES.QUATERNION]: 4,\n [TYPES.VECTOR4]: 4,\n [TYPES.COLOR]: 4,\n [TYPES.VECTOR3]: 3,\n [TYPES.VECTOR2]: 2,\n [TYPES.FLOAT]: 1,\n [TYPES.UINT32]: 1,\n [TYPES.INT32]: 1\n });\n\n /**\n * Declared type -> the encoder kind that writes its bytes. These are the\n * string values of `RawDataType`, written literally rather than imported so\n * this module stays free of a cycle (RawData imports the catalogs, which\n * import this). Anything absent encodes as `\"vector\"`.\n */\n static #encodings = Object.freeze({\n [TYPES.MATRIX4]: \"matrix\",\n [TYPES.UINT32]: \"uint\",\n [TYPES.INT32]: \"int\"\n });\n\n /**\n * Resolves every group's buffers into flat, offset-bearing layouts, keyed by\n * struct name. `owner` names the calling catalog so a thrown message points\n * at the file to fix.\n */\n static BuildLayouts(groups, owner)\n {\n const layouts = new Map();\n\n for (const [group, buffers] of Object.entries(groups))\n {\n for (const [key, buffer] of Object.entries(buffers))\n {\n if (layouts.has(buffer.struct))\n {\n throw new Error(`${owner}: duplicate struct name \"${buffer.struct}\"`);\n }\n\n layouts.set(buffer.struct, CjsConstantLayout.#ResolveLayout(group, key, buffer, owner));\n }\n }\n\n return layouts;\n }\n\n /**\n * A resolved layout in the shape RawData consumes: float offsets keyed by\n * name, plus the stride, stages, and the defaults to apply on allocation.\n *\n * A default on an array field is repeated across every element: the neutral\n * for a slot - identity for an unused custom mask - applies to every slot,\n * not just the first.\n */\n static ToRawLayout(layout)\n {\n const fields = {};\n const defaults = [];\n\n for (const field of layout.fields.values())\n {\n fields[field.name] = {\n offset: field.offset,\n size: field.size,\n elements: field.count,\n encoding: CjsConstantLayout.#encodings[field.type] ?? \"vector\"\n };\n\n if (field.default)\n {\n defaults.push({\n offset: field.offset,\n values: field.count > 1\n ? Array.from({ length: field.count }, () => [ ...field.default ]).flat()\n : [ ...field.default ]\n });\n }\n }\n\n return { fields, stride: layout.stride, stages: layout.stages, defaults };\n }\n\n /** Lays out one buffer, asserting Carbon's two register invariants. */\n static #ResolveLayout(group, key, buffer, owner)\n {\n const fields = new Map();\n let offset = 0;\n\n for (const [name, declared] of Object.entries(buffer.fields))\n {\n const lanes = CjsConstantLayout.#lanes[declared.type];\n\n if (lanes === undefined)\n {\n throw new Error(`${owner}: ${buffer.struct}.${name} has unknown type \"${declared.type}\"`);\n }\n\n const count = declared.count ?? 1;\n\n // Carbon hand-pads these structs so no float4-sized member ever needs\n // implicit padding. A catalog entry that breaks that is wrong, so it\n // fails loud rather than silently inserting a gap.\n if (lanes >= 4 && offset % 4)\n {\n throw new Error(\n `${owner}: ${buffer.struct}.${name} would start at float ${offset}, `\n + \"which is not a register boundary\"\n );\n }\n\n fields.set(name, {\n name,\n type: declared.type,\n offset,\n size: lanes,\n count,\n default: declared.default ?? null,\n isMatrix: declared.type === TYPES.MATRIX4,\n isInteger: declared.type === TYPES.UINT32 || declared.type === TYPES.INT32\n });\n\n offset += lanes * count;\n }\n\n // Tr2PerObjectData.h:57 - \"Size of per-object data must be a multiple of\n // Vector4\". The same holds for a per-frame buffer's registers. Reproduced\n // so a bad catalog entry fails at build, not on screen.\n if (offset % 4)\n {\n throw new Error(\n `${owner}: ${buffer.struct} is ${offset} floats, not a multiple of Vector4`\n );\n }\n\n return {\n struct: buffer.struct,\n group,\n key,\n stages: CjsConstantLayout.Stages[key] ?? CjsConstantLayout.Stages.vs,\n fields,\n stride: offset,\n registerCount: offset / 4\n };\n }\n}\n"],"names":["TYPES","Object","freeze","MATRIX4","QUATERNION","VECTOR4","COLOR","VECTOR3","VECTOR2","FLOAT","UINT32","INT32","CjsConstantLayout","Types","Stages","vs","ps","shared","Zero4","Identity","BuildLayouts","groups","owner","layouts","Map","group","buffers","entries","key","buffer","has","struct","Error","set","ToRawLayout","layout","fields","defaults","field","values","name","offset","size","elements","count","encoding","type","default","push","Array","from","length","flat","stride","stages","#ResolveLayout","declared","lanes","undefined","isMatrix","isInteger","registerCount"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Types, IDENTITY, ZERO4, toRawLayout, buildLayouts } from './constantLayout.js';
1
+ import { CjsConstantLayout } from './CjsConstantLayout.js';
2
2
 
3
3
  // Per-frame constant-data layouts.
4
4
  //
@@ -30,6 +30,11 @@ import { Types, IDENTITY, ZERO4, toRawLayout, buildLayouts } from './constantLay
30
30
  // A shader reads whichever its scene binds; both start at the same register
31
31
  // (Tr2Renderer::GetPerFrameVSStartRegister), which is why the names collide in
32
32
  // HLSL but the layouts do not.
33
+ const {
34
+ Identity: IDENTITY,
35
+ Types,
36
+ Zero4: ZERO4
37
+ } = CjsConstantLayout;
33
38
 
34
39
  /**
35
40
  * EveSpaceScene.h:218-223. Carbon declares a `SunData` struct and both
@@ -488,7 +493,7 @@ class CjsPerFrameLayouts {
488
493
  /** A layout in the shape RawData consumes. */
489
494
  static ToRawLayout(struct) {
490
495
  const layout = CjsPerFrameLayouts.Get(struct);
491
- return layout ? toRawLayout(layout) : null;
496
+ return layout ? CjsConstantLayout.ToRawLayout(layout) : null;
492
497
  }
493
498
 
494
499
  /** The group a struct belongs to, with its stage key, or null. */
@@ -513,7 +518,7 @@ class CjsPerFrameLayouts {
513
518
  */
514
519
  static #Resolved() {
515
520
  if (!CjsPerFrameLayouts.#layouts) {
516
- CjsPerFrameLayouts.#layouts = buildLayouts(GROUPS, "CjsPerFrameLayouts");
521
+ CjsPerFrameLayouts.#layouts = CjsConstantLayout.BuildLayouts(GROUPS, "CjsPerFrameLayouts");
517
522
  }
518
523
  return CjsPerFrameLayouts.#layouts;
519
524
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CjsPerFrameLayouts.js","sources":["../../../../../src/trinity/core/rawData/CjsPerFrameLayouts.js"],"sourcesContent":["// Per-frame constant-data layouts.\r\n//\r\n// The twin of CjsPerObjectLayouts, one tier up: these are the buffers bound\r\n// once per frame rather than once per draw. Every EVE shader's global input\r\n// list opens with `PerFrameVS;PerFramePS;` (ParserUtils.cpp:525-533 recognises\r\n// exactly those two names), so nothing can be bound without them.\r\n//\r\n// Same rules as the per-object catalog, for the same reason - Carbon memcpys\r\n// the C++ struct into the buffer, so declaration order IS the byte layout:\r\n//\r\n// vs - bound to the vertex stage (Carbon's perFrameVsMask also covers\r\n// cs/gs/hs/ds; see EveSpaceScene.cpp:824)\r\n// ps - bound to the pixel stage\r\n//\r\n// Every matrix here is TRANSPOSED except the two Carbon comments call out:\r\n// `ViewInverseTransposeMat` is stored UNtransposed, because the shader wants\r\n// column_major and the value wanted is already the transpose - so\r\n// transpose(transpose(m)) == m (EveSpaceScene.cpp:3023-3024, 3079-3080). See\r\n// the carbon-math-conventions skill.\r\n//\r\n// There are two families, and they are NOT interchangeable:\r\n//\r\n// Tr2PerFrame* - Tr2ConstantBufferFormats.h:53-92, the generic engine\r\n// block used by interiors, WoD baking, and primitives.\r\n// EveSpaceScene* - EveSpaceScene.h:240-327, the much larger space-scene\r\n// block, with shadow cascades and froxel fog.\r\n//\r\n// A shader reads whichever its scene binds; both start at the same register\r\n// (Tr2Renderer::GetPerFrameVSStartRegister), which is why the names collide in\r\n// HLSL but the layouts do not.\r\nimport { IDENTITY, Types, ZERO4, buildLayouts, toRawLayout } from \"./constantLayout.js\";\r\n\r\n\r\n/**\r\n * EveSpaceScene.h:218-223. Carbon declares a `SunData` struct and both\r\n * space-scene blocks hold it as a member named `Sun` (`:246`, `:314`), so the\r\n * field is `Sun.DirWorld`. The catalog resolves flat float offsets rather than\r\n * nested structs, but the NAME keeps the dot: collapsing it to `SunDirWorld`\r\n * invents an identifier Carbon does not have, and it disagreed with the dotted\r\n * form the WebGPU harness's bounded serializer already uses for the same field —\n * which surfaces as a bare `unknown field` from `RawData.Set` and costs real\r\n * time to trace.\r\n *\r\n * `DirWorld` is stored NEGATED and normalized - shaders work with the\r\n * direction TO the light (EveSpaceScene.cpp:3039).\r\n */\r\nconst SUN_DATA = Object.freeze({\r\n \"Sun.DirWorld\": { type: Types.VECTOR3 },\r\n \"Sun.unused_pad0\": { type: Types.FLOAT },\r\n \"Sun.DiffuseColor\": { type: Types.COLOR }\r\n});\r\n\r\n\r\n/** Tr2ShadowMap.h:15. */\r\nconst SHADOW_FRUSTUM_COUNT = 16;\r\n\r\n\r\n/** Tr2ConstantBufferFormats.h:53 - the generic per-frame vertex block. */\r\nexport const Tr2PerFrame = Object.freeze({\r\n vs: {\r\n struct: \"Tr2PerFrameVSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n sunDirWorld: { type: Types.VECTOR4 },\r\n sceneFogColor: { type: Types.COLOR },\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ProjectionMat: { type: Types.MATRIX4, default: IDENTITY }\r\n }\r\n },\r\n\r\n /** Tr2ConstantBufferFormats.h:73. */\r\n ps: {\r\n struct: \"Tr2PerFramePSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n sceneAmbientColor: { type: Types.COLOR },\r\n sceneFogColor: { type: Types.COLOR },\r\n sunDirWorld: { type: Types.VECTOR4 },\r\n sunDiffuseColor: { type: Types.COLOR },\r\n sunSpecularColor: { type: Types.COLOR },\r\n maxFogAmount: { type: Types.FLOAT },\r\n maxFogDistance: { type: Types.FLOAT },\r\n minFogDistance: { type: Types.FLOAT },\r\n\r\n /** +1 for normal RH culling, -1 for LH culling. */\r\n cullDirection: { type: Types.FLOAT },\r\n\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n shScale: { type: Types.FLOAT },\r\n shadowCount: { type: Types.FLOAT },\r\n invShadowSize: { type: Types.FLOAT },\r\n radius: { type: Types.FLOAT },\r\n\r\n /** xy - viewport width/height, zw - viewport offset. */\r\n viewPort: { type: Types.VECTOR4 },\r\n\r\n ViewProjInverse: { type: Types.MATRIX4, default: IDENTITY }\r\n }\r\n }\r\n});\r\n\r\n\r\n/**\r\n * Tr2ConstantBufferFormats.h:66 - the two-matrix block the debug renderer\r\n * binds in place of the full VS one (Tr2InteriorScene.cpp:856).\r\n */\r\nexport const Tr2PerFrameDebug = Object.freeze({\r\n vs: {\r\n struct: \"Tr2PerFrameVSDataDebug\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY }\r\n }\r\n }\r\n});\r\n\r\n\r\n/**\r\n * Tr2ConstantBufferFormats.h:10 - one register, bound by the shadow and SSAO\r\n * depth passes.\r\n */\r\nexport const Tr2PerFrameShadow = Object.freeze({\r\n ps: {\r\n struct: \"Tr2PerFrameShadowPSData\",\r\n fields: {\r\n /** The SSAO depth pass hijacks this to store zNear. */\r\n lightRadius: { type: Types.FLOAT },\r\n zFar: { type: Types.FLOAT },\r\n unused2: { type: Types.FLOAT },\r\n unused3: { type: Types.FLOAT }\r\n }\r\n }\r\n});\r\n\r\n\r\n/**\r\n * EveSpaceScene.h:300-327 / :240-294 - the space-scene per-frame blocks.\r\n *\r\n * Ten matrices lead the vertex block because a space frame needs the current\r\n * and previous view/projection pair (motion vectors) plus the shadow and\r\n * env-map transforms.\r\n */\r\nexport const EveSpaceScenePerFrame = Object.freeze({\r\n vs: {\r\n struct: \"EveSpaceScenePerFrameVSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ShadowViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ShadowViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n EnvMapRotationMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewProjectionLast: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewLast: { type: Types.MATRIX4, default: IDENTITY },\r\n ProjLast: { type: Types.MATRIX4, default: IDENTITY },\r\n\r\n // Sun data reaches the vertex stage too, so lighting that is cheap\r\n // enough can be done per-vertex rather than per-pixel.\r\n ...SUN_DATA,\r\n\r\n /** x = fogEnd/range, y = 1/range, z = fogMax. */\r\n FogFactors: { type: Types.VECTOR3 },\r\n pad: { type: Types.FLOAT },\r\n\r\n TargetResolution: { type: Types.VECTOR2 },\r\n FovXY: { type: Types.VECTOR2 },\r\n\r\n /** Reconstructs clip positions without the viewport adjustment. */\r\n ViewportAdjustment: { type: Types.VECTOR4, default: [1, 1, 1, 1] },\r\n\r\n Time: { type: Types.FLOAT },\r\n Upscaling: { type: Types.FLOAT, default: [1] },\r\n ViewportSize: { type: Types.VECTOR2 }\r\n }\r\n },\r\n\r\n ps: {\r\n struct: \"EveSpaceScenePerFramePSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n EnvMapRotationMat: { type: Types.MATRIX4, default: IDENTITY },\r\n\r\n ...SUN_DATA,\r\n\r\n AmbientColor: { type: Types.VECTOR3 },\r\n ReflectionIntensity: { type: Types.FLOAT },\r\n\r\n /** rgb = fog colour, a = fogMax. */\r\n FogColor: { type: Types.VECTOR4 },\r\n\r\n // ViewportOffsetSize\r\n ViewportOffset: { type: Types.VECTOR2 },\r\n ViewportSize: { type: Types.VECTOR2 },\r\n\r\n // RenderTargetData\r\n TargetResolution: { type: Types.VECTOR2 },\r\n\r\n /** Legacy; Carbon always writes 1 (EveSpaceScene.cpp:3138). */\r\n DepthMapSampleCount: { type: Types.FLOAT, default: [1] },\r\n Debug: { type: Types.FLOAT },\r\n\r\n ShadowMapSettings: { type: Types.VECTOR4, default: [1, 1, 0, 0] },\r\n\r\n // ShadowMapSettings2\r\n ShadowCameraRange: { type: Types.VECTOR2, default: [1, 0] },\r\n ShadowLightness: { type: Types.FLOAT },\r\n ShadowQuality: { type: Types.UINT32 },\r\n\r\n // ProjectionData\r\n ProjectionToView: { type: Types.VECTOR2 },\r\n FovXY: { type: Types.VECTOR2 },\r\n\r\n // MiscData\r\n Time: { type: Types.FLOAT },\r\n SceneMipLodBias: { type: Types.FLOAT },\r\n Upscaling: { type: Types.FLOAT, default: [1] },\r\n GammaBrightness: { type: Types.FLOAT },\r\n\r\n FrameIndex: { type: Types.UINT32 },\r\n\r\n /** 0 if off, 1 if on. */\r\n Jittering: { type: Types.UINT32 },\r\n\r\n /** For the dynamic-light shadow atlas. */\r\n InverseShadowMapAtlasSize: { type: Types.FLOAT },\r\n ShadowMapAtlasEntryMinSizeLog2: { type: Types.UINT32 },\r\n\r\n // Carbon writes 1000/10000/100000/1000000 every frame\r\n // (EveSpaceScene.cpp:3196-3199). No catalog default: the four\r\n // slices differ, and a catalog default is one value repeated.\r\n VolumetricSlices: { type: Types.FLOAT, count: 4 },\r\n\r\n /** x..w = the zFar value of each cascade split. */\r\n ShadowMapValues: { type: Types.VECTOR4, count: 4, default: ZERO4 },\r\n\r\n ShadowMatrixVal: {\r\n type: Types.MATRIX4,\r\n count: SHADOW_FRUSTUM_COUNT,\r\n default: IDENTITY\r\n },\r\n\r\n SplitInfo: { type: Types.VECTOR4 },\r\n ProjectionInverseMat: { type: Types.MATRIX4, default: IDENTITY },\r\n CascadeRanges: { type: Types.VECTOR4, count: 16, default: ZERO4 },\r\n\r\n // Tr2VolumetricsRenderer::FroxelPerFrameData, laid out inline\r\n // (Tr2VolumetricsRenderer.h:119-135). The renderer fills it.\r\n FroxelFogColor: { type: Types.VECTOR3 },\r\n FroxelBackgroundVisibility: { type: Types.FLOAT },\r\n FroxelBaseDensity: { type: Types.FLOAT },\r\n FroxelMaxDistance: { type: Types.FLOAT },\r\n FroxelMaxDistanceVisibility: { type: Types.FLOAT },\r\n FroxelEnvironmentIntensity: { type: Types.FLOAT },\r\n FroxelEnvironmentG: { type: Types.FLOAT },\r\n FroxelPad0: { type: Types.FLOAT },\r\n FroxelPad1: { type: Types.FLOAT },\r\n FroxelPad2: { type: Types.FLOAT },\r\n\r\n /** CcpMath::Sphere[2] - xyz centre, w radius. */\r\n FroxelPlanets: { type: Types.VECTOR4, count: 2, default: ZERO4 }\r\n }\r\n }\r\n});\r\n\r\n\r\nconst GROUPS = Object.freeze({\r\n Tr2PerFrame,\r\n Tr2PerFrameDebug,\r\n Tr2PerFrameShadow,\r\n EveSpaceScenePerFrame\r\n});\r\n\r\n\r\n/**\r\n * Resolved per-frame layouts, keyed by struct name. Offsets are FLOAT offsets\r\n * from the start of the buffer.\r\n *\r\n * Deliberately a sibling of CjsPerObjectLayouts rather than more entries in\r\n * it: the two tiers have different lifetimes, different owners (scene vs\r\n * renderable), and an engine binds them to different slots.\r\n */\r\nexport class CjsPerFrameLayouts\r\n{\r\n\r\n static Types = Types;\r\n\r\n static Groups = GROUPS;\r\n\r\n /** Tr2ShadowMap.h:15 - the cascade count ShadowMatrixVal is sized by. */\r\n static SHADOW_FRUSTUM_COUNT = SHADOW_FRUSTUM_COUNT;\r\n\r\n /** Resolved layouts by struct name, built once. */\r\n static #layouts = null;\r\n\r\n /**\r\n * The layout for one struct name, or null when it is not catalogued. A\r\n * caller must treat null as \"not covered\" and fail rather than guess.\r\n */\r\n static Get(struct)\r\n {\r\n return CjsPerFrameLayouts.#Resolved().get(struct) ?? null;\r\n }\r\n\r\n /** Every catalogued struct name. */\r\n static Names()\r\n {\r\n return [...CjsPerFrameLayouts.#Resolved().keys()];\r\n }\r\n\r\n /** A layout in the shape RawData consumes. */\r\n static ToRawLayout(struct)\r\n {\r\n const layout = CjsPerFrameLayouts.Get(struct);\r\n\r\n return layout ? toRawLayout(layout) : null;\r\n }\r\n\r\n /** The group a struct belongs to, with its stage key, or null. */\r\n static Find(struct)\r\n {\r\n for (const [group, buffers] of Object.entries(GROUPS))\r\n {\r\n for (const [key, buffer] of Object.entries(buffers))\r\n {\r\n if (buffer.struct === struct)\r\n {\r\n return { group, key, buffer };\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * The resolved layout map, built once on first use and cached.\r\n * @returns {Map} struct name -> resolved layout\r\n */\r\n static #Resolved()\r\n {\r\n if (!CjsPerFrameLayouts.#layouts)\r\n {\r\n CjsPerFrameLayouts.#layouts = buildLayouts(GROUPS, \"CjsPerFrameLayouts\");\r\n }\r\n\r\n return CjsPerFrameLayouts.#layouts;\r\n }\r\n\r\n}\r\n"],"names":["SUN_DATA","Object","freeze","type","Types","VECTOR3","FLOAT","COLOR","SHADOW_FRUSTUM_COUNT","Tr2PerFrame","vs","struct","fields","ViewInverseTransposeMat","MATRIX4","default","IDENTITY","sunDirWorld","VECTOR4","sceneFogColor","ViewProjectionMat","ViewMat","ProjectionMat","ps","sceneAmbientColor","sunDiffuseColor","sunSpecularColor","maxFogAmount","maxFogDistance","minFogDistance","cullDirection","shScale","shadowCount","invShadowSize","radius","viewPort","ViewProjInverse","Tr2PerFrameDebug","Tr2PerFrameShadow","lightRadius","zFar","unused2","unused3","EveSpaceScenePerFrame","ShadowViewMat","ShadowViewProjectionMat","EnvMapRotationMat","ViewProjectionLast","ViewLast","ProjLast","FogFactors","pad","TargetResolution","VECTOR2","FovXY","ViewportAdjustment","Time","Upscaling","ViewportSize","AmbientColor","ReflectionIntensity","FogColor","ViewportOffset","DepthMapSampleCount","Debug","ShadowMapSettings","ShadowCameraRange","ShadowLightness","ShadowQuality","UINT32","ProjectionToView","SceneMipLodBias","GammaBrightness","FrameIndex","Jittering","InverseShadowMapAtlasSize","ShadowMapAtlasEntryMinSizeLog2","VolumetricSlices","count","ShadowMapValues","ZERO4","ShadowMatrixVal","SplitInfo","ProjectionInverseMat","CascadeRanges","FroxelFogColor","FroxelBackgroundVisibility","FroxelBaseDensity","FroxelMaxDistance","FroxelMaxDistanceVisibility","FroxelEnvironmentIntensity","FroxelEnvironmentG","FroxelPad0","FroxelPad1","FroxelPad2","FroxelPlanets","GROUPS","CjsPerFrameLayouts","Groups","Get","get","Names","keys","ToRawLayout","layout","toRawLayout","Find","group","buffers","entries","key","buffer","#Resolved","buildLayouts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMA,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAAC;AAC3B,EAAA,cAAc,EAAE;IAAEC,IAAI,EAAEC,KAAK,CAACC;GAAS;AACvC,EAAA,iBAAiB,EAAE;IAAEF,IAAI,EAAEC,KAAK,CAACE;GAAO;AACxC,EAAA,kBAAkB,EAAE;IAAEH,IAAI,EAAEC,KAAK,CAACG;AAAM;AAC5C,CAAC,CAAC;;AAGF;AACA,MAAMC,oBAAoB,GAAG,EAAE;;AAG/B;MACaC,WAAW,GAAGR,MAAM,CAACC,MAAM,CAAC;AACrCQ,EAAAA,EAAE,EAAE;AACAC,IAAAA,MAAM,EAAE,mBAAmB;AAC3BC,IAAAA,MAAM,EAAE;AACJC,MAAAA,uBAAuB,EAAE;QAAEV,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AACnEC,MAAAA,WAAW,EAAE;QAAEd,IAAI,EAAEC,KAAK,CAACc;OAAS;AACpCC,MAAAA,aAAa,EAAE;QAAEhB,IAAI,EAAEC,KAAK,CAACG;OAAO;AACpCa,MAAAA,iBAAiB,EAAE;QAAEjB,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AAC7DK,MAAAA,OAAO,EAAE;QAAElB,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AACnDM,MAAAA,aAAa,EAAE;QAAEnB,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;AAAS;AAC5D;GACH;AAED;AACAO,EAAAA,EAAE,EAAE;AACAZ,IAAAA,MAAM,EAAE,mBAAmB;AAC3BC,IAAAA,MAAM,EAAE;AACJC,MAAAA,uBAAuB,EAAE;QAAEV,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AACnEQ,MAAAA,iBAAiB,EAAE;QAAErB,IAAI,EAAEC,KAAK,CAACG;OAAO;AACxCY,MAAAA,aAAa,EAAE;QAAEhB,IAAI,EAAEC,KAAK,CAACG;OAAO;AACpCU,MAAAA,WAAW,EAAE;QAAEd,IAAI,EAAEC,KAAK,CAACc;OAAS;AACpCO,MAAAA,eAAe,EAAE;QAAEtB,IAAI,EAAEC,KAAK,CAACG;OAAO;AACtCmB,MAAAA,gBAAgB,EAAE;QAAEvB,IAAI,EAAEC,KAAK,CAACG;OAAO;AACvCoB,MAAAA,YAAY,EAAE;QAAExB,IAAI,EAAEC,KAAK,CAACE;OAAO;AACnCsB,MAAAA,cAAc,EAAE;QAAEzB,IAAI,EAAEC,KAAK,CAACE;OAAO;AACrCuB,MAAAA,cAAc,EAAE;QAAE1B,IAAI,EAAEC,KAAK,CAACE;OAAO;AAErC;AACAwB,MAAAA,aAAa,EAAE;QAAE3B,IAAI,EAAEC,KAAK,CAACE;OAAO;AAEpCc,MAAAA,iBAAiB,EAAE;QAAEjB,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AAC7De,MAAAA,OAAO,EAAE;QAAE5B,IAAI,EAAEC,KAAK,CAACE;OAAO;AAC9B0B,MAAAA,WAAW,EAAE;QAAE7B,IAAI,EAAEC,KAAK,CAACE;OAAO;AAClC2B,MAAAA,aAAa,EAAE;QAAE9B,IAAI,EAAEC,KAAK,CAACE;OAAO;AACpC4B,MAAAA,MAAM,EAAE;QAAE/B,IAAI,EAAEC,KAAK,CAACE;OAAO;AAE7B;AACA6B,MAAAA,QAAQ,EAAE;QAAEhC,IAAI,EAAEC,KAAK,CAACc;OAAS;AAEjCkB,MAAAA,eAAe,EAAE;QAAEjC,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;AAAS;AAC9D;AACJ;AACJ,CAAC;;AAGD;AACA;AACA;AACA;MACaqB,gBAAgB,GAAGpC,MAAM,CAACC,MAAM,CAAC;AAC1CQ,EAAAA,EAAE,EAAE;AACAC,IAAAA,MAAM,EAAE,wBAAwB;AAChCC,IAAAA,MAAM,EAAE;AACJC,MAAAA,uBAAuB,EAAE;QAAEV,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AACnEI,MAAAA,iBAAiB,EAAE;QAAEjB,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;AAAS;AAChE;AACJ;AACJ,CAAC;;AAGD;AACA;AACA;AACA;MACasB,iBAAiB,GAAGrC,MAAM,CAACC,MAAM,CAAC;AAC3CqB,EAAAA,EAAE,EAAE;AACAZ,IAAAA,MAAM,EAAE,yBAAyB;AACjCC,IAAAA,MAAM,EAAE;AACJ;AACA2B,MAAAA,WAAW,EAAE;QAAEpC,IAAI,EAAEC,KAAK,CAACE;OAAO;AAClCkC,MAAAA,IAAI,EAAE;QAAErC,IAAI,EAAEC,KAAK,CAACE;OAAO;AAC3BmC,MAAAA,OAAO,EAAE;QAAEtC,IAAI,EAAEC,KAAK,CAACE;OAAO;AAC9BoC,MAAAA,OAAO,EAAE;QAAEvC,IAAI,EAAEC,KAAK,CAACE;AAAM;AACjC;AACJ;AACJ,CAAC;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;MACaqC,qBAAqB,GAAG1C,MAAM,CAACC,MAAM,CAAC;AAC/CQ,EAAAA,EAAE,EAAE;AACAC,IAAAA,MAAM,EAAE,6BAA6B;AACrCC,IAAAA,MAAM,EAAE;AACJC,MAAAA,uBAAuB,EAAE;QAAEV,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AACnEI,MAAAA,iBAAiB,EAAE;QAAEjB,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AAC7DK,MAAAA,OAAO,EAAE;QAAElB,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AACnDM,MAAAA,aAAa,EAAE;QAAEnB,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AACzD4B,MAAAA,aAAa,EAAE;QAAEzC,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AACzD6B,MAAAA,uBAAuB,EAAE;QAAE1C,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AACnE8B,MAAAA,iBAAiB,EAAE;QAAE3C,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AAC7D+B,MAAAA,kBAAkB,EAAE;QAAE5C,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AAC9DgC,MAAAA,QAAQ,EAAE;QAAE7C,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AACpDiC,MAAAA,QAAQ,EAAE;QAAE9C,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AAEpD;AACA;AACA,MAAA,GAAGhB,QAAQ;AAEX;AACAkD,MAAAA,UAAU,EAAE;QAAE/C,IAAI,EAAEC,KAAK,CAACC;OAAS;AACnC8C,MAAAA,GAAG,EAAE;QAAEhD,IAAI,EAAEC,KAAK,CAACE;OAAO;AAE1B8C,MAAAA,gBAAgB,EAAE;QAAEjD,IAAI,EAAEC,KAAK,CAACiD;OAAS;AACzCC,MAAAA,KAAK,EAAE;QAAEnD,IAAI,EAAEC,KAAK,CAACiD;OAAS;AAE9B;AACAE,MAAAA,kBAAkB,EAAE;QAAEpD,IAAI,EAAEC,KAAK,CAACc,OAAO;QAAEH,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;OAAG;AAElEyC,MAAAA,IAAI,EAAE;QAAErD,IAAI,EAAEC,KAAK,CAACE;OAAO;AAC3BmD,MAAAA,SAAS,EAAE;QAAEtD,IAAI,EAAEC,KAAK,CAACE,KAAK;QAAES,OAAO,EAAE,CAAC,CAAC;OAAG;AAC9C2C,MAAAA,YAAY,EAAE;QAAEvD,IAAI,EAAEC,KAAK,CAACiD;AAAQ;AACxC;GACH;AAED9B,EAAAA,EAAE,EAAE;AACAZ,IAAAA,MAAM,EAAE,6BAA6B;AACrCC,IAAAA,MAAM,EAAE;AACJC,MAAAA,uBAAuB,EAAE;QAAEV,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AACnEK,MAAAA,OAAO,EAAE;QAAElB,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AACnD8B,MAAAA,iBAAiB,EAAE;QAAE3C,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AAE7D,MAAA,GAAGhB,QAAQ;AAEX2D,MAAAA,YAAY,EAAE;QAAExD,IAAI,EAAEC,KAAK,CAACC;OAAS;AACrCuD,MAAAA,mBAAmB,EAAE;QAAEzD,IAAI,EAAEC,KAAK,CAACE;OAAO;AAE1C;AACAuD,MAAAA,QAAQ,EAAE;QAAE1D,IAAI,EAAEC,KAAK,CAACc;OAAS;AAEjC;AACA4C,MAAAA,cAAc,EAAE;QAAE3D,IAAI,EAAEC,KAAK,CAACiD;OAAS;AACvCK,MAAAA,YAAY,EAAE;QAAEvD,IAAI,EAAEC,KAAK,CAACiD;OAAS;AAErC;AACAD,MAAAA,gBAAgB,EAAE;QAAEjD,IAAI,EAAEC,KAAK,CAACiD;OAAS;AAEzC;AACAU,MAAAA,mBAAmB,EAAE;QAAE5D,IAAI,EAAEC,KAAK,CAACE,KAAK;QAAES,OAAO,EAAE,CAAC,CAAC;OAAG;AACxDiD,MAAAA,KAAK,EAAE;QAAE7D,IAAI,EAAEC,KAAK,CAACE;OAAO;AAE5B2D,MAAAA,iBAAiB,EAAE;QAAE9D,IAAI,EAAEC,KAAK,CAACc,OAAO;QAAEH,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;OAAG;AAEjE;AACAmD,MAAAA,iBAAiB,EAAE;QAAE/D,IAAI,EAAEC,KAAK,CAACiD,OAAO;AAAEtC,QAAAA,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;OAAG;AAC3DoD,MAAAA,eAAe,EAAE;QAAEhE,IAAI,EAAEC,KAAK,CAACE;OAAO;AACtC8D,MAAAA,aAAa,EAAE;QAAEjE,IAAI,EAAEC,KAAK,CAACiE;OAAQ;AAErC;AACAC,MAAAA,gBAAgB,EAAE;QAAEnE,IAAI,EAAEC,KAAK,CAACiD;OAAS;AACzCC,MAAAA,KAAK,EAAE;QAAEnD,IAAI,EAAEC,KAAK,CAACiD;OAAS;AAE9B;AACAG,MAAAA,IAAI,EAAE;QAAErD,IAAI,EAAEC,KAAK,CAACE;OAAO;AAC3BiE,MAAAA,eAAe,EAAE;QAAEpE,IAAI,EAAEC,KAAK,CAACE;OAAO;AACtCmD,MAAAA,SAAS,EAAE;QAAEtD,IAAI,EAAEC,KAAK,CAACE,KAAK;QAAES,OAAO,EAAE,CAAC,CAAC;OAAG;AAC9CyD,MAAAA,eAAe,EAAE;QAAErE,IAAI,EAAEC,KAAK,CAACE;OAAO;AAEtCmE,MAAAA,UAAU,EAAE;QAAEtE,IAAI,EAAEC,KAAK,CAACiE;OAAQ;AAElC;AACAK,MAAAA,SAAS,EAAE;QAAEvE,IAAI,EAAEC,KAAK,CAACiE;OAAQ;AAEjC;AACAM,MAAAA,yBAAyB,EAAE;QAAExE,IAAI,EAAEC,KAAK,CAACE;OAAO;AAChDsE,MAAAA,8BAA8B,EAAE;QAAEzE,IAAI,EAAEC,KAAK,CAACiE;OAAQ;AAEtD;AACA;AACA;AACAQ,MAAAA,gBAAgB,EAAE;QAAE1E,IAAI,EAAEC,KAAK,CAACE,KAAK;AAAEwE,QAAAA,KAAK,EAAE;OAAG;AAEjD;AACAC,MAAAA,eAAe,EAAE;QAAE5E,IAAI,EAAEC,KAAK,CAACc,OAAO;AAAE4D,QAAAA,KAAK,EAAE,CAAC;AAAE/D,QAAAA,OAAO,EAAEiE;OAAO;AAElEC,MAAAA,eAAe,EAAE;QACb9E,IAAI,EAAEC,KAAK,CAACU,OAAO;AACnBgE,QAAAA,KAAK,EAAEtE,oBAAoB;AAC3BO,QAAAA,OAAO,EAAEC;OACZ;AAEDkE,MAAAA,SAAS,EAAE;QAAE/E,IAAI,EAAEC,KAAK,CAACc;OAAS;AAClCiE,MAAAA,oBAAoB,EAAE;QAAEhF,IAAI,EAAEC,KAAK,CAACU,OAAO;AAAEC,QAAAA,OAAO,EAAEC;OAAU;AAChEoE,MAAAA,aAAa,EAAE;QAAEjF,IAAI,EAAEC,KAAK,CAACc,OAAO;AAAE4D,QAAAA,KAAK,EAAE,EAAE;AAAE/D,QAAAA,OAAO,EAAEiE;OAAO;AAEjE;AACA;AACAK,MAAAA,cAAc,EAAE;QAAElF,IAAI,EAAEC,KAAK,CAACC;OAAS;AACvCiF,MAAAA,0BAA0B,EAAE;QAAEnF,IAAI,EAAEC,KAAK,CAACE;OAAO;AACjDiF,MAAAA,iBAAiB,EAAE;QAAEpF,IAAI,EAAEC,KAAK,CAACE;OAAO;AACxCkF,MAAAA,iBAAiB,EAAE;QAAErF,IAAI,EAAEC,KAAK,CAACE;OAAO;AACxCmF,MAAAA,2BAA2B,EAAE;QAAEtF,IAAI,EAAEC,KAAK,CAACE;OAAO;AAClDoF,MAAAA,0BAA0B,EAAE;QAAEvF,IAAI,EAAEC,KAAK,CAACE;OAAO;AACjDqF,MAAAA,kBAAkB,EAAE;QAAExF,IAAI,EAAEC,KAAK,CAACE;OAAO;AACzCsF,MAAAA,UAAU,EAAE;QAAEzF,IAAI,EAAEC,KAAK,CAACE;OAAO;AACjCuF,MAAAA,UAAU,EAAE;QAAE1F,IAAI,EAAEC,KAAK,CAACE;OAAO;AACjCwF,MAAAA,UAAU,EAAE;QAAE3F,IAAI,EAAEC,KAAK,CAACE;OAAO;AAEjC;AACAyF,MAAAA,aAAa,EAAE;QAAE5F,IAAI,EAAEC,KAAK,CAACc,OAAO;AAAE4D,QAAAA,KAAK,EAAE,CAAC;AAAE/D,QAAAA,OAAO,EAAEiE;AAAM;AACnE;AACJ;AACJ,CAAC;AAGD,MAAMgB,MAAM,GAAG/F,MAAM,CAACC,MAAM,CAAC;EACzBO,WAAW;EACX4B,gBAAgB;EAChBC,iBAAiB;AACjBK,EAAAA;AACJ,CAAC,CAAC;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMsD,kBAAkB,CAC/B;EAEI,OAAO7F,KAAK,GAAGA,KAAK;EAEpB,OAAO8F,MAAM,GAAGF,MAAM;;AAEtB;EACA,OAAOxF,oBAAoB,GAAGA,oBAAoB;;AAElD;EACA,OAAO,QAAQ,GAAG,IAAI;;AAEtB;AACJ;AACA;AACA;EACI,OAAO2F,GAAGA,CAACxF,MAAM,EACjB;AACI,IAAA,OAAOsF,kBAAkB,CAAC,SAAS,EAAE,CAACG,GAAG,CAACzF,MAAM,CAAC,IAAI,IAAI;AAC7D,EAAA;;AAEA;EACA,OAAO0F,KAAKA,GACZ;AACI,IAAA,OAAO,CAAC,GAAGJ,kBAAkB,CAAC,SAAS,EAAE,CAACK,IAAI,EAAE,CAAC;AACrD,EAAA;;AAEA;EACA,OAAOC,WAAWA,CAAC5F,MAAM,EACzB;AACI,IAAA,MAAM6F,MAAM,GAAGP,kBAAkB,CAACE,GAAG,CAACxF,MAAM,CAAC;AAE7C,IAAA,OAAO6F,MAAM,GAAGC,WAAW,CAACD,MAAM,CAAC,GAAG,IAAI;AAC9C,EAAA;;AAEA;EACA,OAAOE,IAAIA,CAAC/F,MAAM,EAClB;AACI,IAAA,KAAK,MAAM,CAACgG,KAAK,EAAEC,OAAO,CAAC,IAAI3G,MAAM,CAAC4G,OAAO,CAACb,MAAM,CAAC,EACrD;AACI,MAAA,KAAK,MAAM,CAACc,GAAG,EAAEC,MAAM,CAAC,IAAI9G,MAAM,CAAC4G,OAAO,CAACD,OAAO,CAAC,EACnD;AACI,QAAA,IAAIG,MAAM,CAACpG,MAAM,KAAKA,MAAM,EAC5B;UACI,OAAO;YAAEgG,KAAK;YAAEG,GAAG;AAAEC,YAAAA;WAAQ;AACjC,QAAA;AACJ,MAAA;AACJ,IAAA;AAEA,IAAA,OAAO,IAAI;AACf,EAAA;;AAEA;AACJ;AACA;AACA;EACI,OAAO,SAASC,GAChB;AACI,IAAA,IAAI,CAACf,kBAAkB,CAAC,QAAQ,EAChC;MACIA,kBAAkB,CAAC,QAAQ,GAAGgB,YAAY,CAACjB,MAAM,EAAE,oBAAoB,CAAC;AAC5E,IAAA;IAEA,OAAOC,kBAAkB,CAAC,QAAQ;AACtC,EAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"CjsPerFrameLayouts.js","sources":["../../../../../src/trinity/core/rawData/CjsPerFrameLayouts.js"],"sourcesContent":["// Per-frame constant-data layouts.\r\n//\r\n// The twin of CjsPerObjectLayouts, one tier up: these are the buffers bound\r\n// once per frame rather than once per draw. Every EVE shader's global input\r\n// list opens with `PerFrameVS;PerFramePS;` (ParserUtils.cpp:525-533 recognises\r\n// exactly those two names), so nothing can be bound without them.\r\n//\r\n// Same rules as the per-object catalog, for the same reason - Carbon memcpys\r\n// the C++ struct into the buffer, so declaration order IS the byte layout:\r\n//\r\n// vs - bound to the vertex stage (Carbon's perFrameVsMask also covers\r\n// cs/gs/hs/ds; see EveSpaceScene.cpp:824)\r\n// ps - bound to the pixel stage\r\n//\r\n// Every matrix here is TRANSPOSED except the two Carbon comments call out:\r\n// `ViewInverseTransposeMat` is stored UNtransposed, because the shader wants\r\n// column_major and the value wanted is already the transpose - so\r\n// transpose(transpose(m)) == m (EveSpaceScene.cpp:3023-3024, 3079-3080). See\r\n// the carbon-math-conventions skill.\r\n//\r\n// There are two families, and they are NOT interchangeable:\r\n//\r\n// Tr2PerFrame* - Tr2ConstantBufferFormats.h:53-92, the generic engine\r\n// block used by interiors, WoD baking, and primitives.\r\n// EveSpaceScene* - EveSpaceScene.h:240-327, the much larger space-scene\r\n// block, with shadow cascades and froxel fog.\r\n//\r\n// A shader reads whichever its scene binds; both start at the same register\r\n// (Tr2Renderer::GetPerFrameVSStartRegister), which is why the names collide in\r\n// HLSL but the layouts do not.\r\nimport { CjsConstantLayout } from \"./CjsConstantLayout.js\";\r\n\r\n\r\nconst { Identity: IDENTITY, Types, Zero4: ZERO4 } = CjsConstantLayout;\r\n\r\n\r\n/**\r\n * EveSpaceScene.h:218-223. Carbon declares a `SunData` struct and both\r\n * space-scene blocks hold it as a member named `Sun` (`:246`, `:314`), so the\r\n * field is `Sun.DirWorld`. The catalog resolves flat float offsets rather than\r\n * nested structs, but the NAME keeps the dot: collapsing it to `SunDirWorld`\r\n * invents an identifier Carbon does not have, and it disagreed with the dotted\r\n * form the WebGPU harness's bounded serializer already uses for the same field —\n * which surfaces as a bare `unknown field` from `RawData.Set` and costs real\r\n * time to trace.\r\n *\r\n * `DirWorld` is stored NEGATED and normalized - shaders work with the\r\n * direction TO the light (EveSpaceScene.cpp:3039).\r\n */\r\nconst SUN_DATA = Object.freeze({\r\n \"Sun.DirWorld\": { type: Types.VECTOR3 },\r\n \"Sun.unused_pad0\": { type: Types.FLOAT },\r\n \"Sun.DiffuseColor\": { type: Types.COLOR }\r\n});\r\n\r\n\r\n/** Tr2ShadowMap.h:15. */\r\nconst SHADOW_FRUSTUM_COUNT = 16;\r\n\r\n\r\n/** Tr2ConstantBufferFormats.h:53 - the generic per-frame vertex block. */\r\nexport const Tr2PerFrame = Object.freeze({\r\n vs: {\r\n struct: \"Tr2PerFrameVSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n sunDirWorld: { type: Types.VECTOR4 },\r\n sceneFogColor: { type: Types.COLOR },\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ProjectionMat: { type: Types.MATRIX4, default: IDENTITY }\r\n }\r\n },\r\n\r\n /** Tr2ConstantBufferFormats.h:73. */\r\n ps: {\r\n struct: \"Tr2PerFramePSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n sceneAmbientColor: { type: Types.COLOR },\r\n sceneFogColor: { type: Types.COLOR },\r\n sunDirWorld: { type: Types.VECTOR4 },\r\n sunDiffuseColor: { type: Types.COLOR },\r\n sunSpecularColor: { type: Types.COLOR },\r\n maxFogAmount: { type: Types.FLOAT },\r\n maxFogDistance: { type: Types.FLOAT },\r\n minFogDistance: { type: Types.FLOAT },\r\n\r\n /** +1 for normal RH culling, -1 for LH culling. */\r\n cullDirection: { type: Types.FLOAT },\r\n\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n shScale: { type: Types.FLOAT },\r\n shadowCount: { type: Types.FLOAT },\r\n invShadowSize: { type: Types.FLOAT },\r\n radius: { type: Types.FLOAT },\r\n\r\n /** xy - viewport width/height, zw - viewport offset. */\r\n viewPort: { type: Types.VECTOR4 },\r\n\r\n ViewProjInverse: { type: Types.MATRIX4, default: IDENTITY }\r\n }\r\n }\r\n});\r\n\r\n\r\n/**\r\n * Tr2ConstantBufferFormats.h:66 - the two-matrix block the debug renderer\r\n * binds in place of the full VS one (Tr2InteriorScene.cpp:856).\r\n */\r\nexport const Tr2PerFrameDebug = Object.freeze({\r\n vs: {\r\n struct: \"Tr2PerFrameVSDataDebug\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY }\r\n }\r\n }\r\n});\r\n\r\n\r\n/**\r\n * Tr2ConstantBufferFormats.h:10 - one register, bound by the shadow and SSAO\r\n * depth passes.\r\n */\r\nexport const Tr2PerFrameShadow = Object.freeze({\r\n ps: {\r\n struct: \"Tr2PerFrameShadowPSData\",\r\n fields: {\r\n /** The SSAO depth pass hijacks this to store zNear. */\r\n lightRadius: { type: Types.FLOAT },\r\n zFar: { type: Types.FLOAT },\r\n unused2: { type: Types.FLOAT },\r\n unused3: { type: Types.FLOAT }\r\n }\r\n }\r\n});\r\n\r\n\r\n/**\r\n * EveSpaceScene.h:300-327 / :240-294 - the space-scene per-frame blocks.\r\n *\r\n * Ten matrices lead the vertex block because a space frame needs the current\r\n * and previous view/projection pair (motion vectors) plus the shadow and\r\n * env-map transforms.\r\n */\r\nexport const EveSpaceScenePerFrame = Object.freeze({\r\n vs: {\r\n struct: \"EveSpaceScenePerFrameVSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ShadowViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ShadowViewProjectionMat: { type: Types.MATRIX4, default: IDENTITY },\r\n EnvMapRotationMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewProjectionLast: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewLast: { type: Types.MATRIX4, default: IDENTITY },\r\n ProjLast: { type: Types.MATRIX4, default: IDENTITY },\r\n\r\n // Sun data reaches the vertex stage too, so lighting that is cheap\r\n // enough can be done per-vertex rather than per-pixel.\r\n ...SUN_DATA,\r\n\r\n /** x = fogEnd/range, y = 1/range, z = fogMax. */\r\n FogFactors: { type: Types.VECTOR3 },\r\n pad: { type: Types.FLOAT },\r\n\r\n TargetResolution: { type: Types.VECTOR2 },\r\n FovXY: { type: Types.VECTOR2 },\r\n\r\n /** Reconstructs clip positions without the viewport adjustment. */\r\n ViewportAdjustment: { type: Types.VECTOR4, default: [1, 1, 1, 1] },\r\n\r\n Time: { type: Types.FLOAT },\r\n Upscaling: { type: Types.FLOAT, default: [1] },\r\n ViewportSize: { type: Types.VECTOR2 }\r\n }\r\n },\r\n\r\n ps: {\r\n struct: \"EveSpaceScenePerFramePSData\",\r\n fields: {\r\n ViewInverseTransposeMat: { type: Types.MATRIX4, default: IDENTITY },\r\n ViewMat: { type: Types.MATRIX4, default: IDENTITY },\r\n EnvMapRotationMat: { type: Types.MATRIX4, default: IDENTITY },\r\n\r\n ...SUN_DATA,\r\n\r\n AmbientColor: { type: Types.VECTOR3 },\r\n ReflectionIntensity: { type: Types.FLOAT },\r\n\r\n /** rgb = fog colour, a = fogMax. */\r\n FogColor: { type: Types.VECTOR4 },\r\n\r\n // ViewportOffsetSize\r\n ViewportOffset: { type: Types.VECTOR2 },\r\n ViewportSize: { type: Types.VECTOR2 },\r\n\r\n // RenderTargetData\r\n TargetResolution: { type: Types.VECTOR2 },\r\n\r\n /** Legacy; Carbon always writes 1 (EveSpaceScene.cpp:3138). */\r\n DepthMapSampleCount: { type: Types.FLOAT, default: [1] },\r\n Debug: { type: Types.FLOAT },\r\n\r\n ShadowMapSettings: { type: Types.VECTOR4, default: [1, 1, 0, 0] },\r\n\r\n // ShadowMapSettings2\r\n ShadowCameraRange: { type: Types.VECTOR2, default: [1, 0] },\r\n ShadowLightness: { type: Types.FLOAT },\r\n ShadowQuality: { type: Types.UINT32 },\r\n\r\n // ProjectionData\r\n ProjectionToView: { type: Types.VECTOR2 },\r\n FovXY: { type: Types.VECTOR2 },\r\n\r\n // MiscData\r\n Time: { type: Types.FLOAT },\r\n SceneMipLodBias: { type: Types.FLOAT },\r\n Upscaling: { type: Types.FLOAT, default: [1] },\r\n GammaBrightness: { type: Types.FLOAT },\r\n\r\n FrameIndex: { type: Types.UINT32 },\r\n\r\n /** 0 if off, 1 if on. */\r\n Jittering: { type: Types.UINT32 },\r\n\r\n /** For the dynamic-light shadow atlas. */\r\n InverseShadowMapAtlasSize: { type: Types.FLOAT },\r\n ShadowMapAtlasEntryMinSizeLog2: { type: Types.UINT32 },\r\n\r\n // Carbon writes 1000/10000/100000/1000000 every frame\r\n // (EveSpaceScene.cpp:3196-3199). No catalog default: the four\r\n // slices differ, and a catalog default is one value repeated.\r\n VolumetricSlices: { type: Types.FLOAT, count: 4 },\r\n\r\n /** x..w = the zFar value of each cascade split. */\r\n ShadowMapValues: { type: Types.VECTOR4, count: 4, default: ZERO4 },\r\n\r\n ShadowMatrixVal: {\r\n type: Types.MATRIX4,\r\n count: SHADOW_FRUSTUM_COUNT,\r\n default: IDENTITY\r\n },\r\n\r\n SplitInfo: { type: Types.VECTOR4 },\r\n ProjectionInverseMat: { type: Types.MATRIX4, default: IDENTITY },\r\n CascadeRanges: { type: Types.VECTOR4, count: 16, default: ZERO4 },\r\n\r\n // Tr2VolumetricsRenderer::FroxelPerFrameData, laid out inline\r\n // (Tr2VolumetricsRenderer.h:119-135). The renderer fills it.\r\n FroxelFogColor: { type: Types.VECTOR3 },\r\n FroxelBackgroundVisibility: { type: Types.FLOAT },\r\n FroxelBaseDensity: { type: Types.FLOAT },\r\n FroxelMaxDistance: { type: Types.FLOAT },\r\n FroxelMaxDistanceVisibility: { type: Types.FLOAT },\r\n FroxelEnvironmentIntensity: { type: Types.FLOAT },\r\n FroxelEnvironmentG: { type: Types.FLOAT },\r\n FroxelPad0: { type: Types.FLOAT },\r\n FroxelPad1: { type: Types.FLOAT },\r\n FroxelPad2: { type: Types.FLOAT },\r\n\r\n /** CcpMath::Sphere[2] - xyz centre, w radius. */\r\n FroxelPlanets: { type: Types.VECTOR4, count: 2, default: ZERO4 }\r\n }\r\n }\r\n});\r\n\r\n\r\nconst GROUPS = Object.freeze({\r\n Tr2PerFrame,\r\n Tr2PerFrameDebug,\r\n Tr2PerFrameShadow,\r\n EveSpaceScenePerFrame\r\n});\r\n\r\n\r\n/**\r\n * Resolved per-frame layouts, keyed by struct name. Offsets are FLOAT offsets\r\n * from the start of the buffer.\r\n *\r\n * Deliberately a sibling of CjsPerObjectLayouts rather than more entries in\r\n * it: the two tiers have different lifetimes, different owners (scene vs\r\n * renderable), and an engine binds them to different slots.\r\n */\r\nexport class CjsPerFrameLayouts\r\n{\r\n\r\n static Types = Types;\r\n\r\n static Groups = GROUPS;\r\n\r\n /** Tr2ShadowMap.h:15 - the cascade count ShadowMatrixVal is sized by. */\r\n static SHADOW_FRUSTUM_COUNT = SHADOW_FRUSTUM_COUNT;\r\n\r\n /** Resolved layouts by struct name, built once. */\r\n static #layouts = null;\r\n\r\n /**\r\n * The layout for one struct name, or null when it is not catalogued. A\r\n * caller must treat null as \"not covered\" and fail rather than guess.\r\n */\r\n static Get(struct)\r\n {\r\n return CjsPerFrameLayouts.#Resolved().get(struct) ?? null;\r\n }\r\n\r\n /** Every catalogued struct name. */\r\n static Names()\r\n {\r\n return [...CjsPerFrameLayouts.#Resolved().keys()];\r\n }\r\n\r\n /** A layout in the shape RawData consumes. */\r\n static ToRawLayout(struct)\r\n {\r\n const layout = CjsPerFrameLayouts.Get(struct);\r\n\r\n return layout ? CjsConstantLayout.ToRawLayout(layout) : null;\r\n }\r\n\r\n /** The group a struct belongs to, with its stage key, or null. */\r\n static Find(struct)\r\n {\r\n for (const [group, buffers] of Object.entries(GROUPS))\r\n {\r\n for (const [key, buffer] of Object.entries(buffers))\r\n {\r\n if (buffer.struct === struct)\r\n {\r\n return { group, key, buffer };\r\n }\r\n }\r\n }\r\n\r\n return null;\r\n }\r\n\r\n /**\r\n * The resolved layout map, built once on first use and cached.\r\n * @returns {Map} struct name -> resolved layout\r\n */\r\n static #Resolved()\r\n {\r\n if (!CjsPerFrameLayouts.#layouts)\r\n {\r\n CjsPerFrameLayouts.#layouts = CjsConstantLayout.BuildLayouts(GROUPS, \"CjsPerFrameLayouts\");\r\n }\r\n\r\n return CjsPerFrameLayouts.#layouts;\r\n }\r\n\r\n}\r\n"],"names":["Identity","IDENTITY","Types","Zero4","ZERO4","CjsConstantLayout","SUN_DATA","Object","freeze","type","VECTOR3","FLOAT","COLOR","SHADOW_FRUSTUM_COUNT","Tr2PerFrame","vs","struct","fields","ViewInverseTransposeMat","MATRIX4","default","sunDirWorld","VECTOR4","sceneFogColor","ViewProjectionMat","ViewMat","ProjectionMat","ps","sceneAmbientColor","sunDiffuseColor","sunSpecularColor","maxFogAmount","maxFogDistance","minFogDistance","cullDirection","shScale","shadowCount","invShadowSize","radius","viewPort","ViewProjInverse","Tr2PerFrameDebug","Tr2PerFrameShadow","lightRadius","zFar","unused2","unused3","EveSpaceScenePerFrame","ShadowViewMat","ShadowViewProjectionMat","EnvMapRotationMat","ViewProjectionLast","ViewLast","ProjLast","FogFactors","pad","TargetResolution","VECTOR2","FovXY","ViewportAdjustment","Time","Upscaling","ViewportSize","AmbientColor","ReflectionIntensity","FogColor","ViewportOffset","DepthMapSampleCount","Debug","ShadowMapSettings","ShadowCameraRange","ShadowLightness","ShadowQuality","UINT32","ProjectionToView","SceneMipLodBias","GammaBrightness","FrameIndex","Jittering","InverseShadowMapAtlasSize","ShadowMapAtlasEntryMinSizeLog2","VolumetricSlices","count","ShadowMapValues","ShadowMatrixVal","SplitInfo","ProjectionInverseMat","CascadeRanges","FroxelFogColor","FroxelBackgroundVisibility","FroxelBaseDensity","FroxelMaxDistance","FroxelMaxDistanceVisibility","FroxelEnvironmentIntensity","FroxelEnvironmentG","FroxelPad0","FroxelPad1","FroxelPad2","FroxelPlanets","GROUPS","CjsPerFrameLayouts","Groups","Get","get","Names","keys","ToRawLayout","layout","Find","group","buffers","entries","key","buffer","#Resolved","BuildLayouts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA,MAAM;AAAEA,EAAAA,QAAQ,EAAEC,QAAQ;EAAEC,KAAK;AAAEC,EAAAA,KAAK,EAAEC;AAAM,CAAC,GAAGC,iBAAiB;;AAGrE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,QAAQ,GAAGC,MAAM,CAACC,MAAM,CAAC;AAC3B,EAAA,cAAc,EAAE;IAAEC,IAAI,EAAEP,KAAK,CAACQ;GAAS;AACvC,EAAA,iBAAiB,EAAE;IAAED,IAAI,EAAEP,KAAK,CAACS;GAAO;AACxC,EAAA,kBAAkB,EAAE;IAAEF,IAAI,EAAEP,KAAK,CAACU;AAAM;AAC5C,CAAC,CAAC;;AAGF;AACA,MAAMC,oBAAoB,GAAG,EAAE;;AAG/B;MACaC,WAAW,GAAGP,MAAM,CAACC,MAAM,CAAC;AACrCO,EAAAA,EAAE,EAAE;AACAC,IAAAA,MAAM,EAAE,mBAAmB;AAC3BC,IAAAA,MAAM,EAAE;AACJC,MAAAA,uBAAuB,EAAE;QAAET,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnEoB,MAAAA,WAAW,EAAE;QAAEZ,IAAI,EAAEP,KAAK,CAACoB;OAAS;AACpCC,MAAAA,aAAa,EAAE;QAAEd,IAAI,EAAEP,KAAK,CAACU;OAAO;AACpCY,MAAAA,iBAAiB,EAAE;QAAEf,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAC7DwB,MAAAA,OAAO,EAAE;QAAEhB,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnDyB,MAAAA,aAAa,EAAE;QAAEjB,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;AAAS;AAC5D;GACH;AAED;AACA0B,EAAAA,EAAE,EAAE;AACAX,IAAAA,MAAM,EAAE,mBAAmB;AAC3BC,IAAAA,MAAM,EAAE;AACJC,MAAAA,uBAAuB,EAAE;QAAET,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnE2B,MAAAA,iBAAiB,EAAE;QAAEnB,IAAI,EAAEP,KAAK,CAACU;OAAO;AACxCW,MAAAA,aAAa,EAAE;QAAEd,IAAI,EAAEP,KAAK,CAACU;OAAO;AACpCS,MAAAA,WAAW,EAAE;QAAEZ,IAAI,EAAEP,KAAK,CAACoB;OAAS;AACpCO,MAAAA,eAAe,EAAE;QAAEpB,IAAI,EAAEP,KAAK,CAACU;OAAO;AACtCkB,MAAAA,gBAAgB,EAAE;QAAErB,IAAI,EAAEP,KAAK,CAACU;OAAO;AACvCmB,MAAAA,YAAY,EAAE;QAAEtB,IAAI,EAAEP,KAAK,CAACS;OAAO;AACnCqB,MAAAA,cAAc,EAAE;QAAEvB,IAAI,EAAEP,KAAK,CAACS;OAAO;AACrCsB,MAAAA,cAAc,EAAE;QAAExB,IAAI,EAAEP,KAAK,CAACS;OAAO;AAErC;AACAuB,MAAAA,aAAa,EAAE;QAAEzB,IAAI,EAAEP,KAAK,CAACS;OAAO;AAEpCa,MAAAA,iBAAiB,EAAE;QAAEf,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAC7DkC,MAAAA,OAAO,EAAE;QAAE1B,IAAI,EAAEP,KAAK,CAACS;OAAO;AAC9ByB,MAAAA,WAAW,EAAE;QAAE3B,IAAI,EAAEP,KAAK,CAACS;OAAO;AAClC0B,MAAAA,aAAa,EAAE;QAAE5B,IAAI,EAAEP,KAAK,CAACS;OAAO;AACpC2B,MAAAA,MAAM,EAAE;QAAE7B,IAAI,EAAEP,KAAK,CAACS;OAAO;AAE7B;AACA4B,MAAAA,QAAQ,EAAE;QAAE9B,IAAI,EAAEP,KAAK,CAACoB;OAAS;AAEjCkB,MAAAA,eAAe,EAAE;QAAE/B,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;AAAS;AAC9D;AACJ;AACJ,CAAC;;AAGD;AACA;AACA;AACA;MACawC,gBAAgB,GAAGlC,MAAM,CAACC,MAAM,CAAC;AAC1CO,EAAAA,EAAE,EAAE;AACAC,IAAAA,MAAM,EAAE,wBAAwB;AAChCC,IAAAA,MAAM,EAAE;AACJC,MAAAA,uBAAuB,EAAE;QAAET,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnEuB,MAAAA,iBAAiB,EAAE;QAAEf,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;AAAS;AAChE;AACJ;AACJ,CAAC;;AAGD;AACA;AACA;AACA;MACayC,iBAAiB,GAAGnC,MAAM,CAACC,MAAM,CAAC;AAC3CmB,EAAAA,EAAE,EAAE;AACAX,IAAAA,MAAM,EAAE,yBAAyB;AACjCC,IAAAA,MAAM,EAAE;AACJ;AACA0B,MAAAA,WAAW,EAAE;QAAElC,IAAI,EAAEP,KAAK,CAACS;OAAO;AAClCiC,MAAAA,IAAI,EAAE;QAAEnC,IAAI,EAAEP,KAAK,CAACS;OAAO;AAC3BkC,MAAAA,OAAO,EAAE;QAAEpC,IAAI,EAAEP,KAAK,CAACS;OAAO;AAC9BmC,MAAAA,OAAO,EAAE;QAAErC,IAAI,EAAEP,KAAK,CAACS;AAAM;AACjC;AACJ;AACJ,CAAC;;AAGD;AACA;AACA;AACA;AACA;AACA;AACA;MACaoC,qBAAqB,GAAGxC,MAAM,CAACC,MAAM,CAAC;AAC/CO,EAAAA,EAAE,EAAE;AACAC,IAAAA,MAAM,EAAE,6BAA6B;AACrCC,IAAAA,MAAM,EAAE;AACJC,MAAAA,uBAAuB,EAAE;QAAET,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnEuB,MAAAA,iBAAiB,EAAE;QAAEf,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAC7DwB,MAAAA,OAAO,EAAE;QAAEhB,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnDyB,MAAAA,aAAa,EAAE;QAAEjB,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACzD+C,MAAAA,aAAa,EAAE;QAAEvC,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACzDgD,MAAAA,uBAAuB,EAAE;QAAExC,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnEiD,MAAAA,iBAAiB,EAAE;QAAEzC,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAC7DkD,MAAAA,kBAAkB,EAAE;QAAE1C,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAC9DmD,MAAAA,QAAQ,EAAE;QAAE3C,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACpDoD,MAAAA,QAAQ,EAAE;QAAE5C,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAEpD;AACA;AACA,MAAA,GAAGK,QAAQ;AAEX;AACAgD,MAAAA,UAAU,EAAE;QAAE7C,IAAI,EAAEP,KAAK,CAACQ;OAAS;AACnC6C,MAAAA,GAAG,EAAE;QAAE9C,IAAI,EAAEP,KAAK,CAACS;OAAO;AAE1B6C,MAAAA,gBAAgB,EAAE;QAAE/C,IAAI,EAAEP,KAAK,CAACuD;OAAS;AACzCC,MAAAA,KAAK,EAAE;QAAEjD,IAAI,EAAEP,KAAK,CAACuD;OAAS;AAE9B;AACAE,MAAAA,kBAAkB,EAAE;QAAElD,IAAI,EAAEP,KAAK,CAACoB,OAAO;QAAEF,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;OAAG;AAElEwC,MAAAA,IAAI,EAAE;QAAEnD,IAAI,EAAEP,KAAK,CAACS;OAAO;AAC3BkD,MAAAA,SAAS,EAAE;QAAEpD,IAAI,EAAEP,KAAK,CAACS,KAAK;QAAES,OAAO,EAAE,CAAC,CAAC;OAAG;AAC9C0C,MAAAA,YAAY,EAAE;QAAErD,IAAI,EAAEP,KAAK,CAACuD;AAAQ;AACxC;GACH;AAED9B,EAAAA,EAAE,EAAE;AACAX,IAAAA,MAAM,EAAE,6BAA6B;AACrCC,IAAAA,MAAM,EAAE;AACJC,MAAAA,uBAAuB,EAAE;QAAET,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnEwB,MAAAA,OAAO,EAAE;QAAEhB,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AACnDiD,MAAAA,iBAAiB,EAAE;QAAEzC,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAE7D,MAAA,GAAGK,QAAQ;AAEXyD,MAAAA,YAAY,EAAE;QAAEtD,IAAI,EAAEP,KAAK,CAACQ;OAAS;AACrCsD,MAAAA,mBAAmB,EAAE;QAAEvD,IAAI,EAAEP,KAAK,CAACS;OAAO;AAE1C;AACAsD,MAAAA,QAAQ,EAAE;QAAExD,IAAI,EAAEP,KAAK,CAACoB;OAAS;AAEjC;AACA4C,MAAAA,cAAc,EAAE;QAAEzD,IAAI,EAAEP,KAAK,CAACuD;OAAS;AACvCK,MAAAA,YAAY,EAAE;QAAErD,IAAI,EAAEP,KAAK,CAACuD;OAAS;AAErC;AACAD,MAAAA,gBAAgB,EAAE;QAAE/C,IAAI,EAAEP,KAAK,CAACuD;OAAS;AAEzC;AACAU,MAAAA,mBAAmB,EAAE;QAAE1D,IAAI,EAAEP,KAAK,CAACS,KAAK;QAAES,OAAO,EAAE,CAAC,CAAC;OAAG;AACxDgD,MAAAA,KAAK,EAAE;QAAE3D,IAAI,EAAEP,KAAK,CAACS;OAAO;AAE5B0D,MAAAA,iBAAiB,EAAE;QAAE5D,IAAI,EAAEP,KAAK,CAACoB,OAAO;QAAEF,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC;OAAG;AAEjE;AACAkD,MAAAA,iBAAiB,EAAE;QAAE7D,IAAI,EAAEP,KAAK,CAACuD,OAAO;AAAErC,QAAAA,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC;OAAG;AAC3DmD,MAAAA,eAAe,EAAE;QAAE9D,IAAI,EAAEP,KAAK,CAACS;OAAO;AACtC6D,MAAAA,aAAa,EAAE;QAAE/D,IAAI,EAAEP,KAAK,CAACuE;OAAQ;AAErC;AACAC,MAAAA,gBAAgB,EAAE;QAAEjE,IAAI,EAAEP,KAAK,CAACuD;OAAS;AACzCC,MAAAA,KAAK,EAAE;QAAEjD,IAAI,EAAEP,KAAK,CAACuD;OAAS;AAE9B;AACAG,MAAAA,IAAI,EAAE;QAAEnD,IAAI,EAAEP,KAAK,CAACS;OAAO;AAC3BgE,MAAAA,eAAe,EAAE;QAAElE,IAAI,EAAEP,KAAK,CAACS;OAAO;AACtCkD,MAAAA,SAAS,EAAE;QAAEpD,IAAI,EAAEP,KAAK,CAACS,KAAK;QAAES,OAAO,EAAE,CAAC,CAAC;OAAG;AAC9CwD,MAAAA,eAAe,EAAE;QAAEnE,IAAI,EAAEP,KAAK,CAACS;OAAO;AAEtCkE,MAAAA,UAAU,EAAE;QAAEpE,IAAI,EAAEP,KAAK,CAACuE;OAAQ;AAElC;AACAK,MAAAA,SAAS,EAAE;QAAErE,IAAI,EAAEP,KAAK,CAACuE;OAAQ;AAEjC;AACAM,MAAAA,yBAAyB,EAAE;QAAEtE,IAAI,EAAEP,KAAK,CAACS;OAAO;AAChDqE,MAAAA,8BAA8B,EAAE;QAAEvE,IAAI,EAAEP,KAAK,CAACuE;OAAQ;AAEtD;AACA;AACA;AACAQ,MAAAA,gBAAgB,EAAE;QAAExE,IAAI,EAAEP,KAAK,CAACS,KAAK;AAAEuE,QAAAA,KAAK,EAAE;OAAG;AAEjD;AACAC,MAAAA,eAAe,EAAE;QAAE1E,IAAI,EAAEP,KAAK,CAACoB,OAAO;AAAE4D,QAAAA,KAAK,EAAE,CAAC;AAAE9D,QAAAA,OAAO,EAAEhB;OAAO;AAElEgF,MAAAA,eAAe,EAAE;QACb3E,IAAI,EAAEP,KAAK,CAACiB,OAAO;AACnB+D,QAAAA,KAAK,EAAErE,oBAAoB;AAC3BO,QAAAA,OAAO,EAAEnB;OACZ;AAEDoF,MAAAA,SAAS,EAAE;QAAE5E,IAAI,EAAEP,KAAK,CAACoB;OAAS;AAClCgE,MAAAA,oBAAoB,EAAE;QAAE7E,IAAI,EAAEP,KAAK,CAACiB,OAAO;AAAEC,QAAAA,OAAO,EAAEnB;OAAU;AAChEsF,MAAAA,aAAa,EAAE;QAAE9E,IAAI,EAAEP,KAAK,CAACoB,OAAO;AAAE4D,QAAAA,KAAK,EAAE,EAAE;AAAE9D,QAAAA,OAAO,EAAEhB;OAAO;AAEjE;AACA;AACAoF,MAAAA,cAAc,EAAE;QAAE/E,IAAI,EAAEP,KAAK,CAACQ;OAAS;AACvC+E,MAAAA,0BAA0B,EAAE;QAAEhF,IAAI,EAAEP,KAAK,CAACS;OAAO;AACjD+E,MAAAA,iBAAiB,EAAE;QAAEjF,IAAI,EAAEP,KAAK,CAACS;OAAO;AACxCgF,MAAAA,iBAAiB,EAAE;QAAElF,IAAI,EAAEP,KAAK,CAACS;OAAO;AACxCiF,MAAAA,2BAA2B,EAAE;QAAEnF,IAAI,EAAEP,KAAK,CAACS;OAAO;AAClDkF,MAAAA,0BAA0B,EAAE;QAAEpF,IAAI,EAAEP,KAAK,CAACS;OAAO;AACjDmF,MAAAA,kBAAkB,EAAE;QAAErF,IAAI,EAAEP,KAAK,CAACS;OAAO;AACzCoF,MAAAA,UAAU,EAAE;QAAEtF,IAAI,EAAEP,KAAK,CAACS;OAAO;AACjCqF,MAAAA,UAAU,EAAE;QAAEvF,IAAI,EAAEP,KAAK,CAACS;OAAO;AACjCsF,MAAAA,UAAU,EAAE;QAAExF,IAAI,EAAEP,KAAK,CAACS;OAAO;AAEjC;AACAuF,MAAAA,aAAa,EAAE;QAAEzF,IAAI,EAAEP,KAAK,CAACoB,OAAO;AAAE4D,QAAAA,KAAK,EAAE,CAAC;AAAE9D,QAAAA,OAAO,EAAEhB;AAAM;AACnE;AACJ;AACJ,CAAC;AAGD,MAAM+F,MAAM,GAAG5F,MAAM,CAACC,MAAM,CAAC;EACzBM,WAAW;EACX2B,gBAAgB;EAChBC,iBAAiB;AACjBK,EAAAA;AACJ,CAAC,CAAC;;AAGF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMqD,kBAAkB,CAC/B;EAEI,OAAOlG,KAAK,GAAGA,KAAK;EAEpB,OAAOmG,MAAM,GAAGF,MAAM;;AAEtB;EACA,OAAOtF,oBAAoB,GAAGA,oBAAoB;;AAElD;EACA,OAAO,QAAQ,GAAG,IAAI;;AAEtB;AACJ;AACA;AACA;EACI,OAAOyF,GAAGA,CAACtF,MAAM,EACjB;AACI,IAAA,OAAOoF,kBAAkB,CAAC,SAAS,EAAE,CAACG,GAAG,CAACvF,MAAM,CAAC,IAAI,IAAI;AAC7D,EAAA;;AAEA;EACA,OAAOwF,KAAKA,GACZ;AACI,IAAA,OAAO,CAAC,GAAGJ,kBAAkB,CAAC,SAAS,EAAE,CAACK,IAAI,EAAE,CAAC;AACrD,EAAA;;AAEA;EACA,OAAOC,WAAWA,CAAC1F,MAAM,EACzB;AACI,IAAA,MAAM2F,MAAM,GAAGP,kBAAkB,CAACE,GAAG,CAACtF,MAAM,CAAC;IAE7C,OAAO2F,MAAM,GAAGtG,iBAAiB,CAACqG,WAAW,CAACC,MAAM,CAAC,GAAG,IAAI;AAChE,EAAA;;AAEA;EACA,OAAOC,IAAIA,CAAC5F,MAAM,EAClB;AACI,IAAA,KAAK,MAAM,CAAC6F,KAAK,EAAEC,OAAO,CAAC,IAAIvG,MAAM,CAACwG,OAAO,CAACZ,MAAM,CAAC,EACrD;AACI,MAAA,KAAK,MAAM,CAACa,GAAG,EAAEC,MAAM,CAAC,IAAI1G,MAAM,CAACwG,OAAO,CAACD,OAAO,CAAC,EACnD;AACI,QAAA,IAAIG,MAAM,CAACjG,MAAM,KAAKA,MAAM,EAC5B;UACI,OAAO;YAAE6F,KAAK;YAAEG,GAAG;AAAEC,YAAAA;WAAQ;AACjC,QAAA;AACJ,MAAA;AACJ,IAAA;AAEA,IAAA,OAAO,IAAI;AACf,EAAA;;AAEA;AACJ;AACA;AACA;EACI,OAAO,SAASC,GAChB;AACI,IAAA,IAAI,CAACd,kBAAkB,CAAC,QAAQ,EAChC;MACIA,kBAAkB,CAAC,QAAQ,GAAG/F,iBAAiB,CAAC8G,YAAY,CAAChB,MAAM,EAAE,oBAAoB,CAAC;AAC9F,IAAA;IAEA,OAAOC,kBAAkB,CAAC,QAAQ;AACtC,EAAA;AAEJ;;;;"}