@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
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2GpuSharedEmitter.js","sources":["../../../../../src/trinity/particle/emitter/Tr2GpuSharedEmitter.js"],"sourcesContent":["// Source: trinity/trinity/Particle/Tr2GpuSharedEmitter.h\r\n// Source: trinity/trinity/Particle/Tr2GpuSharedEmitter.cpp\r\n// Source: trinity/trinity/Particle/Tr2GpuSharedEmitter_Blue.cpp\r\n// Source: trinity/trinity/Particle/Tr2GpuParticleSystem.h\r\nimport { color } from \"#math/color\";\nimport { vec3 } from \"#math/vec3\";\r\nimport { CjsModel } from \"#model\";\r\nimport { carbon, impl, io, type } from \"#schema\";\nimport { withITr2GenericEmitter } from \"../ITr2GenericEmitter.js\";\n\r\n\r\n/**\r\n * Authored parameters of a GPU particle emitter: emission cone and rate,\r\n * particle lifetime and speed range, size and colour ramp, and the drag,\r\n * turbulence and gravity terms the simulation applies.\r\n */\r\n@type.define({ className: \"Tr2GpuSharedEmitter\", family: \"particle\" })\r\nexport class Tr2GpuSharedEmitter extends withITr2GenericEmitter(CjsModel)\n{\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n @io.persist\r\n @type.boolean\r\n continuousEmitter = true;\r\n\r\n @io.persist\r\n @type.float32\r\n rate = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n emissionDensity = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n maxEmissionDensity = 10000;\r\n\r\n @io.persist\r\n @type.float32\r\n maxDisplacement = 1000;\r\n\r\n @io.persist\r\n @type.vec3\r\n position = vec3.create();\r\n\r\n @io.persist\r\n @type.vec3\r\n direction = vec3.fromValues(0, 1, 0);\r\n\r\n @io.persist\r\n @type.float32\r\n angle = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n innerAngle = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n radius = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n inheritVelocity = 1;\r\n\r\n @io.persist\r\n @type.float32\r\n minSpeed = 0;\r\n\r\n @io.persist\r\n @type.float32\r\n maxSpeed = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n minLifeTime = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n maxLifeTime = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n sizes = vec3.create();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n sizeVariance = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n color0 = color.createLinear();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n color1 = color.createLinear();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n color2 = color.createLinear();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.color\r\n color3 = color.createLinear();\r\n\r\n @io.notify\r\n @io.persist\r\n @type.uint32\r\n textureIndex = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n colorMidpoint = 0.5;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n velocityStretchRotation = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n drag = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n turbulenceAmplitude = 0;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.uint32\r\n turbulenceFrequency = 1;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n gravity = 0;\r\n\r\n #enabled = true;\r\n\r\n #previousTime = -1;\r\n\r\n #revision = 0;\r\n\r\n /**\r\n * Bumps the revision so a renderer holding this emitter rebuilds from it;\r\n * there are no GPU resources to create here.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n this.#revision++;\r\n return true;\r\n }\r\n\r\n /**\r\n * Bumps the revision so a renderer holding this emitter picks up the changed\r\n * parameters.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n OnModified()\r\n {\r\n this.#revision++;\r\n return true;\r\n }\r\n\r\n /**\r\n * Turns emission on or off; disabling also clears the spawn-time cursor so\r\n * re-enabling restarts timing instead of catching up on the idle interval.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Enable(value)\r\n {\r\n this.#enabled = !!value;\r\n if (!this.#enabled) this.#previousTime = -1;\r\n }\r\n\r\n /** Reports whether this emitter is currently emitting. */\r\n @carbon.method\r\n @impl.adapted\r\n IsEnabled()\r\n {\r\n return this.#enabled;\r\n }\r\n\r\n /** Sets the emission cone axis in place, treating a missing value as zero. */\r\n @carbon.method\r\n @impl.adapted\r\n SetDirection(value)\r\n {\r\n vec3.copy(this.direction, value || Tr2GpuSharedEmitter.#zero3);\r\n }\r\n\r\n /** Sets the emitter origin in place, treating a missing value as zero. */\r\n @carbon.method\r\n @impl.adapted\r\n SetPosition(value)\r\n {\r\n vec3.copy(this.position, value || Tr2GpuSharedEmitter.#zero3);\r\n }\r\n\r\n /**\r\n * Projects Carbon's emitter and particle-parameter structs onto the schema-backed fields in one batched, event-free update followed by a single UpdateValues.\r\n * @param {object} emitterData emission shape and speed range; missing members fall back to the current values\r\n * @param {object} paramsData per-particle parameters; colors may be supplied either as a colors array or as color0..color3\r\n * attractorStrength is only forwarded on subclasses that declare it.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Projects Carbon's setup structs onto the schema-backed editor fields; renderer-only spawn history and transformed parameters remain adapter-owned.\")\r\n Setup(rate, emitterData, paramsData)\r\n {\r\n const emitter = emitterData || {};\r\n const parameters = paramsData || {};\r\n const colors = parameters.colors || [];\r\n const values = {\r\n rate,\r\n radius: emitter.radius,\r\n angle: emitter.angle,\r\n innerAngle: emitter.innerAngle,\r\n minSpeed: emitter.minSpeed,\r\n maxSpeed: emitter.maxSpeed,\r\n minLifeTime: parameters.minLifeTime,\r\n maxLifeTime: parameters.maxLifeTime,\r\n textureIndex: parameters.textureIndex,\r\n colorMidpoint: parameters.colorMidpoint ?? 0.5,\r\n color0: colors[0] ?? parameters.color0,\r\n color1: colors[1] ?? parameters.color1,\r\n color2: colors[2] ?? parameters.color2,\r\n color3: colors[3] ?? parameters.color3,\r\n sizes: parameters.sizes,\r\n sizeVariance: parameters.sizeVariance,\r\n drag: parameters.drag,\r\n turbulenceAmplitude: parameters.turbulenceAmplitude,\r\n turbulenceFrequency: parameters.turbulenceFrequency ?? 1,\r\n gravity: parameters.gravity,\r\n velocityStretchRotation: parameters.velocityStretchRotation\r\n };\r\n if (\"attractorStrength\" in this)\r\n {\r\n values.attractorStrength = parameters.attractorStrength;\r\n }\r\n\r\n this.SetValues(values, { source: this, skipEvents: true, skipUpdate: true });\r\n this.UpdateValues({ source: this, skipEvents: true });\r\n }\r\n\r\n /**\r\n * Returns the counter bumped by Initialize and OnModified, which a renderer\r\n * compares against its own copy to detect parameter changes.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetRevision()\n {\n return this.#revision;\n }\n\n /** Carbon's GPU emitter thread-safety hook is intentionally empty. */\n @impl.noop\n SetThreadSafeFlag()\n {\n }\n\r\n static #zero3 = vec3.create();\r\n}\r\n"],"names":["_Tr2GpuSharedEmitter","_identity","Tr2GpuSharedEmitter","_withITr2GenericEmitt","withITr2GenericEmitter","CjsModel","e","_init_name","_init_extra_name","_init_continuousEmitter","_init_extra_continuousEmitter","_init_rate","_init_extra_rate","_init_emissionDensity","_init_extra_emissionDensity","_init_maxEmissionDensity","_init_extra_maxEmissionDensity","_init_maxDisplacement","_init_extra_maxDisplacement","_init_position","_init_extra_position","_init_direction","_init_extra_direction","_init_angle","_init_extra_angle","_init_innerAngle","_init_extra_innerAngle","_init_radius","_init_extra_radius","_init_inheritVelocity","_init_extra_inheritVelocity","_init_minSpeed","_init_extra_minSpeed","_init_maxSpeed","_init_extra_maxSpeed","_init_minLifeTime","_init_extra_minLifeTime","_init_maxLifeTime","_init_extra_maxLifeTime","_init_sizes","_init_extra_sizes","_init_sizeVariance","_init_extra_sizeVariance","_init_color","_init_extra_color","_init_color2","_init_extra_color2","_init_color3","_init_extra_color3","_init_color4","_init_extra_color4","_init_textureIndex","_init_extra_textureIndex","_init_colorMidpoint","_init_extra_colorMidpoint","_init_velocityStretchRotation","_init_extra_velocityStretchRotation","_init_drag","_init_extra_drag","_init_turbulenceAmplitude","_init_extra_turbulenceAmplitude","_init_turbulenceFrequency","_init_extra_turbulenceFrequency","_init_gravity","_init_extra_gravity","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","boolean","float32","vec3","notify","color","uint32","carbon","method","impl","adapted","reason","noop","name","continuousEmitter","rate","emissionDensity","maxEmissionDensity","maxDisplacement","position","create","direction","fromValues","angle","innerAngle","radius","inheritVelocity","minSpeed","maxSpeed","minLifeTime","maxLifeTime","sizes","sizeVariance","color0","createLinear","color1","color2","color3","textureIndex","colorMidpoint","velocityStretchRotation","drag","turbulenceAmplitude","turbulenceFrequency","gravity","Initialize","OnModified","Enable","value","IsEnabled","SetDirection","copy","SetPosition","Setup","emitterData","paramsData","emitter","parameters","colors","values","attractorStrength","SetValues","source","skipEvents","skipUpdate","UpdateValues","GetRevision","SetThreadSafeFlag","constructor"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2GpuSharedEmitter.js","sources":["../../../../../src/trinity/particle/emitter/Tr2GpuSharedEmitter.js"],"sourcesContent":["// Source: trinity/trinity/Particle/Tr2GpuSharedEmitter.h\n// Source: trinity/trinity/Particle/Tr2GpuSharedEmitter.cpp\n// Source: trinity/trinity/Particle/Tr2GpuSharedEmitter_Blue.cpp\n// Source: trinity/trinity/Particle/Tr2GpuParticleSystem.h\nimport { color } from \"#math/color\";\nimport { vec3 } from \"#math/vec3\";\nimport { CjsModel } from \"#model\";\nimport { carbon, impl, io, type } from \"#schema\";\nimport { withITr2GenericEmitter } from \"../ITr2GenericEmitter/index.js\";\n\n\n/**\n * Authored parameters of a GPU particle emitter: emission cone and rate,\n * particle lifetime and speed range, size and colour ramp, and the drag,\n * turbulence and gravity terms the simulation applies.\n */\n@type.define({ className: \"Tr2GpuSharedEmitter\", family: \"particle\" })\nexport class Tr2GpuSharedEmitter extends withITr2GenericEmitter(CjsModel)\n{\n @io.persist\n @type.string\n name = \"\";\n\n @io.persist\n @type.boolean\n continuousEmitter = true;\n\n @io.persist\n @type.float32\n rate = 0;\n\n @io.persist\n @type.float32\n emissionDensity = 0;\n\n @io.persist\n @type.float32\n maxEmissionDensity = 10000;\n\n @io.persist\n @type.float32\n maxDisplacement = 1000;\n\n @io.persist\n @type.vec3\n position = vec3.create();\n\n @io.persist\n @type.vec3\n direction = vec3.fromValues(0, 1, 0);\n\n @io.persist\n @type.float32\n angle = 0;\n\n @io.persist\n @type.float32\n innerAngle = 0;\n\n @io.persist\n @type.float32\n radius = 0;\n\n @io.persist\n @type.float32\n inheritVelocity = 1;\n\n @io.persist\n @type.float32\n minSpeed = 0;\n\n @io.persist\n @type.float32\n maxSpeed = 0;\n\n @io.notify\n @io.persist\n @type.float32\n minLifeTime = 0;\n\n @io.notify\n @io.persist\n @type.float32\n maxLifeTime = 0;\n\n @io.notify\n @io.persist\n @type.vec3\n sizes = vec3.create();\n\n @io.notify\n @io.persist\n @type.float32\n sizeVariance = 0;\n\n @io.notify\n @io.persist\n @type.color\n color0 = color.createLinear();\n\n @io.notify\n @io.persist\n @type.color\n color1 = color.createLinear();\n\n @io.notify\n @io.persist\n @type.color\n color2 = color.createLinear();\n\n @io.notify\n @io.persist\n @type.color\n color3 = color.createLinear();\n\n @io.notify\n @io.persist\n @type.uint32\n textureIndex = 0;\n\n @io.notify\n @io.persist\n @type.float32\n colorMidpoint = 0.5;\n\n @io.notify\n @io.persist\n @type.float32\n velocityStretchRotation = 0;\n\n @io.notify\n @io.persist\n @type.float32\n drag = 0;\n\n @io.notify\n @io.persist\n @type.float32\n turbulenceAmplitude = 0;\n\n @io.notify\n @io.persist\n @type.uint32\n turbulenceFrequency = 1;\n\n @io.notify\n @io.persist\n @type.float32\n gravity = 0;\n\n #enabled = true;\n\n #previousTime = -1;\n\n #revision = 0;\n\n /**\n * Bumps the revision so a renderer holding this emitter rebuilds from it;\n * there are no GPU resources to create here.\n */\n @carbon.method\n @impl.adapted\n Initialize()\n {\n this.#revision++;\n return true;\n }\n\n /**\n * Bumps the revision so a renderer holding this emitter picks up the changed\n * parameters.\n */\n @carbon.method\n @impl.adapted\n OnModified()\n {\n this.#revision++;\n return true;\n }\n\n /**\n * Turns emission on or off; disabling also clears the spawn-time cursor so\n * re-enabling restarts timing instead of catching up on the idle interval.\n */\n @carbon.method\n @impl.adapted\n Enable(value)\n {\n this.#enabled = !!value;\n if (!this.#enabled) this.#previousTime = -1;\n }\n\n /** Reports whether this emitter is currently emitting. */\n @carbon.method\n @impl.adapted\n IsEnabled()\n {\n return this.#enabled;\n }\n\n /** Sets the emission cone axis in place, treating a missing value as zero. */\n @carbon.method\n @impl.adapted\n SetDirection(value)\n {\n vec3.copy(this.direction, value || Tr2GpuSharedEmitter.#zero3);\n }\n\n /** Sets the emitter origin in place, treating a missing value as zero. */\n @carbon.method\n @impl.adapted\n SetPosition(value)\n {\n vec3.copy(this.position, value || Tr2GpuSharedEmitter.#zero3);\n }\n\n /**\n * Projects Carbon's emitter and particle-parameter structs onto the schema-backed fields in one batched, event-free update followed by a single UpdateValues.\n * @param {object} emitterData emission shape and speed range; missing members fall back to the current values\n * @param {object} paramsData per-particle parameters; colors may be supplied either as a colors array or as color0..color3\n * attractorStrength is only forwarded on subclasses that declare it.\n */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Projects Carbon's setup structs onto the schema-backed editor fields; renderer-only spawn history and transformed parameters remain adapter-owned.\")\n Setup(rate, emitterData, paramsData)\n {\n const emitter = emitterData || {};\n const parameters = paramsData || {};\n const colors = parameters.colors || [];\n const values = {\n rate,\n radius: emitter.radius,\n angle: emitter.angle,\n innerAngle: emitter.innerAngle,\n minSpeed: emitter.minSpeed,\n maxSpeed: emitter.maxSpeed,\n minLifeTime: parameters.minLifeTime,\n maxLifeTime: parameters.maxLifeTime,\n textureIndex: parameters.textureIndex,\n colorMidpoint: parameters.colorMidpoint ?? 0.5,\n color0: colors[0] ?? parameters.color0,\n color1: colors[1] ?? parameters.color1,\n color2: colors[2] ?? parameters.color2,\n color3: colors[3] ?? parameters.color3,\n sizes: parameters.sizes,\n sizeVariance: parameters.sizeVariance,\n drag: parameters.drag,\n turbulenceAmplitude: parameters.turbulenceAmplitude,\n turbulenceFrequency: parameters.turbulenceFrequency ?? 1,\n gravity: parameters.gravity,\n velocityStretchRotation: parameters.velocityStretchRotation\n };\n if (\"attractorStrength\" in this)\n {\n values.attractorStrength = parameters.attractorStrength;\n }\n\n this.SetValues(values, { source: this, skipEvents: true, skipUpdate: true });\n this.UpdateValues({ source: this, skipEvents: true });\n }\n\n /**\n * Returns the counter bumped by Initialize and OnModified, which a renderer\n * compares against its own copy to detect parameter changes.\n */\n @carbon.method\n @impl.adapted\n GetRevision()\n {\n return this.#revision;\n }\n\n /** Carbon's GPU emitter thread-safety hook is intentionally empty. */\n @impl.noop\n SetThreadSafeFlag()\n {\n }\n\n static #zero3 = vec3.create();\n}\n"],"names":["_Tr2GpuSharedEmitter","_identity","Tr2GpuSharedEmitter","_withITr2GenericEmitt","withITr2GenericEmitter","CjsModel","e","_init_name","_init_extra_name","_init_continuousEmitter","_init_extra_continuousEmitter","_init_rate","_init_extra_rate","_init_emissionDensity","_init_extra_emissionDensity","_init_maxEmissionDensity","_init_extra_maxEmissionDensity","_init_maxDisplacement","_init_extra_maxDisplacement","_init_position","_init_extra_position","_init_direction","_init_extra_direction","_init_angle","_init_extra_angle","_init_innerAngle","_init_extra_innerAngle","_init_radius","_init_extra_radius","_init_inheritVelocity","_init_extra_inheritVelocity","_init_minSpeed","_init_extra_minSpeed","_init_maxSpeed","_init_extra_maxSpeed","_init_minLifeTime","_init_extra_minLifeTime","_init_maxLifeTime","_init_extra_maxLifeTime","_init_sizes","_init_extra_sizes","_init_sizeVariance","_init_extra_sizeVariance","_init_color","_init_extra_color","_init_color2","_init_extra_color2","_init_color3","_init_extra_color3","_init_color4","_init_extra_color4","_init_textureIndex","_init_extra_textureIndex","_init_colorMidpoint","_init_extra_colorMidpoint","_init_velocityStretchRotation","_init_extra_velocityStretchRotation","_init_drag","_init_extra_drag","_init_turbulenceAmplitude","_init_extra_turbulenceAmplitude","_init_turbulenceFrequency","_init_extra_turbulenceFrequency","_init_gravity","_init_extra_gravity","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","string","boolean","float32","vec3","notify","color","uint32","carbon","method","impl","adapted","reason","noop","name","continuousEmitter","rate","emissionDensity","maxEmissionDensity","maxDisplacement","position","create","direction","fromValues","angle","innerAngle","radius","inheritVelocity","minSpeed","maxSpeed","minLifeTime","maxLifeTime","sizes","sizeVariance","color0","createLinear","color1","color2","color3","textureIndex","colorMidpoint","velocityStretchRotation","drag","turbulenceAmplitude","turbulenceFrequency","gravity","Initialize","OnModified","Enable","value","IsEnabled","SetDirection","copy","SetPosition","Setup","emitterData","paramsData","emitter","parameters","colors","values","attractorStrength","SetValues","source","skipEvents","skipUpdate","UpdateValues","GetRevision","SetThreadSafeFlag","constructor"],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  import { applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { type, io, carbon, impl } from '#schema';
3
3
  import { CjsModel } from '#model';
4
- import { withITr2GenericEmitter } from '../ITr2GenericEmitter.js';
4
+ import '../ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js';
5
+ import { withITr2GenericEmitter } from '../ITr2GenericEmitter/ITr2GenericEmitter.js';
5
6
 
6
7
  var _withITr2GenericEmitt;
7
8
  let _initProto, _initClass, _init_hasSpawnedParticles, _init_extra_hasSpawnedParticles, _init_name, _init_extra_name, _init_geometryResource, _init_extra_geometryResource, _init_meshIndex, _init_extra_meshIndex, _init_particleSystem, _init_extra_particleSystem, _init_geometryResourcePath, _init_extra_geometryResourcePath;
@@ -77,9 +78,9 @@ class Tr2StaticEmitter extends (_withITr2GenericEmitt = withITr2GenericEmitter(C
77
78
  return spawned;
78
79
  }
79
80
 
80
- /**
81
- * IInitialize.Initialize (Tr2StaticEmitter.cpp:35-48): Carbon starts the
82
- * geometry resource fetch and propagates the thread-safe contract.
81
+ /**
82
+ * IInitialize.Initialize (Tr2StaticEmitter.cpp:35-48): Carbon starts the
83
+ * geometry resource fetch and propagates the thread-safe contract.
83
84
  */
84
85
  Initialize() {
85
86
  if (this.particleSystem && this.#isThreadSafe) {
@@ -88,10 +89,10 @@ class Tr2StaticEmitter extends (_withITr2GenericEmitt = withITr2GenericEmitter(C
88
89
  return true;
89
90
  }
90
91
 
91
- /**
92
- * INotify.OnModified (Tr2StaticEmitter.cpp:60-76): geometry path changes
93
- * restart the resource fetch (host-owned here); particle-system changes
94
- * re-propagate the thread-safe contract.
92
+ /**
93
+ * INotify.OnModified (Tr2StaticEmitter.cpp:60-76): geometry path changes
94
+ * restart the resource fetch (host-owned here); particle-system changes
95
+ * re-propagate the thread-safe contract.
95
96
  */
96
97
  OnModified(propertyName) {
97
98
  if ((!propertyName || propertyName === "particleSystem") && this.#isThreadSafe && this.particleSystem) {
@@ -106,12 +107,12 @@ class Tr2StaticEmitter extends (_withITr2GenericEmitt = withITr2GenericEmitter(C
106
107
  if (this.particleSystem) this.particleSystem.SetThreadSafeFlag();
107
108
  }
108
109
 
109
- /**
110
- * Both Carbon SpawnParticles overloads are empty for the static emitter -
111
- * it only spawns once from Update (Tr2StaticEmitter.cpp:293-308).
110
+ /**
111
+ * Both Carbon SpawnParticles overloads are empty for the static emitter -
112
+ * it only spawns once from Update (Tr2StaticEmitter.cpp:293-308).
112
113
  */
113
- /**
114
- * Does nothing: a static emitter spawns only during Update, never in response to a per-particle spawn call.
114
+ /**
115
+ * Does nothing: a static emitter spawns only during Update, never in response to a per-particle spawn call.
115
116
  */
116
117
  SpawnParticles(_a, _b, _c, _d, _e, _f) {}
117
118
 
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2StaticEmitter.js","sources":["../../../../../src/trinity/particle/emitter/Tr2StaticEmitter.js"],"sourcesContent":["// Source: trinity/trinity/Particle/Tr2StaticEmitter.h\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl, io, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport { withITr2GenericEmitter } from \"../ITr2GenericEmitter.js\";\n\r\n/** A one-shot particle emitter that spawns particles from a geometry resource's baked emission points on first update. */\r\n@type.define({ className: \"Tr2StaticEmitter\", family: \"particle\" })\r\nexport class Tr2StaticEmitter extends withITr2GenericEmitter(CjsModel)\n{\r\n\r\n #isThreadSafe = false;\r\n\r\n /** Carbon's internal one-shot spawn state. */\r\n @type.boolean\r\n hasSpawnedParticles = false;\r\n\r\n /** m_name (std::string) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.string\r\n name = \"\";\r\n\r\n /** m_geometryResource (TriGrannyResPtr) [READ] */\r\n @io.read\r\n @type.objectRef(\"TriGrannyRes\")\r\n geometryResource = null;\r\n\r\n /** m_meshIndex (uint32_t) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.uint32\r\n meshIndex = 0;\r\n\r\n /** m_particleSystem (Tr2ParticleSystemPtr) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.model(\"Tr2ParticleSystem\")\r\n particleSystem = null;\r\n\r\n /** m_geometryResourcePath (std::string) [READWRITE, NOTIFY, PERSIST] */\r\n @io.notify\r\n @io.persist\r\n @type.string\r\n geometryResourcePath = \"\";\r\n\r\n /** Carbon method Spawn (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n /**\r\n * Resets the one-shot spawn flag so the emitter spawns again on the next update.\r\n */\r\n @impl.implemented\r\n Spawn()\r\n {\r\n this.hasSpawnedParticles = false;\r\n }\r\n\r\n /** Carbon method ForceSpawn -> DoSpawn (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Accepts decoded particle rows or a host geometry SpawnParticles adapter; native CMF/Granny vertex-buffer mapping remains resource-owned.\")\r\n ForceSpawn()\r\n {\r\n if (!this.particleSystem?.isValid || !this.geometryResource)\r\n {\r\n return false;\r\n }\r\n if (typeof this.geometryResource.SpawnParticles === \"function\")\r\n {\r\n this.particleSystem.ClearParticles();\r\n const result = this.geometryResource.SpawnParticles(this.particleSystem, this.meshIndex);\r\n this.hasSpawnedParticles = result !== false;\r\n return result;\r\n }\r\n const source = this.geometryResource.GetPayload?.() ?? this.geometryResource;\r\n const meshes = source?.meshes ?? source?.Meshes ?? [];\r\n const mesh = meshes[this.meshIndex] ?? null;\r\n const particles = mesh?.particles ?? mesh?.Particles ?? source?.particles ?? source?.Particles;\r\n if (!Array.isArray(particles))\r\n {\r\n return false;\r\n }\r\n this.particleSystem.ClearParticles();\r\n let spawned = 0;\r\n for (const particle of particles)\r\n {\r\n if (this.particleSystem.SpawnParticle(particle) === null)\n {\r\n break;\r\n }\r\n spawned++;\r\n }\r\n this.hasSpawnedParticles = true;\r\n return spawned;\r\n }\r\n\r\n /**\r\n * IInitialize.Initialize (Tr2StaticEmitter.cpp:35-48): Carbon starts the\r\n * geometry resource fetch and propagates the thread-safe contract.\r\n */\r\n @impl.adapted\r\n @impl.reason(\"Resource streaming is host-owned in the browser; geometryResource arrives via the loader, so only the thread-safe propagation is mirrored.\")\r\n Initialize()\r\n {\r\n if (this.particleSystem && this.#isThreadSafe)\r\n {\r\n this.particleSystem.SetThreadSafeFlag();\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * INotify.OnModified (Tr2StaticEmitter.cpp:60-76): geometry path changes\r\n * restart the resource fetch (host-owned here); particle-system changes\r\n * re-propagate the thread-safe contract.\r\n */\r\n @impl.adapted\r\n @impl.reason(\"Geometry reloads are host-owned; only Carbon's particle-system thread-safe propagation applies on the CPU side.\")\r\n OnModified(propertyName)\r\n {\r\n if ((!propertyName || propertyName === \"particleSystem\") && this.#isThreadSafe && this.particleSystem)\r\n {\r\n this.particleSystem.SetThreadSafeFlag();\n }\r\n return true;\r\n }\r\n\r\n /** ITr2GenericEmitter.SetThreadSafeFlag (Tr2StaticEmitter.cpp:83-90). */\r\n @impl.adapted\r\n /**\r\n * Marks the emitter thread-safe and propagates the flag to its particle system.\r\n */\r\n @impl.reason(\"JavaScript updates are single-threaded; the flag is retained and propagated only for Carbon contract parity.\")\r\n SetThreadSafeFlag()\r\n {\r\n this.#isThreadSafe = true;\r\n if (this.particleSystem) this.particleSystem.SetThreadSafeFlag();\n }\r\n\r\n /**\r\n * Both Carbon SpawnParticles overloads are empty for the static emitter -\r\n * it only spawns once from Update (Tr2StaticEmitter.cpp:293-308).\r\n */\r\n @impl.noop\r\n /**\r\n * Does nothing: a static emitter spawns only during Update, never in response to a per-particle spawn call.\r\n */\r\n SpawnParticles(_a, _b, _c, _d, _e, _f)\r\n {\r\n }\r\n\r\n /** ITr2GenericEmitter.Update (Tr2StaticEmitter.cpp:274-280): one-shot spawn. */\r\n @impl.adapted\r\n Update(_updateArguments)\r\n {\r\n return this.hasSpawnedParticles ? false : this.ForceSpawn();\r\n }\r\n\r\n}\r\n"],"names":["_Tr2StaticEmitter","Tr2StaticEmitter","_withITr2GenericEmitt","withITr2GenericEmitter","CjsModel","e","_init_hasSpawnedParticles","_init_extra_hasSpawnedParticles","_init_name","_init_extra_name","_init_geometryResource","_init_extra_geometryResource","_init_meshIndex","_init_extra_meshIndex","_init_particleSystem","_init_extra_particleSystem","_init_geometryResourcePath","_init_extra_geometryResourcePath","_initProto","c","_initClass","_applyDecs","type","define","className","family","boolean","io","persist","string","read","objectRef","uint32","notify","model","carbon","method","impl","implemented","adapted","reason","noop","constructor","args","hasSpawnedParticles","name","geometryResource","meshIndex","particleSystem","geometryResourcePath","Spawn","ForceSpawn","isValid","SpawnParticles","ClearParticles","result","source","GetPayload","meshes","Meshes","mesh","particles","Particles","Array","isArray","spawned","particle","SpawnParticle","Initialize","SetThreadSafeFlag","OnModified","propertyName","_a","_b","_c","_d","_e","_f","Update","_updateArguments"],"mappings":"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"}
1
+ {"version":3,"file":"Tr2StaticEmitter.js","sources":["../../../../../src/trinity/particle/emitter/Tr2StaticEmitter.js"],"sourcesContent":["// Source: trinity/trinity/Particle/Tr2StaticEmitter.h\n// Hand-maintained from Carbon source, promoted out of generated intake.\nimport { carbon, impl, io, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport { withITr2GenericEmitter } from \"../ITr2GenericEmitter/index.js\";\n\n/** A one-shot particle emitter that spawns particles from a geometry resource's baked emission points on first update. */\n@type.define({ className: \"Tr2StaticEmitter\", family: \"particle\" })\nexport class Tr2StaticEmitter extends withITr2GenericEmitter(CjsModel)\n{\n\n #isThreadSafe = false;\n\n /** Carbon's internal one-shot spawn state. */\n @type.boolean\n hasSpawnedParticles = false;\n\n /** m_name (std::string) [READWRITE, PERSIST] */\n @io.persist\n @type.string\n name = \"\";\n\n /** m_geometryResource (TriGrannyResPtr) [READ] */\n @io.read\n @type.objectRef(\"TriGrannyRes\")\n geometryResource = null;\n\n /** m_meshIndex (uint32_t) [READWRITE, PERSIST] */\n @io.persist\n @type.uint32\n meshIndex = 0;\n\n /** m_particleSystem (Tr2ParticleSystemPtr) [READWRITE, PERSIST, NOTIFY] */\n @io.notify\n @io.persist\n @type.model(\"Tr2ParticleSystem\")\n particleSystem = null;\n\n /** m_geometryResourcePath (std::string) [READWRITE, NOTIFY, PERSIST] */\n @io.notify\n @io.persist\n @type.string\n geometryResourcePath = \"\";\n\n /** Carbon method Spawn (MAP_METHOD_AND_WRAP). */\n @carbon.method\n /**\n * Resets the one-shot spawn flag so the emitter spawns again on the next update.\n */\n @impl.implemented\n Spawn()\n {\n this.hasSpawnedParticles = false;\n }\n\n /** Carbon method ForceSpawn -> DoSpawn (MAP_METHOD_AND_WRAP). */\n @carbon.method\n @impl.adapted\n @impl.reason(\"Accepts decoded particle rows or a host geometry SpawnParticles adapter; native CMF/Granny vertex-buffer mapping remains resource-owned.\")\n ForceSpawn()\n {\n if (!this.particleSystem?.isValid || !this.geometryResource)\n {\n return false;\n }\n if (typeof this.geometryResource.SpawnParticles === \"function\")\n {\n this.particleSystem.ClearParticles();\n const result = this.geometryResource.SpawnParticles(this.particleSystem, this.meshIndex);\n this.hasSpawnedParticles = result !== false;\n return result;\n }\n const source = this.geometryResource.GetPayload?.() ?? this.geometryResource;\n const meshes = source?.meshes ?? source?.Meshes ?? [];\n const mesh = meshes[this.meshIndex] ?? null;\n const particles = mesh?.particles ?? mesh?.Particles ?? source?.particles ?? source?.Particles;\n if (!Array.isArray(particles))\n {\n return false;\n }\n this.particleSystem.ClearParticles();\n let spawned = 0;\n for (const particle of particles)\n {\n if (this.particleSystem.SpawnParticle(particle) === null)\n {\n break;\n }\n spawned++;\n }\n this.hasSpawnedParticles = true;\n return spawned;\n }\n\n /**\n * IInitialize.Initialize (Tr2StaticEmitter.cpp:35-48): Carbon starts the\n * geometry resource fetch and propagates the thread-safe contract.\n */\n @impl.adapted\n @impl.reason(\"Resource streaming is host-owned in the browser; geometryResource arrives via the loader, so only the thread-safe propagation is mirrored.\")\n Initialize()\n {\n if (this.particleSystem && this.#isThreadSafe)\n {\n this.particleSystem.SetThreadSafeFlag();\n }\n return true;\n }\n\n /**\n * INotify.OnModified (Tr2StaticEmitter.cpp:60-76): geometry path changes\n * restart the resource fetch (host-owned here); particle-system changes\n * re-propagate the thread-safe contract.\n */\n @impl.adapted\n @impl.reason(\"Geometry reloads are host-owned; only Carbon's particle-system thread-safe propagation applies on the CPU side.\")\n OnModified(propertyName)\n {\n if ((!propertyName || propertyName === \"particleSystem\") && this.#isThreadSafe && this.particleSystem)\n {\n this.particleSystem.SetThreadSafeFlag();\n }\n return true;\n }\n\n /** ITr2GenericEmitter.SetThreadSafeFlag (Tr2StaticEmitter.cpp:83-90). */\n @impl.adapted\n /**\n * Marks the emitter thread-safe and propagates the flag to its particle system.\n */\n @impl.reason(\"JavaScript updates are single-threaded; the flag is retained and propagated only for Carbon contract parity.\")\n SetThreadSafeFlag()\n {\n this.#isThreadSafe = true;\n if (this.particleSystem) this.particleSystem.SetThreadSafeFlag();\n }\n\n /**\n * Both Carbon SpawnParticles overloads are empty for the static emitter -\n * it only spawns once from Update (Tr2StaticEmitter.cpp:293-308).\n */\n @impl.noop\n /**\n * Does nothing: a static emitter spawns only during Update, never in response to a per-particle spawn call.\n */\n SpawnParticles(_a, _b, _c, _d, _e, _f)\n {\n }\n\n /** ITr2GenericEmitter.Update (Tr2StaticEmitter.cpp:274-280): one-shot spawn. */\n @impl.adapted\n Update(_updateArguments)\n {\n return this.hasSpawnedParticles ? false : this.ForceSpawn();\n }\n\n}\n"],"names":["_Tr2StaticEmitter","Tr2StaticEmitter","_withITr2GenericEmitt","withITr2GenericEmitter","CjsModel","e","_init_hasSpawnedParticles","_init_extra_hasSpawnedParticles","_init_name","_init_extra_name","_init_geometryResource","_init_extra_geometryResource","_init_meshIndex","_init_extra_meshIndex","_init_particleSystem","_init_extra_particleSystem","_init_geometryResourcePath","_init_extra_geometryResourcePath","_initProto","c","_initClass","_applyDecs","type","define","className","family","boolean","io","persist","string","read","objectRef","uint32","notify","model","carbon","method","impl","implemented","adapted","reason","noop","constructor","args","hasSpawnedParticles","name","geometryResource","meshIndex","particleSystem","geometryResourcePath","Spawn","ForceSpawn","isValid","SpawnParticles","ClearParticles","result","source","GetPayload","meshes","Meshes","mesh","particles","Particles","Array","isArray","spawned","particle","SpawnParticle","Initialize","SetThreadSafeFlag","OnModified","propertyName","_a","_b","_c","_d","_e","_f","Update","_updateArguments"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export { Tr2ParticleSystem } from './Tr2ParticleSystem.js';
2
- export { ITr2GenericEmitter, ITr2GenericEmitterUpdateArguments, withITr2GenericEmitter } from './ITr2GenericEmitter.js';
2
+ export { ITr2GenericEmitterUpdateArguments } from './ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js';
3
+ export { ITr2GenericEmitter, withITr2GenericEmitter } from './ITr2GenericEmitter/ITr2GenericEmitter.js';
3
4
  export { ITr2AttributeGenerator } from './attribute/ITr2AttributeGenerator.js';
4
5
  export { Tr2CapsuleShapeAttributeGenerator } from './attribute/Tr2CapsuleShapeAttributeGenerator.js';
5
6
  export { Tr2ConsecutiveIntegerAttributeGenerator } from './attribute/Tr2ConsecutiveIntegerAttributeGenerator.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
@@ -35,7 +35,13 @@ class TriStepPushRenderTarget extends _TriRenderStep {
35
35
  * TriStepPopRenderTarget in the same job or the job's stack guard unwinds it.
36
36
  */
37
37
  Execute(_realTime, _simTime, renderContext) {
38
- renderContext.GetEffectStateManager().PushRenderTarget(this.renderTarget, this.slot);
38
+ // CARBON BRANCHES BETWEEN TWO OVERLOADS HERE (`cpp:13-24`), and the
39
+ // difference is not cosmetic: with a target it binds one, without it calls
40
+ // the slot-only form that saves the slot and binds NOTHING. Passing a null
41
+ // target through would instead bind an empty texture and clear the slot,
42
+ // which is a third thing - the one Tr2ShadowMap actually wants.
43
+ const esm = renderContext.GetEffectStateManager();
44
+ if (this.renderTarget) esm.PushRenderTarget(this.renderTarget, this.slot);else esm.PushRenderTarget(undefined, this.slot);
39
45
  return _TriRenderJob.StepResult.RS_OK;
40
46
  }
41
47
  static {
@@ -1 +1 @@
1
- {"version":3,"file":"TriStepPushRenderTarget.js","sources":["../../../../../src/trinity/renderJob/step/TriStepPushRenderTarget.js"],"sourcesContent":["// Source: trinity/trinity/RenderJob/TriStepPushRenderTarget.h\n// Source: trinity/trinity/RenderJob/TriStepPushRenderTarget.cpp\nimport { carbon, impl, io, type } from \"#schema\";\nimport { TriRenderStep } from \"./TriRenderStep.js\";\nimport { TriRenderJob } from \"../TriRenderJob.js\";\n\n\n/** Step that pushes a render target onto the render context's stack for a given slot. */\n@type.define({ className: \"TriStepPushRenderTarget\", family: \"renderJob\" })\nexport class TriStepPushRenderTarget extends TriRenderStep\n{\n @io.readwrite\n @type.uint32\n slot = 0;\n\n @io.readwrite\n @type.objectRef(\"Tr2RenderTarget\")\n renderTarget = null;\n\n /** Stores the render target and the slot it is pushed for. */\n @carbon.method\n @impl.adapted\n __init__(renderTarget = null, slot = 0)\n {\n this.renderTarget = renderTarget ?? null;\n this.slot = Number(slot) >>> 0;\n }\n\n /**\n * Pushes the render target for its slot; every push needs a matching\n * TriStepPopRenderTarget in the same job or the job's stack guard unwinds it.\n */\n @carbon.method\n @impl.implemented\n Execute(_realTime, _simTime, renderContext)\n {\n renderContext.GetEffectStateManager().PushRenderTarget(this.renderTarget, this.slot);\n return TriRenderJob.StepResult.RS_OK;\n }\n}\n"],"names":["_TriStepPushRenderTar","TriStepPushRenderTarget","TriRenderStep","e","_init_slot","_init_extra_slot","_init_renderTarget","_init_extra_renderTarget","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","readwrite","uint32","objectRef","carbon","method","impl","adapted","implemented","constructor","args","slot","renderTarget","__init__","Number","Execute","_realTime","_simTime","renderContext","GetEffectStateManager","PushRenderTarget","TriRenderJob","StepResult","RS_OK"],"mappings":";;;;;;;AAOA;AAAA,IAAAA;AACA,MAAAC,uBAAA,SAC6CC,cAAa,CAC1D;AAAA,EAAA;AAAA,IAAA,CAAA;MAAAC,CAAA,EAAA,CAAAC,UAAA,EAAAC,gBAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAAT,qBAAA,EAAAU,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,yBAAyB;AAAEC,MAAAA,MAAM,EAAE;KAAa,CAAC,MAGxEC,EAAE,EAAFA,EAAE,CAACC,SAAS,EACZL,IAAI,EAAJA,IAAI,CAACM,MAAM,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAGXF,EAAE,EAAFA,EAAE,CAACC,SAAS,EAAA,MAAA,EACZL,IAAI,CAACO,SAAS,CAAC,iBAAiB,CAAC,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAIjCC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAWZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAxB0BtB,cAAa,CAAA;AAAA;AAAAuB,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAnB,wBAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAIxDoB,EAAAA,IAAI,IAAAnB,UAAA,CAAA,IAAA,CAAA,EAAAJ,UAAA,OAAG,CAAC,CAAA;AAIRwB,EAAAA,YAAY,IAAAvB,gBAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,IAAI,CAAA;;AAEnB;EAGAuB,QAAQA,CAACD,YAAY,GAAG,IAAI,EAAED,IAAI,GAAG,CAAC,EACtC;AACE,IAAA,IAAI,CAACC,YAAY,GAAGA,YAAY,IAAI,IAAI;IACxC,IAAI,CAACD,IAAI,GAAGG,MAAM,CAACH,IAAI,CAAC,KAAK,CAAC;AAChC,EAAA;;AAEA;AACF;AACA;AACA;AAGEI,EAAAA,OAAOA,CAACC,SAAS,EAAEC,QAAQ,EAAEC,aAAa,EAC1C;AACEA,IAAAA,aAAa,CAACC,qBAAqB,EAAE,CAACC,gBAAgB,CAAC,IAAI,CAACR,YAAY,EAAE,IAAI,CAACD,IAAI,CAAC;AACpF,IAAA,OAAOU,aAAY,CAACC,UAAU,CAACC,KAAK;AACtC,EAAA;AAAC,EAAA;IAAA7B,UAAA,EAAA;AAAA;AACH;;;;"}
1
+ {"version":3,"file":"TriStepPushRenderTarget.js","sources":["../../../../../src/trinity/renderJob/step/TriStepPushRenderTarget.js"],"sourcesContent":["// Source: trinity/trinity/RenderJob/TriStepPushRenderTarget.h\n// Source: trinity/trinity/RenderJob/TriStepPushRenderTarget.cpp\nimport { carbon, impl, io, type } from \"#schema\";\nimport { TriRenderStep } from \"./TriRenderStep.js\";\nimport { TriRenderJob } from \"../TriRenderJob.js\";\n\n\n/** Step that pushes a render target onto the render context's stack for a given slot. */\n@type.define({ className: \"TriStepPushRenderTarget\", family: \"renderJob\" })\nexport class TriStepPushRenderTarget extends TriRenderStep\n{\n @io.readwrite\n @type.uint32\n slot = 0;\n\n @io.readwrite\n @type.objectRef(\"Tr2RenderTarget\")\n renderTarget = null;\n\n /** Stores the render target and the slot it is pushed for. */\n @carbon.method\n @impl.adapted\n __init__(renderTarget = null, slot = 0)\n {\n this.renderTarget = renderTarget ?? null;\n this.slot = Number(slot) >>> 0;\n }\n\n /**\n * Pushes the render target for its slot; every push needs a matching\n * TriStepPopRenderTarget in the same job or the job's stack guard unwinds it.\n */\n @carbon.method\n @impl.implemented\n Execute(_realTime, _simTime, renderContext)\n {\n // CARBON BRANCHES BETWEEN TWO OVERLOADS HERE (`cpp:13-24`), and the\n // difference is not cosmetic: with a target it binds one, without it calls\n // the slot-only form that saves the slot and binds NOTHING. Passing a null\n // target through would instead bind an empty texture and clear the slot,\n // which is a third thing - the one Tr2ShadowMap actually wants.\n const esm = renderContext.GetEffectStateManager();\n\n if (this.renderTarget) esm.PushRenderTarget(this.renderTarget, this.slot);\n else esm.PushRenderTarget(undefined, this.slot);\n return TriRenderJob.StepResult.RS_OK;\n }\n}\n"],"names":["_TriStepPushRenderTar","TriStepPushRenderTarget","TriRenderStep","e","_init_slot","_init_extra_slot","_init_renderTarget","_init_extra_renderTarget","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","readwrite","uint32","objectRef","carbon","method","impl","adapted","implemented","constructor","args","slot","renderTarget","__init__","Number","Execute","_realTime","_simTime","renderContext","esm","GetEffectStateManager","PushRenderTarget","undefined","TriRenderJob","StepResult","RS_OK"],"mappings":";;;;;;;AAOA;AAAA,IAAAA;AACA,MAAAC,uBAAA,SAC6CC,cAAa,CAC1D;AAAA,EAAA;AAAA,IAAA,CAAA;MAAAC,CAAA,EAAA,CAAAC,UAAA,EAAAC,gBAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAAT,qBAAA,EAAAU,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,yBAAyB;AAAEC,MAAAA,MAAM,EAAE;KAAa,CAAC,MAGxEC,EAAE,EAAFA,EAAE,CAACC,SAAS,EACZL,IAAI,EAAJA,IAAI,CAACM,MAAM,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAGXF,EAAE,EAAFA,EAAE,CAACC,SAAS,EAAA,MAAA,EACZL,IAAI,CAACO,SAAS,CAAC,iBAAiB,CAAC,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAIjCC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,CAAA,EAAA,EAAA,EAAA,UAAA,CAAA,EAAA,CAAA,CAWZH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,WAAW,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,CAAA,EAAA,CAAA,EAAA,MAAA,EAxB0BtB,cAAa,CAAA;AAAA;AAAAuB,EAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,IAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;IAAAnB,wBAAA,CAAA,IAAA,CAAA;AAAA,EAAA;AAIxDoB,EAAAA,IAAI,IAAAnB,UAAA,CAAA,IAAA,CAAA,EAAAJ,UAAA,OAAG,CAAC,CAAA;AAIRwB,EAAAA,YAAY,IAAAvB,gBAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,IAAI,CAAA;;AAEnB;EAGAuB,QAAQA,CAACD,YAAY,GAAG,IAAI,EAAED,IAAI,GAAG,CAAC,EACtC;AACE,IAAA,IAAI,CAACC,YAAY,GAAGA,YAAY,IAAI,IAAI;IACxC,IAAI,CAACD,IAAI,GAAGG,MAAM,CAACH,IAAI,CAAC,KAAK,CAAC;AAChC,EAAA;;AAEA;AACF;AACA;AACA;AAGEI,EAAAA,OAAOA,CAACC,SAAS,EAAEC,QAAQ,EAAEC,aAAa,EAC1C;AACE;AACA;AACA;AACA;AACA;AACA,IAAA,MAAMC,GAAG,GAAGD,aAAa,CAACE,qBAAqB,EAAE;IAEjD,IAAI,IAAI,CAACR,YAAY,EAAEO,GAAG,CAACE,gBAAgB,CAAC,IAAI,CAACT,YAAY,EAAE,IAAI,CAACD,IAAI,CAAC,CAAC,KACrEQ,GAAG,CAACE,gBAAgB,CAACC,SAAS,EAAE,IAAI,CAACX,IAAI,CAAC;AAC/C,IAAA,OAAOY,aAAY,CAACC,UAAU,CAACC,KAAK;AACtC,EAAA;AAAC,EAAA;IAAA/B,UAAA,EAAA;AAAA;AACH;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../_virtual/_rollupPluginBabelHelpers.js';
2
2
  import { io, type, carbon, impl, CjsSchema } from '#schema';
3
+ import { Tr2ResourceSetDescriptionAL, Tr2RegisterMapAL } from '#trinityal';
3
4
  import { Tr2Material as _Tr2Material } from './Tr2Material.js';
4
5
  import { vec4 } from '#math/vec4';
5
6
  import { Tr2ConstantEffectParameter as _Tr2ConstantEffectPar } from './parameter/Tr2ConstantEffectParameter.js';
@@ -15,6 +16,7 @@ import { GetEffectPathDefaults, NormalizeResourcePath, ResolveEffectPath } from
15
16
  import { Tr2EffectStateManager as _Tr2EffectStateManage } from './Tr2EffectStateManager.js';
16
17
  import { Tr2ShaderOption as _Tr2ShaderOption } from './reflection/Tr2ShaderOption.js';
17
18
  import { Tr2SamplerOverride as _Tr2SamplerOverride } from './sampler/Tr2SamplerOverride.js';
19
+ import { Tr2RuntimeTextureParameter as _Tr2RuntimeTexturePar } from './parameter/Tr2RuntimeTextureParameter.js';
18
20
  import { Tr2Vector2Parameter as _Tr2Vector2Parameter } from './parameter/Tr2Vector2Parameter.js';
19
21
  import { Tr2Vector3Parameter as _Tr2Vector3Parameter } from './parameter/Tr2Vector3Parameter.js';
20
22
  import { Tr2Vector4Parameter as _Tr2Vector4Parameter } from './parameter/Tr2Vector4Parameter.js';
@@ -26,7 +28,7 @@ import { CjsParameter } from './parameter/CjsParameter.js';
26
28
  import { ResourceFlags } from './parameter/ITr2EffectValue.js';
27
29
  import { Tr2VariableStore as _Tr2VariableStore } from '../core/variable/Tr2VariableStore.js';
28
30
 
29
- let _initProto, _initClass, _init_effectFilePath, _init_extra_effectFilePath, _init_options, _init_extra_options, _init_name, _init_extra_name, _init_constParameters, _init_extra_constParameters, _init_parameters, _init_extra_parameters, _init_resources, _init_extra_resources, _init_effectResource, _init_extra_effectResource, _init_actualEffectFilePath, _init_extra_actualEffectFilePath, _init_samplerOverrides, _init_extra_samplerOverrides;
31
+ let _initProto, _initClass, _init_effectFilePath, _init_extra_effectFilePath, _init_options, _init_extra_options, _init_name, _init_extra_name, _init_constParameters, _init_extra_constParameters, _init_parameters, _init_extra_parameters, _init_resources, _init_extra_resources, _init_effectResource, _init_extra_effectResource, _init_actualEffectFilePath, _init_extra_actualEffectFilePath, _init_samplerOverrides, _init_extra_samplerOverrides, _call_BuildParametersForPasses;
30
32
  function requireShader(shader) {
31
33
  if (!(shader instanceof Tr2Shader)) {
32
34
  throw new TypeError("Shader reflection must be a Tr2Shader.");
@@ -34,19 +36,106 @@ function requireShader(shader) {
34
36
  return shader;
35
37
  }
36
38
 
39
+ /** Whether a value is a texture rather than a number or vector. */
40
+ function IsTextureLike(value) {
41
+ return typeof value === "object" && value !== null && typeof value.length !== "number" && (typeof value.IsValid === "function" || typeof value.GetTexture === "function");
42
+ }
43
+
44
+ /**
45
+ * Carbon's overload set, resolved by value (`Tr2Effect.h:93-100`).
46
+ *
47
+ * Each width has its own parameter class, matching Carbon's overload per type.
48
+ */
49
+ function ParameterClassFor(value) {
50
+ if (typeof value === "number") return _Tr2FloatParameter;
51
+ if (typeof value?.length !== "number") return null;
52
+ if (value.length === 2) return _Tr2Vector2Parameter;
53
+ if (value.length === 3) return _Tr2Vector3Parameter;
54
+ if (value.length === 4) return _Tr2Vector4Parameter;
55
+ if (value.length === 16) return _Tr2Matrix4Parameter;
56
+ return null;
57
+ }
58
+
59
+ /** A readable kind for the refusal message. */
60
+ function describe(value) {
61
+ if (value === undefined) return "undefined";
62
+ if (typeof value?.length === "number") return `a ${value.length}-component value`;
63
+ return typeof value;
64
+ }
65
+
37
66
  /** Owns the mutable effect facade: shader path and options, authored parameters and resources, sampler overrides, variable-store resolution, and rebuild state. */
38
67
  let _Tr2Effect;
39
68
  new class extends _identity {
40
69
  static [class Tr2Effect extends _Tr2Material {
41
70
  static {
42
71
  ({
43
- e: [_init_effectFilePath, _init_extra_effectFilePath, _init_options, _init_extra_options, _init_name, _init_extra_name, _init_constParameters, _init_extra_constParameters, _init_parameters, _init_extra_parameters, _init_resources, _init_extra_resources, _init_effectResource, _init_extra_effectResource, _init_actualEffectFilePath, _init_extra_actualEffectFilePath, _init_samplerOverrides, _init_extra_samplerOverrides, _initProto],
72
+ e: [_call_BuildParametersForPasses, _init_effectFilePath, _init_extra_effectFilePath, _init_options, _init_extra_options, _init_name, _init_extra_name, _init_constParameters, _init_extra_constParameters, _init_parameters, _init_extra_parameters, _init_resources, _init_extra_resources, _init_effectResource, _init_extra_effectResource, _init_actualEffectFilePath, _init_extra_actualEffectFilePath, _init_samplerOverrides, _init_extra_samplerOverrides, _initProto],
44
73
  c: [_Tr2Effect, _initClass]
45
74
  } = _applyDecs2311(this, [type.define({
46
75
  className: "Tr2Effect",
47
76
  family: "shader"
48
- })], [[[io, io.notify, void 0, io.rebuild("pipeline"), io, io.always, io, io.persist, type, type.string], 16, "effectFilePath"], [[void 0, io.rebuild("pipeline"), io, io.persist, void 0, type.list("Tr2ShaderOption")], 16, "options"], [[io, io.persist, type, type.string], 16, "name"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("Tr2ConstantEffectParameter")], 16, "constParameters"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("ITriEffectParameter")], 16, "parameters"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("ITriEffectResourceParameter")], 16, "resources"], [[io, io.read, void 0, type.objectRef("Tr2EffectRes")], 16, "effectResource"], [[io, io.read, type, type.string], 16, "actualEffectFilePath"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("Tr2SamplerOverride")], 16, "samplerOverrides"], [[carbon, carbon.method, impl, impl.adapted], 18, "RebuildCachedData"], [[carbon, carbon.method, impl, impl.implemented], 18, "RebuildCachedDataAsync"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetVariableStore"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetVariableStore"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetConstParameters"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetHashValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetParameterAnnotations"], [[carbon, carbon.method, impl, impl.adapted], 18, "PopulateParameters"], [[carbon, carbon.method, impl, impl.implemented], 18, "EndUpdate"], [[carbon, carbon.method, impl, impl.adapted], 18, "PruneParameters"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsParameterUsedByTechnique"], [[carbon, carbon.method, impl, impl.implemented], 18, "StartUpdate"], [[carbon, carbon.method, impl, impl.adapted], 18, "SetResourceTexture2D"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("JS explicitly rebuilds the cached CPU effect data after Carbon's Vector4 parameter reuse-or-append policy because plain array mutation has no Blue list notification.")], 18, "SetParameter"]], 0, void 0, _Tr2Material));
77
+ })], [[[io, io.notify, void 0, io.rebuild("pipeline"), io, io.always, io, io.persist, type, type.string], 16, "effectFilePath"], [[void 0, io.rebuild("pipeline"), io, io.persist, void 0, type.list("Tr2ShaderOption")], 16, "options"], [[io, io.persist, type, type.string], 16, "name"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("Tr2ConstantEffectParameter")], 16, "constParameters"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("ITriEffectParameter")], 16, "parameters"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("ITriEffectResourceParameter")], 16, "resources"], [[io, io.read, void 0, type.objectRef("Tr2EffectRes")], 16, "effectResource"], [[io, io.read, type, type.string], 16, "actualEffectFilePath"], [[void 0, io.rebuild("bindings"), io, io.persist, void 0, type.list("Tr2SamplerOverride")], 16, "samplerOverrides"], [[carbon, carbon.method, impl, impl.adapted], 18, "RebuildCachedData"], [[carbon, carbon.method, impl, impl.implemented], 18, "RebuildCachedDataAsync"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetVariableStore"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetVariableStore"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetConstParameters"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetHashValue"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetParameterAnnotations"], [[carbon, carbon.method, impl, impl.adapted], 18, "PopulateParameters"], [[carbon, carbon.method, impl, impl.implemented], 18, "EndUpdate"], [[carbon, carbon.method, impl, impl.adapted], 18, "PruneParameters"], [[carbon, carbon.method, impl, impl.implemented], 18, "IsParameterUsedByTechnique"], [[carbon, carbon.method, impl, impl.implemented], 18, "StartUpdate"], [[impl, impl.adapted, void 0, impl.reason("Device-free JS reflection supplies stage signatures in authored order; pass descriptions allocate their map here and sampler states are seeded by the applying context.")], 18, "BuildParametersForPasses", function () {
78
+ // Carbon's `m_parametersForPasses.clear()` (Tr2Effect.cpp:693) tears down
79
+ // value members: each stage's constant buffer and each pass's resource
80
+ // set die with it. Ours are device objects behind handles, so they are
81
+ // destroyed by name before the array is dropped - otherwise every rebuild
82
+ // leaked one GPUBuffer per stage.
83
+ for (const technique of this.parametersForPasses ?? []) {
84
+ for (const pass of technique?.passes ?? []) {
85
+ for (const stageInput of pass?.stageInput ?? []) stageInput?.constantBuffer?.Destroy();
86
+ pass?.resourceSet?.Destroy();
87
+ }
88
+ }
89
+ this.parametersForPasses = [];
90
+ const techniques = this.shader?.GetEffect?.()?.techniques ?? [];
91
+ for (const technique of techniques) {
92
+ const inputs = new _Tr2EffectTechniqueIn();
93
+ for (const pass of technique?.passes ?? []) {
94
+ const passParameters = new _Tr2EffectPassParamet();
95
+
96
+ // Carbon builds the map from stage signatures before material writes
97
+ // (Tr2EffectDescription.cpp:617-646; Tr2Effect.cpp:708). Our device-free
98
+ // reflection keeps sampler metadata; states are seeded by the applying
99
+ // context, as documented on Tr2Material.SeedSamplers.
100
+ const stages = [];
101
+ const signatures = [];
102
+ const ordered = pass.stageOrder?.length ? pass.stageOrder : pass.stageInputs.map((_, stage) => stage);
103
+ for (const stage of ordered) {
104
+ if (!pass.stageInputs[stage]?.exists) continue;
105
+ stages.push(stage);
106
+ signatures.push(pass.stageInputs[stage].signature);
107
+ }
108
+ passParameters.resourceSetDesc = new Tr2ResourceSetDescriptionAL({
109
+ registers: new Tr2RegisterMapAL({
110
+ stages,
111
+ signatures
112
+ })
113
+ });
114
+ passParameters.resourceSetHash = 0;
115
+ passParameters.resourceSetDirty = true;
116
+ passParameters.compatibleWithGdr = true;
117
+ const stageInputs = pass?.stageInputs ?? [];
118
+ for (let stageType = 0; stageType < stageInputs.length; stageType += 1) {
119
+ const stage = stageInputs[stageType];
120
+ if (!stage?.exists) continue;
121
+
122
+ // A stage Carbon's GDR path cannot express: anything but vertex,
123
+ // pixel or compute (Tr2Effect.cpp:723-726).
124
+ if (stageType !== ShaderStageType.VERTEX_SHADER && stageType !== ShaderStageType.PIXEL_SHADER && stageType !== ShaderStageType.COMPUTE_SHADER) {
125
+ passParameters.compatibleWithGdr = false;
126
+ }
127
+ this.#MapPassParameters(stage, passParameters.stageInput[stageType], passParameters);
128
+ this.#MapPassResources(stage.resources, passParameters.stageInput[stageType].textures, passParameters);
129
+ this.#MapPassResources(stage.uavs, passParameters.stageInput[stageType].uavs, passParameters);
130
+ }
131
+ if (!passParameters.compatibleWithGdr) this.compatibleWithGdr = false;
132
+ inputs.passes.push(passParameters);
133
+ }
134
+ this.parametersForPasses.push(inputs);
135
+ }
136
+ }], [[carbon, carbon.method, impl, impl.adapted], 18, "SetResourceTexture2D"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("JS explicitly rebuilds the cached CPU effect data after Carbon's Vector4 parameter reuse-or-append policy because plain array mutation has no Blue list notification.")], 18, "SetParameter"]], 0, _ => #BuildParametersForPasses in _, _Tr2Material));
49
137
  }
138
+ #BuildParametersForPasses = _call_BuildParametersForPasses;
50
139
  /** m_effectFilePath (std::string) [READWRITE, PERSIST, NOTIFY] */
51
140
  effectFilePath = (_initProto(this), _init_effectFilePath(this, ""));
52
141
 
@@ -260,58 +349,6 @@ new class extends _identity {
260
349
  *
261
350
  * @returns {void}
262
351
  */
263
- #BuildParametersForPasses() {
264
- // Carbon's `m_parametersForPasses.clear()` (Tr2Effect.cpp:693) tears down
265
- // value members: each stage's constant buffer and each pass's resource
266
- // set die with it. Ours are device objects behind handles, so they are
267
- // destroyed by name before the array is dropped - otherwise every rebuild
268
- // leaked one GPUBuffer per stage.
269
- for (const technique of this.parametersForPasses ?? []) {
270
- for (const pass of technique?.passes ?? []) {
271
- for (const stageInput of pass?.stageInput ?? []) stageInput?.constantBuffer?.Destroy();
272
- pass?.resourceSet?.Destroy();
273
- }
274
- }
275
- this.parametersForPasses = [];
276
- const techniques = this.shader?.GetEffect?.()?.techniques ?? [];
277
- for (const technique of techniques) {
278
- const inputs = new _Tr2EffectTechniqueIn();
279
- for (const pass of technique?.passes ?? []) {
280
- const passParameters = new _Tr2EffectPassParamet();
281
-
282
- // THE READER'S DESCRIPTION IS NOT THIS DESCRIPTION, and assigning it
283
- // here was the bug. `pass.resourceSetDesc` off the reflection is an
284
- // `HlslResourceSetDescription` - samplers and D3D12 heap views, no
285
- // `SetSrv`, no `ClearResources` - while this field is Carbon's
286
- // `Tr2ResourceSetDescriptionAL`, which the pass parameters construct
287
- // for themselves and `UpdateResourceSetDesc` fills at bind time.
288
- //
289
- // Carbon copies a description here because ITS reflection carries the
290
- // same type; ours does not, so there is nothing to copy. Removed
291
- // 2026-09-05; see /docs/research/graphics-path-review-2026-09-05.md.
292
- passParameters.resourceSetHash = 0;
293
- passParameters.resourceSetDirty = true;
294
- passParameters.compatibleWithGdr = true;
295
- const stageInputs = pass?.stageInputs ?? [];
296
- for (let stageType = 0; stageType < stageInputs.length; stageType += 1) {
297
- const stage = stageInputs[stageType];
298
- if (!stage?.exists) continue;
299
-
300
- // A stage Carbon's GDR path cannot express: anything but vertex,
301
- // pixel or compute (Tr2Effect.cpp:723-726).
302
- if (stageType !== ShaderStageType.VERTEX_SHADER && stageType !== ShaderStageType.PIXEL_SHADER && stageType !== ShaderStageType.COMPUTE_SHADER) {
303
- passParameters.compatibleWithGdr = false;
304
- }
305
- this.#MapPassParameters(stage, passParameters.stageInput[stageType], passParameters);
306
- this.#MapPassResources(stage.resources, passParameters.stageInput[stageType].textures, passParameters);
307
- this.#MapPassResources(stage.uavs, passParameters.stageInput[stageType].uavs, passParameters);
308
- }
309
- if (!passParameters.compatibleWithGdr) this.compatibleWithGdr = false;
310
- inputs.passes.push(passParameters);
311
- }
312
- this.parametersForPasses.push(inputs);
313
- }
314
- }
315
352
 
316
353
  /**
317
354
  * Maps one stage's authored constants onto byte offsets in its CPU mirror
@@ -763,12 +800,28 @@ new class extends _identity {
763
800
  * Sets one named dynamic parameter. Carbon exposes this singular facade and
764
801
  * smart-light meshes use it while stamping their resolved group color.
765
802
  */
766
- SetParameter(name, value) {
803
+ SetParameter(name, value, uavMipLevel = 0) {
767
804
  const parameterName = String(name ?? "");
805
+
806
+ // A TEXTURE IS NOT A PARAMETER HERE, it is a resource, so Carbon's texture
807
+ // overload (`Tr2Effect.h:94`) routes to the runtime texture slot instead.
808
+ // Null clears it, which is what Carbon's `Tr2TextureAL{}` does.
809
+ if (value === null || IsTextureLike(value)) {
810
+ return this.#SetTextureParameter(parameterName, value, uavMipLevel);
811
+ }
812
+ const Parameter = ParameterClassFor(value);
813
+ if (!Parameter) {
814
+ throw new TypeError(`Tr2Effect.SetParameter: no Carbon overload takes ${describe(value)} for "${parameterName}"`);
815
+ }
768
816
  const existing = CjsParameter.findByName(this.parameters, parameterName);
769
- let parameter = existing instanceof _Tr2Vector4Parameter ? existing : null;
817
+ let parameter = existing instanceof Parameter ? existing : null;
770
818
  if (!parameter) {
771
- parameter = new _Tr2Vector4Parameter();
819
+ // A same-name parameter of the WRONG TYPE is left in place and a new one
820
+ // appended. That looks like a bug and is Carbon's behaviour - pinned by
821
+ // `smart mesh uses the real effect Vector4 facade and preserves Carbon
822
+ // wrong-type append`. Removing the old one is a silent behaviour change
823
+ // for anything still holding a reference to it.
824
+ parameter = new Parameter();
772
825
  parameter.name = parameterName;
773
826
  this.parameters.push(parameter);
774
827
  }
@@ -776,6 +829,26 @@ new class extends _identity {
776
829
  this.RebuildCachedDataInternal();
777
830
  }
778
831
 
832
+ /** Carbon's texture overload: a named slot fed by a live texture. */
833
+ #SetTextureParameter(parameterName, texture, uavMipLevel) {
834
+ const existing = this.GetResourceByName(parameterName);
835
+ if (existing instanceof _Tr2RuntimeTexturePar) {
836
+ existing.SetTextureProvider(texture);
837
+ existing.SetUavMipLevel(uavMipLevel);
838
+ this.RebuildCachedDataInternal();
839
+ return;
840
+ }
841
+
842
+ // A null texture still CREATES the slot, which is Carbon's else branch
843
+ // (cpp:2093-2099) and is load-bearing: Tr2ShadowMap's constructor declares
844
+ // its two texture slots by setting them to an empty texture (cpp:41-42).
845
+ // Skipping that would leave the effect without slots it expects to have.
846
+ const parameter = new _Tr2RuntimeTexturePar();
847
+ parameter.Create(parameterName, texture, uavMipLevel);
848
+ this.AddResource(parameter);
849
+ this.RebuildCachedDataInternal();
850
+ }
851
+
779
852
  /** Merges texture resources by unique name from res path strings. */
780
853
  SetTextures(values = {}) {
781
854
  let updated = false;