@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.
- package/LICENSE +21 -21
- package/NOTICE +32 -32
- package/README.md +129 -108
- package/dist/CjsMotherLode.js +1271 -1271
- package/dist/CjsResMan.js +3858 -3494
- package/dist/CjsResMan.js.map +1 -1
- 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 +408 -361
- package/dist/format/carbonEffect/CjsCarbonEffectReader.js.map +1 -1
- package/dist/format/carbonEffect/CjsCarbonEffectWriter.js +373 -373
- package/dist/format/carbonEffect/buildCarbonEffectContainer.js +182 -0
- package/dist/format/carbonEffect/buildCarbonEffectContainer.js.map +1 -0
- package/dist/format/carbonEffect/carbonEffectBackendBlock.js +321 -427
- package/dist/format/carbonEffect/carbonEffectBackendBlock.js.map +1 -1
- package/dist/format/carbonEffect/carbonEffectRecords.js +1147 -955
- package/dist/format/carbonEffect/carbonEffectRecords.js.map +1 -1
- package/dist/format/carbonEffect/carbonEffectResourceTransform.js +197 -0
- package/dist/format/carbonEffect/carbonEffectResourceTransform.js.map +1 -0
- package/dist/format/compareUtf8.js +36 -36
- package/dist/format/effect/effectBodyInventory.js +146 -0
- package/dist/format/effect/effectBodyInventory.js.map +1 -0
- package/dist/format/effect/effectPermutationGraph.js +257 -257
- package/dist/format/effect/effectPermutationGraph.js.map +1 -1
- 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 -292
- package/dist/formats/black/CjsBlackFormat.js.map +1 -1
- 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 -156
- package/dist/formats/bnk/CjsBnkFormat.js.map +1 -1
- package/dist/formats/bnk/core/busNodes.js +252 -0
- package/dist/formats/bnk/core/busNodes.js.map +1 -0
- package/dist/formats/bnk/core/effectNodes.js +147 -0
- package/dist/formats/bnk/core/effectNodes.js.map +1 -0
- package/dist/formats/bnk/core/eventAction.js +416 -305
- package/dist/formats/bnk/core/eventAction.js.map +1 -1
- package/dist/formats/bnk/core/globalSettings.js +215 -0
- package/dist/formats/bnk/core/globalSettings.js.map +1 -0
- package/dist/formats/bnk/core/graph.js +137 -137
- package/dist/formats/bnk/core/helpers.js +512 -480
- package/dist/formats/bnk/core/helpers.js.map +1 -1
- package/dist/formats/bnk/core/musicNodes.js +533 -509
- package/dist/formats/bnk/core/musicNodes.js.map +1 -1
- package/dist/formats/bnk/core/nodeBase.js +553 -532
- package/dist/formats/bnk/core/nodeBase.js.map +1 -1
- 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 +862 -862
- package/dist/formats/dds/index.js +2 -2
- package/dist/formats/dxbc/CjsDxbcFormat.js +142 -142
- 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/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 +290 -290
- package/dist/formats/gltf/core/helpers.js +307 -307
- 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 +254 -254
- 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 -781
- package/dist/formats/hlsl/core/carbonDescriptionToRuntime.js.map +1 -1
- package/dist/formats/hlsl/core/detailMapFamily.js +128 -0
- package/dist/formats/hlsl/core/detailMapFamily.js.map +1 -0
- 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 -0
- package/dist/formats/hlsl/core/localLightFamily.js.map +1 -0
- 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 -314
- package/dist/formats/hlsl/core/tr2/resources/HlslEffectRes.js.map +1 -1
- package/dist/formats/hlsl/core/tr2/resources/HlslShaderPermutation.js +33 -33
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectBindingManifest.js +416 -416
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectConstant.js +40 -40
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectDescription.js +62 -742
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectDescription.js.map +1 -1
- 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 -31
- package/dist/formats/index.js.map +1 -1
- 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 +253 -253
- package/dist/formats/obj/core/helpers.js +573 -573
- 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 -0
- package/dist/formats/pickle/CjsPickleFormat.js.map +1 -0
- package/dist/formats/pickle/core/CjsPickleProtocol0Reader.js +551 -0
- package/dist/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -0
- package/dist/formats/pickle/index.js +2 -0
- package/dist/formats/pickle/index.js.map +1 -0
- 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 -68
- package/dist/formats/red/core/redGraph.js.map +1 -1
- package/dist/formats/red/core/schema.js +4 -4
- package/dist/formats/red/index.js +2 -2
- package/dist/formats/stl/CjsStlFormat.js +365 -365
- package/dist/formats/stl/core/helpers.js +261 -261
- 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 -221
- package/dist/formats/webgl/CjsWebglFormat.js.map +1 -1
- package/dist/formats/webgl/core/buildGlslEffectContainer.js +70 -0
- package/dist/formats/webgl/core/buildGlslEffectContainer.js.map +1 -0
- package/dist/formats/webgl/core/effectPackage.js +900 -792
- package/dist/formats/webgl/core/effectPackage.js.map +1 -1
- package/dist/formats/webgl/core/errors.js +27 -27
- package/dist/formats/webgl/core/errors.js.map +1 -1
- package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js +2820 -2678
- package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
- package/dist/formats/webgl/core/glsl/DxbcGlslHelpers.js +89 -89
- package/dist/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +486 -428
- package/dist/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
- package/dist/formats/webgl/core/glsl/packedLightFixups.js +98 -0
- package/dist/formats/webgl/core/glsl/packedLightFixups.js.map +1 -0
- package/dist/formats/webgl/core/glslBackendBlock.js +552 -0
- package/dist/formats/webgl/core/glslBackendBlock.js.map +1 -0
- package/dist/formats/webgl/core/glslBackendBodySet.js +243 -0
- package/dist/formats/webgl/core/glslBackendBodySet.js.map +1 -0
- package/dist/formats/webgl/core/{cewgCompleteness.js → glslEffectCompleteness.js} +85 -81
- package/dist/formats/webgl/core/glslEffectCompleteness.js.map +1 -0
- package/dist/formats/webgl/core/helpers.js +167 -306
- package/dist/formats/webgl/core/helpers.js.map +1 -1
- package/dist/formats/webgl/core/inspectGlslEffectContainer.js +122 -0
- package/dist/formats/webgl/core/inspectGlslEffectContainer.js.map +1 -0
- package/dist/formats/webgl/core/readGlslEffectContainer.js +303 -0
- package/dist/formats/webgl/core/readGlslEffectContainer.js.map +1 -0
- package/dist/formats/webgl/index.js +2 -2
- package/dist/formats/webgpu/CjsWebgpuFormat.js +357 -357
- package/dist/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
- package/dist/formats/webgpu/core/buildCarbonEffectContainer.js +89 -197
- package/dist/formats/webgpu/core/buildCarbonEffectContainer.js.map +1 -1
- package/dist/formats/webgpu/core/{cewgpu/CewgpuContainer.js → carbonWebgpu/CarbonWebgpuContainer.js} +354 -368
- package/dist/formats/webgpu/core/carbonWebgpu/CarbonWebgpuContainer.js.map +1 -0
- package/dist/formats/webgpu/core/{cewgpu → carbonWebgpu}/containerViews.js +355 -355
- package/dist/formats/webgpu/core/carbonWebgpu/containerViews.js.map +1 -0
- package/dist/formats/webgpu/core/{cewgpu → carbonWebgpu}/validateContainer.js +90 -90
- package/dist/formats/webgpu/core/carbonWebgpu/validateContainer.js.map +1 -0
- package/dist/formats/webgpu/core/effectAnalysis.js +82 -82
- package/dist/formats/webgpu/core/effectBackendBodySet.js +289 -289
- package/dist/formats/webgpu/core/effectBackendBodySet.js.map +1 -1
- package/dist/formats/webgpu/core/errors.js +20 -20
- package/dist/formats/webgpu/core/errors.js.map +1 -1
- package/dist/formats/webgpu/core/helpers.js +443 -443
- package/dist/formats/webgpu/core/helpers.js.map +1 -1
- 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 -385
- package/dist/formats/webgpu/core/packageEffect.js.map +1 -1
- package/dist/formats/webgpu/core/packageEffectSelection.js +164 -164
- package/dist/formats/webgpu/core/packageEffectSelection.js.map +1 -1
- 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/buildResourceTransformPlan.js.map +1 -1
- package/dist/formats/webgpu/core/wgsl/buildWgslBindingPlan.js +172 -172
- package/dist/formats/webgpu/core/wgsl/buildWgslSet.js +320 -320
- package/dist/formats/webgpu/core/wgsl/buildWgslSet.js.map +1 -1
- 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/CjsYamlFormat.js.map +1 -1
- package/dist/formats/yaml/core/CjsYamlReader.js +400 -402
- package/dist/formats/yaml/core/CjsYamlReader.js.map +1 -1
- package/dist/formats/yaml/core/helpers.js +196 -170
- package/dist/formats/yaml/core/helpers.js.map +1 -1
- package/dist/formats/yaml/index.js +2 -2
- package/dist/index.js +64 -62
- package/dist/index.js.map +1 -1
- package/dist/resource/CjsLoadingObject.js +19 -0
- package/dist/resource/CjsLoadingObject.js.map +1 -0
- package/dist/resource/CjsResource.js +801 -797
- package/dist/resource/CjsResource.js.map +1 -1
- package/dist/resource/ResourceHandlerMode.js +14 -0
- package/dist/resource/ResourceHandlerMode.js.map +1 -0
- 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 +675 -675
- 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 -52
- package/dist/resource/index.js.map +1 -1
- package/dist/resource/resourceBoundary.js +64 -64
- package/dist/resource/shader/Tr2EffectRes.js +336 -431
- package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
- 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 -261
- package/dist/resource/shader/Tr2Shader.js.map +1 -1
- package/dist/resource/shader/Tr2ShaderPermutation.js +43 -43
- package/dist/resource/shader/index.js +17 -17
- package/dist/resource/shader/reflection/Tr2EffectConstant.js +143 -135
- package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectDefine.js +30 -30
- package/dist/resource/shader/reflection/Tr2EffectDescription.js +114 -109
- package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js +168 -147
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +125 -105
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectResource.js +120 -86
- package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js +372 -241
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js +78 -68
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +168 -111
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/shader/reflection/carbonRecordFields.js +159 -0
- package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -0
- package/dist/resource/shader/reflection/shaderStage.js +22 -0
- package/dist/resource/shader/reflection/shaderStage.js.map +1 -0
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js +135 -77
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
- 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 -87
- package/dist/worker/CjsResManMainThreadLoader.js.map +1 -1
- package/dist/worker/CjsResManWorker.js +218 -217
- package/dist/worker/CjsResManWorker.js.map +1 -1
- package/dist/worker/CjsResManWorkerLoader.js +437 -434
- package/dist/worker/CjsResManWorkerLoader.js.map +1 -1
- package/dist/worker/protocol.js +12 -12
- package/docs/README.md +98 -98
- package/docs/architecture.md +118 -109
- package/docs/concepts/resource-lifecycle.md +226 -225
- package/docs/concepts/shader-resource-model.md +111 -114
- package/docs/concepts/writing-an-engine-adapter.md +115 -115
- package/docs/formats/README.md +138 -136
- package/docs/formats/carbon-effect-container.md +553 -452
- package/docs/formats/dxbc/README.md +68 -68
- package/docs/formats/dxbc/architecture.md +80 -80
- package/docs/formats/dxbc/reference/api.md +77 -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 +65 -67
- package/docs/formats/hlsl/guides/hydrating-json-output.md +60 -62
- package/docs/formats/hlsl/guides/reading-effects.md +64 -64
- package/docs/formats/hlsl/reference/advanced-analysis.md +61 -66
- package/docs/formats/hlsl/reference/api.md +92 -98
- package/docs/formats/hlsl/reference/classes/README.md +11 -11
- package/docs/formats/hlsl/reference/json-graph.md +97 -100
- package/docs/formats/pickle.md +82 -0
- package/docs/formats/provenance.md +196 -196
- package/docs/formats/stl.md +37 -37
- package/docs/formats/webgl/README.md +115 -57
- package/docs/formats/webgl/architecture.md +69 -70
- 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 -871
- 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 -96
- package/docs/formats/webgpu/formats/{cewgpu.md → carbon-webgpu.md} +215 -216
- package/docs/formats/webgpu/guides/effect-packaging.md +189 -191
- package/docs/formats/webgpu/reference/api.md +196 -197
- package/docs/formats/webgpu/reference/classes/README.md +9 -9
- package/docs/formats/webgpu/reference/wgsl-compatibility.md +1546 -1543
- package/docs/formats/wwise.md +146 -85
- package/docs/reference/classes/README.md +35 -35
- package/docs/reference/classes/audio.md +30 -30
- package/docs/reference/classes/core.md +216 -206
- package/docs/reference/classes/dropped.md +46 -46
- package/docs/reference/classes/formats.md +944 -952
- 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 -110
- 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 -135
- 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
- package/dist/format/carbonEffect/carbonDescriptionFromPortable.js +0 -372
- package/dist/format/carbonEffect/carbonDescriptionFromPortable.js.map +0 -1
- package/dist/format/effect/effectReflectionPackage.js +0 -636
- package/dist/format/effect/effectReflectionPackage.js.map +0 -1
- package/dist/formats/hlsl/core/HlslReader.js +0 -16
- package/dist/formats/hlsl/core/HlslReader.js.map +0 -1
- package/dist/formats/hlsl/core/portableReflection.js +0 -848
- package/dist/formats/hlsl/core/portableReflection.js.map +0 -1
- package/dist/formats/hlsl/portable.js +0 -2
- package/dist/formats/hlsl/portable.js.map +0 -1
- package/dist/formats/webgl/core/cewg/CewgPackage.js +0 -340
- package/dist/formats/webgl/core/cewg/CewgPackage.js.map +0 -1
- package/dist/formats/webgl/core/cewg/CewgPackageBuilder.js +0 -104
- package/dist/formats/webgl/core/cewg/CewgPackageBuilder.js.map +0 -1
- package/dist/formats/webgl/core/cewg/binary.js +0 -19
- package/dist/formats/webgl/core/cewg/binary.js.map +0 -1
- package/dist/formats/webgl/core/cewgCompleteness.js.map +0 -1
- package/dist/formats/webgl/core/effectPackageValidation.js +0 -331
- package/dist/formats/webgl/core/effectPackageValidation.js.map +0 -1
- package/dist/formats/webgpu/core/cewgpu/CewgpuContainer.js.map +0 -1
- package/dist/formats/webgpu/core/cewgpu/containerViews.js.map +0 -1
- package/dist/formats/webgpu/core/cewgpu/validateContainer.js.map +0 -1
- package/dist/resource/shader/portable.js +0 -33
- package/dist/resource/shader/portable.js.map +0 -1
- package/docs/formats/hlsl/reference/portable-reflection.md +0 -141
- package/docs/formats/webgl/effect-reflection.md +0 -127
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export { CjsOggFormat, CjsOggFormat as default } from './CjsOggFormat.js';
|
|
2
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
export { CjsOggFormat, CjsOggFormat as default } from './CjsOggFormat.js';
|
|
2
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import { PICKLE_PROTOCOL_0_LIMITS, CjsPickleProtocol0Reader } from './core/CjsPickleProtocol0Reader.js';
|
|
2
|
+
|
|
3
|
+
const OUTPUT_JSON = "json";
|
|
4
|
+
const OUTPUT_PAYLOAD = "payload";
|
|
5
|
+
const OUTPUT_RAW = "raw";
|
|
6
|
+
const OUTPUTS = new Set([OUTPUT_JSON, OUTPUT_PAYLOAD, OUTPUT_RAW]);
|
|
7
|
+
const OPTION_NAMES = new Set(["emit", "limits"]);
|
|
8
|
+
const DEFAULT_VALUES = {
|
|
9
|
+
emit: OUTPUT_JSON,
|
|
10
|
+
limits: PICKLE_PROTOCOL_0_LIMITS
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Data-only Python pickle format facade that currently decodes protocol 0 into
|
|
15
|
+
* JSON-compatible values or identity-preserving payload graphs while rejecting
|
|
16
|
+
* callable and object-construction opcodes.
|
|
17
|
+
*/
|
|
18
|
+
class CjsPickleFormat {
|
|
19
|
+
#values = DEFAULT_VALUES;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Create a reusable protocol-0 pickle format profile.
|
|
23
|
+
*
|
|
24
|
+
* @param {object} [options] Emit mode and bounded decoder limits.
|
|
25
|
+
*/
|
|
26
|
+
constructor(options = {}) {
|
|
27
|
+
this.SetValues(options);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Apply supported format options to this profile.
|
|
32
|
+
*
|
|
33
|
+
* @param {object} [options] Emit mode and partial decoder limits.
|
|
34
|
+
* @returns {CjsPickleFormat} This format profile.
|
|
35
|
+
*/
|
|
36
|
+
SetValues(options = {}) {
|
|
37
|
+
this.#values = this.constructor.normalizeValues(this.#values, options);
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Return normalized format values with optional per-call overrides.
|
|
43
|
+
*
|
|
44
|
+
* @param {object} [options] Per-call format options.
|
|
45
|
+
* @returns {object} Detached effective values.
|
|
46
|
+
*/
|
|
47
|
+
GetValues(options = {}) {
|
|
48
|
+
return this.constructor.normalizeValues(this.#values, options);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
/**
|
|
52
|
+
* Decode according to the effective emit mode.
|
|
53
|
+
*
|
|
54
|
+
* @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.
|
|
55
|
+
* @param {object} [options] Per-call format options.
|
|
56
|
+
* @returns {*} Decoded value graph.
|
|
57
|
+
*/
|
|
58
|
+
Read(input, options = {}) {
|
|
59
|
+
return CjsPickleFormat.read(input, this.GetValues(options));
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Decode a JSON-compatible graph, rejecting cyclic memo references.
|
|
64
|
+
*
|
|
65
|
+
* @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.
|
|
66
|
+
* @param {object} [options] Per-call format options.
|
|
67
|
+
* @returns {*} JSON-compatible decoded graph.
|
|
68
|
+
*/
|
|
69
|
+
ReadJSON(input, options = {}) {
|
|
70
|
+
return CjsPickleFormat.readJSON(input, this.GetValues(options));
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Decode the inert payload while preserving memo object identity.
|
|
75
|
+
*
|
|
76
|
+
* @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.
|
|
77
|
+
* @param {object} [options] Per-call format options.
|
|
78
|
+
* @returns {*} Decoded payload graph.
|
|
79
|
+
*/
|
|
80
|
+
ReadPayload(input, options = {}) {
|
|
81
|
+
return CjsPickleFormat.readPayload(input, this.GetValues(options));
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Decode the exact inert graph while preserving memo aliases and cycles.
|
|
86
|
+
*
|
|
87
|
+
* @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.
|
|
88
|
+
* @param {object} [options] Per-call format options.
|
|
89
|
+
* @returns {*} Decoded raw graph.
|
|
90
|
+
*/
|
|
91
|
+
ReadRaw(input, options = {}) {
|
|
92
|
+
return CjsPickleFormat.readRaw(input, this.GetValues(options));
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Verify that a decoded graph is JSON-compatible without changing its shape.
|
|
97
|
+
*
|
|
98
|
+
* @param {*} value Candidate decoded graph.
|
|
99
|
+
* @returns {*} The supplied value.
|
|
100
|
+
*/
|
|
101
|
+
ToJSON(value) {
|
|
102
|
+
return CjsPickleFormat.toJSON(value);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
/**
|
|
106
|
+
* Decode according to the requested emit mode.
|
|
107
|
+
*
|
|
108
|
+
* @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.
|
|
109
|
+
* @param {object} [options] Format options.
|
|
110
|
+
* @returns {*} Decoded value graph.
|
|
111
|
+
*/
|
|
112
|
+
static read(input, options = {}) {
|
|
113
|
+
const values = this.normalizeValues(DEFAULT_VALUES, options);
|
|
114
|
+
if (values.emit === OUTPUT_RAW) return this.readRaw(input, values);
|
|
115
|
+
if (values.emit === OUTPUT_PAYLOAD) return this.readPayload(input, values);
|
|
116
|
+
return this.readJSON(input, values);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/**
|
|
120
|
+
* Decode a JSON-compatible graph through the protocol-0 implementation.
|
|
121
|
+
*
|
|
122
|
+
* @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.
|
|
123
|
+
* @param {object} [options] Format options.
|
|
124
|
+
* @returns {*} JSON-compatible decoded graph.
|
|
125
|
+
*/
|
|
126
|
+
static readJSON(input, options = {}) {
|
|
127
|
+
const values = this.normalizeValues(DEFAULT_VALUES, options);
|
|
128
|
+
return new CjsPickleProtocol0Reader(input, values).ReadJSON();
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
/**
|
|
132
|
+
* Decode an inert payload while preserving pickle memo identity.
|
|
133
|
+
*
|
|
134
|
+
* @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.
|
|
135
|
+
* @param {object} [options] Format options.
|
|
136
|
+
* @returns {*} Decoded payload graph.
|
|
137
|
+
*/
|
|
138
|
+
static readPayload(input, options = {}) {
|
|
139
|
+
const values = this.normalizeValues(DEFAULT_VALUES, options);
|
|
140
|
+
return new CjsPickleProtocol0Reader(input, values).Read();
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
/**
|
|
144
|
+
* Decode the exact inert graph while preserving memo aliases and cycles.
|
|
145
|
+
*
|
|
146
|
+
* @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.
|
|
147
|
+
* @param {object} [options] Format options.
|
|
148
|
+
* @returns {*} Decoded raw graph.
|
|
149
|
+
*/
|
|
150
|
+
static readRaw(input, options = {}) {
|
|
151
|
+
return this.readPayload(input, options);
|
|
152
|
+
}
|
|
153
|
+
|
|
154
|
+
/**
|
|
155
|
+
* Verify that a decoded graph is JSON-compatible without changing its shape.
|
|
156
|
+
*
|
|
157
|
+
* @param {*} value Candidate decoded graph.
|
|
158
|
+
* @returns {*} The supplied value.
|
|
159
|
+
*/
|
|
160
|
+
static toJSON(value) {
|
|
161
|
+
return CjsPickleProtocol0Reader.ToJSON(value);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
/**
|
|
165
|
+
* Normalize a format profile and partial override into detached effective
|
|
166
|
+
* values.
|
|
167
|
+
*
|
|
168
|
+
* @param {object} base Existing normalized values.
|
|
169
|
+
* @param {object} [options] Partial emit and limit overrides.
|
|
170
|
+
* @returns {object} Detached normalized values.
|
|
171
|
+
*/
|
|
172
|
+
static normalizeValues(base, options = {}) {
|
|
173
|
+
if (!options || typeof options !== "object" || Array.isArray(options)) {
|
|
174
|
+
throw new TypeError("CjsPickleFormat options must be an object.");
|
|
175
|
+
}
|
|
176
|
+
for (const name of Object.keys(options)) {
|
|
177
|
+
if (!OPTION_NAMES.has(name)) {
|
|
178
|
+
throw new TypeError(`CjsPickleFormat unknown option ${JSON.stringify(name)}.`);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
const emit = options.emit ?? base.emit;
|
|
182
|
+
if (!OUTPUTS.has(emit)) {
|
|
183
|
+
throw new TypeError(`CjsPickleFormat unknown emit value ${JSON.stringify(emit)}.`);
|
|
184
|
+
}
|
|
185
|
+
const baseLimits = base.limits || PICKLE_PROTOCOL_0_LIMITS;
|
|
186
|
+
const optionLimits = options.limits ?? {};
|
|
187
|
+
if (!optionLimits || typeof optionLimits !== "object" || Array.isArray(optionLimits)) {
|
|
188
|
+
throw new TypeError("CjsPickleFormat limits must be an object.");
|
|
189
|
+
}
|
|
190
|
+
return {
|
|
191
|
+
emit,
|
|
192
|
+
limits: {
|
|
193
|
+
...baseLimits,
|
|
194
|
+
...optionLimits
|
|
195
|
+
}
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
static Output = Object.freeze({
|
|
199
|
+
JSON: OUTPUT_JSON,
|
|
200
|
+
PAYLOAD: OUTPUT_PAYLOAD,
|
|
201
|
+
RAW: OUTPUT_RAW
|
|
202
|
+
});
|
|
203
|
+
static supportedProtocols = Object.freeze([0]);
|
|
204
|
+
static id = "pickle";
|
|
205
|
+
static extensions = Object.freeze([".pickle"]);
|
|
206
|
+
static type = Object.freeze(["data"]);
|
|
207
|
+
static mediaTypes = Object.freeze(["data"]);
|
|
208
|
+
static inputTypes = Object.freeze(["pickle"]);
|
|
209
|
+
static outputTypes = Object.freeze([OUTPUT_JSON, OUTPUT_PAYLOAD]);
|
|
210
|
+
static debugOutputTypes = Object.freeze([OUTPUT_RAW]);
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export { CjsPickleFormat };
|
|
214
|
+
//# sourceMappingURL=CjsPickleFormat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CjsPickleFormat.js","sources":["../../../../src/formats/pickle/CjsPickleFormat.js"],"sourcesContent":["import {\n CjsPickleProtocol0Reader,\n PICKLE_PROTOCOL_0_LIMITS\n} from \"./core/CjsPickleProtocol0Reader.js\";\n\nconst OUTPUT_JSON = \"json\";\nconst OUTPUT_PAYLOAD = \"payload\";\nconst OUTPUT_RAW = \"raw\";\nconst OUTPUTS = new Set([ OUTPUT_JSON, OUTPUT_PAYLOAD, OUTPUT_RAW ]);\nconst OPTION_NAMES = new Set([ \"emit\", \"limits\" ]);\nconst DEFAULT_VALUES = {\n emit: OUTPUT_JSON,\n limits: PICKLE_PROTOCOL_0_LIMITS\n};\n\n/**\n * Data-only Python pickle format facade that currently decodes protocol 0 into\n * JSON-compatible values or identity-preserving payload graphs while rejecting\n * callable and object-construction opcodes.\n */\nexport class CjsPickleFormat\n{\n #values = DEFAULT_VALUES;\n\n /**\n * Create a reusable protocol-0 pickle format profile.\n *\n * @param {object} [options] Emit mode and bounded decoder limits.\n */\n constructor(options = {})\n {\n this.SetValues(options);\n }\n\n /**\n * Apply supported format options to this profile.\n *\n * @param {object} [options] Emit mode and partial decoder limits.\n * @returns {CjsPickleFormat} This format profile.\n */\n SetValues(options = {})\n {\n this.#values = this.constructor.normalizeValues(this.#values, options);\n return this;\n }\n\n /**\n * Return normalized format values with optional per-call overrides.\n *\n * @param {object} [options] Per-call format options.\n * @returns {object} Detached effective values.\n */\n GetValues(options = {})\n {\n return this.constructor.normalizeValues(this.#values, options);\n }\n\n /**\n * Decode according to the effective emit mode.\n *\n * @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.\n * @param {object} [options] Per-call format options.\n * @returns {*} Decoded value graph.\n */\n Read(input, options = {})\n {\n return CjsPickleFormat.read(input, this.GetValues(options));\n }\n\n /**\n * Decode a JSON-compatible graph, rejecting cyclic memo references.\n *\n * @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.\n * @param {object} [options] Per-call format options.\n * @returns {*} JSON-compatible decoded graph.\n */\n ReadJSON(input, options = {})\n {\n return CjsPickleFormat.readJSON(input, this.GetValues(options));\n }\n\n /**\n * Decode the inert payload while preserving memo object identity.\n *\n * @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.\n * @param {object} [options] Per-call format options.\n * @returns {*} Decoded payload graph.\n */\n ReadPayload(input, options = {})\n {\n return CjsPickleFormat.readPayload(input, this.GetValues(options));\n }\n\n /**\n * Decode the exact inert graph while preserving memo aliases and cycles.\n *\n * @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.\n * @param {object} [options] Per-call format options.\n * @returns {*} Decoded raw graph.\n */\n ReadRaw(input, options = {})\n {\n return CjsPickleFormat.readRaw(input, this.GetValues(options));\n }\n\n /**\n * Verify that a decoded graph is JSON-compatible without changing its shape.\n *\n * @param {*} value Candidate decoded graph.\n * @returns {*} The supplied value.\n */\n ToJSON(value)\n {\n return CjsPickleFormat.toJSON(value);\n }\n\n /**\n * Decode according to the requested emit mode.\n *\n * @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.\n * @param {object} [options] Format options.\n * @returns {*} Decoded value graph.\n */\n static read(input, options = {})\n {\n const values = this.normalizeValues(DEFAULT_VALUES, options);\n if (values.emit === OUTPUT_RAW) return this.readRaw(input, values);\n if (values.emit === OUTPUT_PAYLOAD) return this.readPayload(input, values);\n return this.readJSON(input, values);\n }\n\n /**\n * Decode a JSON-compatible graph through the protocol-0 implementation.\n *\n * @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.\n * @param {object} [options] Format options.\n * @returns {*} JSON-compatible decoded graph.\n */\n static readJSON(input, options = {})\n {\n const values = this.normalizeValues(DEFAULT_VALUES, options);\n return new CjsPickleProtocol0Reader(input, values).ReadJSON();\n }\n\n /**\n * Decode an inert payload while preserving pickle memo identity.\n *\n * @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.\n * @param {object} [options] Format options.\n * @returns {*} Decoded payload graph.\n */\n static readPayload(input, options = {})\n {\n const values = this.normalizeValues(DEFAULT_VALUES, options);\n return new CjsPickleProtocol0Reader(input, values).Read();\n }\n\n /**\n * Decode the exact inert graph while preserving memo aliases and cycles.\n *\n * @param {ArrayBuffer|ArrayBufferView} input Pickle bytes.\n * @param {object} [options] Format options.\n * @returns {*} Decoded raw graph.\n */\n static readRaw(input, options = {})\n {\n return this.readPayload(input, options);\n }\n\n /**\n * Verify that a decoded graph is JSON-compatible without changing its shape.\n *\n * @param {*} value Candidate decoded graph.\n * @returns {*} The supplied value.\n */\n static toJSON(value)\n {\n return CjsPickleProtocol0Reader.ToJSON(value);\n }\n\n /**\n * Normalize a format profile and partial override into detached effective\n * values.\n *\n * @param {object} base Existing normalized values.\n * @param {object} [options] Partial emit and limit overrides.\n * @returns {object} Detached normalized values.\n */\n static normalizeValues(base, options = {})\n {\n if (!options || typeof options !== \"object\" || Array.isArray(options))\n {\n throw new TypeError(\"CjsPickleFormat options must be an object.\");\n }\n for (const name of Object.keys(options))\n {\n if (!OPTION_NAMES.has(name))\n {\n throw new TypeError(`CjsPickleFormat unknown option ${JSON.stringify(name)}.`);\n }\n }\n\n const emit = options.emit ?? base.emit;\n if (!OUTPUTS.has(emit))\n {\n throw new TypeError(`CjsPickleFormat unknown emit value ${JSON.stringify(emit)}.`);\n }\n\n const baseLimits = base.limits || PICKLE_PROTOCOL_0_LIMITS;\n const optionLimits = options.limits ?? {};\n if (!optionLimits || typeof optionLimits !== \"object\" || Array.isArray(optionLimits))\n {\n throw new TypeError(\"CjsPickleFormat limits must be an object.\");\n }\n\n return {\n emit,\n limits: {\n ...baseLimits,\n ...optionLimits\n }\n };\n }\n\n static Output = Object.freeze({\n JSON: OUTPUT_JSON,\n PAYLOAD: OUTPUT_PAYLOAD,\n RAW: OUTPUT_RAW\n });\n static supportedProtocols = Object.freeze([ 0 ]);\n static id = \"pickle\";\n static extensions = Object.freeze([ \".pickle\" ]);\n static type = Object.freeze([ \"data\" ]);\n static mediaTypes = Object.freeze([ \"data\" ]);\n static inputTypes = Object.freeze([ \"pickle\" ]);\n static outputTypes = Object.freeze([ OUTPUT_JSON, OUTPUT_PAYLOAD ]);\n static debugOutputTypes = Object.freeze([ OUTPUT_RAW ]);\n}\n\nexport default CjsPickleFormat;\n"],"names":["OUTPUT_JSON","OUTPUT_PAYLOAD","OUTPUT_RAW","OUTPUTS","Set","OPTION_NAMES","DEFAULT_VALUES","emit","limits","PICKLE_PROTOCOL_0_LIMITS","CjsPickleFormat","constructor","options","SetValues","normalizeValues","GetValues","Read","input","read","ReadJSON","readJSON","ReadPayload","readPayload","ReadRaw","readRaw","ToJSON","value","toJSON","values","CjsPickleProtocol0Reader","base","Array","isArray","TypeError","name","Object","keys","has","JSON","stringify","baseLimits","optionLimits","Output","freeze","PAYLOAD","RAW","supportedProtocols","id","extensions","type","mediaTypes","inputTypes","outputTypes","debugOutputTypes"],"mappings":"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"}
|