@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,10 +1,13 @@
1
- /**
2
- * Bit-level IO for Wwise Vorbis repacking.
3
- *
4
- * Vorbis bitstreams are LSB-first within each byte; both the reader and the
5
- * Ogg writer here follow that convention. The writer assembles one Ogg page
6
- * per packet (identification, comment, setup, then one page per audio
7
- * packet), matching the ww2ogg reference behavior.
1
+ import { CjsBitReader } from '../../../format/CjsBitReader.js';
2
+ import { CjsFormatRangeError } from '../../../format/CjsFormatError.js';
3
+
4
+ /**
5
+ * Bit-level IO for Wwise Vorbis repacking.
6
+ *
7
+ * Vorbis bitstreams are LSB-first within each byte; both the reader and the
8
+ * Ogg writer here follow that convention. The writer assembles one Ogg page
9
+ * per packet (identification, comment, setup, then one page per audio
10
+ * packet), matching the ww2ogg reference behavior.
8
11
  */
9
12
 
10
13
  const OGG_HEADER_BYTES = 27;
@@ -24,13 +27,13 @@ function buildCrcTable() {
24
27
  return table;
25
28
  }
26
29
 
27
- /**
28
- * Compute the Ogg page checksum (forward CRC-32, polynomial 0x04c11db7,
29
- * zero initial value, no final xor).
30
- *
31
- * @param {Uint8Array} bytes Page bytes with the checksum field zeroed.
32
- * @param {number} length Number of bytes to include.
33
- * @returns {number} Unsigned 32-bit checksum.
30
+ /**
31
+ * Compute the Ogg page checksum (forward CRC-32, polynomial 0x04c11db7,
32
+ * zero initial value, no final xor).
33
+ *
34
+ * @param {Uint8Array} bytes Page bytes with the checksum field zeroed.
35
+ * @param {number} length Number of bytes to include.
36
+ * @returns {number} Unsigned 32-bit checksum.
34
37
  */
35
38
  function oggChecksum(bytes, length) {
36
39
  let crc = 0;
@@ -40,75 +43,49 @@ function oggChecksum(bytes, length) {
40
43
  return crc;
41
44
  }
42
45
 
43
- /**
44
- * LSB-first bit reader over a byte range.
46
+ /**
47
+ * Error raised when a Wwise Vorbis bitstream runs out mid-read.
48
+ *
49
+ * The `code` is the package-wide truncation code, which `CjsFormatReadError`
50
+ * does not itself carry.
45
51
  */
46
- class BitReader {
47
- #bytes;
48
- #position;
49
- #bitBuffer = 0;
50
- #bitsLeft = 0;
51
- #totalBitsRead = 0;
52
-
53
- /**
54
- * Create a reader over `bytes` starting at `offset`.
55
- *
56
- * @param {Uint8Array} bytes Source bytes.
57
- * @param {number} [offset] Starting byte offset.
58
- */
59
- constructor(bytes, offset = 0) {
60
- this.#bytes = bytes;
61
- this.#position = offset;
62
- }
63
-
64
- /**
65
- * Read a single bit.
66
- *
67
- * @returns {number} 0 or 1.
68
- */
69
- readBit() {
70
- if (this.#bitsLeft === 0) {
71
- if (this.#position >= this.#bytes.length) {
72
- const error = new Error("wem: bitstream out of bits");
73
- error.code = "CJS_FORMAT_TRUNCATED";
74
- throw error;
75
- }
76
- this.#bitBuffer = this.#bytes[this.#position++];
77
- this.#bitsLeft = 8;
78
- }
79
- const bit = this.#bitBuffer & 1;
80
- this.#bitBuffer >>= 1;
81
- this.#bitsLeft--;
82
- this.#totalBitsRead++;
83
- return bit;
84
- }
85
-
86
- /**
87
- * Read `count` bits as an unsigned integer (LSB-first).
88
- *
89
- * @param {number} count Bit count (0..32).
90
- * @returns {number} Unsigned value.
91
- */
92
- readBits(count) {
93
- let value = 0;
94
- for (let i = 0; i < count; i++) {
95
- if (this.readBit()) value |= 1 << i;
96
- }
97
- return value >>> 0;
52
+ class WemBitstreamError extends CjsFormatRangeError {
53
+ /** Creates a truncation error with the cursor state that produced it. */
54
+ constructor(message, details = {}) {
55
+ super(message, details);
56
+ this.name = "WemBitstreamError";
57
+ this.code = "CJS_FORMAT_TRUNCATED";
98
58
  }
59
+ }
99
60
 
100
- /**
101
- * Total bits consumed so far.
102
- *
103
- * @returns {number} Bit count.
61
+ /**
62
+ * LSB-first bit reader over a byte range.
63
+ *
64
+ * The bit cursor itself is shared (`CjsBitReader`); Vorbis is LSB-first, which
65
+ * is the shared convention. Only the error identity is Wwise's own: a truncated
66
+ * bitstream here is a truncated FILE, so it throws rather than reporting a
67
+ * recoverable end-of-packet the way the Ogg packet reader does.
68
+ */
69
+ class BitReader extends CjsBitReader {
70
+ static ReadError = WemBitstreamError;
71
+ static endOfDataMessage = "wem: bitstream out of bits";
72
+
73
+ /**
74
+ * Create a reader over `bytes` starting at `offset`.
75
+ *
76
+ * @param {Uint8Array} bytes Source bytes.
77
+ * @param {number} [offset] Starting byte offset.
104
78
  */
105
- get totalBitsRead() {
106
- return this.#totalBitsRead;
79
+ constructor(bytes, offset = 0) {
80
+ super(bytes, {
81
+ offset,
82
+ source: "wem"
83
+ });
107
84
  }
108
85
  }
109
86
 
110
- /**
111
- * LSB-first bit writer that assembles Ogg pages, one packet per page.
87
+ /**
88
+ * LSB-first bit writer that assembles Ogg pages, one packet per page.
112
89
  */
113
90
  class OggPageWriter {
114
91
  #pages = [];
@@ -121,10 +98,10 @@ class OggPageWriter {
121
98
  #first = true;
122
99
  #continued = false;
123
100
 
124
- /**
125
- * Write a single bit.
126
- *
127
- * @param {number|boolean} bit Bit value.
101
+ /**
102
+ * Write a single bit.
103
+ *
104
+ * @param {number|boolean} bit Bit value.
128
105
  */
129
106
  writeBit(bit) {
130
107
  if (bit) this.#bitBuffer |= 1 << this.#bitsStored;
@@ -132,11 +109,11 @@ class OggPageWriter {
132
109
  if (this.#bitsStored === 8) this.#flushBits();
133
110
  }
134
111
 
135
- /**
136
- * Write `count` bits of `value` (LSB-first).
137
- *
138
- * @param {number} value Unsigned value.
139
- * @param {number} count Bit count (0..32).
112
+ /**
113
+ * Write `count` bits of `value` (LSB-first).
114
+ *
115
+ * @param {number} value Unsigned value.
116
+ * @param {number} count Bit count (0..32).
140
117
  */
141
118
  writeBits(value, count) {
142
119
  for (let i = 0; i < count; i++) {
@@ -144,10 +121,10 @@ class OggPageWriter {
144
121
  }
145
122
  }
146
123
 
147
- /**
148
- * Set the granule position recorded on the next flushed page.
149
- *
150
- * @param {number} granule Unsigned granule position (< 2^53).
124
+ /**
125
+ * Set the granule position recorded on the next flushed page.
126
+ *
127
+ * @param {number} granule Unsigned granule position (< 2^53).
151
128
  */
152
129
  setGranule(granule) {
153
130
  this.#granule = granule;
@@ -166,10 +143,10 @@ class OggPageWriter {
166
143
  this.#bitBuffer = 0;
167
144
  }
168
145
 
169
- /**
170
- * Finish the current packet and emit it as one Ogg page.
171
- *
172
- * @param {boolean} [last] Mark this page as end-of-stream.
146
+ /**
147
+ * Finish the current packet and emit it as one Ogg page.
148
+ *
149
+ * @param {boolean} [last] Mark this page as end-of-stream.
173
150
  */
174
151
  flushPage(last = false) {
175
152
  this.#flushBits();
@@ -208,10 +185,10 @@ class OggPageWriter {
208
185
  this.#payloadBytes = 0;
209
186
  }
210
187
 
211
- /**
212
- * Concatenate all flushed pages into one buffer.
213
- *
214
- * @returns {Uint8Array} Complete Ogg stream bytes.
188
+ /**
189
+ * Concatenate all flushed pages into one buffer.
190
+ *
191
+ * @returns {Uint8Array} Complete Ogg stream bytes.
215
192
  */
216
193
  toBytes() {
217
194
  let total = 0;
@@ -225,10 +202,10 @@ class OggPageWriter {
225
202
  return bytes;
226
203
  }
227
204
 
228
- /**
229
- * Number of pages flushed so far.
230
- *
231
- * @returns {number} Page count.
205
+ /**
206
+ * Number of pages flushed so far.
207
+ *
208
+ * @returns {number} Page count.
232
209
  */
233
210
  get pageCount() {
234
211
  return this.#pages.length;
@@ -241,11 +218,11 @@ function writeU32(bytes, offset, value) {
241
218
  bytes[offset + 3] = value >>> 24 & 0xff;
242
219
  }
243
220
 
244
- /**
245
- * Smallest number of bits needed to represent `value` (Vorbis ilog).
246
- *
247
- * @param {number} value Unsigned value.
248
- * @returns {number} Bit count; 0 when value is 0.
221
+ /**
222
+ * Smallest number of bits needed to represent `value` (Vorbis ilog).
223
+ *
224
+ * @param {number} value Unsigned value.
225
+ * @returns {number} Bit count; 0 when value is 0.
249
226
  */
250
227
  function ilog(value) {
251
228
  let result = 0;
@@ -1 +1 @@
1
- {"version":3,"file":"bitStream.js","sources":["../../../../../../src/resource/formats/wem/core/bitStream.js"],"sourcesContent":["/**\r\n * Bit-level IO for Wwise Vorbis repacking.\r\n *\r\n * Vorbis bitstreams are LSB-first within each byte; both the reader and the\r\n * Ogg writer here follow that convention. The writer assembles one Ogg page\r\n * per packet (identification, comment, setup, then one page per audio\r\n * packet), matching the ww2ogg reference behavior.\r\n */\r\n\r\nconst OGG_HEADER_BYTES = 27;\r\nconst OGG_MAX_SEGMENTS = 255;\r\nconst OGG_SEGMENT_SIZE = 255;\r\nconst OGG_MAX_PAYLOAD = OGG_MAX_SEGMENTS * OGG_SEGMENT_SIZE;\r\n\r\nconst CRC_TABLE = buildCrcTable();\r\n\r\nfunction buildCrcTable()\r\n{\r\n const table = new Uint32Array(256);\r\n for (let i = 0; i < 256; i++)\r\n {\r\n let r = (i << 24) >>> 0;\r\n for (let bit = 0; bit < 8; bit++)\r\n {\r\n r = ((r & 0x80000000) ? ((r << 1) ^ 0x04c11db7) : (r << 1)) >>> 0;\r\n }\r\n table[i] = r;\r\n }\r\n return table;\r\n}\r\n\r\n/**\r\n * Compute the Ogg page checksum (forward CRC-32, polynomial 0x04c11db7,\r\n * zero initial value, no final xor).\r\n *\r\n * @param {Uint8Array} bytes Page bytes with the checksum field zeroed.\r\n * @param {number} length Number of bytes to include.\r\n * @returns {number} Unsigned 32-bit checksum.\r\n */\r\nexport function oggChecksum(bytes, length)\r\n{\r\n let crc = 0;\r\n for (let i = 0; i < length; i++)\r\n {\r\n crc = (((crc << 8) >>> 0) ^ CRC_TABLE[((crc >>> 24) ^ bytes[i]) & 0xff]) >>> 0;\r\n }\r\n return crc;\r\n}\r\n\r\n/**\r\n * LSB-first bit reader over a byte range.\r\n */\r\nexport class BitReader\r\n{\r\n #bytes;\r\n #position;\r\n #bitBuffer = 0;\r\n #bitsLeft = 0;\r\n #totalBitsRead = 0;\r\n\r\n /**\r\n * Create a reader over `bytes` starting at `offset`.\r\n *\r\n * @param {Uint8Array} bytes Source bytes.\r\n * @param {number} [offset] Starting byte offset.\r\n */\r\n constructor(bytes, offset = 0)\r\n {\r\n this.#bytes = bytes;\r\n this.#position = offset;\r\n }\r\n\r\n /**\r\n * Read a single bit.\r\n *\r\n * @returns {number} 0 or 1.\r\n */\r\n readBit()\r\n {\r\n if (this.#bitsLeft === 0)\r\n {\r\n if (this.#position >= this.#bytes.length)\r\n {\r\n const error = new Error(\"wem: bitstream out of bits\");\r\n error.code = \"CJS_FORMAT_TRUNCATED\";\r\n throw error;\r\n }\r\n this.#bitBuffer = this.#bytes[this.#position++];\r\n this.#bitsLeft = 8;\r\n }\r\n const bit = this.#bitBuffer & 1;\r\n this.#bitBuffer >>= 1;\r\n this.#bitsLeft--;\r\n this.#totalBitsRead++;\r\n return bit;\r\n }\r\n\r\n /**\r\n * Read `count` bits as an unsigned integer (LSB-first).\r\n *\r\n * @param {number} count Bit count (0..32).\r\n * @returns {number} Unsigned value.\r\n */\r\n readBits(count)\r\n {\r\n let value = 0;\r\n for (let i = 0; i < count; i++)\r\n {\r\n if (this.readBit()) value |= (1 << i);\r\n }\r\n return value >>> 0;\r\n }\r\n\r\n /**\r\n * Total bits consumed so far.\r\n *\r\n * @returns {number} Bit count.\r\n */\r\n get totalBitsRead()\r\n {\r\n return this.#totalBitsRead;\r\n }\r\n}\r\n\r\n/**\r\n * LSB-first bit writer that assembles Ogg pages, one packet per page.\r\n */\r\nexport class OggPageWriter\r\n{\r\n #pages = [];\r\n #payload = new Uint8Array(OGG_MAX_PAYLOAD);\r\n #payloadBytes = 0;\r\n #bitBuffer = 0;\r\n #bitsStored = 0;\r\n #granule = 0;\r\n #sequenceNumber = 0;\r\n #first = true;\r\n #continued = false;\r\n\r\n /**\r\n * Write a single bit.\r\n *\r\n * @param {number|boolean} bit Bit value.\r\n */\r\n writeBit(bit)\r\n {\r\n if (bit) this.#bitBuffer |= (1 << this.#bitsStored);\r\n this.#bitsStored++;\r\n if (this.#bitsStored === 8) this.#flushBits();\r\n }\r\n\r\n /**\r\n * Write `count` bits of `value` (LSB-first).\r\n *\r\n * @param {number} value Unsigned value.\r\n * @param {number} count Bit count (0..32).\r\n */\r\n writeBits(value, count)\r\n {\r\n for (let i = 0; i < count; i++)\r\n {\r\n this.writeBit((value >>> i) & 1);\r\n }\r\n }\r\n\r\n /**\r\n * Set the granule position recorded on the next flushed page.\r\n *\r\n * @param {number} granule Unsigned granule position (< 2^53).\r\n */\r\n setGranule(granule)\r\n {\r\n this.#granule = granule;\r\n }\r\n\r\n /** Flushes bits into the current WEM binary writer output. */\r\n #flushBits()\r\n {\r\n if (this.#bitsStored === 0) return;\r\n if (this.#payloadBytes === OGG_MAX_PAYLOAD)\r\n {\r\n const error = new Error(\"wem: packet too large for one Ogg page\");\r\n error.code = \"CJS_FORMAT_OUTPUT_NOT_SUPPORTED\";\r\n throw error;\r\n }\r\n this.#payload[this.#payloadBytes++] = this.#bitBuffer;\r\n this.#bitsStored = 0;\r\n this.#bitBuffer = 0;\r\n }\r\n\r\n /**\r\n * Finish the current packet and emit it as one Ogg page.\r\n *\r\n * @param {boolean} [last] Mark this page as end-of-stream.\r\n */\r\n flushPage(last = false)\r\n {\r\n this.#flushBits();\r\n if (this.#payloadBytes === 0) return;\r\n\r\n const payloadBytes = this.#payloadBytes;\r\n let segments = Math.floor((payloadBytes + OGG_SEGMENT_SIZE) / OGG_SEGMENT_SIZE);\r\n if (segments === OGG_MAX_SEGMENTS + 1) segments = OGG_MAX_SEGMENTS;\r\n\r\n const page = new Uint8Array(OGG_HEADER_BYTES + segments + payloadBytes);\r\n page[0] = 0x4f;\r\n page[1] = 0x67;\r\n page[2] = 0x67;\r\n page[3] = 0x53;\r\n page[4] = 0;\r\n page[5] = (this.#continued ? 1 : 0) | (this.#first ? 2 : 0) | (last ? 4 : 0);\r\n writeU32(page, 6, this.#granule % 0x100000000);\r\n writeU32(page, 10, Math.floor(this.#granule / 0x100000000));\r\n writeU32(page, 14, 1);\r\n writeU32(page, 18, this.#sequenceNumber);\r\n writeU32(page, 22, 0);\r\n page[26] = segments;\r\n\r\n let bytesLeft = payloadBytes;\r\n for (let i = 0; i < segments; i++)\r\n {\r\n if (bytesLeft >= OGG_SEGMENT_SIZE)\r\n {\r\n page[27 + i] = OGG_SEGMENT_SIZE;\r\n bytesLeft -= OGG_SEGMENT_SIZE;\r\n }\r\n else\r\n {\r\n page[27 + i] = bytesLeft;\r\n }\r\n }\r\n\r\n page.set(this.#payload.subarray(0, payloadBytes), OGG_HEADER_BYTES + segments);\r\n writeU32(page, 22, oggChecksum(page, page.length));\r\n\r\n this.#pages.push(page);\r\n this.#sequenceNumber++;\r\n this.#first = false;\r\n this.#continued = false;\r\n this.#payloadBytes = 0;\r\n }\r\n\r\n /**\r\n * Concatenate all flushed pages into one buffer.\r\n *\r\n * @returns {Uint8Array} Complete Ogg stream bytes.\r\n */\r\n toBytes()\r\n {\r\n let total = 0;\r\n for (const page of this.#pages) total += page.length;\r\n const bytes = new Uint8Array(total);\r\n let offset = 0;\r\n for (const page of this.#pages)\r\n {\r\n bytes.set(page, offset);\r\n offset += page.length;\r\n }\r\n return bytes;\r\n }\r\n\r\n /**\r\n * Number of pages flushed so far.\r\n *\r\n * @returns {number} Page count.\r\n */\r\n get pageCount()\r\n {\r\n return this.#pages.length;\r\n }\r\n}\r\n\r\nfunction writeU32(bytes, offset, value)\r\n{\r\n bytes[offset] = value & 0xff;\r\n bytes[offset + 1] = (value >>> 8) & 0xff;\r\n bytes[offset + 2] = (value >>> 16) & 0xff;\r\n bytes[offset + 3] = (value >>> 24) & 0xff;\r\n}\r\n\r\n/**\r\n * Smallest number of bits needed to represent `value` (Vorbis ilog).\r\n *\r\n * @param {number} value Unsigned value.\r\n * @returns {number} Bit count; 0 when value is 0.\r\n */\r\nexport function ilog(value)\r\n{\r\n let result = 0;\r\n let v = value >>> 0;\r\n while (v)\r\n {\r\n result++;\r\n v >>>= 1;\r\n }\r\n return result;\r\n}\r\n"],"names":["OGG_HEADER_BYTES","OGG_MAX_SEGMENTS","OGG_SEGMENT_SIZE","OGG_MAX_PAYLOAD","CRC_TABLE","buildCrcTable","table","Uint32Array","i","r","bit","oggChecksum","bytes","length","crc","BitReader","constructor","offset","readBit","error","Error","code","readBits","count","value","totalBitsRead","OggPageWriter","Uint8Array","writeBit","writeBits","setGranule","granule","#flushBits","flushPage","last","payloadBytes","segments","Math","floor","page","writeU32","bytesLeft","set","subarray","push","toBytes","total","pageCount","ilog","result","v"],"mappings":"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"}
1
+ {"version":3,"file":"bitStream.js","sources":["../../../../../../src/resource/formats/wem/core/bitStream.js"],"sourcesContent":["/**\n * Bit-level IO for Wwise Vorbis repacking.\n *\n * Vorbis bitstreams are LSB-first within each byte; both the reader and the\n * Ogg writer here follow that convention. The writer assembles one Ogg page\n * per packet (identification, comment, setup, then one page per audio\n * packet), matching the ww2ogg reference behavior.\n */\n\nimport { CjsBitReader } from \"../../../format/CjsBitReader.js\";\nimport { CjsFormatRangeError } from \"../../../format/CjsFormatError.js\";\n\nconst OGG_HEADER_BYTES = 27;\nconst OGG_MAX_SEGMENTS = 255;\nconst OGG_SEGMENT_SIZE = 255;\nconst OGG_MAX_PAYLOAD = OGG_MAX_SEGMENTS * OGG_SEGMENT_SIZE;\n\nconst CRC_TABLE = buildCrcTable();\n\nfunction buildCrcTable()\n{\n const table = new Uint32Array(256);\n for (let i = 0; i < 256; i++)\n {\n let r = (i << 24) >>> 0;\n for (let bit = 0; bit < 8; bit++)\n {\n r = ((r & 0x80000000) ? ((r << 1) ^ 0x04c11db7) : (r << 1)) >>> 0;\n }\n table[i] = r;\n }\n return table;\n}\n\n/**\n * Compute the Ogg page checksum (forward CRC-32, polynomial 0x04c11db7,\n * zero initial value, no final xor).\n *\n * @param {Uint8Array} bytes Page bytes with the checksum field zeroed.\n * @param {number} length Number of bytes to include.\n * @returns {number} Unsigned 32-bit checksum.\n */\nexport function oggChecksum(bytes, length)\n{\n let crc = 0;\n for (let i = 0; i < length; i++)\n {\n crc = (((crc << 8) >>> 0) ^ CRC_TABLE[((crc >>> 24) ^ bytes[i]) & 0xff]) >>> 0;\n }\n return crc;\n}\n\n/**\n * Error raised when a Wwise Vorbis bitstream runs out mid-read.\n *\n * The `code` is the package-wide truncation code, which `CjsFormatReadError`\n * does not itself carry.\n */\nclass WemBitstreamError extends CjsFormatRangeError\n{\n /** Creates a truncation error with the cursor state that produced it. */\n constructor(message, details = {})\n {\n super(message, details);\n this.name = \"WemBitstreamError\";\n this.code = \"CJS_FORMAT_TRUNCATED\";\n }\n}\n\n/**\n * LSB-first bit reader over a byte range.\n *\n * The bit cursor itself is shared (`CjsBitReader`); Vorbis is LSB-first, which\n * is the shared convention. Only the error identity is Wwise's own: a truncated\n * bitstream here is a truncated FILE, so it throws rather than reporting a\n * recoverable end-of-packet the way the Ogg packet reader does.\n */\nexport class BitReader extends CjsBitReader\n{\n static ReadError = WemBitstreamError;\n\n static endOfDataMessage = \"wem: bitstream out of bits\";\n\n /**\n * Create a reader over `bytes` starting at `offset`.\n *\n * @param {Uint8Array} bytes Source bytes.\n * @param {number} [offset] Starting byte offset.\n */\n constructor(bytes, offset = 0)\n {\n super(bytes, { offset, source: \"wem\" });\n }\n}\n\n/**\n * LSB-first bit writer that assembles Ogg pages, one packet per page.\n */\nexport class OggPageWriter\n{\n #pages = [];\n #payload = new Uint8Array(OGG_MAX_PAYLOAD);\n #payloadBytes = 0;\n #bitBuffer = 0;\n #bitsStored = 0;\n #granule = 0;\n #sequenceNumber = 0;\n #first = true;\n #continued = false;\n\n /**\n * Write a single bit.\n *\n * @param {number|boolean} bit Bit value.\n */\n writeBit(bit)\n {\n if (bit) this.#bitBuffer |= (1 << this.#bitsStored);\n this.#bitsStored++;\n if (this.#bitsStored === 8) this.#flushBits();\n }\n\n /**\n * Write `count` bits of `value` (LSB-first).\n *\n * @param {number} value Unsigned value.\n * @param {number} count Bit count (0..32).\n */\n writeBits(value, count)\n {\n for (let i = 0; i < count; i++)\n {\n this.writeBit((value >>> i) & 1);\n }\n }\n\n /**\n * Set the granule position recorded on the next flushed page.\n *\n * @param {number} granule Unsigned granule position (< 2^53).\n */\n setGranule(granule)\n {\n this.#granule = granule;\n }\n\n /** Flushes bits into the current WEM binary writer output. */\n #flushBits()\n {\n if (this.#bitsStored === 0) return;\n if (this.#payloadBytes === OGG_MAX_PAYLOAD)\n {\n const error = new Error(\"wem: packet too large for one Ogg page\");\n error.code = \"CJS_FORMAT_OUTPUT_NOT_SUPPORTED\";\n throw error;\n }\n this.#payload[this.#payloadBytes++] = this.#bitBuffer;\n this.#bitsStored = 0;\n this.#bitBuffer = 0;\n }\n\n /**\n * Finish the current packet and emit it as one Ogg page.\n *\n * @param {boolean} [last] Mark this page as end-of-stream.\n */\n flushPage(last = false)\n {\n this.#flushBits();\n if (this.#payloadBytes === 0) return;\n\n const payloadBytes = this.#payloadBytes;\n let segments = Math.floor((payloadBytes + OGG_SEGMENT_SIZE) / OGG_SEGMENT_SIZE);\n if (segments === OGG_MAX_SEGMENTS + 1) segments = OGG_MAX_SEGMENTS;\n\n const page = new Uint8Array(OGG_HEADER_BYTES + segments + payloadBytes);\n page[0] = 0x4f;\n page[1] = 0x67;\n page[2] = 0x67;\n page[3] = 0x53;\n page[4] = 0;\n page[5] = (this.#continued ? 1 : 0) | (this.#first ? 2 : 0) | (last ? 4 : 0);\n writeU32(page, 6, this.#granule % 0x100000000);\n writeU32(page, 10, Math.floor(this.#granule / 0x100000000));\n writeU32(page, 14, 1);\n writeU32(page, 18, this.#sequenceNumber);\n writeU32(page, 22, 0);\n page[26] = segments;\n\n let bytesLeft = payloadBytes;\n for (let i = 0; i < segments; i++)\n {\n if (bytesLeft >= OGG_SEGMENT_SIZE)\n {\n page[27 + i] = OGG_SEGMENT_SIZE;\n bytesLeft -= OGG_SEGMENT_SIZE;\n }\n else\n {\n page[27 + i] = bytesLeft;\n }\n }\n\n page.set(this.#payload.subarray(0, payloadBytes), OGG_HEADER_BYTES + segments);\n writeU32(page, 22, oggChecksum(page, page.length));\n\n this.#pages.push(page);\n this.#sequenceNumber++;\n this.#first = false;\n this.#continued = false;\n this.#payloadBytes = 0;\n }\n\n /**\n * Concatenate all flushed pages into one buffer.\n *\n * @returns {Uint8Array} Complete Ogg stream bytes.\n */\n toBytes()\n {\n let total = 0;\n for (const page of this.#pages) total += page.length;\n const bytes = new Uint8Array(total);\n let offset = 0;\n for (const page of this.#pages)\n {\n bytes.set(page, offset);\n offset += page.length;\n }\n return bytes;\n }\n\n /**\n * Number of pages flushed so far.\n *\n * @returns {number} Page count.\n */\n get pageCount()\n {\n return this.#pages.length;\n }\n}\n\nfunction writeU32(bytes, offset, value)\n{\n bytes[offset] = value & 0xff;\n bytes[offset + 1] = (value >>> 8) & 0xff;\n bytes[offset + 2] = (value >>> 16) & 0xff;\n bytes[offset + 3] = (value >>> 24) & 0xff;\n}\n\n/**\n * Smallest number of bits needed to represent `value` (Vorbis ilog).\n *\n * @param {number} value Unsigned value.\n * @returns {number} Bit count; 0 when value is 0.\n */\nexport function ilog(value)\n{\n let result = 0;\n let v = value >>> 0;\n while (v)\n {\n result++;\n v >>>= 1;\n }\n return result;\n}\n"],"names":["OGG_HEADER_BYTES","OGG_MAX_SEGMENTS","OGG_SEGMENT_SIZE","OGG_MAX_PAYLOAD","CRC_TABLE","buildCrcTable","table","Uint32Array","i","r","bit","oggChecksum","bytes","length","crc","WemBitstreamError","CjsFormatRangeError","constructor","message","details","name","code","BitReader","CjsBitReader","ReadError","endOfDataMessage","offset","source","OggPageWriter","Uint8Array","writeBit","writeBits","value","count","setGranule","granule","#flushBits","error","Error","flushPage","last","payloadBytes","segments","Math","floor","page","writeU32","bytesLeft","set","subarray","push","toBytes","total","pageCount","ilog","result","v"],"mappings":"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"}
@@ -1,13 +1,13 @@
1
1
  import { BitReader, ilog } from './bitStream.js';
2
2
 
3
- /**
4
- * Packed Vorbis codebook library handling for Wwise Vorbis repacking.
5
- *
6
- * Wwise strips the standard Vorbis codebooks from the setup header and
7
- * references entries in a shared packed library by 10-bit id. Rebuilding
8
- * expands each packed codebook back into the standard Vorbis codebook
9
- * encoding. Behavior mirrors the ww2ogg reference (BSD-licensed, Xiph.org
10
- * Foundation / Adam Gashlin); this is an original reimplementation.
3
+ /**
4
+ * Packed Vorbis codebook library handling for Wwise Vorbis repacking.
5
+ *
6
+ * Wwise strips the standard Vorbis codebooks from the setup header and
7
+ * references entries in a shared packed library by 10-bit id. Rebuilding
8
+ * expands each packed codebook back into the standard Vorbis codebook
9
+ * encoding. Behavior mirrors the ww2ogg reference (BSD-licensed, Xiph.org
10
+ * Foundation / Adam Gashlin); this is an original reimplementation.
11
11
  */
12
12
 
13
13
  function parseError(message) {
@@ -16,15 +16,15 @@ function parseError(message) {
16
16
  return error;
17
17
  }
18
18
 
19
- /**
20
- * Parse a packed codebook library blob.
21
- *
22
- * Layout: codebook data, then a table of u32-le offsets; the last u32 in the
23
- * file points at the start of the offset table. Codebook `i` spans
24
- * offsets[i]..offsets[i+1].
25
- *
26
- * @param {Uint8Array} bytes Packed codebook library bytes.
27
- * @returns {object} Parsed library with `count` usable codebooks.
19
+ /**
20
+ * Parse a packed codebook library blob.
21
+ *
22
+ * Layout: codebook data, then a table of u32-le offsets; the last u32 in the
23
+ * file points at the start of the offset table. Codebook `i` spans
24
+ * offsets[i]..offsets[i+1].
25
+ *
26
+ * @param {Uint8Array} bytes Packed codebook library bytes.
27
+ * @returns {object} Parsed library with `count` usable codebooks.
28
28
  */
29
29
  function parseCodebookLibrary(bytes) {
30
30
  if (bytes.length < 4) throw parseError("packed codebook library is truncated");
@@ -46,12 +46,12 @@ function parseCodebookLibrary(bytes) {
46
46
  };
47
47
  }
48
48
 
49
- /**
50
- * Rebuild one packed codebook, referenced by library id, into `writer`.
51
- *
52
- * @param {object} library `parseCodebookLibrary` output.
53
- * @param {number} id Codebook id from the setup header.
54
- * @param {object} writer OggPageWriter positioned inside the setup packet.
49
+ /**
50
+ * Rebuild one packed codebook, referenced by library id, into `writer`.
51
+ *
52
+ * @param {object} library `parseCodebookLibrary` output.
53
+ * @param {number} id Codebook id from the setup header.
54
+ * @param {object} writer OggPageWriter positioned inside the setup packet.
55
55
  */
56
56
  function rebuildCodebookById(library, id, writer) {
57
57
  if (id < 0 || id >= library.count) {
@@ -63,36 +63,36 @@ function rebuildCodebookById(library, id, writer) {
63
63
  rebuildCodebook(reader, size, writer);
64
64
  }
65
65
 
66
- /**
67
- * Rebuild one packed codebook from `reader` into the standard Vorbis
68
- * codebook encoding on `writer`.
69
- *
70
- * @param {object} reader BitReader at the start of the packed codebook.
71
- * @param {number} size Packed codebook size in bytes (0 skips the size check).
72
- * @param {object} writer OggPageWriter positioned inside the setup packet.
66
+ /**
67
+ * Rebuild one packed codebook from `reader` into the standard Vorbis
68
+ * codebook encoding on `writer`.
69
+ *
70
+ * @param {object} reader BitReader at the start of the packed codebook.
71
+ * @param {number} size Packed codebook size in bytes (0 skips the size check).
72
+ * @param {object} writer OggPageWriter positioned inside the setup packet.
73
73
  */
74
74
  function rebuildCodebook(reader, size, writer) {
75
- const dimensions = reader.readBits(4);
76
- const entries = reader.readBits(14);
75
+ const dimensions = reader.ReadBits(4);
76
+ const entries = reader.ReadBits(14);
77
77
  writer.writeBits(0x564342, 24);
78
78
  writer.writeBits(dimensions, 16);
79
79
  writer.writeBits(entries, 24);
80
- const ordered = reader.readBits(1);
80
+ const ordered = reader.ReadBits(1);
81
81
  writer.writeBits(ordered, 1);
82
82
  if (ordered) {
83
- const initialLength = reader.readBits(5);
83
+ const initialLength = reader.ReadBits(5);
84
84
  writer.writeBits(initialLength, 5);
85
85
  let currentEntry = 0;
86
86
  while (currentEntry < entries) {
87
87
  const bits = ilog(entries - currentEntry);
88
- const number = reader.readBits(bits);
88
+ const number = reader.ReadBits(bits);
89
89
  writer.writeBits(number, bits);
90
90
  currentEntry += number;
91
91
  }
92
92
  if (currentEntry > entries) throw parseError("codebook current entry out of range");
93
93
  } else {
94
- const codewordLengthLength = reader.readBits(3);
95
- const sparse = reader.readBits(1);
94
+ const codewordLengthLength = reader.ReadBits(3);
95
+ const sparse = reader.ReadBits(1);
96
96
  if (codewordLengthLength === 0 || codewordLengthLength > 5) {
97
97
  throw parseError("nonsense codeword length");
98
98
  }
@@ -100,30 +100,30 @@ function rebuildCodebook(reader, size, writer) {
100
100
  for (let i = 0; i < entries; i++) {
101
101
  let present = true;
102
102
  if (sparse) {
103
- const presentBit = reader.readBits(1);
103
+ const presentBit = reader.ReadBits(1);
104
104
  writer.writeBits(presentBit, 1);
105
105
  present = presentBit !== 0;
106
106
  }
107
107
  if (present) {
108
- const codewordLength = reader.readBits(codewordLengthLength);
108
+ const codewordLength = reader.ReadBits(codewordLengthLength);
109
109
  writer.writeBits(codewordLength, 5);
110
110
  }
111
111
  }
112
112
  }
113
- const lookupType = reader.readBits(1);
113
+ const lookupType = reader.ReadBits(1);
114
114
  writer.writeBits(lookupType, 4);
115
115
  if (lookupType === 1) {
116
- const min = reader.readBits(32);
117
- const max = reader.readBits(32);
118
- const valueLength = reader.readBits(4);
119
- const sequenceFlag = reader.readBits(1);
116
+ const min = reader.ReadBits(32);
117
+ const max = reader.ReadBits(32);
118
+ const valueLength = reader.ReadBits(4);
119
+ const sequenceFlag = reader.ReadBits(1);
120
120
  writer.writeBits(min, 32);
121
121
  writer.writeBits(max, 32);
122
122
  writer.writeBits(valueLength, 4);
123
123
  writer.writeBits(sequenceFlag, 1);
124
124
  const quantvals = bookMaptype1Quantvals(entries, dimensions);
125
125
  for (let i = 0; i < quantvals; i++) {
126
- writer.writeBits(reader.readBits(valueLength + 1), valueLength + 1);
126
+ writer.writeBits(reader.ReadBits(valueLength + 1), valueLength + 1);
127
127
  }
128
128
  } else if (lookupType !== 0) {
129
129
  throw parseError(`unexpected codebook lookup type ${lookupType}`);
@@ -133,13 +133,13 @@ function rebuildCodebook(reader, size, writer) {
133
133
  }
134
134
  }
135
135
 
136
- /**
137
- * Number of quantized values for a maptype-1 codebook lookup table
138
- * (Vorbis/Tremor `_book_maptype1_quantvals`).
139
- *
140
- * @param {number} entries Codebook entry count.
141
- * @param {number} dimensions Codebook dimensions.
142
- * @returns {number} Quantized value count.
136
+ /**
137
+ * Number of quantized values for a maptype-1 codebook lookup table
138
+ * (Vorbis/Tremor `_book_maptype1_quantvals`).
139
+ *
140
+ * @param {number} entries Codebook entry count.
141
+ * @param {number} dimensions Codebook dimensions.
142
+ * @returns {number} Quantized value count.
143
143
  */
144
144
  function bookMaptype1Quantvals(entries, dimensions) {
145
145
  if (dimensions === 0) return 0;
@@ -1 +1 @@
1
- {"version":3,"file":"codebookLibrary.js","sources":["../../../../../../src/resource/formats/wem/core/codebookLibrary.js"],"sourcesContent":["import { BitReader, ilog } from \"./bitStream.js\";\r\n\r\n/**\r\n * Packed Vorbis codebook library handling for Wwise Vorbis repacking.\r\n *\r\n * Wwise strips the standard Vorbis codebooks from the setup header and\r\n * references entries in a shared packed library by 10-bit id. Rebuilding\r\n * expands each packed codebook back into the standard Vorbis codebook\r\n * encoding. Behavior mirrors the ww2ogg reference (BSD-licensed, Xiph.org\r\n * Foundation / Adam Gashlin); this is an original reimplementation.\r\n */\r\n\r\nfunction parseError(message)\r\n{\r\n const error = new Error(`wem: ${message}`);\r\n error.code = \"CJS_FORMAT_PARSE_ERROR\";\r\n return error;\r\n}\r\n\r\n/**\r\n * Parse a packed codebook library blob.\r\n *\r\n * Layout: codebook data, then a table of u32-le offsets; the last u32 in the\r\n * file points at the start of the offset table. Codebook `i` spans\r\n * offsets[i]..offsets[i+1].\r\n *\r\n * @param {Uint8Array} bytes Packed codebook library bytes.\r\n * @returns {object} Parsed library with `count` usable codebooks.\r\n */\r\nexport function parseCodebookLibrary(bytes)\r\n{\r\n if (bytes.length < 4) throw parseError(\"packed codebook library is truncated\");\r\n const offsetTableStart = readU32(bytes, bytes.length - 4);\r\n if (offsetTableStart > bytes.length - 4 || (bytes.length - offsetTableStart) % 4 !== 0)\r\n {\r\n throw parseError(\"packed codebook library has an invalid offset table\");\r\n }\r\n const offsetCount = (bytes.length - offsetTableStart) / 4;\r\n const offsets = new Uint32Array(offsetCount);\r\n for (let i = 0; i < offsetCount; i++)\r\n {\r\n offsets[i] = readU32(bytes, offsetTableStart + i * 4);\r\n if (offsets[i] > offsetTableStart) throw parseError(\"packed codebook offset out of range\");\r\n if (i > 0 && offsets[i] < offsets[i - 1]) throw parseError(\"packed codebook offsets not ascending\");\r\n }\r\n return {\r\n bytes,\r\n offsets,\r\n count: offsetCount - 1\r\n };\r\n}\r\n\r\n/**\r\n * Rebuild one packed codebook, referenced by library id, into `writer`.\r\n *\r\n * @param {object} library `parseCodebookLibrary` output.\r\n * @param {number} id Codebook id from the setup header.\r\n * @param {object} writer OggPageWriter positioned inside the setup packet.\r\n */\r\nexport function rebuildCodebookById(library, id, writer)\r\n{\r\n if (id < 0 || id >= library.count)\r\n {\r\n throw parseError(`invalid codebook id ${id} for library of ${library.count}`);\r\n }\r\n const start = library.offsets[id];\r\n const size = library.offsets[id + 1] - start;\r\n const reader = new BitReader(library.bytes.subarray(start, start + size));\r\n rebuildCodebook(reader, size, writer);\r\n}\r\n\r\n/**\r\n * Rebuild one packed codebook from `reader` into the standard Vorbis\r\n * codebook encoding on `writer`.\r\n *\r\n * @param {object} reader BitReader at the start of the packed codebook.\r\n * @param {number} size Packed codebook size in bytes (0 skips the size check).\r\n * @param {object} writer OggPageWriter positioned inside the setup packet.\r\n */\r\nexport function rebuildCodebook(reader, size, writer)\r\n{\r\n const dimensions = reader.readBits(4);\r\n const entries = reader.readBits(14);\r\n\r\n writer.writeBits(0x564342, 24);\r\n writer.writeBits(dimensions, 16);\r\n writer.writeBits(entries, 24);\r\n\r\n const ordered = reader.readBits(1);\r\n writer.writeBits(ordered, 1);\r\n if (ordered)\r\n {\r\n const initialLength = reader.readBits(5);\r\n writer.writeBits(initialLength, 5);\r\n\r\n let currentEntry = 0;\r\n while (currentEntry < entries)\r\n {\r\n const bits = ilog(entries - currentEntry);\r\n const number = reader.readBits(bits);\r\n writer.writeBits(number, bits);\r\n currentEntry += number;\r\n }\r\n if (currentEntry > entries) throw parseError(\"codebook current entry out of range\");\r\n }\r\n else\r\n {\r\n const codewordLengthLength = reader.readBits(3);\r\n const sparse = reader.readBits(1);\r\n if (codewordLengthLength === 0 || codewordLengthLength > 5)\r\n {\r\n throw parseError(\"nonsense codeword length\");\r\n }\r\n writer.writeBits(sparse, 1);\r\n\r\n for (let i = 0; i < entries; i++)\r\n {\r\n let present = true;\r\n if (sparse)\r\n {\r\n const presentBit = reader.readBits(1);\r\n writer.writeBits(presentBit, 1);\r\n present = presentBit !== 0;\r\n }\r\n if (present)\r\n {\r\n const codewordLength = reader.readBits(codewordLengthLength);\r\n writer.writeBits(codewordLength, 5);\r\n }\r\n }\r\n }\r\n\r\n const lookupType = reader.readBits(1);\r\n writer.writeBits(lookupType, 4);\r\n if (lookupType === 1)\r\n {\r\n const min = reader.readBits(32);\r\n const max = reader.readBits(32);\r\n const valueLength = reader.readBits(4);\r\n const sequenceFlag = reader.readBits(1);\r\n writer.writeBits(min, 32);\r\n writer.writeBits(max, 32);\r\n writer.writeBits(valueLength, 4);\r\n writer.writeBits(sequenceFlag, 1);\r\n\r\n const quantvals = bookMaptype1Quantvals(entries, dimensions);\r\n for (let i = 0; i < quantvals; i++)\r\n {\r\n writer.writeBits(reader.readBits(valueLength + 1), valueLength + 1);\r\n }\r\n }\r\n else if (lookupType !== 0)\r\n {\r\n throw parseError(`unexpected codebook lookup type ${lookupType}`);\r\n }\r\n\r\n if (size !== 0 && Math.floor(reader.totalBitsRead / 8) + 1 !== size)\r\n {\r\n throw parseError(`codebook size mismatch (expected ${size}, used ${Math.floor(reader.totalBitsRead / 8) + 1})`);\r\n }\r\n}\r\n\r\n/**\r\n * Number of quantized values for a maptype-1 codebook lookup table\r\n * (Vorbis/Tremor `_book_maptype1_quantvals`).\r\n *\r\n * @param {number} entries Codebook entry count.\r\n * @param {number} dimensions Codebook dimensions.\r\n * @returns {number} Quantized value count.\r\n */\r\nexport function bookMaptype1Quantvals(entries, dimensions)\r\n{\r\n if (dimensions === 0) return 0;\r\n const bits = ilog(entries);\r\n let vals = entries >>> Math.floor(((bits - 1) * (dimensions - 1)) / dimensions);\r\n\r\n for (;;)\r\n {\r\n let acc = 1;\r\n let acc1 = 1;\r\n for (let i = 0; i < dimensions; i++)\r\n {\r\n acc *= vals;\r\n acc1 *= vals + 1;\r\n }\r\n if (acc <= entries && acc1 > entries) return vals;\r\n if (acc > entries) vals--;\r\n else vals++;\r\n }\r\n}\r\n\r\nfunction readU32(bytes, offset)\r\n{\r\n return (bytes[offset] | (bytes[offset + 1] << 8) | (bytes[offset + 2] << 16) | (bytes[offset + 3] * 0x1000000)) >>> 0;\r\n}\r\n"],"names":["parseError","message","error","Error","code","parseCodebookLibrary","bytes","length","offsetTableStart","readU32","offsetCount","offsets","Uint32Array","i","count","rebuildCodebookById","library","id","writer","start","size","reader","BitReader","subarray","rebuildCodebook","dimensions","readBits","entries","writeBits","ordered","initialLength","currentEntry","bits","ilog","number","codewordLengthLength","sparse","present","presentBit","codewordLength","lookupType","min","max","valueLength","sequenceFlag","quantvals","bookMaptype1Quantvals","Math","floor","totalBitsRead","vals","acc","acc1","offset"],"mappings":"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"}
1
+ {"version":3,"file":"codebookLibrary.js","sources":["../../../../../../src/resource/formats/wem/core/codebookLibrary.js"],"sourcesContent":["import { BitReader, ilog } from \"./bitStream.js\";\n\n/**\n * Packed Vorbis codebook library handling for Wwise Vorbis repacking.\n *\n * Wwise strips the standard Vorbis codebooks from the setup header and\n * references entries in a shared packed library by 10-bit id. Rebuilding\n * expands each packed codebook back into the standard Vorbis codebook\n * encoding. Behavior mirrors the ww2ogg reference (BSD-licensed, Xiph.org\n * Foundation / Adam Gashlin); this is an original reimplementation.\n */\n\nfunction parseError(message)\n{\n const error = new Error(`wem: ${message}`);\n error.code = \"CJS_FORMAT_PARSE_ERROR\";\n return error;\n}\n\n/**\n * Parse a packed codebook library blob.\n *\n * Layout: codebook data, then a table of u32-le offsets; the last u32 in the\n * file points at the start of the offset table. Codebook `i` spans\n * offsets[i]..offsets[i+1].\n *\n * @param {Uint8Array} bytes Packed codebook library bytes.\n * @returns {object} Parsed library with `count` usable codebooks.\n */\nexport function parseCodebookLibrary(bytes)\n{\n if (bytes.length < 4) throw parseError(\"packed codebook library is truncated\");\n const offsetTableStart = readU32(bytes, bytes.length - 4);\n if (offsetTableStart > bytes.length - 4 || (bytes.length - offsetTableStart) % 4 !== 0)\n {\n throw parseError(\"packed codebook library has an invalid offset table\");\n }\n const offsetCount = (bytes.length - offsetTableStart) / 4;\n const offsets = new Uint32Array(offsetCount);\n for (let i = 0; i < offsetCount; i++)\n {\n offsets[i] = readU32(bytes, offsetTableStart + i * 4);\n if (offsets[i] > offsetTableStart) throw parseError(\"packed codebook offset out of range\");\n if (i > 0 && offsets[i] < offsets[i - 1]) throw parseError(\"packed codebook offsets not ascending\");\n }\n return {\n bytes,\n offsets,\n count: offsetCount - 1\n };\n}\n\n/**\n * Rebuild one packed codebook, referenced by library id, into `writer`.\n *\n * @param {object} library `parseCodebookLibrary` output.\n * @param {number} id Codebook id from the setup header.\n * @param {object} writer OggPageWriter positioned inside the setup packet.\n */\nexport function rebuildCodebookById(library, id, writer)\n{\n if (id < 0 || id >= library.count)\n {\n throw parseError(`invalid codebook id ${id} for library of ${library.count}`);\n }\n const start = library.offsets[id];\n const size = library.offsets[id + 1] - start;\n const reader = new BitReader(library.bytes.subarray(start, start + size));\n rebuildCodebook(reader, size, writer);\n}\n\n/**\n * Rebuild one packed codebook from `reader` into the standard Vorbis\n * codebook encoding on `writer`.\n *\n * @param {object} reader BitReader at the start of the packed codebook.\n * @param {number} size Packed codebook size in bytes (0 skips the size check).\n * @param {object} writer OggPageWriter positioned inside the setup packet.\n */\nexport function rebuildCodebook(reader, size, writer)\n{\n const dimensions = reader.ReadBits(4);\n const entries = reader.ReadBits(14);\n\n writer.writeBits(0x564342, 24);\n writer.writeBits(dimensions, 16);\n writer.writeBits(entries, 24);\n\n const ordered = reader.ReadBits(1);\n writer.writeBits(ordered, 1);\n if (ordered)\n {\n const initialLength = reader.ReadBits(5);\n writer.writeBits(initialLength, 5);\n\n let currentEntry = 0;\n while (currentEntry < entries)\n {\n const bits = ilog(entries - currentEntry);\n const number = reader.ReadBits(bits);\n writer.writeBits(number, bits);\n currentEntry += number;\n }\n if (currentEntry > entries) throw parseError(\"codebook current entry out of range\");\n }\n else\n {\n const codewordLengthLength = reader.ReadBits(3);\n const sparse = reader.ReadBits(1);\n if (codewordLengthLength === 0 || codewordLengthLength > 5)\n {\n throw parseError(\"nonsense codeword length\");\n }\n writer.writeBits(sparse, 1);\n\n for (let i = 0; i < entries; i++)\n {\n let present = true;\n if (sparse)\n {\n const presentBit = reader.ReadBits(1);\n writer.writeBits(presentBit, 1);\n present = presentBit !== 0;\n }\n if (present)\n {\n const codewordLength = reader.ReadBits(codewordLengthLength);\n writer.writeBits(codewordLength, 5);\n }\n }\n }\n\n const lookupType = reader.ReadBits(1);\n writer.writeBits(lookupType, 4);\n if (lookupType === 1)\n {\n const min = reader.ReadBits(32);\n const max = reader.ReadBits(32);\n const valueLength = reader.ReadBits(4);\n const sequenceFlag = reader.ReadBits(1);\n writer.writeBits(min, 32);\n writer.writeBits(max, 32);\n writer.writeBits(valueLength, 4);\n writer.writeBits(sequenceFlag, 1);\n\n const quantvals = bookMaptype1Quantvals(entries, dimensions);\n for (let i = 0; i < quantvals; i++)\n {\n writer.writeBits(reader.ReadBits(valueLength + 1), valueLength + 1);\n }\n }\n else if (lookupType !== 0)\n {\n throw parseError(`unexpected codebook lookup type ${lookupType}`);\n }\n\n if (size !== 0 && Math.floor(reader.totalBitsRead / 8) + 1 !== size)\n {\n throw parseError(`codebook size mismatch (expected ${size}, used ${Math.floor(reader.totalBitsRead / 8) + 1})`);\n }\n}\n\n/**\n * Number of quantized values for a maptype-1 codebook lookup table\n * (Vorbis/Tremor `_book_maptype1_quantvals`).\n *\n * @param {number} entries Codebook entry count.\n * @param {number} dimensions Codebook dimensions.\n * @returns {number} Quantized value count.\n */\nexport function bookMaptype1Quantvals(entries, dimensions)\n{\n if (dimensions === 0) return 0;\n const bits = ilog(entries);\n let vals = entries >>> Math.floor(((bits - 1) * (dimensions - 1)) / dimensions);\n\n for (;;)\n {\n let acc = 1;\n let acc1 = 1;\n for (let i = 0; i < dimensions; i++)\n {\n acc *= vals;\n acc1 *= vals + 1;\n }\n if (acc <= entries && acc1 > entries) return vals;\n if (acc > entries) vals--;\n else vals++;\n }\n}\n\nfunction readU32(bytes, offset)\n{\n return (bytes[offset] | (bytes[offset + 1] << 8) | (bytes[offset + 2] << 16) | (bytes[offset + 3] * 0x1000000)) >>> 0;\n}\n"],"names":["parseError","message","error","Error","code","parseCodebookLibrary","bytes","length","offsetTableStart","readU32","offsetCount","offsets","Uint32Array","i","count","rebuildCodebookById","library","id","writer","start","size","reader","BitReader","subarray","rebuildCodebook","dimensions","ReadBits","entries","writeBits","ordered","initialLength","currentEntry","bits","ilog","number","codewordLengthLength","sparse","present","presentBit","codewordLength","lookupType","min","max","valueLength","sequenceFlag","quantvals","bookMaptype1Quantvals","Math","floor","totalBitsRead","vals","acc","acc1","offset"],"mappings":"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"}
@@ -288,20 +288,6 @@ function readWithValues(input, values = DEFAULT_VALUES) {
288
288
  error.emit = values.emit;
289
289
  throw error;
290
290
  }
291
-
292
- /** Converts a parsed payload into a JSON-safe value for the WEM format reader. */
293
- function toJsonValue(value) {
294
- if (value instanceof Uint8Array) return {
295
- byteLength: value.byteLength
296
- };
297
- if (Array.isArray(value)) return value.map(toJsonValue);
298
- if (value && typeof value === "object") {
299
- const output = {};
300
- for (const [key, entry] of Object.entries(value)) output[key] = toJsonValue(entry);
301
- return output;
302
- }
303
- return value;
304
- }
305
291
  function readU16(bytes, offset, littleEndian) {
306
292
  return littleEndian ? bytes[offset] | bytes[offset + 1] << 8 : bytes[offset] << 8 | bytes[offset + 1];
307
293
  }
@@ -309,5 +295,5 @@ function readU32(bytes, offset, littleEndian) {
309
295
  return littleEndian ? (bytes[offset] | bytes[offset + 1] << 8 | bytes[offset + 2] << 16 | bytes[offset + 3] * 0x1000000) >>> 0 : bytes[offset] * 0x1000000 + (bytes[offset + 1] << 16) + (bytes[offset + 2] << 8) + bytes[offset + 3] >>> 0;
310
296
  }
311
297
 
312
- export { DEFAULT_VALUES, OUTPUT_JSON, OUTPUT_OGG, OUTPUT_PCM, OUTPUT_RAW, OUTPUT_WEM_JSON, WEM_CODEC_NAMES, inspectWEM, inspectWithValues, isWEM, normalizeEmit, normalizeValues, readWithValues, toJsonValue };
298
+ export { DEFAULT_VALUES, OUTPUT_JSON, OUTPUT_OGG, OUTPUT_PCM, OUTPUT_RAW, OUTPUT_WEM_JSON, WEM_CODEC_NAMES, inspectWEM, inspectWithValues, isWEM, normalizeEmit, normalizeValues, readWithValues };
313
299
  //# sourceMappingURL=helpers.js.map