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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (929) hide show
  1. package/README.md +58 -125
  2. package/dist/audio/index.js +8 -1
  3. package/dist/audio/index.js.map +1 -1
  4. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js +84 -0
  5. package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js.map +1 -0
  6. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js +14 -0
  7. package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js.map +1 -0
  8. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js +26 -0
  9. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js.map +1 -0
  10. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js +27 -0
  11. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js.map +1 -0
  12. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js +27 -0
  13. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js.map +1 -0
  14. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js +25 -0
  15. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js.map +1 -0
  16. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js +26 -0
  17. package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js.map +1 -0
  18. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js +58 -0
  19. package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js.map +1 -0
  20. package/dist/audio/trinity/audio/AudManager.js +1 -1
  21. package/dist/audio/trinity/audio/AudManager.js.map +1 -1
  22. package/dist/audio/trinity/audio/{AudObstructionOcclusion.js → AudObstructionOcclusion/AudObstructionOcclusion.js} +8 -52
  23. package/dist/audio/trinity/audio/AudObstructionOcclusion/AudObstructionOcclusion.js.map +1 -0
  24. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js +17 -0
  25. package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js.map +1 -0
  26. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js +46 -0
  27. package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js.map +1 -0
  28. package/dist/audio/trinity/index.js +8 -1
  29. package/dist/audio/trinity/index.js.map +1 -1
  30. package/dist/character/CjsCharacterAppearanceConstruction.js +5 -0
  31. package/dist/character/CjsCharacterAppearanceConstruction.js.map +1 -1
  32. package/dist/character/CjsCharacterAppearanceManager.js +14 -0
  33. package/dist/character/CjsCharacterAppearanceManager.js.map +1 -1
  34. package/dist/character/CjsCharacterFoundationConstruction.js +5 -0
  35. package/dist/character/CjsCharacterFoundationConstruction.js.map +1 -1
  36. package/dist/character/CjsCharacterTexturePolicy.js +5 -0
  37. package/dist/character/CjsCharacterTexturePolicy.js.map +1 -1
  38. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js +17 -0
  39. package/dist/character/gles/CjsCharacterGlesAppearanceAL.js.map +1 -1
  40. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js +2 -0
  41. package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js.map +1 -1
  42. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js +5 -0
  43. package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js.map +1 -1
  44. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js +5 -0
  45. package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js.map +1 -1
  46. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js +2 -0
  47. package/dist/character/gles/CjsCharacterGlesMorphDeformation.js.map +1 -1
  48. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js +5 -0
  49. package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js.map +1 -1
  50. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js +5 -0
  51. package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js.map +1 -1
  52. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js +9 -0
  53. package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js.map +1 -1
  54. package/dist/global/blue/CjsScriptCallback.js +142 -0
  55. package/dist/global/blue/CjsScriptCallback.js.map +1 -0
  56. package/dist/global/blue/index.js +2 -0
  57. package/dist/global/blue/index.js.map +1 -0
  58. package/dist/global/consts/renderContext/formats.js +51 -1
  59. package/dist/global/consts/renderContext/formats.js.map +1 -1
  60. package/dist/global/consts/renderContext/index.js +2 -2
  61. package/dist/global/consts/renderContext/renderStates.js +16 -1
  62. package/dist/global/consts/renderContext/renderStates.js.map +1 -1
  63. package/dist/global/contracts/index.js +0 -1
  64. package/dist/global/contracts/index.js.map +1 -1
  65. package/dist/global/index.js +4 -3
  66. package/dist/global/index.js.map +1 -1
  67. package/dist/global/math/index.js +2 -0
  68. package/dist/global/math/index.js.map +1 -1
  69. package/dist/global/math/mesh.js +70 -16
  70. package/dist/global/math/mesh.js.map +1 -1
  71. package/dist/global/math/noise.js +47 -68
  72. package/dist/global/math/noise.js.map +1 -1
  73. package/dist/global/math/pool.js +18 -3
  74. package/dist/global/math/pool.js.map +1 -1
  75. package/dist/global/math/random.js +52 -0
  76. package/dist/global/math/random.js.map +1 -0
  77. package/dist/global/math/tri3.js +18 -4
  78. package/dist/global/math/tri3.js.map +1 -1
  79. package/dist/global/utils/bytes.js +22 -4
  80. package/dist/global/utils/bytes.js.map +1 -1
  81. package/dist/global/utils/checksum.js +80 -0
  82. package/dist/global/utils/checksum.js.map +1 -0
  83. package/dist/global/utils/errors/CjsCancellationError.js +36 -0
  84. package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
  85. package/dist/global/utils/errors/CjsError.js +21 -52
  86. package/dist/global/utils/errors/CjsError.js.map +1 -1
  87. package/dist/global/utils/errors/abort.js +1 -1
  88. package/dist/global/utils/errors/abort.js.map +1 -1
  89. package/dist/global/utils/errors/index.js +2 -1
  90. package/dist/global/utils/errors/index.js.map +1 -1
  91. package/dist/global/utils/index.js +4 -2
  92. package/dist/global/utils/index.js.map +1 -1
  93. package/dist/index.js +95 -35
  94. package/dist/index.js.map +1 -1
  95. package/dist/input/Tr2MainWindow.js +7 -9
  96. package/dist/input/Tr2MainWindow.js.map +1 -1
  97. package/dist/resource/CjsResMan.js +33 -39
  98. package/dist/resource/CjsResMan.js.map +1 -1
  99. package/dist/resource/CjsResource.js +19 -5
  100. package/dist/resource/CjsResource.js.map +1 -1
  101. package/dist/resource/audio/AudioGeometryResData.js +22 -27
  102. package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
  103. package/dist/resource/audio/CjsAudioRes.js +4 -5
  104. package/dist/resource/audio/CjsAudioRes.js.map +1 -1
  105. package/dist/resource/format/CjsBitReader.js +263 -0
  106. package/dist/resource/format/CjsBitReader.js.map +1 -0
  107. package/dist/resource/format/CjsByteReader.js +130 -125
  108. package/dist/resource/format/CjsByteReader.js.map +1 -1
  109. package/dist/resource/format/CjsFormat.js +11 -4
  110. package/dist/resource/format/CjsFormat.js.map +1 -1
  111. package/dist/resource/format/CjsFormatError.js +37 -1
  112. package/dist/resource/format/CjsFormatError.js.map +1 -1
  113. package/dist/resource/format/CjsResourceProbe.js +41 -37
  114. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  115. package/dist/resource/format/carbonRecordGuard.js +33 -0
  116. package/dist/resource/format/carbonRecordGuard.js.map +1 -0
  117. package/dist/resource/format/imageSignatures.js +202 -0
  118. package/dist/resource/format/imageSignatures.js.map +1 -0
  119. package/dist/resource/format/index.js +2 -1
  120. package/dist/resource/format/index.js.map +1 -1
  121. package/dist/resource/format/jsonPolicies.js +180 -0
  122. package/dist/resource/format/jsonPolicies.js.map +1 -0
  123. package/dist/resource/formats/black/core/helpers.js +18 -29
  124. package/dist/resource/formats/black/core/helpers.js.map +1 -1
  125. package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
  126. package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
  127. package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
  128. package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
  129. package/dist/resource/formats/bnk/core/busNodes.js +2 -1
  130. package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
  131. package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
  132. package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
  133. package/dist/resource/formats/bnk/core/eventAction.js +15 -93
  134. package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
  135. package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
  136. package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
  137. package/dist/resource/formats/bnk/core/helpers.js +2 -48
  138. package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
  139. package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
  140. package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
  141. package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
  142. package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
  143. package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
  144. package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
  145. package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
  146. package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
  147. package/dist/resource/formats/cmf/core/binary.js +54 -60
  148. package/dist/resource/formats/cmf/core/binary.js.map +1 -1
  149. package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
  150. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  151. package/dist/resource/formats/dds/core/bc6h.js +16 -18
  152. package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
  153. package/dist/resource/formats/dds/core/bc7.js +28 -24
  154. package/dist/resource/formats/dds/core/bc7.js.map +1 -1
  155. package/dist/resource/formats/dds/core/helpers.js +7 -133
  156. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  157. package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
  158. package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
  159. package/dist/resource/formats/dxbc/core/helpers.js +4 -32
  160. package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
  161. package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
  162. package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
  163. package/dist/resource/formats/fbx/core/helpers.js +18 -12
  164. package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
  165. package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
  166. package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
  167. package/dist/resource/formats/flac/core/helpers.js +1 -62
  168. package/dist/resource/formats/flac/core/helpers.js.map +1 -1
  169. package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
  170. package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
  171. package/dist/resource/formats/gif/core/helpers.js +1 -63
  172. package/dist/resource/formats/gif/core/helpers.js.map +1 -1
  173. package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
  174. package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
  175. package/dist/resource/formats/gltf/core/helpers.js +3 -19
  176. package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
  177. package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
  178. package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
  179. package/dist/resource/formats/gr2/core/container.js +1 -10
  180. package/dist/resource/formats/gr2/core/container.js.map +1 -1
  181. package/dist/resource/formats/gr2/core/helpers.js +24 -35
  182. package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
  183. package/dist/resource/formats/gr2/core/shared.js +193 -189
  184. package/dist/resource/formats/gr2/core/shared.js.map +1 -1
  185. package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
  186. package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
  187. package/dist/resource/formats/hlsl/core/helpers.js +1 -30
  188. package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
  189. package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
  190. package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
  191. package/dist/resource/formats/jpeg/core/helpers.js +7 -134
  192. package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
  193. package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
  194. package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
  195. package/dist/resource/formats/mp3/core/helpers.js +1 -64
  196. package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
  197. package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
  198. package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
  199. package/dist/resource/formats/mp4/core/helpers.js +1 -73
  200. package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
  201. package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
  202. package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
  203. package/dist/resource/formats/obj/core/helpers.js +93 -115
  204. package/dist/resource/formats/obj/core/helpers.js.map +1 -1
  205. package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
  206. package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
  207. package/dist/resource/formats/ogg/core/helpers.js +1 -15
  208. package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
  209. package/dist/resource/formats/ogg/core/vorbis.js +138 -144
  210. package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
  211. package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
  212. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  213. package/dist/resource/formats/png/CjsPngFormat.js +5 -3
  214. package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
  215. package/dist/resource/formats/png/core/helpers.js +13 -152
  216. package/dist/resource/formats/png/core/helpers.js.map +1 -1
  217. package/dist/resource/formats/png/core/writer.js +3 -27
  218. package/dist/resource/formats/png/core/writer.js.map +1 -1
  219. package/dist/resource/formats/red/core/helpers.js +19 -29
  220. package/dist/resource/formats/red/core/helpers.js.map +1 -1
  221. package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
  222. package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
  223. package/dist/resource/formats/stl/core/helpers.js +44 -66
  224. package/dist/resource/formats/stl/core/helpers.js.map +1 -1
  225. package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
  226. package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
  227. package/dist/resource/formats/tga/core/helpers.js +7 -153
  228. package/dist/resource/formats/tga/core/helpers.js.map +1 -1
  229. package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
  230. package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
  231. package/dist/resource/formats/vta/core/helpers.js +1 -17
  232. package/dist/resource/formats/vta/core/helpers.js.map +1 -1
  233. package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
  234. package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
  235. package/dist/resource/formats/wav/core/helpers.js +1 -15
  236. package/dist/resource/formats/wav/core/helpers.js.map +1 -1
  237. package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
  238. package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
  239. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +52 -4
  240. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  241. package/dist/resource/formats/webgl/core/helpers.js +39 -68
  242. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  243. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
  244. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  245. package/dist/resource/formats/webgpu/core/helpers.js +4 -30
  246. package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
  247. package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
  248. package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
  249. package/dist/resource/formats/webm/core/helpers.js +1 -73
  250. package/dist/resource/formats/webm/core/helpers.js.map +1 -1
  251. package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
  252. package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
  253. package/dist/resource/formats/webp/core/helpers.js +1 -62
  254. package/dist/resource/formats/webp/core/helpers.js.map +1 -1
  255. package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
  256. package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
  257. package/dist/resource/formats/wem/core/bitStream.js +83 -106
  258. package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
  259. package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
  260. package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
  261. package/dist/resource/formats/wem/core/helpers.js +1 -15
  262. package/dist/resource/formats/wem/core/helpers.js.map +1 -1
  263. package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
  264. package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
  265. package/dist/resource/geometry/MeshDecalData.js +23 -25
  266. package/dist/resource/geometry/MeshDecalData.js.map +1 -1
  267. package/dist/resource/geometry/MeshDecalLodData.js +14 -23
  268. package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
  269. package/dist/resource/geometry/TriGeometryRes.js +299 -284
  270. package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
  271. package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
  272. package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
  273. package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
  274. package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
  275. package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
  276. package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
  277. package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
  278. package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
  279. package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
  280. package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
  281. package/dist/resource/geometry/TriJointBinding.js +16 -24
  282. package/dist/resource/geometry/TriJointBinding.js.map +1 -1
  283. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
  284. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
  285. package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
  286. package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
  287. package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
  288. package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
  289. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
  290. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
  291. package/dist/resource/index.js +1 -1
  292. package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
  293. package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
  294. package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
  295. package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
  296. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
  297. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  298. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
  299. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
  300. package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
  301. package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
  302. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
  303. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  304. package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
  305. package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
  306. package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
  307. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  308. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
  309. package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
  310. package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
  311. package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
  312. package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
  313. package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
  314. package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
  315. package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
  316. package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
  317. package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
  318. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
  319. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
  320. package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
  321. package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
  322. package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
  323. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  324. package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
  325. package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
  326. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
  327. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  328. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
  329. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
  330. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
  331. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  332. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
  333. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  334. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
  335. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  336. package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
  337. package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
  338. package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
  339. package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
  340. package/dist/resource/worker/protocol.js +18 -1
  341. package/dist/resource/worker/protocol.js.map +1 -1
  342. package/dist/sof/EveSOF.js +2 -222
  343. package/dist/sof/EveSOF.js.map +1 -1
  344. package/dist/sof/SofDocumentBuilder.js +205 -0
  345. package/dist/sof/SofDocumentBuilder.js.map +1 -0
  346. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
  347. package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
  348. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
  349. package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
  350. package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
  351. package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
  352. package/dist/sof/faction/index.js +3 -1
  353. package/dist/sof/faction/index.js.map +1 -1
  354. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
  355. package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
  356. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
  357. package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
  358. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
  359. package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
  360. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
  361. package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
  362. package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
  363. package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
  364. package/dist/sof/generic/index.js +5 -1
  365. package/dist/sof/generic/index.js.map +1 -1
  366. package/dist/sof/index.js +23 -7
  367. package/dist/sof/index.js.map +1 -1
  368. package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
  369. package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
  370. package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
  371. package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
  372. package/dist/sof/pattern/index.js +2 -1
  373. package/dist/sof/pattern/index.js.map +1 -1
  374. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
  375. package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
  376. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
  377. package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
  378. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
  379. package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
  380. package/dist/sof/shared/EveSOFDataArea.js +2 -13
  381. package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
  382. package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
  383. package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
  384. package/dist/sof/shared/EveSOFDataParameter.js +2 -146
  385. package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
  386. package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
  387. package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
  388. package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
  389. package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
  390. package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
  391. package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
  392. package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
  393. package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
  394. package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
  395. package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
  396. package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
  397. package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
  398. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
  399. package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
  400. package/dist/sof/shared/index.js +13 -4
  401. package/dist/sof/shared/index.js.map +1 -1
  402. package/dist/sof/sofDocumentValues.js +33 -0
  403. package/dist/sof/sofDocumentValues.js.map +1 -0
  404. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
  405. package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
  406. package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
  407. package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
  408. package/dist/trinity/controllers/Tr2Controller.js +2 -1
  409. package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
  410. package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
  411. package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
  412. package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
  413. package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
  414. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
  415. package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
  416. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
  417. package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
  418. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
  419. package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
  420. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
  421. package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
  422. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
  423. package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
  424. package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
  425. package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
  426. package/dist/trinity/controllers/index.js +5 -2
  427. package/dist/trinity/controllers/index.js.map +1 -1
  428. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
  429. package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
  430. package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
  431. package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
  432. package/dist/trinity/core/ITr2Updateable.js +2 -1
  433. package/dist/trinity/core/ITr2Updateable.js.map +1 -1
  434. package/dist/trinity/core/Tr2Blitter.js +6 -3
  435. package/dist/trinity/core/Tr2Blitter.js.map +1 -1
  436. package/dist/trinity/core/Tr2Denoiser.js +256 -0
  437. package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
  438. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
  439. package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
  440. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
  441. package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
  442. package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
  443. package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
  444. package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
  445. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
  446. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
  447. package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
  448. package/dist/trinity/core/Tr2RenderUtils.js +20 -3
  449. package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
  450. package/dist/trinity/core/Tr2Renderer.js +146 -1
  451. package/dist/trinity/core/Tr2Renderer.js.map +1 -1
  452. package/dist/trinity/core/Tr2ShadowMap.js +135 -14
  453. package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
  454. package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
  455. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
  456. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
  457. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
  458. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
  459. package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
  460. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
  461. package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
  462. package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
  463. package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
  464. package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
  465. package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
  466. package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
  467. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
  468. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
  469. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
  470. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
  471. package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
  472. package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
  473. package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
  474. package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
  475. package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
  476. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
  477. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
  478. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
  479. package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
  480. package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
  481. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  482. package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
  483. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
  484. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
  485. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
  486. package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
  487. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
  488. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
  489. package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
  490. package/dist/trinity/core/index.js +42 -15
  491. package/dist/trinity/core/index.js.map +1 -1
  492. package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
  493. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  494. package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
  495. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
  496. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
  497. package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
  498. package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
  499. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
  500. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
  501. package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
  502. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
  503. package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
  504. package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
  505. package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
  506. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
  507. package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
  508. package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
  509. package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
  510. package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
  511. package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
  512. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
  513. package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
  514. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
  515. package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
  516. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
  517. package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
  518. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
  519. package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
  520. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
  521. package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
  522. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
  523. package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
  524. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
  525. package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
  526. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
  527. package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
  528. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
  529. package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
  530. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
  531. package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
  532. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
  533. package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
  534. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
  535. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
  536. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
  537. package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
  538. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
  539. package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
  540. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
  541. package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
  542. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
  543. package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
  544. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
  545. package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
  546. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
  547. package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
  548. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
  549. package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
  550. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
  551. package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
  552. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
  553. package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
  554. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
  555. package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
  556. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
  557. package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
  558. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
  559. package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
  560. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
  561. package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
  562. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
  563. package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
  564. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
  565. package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
  566. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
  567. package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
  568. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
  569. package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
  570. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
  571. package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
  572. package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
  573. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
  574. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
  575. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
  576. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
  577. package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
  578. package/dist/trinity/core/variable/TriVariable.js +83 -83
  579. package/dist/trinity/core/variable/TriVariable.js.map +1 -1
  580. package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
  581. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
  582. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
  583. package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
  584. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
  585. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  586. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
  587. package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
  588. package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
  589. package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
  590. package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
  591. package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
  592. package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
  593. package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
  594. package/dist/trinity/eve/IEveTransform.js +2 -1
  595. package/dist/trinity/eve/IEveTransform.js.map +1 -1
  596. package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
  597. package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
  598. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
  599. package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
  600. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
  601. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
  602. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
  603. package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
  604. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
  605. package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
  606. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
  607. package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
  608. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
  609. package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
  610. package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
  611. package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
  612. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
  613. package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
  614. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
  615. package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
  616. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
  617. package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
  618. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
  619. package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
  620. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
  621. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  622. package/dist/trinity/eve/camera/EveCamera.js +1 -1
  623. package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
  624. package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
  625. package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
  626. package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
  627. package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
  628. package/dist/trinity/eve/child/EveChildContainer.js +141 -141
  629. package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
  630. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
  631. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
  632. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
  633. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
  634. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
  635. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
  636. package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
  637. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
  638. package/dist/trinity/eve/child/EveChildMesh.js +218 -218
  639. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  640. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
  641. package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
  642. package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
  643. package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
  644. package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
  645. package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
  646. package/dist/trinity/eve/child/EveChildTransform.js +5 -0
  647. package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
  648. package/dist/trinity/eve/child/EveChildTurret.js +7 -0
  649. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  650. package/dist/trinity/eve/index.js +10 -4
  651. package/dist/trinity/eve/index.js.map +1 -1
  652. package/dist/trinity/eve/lights/Tr2Light.js +5 -0
  653. package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
  654. package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
  655. package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
  656. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
  657. package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
  658. package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
  659. package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
  660. package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
  661. package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
  662. package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
  663. package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
  664. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
  665. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  666. package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
  667. package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
  668. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
  669. package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
  670. package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
  671. package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
  672. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
  673. package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
  674. package/dist/trinity/generated/index.js +0 -1
  675. package/dist/trinity/generated/index.js.map +1 -1
  676. package/dist/trinity/generated/trinityCore/index.js +0 -1
  677. package/dist/trinity/generated/trinityCore/index.js.map +1 -1
  678. package/dist/trinity/index.js +59 -23
  679. package/dist/trinity/index.js.map +1 -1
  680. package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
  681. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
  682. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
  683. package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
  684. package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
  685. package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
  686. package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
  687. package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
  688. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
  689. package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
  690. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
  691. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  692. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
  693. package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
  694. package/dist/trinity/particle/index.js +2 -1
  695. package/dist/trinity/particle/index.js.map +1 -1
  696. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
  697. package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
  698. package/dist/trinity/shader/Tr2Effect.js +131 -58
  699. package/dist/trinity/shader/Tr2Effect.js.map +1 -1
  700. package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
  701. package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
  702. package/dist/trinity/shader/Tr2Material.js +21 -4
  703. package/dist/trinity/shader/Tr2Material.js.map +1 -1
  704. package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
  705. package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
  706. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
  707. package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
  708. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
  709. package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
  710. package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
  711. package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
  712. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
  713. package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
  714. package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
  715. package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
  716. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
  717. package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
  718. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
  719. package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
  720. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
  721. package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
  722. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
  723. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
  724. package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
  725. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
  726. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
  727. package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
  728. package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
  729. package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
  730. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
  731. package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
  732. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
  733. package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
  734. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
  735. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
  736. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
  737. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
  738. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
  739. package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
  740. package/dist/trinityal/index.js +22 -9
  741. package/dist/trinityal/index.js.map +1 -1
  742. package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
  743. package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
  744. package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
  745. package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
  746. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
  747. package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
  748. package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
  749. package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
  750. package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
  751. package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
  752. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
  753. package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
  754. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
  755. package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
  756. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
  757. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
  758. package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
  759. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
  760. package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
  761. package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
  762. package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
  763. package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
  764. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
  765. package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
  766. package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
  767. package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
  768. package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
  769. package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
  770. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
  771. package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
  772. package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
  773. package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
  774. package/dist/trinityal/stub/index.js +8 -4
  775. package/dist/trinityal/stub/index.js.map +1 -1
  776. package/dist/trinityal/vertexLayoutMatch.js +2 -2
  777. package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
  778. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
  779. package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
  780. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
  781. package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
  782. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
  783. package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
  784. package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
  785. package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
  786. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
  787. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  788. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
  789. package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
  790. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
  791. package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
  792. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
  793. package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
  794. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
  795. package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
  796. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
  797. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
  798. package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
  799. package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
  800. package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
  801. package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
  802. package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
  803. package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
  804. package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
  805. package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
  806. package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
  807. package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
  808. package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
  809. package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
  810. package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
  811. package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
  812. package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
  813. package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
  814. package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
  815. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
  816. package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
  817. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
  818. package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
  819. package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
  820. package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
  821. package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
  822. package/dist/trinityal/webgpu/internal.js +12 -11
  823. package/dist/trinityal/webgpu/internal.js.map +1 -1
  824. package/docs/audio/reference/classes/trinity.md +44 -34
  825. package/docs/character/architecture.md +276 -0
  826. package/docs/character/reference/character-appearance-plans.md +30 -66
  827. package/docs/character/reference/prepared-libraries.md +14 -30
  828. package/docs/global/reference/api.md +2 -1
  829. package/docs/global/reference/classes/README.md +53 -71
  830. package/docs/global/reference/classes/dropped.md +16 -0
  831. package/docs/resource/README.md +19 -15
  832. package/docs/resource/architecture.md +9 -2
  833. package/docs/resource/concepts/format-capabilities.md +124 -80
  834. package/docs/resource/concepts/shared-format-helpers.md +94 -0
  835. package/docs/resource/formats/README.md +230 -224
  836. package/docs/resource/formats/bitknit2.md +221 -0
  837. package/docs/resource/formats/carbon-effect-container.md +184 -269
  838. package/docs/resource/formats/gr2.md +6 -1
  839. package/docs/resource/formats/schemabound.md +28 -48
  840. package/docs/resource/formats/static.md +70 -97
  841. package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
  842. package/docs/resource/formats/webgl/decl-io.md +165 -256
  843. package/docs/resource/formats/webgl/memory-structured.md +64 -142
  844. package/docs/resource/formats/webgl/texture-sample.md +109 -138
  845. package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
  846. package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
  847. package/docs/resource/formats/webgpu/reference/api.md +64 -67
  848. package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +104 -260
  849. package/docs/resource/reference/classes/core.md +256 -236
  850. package/docs/resource/reference/classes/formats.md +1668 -1672
  851. package/docs/resource/reference/workers.md +4 -2
  852. package/docs/sof/reference/classes/core.md +1 -1
  853. package/docs/sof/reference/classes/faction.md +2 -2
  854. package/docs/sof/reference/classes/generic.md +4 -4
  855. package/docs/sof/reference/classes/pattern.md +1 -1
  856. package/docs/sof/reference/classes/shared.md +10 -10
  857. package/docs/trinity/architecture.md +55 -44
  858. package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
  859. package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
  860. package/docs/trinity/reference/classes/dropped.md +0 -189
  861. package/docs/trinity/reference/classes/eve-runtime.md +8 -8
  862. package/docs/trinity/reference/classes/generated.md +0 -10
  863. package/docs/trinity/reference/classes/particle.md +2 -2
  864. package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
  865. package/docs/trinity/reference/implementation-status.md +50 -75
  866. package/docs/trinity/reference/main-semantic-extraction.md +13 -17
  867. package/docs/trinityal/reference/classes/README.md +77 -27
  868. package/docs/trinityal/reference/classes/dropped.md +82 -0
  869. package/docs/trinityal/webgpu/README.md +3 -1
  870. package/docs/trinityal/webgpu/architecture.md +121 -228
  871. package/docs/trinityal/webgpu/reference/api.md +5 -5
  872. package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
  873. package/format-notices/gr2/NOTICE +18 -12
  874. package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
  875. package/package.json +4 -1
  876. package/dist/audio/trinity/audio/AudActionLog.js +0 -173
  877. package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
  878. package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
  879. package/dist/global/contracts/CjsScriptCallback.js +0 -94
  880. package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
  881. package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
  882. package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
  883. package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
  884. package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
  885. package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
  886. package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
  887. package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
  888. package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
  889. package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
  890. package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
  891. package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
  892. package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
  893. package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
  894. package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
  895. package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
  896. package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
  897. package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
  898. package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
  899. package/dist/trinity/core/rawData/constantLayout.js +0 -175
  900. package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
  901. package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
  902. package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
  903. package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
  904. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
  905. package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
  906. package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
  907. package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
  908. package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
  909. package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
  910. package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
  911. package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
  912. package/dist/trinityal/Tr2SamplerDescription.js +0 -72
  913. package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
  914. package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
  915. package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
  916. package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
  917. package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
  918. package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
  919. package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
  920. package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
  921. package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
  922. package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
  923. package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
  924. package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
  925. package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
  926. package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
  927. package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
  928. package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
  929. package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"CjsWebmFormat.js","sources":["../../../../../src/resource/formats/webm/CjsWebmFormat.js"],"sourcesContent":["import { asUint8Array } from \"#utils/bytes\";\nimport { CjsFormat } from \"../../format/CjsFormat.js\";\nimport {\n DEFAULT_VALUES,\n OUTPUT_JSON,\n OUTPUT_RAW,\n OUTPUT_VIDEO,\n inspectWithValues,\n probeSupportWithValues,\n isWebM,\n normalizeValues,\n readWithValues,\n toJsonValue\n} from \"./core/helpers.js\";\n\nconst FORMAT_NAME = \"CjsWebmFormat\";\n\n/**\n * WebM container format profile that inspects EBML segment and track\n * structure and emits raw bytes, debug JSON, or a container-only video\n * payload with codec and duration summaries but no frame decoding.\n */\nexport class CjsWebmFormat extends CjsFormat\n{\n #values = DEFAULT_VALUES;\n\n /**\n * Create a reusable WebM format profile.\n *\n * @param {object} [options] Default read/inspect options.\n */\n constructor(options = {})\n {\n super();\n this.SetValues(options);\n }\n\n /**\n * Merge options into this profile.\n *\n * @param {object} [options] Values to merge.\n * @returns {CjsWebmFormat} This format profile.\n */\n SetValues(options = {})\n {\n this.#values = normalizeValues(this.#values, { inputType: \"webm\", ...options }, FORMAT_NAME);\n return this;\n }\n\n /**\n * Get normalized profile values with optional per-call overrides.\n *\n * @param {object} [options] Per-call values.\n * @returns {object} Normalized read values.\n */\n GetValues(options = {})\n {\n return normalizeValues(this.#values, { inputType: \"webm\", ...options }, FORMAT_NAME);\n }\n\n /**\n * Read WebM bytes with this profile.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input WebM bytes.\n * @param {object} [options] Per-call values.\n * @returns {object} GPU-free raw/debug payload for the selected emit target.\n */\n Read(input, options = {})\n {\n return readWithValues(input, this.GetValues(options), \"webm\");\n }\n\n /**\n * Read WebM bytes asynchronously with this profile.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input WebM bytes.\n * @param {object} [options] Per-call values.\n * @returns {Promise<object>} GPU-free raw/debug payload for the selected emit target.\n */\n async ReadAsync(input, options = {})\n {\n return this.Read(input, options);\n }\n\n /**\n * Inspect WebM bytes without decoding media samples.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input WebM bytes.\n * @param {object} [options] Per-call values.\n * @returns {object} WebM container metadata.\n */\n Inspect(input, options = {})\n {\n return inspectWithValues(input, this.GetValues(options), \"webm\");\n }\n\n /**\n * Convert format output into JSON-compatible debug data.\n *\n * @param {any} value Format output.\n * @returns {any} JSON-compatible value.\n */\n ToJSON(value)\n {\n return toJsonValue(value);\n }\n\n /**\n * One-shot WebM read.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input WebM bytes.\n * @param {object} [options] Read options.\n * @returns {object} GPU-free raw/debug payload for the selected emit target.\n */\n static read(input, options = {})\n {\n return readWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"webm\", ...options }, FORMAT_NAME), \"webm\");\n }\n\n /**\n * One-shot asynchronous WebM read.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input WebM bytes.\n * @param {object} [options] Read options.\n * @returns {Promise<object>} GPU-free raw/debug payload for the selected emit target.\n */\n static async readAsync(input, options = {})\n {\n return CjsWebmFormat.read(input, options);\n }\n\n /**\n * One-shot WebM inspection.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input WebM bytes.\n * @param {object} [options] Inspect options.\n * @returns {object} WebM container metadata.\n */\n static inspect(input, options = {})\n {\n return inspectWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"webm\", ...options }, FORMAT_NAME), \"webm\");\n }\n\n /**\n * One-shot WebM support probe.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input WebM bytes.\n * @param {object} [options] Probe options.\n * @returns {object} Support/probe report.\n */\n static probeSupport(input, options = {})\n {\n return probeSupportWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"webm\", ...options }, FORMAT_NAME), \"webm\");\n }\n\n /**\n * Convert format output into JSON-compatible debug data.\n *\n * @param {any} value Format output.\n * @returns {any} JSON-compatible value.\n */\n static toJSON(value)\n {\n return toJsonValue(value);\n }\n\n /**\n * Test whether bytes look like a WebM file.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input Candidate WebM bytes.\n * @returns {boolean} True when the EBML signature is present.\n */\n static isWebM(input)\n {\n try\n {\n return isWebM(asUint8Array(input, \"Video input\"));\n }\n catch\n {\n return false;\n }\n }\n\n /**\n * Emit targets for this format (canonical frozen enum).\n */\n static Output = Object.freeze({\n VIDEO: OUTPUT_VIDEO,\n RAW: OUTPUT_RAW,\n JSON: OUTPUT_JSON\n });\n\n static OUTPUT_WEBM_JSON = \"webmJson\";\n\n static id = \"webm\";\n\n static mediaTypes = Object.freeze([ \"video\" ]);\n\n static outputs = CjsFormat.defineOutputs({\n\n video: { },\n\n webmJson: { role: \"debug\", probes: [ \"webmJson\", \"raw\" ] },\n\n raw: { role: \"debug\", default: true, passthrough: true }\n\n });\n\n static extensions = Object.freeze([ \".webm\" ]);\n}\n\nexport default CjsWebmFormat;\n"],"names":["FORMAT_NAME","CjsWebmFormat","CjsFormat","DEFAULT_VALUES","constructor","options","SetValues","normalizeValues","inputType","GetValues","Read","input","readWithValues","ReadAsync","Inspect","inspectWithValues","ToJSON","value","toJsonValue","read","readAsync","inspect","probeSupport","probeSupportWithValues","toJSON","isWebM","asUint8Array","Output","Object","freeze","VIDEO","OUTPUT_VIDEO","RAW","OUTPUT_RAW","JSON","OUTPUT_JSON","OUTPUT_WEBM_JSON","id","mediaTypes","outputs","defineOutputs","video","webmJson","role","probes","raw","default","passthrough","extensions"],"mappings":";;;;AAeA,MAAMA,WAAW,GAAG,eAAe;;AAEnC;AACA;AACA;AACA;AACA;AACO,MAAMC,aAAa,SAASC,SAAS,CAC5C;EACI,OAAO,GAAGC,cAAc;;AAExB;AACJ;AACA;AACA;AACA;AACIC,EAAAA,WAAWA,CAACC,OAAO,GAAG,EAAE,EACxB;AACI,IAAA,KAAK,EAAE;AACP,IAAA,IAAI,CAACC,SAAS,CAACD,OAAO,CAAC;AAC3B,EAAA;;AAEA;AACJ;AACA;AACA;AACA;AACA;AACIC,EAAAA,SAASA,CAACD,OAAO,GAAG,EAAE,EACtB;IACI,IAAI,CAAC,OAAO,GAAGE,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE;AAAEC,MAAAA,SAAS,EAAE,MAAM;MAAE,GAAGH;KAAS,EAAEL,WAAW,CAAC;AAC5F,IAAA,OAAO,IAAI;AACf,EAAA;;AAEA;AACJ;AACA;AACA;AACA;AACA;AACIS,EAAAA,SAASA,CAACJ,OAAO,GAAG,EAAE,EACtB;AACI,IAAA,OAAOE,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE;AAAEC,MAAAA,SAAS,EAAE,MAAM;MAAE,GAAGH;KAAS,EAAEL,WAAW,CAAC;AACxF,EAAA;;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACIU,EAAAA,IAAIA,CAACC,KAAK,EAAEN,OAAO,GAAG,EAAE,EACxB;AACI,IAAA,OAAOO,cAAc,CAACD,KAAK,EAAE,IAAI,CAACF,SAAS,CAACJ,OAAO,CAAC,EAAE,MAAM,CAAC;AACjE,EAAA;;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,MAAMQ,SAASA,CAACF,KAAK,EAAEN,OAAO,GAAG,EAAE,EACnC;AACI,IAAA,OAAO,IAAI,CAACK,IAAI,CAACC,KAAK,EAAEN,OAAO,CAAC;AACpC,EAAA;;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;AACIS,EAAAA,OAAOA,CAACH,KAAK,EAAEN,OAAO,GAAG,EAAE,EAC3B;AACI,IAAA,OAAOU,iBAAiB,CAACJ,KAAK,EAAE,IAAI,CAACF,SAAS,CAACJ,OAAO,CAAC,EAAE,MAAM,CAAC;AACpE,EAAA;;AAEA;AACJ;AACA;AACA;AACA;AACA;EACIW,MAAMA,CAACC,KAAK,EACZ;IACI,OAAOC,WAAW,CAACD,KAAK,CAAC;AAC7B,EAAA;;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,OAAOE,IAAIA,CAACR,KAAK,EAAEN,OAAO,GAAG,EAAE,EAC/B;AACI,IAAA,OAAOO,cAAc,CAACD,KAAK,EAAEJ,eAAe,CAACJ,cAAc,EAAE;AAAEK,MAAAA,SAAS,EAAE,MAAM;MAAE,GAAGH;AAAQ,KAAC,EAAEL,WAAW,CAAC,EAAE,MAAM,CAAC;AACzH,EAAA;;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,aAAaoB,SAASA,CAACT,KAAK,EAAEN,OAAO,GAAG,EAAE,EAC1C;AACI,IAAA,OAAOJ,aAAa,CAACkB,IAAI,CAACR,KAAK,EAAEN,OAAO,CAAC;AAC7C,EAAA;;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,OAAOgB,OAAOA,CAACV,KAAK,EAAEN,OAAO,GAAG,EAAE,EAClC;AACI,IAAA,OAAOU,iBAAiB,CAACJ,KAAK,EAAEJ,eAAe,CAACJ,cAAc,EAAE;AAAEK,MAAAA,SAAS,EAAE,MAAM;MAAE,GAAGH;AAAQ,KAAC,EAAEL,WAAW,CAAC,EAAE,MAAM,CAAC;AAC5H,EAAA;;AAEA;AACJ;AACA;AACA;AACA;AACA;AACA;EACI,OAAOsB,YAAYA,CAACX,KAAK,EAAEN,OAAO,GAAG,EAAE,EACvC;AACI,IAAA,OAAOkB,sBAAsB,CAACZ,KAAK,EAAEJ,eAAe,CAACJ,cAAc,EAAE;AAAEK,MAAAA,SAAS,EAAE,MAAM;MAAE,GAAGH;AAAQ,KAAC,EAAEL,WAAW,CAAC,EAAE,MAAM,CAAC;AACjI,EAAA;;AAEA;AACJ;AACA;AACA;AACA;AACA;EACI,OAAOwB,MAAMA,CAACP,KAAK,EACnB;IACI,OAAOC,WAAW,CAACD,KAAK,CAAC;AAC7B,EAAA;;AAEA;AACJ;AACA;AACA;AACA;AACA;EACI,OAAOQ,MAAMA,CAACd,KAAK,EACnB;IACI,IACA;MACI,OAAOc,MAAM,CAACC,YAAY,CAACf,KAAK,EAAE,aAAa,CAAC,CAAC;AACrD,IAAA,CAAC,CACD,MACA;AACI,MAAA,OAAO,KAAK;AAChB,IAAA;AACJ,EAAA;;AAEA;AACJ;AACA;AACI,EAAA,OAAOgB,MAAM,GAAGC,MAAM,CAACC,MAAM,CAAC;AAC1BC,IAAAA,KAAK,EAAEC,YAAY;AACnBC,IAAAA,GAAG,EAAEC,UAAU;AACfC,IAAAA,IAAI,EAAEC;AACV,GAAC,CAAC;EAEF,OAAOC,gBAAgB,GAAG,UAAU;EAEpC,OAAOC,EAAE,GAAG,MAAM;EAElB,OAAOC,UAAU,GAAGV,MAAM,CAACC,MAAM,CAAC,CAAE,OAAO,CAAE,CAAC;AAE9C,EAAA,OAAOU,OAAO,GAAGrC,SAAS,CAACsC,aAAa,CAAC;IAErCC,KAAK,EAAE,EAAI;AAEXC,IAAAA,QAAQ,EAAE;AAAEC,MAAAA,IAAI,EAAE,OAAO;AAAEC,MAAAA,MAAM,EAAE,CAAE,UAAU,EAAE,KAAK;KAAI;AAE1DC,IAAAA,GAAG,EAAE;AAAEF,MAAAA,IAAI,EAAE,OAAO;AAAEG,MAAAA,OAAO,EAAE,IAAI;AAAEC,MAAAA,WAAW,EAAE;AAAK;AAE3D,GAAC,CAAC;EAEF,OAAOC,UAAU,GAAGpB,MAAM,CAACC,MAAM,CAAC,CAAE,OAAO,CAAE,CAAC;AAClD;;;;"}
1
+ {"version":3,"file":"CjsWebmFormat.js","sources":["../../../../../src/resource/formats/webm/CjsWebmFormat.js"],"sourcesContent":["import { asUint8Array } from \"#utils/bytes\";\nimport { CjsFormat } from \"../../format/CjsFormat.js\";\nimport {\n DEFAULT_VALUES,\n OUTPUT_JSON,\n OUTPUT_RAW,\n OUTPUT_VIDEO,\n inspectWithValues,\n probeSupportWithValues,\n isWebM,\n normalizeValues,\n readWithValues,\n toJsonValue\n} from \"./core/helpers.js\";\n\nconst FORMAT_NAME = \"CjsWebmFormat\";\n\n/**\n * WebM container format profile that inspects EBML segment and track\n * structure and emits raw bytes, debug JSON, or a container-only video\n * payload with codec and duration summaries but no frame decoding.\n */\nexport class CjsWebmFormat extends CjsFormat\n{\n #values = DEFAULT_VALUES;\n\n /**\n * Create a reusable WebM format profile.\n *\n * @param {object} [options] Default read/inspect options.\n */\n constructor(options = {})\n {\n super();\n this.SetValues(options);\n }\n\n /**\n * Merge options into this profile.\n *\n * @param {object} [options] Values to merge.\n * @returns {CjsWebmFormat} This format profile.\n */\n SetValues(options = {})\n {\n this.#values = normalizeValues(this.#values, { inputType: \"webm\", ...options }, FORMAT_NAME);\n return this;\n }\n\n /**\n * Get normalized profile values with optional per-call overrides.\n *\n * @param {object} [options] Per-call values.\n * @returns {object} Normalized read values.\n */\n GetValues(options = {})\n {\n return normalizeValues(this.#values, { inputType: \"webm\", ...options }, FORMAT_NAME);\n }\n\n /**\n * Read WebM bytes with this profile.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input WebM bytes.\n * @param {object} [options] Per-call values.\n * @returns {object} GPU-free raw/debug payload for the selected emit target.\n */\n Read(input, options = {})\n {\n return readWithValues(input, this.GetValues(options), \"webm\");\n }\n\n /**\n * Read WebM bytes asynchronously with this profile.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input WebM bytes.\n * @param {object} [options] Per-call values.\n * @returns {Promise<object>} GPU-free raw/debug payload for the selected emit target.\n */\n async ReadAsync(input, options = {})\n {\n return this.Read(input, options);\n }\n\n /**\n * Inspect WebM bytes without decoding media samples.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input WebM bytes.\n * @param {object} [options] Per-call values.\n * @returns {object} WebM container metadata.\n */\n Inspect(input, options = {})\n {\n return inspectWithValues(input, this.GetValues(options), \"webm\");\n }\n\n /**\n * Convert format output into JSON-compatible debug data.\n *\n * @param {any} value Format output.\n * @returns {any} JSON-compatible value.\n */\n ToJSON(value)\n {\n return toJsonValue(value);\n }\n\n /**\n * One-shot WebM read.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input WebM bytes.\n * @param {object} [options] Read options.\n * @returns {object} GPU-free raw/debug payload for the selected emit target.\n */\n static read(input, options = {})\n {\n return readWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"webm\", ...options }, FORMAT_NAME), \"webm\");\n }\n\n /**\n * One-shot asynchronous WebM read.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input WebM bytes.\n * @param {object} [options] Read options.\n * @returns {Promise<object>} GPU-free raw/debug payload for the selected emit target.\n */\n static async readAsync(input, options = {})\n {\n return CjsWebmFormat.read(input, options);\n }\n\n /**\n * One-shot WebM inspection.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input WebM bytes.\n * @param {object} [options] Inspect options.\n * @returns {object} WebM container metadata.\n */\n static inspect(input, options = {})\n {\n return inspectWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"webm\", ...options }, FORMAT_NAME), \"webm\");\n }\n\n /**\n * One-shot WebM support probe.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input WebM bytes.\n * @param {object} [options] Probe options.\n * @returns {object} Support/probe report.\n */\n\n /**\n * Convert format output into JSON-compatible debug data.\n *\n * @param {any} value Format output.\n * @returns {any} JSON-compatible value.\n */\n static toJSON(value)\n {\n return toJsonValue(value);\n }\n\n /**\n * Test whether bytes look like a WebM file.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input Candidate WebM bytes.\n * @returns {boolean} True when the EBML signature is present.\n */\n static isWebM(input)\n {\n try\n {\n return isWebM(asUint8Array(input, \"Video input\"));\n }\n catch\n {\n return false;\n }\n }\n\n /**\n * Emit targets for this format (canonical frozen enum).\n */\n static Output = Object.freeze({\n VIDEO: OUTPUT_VIDEO,\n RAW: OUTPUT_RAW,\n JSON: OUTPUT_JSON\n });\n\n static OUTPUT_WEBM_JSON = \"webmJson\";\n\n static id = \"webm\";\n\n static mediaTypes = Object.freeze([ \"video\" ]);\n\n static outputs = CjsFormat.defineOutputs({\n\n video: { },\n\n webmJson: { role: \"debug\", probes: [ \"webmJson\", \"raw\" ] },\n\n raw: { role: \"debug\", default: true, passthrough: true }\n\n });\n\n static extensions = Object.freeze([ \".webm\" ]);\n}\n\nexport default CjsWebmFormat;\n"],"names":["FORMAT_NAME","CjsWebmFormat","CjsFormat","DEFAULT_VALUES","constructor","options","SetValues","normalizeValues","inputType","GetValues","Read","input","readWithValues","ReadAsync","Inspect","inspectWithValues","ToJSON","value","toJsonValue","read","readAsync","inspect","toJSON","isWebM","asUint8Array","Output","Object","freeze","VIDEO","OUTPUT_VIDEO","RAW","OUTPUT_RAW","JSON","OUTPUT_JSON","OUTPUT_WEBM_JSON","id","mediaTypes","outputs","defineOutputs","video","webmJson","role","probes","raw","default","passthrough","extensions"],"mappings":"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"}
@@ -54,64 +54,6 @@ function inspectWithValues(input, values = DEFAULT_VALUES, expectedType = "") {
54
54
  };
55
55
  }
56
56
 
57
- /**
58
- * Reports whether input is supported under normalized format options for the
59
- * WebM format reader.
60
- */
61
- function probeSupportWithValues(input, values = DEFAULT_VALUES, expectedType = "") {
62
- try {
63
- const metadata = inspectWithValues(input, values, expectedType);
64
- const codecs = getTrackCodecSummary(metadata);
65
- const mimeType = getMediaMimeType(metadata);
66
- return {
67
- format: metadata.sourceFormat,
68
- source: values.source || "buffer",
69
- supported: metadata.sourceFormat ? "partial" : "none",
70
- confidence: metadata.sourceFormat ? 1 : 0,
71
- preferredOutput: "video",
72
- reason: metadata.sourceFormat ? "Container/header recognized." : "Unrecognized video format.",
73
- metadata,
74
- variants: [{
75
- kind: "raw",
76
- payloadType: "raw",
77
- codec: metadata.sourceFormat,
78
- mimeType,
79
- supported: true
80
- }, {
81
- kind: "container",
82
- payloadType: "video",
83
- codec: metadata.sourceFormat,
84
- mimeType,
85
- codecs: codecs.codecs,
86
- videoCodecs: codecs.videoCodecs,
87
- audioCodecs: codecs.audioCodecs,
88
- supported: true
89
- }, {
90
- kind: "decoded",
91
- payloadType: "video-frame",
92
- codec: "frames",
93
- supported: false,
94
- reason: "Video decode is not implemented in this package."
95
- }],
96
- warnings: [],
97
- errors: []
98
- };
99
- } catch (error) {
100
- return {
101
- format: expectedType || values.inputType || "",
102
- source: values.source || "buffer",
103
- supported: "none",
104
- confidence: 0,
105
- preferredOutput: "",
106
- reason: error.message,
107
- metadata: null,
108
- variants: [],
109
- warnings: [],
110
- errors: [error.message]
111
- };
112
- }
113
- }
114
-
115
57
  /** Reads input using normalized format options for the WebM format reader. */
116
58
  function readWithValues(input, values = DEFAULT_VALUES, expectedType = "") {
117
59
  const bytes = asUint8Array(input, "Video input");
@@ -192,20 +134,6 @@ function isMP4(bytes) {
192
134
  function isWebM(bytes) {
193
135
  return bytes.byteLength >= 4 && bytes[0] === 0x1a && bytes[1] === 0x45 && bytes[2] === 0xdf && bytes[3] === 0xa3;
194
136
  }
195
-
196
- /** Converts a parsed payload into a JSON-safe value for the WebM format reader. */
197
- function toJsonValue(value) {
198
- if (value instanceof Uint8Array) return {
199
- byteLength: value.byteLength
200
- };
201
- if (Array.isArray(value)) return value.map(toJsonValue);
202
- if (value && typeof value === "object") {
203
- const output = {};
204
- for (const [key, entry] of Object.entries(value)) output[key] = toJsonValue(entry);
205
- return output;
206
- }
207
- return value;
208
- }
209
137
  function inspectMP4(bytes) {
210
138
  return {
211
139
  sourceFormat: "mp4",
@@ -551,5 +479,5 @@ function readEbmlStringValue(bytes, element) {
551
479
  return new TextDecoder().decode(bytes.subarray(element.dataStart, element.end));
552
480
  }
553
481
 
554
- export { DEFAULT_VALUES, OUTPUT_JSON, OUTPUT_RAW, OUTPUT_VIDEO, inspectBytes, inspectWithValues, isMP4, isWebM, normalizeEmit, normalizeValues, probeSupportWithValues, readWithValues, toJsonValue };
482
+ export { DEFAULT_VALUES, OUTPUT_JSON, OUTPUT_RAW, OUTPUT_VIDEO, inspectBytes, inspectWithValues, isMP4, isWebM, normalizeEmit, normalizeValues, readWithValues };
555
483
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../../../../../src/resource/formats/webm/core/helpers.js"],"sourcesContent":["import { asUint8Array, readFourCc } from \"#utils/bytes\";\nexport const OUTPUT_VIDEO = \"video\";\nexport const OUTPUT_RAW = \"raw\";\nexport const OUTPUT_JSON = \"json\";\n\nexport const DEFAULT_VALUES = Object.freeze({\n emit: OUTPUT_RAW,\n inputType: \"\",\n source: \"\"\n});\n\nconst DEBUG_OUTPUTS = Object.freeze({\n mp4: \"mp4Json\",\n webm: \"webmJson\"\n});\n\n/**\n * Normalizes reader options against their supported defaults for the WebM format\n * reader.\n */\nexport function normalizeValues(base = DEFAULT_VALUES, options = {}, readerName = \"CjsVideoFormat\")\n{\n const values = { ...DEFAULT_VALUES, ...(base || {}), ...(options || {}) };\n values.inputType = values.inputType ? String(values.inputType).replace(/^\\./u, \"\").toLowerCase() : \"\";\n values.emit = normalizeEmit(values.emit, values.inputType, readerName);\n return values;\n}\n\n/** Normalizes the requested output representation for the WebM format reader. */\nexport function normalizeEmit(emit, inputType, readerName)\n{\n if (emit === undefined || emit === null) return OUTPUT_RAW;\n if (emit === OUTPUT_JSON && inputType) return DEBUG_OUTPUTS[inputType] || OUTPUT_JSON;\n if ([ OUTPUT_VIDEO, OUTPUT_RAW, OUTPUT_JSON ].includes(emit)) return emit;\n if (Object.values(DEBUG_OUTPUTS).includes(emit)) return emit;\n throw new TypeError(`${readerName}: unknown emit value ${JSON.stringify(emit)}`);\n}\n\n/** Returns a byte view over the supplied binary input for the WebM format reader. */\r/** Inspects input using normalized format options for the WebM format reader. */\nexport function inspectWithValues(input, values = DEFAULT_VALUES, expectedType = \"\")\n{\n const bytes = asUint8Array(input, \"Video input\");\n const metadata = inspectBytes(bytes);\n if (expectedType && metadata.sourceFormat && metadata.sourceFormat !== expectedType)\n {\n throw new TypeError(`CjsVideoFormat: expected ${expectedType}, got ${metadata.sourceFormat}`);\n }\n return {\n payloadType: \"video\",\n mediaTypes: [ \"video\" ],\n byteLength: bytes.byteLength,\n sourceFormat: expectedType || values.inputType || metadata.sourceFormat,\n ...metadata\n };\n}\n\n/**\n * Reports whether input is supported under normalized format options for the\n * WebM format reader.\n */\nexport function probeSupportWithValues(input, values = DEFAULT_VALUES, expectedType = \"\")\n{\n try\n {\n const metadata = inspectWithValues(input, values, expectedType);\n const codecs = getTrackCodecSummary(metadata);\n const mimeType = getMediaMimeType(metadata);\n return {\n format: metadata.sourceFormat,\n source: values.source || \"buffer\",\n supported: metadata.sourceFormat ? \"partial\" : \"none\",\n confidence: metadata.sourceFormat ? 1 : 0,\n preferredOutput: \"video\",\n reason: metadata.sourceFormat ? \"Container/header recognized.\" : \"Unrecognized video format.\",\n metadata,\n variants: [\n {\n kind: \"raw\",\n payloadType: \"raw\",\n codec: metadata.sourceFormat,\n mimeType,\n supported: true,\n },\n {\n kind: \"container\",\n payloadType: \"video\",\n codec: metadata.sourceFormat,\n mimeType,\n codecs: codecs.codecs,\n videoCodecs: codecs.videoCodecs,\n audioCodecs: codecs.audioCodecs,\n supported: true,\n },\n {\n kind: \"decoded\",\n payloadType: \"video-frame\",\n codec: \"frames\",\n supported: false,\n reason: \"Video decode is not implemented in this package.\"\n }\n ],\n warnings: [],\n errors: []\n };\n }\n catch (error)\n {\n return {\n format: expectedType || values.inputType || \"\",\n source: values.source || \"buffer\",\n supported: \"none\",\n confidence: 0,\n preferredOutput: \"\",\n reason: error.message,\n metadata: null,\n variants: [],\n warnings: [],\n errors: [ error.message ]\n };\n }\n}\n\n/** Reads input using normalized format options for the WebM format reader. */\nexport function readWithValues(input, values = DEFAULT_VALUES, expectedType = \"\")\n{\n const bytes = asUint8Array(input, \"Video input\");\n const metadata = inspectWithValues(bytes, values, expectedType);\n if (values.emit === OUTPUT_RAW)\n {\n return {\n payloadType: \"raw\",\n sourceFormat: metadata.sourceFormat,\n metadata,\n bytes\n };\n }\n if (values.emit === OUTPUT_JSON || values.emit === DEBUG_OUTPUTS[metadata.sourceFormat]) return metadata;\n\n if (values.emit === OUTPUT_VIDEO && metadata.sourceFormat === \"webm\")\n {\n const codecs = getTrackCodecSummary(metadata);\n const mimeType = getMediaMimeType(metadata);\n return {\n payloadType: OUTPUT_VIDEO,\n sourceFormat: \"webm\",\n container: metadata.container,\n mimeType,\n codecs: codecs.codecs,\n videoCodecs: codecs.videoCodecs,\n audioCodecs: codecs.audioCodecs,\n duration: metadata.duration || 0,\n durationTimescale: metadata.durationTimescale || 1,\n tracks: metadata.tracks || [],\n metadata,\n sourceBytes: bytes\n };\n }\n\n const error = new Error(`${metadata.sourceFormat}: emit \"${values.emit}\" is not implemented yet`);\n error.code = \"CJS_FORMAT_OUTPUT_NOT_IMPLEMENTED\";\n error.sourceFormat = metadata.sourceFormat;\n error.emit = values.emit;\n throw error;\n}\n\nfunction getTrackCodecSummary(metadata)\n{\n const tracks = Array.isArray(metadata.tracks) ? metadata.tracks : [];\n return {\n codecs: uniqueTrackCodecs(tracks),\n videoCodecs: uniqueTrackCodecs(tracks.filter((track) => track.type === \"video\")),\n audioCodecs: uniqueTrackCodecs(tracks.filter((track) => track.type === \"audio\"))\n };\n}\n\nfunction uniqueTrackCodecs(tracks)\n{\n return [ ...new Set(tracks.map((track) => track.codec).filter(Boolean)) ];\n}\n\nfunction getMediaMimeType(metadata)\n{\n const tracks = Array.isArray(metadata.tracks) ? metadata.tracks : [];\n return tracks.some((track) => track.type === \"video\") ? \"video/webm\" : \"audio/webm\";\n}\n\n/**\n * Inspects the supplied bytes without decoding their payload for the WebM format\n * reader.\n */\nexport function inspectBytes(bytes)\n{\n if (isMP4(bytes)) return inspectMP4(bytes);\n if (isWebM(bytes)) return inspectWebM(bytes);\n return { sourceFormat: \"\" };\n}\n\n/**\n * Reports whether the supplied bytes have an ISO base-media header for the WebM\n * format reader.\n */\nexport function isMP4(bytes)\n{\n return bytes.byteLength >= 12 && readFourCc(bytes, 4) === \"ftyp\";\n}\n\n/**\n * Reports whether the supplied bytes have a WebM EBML header for the WebM format\n * reader.\n */\nexport function isWebM(bytes)\n{\n return bytes.byteLength >= 4 && bytes[0] === 0x1a && bytes[1] === 0x45 && bytes[2] === 0xdf && bytes[3] === 0xa3;\n}\n\n/** Converts a parsed payload into a JSON-safe value for the WebM format reader. */\nexport function toJsonValue(value)\n{\n if (value instanceof Uint8Array) return { byteLength: value.byteLength };\n if (Array.isArray(value)) return value.map(toJsonValue);\n if (value && typeof value === \"object\")\n {\n const output = {};\n for (const [ key, entry ] of Object.entries(value)) output[key] = toJsonValue(entry);\n return output;\n }\n return value;\n}\n\nfunction inspectMP4(bytes)\n{\n return {\n sourceFormat: \"mp4\",\n brand: readFourCc(bytes, 8),\n container: \"isobmff\"\n };\n}\n\nfunction inspectWebM(bytes)\n{\n const roots = readEbmlElements(bytes, 0, bytes.byteLength);\n const fallbackRoots = readEbmlElements(bytes, 4, bytes.byteLength);\n const segment = roots.find((element) => element.id === 0x18538067) ||\n fallbackRoots.find((element) => element.id === 0x18538067);\n if (!segment)\n {\n return {\n sourceFormat: \"webm\",\n container: \"ebml\",\n duration: 0,\n durationTimescale: 1,\n tracks: []\n };\n }\n\n const children = readEbmlElements(bytes, segment.dataStart, segment.end);\n const info = children.find((element) => element.id === 0x1549a966);\n const tracks = children.find((element) => element.id === 0x1654ae6b);\n const infoChildren = info ? readEbmlElements(bytes, info.dataStart, info.end) : [];\n const timecodeScale = readEbmlUnsignedValue(bytes, infoChildren.find((element) => element.id === 0x2ad7b1)) || 1000000;\n const durationTicks = readEbmlFloatValue(bytes, infoChildren.find((element) => element.id === 0x4489)) || 0;\n const duration = Math.round(durationTicks * timecodeScale);\n const clusters = children.filter((element) => element.id === 0x1f43b675);\n const blockSummary = readWebmBlocks(bytes, clusters);\n\n return {\n sourceFormat: \"webm\",\n container: \"ebml\",\n timecodeScale,\n duration,\n durationTimescale: 1000000000,\n durationSeconds: duration / 1000000000,\n tracks: tracks ? readWebmTracks(bytes, tracks) : [],\n clusterCount: clusters.length,\n blockCount: blockSummary.blockCount,\n blockTrackIds: blockSummary.trackIds,\n clusterTimecodes: blockSummary.clusterTimecodes,\n blocks: blockSummary.blocks\n };\n}\n\nfunction readWebmTracks(bytes, tracksElement)\n{\n return readEbmlElements(bytes, tracksElement.dataStart, tracksElement.end)\n .filter((element) => element.id === 0xae)\n .map((entry) =>\n {\n const fields = readEbmlElements(bytes, entry.dataStart, entry.end);\n const trackType = readEbmlUnsignedValue(bytes, fields.find((field) => field.id === 0x83));\n const video = fields.find((field) => field.id === 0xe0);\n const audio = fields.find((field) => field.id === 0xe1);\n const codecPrivate = fields.find((field) => field.id === 0x63a2);\n const result = {\n id: readEbmlUnsignedValue(bytes, fields.find((field) => field.id === 0xd7)) || 0,\n type: trackType === 1 ? \"video\" : trackType === 2 ? \"audio\" : \"unknown\",\n codec: readEbmlStringValue(bytes, fields.find((field) => field.id === 0x86)) || \"\",\n language: readEbmlStringValue(bytes, fields.find((field) => field.id === 0x22b59c)) || \"und\"\n };\n const defaultDuration = readEbmlUnsignedValue(bytes, fields.find((field) => field.id === 0x23e383));\n if (defaultDuration) result.defaultDuration = defaultDuration;\n if (codecPrivate) result.codecPrivateBytes = codecPrivate.end - codecPrivate.dataStart;\n if (video)\n {\n const videoFields = readEbmlElements(bytes, video.dataStart, video.end);\n result.width = readEbmlUnsignedValue(bytes, videoFields.find((field) => field.id === 0xb0)) || 0;\n result.height = readEbmlUnsignedValue(bytes, videoFields.find((field) => field.id === 0xba)) || 0;\n }\n if (audio)\n {\n const audioFields = readEbmlElements(bytes, audio.dataStart, audio.end);\n result.channels = readEbmlUnsignedValue(bytes, audioFields.find((field) => field.id === 0x9f)) || 0;\n result.sampleRate = readEbmlFloatValue(bytes, audioFields.find((field) => field.id === 0xb5)) || 0;\n result.bitDepth = readEbmlUnsignedValue(bytes, audioFields.find((field) => field.id === 0x6264)) || 0;\n }\n return result;\n });\n}\n\nfunction readWebmBlocks(bytes, clusters)\n{\n const trackIds = new Set();\n const clusterTimecodes = [];\n const blocks = [];\n let blockCount = 0;\n for (const cluster of clusters)\n {\n const children = readEbmlElements(bytes, cluster.dataStart, cluster.end);\n const clusterTimecode = readEbmlUnsignedValue(bytes, children.find((child) => child.id === 0xe7));\n clusterTimecodes.push(clusterTimecode);\n for (const child of children)\n {\n if (child.id === 0xa3)\n {\n blockCount++;\n const block = readWebmBlock(bytes, child, clusterTimecode, true);\n if (block)\n {\n blocks.push(block);\n trackIds.add(block.trackId);\n }\n }\n else if (child.id === 0xa0)\n {\n const groupChildren = readEbmlElements(bytes, child.dataStart, child.end);\n const reference = groupChildren.some((groupChild) => groupChild.id === 0xfb);\n for (const groupChild of groupChildren)\n {\n if (groupChild.id !== 0xa1) continue;\n blockCount++;\n const block = readWebmBlock(bytes, groupChild, clusterTimecode, false);\n if (block)\n {\n block.keyframe = !reference;\n blocks.push(block);\n trackIds.add(block.trackId);\n }\n }\n }\n }\n }\n return {\n blockCount,\n trackIds: Array.from(trackIds).sort((a, b) => a - b),\n clusterTimecodes,\n blocks\n };\n}\n\nfunction readWebmBlock(bytes, element, clusterTimecode, simple)\n{\n const track = readEbmlVint(bytes, element.dataStart, element.end, true);\n if (!track || track.value === null || element.dataStart + track.length + 3 > element.end) return null;\n const timecodeOffset = element.dataStart + track.length;\n const relativeTimecode = (bytes[timecodeOffset] << 8) | bytes[timecodeOffset + 1];\n const signedTimecode = relativeTimecode & 0x8000 ? relativeTimecode - 0x10000 : relativeTimecode;\n const flags = bytes[timecodeOffset + 2];\n const lacing = [ \"none\", \"xiph\", \"fixed\", \"ebml\" ][(flags >> 1) & 0x03];\n const frames = readWebmBlockFrames(bytes, timecodeOffset + 3, element.end, lacing);\n return {\n trackId: track.value,\n timecode: signedTimecode,\n absoluteTimecode: clusterTimecode + signedTimecode,\n keyframe: simple ? !!(flags & 0x80) : false,\n invisible: !!(flags & 0x08),\n lacing,\n frameCount: frames.frameCount,\n frameSizes: frames.frameSizes,\n payloadBytes: frames.payloadBytes,\n ...(frames.error ? { lacingError: frames.error } : {})\n };\n}\n\nfunction readWebmBlockFrames(bytes, payloadStart, payloadEnd, lacing)\n{\n const payloadBytes = Math.max(0, payloadEnd - payloadStart);\n if (payloadStart > payloadEnd) return { frameCount: 0, frameSizes: [], payloadBytes: 0, error: \"invalid-payload-range\" };\n if (lacing === \"none\") return { frameCount: 1, frameSizes: [ payloadBytes ], payloadBytes };\n if (payloadStart >= payloadEnd) return { frameCount: 0, frameSizes: [], payloadBytes, error: \"missing-lacing-header\" };\n\n const frameCount = bytes[payloadStart] + 1;\n const dataStart = payloadStart + 1;\n if (frameCount < 2) return { frameCount, frameSizes: [], payloadBytes, error: \"invalid-laced-frame-count\" };\n if (lacing === \"fixed\") return readFixedLacedFrames(payloadBytes, frameCount);\n if (lacing === \"xiph\") return readXiphLacedFrames(bytes, dataStart, payloadEnd, payloadBytes, frameCount);\n return readEbmlLacedFrames(bytes, dataStart, payloadEnd, payloadBytes, frameCount);\n}\n\nfunction readFixedLacedFrames(payloadBytes, frameCount)\n{\n const dataBytes = payloadBytes - 1;\n if (dataBytes < 0 || dataBytes % frameCount !== 0)\n {\n return { frameCount, frameSizes: [], payloadBytes, error: \"invalid-fixed-lacing-size\" };\n }\n return { frameCount, frameSizes: Array.from({ length: frameCount }, () => dataBytes / frameCount), payloadBytes };\n}\n\nfunction readXiphLacedFrames(bytes, offset, end, payloadBytes, frameCount)\n{\n const frameSizes = [];\n for (let frame = 0; frame < frameCount - 1; frame++)\n {\n let size = 0;\n let closed = false;\n while (offset < end)\n {\n const value = bytes[offset++];\n size += value;\n if (value !== 255)\n {\n closed = true;\n break;\n }\n }\n if (!closed) return { frameCount, frameSizes: [], payloadBytes, error: \"unterminated-xiph-lacing-size\" };\n frameSizes.push(size);\n }\n\n const remaining = end - offset - frameSizes.reduce((sum, size) => sum + size, 0);\n if (remaining < 0) return { frameCount, frameSizes: [], payloadBytes, error: \"invalid-xiph-lacing-size\" };\n frameSizes.push(remaining);\n return { frameCount, frameSizes, payloadBytes };\n}\n\nfunction readEbmlLacedFrames(bytes, offset, end, payloadBytes, frameCount)\n{\n const first = readEbmlVint(bytes, offset, end, true);\n if (!first || first.value === null) return { frameCount, frameSizes: [], payloadBytes, error: \"missing-ebml-lacing-size\" };\n\n const frameSizes = [ first.value ];\n offset += first.length;\n for (let frame = 1; frame < frameCount - 1; frame++)\n {\n const delta = readEbmlSignedVint(bytes, offset, end);\n if (!delta) return { frameCount, frameSizes: [], payloadBytes, error: \"missing-ebml-lacing-delta\" };\n const size = frameSizes[frame - 1] + delta.value;\n if (size < 0) return { frameCount, frameSizes: [], payloadBytes, error: \"invalid-ebml-lacing-size\" };\n frameSizes.push(size);\n offset += delta.length;\n }\n\n const remaining = end - offset - frameSizes.reduce((sum, size) => sum + size, 0);\n if (remaining < 0) return { frameCount, frameSizes: [], payloadBytes, error: \"invalid-ebml-lacing-size\" };\n frameSizes.push(remaining);\n return { frameCount, frameSizes, payloadBytes };\n}\n\nfunction readEbmlElements(bytes, start, end)\n{\n const elements = [];\n let offset = start;\n while (offset < end)\n {\n const id = readEbmlId(bytes, offset, end);\n if (!id) break;\n const size = readEbmlVint(bytes, offset + id.length, end, true);\n if (!size) break;\n const dataStart = offset + id.length + size.length;\n const elementEnd = size.value === null ? end : dataStart + size.value;\n if (elementEnd > end) break;\n elements.push({ id: id.value, dataStart, end: elementEnd });\n if (size.value === null) break;\n offset = elementEnd;\n }\n return elements;\n}\n\nfunction readEbmlId(bytes, offset, end)\n{\n if (offset >= end) return null;\n const first = bytes[offset];\n let length = 1;\n let mask = 0x80;\n while (length <= 4 && !(first & mask))\n {\n length++;\n mask >>>= 1;\n }\n if (length > 4 || offset + length > end) return null;\n let value = 0;\n for (let i = 0; i < length; i++) value = value * 256 + bytes[offset + i];\n return { value, length };\n}\n\nfunction readEbmlVint(bytes, offset, end, removeMarker)\n{\n if (offset >= end) return null;\n const first = bytes[offset];\n let length = 1;\n let mask = 0x80;\n while (length <= 8 && !(first & mask))\n {\n length++;\n mask >>>= 1;\n }\n if (length > 8 || offset + length > end) return null;\n let value = removeMarker ? first & (~mask & 0xff) : first;\n for (let i = 1; i < length; i++) value = value * 256 + bytes[offset + i];\n const unknown = removeMarker && value === Math.pow(2, length * 7) - 1;\n return { value: unknown ? null : value, length };\n}\n\nfunction readEbmlSignedVint(bytes, offset, end)\n{\n const vint = readEbmlVint(bytes, offset, end, true);\n if (!vint || vint.value === null) return null;\n const bias = Math.pow(2, (vint.length * 7) - 1) - 1;\n return { value: vint.value - bias, length: vint.length };\n}\n\nfunction readEbmlUnsignedValue(bytes, element)\n{\n if (!element) return 0;\n let value = 0;\n for (let offset = element.dataStart; offset < element.end; offset++) value = value * 256 + bytes[offset];\n return value;\n}\n\nfunction readEbmlFloatValue(bytes, element)\n{\n if (!element || ![ 4, 8 ].includes(element.end - element.dataStart)) return 0;\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n return element.end - element.dataStart === 4\n ? view.getFloat32(element.dataStart, false)\n : view.getFloat64(element.dataStart, false);\n}\n\nfunction readEbmlStringValue(bytes, element)\n{\n if (!element) return \"\";\n return new TextDecoder().decode(bytes.subarray(element.dataStart, element.end));\n}\n\n"],"names":["OUTPUT_VIDEO","OUTPUT_RAW","OUTPUT_JSON","DEFAULT_VALUES","Object","freeze","emit","inputType","source","DEBUG_OUTPUTS","mp4","webm","normalizeValues","base","options","readerName","values","String","replace","toLowerCase","normalizeEmit","undefined","includes","TypeError","JSON","stringify","inspectWithValues","input","expectedType","bytes","asUint8Array","metadata","inspectBytes","sourceFormat","payloadType","mediaTypes","byteLength","probeSupportWithValues","codecs","getTrackCodecSummary","mimeType","getMediaMimeType","format","supported","confidence","preferredOutput","reason","variants","kind","codec","videoCodecs","audioCodecs","warnings","errors","error","message","readWithValues","container","duration","durationTimescale","tracks","sourceBytes","Error","code","Array","isArray","uniqueTrackCodecs","filter","track","type","Set","map","Boolean","some","isMP4","inspectMP4","isWebM","inspectWebM","readFourCc","toJsonValue","value","Uint8Array","output","key","entry","entries","brand","roots","readEbmlElements","fallbackRoots","segment","find","element","id","children","dataStart","end","info","infoChildren","timecodeScale","readEbmlUnsignedValue","durationTicks","readEbmlFloatValue","Math","round","clusters","blockSummary","readWebmBlocks","durationSeconds","readWebmTracks","clusterCount","length","blockCount","blockTrackIds","trackIds","clusterTimecodes","blocks","tracksElement","fields","trackType","field","video","audio","codecPrivate","result","readEbmlStringValue","language","defaultDuration","codecPrivateBytes","videoFields","width","height","audioFields","channels","sampleRate","bitDepth","cluster","clusterTimecode","child","push","block","readWebmBlock","add","trackId","groupChildren","reference","groupChild","keyframe","from","sort","a","b","simple","readEbmlVint","timecodeOffset","relativeTimecode","signedTimecode","flags","lacing","frames","readWebmBlockFrames","timecode","absoluteTimecode","invisible","frameCount","frameSizes","payloadBytes","lacingError","payloadStart","payloadEnd","max","readFixedLacedFrames","readXiphLacedFrames","readEbmlLacedFrames","dataBytes","offset","frame","size","closed","remaining","reduce","sum","first","delta","readEbmlSignedVint","start","elements","readEbmlId","elementEnd","mask","i","removeMarker","unknown","pow","vint","bias","view","DataView","buffer","byteOffset","getFloat32","getFloat64","TextDecoder","decode","subarray"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sources":["../../../../../../src/resource/formats/webm/core/helpers.js"],"sourcesContent":["import { toJsonWithByteSummary as toJsonValue } from \"../../../format/jsonPolicies.js\";\nimport { asUint8Array, readFourCc } from \"#utils/bytes\";\nexport const OUTPUT_VIDEO = \"video\";\nexport const OUTPUT_RAW = \"raw\";\nexport const OUTPUT_JSON = \"json\";\n\nexport const DEFAULT_VALUES = Object.freeze({\n emit: OUTPUT_RAW,\n inputType: \"\",\n source: \"\"\n});\n\nconst DEBUG_OUTPUTS = Object.freeze({\n mp4: \"mp4Json\",\n webm: \"webmJson\"\n});\n\n/**\n * Normalizes reader options against their supported defaults for the WebM format\n * reader.\n */\nexport function normalizeValues(base = DEFAULT_VALUES, options = {}, readerName = \"CjsVideoFormat\")\n{\n const values = { ...DEFAULT_VALUES, ...(base || {}), ...(options || {}) };\n values.inputType = values.inputType ? String(values.inputType).replace(/^\\./u, \"\").toLowerCase() : \"\";\n values.emit = normalizeEmit(values.emit, values.inputType, readerName);\n return values;\n}\n\n/** Normalizes the requested output representation for the WebM format reader. */\nexport function normalizeEmit(emit, inputType, readerName)\n{\n if (emit === undefined || emit === null) return OUTPUT_RAW;\n if (emit === OUTPUT_JSON && inputType) return DEBUG_OUTPUTS[inputType] || OUTPUT_JSON;\n if ([ OUTPUT_VIDEO, OUTPUT_RAW, OUTPUT_JSON ].includes(emit)) return emit;\n if (Object.values(DEBUG_OUTPUTS).includes(emit)) return emit;\n throw new TypeError(`${readerName}: unknown emit value ${JSON.stringify(emit)}`);\n}\n\n/** Returns a byte view over the supplied binary input for the WebM format reader. */\n/** Inspects input using normalized format options for the WebM format reader. */\nexport function inspectWithValues(input, values = DEFAULT_VALUES, expectedType = \"\")\n{\n const bytes = asUint8Array(input, \"Video input\");\n const metadata = inspectBytes(bytes);\n if (expectedType && metadata.sourceFormat && metadata.sourceFormat !== expectedType)\n {\n throw new TypeError(`CjsVideoFormat: expected ${expectedType}, got ${metadata.sourceFormat}`);\n }\n return {\n payloadType: \"video\",\n mediaTypes: [ \"video\" ],\n byteLength: bytes.byteLength,\n sourceFormat: expectedType || values.inputType || metadata.sourceFormat,\n ...metadata\n };\n}\n\n/**\n * Reports whether input is supported under normalized format options for the\n * WebM format reader.\n */\nexport function probeSupportWithValues(input, values = DEFAULT_VALUES, expectedType = \"\")\n{\n try\n {\n const metadata = inspectWithValues(input, values, expectedType);\n const codecs = getTrackCodecSummary(metadata);\n const mimeType = getMediaMimeType(metadata);\n return {\n format: metadata.sourceFormat,\n source: values.source || \"buffer\",\n supported: metadata.sourceFormat ? \"partial\" : \"none\",\n confidence: metadata.sourceFormat ? 1 : 0,\n preferredOutput: \"video\",\n reason: metadata.sourceFormat ? \"Container/header recognized.\" : \"Unrecognized video format.\",\n metadata,\n variants: [\n {\n kind: \"raw\",\n payloadType: \"raw\",\n codec: metadata.sourceFormat,\n mimeType,\n supported: true,\n },\n {\n kind: \"container\",\n payloadType: \"video\",\n codec: metadata.sourceFormat,\n mimeType,\n codecs: codecs.codecs,\n videoCodecs: codecs.videoCodecs,\n audioCodecs: codecs.audioCodecs,\n supported: true,\n },\n {\n kind: \"decoded\",\n payloadType: \"video-frame\",\n codec: \"frames\",\n supported: false,\n reason: \"Video decode is not implemented in this package.\"\n }\n ],\n warnings: [],\n errors: []\n };\n }\n catch (error)\n {\n return {\n format: expectedType || values.inputType || \"\",\n source: values.source || \"buffer\",\n supported: \"none\",\n confidence: 0,\n preferredOutput: \"\",\n reason: error.message,\n metadata: null,\n variants: [],\n warnings: [],\n errors: [ error.message ]\n };\n }\n}\n\n/** Reads input using normalized format options for the WebM format reader. */\nexport function readWithValues(input, values = DEFAULT_VALUES, expectedType = \"\")\n{\n const bytes = asUint8Array(input, \"Video input\");\n const metadata = inspectWithValues(bytes, values, expectedType);\n if (values.emit === OUTPUT_RAW)\n {\n return {\n payloadType: \"raw\",\n sourceFormat: metadata.sourceFormat,\n metadata,\n bytes\n };\n }\n if (values.emit === OUTPUT_JSON || values.emit === DEBUG_OUTPUTS[metadata.sourceFormat]) return metadata;\n\n if (values.emit === OUTPUT_VIDEO && metadata.sourceFormat === \"webm\")\n {\n const codecs = getTrackCodecSummary(metadata);\n const mimeType = getMediaMimeType(metadata);\n return {\n payloadType: OUTPUT_VIDEO,\n sourceFormat: \"webm\",\n container: metadata.container,\n mimeType,\n codecs: codecs.codecs,\n videoCodecs: codecs.videoCodecs,\n audioCodecs: codecs.audioCodecs,\n duration: metadata.duration || 0,\n durationTimescale: metadata.durationTimescale || 1,\n tracks: metadata.tracks || [],\n metadata,\n sourceBytes: bytes\n };\n }\n\n const error = new Error(`${metadata.sourceFormat}: emit \"${values.emit}\" is not implemented yet`);\n error.code = \"CJS_FORMAT_OUTPUT_NOT_IMPLEMENTED\";\n error.sourceFormat = metadata.sourceFormat;\n error.emit = values.emit;\n throw error;\n}\n\nfunction getTrackCodecSummary(metadata)\n{\n const tracks = Array.isArray(metadata.tracks) ? metadata.tracks : [];\n return {\n codecs: uniqueTrackCodecs(tracks),\n videoCodecs: uniqueTrackCodecs(tracks.filter((track) => track.type === \"video\")),\n audioCodecs: uniqueTrackCodecs(tracks.filter((track) => track.type === \"audio\"))\n };\n}\n\nfunction uniqueTrackCodecs(tracks)\n{\n return [ ...new Set(tracks.map((track) => track.codec).filter(Boolean)) ];\n}\n\nfunction getMediaMimeType(metadata)\n{\n const tracks = Array.isArray(metadata.tracks) ? metadata.tracks : [];\n return tracks.some((track) => track.type === \"video\") ? \"video/webm\" : \"audio/webm\";\n}\n\n/**\n * Inspects the supplied bytes without decoding their payload for the WebM format\n * reader.\n */\nexport function inspectBytes(bytes)\n{\n if (isMP4(bytes)) return inspectMP4(bytes);\n if (isWebM(bytes)) return inspectWebM(bytes);\n return { sourceFormat: \"\" };\n}\n\n/**\n * Reports whether the supplied bytes have an ISO base-media header for the WebM\n * format reader.\n */\nexport function isMP4(bytes)\n{\n return bytes.byteLength >= 12 && readFourCc(bytes, 4) === \"ftyp\";\n}\n\n/**\n * Reports whether the supplied bytes have a WebM EBML header for the WebM format\n * reader.\n */\nexport function isWebM(bytes)\n{\n return bytes.byteLength >= 4 && bytes[0] === 0x1a && bytes[1] === 0x45 && bytes[2] === 0xdf && bytes[3] === 0xa3;\n}\n\n/** Converts a parsed payload into a JSON-safe value for the WebM format reader. */\n/** The shared JSON policy for this reader, under the name its callers use. */\nexport { toJsonValue };\n\nfunction inspectMP4(bytes)\n{\n return {\n sourceFormat: \"mp4\",\n brand: readFourCc(bytes, 8),\n container: \"isobmff\"\n };\n}\n\nfunction inspectWebM(bytes)\n{\n const roots = readEbmlElements(bytes, 0, bytes.byteLength);\n const fallbackRoots = readEbmlElements(bytes, 4, bytes.byteLength);\n const segment = roots.find((element) => element.id === 0x18538067) ||\n fallbackRoots.find((element) => element.id === 0x18538067);\n if (!segment)\n {\n return {\n sourceFormat: \"webm\",\n container: \"ebml\",\n duration: 0,\n durationTimescale: 1,\n tracks: []\n };\n }\n\n const children = readEbmlElements(bytes, segment.dataStart, segment.end);\n const info = children.find((element) => element.id === 0x1549a966);\n const tracks = children.find((element) => element.id === 0x1654ae6b);\n const infoChildren = info ? readEbmlElements(bytes, info.dataStart, info.end) : [];\n const timecodeScale = readEbmlUnsignedValue(bytes, infoChildren.find((element) => element.id === 0x2ad7b1)) || 1000000;\n const durationTicks = readEbmlFloatValue(bytes, infoChildren.find((element) => element.id === 0x4489)) || 0;\n const duration = Math.round(durationTicks * timecodeScale);\n const clusters = children.filter((element) => element.id === 0x1f43b675);\n const blockSummary = readWebmBlocks(bytes, clusters);\n\n return {\n sourceFormat: \"webm\",\n container: \"ebml\",\n timecodeScale,\n duration,\n durationTimescale: 1000000000,\n durationSeconds: duration / 1000000000,\n tracks: tracks ? readWebmTracks(bytes, tracks) : [],\n clusterCount: clusters.length,\n blockCount: blockSummary.blockCount,\n blockTrackIds: blockSummary.trackIds,\n clusterTimecodes: blockSummary.clusterTimecodes,\n blocks: blockSummary.blocks\n };\n}\n\nfunction readWebmTracks(bytes, tracksElement)\n{\n return readEbmlElements(bytes, tracksElement.dataStart, tracksElement.end)\n .filter((element) => element.id === 0xae)\n .map((entry) =>\n {\n const fields = readEbmlElements(bytes, entry.dataStart, entry.end);\n const trackType = readEbmlUnsignedValue(bytes, fields.find((field) => field.id === 0x83));\n const video = fields.find((field) => field.id === 0xe0);\n const audio = fields.find((field) => field.id === 0xe1);\n const codecPrivate = fields.find((field) => field.id === 0x63a2);\n const result = {\n id: readEbmlUnsignedValue(bytes, fields.find((field) => field.id === 0xd7)) || 0,\n type: trackType === 1 ? \"video\" : trackType === 2 ? \"audio\" : \"unknown\",\n codec: readEbmlStringValue(bytes, fields.find((field) => field.id === 0x86)) || \"\",\n language: readEbmlStringValue(bytes, fields.find((field) => field.id === 0x22b59c)) || \"und\"\n };\n const defaultDuration = readEbmlUnsignedValue(bytes, fields.find((field) => field.id === 0x23e383));\n if (defaultDuration) result.defaultDuration = defaultDuration;\n if (codecPrivate) result.codecPrivateBytes = codecPrivate.end - codecPrivate.dataStart;\n if (video)\n {\n const videoFields = readEbmlElements(bytes, video.dataStart, video.end);\n result.width = readEbmlUnsignedValue(bytes, videoFields.find((field) => field.id === 0xb0)) || 0;\n result.height = readEbmlUnsignedValue(bytes, videoFields.find((field) => field.id === 0xba)) || 0;\n }\n if (audio)\n {\n const audioFields = readEbmlElements(bytes, audio.dataStart, audio.end);\n result.channels = readEbmlUnsignedValue(bytes, audioFields.find((field) => field.id === 0x9f)) || 0;\n result.sampleRate = readEbmlFloatValue(bytes, audioFields.find((field) => field.id === 0xb5)) || 0;\n result.bitDepth = readEbmlUnsignedValue(bytes, audioFields.find((field) => field.id === 0x6264)) || 0;\n }\n return result;\n });\n}\n\nfunction readWebmBlocks(bytes, clusters)\n{\n const trackIds = new Set();\n const clusterTimecodes = [];\n const blocks = [];\n let blockCount = 0;\n for (const cluster of clusters)\n {\n const children = readEbmlElements(bytes, cluster.dataStart, cluster.end);\n const clusterTimecode = readEbmlUnsignedValue(bytes, children.find((child) => child.id === 0xe7));\n clusterTimecodes.push(clusterTimecode);\n for (const child of children)\n {\n if (child.id === 0xa3)\n {\n blockCount++;\n const block = readWebmBlock(bytes, child, clusterTimecode, true);\n if (block)\n {\n blocks.push(block);\n trackIds.add(block.trackId);\n }\n }\n else if (child.id === 0xa0)\n {\n const groupChildren = readEbmlElements(bytes, child.dataStart, child.end);\n const reference = groupChildren.some((groupChild) => groupChild.id === 0xfb);\n for (const groupChild of groupChildren)\n {\n if (groupChild.id !== 0xa1) continue;\n blockCount++;\n const block = readWebmBlock(bytes, groupChild, clusterTimecode, false);\n if (block)\n {\n block.keyframe = !reference;\n blocks.push(block);\n trackIds.add(block.trackId);\n }\n }\n }\n }\n }\n return {\n blockCount,\n trackIds: Array.from(trackIds).sort((a, b) => a - b),\n clusterTimecodes,\n blocks\n };\n}\n\nfunction readWebmBlock(bytes, element, clusterTimecode, simple)\n{\n const track = readEbmlVint(bytes, element.dataStart, element.end, true);\n if (!track || track.value === null || element.dataStart + track.length + 3 > element.end) return null;\n const timecodeOffset = element.dataStart + track.length;\n const relativeTimecode = (bytes[timecodeOffset] << 8) | bytes[timecodeOffset + 1];\n const signedTimecode = relativeTimecode & 0x8000 ? relativeTimecode - 0x10000 : relativeTimecode;\n const flags = bytes[timecodeOffset + 2];\n const lacing = [ \"none\", \"xiph\", \"fixed\", \"ebml\" ][(flags >> 1) & 0x03];\n const frames = readWebmBlockFrames(bytes, timecodeOffset + 3, element.end, lacing);\n return {\n trackId: track.value,\n timecode: signedTimecode,\n absoluteTimecode: clusterTimecode + signedTimecode,\n keyframe: simple ? !!(flags & 0x80) : false,\n invisible: !!(flags & 0x08),\n lacing,\n frameCount: frames.frameCount,\n frameSizes: frames.frameSizes,\n payloadBytes: frames.payloadBytes,\n ...(frames.error ? { lacingError: frames.error } : {})\n };\n}\n\nfunction readWebmBlockFrames(bytes, payloadStart, payloadEnd, lacing)\n{\n const payloadBytes = Math.max(0, payloadEnd - payloadStart);\n if (payloadStart > payloadEnd) return { frameCount: 0, frameSizes: [], payloadBytes: 0, error: \"invalid-payload-range\" };\n if (lacing === \"none\") return { frameCount: 1, frameSizes: [ payloadBytes ], payloadBytes };\n if (payloadStart >= payloadEnd) return { frameCount: 0, frameSizes: [], payloadBytes, error: \"missing-lacing-header\" };\n\n const frameCount = bytes[payloadStart] + 1;\n const dataStart = payloadStart + 1;\n if (frameCount < 2) return { frameCount, frameSizes: [], payloadBytes, error: \"invalid-laced-frame-count\" };\n if (lacing === \"fixed\") return readFixedLacedFrames(payloadBytes, frameCount);\n if (lacing === \"xiph\") return readXiphLacedFrames(bytes, dataStart, payloadEnd, payloadBytes, frameCount);\n return readEbmlLacedFrames(bytes, dataStart, payloadEnd, payloadBytes, frameCount);\n}\n\nfunction readFixedLacedFrames(payloadBytes, frameCount)\n{\n const dataBytes = payloadBytes - 1;\n if (dataBytes < 0 || dataBytes % frameCount !== 0)\n {\n return { frameCount, frameSizes: [], payloadBytes, error: \"invalid-fixed-lacing-size\" };\n }\n return { frameCount, frameSizes: Array.from({ length: frameCount }, () => dataBytes / frameCount), payloadBytes };\n}\n\nfunction readXiphLacedFrames(bytes, offset, end, payloadBytes, frameCount)\n{\n const frameSizes = [];\n for (let frame = 0; frame < frameCount - 1; frame++)\n {\n let size = 0;\n let closed = false;\n while (offset < end)\n {\n const value = bytes[offset++];\n size += value;\n if (value !== 255)\n {\n closed = true;\n break;\n }\n }\n if (!closed) return { frameCount, frameSizes: [], payloadBytes, error: \"unterminated-xiph-lacing-size\" };\n frameSizes.push(size);\n }\n\n const remaining = end - offset - frameSizes.reduce((sum, size) => sum + size, 0);\n if (remaining < 0) return { frameCount, frameSizes: [], payloadBytes, error: \"invalid-xiph-lacing-size\" };\n frameSizes.push(remaining);\n return { frameCount, frameSizes, payloadBytes };\n}\n\nfunction readEbmlLacedFrames(bytes, offset, end, payloadBytes, frameCount)\n{\n const first = readEbmlVint(bytes, offset, end, true);\n if (!first || first.value === null) return { frameCount, frameSizes: [], payloadBytes, error: \"missing-ebml-lacing-size\" };\n\n const frameSizes = [ first.value ];\n offset += first.length;\n for (let frame = 1; frame < frameCount - 1; frame++)\n {\n const delta = readEbmlSignedVint(bytes, offset, end);\n if (!delta) return { frameCount, frameSizes: [], payloadBytes, error: \"missing-ebml-lacing-delta\" };\n const size = frameSizes[frame - 1] + delta.value;\n if (size < 0) return { frameCount, frameSizes: [], payloadBytes, error: \"invalid-ebml-lacing-size\" };\n frameSizes.push(size);\n offset += delta.length;\n }\n\n const remaining = end - offset - frameSizes.reduce((sum, size) => sum + size, 0);\n if (remaining < 0) return { frameCount, frameSizes: [], payloadBytes, error: \"invalid-ebml-lacing-size\" };\n frameSizes.push(remaining);\n return { frameCount, frameSizes, payloadBytes };\n}\n\nfunction readEbmlElements(bytes, start, end)\n{\n const elements = [];\n let offset = start;\n while (offset < end)\n {\n const id = readEbmlId(bytes, offset, end);\n if (!id) break;\n const size = readEbmlVint(bytes, offset + id.length, end, true);\n if (!size) break;\n const dataStart = offset + id.length + size.length;\n const elementEnd = size.value === null ? end : dataStart + size.value;\n if (elementEnd > end) break;\n elements.push({ id: id.value, dataStart, end: elementEnd });\n if (size.value === null) break;\n offset = elementEnd;\n }\n return elements;\n}\n\nfunction readEbmlId(bytes, offset, end)\n{\n if (offset >= end) return null;\n const first = bytes[offset];\n let length = 1;\n let mask = 0x80;\n while (length <= 4 && !(first & mask))\n {\n length++;\n mask >>>= 1;\n }\n if (length > 4 || offset + length > end) return null;\n let value = 0;\n for (let i = 0; i < length; i++) value = value * 256 + bytes[offset + i];\n return { value, length };\n}\n\nfunction readEbmlVint(bytes, offset, end, removeMarker)\n{\n if (offset >= end) return null;\n const first = bytes[offset];\n let length = 1;\n let mask = 0x80;\n while (length <= 8 && !(first & mask))\n {\n length++;\n mask >>>= 1;\n }\n if (length > 8 || offset + length > end) return null;\n let value = removeMarker ? first & (~mask & 0xff) : first;\n for (let i = 1; i < length; i++) value = value * 256 + bytes[offset + i];\n const unknown = removeMarker && value === Math.pow(2, length * 7) - 1;\n return { value: unknown ? null : value, length };\n}\n\nfunction readEbmlSignedVint(bytes, offset, end)\n{\n const vint = readEbmlVint(bytes, offset, end, true);\n if (!vint || vint.value === null) return null;\n const bias = Math.pow(2, (vint.length * 7) - 1) - 1;\n return { value: vint.value - bias, length: vint.length };\n}\n\nfunction readEbmlUnsignedValue(bytes, element)\n{\n if (!element) return 0;\n let value = 0;\n for (let offset = element.dataStart; offset < element.end; offset++) value = value * 256 + bytes[offset];\n return value;\n}\n\nfunction readEbmlFloatValue(bytes, element)\n{\n if (!element || ![ 4, 8 ].includes(element.end - element.dataStart)) return 0;\n const view = new DataView(bytes.buffer, bytes.byteOffset, bytes.byteLength);\n return element.end - element.dataStart === 4\n ? view.getFloat32(element.dataStart, false)\n : view.getFloat64(element.dataStart, false);\n}\n\nfunction readEbmlStringValue(bytes, element)\n{\n if (!element) return \"\";\n return new TextDecoder().decode(bytes.subarray(element.dataStart, element.end));\n}\n\n"],"names":["OUTPUT_VIDEO","OUTPUT_RAW","OUTPUT_JSON","DEFAULT_VALUES","Object","freeze","emit","inputType","source","DEBUG_OUTPUTS","mp4","webm","normalizeValues","base","options","readerName","values","String","replace","toLowerCase","normalizeEmit","undefined","includes","TypeError","JSON","stringify","inspectWithValues","input","expectedType","bytes","asUint8Array","metadata","inspectBytes","sourceFormat","payloadType","mediaTypes","byteLength","readWithValues","codecs","getTrackCodecSummary","mimeType","getMediaMimeType","container","videoCodecs","audioCodecs","duration","durationTimescale","tracks","sourceBytes","error","Error","code","Array","isArray","uniqueTrackCodecs","filter","track","type","Set","map","codec","Boolean","some","isMP4","inspectMP4","isWebM","inspectWebM","readFourCc","brand","roots","readEbmlElements","fallbackRoots","segment","find","element","id","children","dataStart","end","info","infoChildren","timecodeScale","readEbmlUnsignedValue","durationTicks","readEbmlFloatValue","Math","round","clusters","blockSummary","readWebmBlocks","durationSeconds","readWebmTracks","clusterCount","length","blockCount","blockTrackIds","trackIds","clusterTimecodes","blocks","tracksElement","entry","fields","trackType","field","video","audio","codecPrivate","result","readEbmlStringValue","language","defaultDuration","codecPrivateBytes","videoFields","width","height","audioFields","channels","sampleRate","bitDepth","cluster","clusterTimecode","child","push","block","readWebmBlock","add","trackId","groupChildren","reference","groupChild","keyframe","from","sort","a","b","simple","readEbmlVint","value","timecodeOffset","relativeTimecode","signedTimecode","flags","lacing","frames","readWebmBlockFrames","timecode","absoluteTimecode","invisible","frameCount","frameSizes","payloadBytes","lacingError","payloadStart","payloadEnd","max","readFixedLacedFrames","readXiphLacedFrames","readEbmlLacedFrames","dataBytes","offset","frame","size","closed","remaining","reduce","sum","first","delta","readEbmlSignedVint","start","elements","readEbmlId","elementEnd","mask","i","removeMarker","unknown","pow","vint","bias","view","DataView","buffer","byteOffset","getFloat32","getFloat64","TextDecoder","decode","subarray"],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { asUint8Array } from '#utils/bytes';
2
2
  import { CjsFormat } from '../../format/CjsFormat.js';
3
- import { DEFAULT_VALUES, normalizeValues, readWithValues, inspectWithValues, toJsonValue, probeSupportWithValues, isWebP, OUTPUT_JSON, OUTPUT_RAW } from './core/helpers.js';
3
+ import { DEFAULT_VALUES, normalizeValues, readWithValues, inspectWithValues, isWebP, OUTPUT_JSON, OUTPUT_RAW } from './core/helpers.js';
4
+ import { toJsonWithByteSummary } from '../../format/jsonPolicies.js';
4
5
 
5
6
  const FORMAT_NAME = "CjsWebpFormat";
6
7
 
@@ -69,7 +70,7 @@ class CjsWebpFormat extends CjsFormat {
69
70
  * the WebP format configuration.
70
71
  */
71
72
  ToJSON(value) {
72
- return toJsonValue(value);
73
+ return toJsonWithByteSummary(value);
73
74
  }
74
75
 
75
76
  /** Provides the one-shot WebP payload reader entry point. */
@@ -94,16 +95,10 @@ class CjsWebpFormat extends CjsFormat {
94
95
  }
95
96
 
96
97
  /** Checks one input against the WebP decoder capability contract. */
97
- static probeSupport(input, options = {}) {
98
- return probeSupportWithValues(input, normalizeValues(DEFAULT_VALUES, {
99
- inputType: "webp",
100
- ...options
101
- }, FORMAT_NAME));
102
- }
103
98
 
104
99
  /** Provides the one-shot WebP JSON conversion entry point. */
105
100
  static toJSON(value) {
106
- return toJsonValue(value);
101
+ return toJsonWithByteSummary(value);
107
102
  }
108
103
 
109
104
  /** Checks whether caller-provided bytes carry the expected WebP signature. */
@@ -1 +1 @@
1
- {"version":3,"file":"CjsWebpFormat.js","sources":["../../../../../src/resource/formats/webp/CjsWebpFormat.js"],"sourcesContent":["import { asUint8Array } from \"#utils/bytes\";\nimport { CjsFormat } from \"../../format/CjsFormat.js\";\nimport {\n DEFAULT_VALUES,\n OUTPUT_JSON,\n OUTPUT_RAW,\n inspectWithValues,\n probeSupportWithValues,\n isWebP,\n normalizeValues,\n readWithValues,\n toJsonValue\n} from \"./core/helpers.js\";\n\nconst FORMAT_NAME = \"CjsWebpFormat\";\n\n/**\n * Metadata-only WebP format profile that inspects RIFF chunk headers and\n * emits raw container bytes or debug JSON without decoding pixels.\n */\nexport class CjsWebpFormat extends CjsFormat\n{\n #values = DEFAULT_VALUES;\n\n /** Creates a CjsWebpFormat with caller-provided reader configuration. */\n constructor(options = {})\n {\n super();\n this.SetValues(options);\n }\n\n /**\n * Applies caller-provided options after normalizing supported fields for the\n * WebP format configuration.\n */\n SetValues(options = {})\n {\n this.#values = normalizeValues(this.#values, { inputType: \"webp\", ...options }, FORMAT_NAME);\n return this;\n }\n\n /**\n * Returns a snapshot of the normalized reader options for the WebP format\n * configuration.\n */\n GetValues(options = {})\n {\n return normalizeValues(this.#values, { inputType: \"webp\", ...options }, FORMAT_NAME);\n }\n\n /**\n * Reads the primary public payload representation from the supplied input\n * for the WebP format configuration.\n */\n Read(input, options = {})\n {\n return readWithValues(input, this.GetValues(options));\n }\n\n /**\n * Reads the primary public payload representation asynchronously for the\n * WebP format configuration.\n */\n async ReadAsync(input, options = {})\n {\n return this.Read(input, options);\n }\n\n /**\n * Returns structural metadata without materializing the decoded payload for\n * the WebP format configuration.\n */\n Inspect(input, options = {})\n {\n return inspectWithValues(input, this.GetValues(options));\n }\n\n /**\n * Converts the current decoded payload into a JSON-safe representation for\n * the WebP format configuration.\n */\n ToJSON(value)\n {\n return toJsonValue(value);\n }\n\n /** Provides the one-shot WebP payload reader entry point. */\n static read(input, options = {})\n {\n return readWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"webp\", ...options }, FORMAT_NAME));\n }\n\n /** Provides the asynchronous one-shot WebP payload reader entry point. */\n static async readAsync(input, options = {})\n {\n return CjsWebpFormat.read(input, options);\n }\n\n /** Provides the one-shot WebP metadata inspection entry point. */\n static inspect(input, options = {})\n {\n return inspectWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"webp\", ...options }, FORMAT_NAME));\n }\n\n /** Checks one input against the WebP decoder capability contract. */\n static probeSupport(input, options = {})\n {\n return probeSupportWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"webp\", ...options }, FORMAT_NAME));\n }\n\n /** Provides the one-shot WebP JSON conversion entry point. */\n static toJSON(value)\n {\n return toJsonValue(value);\n }\n\n /** Checks whether caller-provided bytes carry the expected WebP signature. */\n static isWebP(input)\n {\n try\n {\n return isWebP(asUint8Array(input, \"WebP input\"));\n }\n catch\n {\n return false;\n }\n }\n\n /**\n * Emit targets for this format (canonical frozen enum).\n */\n static Output = Object.freeze({\n RAW: OUTPUT_RAW,\n JSON: OUTPUT_JSON\n });\n\n static OUTPUT_WEBP_JSON = \"webpJson\";\n\n static id = \"webp\";\n\n static mediaTypes = Object.freeze([ \"image\" ]);\n\n static outputs = CjsFormat.defineOutputs({\n\n webpJson: { role: \"debug\", probes: [ \"webpJson\", \"raw\" ] },\n\n raw: { role: \"debug\", default: true, passthrough: true }\n\n });\n\n static extensions = Object.freeze([ \".webp\" ]);\n}\n\nexport default CjsWebpFormat;\n"],"names":["FORMAT_NAME","CjsWebpFormat","CjsFormat","DEFAULT_VALUES","constructor","options","SetValues","normalizeValues","inputType","GetValues","Read","input","readWithValues","ReadAsync","Inspect","inspectWithValues","ToJSON","value","toJsonValue","read","readAsync","inspect","probeSupport","probeSupportWithValues","toJSON","isWebP","asUint8Array","Output","Object","freeze","RAW","OUTPUT_RAW","JSON","OUTPUT_JSON","OUTPUT_WEBP_JSON","id","mediaTypes","outputs","defineOutputs","webpJson","role","probes","raw","default","passthrough","extensions"],"mappings":"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"}
1
+ {"version":3,"file":"CjsWebpFormat.js","sources":["../../../../../src/resource/formats/webp/CjsWebpFormat.js"],"sourcesContent":["import { asUint8Array } from \"#utils/bytes\";\nimport { CjsFormat } from \"../../format/CjsFormat.js\";\nimport {\n DEFAULT_VALUES,\n OUTPUT_JSON,\n OUTPUT_RAW,\n inspectWithValues,\n probeSupportWithValues,\n isWebP,\n normalizeValues,\n readWithValues,\n toJsonValue\n} from \"./core/helpers.js\";\n\nconst FORMAT_NAME = \"CjsWebpFormat\";\n\n/**\n * Metadata-only WebP format profile that inspects RIFF chunk headers and\n * emits raw container bytes or debug JSON without decoding pixels.\n */\nexport class CjsWebpFormat extends CjsFormat\n{\n #values = DEFAULT_VALUES;\n\n /** Creates a CjsWebpFormat with caller-provided reader configuration. */\n constructor(options = {})\n {\n super();\n this.SetValues(options);\n }\n\n /**\n * Applies caller-provided options after normalizing supported fields for the\n * WebP format configuration.\n */\n SetValues(options = {})\n {\n this.#values = normalizeValues(this.#values, { inputType: \"webp\", ...options }, FORMAT_NAME);\n return this;\n }\n\n /**\n * Returns a snapshot of the normalized reader options for the WebP format\n * configuration.\n */\n GetValues(options = {})\n {\n return normalizeValues(this.#values, { inputType: \"webp\", ...options }, FORMAT_NAME);\n }\n\n /**\n * Reads the primary public payload representation from the supplied input\n * for the WebP format configuration.\n */\n Read(input, options = {})\n {\n return readWithValues(input, this.GetValues(options));\n }\n\n /**\n * Reads the primary public payload representation asynchronously for the\n * WebP format configuration.\n */\n async ReadAsync(input, options = {})\n {\n return this.Read(input, options);\n }\n\n /**\n * Returns structural metadata without materializing the decoded payload for\n * the WebP format configuration.\n */\n Inspect(input, options = {})\n {\n return inspectWithValues(input, this.GetValues(options));\n }\n\n /**\n * Converts the current decoded payload into a JSON-safe representation for\n * the WebP format configuration.\n */\n ToJSON(value)\n {\n return toJsonValue(value);\n }\n\n /** Provides the one-shot WebP payload reader entry point. */\n static read(input, options = {})\n {\n return readWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"webp\", ...options }, FORMAT_NAME));\n }\n\n /** Provides the asynchronous one-shot WebP payload reader entry point. */\n static async readAsync(input, options = {})\n {\n return CjsWebpFormat.read(input, options);\n }\n\n /** Provides the one-shot WebP metadata inspection entry point. */\n static inspect(input, options = {})\n {\n return inspectWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"webp\", ...options }, FORMAT_NAME));\n }\n\n /** Checks one input against the WebP decoder capability contract. */\n\n /** Provides the one-shot WebP JSON conversion entry point. */\n static toJSON(value)\n {\n return toJsonValue(value);\n }\n\n /** Checks whether caller-provided bytes carry the expected WebP signature. */\n static isWebP(input)\n {\n try\n {\n return isWebP(asUint8Array(input, \"WebP input\"));\n }\n catch\n {\n return false;\n }\n }\n\n /**\n * Emit targets for this format (canonical frozen enum).\n */\n static Output = Object.freeze({\n RAW: OUTPUT_RAW,\n JSON: OUTPUT_JSON\n });\n\n static OUTPUT_WEBP_JSON = \"webpJson\";\n\n static id = \"webp\";\n\n static mediaTypes = Object.freeze([ \"image\" ]);\n\n static outputs = CjsFormat.defineOutputs({\n\n webpJson: { role: \"debug\", probes: [ \"webpJson\", \"raw\" ] },\n\n raw: { role: \"debug\", default: true, passthrough: true }\n\n });\n\n static extensions = Object.freeze([ \".webp\" ]);\n}\n\nexport default CjsWebpFormat;\n"],"names":["FORMAT_NAME","CjsWebpFormat","CjsFormat","DEFAULT_VALUES","constructor","options","SetValues","normalizeValues","inputType","GetValues","Read","input","readWithValues","ReadAsync","Inspect","inspectWithValues","ToJSON","value","toJsonValue","read","readAsync","inspect","toJSON","isWebP","asUint8Array","Output","Object","freeze","RAW","OUTPUT_RAW","JSON","OUTPUT_JSON","OUTPUT_WEBP_JSON","id","mediaTypes","outputs","defineOutputs","webpJson","role","probes","raw","default","passthrough","extensions"],"mappings":"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"}
@@ -55,53 +55,6 @@ function inspectWithValues(input, values = DEFAULT_VALUES, expectedType = "webp"
55
55
  };
56
56
  }
57
57
 
58
- /**
59
- * Reports whether input is supported under normalized format options for the
60
- * WebP format reader.
61
- */
62
- function probeSupportWithValues(input, values = DEFAULT_VALUES) {
63
- try {
64
- const metadata = inspectWithValues(input, values);
65
- return {
66
- format: "webp",
67
- source: values.source || "buffer",
68
- supported: "partial",
69
- confidence: 1,
70
- preferredOutput: "raw",
71
- reason: "WebP container and image metadata are recognized; software RGBA decode is not implemented.",
72
- metadata,
73
- variants: [{
74
- kind: "raw",
75
- payloadType: "raw",
76
- codec: "webp",
77
- mimeType: "image/webp",
78
- supported: true
79
- }, {
80
- kind: "rgba",
81
- payloadType: "rgba",
82
- codec: "rgba8unorm",
83
- supported: false,
84
- reason: "WebP software RGBA decode is not implemented yet."
85
- }],
86
- warnings: [],
87
- errors: []
88
- };
89
- } catch (error) {
90
- return {
91
- format: "webp",
92
- source: values.source || "buffer",
93
- supported: "none",
94
- confidence: 0,
95
- preferredOutput: "",
96
- reason: error.message,
97
- metadata: null,
98
- variants: [],
99
- warnings: [],
100
- errors: [error.message]
101
- };
102
- }
103
- }
104
-
105
58
  /** Reads input using normalized format options for the WebP format reader. */
106
59
  function readWithValues(input, values = DEFAULT_VALUES) {
107
60
  const bytes = asUint8Array(input, "WebP input");
@@ -120,20 +73,6 @@ function readWithValues(input, values = DEFAULT_VALUES) {
120
73
  error.code = "CJS_FORMAT_OUTPUT_NOT_IMPLEMENTED";
121
74
  throw error;
122
75
  }
123
-
124
- /** Converts a parsed payload into a JSON-safe value for the WebP format reader. */
125
- function toJsonValue(value) {
126
- if (value instanceof Uint8Array) return {
127
- byteLength: value.byteLength
128
- };
129
- if (Array.isArray(value)) return value.map(toJsonValue);
130
- if (value && typeof value === "object") {
131
- const output = {};
132
- for (const [key, entry] of Object.entries(value)) output[key] = toJsonValue(entry);
133
- return output;
134
- }
135
- return value;
136
- }
137
76
  function inspectWebP(bytes) {
138
77
  const riffLength = readU32LE(bytes, 4);
139
78
  const chunks = [];
@@ -213,5 +152,5 @@ function ascii(bytes, offset, length) {
213
152
  return String.fromCharCode(...bytes.subarray(offset, offset + length));
214
153
  }
215
154
 
216
- export { DEFAULT_VALUES, OUTPUT_JSON, OUTPUT_RAW, inspectWithValues, isWebP, normalizeValues, probeSupportWithValues, readWithValues, toJsonValue };
155
+ export { DEFAULT_VALUES, OUTPUT_JSON, OUTPUT_RAW, inspectWithValues, isWebP, normalizeValues, readWithValues };
217
156
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../../../../../src/resource/formats/webp/core/helpers.js"],"sourcesContent":["import { asUint8Array, readU16LE, readU24LE, readU32LE } from \"#utils/bytes\";\n\nexport const OUTPUT_RAW = \"raw\";\nexport const OUTPUT_JSON = \"json\";\n\nexport const DEFAULT_VALUES = Object.freeze({\n emit: OUTPUT_RAW,\n inputType: \"webp\",\n source: \"\"\n});\n\n/**\n * Normalizes reader options against their supported defaults for the WebP format\n * reader.\n */\nexport function normalizeValues(base = DEFAULT_VALUES, options = {}, readerName = \"CjsWebpFormat\")\n{\n if (!options || typeof options !== \"object\" || Array.isArray(options))\n {\n throw new TypeError(`${readerName}: options must be an object`);\n }\n const allowed = new Set([ \"emit\", \"inputType\", \"source\" ]);\n for (const key of Object.keys(options))\n {\n if (!allowed.has(key)) throw new TypeError(`${readerName}: unknown option ${JSON.stringify(key)}`);\n }\n const values = { ...DEFAULT_VALUES, ...(base || {}), ...options };\n if (![ OUTPUT_RAW, OUTPUT_JSON, \"webpJson\" ].includes(values.emit))\n {\n throw new TypeError(`${readerName}: unknown emit value ${JSON.stringify(values.emit)}`);\n }\n return values;\n}\n\n/** Returns a byte view over the supplied binary input for the WebP format reader. */\r/**\n * Reports whether the supplied bytes have a RIFF/WebP header for the WebP format\n * reader.\n */\nexport function isWebP(bytes)\n{\n return bytes.byteLength >= 12 &&\n ascii(bytes, 0, 4) === \"RIFF\" && ascii(bytes, 8, 4) === \"WEBP\";\n}\n\n/** Inspects input using normalized format options for the WebP format reader. */\nexport function inspectWithValues(input, values = DEFAULT_VALUES, expectedType = \"webp\")\n{\n const bytes = asUint8Array(input, \"WebP input\");\n if (!isWebP(bytes)) throw new TypeError(\"CjsWebpFormat: input is not a RIFF WebP container\");\n const metadata = inspectWebP(bytes);\n if (expectedType && metadata.sourceFormat !== expectedType)\n {\n throw new TypeError(`CjsWebpFormat: expected ${expectedType}, got ${metadata.sourceFormat}`);\n }\n return { ...metadata, byteLength: bytes.byteLength, source: values.source || \"buffer\" };\n}\n\n/**\n * Reports whether input is supported under normalized format options for the\n * WebP format reader.\n */\nexport function probeSupportWithValues(input, values = DEFAULT_VALUES)\n{\n try\n {\n const metadata = inspectWithValues(input, values);\n return {\n format: \"webp\",\n source: values.source || \"buffer\",\n supported: \"partial\",\n confidence: 1,\n preferredOutput: \"raw\",\n reason: \"WebP container and image metadata are recognized; software RGBA decode is not implemented.\",\n metadata,\n variants: [\n {\n kind: \"raw\",\n payloadType: \"raw\",\n codec: \"webp\",\n mimeType: \"image/webp\",\n supported: true,\n },\n { kind: \"rgba\", payloadType: \"rgba\", codec: \"rgba8unorm\", supported: false, reason: \"WebP software RGBA decode is not implemented yet.\" }\n ],\n warnings: [],\n errors: []\n };\n }\n catch (error)\n {\n return {\n format: \"webp\",\n source: values.source || \"buffer\",\n supported: \"none\",\n confidence: 0,\n preferredOutput: \"\",\n reason: error.message,\n metadata: null,\n variants: [],\n warnings: [],\n errors: [ error.message ]\n };\n }\n}\n\n/** Reads input using normalized format options for the WebP format reader. */\nexport function readWithValues(input, values = DEFAULT_VALUES)\n{\n const bytes = asUint8Array(input, \"WebP input\");\n const metadata = inspectWithValues(bytes, values);\n if (values.emit === OUTPUT_RAW)\n {\n return {\n payloadType: \"raw\",\n sourceFormat: \"webp\",\n mimeType: \"image/webp\",\n metadata,\n bytes\n };\n }\n if (values.emit === OUTPUT_JSON || values.emit === \"webpJson\") return metadata;\n const error = new Error(`webp: emit \"${values.emit}\" is not implemented yet`);\n error.code = \"CJS_FORMAT_OUTPUT_NOT_IMPLEMENTED\";\n throw error;\n}\n\n/** Converts a parsed payload into a JSON-safe value for the WebP format reader. */\nexport function toJsonValue(value)\n{\n if (value instanceof Uint8Array) return { byteLength: value.byteLength };\n if (Array.isArray(value)) return value.map(toJsonValue);\n if (value && typeof value === \"object\")\n {\n const output = {};\n for (const [ key, entry ] of Object.entries(value)) output[key] = toJsonValue(entry);\n return output;\n }\n return value;\n}\n\nfunction inspectWebP(bytes)\n{\n const riffLength = readU32LE(bytes, 4);\n const chunks = [];\n let width = 0;\n let height = 0;\n let codec = \"webp\";\n let hasAlpha = false;\n let animated = false;\n const animationFrames = [];\n let offset = 12;\n while (offset + 8 <= bytes.byteLength)\n {\n const type = ascii(bytes, offset, 4);\n const size = readU32LE(bytes, offset + 4);\n const dataOffset = offset + 8;\n if (dataOffset + size > bytes.byteLength) throw new Error(`webp: ${type} chunk is truncated`);\n chunks.push({ type, byteOffset: dataOffset, byteLength: size });\n if (type === \"VP8 \")\n {\n codec = \"vp8\";\n if (size >= 10 && bytes[dataOffset + 3] === 0x9d && bytes[dataOffset + 4] === 0x01 && bytes[dataOffset + 5] === 0x2a)\n {\n width = readU16LE(bytes, dataOffset + 6) & 0x3fff;\n height = readU16LE(bytes, dataOffset + 8) & 0x3fff;\n }\n }\n else if (type === \"VP8L\")\n {\n codec = \"vp8l\";\n if (size >= 5 && bytes[dataOffset] === 0x2f)\n {\n width = 1 + (bytes[dataOffset + 1] | ((bytes[dataOffset + 2] & 0x3f) << 8));\n height = 1 + ((bytes[dataOffset + 2] >>> 6) | (bytes[dataOffset + 3] << 2) | ((bytes[dataOffset + 4] & 0x0f) << 10));\n hasAlpha = true;\n }\n }\n else if (type === \"VP8X\")\n {\n codec = \"vp8x\";\n if (size >= 10)\n {\n const flags = bytes[dataOffset];\n hasAlpha = !!(flags & 0x10);\n animated = !!(flags & 0x02);\n width = 1 + readU24LE(bytes, dataOffset + 4);\n height = 1 + readU24LE(bytes, dataOffset + 7);\n }\n }\n else if (type === \"ALPH\") hasAlpha = true;\n else if (type === \"ANIM\") animated = true;\n else if (type === \"ANMF\")\n {\n animated = true;\n if (size >= 16)\n {\n animationFrames.push({\n x: readU24LE(bytes, dataOffset),\n y: readU24LE(bytes, dataOffset + 3),\n width: 1 + readU24LE(bytes, dataOffset + 6),\n height: 1 + readU24LE(bytes, dataOffset + 9),\n durationMs: readU24LE(bytes, dataOffset + 12),\n flags: bytes[dataOffset + 15]\n });\n }\n }\n offset = dataOffset + size + (size & 1);\n }\n return {\n payloadType: \"image\",\n mediaTypes: [ \"image\" ],\n sourceFormat: \"webp\",\n container: \"riff\",\n riffLength,\n codec,\n width,\n height,\n hasAlpha,\n animated,\n animationFrameCount: animationFrames.length,\n animationDurationMs: animationFrames.reduce((sum, frame) => sum + frame.durationMs, 0),\n animationFrames,\n isCompressed: true,\n chunks\n };\n}\n\nfunction ascii(bytes, offset, length)\n{\n return String.fromCharCode(...bytes.subarray(offset, offset + length));\n}\n\n\n"],"names":["OUTPUT_RAW","OUTPUT_JSON","DEFAULT_VALUES","Object","freeze","emit","inputType","source","normalizeValues","base","options","readerName","Array","isArray","TypeError","allowed","Set","key","keys","has","JSON","stringify","values","includes","isWebP","bytes","byteLength","ascii","inspectWithValues","input","expectedType","asUint8Array","metadata","inspectWebP","sourceFormat","probeSupportWithValues","format","supported","confidence","preferredOutput","reason","variants","kind","payloadType","codec","mimeType","warnings","errors","error","message","readWithValues","Error","code","toJsonValue","value","Uint8Array","map","output","entry","entries","riffLength","readU32LE","chunks","width","height","hasAlpha","animated","animationFrames","offset","type","size","dataOffset","push","byteOffset","readU16LE","flags","readU24LE","x","y","durationMs","mediaTypes","container","animationFrameCount","length","animationDurationMs","reduce","sum","frame","isCompressed","String","fromCharCode","subarray"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sources":["../../../../../../src/resource/formats/webp/core/helpers.js"],"sourcesContent":["import { toJsonWithByteSummary as toJsonValue } from \"../../../format/jsonPolicies.js\";\nimport { asUint8Array, readU16LE, readU24LE, readU32LE } from \"#utils/bytes\";\n\nexport const OUTPUT_RAW = \"raw\";\nexport const OUTPUT_JSON = \"json\";\n\nexport const DEFAULT_VALUES = Object.freeze({\n emit: OUTPUT_RAW,\n inputType: \"webp\",\n source: \"\"\n});\n\n/**\n * Normalizes reader options against their supported defaults for the WebP format\n * reader.\n */\nexport function normalizeValues(base = DEFAULT_VALUES, options = {}, readerName = \"CjsWebpFormat\")\n{\n if (!options || typeof options !== \"object\" || Array.isArray(options))\n {\n throw new TypeError(`${readerName}: options must be an object`);\n }\n const allowed = new Set([ \"emit\", \"inputType\", \"source\" ]);\n for (const key of Object.keys(options))\n {\n if (!allowed.has(key)) throw new TypeError(`${readerName}: unknown option ${JSON.stringify(key)}`);\n }\n const values = { ...DEFAULT_VALUES, ...(base || {}), ...options };\n if (![ OUTPUT_RAW, OUTPUT_JSON, \"webpJson\" ].includes(values.emit))\n {\n throw new TypeError(`${readerName}: unknown emit value ${JSON.stringify(values.emit)}`);\n }\n return values;\n}\n\n/** Returns a byte view over the supplied binary input for the WebP format reader. */\n/**\n * Reports whether the supplied bytes have a RIFF/WebP header for the WebP format\n * reader.\n */\nexport function isWebP(bytes)\n{\n return bytes.byteLength >= 12 &&\n ascii(bytes, 0, 4) === \"RIFF\" && ascii(bytes, 8, 4) === \"WEBP\";\n}\n\n/** Inspects input using normalized format options for the WebP format reader. */\nexport function inspectWithValues(input, values = DEFAULT_VALUES, expectedType = \"webp\")\n{\n const bytes = asUint8Array(input, \"WebP input\");\n if (!isWebP(bytes)) throw new TypeError(\"CjsWebpFormat: input is not a RIFF WebP container\");\n const metadata = inspectWebP(bytes);\n if (expectedType && metadata.sourceFormat !== expectedType)\n {\n throw new TypeError(`CjsWebpFormat: expected ${expectedType}, got ${metadata.sourceFormat}`);\n }\n return { ...metadata, byteLength: bytes.byteLength, source: values.source || \"buffer\" };\n}\n\n/**\n * Reports whether input is supported under normalized format options for the\n * WebP format reader.\n */\nexport function probeSupportWithValues(input, values = DEFAULT_VALUES)\n{\n try\n {\n const metadata = inspectWithValues(input, values);\n return {\n format: \"webp\",\n source: values.source || \"buffer\",\n supported: \"partial\",\n confidence: 1,\n preferredOutput: \"raw\",\n reason: \"WebP container and image metadata are recognized; software RGBA decode is not implemented.\",\n metadata,\n variants: [\n {\n kind: \"raw\",\n payloadType: \"raw\",\n codec: \"webp\",\n mimeType: \"image/webp\",\n supported: true,\n },\n { kind: \"rgba\", payloadType: \"rgba\", codec: \"rgba8unorm\", supported: false, reason: \"WebP software RGBA decode is not implemented yet.\" }\n ],\n warnings: [],\n errors: []\n };\n }\n catch (error)\n {\n return {\n format: \"webp\",\n source: values.source || \"buffer\",\n supported: \"none\",\n confidence: 0,\n preferredOutput: \"\",\n reason: error.message,\n metadata: null,\n variants: [],\n warnings: [],\n errors: [ error.message ]\n };\n }\n}\n\n/** Reads input using normalized format options for the WebP format reader. */\nexport function readWithValues(input, values = DEFAULT_VALUES)\n{\n const bytes = asUint8Array(input, \"WebP input\");\n const metadata = inspectWithValues(bytes, values);\n if (values.emit === OUTPUT_RAW)\n {\n return {\n payloadType: \"raw\",\n sourceFormat: \"webp\",\n mimeType: \"image/webp\",\n metadata,\n bytes\n };\n }\n if (values.emit === OUTPUT_JSON || values.emit === \"webpJson\") return metadata;\n const error = new Error(`webp: emit \"${values.emit}\" is not implemented yet`);\n error.code = \"CJS_FORMAT_OUTPUT_NOT_IMPLEMENTED\";\n throw error;\n}\n\n/** Converts a parsed payload into a JSON-safe value for the WebP format reader. */\n/** The shared JSON policy for this reader, under the name its callers use. */\nexport { toJsonValue };\n\nfunction inspectWebP(bytes)\n{\n const riffLength = readU32LE(bytes, 4);\n const chunks = [];\n let width = 0;\n let height = 0;\n let codec = \"webp\";\n let hasAlpha = false;\n let animated = false;\n const animationFrames = [];\n let offset = 12;\n while (offset + 8 <= bytes.byteLength)\n {\n const type = ascii(bytes, offset, 4);\n const size = readU32LE(bytes, offset + 4);\n const dataOffset = offset + 8;\n if (dataOffset + size > bytes.byteLength) throw new Error(`webp: ${type} chunk is truncated`);\n chunks.push({ type, byteOffset: dataOffset, byteLength: size });\n if (type === \"VP8 \")\n {\n codec = \"vp8\";\n if (size >= 10 && bytes[dataOffset + 3] === 0x9d && bytes[dataOffset + 4] === 0x01 && bytes[dataOffset + 5] === 0x2a)\n {\n width = readU16LE(bytes, dataOffset + 6) & 0x3fff;\n height = readU16LE(bytes, dataOffset + 8) & 0x3fff;\n }\n }\n else if (type === \"VP8L\")\n {\n codec = \"vp8l\";\n if (size >= 5 && bytes[dataOffset] === 0x2f)\n {\n width = 1 + (bytes[dataOffset + 1] | ((bytes[dataOffset + 2] & 0x3f) << 8));\n height = 1 + ((bytes[dataOffset + 2] >>> 6) | (bytes[dataOffset + 3] << 2) | ((bytes[dataOffset + 4] & 0x0f) << 10));\n hasAlpha = true;\n }\n }\n else if (type === \"VP8X\")\n {\n codec = \"vp8x\";\n if (size >= 10)\n {\n const flags = bytes[dataOffset];\n hasAlpha = !!(flags & 0x10);\n animated = !!(flags & 0x02);\n width = 1 + readU24LE(bytes, dataOffset + 4);\n height = 1 + readU24LE(bytes, dataOffset + 7);\n }\n }\n else if (type === \"ALPH\") hasAlpha = true;\n else if (type === \"ANIM\") animated = true;\n else if (type === \"ANMF\")\n {\n animated = true;\n if (size >= 16)\n {\n animationFrames.push({\n x: readU24LE(bytes, dataOffset),\n y: readU24LE(bytes, dataOffset + 3),\n width: 1 + readU24LE(bytes, dataOffset + 6),\n height: 1 + readU24LE(bytes, dataOffset + 9),\n durationMs: readU24LE(bytes, dataOffset + 12),\n flags: bytes[dataOffset + 15]\n });\n }\n }\n offset = dataOffset + size + (size & 1);\n }\n return {\n payloadType: \"image\",\n mediaTypes: [ \"image\" ],\n sourceFormat: \"webp\",\n container: \"riff\",\n riffLength,\n codec,\n width,\n height,\n hasAlpha,\n animated,\n animationFrameCount: animationFrames.length,\n animationDurationMs: animationFrames.reduce((sum, frame) => sum + frame.durationMs, 0),\n animationFrames,\n isCompressed: true,\n chunks\n };\n}\n\nfunction ascii(bytes, offset, length)\n{\n return String.fromCharCode(...bytes.subarray(offset, offset + length));\n}\n\n\n"],"names":["OUTPUT_RAW","OUTPUT_JSON","DEFAULT_VALUES","Object","freeze","emit","inputType","source","normalizeValues","base","options","readerName","Array","isArray","TypeError","allowed","Set","key","keys","has","JSON","stringify","values","includes","isWebP","bytes","byteLength","ascii","inspectWithValues","input","expectedType","asUint8Array","metadata","inspectWebP","sourceFormat","readWithValues","payloadType","mimeType","error","Error","code","riffLength","readU32LE","chunks","width","height","codec","hasAlpha","animated","animationFrames","offset","type","size","dataOffset","push","byteOffset","readU16LE","flags","readU24LE","x","y","durationMs","mediaTypes","container","animationFrameCount","length","animationDurationMs","reduce","sum","frame","isCompressed","String","fromCharCode","subarray"],"mappings":"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"}