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

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 (935) 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/schema/CjsSchema.js +20 -2
  80. package/dist/global/schema/CjsSchema.js.map +1 -1
  81. package/dist/global/schema/hydration.js +14 -0
  82. package/dist/global/schema/hydration.js.map +1 -1
  83. package/dist/global/utils/bytes.js +22 -4
  84. package/dist/global/utils/bytes.js.map +1 -1
  85. package/dist/global/utils/checksum.js +80 -0
  86. package/dist/global/utils/checksum.js.map +1 -0
  87. package/dist/global/utils/errors/CjsCancellationError.js +36 -0
  88. package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
  89. package/dist/global/utils/errors/CjsError.js +21 -52
  90. package/dist/global/utils/errors/CjsError.js.map +1 -1
  91. package/dist/global/utils/errors/abort.js +1 -1
  92. package/dist/global/utils/errors/abort.js.map +1 -1
  93. package/dist/global/utils/errors/index.js +2 -1
  94. package/dist/global/utils/errors/index.js.map +1 -1
  95. package/dist/global/utils/index.js +4 -2
  96. package/dist/global/utils/index.js.map +1 -1
  97. package/dist/index.js +95 -35
  98. package/dist/index.js.map +1 -1
  99. package/dist/input/Tr2MainWindow.js +7 -9
  100. package/dist/input/Tr2MainWindow.js.map +1 -1
  101. package/dist/resource/CjsResMan.js +33 -39
  102. package/dist/resource/CjsResMan.js.map +1 -1
  103. package/dist/resource/CjsResource.js +19 -5
  104. package/dist/resource/CjsResource.js.map +1 -1
  105. package/dist/resource/audio/AudioGeometryResData.js +22 -27
  106. package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
  107. package/dist/resource/audio/CjsAudioRes.js +4 -5
  108. package/dist/resource/audio/CjsAudioRes.js.map +1 -1
  109. package/dist/resource/format/CjsBitReader.js +263 -0
  110. package/dist/resource/format/CjsBitReader.js.map +1 -0
  111. package/dist/resource/format/CjsByteReader.js +130 -125
  112. package/dist/resource/format/CjsByteReader.js.map +1 -1
  113. package/dist/resource/format/CjsFormat.js +11 -4
  114. package/dist/resource/format/CjsFormat.js.map +1 -1
  115. package/dist/resource/format/CjsFormatError.js +37 -1
  116. package/dist/resource/format/CjsFormatError.js.map +1 -1
  117. package/dist/resource/format/CjsResourceProbe.js +41 -37
  118. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  119. package/dist/resource/format/carbonRecordGuard.js +33 -0
  120. package/dist/resource/format/carbonRecordGuard.js.map +1 -0
  121. package/dist/resource/format/imageSignatures.js +202 -0
  122. package/dist/resource/format/imageSignatures.js.map +1 -0
  123. package/dist/resource/format/index.js +2 -1
  124. package/dist/resource/format/index.js.map +1 -1
  125. package/dist/resource/format/jsonPolicies.js +180 -0
  126. package/dist/resource/format/jsonPolicies.js.map +1 -0
  127. package/dist/resource/formats/black/core/helpers.js +18 -29
  128. package/dist/resource/formats/black/core/helpers.js.map +1 -1
  129. package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
  130. package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
  131. package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
  132. package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
  133. package/dist/resource/formats/bnk/core/busNodes.js +2 -1
  134. package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
  135. package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
  136. package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
  137. package/dist/resource/formats/bnk/core/eventAction.js +15 -93
  138. package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
  139. package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
  140. package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
  141. package/dist/resource/formats/bnk/core/helpers.js +2 -48
  142. package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
  143. package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
  144. package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
  145. package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
  146. package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
  147. package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
  148. package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
  149. package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
  150. package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
  151. package/dist/resource/formats/cmf/core/binary.js +54 -60
  152. package/dist/resource/formats/cmf/core/binary.js.map +1 -1
  153. package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
  154. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  155. package/dist/resource/formats/dds/core/bc6h.js +16 -18
  156. package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
  157. package/dist/resource/formats/dds/core/bc7.js +28 -24
  158. package/dist/resource/formats/dds/core/bc7.js.map +1 -1
  159. package/dist/resource/formats/dds/core/helpers.js +7 -133
  160. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  161. package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
  162. package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
  163. package/dist/resource/formats/dxbc/core/helpers.js +4 -32
  164. package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
  165. package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
  166. package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
  167. package/dist/resource/formats/fbx/core/helpers.js +18 -12
  168. package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
  169. package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
  170. package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
  171. package/dist/resource/formats/flac/core/helpers.js +1 -62
  172. package/dist/resource/formats/flac/core/helpers.js.map +1 -1
  173. package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
  174. package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
  175. package/dist/resource/formats/gif/core/helpers.js +1 -63
  176. package/dist/resource/formats/gif/core/helpers.js.map +1 -1
  177. package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
  178. package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
  179. package/dist/resource/formats/gltf/core/helpers.js +3 -19
  180. package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
  181. package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
  182. package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
  183. package/dist/resource/formats/gr2/core/container.js +1 -10
  184. package/dist/resource/formats/gr2/core/container.js.map +1 -1
  185. package/dist/resource/formats/gr2/core/helpers.js +24 -35
  186. package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
  187. package/dist/resource/formats/gr2/core/shared.js +193 -189
  188. package/dist/resource/formats/gr2/core/shared.js.map +1 -1
  189. package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
  190. package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
  191. package/dist/resource/formats/hlsl/core/helpers.js +1 -30
  192. package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
  193. package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
  194. package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
  195. package/dist/resource/formats/jpeg/core/helpers.js +7 -134
  196. package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
  197. package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
  198. package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
  199. package/dist/resource/formats/mp3/core/helpers.js +1 -64
  200. package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
  201. package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
  202. package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
  203. package/dist/resource/formats/mp4/core/helpers.js +1 -73
  204. package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
  205. package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
  206. package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
  207. package/dist/resource/formats/obj/core/helpers.js +93 -115
  208. package/dist/resource/formats/obj/core/helpers.js.map +1 -1
  209. package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
  210. package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
  211. package/dist/resource/formats/ogg/core/helpers.js +1 -15
  212. package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
  213. package/dist/resource/formats/ogg/core/vorbis.js +138 -144
  214. package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
  215. package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
  216. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  217. package/dist/resource/formats/png/CjsPngFormat.js +5 -3
  218. package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
  219. package/dist/resource/formats/png/core/helpers.js +13 -152
  220. package/dist/resource/formats/png/core/helpers.js.map +1 -1
  221. package/dist/resource/formats/png/core/writer.js +3 -27
  222. package/dist/resource/formats/png/core/writer.js.map +1 -1
  223. package/dist/resource/formats/red/core/helpers.js +19 -29
  224. package/dist/resource/formats/red/core/helpers.js.map +1 -1
  225. package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
  226. package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
  227. package/dist/resource/formats/stl/core/helpers.js +44 -66
  228. package/dist/resource/formats/stl/core/helpers.js.map +1 -1
  229. package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
  230. package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
  231. package/dist/resource/formats/tga/core/helpers.js +7 -153
  232. package/dist/resource/formats/tga/core/helpers.js.map +1 -1
  233. package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
  234. package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
  235. package/dist/resource/formats/vta/core/helpers.js +1 -17
  236. package/dist/resource/formats/vta/core/helpers.js.map +1 -1
  237. package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
  238. package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
  239. package/dist/resource/formats/wav/core/helpers.js +1 -15
  240. package/dist/resource/formats/wav/core/helpers.js.map +1 -1
  241. package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
  242. package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
  243. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +69 -9
  244. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  245. package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +12 -3
  246. package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
  247. package/dist/resource/formats/webgl/core/helpers.js +39 -68
  248. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  249. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
  250. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  251. package/dist/resource/formats/webgpu/core/helpers.js +4 -30
  252. package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
  253. package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
  254. package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
  255. package/dist/resource/formats/webm/core/helpers.js +1 -73
  256. package/dist/resource/formats/webm/core/helpers.js.map +1 -1
  257. package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
  258. package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
  259. package/dist/resource/formats/webp/core/helpers.js +1 -62
  260. package/dist/resource/formats/webp/core/helpers.js.map +1 -1
  261. package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
  262. package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
  263. package/dist/resource/formats/wem/core/bitStream.js +83 -106
  264. package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
  265. package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
  266. package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
  267. package/dist/resource/formats/wem/core/helpers.js +1 -15
  268. package/dist/resource/formats/wem/core/helpers.js.map +1 -1
  269. package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
  270. package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
  271. package/dist/resource/geometry/MeshDecalData.js +23 -25
  272. package/dist/resource/geometry/MeshDecalData.js.map +1 -1
  273. package/dist/resource/geometry/MeshDecalLodData.js +14 -23
  274. package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
  275. package/dist/resource/geometry/TriGeometryRes.js +299 -284
  276. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  277. package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
  278. package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
  279. package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
  280. package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
  281. package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
  282. package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
  283. package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
  284. package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
  285. package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
  286. package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
  287. package/dist/resource/geometry/TriJointBinding.js +16 -24
  288. package/dist/resource/geometry/TriJointBinding.js.map +1 -1
  289. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
  290. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
  291. package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
  292. package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
  293. package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
  294. package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
  295. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
  296. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  297. package/dist/resource/index.js +1 -1
  298. package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
  299. package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
  300. package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
  301. package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
  302. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
  303. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  304. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
  305. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
  306. package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
  307. package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
  308. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
  309. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  310. package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
  311. package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
  312. package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
  313. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  314. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
  315. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
  316. package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
  317. package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
  318. package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
  319. package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
  320. package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
  321. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  322. package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
  323. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  324. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
  325. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
  327. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
  329. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  330. package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
  331. package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
  332. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
  333. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  334. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
  335. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
  336. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
  337. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  338. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
  339. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  340. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
  341. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  342. package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
  343. package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
  344. package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
  345. package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
  346. package/dist/resource/worker/protocol.js +18 -1
  347. package/dist/resource/worker/protocol.js.map +1 -1
  348. package/dist/sof/EveSOF.js +2 -222
  349. package/dist/sof/EveSOF.js.map +1 -1
  350. package/dist/sof/SofDocumentBuilder.js +205 -0
  351. package/dist/sof/SofDocumentBuilder.js.map +1 -0
  352. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
  353. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
  354. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
  355. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
  356. package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
  357. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  358. package/dist/sof/faction/index.js +3 -1
  359. package/dist/sof/faction/index.js.map +1 -1
  360. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
  361. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
  362. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
  363. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
  364. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
  365. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
  366. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
  367. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
  368. package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
  369. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  370. package/dist/sof/generic/index.js +5 -1
  371. package/dist/sof/generic/index.js.map +1 -1
  372. package/dist/sof/index.js +23 -7
  373. package/dist/sof/index.js.map +1 -1
  374. package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
  375. package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
  376. package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
  377. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  378. package/dist/sof/pattern/index.js +2 -1
  379. package/dist/sof/pattern/index.js.map +1 -1
  380. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
  381. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
  382. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
  383. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
  384. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
  385. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
  386. package/dist/sof/shared/EveSOFDataArea.js +2 -13
  387. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  388. package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
  389. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  390. package/dist/sof/shared/EveSOFDataParameter.js +2 -146
  391. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  392. package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
  393. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
  394. package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
  395. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
  396. package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
  397. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
  398. package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
  399. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
  400. package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
  401. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
  402. package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
  403. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
  404. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
  405. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
  406. package/dist/sof/shared/index.js +13 -4
  407. package/dist/sof/shared/index.js.map +1 -1
  408. package/dist/sof/sofDocumentValues.js +33 -0
  409. package/dist/sof/sofDocumentValues.js.map +1 -0
  410. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
  411. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
  412. package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
  413. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
  414. package/dist/trinity/controllers/Tr2Controller.js +2 -1
  415. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  416. package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
  417. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  418. package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
  419. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  420. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
  421. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  422. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
  423. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
  424. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
  425. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
  426. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
  427. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
  428. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
  429. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
  430. package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
  431. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
  432. package/dist/trinity/controllers/index.js +5 -2
  433. package/dist/trinity/controllers/index.js.map +1 -1
  434. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
  435. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  436. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
  437. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  438. package/dist/trinity/core/ITr2Updateable.js +2 -1
  439. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  440. package/dist/trinity/core/Tr2Blitter.js +6 -3
  441. package/dist/trinity/core/Tr2Blitter.js.map +1 -1
  442. package/dist/trinity/core/Tr2Denoiser.js +256 -0
  443. package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
  444. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
  445. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
  446. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
  447. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
  448. package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
  449. package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
  450. package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
  451. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
  452. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
  453. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
  454. package/dist/trinity/core/Tr2RenderUtils.js +20 -3
  455. package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
  456. package/dist/trinity/core/Tr2Renderer.js +146 -1
  457. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  458. package/dist/trinity/core/Tr2ShadowMap.js +135 -14
  459. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  460. package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
  461. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
  462. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
  463. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
  464. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
  465. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
  466. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
  467. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
  468. package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
  469. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
  470. package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
  471. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
  472. package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
  473. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
  474. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
  475. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
  476. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
  477. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
  478. package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
  479. package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
  480. package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
  481. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  482. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
  483. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
  484. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
  485. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
  486. package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
  487. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  488. package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
  489. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
  490. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
  491. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
  492. package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
  493. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
  494. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
  495. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
  496. package/dist/trinity/core/index.js +42 -15
  497. package/dist/trinity/core/index.js.map +1 -1
  498. package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
  499. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  500. package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
  501. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
  502. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
  503. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
  504. package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
  505. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
  506. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
  507. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
  508. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
  509. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  510. package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
  511. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  512. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
  513. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  514. package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
  515. package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
  516. package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
  517. package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
  518. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
  519. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
  520. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
  521. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
  522. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
  523. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
  524. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
  525. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
  526. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
  527. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
  528. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
  529. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
  530. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
  531. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
  532. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
  533. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
  534. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
  535. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
  536. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
  537. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
  538. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
  539. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
  540. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
  541. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
  542. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
  543. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
  544. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
  545. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
  546. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
  547. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
  548. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
  549. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
  550. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
  551. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
  552. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
  553. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
  554. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
  555. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
  556. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
  557. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
  558. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
  559. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
  560. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
  561. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
  562. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
  563. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
  564. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
  565. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
  566. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
  567. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
  568. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
  569. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
  570. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
  571. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
  572. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
  573. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
  574. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
  575. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
  576. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
  577. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
  578. package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
  579. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
  580. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
  581. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
  582. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
  583. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
  584. package/dist/trinity/core/variable/TriVariable.js +83 -83
  585. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  586. package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
  587. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
  588. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
  589. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
  590. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
  591. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  592. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
  593. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  594. package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
  595. package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
  596. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
  597. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  598. package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
  599. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  600. package/dist/trinity/eve/IEveTransform.js +2 -1
  601. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  602. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
  603. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  604. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
  605. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  606. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
  607. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
  608. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
  609. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  610. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
  611. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  612. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
  613. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
  614. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
  615. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  616. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
  617. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  618. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
  619. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  620. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
  621. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  622. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
  623. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  624. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
  625. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  626. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
  627. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  628. package/dist/trinity/eve/camera/EveCamera.js +1 -1
  629. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  630. package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
  631. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  632. package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
  633. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  634. package/dist/trinity/eve/child/EveChildContainer.js +141 -141
  635. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  636. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
  637. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
  638. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
  639. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
  640. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
  641. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
  642. package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
  643. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
  644. package/dist/trinity/eve/child/EveChildMesh.js +218 -218
  645. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  646. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
  647. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
  648. package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
  649. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
  650. package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
  651. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  652. package/dist/trinity/eve/child/EveChildTransform.js +5 -0
  653. package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
  654. package/dist/trinity/eve/child/EveChildTurret.js +7 -0
  655. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  656. package/dist/trinity/eve/index.js +10 -4
  657. package/dist/trinity/eve/index.js.map +1 -1
  658. package/dist/trinity/eve/lights/Tr2Light.js +5 -0
  659. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  660. package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
  661. package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
  662. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
  663. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  664. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
  665. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  666. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
  667. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  668. package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
  669. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  670. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
  671. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  672. package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
  673. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  674. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
  675. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  676. package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
  677. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  678. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
  679. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  680. package/dist/trinity/generated/index.js +0 -1
  681. package/dist/trinity/generated/index.js.map +1 -1
  682. package/dist/trinity/generated/trinityCore/index.js +0 -1
  683. package/dist/trinity/generated/trinityCore/index.js.map +1 -1
  684. package/dist/trinity/index.js +59 -23
  685. package/dist/trinity/index.js.map +1 -1
  686. package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
  687. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
  688. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
  689. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
  690. package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
  691. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  692. package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
  693. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  694. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
  695. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  696. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
  697. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  698. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
  699. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  700. package/dist/trinity/particle/index.js +2 -1
  701. package/dist/trinity/particle/index.js.map +1 -1
  702. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
  703. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  704. package/dist/trinity/shader/Tr2Effect.js +131 -58
  705. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  706. package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
  707. package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
  708. package/dist/trinity/shader/Tr2Material.js +21 -4
  709. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  710. package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
  711. package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
  712. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
  713. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  714. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
  715. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
  716. package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
  717. package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
  718. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
  719. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
  720. package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
  721. package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
  722. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
  723. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
  724. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
  725. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
  726. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
  727. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
  728. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
  729. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
  730. package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
  731. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
  732. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
  733. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
  734. package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
  735. package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
  736. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
  737. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
  738. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
  739. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
  740. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
  741. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
  742. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
  743. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
  744. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
  745. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
  746. package/dist/trinityal/index.js +22 -9
  747. package/dist/trinityal/index.js.map +1 -1
  748. package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
  749. package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
  750. package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
  751. package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
  752. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
  753. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
  754. package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
  755. package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
  756. package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
  757. package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
  758. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
  759. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
  760. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
  761. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
  762. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
  763. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
  764. package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
  765. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
  766. package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
  767. package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
  768. package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
  769. package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
  770. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
  771. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
  772. package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
  773. package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
  774. package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
  775. package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
  776. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
  777. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
  778. package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
  779. package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
  780. package/dist/trinityal/stub/index.js +8 -4
  781. package/dist/trinityal/stub/index.js.map +1 -1
  782. package/dist/trinityal/vertexLayoutMatch.js +2 -2
  783. package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
  784. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
  785. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
  786. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
  787. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
  788. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
  789. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
  790. package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
  791. package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
  792. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
  793. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  794. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
  795. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  796. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
  797. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
  798. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
  799. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
  800. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
  801. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
  802. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
  803. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
  804. package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
  805. package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
  806. package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
  807. package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
  808. package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
  809. package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
  810. package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
  811. package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
  812. package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
  813. package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
  814. package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
  815. package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
  816. package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
  817. package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
  818. package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
  819. package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
  820. package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
  821. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
  822. package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
  823. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
  824. package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
  825. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
  826. package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
  827. package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
  828. package/dist/trinityal/webgpu/internal.js +12 -11
  829. package/dist/trinityal/webgpu/internal.js.map +1 -1
  830. package/docs/audio/reference/classes/trinity.md +44 -34
  831. package/docs/character/architecture.md +276 -0
  832. package/docs/character/reference/character-appearance-plans.md +30 -66
  833. package/docs/character/reference/prepared-libraries.md +14 -30
  834. package/docs/global/reference/api.md +2 -1
  835. package/docs/global/reference/classes/README.md +53 -71
  836. package/docs/global/reference/classes/dropped.md +16 -0
  837. package/docs/resource/README.md +19 -15
  838. package/docs/resource/architecture.md +9 -2
  839. package/docs/resource/concepts/format-capabilities.md +124 -80
  840. package/docs/resource/concepts/shared-format-helpers.md +94 -0
  841. package/docs/resource/formats/README.md +230 -224
  842. package/docs/resource/formats/bitknit2.md +221 -0
  843. package/docs/resource/formats/carbon-effect-container.md +184 -269
  844. package/docs/resource/formats/gr2.md +6 -1
  845. package/docs/resource/formats/schemabound.md +28 -48
  846. package/docs/resource/formats/static.md +70 -97
  847. package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
  848. package/docs/resource/formats/webgl/decl-io.md +165 -256
  849. package/docs/resource/formats/webgl/memory-structured.md +64 -142
  850. package/docs/resource/formats/webgl/texture-sample.md +109 -138
  851. package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
  852. package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
  853. package/docs/resource/formats/webgpu/reference/api.md +64 -67
  854. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +158 -345
  855. package/docs/resource/reference/classes/core.md +256 -236
  856. package/docs/resource/reference/classes/formats.md +1668 -1672
  857. package/docs/resource/reference/workers.md +4 -2
  858. package/docs/sof/reference/classes/core.md +1 -1
  859. package/docs/sof/reference/classes/faction.md +2 -2
  860. package/docs/sof/reference/classes/generic.md +4 -4
  861. package/docs/sof/reference/classes/pattern.md +1 -1
  862. package/docs/sof/reference/classes/shared.md +10 -10
  863. package/docs/trinity/architecture.md +55 -44
  864. package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
  865. package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
  866. package/docs/trinity/reference/classes/dropped.md +0 -189
  867. package/docs/trinity/reference/classes/eve-runtime.md +8 -8
  868. package/docs/trinity/reference/classes/generated.md +0 -10
  869. package/docs/trinity/reference/classes/particle.md +2 -2
  870. package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
  871. package/docs/trinity/reference/implementation-status.md +50 -75
  872. package/docs/trinity/reference/main-semantic-extraction.md +13 -17
  873. package/docs/trinityal/reference/classes/README.md +77 -27
  874. package/docs/trinityal/reference/classes/dropped.md +92 -0
  875. package/docs/trinityal/webgpu/README.md +3 -1
  876. package/docs/trinityal/webgpu/architecture.md +121 -228
  877. package/docs/trinityal/webgpu/reference/api.md +5 -5
  878. package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
  879. package/format-notices/gr2/NOTICE +18 -12
  880. package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
  881. package/package.json +4 -1
  882. package/dist/audio/trinity/audio/AudActionLog.js +0 -173
  883. package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
  884. package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
  885. package/dist/global/contracts/CjsScriptCallback.js +0 -94
  886. package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
  887. package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
  888. package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
  889. package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
  890. package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
  891. package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
  892. package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
  893. package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
  894. package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
  895. package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
  896. package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
  897. package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
  898. package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
  899. package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
  900. package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
  901. package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
  902. package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
  903. package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
  904. package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
  905. package/dist/trinity/core/rawData/constantLayout.js +0 -175
  906. package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
  907. package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
  908. package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
  909. package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
  910. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
  911. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
  912. package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
  913. package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
  914. package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
  915. package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
  916. package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
  917. package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
  918. package/dist/trinityal/Tr2SamplerDescription.js +0 -72
  919. package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
  920. package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
  921. package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
  922. package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
  923. package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
  924. package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
  925. package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
  926. package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
  927. package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
  928. package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
  929. package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
  930. package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
  931. package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
  932. package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
  933. package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
  934. package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
  935. package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
@@ -1,3 +1,5 @@
1
+ import { WwiseCursor } from './WwiseCursor.js';
2
+
1
3
  // Exact Wwise v150 HIRC 3 Event Action decoding. The container reader keeps
2
4
  // the raw payload; this module adds typed action data only when a recognized
3
5
  // layout consumes that payload exactly.
@@ -74,17 +76,17 @@ const VOICE_HIGH_PASS_ACTION_TYPES = new Set([0x2002, 0x2003, 0x3002, 0x3003, 0x
74
76
  const GAME_SYNC_ACTION_TYPES = new Set([0x1204, 0x1901]);
75
77
  const GAME_PARAMETER_ACTION_TYPES = new Set([0x1302, 0x1303, 0x1402, 0x1403]);
76
78
 
77
- /**
78
- * Decodes one exact Wwise v150 HIRC Event Action body.
79
- *
80
- * The input begins after the HIRC object's leading u32 identity. Unknown
81
- * action types, other bank versions, truncated bodies, and recognized bodies
82
- * with trailing bytes return null so callers retain their shallow/raw view.
83
- *
84
- * @param {Uint8Array} payload Event Action body.
85
- * @param {object} [options] Decode options.
86
- * @param {number} [options.bankVersion=150] Wwise bank generator version.
87
- * @returns {object|null} Typed action data, or null when not exact.
79
+ /**
80
+ * Decodes one exact Wwise v150 HIRC Event Action body.
81
+ *
82
+ * The input begins after the HIRC object's leading u32 identity. Unknown
83
+ * action types, other bank versions, truncated bodies, and recognized bodies
84
+ * with trailing bytes return null so callers retain their shallow/raw view.
85
+ *
86
+ * @param {Uint8Array} payload Event Action body.
87
+ * @param {object} [options] Decode options.
88
+ * @param {number} [options.bankVersion=150] Wwise bank generator version.
89
+ * @returns {object|null} Typed action data, or null when not exact.
88
90
  */
89
91
  function parseEventAction(payload, {
90
92
  bankVersion = WWISE_EVENT_ACTION_VERSION
@@ -93,7 +95,7 @@ function parseEventAction(payload, {
93
95
  return null;
94
96
  }
95
97
  try {
96
- const cursor = new ActionCursor(payload);
98
+ const cursor = new WwiseCursor(payload);
97
99
  const actionType = cursor.u16();
98
100
  const actionName = ACTION_NAMES[actionType];
99
101
  if (!actionName) {
@@ -222,7 +224,7 @@ function HasExactTimingProperties(values) {
222
224
  return ids.every(id => id === 0x39 || id === 0x3a) && new Set(ids).size === ids.length;
223
225
  }
224
226
  function ReadExceptions(cursor) {
225
- const exceptionCount = cursor.varUint();
227
+ const exceptionCount = cursor.variable();
226
228
  const exceptions = [];
227
229
  if (exceptionCount > 65536) {
228
230
  throw new RangeError("Event Action exception count is too large");
@@ -332,85 +334,5 @@ function ActionScope(value) {
332
334
  return "unknown";
333
335
  }
334
336
 
335
- /** Bounds-aware cursor over one Wwise Event Action payload. */
336
- class ActionCursor {
337
- /**
338
- * Creates a cursor at the start of an Event Action payload.
339
- *
340
- * @param {Uint8Array} bytes Event Action payload bytes.
341
- */
342
- constructor(bytes) {
343
- this.bytes = bytes;
344
- this.view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
345
- this.at = 0;
346
- }
347
-
348
- /** Gets the number of unread payload bytes. */
349
- get remaining() {
350
- return this.bytes.byteLength - this.at;
351
- }
352
-
353
- /**
354
- * Verifies that a read fits within the payload.
355
- *
356
- * @param {number} size Number of bytes to read.
357
- * @throws {RangeError} The payload is truncated.
358
- */
359
- require(size) {
360
- if (this.at + size > this.bytes.byteLength) {
361
- throw new RangeError("Event Action payload is truncated");
362
- }
363
- }
364
-
365
- /** Reads an unsigned 8-bit integer. */
366
- u8() {
367
- this.require(1);
368
- return this.bytes[this.at++];
369
- }
370
-
371
- /** Reads a little-endian unsigned 16-bit integer. */
372
- u16() {
373
- this.require(2);
374
- const value = this.view.getUint16(this.at, true);
375
- this.at += 2;
376
- return value;
377
- }
378
-
379
- /** Reads a little-endian unsigned 32-bit integer. */
380
- u32() {
381
- this.require(4);
382
- const value = this.view.getUint32(this.at, true);
383
- this.at += 4;
384
- return value;
385
- }
386
-
387
- /** Reads a little-endian 32-bit floating-point number. */
388
- f32() {
389
- this.require(4);
390
- const value = this.view.getFloat32(this.at, true);
391
- this.at += 4;
392
- return value;
393
- }
394
-
395
- /** Reads a canonical Wwise variable-length unsigned integer. */
396
- varUint() {
397
- let value = 0;
398
- for (let count = 0; count < 5; count++) {
399
- const byte = this.u8();
400
- if (count === 0 && byte === 0x80) {
401
- throw new RangeError("Event Action exception count is non-canonical");
402
- }
403
- if (value > 0x01ffffff) {
404
- throw new RangeError("Event Action exception count overflows u32");
405
- }
406
- value = value * 128 + (byte & 0x7f);
407
- if ((byte & 0x80) === 0) {
408
- return value >>> 0;
409
- }
410
- }
411
- throw new RangeError("Event Action exception count is truncated");
412
- }
413
- }
414
-
415
337
  export { WWISE_EVENT_ACTION_VERSION, parseEventAction };
416
338
  //# sourceMappingURL=eventAction.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eventAction.js","sources":["../../../../../../src/resource/formats/bnk/core/eventAction.js"],"sourcesContent":["// Exact Wwise v150 HIRC 3 Event Action decoding. The container reader keeps\r\n// the raw payload; this module adds typed action data only when a recognized\r\n// layout consumes that payload exactly.\r\n\r\nexport const WWISE_EVENT_ACTION_VERSION = 150;\r\n\r\nconst PROPERTY_NAMES = Object.freeze({\r\n 0x39: \"delayTime\",\r\n 0x3a: \"transitionTime\",\r\n 0x3b: \"probability\",\r\n});\r\n\r\nconst ACTION_NAMES = Object.freeze({\r\n 0x0102: \"stop\",\r\n 0x0103: \"stop\",\r\n 0x0105: \"stop\",\r\n 0x0203: \"pause\",\r\n 0x0205: \"pause\",\r\n 0x0303: \"resume\",\r\n 0x0305: \"resume\",\r\n 0x0403: \"play\",\r\n 0x0503: \"play-and-continue\",\r\n 0x0802: \"set-voice-pitch\",\r\n 0x0803: \"set-voice-pitch\",\r\n 0x0902: \"reset-voice-pitch\",\r\n 0x0903: \"reset-voice-pitch\",\r\n 0x0904: \"reset-voice-pitch\",\r\n 0x0905: \"reset-voice-pitch\",\r\n 0x0908: \"reset-voice-pitch\",\r\n 0x0909: \"reset-voice-pitch\",\r\n 0x0a02: \"set-voice-volume\",\r\n 0x0a03: \"set-voice-volume\",\r\n 0x0b02: \"reset-voice-volume\",\r\n 0x0b03: \"reset-voice-volume\",\r\n 0x0b04: \"reset-voice-volume\",\r\n 0x0b05: \"reset-voice-volume\",\r\n 0x0b08: \"reset-voice-volume\",\r\n 0x0b09: \"reset-voice-volume\",\r\n 0x0c02: \"set-bus-volume\",\r\n 0x0c03: \"set-bus-volume\",\r\n 0x0d02: \"reset-bus-volume\",\r\n 0x0d03: \"reset-bus-volume\",\r\n 0x0d04: \"reset-bus-volume\",\r\n 0x0d08: \"reset-bus-volume\",\r\n 0x0e02: \"set-voice-low-pass\",\r\n 0x0e03: \"set-voice-low-pass\",\r\n 0x0f02: \"reset-voice-low-pass\",\r\n 0x0f03: \"reset-voice-low-pass\",\r\n 0x0f04: \"reset-voice-low-pass\",\r\n 0x0f05: \"reset-voice-low-pass\",\r\n 0x0f08: \"reset-voice-low-pass\",\r\n 0x0f09: \"reset-voice-low-pass\",\r\n 0x1204: \"set-state\",\r\n 0x1302: \"set-game-parameter\",\r\n 0x1303: \"set-game-parameter\",\r\n 0x1402: \"reset-game-parameter\",\r\n 0x1403: \"reset-game-parameter\",\r\n 0x1901: \"set-switch\",\r\n 0x2002: \"set-voice-high-pass\",\r\n 0x2003: \"set-voice-high-pass\",\r\n 0x2103: \"post-event\",\r\n 0x3002: \"reset-voice-high-pass\",\r\n 0x3003: \"reset-voice-high-pass\",\r\n 0x3004: \"reset-voice-high-pass\",\r\n 0x3005: \"reset-voice-high-pass\",\r\n 0x3008: \"reset-voice-high-pass\",\r\n 0x3009: \"reset-voice-high-pass\",\r\n});\r\n\r\nconst ACTIVE_ACTION_TYPES = new Set([\r\n 0x0102,\r\n 0x0103,\r\n 0x0105,\r\n 0x0203,\r\n 0x0205,\r\n 0x0303,\r\n 0x0305,\r\n]);\r\n\r\nconst PLAY_ACTION_TYPES = new Set([ 0x0403, 0x0503 ]);\r\n\r\nconst VOICE_VOLUME_ACTION_TYPES = new Set([\r\n 0x0a02,\r\n 0x0a03,\r\n 0x0b02,\r\n 0x0b03,\r\n 0x0b04,\r\n 0x0b05,\r\n 0x0b08,\r\n 0x0b09,\r\n]);\r\n\r\nconst VOICE_PITCH_ACTION_TYPES = new Set([\r\n 0x0802,\r\n 0x0803,\r\n 0x0902,\r\n 0x0903,\r\n 0x0904,\r\n 0x0905,\r\n 0x0908,\r\n 0x0909,\r\n]);\r\n\r\nconst BUS_VOLUME_ACTION_TYPES = new Set([\r\n 0x0c02,\r\n 0x0c03,\r\n 0x0d02,\r\n 0x0d03,\r\n 0x0d04,\r\n 0x0d08,\r\n]);\r\n\r\nconst VOICE_LOW_PASS_ACTION_TYPES = new Set([\r\n 0x0e02,\r\n 0x0e03,\r\n 0x0f02,\r\n 0x0f03,\r\n 0x0f04,\r\n 0x0f05,\r\n 0x0f08,\r\n 0x0f09,\r\n]);\r\n\r\nconst VOICE_HIGH_PASS_ACTION_TYPES = new Set([\r\n 0x2002,\r\n 0x2003,\r\n 0x3002,\r\n 0x3003,\r\n 0x3004,\r\n 0x3005,\r\n 0x3008,\r\n 0x3009,\r\n]);\r\n\r\nconst GAME_SYNC_ACTION_TYPES = new Set([\r\n 0x1204,\r\n 0x1901,\r\n]);\r\n\r\nconst GAME_PARAMETER_ACTION_TYPES = new Set([\r\n 0x1302,\r\n 0x1303,\r\n 0x1402,\r\n 0x1403,\r\n]);\r\n\r\n/**\r\n * Decodes one exact Wwise v150 HIRC Event Action body.\r\n *\r\n * The input begins after the HIRC object's leading u32 identity. Unknown\r\n * action types, other bank versions, truncated bodies, and recognized bodies\r\n * with trailing bytes return null so callers retain their shallow/raw view.\r\n *\r\n * @param {Uint8Array} payload Event Action body.\r\n * @param {object} [options] Decode options.\r\n * @param {number} [options.bankVersion=150] Wwise bank generator version.\r\n * @returns {object|null} Typed action data, or null when not exact.\r\n */\r\nexport function parseEventAction(\r\n payload,\r\n { bankVersion = WWISE_EVENT_ACTION_VERSION } = {},\r\n)\r\n{\r\n if (!(payload instanceof Uint8Array)\r\n || Number(bankVersion) !== WWISE_EVENT_ACTION_VERSION)\r\n {\r\n return null;\r\n }\r\n\r\n try\r\n {\r\n const cursor = new ActionCursor(payload);\r\n const actionType = cursor.u16();\r\n const actionName = ACTION_NAMES[actionType];\r\n\r\n if (!actionName)\r\n {\r\n return null;\r\n }\r\n\r\n const targetId = cursor.u32();\r\n const targetFlags = cursor.u8();\r\n const properties = ReadProperties(cursor);\r\n const ranges = ReadRanges(cursor);\r\n const result = {\r\n actionType,\r\n actionName,\r\n actionFamily: (actionType >> 8) & 0xff,\r\n actionMode: ActionMode(actionType & 0xff),\r\n actionScope: ActionScope(actionType & 0xff),\r\n targetId,\r\n targetIsBus: (targetFlags & 0x01) !== 0,\r\n targetFlags,\r\n properties,\r\n ranges,\r\n ...ProjectKnownProperties(properties, ranges),\r\n };\r\n\r\n if (PLAY_ACTION_TYPES.has(actionType))\r\n {\r\n result.fadeCurve = cursor.u8();\r\n result.bankId = cursor.u32();\r\n result.bankType = cursor.u32();\r\n }\r\n else if (ACTIVE_ACTION_TYPES.has(actionType))\r\n {\r\n result.fadeCurve = cursor.u8();\r\n result.actionFlags = cursor.u8();\r\n result.exceptions = ReadExceptions(cursor);\r\n }\r\n else if (VOICE_PITCH_ACTION_TYPES.has(actionType)\r\n || VOICE_VOLUME_ACTION_TYPES.has(actionType)\r\n || BUS_VOLUME_ACTION_TYPES.has(actionType)\r\n || VOICE_LOW_PASS_ACTION_TYPES.has(actionType)\r\n || VOICE_HIGH_PASS_ACTION_TYPES.has(actionType))\r\n {\r\n if (!HasExactVoicePropertyActionProperties(properties)\r\n || !HasExactTimingProperties(ranges))\r\n {\r\n return null;\r\n }\r\n\r\n const fadeCurve = cursor.u8();\r\n const rawValueMode = cursor.u8();\r\n const value = cursor.f32();\r\n const valueRange = {\r\n min: cursor.f32(),\r\n max: cursor.f32(),\r\n };\r\n const resetting = actionName.startsWith(\"reset-\");\r\n\r\n if (targetFlags & ~0x01\r\n || fadeCurve > 9\r\n || (resetting\r\n ? rawValueMode !== 0\r\n && rawValueMode !== 1\r\n && rawValueMode !== 2\r\n : rawValueMode !== 1 && rawValueMode !== 2)\r\n || !Number.isFinite(value)\r\n || !Number.isFinite(valueRange.min)\r\n || !Number.isFinite(valueRange.max)\r\n || (resetting\r\n && (value !== 0\r\n || valueRange.min !== 0\r\n || valueRange.max !== 0)))\r\n {\r\n return null;\r\n }\r\n\r\n result.fadeCurve = fadeCurve;\r\n if (!resetting)\r\n {\r\n result.valueMode = rawValueMode === 1\r\n ? \"absolute\"\r\n : \"relative\";\r\n const fields = VoicePropertyFields(actionType);\r\n\r\n result[fields.value] = value;\r\n result[fields.range] = valueRange;\r\n }\r\n result.exceptions = ReadExceptions(cursor);\r\n }\r\n else if (GAME_SYNC_ACTION_TYPES.has(actionType))\r\n {\r\n result.groupId = cursor.u32();\r\n result.valueId = cursor.u32();\r\n }\r\n else if (GAME_PARAMETER_ACTION_TYPES.has(actionType))\r\n {\r\n if (targetFlags & ~0x01\r\n || !HasExactTimingProperties(properties)\r\n || !HasExactTimingProperties(ranges))\r\n {\r\n return null;\r\n }\r\n\r\n const fadeCurve = cursor.u8();\r\n const bypassTransition = cursor.u8();\r\n const rawValueMode = cursor.u8();\r\n const gameParameterValue = cursor.f32();\r\n const gameParameterRange = {\r\n min: cursor.f32(),\r\n max: cursor.f32(),\r\n };\r\n\r\n const resetting = actionName === \"reset-game-parameter\";\r\n\r\n if (fadeCurve > 9\r\n || (resetting\r\n ? rawValueMode !== 0\r\n : rawValueMode !== 1 && rawValueMode !== 2)\r\n || !Number.isFinite(gameParameterValue)\r\n || !Number.isFinite(gameParameterRange.min)\r\n || !Number.isFinite(gameParameterRange.max)\r\n || (resetting\r\n && (gameParameterValue !== 0\r\n || gameParameterRange.min !== 0\r\n || gameParameterRange.max !== 0)))\r\n {\r\n return null;\r\n }\r\n\r\n result.fadeCurve = fadeCurve;\r\n result.bypassTransition = bypassTransition !== 0;\r\n if (!resetting)\r\n {\r\n result.valueMode = rawValueMode === 1\r\n ? \"absolute\"\r\n : \"relative\";\r\n result.gameParameterValue = gameParameterValue;\r\n result.gameParameterRange = gameParameterRange;\r\n }\r\n result.exceptions = ReadExceptions(cursor);\r\n }\r\n\r\n return cursor.at === payload.byteLength ? result : null;\r\n }\r\n catch (error)\r\n {\r\n if (error instanceof RangeError)\r\n {\r\n return null;\r\n }\r\n throw error;\r\n }\r\n}\r\n\r\nfunction HasExactVoicePropertyActionProperties(properties)\r\n{\r\n const ids = properties.map(property => property.id);\r\n\r\n return ids.every(id => id === 0x39 || id === 0x3a)\r\n && new Set(ids).size === ids.length;\r\n}\r\n\r\nfunction VoicePropertyFields(actionType)\r\n{\r\n if (VOICE_PITCH_ACTION_TYPES.has(actionType))\r\n {\r\n return { value: \"pitchCents\", range: \"pitchRangeCents\" };\r\n }\r\n if (VOICE_VOLUME_ACTION_TYPES.has(actionType))\r\n {\r\n return { value: \"volumeDb\", range: \"volumeRangeDb\" };\r\n }\r\n if (VOICE_LOW_PASS_ACTION_TYPES.has(actionType))\r\n {\r\n return { value: \"lowPass\", range: \"lowPassRange\" };\r\n }\r\n if (BUS_VOLUME_ACTION_TYPES.has(actionType))\r\n {\r\n return { value: \"busVolumeDb\", range: \"busVolumeRangeDb\" };\r\n }\r\n return { value: \"highPass\", range: \"highPassRange\" };\r\n}\r\n\r\nfunction HasExactTimingProperties(values)\r\n{\r\n const ids = values.map(value => value.id);\r\n\r\n return ids.every(id => id === 0x39 || id === 0x3a)\r\n && new Set(ids).size === ids.length;\r\n}\r\n\r\nfunction ReadExceptions(cursor)\r\n{\r\n const exceptionCount = cursor.varUint();\r\n const exceptions = [];\r\n\r\n if (exceptionCount > 65536)\r\n {\r\n throw new RangeError(\"Event Action exception count is too large\");\r\n }\r\n\r\n for (let index = 0; index < exceptionCount; index++)\r\n {\r\n const targetId = cursor.u32();\r\n const targetFlags = cursor.u8();\r\n\r\n exceptions.push({\r\n targetId,\r\n targetIsBus: (targetFlags & 0x01) !== 0,\r\n targetFlags,\r\n });\r\n }\r\n return exceptions;\r\n}\r\n\r\nfunction ReadProperties(cursor)\r\n{\r\n const count = cursor.u8();\r\n\r\n if (count > 255 || cursor.remaining < count + count * 4)\r\n {\r\n throw new RangeError(\"Event Action property bundle is truncated\");\r\n }\r\n\r\n const ids = [];\r\n const values = [];\r\n\r\n for (let index = 0; index < count; index++)\r\n {\r\n ids.push(cursor.u8());\r\n }\r\n for (let index = 0; index < count; index++)\r\n {\r\n values.push(cursor.u32());\r\n }\r\n\r\n return ids.map((id, index) =>\r\n {\r\n const rawValue = values[index];\r\n\r\n return {\r\n id,\r\n name: PROPERTY_NAMES[id] ?? `property-${id}`,\r\n value: PropertyValue(id, rawValue),\r\n rawValue,\r\n };\r\n });\r\n}\r\n\r\nfunction ReadRanges(cursor)\r\n{\r\n const count = cursor.u8();\r\n\r\n if (count > 255 || cursor.remaining < count + count * 8)\r\n {\r\n throw new RangeError(\"Event Action range bundle is truncated\");\r\n }\r\n\r\n const ids = [];\r\n\r\n for (let index = 0; index < count; index++)\r\n {\r\n ids.push(cursor.u8());\r\n }\r\n\r\n return ids.map(id =>\r\n {\r\n const rawMin = cursor.u32();\r\n const rawMax = cursor.u32();\r\n\r\n return {\r\n id,\r\n name: PROPERTY_NAMES[id] ?? `property-${id}`,\r\n min: RangeValue(id, rawMin),\r\n max: RangeValue(id, rawMax),\r\n rawMin,\r\n rawMax,\r\n };\r\n });\r\n}\r\n\r\nfunction ProjectKnownProperties(properties, ranges)\r\n{\r\n const result = {};\r\n\r\n for (const property of properties)\r\n {\r\n if (property.id === 0x39) result.delayTimeMs = property.value;\r\n else if (property.id === 0x3a)\r\n {\r\n result.transitionTimeMs = property.value;\r\n }\r\n else if (property.id === 0x3b)\r\n {\r\n result.probability = property.value;\r\n }\r\n }\r\n\r\n for (const range of ranges)\r\n {\r\n const value = { min: range.min, max: range.max };\r\n\r\n if (range.id === 0x39) result.delayRangeMs = value;\r\n else if (range.id === 0x3a) result.transitionRangeMs = value;\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction PropertyValue(id, rawValue)\r\n{\r\n if (id === 0x39 || id === 0x3a)\r\n {\r\n return rawValue | 0;\r\n }\r\n if (id === 0x3b)\r\n {\r\n const bytes = new ArrayBuffer(4);\r\n const view = new DataView(bytes);\r\n\r\n view.setUint32(0, rawValue, true);\r\n return view.getFloat32(0, true);\r\n }\r\n return rawValue;\r\n}\r\n\r\nfunction RangeValue(id, rawValue)\r\n{\r\n return id === 0x39 || id === 0x3a\r\n ? rawValue | 0\r\n : rawValue;\r\n}\r\n\r\nfunction ActionMode(value)\r\n{\r\n if (value === 0x02 || value === 0x03) return \"element\";\r\n if (value === 0x04 || value === 0x05) return \"all\";\r\n if (value === 0x08 || value === 0x09) return \"all-except\";\r\n return \"unknown\";\r\n}\r\n\r\nfunction ActionScope(value)\r\n{\r\n if (value === 0x02 || value === 0x04 || value === 0x08)\r\n {\r\n return \"global\";\r\n }\r\n if (value === 0x03 || value === 0x05 || value === 0x09)\r\n {\r\n return \"game-object\";\r\n }\r\n return \"unknown\";\r\n}\r\n\r\n/** Bounds-aware cursor over one Wwise Event Action payload. */\r\nclass ActionCursor\r\n{\r\n /**\r\n * Creates a cursor at the start of an Event Action payload.\r\n *\r\n * @param {Uint8Array} bytes Event Action payload bytes.\r\n */\r\n constructor(bytes)\r\n {\r\n this.bytes = bytes;\r\n this.view = new DataView(\r\n bytes.buffer,\r\n bytes.byteOffset,\r\n bytes.byteLength,\r\n );\r\n this.at = 0;\r\n }\r\n\r\n /** Gets the number of unread payload bytes. */\r\n get remaining()\r\n {\r\n return this.bytes.byteLength - this.at;\r\n }\r\n\r\n /**\r\n * Verifies that a read fits within the payload.\r\n *\r\n * @param {number} size Number of bytes to read.\r\n * @throws {RangeError} The payload is truncated.\r\n */\r\n require(size)\r\n {\r\n if (this.at + size > this.bytes.byteLength)\r\n {\r\n throw new RangeError(\"Event Action payload is truncated\");\r\n }\r\n }\r\n\r\n /** Reads an unsigned 8-bit integer. */\r\n u8()\r\n {\r\n this.require(1);\r\n return this.bytes[this.at++];\r\n }\r\n\r\n /** Reads a little-endian unsigned 16-bit integer. */\r\n u16()\r\n {\r\n this.require(2);\r\n const value = this.view.getUint16(this.at, true);\r\n\r\n this.at += 2;\r\n return value;\r\n }\r\n\r\n /** Reads a little-endian unsigned 32-bit integer. */\r\n u32()\r\n {\r\n this.require(4);\r\n const value = this.view.getUint32(this.at, true);\r\n\r\n this.at += 4;\r\n return value;\r\n }\r\n\r\n /** Reads a little-endian 32-bit floating-point number. */\r\n f32()\r\n {\r\n this.require(4);\r\n const value = this.view.getFloat32(this.at, true);\r\n\r\n this.at += 4;\r\n return value;\r\n }\r\n\r\n /** Reads a canonical Wwise variable-length unsigned integer. */\r\n varUint()\r\n {\r\n let value = 0;\r\n\r\n for (let count = 0; count < 5; count++)\r\n {\r\n const byte = this.u8();\r\n\r\n if (count === 0 && byte === 0x80)\r\n {\r\n throw new RangeError(\r\n \"Event Action exception count is non-canonical\",\r\n );\r\n }\r\n if (value > 0x01ffffff)\r\n {\r\n throw new RangeError(\r\n \"Event Action exception count overflows u32\",\r\n );\r\n }\r\n\r\n value = value * 128 + (byte & 0x7f);\r\n\r\n if ((byte & 0x80) === 0)\r\n {\r\n return value >>> 0;\r\n }\r\n }\r\n\r\n throw new RangeError(\"Event Action exception count is truncated\");\r\n }\r\n}\r\n"],"names":["WWISE_EVENT_ACTION_VERSION","PROPERTY_NAMES","Object","freeze","ACTION_NAMES","ACTIVE_ACTION_TYPES","Set","PLAY_ACTION_TYPES","VOICE_VOLUME_ACTION_TYPES","VOICE_PITCH_ACTION_TYPES","BUS_VOLUME_ACTION_TYPES","VOICE_LOW_PASS_ACTION_TYPES","VOICE_HIGH_PASS_ACTION_TYPES","GAME_SYNC_ACTION_TYPES","GAME_PARAMETER_ACTION_TYPES","parseEventAction","payload","bankVersion","Uint8Array","Number","cursor","ActionCursor","actionType","u16","actionName","targetId","u32","targetFlags","u8","properties","ReadProperties","ranges","ReadRanges","result","actionFamily","actionMode","ActionMode","actionScope","ActionScope","targetIsBus","ProjectKnownProperties","has","fadeCurve","bankId","bankType","actionFlags","exceptions","ReadExceptions","HasExactVoicePropertyActionProperties","HasExactTimingProperties","rawValueMode","value","f32","valueRange","min","max","resetting","startsWith","isFinite","valueMode","fields","VoicePropertyFields","range","groupId","valueId","bypassTransition","gameParameterValue","gameParameterRange","at","byteLength","error","RangeError","ids","map","property","id","every","size","length","values","exceptionCount","varUint","index","push","count","remaining","rawValue","name","PropertyValue","rawMin","rawMax","RangeValue","delayTimeMs","transitionTimeMs","probability","delayRangeMs","transitionRangeMs","bytes","ArrayBuffer","view","DataView","setUint32","getFloat32","constructor","buffer","byteOffset","require","getUint16","getUint32","byte"],"mappings":"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"}
1
+ {"version":3,"file":"eventAction.js","sources":["../../../../../../src/resource/formats/bnk/core/eventAction.js"],"sourcesContent":["// Exact Wwise v150 HIRC 3 Event Action decoding. The container reader keeps\n// the raw payload; this module adds typed action data only when a recognized\n// layout consumes that payload exactly.\n\nimport { WwiseCursor } from \"./nodeBase.js\";\n\nexport const WWISE_EVENT_ACTION_VERSION = 150;\n\nconst PROPERTY_NAMES = Object.freeze({\n 0x39: \"delayTime\",\n 0x3a: \"transitionTime\",\n 0x3b: \"probability\",\n});\n\nconst ACTION_NAMES = Object.freeze({\n 0x0102: \"stop\",\n 0x0103: \"stop\",\n 0x0105: \"stop\",\n 0x0203: \"pause\",\n 0x0205: \"pause\",\n 0x0303: \"resume\",\n 0x0305: \"resume\",\n 0x0403: \"play\",\n 0x0503: \"play-and-continue\",\n 0x0802: \"set-voice-pitch\",\n 0x0803: \"set-voice-pitch\",\n 0x0902: \"reset-voice-pitch\",\n 0x0903: \"reset-voice-pitch\",\n 0x0904: \"reset-voice-pitch\",\n 0x0905: \"reset-voice-pitch\",\n 0x0908: \"reset-voice-pitch\",\n 0x0909: \"reset-voice-pitch\",\n 0x0a02: \"set-voice-volume\",\n 0x0a03: \"set-voice-volume\",\n 0x0b02: \"reset-voice-volume\",\n 0x0b03: \"reset-voice-volume\",\n 0x0b04: \"reset-voice-volume\",\n 0x0b05: \"reset-voice-volume\",\n 0x0b08: \"reset-voice-volume\",\n 0x0b09: \"reset-voice-volume\",\n 0x0c02: \"set-bus-volume\",\n 0x0c03: \"set-bus-volume\",\n 0x0d02: \"reset-bus-volume\",\n 0x0d03: \"reset-bus-volume\",\n 0x0d04: \"reset-bus-volume\",\n 0x0d08: \"reset-bus-volume\",\n 0x0e02: \"set-voice-low-pass\",\n 0x0e03: \"set-voice-low-pass\",\n 0x0f02: \"reset-voice-low-pass\",\n 0x0f03: \"reset-voice-low-pass\",\n 0x0f04: \"reset-voice-low-pass\",\n 0x0f05: \"reset-voice-low-pass\",\n 0x0f08: \"reset-voice-low-pass\",\n 0x0f09: \"reset-voice-low-pass\",\n 0x1204: \"set-state\",\n 0x1302: \"set-game-parameter\",\n 0x1303: \"set-game-parameter\",\n 0x1402: \"reset-game-parameter\",\n 0x1403: \"reset-game-parameter\",\n 0x1901: \"set-switch\",\n 0x2002: \"set-voice-high-pass\",\n 0x2003: \"set-voice-high-pass\",\n 0x2103: \"post-event\",\n 0x3002: \"reset-voice-high-pass\",\n 0x3003: \"reset-voice-high-pass\",\n 0x3004: \"reset-voice-high-pass\",\n 0x3005: \"reset-voice-high-pass\",\n 0x3008: \"reset-voice-high-pass\",\n 0x3009: \"reset-voice-high-pass\",\n});\n\nconst ACTIVE_ACTION_TYPES = new Set([\n 0x0102,\n 0x0103,\n 0x0105,\n 0x0203,\n 0x0205,\n 0x0303,\n 0x0305,\n]);\n\nconst PLAY_ACTION_TYPES = new Set([ 0x0403, 0x0503 ]);\n\nconst VOICE_VOLUME_ACTION_TYPES = new Set([\n 0x0a02,\n 0x0a03,\n 0x0b02,\n 0x0b03,\n 0x0b04,\n 0x0b05,\n 0x0b08,\n 0x0b09,\n]);\n\nconst VOICE_PITCH_ACTION_TYPES = new Set([\n 0x0802,\n 0x0803,\n 0x0902,\n 0x0903,\n 0x0904,\n 0x0905,\n 0x0908,\n 0x0909,\n]);\n\nconst BUS_VOLUME_ACTION_TYPES = new Set([\n 0x0c02,\n 0x0c03,\n 0x0d02,\n 0x0d03,\n 0x0d04,\n 0x0d08,\n]);\n\nconst VOICE_LOW_PASS_ACTION_TYPES = new Set([\n 0x0e02,\n 0x0e03,\n 0x0f02,\n 0x0f03,\n 0x0f04,\n 0x0f05,\n 0x0f08,\n 0x0f09,\n]);\n\nconst VOICE_HIGH_PASS_ACTION_TYPES = new Set([\n 0x2002,\n 0x2003,\n 0x3002,\n 0x3003,\n 0x3004,\n 0x3005,\n 0x3008,\n 0x3009,\n]);\n\nconst GAME_SYNC_ACTION_TYPES = new Set([\n 0x1204,\n 0x1901,\n]);\n\nconst GAME_PARAMETER_ACTION_TYPES = new Set([\n 0x1302,\n 0x1303,\n 0x1402,\n 0x1403,\n]);\n\n/**\n * Decodes one exact Wwise v150 HIRC Event Action body.\n *\n * The input begins after the HIRC object's leading u32 identity. Unknown\n * action types, other bank versions, truncated bodies, and recognized bodies\n * with trailing bytes return null so callers retain their shallow/raw view.\n *\n * @param {Uint8Array} payload Event Action body.\n * @param {object} [options] Decode options.\n * @param {number} [options.bankVersion=150] Wwise bank generator version.\n * @returns {object|null} Typed action data, or null when not exact.\n */\nexport function parseEventAction(\n payload,\n { bankVersion = WWISE_EVENT_ACTION_VERSION } = {},\n)\n{\n if (!(payload instanceof Uint8Array)\n || Number(bankVersion) !== WWISE_EVENT_ACTION_VERSION)\n {\n return null;\n }\n\n try\n {\n const cursor = new WwiseCursor(payload);\n const actionType = cursor.u16();\n const actionName = ACTION_NAMES[actionType];\n\n if (!actionName)\n {\n return null;\n }\n\n const targetId = cursor.u32();\n const targetFlags = cursor.u8();\n const properties = ReadProperties(cursor);\n const ranges = ReadRanges(cursor);\n const result = {\n actionType,\n actionName,\n actionFamily: (actionType >> 8) & 0xff,\n actionMode: ActionMode(actionType & 0xff),\n actionScope: ActionScope(actionType & 0xff),\n targetId,\n targetIsBus: (targetFlags & 0x01) !== 0,\n targetFlags,\n properties,\n ranges,\n ...ProjectKnownProperties(properties, ranges),\n };\n\n if (PLAY_ACTION_TYPES.has(actionType))\n {\n result.fadeCurve = cursor.u8();\n result.bankId = cursor.u32();\n result.bankType = cursor.u32();\n }\n else if (ACTIVE_ACTION_TYPES.has(actionType))\n {\n result.fadeCurve = cursor.u8();\n result.actionFlags = cursor.u8();\n result.exceptions = ReadExceptions(cursor);\n }\n else if (VOICE_PITCH_ACTION_TYPES.has(actionType)\n || VOICE_VOLUME_ACTION_TYPES.has(actionType)\n || BUS_VOLUME_ACTION_TYPES.has(actionType)\n || VOICE_LOW_PASS_ACTION_TYPES.has(actionType)\n || VOICE_HIGH_PASS_ACTION_TYPES.has(actionType))\n {\n if (!HasExactVoicePropertyActionProperties(properties)\n || !HasExactTimingProperties(ranges))\n {\n return null;\n }\n\n const fadeCurve = cursor.u8();\n const rawValueMode = cursor.u8();\n const value = cursor.f32();\n const valueRange = {\n min: cursor.f32(),\n max: cursor.f32(),\n };\n const resetting = actionName.startsWith(\"reset-\");\n\n if (targetFlags & ~0x01\n || fadeCurve > 9\n || (resetting\n ? rawValueMode !== 0\n && rawValueMode !== 1\n && rawValueMode !== 2\n : rawValueMode !== 1 && rawValueMode !== 2)\n || !Number.isFinite(value)\n || !Number.isFinite(valueRange.min)\n || !Number.isFinite(valueRange.max)\n || (resetting\n && (value !== 0\n || valueRange.min !== 0\n || valueRange.max !== 0)))\n {\n return null;\n }\n\n result.fadeCurve = fadeCurve;\n if (!resetting)\n {\n result.valueMode = rawValueMode === 1\n ? \"absolute\"\n : \"relative\";\n const fields = VoicePropertyFields(actionType);\n\n result[fields.value] = value;\n result[fields.range] = valueRange;\n }\n result.exceptions = ReadExceptions(cursor);\n }\n else if (GAME_SYNC_ACTION_TYPES.has(actionType))\n {\n result.groupId = cursor.u32();\n result.valueId = cursor.u32();\n }\n else if (GAME_PARAMETER_ACTION_TYPES.has(actionType))\n {\n if (targetFlags & ~0x01\n || !HasExactTimingProperties(properties)\n || !HasExactTimingProperties(ranges))\n {\n return null;\n }\n\n const fadeCurve = cursor.u8();\n const bypassTransition = cursor.u8();\n const rawValueMode = cursor.u8();\n const gameParameterValue = cursor.f32();\n const gameParameterRange = {\n min: cursor.f32(),\n max: cursor.f32(),\n };\n\n const resetting = actionName === \"reset-game-parameter\";\n\n if (fadeCurve > 9\n || (resetting\n ? rawValueMode !== 0\n : rawValueMode !== 1 && rawValueMode !== 2)\n || !Number.isFinite(gameParameterValue)\n || !Number.isFinite(gameParameterRange.min)\n || !Number.isFinite(gameParameterRange.max)\n || (resetting\n && (gameParameterValue !== 0\n || gameParameterRange.min !== 0\n || gameParameterRange.max !== 0)))\n {\n return null;\n }\n\n result.fadeCurve = fadeCurve;\n result.bypassTransition = bypassTransition !== 0;\n if (!resetting)\n {\n result.valueMode = rawValueMode === 1\n ? \"absolute\"\n : \"relative\";\n result.gameParameterValue = gameParameterValue;\n result.gameParameterRange = gameParameterRange;\n }\n result.exceptions = ReadExceptions(cursor);\n }\n\n return cursor.at === payload.byteLength ? result : null;\n }\n catch (error)\n {\n if (error instanceof RangeError)\n {\n return null;\n }\n throw error;\n }\n}\n\nfunction HasExactVoicePropertyActionProperties(properties)\n{\n const ids = properties.map(property => property.id);\n\n return ids.every(id => id === 0x39 || id === 0x3a)\n && new Set(ids).size === ids.length;\n}\n\nfunction VoicePropertyFields(actionType)\n{\n if (VOICE_PITCH_ACTION_TYPES.has(actionType))\n {\n return { value: \"pitchCents\", range: \"pitchRangeCents\" };\n }\n if (VOICE_VOLUME_ACTION_TYPES.has(actionType))\n {\n return { value: \"volumeDb\", range: \"volumeRangeDb\" };\n }\n if (VOICE_LOW_PASS_ACTION_TYPES.has(actionType))\n {\n return { value: \"lowPass\", range: \"lowPassRange\" };\n }\n if (BUS_VOLUME_ACTION_TYPES.has(actionType))\n {\n return { value: \"busVolumeDb\", range: \"busVolumeRangeDb\" };\n }\n return { value: \"highPass\", range: \"highPassRange\" };\n}\n\nfunction HasExactTimingProperties(values)\n{\n const ids = values.map(value => value.id);\n\n return ids.every(id => id === 0x39 || id === 0x3a)\n && new Set(ids).size === ids.length;\n}\n\nfunction ReadExceptions(cursor)\n{\n const exceptionCount = cursor.variable();\n const exceptions = [];\n\n if (exceptionCount > 65536)\n {\n throw new RangeError(\"Event Action exception count is too large\");\n }\n\n for (let index = 0; index < exceptionCount; index++)\n {\n const targetId = cursor.u32();\n const targetFlags = cursor.u8();\n\n exceptions.push({\n targetId,\n targetIsBus: (targetFlags & 0x01) !== 0,\n targetFlags,\n });\n }\n return exceptions;\n}\n\nfunction ReadProperties(cursor)\n{\n const count = cursor.u8();\n\n if (count > 255 || cursor.remaining < count + count * 4)\n {\n throw new RangeError(\"Event Action property bundle is truncated\");\n }\n\n const ids = [];\n const values = [];\n\n for (let index = 0; index < count; index++)\n {\n ids.push(cursor.u8());\n }\n for (let index = 0; index < count; index++)\n {\n values.push(cursor.u32());\n }\n\n return ids.map((id, index) =>\n {\n const rawValue = values[index];\n\n return {\n id,\n name: PROPERTY_NAMES[id] ?? `property-${id}`,\n value: PropertyValue(id, rawValue),\n rawValue,\n };\n });\n}\n\nfunction ReadRanges(cursor)\n{\n const count = cursor.u8();\n\n if (count > 255 || cursor.remaining < count + count * 8)\n {\n throw new RangeError(\"Event Action range bundle is truncated\");\n }\n\n const ids = [];\n\n for (let index = 0; index < count; index++)\n {\n ids.push(cursor.u8());\n }\n\n return ids.map(id =>\n {\n const rawMin = cursor.u32();\n const rawMax = cursor.u32();\n\n return {\n id,\n name: PROPERTY_NAMES[id] ?? `property-${id}`,\n min: RangeValue(id, rawMin),\n max: RangeValue(id, rawMax),\n rawMin,\n rawMax,\n };\n });\n}\n\nfunction ProjectKnownProperties(properties, ranges)\n{\n const result = {};\n\n for (const property of properties)\n {\n if (property.id === 0x39) result.delayTimeMs = property.value;\n else if (property.id === 0x3a)\n {\n result.transitionTimeMs = property.value;\n }\n else if (property.id === 0x3b)\n {\n result.probability = property.value;\n }\n }\n\n for (const range of ranges)\n {\n const value = { min: range.min, max: range.max };\n\n if (range.id === 0x39) result.delayRangeMs = value;\n else if (range.id === 0x3a) result.transitionRangeMs = value;\n }\n\n return result;\n}\n\nfunction PropertyValue(id, rawValue)\n{\n if (id === 0x39 || id === 0x3a)\n {\n return rawValue | 0;\n }\n if (id === 0x3b)\n {\n const bytes = new ArrayBuffer(4);\n const view = new DataView(bytes);\n\n view.setUint32(0, rawValue, true);\n return view.getFloat32(0, true);\n }\n return rawValue;\n}\n\nfunction RangeValue(id, rawValue)\n{\n return id === 0x39 || id === 0x3a\n ? rawValue | 0\n : rawValue;\n}\n\nfunction ActionMode(value)\n{\n if (value === 0x02 || value === 0x03) return \"element\";\n if (value === 0x04 || value === 0x05) return \"all\";\n if (value === 0x08 || value === 0x09) return \"all-except\";\n return \"unknown\";\n}\n\nfunction ActionScope(value)\n{\n if (value === 0x02 || value === 0x04 || value === 0x08)\n {\n return \"global\";\n }\n if (value === 0x03 || value === 0x05 || value === 0x09)\n {\n return \"game-object\";\n }\n return \"unknown\";\n}\n\n"],"names":["WWISE_EVENT_ACTION_VERSION","PROPERTY_NAMES","Object","freeze","ACTION_NAMES","ACTIVE_ACTION_TYPES","Set","PLAY_ACTION_TYPES","VOICE_VOLUME_ACTION_TYPES","VOICE_PITCH_ACTION_TYPES","BUS_VOLUME_ACTION_TYPES","VOICE_LOW_PASS_ACTION_TYPES","VOICE_HIGH_PASS_ACTION_TYPES","GAME_SYNC_ACTION_TYPES","GAME_PARAMETER_ACTION_TYPES","parseEventAction","payload","bankVersion","Uint8Array","Number","cursor","WwiseCursor","actionType","u16","actionName","targetId","u32","targetFlags","u8","properties","ReadProperties","ranges","ReadRanges","result","actionFamily","actionMode","ActionMode","actionScope","ActionScope","targetIsBus","ProjectKnownProperties","has","fadeCurve","bankId","bankType","actionFlags","exceptions","ReadExceptions","HasExactVoicePropertyActionProperties","HasExactTimingProperties","rawValueMode","value","f32","valueRange","min","max","resetting","startsWith","isFinite","valueMode","fields","VoicePropertyFields","range","groupId","valueId","bypassTransition","gameParameterValue","gameParameterRange","at","byteLength","error","RangeError","ids","map","property","id","every","size","length","values","exceptionCount","variable","index","push","count","remaining","rawValue","name","PropertyValue","rawMin","rawMax","RangeValue","delayTimeMs","transitionTimeMs","probability","delayRangeMs","transitionRangeMs","bytes","ArrayBuffer","view","DataView","setUint32","getFloat32"],"mappings":"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"}
@@ -1,3 +1,5 @@
1
+ import { WwiseCursor } from './WwiseCursor.js';
2
+
1
3
  // Exact Wwise v150 STMG Global Settings decoding. The container reader keeps
2
4
  // the raw chunk entry and attaches this typed view only when the whole payload
3
5
  // is valid and consumed.
@@ -9,17 +11,17 @@ const INTERPOLATIONS = new Set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
9
11
  const RAMP_TYPES = new Set([0, 1, 2]);
10
12
  const BUILT_IN_PARAMETERS = new Set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
11
13
 
12
- /**
13
- * Decodes one exact Wwise v150 STMG Global Settings payload.
14
- *
15
- * Other versions, truncated tables, invalid enums or floats, impossible
16
- * counts, and trailing bytes return null. Numeric enum values are retained so
14
+ /**
15
+ * Decodes one exact Wwise v150 STMG Global Settings payload.
16
+ *
17
+ * Other versions, truncated tables, invalid enums or floats, impossible
18
+ * counts, and trailing bytes return null. Numeric enum values are retained so
17
19
  * the runtime resource layer remains a lossless typed reader rather than a policy layer.
18
- *
19
- * @param {Uint8Array} payload STMG payload bytes after the chunk header.
20
- * @param {object} [options] Decode options.
21
- * @param {number} [options.bankVersion=150] Wwise bank generator version.
22
- * @returns {object|null} Typed global settings, or null when not exact.
20
+ *
21
+ * @param {Uint8Array} payload STMG payload bytes after the chunk header.
22
+ * @param {object} [options] Decode options.
23
+ * @param {number} [options.bankVersion=150] Wwise bank generator version.
24
+ * @returns {object|null} Typed global settings, or null when not exact.
23
25
  */
24
26
  function parseGlobalSettings(payload, {
25
27
  bankVersion = WWISE_GLOBAL_SETTINGS_VERSION
@@ -28,7 +30,7 @@ function parseGlobalSettings(payload, {
28
30
  return null;
29
31
  }
30
32
  try {
31
- const cursor = new GlobalSettingsCursor(payload);
33
+ const cursor = new WwiseCursor(payload);
32
34
  const filterBehavior = ReadEnum(cursor.u16(), FILTER_BEHAVIORS, "filter behavior");
33
35
  const result = {
34
36
  filterBehavior,
@@ -49,12 +51,12 @@ function parseGlobalSettings(payload, {
49
51
  }
50
52
  }
51
53
  function ReadStateGroups(cursor) {
52
- const count = cursor.boundedCount(12);
54
+ const count = cursor.readBoundedCount(12);
53
55
  const groups = [];
54
56
  for (let index = 0; index < count; index++) {
55
57
  const id = cursor.u32();
56
58
  const defaultTransitionTimeMs = cursor.u32();
57
- const transitionCount = cursor.boundedCount(12);
59
+ const transitionCount = cursor.readBoundedCount(12);
58
60
  const transitions = [];
59
61
  for (let transitionIndex = 0; transitionIndex < transitionCount; transitionIndex++) {
60
62
  transitions.push({
@@ -72,13 +74,13 @@ function ReadStateGroups(cursor) {
72
74
  return groups;
73
75
  }
74
76
  function ReadSwitchGroups(cursor) {
75
- const count = cursor.boundedCount(13);
77
+ const count = cursor.readBoundedCount(13);
76
78
  const groups = [];
77
79
  for (let index = 0; index < count; index++) {
78
80
  const id = cursor.u32();
79
81
  const controlId = cursor.u32();
80
82
  const controlType = ReadEnum(cursor.u8(), SWITCH_CONTROL_TYPES, "switch control type");
81
- const pointCount = cursor.boundedCount(12);
83
+ const pointCount = cursor.readBoundedCount(12);
82
84
  const points = [];
83
85
  for (let pointIndex = 0; pointIndex < pointCount; pointIndex++) {
84
86
  points.push({
@@ -97,7 +99,7 @@ function ReadSwitchGroups(cursor) {
97
99
  return groups;
98
100
  }
99
101
  function ReadRtpcParameters(cursor) {
100
- const count = cursor.boundedCount(21);
102
+ const count = cursor.readBoundedCount(21);
101
103
  const parameters = [];
102
104
  for (let index = 0; index < count; index++) {
103
105
  parameters.push({
@@ -112,7 +114,7 @@ function ReadRtpcParameters(cursor) {
112
114
  return parameters;
113
115
  }
114
116
  function ReadAcousticTextures(cursor) {
115
- const count = cursor.boundedCount(28);
117
+ const count = cursor.readBoundedCount(28);
116
118
  const textures = [];
117
119
  for (let index = 0; index < count; index++) {
118
120
  textures.push({
@@ -134,82 +136,5 @@ function ReadEnum(value, allowed, label) {
134
136
  return value;
135
137
  }
136
138
 
137
- /** Bounds-aware little-endian cursor over one Wwise Global Settings payload. */
138
- class GlobalSettingsCursor {
139
- /**
140
- * Creates a cursor over the complete payload.
141
- *
142
- * @param {Uint8Array} bytes Global Settings payload bytes.
143
- */
144
- constructor(bytes) {
145
- this.bytes = bytes;
146
- this.view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);
147
- this.at = 0;
148
- }
149
-
150
- /** Gets the number of unread bytes. */
151
- get remaining() {
152
- return this.bytes.byteLength - this.at;
153
- }
154
-
155
- /**
156
- * Requires a bounded number of bytes to remain.
157
- *
158
- * @param {number} size Required byte count.
159
- */
160
- require(size) {
161
- if (!Number.isSafeInteger(size) || size < 0 || this.at + size > this.bytes.byteLength) {
162
- throw new RangeError("Global Settings payload is truncated");
163
- }
164
- }
165
-
166
- /**
167
- * Reads a table count and validates its minimum encoded size.
168
- *
169
- * @param {number} minimumStride Minimum bytes required per record.
170
- * @returns {number} Validated record count.
171
- */
172
- boundedCount(minimumStride) {
173
- const count = this.u32();
174
- if (count > Math.floor(this.remaining / minimumStride)) {
175
- throw new RangeError("Global Settings table count exceeds payload");
176
- }
177
- return count;
178
- }
179
-
180
- /** Reads an unsigned 8-bit integer. */
181
- u8() {
182
- this.require(1);
183
- return this.bytes[this.at++];
184
- }
185
-
186
- /** Reads a little-endian unsigned 16-bit integer. */
187
- u16() {
188
- this.require(2);
189
- const value = this.view.getUint16(this.at, true);
190
- this.at += 2;
191
- return value;
192
- }
193
-
194
- /** Reads a little-endian unsigned 32-bit integer. */
195
- u32() {
196
- this.require(4);
197
- const value = this.view.getUint32(this.at, true);
198
- this.at += 4;
199
- return value;
200
- }
201
-
202
- /** Reads a finite little-endian 32-bit floating-point value. */
203
- finiteF32() {
204
- this.require(4);
205
- const value = this.view.getFloat32(this.at, true);
206
- this.at += 4;
207
- if (!Number.isFinite(value)) {
208
- throw new RangeError("Global Settings float must be finite");
209
- }
210
- return value;
211
- }
212
- }
213
-
214
139
  export { WWISE_GLOBAL_SETTINGS_VERSION, parseGlobalSettings };
215
140
  //# sourceMappingURL=globalSettings.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"globalSettings.js","sources":["../../../../../../src/resource/formats/bnk/core/globalSettings.js"],"sourcesContent":["// Exact Wwise v150 STMG Global Settings decoding. The container reader keeps\r\n// the raw chunk entry and attaches this typed view only when the whole payload\r\n// is valid and consumed.\r\n\r\nexport const WWISE_GLOBAL_SETTINGS_VERSION = 150;\r\n\r\nconst FILTER_BEHAVIORS = new Set([ 0, 1 ]);\r\nconst SWITCH_CONTROL_TYPES = new Set([ 0, 1, 2, 3, 4 ]);\r\nconst INTERPOLATIONS = new Set([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]);\r\nconst RAMP_TYPES = new Set([ 0, 1, 2 ]);\r\nconst BUILT_IN_PARAMETERS = new Set([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]);\r\n\r\n/**\r\n * Decodes one exact Wwise v150 STMG Global Settings payload.\r\n *\r\n * Other versions, truncated tables, invalid enums or floats, impossible\r\n * counts, and trailing bytes return null. Numeric enum values are retained so\r\n * the runtime resource layer remains a lossless typed reader rather than a policy layer.\n *\r\n * @param {Uint8Array} payload STMG payload bytes after the chunk header.\r\n * @param {object} [options] Decode options.\r\n * @param {number} [options.bankVersion=150] Wwise bank generator version.\r\n * @returns {object|null} Typed global settings, or null when not exact.\r\n */\r\nexport function parseGlobalSettings(\r\n payload,\r\n { bankVersion = WWISE_GLOBAL_SETTINGS_VERSION } = {},\r\n)\r\n{\r\n if (!(payload instanceof Uint8Array)\r\n || Number(bankVersion) !== WWISE_GLOBAL_SETTINGS_VERSION)\r\n {\r\n return null;\r\n }\r\n\r\n try\r\n {\r\n const cursor = new GlobalSettingsCursor(payload);\r\n const filterBehavior = ReadEnum(\r\n cursor.u16(),\r\n FILTER_BEHAVIORS,\r\n \"filter behavior\",\r\n );\r\n const result = {\r\n filterBehavior,\r\n volumeThreshold: cursor.finiteF32(),\r\n maxVoices: cursor.u16(),\r\n maxDangerousVirtualVoices: cursor.u16(),\r\n stateGroups: ReadStateGroups(cursor),\r\n switchGroups: ReadSwitchGroups(cursor),\r\n rtpcParameters: ReadRtpcParameters(cursor),\r\n acousticTextures: ReadAcousticTextures(cursor),\r\n };\r\n\r\n return cursor.remaining === 0 ? result : null;\r\n }\r\n catch (error)\r\n {\r\n if (error instanceof RangeError)\r\n {\r\n return null;\r\n }\r\n throw error;\r\n }\r\n}\r\n\r\nfunction ReadStateGroups(cursor)\r\n{\r\n const count = cursor.boundedCount(12);\r\n const groups = [];\r\n\r\n for (let index = 0; index < count; index++)\r\n {\r\n const id = cursor.u32();\r\n const defaultTransitionTimeMs = cursor.u32();\r\n const transitionCount = cursor.boundedCount(12);\r\n const transitions = [];\r\n\r\n for (let transitionIndex = 0;\r\n transitionIndex < transitionCount;\r\n transitionIndex++)\r\n {\r\n transitions.push({\r\n fromId: cursor.u32(),\r\n toId: cursor.u32(),\r\n transitionTimeMs: cursor.u32(),\r\n });\r\n }\r\n groups.push({ id, defaultTransitionTimeMs, transitions });\r\n }\r\n return groups;\r\n}\r\n\r\nfunction ReadSwitchGroups(cursor)\r\n{\r\n const count = cursor.boundedCount(13);\r\n const groups = [];\r\n\r\n for (let index = 0; index < count; index++)\r\n {\r\n const id = cursor.u32();\r\n const controlId = cursor.u32();\r\n const controlType = ReadEnum(\r\n cursor.u8(),\r\n SWITCH_CONTROL_TYPES,\r\n \"switch control type\",\r\n );\r\n const pointCount = cursor.boundedCount(12);\r\n const points = [];\r\n\r\n for (let pointIndex = 0; pointIndex < pointCount; pointIndex++)\r\n {\r\n points.push({\r\n from: cursor.finiteF32(),\r\n to: cursor.finiteF32(),\r\n interpolation: ReadEnum(\r\n cursor.u32(),\r\n INTERPOLATIONS,\r\n \"switch interpolation\",\r\n ),\r\n });\r\n }\r\n groups.push({ id, controlId, controlType, points });\r\n }\r\n return groups;\r\n}\r\n\r\nfunction ReadRtpcParameters(cursor)\r\n{\r\n const count = cursor.boundedCount(21);\r\n const parameters = [];\r\n\r\n for (let index = 0; index < count; index++)\r\n {\r\n parameters.push({\r\n id: cursor.u32(),\r\n defaultValue: cursor.finiteF32(),\r\n rampType: ReadEnum(\r\n cursor.u32(),\r\n RAMP_TYPES,\r\n \"RTPC ramp type\",\r\n ),\r\n rampUp: cursor.finiteF32(),\r\n rampDown: cursor.finiteF32(),\r\n builtInParameter: ReadEnum(\r\n cursor.u8(),\r\n BUILT_IN_PARAMETERS,\r\n \"built-in parameter\",\r\n ),\r\n });\r\n }\r\n return parameters;\r\n}\r\n\r\nfunction ReadAcousticTextures(cursor)\r\n{\r\n const count = cursor.boundedCount(28);\r\n const textures = [];\r\n\r\n for (let index = 0; index < count; index++)\r\n {\r\n textures.push({\r\n id: cursor.u32(),\r\n absorptionOffset: cursor.finiteF32(),\r\n absorptionLow: cursor.finiteF32(),\r\n absorptionMidLow: cursor.finiteF32(),\r\n absorptionMidHigh: cursor.finiteF32(),\r\n absorptionHigh: cursor.finiteF32(),\r\n scattering: cursor.finiteF32(),\r\n });\r\n }\r\n return textures;\r\n}\r\n\r\nfunction ReadEnum(value, allowed, label)\r\n{\r\n if (!allowed.has(value))\r\n {\r\n throw new RangeError(`Invalid Wwise ${label} ${value}`);\r\n }\r\n return value;\r\n}\r\n\r\n/** Bounds-aware little-endian cursor over one Wwise Global Settings payload. */\r\nclass GlobalSettingsCursor\r\n{\r\n /**\r\n * Creates a cursor over the complete payload.\r\n *\r\n * @param {Uint8Array} bytes Global Settings payload bytes.\r\n */\r\n constructor(bytes)\r\n {\r\n this.bytes = bytes;\r\n this.view = new DataView(\r\n bytes.buffer,\r\n bytes.byteOffset,\r\n bytes.byteLength,\r\n );\r\n this.at = 0;\r\n }\r\n\r\n /** Gets the number of unread bytes. */\r\n get remaining()\r\n {\r\n return this.bytes.byteLength - this.at;\r\n }\r\n\r\n /**\r\n * Requires a bounded number of bytes to remain.\r\n *\r\n * @param {number} size Required byte count.\r\n */\r\n require(size)\r\n {\r\n if (!Number.isSafeInteger(size)\r\n || size < 0\r\n || this.at + size > this.bytes.byteLength)\r\n {\r\n throw new RangeError(\"Global Settings payload is truncated\");\r\n }\r\n }\r\n\r\n /**\r\n * Reads a table count and validates its minimum encoded size.\r\n *\r\n * @param {number} minimumStride Minimum bytes required per record.\r\n * @returns {number} Validated record count.\r\n */\r\n boundedCount(minimumStride)\r\n {\r\n const count = this.u32();\r\n\r\n if (count > Math.floor(this.remaining / minimumStride))\r\n {\r\n throw new RangeError(\"Global Settings table count exceeds payload\");\r\n }\r\n return count;\r\n }\r\n\r\n /** Reads an unsigned 8-bit integer. */\r\n u8()\r\n {\r\n this.require(1);\r\n return this.bytes[this.at++];\r\n }\r\n\r\n /** Reads a little-endian unsigned 16-bit integer. */\r\n u16()\r\n {\r\n this.require(2);\r\n const value = this.view.getUint16(this.at, true);\r\n\r\n this.at += 2;\r\n return value;\r\n }\r\n\r\n /** Reads a little-endian unsigned 32-bit integer. */\r\n u32()\r\n {\r\n this.require(4);\r\n const value = this.view.getUint32(this.at, true);\r\n\r\n this.at += 4;\r\n return value;\r\n }\r\n\r\n /** Reads a finite little-endian 32-bit floating-point value. */\r\n finiteF32()\r\n {\r\n this.require(4);\r\n const value = this.view.getFloat32(this.at, true);\r\n\r\n this.at += 4;\r\n if (!Number.isFinite(value))\r\n {\r\n throw new RangeError(\"Global Settings float must be finite\");\r\n }\r\n return value;\r\n }\r\n}\r\n"],"names":["WWISE_GLOBAL_SETTINGS_VERSION","FILTER_BEHAVIORS","Set","SWITCH_CONTROL_TYPES","INTERPOLATIONS","RAMP_TYPES","BUILT_IN_PARAMETERS","parseGlobalSettings","payload","bankVersion","Uint8Array","Number","cursor","GlobalSettingsCursor","filterBehavior","ReadEnum","u16","result","volumeThreshold","finiteF32","maxVoices","maxDangerousVirtualVoices","stateGroups","ReadStateGroups","switchGroups","ReadSwitchGroups","rtpcParameters","ReadRtpcParameters","acousticTextures","ReadAcousticTextures","remaining","error","RangeError","count","boundedCount","groups","index","id","u32","defaultTransitionTimeMs","transitionCount","transitions","transitionIndex","push","fromId","toId","transitionTimeMs","controlId","controlType","u8","pointCount","points","pointIndex","from","to","interpolation","parameters","defaultValue","rampType","rampUp","rampDown","builtInParameter","textures","absorptionOffset","absorptionLow","absorptionMidLow","absorptionMidHigh","absorptionHigh","scattering","value","allowed","label","has","constructor","bytes","view","DataView","buffer","byteOffset","byteLength","at","require","size","isSafeInteger","minimumStride","Math","floor","getUint16","getUint32","getFloat32","isFinite"],"mappings":"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"}
1
+ {"version":3,"file":"globalSettings.js","sources":["../../../../../../src/resource/formats/bnk/core/globalSettings.js"],"sourcesContent":["// Exact Wwise v150 STMG Global Settings decoding. The container reader keeps\n// the raw chunk entry and attaches this typed view only when the whole payload\n// is valid and consumed.\n\nimport { WwiseCursor } from \"./nodeBase.js\";\n\nexport const WWISE_GLOBAL_SETTINGS_VERSION = 150;\n\nconst FILTER_BEHAVIORS = new Set([ 0, 1 ]);\nconst SWITCH_CONTROL_TYPES = new Set([ 0, 1, 2, 3, 4 ]);\nconst INTERPOLATIONS = new Set([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]);\nconst RAMP_TYPES = new Set([ 0, 1, 2 ]);\nconst BUILT_IN_PARAMETERS = new Set([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ]);\n\n/**\n * Decodes one exact Wwise v150 STMG Global Settings payload.\n *\n * Other versions, truncated tables, invalid enums or floats, impossible\n * counts, and trailing bytes return null. Numeric enum values are retained so\n * the runtime resource layer remains a lossless typed reader rather than a policy layer.\n *\n * @param {Uint8Array} payload STMG payload bytes after the chunk header.\n * @param {object} [options] Decode options.\n * @param {number} [options.bankVersion=150] Wwise bank generator version.\n * @returns {object|null} Typed global settings, or null when not exact.\n */\nexport function parseGlobalSettings(\n payload,\n { bankVersion = WWISE_GLOBAL_SETTINGS_VERSION } = {},\n)\n{\n if (!(payload instanceof Uint8Array)\n || Number(bankVersion) !== WWISE_GLOBAL_SETTINGS_VERSION)\n {\n return null;\n }\n\n try\n {\n const cursor = new WwiseCursor(payload);\n const filterBehavior = ReadEnum(\n cursor.u16(),\n FILTER_BEHAVIORS,\n \"filter behavior\",\n );\n const result = {\n filterBehavior,\n volumeThreshold: cursor.finiteF32(),\n maxVoices: cursor.u16(),\n maxDangerousVirtualVoices: cursor.u16(),\n stateGroups: ReadStateGroups(cursor),\n switchGroups: ReadSwitchGroups(cursor),\n rtpcParameters: ReadRtpcParameters(cursor),\n acousticTextures: ReadAcousticTextures(cursor),\n };\n\n return cursor.remaining === 0 ? result : null;\n }\n catch (error)\n {\n if (error instanceof RangeError)\n {\n return null;\n }\n throw error;\n }\n}\n\nfunction ReadStateGroups(cursor)\n{\n const count = cursor.readBoundedCount(12);\n const groups = [];\n\n for (let index = 0; index < count; index++)\n {\n const id = cursor.u32();\n const defaultTransitionTimeMs = cursor.u32();\n const transitionCount = cursor.readBoundedCount(12);\n const transitions = [];\n\n for (let transitionIndex = 0;\n transitionIndex < transitionCount;\n transitionIndex++)\n {\n transitions.push({\n fromId: cursor.u32(),\n toId: cursor.u32(),\n transitionTimeMs: cursor.u32(),\n });\n }\n groups.push({ id, defaultTransitionTimeMs, transitions });\n }\n return groups;\n}\n\nfunction ReadSwitchGroups(cursor)\n{\n const count = cursor.readBoundedCount(13);\n const groups = [];\n\n for (let index = 0; index < count; index++)\n {\n const id = cursor.u32();\n const controlId = cursor.u32();\n const controlType = ReadEnum(\n cursor.u8(),\n SWITCH_CONTROL_TYPES,\n \"switch control type\",\n );\n const pointCount = cursor.readBoundedCount(12);\n const points = [];\n\n for (let pointIndex = 0; pointIndex < pointCount; pointIndex++)\n {\n points.push({\n from: cursor.finiteF32(),\n to: cursor.finiteF32(),\n interpolation: ReadEnum(\n cursor.u32(),\n INTERPOLATIONS,\n \"switch interpolation\",\n ),\n });\n }\n groups.push({ id, controlId, controlType, points });\n }\n return groups;\n}\n\nfunction ReadRtpcParameters(cursor)\n{\n const count = cursor.readBoundedCount(21);\n const parameters = [];\n\n for (let index = 0; index < count; index++)\n {\n parameters.push({\n id: cursor.u32(),\n defaultValue: cursor.finiteF32(),\n rampType: ReadEnum(\n cursor.u32(),\n RAMP_TYPES,\n \"RTPC ramp type\",\n ),\n rampUp: cursor.finiteF32(),\n rampDown: cursor.finiteF32(),\n builtInParameter: ReadEnum(\n cursor.u8(),\n BUILT_IN_PARAMETERS,\n \"built-in parameter\",\n ),\n });\n }\n return parameters;\n}\n\nfunction ReadAcousticTextures(cursor)\n{\n const count = cursor.readBoundedCount(28);\n const textures = [];\n\n for (let index = 0; index < count; index++)\n {\n textures.push({\n id: cursor.u32(),\n absorptionOffset: cursor.finiteF32(),\n absorptionLow: cursor.finiteF32(),\n absorptionMidLow: cursor.finiteF32(),\n absorptionMidHigh: cursor.finiteF32(),\n absorptionHigh: cursor.finiteF32(),\n scattering: cursor.finiteF32(),\n });\n }\n return textures;\n}\n\nfunction ReadEnum(value, allowed, label)\n{\n if (!allowed.has(value))\n {\n throw new RangeError(`Invalid Wwise ${label} ${value}`);\n }\n return value;\n}\n\n"],"names":["WWISE_GLOBAL_SETTINGS_VERSION","FILTER_BEHAVIORS","Set","SWITCH_CONTROL_TYPES","INTERPOLATIONS","RAMP_TYPES","BUILT_IN_PARAMETERS","parseGlobalSettings","payload","bankVersion","Uint8Array","Number","cursor","WwiseCursor","filterBehavior","ReadEnum","u16","result","volumeThreshold","finiteF32","maxVoices","maxDangerousVirtualVoices","stateGroups","ReadStateGroups","switchGroups","ReadSwitchGroups","rtpcParameters","ReadRtpcParameters","acousticTextures","ReadAcousticTextures","remaining","error","RangeError","count","readBoundedCount","groups","index","id","u32","defaultTransitionTimeMs","transitionCount","transitions","transitionIndex","push","fromId","toId","transitionTimeMs","controlId","controlType","u8","pointCount","points","pointIndex","from","to","interpolation","parameters","defaultValue","rampType","rampUp","rampDown","builtInParameter","textures","absorptionOffset","absorptionLow","absorptionMidLow","absorptionMidHigh","absorptionHigh","scattering","value","allowed","label","has"],"mappings":";;AAAA;AACA;AACA;;AAIO,MAAMA,6BAA6B,GAAG;AAE7C,MAAMC,gBAAgB,GAAG,IAAIC,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC,CAAE,CAAC;AAC1C,MAAMC,oBAAoB,GAAG,IAAID,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,CAAC;AACvD,MAAME,cAAc,GAAG,IAAIF,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,CAAC;AAChE,MAAMG,UAAU,GAAG,IAAIH,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,CAAC;AACvC,MAAMI,mBAAmB,GAAG,IAAIJ,GAAG,CAAC,CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAE,CAAC;;AAErE;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,SAASK,mBAAmBA,CAC/BC,OAAO,EACP;AAAEC,EAAAA,WAAW,GAAGT;AAA8B,CAAC,GAAG,EAAE,EAExD;AACI,EAAA,IAAI,EAAEQ,OAAO,YAAYE,UAAU,CAAC,IAC7BC,MAAM,CAACF,WAAW,CAAC,KAAKT,6BAA6B,EAC5D;AACI,IAAA,OAAO,IAAI;AACf,EAAA;EAEA,IACA;AACI,IAAA,MAAMY,MAAM,GAAG,IAAIC,WAAW,CAACL,OAAO,CAAC;AACvC,IAAA,MAAMM,cAAc,GAAGC,QAAQ,CAC3BH,MAAM,CAACI,GAAG,EAAE,EACZf,gBAAgB,EAChB,iBACJ,CAAC;AACD,IAAA,MAAMgB,MAAM,GAAG;MACXH,cAAc;AACdI,MAAAA,eAAe,EAAEN,MAAM,CAACO,SAAS,EAAE;AACnCC,MAAAA,SAAS,EAAER,MAAM,CAACI,GAAG,EAAE;AACvBK,MAAAA,yBAAyB,EAAET,MAAM,CAACI,GAAG,EAAE;AACvCM,MAAAA,WAAW,EAAEC,eAAe,CAACX,MAAM,CAAC;AACpCY,MAAAA,YAAY,EAAEC,gBAAgB,CAACb,MAAM,CAAC;AACtCc,MAAAA,cAAc,EAAEC,kBAAkB,CAACf,MAAM,CAAC;MAC1CgB,gBAAgB,EAAEC,oBAAoB,CAACjB,MAAM;KAChD;IAED,OAAOA,MAAM,CAACkB,SAAS,KAAK,CAAC,GAAGb,MAAM,GAAG,IAAI;EACjD,CAAC,CACD,OAAOc,KAAK,EACZ;IACI,IAAIA,KAAK,YAAYC,UAAU,EAC/B;AACI,MAAA,OAAO,IAAI;AACf,IAAA;AACA,IAAA,MAAMD,KAAK;AACf,EAAA;AACJ;AAEA,SAASR,eAAeA,CAACX,MAAM,EAC/B;AACI,EAAA,MAAMqB,KAAK,GAAGrB,MAAM,CAACsB,gBAAgB,CAAC,EAAE,CAAC;EACzC,MAAMC,MAAM,GAAG,EAAE;EAEjB,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGH,KAAK,EAAEG,KAAK,EAAE,EAC1C;AACI,IAAA,MAAMC,EAAE,GAAGzB,MAAM,CAAC0B,GAAG,EAAE;AACvB,IAAA,MAAMC,uBAAuB,GAAG3B,MAAM,CAAC0B,GAAG,EAAE;AAC5C,IAAA,MAAME,eAAe,GAAG5B,MAAM,CAACsB,gBAAgB,CAAC,EAAE,CAAC;IACnD,MAAMO,WAAW,GAAG,EAAE;IAEtB,KAAK,IAAIC,eAAe,GAAG,CAAC,EACxBA,eAAe,GAAGF,eAAe,EACjCE,eAAe,EAAE,EACrB;MACID,WAAW,CAACE,IAAI,CAAC;AACbC,QAAAA,MAAM,EAAEhC,MAAM,CAAC0B,GAAG,EAAE;AACpBO,QAAAA,IAAI,EAAEjC,MAAM,CAAC0B,GAAG,EAAE;AAClBQ,QAAAA,gBAAgB,EAAElC,MAAM,CAAC0B,GAAG;AAChC,OAAC,CAAC;AACN,IAAA;IACAH,MAAM,CAACQ,IAAI,CAAC;MAAEN,EAAE;MAAEE,uBAAuB;AAAEE,MAAAA;AAAY,KAAC,CAAC;AAC7D,EAAA;AACA,EAAA,OAAON,MAAM;AACjB;AAEA,SAASV,gBAAgBA,CAACb,MAAM,EAChC;AACI,EAAA,MAAMqB,KAAK,GAAGrB,MAAM,CAACsB,gBAAgB,CAAC,EAAE,CAAC;EACzC,MAAMC,MAAM,GAAG,EAAE;EAEjB,KAAK,IAAIC,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGH,KAAK,EAAEG,KAAK,EAAE,EAC1C;AACI,IAAA,MAAMC,EAAE,GAAGzB,MAAM,CAAC0B,GAAG,EAAE;AACvB,IAAA,MAAMS,SAAS,GAAGnC,MAAM,CAAC0B,GAAG,EAAE;AAC9B,IAAA,MAAMU,WAAW,GAAGjC,QAAQ,CACxBH,MAAM,CAACqC,EAAE,EAAE,EACX9C,oBAAoB,EACpB,qBACJ,CAAC;AACD,IAAA,MAAM+C,UAAU,GAAGtC,MAAM,CAACsB,gBAAgB,CAAC,EAAE,CAAC;IAC9C,MAAMiB,MAAM,GAAG,EAAE;IAEjB,KAAK,IAAIC,UAAU,GAAG,CAAC,EAAEA,UAAU,GAAGF,UAAU,EAAEE,UAAU,EAAE,EAC9D;MACID,MAAM,CAACR,IAAI,CAAC;AACRU,QAAAA,IAAI,EAAEzC,MAAM,CAACO,SAAS,EAAE;AACxBmC,QAAAA,EAAE,EAAE1C,MAAM,CAACO,SAAS,EAAE;QACtBoC,aAAa,EAAExC,QAAQ,CACnBH,MAAM,CAAC0B,GAAG,EAAE,EACZlC,cAAc,EACd,sBACJ;AACJ,OAAC,CAAC;AACN,IAAA;IACA+B,MAAM,CAACQ,IAAI,CAAC;MAAEN,EAAE;MAAEU,SAAS;MAAEC,WAAW;AAAEG,MAAAA;AAAO,KAAC,CAAC;AACvD,EAAA;AACA,EAAA,OAAOhB,MAAM;AACjB;AAEA,SAASR,kBAAkBA,CAACf,MAAM,EAClC;AACI,EAAA,MAAMqB,KAAK,GAAGrB,MAAM,CAACsB,gBAAgB,CAAC,EAAE,CAAC;EACzC,MAAMsB,UAAU,GAAG,EAAE;EAErB,KAAK,IAAIpB,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGH,KAAK,EAAEG,KAAK,EAAE,EAC1C;IACIoB,UAAU,CAACb,IAAI,CAAC;AACZN,MAAAA,EAAE,EAAEzB,MAAM,CAAC0B,GAAG,EAAE;AAChBmB,MAAAA,YAAY,EAAE7C,MAAM,CAACO,SAAS,EAAE;AAChCuC,MAAAA,QAAQ,EAAE3C,QAAQ,CACdH,MAAM,CAAC0B,GAAG,EAAE,EACZjC,UAAU,EACV,gBACJ,CAAC;AACDsD,MAAAA,MAAM,EAAE/C,MAAM,CAACO,SAAS,EAAE;AAC1ByC,MAAAA,QAAQ,EAAEhD,MAAM,CAACO,SAAS,EAAE;MAC5B0C,gBAAgB,EAAE9C,QAAQ,CACtBH,MAAM,CAACqC,EAAE,EAAE,EACX3C,mBAAmB,EACnB,oBACJ;AACJ,KAAC,CAAC;AACN,EAAA;AACA,EAAA,OAAOkD,UAAU;AACrB;AAEA,SAAS3B,oBAAoBA,CAACjB,MAAM,EACpC;AACI,EAAA,MAAMqB,KAAK,GAAGrB,MAAM,CAACsB,gBAAgB,CAAC,EAAE,CAAC;EACzC,MAAM4B,QAAQ,GAAG,EAAE;EAEnB,KAAK,IAAI1B,KAAK,GAAG,CAAC,EAAEA,KAAK,GAAGH,KAAK,EAAEG,KAAK,EAAE,EAC1C;IACI0B,QAAQ,CAACnB,IAAI,CAAC;AACVN,MAAAA,EAAE,EAAEzB,MAAM,CAAC0B,GAAG,EAAE;AAChByB,MAAAA,gBAAgB,EAAEnD,MAAM,CAACO,SAAS,EAAE;AACpC6C,MAAAA,aAAa,EAAEpD,MAAM,CAACO,SAAS,EAAE;AACjC8C,MAAAA,gBAAgB,EAAErD,MAAM,CAACO,SAAS,EAAE;AACpC+C,MAAAA,iBAAiB,EAAEtD,MAAM,CAACO,SAAS,EAAE;AACrCgD,MAAAA,cAAc,EAAEvD,MAAM,CAACO,SAAS,EAAE;AAClCiD,MAAAA,UAAU,EAAExD,MAAM,CAACO,SAAS;AAChC,KAAC,CAAC;AACN,EAAA;AACA,EAAA,OAAO2C,QAAQ;AACnB;AAEA,SAAS/C,QAAQA,CAACsD,KAAK,EAAEC,OAAO,EAAEC,KAAK,EACvC;AACI,EAAA,IAAI,CAACD,OAAO,CAACE,GAAG,CAACH,KAAK,CAAC,EACvB;IACI,MAAM,IAAIrC,UAAU,CAAC,CAAA,cAAA,EAAiBuC,KAAK,CAAA,CAAA,EAAIF,KAAK,EAAE,CAAC;AAC3D,EAAA;AACA,EAAA,OAAOA,KAAK;AAChB;;;;"}
@@ -1,3 +1,4 @@
1
+ import { readWwiseVar } from './WwiseCursor.js';
1
2
  import { asUint8Array, readFourCc } from '#utils/bytes';
2
3
  import { parseEventAction } from './eventAction.js';
3
4
  import { parseGlobalSettings } from './globalSettings.js';
@@ -300,39 +301,6 @@ function decodeHircFields(entry, bankVersion) {
300
301
  entry.sources = sources;
301
302
  }
302
303
  }
303
-
304
- /**
305
- * Reads Wwise's MSB-first base-128 unsigned integer.
306
- *
307
- * @returns {{value:number,nextOffset:number}|null} Decoded value and next
308
- * offset, or null for truncated, overflowed, or non-canonical input.
309
- */
310
- function readWwiseVar(bytes, offset = 0) {
311
- let at = Number(offset);
312
- let value = 0;
313
- let count = 0;
314
- if (!Number.isSafeInteger(at) || at < 0) {
315
- return null;
316
- }
317
- while (at < bytes.byteLength && count < 5) {
318
- const byte = bytes[at++];
319
- if (count === 0 && byte === 0x80) {
320
- return null;
321
- }
322
- if (value > 0x01ffffff) {
323
- return null;
324
- }
325
- value = value * 128 + (byte & 0x7f);
326
- count++;
327
- if ((byte & 0x80) === 0) {
328
- return value <= 0xffffffff ? {
329
- value: value >>> 0,
330
- nextOffset: at
331
- } : null;
332
- }
333
- }
334
- return null;
335
- }
336
304
  function readNameTable(bytes, dataOffset, size) {
337
305
  const names = [];
338
306
  if (size < 8) return names;
@@ -464,20 +432,6 @@ function readWithValues(input, values = DEFAULT_VALUES) {
464
432
  bytes
465
433
  };
466
434
  }
467
-
468
- /** Converts a parsed payload into a JSON-safe value for the BNK format reader. */
469
- function toJsonValue(value) {
470
- if (value instanceof Uint8Array) return {
471
- byteLength: value.byteLength
472
- };
473
- if (Array.isArray(value)) return value.map(toJsonValue);
474
- if (value && typeof value === "object") {
475
- const output = {};
476
- for (const [key, entry] of Object.entries(value)) output[key] = toJsonValue(entry);
477
- return output;
478
- }
479
- return value;
480
- }
481
435
  function asciiString(bytes, offset, length) {
482
436
  let value = "";
483
437
  for (let i = 0; i < length; i++) value += String.fromCharCode(bytes[offset + i]);
@@ -487,5 +441,5 @@ function readU32(bytes, offset) {
487
441
  return (bytes[offset] | bytes[offset + 1] << 8 | bytes[offset + 2] << 16 | bytes[offset + 3] * 0x1000000) >>> 0;
488
442
  }
489
443
 
490
- export { DEFAULT_VALUES, HIRC_TYPE_NAMES, HIRC_V150_TYPE_NAMES, OUTPUT_BNK_JSON, OUTPUT_JSON, OUTPUT_MEDIA, OUTPUT_RAW, extractMedia, inspectBNK, inspectWithValues, isBNK, normalizeEmit, normalizeValues, probeSupportWithValues, readWithValues, readWwiseVar, toJsonValue };
444
+ export { DEFAULT_VALUES, HIRC_TYPE_NAMES, HIRC_V150_TYPE_NAMES, OUTPUT_BNK_JSON, OUTPUT_JSON, OUTPUT_MEDIA, OUTPUT_RAW, extractMedia, inspectBNK, inspectWithValues, isBNK, normalizeEmit, normalizeValues, probeSupportWithValues, readWithValues, readWwiseVar };
491
445
  //# sourceMappingURL=helpers.js.map