@carbonenginejs/runtime-resource 0.13.0 → 0.15.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.
- package/LICENSE +21 -21
- package/NOTICE +32 -32
- package/README.md +129 -129
- package/dist/CjsMotherLode.js +1271 -1271
- package/dist/CjsResMan.js +3858 -3858
- package/dist/CjsResManFetchProvider.js +94 -94
- package/dist/CjsResManWorkQueue.js +301 -301
- package/dist/_virtual/_rollupPluginBabelHelpers.js +150 -150
- package/dist/format/CjsBlueReader.js +358 -358
- package/dist/format/CjsByteReader.js +310 -310
- package/dist/format/CjsByteWriter.js +242 -242
- package/dist/format/CjsFormat.js +223 -223
- package/dist/format/CjsFormatError.js +41 -41
- package/dist/format/CjsReader.js +22 -22
- package/dist/format/CjsResourceProbe.js +279 -279
- package/dist/format/CjsStringTable.js +268 -268
- package/dist/format/carbonEffect/CjsCarbonEffectReader.js +265 -265
- package/dist/format/carbonEffect/CjsCarbonEffectWriter.js +373 -373
- package/dist/format/carbonEffect/buildCarbonEffectContainer.js +182 -182
- package/dist/format/carbonEffect/carbonEffectBackendBlock.js +321 -321
- package/dist/format/carbonEffect/carbonEffectRecords.js +1147 -1147
- package/dist/format/carbonEffect/carbonEffectResourceTransform.js +197 -197
- package/dist/format/compareUtf8.js +36 -36
- package/dist/format/effect/effectBodyInventory.js +146 -146
- package/dist/format/effect/effectPermutationGraph.js +257 -257
- package/dist/format/effect/sha256.js +114 -114
- package/dist/format/index.js +11 -11
- package/dist/format/payloadContract.js +193 -193
- package/dist/formats/black/CjsBlackFormat.js +310 -310
- package/dist/formats/black/core/CjsBlackBinaryReader.js +260 -260
- package/dist/formats/black/core/CjsBlackPropertyReaders.js +448 -448
- package/dist/formats/black/core/CjsBlackReader.js +764 -764
- package/dist/formats/black/core/CjsBlackSchemaRegistry.js +540 -540
- package/dist/formats/black/core/black-schema-v1-2026-07-23.json.js +4 -4
- package/dist/formats/black/core/blackConstants.js +7 -7
- package/dist/formats/black/core/blackDefinitions.js +10 -10
- package/dist/formats/black/core/blackEnums.js +6 -6
- package/dist/formats/black/core/blackSchema.js +3 -3
- package/dist/formats/black/core/blackVersion.js +22 -22
- package/dist/formats/black/core/helpers.js +199 -199
- package/dist/formats/black/core/schema.js +4 -4
- package/dist/formats/black/index.js +2 -2
- package/dist/formats/bnk/CjsBnkFormat.js +175 -175
- package/dist/formats/bnk/core/busNodes.js +252 -252
- package/dist/formats/bnk/core/effectNodes.js +147 -147
- package/dist/formats/bnk/core/eventAction.js +416 -416
- package/dist/formats/bnk/core/globalSettings.js +215 -215
- package/dist/formats/bnk/core/graph.js +137 -137
- package/dist/formats/bnk/core/helpers.js +512 -512
- package/dist/formats/bnk/core/musicNodes.js +540 -540
- package/dist/formats/bnk/core/nodeBase.js +553 -553
- package/dist/formats/bnk/core/sfxNodes.js +632 -632
- package/dist/formats/bnk/core/soundbanksInfo.js +209 -209
- package/dist/formats/bnk/index.js +2 -2
- package/dist/formats/cmf/CjsCmfFormat.js +497 -497
- package/dist/formats/cmf/core/binary.js +194 -194
- package/dist/formats/cmf/core/buffers.js +237 -237
- package/dist/formats/cmf/core/constants.js +47 -47
- package/dist/formats/cmf/core/gr2Anim.js +453 -453
- package/dist/formats/cmf/core/helpers.js +318 -318
- package/dist/formats/cmf/core/pack.js +276 -276
- package/dist/formats/cmf/core/schema.js +374 -374
- package/dist/formats/cmf/core/shared.js +277 -277
- package/dist/formats/cmf/core/writer.js +571 -571
- package/dist/formats/cmf/index.js +2 -2
- package/dist/formats/dds/CjsDdsFormat.js +200 -200
- package/dist/formats/dds/core/bc6h.js +298 -298
- package/dist/formats/dds/core/bc7.js +272 -272
- package/dist/formats/dds/core/helpers.js +901 -862
- package/dist/formats/dds/core/helpers.js.map +1 -1
- package/dist/formats/dds/index.js +2 -2
- package/dist/formats/dxbc/CjsDxbcFormat.js +187 -142
- package/dist/formats/dxbc/CjsDxbcFormat.js.map +1 -1
- package/dist/formats/dxbc/core/DxbcReader.js +266 -266
- package/dist/formats/dxbc/core/container.js +169 -169
- package/dist/formats/dxbc/core/decoder.js +789 -789
- package/dist/formats/dxbc/core/disassemble.js +240 -0
- package/dist/formats/dxbc/core/disassemble.js.map +1 -0
- package/dist/formats/dxbc/core/errors.js +19 -19
- package/dist/formats/dxbc/core/helpers.js +220 -220
- package/dist/formats/dxbc/core/opcodes.js +45 -45
- package/dist/formats/dxbc/core/program.js +91 -91
- package/dist/formats/dxbc/core/signature.js +172 -172
- package/dist/formats/dxbc/index.js +2 -2
- package/dist/formats/fbx/CjsFbxFormat.js +266 -266
- package/dist/formats/fbx/core/helpers.js +3932 -3932
- package/dist/formats/fbx/index.js +2 -2
- package/dist/formats/flac/CjsFlacFormat.js +142 -142
- package/dist/formats/flac/core/helpers.js +315 -315
- package/dist/formats/flac/index.js +2 -2
- package/dist/formats/gif/CjsGifFormat.js +141 -141
- package/dist/formats/gif/core/helpers.js +380 -380
- package/dist/formats/gif/index.js +2 -2
- package/dist/formats/gltf/CjsGltfFormat.js +252 -290
- package/dist/formats/gltf/CjsGltfFormat.js.map +1 -1
- package/dist/formats/gltf/core/helpers.js +287 -307
- package/dist/formats/gltf/core/helpers.js.map +1 -1
- package/dist/formats/gltf/core/json.js +79 -79
- package/dist/formats/gltf/core/parser.js +679 -679
- package/dist/formats/gltf/core/targets.js +173 -173
- package/dist/formats/gltf/index.js +2 -2
- package/dist/formats/gr2/CjsGr2Format.js +289 -289
- package/dist/formats/gr2/core/bitknit2.js +282 -282
- package/dist/formats/gr2/core/curves.js +1047 -1047
- package/dist/formats/gr2/core/gsf.js +72 -72
- package/dist/formats/gr2/core/helpers.js +352 -352
- package/dist/formats/gr2/core/json.js +622 -622
- package/dist/formats/gr2/core/oodle1.js +388 -388
- package/dist/formats/gr2/core/tangents.js +48 -48
- package/dist/formats/gr2/core/targets.js +361 -361
- package/dist/formats/gr2/index.js +2 -2
- package/dist/formats/hlsl/CjsHlslFormat.js +233 -254
- package/dist/formats/hlsl/CjsHlslFormat.js.map +1 -1
- package/dist/formats/hlsl/core/HlslBinaryUtils.js +15 -15
- package/dist/formats/hlsl/core/HlslEffectReadError.js +19 -19
- package/dist/formats/hlsl/core/HlslEffectStateManager.js +130 -130
- package/dist/formats/hlsl/core/HlslRenderStateSetup.js +37 -37
- package/dist/formats/hlsl/core/HlslResourceSetDescription.js +94 -94
- package/dist/formats/hlsl/core/HlslShaderBytecode.js +44 -44
- package/dist/formats/hlsl/core/analysis.js +51 -51
- package/dist/formats/hlsl/core/carbonDescriptionToRuntime.js +850 -850
- package/dist/formats/hlsl/core/detailMapFamily.js +128 -128
- package/dist/formats/hlsl/core/helpers.js +270 -270
- package/dist/formats/hlsl/core/json.js +284 -284
- package/dist/formats/hlsl/core/localLightFamily.js +133 -133
- package/dist/formats/hlsl/core/metadata.js +327 -327
- package/dist/formats/hlsl/core/render-states.js +280 -280
- package/dist/formats/hlsl/core/tr2/HlslRenderContextEnum.js +43 -43
- package/dist/formats/hlsl/core/tr2/resources/HlslEffectRes.js +320 -320
- package/dist/formats/hlsl/core/tr2/resources/HlslShaderPermutation.js +33 -33
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectBindingManifest.js +423 -416
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectBindingManifest.js.map +1 -1
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectConstant.js +40 -40
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectDescription.js +62 -62
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectLibrary.js +52 -52
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectParameterAnnotation.js +38 -38
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectResource.js +50 -50
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js +86 -86
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectTechnique.js +31 -31
- package/dist/formats/hlsl/core/tr2/shader/HlslPass.js +42 -42
- package/dist/formats/hlsl/core/tr2/shader/HlslSamplerDescription.js +55 -55
- package/dist/formats/hlsl/core/tr2/shader/HlslSamplerSetup.js +29 -29
- package/dist/formats/hlsl/core/tr2/shader/HlslShader.js +220 -220
- package/dist/formats/hlsl/core/tr2/shader/HlslShaderOption.js +30 -30
- package/dist/formats/hlsl/index.js +3 -3
- package/dist/formats/index.js +33 -33
- package/dist/formats/jpeg/CjsJpegFormat.js +212 -212
- package/dist/formats/jpeg/core/helpers.js +402 -402
- package/dist/formats/jpeg/core/jpeg.js +480 -480
- package/dist/formats/jpeg/index.js +2 -2
- package/dist/formats/mp3/CjsMp3Format.js +197 -197
- package/dist/formats/mp3/core/helpers.js +375 -375
- package/dist/formats/mp3/index.js +2 -2
- package/dist/formats/mp4/CjsMp4Format.js +197 -197
- package/dist/formats/mp4/core/helpers.js +484 -484
- package/dist/formats/mp4/index.js +2 -2
- package/dist/formats/obj/CjsObjFormat.js +232 -253
- package/dist/formats/obj/CjsObjFormat.js.map +1 -1
- package/dist/formats/obj/core/helpers.js +553 -573
- package/dist/formats/obj/core/helpers.js.map +1 -1
- package/dist/formats/obj/core/json.js +64 -64
- package/dist/formats/obj/core/parser.js +321 -321
- package/dist/formats/obj/index.js +2 -2
- package/dist/formats/ogg/CjsOggFormat.js +143 -143
- package/dist/formats/ogg/core/helpers.js +410 -410
- package/dist/formats/ogg/core/imdct.js +178 -178
- package/dist/formats/ogg/core/vorbis.js +1017 -1017
- package/dist/formats/ogg/index.js +2 -2
- package/dist/formats/pickle/CjsPickleFormat.js +214 -214
- package/dist/formats/pickle/core/CjsPickleProtocol0Reader.js +551 -551
- package/dist/formats/pickle/index.js +2 -2
- package/dist/formats/png/CjsPngFormat.js +201 -201
- package/dist/formats/png/core/helpers.js +635 -635
- package/dist/formats/png/index.js +2 -2
- package/dist/formats/red/CjsRedFormat.js +263 -263
- package/dist/formats/red/core/CjsRedReader.js +246 -246
- package/dist/formats/red/core/blackDefinitions.js +3 -3
- package/dist/formats/red/core/helpers.js +158 -158
- package/dist/formats/red/core/redGraph.js +71 -71
- package/dist/formats/red/core/schema.js +4 -4
- package/dist/formats/red/index.js +2 -2
- package/dist/formats/stl/CjsStlFormat.js +320 -365
- package/dist/formats/stl/CjsStlFormat.js.map +1 -1
- package/dist/formats/stl/core/helpers.js +241 -261
- package/dist/formats/stl/core/helpers.js.map +1 -1
- package/dist/formats/stl/core/json.js +51 -51
- package/dist/formats/stl/core/stl.js +642 -642
- package/dist/formats/stl/core/targets.js +173 -173
- package/dist/formats/stl/index.js +2 -2
- package/dist/formats/tga/CjsTgaFormat.js +197 -197
- package/dist/formats/tga/core/helpers.js +493 -493
- package/dist/formats/tga/index.js +2 -2
- package/dist/formats/wav/CjsWavFormat.js +198 -198
- package/dist/formats/wav/core/helpers.js +365 -365
- package/dist/formats/wav/index.js +2 -2
- package/dist/formats/webgl/CjsWebglFormat.js +199 -199
- package/dist/formats/webgl/core/buildGlslEffectContainer.js +70 -70
- package/dist/formats/webgl/core/effectPackage.js +900 -900
- package/dist/formats/webgl/core/errors.js +27 -27
- package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js +2820 -2820
- package/dist/formats/webgl/core/glsl/DxbcGlslHelpers.js +89 -89
- package/dist/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +486 -486
- package/dist/formats/webgl/core/glsl/packedLightFixups.js +98 -98
- package/dist/formats/webgl/core/glslBackendBlock.js +552 -552
- package/dist/formats/webgl/core/glslBackendBodySet.js +243 -243
- package/dist/formats/webgl/core/glslEffectCompleteness.js +85 -85
- package/dist/formats/webgl/core/glslEffectCompleteness.js.map +1 -1
- package/dist/formats/webgl/core/helpers.js +167 -167
- package/dist/formats/webgl/core/inspectGlslEffectContainer.js +122 -122
- package/dist/formats/webgl/core/readGlslEffectContainer.js +202 -256
- package/dist/formats/webgl/core/readGlslEffectContainer.js.map +1 -1
- package/dist/formats/webgl/index.js +2 -2
- package/dist/formats/webgpu/CjsWebgpuFormat.js +357 -357
- package/dist/formats/webgpu/core/buildCarbonEffectContainer.js +89 -89
- package/dist/formats/webgpu/core/carbonWebgpu/CarbonWebgpuContainer.js +354 -354
- package/dist/formats/webgpu/core/carbonWebgpu/containerViews.js +355 -355
- package/dist/formats/webgpu/core/carbonWebgpu/validateContainer.js +90 -90
- package/dist/formats/webgpu/core/effectAnalysis.js +82 -82
- package/dist/formats/webgpu/core/effectBackendBodySet.js +306 -306
- package/dist/formats/webgpu/core/errors.js +20 -20
- package/dist/formats/webgpu/core/helpers.js +443 -443
- package/dist/formats/webgpu/core/ir/analyzeRegisterValues.js +212 -212
- package/dist/formats/webgpu/core/ir/buildControlFlow.js +220 -220
- package/dist/formats/webgpu/core/ir/indexableTemps.js +137 -137
- package/dist/formats/webgpu/core/ir/inferValueTypes.js +449 -449
- package/dist/formats/webgpu/core/ir/lowerDxbcToIr.js +494 -494
- package/dist/formats/webgpu/core/ir/resolveRegisterFlow.js +177 -177
- package/dist/formats/webgpu/core/ir/sourceLanes.js +61 -61
- package/dist/formats/webgpu/core/packageEffect.js +381 -381
- package/dist/formats/webgpu/core/packageEffectSelection.js +164 -164
- package/dist/formats/webgpu/core/packageMetadata.js +17 -17
- package/dist/formats/webgpu/core/schema.js +4 -4
- package/dist/formats/webgpu/core/wgsl/buildResourceTransformPlan.js +263 -263
- package/dist/formats/webgpu/core/wgsl/buildWgslBindingPlan.js +172 -172
- package/dist/formats/webgpu/core/wgsl/buildWgslSet.js +325 -325
- package/dist/formats/webgpu/core/wgsl/emitWgsl.js +356 -356
- package/dist/formats/webgpu/core/wgsl/hoistEscapingValues.js +77 -77
- package/dist/formats/webgpu/core/wgsl/lowerBindingLayout.js +451 -451
- package/dist/formats/webgpu/core/wgsl/lowerComputeProgram.js +735 -735
- package/dist/formats/webgpu/core/wgsl/lowerCreateHistogramsComputeProgram.js +457 -457
- package/dist/formats/webgpu/core/wgsl/lowerFragmentProgram.js +1572 -1572
- package/dist/formats/webgpu/core/wgsl/lowerMergeHistogramsComputeProgram.js +659 -659
- package/dist/formats/webgpu/core/wgsl/lowerParticleClearComputePrograms.js +734 -734
- package/dist/formats/webgpu/core/wgsl/lowerParticleEmitComputeProgram.js +583 -583
- package/dist/formats/webgpu/core/wgsl/lowerSkinVerticesComputeProgram.js +621 -621
- package/dist/formats/webgpu/core/wgsl/lowerSortComputeProgram.js +824 -824
- package/dist/formats/webgpu/core/wgsl/lowerSortInnerComputeProgram.js +697 -697
- package/dist/formats/webgpu/core/wgsl/lowerSortStepComputeProgram.js +559 -559
- package/dist/formats/webgpu/core/wgsl/lowerVertexProgram.js +1328 -1328
- package/dist/formats/webgpu/core/wgsl/particleEmitSemanticDigest.js +110 -110
- package/dist/formats/webgpu/core/wgsl/precisionControls.js +55 -55
- package/dist/formats/webgpu/core/wgsl/selectionPlans.js +717 -717
- package/dist/formats/webgpu/core/wgsl/uniformity.js +78 -78
- package/dist/formats/webgpu/core/wgsl/validateExactComputeIr.js +196 -196
- package/dist/formats/webgpu/core/wgsl/validateHandleOperand.js +37 -37
- package/dist/formats/webgpu/index.js +2 -2
- package/dist/formats/webm/CjsWebmFormat.js +197 -197
- package/dist/formats/webm/core/helpers.js +572 -572
- package/dist/formats/webm/index.js +2 -2
- package/dist/formats/webp/CjsWebpFormat.js +140 -140
- package/dist/formats/webp/core/helpers.js +237 -237
- package/dist/formats/webp/index.js +2 -2
- package/dist/formats/wem/CjsWemFormat.js +250 -250
- package/dist/formats/wem/core/bitStream.js +261 -261
- package/dist/formats/wem/core/codebookLibrary.js +164 -164
- package/dist/formats/wem/core/helpers.js +437 -437
- package/dist/formats/wem/core/packedCodebooksAotuv603.js +30 -30
- package/dist/formats/wem/core/ptadpcm.js +77 -77
- package/dist/formats/wem/core/resolve.js +121 -121
- package/dist/formats/wem/core/wemToOgg.js +485 -485
- package/dist/formats/wem/index.js +2 -2
- package/dist/formats/yaml/CjsYamlFormat.js +134 -134
- package/dist/formats/yaml/core/CjsYamlReader.js +400 -400
- package/dist/formats/yaml/core/helpers.js +196 -196
- package/dist/formats/yaml/index.js +2 -2
- package/dist/index.js +64 -64
- package/dist/resource/CjsLoadingObject.js +19 -19
- package/dist/resource/CjsResource.js +801 -801
- package/dist/resource/ResourceHandlerMode.js +14 -14
- package/dist/resource/Tr2LightProfileRes.js +32 -32
- package/dist/resource/audio/AudioGeometryResData.js +47 -47
- package/dist/resource/audio/CjsAudioBufferRes.js +86 -86
- package/dist/resource/audio/CjsAudioRes.js +213 -213
- package/dist/resource/audio/index.js +4 -4
- package/dist/resource/geometry/MeshDecalData.js +37 -37
- package/dist/resource/geometry/MeshDecalLodData.js +34 -34
- package/dist/resource/geometry/TriGeometryRes.js +570 -467
- package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResAreaData.js +59 -59
- package/dist/resource/geometry/TriGeometryResJointData.js +38 -38
- package/dist/resource/geometry/TriGeometryResLodData.js +88 -88
- package/dist/resource/geometry/TriGeometryResMeshData.js +63 -63
- package/dist/resource/geometry/TriGeometryResSkeletonData.js +34 -34
- package/dist/resource/geometry/TriJointBinding.js +38 -38
- package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +46 -46
- package/dist/resource/geometry/TriRtGeometryConstants.js +88 -88
- package/dist/resource/geometry/granny/GStateBindingCallbackData.js +31 -31
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +60 -60
- package/dist/resource/geometry/granny/Tr2GrannyStateRes.js +36 -36
- package/dist/resource/geometry/granny/TriGrannyRes.js +35 -35
- package/dist/resource/geometry/granny/enums.js +10 -10
- package/dist/resource/geometry/granny/index.js +6 -6
- package/dist/resource/geometry/index.js +17 -17
- package/dist/resource/index.js +54 -54
- package/dist/resource/resourceBoundary.js +64 -64
- package/dist/resource/shader/Tr2EffectRes.js +336 -336
- package/dist/resource/shader/Tr2MaterialArea.js +31 -31
- package/dist/resource/shader/Tr2MaterialMesh.js +27 -27
- package/dist/resource/shader/Tr2MaterialRes.js +31 -31
- package/dist/resource/shader/Tr2Shader.js +283 -283
- package/dist/resource/shader/Tr2ShaderPermutation.js +43 -43
- package/dist/resource/shader/index.js +17 -17
- package/dist/resource/shader/reflection/Tr2EffectConstant.js +143 -143
- package/dist/resource/shader/reflection/Tr2EffectDefine.js +30 -30
- package/dist/resource/shader/reflection/Tr2EffectDescription.js +114 -114
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js +168 -168
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +125 -125
- package/dist/resource/shader/reflection/Tr2EffectResource.js +120 -120
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js +372 -372
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js +78 -78
- package/dist/resource/shader/reflection/Tr2Pass.js +168 -168
- package/dist/resource/shader/reflection/carbonRecordFields.js +159 -159
- package/dist/resource/shader/reflection/shaderStage.js +22 -22
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js +135 -135
- package/dist/resource/texture/CjsTextureArrayRes.js +472 -472
- package/dist/resource/texture/CjsTextureArrayResParameterProxy.js +179 -179
- package/dist/resource/texture/Tr2ImageRes.js +120 -120
- package/dist/resource/texture/Tr2TextureLodManager.js +82 -82
- package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +37 -37
- package/dist/resource/texture/Tr2TexturePackChannel.js +37 -37
- package/dist/resource/texture/Tr2TexturePipeline.js +54 -54
- package/dist/resource/texture/Tr2TexturePipelineParams.js +34 -34
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +40 -40
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +22 -22
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +34 -34
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +31 -31
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js +43 -43
- package/dist/resource/texture/TriTextureRes.js +359 -359
- package/dist/resource/texture/index.js +15 -15
- package/dist/resource/texture/texturePipelineBehavior.js +308 -308
- package/dist/worker/CjsResManMainThreadLoader.js +89 -89
- package/dist/worker/CjsResManWorker.js +218 -218
- package/dist/worker/CjsResManWorkerLoader.js +437 -437
- package/dist/worker/protocol.js +12 -12
- package/docs/README.md +98 -98
- package/docs/architecture.md +118 -118
- package/docs/concepts/resource-lifecycle.md +226 -226
- package/docs/concepts/shader-resource-model.md +111 -111
- package/docs/concepts/writing-an-engine-adapter.md +115 -115
- package/docs/formats/README.md +138 -138
- package/docs/formats/carbon-effect-container.md +553 -553
- package/docs/formats/dxbc/README.md +68 -68
- package/docs/formats/dxbc/architecture.md +80 -80
- package/docs/formats/dxbc/reference/api.md +105 -77
- package/docs/formats/dxbc/reference/classes/README.md +9 -9
- package/docs/formats/dxbc/reference/decoded-output.md +122 -122
- package/docs/formats/gr2.md +160 -160
- package/docs/formats/hlsl/README.md +54 -54
- package/docs/formats/hlsl/architecture.md +66 -65
- package/docs/formats/hlsl/guides/hydrating-json-output.md +60 -60
- package/docs/formats/hlsl/guides/reading-effects.md +68 -64
- package/docs/formats/hlsl/reference/advanced-analysis.md +61 -61
- package/docs/formats/hlsl/reference/api.md +91 -92
- package/docs/formats/hlsl/reference/classes/README.md +11 -11
- package/docs/formats/hlsl/reference/json-graph.md +97 -97
- package/docs/formats/pickle.md +82 -82
- package/docs/formats/provenance.md +196 -196
- package/docs/formats/stl.md +37 -37
- package/docs/formats/webgl/README.md +115 -115
- package/docs/formats/webgl/architecture.md +69 -69
- package/docs/formats/webgl/carbon-constant-layouts.md +326 -326
- package/docs/formats/webgl/decl-io.md +1234 -1234
- package/docs/formats/webgl/memory-structured.md +890 -890
- package/docs/formats/webgl/reference/classes/README.md +9 -9
- package/docs/formats/webgl/texture-sample.md +964 -964
- package/docs/formats/webgpu/README.md +84 -84
- package/docs/formats/webgpu/architecture.md +95 -95
- package/docs/formats/webgpu/formats/carbon-webgpu.md +215 -215
- package/docs/formats/webgpu/guides/effect-packaging.md +189 -189
- package/docs/formats/webgpu/reference/api.md +196 -196
- package/docs/formats/webgpu/reference/classes/README.md +9 -9
- package/docs/formats/webgpu/reference/wgsl-compatibility.md +1546 -1546
- package/docs/formats/wwise.md +146 -146
- package/docs/reference/classes/README.md +35 -35
- package/docs/reference/classes/audio.md +30 -30
- package/docs/reference/classes/core.md +216 -216
- package/docs/reference/classes/dropped.md +46 -46
- package/docs/reference/classes/formats.md +944 -944
- package/docs/reference/classes/resources.md +456 -456
- package/docs/reference/classes/texture.md +26 -26
- package/docs/reference/events.md +117 -117
- package/docs/reference/motherlode-cache.md +275 -275
- package/docs/reference/queues.md +194 -194
- package/docs/reference/reload.md +107 -107
- package/docs/reference/texture-arrays.md +113 -113
- package/docs/reference/texture-pipeline.md +53 -53
- package/docs/reference/workers.md +142 -142
- package/docs/roadmap.md +150 -150
- package/format-notices/black/LICENSE +21 -21
- package/format-notices/black/NOTICE +47 -47
- package/format-notices/bnk/LICENSE +21 -21
- package/format-notices/bnk/NOTICE +21 -21
- package/format-notices/cmf/LICENSE +21 -21
- package/format-notices/cmf/NOTICE +36 -36
- package/format-notices/dds/LICENSE +21 -21
- package/format-notices/dds/NOTICE +14 -14
- package/format-notices/dxbc/LICENSE +21 -21
- package/format-notices/dxbc/NOTICE +20 -20
- package/format-notices/fbx/LICENSE +21 -21
- package/format-notices/fbx/NOTICE +14 -14
- package/format-notices/flac/LICENSE +21 -21
- package/format-notices/flac/NOTICE +14 -14
- package/format-notices/gif/LICENSE +21 -21
- package/format-notices/gif/NOTICE +14 -14
- package/format-notices/gltf/LICENSE +21 -21
- package/format-notices/gltf/NOTICE +27 -27
- package/format-notices/gr2/LICENSE +21 -21
- package/format-notices/gr2/NOTICE +60 -60
- package/format-notices/gr2/THIRD-PARTY-NOTICES.md +93 -93
- package/format-notices/hlsl/LICENSE +21 -21
- package/format-notices/hlsl/NOTICE +25 -25
- package/format-notices/jpeg/LICENSE +21 -21
- package/format-notices/jpeg/NOTICE +14 -14
- package/format-notices/mp3/LICENSE +21 -21
- package/format-notices/mp3/NOTICE +14 -14
- package/format-notices/mp4/LICENSE +21 -21
- package/format-notices/mp4/NOTICE +14 -14
- package/format-notices/obj/LICENSE +21 -21
- package/format-notices/obj/NOTICE +26 -26
- package/format-notices/ogg/LICENSE +21 -21
- package/format-notices/ogg/NOTICE +28 -28
- package/format-notices/png/LICENSE +21 -21
- package/format-notices/png/NOTICE +14 -14
- package/format-notices/red/LICENSE +21 -21
- package/format-notices/red/NOTICE +31 -31
- package/format-notices/stl/LICENSE +21 -21
- package/format-notices/stl/NOTICE +21 -21
- package/format-notices/tga/LICENSE +21 -21
- package/format-notices/tga/NOTICE +14 -14
- package/format-notices/wav/LICENSE +21 -21
- package/format-notices/wav/NOTICE +14 -14
- package/format-notices/webgl/LICENSE +21 -21
- package/format-notices/webgl/NOTICE +35 -35
- package/format-notices/webgpu/LICENSE +21 -21
- package/format-notices/webgpu/NOTICE +31 -31
- package/format-notices/webm/LICENSE +21 -21
- package/format-notices/webm/NOTICE +14 -14
- package/format-notices/webp/LICENSE +21 -21
- package/format-notices/webp/NOTICE +14 -14
- package/format-notices/wem/LICENSE +57 -57
- package/format-notices/wem/NOTICE +33 -33
- package/format-notices/yaml/LICENSE +21 -21
- package/format-notices/yaml/NOTICE +44 -44
- package/package.json +63 -63
|
@@ -1,260 +1,260 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Bounds-aware `DataView` cursor that provides the primitive reads and
|
|
3
|
-
* end-of-stream checks the Black transport decodes with.
|
|
4
|
-
*/
|
|
5
|
-
class CjsBlackBinaryReader {
|
|
6
|
-
/**
|
|
7
|
-
* Creates a CjsBlackBinaryReader over caller-provided Black bytes and reader
|
|
8
|
-
* options.
|
|
9
|
-
*/
|
|
10
|
-
constructor(dataView, context = null) {
|
|
11
|
-
if (!(dataView instanceof DataView)) {
|
|
12
|
-
throw new TypeError("CjsBlackBinaryReader expected a DataView");
|
|
13
|
-
}
|
|
14
|
-
this.data = dataView;
|
|
15
|
-
this.context = context;
|
|
16
|
-
this.offset = 0;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Returns the number of unread Black bytes for the Black object-graph
|
|
21
|
-
* reader.
|
|
22
|
-
*/
|
|
23
|
-
get remaining() {
|
|
24
|
-
return this.data.byteLength - this.offset;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Reports whether the Black cursor consumed every byte for the Black
|
|
29
|
-
* object-graph reader.
|
|
30
|
-
*/
|
|
31
|
-
AtEnd() {
|
|
32
|
-
return this.remaining === 0;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
/**
|
|
36
|
-
* Validates end against Black object-graph reader constraints and throws on
|
|
37
|
-
* failure.
|
|
38
|
-
*/
|
|
39
|
-
ExpectEnd(message = "Black reader did not reach end") {
|
|
40
|
-
if (!this.AtEnd()) {
|
|
41
|
-
throw new RangeError(`${message}: ${this.remaining} bytes remain`);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
/**
|
|
46
|
-
* Validates U32 against Black object-graph reader constraints and throws on
|
|
47
|
-
* failure.
|
|
48
|
-
*/
|
|
49
|
-
ExpectU32(expected, message) {
|
|
50
|
-
const actual = this.ReadU32();
|
|
51
|
-
if (actual !== expected) {
|
|
52
|
-
throw new RangeError(`${message}: expected ${expected}, got ${actual}`);
|
|
53
|
-
}
|
|
54
|
-
return actual;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/** Reads binary reader from the current Black object-graph reader. */
|
|
58
|
-
ReadBinaryReader(byteLength) {
|
|
59
|
-
return new CjsBlackBinaryReader(this.ReadDataView(byteLength), this.context);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
/** Reads bytes from the current Black object-graph reader. */
|
|
63
|
-
ReadBytes(byteLength) {
|
|
64
|
-
const view = this.ReadDataView(byteLength);
|
|
65
|
-
return new Uint8Array(view.buffer, view.byteOffset, view.byteLength);
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/** Reads C string from the current Black object-graph reader. */
|
|
69
|
-
ReadCString() {
|
|
70
|
-
const startOffset = this.offset;
|
|
71
|
-
while (this.ReadU8() !== 0) {
|
|
72
|
-
// Scan to null terminator.
|
|
73
|
-
}
|
|
74
|
-
const byteOffset = this.data.byteOffset + startOffset;
|
|
75
|
-
const byteLength = this.offset - startOffset - 1;
|
|
76
|
-
const bytes = new Uint8Array(this.data.buffer, byteOffset, byteLength);
|
|
77
|
-
return CjsBlackBinaryReader.utf8Decoder.decode(bytes);
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
/** Reads CW string from the current Black object-graph reader. */
|
|
81
|
-
ReadCWString() {
|
|
82
|
-
const startOffset = this.offset;
|
|
83
|
-
while (this.ReadU16() !== 0) {
|
|
84
|
-
// Scan to UTF-16 null terminator.
|
|
85
|
-
}
|
|
86
|
-
const byteOffset = this.data.byteOffset + startOffset;
|
|
87
|
-
const byteLength = this.offset - startOffset - 2;
|
|
88
|
-
const bytes = new Uint8Array(this.data.buffer, byteOffset, byteLength);
|
|
89
|
-
return CjsBlackBinaryReader.utf16Decoder.decode(bytes);
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
/** Reads data view from the current Black object-graph reader. */
|
|
93
|
-
ReadDataView(byteLength) {
|
|
94
|
-
if (!Number.isInteger(byteLength) || byteLength < 0) {
|
|
95
|
-
throw new RangeError(`Invalid Black byte length: ${String(byteLength)}`);
|
|
96
|
-
}
|
|
97
|
-
if (this.remaining < byteLength) {
|
|
98
|
-
throw new RangeError(`Black reader needs ${byteLength} bytes but only ${this.remaining} remain`);
|
|
99
|
-
}
|
|
100
|
-
const result = new DataView(this.data.buffer, this.data.byteOffset + this.offset, byteLength);
|
|
101
|
-
this.offset += byteLength;
|
|
102
|
-
return result;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Reads a 32-bit float from the Black cursor for the Black object-graph
|
|
107
|
-
* reader.
|
|
108
|
-
*/
|
|
109
|
-
ReadF32() {
|
|
110
|
-
const value = this.data.getFloat32(this.offset, true);
|
|
111
|
-
this.offset += 4;
|
|
112
|
-
return value;
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Reads a 64-bit float from the Black cursor for the Black object-graph
|
|
117
|
-
* reader.
|
|
118
|
-
*/
|
|
119
|
-
ReadF64() {
|
|
120
|
-
const value = this.data.getFloat64(this.offset, true);
|
|
121
|
-
this.offset += 8;
|
|
122
|
-
return value;
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
/**
|
|
126
|
-
* Reads a signed 8-bit integer from the Black cursor for the Black
|
|
127
|
-
* object-graph reader.
|
|
128
|
-
*/
|
|
129
|
-
ReadI8() {
|
|
130
|
-
const value = this.data.getInt8(this.offset);
|
|
131
|
-
this.offset += 1;
|
|
132
|
-
return value;
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
/**
|
|
136
|
-
* Reads a signed 16-bit integer from the Black cursor for the Black
|
|
137
|
-
* object-graph reader.
|
|
138
|
-
*/
|
|
139
|
-
ReadI16() {
|
|
140
|
-
const value = this.data.getInt16(this.offset, true);
|
|
141
|
-
this.offset += 2;
|
|
142
|
-
return value;
|
|
143
|
-
}
|
|
144
|
-
|
|
145
|
-
/**
|
|
146
|
-
* Reads a signed 32-bit integer from the Black cursor for the Black
|
|
147
|
-
* object-graph reader.
|
|
148
|
-
*/
|
|
149
|
-
ReadI32() {
|
|
150
|
-
const value = this.data.getInt32(this.offset, true);
|
|
151
|
-
this.offset += 4;
|
|
152
|
-
return value;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
/**
|
|
156
|
-
* Reads a signed 64-bit integer from the Black cursor for the Black
|
|
157
|
-
* object-graph reader.
|
|
158
|
-
*/
|
|
159
|
-
ReadI64() {
|
|
160
|
-
return this.data.getBigInt64(this.ConsumeOffset(8), true);
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
/**
|
|
164
|
-
* Resolves a narrow-string table index from the Black cursor for the Black
|
|
165
|
-
* object-graph reader.
|
|
166
|
-
*/
|
|
167
|
-
ReadStringRef() {
|
|
168
|
-
const index = this.ReadU16();
|
|
169
|
-
const strings = this.context?.info?.strings || [];
|
|
170
|
-
if (index >= strings.length) {
|
|
171
|
-
throw new RangeError(`Invalid Black string index: ${index}`);
|
|
172
|
-
}
|
|
173
|
-
return strings[index];
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
/** Reads wide string ref from the current Black object-graph reader. */
|
|
177
|
-
ReadWideStringRef() {
|
|
178
|
-
const index = this.ReadU16();
|
|
179
|
-
const strings = this.context?.info?.wideStrings || [];
|
|
180
|
-
if (index >= strings.length) {
|
|
181
|
-
throw new RangeError(`Invalid Black wide string index: ${index}`);
|
|
182
|
-
}
|
|
183
|
-
return strings[index];
|
|
184
|
-
}
|
|
185
|
-
|
|
186
|
-
/**
|
|
187
|
-
* Reads an unsigned 8-bit integer from the Black cursor for the Black
|
|
188
|
-
* object-graph reader.
|
|
189
|
-
*/
|
|
190
|
-
ReadU8() {
|
|
191
|
-
const value = this.data.getUint8(this.offset);
|
|
192
|
-
this.offset += 1;
|
|
193
|
-
return value;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
/**
|
|
197
|
-
* Reads an unsigned 16-bit integer from the Black cursor for the Black
|
|
198
|
-
* object-graph reader.
|
|
199
|
-
*/
|
|
200
|
-
ReadU16() {
|
|
201
|
-
const value = this.data.getUint16(this.offset, true);
|
|
202
|
-
this.offset += 2;
|
|
203
|
-
return value;
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
/**
|
|
207
|
-
* Reads an unsigned 32-bit integer from the Black cursor for the Black
|
|
208
|
-
* object-graph reader.
|
|
209
|
-
*/
|
|
210
|
-
ReadU32() {
|
|
211
|
-
const value = this.data.getUint32(this.offset, true);
|
|
212
|
-
this.offset += 4;
|
|
213
|
-
return value;
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
/**
|
|
217
|
-
* Reads an unsigned 64-bit integer from the Black cursor for the Black
|
|
218
|
-
* object-graph reader.
|
|
219
|
-
*/
|
|
220
|
-
ReadU64() {
|
|
221
|
-
return this.data.getBigUint64(this.ConsumeOffset(8), true);
|
|
222
|
-
}
|
|
223
|
-
|
|
224
|
-
/**
|
|
225
|
-
* Advances the Black cursor by a validated byte count for the Black
|
|
226
|
-
* object-graph reader.
|
|
227
|
-
*/
|
|
228
|
-
Skip(byteLength) {
|
|
229
|
-
this.ReadDataView(byteLength);
|
|
230
|
-
}
|
|
231
|
-
|
|
232
|
-
/** Consumes offset from the current Black object-graph reader. */
|
|
233
|
-
ConsumeOffset(byteLength) {
|
|
234
|
-
if (this.remaining < byteLength) {
|
|
235
|
-
throw new RangeError(`Black reader needs ${byteLength} bytes but only ${this.remaining} remain`);
|
|
236
|
-
}
|
|
237
|
-
const offset = this.offset;
|
|
238
|
-
this.offset += byteLength;
|
|
239
|
-
return offset;
|
|
240
|
-
}
|
|
241
|
-
|
|
242
|
-
/**
|
|
243
|
-
* Creates a bounded Black reader over supported binary input for the Black
|
|
244
|
-
* object-graph reader.
|
|
245
|
-
*/
|
|
246
|
-
static from(input, context = null) {
|
|
247
|
-
if (input instanceof CjsBlackBinaryReader) return input;
|
|
248
|
-
if (input instanceof DataView) return new CjsBlackBinaryReader(input, context);
|
|
249
|
-
if (input instanceof ArrayBuffer) return new CjsBlackBinaryReader(new DataView(input), context);
|
|
250
|
-
if (ArrayBuffer.isView(input)) {
|
|
251
|
-
return new CjsBlackBinaryReader(new DataView(input.buffer, input.byteOffset, input.byteLength), context);
|
|
252
|
-
}
|
|
253
|
-
throw new TypeError("Black input must be an ArrayBuffer, DataView, or typed array");
|
|
254
|
-
}
|
|
255
|
-
static utf8Decoder = new TextDecoder("utf-8");
|
|
256
|
-
static utf16Decoder = new TextDecoder("utf-16le");
|
|
257
|
-
}
|
|
258
|
-
|
|
259
|
-
export { CjsBlackBinaryReader };
|
|
260
|
-
//# sourceMappingURL=CjsBlackBinaryReader.js.map
|
|
1
|
+
/**
|
|
2
|
+
* Bounds-aware `DataView` cursor that provides the primitive reads and
|
|
3
|
+
* end-of-stream checks the Black transport decodes with.
|
|
4
|
+
*/
|
|
5
|
+
class CjsBlackBinaryReader {
|
|
6
|
+
/**
|
|
7
|
+
* Creates a CjsBlackBinaryReader over caller-provided Black bytes and reader
|
|
8
|
+
* options.
|
|
9
|
+
*/
|
|
10
|
+
constructor(dataView, context = null) {
|
|
11
|
+
if (!(dataView instanceof DataView)) {
|
|
12
|
+
throw new TypeError("CjsBlackBinaryReader expected a DataView");
|
|
13
|
+
}
|
|
14
|
+
this.data = dataView;
|
|
15
|
+
this.context = context;
|
|
16
|
+
this.offset = 0;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Returns the number of unread Black bytes for the Black object-graph
|
|
21
|
+
* reader.
|
|
22
|
+
*/
|
|
23
|
+
get remaining() {
|
|
24
|
+
return this.data.byteLength - this.offset;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Reports whether the Black cursor consumed every byte for the Black
|
|
29
|
+
* object-graph reader.
|
|
30
|
+
*/
|
|
31
|
+
AtEnd() {
|
|
32
|
+
return this.remaining === 0;
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* Validates end against Black object-graph reader constraints and throws on
|
|
37
|
+
* failure.
|
|
38
|
+
*/
|
|
39
|
+
ExpectEnd(message = "Black reader did not reach end") {
|
|
40
|
+
if (!this.AtEnd()) {
|
|
41
|
+
throw new RangeError(`${message}: ${this.remaining} bytes remain`);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* Validates U32 against Black object-graph reader constraints and throws on
|
|
47
|
+
* failure.
|
|
48
|
+
*/
|
|
49
|
+
ExpectU32(expected, message) {
|
|
50
|
+
const actual = this.ReadU32();
|
|
51
|
+
if (actual !== expected) {
|
|
52
|
+
throw new RangeError(`${message}: expected ${expected}, got ${actual}`);
|
|
53
|
+
}
|
|
54
|
+
return actual;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/** Reads binary reader from the current Black object-graph reader. */
|
|
58
|
+
ReadBinaryReader(byteLength) {
|
|
59
|
+
return new CjsBlackBinaryReader(this.ReadDataView(byteLength), this.context);
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/** Reads bytes from the current Black object-graph reader. */
|
|
63
|
+
ReadBytes(byteLength) {
|
|
64
|
+
const view = this.ReadDataView(byteLength);
|
|
65
|
+
return new Uint8Array(view.buffer, view.byteOffset, view.byteLength);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/** Reads C string from the current Black object-graph reader. */
|
|
69
|
+
ReadCString() {
|
|
70
|
+
const startOffset = this.offset;
|
|
71
|
+
while (this.ReadU8() !== 0) {
|
|
72
|
+
// Scan to null terminator.
|
|
73
|
+
}
|
|
74
|
+
const byteOffset = this.data.byteOffset + startOffset;
|
|
75
|
+
const byteLength = this.offset - startOffset - 1;
|
|
76
|
+
const bytes = new Uint8Array(this.data.buffer, byteOffset, byteLength);
|
|
77
|
+
return CjsBlackBinaryReader.utf8Decoder.decode(bytes);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/** Reads CW string from the current Black object-graph reader. */
|
|
81
|
+
ReadCWString() {
|
|
82
|
+
const startOffset = this.offset;
|
|
83
|
+
while (this.ReadU16() !== 0) {
|
|
84
|
+
// Scan to UTF-16 null terminator.
|
|
85
|
+
}
|
|
86
|
+
const byteOffset = this.data.byteOffset + startOffset;
|
|
87
|
+
const byteLength = this.offset - startOffset - 2;
|
|
88
|
+
const bytes = new Uint8Array(this.data.buffer, byteOffset, byteLength);
|
|
89
|
+
return CjsBlackBinaryReader.utf16Decoder.decode(bytes);
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/** Reads data view from the current Black object-graph reader. */
|
|
93
|
+
ReadDataView(byteLength) {
|
|
94
|
+
if (!Number.isInteger(byteLength) || byteLength < 0) {
|
|
95
|
+
throw new RangeError(`Invalid Black byte length: ${String(byteLength)}`);
|
|
96
|
+
}
|
|
97
|
+
if (this.remaining < byteLength) {
|
|
98
|
+
throw new RangeError(`Black reader needs ${byteLength} bytes but only ${this.remaining} remain`);
|
|
99
|
+
}
|
|
100
|
+
const result = new DataView(this.data.buffer, this.data.byteOffset + this.offset, byteLength);
|
|
101
|
+
this.offset += byteLength;
|
|
102
|
+
return result;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Reads a 32-bit float from the Black cursor for the Black object-graph
|
|
107
|
+
* reader.
|
|
108
|
+
*/
|
|
109
|
+
ReadF32() {
|
|
110
|
+
const value = this.data.getFloat32(this.offset, true);
|
|
111
|
+
this.offset += 4;
|
|
112
|
+
return value;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Reads a 64-bit float from the Black cursor for the Black object-graph
|
|
117
|
+
* reader.
|
|
118
|
+
*/
|
|
119
|
+
ReadF64() {
|
|
120
|
+
const value = this.data.getFloat64(this.offset, true);
|
|
121
|
+
this.offset += 8;
|
|
122
|
+
return value;
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Reads a signed 8-bit integer from the Black cursor for the Black
|
|
127
|
+
* object-graph reader.
|
|
128
|
+
*/
|
|
129
|
+
ReadI8() {
|
|
130
|
+
const value = this.data.getInt8(this.offset);
|
|
131
|
+
this.offset += 1;
|
|
132
|
+
return value;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Reads a signed 16-bit integer from the Black cursor for the Black
|
|
137
|
+
* object-graph reader.
|
|
138
|
+
*/
|
|
139
|
+
ReadI16() {
|
|
140
|
+
const value = this.data.getInt16(this.offset, true);
|
|
141
|
+
this.offset += 2;
|
|
142
|
+
return value;
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Reads a signed 32-bit integer from the Black cursor for the Black
|
|
147
|
+
* object-graph reader.
|
|
148
|
+
*/
|
|
149
|
+
ReadI32() {
|
|
150
|
+
const value = this.data.getInt32(this.offset, true);
|
|
151
|
+
this.offset += 4;
|
|
152
|
+
return value;
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
/**
|
|
156
|
+
* Reads a signed 64-bit integer from the Black cursor for the Black
|
|
157
|
+
* object-graph reader.
|
|
158
|
+
*/
|
|
159
|
+
ReadI64() {
|
|
160
|
+
return this.data.getBigInt64(this.ConsumeOffset(8), true);
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Resolves a narrow-string table index from the Black cursor for the Black
|
|
165
|
+
* object-graph reader.
|
|
166
|
+
*/
|
|
167
|
+
ReadStringRef() {
|
|
168
|
+
const index = this.ReadU16();
|
|
169
|
+
const strings = this.context?.info?.strings || [];
|
|
170
|
+
if (index >= strings.length) {
|
|
171
|
+
throw new RangeError(`Invalid Black string index: ${index}`);
|
|
172
|
+
}
|
|
173
|
+
return strings[index];
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/** Reads wide string ref from the current Black object-graph reader. */
|
|
177
|
+
ReadWideStringRef() {
|
|
178
|
+
const index = this.ReadU16();
|
|
179
|
+
const strings = this.context?.info?.wideStrings || [];
|
|
180
|
+
if (index >= strings.length) {
|
|
181
|
+
throw new RangeError(`Invalid Black wide string index: ${index}`);
|
|
182
|
+
}
|
|
183
|
+
return strings[index];
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Reads an unsigned 8-bit integer from the Black cursor for the Black
|
|
188
|
+
* object-graph reader.
|
|
189
|
+
*/
|
|
190
|
+
ReadU8() {
|
|
191
|
+
const value = this.data.getUint8(this.offset);
|
|
192
|
+
this.offset += 1;
|
|
193
|
+
return value;
|
|
194
|
+
}
|
|
195
|
+
|
|
196
|
+
/**
|
|
197
|
+
* Reads an unsigned 16-bit integer from the Black cursor for the Black
|
|
198
|
+
* object-graph reader.
|
|
199
|
+
*/
|
|
200
|
+
ReadU16() {
|
|
201
|
+
const value = this.data.getUint16(this.offset, true);
|
|
202
|
+
this.offset += 2;
|
|
203
|
+
return value;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/**
|
|
207
|
+
* Reads an unsigned 32-bit integer from the Black cursor for the Black
|
|
208
|
+
* object-graph reader.
|
|
209
|
+
*/
|
|
210
|
+
ReadU32() {
|
|
211
|
+
const value = this.data.getUint32(this.offset, true);
|
|
212
|
+
this.offset += 4;
|
|
213
|
+
return value;
|
|
214
|
+
}
|
|
215
|
+
|
|
216
|
+
/**
|
|
217
|
+
* Reads an unsigned 64-bit integer from the Black cursor for the Black
|
|
218
|
+
* object-graph reader.
|
|
219
|
+
*/
|
|
220
|
+
ReadU64() {
|
|
221
|
+
return this.data.getBigUint64(this.ConsumeOffset(8), true);
|
|
222
|
+
}
|
|
223
|
+
|
|
224
|
+
/**
|
|
225
|
+
* Advances the Black cursor by a validated byte count for the Black
|
|
226
|
+
* object-graph reader.
|
|
227
|
+
*/
|
|
228
|
+
Skip(byteLength) {
|
|
229
|
+
this.ReadDataView(byteLength);
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
/** Consumes offset from the current Black object-graph reader. */
|
|
233
|
+
ConsumeOffset(byteLength) {
|
|
234
|
+
if (this.remaining < byteLength) {
|
|
235
|
+
throw new RangeError(`Black reader needs ${byteLength} bytes but only ${this.remaining} remain`);
|
|
236
|
+
}
|
|
237
|
+
const offset = this.offset;
|
|
238
|
+
this.offset += byteLength;
|
|
239
|
+
return offset;
|
|
240
|
+
}
|
|
241
|
+
|
|
242
|
+
/**
|
|
243
|
+
* Creates a bounded Black reader over supported binary input for the Black
|
|
244
|
+
* object-graph reader.
|
|
245
|
+
*/
|
|
246
|
+
static from(input, context = null) {
|
|
247
|
+
if (input instanceof CjsBlackBinaryReader) return input;
|
|
248
|
+
if (input instanceof DataView) return new CjsBlackBinaryReader(input, context);
|
|
249
|
+
if (input instanceof ArrayBuffer) return new CjsBlackBinaryReader(new DataView(input), context);
|
|
250
|
+
if (ArrayBuffer.isView(input)) {
|
|
251
|
+
return new CjsBlackBinaryReader(new DataView(input.buffer, input.byteOffset, input.byteLength), context);
|
|
252
|
+
}
|
|
253
|
+
throw new TypeError("Black input must be an ArrayBuffer, DataView, or typed array");
|
|
254
|
+
}
|
|
255
|
+
static utf8Decoder = new TextDecoder("utf-8");
|
|
256
|
+
static utf16Decoder = new TextDecoder("utf-16le");
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
export { CjsBlackBinaryReader };
|
|
260
|
+
//# sourceMappingURL=CjsBlackBinaryReader.js.map
|