@carbonenginejs/runtime-resource 0.12.1 → 0.13.0

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 (541) hide show
  1. package/LICENSE +21 -21
  2. package/NOTICE +32 -32
  3. package/README.md +129 -108
  4. package/dist/CjsMotherLode.js +1271 -1271
  5. package/dist/CjsResMan.js +3858 -3494
  6. package/dist/CjsResMan.js.map +1 -1
  7. package/dist/CjsResManFetchProvider.js +94 -94
  8. package/dist/CjsResManWorkQueue.js +301 -301
  9. package/dist/_virtual/_rollupPluginBabelHelpers.js +150 -150
  10. package/dist/format/CjsBlueReader.js +358 -358
  11. package/dist/format/CjsByteReader.js +310 -310
  12. package/dist/format/CjsByteWriter.js +242 -242
  13. package/dist/format/CjsFormat.js +223 -223
  14. package/dist/format/CjsFormatError.js +41 -41
  15. package/dist/format/CjsReader.js +22 -22
  16. package/dist/format/CjsResourceProbe.js +279 -279
  17. package/dist/format/CjsStringTable.js +268 -268
  18. package/dist/format/carbonEffect/CjsCarbonEffectReader.js +408 -361
  19. package/dist/format/carbonEffect/CjsCarbonEffectReader.js.map +1 -1
  20. package/dist/format/carbonEffect/CjsCarbonEffectWriter.js +373 -373
  21. package/dist/format/carbonEffect/buildCarbonEffectContainer.js +182 -0
  22. package/dist/format/carbonEffect/buildCarbonEffectContainer.js.map +1 -0
  23. package/dist/format/carbonEffect/carbonEffectBackendBlock.js +321 -427
  24. package/dist/format/carbonEffect/carbonEffectBackendBlock.js.map +1 -1
  25. package/dist/format/carbonEffect/carbonEffectRecords.js +1147 -955
  26. package/dist/format/carbonEffect/carbonEffectRecords.js.map +1 -1
  27. package/dist/format/carbonEffect/carbonEffectResourceTransform.js +197 -0
  28. package/dist/format/carbonEffect/carbonEffectResourceTransform.js.map +1 -0
  29. package/dist/format/compareUtf8.js +36 -36
  30. package/dist/format/effect/effectBodyInventory.js +146 -0
  31. package/dist/format/effect/effectBodyInventory.js.map +1 -0
  32. package/dist/format/effect/effectPermutationGraph.js +257 -257
  33. package/dist/format/effect/effectPermutationGraph.js.map +1 -1
  34. package/dist/format/effect/sha256.js +114 -114
  35. package/dist/format/index.js +11 -11
  36. package/dist/format/payloadContract.js +193 -193
  37. package/dist/formats/black/CjsBlackFormat.js +310 -292
  38. package/dist/formats/black/CjsBlackFormat.js.map +1 -1
  39. package/dist/formats/black/core/CjsBlackBinaryReader.js +260 -260
  40. package/dist/formats/black/core/CjsBlackPropertyReaders.js +448 -448
  41. package/dist/formats/black/core/CjsBlackReader.js +764 -764
  42. package/dist/formats/black/core/CjsBlackSchemaRegistry.js +540 -540
  43. package/dist/formats/black/core/black-schema-v1-2026-07-23.json.js +4 -4
  44. package/dist/formats/black/core/blackConstants.js +7 -7
  45. package/dist/formats/black/core/blackDefinitions.js +10 -10
  46. package/dist/formats/black/core/blackEnums.js +6 -6
  47. package/dist/formats/black/core/blackSchema.js +3 -3
  48. package/dist/formats/black/core/blackVersion.js +22 -22
  49. package/dist/formats/black/core/helpers.js +199 -199
  50. package/dist/formats/black/core/schema.js +4 -4
  51. package/dist/formats/black/index.js +2 -2
  52. package/dist/formats/bnk/CjsBnkFormat.js +175 -156
  53. package/dist/formats/bnk/CjsBnkFormat.js.map +1 -1
  54. package/dist/formats/bnk/core/busNodes.js +252 -0
  55. package/dist/formats/bnk/core/busNodes.js.map +1 -0
  56. package/dist/formats/bnk/core/effectNodes.js +147 -0
  57. package/dist/formats/bnk/core/effectNodes.js.map +1 -0
  58. package/dist/formats/bnk/core/eventAction.js +416 -305
  59. package/dist/formats/bnk/core/eventAction.js.map +1 -1
  60. package/dist/formats/bnk/core/globalSettings.js +215 -0
  61. package/dist/formats/bnk/core/globalSettings.js.map +1 -0
  62. package/dist/formats/bnk/core/graph.js +137 -137
  63. package/dist/formats/bnk/core/helpers.js +512 -480
  64. package/dist/formats/bnk/core/helpers.js.map +1 -1
  65. package/dist/formats/bnk/core/musicNodes.js +533 -509
  66. package/dist/formats/bnk/core/musicNodes.js.map +1 -1
  67. package/dist/formats/bnk/core/nodeBase.js +553 -532
  68. package/dist/formats/bnk/core/nodeBase.js.map +1 -1
  69. package/dist/formats/bnk/core/sfxNodes.js +632 -632
  70. package/dist/formats/bnk/core/soundbanksInfo.js +209 -209
  71. package/dist/formats/bnk/index.js +2 -2
  72. package/dist/formats/cmf/CjsCmfFormat.js +497 -497
  73. package/dist/formats/cmf/core/binary.js +194 -194
  74. package/dist/formats/cmf/core/buffers.js +237 -237
  75. package/dist/formats/cmf/core/constants.js +47 -47
  76. package/dist/formats/cmf/core/gr2Anim.js +453 -453
  77. package/dist/formats/cmf/core/helpers.js +318 -318
  78. package/dist/formats/cmf/core/pack.js +276 -276
  79. package/dist/formats/cmf/core/schema.js +374 -374
  80. package/dist/formats/cmf/core/shared.js +277 -277
  81. package/dist/formats/cmf/core/writer.js +571 -571
  82. package/dist/formats/cmf/index.js +2 -2
  83. package/dist/formats/dds/CjsDdsFormat.js +200 -200
  84. package/dist/formats/dds/core/bc6h.js +298 -298
  85. package/dist/formats/dds/core/bc7.js +272 -272
  86. package/dist/formats/dds/core/helpers.js +862 -862
  87. package/dist/formats/dds/index.js +2 -2
  88. package/dist/formats/dxbc/CjsDxbcFormat.js +142 -142
  89. package/dist/formats/dxbc/core/DxbcReader.js +266 -266
  90. package/dist/formats/dxbc/core/container.js +169 -169
  91. package/dist/formats/dxbc/core/decoder.js +789 -789
  92. package/dist/formats/dxbc/core/errors.js +19 -19
  93. package/dist/formats/dxbc/core/helpers.js +220 -220
  94. package/dist/formats/dxbc/core/opcodes.js +45 -45
  95. package/dist/formats/dxbc/core/program.js +91 -91
  96. package/dist/formats/dxbc/core/signature.js +172 -172
  97. package/dist/formats/dxbc/index.js +2 -2
  98. package/dist/formats/fbx/CjsFbxFormat.js +266 -266
  99. package/dist/formats/fbx/core/helpers.js +3932 -3932
  100. package/dist/formats/fbx/index.js +2 -2
  101. package/dist/formats/flac/CjsFlacFormat.js +142 -142
  102. package/dist/formats/flac/core/helpers.js +315 -315
  103. package/dist/formats/flac/index.js +2 -2
  104. package/dist/formats/gif/CjsGifFormat.js +141 -141
  105. package/dist/formats/gif/core/helpers.js +380 -380
  106. package/dist/formats/gif/index.js +2 -2
  107. package/dist/formats/gltf/CjsGltfFormat.js +290 -290
  108. package/dist/formats/gltf/core/helpers.js +307 -307
  109. package/dist/formats/gltf/core/json.js +79 -79
  110. package/dist/formats/gltf/core/parser.js +679 -679
  111. package/dist/formats/gltf/core/targets.js +173 -173
  112. package/dist/formats/gltf/index.js +2 -2
  113. package/dist/formats/gr2/CjsGr2Format.js +289 -289
  114. package/dist/formats/gr2/core/bitknit2.js +282 -282
  115. package/dist/formats/gr2/core/curves.js +1047 -1047
  116. package/dist/formats/gr2/core/gsf.js +72 -72
  117. package/dist/formats/gr2/core/helpers.js +352 -352
  118. package/dist/formats/gr2/core/json.js +622 -622
  119. package/dist/formats/gr2/core/oodle1.js +388 -388
  120. package/dist/formats/gr2/core/tangents.js +48 -48
  121. package/dist/formats/gr2/core/targets.js +361 -361
  122. package/dist/formats/gr2/index.js +2 -2
  123. package/dist/formats/hlsl/CjsHlslFormat.js +254 -254
  124. package/dist/formats/hlsl/core/HlslBinaryUtils.js +15 -15
  125. package/dist/formats/hlsl/core/HlslEffectReadError.js +19 -19
  126. package/dist/formats/hlsl/core/HlslEffectStateManager.js +130 -130
  127. package/dist/formats/hlsl/core/HlslRenderStateSetup.js +37 -37
  128. package/dist/formats/hlsl/core/HlslResourceSetDescription.js +94 -94
  129. package/dist/formats/hlsl/core/HlslShaderBytecode.js +44 -44
  130. package/dist/formats/hlsl/core/analysis.js +51 -51
  131. package/dist/formats/hlsl/core/carbonDescriptionToRuntime.js +850 -781
  132. package/dist/formats/hlsl/core/carbonDescriptionToRuntime.js.map +1 -1
  133. package/dist/formats/hlsl/core/detailMapFamily.js +128 -0
  134. package/dist/formats/hlsl/core/detailMapFamily.js.map +1 -0
  135. package/dist/formats/hlsl/core/helpers.js +270 -270
  136. package/dist/formats/hlsl/core/json.js +284 -284
  137. package/dist/formats/hlsl/core/localLightFamily.js +133 -0
  138. package/dist/formats/hlsl/core/localLightFamily.js.map +1 -0
  139. package/dist/formats/hlsl/core/metadata.js +327 -327
  140. package/dist/formats/hlsl/core/render-states.js +280 -280
  141. package/dist/formats/hlsl/core/tr2/HlslRenderContextEnum.js +43 -43
  142. package/dist/formats/hlsl/core/tr2/resources/HlslEffectRes.js +320 -314
  143. package/dist/formats/hlsl/core/tr2/resources/HlslEffectRes.js.map +1 -1
  144. package/dist/formats/hlsl/core/tr2/resources/HlslShaderPermutation.js +33 -33
  145. package/dist/formats/hlsl/core/tr2/shader/HlslEffectBindingManifest.js +416 -416
  146. package/dist/formats/hlsl/core/tr2/shader/HlslEffectConstant.js +40 -40
  147. package/dist/formats/hlsl/core/tr2/shader/HlslEffectDescription.js +62 -742
  148. package/dist/formats/hlsl/core/tr2/shader/HlslEffectDescription.js.map +1 -1
  149. package/dist/formats/hlsl/core/tr2/shader/HlslEffectLibrary.js +52 -52
  150. package/dist/formats/hlsl/core/tr2/shader/HlslEffectParameterAnnotation.js +38 -38
  151. package/dist/formats/hlsl/core/tr2/shader/HlslEffectResource.js +50 -50
  152. package/dist/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js +86 -86
  153. package/dist/formats/hlsl/core/tr2/shader/HlslEffectTechnique.js +31 -31
  154. package/dist/formats/hlsl/core/tr2/shader/HlslPass.js +42 -42
  155. package/dist/formats/hlsl/core/tr2/shader/HlslSamplerDescription.js +55 -55
  156. package/dist/formats/hlsl/core/tr2/shader/HlslSamplerSetup.js +29 -29
  157. package/dist/formats/hlsl/core/tr2/shader/HlslShader.js +220 -220
  158. package/dist/formats/hlsl/core/tr2/shader/HlslShaderOption.js +30 -30
  159. package/dist/formats/hlsl/index.js +3 -3
  160. package/dist/formats/index.js +33 -31
  161. package/dist/formats/index.js.map +1 -1
  162. package/dist/formats/jpeg/CjsJpegFormat.js +212 -212
  163. package/dist/formats/jpeg/core/helpers.js +402 -402
  164. package/dist/formats/jpeg/core/jpeg.js +480 -480
  165. package/dist/formats/jpeg/index.js +2 -2
  166. package/dist/formats/mp3/CjsMp3Format.js +197 -197
  167. package/dist/formats/mp3/core/helpers.js +375 -375
  168. package/dist/formats/mp3/index.js +2 -2
  169. package/dist/formats/mp4/CjsMp4Format.js +197 -197
  170. package/dist/formats/mp4/core/helpers.js +484 -484
  171. package/dist/formats/mp4/index.js +2 -2
  172. package/dist/formats/obj/CjsObjFormat.js +253 -253
  173. package/dist/formats/obj/core/helpers.js +573 -573
  174. package/dist/formats/obj/core/json.js +64 -64
  175. package/dist/formats/obj/core/parser.js +321 -321
  176. package/dist/formats/obj/index.js +2 -2
  177. package/dist/formats/ogg/CjsOggFormat.js +143 -143
  178. package/dist/formats/ogg/core/helpers.js +410 -410
  179. package/dist/formats/ogg/core/imdct.js +178 -178
  180. package/dist/formats/ogg/core/vorbis.js +1017 -1017
  181. package/dist/formats/ogg/index.js +2 -2
  182. package/dist/formats/pickle/CjsPickleFormat.js +214 -0
  183. package/dist/formats/pickle/CjsPickleFormat.js.map +1 -0
  184. package/dist/formats/pickle/core/CjsPickleProtocol0Reader.js +551 -0
  185. package/dist/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -0
  186. package/dist/formats/pickle/index.js +2 -0
  187. package/dist/formats/pickle/index.js.map +1 -0
  188. package/dist/formats/png/CjsPngFormat.js +201 -201
  189. package/dist/formats/png/core/helpers.js +635 -635
  190. package/dist/formats/png/index.js +2 -2
  191. package/dist/formats/red/CjsRedFormat.js +263 -263
  192. package/dist/formats/red/core/CjsRedReader.js +246 -246
  193. package/dist/formats/red/core/blackDefinitions.js +3 -3
  194. package/dist/formats/red/core/helpers.js +158 -158
  195. package/dist/formats/red/core/redGraph.js +71 -68
  196. package/dist/formats/red/core/redGraph.js.map +1 -1
  197. package/dist/formats/red/core/schema.js +4 -4
  198. package/dist/formats/red/index.js +2 -2
  199. package/dist/formats/stl/CjsStlFormat.js +365 -365
  200. package/dist/formats/stl/core/helpers.js +261 -261
  201. package/dist/formats/stl/core/json.js +51 -51
  202. package/dist/formats/stl/core/stl.js +642 -642
  203. package/dist/formats/stl/core/targets.js +173 -173
  204. package/dist/formats/stl/index.js +2 -2
  205. package/dist/formats/tga/CjsTgaFormat.js +197 -197
  206. package/dist/formats/tga/core/helpers.js +493 -493
  207. package/dist/formats/tga/index.js +2 -2
  208. package/dist/formats/wav/CjsWavFormat.js +198 -198
  209. package/dist/formats/wav/core/helpers.js +365 -365
  210. package/dist/formats/wav/index.js +2 -2
  211. package/dist/formats/webgl/CjsWebglFormat.js +199 -221
  212. package/dist/formats/webgl/CjsWebglFormat.js.map +1 -1
  213. package/dist/formats/webgl/core/buildGlslEffectContainer.js +70 -0
  214. package/dist/formats/webgl/core/buildGlslEffectContainer.js.map +1 -0
  215. package/dist/formats/webgl/core/effectPackage.js +900 -792
  216. package/dist/formats/webgl/core/effectPackage.js.map +1 -1
  217. package/dist/formats/webgl/core/errors.js +27 -27
  218. package/dist/formats/webgl/core/errors.js.map +1 -1
  219. package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js +2820 -2678
  220. package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
  221. package/dist/formats/webgl/core/glsl/DxbcGlslHelpers.js +89 -89
  222. package/dist/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +486 -428
  223. package/dist/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
  224. package/dist/formats/webgl/core/glsl/packedLightFixups.js +98 -0
  225. package/dist/formats/webgl/core/glsl/packedLightFixups.js.map +1 -0
  226. package/dist/formats/webgl/core/glslBackendBlock.js +552 -0
  227. package/dist/formats/webgl/core/glslBackendBlock.js.map +1 -0
  228. package/dist/formats/webgl/core/glslBackendBodySet.js +243 -0
  229. package/dist/formats/webgl/core/glslBackendBodySet.js.map +1 -0
  230. package/dist/formats/webgl/core/{cewgCompleteness.js → glslEffectCompleteness.js} +85 -81
  231. package/dist/formats/webgl/core/glslEffectCompleteness.js.map +1 -0
  232. package/dist/formats/webgl/core/helpers.js +167 -306
  233. package/dist/formats/webgl/core/helpers.js.map +1 -1
  234. package/dist/formats/webgl/core/inspectGlslEffectContainer.js +122 -0
  235. package/dist/formats/webgl/core/inspectGlslEffectContainer.js.map +1 -0
  236. package/dist/formats/webgl/core/readGlslEffectContainer.js +303 -0
  237. package/dist/formats/webgl/core/readGlslEffectContainer.js.map +1 -0
  238. package/dist/formats/webgl/index.js +2 -2
  239. package/dist/formats/webgpu/CjsWebgpuFormat.js +357 -357
  240. package/dist/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
  241. package/dist/formats/webgpu/core/buildCarbonEffectContainer.js +89 -197
  242. package/dist/formats/webgpu/core/buildCarbonEffectContainer.js.map +1 -1
  243. package/dist/formats/webgpu/core/{cewgpu/CewgpuContainer.js → carbonWebgpu/CarbonWebgpuContainer.js} +354 -368
  244. package/dist/formats/webgpu/core/carbonWebgpu/CarbonWebgpuContainer.js.map +1 -0
  245. package/dist/formats/webgpu/core/{cewgpu → carbonWebgpu}/containerViews.js +355 -355
  246. package/dist/formats/webgpu/core/carbonWebgpu/containerViews.js.map +1 -0
  247. package/dist/formats/webgpu/core/{cewgpu → carbonWebgpu}/validateContainer.js +90 -90
  248. package/dist/formats/webgpu/core/carbonWebgpu/validateContainer.js.map +1 -0
  249. package/dist/formats/webgpu/core/effectAnalysis.js +82 -82
  250. package/dist/formats/webgpu/core/effectBackendBodySet.js +289 -289
  251. package/dist/formats/webgpu/core/effectBackendBodySet.js.map +1 -1
  252. package/dist/formats/webgpu/core/errors.js +20 -20
  253. package/dist/formats/webgpu/core/errors.js.map +1 -1
  254. package/dist/formats/webgpu/core/helpers.js +443 -443
  255. package/dist/formats/webgpu/core/helpers.js.map +1 -1
  256. package/dist/formats/webgpu/core/ir/analyzeRegisterValues.js +212 -212
  257. package/dist/formats/webgpu/core/ir/buildControlFlow.js +220 -220
  258. package/dist/formats/webgpu/core/ir/indexableTemps.js +137 -137
  259. package/dist/formats/webgpu/core/ir/inferValueTypes.js +449 -449
  260. package/dist/formats/webgpu/core/ir/lowerDxbcToIr.js +494 -494
  261. package/dist/formats/webgpu/core/ir/resolveRegisterFlow.js +177 -177
  262. package/dist/formats/webgpu/core/ir/sourceLanes.js +61 -61
  263. package/dist/formats/webgpu/core/packageEffect.js +381 -385
  264. package/dist/formats/webgpu/core/packageEffect.js.map +1 -1
  265. package/dist/formats/webgpu/core/packageEffectSelection.js +164 -164
  266. package/dist/formats/webgpu/core/packageEffectSelection.js.map +1 -1
  267. package/dist/formats/webgpu/core/packageMetadata.js +17 -17
  268. package/dist/formats/webgpu/core/schema.js +4 -4
  269. package/dist/formats/webgpu/core/wgsl/buildResourceTransformPlan.js +263 -263
  270. package/dist/formats/webgpu/core/wgsl/buildResourceTransformPlan.js.map +1 -1
  271. package/dist/formats/webgpu/core/wgsl/buildWgslBindingPlan.js +172 -172
  272. package/dist/formats/webgpu/core/wgsl/buildWgslSet.js +320 -320
  273. package/dist/formats/webgpu/core/wgsl/buildWgslSet.js.map +1 -1
  274. package/dist/formats/webgpu/core/wgsl/emitWgsl.js +356 -356
  275. package/dist/formats/webgpu/core/wgsl/hoistEscapingValues.js +77 -77
  276. package/dist/formats/webgpu/core/wgsl/lowerBindingLayout.js +451 -451
  277. package/dist/formats/webgpu/core/wgsl/lowerComputeProgram.js +735 -735
  278. package/dist/formats/webgpu/core/wgsl/lowerCreateHistogramsComputeProgram.js +457 -457
  279. package/dist/formats/webgpu/core/wgsl/lowerFragmentProgram.js +1572 -1572
  280. package/dist/formats/webgpu/core/wgsl/lowerMergeHistogramsComputeProgram.js +659 -659
  281. package/dist/formats/webgpu/core/wgsl/lowerParticleClearComputePrograms.js +734 -734
  282. package/dist/formats/webgpu/core/wgsl/lowerParticleEmitComputeProgram.js +583 -583
  283. package/dist/formats/webgpu/core/wgsl/lowerSkinVerticesComputeProgram.js +621 -621
  284. package/dist/formats/webgpu/core/wgsl/lowerSortComputeProgram.js +824 -824
  285. package/dist/formats/webgpu/core/wgsl/lowerSortInnerComputeProgram.js +697 -697
  286. package/dist/formats/webgpu/core/wgsl/lowerSortStepComputeProgram.js +559 -559
  287. package/dist/formats/webgpu/core/wgsl/lowerVertexProgram.js +1328 -1328
  288. package/dist/formats/webgpu/core/wgsl/particleEmitSemanticDigest.js +110 -110
  289. package/dist/formats/webgpu/core/wgsl/precisionControls.js +55 -55
  290. package/dist/formats/webgpu/core/wgsl/selectionPlans.js +717 -717
  291. package/dist/formats/webgpu/core/wgsl/uniformity.js +78 -78
  292. package/dist/formats/webgpu/core/wgsl/validateExactComputeIr.js +196 -196
  293. package/dist/formats/webgpu/core/wgsl/validateHandleOperand.js +37 -37
  294. package/dist/formats/webgpu/index.js +2 -2
  295. package/dist/formats/webm/CjsWebmFormat.js +197 -197
  296. package/dist/formats/webm/core/helpers.js +572 -572
  297. package/dist/formats/webm/index.js +2 -2
  298. package/dist/formats/webp/CjsWebpFormat.js +140 -140
  299. package/dist/formats/webp/core/helpers.js +237 -237
  300. package/dist/formats/webp/index.js +2 -2
  301. package/dist/formats/wem/CjsWemFormat.js +250 -250
  302. package/dist/formats/wem/core/bitStream.js +261 -261
  303. package/dist/formats/wem/core/codebookLibrary.js +164 -164
  304. package/dist/formats/wem/core/helpers.js +437 -437
  305. package/dist/formats/wem/core/packedCodebooksAotuv603.js +30 -30
  306. package/dist/formats/wem/core/ptadpcm.js +77 -77
  307. package/dist/formats/wem/core/resolve.js +121 -121
  308. package/dist/formats/wem/core/wemToOgg.js +485 -485
  309. package/dist/formats/wem/index.js +2 -2
  310. package/dist/formats/yaml/CjsYamlFormat.js +134 -134
  311. package/dist/formats/yaml/CjsYamlFormat.js.map +1 -1
  312. package/dist/formats/yaml/core/CjsYamlReader.js +400 -402
  313. package/dist/formats/yaml/core/CjsYamlReader.js.map +1 -1
  314. package/dist/formats/yaml/core/helpers.js +196 -170
  315. package/dist/formats/yaml/core/helpers.js.map +1 -1
  316. package/dist/formats/yaml/index.js +2 -2
  317. package/dist/index.js +64 -62
  318. package/dist/index.js.map +1 -1
  319. package/dist/resource/CjsLoadingObject.js +19 -0
  320. package/dist/resource/CjsLoadingObject.js.map +1 -0
  321. package/dist/resource/CjsResource.js +801 -797
  322. package/dist/resource/CjsResource.js.map +1 -1
  323. package/dist/resource/ResourceHandlerMode.js +14 -0
  324. package/dist/resource/ResourceHandlerMode.js.map +1 -0
  325. package/dist/resource/Tr2LightProfileRes.js +32 -32
  326. package/dist/resource/audio/AudioGeometryResData.js +47 -47
  327. package/dist/resource/audio/CjsAudioBufferRes.js +86 -86
  328. package/dist/resource/audio/CjsAudioRes.js +213 -213
  329. package/dist/resource/audio/index.js +4 -4
  330. package/dist/resource/geometry/MeshDecalData.js +37 -37
  331. package/dist/resource/geometry/MeshDecalLodData.js +34 -34
  332. package/dist/resource/geometry/TriGeometryRes.js +675 -675
  333. package/dist/resource/geometry/TriGeometryResAreaData.js +59 -59
  334. package/dist/resource/geometry/TriGeometryResJointData.js +38 -38
  335. package/dist/resource/geometry/TriGeometryResLodData.js +88 -88
  336. package/dist/resource/geometry/TriGeometryResMeshData.js +63 -63
  337. package/dist/resource/geometry/TriGeometryResSkeletonData.js +34 -34
  338. package/dist/resource/geometry/TriJointBinding.js +38 -38
  339. package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +46 -46
  340. package/dist/resource/geometry/TriRtGeometryConstants.js +88 -88
  341. package/dist/resource/geometry/granny/GStateBindingCallbackData.js +31 -31
  342. package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +60 -60
  343. package/dist/resource/geometry/granny/Tr2GrannyStateRes.js +36 -36
  344. package/dist/resource/geometry/granny/TriGrannyRes.js +35 -35
  345. package/dist/resource/geometry/granny/enums.js +10 -10
  346. package/dist/resource/geometry/granny/index.js +6 -6
  347. package/dist/resource/geometry/index.js +17 -17
  348. package/dist/resource/index.js +54 -52
  349. package/dist/resource/index.js.map +1 -1
  350. package/dist/resource/resourceBoundary.js +64 -64
  351. package/dist/resource/shader/Tr2EffectRes.js +336 -431
  352. package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
  353. package/dist/resource/shader/Tr2MaterialArea.js +31 -31
  354. package/dist/resource/shader/Tr2MaterialMesh.js +27 -27
  355. package/dist/resource/shader/Tr2MaterialRes.js +31 -31
  356. package/dist/resource/shader/Tr2Shader.js +283 -261
  357. package/dist/resource/shader/Tr2Shader.js.map +1 -1
  358. package/dist/resource/shader/Tr2ShaderPermutation.js +43 -43
  359. package/dist/resource/shader/index.js +17 -17
  360. package/dist/resource/shader/reflection/Tr2EffectConstant.js +143 -135
  361. package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
  362. package/dist/resource/shader/reflection/Tr2EffectDefine.js +30 -30
  363. package/dist/resource/shader/reflection/Tr2EffectDescription.js +114 -109
  364. package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
  365. package/dist/resource/shader/reflection/Tr2EffectLibrary.js +168 -147
  366. package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
  367. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +125 -105
  368. package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
  369. package/dist/resource/shader/reflection/Tr2EffectResource.js +120 -86
  370. package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
  371. package/dist/resource/shader/reflection/Tr2EffectStageInput.js +372 -241
  372. package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
  373. package/dist/resource/shader/reflection/Tr2EffectTechnique.js +78 -68
  374. package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
  375. package/dist/resource/shader/reflection/Tr2Pass.js +168 -111
  376. package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
  377. package/dist/resource/shader/reflection/carbonRecordFields.js +159 -0
  378. package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -0
  379. package/dist/resource/shader/reflection/shaderStage.js +22 -0
  380. package/dist/resource/shader/reflection/shaderStage.js.map +1 -0
  381. package/dist/resource/shader/sampler/Tr2SamplerSetup.js +135 -77
  382. package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
  383. package/dist/resource/texture/CjsTextureArrayRes.js +472 -472
  384. package/dist/resource/texture/CjsTextureArrayResParameterProxy.js +179 -179
  385. package/dist/resource/texture/Tr2ImageRes.js +120 -120
  386. package/dist/resource/texture/Tr2TextureLodManager.js +82 -82
  387. package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +37 -37
  388. package/dist/resource/texture/Tr2TexturePackChannel.js +37 -37
  389. package/dist/resource/texture/Tr2TexturePipeline.js +54 -54
  390. package/dist/resource/texture/Tr2TexturePipelineParams.js +34 -34
  391. package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +40 -40
  392. package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +22 -22
  393. package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +34 -34
  394. package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +31 -31
  395. package/dist/resource/texture/Tr2TexturePipelineStepPack.js +43 -43
  396. package/dist/resource/texture/TriTextureRes.js +359 -359
  397. package/dist/resource/texture/index.js +15 -15
  398. package/dist/resource/texture/texturePipelineBehavior.js +308 -308
  399. package/dist/worker/CjsResManMainThreadLoader.js +89 -87
  400. package/dist/worker/CjsResManMainThreadLoader.js.map +1 -1
  401. package/dist/worker/CjsResManWorker.js +218 -217
  402. package/dist/worker/CjsResManWorker.js.map +1 -1
  403. package/dist/worker/CjsResManWorkerLoader.js +437 -434
  404. package/dist/worker/CjsResManWorkerLoader.js.map +1 -1
  405. package/dist/worker/protocol.js +12 -12
  406. package/docs/README.md +98 -98
  407. package/docs/architecture.md +118 -109
  408. package/docs/concepts/resource-lifecycle.md +226 -225
  409. package/docs/concepts/shader-resource-model.md +111 -114
  410. package/docs/concepts/writing-an-engine-adapter.md +115 -115
  411. package/docs/formats/README.md +138 -136
  412. package/docs/formats/carbon-effect-container.md +553 -452
  413. package/docs/formats/dxbc/README.md +68 -68
  414. package/docs/formats/dxbc/architecture.md +80 -80
  415. package/docs/formats/dxbc/reference/api.md +77 -77
  416. package/docs/formats/dxbc/reference/classes/README.md +9 -9
  417. package/docs/formats/dxbc/reference/decoded-output.md +122 -122
  418. package/docs/formats/gr2.md +160 -160
  419. package/docs/formats/hlsl/README.md +54 -54
  420. package/docs/formats/hlsl/architecture.md +65 -67
  421. package/docs/formats/hlsl/guides/hydrating-json-output.md +60 -62
  422. package/docs/formats/hlsl/guides/reading-effects.md +64 -64
  423. package/docs/formats/hlsl/reference/advanced-analysis.md +61 -66
  424. package/docs/formats/hlsl/reference/api.md +92 -98
  425. package/docs/formats/hlsl/reference/classes/README.md +11 -11
  426. package/docs/formats/hlsl/reference/json-graph.md +97 -100
  427. package/docs/formats/pickle.md +82 -0
  428. package/docs/formats/provenance.md +196 -196
  429. package/docs/formats/stl.md +37 -37
  430. package/docs/formats/webgl/README.md +115 -57
  431. package/docs/formats/webgl/architecture.md +69 -70
  432. package/docs/formats/webgl/carbon-constant-layouts.md +326 -326
  433. package/docs/formats/webgl/decl-io.md +1234 -1234
  434. package/docs/formats/webgl/memory-structured.md +890 -871
  435. package/docs/formats/webgl/reference/classes/README.md +9 -9
  436. package/docs/formats/webgl/texture-sample.md +964 -964
  437. package/docs/formats/webgpu/README.md +84 -84
  438. package/docs/formats/webgpu/architecture.md +95 -96
  439. package/docs/formats/webgpu/formats/{cewgpu.md → carbon-webgpu.md} +215 -216
  440. package/docs/formats/webgpu/guides/effect-packaging.md +189 -191
  441. package/docs/formats/webgpu/reference/api.md +196 -197
  442. package/docs/formats/webgpu/reference/classes/README.md +9 -9
  443. package/docs/formats/webgpu/reference/wgsl-compatibility.md +1546 -1543
  444. package/docs/formats/wwise.md +146 -85
  445. package/docs/reference/classes/README.md +35 -35
  446. package/docs/reference/classes/audio.md +30 -30
  447. package/docs/reference/classes/core.md +216 -206
  448. package/docs/reference/classes/dropped.md +46 -46
  449. package/docs/reference/classes/formats.md +944 -952
  450. package/docs/reference/classes/resources.md +456 -456
  451. package/docs/reference/classes/texture.md +26 -26
  452. package/docs/reference/events.md +117 -117
  453. package/docs/reference/motherlode-cache.md +275 -275
  454. package/docs/reference/queues.md +194 -110
  455. package/docs/reference/reload.md +107 -107
  456. package/docs/reference/texture-arrays.md +113 -113
  457. package/docs/reference/texture-pipeline.md +53 -53
  458. package/docs/reference/workers.md +142 -135
  459. package/docs/roadmap.md +150 -150
  460. package/format-notices/black/LICENSE +21 -21
  461. package/format-notices/black/NOTICE +47 -47
  462. package/format-notices/bnk/LICENSE +21 -21
  463. package/format-notices/bnk/NOTICE +21 -21
  464. package/format-notices/cmf/LICENSE +21 -21
  465. package/format-notices/cmf/NOTICE +36 -36
  466. package/format-notices/dds/LICENSE +21 -21
  467. package/format-notices/dds/NOTICE +14 -14
  468. package/format-notices/dxbc/LICENSE +21 -21
  469. package/format-notices/dxbc/NOTICE +20 -20
  470. package/format-notices/fbx/LICENSE +21 -21
  471. package/format-notices/fbx/NOTICE +14 -14
  472. package/format-notices/flac/LICENSE +21 -21
  473. package/format-notices/flac/NOTICE +14 -14
  474. package/format-notices/gif/LICENSE +21 -21
  475. package/format-notices/gif/NOTICE +14 -14
  476. package/format-notices/gltf/LICENSE +21 -21
  477. package/format-notices/gltf/NOTICE +27 -27
  478. package/format-notices/gr2/LICENSE +21 -21
  479. package/format-notices/gr2/NOTICE +60 -60
  480. package/format-notices/gr2/THIRD-PARTY-NOTICES.md +93 -93
  481. package/format-notices/hlsl/LICENSE +21 -21
  482. package/format-notices/hlsl/NOTICE +25 -25
  483. package/format-notices/jpeg/LICENSE +21 -21
  484. package/format-notices/jpeg/NOTICE +14 -14
  485. package/format-notices/mp3/LICENSE +21 -21
  486. package/format-notices/mp3/NOTICE +14 -14
  487. package/format-notices/mp4/LICENSE +21 -21
  488. package/format-notices/mp4/NOTICE +14 -14
  489. package/format-notices/obj/LICENSE +21 -21
  490. package/format-notices/obj/NOTICE +26 -26
  491. package/format-notices/ogg/LICENSE +21 -21
  492. package/format-notices/ogg/NOTICE +28 -28
  493. package/format-notices/png/LICENSE +21 -21
  494. package/format-notices/png/NOTICE +14 -14
  495. package/format-notices/red/LICENSE +21 -21
  496. package/format-notices/red/NOTICE +31 -31
  497. package/format-notices/stl/LICENSE +21 -21
  498. package/format-notices/stl/NOTICE +21 -21
  499. package/format-notices/tga/LICENSE +21 -21
  500. package/format-notices/tga/NOTICE +14 -14
  501. package/format-notices/wav/LICENSE +21 -21
  502. package/format-notices/wav/NOTICE +14 -14
  503. package/format-notices/webgl/LICENSE +21 -21
  504. package/format-notices/webgl/NOTICE +35 -35
  505. package/format-notices/webgpu/LICENSE +21 -21
  506. package/format-notices/webgpu/NOTICE +31 -31
  507. package/format-notices/webm/LICENSE +21 -21
  508. package/format-notices/webm/NOTICE +14 -14
  509. package/format-notices/webp/LICENSE +21 -21
  510. package/format-notices/webp/NOTICE +14 -14
  511. package/format-notices/wem/LICENSE +57 -57
  512. package/format-notices/wem/NOTICE +33 -33
  513. package/format-notices/yaml/LICENSE +21 -21
  514. package/format-notices/yaml/NOTICE +44 -44
  515. package/package.json +63 -63
  516. package/dist/format/carbonEffect/carbonDescriptionFromPortable.js +0 -372
  517. package/dist/format/carbonEffect/carbonDescriptionFromPortable.js.map +0 -1
  518. package/dist/format/effect/effectReflectionPackage.js +0 -636
  519. package/dist/format/effect/effectReflectionPackage.js.map +0 -1
  520. package/dist/formats/hlsl/core/HlslReader.js +0 -16
  521. package/dist/formats/hlsl/core/HlslReader.js.map +0 -1
  522. package/dist/formats/hlsl/core/portableReflection.js +0 -848
  523. package/dist/formats/hlsl/core/portableReflection.js.map +0 -1
  524. package/dist/formats/hlsl/portable.js +0 -2
  525. package/dist/formats/hlsl/portable.js.map +0 -1
  526. package/dist/formats/webgl/core/cewg/CewgPackage.js +0 -340
  527. package/dist/formats/webgl/core/cewg/CewgPackage.js.map +0 -1
  528. package/dist/formats/webgl/core/cewg/CewgPackageBuilder.js +0 -104
  529. package/dist/formats/webgl/core/cewg/CewgPackageBuilder.js.map +0 -1
  530. package/dist/formats/webgl/core/cewg/binary.js +0 -19
  531. package/dist/formats/webgl/core/cewg/binary.js.map +0 -1
  532. package/dist/formats/webgl/core/cewgCompleteness.js.map +0 -1
  533. package/dist/formats/webgl/core/effectPackageValidation.js +0 -331
  534. package/dist/formats/webgl/core/effectPackageValidation.js.map +0 -1
  535. package/dist/formats/webgpu/core/cewgpu/CewgpuContainer.js.map +0 -1
  536. package/dist/formats/webgpu/core/cewgpu/containerViews.js.map +0 -1
  537. package/dist/formats/webgpu/core/cewgpu/validateContainer.js.map +0 -1
  538. package/dist/resource/shader/portable.js +0 -33
  539. package/dist/resource/shader/portable.js.map +0 -1
  540. package/docs/formats/hlsl/reference/portable-reflection.md +0 -141
  541. package/docs/formats/webgl/effect-reflection.md +0 -127
@@ -1,952 +1,944 @@
1
- # Formats class catalog
2
-
3
- Status: Evolving
4
- Scope: `@carbonenginejs/runtime-resource` classes under `src/formats`
5
- Audience: Users, maintainers, and automated readers
6
- Summary: Provides one-sentence purpose descriptors for maintained classes under `src/formats`.
7
-
8
- ### black
9
-
10
- <!-- class:CjsBlackFormat -->
11
- ## `CjsBlackFormat`
12
-
13
- Black format profile that reads `.black` binary object graphs into payload, document, raw, or runtime output using CarbonEngineJS canonical schemas or caller-supplied source-shape registries.
14
-
15
- - Export: `@carbonenginejs/runtime-resource/formats/black`
16
- - Source: `src/formats/black/CjsBlackFormat.js`
17
- - Visibility: Public
18
- - Kind: Original CarbonEngineJS class
19
-
20
- <!-- class:CjsBlackBinaryReader -->
21
- ## `CjsBlackBinaryReader`
22
-
23
- Bounds-aware `DataView` cursor that provides the primitive reads and end-of-stream checks the Black transport decodes with.
24
-
25
- - Export: `None`
26
- - Source: `src/formats/black/core/CjsBlackBinaryReader.js`
27
- - Visibility: Internal
28
- - Kind: Internal implementation class
29
-
30
- <!-- class:CjsBlackPropertyReaders -->
31
- ## `CjsBlackPropertyReaders`
32
-
33
- Static set of read and skip routines that decode or skip individual Black property values (primitives, strings, arrays, structure lists, dictionaries, and binary blocks) from their type descriptors.
34
-
35
- - Export: `None`
36
- - Source: `src/formats/black/core/CjsBlackPropertyReaders.js`
37
- - Visibility: Internal
38
- - Kind: Internal implementation class
39
-
40
- <!-- class:CjsBlackReader -->
41
- ## `CjsBlackReader`
42
-
43
- Transport that reads a `.black` stream into a payload, document, or runtime graph, owning the binary buffer, string tables, numeric references, and binary read cursor.
44
-
45
- - Export: `None`
46
- - Source: `src/formats/black/core/CjsBlackReader.js`
47
- - Visibility: Internal
48
- - Kind: Internal implementation class
49
-
50
- <!-- class:CjsBlackSchemaRegistry -->
51
- ## `CjsBlackSchemaRegistry`
52
-
53
- Registry that normalizes caller-supplied schemas into per-class source shapes the Black reader uses to resolve persisted fields.
54
-
55
- - Export: `None`
56
- - Source: `src/formats/black/core/CjsBlackSchemaRegistry.js`
57
- - Visibility: Internal
58
- - Kind: Internal implementation class
59
-
60
- ### bnk
61
-
62
- <!-- class:CjsBnkFormat -->
63
- ## `CjsBnkFormat`
64
-
65
- Reader for Audiokinetic Wwise soundbank (`.bnk`) containers that inspects the bank header, embedded media index, object hierarchy, and referenced bank names without copying payloads, and reads out the raw bank, debug JSON, or undecoded embedded media items.
66
-
67
- - Export: `@carbonenginejs/runtime-resource/formats/bnk`
68
- - Source: `src/formats/bnk/CjsBnkFormat.js`
69
- - Visibility: Public
70
- - Kind: Original CarbonEngineJS class
71
-
72
- <!-- class:MusicCursor -->
73
- ## `MusicCursor`
74
-
75
- Little-endian byte cursor over HIRC payload bytes used to decode Wwise interactive-music node payloads with exact-end validation.
76
-
77
- - Export: `None`
78
- - Source: `src/formats/bnk/core/musicNodes.js`
79
- - Visibility: Internal
80
- - Kind: Internal implementation class
81
-
82
- <!-- class:WwiseCursor -->
83
- ## `WwiseCursor`
84
-
85
- Bounds-aware little-endian cursor used for exact Wwise v150 NodeBase, authored-SFX, and attenuation decoding.
86
-
87
- - Export: `None`
88
- - Source: `src/formats/bnk/core/nodeBase.js`
89
- - Visibility: Internal
90
- - Kind: Internal implementation class
91
-
92
- <!-- class:ActionCursor -->
93
- ## `ActionCursor`
94
-
95
- Bounds-aware byte cursor used for exact Wwise v150 Event Action decoding.
96
-
97
- - Export: `None`
98
- - Source: `src/formats/bnk/core/eventAction.js`
99
- - Visibility: Internal
100
- - Kind: Internal implementation class
101
-
102
- ### cmf
103
-
104
- <!-- class:CjsCmfFormat -->
105
- ## `CjsCmfFormat`
106
-
107
- CMF geometry-container format class that reads, inspects, constructs, and writes CMF data, emitting CMF-native output by default alongside GR2, shared-mesh, and debug JSON targets.
108
-
109
- - Export: `@carbonenginejs/runtime-resource/formats/cmf`
110
- - Source: `src/formats/cmf/CjsCmfFormat.js`
111
- - Visibility: Public
112
- - Kind: Original CarbonEngineJS class
113
-
114
- <!-- class:BinaryReader -->
115
- ## `BinaryReader`
116
-
117
- Bounds-checked little-endian offset reader over CMF file bytes, including 64-bit integer reads guarded against unsafe values.
118
-
119
- - Export: `None`
120
- - Source: `src/formats/cmf/core/binary.js`
121
- - Visibility: Internal
122
- - Kind: Internal implementation class
123
-
124
- <!-- class:Flattener -->
125
- ## `Flattener`
126
-
127
- Writer-side helper that flattens a CMF object graph into the binary Data section with self-relative tagged span offsets, depth-first ordering, chunk alignment, and duplicate-leaf deduplication, mirroring CarbonEngine's `cmf::BuildFile`.
128
-
129
- - Export: `None`
130
- - Source: `src/formats/cmf/core/writer.js`
131
- - Visibility: Internal
132
- - Kind: Internal implementation class
133
-
134
- ### dds
135
-
136
- <!-- class:CjsDdsFormat -->
137
- ## `CjsDdsFormat`
138
-
139
- DDS texture format profile that inspects header metadata, probes output support, and reads DDS bytes into raw, GPU-free texture, image, or software-decoded RGBA and float payloads (BC1-BC5, BC7, and BC6H included).
140
-
141
- - Export: `@carbonenginejs/runtime-resource/formats/dds`
142
- - Source: `src/formats/dds/CjsDdsFormat.js`
143
- - Visibility: Public
144
- - Kind: Original CarbonEngineJS class
145
-
146
- <!-- class:Bc7BitReader -->
147
- ## `Bc7BitReader`
148
-
149
- LSB-first bit reader over a single 128-bit BC7 block bitstream for the software BC7 decoder.
150
-
151
- - Export: `None`
152
- - Source: `src/formats/dds/core/bc7.js`
153
- - Visibility: Internal
154
- - Kind: Internal implementation class
155
-
156
- ### dxbc
157
-
158
- <!-- class:CjsDxbcFormat -->
159
- ## `CjsDxbcFormat`
160
-
161
- DXBC shader-bytecode format profile that reads container chunks, signatures, and the decoded shader program from compiled Direct3D bytecode.
162
-
163
- - Export: `@carbonenginejs/runtime-resource/formats/dxbc`
164
- - Source: `src/formats/dxbc/CjsDxbcFormat.js`
165
- - Visibility: Public
166
- - Kind: Original CarbonEngineJS class
167
-
168
- <!-- class:DxbcReader -->
169
- ## `DxbcReader`
170
-
171
- Bounded little-endian byte cursor over DXBC payloads, with optional shared string-table resolution.
172
-
173
- - Export: `None`
174
- - Source: `src/formats/dxbc/core/DxbcReader.js`
175
- - Visibility: Internal
176
- - Kind: Internal implementation class
177
-
178
- <!-- class:DxbcContainer -->
179
- ## `DxbcContainer`
180
-
181
- Parsed DXBC container that locates and exposes its four-character-code chunks.
182
-
183
- - Export: `None`
184
- - Source: `src/formats/dxbc/core/container.js`
185
- - Visibility: Internal
186
- - Kind: Internal implementation class
187
-
188
- <!-- class:DxbcInstructionDecoder -->
189
- ## `DxbcInstructionDecoder`
190
-
191
- Decodes the DXBC shader token stream into structured instructions, operands, and declarations.
192
-
193
- - Export: `None`
194
- - Source: `src/formats/dxbc/core/decoder.js`
195
- - Visibility: Internal
196
- - Kind: Internal implementation class
197
-
198
- <!-- class:DxbcReadError -->
199
- ## `DxbcReadError`
200
-
201
- Error raised when DXBC bytes are malformed, truncated, or structurally invalid.
202
-
203
- - Export: `None`
204
- - Source: `src/formats/dxbc/core/errors.js`
205
- - Visibility: Internal
206
- - Kind: Internal implementation class
207
-
208
- <!-- class:DxbcShaderProgram -->
209
- ## `DxbcShaderProgram`
210
-
211
- Decoded DXBC shader program: version, stage type, and its ordered instruction stream.
212
-
213
- - Export: `None`
214
- - Source: `src/formats/dxbc/core/program.js`
215
- - Visibility: Internal
216
- - Kind: Internal implementation class
217
-
218
- <!-- class:DxbcSignatureChunk -->
219
- ## `DxbcSignatureChunk`
220
-
221
- Parsed DXBC input, output, or patch-constant signature chunk and its parameter records.
222
-
223
- - Export: `None`
224
- - Source: `src/formats/dxbc/core/signature.js`
225
- - Visibility: Internal
226
- - Kind: Internal implementation class
227
-
228
- ### fbx
229
-
230
- <!-- class:CjsFbxFormat -->
231
- ## `CjsFbxFormat`
232
-
233
- FBX format surface that recognizes and inspects FBX files and emits basic static-mesh GR2 or CMF output in pure JavaScript, ahead of full CarbonEngine-equivalent importer coverage.
234
-
235
- - Export: `@carbonenginejs/runtime-resource/formats/fbx`
236
- - Source: `src/formats/fbx/CjsFbxFormat.js`
237
- - Visibility: Public
238
- - Kind: Original CarbonEngineJS class
239
-
240
- <!-- class:DeflateBitReader -->
241
- ## `DeflateBitReader`
242
-
243
- Bit reader over a zlib/deflate stream used to inflate compressed FBX property arrays.
244
-
245
- - Export: `None`
246
- - Source: `src/formats/fbx/core/helpers.js`
247
- - Visibility: Internal
248
- - Kind: Internal implementation class
249
-
250
- <!-- class:DeflateHuffmanTable -->
251
- ## `DeflateHuffmanTable`
252
-
253
- Canonical Huffman decode table built from deflate code lengths for inflating compressed FBX property arrays.
254
-
255
- - Export: `None`
256
- - Source: `src/formats/fbx/core/helpers.js`
257
- - Visibility: Internal
258
- - Kind: Internal implementation class
259
-
260
- ### flac
261
-
262
- <!-- class:CjsFlacFormat -->
263
- ## `CjsFlacFormat`
264
-
265
- Metadata-only FLAC format profile that validates the stream signature, inspects stream metadata, and emits raw container bytes or debug JSON without decoding PCM.
266
-
267
- - Export: `@carbonenginejs/runtime-resource/formats/flac`
268
- - Source: `src/formats/flac/CjsFlacFormat.js`
269
- - Visibility: Public
270
- - Kind: Original CarbonEngineJS class
271
-
272
- ### gif
273
-
274
- <!-- class:CjsGifFormat -->
275
- ## `CjsGifFormat`
276
-
277
- GIF format profile that inspects header and frame metadata and reads GIF bytes into raw, debug JSON, or LZW-decoded RGBA frame payloads.
278
-
279
- - Export: `@carbonenginejs/runtime-resource/formats/gif`
280
- - Source: `src/formats/gif/CjsGifFormat.js`
281
- - Visibility: Public
282
- - Kind: Original CarbonEngineJS class
283
-
284
- ### gltf
285
-
286
- <!-- class:CjsGltfFormat -->
287
- ## `CjsGltfFormat`
288
-
289
- glTF/GLB format class that parses documents, decodes accessors, and converts meshes, skins, and animations into shared-mesh, GR2, or CMF output plus debug JSON.
290
-
291
- - Export: `@carbonenginejs/runtime-resource/formats/gltf`
292
- - Source: `src/formats/gltf/CjsGltfFormat.js`
293
- - Visibility: Public
294
- - Kind: Original CarbonEngineJS class
295
-
296
- ### gr2
297
-
298
- <!-- class:CjsGr2Format -->
299
- ## `CjsGr2Format`
300
-
301
- Runtime GR2/GSF format class that wraps the migrated `format-gr2` engine under core/ with the runtime-resource format-contract statics ResMan uses for byte probing and async reads.
302
-
303
- - Export: `@carbonenginejs/runtime-resource/formats/gr2`
304
- - Source: `src/formats/gr2/CjsGr2Format.js`
305
- - Visibility: Public
306
- - Kind: Original CarbonEngineJS class
307
-
308
- <!-- class:Decoder -->
309
- ## `Decoder`
310
-
311
- Arithmetic decoder over the Oodle1 7-bit-per-byte compressed bitstream for GR2 section decompression.
312
-
313
- - Export: `None`
314
- - Source: `src/formats/gr2/core/oodle1.js`
315
- - Visibility: Internal
316
- - Kind: Internal implementation class
317
-
318
- <!-- class:Dictionary -->
319
- ## `Dictionary`
320
-
321
- Per-segment Oodle1 decode dictionary holding the adaptive symbol windows for literal and back-reference decoding.
322
-
323
- - Export: `None`
324
- - Source: `src/formats/gr2/core/oodle1.js`
325
- - Visibility: Internal
326
- - Kind: Internal implementation class
327
-
328
- <!-- class:FrequencyModel -->
329
- ## `FrequencyModel`
330
-
331
- Adaptive 15-bit-precision frequency model with cumulative tables and a fast symbol lookup used by the clean-room BitKnit2 decompressor.
332
-
333
- - Export: `None`
334
- - Source: `src/formats/gr2/core/bitknit2.js`
335
- - Visibility: Internal
336
- - Kind: Internal implementation class
337
-
338
- <!-- class:WeighWindow -->
339
- ## `WeighWindow`
340
-
341
- Adaptive weighted symbol window that Oodle1 dictionaries use to model symbol probabilities.
342
-
343
- - Export: `None`
344
- - Source: `src/formats/gr2/core/oodle1.js`
345
- - Visibility: Internal
346
- - Kind: Internal implementation class
347
-
348
- ### hlsl
349
-
350
- <!-- class:CjsHlslFormat -->
351
- ## `CjsHlslFormat`
352
-
353
- Compiled Carbon effect format profile that reads .sm_* shader packages into permutation, technique, and stage metadata.
354
-
355
- - Export: `@carbonenginejs/runtime-resource/formats/hlsl`
356
- - Source: `src/formats/hlsl/CjsHlslFormat.js`
357
- - Visibility: Public
358
- - Kind: Original CarbonEngineJS class
359
-
360
- <!-- class:HlslReader -->
361
- ## `HlslReader`
362
-
363
- Bounded little-endian byte cursor over compiled effect payloads, with shared string-table resolution.
364
-
365
- - Export: `None`
366
- - Source: `src/formats/hlsl/core/HlslReader.js`
367
- - Visibility: Internal
368
- - Kind: Internal implementation class
369
-
370
- <!-- class:HlslEffectReadError -->
371
- ## `HlslEffectReadError`
372
-
373
- Error raised when compiled effect bytes are malformed, truncated, or an unsupported version.
374
-
375
- - Export: `None`
376
- - Source: `src/formats/hlsl/core/HlslEffectReadError.js`
377
- - Visibility: Internal
378
- - Kind: Internal implementation class
379
-
380
- <!-- class:HlslEffectStateManager -->
381
- ## `HlslEffectStateManager`
382
-
383
- Resolves and caches render-state setups referenced by a compiled effect while it is read.
384
-
385
- - Export: `None`
386
- - Source: `src/formats/hlsl/core/HlslEffectStateManager.js`
387
- - Visibility: Internal
388
- - Kind: Internal implementation class
389
-
390
- <!-- class:HlslRenderStateSetup -->
391
- ## `HlslRenderStateSetup`
392
-
393
- Ordered render-state key and value records attached to one pass.
394
-
395
- - Export: `None`
396
- - Source: `src/formats/hlsl/core/HlslRenderStateSetup.js`
397
- - Visibility: Internal
398
- - Kind: Internal implementation class
399
-
400
- <!-- class:HlslResourceSetDescription -->
401
- ## `HlslResourceSetDescription`
402
-
403
- Describes one resource set bound by a compiled effect stage.
404
-
405
- - Export: `None`
406
- - Source: `src/formats/hlsl/core/HlslResourceSetDescription.js`
407
- - Visibility: Internal
408
- - Kind: Internal implementation class
409
-
410
- <!-- class:HlslShaderBytecode -->
411
- ## `HlslShaderBytecode`
412
-
413
- Stage bytecode payload carried by a compiled effect, with its stage type and name.
414
-
415
- - Export: `None`
416
- - Source: `src/formats/hlsl/core/HlslShaderBytecode.js`
417
- - Visibility: Internal
418
- - Kind: Internal implementation class
419
-
420
- <!-- class:HlslEffectRes -->
421
- ## `HlslEffectRes`
422
-
423
- Parsed compiled effect resource: permutation axes, body offsets, and lazily decoded shader bodies.
424
-
425
- - Export: `None`
426
- - Source: `src/formats/hlsl/core/tr2/resources/HlslEffectRes.js`
427
- - Visibility: Internal
428
- - Kind: Internal implementation class
429
-
430
- <!-- class:HlslShaderPermutation -->
431
- ## `HlslShaderPermutation`
432
-
433
- One permutation axis of a compiled effect, with its ordered options and default.
434
-
435
- - Export: `None`
436
- - Source: `src/formats/hlsl/core/tr2/resources/HlslShaderPermutation.js`
437
- - Visibility: Internal
438
- - Kind: Internal implementation class
439
-
440
- <!-- class:HlslEffectBindingManifest -->
441
- ## `HlslEffectBindingManifest`
442
-
443
- Flattened per-stage binding manifest derived from a resolved effect description.
444
-
445
- - Export: `None`
446
- - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectBindingManifest.js`
447
- - Visibility: Internal
448
- - Kind: Internal implementation class
449
-
450
- <!-- class:HlslEffectConstant -->
451
- ## `HlslEffectConstant`
452
-
453
- Reflected shader constant: name, offset, size, type, dimension, and element count.
454
-
455
- - Export: `None`
456
- - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectConstant.js`
457
- - Visibility: Internal
458
- - Kind: Internal implementation class
459
-
460
- <!-- class:HlslEffectDescription -->
461
- ## `HlslEffectDescription`
462
-
463
- Decoded effect body: techniques, passes, stages, libraries, and top-level annotations.
464
-
465
- - Export: `None`
466
- - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectDescription.js`
467
- - Visibility: Internal
468
- - Kind: Internal implementation class
469
-
470
- <!-- class:HlslEffectLibrary -->
471
- ## `HlslEffectLibrary`
472
-
473
- Ray-tracing shader library record with its exports, payload size, and stage inputs.
474
-
475
- - Export: `None`
476
- - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectLibrary.js`
477
- - Visibility: Internal
478
- - Kind: Internal implementation class
479
-
480
- <!-- class:HlslEffectParameterAnnotation -->
481
- ## `HlslEffectParameterAnnotation`
482
-
483
- Typed annotation attached to a reflected effect parameter.
484
-
485
- - Export: `None`
486
- - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectParameterAnnotation.js`
487
- - Visibility: Internal
488
- - Kind: Internal implementation class
489
-
490
- <!-- class:HlslEffectResource -->
491
- ## `HlslEffectResource`
492
-
493
- Reflected shader resource or UAV binding with its register identity and array count.
494
-
495
- - Export: `None`
496
- - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectResource.js`
497
- - Visibility: Internal
498
- - Kind: Internal implementation class
499
-
500
- <!-- class:HlslEffectStageInput -->
501
- ## `HlslEffectStageInput`
502
-
503
- Reflected stage input: constants, resources, samplers, signatures, and default constant bytes.
504
-
505
- - Export: `None`
506
- - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js`
507
- - Visibility: Internal
508
- - Kind: Internal implementation class
509
-
510
- <!-- class:HlslEffectTechnique -->
511
- ## `HlslEffectTechnique`
512
-
513
- Named technique of a compiled effect body and its ordered passes.
514
-
515
- - Export: `None`
516
- - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectTechnique.js`
517
- - Visibility: Internal
518
- - Kind: Internal implementation class
519
-
520
- <!-- class:HlslPass -->
521
- ## `HlslPass`
522
-
523
- One pass of a technique, carrying its stage inputs and render states.
524
-
525
- - Export: `None`
526
- - Source: `src/formats/hlsl/core/tr2/shader/HlslPass.js`
527
- - Visibility: Internal
528
- - Kind: Internal implementation class
529
-
530
- <!-- class:HlslSamplerDescription -->
531
- ## `HlslSamplerDescription`
532
-
533
- Sampler state description: filters, address modes, LOD bounds, and comparison function.
534
-
535
- - Export: `None`
536
- - Source: `src/formats/hlsl/core/tr2/shader/HlslSamplerDescription.js`
537
- - Visibility: Internal
538
- - Kind: Internal implementation class
539
-
540
- <!-- class:HlslSamplerSetup -->
541
- ## `HlslSamplerSetup`
542
-
543
- Named or static sampler setup bound by a compiled effect stage.
544
-
545
- - Export: `None`
546
- - Source: `src/formats/hlsl/core/tr2/shader/HlslSamplerSetup.js`
547
- - Visibility: Internal
548
- - Kind: Internal implementation class
549
-
550
- <!-- class:HlslShader -->
551
- ## `HlslShader`
552
-
553
- Decoded shader body for one permutation index, wrapping its effect description.
554
-
555
- - Export: `None`
556
- - Source: `src/formats/hlsl/core/tr2/shader/HlslShader.js`
557
- - Visibility: Internal
558
- - Kind: Internal implementation class
559
-
560
- <!-- class:HlslShaderOption -->
561
- ## `HlslShaderOption`
562
-
563
- One option value of a permutation axis.
564
-
565
- - Export: `None`
566
- - Source: `src/formats/hlsl/core/tr2/shader/HlslShaderOption.js`
567
- - Visibility: Internal
568
- - Kind: Internal implementation class
569
-
570
- ### jpeg
571
-
572
- <!-- class:CjsJpegFormat -->
573
- ## `CjsJpegFormat`
574
-
575
- JPEG format profile that inspects marker and header metadata and reads baseline JPEG bytes into raw, debug JSON, or RGBA payloads through the in-project baseline decoder.
576
-
577
- - Export: `@carbonenginejs/runtime-resource/formats/jpeg`
578
- - Source: `src/formats/jpeg/CjsJpegFormat.js`
579
- - Visibility: Public
580
- - Kind: Original CarbonEngineJS class
581
-
582
- <!-- class:BaselineJpegDecoder -->
583
- ## `BaselineJpegDecoder`
584
-
585
- Pure-JS baseline sequential JPEG decoder that parses markers, quantization and Huffman tables, and entropy-coded scans into RGBA pixels.
586
-
587
- - Export: `None`
588
- - Source: `src/formats/jpeg/core/jpeg.js`
589
- - Visibility: Internal
590
- - Kind: Internal implementation class
591
-
592
- <!-- class:EntropyReader -->
593
- ## `EntropyReader`
594
-
595
- Bit-level reader over JPEG entropy-coded data that handles byte stuffing and restart markers for the baseline decoder.
596
-
597
- - Export: `None`
598
- - Source: `src/formats/jpeg/core/jpeg.js`
599
- - Visibility: Internal
600
- - Kind: Internal implementation class
601
-
602
- ### mp3
603
-
604
- <!-- class:CjsMp3Format -->
605
- ## `CjsMp3Format`
606
-
607
- MP3 audio format profile that inspects frame and tag metadata and emits raw container bytes or debug JSON, with PCM decoding not implemented.
608
-
609
- - Export: `@carbonenginejs/runtime-resource/formats/mp3`
610
- - Source: `src/formats/mp3/CjsMp3Format.js`
611
- - Visibility: Public
612
- - Kind: Original CarbonEngineJS class
613
-
614
- ### mp4
615
-
616
- <!-- class:CjsMp4Format -->
617
- ## `CjsMp4Format`
618
-
619
- MP4 container format profile that inspects box and track structure and emits raw bytes, debug JSON, or a container-only video payload with codec and duration summaries but no frame decoding.
620
-
621
- - Export: `@carbonenginejs/runtime-resource/formats/mp4`
622
- - Source: `src/formats/mp4/CjsMp4Format.js`
623
- - Visibility: Public
624
- - Kind: Original CarbonEngineJS class
625
-
626
- ### obj
627
-
628
- <!-- class:CjsObjFormat -->
629
- ## `CjsObjFormat`
630
-
631
- OBJ format class that parses Wavefront OBJ text and rebuilds it into shared-mesh, GR2, or CMF output plus debug JSON through its core helpers.
632
-
633
- - Export: `@carbonenginejs/runtime-resource/formats/obj`
634
- - Source: `src/formats/obj/CjsObjFormat.js`
635
- - Visibility: Public
636
- - Kind: Original CarbonEngineJS class
637
-
638
- ### ogg
639
-
640
- <!-- class:CjsOggFormat -->
641
- ## `CjsOggFormat`
642
-
643
- Ogg container format profile that inspects page and stream metadata and decodes Ogg Vorbis audio to PCM with the in-project pure-JS Vorbis decoder, alongside raw and debug JSON output.
644
-
645
- - Export: `@carbonenginejs/runtime-resource/formats/ogg`
646
- - Source: `src/formats/ogg/CjsOggFormat.js`
647
- - Visibility: Public
648
- - Kind: Original CarbonEngineJS class
649
-
650
- <!-- class:Codebook -->
651
- ## `Codebook`
652
-
653
- Vorbis codebook that builds Huffman decode trees and VQ lookup vectors for scalar and vector packet decoding.
654
-
655
- - Export: `None`
656
- - Source: `src/formats/ogg/core/vorbis.js`
657
- - Visibility: Internal
658
- - Kind: Internal implementation class
659
-
660
- <!-- class:PacketReader -->
661
- ## `PacketReader`
662
-
663
- LSB-first bit reader over one Vorbis packet's bytes for the pure-JS Vorbis decoder.
664
-
665
- - Export: `None`
666
- - Source: `src/formats/ogg/core/vorbis.js`
667
- - Visibility: Internal
668
- - Kind: Internal implementation class
669
-
670
- ### png
671
-
672
- <!-- class:CjsPngFormat -->
673
- ## `CjsPngFormat`
674
-
675
- PNG format profile that synchronously inspects chunk and header metadata and emits raw bytes or debug JSON, with RGBA decoding available on the asynchronous read path.
676
-
677
- - Export: `@carbonenginejs/runtime-resource/formats/png`
678
- - Source: `src/formats/png/CjsPngFormat.js`
679
- - Visibility: Public
680
- - Kind: Original CarbonEngineJS class
681
-
682
- ### red
683
-
684
- <!-- class:CjsRedFormat -->
685
- ## `CjsRedFormat`
686
-
687
- Red format profile that reads type-discriminated, self-referential Red YAML object graphs and emits a compact public payload, a neutral raw graph, or caller-supplied runtime classes through the runtime-utils hydration adapter.
688
-
689
- - Export: `@carbonenginejs/runtime-resource/formats/red`
690
- - Source: `src/formats/red/CjsRedFormat.js`
691
- - Visibility: Public
692
- - Kind: Original CarbonEngineJS class
693
-
694
- <!-- class:CjsRedReader -->
695
- ## `CjsRedReader`
696
-
697
- Reader that walks a Red (YAML) type-discriminated, self-referential graph into payload, raw, or runtime shapes, sharing repeated nodes and stripping authoring-tool keys.
698
-
699
- - Export: `None`
700
- - Source: `src/formats/red/core/CjsRedReader.js`
701
- - Visibility: Internal
702
- - Kind: Internal implementation class
703
-
704
- ### stl
705
-
706
- <!-- class:CjsStlFormat -->
707
- ## `CjsStlFormat`
708
-
709
- STL format class that parses ASCII and binary STL, writes STL from shared meshes, and inspects printability, emitting shared-mesh, GR2, or CMF output plus debug JSON.
710
-
711
- - Export: `@carbonenginejs/runtime-resource/formats/stl`
712
- - Source: `src/formats/stl/CjsStlFormat.js`
713
- - Visibility: Public
714
- - Kind: Original CarbonEngineJS class
715
-
716
- <!-- class:DisjointSet -->
717
- ## `DisjointSet`
718
-
719
- Union-find structure with path compression used to group edge-connected triangles during STL printability inspection.
720
-
721
- - Export: `None`
722
- - Source: `src/formats/stl/core/stl.js`
723
- - Visibility: Internal
724
- - Kind: Internal implementation class
725
-
726
- ### tga
727
-
728
- <!-- class:CjsTgaFormat -->
729
- ## `CjsTgaFormat`
730
-
731
- TGA format profile that inspects header metadata and reads TGA bytes into raw, debug JSON, or decoded RGBA image payloads.
732
-
733
- - Export: `@carbonenginejs/runtime-resource/formats/tga`
734
- - Source: `src/formats/tga/CjsTgaFormat.js`
735
- - Visibility: Public
736
- - Kind: Original CarbonEngineJS class
737
-
738
- ### wav
739
-
740
- <!-- class:CjsWavFormat -->
741
- ## `CjsWavFormat`
742
-
743
- WAV audio format profile that inspects RIFF chunk metadata and reads supported WAV bytes into PCM or audio payloads, alongside raw and debug JSON output.
744
-
745
- - Export: `@carbonenginejs/runtime-resource/formats/wav`
746
- - Source: `src/formats/wav/CjsWavFormat.js`
747
- - Visibility: Public
748
- - Kind: Original CarbonEngineJS class
749
-
750
- ### shared effect layer
751
-
752
- <!-- class:ReflectionBlobStore -->
753
- ## `ReflectionBlobStore`
754
-
755
- Content-addressed arena that deduplicates every exact byte payload referenced by portable effect reflection.
756
-
757
- - Export: `None`
758
- - Source: `src/format/effect/effectReflectionPackage.js`
759
- - Visibility: Internal
760
- - Kind: Internal implementation class
761
-
762
- ### webgl
763
-
764
- <!-- class:CjsWebglFormat -->
765
- ## `CjsWebglFormat`
766
-
767
- WebGL shader format profile that translates compiled Carbon effects into CEWG packages carrying GLSL programs and portable source reflection.
768
-
769
- - Export: `@carbonenginejs/runtime-resource/formats/webgl`
770
- - Source: `src/formats/webgl/CjsWebglFormat.js`
771
- - Visibility: Public
772
- - Kind: Original CarbonEngineJS class
773
-
774
- <!-- class:CewgPackage -->
775
- ## `CewgPackage`
776
-
777
- Reader for the flat CEWG container: chunk lookup, cached JSON decoding, and validated portable reflection access.
778
-
779
- - Export: `None`
780
- - Source: `src/formats/webgl/core/cewg/CewgPackage.js`
781
- - Visibility: Internal
782
- - Kind: Internal implementation class
783
-
784
- <!-- class:CewgPackageBuilder -->
785
- ## `CewgPackageBuilder`
786
-
787
- Builds a CEWG container from ordered, uniquely tagged chunks.
788
-
789
- - Export: `None`
790
- - Source: `src/formats/webgl/core/cewg/CewgPackageBuilder.js`
791
- - Visibility: Internal
792
- - Kind: Internal implementation class
793
-
794
- <!-- class:WebglReader -->
795
- ## `WebglReader`
796
-
797
- Bounded little-endian byte cursor over CEWG container bytes.
798
-
799
- - Export: `None`
800
- - Source: `src/formats/webgl/core/cewg/binary.js`
801
- - Visibility: Internal
802
- - Kind: Internal implementation class
803
-
804
- <!-- class:WebglReadError -->
805
- ## `WebglReadError`
806
-
807
- Error raised when CEWG bytes or package documents are malformed or inconsistent.
808
-
809
- - Export: `None`
810
- - Source: `src/formats/webgl/core/errors.js`
811
- - Visibility: Internal
812
- - Kind: Internal implementation class
813
-
814
- <!-- class:DxbcGlslEmitter -->
815
- ## `DxbcGlslEmitter`
816
-
817
- Translates decoded DXBC shader programs into GLSL for the WebGL backend.
818
-
819
- - Export: `None`
820
- - Source: `src/formats/webgl/core/glsl/DxbcGlslEmitter.js`
821
- - Visibility: Internal
822
- - Kind: Internal implementation class
823
-
824
- <!-- class:DxbcGlslHelperRegistry -->
825
- ## `DxbcGlslHelperRegistry`
826
-
827
- Collects and emits the GLSL helper functions a translated program requires.
828
-
829
- - Export: `None`
830
- - Source: `src/formats/webgl/core/glsl/DxbcGlslHelpers.js`
831
- - Visibility: Internal
832
- - Kind: Internal implementation class
833
-
834
- <!-- class:DxbcGlslOperandFormatter -->
835
- ## `DxbcGlslOperandFormatter`
836
-
837
- Formats DXBC operands, swizzles, and modifiers as GLSL expressions.
838
-
839
- - Export: `None`
840
- - Source: `src/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js`
841
- - Visibility: Internal
842
- - Kind: Internal implementation class
843
-
844
- ### webgpu
845
-
846
- <!-- class:CjsWebgpuFormat -->
847
- ## `CjsWebgpuFormat`
848
-
849
- WebGPU shader format profile that translates compiled Carbon effects into CEWGPU packages carrying WGSL programs, bind-group layouts, and portable source reflection.
850
-
851
- - Export: `@carbonenginejs/runtime-resource/formats/webgpu`
852
- - Source: `src/formats/webgpu/CjsWebgpuFormat.js`
853
- - Visibility: Public
854
- - Kind: Original CarbonEngineJS class
855
-
856
- <!-- class:CewgpuContainer -->
857
- ## `CewgpuContainer`
858
-
859
- Reader over one WebGPU effect container.
860
-
861
- - Export: `None`
862
- - Source: `src/formats/webgpu/core/cewgpu/CewgpuContainer.js`
863
- - Visibility: Internal
864
- - Kind: Internal implementation class
865
-
866
- <!-- class:WebgpuReadError -->
867
- ## `WebgpuReadError`
868
-
869
- Error raised when CEWGPU bytes or package documents are malformed or inconsistent.
870
-
871
- - Export: `None`
872
- - Source: `src/formats/webgpu/core/errors.js`
873
- - Visibility: Internal
874
- - Kind: Internal implementation class
875
-
876
- ### webm
877
-
878
- <!-- class:CjsWebmFormat -->
879
- ## `CjsWebmFormat`
880
-
881
- WebM container format profile that inspects EBML segment and track structure and emits raw bytes, debug JSON, or a container-only video payload with codec and duration summaries but no frame decoding.
882
-
883
- - Export: `@carbonenginejs/runtime-resource/formats/webm`
884
- - Source: `src/formats/webm/CjsWebmFormat.js`
885
- - Visibility: Public
886
- - Kind: Original CarbonEngineJS class
887
-
888
- ### webp
889
-
890
- <!-- class:CjsWebpFormat -->
891
- ## `CjsWebpFormat`
892
-
893
- Metadata-only WebP format profile that inspects RIFF chunk headers and emits raw container bytes or debug JSON without decoding pixels.
894
-
895
- - Export: `@carbonenginejs/runtime-resource/formats/webp`
896
- - Source: `src/formats/webp/CjsWebpFormat.js`
897
- - Visibility: Public
898
- - Kind: Original CarbonEngineJS class
899
-
900
- ### wem
901
-
902
- <!-- class:CjsWemFormat -->
903
- ## `CjsWemFormat`
904
-
905
- Reader for Audiokinetic Wwise media (`.wem`) containers that inspects codec, channel/rate layout, and Vorbis duration, and reads out raw container bytes, a ww2ogg-style Ogg repack of Wwise Vorbis, or decoded PCM.
906
-
907
- - Export: `@carbonenginejs/runtime-resource/formats/wem`
908
- - Source: `src/formats/wem/CjsWemFormat.js`
909
- - Visibility: Public
910
- - Kind: Original CarbonEngineJS class
911
-
912
- <!-- class:BitReader -->
913
- ## `BitReader`
914
-
915
- LSB-first bit reader over Wwise Vorbis packet bytes for the Ogg repacking path.
916
-
917
- - Export: `None`
918
- - Source: `src/formats/wem/core/bitStream.js`
919
- - Visibility: Internal
920
- - Kind: Internal implementation class
921
-
922
- <!-- class:OggPageWriter -->
923
- ## `OggPageWriter`
924
-
925
- LSB-first bit writer that assembles repacked Wwise Vorbis packets into standard Ogg pages, one page per packet, matching ww2ogg behavior.
926
-
927
- - Export: `None`
928
- - Source: `src/formats/wem/core/bitStream.js`
929
- - Visibility: Internal
930
- - Kind: Internal implementation class
931
-
932
- ### yaml
933
-
934
- <!-- class:CjsYamlFormat -->
935
- ## `CjsYamlFormat`
936
-
937
- YAML format profile that parses YAML text into payload, JSON-graph, raw, or document output with configurable tag policies, alias limits, and identity/reference markers.
938
-
939
- - Export: `@carbonenginejs/runtime-resource/formats/yaml`
940
- - Source: `src/formats/yaml/CjsYamlFormat.js`
941
- - Visibility: Public
942
- - Kind: Original CarbonEngineJS class
943
-
944
- <!-- class:CjsYamlReader -->
945
- ## `CjsYamlReader`
946
-
947
- Construction-bound reader that parses one YAML source with the `yaml` library and produces the format's payload, raw, or document graphs while enforcing tag policy and alias limits.
948
-
949
- - Export: `None`
950
- - Source: `src/formats/yaml/core/CjsYamlReader.js`
951
- - Visibility: Internal
952
- - Kind: Internal implementation class
1
+ # Formats class catalog
2
+
3
+ Status: Evolving
4
+ Scope: `@carbonenginejs/runtime-resource` classes under `src/formats`
5
+ Audience: Users, maintainers, and automated readers
6
+ Summary: Provides one-sentence purpose descriptors for maintained classes under `src/formats`.
7
+
8
+ ### black
9
+
10
+ <!-- class:CjsBlackFormat -->
11
+ ## `CjsBlackFormat`
12
+
13
+ Black format profile that reads `.black` binary object graphs into payload, document, raw, or runtime output using CarbonEngineJS canonical schemas or caller-supplied source-shape registries.
14
+
15
+ - Export: `@carbonenginejs/runtime-resource/formats/black`
16
+ - Source: `src/formats/black/CjsBlackFormat.js`
17
+ - Visibility: Public
18
+ - Kind: Original CarbonEngineJS class
19
+
20
+ <!-- class:CjsBlackBinaryReader -->
21
+ ## `CjsBlackBinaryReader`
22
+
23
+ Bounds-aware `DataView` cursor that provides the primitive reads and end-of-stream checks the Black transport decodes with.
24
+
25
+ - Export: `None`
26
+ - Source: `src/formats/black/core/CjsBlackBinaryReader.js`
27
+ - Visibility: Internal
28
+ - Kind: Internal implementation class
29
+
30
+ <!-- class:CjsBlackPropertyReaders -->
31
+ ## `CjsBlackPropertyReaders`
32
+
33
+ Static set of read and skip routines that decode or skip individual Black property values (primitives, strings, arrays, structure lists, dictionaries, and binary blocks) from their type descriptors.
34
+
35
+ - Export: `None`
36
+ - Source: `src/formats/black/core/CjsBlackPropertyReaders.js`
37
+ - Visibility: Internal
38
+ - Kind: Internal implementation class
39
+
40
+ <!-- class:CjsBlackReader -->
41
+ ## `CjsBlackReader`
42
+
43
+ Transport that reads a `.black` stream into a payload, document, or runtime graph, owning the binary buffer, string tables, numeric references, and binary read cursor.
44
+
45
+ - Export: `None`
46
+ - Source: `src/formats/black/core/CjsBlackReader.js`
47
+ - Visibility: Internal
48
+ - Kind: Internal implementation class
49
+
50
+ <!-- class:CjsBlackSchemaRegistry -->
51
+ ## `CjsBlackSchemaRegistry`
52
+
53
+ Registry that normalizes caller-supplied schemas into per-class source shapes the Black reader uses to resolve persisted fields.
54
+
55
+ - Export: `None`
56
+ - Source: `src/formats/black/core/CjsBlackSchemaRegistry.js`
57
+ - Visibility: Internal
58
+ - Kind: Internal implementation class
59
+
60
+ ### bnk
61
+
62
+ <!-- class:CjsBnkFormat -->
63
+ ## `CjsBnkFormat`
64
+
65
+ Reader for Audiokinetic Wwise soundbank (`.bnk`) containers that inspects the bank header, embedded media index, object hierarchy, and referenced bank names without copying payloads, and reads out the raw bank, debug JSON, or undecoded embedded media items.
66
+
67
+ - Export: `@carbonenginejs/runtime-resource/formats/bnk`
68
+ - Source: `src/formats/bnk/CjsBnkFormat.js`
69
+ - Visibility: Public
70
+ - Kind: Original CarbonEngineJS class
71
+
72
+ <!-- class:MusicCursor -->
73
+ ## `MusicCursor`
74
+
75
+ Little-endian byte cursor over HIRC payload bytes used to decode Wwise interactive-music node payloads with exact-end validation.
76
+
77
+ - Export: `None`
78
+ - Source: `src/formats/bnk/core/musicNodes.js`
79
+ - Visibility: Internal
80
+ - Kind: Internal implementation class
81
+
82
+ <!-- class:WwiseCursor -->
83
+ ## `WwiseCursor`
84
+
85
+ Bounds-aware little-endian cursor used for exact Wwise v150 NodeBase, authored-SFX, and attenuation decoding.
86
+
87
+ - Export: `None`
88
+ - Source: `src/formats/bnk/core/nodeBase.js`
89
+ - Visibility: Internal
90
+ - Kind: Internal implementation class
91
+
92
+ <!-- class:GlobalSettingsCursor -->
93
+ ## `GlobalSettingsCursor`
94
+
95
+ Bounds-aware little-endian cursor over one Wwise Global Settings payload.
96
+
97
+ - Export: `None`
98
+ - Source: `src/formats/bnk/core/globalSettings.js`
99
+ - Visibility: Internal
100
+ - Kind: Internal implementation class
101
+
102
+ <!-- class:ActionCursor -->
103
+ ## `ActionCursor`
104
+
105
+ Bounds-aware byte cursor used for exact Wwise v150 Event Action decoding.
106
+
107
+ - Export: `None`
108
+ - Source: `src/formats/bnk/core/eventAction.js`
109
+ - Visibility: Internal
110
+ - Kind: Internal implementation class
111
+
112
+ ### cmf
113
+
114
+ <!-- class:CjsCmfFormat -->
115
+ ## `CjsCmfFormat`
116
+
117
+ CMF geometry-container format class that reads, inspects, constructs, and writes CMF data, emitting CMF-native output by default alongside GR2, shared-mesh, and debug JSON targets.
118
+
119
+ - Export: `@carbonenginejs/runtime-resource/formats/cmf`
120
+ - Source: `src/formats/cmf/CjsCmfFormat.js`
121
+ - Visibility: Public
122
+ - Kind: Original CarbonEngineJS class
123
+
124
+ <!-- class:BinaryReader -->
125
+ ## `BinaryReader`
126
+
127
+ Bounds-checked little-endian offset reader over CMF file bytes, including 64-bit integer reads guarded against unsafe values.
128
+
129
+ - Export: `None`
130
+ - Source: `src/formats/cmf/core/binary.js`
131
+ - Visibility: Internal
132
+ - Kind: Internal implementation class
133
+
134
+ <!-- class:Flattener -->
135
+ ## `Flattener`
136
+
137
+ Writer-side helper that flattens a CMF object graph into the binary Data section with self-relative tagged span offsets, depth-first ordering, chunk alignment, and duplicate-leaf deduplication, mirroring CarbonEngine's `cmf::BuildFile`.
138
+
139
+ - Export: `None`
140
+ - Source: `src/formats/cmf/core/writer.js`
141
+ - Visibility: Internal
142
+ - Kind: Internal implementation class
143
+
144
+ ### dds
145
+
146
+ <!-- class:CjsDdsFormat -->
147
+ ## `CjsDdsFormat`
148
+
149
+ DDS texture format profile that inspects header metadata, probes output support, and reads DDS bytes into raw, GPU-free texture, image, or software-decoded RGBA and float payloads (BC1-BC5, BC7, and BC6H included).
150
+
151
+ - Export: `@carbonenginejs/runtime-resource/formats/dds`
152
+ - Source: `src/formats/dds/CjsDdsFormat.js`
153
+ - Visibility: Public
154
+ - Kind: Original CarbonEngineJS class
155
+
156
+ <!-- class:Bc7BitReader -->
157
+ ## `Bc7BitReader`
158
+
159
+ LSB-first bit reader over a single 128-bit BC7 block bitstream for the software BC7 decoder.
160
+
161
+ - Export: `None`
162
+ - Source: `src/formats/dds/core/bc7.js`
163
+ - Visibility: Internal
164
+ - Kind: Internal implementation class
165
+
166
+ ### dxbc
167
+
168
+ <!-- class:CjsDxbcFormat -->
169
+ ## `CjsDxbcFormat`
170
+
171
+ DXBC shader-bytecode format profile that reads container chunks, signatures, and the decoded shader program from compiled Direct3D bytecode.
172
+
173
+ - Export: `@carbonenginejs/runtime-resource/formats/dxbc`
174
+ - Source: `src/formats/dxbc/CjsDxbcFormat.js`
175
+ - Visibility: Public
176
+ - Kind: Original CarbonEngineJS class
177
+
178
+ <!-- class:DxbcReader -->
179
+ ## `DxbcReader`
180
+
181
+ Bounded little-endian byte cursor over DXBC payloads, with optional shared string-table resolution.
182
+
183
+ - Export: `None`
184
+ - Source: `src/formats/dxbc/core/DxbcReader.js`
185
+ - Visibility: Internal
186
+ - Kind: Internal implementation class
187
+
188
+ <!-- class:DxbcContainer -->
189
+ ## `DxbcContainer`
190
+
191
+ Parsed DXBC container that locates and exposes its four-character-code chunks.
192
+
193
+ - Export: `None`
194
+ - Source: `src/formats/dxbc/core/container.js`
195
+ - Visibility: Internal
196
+ - Kind: Internal implementation class
197
+
198
+ <!-- class:DxbcInstructionDecoder -->
199
+ ## `DxbcInstructionDecoder`
200
+
201
+ Decodes the DXBC shader token stream into structured instructions, operands, and declarations.
202
+
203
+ - Export: `None`
204
+ - Source: `src/formats/dxbc/core/decoder.js`
205
+ - Visibility: Internal
206
+ - Kind: Internal implementation class
207
+
208
+ <!-- class:DxbcReadError -->
209
+ ## `DxbcReadError`
210
+
211
+ Error raised when DXBC bytes are malformed, truncated, or structurally invalid.
212
+
213
+ - Export: `None`
214
+ - Source: `src/formats/dxbc/core/errors.js`
215
+ - Visibility: Internal
216
+ - Kind: Internal implementation class
217
+
218
+ <!-- class:DxbcShaderProgram -->
219
+ ## `DxbcShaderProgram`
220
+
221
+ Decoded DXBC shader program: version, stage type, and its ordered instruction stream.
222
+
223
+ - Export: `None`
224
+ - Source: `src/formats/dxbc/core/program.js`
225
+ - Visibility: Internal
226
+ - Kind: Internal implementation class
227
+
228
+ <!-- class:DxbcSignatureChunk -->
229
+ ## `DxbcSignatureChunk`
230
+
231
+ Parsed DXBC input, output, or patch-constant signature chunk and its parameter records.
232
+
233
+ - Export: `None`
234
+ - Source: `src/formats/dxbc/core/signature.js`
235
+ - Visibility: Internal
236
+ - Kind: Internal implementation class
237
+
238
+ ### fbx
239
+
240
+ <!-- class:CjsFbxFormat -->
241
+ ## `CjsFbxFormat`
242
+
243
+ FBX format surface that recognizes and inspects FBX files and emits basic static-mesh GR2 or CMF output in pure JavaScript, ahead of full CarbonEngine-equivalent importer coverage.
244
+
245
+ - Export: `@carbonenginejs/runtime-resource/formats/fbx`
246
+ - Source: `src/formats/fbx/CjsFbxFormat.js`
247
+ - Visibility: Public
248
+ - Kind: Original CarbonEngineJS class
249
+
250
+ <!-- class:DeflateBitReader -->
251
+ ## `DeflateBitReader`
252
+
253
+ Bit reader over a zlib/deflate stream used to inflate compressed FBX property arrays.
254
+
255
+ - Export: `None`
256
+ - Source: `src/formats/fbx/core/helpers.js`
257
+ - Visibility: Internal
258
+ - Kind: Internal implementation class
259
+
260
+ <!-- class:DeflateHuffmanTable -->
261
+ ## `DeflateHuffmanTable`
262
+
263
+ Canonical Huffman decode table built from deflate code lengths for inflating compressed FBX property arrays.
264
+
265
+ - Export: `None`
266
+ - Source: `src/formats/fbx/core/helpers.js`
267
+ - Visibility: Internal
268
+ - Kind: Internal implementation class
269
+
270
+ ### flac
271
+
272
+ <!-- class:CjsFlacFormat -->
273
+ ## `CjsFlacFormat`
274
+
275
+ Metadata-only FLAC format profile that validates the stream signature, inspects stream metadata, and emits raw container bytes or debug JSON without decoding PCM.
276
+
277
+ - Export: `@carbonenginejs/runtime-resource/formats/flac`
278
+ - Source: `src/formats/flac/CjsFlacFormat.js`
279
+ - Visibility: Public
280
+ - Kind: Original CarbonEngineJS class
281
+
282
+ ### gif
283
+
284
+ <!-- class:CjsGifFormat -->
285
+ ## `CjsGifFormat`
286
+
287
+ GIF format profile that inspects header and frame metadata and reads GIF bytes into raw, debug JSON, or LZW-decoded RGBA frame payloads.
288
+
289
+ - Export: `@carbonenginejs/runtime-resource/formats/gif`
290
+ - Source: `src/formats/gif/CjsGifFormat.js`
291
+ - Visibility: Public
292
+ - Kind: Original CarbonEngineJS class
293
+
294
+ ### gltf
295
+
296
+ <!-- class:CjsGltfFormat -->
297
+ ## `CjsGltfFormat`
298
+
299
+ glTF/GLB format class that parses documents, decodes accessors, and converts meshes, skins, and animations into shared-mesh, GR2, or CMF output plus debug JSON.
300
+
301
+ - Export: `@carbonenginejs/runtime-resource/formats/gltf`
302
+ - Source: `src/formats/gltf/CjsGltfFormat.js`
303
+ - Visibility: Public
304
+ - Kind: Original CarbonEngineJS class
305
+
306
+ ### gr2
307
+
308
+ <!-- class:CjsGr2Format -->
309
+ ## `CjsGr2Format`
310
+
311
+ Runtime GR2/GSF format class that wraps the migrated `format-gr2` engine under core/ with the runtime-resource format-contract statics ResMan uses for byte probing and async reads.
312
+
313
+ - Export: `@carbonenginejs/runtime-resource/formats/gr2`
314
+ - Source: `src/formats/gr2/CjsGr2Format.js`
315
+ - Visibility: Public
316
+ - Kind: Original CarbonEngineJS class
317
+
318
+ <!-- class:Decoder -->
319
+ ## `Decoder`
320
+
321
+ Arithmetic decoder over the Oodle1 7-bit-per-byte compressed bitstream for GR2 section decompression.
322
+
323
+ - Export: `None`
324
+ - Source: `src/formats/gr2/core/oodle1.js`
325
+ - Visibility: Internal
326
+ - Kind: Internal implementation class
327
+
328
+ <!-- class:Dictionary -->
329
+ ## `Dictionary`
330
+
331
+ Per-segment Oodle1 decode dictionary holding the adaptive symbol windows for literal and back-reference decoding.
332
+
333
+ - Export: `None`
334
+ - Source: `src/formats/gr2/core/oodle1.js`
335
+ - Visibility: Internal
336
+ - Kind: Internal implementation class
337
+
338
+ <!-- class:FrequencyModel -->
339
+ ## `FrequencyModel`
340
+
341
+ Adaptive 15-bit-precision frequency model with cumulative tables and a fast symbol lookup used by the clean-room BitKnit2 decompressor.
342
+
343
+ - Export: `None`
344
+ - Source: `src/formats/gr2/core/bitknit2.js`
345
+ - Visibility: Internal
346
+ - Kind: Internal implementation class
347
+
348
+ <!-- class:WeighWindow -->
349
+ ## `WeighWindow`
350
+
351
+ Adaptive weighted symbol window that Oodle1 dictionaries use to model symbol probabilities.
352
+
353
+ - Export: `None`
354
+ - Source: `src/formats/gr2/core/oodle1.js`
355
+ - Visibility: Internal
356
+ - Kind: Internal implementation class
357
+
358
+ ### hlsl
359
+
360
+ <!-- class:CjsHlslFormat -->
361
+ ## `CjsHlslFormat`
362
+
363
+ Compiled Carbon effect format profile that reads .sm_* shader packages into permutation, technique, and stage metadata.
364
+
365
+ - Export: `@carbonenginejs/runtime-resource/formats/hlsl`
366
+ - Source: `src/formats/hlsl/CjsHlslFormat.js`
367
+ - Visibility: Public
368
+ - Kind: Original CarbonEngineJS class
369
+
370
+ <!-- class:HlslReader -->
371
+ ## `HlslReader`
372
+
373
+ Bounded little-endian byte cursor over compiled effect payloads, with shared string-table resolution.
374
+
375
+ - Export: `None`
376
+ - Source: `src/formats/hlsl/core/HlslReader.js`
377
+ - Visibility: Internal
378
+ - Kind: Internal implementation class
379
+
380
+ <!-- class:HlslEffectReadError -->
381
+ ## `HlslEffectReadError`
382
+
383
+ Error raised when compiled effect bytes are malformed, truncated, or an unsupported version.
384
+
385
+ - Export: `None`
386
+ - Source: `src/formats/hlsl/core/HlslEffectReadError.js`
387
+ - Visibility: Internal
388
+ - Kind: Internal implementation class
389
+
390
+ <!-- class:HlslEffectStateManager -->
391
+ ## `HlslEffectStateManager`
392
+
393
+ Resolves and caches render-state setups referenced by a compiled effect while it is read.
394
+
395
+ - Export: `None`
396
+ - Source: `src/formats/hlsl/core/HlslEffectStateManager.js`
397
+ - Visibility: Internal
398
+ - Kind: Internal implementation class
399
+
400
+ <!-- class:HlslRenderStateSetup -->
401
+ ## `HlslRenderStateSetup`
402
+
403
+ Ordered render-state key and value records attached to one pass.
404
+
405
+ - Export: `None`
406
+ - Source: `src/formats/hlsl/core/HlslRenderStateSetup.js`
407
+ - Visibility: Internal
408
+ - Kind: Internal implementation class
409
+
410
+ <!-- class:HlslResourceSetDescription -->
411
+ ## `HlslResourceSetDescription`
412
+
413
+ Describes one resource set bound by a compiled effect stage.
414
+
415
+ - Export: `None`
416
+ - Source: `src/formats/hlsl/core/HlslResourceSetDescription.js`
417
+ - Visibility: Internal
418
+ - Kind: Internal implementation class
419
+
420
+ <!-- class:HlslShaderBytecode -->
421
+ ## `HlslShaderBytecode`
422
+
423
+ Stage bytecode payload carried by a compiled effect, with its stage type and name.
424
+
425
+ - Export: `None`
426
+ - Source: `src/formats/hlsl/core/HlslShaderBytecode.js`
427
+ - Visibility: Internal
428
+ - Kind: Internal implementation class
429
+
430
+ <!-- class:HlslEffectRes -->
431
+ ## `HlslEffectRes`
432
+
433
+ Parsed compiled effect resource: permutation axes, body offsets, and lazily decoded shader bodies.
434
+
435
+ - Export: `None`
436
+ - Source: `src/formats/hlsl/core/tr2/resources/HlslEffectRes.js`
437
+ - Visibility: Internal
438
+ - Kind: Internal implementation class
439
+
440
+ <!-- class:HlslShaderPermutation -->
441
+ ## `HlslShaderPermutation`
442
+
443
+ One permutation axis of a compiled effect, with its ordered options and default.
444
+
445
+ - Export: `None`
446
+ - Source: `src/formats/hlsl/core/tr2/resources/HlslShaderPermutation.js`
447
+ - Visibility: Internal
448
+ - Kind: Internal implementation class
449
+
450
+ <!-- class:HlslEffectBindingManifest -->
451
+ ## `HlslEffectBindingManifest`
452
+
453
+ Flattened per-stage binding manifest derived from a resolved effect description.
454
+
455
+ - Export: `None`
456
+ - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectBindingManifest.js`
457
+ - Visibility: Internal
458
+ - Kind: Internal implementation class
459
+
460
+ <!-- class:HlslEffectConstant -->
461
+ ## `HlslEffectConstant`
462
+
463
+ Reflected shader constant: name, offset, size, type, dimension, and element count.
464
+
465
+ - Export: `None`
466
+ - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectConstant.js`
467
+ - Visibility: Internal
468
+ - Kind: Internal implementation class
469
+
470
+ <!-- class:HlslEffectDescription -->
471
+ ## `HlslEffectDescription`
472
+
473
+ Decoded effect body: techniques, passes, stages, libraries, and top-level annotations.
474
+
475
+ - Export: `None`
476
+ - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectDescription.js`
477
+ - Visibility: Internal
478
+ - Kind: Internal implementation class
479
+
480
+ <!-- class:HlslEffectLibrary -->
481
+ ## `HlslEffectLibrary`
482
+
483
+ Ray-tracing shader library record with its exports, payload size, and stage inputs.
484
+
485
+ - Export: `None`
486
+ - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectLibrary.js`
487
+ - Visibility: Internal
488
+ - Kind: Internal implementation class
489
+
490
+ <!-- class:HlslEffectParameterAnnotation -->
491
+ ## `HlslEffectParameterAnnotation`
492
+
493
+ Typed annotation attached to a reflected effect parameter.
494
+
495
+ - Export: `None`
496
+ - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectParameterAnnotation.js`
497
+ - Visibility: Internal
498
+ - Kind: Internal implementation class
499
+
500
+ <!-- class:HlslEffectResource -->
501
+ ## `HlslEffectResource`
502
+
503
+ Reflected shader resource or UAV binding with its register identity and array count.
504
+
505
+ - Export: `None`
506
+ - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectResource.js`
507
+ - Visibility: Internal
508
+ - Kind: Internal implementation class
509
+
510
+ <!-- class:HlslEffectStageInput -->
511
+ ## `HlslEffectStageInput`
512
+
513
+ Reflected stage input: constants, resources, samplers, signatures, and default constant bytes.
514
+
515
+ - Export: `None`
516
+ - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js`
517
+ - Visibility: Internal
518
+ - Kind: Internal implementation class
519
+
520
+ <!-- class:HlslEffectTechnique -->
521
+ ## `HlslEffectTechnique`
522
+
523
+ Named technique of a compiled effect body and its ordered passes.
524
+
525
+ - Export: `None`
526
+ - Source: `src/formats/hlsl/core/tr2/shader/HlslEffectTechnique.js`
527
+ - Visibility: Internal
528
+ - Kind: Internal implementation class
529
+
530
+ <!-- class:HlslPass -->
531
+ ## `HlslPass`
532
+
533
+ One pass of a technique, carrying its stage inputs and render states.
534
+
535
+ - Export: `None`
536
+ - Source: `src/formats/hlsl/core/tr2/shader/HlslPass.js`
537
+ - Visibility: Internal
538
+ - Kind: Internal implementation class
539
+
540
+ <!-- class:HlslSamplerDescription -->
541
+ ## `HlslSamplerDescription`
542
+
543
+ Sampler state description: filters, address modes, LOD bounds, and comparison function.
544
+
545
+ - Export: `None`
546
+ - Source: `src/formats/hlsl/core/tr2/shader/HlslSamplerDescription.js`
547
+ - Visibility: Internal
548
+ - Kind: Internal implementation class
549
+
550
+ <!-- class:HlslSamplerSetup -->
551
+ ## `HlslSamplerSetup`
552
+
553
+ Named or static sampler setup bound by a compiled effect stage.
554
+
555
+ - Export: `None`
556
+ - Source: `src/formats/hlsl/core/tr2/shader/HlslSamplerSetup.js`
557
+ - Visibility: Internal
558
+ - Kind: Internal implementation class
559
+
560
+ <!-- class:HlslShader -->
561
+ ## `HlslShader`
562
+
563
+ Decoded shader body for one permutation index, wrapping its effect description.
564
+
565
+ - Export: `None`
566
+ - Source: `src/formats/hlsl/core/tr2/shader/HlslShader.js`
567
+ - Visibility: Internal
568
+ - Kind: Internal implementation class
569
+
570
+ <!-- class:HlslShaderOption -->
571
+ ## `HlslShaderOption`
572
+
573
+ One option value of a permutation axis.
574
+
575
+ - Export: `None`
576
+ - Source: `src/formats/hlsl/core/tr2/shader/HlslShaderOption.js`
577
+ - Visibility: Internal
578
+ - Kind: Internal implementation class
579
+
580
+ ### jpeg
581
+
582
+ <!-- class:CjsJpegFormat -->
583
+ ## `CjsJpegFormat`
584
+
585
+ JPEG format profile that inspects marker and header metadata and reads baseline JPEG bytes into raw, debug JSON, or RGBA payloads through the in-project baseline decoder.
586
+
587
+ - Export: `@carbonenginejs/runtime-resource/formats/jpeg`
588
+ - Source: `src/formats/jpeg/CjsJpegFormat.js`
589
+ - Visibility: Public
590
+ - Kind: Original CarbonEngineJS class
591
+
592
+ <!-- class:BaselineJpegDecoder -->
593
+ ## `BaselineJpegDecoder`
594
+
595
+ Pure-JS baseline sequential JPEG decoder that parses markers, quantization and Huffman tables, and entropy-coded scans into RGBA pixels.
596
+
597
+ - Export: `None`
598
+ - Source: `src/formats/jpeg/core/jpeg.js`
599
+ - Visibility: Internal
600
+ - Kind: Internal implementation class
601
+
602
+ <!-- class:EntropyReader -->
603
+ ## `EntropyReader`
604
+
605
+ Bit-level reader over JPEG entropy-coded data that handles byte stuffing and restart markers for the baseline decoder.
606
+
607
+ - Export: `None`
608
+ - Source: `src/formats/jpeg/core/jpeg.js`
609
+ - Visibility: Internal
610
+ - Kind: Internal implementation class
611
+
612
+ ### mp3
613
+
614
+ <!-- class:CjsMp3Format -->
615
+ ## `CjsMp3Format`
616
+
617
+ MP3 audio format profile that inspects frame and tag metadata and emits raw container bytes or debug JSON, with PCM decoding not implemented.
618
+
619
+ - Export: `@carbonenginejs/runtime-resource/formats/mp3`
620
+ - Source: `src/formats/mp3/CjsMp3Format.js`
621
+ - Visibility: Public
622
+ - Kind: Original CarbonEngineJS class
623
+
624
+ ### mp4
625
+
626
+ <!-- class:CjsMp4Format -->
627
+ ## `CjsMp4Format`
628
+
629
+ MP4 container format profile that inspects box and track structure and emits raw bytes, debug JSON, or a container-only video payload with codec and duration summaries but no frame decoding.
630
+
631
+ - Export: `@carbonenginejs/runtime-resource/formats/mp4`
632
+ - Source: `src/formats/mp4/CjsMp4Format.js`
633
+ - Visibility: Public
634
+ - Kind: Original CarbonEngineJS class
635
+
636
+ ### obj
637
+
638
+ <!-- class:CjsObjFormat -->
639
+ ## `CjsObjFormat`
640
+
641
+ OBJ format class that parses Wavefront OBJ text and rebuilds it into shared-mesh, GR2, or CMF output plus debug JSON through its core helpers.
642
+
643
+ - Export: `@carbonenginejs/runtime-resource/formats/obj`
644
+ - Source: `src/formats/obj/CjsObjFormat.js`
645
+ - Visibility: Public
646
+ - Kind: Original CarbonEngineJS class
647
+
648
+ ### ogg
649
+
650
+ <!-- class:CjsOggFormat -->
651
+ ## `CjsOggFormat`
652
+
653
+ Ogg container format profile that inspects page and stream metadata and decodes Ogg Vorbis audio to PCM with the in-project pure-JS Vorbis decoder, alongside raw and debug JSON output.
654
+
655
+ - Export: `@carbonenginejs/runtime-resource/formats/ogg`
656
+ - Source: `src/formats/ogg/CjsOggFormat.js`
657
+ - Visibility: Public
658
+ - Kind: Original CarbonEngineJS class
659
+
660
+ <!-- class:Codebook -->
661
+ ## `Codebook`
662
+
663
+ Vorbis codebook that builds Huffman decode trees and VQ lookup vectors for scalar and vector packet decoding.
664
+
665
+ - Export: `None`
666
+ - Source: `src/formats/ogg/core/vorbis.js`
667
+ - Visibility: Internal
668
+ - Kind: Internal implementation class
669
+
670
+ <!-- class:PacketReader -->
671
+ ## `PacketReader`
672
+
673
+ LSB-first bit reader over one Vorbis packet's bytes for the pure-JS Vorbis decoder.
674
+
675
+ - Export: `None`
676
+ - Source: `src/formats/ogg/core/vorbis.js`
677
+ - Visibility: Internal
678
+ - Kind: Internal implementation class
679
+
680
+ ### pickle
681
+
682
+ <!-- class:CjsPickleFormat -->
683
+ ## `CjsPickleFormat`
684
+
685
+ Data-only Python pickle format facade that currently decodes protocol 0 into JSON-compatible values or identity-preserving payload graphs while rejecting callable and object-construction opcodes.
686
+
687
+ - Export: `@carbonenginejs/runtime-resource/formats/pickle`
688
+ - Source: `src/formats/pickle/CjsPickleFormat.js`
689
+ - Visibility: Public
690
+ - Kind: Original CarbonEngineJS class
691
+
692
+ <!-- class:CjsPickleProtocol0Reader -->
693
+ ## `CjsPickleProtocol0Reader`
694
+
695
+ Construction-bound decoder for the inert data subset of Python pickle protocol 0.
696
+
697
+ - Export: `None`
698
+ - Source: `src/formats/pickle/core/CjsPickleProtocol0Reader.js`
699
+ - Visibility: Internal
700
+ - Kind: Internal implementation class
701
+
702
+ ### png
703
+
704
+ <!-- class:CjsPngFormat -->
705
+ ## `CjsPngFormat`
706
+
707
+ PNG format profile that synchronously inspects chunk and header metadata and emits raw bytes or debug JSON, with RGBA decoding available on the asynchronous read path.
708
+
709
+ - Export: `@carbonenginejs/runtime-resource/formats/png`
710
+ - Source: `src/formats/png/CjsPngFormat.js`
711
+ - Visibility: Public
712
+ - Kind: Original CarbonEngineJS class
713
+
714
+ ### red
715
+
716
+ <!-- class:CjsRedFormat -->
717
+ ## `CjsRedFormat`
718
+
719
+ Red format profile that reads type-discriminated, self-referential Red YAML object graphs and emits a compact public payload, a neutral raw graph, or caller-supplied runtime classes through the runtime-utils hydration adapter.
720
+
721
+ - Export: `@carbonenginejs/runtime-resource/formats/red`
722
+ - Source: `src/formats/red/CjsRedFormat.js`
723
+ - Visibility: Public
724
+ - Kind: Original CarbonEngineJS class
725
+
726
+ <!-- class:CjsRedReader -->
727
+ ## `CjsRedReader`
728
+
729
+ Reader that walks a Red (YAML) type-discriminated, self-referential graph into payload, raw, or runtime shapes, sharing repeated nodes and stripping authoring-tool keys.
730
+
731
+ - Export: `None`
732
+ - Source: `src/formats/red/core/CjsRedReader.js`
733
+ - Visibility: Internal
734
+ - Kind: Internal implementation class
735
+
736
+ ### stl
737
+
738
+ <!-- class:CjsStlFormat -->
739
+ ## `CjsStlFormat`
740
+
741
+ STL format class that parses ASCII and binary STL, writes STL from shared meshes, and inspects printability, emitting shared-mesh, GR2, or CMF output plus debug JSON.
742
+
743
+ - Export: `@carbonenginejs/runtime-resource/formats/stl`
744
+ - Source: `src/formats/stl/CjsStlFormat.js`
745
+ - Visibility: Public
746
+ - Kind: Original CarbonEngineJS class
747
+
748
+ <!-- class:DisjointSet -->
749
+ ## `DisjointSet`
750
+
751
+ Union-find structure with path compression used to group edge-connected triangles during STL printability inspection.
752
+
753
+ - Export: `None`
754
+ - Source: `src/formats/stl/core/stl.js`
755
+ - Visibility: Internal
756
+ - Kind: Internal implementation class
757
+
758
+ ### tga
759
+
760
+ <!-- class:CjsTgaFormat -->
761
+ ## `CjsTgaFormat`
762
+
763
+ TGA format profile that inspects header metadata and reads TGA bytes into raw, debug JSON, or decoded RGBA image payloads.
764
+
765
+ - Export: `@carbonenginejs/runtime-resource/formats/tga`
766
+ - Source: `src/formats/tga/CjsTgaFormat.js`
767
+ - Visibility: Public
768
+ - Kind: Original CarbonEngineJS class
769
+
770
+ ### wav
771
+
772
+ <!-- class:CjsWavFormat -->
773
+ ## `CjsWavFormat`
774
+
775
+ WAV audio format profile that inspects RIFF chunk metadata and reads supported WAV bytes into PCM or audio payloads, alongside raw and debug JSON output.
776
+
777
+ - Export: `@carbonenginejs/runtime-resource/formats/wav`
778
+ - Source: `src/formats/wav/CjsWavFormat.js`
779
+ - Visibility: Public
780
+ - Kind: Original CarbonEngineJS class
781
+
782
+ ### shared effect layer
783
+
784
+ ### webgl
785
+
786
+ <!-- class:CjsWebglFormat -->
787
+ ## `CjsWebglFormat`
788
+
789
+ WebGL shader format profile that translates compiled Carbon effects into Carbon v15 containers carrying GLSL programs and a per-pass backend block.
790
+
791
+ - Export: `@carbonenginejs/runtime-resource/formats/webgl`
792
+ - Source: `src/formats/webgl/CjsWebglFormat.js`
793
+ - Visibility: Public
794
+ - Kind: Original CarbonEngineJS class
795
+
796
+ <!-- class:WebglReadError -->
797
+ ## `WebglReadError`
798
+
799
+ Error raised when container bytes or their backend blocks are malformed or inconsistent.
800
+
801
+ - Export: `None`
802
+ - Source: `src/formats/webgl/core/errors.js`
803
+ - Visibility: Internal
804
+ - Kind: Internal implementation class
805
+
806
+ <!-- class:DxbcGlslEmitter -->
807
+ ## `DxbcGlslEmitter`
808
+
809
+ Translates decoded DXBC shader programs into GLSL for the WebGL backend.
810
+
811
+ - Export: `None`
812
+ - Source: `src/formats/webgl/core/glsl/DxbcGlslEmitter.js`
813
+ - Visibility: Internal
814
+ - Kind: Internal implementation class
815
+
816
+ <!-- class:DxbcGlslHelperRegistry -->
817
+ ## `DxbcGlslHelperRegistry`
818
+
819
+ Collects and emits the GLSL helper functions a translated program requires.
820
+
821
+ - Export: `None`
822
+ - Source: `src/formats/webgl/core/glsl/DxbcGlslHelpers.js`
823
+ - Visibility: Internal
824
+ - Kind: Internal implementation class
825
+
826
+ <!-- class:DxbcGlslOperandFormatter -->
827
+ ## `DxbcGlslOperandFormatter`
828
+
829
+ Formats DXBC operands, swizzles, and modifiers as GLSL expressions.
830
+
831
+ - Export: `None`
832
+ - Source: `src/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js`
833
+ - Visibility: Internal
834
+ - Kind: Internal implementation class
835
+
836
+ ### webgpu
837
+
838
+ <!-- class:CjsWebgpuFormat -->
839
+ ## `CjsWebgpuFormat`
840
+
841
+ WebGPU shader format profile that translates compiled Carbon effects into Carbon WebGPU containers carrying WGSL programs and bind-group layouts.
842
+
843
+ - Export: `@carbonenginejs/runtime-resource/formats/webgpu`
844
+ - Source: `src/formats/webgpu/CjsWebgpuFormat.js`
845
+ - Visibility: Public
846
+ - Kind: Original CarbonEngineJS class
847
+
848
+ <!-- class:CarbonWebgpuContainer -->
849
+ ## `CarbonWebgpuContainer`
850
+
851
+ Reader over one WebGPU effect container.
852
+
853
+ - Export: `None`
854
+ - Source: `src/formats/webgpu/core/carbonWebgpu/CarbonWebgpuContainer.js`
855
+ - Visibility: Internal
856
+ - Kind: Internal implementation class
857
+
858
+ <!-- class:WebgpuReadError -->
859
+ ## `WebgpuReadError`
860
+
861
+ Error raised when Carbon WebGPU bytes or package documents are malformed or inconsistent.
862
+
863
+ - Export: `None`
864
+ - Source: `src/formats/webgpu/core/errors.js`
865
+ - Visibility: Internal
866
+ - Kind: Internal implementation class
867
+
868
+ ### webm
869
+
870
+ <!-- class:CjsWebmFormat -->
871
+ ## `CjsWebmFormat`
872
+
873
+ WebM container format profile that inspects EBML segment and track structure and emits raw bytes, debug JSON, or a container-only video payload with codec and duration summaries but no frame decoding.
874
+
875
+ - Export: `@carbonenginejs/runtime-resource/formats/webm`
876
+ - Source: `src/formats/webm/CjsWebmFormat.js`
877
+ - Visibility: Public
878
+ - Kind: Original CarbonEngineJS class
879
+
880
+ ### webp
881
+
882
+ <!-- class:CjsWebpFormat -->
883
+ ## `CjsWebpFormat`
884
+
885
+ Metadata-only WebP format profile that inspects RIFF chunk headers and emits raw container bytes or debug JSON without decoding pixels.
886
+
887
+ - Export: `@carbonenginejs/runtime-resource/formats/webp`
888
+ - Source: `src/formats/webp/CjsWebpFormat.js`
889
+ - Visibility: Public
890
+ - Kind: Original CarbonEngineJS class
891
+
892
+ ### wem
893
+
894
+ <!-- class:CjsWemFormat -->
895
+ ## `CjsWemFormat`
896
+
897
+ Reader for Audiokinetic Wwise media (`.wem`) containers that inspects codec, channel/rate layout, and Vorbis duration, and reads out raw container bytes, a ww2ogg-style Ogg repack of Wwise Vorbis, or decoded PCM.
898
+
899
+ - Export: `@carbonenginejs/runtime-resource/formats/wem`
900
+ - Source: `src/formats/wem/CjsWemFormat.js`
901
+ - Visibility: Public
902
+ - Kind: Original CarbonEngineJS class
903
+
904
+ <!-- class:BitReader -->
905
+ ## `BitReader`
906
+
907
+ LSB-first bit reader over Wwise Vorbis packet bytes for the Ogg repacking path.
908
+
909
+ - Export: `None`
910
+ - Source: `src/formats/wem/core/bitStream.js`
911
+ - Visibility: Internal
912
+ - Kind: Internal implementation class
913
+
914
+ <!-- class:OggPageWriter -->
915
+ ## `OggPageWriter`
916
+
917
+ LSB-first bit writer that assembles repacked Wwise Vorbis packets into standard Ogg pages, one page per packet, matching ww2ogg behavior.
918
+
919
+ - Export: `None`
920
+ - Source: `src/formats/wem/core/bitStream.js`
921
+ - Visibility: Internal
922
+ - Kind: Internal implementation class
923
+
924
+ ### yaml
925
+
926
+ <!-- class:CjsYamlFormat -->
927
+ ## `CjsYamlFormat`
928
+
929
+ YAML format profile that parses YAML text or strict UTF-8 bytes into payload, JSON-graph, raw, or document output with configurable tag policies, alias limits, and identity/reference markers.
930
+
931
+ - Export: `@carbonenginejs/runtime-resource/formats/yaml`
932
+ - Source: `src/formats/yaml/CjsYamlFormat.js`
933
+ - Visibility: Public
934
+ - Kind: Original CarbonEngineJS class
935
+
936
+ <!-- class:CjsYamlReader -->
937
+ ## `CjsYamlReader`
938
+
939
+ Construction-bound reader that parses one YAML source with the `yaml` library and produces the format's payload, raw, or document graphs while enforcing tag policy and alias limits.
940
+
941
+ - Export: `None`
942
+ - Source: `src/formats/yaml/core/CjsYamlReader.js`
943
+ - Visibility: Internal
944
+ - Kind: Internal implementation class