@carbonenginejs/runtime 0.1.0-alpha.4 → 0.1.0-alpha.5

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 (384) hide show
  1. package/dist/global/blue/BlueClasses.js +200 -0
  2. package/dist/global/blue/BlueClasses.js.map +1 -0
  3. package/dist/global/blue/IBlueClasses.js +79 -0
  4. package/dist/global/blue/IBlueClasses.js.map +1 -0
  5. package/dist/global/blue/IBlueDynamicResourceConstructor.js +16 -0
  6. package/dist/global/blue/IBlueDynamicResourceConstructor.js.map +1 -1
  7. package/dist/global/blue/blue.js +8 -2
  8. package/dist/global/blue/blue.js.map +1 -1
  9. package/dist/global/blue/index.js +2 -0
  10. package/dist/global/blue/index.js.map +1 -1
  11. package/dist/global/consts/index.js +0 -1
  12. package/dist/global/consts/index.js.map +1 -1
  13. package/dist/global/consts/renderContext/formats.js +26 -25
  14. package/dist/global/consts/renderContext/formats.js.map +1 -1
  15. package/dist/{trinityal/Tr2BitmapDimensions.js → global/imageio/BitmapDimensions.js} +19 -15
  16. package/dist/global/imageio/BitmapDimensions.js.map +1 -0
  17. package/dist/global/imageio/Cutout.js +28 -0
  18. package/dist/global/imageio/Cutout.js.map +1 -0
  19. package/dist/global/imageio/HostBitmap.js +1106 -0
  20. package/dist/global/imageio/HostBitmap.js.map +1 -0
  21. package/dist/global/imageio/ImageIOResult.js +99 -0
  22. package/dist/global/imageio/ImageIOResult.js.map +1 -0
  23. package/dist/global/imageio/ImageUtility.js +205 -0
  24. package/dist/global/imageio/ImageUtility.js.map +1 -0
  25. package/dist/global/imageio/LoadParameters.js +86 -0
  26. package/dist/global/imageio/LoadParameters.js.map +1 -0
  27. package/dist/global/imageio/Metadata.js +22 -0
  28. package/dist/global/imageio/Metadata.js.map +1 -0
  29. package/dist/global/imageio/index.js +8 -0
  30. package/dist/global/{consts/webgpu → imageio}/index.js.map +1 -1
  31. package/dist/global/index.js +2 -1
  32. package/dist/global/index.js.map +1 -1
  33. package/dist/global/math/color.js +1 -1
  34. package/dist/global/math/color.js.map +1 -1
  35. package/dist/global/schema/CjsSchema.js +8 -0
  36. package/dist/global/schema/CjsSchema.js.map +1 -1
  37. package/dist/index.js +12 -4
  38. package/dist/index.js.map +1 -1
  39. package/dist/resource/CjsResMan.js +47 -7
  40. package/dist/resource/CjsResMan.js.map +1 -1
  41. package/dist/resource/Tr2LightProfileRes.js +37 -0
  42. package/dist/resource/Tr2LightProfileRes.js.map +1 -1
  43. package/dist/resource/format/CjsByteWriter.js +46 -46
  44. package/dist/resource/format/CjsByteWriter.js.map +1 -1
  45. package/dist/resource/format/CjsFormat.js +7 -8
  46. package/dist/resource/format/CjsFormat.js.map +1 -1
  47. package/dist/resource/format/CjsFormatStore.js +8 -8
  48. package/dist/resource/format/CjsFormatStore.js.map +1 -1
  49. package/dist/resource/format/CjsGeometryFormat.js +114 -0
  50. package/dist/resource/format/CjsGeometryFormat.js.map +1 -0
  51. package/dist/resource/format/CjsImageFormat.js +282 -0
  52. package/dist/resource/format/CjsImageFormat.js.map +1 -0
  53. package/dist/resource/format/CjsResourceProbe.js +12 -48
  54. package/dist/resource/format/CjsResourceProbe.js.map +1 -1
  55. package/dist/resource/format/CjsStringTable.js +37 -37
  56. package/dist/resource/format/CjsStringTable.js.map +1 -1
  57. package/dist/resource/format/carbonEffect/CjsCarbonEffectReader.js +10 -10
  58. package/dist/resource/format/carbonEffect/CjsCarbonEffectReader.js.map +1 -1
  59. package/dist/resource/format/carbonEffect/CjsCarbonEffectWriter.js +37 -37
  60. package/dist/resource/format/carbonEffect/CjsCarbonEffectWriter.js.map +1 -1
  61. package/dist/resource/format/carbonEffect/carbonEffectBackendBlock.js +35 -7
  62. package/dist/resource/format/carbonEffect/carbonEffectBackendBlock.js.map +1 -1
  63. package/dist/resource/format/index.js +3 -1
  64. package/dist/resource/format/index.js.map +1 -1
  65. package/dist/resource/formats/black/CjsBlackFormat.js +130 -137
  66. package/dist/resource/formats/black/CjsBlackFormat.js.map +1 -1
  67. package/dist/resource/formats/bnk/CjsBnkFormat.js +12 -19
  68. package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
  69. package/dist/resource/formats/bnk/core/helpers.js +1 -3
  70. package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
  71. package/dist/resource/formats/cmf/CjsCmfFormat.js +19 -82
  72. package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
  73. package/dist/resource/formats/cmf/core/constants.js +1 -2
  74. package/dist/resource/formats/cmf/core/constants.js.map +1 -1
  75. package/dist/resource/formats/{stl/core/targets.js → cmf/core/flatShared.js} +9 -8
  76. package/dist/resource/formats/cmf/core/flatShared.js.map +1 -0
  77. package/dist/resource/formats/cmf/core/helpers.js +13 -13
  78. package/dist/resource/formats/cmf/core/helpers.js.map +1 -1
  79. package/dist/resource/formats/cmf/core/writer.js +24 -24
  80. package/dist/resource/formats/cmf/core/writer.js.map +1 -1
  81. package/dist/resource/formats/dds/CjsDdsFormat.js +134 -17
  82. package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
  83. package/dist/resource/formats/dds/core/helpers.js +125 -40
  84. package/dist/resource/formats/dds/core/helpers.js.map +1 -1
  85. package/dist/resource/formats/dxbc/CjsDxbcFormat.js +14 -16
  86. package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
  87. package/dist/resource/formats/dxbc/core/{container.js → DxbcContainer.js} +2 -2
  88. package/dist/resource/formats/dxbc/core/DxbcContainer.js.map +1 -0
  89. package/dist/resource/formats/dxbc/core/{errors.js → DxbcReadError.js} +1 -1
  90. package/dist/resource/formats/dxbc/core/DxbcReadError.js.map +1 -0
  91. package/dist/resource/formats/dxbc/core/DxbcReader.js +1 -1
  92. package/dist/resource/formats/dxbc/core/DxbcReader.js.map +1 -1
  93. package/dist/resource/formats/dxbc/core/{program.js → DxbcShaderProgram.js} +2 -2
  94. package/dist/resource/formats/dxbc/core/DxbcShaderProgram.js.map +1 -0
  95. package/dist/resource/formats/dxbc/core/{signature.js → DxbcSignatureChunk.js} +2 -2
  96. package/dist/resource/formats/dxbc/core/DxbcSignatureChunk.js.map +1 -0
  97. package/dist/resource/formats/dxbc/core/decoder.js +2 -2
  98. package/dist/resource/formats/dxbc/core/decoder.js.map +1 -1
  99. package/dist/resource/formats/dxbc/core/helpers.js +3 -3
  100. package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
  101. package/dist/resource/formats/fbx/CjsFbxFormat.js +18 -20
  102. package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
  103. package/dist/resource/formats/flac/CjsFlacFormat.js +7 -13
  104. package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
  105. package/dist/resource/formats/fsd/32/CjsFsd32Format.js +29 -29
  106. package/dist/resource/formats/fsd/32/CjsFsd32Format.js.map +1 -1
  107. package/dist/resource/formats/fsd/64/CjsFsd64Format.js +3 -3
  108. package/dist/resource/formats/fsd/64/CjsFsd64Format.js.map +1 -1
  109. package/dist/resource/formats/fsd/64/core/CjsFsd64Binary.js +23 -23
  110. package/dist/resource/formats/fsd/64/core/CjsFsd64Binary.js.map +1 -1
  111. package/dist/resource/formats/fsd/64/core/CjsFsd64Reader.js +8 -8
  112. package/dist/resource/formats/fsd/64/core/CjsFsd64Reader.js.map +1 -1
  113. package/dist/resource/formats/fsd/CjsFsdFormat.js +23 -23
  114. package/dist/resource/formats/fsd/CjsFsdFormat.js.map +1 -1
  115. package/dist/resource/formats/gif/CjsGifFormat.js +24 -15
  116. package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
  117. package/dist/resource/formats/gltf/CjsGltfFormat.js +33 -98
  118. package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
  119. package/dist/resource/formats/gltf/core/helpers.js +3 -12
  120. package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
  121. package/dist/resource/formats/gr2/CjsGr2Format.js +27 -91
  122. package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
  123. package/dist/resource/formats/hlsl/CjsHlslFormat.js +22 -25
  124. package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
  125. package/dist/resource/formats/hlsl/core/carbonDescriptionToRuntime.js +1 -1
  126. package/dist/resource/formats/hlsl/core/carbonDescriptionToRuntime.js.map +1 -1
  127. package/dist/resource/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js +3 -3
  128. package/dist/resource/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js.map +1 -1
  129. package/dist/resource/formats/ies/CjsIESFormat.js +29 -29
  130. package/dist/resource/formats/ies/CjsIESFormat.js.map +1 -1
  131. package/dist/resource/formats/jpeg/CjsJpegFormat.js +24 -15
  132. package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
  133. package/dist/resource/formats/jpeg/core/helpers.js +3 -5
  134. package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
  135. package/dist/resource/formats/jpeg/core/jpeg.js +58 -58
  136. package/dist/resource/formats/jpeg/core/jpeg.js.map +1 -1
  137. package/dist/resource/formats/jsonl/CjsJsonlFormat.js +3 -3
  138. package/dist/resource/formats/jsonl/CjsJsonlFormat.js.map +1 -1
  139. package/dist/resource/formats/mp3/CjsMp3Format.js +7 -14
  140. package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
  141. package/dist/resource/formats/mp3/core/helpers.js +3 -5
  142. package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
  143. package/dist/resource/formats/mp4/CjsMp4Format.js +7 -13
  144. package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
  145. package/dist/resource/formats/mp4/core/helpers.js +3 -5
  146. package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
  147. package/dist/resource/formats/obj/CjsObjFormat.js +92 -157
  148. package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
  149. package/dist/resource/formats/obj/core/helpers.js +5 -113
  150. package/dist/resource/formats/obj/core/helpers.js.map +1 -1
  151. package/dist/resource/formats/ogg/CjsOggFormat.js +7 -14
  152. package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
  153. package/dist/resource/formats/pickle/CjsPickleFormat.js +7 -12
  154. package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
  155. package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js +7 -7
  156. package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -1
  157. package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js +7 -7
  158. package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js.map +1 -1
  159. package/dist/resource/formats/png/CjsPngFormat.js +40 -15
  160. package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
  161. package/dist/resource/formats/png/core/helpers.js +4 -6
  162. package/dist/resource/formats/png/core/helpers.js.map +1 -1
  163. package/dist/resource/formats/red/CjsRedFormat.js +22 -28
  164. package/dist/resource/formats/red/CjsRedFormat.js.map +1 -1
  165. package/dist/resource/formats/schemabound/CjsSchemaBoundFormat.js +3 -7
  166. package/dist/resource/formats/schemabound/CjsSchemaBoundFormat.js.map +1 -1
  167. package/dist/resource/formats/schemabound/core/schemaBoundValues.js +5 -0
  168. package/dist/resource/formats/schemabound/core/schemaBoundValues.js.map +1 -1
  169. package/dist/resource/formats/sqlite/CjsSqliteFormat.js +4 -9
  170. package/dist/resource/formats/sqlite/CjsSqliteFormat.js.map +1 -1
  171. package/dist/resource/formats/static/CjsStaticFormat.js +4 -4
  172. package/dist/resource/formats/static/CjsStaticFormat.js.map +1 -1
  173. package/dist/resource/formats/stl/CjsStlFormat.js +39 -104
  174. package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
  175. package/dist/resource/formats/stl/core/helpers.js +5 -19
  176. package/dist/resource/formats/stl/core/helpers.js.map +1 -1
  177. package/dist/resource/formats/tga/CjsTgaFormat.js +26 -15
  178. package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
  179. package/dist/resource/formats/tga/core/helpers.js +3 -5
  180. package/dist/resource/formats/tga/core/helpers.js.map +1 -1
  181. package/dist/resource/formats/vta/CjsVtaFormat.js +8 -15
  182. package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
  183. package/dist/resource/formats/wav/CjsWavFormat.js +7 -14
  184. package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
  185. package/dist/resource/formats/wav/core/helpers.js +3 -5
  186. package/dist/resource/formats/wav/core/helpers.js.map +1 -1
  187. package/dist/resource/formats/webgl/CjsWebglFormat.js +103 -105
  188. package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
  189. package/dist/resource/formats/webgl/core/{errors.js → WebglReadError.js} +1 -1
  190. package/dist/resource/formats/webgl/core/WebglReadError.js.map +1 -0
  191. package/dist/resource/formats/webgl/core/effectPackage.js +1 -1
  192. package/dist/resource/formats/webgl/core/effectPackage.js.map +1 -1
  193. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +3 -3
  194. package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  195. package/dist/resource/formats/webgl/core/glsl/{DxbcGlslHelpers.js → DxbcGlslHelperRegistry.js} +2 -2
  196. package/dist/resource/formats/webgl/core/glsl/DxbcGlslHelperRegistry.js.map +1 -0
  197. package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +1 -1
  198. package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
  199. package/dist/resource/formats/webgl/core/glslBackendBlock.js +1 -1
  200. package/dist/resource/formats/webgl/core/glslBackendBlock.js.map +1 -1
  201. package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
  202. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +28 -29
  203. package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  204. package/dist/resource/formats/webgpu/core/{errors.js → WebgpuReadError.js} +1 -1
  205. package/dist/resource/formats/webgpu/core/WebgpuReadError.js.map +1 -0
  206. package/dist/resource/formats/webgpu/core/carbonWebgpu/validateContainer.js +1 -1
  207. package/dist/resource/formats/webgpu/core/carbonWebgpu/validateContainer.js.map +1 -1
  208. package/dist/resource/formats/webgpu/core/helpers.js +1 -1
  209. package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
  210. package/dist/resource/formats/webgpu/core/ir/lowerDxbcToIr.js +1 -1
  211. package/dist/resource/formats/webgpu/core/ir/lowerDxbcToIr.js.map +1 -1
  212. package/dist/resource/formats/webgpu/core/wgsl/buildWgslSet.js +18 -6
  213. package/dist/resource/formats/webgpu/core/wgsl/buildWgslSet.js.map +1 -1
  214. package/dist/resource/formats/webgpu/core/wgsl/lowerBindingLayout.js +39 -13
  215. package/dist/resource/formats/webgpu/core/wgsl/lowerBindingLayout.js.map +1 -1
  216. package/dist/resource/formats/webgpu/core/wgsl/lowerCreateHistogramsComputeProgram.js +16 -14
  217. package/dist/resource/formats/webgpu/core/wgsl/lowerCreateHistogramsComputeProgram.js.map +1 -1
  218. package/dist/resource/formats/webm/CjsWebmFormat.js +8 -13
  219. package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
  220. package/dist/resource/formats/webm/core/helpers.js +3 -5
  221. package/dist/resource/formats/webm/core/helpers.js.map +1 -1
  222. package/dist/resource/formats/webp/CjsWebpFormat.js +8 -12
  223. package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
  224. package/dist/resource/formats/wem/CjsWemFormat.js +9 -17
  225. package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
  226. package/dist/resource/formats/wem/core/bitStream.js +35 -35
  227. package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
  228. package/dist/resource/formats/wem/core/helpers.js +1 -3
  229. package/dist/resource/formats/wem/core/helpers.js.map +1 -1
  230. package/dist/resource/formats/yaml/CjsYamlFormat.js +28 -37
  231. package/dist/resource/formats/yaml/CjsYamlFormat.js.map +1 -1
  232. package/dist/resource/imageio/ImageIO.js +142 -0
  233. package/dist/resource/imageio/ImageIO.js.map +1 -0
  234. package/dist/resource/imageio/index.js +17 -0
  235. package/dist/resource/imageio/index.js.map +1 -0
  236. package/dist/resource/index.js +7 -0
  237. package/dist/resource/index.js.map +1 -1
  238. package/dist/resource/shader/reflection/Tr2EffectResource.js +24 -2
  239. package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
  240. package/dist/resource/shader/reflection/Tr2Pass.js +76 -5
  241. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  242. package/dist/resource/texture/CjsTextureArrayConstructor.js +97 -0
  243. package/dist/resource/texture/CjsTextureArrayConstructor.js.map +1 -0
  244. package/dist/resource/texture/CjsTexturePackConstructor.js +160 -0
  245. package/dist/resource/texture/CjsTexturePackConstructor.js.map +1 -0
  246. package/dist/resource/texture/CjsTexturePipelineStepArray.js +72 -0
  247. package/dist/resource/texture/CjsTexturePipelineStepArray.js.map +1 -0
  248. package/dist/resource/texture/CjsTexturePipelineStepConvert.js +73 -0
  249. package/dist/resource/texture/CjsTexturePipelineStepConvert.js.map +1 -0
  250. package/dist/resource/texture/CjsTexturePipelineStepPack.js +71 -0
  251. package/dist/resource/texture/CjsTexturePipelineStepPack.js.map +1 -0
  252. package/dist/resource/texture/CjsTexturePipelineStepResize.js +123 -0
  253. package/dist/resource/texture/CjsTexturePipelineStepResize.js.map +1 -0
  254. package/dist/resource/texture/SolidColorTextureConstructor.js +11 -1
  255. package/dist/resource/texture/SolidColorTextureConstructor.js.map +1 -1
  256. package/dist/resource/texture/Tr2ImageRes.js +100 -68
  257. package/dist/resource/texture/Tr2ImageRes.js.map +1 -1
  258. package/dist/resource/texture/Tr2TexturePipeline.js +45 -25
  259. package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
  260. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +34 -1
  261. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
  262. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +30 -3
  263. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
  264. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +81 -1
  265. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
  266. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +36 -1
  267. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
  268. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +146 -24
  269. package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
  270. package/dist/resource/texture/TriTextureRes.js +151 -29
  271. package/dist/resource/texture/TriTextureRes.js.map +1 -1
  272. package/dist/resource/texture/index.js +7 -0
  273. package/dist/resource/texture/index.js.map +1 -1
  274. package/dist/resource/texture/registerTextureResources.js +83 -0
  275. package/dist/resource/texture/registerTextureResources.js.map +1 -0
  276. package/dist/resource/texture/solidColorTexture.js +10 -19
  277. package/dist/resource/texture/solidColorTexture.js.map +1 -1
  278. package/dist/sof/EveSOF.js +39 -7
  279. package/dist/sof/EveSOF.js.map +1 -1
  280. package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js +2 -2
  281. package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -1
  282. package/dist/trinity/core/Tr2ImageIOHelpers.js +80 -17
  283. package/dist/trinity/core/Tr2ImageIOHelpers.js.map +1 -1
  284. package/dist/trinity/core/Tr2RenderUtils.js +1 -1
  285. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js +49 -62
  286. package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -1
  287. package/dist/trinity/core/Tr2TextureReference.js +114 -0
  288. package/dist/trinity/core/Tr2TextureReference.js.map +1 -0
  289. package/dist/trinity/core/device/Tr2DepthStencil.js +2 -2
  290. package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
  291. package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js +1 -1
  292. package/dist/trinity/core/index.js +1 -0
  293. package/dist/trinity/core/index.js.map +1 -1
  294. package/dist/trinity/core/lighting/Tr2LightManager.js +5 -4
  295. package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
  296. package/dist/trinity/core/procedural/GradientTextureConstructor.js +5 -4
  297. package/dist/trinity/core/procedural/GradientTextureConstructor.js.map +1 -1
  298. package/dist/trinity/core/procedural/gradientTexture.js +10 -13
  299. package/dist/trinity/core/procedural/gradientTexture.js.map +1 -1
  300. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +1 -1
  301. package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
  302. package/dist/trinity/eve/EveImpactOverlay.js +102 -50
  303. package/dist/trinity/eve/EveImpactOverlay.js.map +1 -1
  304. package/dist/trinity/eve/EveModularObjectModifier.js +9 -18
  305. package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
  306. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +175 -157
  307. package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
  308. package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js +100 -83
  309. package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
  310. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +26 -20
  311. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -1
  312. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js +368 -179
  313. package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -1
  314. package/dist/trinity/eve/child/EveChildMesh.js +242 -234
  315. package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
  316. package/dist/trinity/eve/child/EveChildTurret.js +57 -16
  317. package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
  318. package/dist/trinity/eve/child/EveSpaceObjectChild.js +28 -1
  319. package/dist/trinity/eve/child/EveSpaceObjectChild.js.map +1 -1
  320. package/dist/trinity/eve/index.js +2 -2
  321. package/dist/trinity/eve/overlays/EveDamageOverlay.js +5 -1
  322. package/dist/trinity/eve/overlays/EveDamageOverlay.js.map +1 -1
  323. package/dist/trinity/eve/scene/EveSpaceScene.js +234 -233
  324. package/dist/trinity/eve/scene/EveSpaceScene.js.map +1 -1
  325. package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js +2 -0
  326. package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
  327. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +492 -437
  328. package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
  329. package/dist/trinity/generated/index.js +0 -1
  330. package/dist/trinity/generated/index.js.map +1 -1
  331. package/dist/trinity/generated/trinityCore/index.js +0 -1
  332. package/dist/trinity/generated/trinityCore/index.js.map +1 -1
  333. package/dist/trinity/index.js +3 -3
  334. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +10 -1
  335. package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
  336. package/dist/trinity/shader/Tr2DataTextureManager.js +152 -66
  337. package/dist/trinity/shader/Tr2DataTextureManager.js.map +1 -1
  338. package/dist/trinity/shader/Tr2Material.js +1 -1
  339. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js +5 -5
  340. package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -1
  341. package/dist/trinityal/index.js +1 -1
  342. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js +2 -2
  343. package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -1
  344. package/dist/trinityal/stub/Tr2SwapChainALStub.js +45 -45
  345. package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
  346. package/dist/trinityal/stub/Tr2TextureALStub.js +170 -170
  347. package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
  348. package/dist/trinityal/webgpu/CjsWebgpuDevice.js +234 -164
  349. package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
  350. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +7 -0
  351. package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
  352. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +78 -14
  353. package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
  354. package/dist/trinityal/webgpu/core/CjsWebgpuUtils.js +94 -0
  355. package/dist/trinityal/webgpu/core/CjsWebgpuUtils.js.map +1 -0
  356. package/dist/trinityal/webgpu/internal.js +1 -0
  357. package/dist/trinityal/webgpu/internal.js.map +1 -1
  358. package/docs/global/reference/classes/README.md +90 -0
  359. package/docs/resource/concepts/format-capabilities.md +3 -3
  360. package/docs/resource/formats/README.md +1 -1
  361. package/docs/resource/reference/classes/core.md +31 -1
  362. package/docs/resource/reference/classes/formats.md +7 -7
  363. package/docs/resource/reference/classes/resources.md +76 -16
  364. package/docs/trinity/reference/classes/generated.md +0 -10
  365. package/docs/trinity/reference/classes/trinity-core.md +1692 -1682
  366. package/docs/trinityal/reference/classes/README.md +0 -10
  367. package/docs/trinityal/webgpu/reference/classes/README.md +276 -266
  368. package/package.json +4 -3
  369. package/dist/global/consts/webgpu/index.js +0 -2
  370. package/dist/global/consts/webgpu/textureFormats.js +0 -180
  371. package/dist/global/consts/webgpu/textureFormats.js.map +0 -1
  372. package/dist/resource/formats/dxbc/core/container.js.map +0 -1
  373. package/dist/resource/formats/dxbc/core/errors.js.map +0 -1
  374. package/dist/resource/formats/dxbc/core/program.js.map +0 -1
  375. package/dist/resource/formats/dxbc/core/signature.js.map +0 -1
  376. package/dist/resource/formats/stl/core/targets.js.map +0 -1
  377. package/dist/resource/formats/webgl/core/errors.js.map +0 -1
  378. package/dist/resource/formats/webgl/core/glsl/DxbcGlslHelpers.js.map +0 -1
  379. package/dist/resource/formats/webgpu/core/errors.js.map +0 -1
  380. package/dist/resource/texture/texturePipelineBehavior.js +0 -332
  381. package/dist/resource/texture/texturePipelineBehavior.js.map +0 -1
  382. package/dist/trinity/generated/trinityCore/Tr2TextureReference.js +0 -40
  383. package/dist/trinity/generated/trinityCore/Tr2TextureReference.js.map +0 -1
  384. package/dist/trinityal/Tr2BitmapDimensions.js.map +0 -1
@@ -1,6 +1,8 @@
1
1
  import { CjsSchema } from '#schema';
2
2
  import { CjsResource } from './CjsResource.js';
3
3
  import { assertResourcePayloadObject } from './resourceBoundary.js';
4
+ import { HostBitmap } from '#imageio';
5
+ import { PixelFormat } from '#consts/render-context';
4
6
  import { ResourceRequirement } from './ResourceRequirement.js';
5
7
 
6
8
  // Source: trinity/trinity/Resources/Tr2LightProfileRes.h
@@ -21,6 +23,12 @@ class Tr2LightProfileRes extends CjsResource {
21
23
  // only GetElementIndex/Release, never the array class.
22
24
  #element = null;
23
25
 
26
+ /**
27
+ * m_bitmap: the baked profile, a 1024x1 `PIXEL_FORMAT_R16_FLOAT` strip with a
28
+ * full mip chain (Tr2LightProfileRes.cpp:13-15, 198-215). Invalid until loaded.
29
+ */
30
+ bitmap = new HostBitmap();
31
+
24
32
  /** Updates payload in the current resource payload lifecycle. */
25
33
  SetPayload(payload = null) {
26
34
  if (payload === null) {
@@ -31,14 +39,43 @@ class Tr2LightProfileRes extends CjsResource {
31
39
  this.#element.Release();
32
40
  this.#element = null;
33
41
  }
42
+ this.bitmap = new HostBitmap();
34
43
  super.SetPayload(null);
35
44
  return this;
36
45
  }
37
46
  assertResourcePayloadObject("Tr2LightProfileRes", payload);
47
+ this.bitmap = Tr2LightProfileRes.bitmapFromBake(payload);
38
48
  super.SetPayload(payload);
39
49
  return this;
40
50
  }
41
51
 
52
+ /**
53
+ * Carbon's `m_bitmap`, which it hands to the light-profile array
54
+ * (Tr2LightProfileRes.cpp:95-99).
55
+ *
56
+ * @returns {HostBitmap} The baked profile; invalid until loaded.
57
+ */
58
+ GetBitmap() {
59
+ return this.bitmap;
60
+ }
61
+
62
+ /**
63
+ * The baked profile as Carbon's bitmap. The IES bake already writes Carbon's
64
+ * bytes - half floats, one mip after another - which is exactly a 1024x1
65
+ * R16_FLOAT HostBitmap's memory, so this is a copy, not a conversion.
66
+ *
67
+ * @param {{width: number, samples: Uint16Array}} bake The IES reader's lightProfile output.
68
+ * @returns {HostBitmap} The bitmap; invalid when the bake has no samples.
69
+ */
70
+ static bitmapFromBake(bake) {
71
+ const bitmap = new HostBitmap();
72
+ if (!(bake.samples instanceof Uint16Array)) return bitmap;
73
+ if (!bitmap.Create(bake.width, 1, 0, PixelFormat.PIXEL_FORMAT_R16_FLOAT)) return bitmap;
74
+ const raw = bitmap.GetRawData();
75
+ raw.set(new Uint8Array(bake.samples.buffer, bake.samples.byteOffset, Math.min(bake.samples.byteLength, raw.byteLength)));
76
+ return bitmap;
77
+ }
78
+
42
79
  /**
43
80
  * Accepts the profile array slice handle from the trinity seam.
44
81
  *
@@ -1 +1 @@
1
- {"version":3,"file":"Tr2LightProfileRes.js","sources":["../../../src/resource/Tr2LightProfileRes.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2LightProfileRes.h\nimport { CjsSchema } from \"#schema\";\nimport { CjsResource } from \"./CjsResource.js\";\nimport { assertResourcePayloadObject } from \"./resourceBoundary.js\";\nimport { ResourceRequirement } from \"./ResourceRequirement.js\";\n\n/**\n * Runtime-owned light-profile resource.\n *\n * The attached plain payload may be richer than the data retained by the\n * resource or active engine adapter.\n */\nexport class Tr2LightProfileRes extends CjsResource\n{\n // The light-profile array slice this resource occupies, or null before\n // registration. Carbon's DoPrepare acquires it (Tr2LightProfileRes.cpp:\n // 95-99: GetLightProfileArray().AddElement(m_bitmap)), but here the\n // resource layer cannot import trinity, so TRINITY registers the element\n // at first pack (Tr2LightManager.#ProfileSlot) and hands the handle in\n // through RegisterProfileElement. Duck-typed on purpose: this class knows\n // only GetElementIndex/Release, never the array class.\n #element = null;\n\n /** Updates payload in the current resource payload lifecycle. */\n SetPayload(payload = null)\n {\n if (payload === null)\n {\n // Losing the payload releases the slice - Carbon's element handle\n // frees its slot when the resource lets go (Tr2TextureArray.cpp:\n // 233-236); with no destructors the unload path is the release site.\n if (this.#element)\n {\n this.#element.Release();\n this.#element = null;\n }\n super.SetPayload(null);\n return this;\n }\n assertResourcePayloadObject(\"Tr2LightProfileRes\", payload);\n super.SetPayload(payload);\n return this;\n }\n\n /**\n * Accepts the profile array slice handle from the trinity seam.\n *\n * @param {{GetElementIndex: Function, Release: Function}} element\n * @returns {Tr2LightProfileRes} this\n */\n RegisterProfileElement(element)\n {\n if (this.#element && this.#element !== element)\n {\n this.#element.Release();\n }\n this.#element = element ?? null;\n return this;\n }\n\n /**\n * The texture-array slice this profile occupies, or -1 when unregistered.\n *\n * Carbon returns the raw element index and an INVALID handle reports 0\n * (Tr2TextureArrayElement, cpp:216-219) - indistinguishable from slot 0,\n * with the +1 bias left to consumers. The -1 sentinel here is deliberate\n * (matching the proven ccpwgl port): the consumer maps negative to the\n * biased 0, and an unloaded profile can never alias slot 0.\n *\n * @returns {number} Slice index, or -1.\n */\n GetTextureIndex()\n {\n return this.#element ? this.#element.GetElementIndex() : -1;\n }\n\n static payload = ResourceRequirement.LIGHT_PROFILE;\n}\n\nCjsSchema.define(Tr2LightProfileRes, {\n className: \"Tr2LightProfileRes\",\n family: \"resources\"\n});\n"],"names":["Tr2LightProfileRes","CjsResource","SetPayload","payload","Release","assertResourcePayloadObject","RegisterProfileElement","element","GetTextureIndex","GetElementIndex","ResourceRequirement","LIGHT_PROFILE","CjsSchema","define","className","family"],"mappings":";;;;;AAAA;;AAMA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,kBAAkB,SAASC,WAAW,CACnD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;EACA,QAAQ,GAAG,IAAI;;AAEf;AACAC,EAAAA,UAAUA,CAACC,OAAO,GAAG,IAAI,EACzB;IACE,IAAIA,OAAO,KAAK,IAAI,EACpB;AACE;AACA;AACA;AACA,MAAA,IAAI,IAAI,CAAC,QAAQ,EACjB;AACE,QAAA,IAAI,CAAC,QAAQ,CAACC,OAAO,EAAE;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACtB,MAAA;AACA,MAAA,KAAK,CAACF,UAAU,CAAC,IAAI,CAAC;AACtB,MAAA,OAAO,IAAI;AACb,IAAA;AACAG,IAAAA,2BAA2B,CAAC,oBAAoB,EAAEF,OAAO,CAAC;AAC1D,IAAA,KAAK,CAACD,UAAU,CAACC,OAAO,CAAC;AACzB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEG,sBAAsBA,CAACC,OAAO,EAC9B;IACE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAKA,OAAO,EAC9C;AACE,MAAA,IAAI,CAAC,QAAQ,CAACH,OAAO,EAAE;AACzB,IAAA;AACA,IAAA,IAAI,CAAC,QAAQ,GAAGG,OAAO,IAAI,IAAI;AAC/B,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,eAAeA,GACf;AACE,IAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAACC,eAAe,EAAE,GAAG,EAAE;AAC7D,EAAA;AAEA,EAAA,OAAON,OAAO,GAAGO,mBAAmB,CAACC,aAAa;AACpD;AAEAC,SAAS,CAACC,MAAM,CAACb,kBAAkB,EAAE;AACnCc,EAAAA,SAAS,EAAE,oBAAoB;AAC/BC,EAAAA,MAAM,EAAE;AACV,CAAC,CAAC;;;;"}
1
+ {"version":3,"file":"Tr2LightProfileRes.js","sources":["../../../src/resource/Tr2LightProfileRes.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2LightProfileRes.h\nimport { CjsSchema } from \"#schema\";\nimport { CjsResource } from \"./CjsResource.js\";\nimport { assertResourcePayloadObject } from \"./resourceBoundary.js\";\nimport { HostBitmap } from \"#imageio\";\nimport { PixelFormat } from \"#consts/render-context\";\nimport { ResourceRequirement } from \"./ResourceRequirement.js\";\n\n/**\n * Runtime-owned light-profile resource.\n *\n * The attached plain payload may be richer than the data retained by the\n * resource or active engine adapter.\n */\nexport class Tr2LightProfileRes extends CjsResource\n{\n // The light-profile array slice this resource occupies, or null before\n // registration. Carbon's DoPrepare acquires it (Tr2LightProfileRes.cpp:\n // 95-99: GetLightProfileArray().AddElement(m_bitmap)), but here the\n // resource layer cannot import trinity, so TRINITY registers the element\n // at first pack (Tr2LightManager.#ProfileSlot) and hands the handle in\n // through RegisterProfileElement. Duck-typed on purpose: this class knows\n // only GetElementIndex/Release, never the array class.\n #element = null;\n\n /**\n * m_bitmap: the baked profile, a 1024x1 `PIXEL_FORMAT_R16_FLOAT` strip with a\n * full mip chain (Tr2LightProfileRes.cpp:13-15, 198-215). Invalid until loaded.\n */\n bitmap = new HostBitmap();\n\n /** Updates payload in the current resource payload lifecycle. */\n SetPayload(payload = null)\n {\n if (payload === null)\n {\n // Losing the payload releases the slice - Carbon's element handle\n // frees its slot when the resource lets go (Tr2TextureArray.cpp:\n // 233-236); with no destructors the unload path is the release site.\n if (this.#element)\n {\n this.#element.Release();\n this.#element = null;\n }\n this.bitmap = new HostBitmap();\n super.SetPayload(null);\n return this;\n }\n assertResourcePayloadObject(\"Tr2LightProfileRes\", payload);\n this.bitmap = Tr2LightProfileRes.bitmapFromBake(payload);\n super.SetPayload(payload);\n return this;\n }\n\n /**\n * Carbon's `m_bitmap`, which it hands to the light-profile array\n * (Tr2LightProfileRes.cpp:95-99).\n *\n * @returns {HostBitmap} The baked profile; invalid until loaded.\n */\n GetBitmap()\n {\n return this.bitmap;\n }\n\n /**\n * The baked profile as Carbon's bitmap. The IES bake already writes Carbon's\n * bytes - half floats, one mip after another - which is exactly a 1024x1\n * R16_FLOAT HostBitmap's memory, so this is a copy, not a conversion.\n *\n * @param {{width: number, samples: Uint16Array}} bake The IES reader's lightProfile output.\n * @returns {HostBitmap} The bitmap; invalid when the bake has no samples.\n */\n static bitmapFromBake(bake)\n {\n const bitmap = new HostBitmap();\n\n if (!(bake.samples instanceof Uint16Array)) return bitmap;\n if (!bitmap.Create(bake.width, 1, 0, PixelFormat.PIXEL_FORMAT_R16_FLOAT)) return bitmap;\n\n const raw = bitmap.GetRawData();\n raw.set(new Uint8Array(bake.samples.buffer, bake.samples.byteOffset, Math.min(bake.samples.byteLength, raw.byteLength)));\n return bitmap;\n }\n\n /**\n * Accepts the profile array slice handle from the trinity seam.\n *\n * @param {{GetElementIndex: Function, Release: Function}} element\n * @returns {Tr2LightProfileRes} this\n */\n RegisterProfileElement(element)\n {\n if (this.#element && this.#element !== element)\n {\n this.#element.Release();\n }\n this.#element = element ?? null;\n return this;\n }\n\n /**\n * The texture-array slice this profile occupies, or -1 when unregistered.\n *\n * Carbon returns the raw element index and an INVALID handle reports 0\n * (Tr2TextureArrayElement, cpp:216-219) - indistinguishable from slot 0,\n * with the +1 bias left to consumers. The -1 sentinel here is deliberate\n * (matching the proven ccpwgl port): the consumer maps negative to the\n * biased 0, and an unloaded profile can never alias slot 0.\n *\n * @returns {number} Slice index, or -1.\n */\n GetTextureIndex()\n {\n return this.#element ? this.#element.GetElementIndex() : -1;\n }\n\n static payload = ResourceRequirement.LIGHT_PROFILE;\n}\n\nCjsSchema.define(Tr2LightProfileRes, {\n className: \"Tr2LightProfileRes\",\n family: \"resources\"\n});\n"],"names":["Tr2LightProfileRes","CjsResource","bitmap","HostBitmap","SetPayload","payload","Release","assertResourcePayloadObject","bitmapFromBake","GetBitmap","bake","samples","Uint16Array","Create","width","PixelFormat","PIXEL_FORMAT_R16_FLOAT","raw","GetRawData","set","Uint8Array","buffer","byteOffset","Math","min","byteLength","RegisterProfileElement","element","GetTextureIndex","GetElementIndex","ResourceRequirement","LIGHT_PROFILE","CjsSchema","define","className","family"],"mappings":";;;;;;;AAAA;;AAQA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,kBAAkB,SAASC,WAAW,CACnD;AACE;AACA;AACA;AACA;AACA;AACA;AACA;EACA,QAAQ,GAAG,IAAI;;AAEf;AACF;AACA;AACA;AACEC,EAAAA,MAAM,GAAG,IAAIC,UAAU,EAAE;;AAEzB;AACAC,EAAAA,UAAUA,CAACC,OAAO,GAAG,IAAI,EACzB;IACE,IAAIA,OAAO,KAAK,IAAI,EACpB;AACE;AACA;AACA;AACA,MAAA,IAAI,IAAI,CAAC,QAAQ,EACjB;AACE,QAAA,IAAI,CAAC,QAAQ,CAACC,OAAO,EAAE;AACvB,QAAA,IAAI,CAAC,QAAQ,GAAG,IAAI;AACtB,MAAA;AACA,MAAA,IAAI,CAACJ,MAAM,GAAG,IAAIC,UAAU,EAAE;AAC9B,MAAA,KAAK,CAACC,UAAU,CAAC,IAAI,CAAC;AACtB,MAAA,OAAO,IAAI;AACb,IAAA;AACAG,IAAAA,2BAA2B,CAAC,oBAAoB,EAAEF,OAAO,CAAC;IAC1D,IAAI,CAACH,MAAM,GAAGF,kBAAkB,CAACQ,cAAc,CAACH,OAAO,CAAC;AACxD,IAAA,KAAK,CAACD,UAAU,CAACC,OAAO,CAAC;AACzB,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACEI,EAAAA,SAASA,GACT;IACE,OAAO,IAAI,CAACP,MAAM;AACpB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOM,cAAcA,CAACE,IAAI,EAC1B;AACE,IAAA,MAAMR,MAAM,GAAG,IAAIC,UAAU,EAAE;IAE/B,IAAI,EAAEO,IAAI,CAACC,OAAO,YAAYC,WAAW,CAAC,EAAE,OAAOV,MAAM;AACzD,IAAA,IAAI,CAACA,MAAM,CAACW,MAAM,CAACH,IAAI,CAACI,KAAK,EAAE,CAAC,EAAE,CAAC,EAAEC,WAAW,CAACC,sBAAsB,CAAC,EAAE,OAAOd,MAAM;AAEvF,IAAA,MAAMe,GAAG,GAAGf,MAAM,CAACgB,UAAU,EAAE;AAC/BD,IAAAA,GAAG,CAACE,GAAG,CAAC,IAAIC,UAAU,CAACV,IAAI,CAACC,OAAO,CAACU,MAAM,EAAEX,IAAI,CAACC,OAAO,CAACW,UAAU,EAAEC,IAAI,CAACC,GAAG,CAACd,IAAI,CAACC,OAAO,CAACc,UAAU,EAAER,GAAG,CAACQ,UAAU,CAAC,CAAC,CAAC;AACxH,IAAA,OAAOvB,MAAM;AACf,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEwB,sBAAsBA,CAACC,OAAO,EAC9B;IACE,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,KAAKA,OAAO,EAC9C;AACE,MAAA,IAAI,CAAC,QAAQ,CAACrB,OAAO,EAAE;AACzB,IAAA;AACA,IAAA,IAAI,CAAC,QAAQ,GAAGqB,OAAO,IAAI,IAAI;AAC/B,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEC,EAAAA,eAAeA,GACf;AACE,IAAA,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAACC,eAAe,EAAE,GAAG,EAAE;AAC7D,EAAA;AAEA,EAAA,OAAOxB,OAAO,GAAGyB,mBAAmB,CAACC,aAAa;AACpD;AAEAC,SAAS,CAACC,MAAM,CAACjC,kBAAkB,EAAE;AACnCkC,EAAAA,SAAS,EAAE,oBAAoB;AAC/BC,EAAAA,MAAM,EAAE;AACV,CAAC,CAAC;;;;"}
@@ -16,9 +16,9 @@ const textEncoder = new TextEncoder();
16
16
  * just "keep the offset an append returned".
17
17
  */
18
18
  class CjsByteWriter {
19
- #bytes;
20
- #view;
21
- #length = 0;
19
+ _bytes;
20
+ _view;
21
+ _length = 0;
22
22
 
23
23
  /**
24
24
  * Creates an empty writer with an initial capacity.
@@ -27,8 +27,8 @@ class CjsByteWriter {
27
27
  */
28
28
  constructor(initialCapacity = 1024) {
29
29
  const capacity = Number.isInteger(initialCapacity) && initialCapacity > 0 ? initialCapacity : 1024;
30
- this.#bytes = new Uint8Array(capacity);
31
- this.#view = new DataView(this.#bytes.buffer);
30
+ this._bytes = new Uint8Array(capacity);
31
+ this._view = new DataView(this._bytes.buffer);
32
32
  }
33
33
 
34
34
  /**
@@ -37,7 +37,7 @@ class CjsByteWriter {
37
37
  * @returns {number} Written byte count.
38
38
  */
39
39
  get length() {
40
- return this.#length;
40
+ return this._length;
41
41
  }
42
42
 
43
43
  /**
@@ -47,8 +47,8 @@ class CjsByteWriter {
47
47
  * @returns {number} Offset the value was written at.
48
48
  */
49
49
  u8(value) {
50
- const offset = this.#advance(1);
51
- this.#view.setUint8(offset, value & 0xff);
50
+ const offset = this._advance(1);
51
+ this._view.setUint8(offset, value & 0xff);
52
52
  return offset;
53
53
  }
54
54
 
@@ -59,8 +59,8 @@ class CjsByteWriter {
59
59
  * @returns {number} Offset the value was written at.
60
60
  */
61
61
  u16(value) {
62
- const offset = this.#advance(2);
63
- this.#view.setUint16(offset, value & 0xffff, true);
62
+ const offset = this._advance(2);
63
+ this._view.setUint16(offset, value & 0xffff, true);
64
64
  return offset;
65
65
  }
66
66
 
@@ -71,8 +71,8 @@ class CjsByteWriter {
71
71
  * @returns {number} Offset the value was written at.
72
72
  */
73
73
  i16(value) {
74
- const offset = this.#advance(2);
75
- this.#view.setInt16(offset, value | 0, true);
74
+ const offset = this._advance(2);
75
+ this._view.setInt16(offset, value | 0, true);
76
76
  return offset;
77
77
  }
78
78
 
@@ -83,8 +83,8 @@ class CjsByteWriter {
83
83
  * @returns {number} Offset the value was written at.
84
84
  */
85
85
  u32(value) {
86
- const offset = this.#advance(4);
87
- this.#view.setUint32(offset, value >>> 0, true);
86
+ const offset = this._advance(4);
87
+ this._view.setUint32(offset, value >>> 0, true);
88
88
  return offset;
89
89
  }
90
90
 
@@ -95,8 +95,8 @@ class CjsByteWriter {
95
95
  * @returns {number} Offset the value was written at.
96
96
  */
97
97
  i32(value) {
98
- const offset = this.#advance(4);
99
- this.#view.setInt32(offset, value | 0, true);
98
+ const offset = this._advance(4);
99
+ this._view.setInt32(offset, value | 0, true);
100
100
  return offset;
101
101
  }
102
102
 
@@ -107,8 +107,8 @@ class CjsByteWriter {
107
107
  * @returns {number} Offset the value was written at.
108
108
  */
109
109
  i64(value) {
110
- const offset = this.#advance(8);
111
- this.#view.setBigInt64(offset, BigInt(value), true);
110
+ const offset = this._advance(8);
111
+ this._view.setBigInt64(offset, BigInt(value), true);
112
112
  return offset;
113
113
  }
114
114
 
@@ -119,8 +119,8 @@ class CjsByteWriter {
119
119
  * @returns {number} Offset the value was written at.
120
120
  */
121
121
  f32(value) {
122
- const offset = this.#advance(4);
123
- this.#view.setFloat32(offset, Number(value) || 0, true);
122
+ const offset = this._advance(4);
123
+ this._view.setFloat32(offset, Number(value) || 0, true);
124
124
  return offset;
125
125
  }
126
126
 
@@ -131,8 +131,8 @@ class CjsByteWriter {
131
131
  * @returns {number} Offset the value was written at.
132
132
  */
133
133
  f64(value) {
134
- const offset = this.#advance(8);
135
- this.#view.setFloat64(offset, Number(value) || 0, true);
134
+ const offset = this._advance(8);
135
+ this._view.setFloat64(offset, Number(value) || 0, true);
136
136
  return offset;
137
137
  }
138
138
 
@@ -154,8 +154,8 @@ class CjsByteWriter {
154
154
  */
155
155
  bytes(value) {
156
156
  const source = value instanceof Uint8Array ? value : new Uint8Array(value.buffer, value.byteOffset, value.byteLength);
157
- const offset = this.#advance(source.byteLength);
158
- this.#bytes.set(source, offset);
157
+ const offset = this._advance(source.byteLength);
158
+ this._bytes.set(source, offset);
159
159
  return offset;
160
160
  }
161
161
 
@@ -181,8 +181,8 @@ class CjsByteWriter {
181
181
  count
182
182
  });
183
183
  }
184
- const offset = this.#advance(count);
185
- this.#bytes.fill(0, offset, offset + count);
184
+ const offset = this._advance(count);
185
+ this._bytes.fill(0, offset, offset + count);
186
186
  return offset;
187
187
  }
188
188
 
@@ -193,8 +193,8 @@ class CjsByteWriter {
193
193
  * @param {number} value Integer value.
194
194
  */
195
195
  patchU8(offset, value) {
196
- this.#requireWritten(offset, 1);
197
- this.#view.setUint8(offset, value & 0xff);
196
+ this._requireWritten(offset, 1);
197
+ this._view.setUint8(offset, value & 0xff);
198
198
  }
199
199
 
200
200
  /**
@@ -204,8 +204,8 @@ class CjsByteWriter {
204
204
  * @param {number} value Integer value.
205
205
  */
206
206
  patchU32(offset, value) {
207
- this.#requireWritten(offset, 4);
208
- this.#view.setUint32(offset, value >>> 0, true);
207
+ this._requireWritten(offset, 4);
208
+ this._view.setUint32(offset, value >>> 0, true);
209
209
  }
210
210
 
211
211
  /**
@@ -216,8 +216,8 @@ class CjsByteWriter {
216
216
  */
217
217
  patchBytes(offset, value) {
218
218
  const source = value instanceof Uint8Array ? value : new Uint8Array(value.buffer, value.byteOffset, value.byteLength);
219
- this.#requireWritten(offset, source.byteLength);
220
- this.#bytes.set(source, offset);
219
+ this._requireWritten(offset, source.byteLength);
220
+ this._bytes.set(source, offset);
221
221
  }
222
222
 
223
223
  /**
@@ -226,7 +226,7 @@ class CjsByteWriter {
226
226
  * @returns {Uint8Array} Written payload.
227
227
  */
228
228
  toBytes() {
229
- return this.#bytes.slice(0, this.#length);
229
+ return this._bytes.slice(0, this._length);
230
230
  }
231
231
 
232
232
  /**
@@ -234,14 +234,14 @@ class CjsByteWriter {
234
234
  *
235
235
  * @param {number} capacity Required total capacity.
236
236
  */
237
- #ensure(capacity) {
238
- if (capacity <= this.#bytes.length) return;
239
- let next = this.#bytes.length * 2;
237
+ _ensure(capacity) {
238
+ if (capacity <= this._bytes.length) return;
239
+ let next = this._bytes.length * 2;
240
240
  while (next < capacity) next *= 2;
241
241
  const grown = new Uint8Array(next);
242
- grown.set(this.#bytes.subarray(0, this.#length));
243
- this.#bytes = grown;
244
- this.#view = new DataView(grown.buffer);
242
+ grown.set(this._bytes.subarray(0, this._length));
243
+ this._bytes = grown;
244
+ this._view = new DataView(grown.buffer);
245
245
  }
246
246
 
247
247
  /**
@@ -250,10 +250,10 @@ class CjsByteWriter {
250
250
  * @param {number} size Byte count for this append.
251
251
  * @returns {number} Offset of the appended run.
252
252
  */
253
- #advance(size) {
254
- const offset = this.#length;
255
- this.#ensure(offset + size);
256
- this.#length = offset + size;
253
+ _advance(size) {
254
+ const offset = this._length;
255
+ this._ensure(offset + size);
256
+ this._length = offset + size;
257
257
  return offset;
258
258
  }
259
259
 
@@ -263,12 +263,12 @@ class CjsByteWriter {
263
263
  * @param {number} offset Target offset.
264
264
  * @param {number} size Patch byte count.
265
265
  */
266
- #requireWritten(offset, size) {
267
- if (!Number.isInteger(offset) || offset < 0 || offset + size > this.#length) {
266
+ _requireWritten(offset, size) {
267
+ if (!Number.isInteger(offset) || offset < 0 || offset + size > this._length) {
268
268
  throw new CjsFormatWriteError("Patch target is outside the written range", {
269
269
  offset,
270
270
  size,
271
- length: this.#length
271
+ length: this._length
272
272
  });
273
273
  }
274
274
  }
@@ -1 +1 @@
1
- {"version":3,"file":"CjsByteWriter.js","sources":["../../../../src/resource/format/CjsByteWriter.js"],"sourcesContent":["import { CjsFormatWriteError } from \"./CjsFormatError.js\";\r\n\r\nconst textEncoder = new TextEncoder();\r\n\r\n/**\r\n * Growable little-endian append cursor with reserve-and-patch support.\r\n *\r\n * `formats/cmf/core/writer.js` already has a growable buffer, but it is\r\n * patch-style throughout: every write takes an explicit offset produced by a\r\n * prior `reserve`. Container assembly wants the opposite default — append in\r\n * field order — with patching kept for the one case that needs it, an offset\r\n * table whose values are only known after the payload it points at has been\r\n * measured.\r\n *\r\n * Every append returns the offset it wrote at, so the reserve-and-patch case is\r\n * just \"keep the offset an append returned\".\r\n */\r\nexport class CjsByteWriter\r\n{\r\n #bytes;\r\n #view;\r\n #length = 0;\r\n\r\n /**\r\n * Creates an empty writer with an initial capacity.\r\n *\r\n * @param {number} [initialCapacity] Starting buffer size in bytes.\r\n */\r\n constructor(initialCapacity = 1024)\r\n {\r\n const capacity = Number.isInteger(initialCapacity) && initialCapacity > 0 ? initialCapacity : 1024;\r\n this.#bytes = new Uint8Array(capacity);\r\n this.#view = new DataView(this.#bytes.buffer);\r\n }\r\n\r\n /**\r\n * Returns the number of bytes written so far.\r\n *\r\n * @returns {number} Written byte count.\r\n */\r\n get length()\r\n {\r\n return this.#length;\r\n }\r\n\r\n /**\r\n * Appends an unsigned 8-bit integer.\r\n *\r\n * @param {number} value Integer value.\r\n * @returns {number} Offset the value was written at.\r\n */\r\n u8(value)\r\n {\r\n const offset = this.#advance(1);\r\n this.#view.setUint8(offset, value & 0xff);\r\n return offset;\r\n }\r\n\r\n /**\r\n * Appends a little-endian unsigned 16-bit integer.\r\n *\r\n * @param {number} value Integer value.\r\n * @returns {number} Offset the value was written at.\r\n */\r\n u16(value)\n {\r\n const offset = this.#advance(2);\r\n this.#view.setUint16(offset, value & 0xffff, true);\r\n return offset;\n }\n\n /**\n * Appends a little-endian signed 16-bit integer.\n *\n * @param {number} value Integer value.\n * @returns {number} Offset the value was written at.\n */\n i16(value)\n {\n const offset = this.#advance(2);\n this.#view.setInt16(offset, value | 0, true);\n return offset;\n }\n\r\n /**\r\n * Appends a little-endian unsigned 32-bit integer.\r\n *\r\n * @param {number} value Integer value.\r\n * @returns {number} Offset the value was written at.\r\n */\r\n u32(value)\r\n {\r\n const offset = this.#advance(4);\r\n this.#view.setUint32(offset, value >>> 0, true);\r\n return offset;\r\n }\r\n\r\n /**\r\n * Appends a little-endian signed 32-bit integer.\r\n *\r\n * @param {number} value Integer value.\r\n * @returns {number} Offset the value was written at.\r\n */\r\n i32(value)\n {\r\n const offset = this.#advance(4);\r\n this.#view.setInt32(offset, value | 0, true);\r\n return offset;\n }\n\n /**\n * Appends a little-endian signed 64-bit integer.\n *\n * @param {bigint|number} value Integer value.\n * @returns {number} Offset the value was written at.\n */\n i64(value)\n {\n const offset = this.#advance(8);\n this.#view.setBigInt64(offset, BigInt(value), true);\n return offset;\n }\n\r\n /**\r\n * Appends a little-endian 32-bit float.\r\n *\r\n * @param {number} value Float value.\r\n * @returns {number} Offset the value was written at.\r\n */\r\n f32(value)\n {\r\n const offset = this.#advance(4);\r\n this.#view.setFloat32(offset, Number(value) || 0, true);\r\n return offset;\n }\n\n /**\n * Appends a little-endian 64-bit float.\n *\n * @param {number} value Float value.\n * @returns {number} Offset the value was written at.\n */\n f64(value)\n {\n const offset = this.#advance(8);\n this.#view.setFloat64(offset, Number(value) || 0, true);\n return offset;\n }\n\r\n /**\r\n * Appends Carbon's byte-sized boolean encoding.\r\n *\r\n * @param {boolean} value Boolean value.\r\n * @returns {number} Offset the value was written at.\r\n */\r\n bool(value)\r\n {\r\n return this.u8(value ? 1 : 0);\r\n }\r\n\r\n /**\r\n * Appends raw bytes.\r\n *\r\n * @param {ArrayBufferView|Uint8Array} value Bytes to append.\r\n * @returns {number} Offset the bytes were written at.\r\n */\r\n bytes(value)\r\n {\r\n const source = value instanceof Uint8Array\r\n ? value\r\n : new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\r\n const offset = this.#advance(source.byteLength);\r\n this.#bytes.set(source, offset);\r\n return offset;\r\n }\r\n\r\n /**\r\n * Appends UTF-8 text without a terminator.\r\n *\r\n * @param {string} value Text to append.\r\n * @returns {number} Offset the text was written at.\r\n */\r\n utf8(value)\r\n {\r\n return this.bytes(textEncoder.encode(String(value)));\r\n }\r\n\r\n /**\r\n * Appends a run of zero bytes and returns its offset, for later patching.\r\n *\r\n * @param {number} count Byte count to reserve.\r\n * @returns {number} Offset of the reserved run.\r\n */\r\n reserve(count)\r\n {\r\n if (!Number.isInteger(count) || count < 0)\r\n {\r\n throw new CjsFormatWriteError(\"Reserve count must be a non-negative integer\", { count });\r\n }\r\n const offset = this.#advance(count);\r\n this.#bytes.fill(0, offset, offset + count);\r\n return offset;\r\n }\r\n\r\n /**\r\n * Overwrites a previously written unsigned 8-bit integer.\r\n *\r\n * @param {number} offset Target offset.\r\n * @param {number} value Integer value.\r\n */\r\n patchU8(offset, value)\r\n {\r\n this.#requireWritten(offset, 1);\r\n this.#view.setUint8(offset, value & 0xff);\r\n }\r\n\r\n /**\r\n * Overwrites a previously written little-endian unsigned 32-bit integer.\r\n *\r\n * @param {number} offset Target offset.\r\n * @param {number} value Integer value.\r\n */\r\n patchU32(offset, value)\r\n {\r\n this.#requireWritten(offset, 4);\r\n this.#view.setUint32(offset, value >>> 0, true);\r\n }\r\n\r\n /**\r\n * Overwrites a previously written byte range.\r\n *\r\n * @param {number} offset Target offset.\r\n * @param {ArrayBufferView|Uint8Array} value Replacement bytes.\r\n */\r\n patchBytes(offset, value)\r\n {\r\n const source = value instanceof Uint8Array\r\n ? value\r\n : new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\r\n this.#requireWritten(offset, source.byteLength);\r\n this.#bytes.set(source, offset);\r\n }\r\n\r\n /**\r\n * Returns an owned copy of the written bytes.\r\n *\r\n * @returns {Uint8Array} Written payload.\r\n */\r\n toBytes()\r\n {\r\n return this.#bytes.slice(0, this.#length);\r\n }\r\n\r\n /**\r\n * Grows the buffer when a write would exceed capacity.\r\n *\r\n * @param {number} capacity Required total capacity.\r\n */\r\n #ensure(capacity)\r\n {\r\n if (capacity <= this.#bytes.length) return;\r\n let next = this.#bytes.length * 2;\r\n while (next < capacity) next *= 2;\r\n const grown = new Uint8Array(next);\r\n grown.set(this.#bytes.subarray(0, this.#length));\r\n this.#bytes = grown;\r\n this.#view = new DataView(grown.buffer);\r\n }\r\n\r\n /**\r\n * Reserves space for one append and returns the offset it starts at.\r\n *\r\n * @param {number} size Byte count for this append.\r\n * @returns {number} Offset of the appended run.\r\n */\r\n #advance(size)\r\n {\r\n const offset = this.#length;\r\n this.#ensure(offset + size);\r\n this.#length = offset + size;\r\n return offset;\r\n }\r\n\r\n /**\r\n * Rejects a patch that falls outside the bytes already written.\r\n *\r\n * @param {number} offset Target offset.\r\n * @param {number} size Patch byte count.\r\n */\r\n #requireWritten(offset, size)\r\n {\r\n if (!Number.isInteger(offset) || offset < 0 || offset + size > this.#length)\r\n {\r\n throw new CjsFormatWriteError(\"Patch target is outside the written range\", {\r\n offset,\r\n size,\r\n length: this.#length\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default CjsByteWriter;\r\n"],"names":["textEncoder","TextEncoder","CjsByteWriter","constructor","initialCapacity","capacity","Number","isInteger","Uint8Array","DataView","buffer","length","u8","value","offset","setUint8","u16","setUint16","i16","setInt16","u32","setUint32","i32","setInt32","i64","setBigInt64","BigInt","f32","setFloat32","f64","setFloat64","bool","bytes","source","byteOffset","byteLength","set","utf8","encode","String","reserve","count","CjsFormatWriteError","fill","patchU8","patchU32","patchBytes","toBytes","slice","#ensure","next","grown","subarray","#advance","size","#requireWritten"],"mappings":"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"}
1
+ {"version":3,"file":"CjsByteWriter.js","sources":["../../../../src/resource/format/CjsByteWriter.js"],"sourcesContent":["import { CjsFormatWriteError } from \"./CjsFormatError.js\";\r\n\r\nconst textEncoder = new TextEncoder();\r\n\r\n/**\r\n * Growable little-endian append cursor with reserve-and-patch support.\r\n *\r\n * `formats/cmf/core/writer.js` already has a growable buffer, but it is\r\n * patch-style throughout: every write takes an explicit offset produced by a\r\n * prior `reserve`. Container assembly wants the opposite default — append in\r\n * field order — with patching kept for the one case that needs it, an offset\r\n * table whose values are only known after the payload it points at has been\r\n * measured.\r\n *\r\n * Every append returns the offset it wrote at, so the reserve-and-patch case is\r\n * just \"keep the offset an append returned\".\r\n */\r\nexport class CjsByteWriter\r\n{\r\n _bytes;\r\n _view;\r\n _length = 0;\r\n\r\n /**\r\n * Creates an empty writer with an initial capacity.\r\n *\r\n * @param {number} [initialCapacity] Starting buffer size in bytes.\r\n */\r\n constructor(initialCapacity = 1024)\r\n {\r\n const capacity = Number.isInteger(initialCapacity) && initialCapacity > 0 ? initialCapacity : 1024;\r\n this._bytes = new Uint8Array(capacity);\r\n this._view = new DataView(this._bytes.buffer);\r\n }\r\n\r\n /**\r\n * Returns the number of bytes written so far.\r\n *\r\n * @returns {number} Written byte count.\r\n */\r\n get length()\r\n {\r\n return this._length;\r\n }\r\n\r\n /**\r\n * Appends an unsigned 8-bit integer.\r\n *\r\n * @param {number} value Integer value.\r\n * @returns {number} Offset the value was written at.\r\n */\r\n u8(value)\r\n {\r\n const offset = this._advance(1);\r\n this._view.setUint8(offset, value & 0xff);\r\n return offset;\r\n }\r\n\r\n /**\r\n * Appends a little-endian unsigned 16-bit integer.\r\n *\r\n * @param {number} value Integer value.\r\n * @returns {number} Offset the value was written at.\r\n */\r\n u16(value)\n {\r\n const offset = this._advance(2);\r\n this._view.setUint16(offset, value & 0xffff, true);\r\n return offset;\n }\n\n /**\n * Appends a little-endian signed 16-bit integer.\n *\n * @param {number} value Integer value.\n * @returns {number} Offset the value was written at.\n */\n i16(value)\n {\n const offset = this._advance(2);\n this._view.setInt16(offset, value | 0, true);\n return offset;\n }\n\r\n /**\r\n * Appends a little-endian unsigned 32-bit integer.\r\n *\r\n * @param {number} value Integer value.\r\n * @returns {number} Offset the value was written at.\r\n */\r\n u32(value)\r\n {\r\n const offset = this._advance(4);\r\n this._view.setUint32(offset, value >>> 0, true);\r\n return offset;\r\n }\r\n\r\n /**\r\n * Appends a little-endian signed 32-bit integer.\r\n *\r\n * @param {number} value Integer value.\r\n * @returns {number} Offset the value was written at.\r\n */\r\n i32(value)\n {\r\n const offset = this._advance(4);\r\n this._view.setInt32(offset, value | 0, true);\r\n return offset;\n }\n\n /**\n * Appends a little-endian signed 64-bit integer.\n *\n * @param {bigint|number} value Integer value.\n * @returns {number} Offset the value was written at.\n */\n i64(value)\n {\n const offset = this._advance(8);\n this._view.setBigInt64(offset, BigInt(value), true);\n return offset;\n }\n\r\n /**\r\n * Appends a little-endian 32-bit float.\r\n *\r\n * @param {number} value Float value.\r\n * @returns {number} Offset the value was written at.\r\n */\r\n f32(value)\n {\r\n const offset = this._advance(4);\r\n this._view.setFloat32(offset, Number(value) || 0, true);\r\n return offset;\n }\n\n /**\n * Appends a little-endian 64-bit float.\n *\n * @param {number} value Float value.\n * @returns {number} Offset the value was written at.\n */\n f64(value)\n {\n const offset = this._advance(8);\n this._view.setFloat64(offset, Number(value) || 0, true);\n return offset;\n }\n\r\n /**\r\n * Appends Carbon's byte-sized boolean encoding.\r\n *\r\n * @param {boolean} value Boolean value.\r\n * @returns {number} Offset the value was written at.\r\n */\r\n bool(value)\r\n {\r\n return this.u8(value ? 1 : 0);\r\n }\r\n\r\n /**\r\n * Appends raw bytes.\r\n *\r\n * @param {ArrayBufferView|Uint8Array} value Bytes to append.\r\n * @returns {number} Offset the bytes were written at.\r\n */\r\n bytes(value)\r\n {\r\n const source = value instanceof Uint8Array\r\n ? value\r\n : new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\r\n const offset = this._advance(source.byteLength);\r\n this._bytes.set(source, offset);\r\n return offset;\r\n }\r\n\r\n /**\r\n * Appends UTF-8 text without a terminator.\r\n *\r\n * @param {string} value Text to append.\r\n * @returns {number} Offset the text was written at.\r\n */\r\n utf8(value)\r\n {\r\n return this.bytes(textEncoder.encode(String(value)));\r\n }\r\n\r\n /**\r\n * Appends a run of zero bytes and returns its offset, for later patching.\r\n *\r\n * @param {number} count Byte count to reserve.\r\n * @returns {number} Offset of the reserved run.\r\n */\r\n reserve(count)\r\n {\r\n if (!Number.isInteger(count) || count < 0)\r\n {\r\n throw new CjsFormatWriteError(\"Reserve count must be a non-negative integer\", { count });\r\n }\r\n const offset = this._advance(count);\r\n this._bytes.fill(0, offset, offset + count);\r\n return offset;\r\n }\r\n\r\n /**\r\n * Overwrites a previously written unsigned 8-bit integer.\r\n *\r\n * @param {number} offset Target offset.\r\n * @param {number} value Integer value.\r\n */\r\n patchU8(offset, value)\r\n {\r\n this._requireWritten(offset, 1);\r\n this._view.setUint8(offset, value & 0xff);\r\n }\r\n\r\n /**\r\n * Overwrites a previously written little-endian unsigned 32-bit integer.\r\n *\r\n * @param {number} offset Target offset.\r\n * @param {number} value Integer value.\r\n */\r\n patchU32(offset, value)\r\n {\r\n this._requireWritten(offset, 4);\r\n this._view.setUint32(offset, value >>> 0, true);\r\n }\r\n\r\n /**\r\n * Overwrites a previously written byte range.\r\n *\r\n * @param {number} offset Target offset.\r\n * @param {ArrayBufferView|Uint8Array} value Replacement bytes.\r\n */\r\n patchBytes(offset, value)\r\n {\r\n const source = value instanceof Uint8Array\r\n ? value\r\n : new Uint8Array(value.buffer, value.byteOffset, value.byteLength);\r\n this._requireWritten(offset, source.byteLength);\r\n this._bytes.set(source, offset);\r\n }\r\n\r\n /**\r\n * Returns an owned copy of the written bytes.\r\n *\r\n * @returns {Uint8Array} Written payload.\r\n */\r\n toBytes()\r\n {\r\n return this._bytes.slice(0, this._length);\r\n }\r\n\r\n /**\r\n * Grows the buffer when a write would exceed capacity.\r\n *\r\n * @param {number} capacity Required total capacity.\r\n */\r\n _ensure(capacity)\r\n {\r\n if (capacity <= this._bytes.length) return;\r\n let next = this._bytes.length * 2;\r\n while (next < capacity) next *= 2;\r\n const grown = new Uint8Array(next);\r\n grown.set(this._bytes.subarray(0, this._length));\r\n this._bytes = grown;\r\n this._view = new DataView(grown.buffer);\r\n }\r\n\r\n /**\r\n * Reserves space for one append and returns the offset it starts at.\r\n *\r\n * @param {number} size Byte count for this append.\r\n * @returns {number} Offset of the appended run.\r\n */\r\n _advance(size)\r\n {\r\n const offset = this._length;\r\n this._ensure(offset + size);\r\n this._length = offset + size;\r\n return offset;\r\n }\r\n\r\n /**\r\n * Rejects a patch that falls outside the bytes already written.\r\n *\r\n * @param {number} offset Target offset.\r\n * @param {number} size Patch byte count.\r\n */\r\n _requireWritten(offset, size)\r\n {\r\n if (!Number.isInteger(offset) || offset < 0 || offset + size > this._length)\r\n {\r\n throw new CjsFormatWriteError(\"Patch target is outside the written range\", {\r\n offset,\r\n size,\r\n length: this._length\r\n });\r\n }\r\n }\r\n}\r\n\r\nexport default CjsByteWriter;\r\n"],"names":["textEncoder","TextEncoder","CjsByteWriter","_bytes","_view","_length","constructor","initialCapacity","capacity","Number","isInteger","Uint8Array","DataView","buffer","length","u8","value","offset","_advance","setUint8","u16","setUint16","i16","setInt16","u32","setUint32","i32","setInt32","i64","setBigInt64","BigInt","f32","setFloat32","f64","setFloat64","bool","bytes","source","byteOffset","byteLength","set","utf8","encode","String","reserve","count","CjsFormatWriteError","fill","patchU8","_requireWritten","patchU32","patchBytes","toBytes","slice","_ensure","next","grown","subarray","size"],"mappings":"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"}
@@ -9,9 +9,8 @@ const READ_MODE_ASYNC = "async";
9
9
  * Decorator-free base for every concrete format facade.
10
10
  *
11
11
  * The format subpaths must remain directly importable from authored source, so
12
- * this base deliberately does not import the decorated CjsResourceProbe model.
13
- * Formats return plain support reports; CjsResourceProbe.from() is the optional
14
- * resource-layer normalization boundary.
12
+ * this base carries no decorators. Formats return plain support reports;
13
+ * CjsResourceProbe.from() is the optional resource-layer normalization.
15
14
  */
16
15
  class CjsFormat {
17
16
  options = {};
@@ -274,7 +273,7 @@ class CjsFormat {
274
273
  if (Object.keys(inputs).length > 0 && defaults !== 1) {
275
274
  throw new TypeError("A format with inputs must declare exactly one default input.");
276
275
  }
277
- return Object.freeze(inputs);
276
+ return inputs;
278
277
  }
279
278
 
280
279
  /** Freeze and validate one format's authoritative output map. */
@@ -398,9 +397,9 @@ class CjsFormat {
398
397
  VIDEO: PayloadType.VIDEO
399
398
  });
400
399
  static id = "";
401
- static mediaTypes = Object.freeze([]);
402
- static extensions = Object.freeze([]);
403
- static outputs = Object.freeze({});
400
+ static mediaTypes = [];
401
+ static extensions = [];
402
+ static outputs = {};
404
403
  /**
405
404
  * What this format can be written FROM, empty when it cannot be written.
406
405
  *
@@ -411,7 +410,7 @@ class CjsFormat {
411
410
  * contract - it says nothing about what payload it takes or whether the
412
411
  * result is lossy.
413
412
  */
414
- static inputs = Object.freeze({});
413
+ static inputs = {};
415
414
  static requestResponseType = "arraybuffer";
416
415
  static worker = null;
417
416
  }