@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,130 +1,130 @@
|
|
|
1
|
-
import { HlslRenderStateSetup } from './HlslRenderStateSetup.js';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* In-memory JavaScript substitute for Carbon's effect state manager registry.
|
|
5
|
-
*/
|
|
6
|
-
class HlslEffectStateManager {
|
|
7
|
-
/**
|
|
8
|
-
* Creates empty registries for shaders, programs, render states, and libraries.
|
|
9
|
-
*/
|
|
10
|
-
constructor() {
|
|
11
|
-
this._nextShader = 1;
|
|
12
|
-
this._nextProgram = 1;
|
|
13
|
-
this._nextRenderState = 1;
|
|
14
|
-
this._nextLibrary = 1;
|
|
15
|
-
this.shaders = new Map();
|
|
16
|
-
this.shaderPrograms = new Map();
|
|
17
|
-
this.renderStates = new Map();
|
|
18
|
-
this.shaderLibraries = new Map();
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Registers a shader stage payload and returns a stable numeric handle.
|
|
23
|
-
*
|
|
24
|
-
* @param {number} stageType Trinity shader stage enum value.
|
|
25
|
-
* @param {object} bytecode Captured shader bytecode.
|
|
26
|
-
* @param {object} signature Stage signature metadata.
|
|
27
|
-
* @param {string} [effectName] Source effect name or path.
|
|
28
|
-
* @returns {number} Shader handle.
|
|
29
|
-
*/
|
|
30
|
-
RegisterShader(stageType, bytecode, signature, effectName = "") {
|
|
31
|
-
const handle = this._nextShader++;
|
|
32
|
-
this.shaders.set(handle, {
|
|
33
|
-
stageType,
|
|
34
|
-
bytecode,
|
|
35
|
-
signature,
|
|
36
|
-
effectName
|
|
37
|
-
});
|
|
38
|
-
return handle;
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
/**
|
|
42
|
-
* Registers a shader program from one or more shader handles.
|
|
43
|
-
*
|
|
44
|
-
* @param {number[]} shaderHandles Shader handles in effect stage order.
|
|
45
|
-
* @param {number} [stageCount] Number of active stage handles to use.
|
|
46
|
-
* @returns {number} Shader program handle.
|
|
47
|
-
*/
|
|
48
|
-
RegisterShaderProgram(shaderHandles, stageCount = shaderHandles.length) {
|
|
49
|
-
const handle = this._nextProgram++;
|
|
50
|
-
this.shaderPrograms.set(handle, {
|
|
51
|
-
shaderHandles: shaderHandles.slice(0, stageCount),
|
|
52
|
-
stageCount
|
|
53
|
-
});
|
|
54
|
-
return handle;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Registers a program override pairing for Carbon-compatible call sites.
|
|
59
|
-
*
|
|
60
|
-
* @param {number} program Base shader program handle.
|
|
61
|
-
* @param {number} overrideProgram Override shader program handle.
|
|
62
|
-
* @returns {number} Override program handle.
|
|
63
|
-
*/
|
|
64
|
-
RegisterShaderProgramOverride(program, overrideProgram) {
|
|
65
|
-
const handle = this._nextProgram++;
|
|
66
|
-
this.shaderPrograms.set(handle, {
|
|
67
|
-
program,
|
|
68
|
-
overrideProgram,
|
|
69
|
-
isOverride: true
|
|
70
|
-
});
|
|
71
|
-
return handle;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/**
|
|
75
|
-
* Registers a render-state setup and returns its handle.
|
|
76
|
-
*
|
|
77
|
-
* @param {HlslRenderStateSetup|Map<number, number>|object} states Render-state setup.
|
|
78
|
-
* @returns {number} Render-state handle.
|
|
79
|
-
*/
|
|
80
|
-
RegisterRenderStateSetup(states) {
|
|
81
|
-
const handle = this._nextRenderState++;
|
|
82
|
-
this.renderStates.set(handle, states instanceof HlslRenderStateSetup ? states : new HlslRenderStateSetup(states));
|
|
83
|
-
return handle;
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
/**
|
|
87
|
-
* Registers a DXIL/DXBC library bytecode payload and returns its handle.
|
|
88
|
-
*
|
|
89
|
-
* @param {object} bytecode Captured shader-library bytecode.
|
|
90
|
-
* @returns {number} Shader library handle.
|
|
91
|
-
*/
|
|
92
|
-
RegisterShaderLibrary(bytecode) {
|
|
93
|
-
const handle = this._nextLibrary++;
|
|
94
|
-
this.shaderLibraries.set(handle, bytecode);
|
|
95
|
-
return handle;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
/**
|
|
99
|
-
* Looks up a registered shader by handle.
|
|
100
|
-
*
|
|
101
|
-
* @param {number} handle Shader handle.
|
|
102
|
-
* @returns {object|null} Registered shader metadata or null.
|
|
103
|
-
*/
|
|
104
|
-
GetShader(handle) {
|
|
105
|
-
return this.shaders.get(handle) || null;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
/**
|
|
109
|
-
* Looks up a registered shader program by handle.
|
|
110
|
-
*
|
|
111
|
-
* @param {number} handle Shader program handle.
|
|
112
|
-
* @returns {object|null} Registered program metadata or null.
|
|
113
|
-
*/
|
|
114
|
-
GetShaderProgram(handle) {
|
|
115
|
-
return this.shaderPrograms.get(handle) || null;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
/**
|
|
119
|
-
* Looks up a registered render-state setup by handle.
|
|
120
|
-
*
|
|
121
|
-
* @param {number} handle Render-state handle.
|
|
122
|
-
* @returns {HlslRenderStateSetup|null} Registered render-state setup or null.
|
|
123
|
-
*/
|
|
124
|
-
GetRenderStateSetup(handle) {
|
|
125
|
-
return this.renderStates.get(handle) || null;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
export { HlslEffectStateManager };
|
|
130
|
-
//# sourceMappingURL=HlslEffectStateManager.js.map
|
|
1
|
+
import { HlslRenderStateSetup } from './HlslRenderStateSetup.js';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* In-memory JavaScript substitute for Carbon's effect state manager registry.
|
|
5
|
+
*/
|
|
6
|
+
class HlslEffectStateManager {
|
|
7
|
+
/**
|
|
8
|
+
* Creates empty registries for shaders, programs, render states, and libraries.
|
|
9
|
+
*/
|
|
10
|
+
constructor() {
|
|
11
|
+
this._nextShader = 1;
|
|
12
|
+
this._nextProgram = 1;
|
|
13
|
+
this._nextRenderState = 1;
|
|
14
|
+
this._nextLibrary = 1;
|
|
15
|
+
this.shaders = new Map();
|
|
16
|
+
this.shaderPrograms = new Map();
|
|
17
|
+
this.renderStates = new Map();
|
|
18
|
+
this.shaderLibraries = new Map();
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Registers a shader stage payload and returns a stable numeric handle.
|
|
23
|
+
*
|
|
24
|
+
* @param {number} stageType Trinity shader stage enum value.
|
|
25
|
+
* @param {object} bytecode Captured shader bytecode.
|
|
26
|
+
* @param {object} signature Stage signature metadata.
|
|
27
|
+
* @param {string} [effectName] Source effect name or path.
|
|
28
|
+
* @returns {number} Shader handle.
|
|
29
|
+
*/
|
|
30
|
+
RegisterShader(stageType, bytecode, signature, effectName = "") {
|
|
31
|
+
const handle = this._nextShader++;
|
|
32
|
+
this.shaders.set(handle, {
|
|
33
|
+
stageType,
|
|
34
|
+
bytecode,
|
|
35
|
+
signature,
|
|
36
|
+
effectName
|
|
37
|
+
});
|
|
38
|
+
return handle;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Registers a shader program from one or more shader handles.
|
|
43
|
+
*
|
|
44
|
+
* @param {number[]} shaderHandles Shader handles in effect stage order.
|
|
45
|
+
* @param {number} [stageCount] Number of active stage handles to use.
|
|
46
|
+
* @returns {number} Shader program handle.
|
|
47
|
+
*/
|
|
48
|
+
RegisterShaderProgram(shaderHandles, stageCount = shaderHandles.length) {
|
|
49
|
+
const handle = this._nextProgram++;
|
|
50
|
+
this.shaderPrograms.set(handle, {
|
|
51
|
+
shaderHandles: shaderHandles.slice(0, stageCount),
|
|
52
|
+
stageCount
|
|
53
|
+
});
|
|
54
|
+
return handle;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* Registers a program override pairing for Carbon-compatible call sites.
|
|
59
|
+
*
|
|
60
|
+
* @param {number} program Base shader program handle.
|
|
61
|
+
* @param {number} overrideProgram Override shader program handle.
|
|
62
|
+
* @returns {number} Override program handle.
|
|
63
|
+
*/
|
|
64
|
+
RegisterShaderProgramOverride(program, overrideProgram) {
|
|
65
|
+
const handle = this._nextProgram++;
|
|
66
|
+
this.shaderPrograms.set(handle, {
|
|
67
|
+
program,
|
|
68
|
+
overrideProgram,
|
|
69
|
+
isOverride: true
|
|
70
|
+
});
|
|
71
|
+
return handle;
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* Registers a render-state setup and returns its handle.
|
|
76
|
+
*
|
|
77
|
+
* @param {HlslRenderStateSetup|Map<number, number>|object} states Render-state setup.
|
|
78
|
+
* @returns {number} Render-state handle.
|
|
79
|
+
*/
|
|
80
|
+
RegisterRenderStateSetup(states) {
|
|
81
|
+
const handle = this._nextRenderState++;
|
|
82
|
+
this.renderStates.set(handle, states instanceof HlslRenderStateSetup ? states : new HlslRenderStateSetup(states));
|
|
83
|
+
return handle;
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Registers a DXIL/DXBC library bytecode payload and returns its handle.
|
|
88
|
+
*
|
|
89
|
+
* @param {object} bytecode Captured shader-library bytecode.
|
|
90
|
+
* @returns {number} Shader library handle.
|
|
91
|
+
*/
|
|
92
|
+
RegisterShaderLibrary(bytecode) {
|
|
93
|
+
const handle = this._nextLibrary++;
|
|
94
|
+
this.shaderLibraries.set(handle, bytecode);
|
|
95
|
+
return handle;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
/**
|
|
99
|
+
* Looks up a registered shader by handle.
|
|
100
|
+
*
|
|
101
|
+
* @param {number} handle Shader handle.
|
|
102
|
+
* @returns {object|null} Registered shader metadata or null.
|
|
103
|
+
*/
|
|
104
|
+
GetShader(handle) {
|
|
105
|
+
return this.shaders.get(handle) || null;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Looks up a registered shader program by handle.
|
|
110
|
+
*
|
|
111
|
+
* @param {number} handle Shader program handle.
|
|
112
|
+
* @returns {object|null} Registered program metadata or null.
|
|
113
|
+
*/
|
|
114
|
+
GetShaderProgram(handle) {
|
|
115
|
+
return this.shaderPrograms.get(handle) || null;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
/**
|
|
119
|
+
* Looks up a registered render-state setup by handle.
|
|
120
|
+
*
|
|
121
|
+
* @param {number} handle Render-state handle.
|
|
122
|
+
* @returns {HlslRenderStateSetup|null} Registered render-state setup or null.
|
|
123
|
+
*/
|
|
124
|
+
GetRenderStateSetup(handle) {
|
|
125
|
+
return this.renderStates.get(handle) || null;
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export { HlslEffectStateManager };
|
|
130
|
+
//# sourceMappingURL=HlslEffectStateManager.js.map
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* JavaScript mirror of a registered Carbon render-state setup.
|
|
3
|
-
*/
|
|
4
|
-
class HlslRenderStateSetup {
|
|
5
|
-
/**
|
|
6
|
-
* Creates a render-state table from a Map or plain object.
|
|
7
|
-
*
|
|
8
|
-
* @param {Map<number, number>|object} [states] Render-state key/value pairs.
|
|
9
|
-
*/
|
|
10
|
-
constructor(states = new Map()) {
|
|
11
|
-
this.states = states instanceof Map ? new Map(states) : new Map(Object.entries(states || {}).map(([key, value]) => [Number(key), Number(value)]));
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Returns render states as stable serializable key/value records.
|
|
16
|
-
*
|
|
17
|
-
* @returns {{key:number,value:number}[]} Render-state entries.
|
|
18
|
-
*/
|
|
19
|
-
get entries() {
|
|
20
|
-
return Array.from(this.states.entries()).map(([key, value]) => ({
|
|
21
|
-
key,
|
|
22
|
-
value
|
|
23
|
-
}));
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Returns render states in report-friendly form.
|
|
28
|
-
*
|
|
29
|
-
* @returns {{key:number,value:number}[]} JSON-safe render-state entries.
|
|
30
|
-
*/
|
|
31
|
-
toJSON() {
|
|
32
|
-
return this.entries;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
export { HlslRenderStateSetup };
|
|
37
|
-
//# sourceMappingURL=HlslRenderStateSetup.js.map
|
|
1
|
+
/**
|
|
2
|
+
* JavaScript mirror of a registered Carbon render-state setup.
|
|
3
|
+
*/
|
|
4
|
+
class HlslRenderStateSetup {
|
|
5
|
+
/**
|
|
6
|
+
* Creates a render-state table from a Map or plain object.
|
|
7
|
+
*
|
|
8
|
+
* @param {Map<number, number>|object} [states] Render-state key/value pairs.
|
|
9
|
+
*/
|
|
10
|
+
constructor(states = new Map()) {
|
|
11
|
+
this.states = states instanceof Map ? new Map(states) : new Map(Object.entries(states || {}).map(([key, value]) => [Number(key), Number(value)]));
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Returns render states as stable serializable key/value records.
|
|
16
|
+
*
|
|
17
|
+
* @returns {{key:number,value:number}[]} Render-state entries.
|
|
18
|
+
*/
|
|
19
|
+
get entries() {
|
|
20
|
+
return Array.from(this.states.entries()).map(([key, value]) => ({
|
|
21
|
+
key,
|
|
22
|
+
value
|
|
23
|
+
}));
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Returns render states in report-friendly form.
|
|
28
|
+
*
|
|
29
|
+
* @returns {{key:number,value:number}[]} JSON-safe render-state entries.
|
|
30
|
+
*/
|
|
31
|
+
toJSON() {
|
|
32
|
+
return this.entries;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export { HlslRenderStateSetup };
|
|
37
|
+
//# sourceMappingURL=HlslRenderStateSetup.js.map
|
|
@@ -1,94 +1,94 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* JavaScript mirror of Carbon's resource-set descriptor builder.
|
|
3
|
-
*/
|
|
4
|
-
class HlslResourceSetDescription {
|
|
5
|
-
/**
|
|
6
|
-
* Creates an empty resource-set description for the supplied shader stages.
|
|
7
|
-
*
|
|
8
|
-
* @param {number[]} [shaderTypes] Shader stage enum values participating in the set.
|
|
9
|
-
* @param {object[]} [signatures] Stage signatures read from the effect body.
|
|
10
|
-
*/
|
|
11
|
-
constructor(shaderTypes = [], signatures = []) {
|
|
12
|
-
this.shaderTypes = shaderTypes.slice();
|
|
13
|
-
this.signatures = signatures.slice();
|
|
14
|
-
this.samplers = [];
|
|
15
|
-
this.heapViews = [];
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
/**
|
|
19
|
-
* Records a static sampler binding for a shader register.
|
|
20
|
-
*
|
|
21
|
-
* @param {number} stageType Shader stage enum value.
|
|
22
|
-
* @param {number} registerIndex Register index in the stage signature.
|
|
23
|
-
* @param {object} sampler Sampler descriptor.
|
|
24
|
-
*/
|
|
25
|
-
SetSampler(stageType, registerIndex, sampler) {
|
|
26
|
-
this.samplers.push({
|
|
27
|
-
stageType,
|
|
28
|
-
registerIndex,
|
|
29
|
-
sampler
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
/**
|
|
34
|
-
* Marks a shader-resource binding as heap-view based.
|
|
35
|
-
*
|
|
36
|
-
* @param {number} stageType Shader stage enum value.
|
|
37
|
-
* @param {number} registerIndex Register index in the stage signature.
|
|
38
|
-
*/
|
|
39
|
-
SetSrvHeapView(stageType, registerIndex) {
|
|
40
|
-
this.heapViews.push({
|
|
41
|
-
kind: "srv",
|
|
42
|
-
stageType,
|
|
43
|
-
registerIndex
|
|
44
|
-
});
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* Marks an unordered-access binding as heap-view based.
|
|
49
|
-
*
|
|
50
|
-
* @param {number} stageType Shader stage enum value.
|
|
51
|
-
* @param {number} registerIndex Register index in the stage signature.
|
|
52
|
-
*/
|
|
53
|
-
SetUavHeapView(stageType, registerIndex) {
|
|
54
|
-
this.heapViews.push({
|
|
55
|
-
kind: "uav",
|
|
56
|
-
stageType,
|
|
57
|
-
registerIndex
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Marks a sampler binding as heap-view based.
|
|
63
|
-
*
|
|
64
|
-
* @param {number} stageType Shader stage enum value.
|
|
65
|
-
* @param {number} registerIndex Register index in the stage signature.
|
|
66
|
-
*/
|
|
67
|
-
SetSamplerHeapView(stageType, registerIndex) {
|
|
68
|
-
this.heapViews.push({
|
|
69
|
-
kind: "sampler",
|
|
70
|
-
stageType,
|
|
71
|
-
registerIndex
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Returns a JSON-safe description of sampler and heap-view metadata.
|
|
77
|
-
*
|
|
78
|
-
* @returns {object} Serializable resource-set summary.
|
|
79
|
-
*/
|
|
80
|
-
toJSON() {
|
|
81
|
-
return {
|
|
82
|
-
shaderTypes: this.shaderTypes.slice(),
|
|
83
|
-
samplers: this.samplers.map(entry => ({
|
|
84
|
-
...entry
|
|
85
|
-
})),
|
|
86
|
-
heapViews: this.heapViews.map(entry => ({
|
|
87
|
-
...entry
|
|
88
|
-
}))
|
|
89
|
-
};
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
export { HlslResourceSetDescription };
|
|
94
|
-
//# sourceMappingURL=HlslResourceSetDescription.js.map
|
|
1
|
+
/**
|
|
2
|
+
* JavaScript mirror of Carbon's resource-set descriptor builder.
|
|
3
|
+
*/
|
|
4
|
+
class HlslResourceSetDescription {
|
|
5
|
+
/**
|
|
6
|
+
* Creates an empty resource-set description for the supplied shader stages.
|
|
7
|
+
*
|
|
8
|
+
* @param {number[]} [shaderTypes] Shader stage enum values participating in the set.
|
|
9
|
+
* @param {object[]} [signatures] Stage signatures read from the effect body.
|
|
10
|
+
*/
|
|
11
|
+
constructor(shaderTypes = [], signatures = []) {
|
|
12
|
+
this.shaderTypes = shaderTypes.slice();
|
|
13
|
+
this.signatures = signatures.slice();
|
|
14
|
+
this.samplers = [];
|
|
15
|
+
this.heapViews = [];
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Records a static sampler binding for a shader register.
|
|
20
|
+
*
|
|
21
|
+
* @param {number} stageType Shader stage enum value.
|
|
22
|
+
* @param {number} registerIndex Register index in the stage signature.
|
|
23
|
+
* @param {object} sampler Sampler descriptor.
|
|
24
|
+
*/
|
|
25
|
+
SetSampler(stageType, registerIndex, sampler) {
|
|
26
|
+
this.samplers.push({
|
|
27
|
+
stageType,
|
|
28
|
+
registerIndex,
|
|
29
|
+
sampler
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* Marks a shader-resource binding as heap-view based.
|
|
35
|
+
*
|
|
36
|
+
* @param {number} stageType Shader stage enum value.
|
|
37
|
+
* @param {number} registerIndex Register index in the stage signature.
|
|
38
|
+
*/
|
|
39
|
+
SetSrvHeapView(stageType, registerIndex) {
|
|
40
|
+
this.heapViews.push({
|
|
41
|
+
kind: "srv",
|
|
42
|
+
stageType,
|
|
43
|
+
registerIndex
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* Marks an unordered-access binding as heap-view based.
|
|
49
|
+
*
|
|
50
|
+
* @param {number} stageType Shader stage enum value.
|
|
51
|
+
* @param {number} registerIndex Register index in the stage signature.
|
|
52
|
+
*/
|
|
53
|
+
SetUavHeapView(stageType, registerIndex) {
|
|
54
|
+
this.heapViews.push({
|
|
55
|
+
kind: "uav",
|
|
56
|
+
stageType,
|
|
57
|
+
registerIndex
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Marks a sampler binding as heap-view based.
|
|
63
|
+
*
|
|
64
|
+
* @param {number} stageType Shader stage enum value.
|
|
65
|
+
* @param {number} registerIndex Register index in the stage signature.
|
|
66
|
+
*/
|
|
67
|
+
SetSamplerHeapView(stageType, registerIndex) {
|
|
68
|
+
this.heapViews.push({
|
|
69
|
+
kind: "sampler",
|
|
70
|
+
stageType,
|
|
71
|
+
registerIndex
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Returns a JSON-safe description of sampler and heap-view metadata.
|
|
77
|
+
*
|
|
78
|
+
* @returns {object} Serializable resource-set summary.
|
|
79
|
+
*/
|
|
80
|
+
toJSON() {
|
|
81
|
+
return {
|
|
82
|
+
shaderTypes: this.shaderTypes.slice(),
|
|
83
|
+
samplers: this.samplers.map(entry => ({
|
|
84
|
+
...entry
|
|
85
|
+
})),
|
|
86
|
+
heapViews: this.heapViews.map(entry => ({
|
|
87
|
+
...entry
|
|
88
|
+
}))
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
export { HlslResourceSetDescription };
|
|
94
|
+
//# sourceMappingURL=HlslResourceSetDescription.js.map
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import { asUint8Array } from '@carbonenginejs/runtime-utils/bytes';
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* JavaScript stand-in for Carbon's shader-bytecode handle payload.
|
|
5
|
-
*/
|
|
6
|
-
class HlslShaderBytecode {
|
|
7
|
-
/**
|
|
8
|
-
* Captures bytecode and metadata for one compiled shader stage or library.
|
|
9
|
-
*
|
|
10
|
-
* @param {object} [options] Bytecode metadata.
|
|
11
|
-
* @param {number|null} [options.stageType] Trinity shader stage enum value.
|
|
12
|
-
* @param {string|null} [options.stageName] Friendly stage name.
|
|
13
|
-
* @param {ArrayBuffer|ArrayBufferView|Uint8Array} [options.bytes] Shader bytecode bytes.
|
|
14
|
-
* @param {number} [options.shaderSize] Original bytecode size from the effect.
|
|
15
|
-
* @param {number|null} [options.stringTableOffset] Offset into the effect string table.
|
|
16
|
-
* @param {string} [options.effectName] Source effect name or path.
|
|
17
|
-
*/
|
|
18
|
-
constructor(options = {}) {
|
|
19
|
-
this.stageType = Number.isInteger(options.stageType) ? options.stageType : null;
|
|
20
|
-
this.stageName = options.stageName || null;
|
|
21
|
-
this.bytes = options.bytes ? asUint8Array(options.bytes) : new Uint8Array(0);
|
|
22
|
-
this.shaderSize = Number(options.shaderSize) || this.bytes.length;
|
|
23
|
-
this.stringTableOffset = Number.isInteger(options.stringTableOffset) ? options.stringTableOffset : null;
|
|
24
|
-
this.effectName = options.effectName || "";
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* Returns serializable metadata while omitting the potentially large byte array.
|
|
29
|
-
*
|
|
30
|
-
* @returns {object} JSON-safe bytecode summary.
|
|
31
|
-
*/
|
|
32
|
-
toJSON() {
|
|
33
|
-
return {
|
|
34
|
-
stageType: this.stageType,
|
|
35
|
-
stageName: this.stageName,
|
|
36
|
-
shaderSize: this.shaderSize,
|
|
37
|
-
stringTableOffset: this.stringTableOffset,
|
|
38
|
-
effectName: this.effectName
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
export { HlslShaderBytecode };
|
|
44
|
-
//# sourceMappingURL=HlslShaderBytecode.js.map
|
|
1
|
+
import { asUint8Array } from '@carbonenginejs/runtime-utils/bytes';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* JavaScript stand-in for Carbon's shader-bytecode handle payload.
|
|
5
|
+
*/
|
|
6
|
+
class HlslShaderBytecode {
|
|
7
|
+
/**
|
|
8
|
+
* Captures bytecode and metadata for one compiled shader stage or library.
|
|
9
|
+
*
|
|
10
|
+
* @param {object} [options] Bytecode metadata.
|
|
11
|
+
* @param {number|null} [options.stageType] Trinity shader stage enum value.
|
|
12
|
+
* @param {string|null} [options.stageName] Friendly stage name.
|
|
13
|
+
* @param {ArrayBuffer|ArrayBufferView|Uint8Array} [options.bytes] Shader bytecode bytes.
|
|
14
|
+
* @param {number} [options.shaderSize] Original bytecode size from the effect.
|
|
15
|
+
* @param {number|null} [options.stringTableOffset] Offset into the effect string table.
|
|
16
|
+
* @param {string} [options.effectName] Source effect name or path.
|
|
17
|
+
*/
|
|
18
|
+
constructor(options = {}) {
|
|
19
|
+
this.stageType = Number.isInteger(options.stageType) ? options.stageType : null;
|
|
20
|
+
this.stageName = options.stageName || null;
|
|
21
|
+
this.bytes = options.bytes ? asUint8Array(options.bytes) : new Uint8Array(0);
|
|
22
|
+
this.shaderSize = Number(options.shaderSize) || this.bytes.length;
|
|
23
|
+
this.stringTableOffset = Number.isInteger(options.stringTableOffset) ? options.stringTableOffset : null;
|
|
24
|
+
this.effectName = options.effectName || "";
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Returns serializable metadata while omitting the potentially large byte array.
|
|
29
|
+
*
|
|
30
|
+
* @returns {object} JSON-safe bytecode summary.
|
|
31
|
+
*/
|
|
32
|
+
toJSON() {
|
|
33
|
+
return {
|
|
34
|
+
stageType: this.stageType,
|
|
35
|
+
stageName: this.stageName,
|
|
36
|
+
shaderSize: this.shaderSize,
|
|
37
|
+
stringTableOffset: this.stringTableOffset,
|
|
38
|
+
effectName: this.effectName
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export { HlslShaderBytecode };
|
|
44
|
+
//# sourceMappingURL=HlslShaderBytecode.js.map
|