@carbonenginejs/runtime-resource 0.13.0 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -21
- package/NOTICE +32 -32
- package/README.md +129 -129
- package/dist/CjsMotherLode.js +1271 -1271
- package/dist/CjsResMan.js +3858 -3858
- package/dist/CjsResManFetchProvider.js +94 -94
- package/dist/CjsResManWorkQueue.js +301 -301
- package/dist/_virtual/_rollupPluginBabelHelpers.js +150 -150
- package/dist/format/CjsBlueReader.js +358 -358
- package/dist/format/CjsByteReader.js +310 -310
- package/dist/format/CjsByteWriter.js +242 -242
- package/dist/format/CjsFormat.js +223 -223
- package/dist/format/CjsFormatError.js +41 -41
- package/dist/format/CjsReader.js +22 -22
- package/dist/format/CjsResourceProbe.js +279 -279
- package/dist/format/CjsStringTable.js +268 -268
- package/dist/format/carbonEffect/CjsCarbonEffectReader.js +265 -265
- package/dist/format/carbonEffect/CjsCarbonEffectWriter.js +373 -373
- package/dist/format/carbonEffect/buildCarbonEffectContainer.js +182 -182
- package/dist/format/carbonEffect/carbonEffectBackendBlock.js +321 -321
- package/dist/format/carbonEffect/carbonEffectRecords.js +1147 -1147
- package/dist/format/carbonEffect/carbonEffectResourceTransform.js +197 -197
- package/dist/format/compareUtf8.js +36 -36
- package/dist/format/effect/effectBodyInventory.js +146 -146
- package/dist/format/effect/effectPermutationGraph.js +257 -257
- package/dist/format/effect/sha256.js +114 -114
- package/dist/format/index.js +11 -11
- package/dist/format/payloadContract.js +193 -193
- package/dist/formats/black/CjsBlackFormat.js +310 -310
- package/dist/formats/black/core/CjsBlackBinaryReader.js +260 -260
- package/dist/formats/black/core/CjsBlackPropertyReaders.js +448 -448
- package/dist/formats/black/core/CjsBlackReader.js +764 -764
- package/dist/formats/black/core/CjsBlackSchemaRegistry.js +540 -540
- package/dist/formats/black/core/black-schema-v1-2026-07-23.json.js +4 -4
- package/dist/formats/black/core/blackConstants.js +7 -7
- package/dist/formats/black/core/blackDefinitions.js +10 -10
- package/dist/formats/black/core/blackEnums.js +6 -6
- package/dist/formats/black/core/blackSchema.js +3 -3
- package/dist/formats/black/core/blackVersion.js +22 -22
- package/dist/formats/black/core/helpers.js +199 -199
- package/dist/formats/black/core/schema.js +4 -4
- package/dist/formats/black/index.js +2 -2
- package/dist/formats/bnk/CjsBnkFormat.js +175 -175
- package/dist/formats/bnk/core/busNodes.js +252 -252
- package/dist/formats/bnk/core/effectNodes.js +147 -147
- package/dist/formats/bnk/core/eventAction.js +416 -416
- package/dist/formats/bnk/core/globalSettings.js +215 -215
- package/dist/formats/bnk/core/graph.js +137 -137
- package/dist/formats/bnk/core/helpers.js +512 -512
- package/dist/formats/bnk/core/musicNodes.js +540 -540
- package/dist/formats/bnk/core/nodeBase.js +553 -553
- package/dist/formats/bnk/core/sfxNodes.js +632 -632
- package/dist/formats/bnk/core/soundbanksInfo.js +209 -209
- package/dist/formats/bnk/index.js +2 -2
- package/dist/formats/cmf/CjsCmfFormat.js +497 -497
- package/dist/formats/cmf/core/binary.js +194 -194
- package/dist/formats/cmf/core/buffers.js +237 -237
- package/dist/formats/cmf/core/constants.js +47 -47
- package/dist/formats/cmf/core/gr2Anim.js +453 -453
- package/dist/formats/cmf/core/helpers.js +318 -318
- package/dist/formats/cmf/core/pack.js +276 -276
- package/dist/formats/cmf/core/schema.js +374 -374
- package/dist/formats/cmf/core/shared.js +277 -277
- package/dist/formats/cmf/core/writer.js +571 -571
- package/dist/formats/cmf/index.js +2 -2
- package/dist/formats/dds/CjsDdsFormat.js +200 -200
- package/dist/formats/dds/core/bc6h.js +298 -298
- package/dist/formats/dds/core/bc7.js +272 -272
- package/dist/formats/dds/core/helpers.js +901 -862
- package/dist/formats/dds/core/helpers.js.map +1 -1
- package/dist/formats/dds/index.js +2 -2
- package/dist/formats/dxbc/CjsDxbcFormat.js +187 -142
- package/dist/formats/dxbc/CjsDxbcFormat.js.map +1 -1
- package/dist/formats/dxbc/core/DxbcReader.js +266 -266
- package/dist/formats/dxbc/core/container.js +169 -169
- package/dist/formats/dxbc/core/decoder.js +789 -789
- package/dist/formats/dxbc/core/disassemble.js +240 -0
- package/dist/formats/dxbc/core/disassemble.js.map +1 -0
- package/dist/formats/dxbc/core/errors.js +19 -19
- package/dist/formats/dxbc/core/helpers.js +220 -220
- package/dist/formats/dxbc/core/opcodes.js +45 -45
- package/dist/formats/dxbc/core/program.js +91 -91
- package/dist/formats/dxbc/core/signature.js +172 -172
- package/dist/formats/dxbc/index.js +2 -2
- package/dist/formats/fbx/CjsFbxFormat.js +266 -266
- package/dist/formats/fbx/core/helpers.js +3932 -3932
- package/dist/formats/fbx/index.js +2 -2
- package/dist/formats/flac/CjsFlacFormat.js +142 -142
- package/dist/formats/flac/core/helpers.js +315 -315
- package/dist/formats/flac/index.js +2 -2
- package/dist/formats/gif/CjsGifFormat.js +141 -141
- package/dist/formats/gif/core/helpers.js +380 -380
- package/dist/formats/gif/index.js +2 -2
- package/dist/formats/gltf/CjsGltfFormat.js +252 -290
- package/dist/formats/gltf/CjsGltfFormat.js.map +1 -1
- package/dist/formats/gltf/core/helpers.js +287 -307
- package/dist/formats/gltf/core/helpers.js.map +1 -1
- package/dist/formats/gltf/core/json.js +79 -79
- package/dist/formats/gltf/core/parser.js +679 -679
- package/dist/formats/gltf/core/targets.js +173 -173
- package/dist/formats/gltf/index.js +2 -2
- package/dist/formats/gr2/CjsGr2Format.js +289 -289
- package/dist/formats/gr2/core/bitknit2.js +282 -282
- package/dist/formats/gr2/core/curves.js +1047 -1047
- package/dist/formats/gr2/core/gsf.js +72 -72
- package/dist/formats/gr2/core/helpers.js +352 -352
- package/dist/formats/gr2/core/json.js +622 -622
- package/dist/formats/gr2/core/oodle1.js +388 -388
- package/dist/formats/gr2/core/tangents.js +48 -48
- package/dist/formats/gr2/core/targets.js +361 -361
- package/dist/formats/gr2/index.js +2 -2
- package/dist/formats/hlsl/CjsHlslFormat.js +233 -254
- package/dist/formats/hlsl/CjsHlslFormat.js.map +1 -1
- package/dist/formats/hlsl/core/HlslBinaryUtils.js +15 -15
- package/dist/formats/hlsl/core/HlslEffectReadError.js +19 -19
- package/dist/formats/hlsl/core/HlslEffectStateManager.js +130 -130
- package/dist/formats/hlsl/core/HlslRenderStateSetup.js +37 -37
- package/dist/formats/hlsl/core/HlslResourceSetDescription.js +94 -94
- package/dist/formats/hlsl/core/HlslShaderBytecode.js +44 -44
- package/dist/formats/hlsl/core/analysis.js +51 -51
- package/dist/formats/hlsl/core/carbonDescriptionToRuntime.js +850 -850
- package/dist/formats/hlsl/core/detailMapFamily.js +128 -128
- package/dist/formats/hlsl/core/helpers.js +270 -270
- package/dist/formats/hlsl/core/json.js +284 -284
- package/dist/formats/hlsl/core/localLightFamily.js +133 -133
- package/dist/formats/hlsl/core/metadata.js +327 -327
- package/dist/formats/hlsl/core/render-states.js +280 -280
- package/dist/formats/hlsl/core/tr2/HlslRenderContextEnum.js +43 -43
- package/dist/formats/hlsl/core/tr2/resources/HlslEffectRes.js +320 -320
- package/dist/formats/hlsl/core/tr2/resources/HlslShaderPermutation.js +33 -33
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectBindingManifest.js +423 -416
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectBindingManifest.js.map +1 -1
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectConstant.js +40 -40
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectDescription.js +62 -62
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectLibrary.js +52 -52
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectParameterAnnotation.js +38 -38
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectResource.js +50 -50
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectStageInput.js +86 -86
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectTechnique.js +31 -31
- package/dist/formats/hlsl/core/tr2/shader/HlslPass.js +42 -42
- package/dist/formats/hlsl/core/tr2/shader/HlslSamplerDescription.js +55 -55
- package/dist/formats/hlsl/core/tr2/shader/HlslSamplerSetup.js +29 -29
- package/dist/formats/hlsl/core/tr2/shader/HlslShader.js +220 -220
- package/dist/formats/hlsl/core/tr2/shader/HlslShaderOption.js +30 -30
- package/dist/formats/hlsl/index.js +3 -3
- package/dist/formats/index.js +33 -33
- package/dist/formats/jpeg/CjsJpegFormat.js +212 -212
- package/dist/formats/jpeg/core/helpers.js +402 -402
- package/dist/formats/jpeg/core/jpeg.js +480 -480
- package/dist/formats/jpeg/index.js +2 -2
- package/dist/formats/mp3/CjsMp3Format.js +197 -197
- package/dist/formats/mp3/core/helpers.js +375 -375
- package/dist/formats/mp3/index.js +2 -2
- package/dist/formats/mp4/CjsMp4Format.js +197 -197
- package/dist/formats/mp4/core/helpers.js +484 -484
- package/dist/formats/mp4/index.js +2 -2
- package/dist/formats/obj/CjsObjFormat.js +232 -253
- package/dist/formats/obj/CjsObjFormat.js.map +1 -1
- package/dist/formats/obj/core/helpers.js +553 -573
- package/dist/formats/obj/core/helpers.js.map +1 -1
- package/dist/formats/obj/core/json.js +64 -64
- package/dist/formats/obj/core/parser.js +321 -321
- package/dist/formats/obj/index.js +2 -2
- package/dist/formats/ogg/CjsOggFormat.js +143 -143
- package/dist/formats/ogg/core/helpers.js +410 -410
- package/dist/formats/ogg/core/imdct.js +178 -178
- package/dist/formats/ogg/core/vorbis.js +1017 -1017
- package/dist/formats/ogg/index.js +2 -2
- package/dist/formats/pickle/CjsPickleFormat.js +214 -214
- package/dist/formats/pickle/core/CjsPickleProtocol0Reader.js +551 -551
- package/dist/formats/pickle/index.js +2 -2
- package/dist/formats/png/CjsPngFormat.js +201 -201
- package/dist/formats/png/core/helpers.js +635 -635
- package/dist/formats/png/index.js +2 -2
- package/dist/formats/red/CjsRedFormat.js +263 -263
- package/dist/formats/red/core/CjsRedReader.js +246 -246
- package/dist/formats/red/core/blackDefinitions.js +3 -3
- package/dist/formats/red/core/helpers.js +158 -158
- package/dist/formats/red/core/redGraph.js +71 -71
- package/dist/formats/red/core/schema.js +4 -4
- package/dist/formats/red/index.js +2 -2
- package/dist/formats/stl/CjsStlFormat.js +320 -365
- package/dist/formats/stl/CjsStlFormat.js.map +1 -1
- package/dist/formats/stl/core/helpers.js +241 -261
- package/dist/formats/stl/core/helpers.js.map +1 -1
- package/dist/formats/stl/core/json.js +51 -51
- package/dist/formats/stl/core/stl.js +642 -642
- package/dist/formats/stl/core/targets.js +173 -173
- package/dist/formats/stl/index.js +2 -2
- package/dist/formats/tga/CjsTgaFormat.js +197 -197
- package/dist/formats/tga/core/helpers.js +493 -493
- package/dist/formats/tga/index.js +2 -2
- package/dist/formats/wav/CjsWavFormat.js +198 -198
- package/dist/formats/wav/core/helpers.js +365 -365
- package/dist/formats/wav/index.js +2 -2
- package/dist/formats/webgl/CjsWebglFormat.js +199 -199
- package/dist/formats/webgl/core/buildGlslEffectContainer.js +70 -70
- package/dist/formats/webgl/core/effectPackage.js +900 -900
- package/dist/formats/webgl/core/errors.js +27 -27
- package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js +2820 -2820
- package/dist/formats/webgl/core/glsl/DxbcGlslHelpers.js +89 -89
- package/dist/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +486 -486
- package/dist/formats/webgl/core/glsl/packedLightFixups.js +98 -98
- package/dist/formats/webgl/core/glslBackendBlock.js +552 -552
- package/dist/formats/webgl/core/glslBackendBodySet.js +243 -243
- package/dist/formats/webgl/core/glslEffectCompleteness.js +85 -85
- package/dist/formats/webgl/core/glslEffectCompleteness.js.map +1 -1
- package/dist/formats/webgl/core/helpers.js +167 -167
- package/dist/formats/webgl/core/inspectGlslEffectContainer.js +122 -122
- package/dist/formats/webgl/core/readGlslEffectContainer.js +202 -256
- package/dist/formats/webgl/core/readGlslEffectContainer.js.map +1 -1
- package/dist/formats/webgl/index.js +2 -2
- package/dist/formats/webgpu/CjsWebgpuFormat.js +357 -357
- package/dist/formats/webgpu/core/buildCarbonEffectContainer.js +89 -89
- package/dist/formats/webgpu/core/carbonWebgpu/CarbonWebgpuContainer.js +354 -354
- package/dist/formats/webgpu/core/carbonWebgpu/containerViews.js +355 -355
- package/dist/formats/webgpu/core/carbonWebgpu/validateContainer.js +90 -90
- package/dist/formats/webgpu/core/effectAnalysis.js +82 -82
- package/dist/formats/webgpu/core/effectBackendBodySet.js +306 -306
- package/dist/formats/webgpu/core/errors.js +20 -20
- package/dist/formats/webgpu/core/helpers.js +443 -443
- package/dist/formats/webgpu/core/ir/analyzeRegisterValues.js +212 -212
- package/dist/formats/webgpu/core/ir/buildControlFlow.js +220 -220
- package/dist/formats/webgpu/core/ir/indexableTemps.js +137 -137
- package/dist/formats/webgpu/core/ir/inferValueTypes.js +449 -449
- package/dist/formats/webgpu/core/ir/lowerDxbcToIr.js +494 -494
- package/dist/formats/webgpu/core/ir/resolveRegisterFlow.js +177 -177
- package/dist/formats/webgpu/core/ir/sourceLanes.js +61 -61
- package/dist/formats/webgpu/core/packageEffect.js +381 -381
- package/dist/formats/webgpu/core/packageEffectSelection.js +164 -164
- package/dist/formats/webgpu/core/packageMetadata.js +17 -17
- package/dist/formats/webgpu/core/schema.js +4 -4
- package/dist/formats/webgpu/core/wgsl/buildResourceTransformPlan.js +263 -263
- package/dist/formats/webgpu/core/wgsl/buildWgslBindingPlan.js +172 -172
- package/dist/formats/webgpu/core/wgsl/buildWgslSet.js +325 -325
- package/dist/formats/webgpu/core/wgsl/emitWgsl.js +356 -356
- package/dist/formats/webgpu/core/wgsl/hoistEscapingValues.js +77 -77
- package/dist/formats/webgpu/core/wgsl/lowerBindingLayout.js +451 -451
- package/dist/formats/webgpu/core/wgsl/lowerComputeProgram.js +735 -735
- package/dist/formats/webgpu/core/wgsl/lowerCreateHistogramsComputeProgram.js +457 -457
- package/dist/formats/webgpu/core/wgsl/lowerFragmentProgram.js +1572 -1572
- package/dist/formats/webgpu/core/wgsl/lowerMergeHistogramsComputeProgram.js +659 -659
- package/dist/formats/webgpu/core/wgsl/lowerParticleClearComputePrograms.js +734 -734
- package/dist/formats/webgpu/core/wgsl/lowerParticleEmitComputeProgram.js +583 -583
- package/dist/formats/webgpu/core/wgsl/lowerSkinVerticesComputeProgram.js +621 -621
- package/dist/formats/webgpu/core/wgsl/lowerSortComputeProgram.js +824 -824
- package/dist/formats/webgpu/core/wgsl/lowerSortInnerComputeProgram.js +697 -697
- package/dist/formats/webgpu/core/wgsl/lowerSortStepComputeProgram.js +559 -559
- package/dist/formats/webgpu/core/wgsl/lowerVertexProgram.js +1328 -1328
- package/dist/formats/webgpu/core/wgsl/particleEmitSemanticDigest.js +110 -110
- package/dist/formats/webgpu/core/wgsl/precisionControls.js +55 -55
- package/dist/formats/webgpu/core/wgsl/selectionPlans.js +717 -717
- package/dist/formats/webgpu/core/wgsl/uniformity.js +78 -78
- package/dist/formats/webgpu/core/wgsl/validateExactComputeIr.js +196 -196
- package/dist/formats/webgpu/core/wgsl/validateHandleOperand.js +37 -37
- package/dist/formats/webgpu/index.js +2 -2
- package/dist/formats/webm/CjsWebmFormat.js +197 -197
- package/dist/formats/webm/core/helpers.js +572 -572
- package/dist/formats/webm/index.js +2 -2
- package/dist/formats/webp/CjsWebpFormat.js +140 -140
- package/dist/formats/webp/core/helpers.js +237 -237
- package/dist/formats/webp/index.js +2 -2
- package/dist/formats/wem/CjsWemFormat.js +250 -250
- package/dist/formats/wem/core/bitStream.js +261 -261
- package/dist/formats/wem/core/codebookLibrary.js +164 -164
- package/dist/formats/wem/core/helpers.js +437 -437
- package/dist/formats/wem/core/packedCodebooksAotuv603.js +30 -30
- package/dist/formats/wem/core/ptadpcm.js +77 -77
- package/dist/formats/wem/core/resolve.js +121 -121
- package/dist/formats/wem/core/wemToOgg.js +485 -485
- package/dist/formats/wem/index.js +2 -2
- package/dist/formats/yaml/CjsYamlFormat.js +134 -134
- package/dist/formats/yaml/core/CjsYamlReader.js +400 -400
- package/dist/formats/yaml/core/helpers.js +196 -196
- package/dist/formats/yaml/index.js +2 -2
- package/dist/index.js +64 -64
- package/dist/resource/CjsLoadingObject.js +19 -19
- package/dist/resource/CjsResource.js +801 -801
- package/dist/resource/ResourceHandlerMode.js +14 -14
- package/dist/resource/Tr2LightProfileRes.js +32 -32
- package/dist/resource/audio/AudioGeometryResData.js +47 -47
- package/dist/resource/audio/CjsAudioBufferRes.js +86 -86
- package/dist/resource/audio/CjsAudioRes.js +213 -213
- package/dist/resource/audio/index.js +4 -4
- package/dist/resource/geometry/MeshDecalData.js +37 -37
- package/dist/resource/geometry/MeshDecalLodData.js +34 -34
- package/dist/resource/geometry/TriGeometryRes.js +570 -467
- package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResAreaData.js +59 -59
- package/dist/resource/geometry/TriGeometryResJointData.js +38 -38
- package/dist/resource/geometry/TriGeometryResLodData.js +88 -88
- package/dist/resource/geometry/TriGeometryResMeshData.js +63 -63
- package/dist/resource/geometry/TriGeometryResSkeletonData.js +34 -34
- package/dist/resource/geometry/TriJointBinding.js +38 -38
- package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +46 -46
- package/dist/resource/geometry/TriRtGeometryConstants.js +88 -88
- package/dist/resource/geometry/granny/GStateBindingCallbackData.js +31 -31
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +60 -60
- package/dist/resource/geometry/granny/Tr2GrannyStateRes.js +36 -36
- package/dist/resource/geometry/granny/TriGrannyRes.js +35 -35
- package/dist/resource/geometry/granny/enums.js +10 -10
- package/dist/resource/geometry/granny/index.js +6 -6
- package/dist/resource/geometry/index.js +17 -17
- package/dist/resource/index.js +54 -54
- package/dist/resource/resourceBoundary.js +64 -64
- package/dist/resource/shader/Tr2EffectRes.js +336 -336
- package/dist/resource/shader/Tr2MaterialArea.js +31 -31
- package/dist/resource/shader/Tr2MaterialMesh.js +27 -27
- package/dist/resource/shader/Tr2MaterialRes.js +31 -31
- package/dist/resource/shader/Tr2Shader.js +283 -283
- package/dist/resource/shader/Tr2ShaderPermutation.js +43 -43
- package/dist/resource/shader/index.js +17 -17
- package/dist/resource/shader/reflection/Tr2EffectConstant.js +143 -143
- package/dist/resource/shader/reflection/Tr2EffectDefine.js +30 -30
- package/dist/resource/shader/reflection/Tr2EffectDescription.js +114 -114
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js +168 -168
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +125 -125
- package/dist/resource/shader/reflection/Tr2EffectResource.js +120 -120
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js +372 -372
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js +78 -78
- package/dist/resource/shader/reflection/Tr2Pass.js +168 -168
- package/dist/resource/shader/reflection/carbonRecordFields.js +159 -159
- package/dist/resource/shader/reflection/shaderStage.js +22 -22
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js +135 -135
- package/dist/resource/texture/CjsTextureArrayRes.js +472 -472
- package/dist/resource/texture/CjsTextureArrayResParameterProxy.js +179 -179
- package/dist/resource/texture/Tr2ImageRes.js +120 -120
- package/dist/resource/texture/Tr2TextureLodManager.js +82 -82
- package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +37 -37
- package/dist/resource/texture/Tr2TexturePackChannel.js +37 -37
- package/dist/resource/texture/Tr2TexturePipeline.js +54 -54
- package/dist/resource/texture/Tr2TexturePipelineParams.js +34 -34
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +40 -40
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +22 -22
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +34 -34
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +31 -31
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js +43 -43
- package/dist/resource/texture/TriTextureRes.js +359 -359
- package/dist/resource/texture/index.js +15 -15
- package/dist/resource/texture/texturePipelineBehavior.js +308 -308
- package/dist/worker/CjsResManMainThreadLoader.js +89 -89
- package/dist/worker/CjsResManWorker.js +218 -218
- package/dist/worker/CjsResManWorkerLoader.js +437 -437
- package/dist/worker/protocol.js +12 -12
- package/docs/README.md +98 -98
- package/docs/architecture.md +118 -118
- package/docs/concepts/resource-lifecycle.md +226 -226
- package/docs/concepts/shader-resource-model.md +111 -111
- package/docs/concepts/writing-an-engine-adapter.md +115 -115
- package/docs/formats/README.md +138 -138
- package/docs/formats/carbon-effect-container.md +553 -553
- package/docs/formats/dxbc/README.md +68 -68
- package/docs/formats/dxbc/architecture.md +80 -80
- package/docs/formats/dxbc/reference/api.md +105 -77
- package/docs/formats/dxbc/reference/classes/README.md +9 -9
- package/docs/formats/dxbc/reference/decoded-output.md +122 -122
- package/docs/formats/gr2.md +160 -160
- package/docs/formats/hlsl/README.md +54 -54
- package/docs/formats/hlsl/architecture.md +66 -65
- package/docs/formats/hlsl/guides/hydrating-json-output.md +60 -60
- package/docs/formats/hlsl/guides/reading-effects.md +68 -64
- package/docs/formats/hlsl/reference/advanced-analysis.md +61 -61
- package/docs/formats/hlsl/reference/api.md +91 -92
- package/docs/formats/hlsl/reference/classes/README.md +11 -11
- package/docs/formats/hlsl/reference/json-graph.md +97 -97
- package/docs/formats/pickle.md +82 -82
- package/docs/formats/provenance.md +196 -196
- package/docs/formats/stl.md +37 -37
- package/docs/formats/webgl/README.md +115 -115
- package/docs/formats/webgl/architecture.md +69 -69
- package/docs/formats/webgl/carbon-constant-layouts.md +326 -326
- package/docs/formats/webgl/decl-io.md +1234 -1234
- package/docs/formats/webgl/memory-structured.md +890 -890
- package/docs/formats/webgl/reference/classes/README.md +9 -9
- package/docs/formats/webgl/texture-sample.md +964 -964
- package/docs/formats/webgpu/README.md +84 -84
- package/docs/formats/webgpu/architecture.md +95 -95
- package/docs/formats/webgpu/formats/carbon-webgpu.md +215 -215
- package/docs/formats/webgpu/guides/effect-packaging.md +189 -189
- package/docs/formats/webgpu/reference/api.md +196 -196
- package/docs/formats/webgpu/reference/classes/README.md +9 -9
- package/docs/formats/webgpu/reference/wgsl-compatibility.md +1546 -1546
- package/docs/formats/wwise.md +146 -146
- package/docs/reference/classes/README.md +35 -35
- package/docs/reference/classes/audio.md +30 -30
- package/docs/reference/classes/core.md +216 -216
- package/docs/reference/classes/dropped.md +46 -46
- package/docs/reference/classes/formats.md +944 -944
- package/docs/reference/classes/resources.md +456 -456
- package/docs/reference/classes/texture.md +26 -26
- package/docs/reference/events.md +117 -117
- package/docs/reference/motherlode-cache.md +275 -275
- package/docs/reference/queues.md +194 -194
- package/docs/reference/reload.md +107 -107
- package/docs/reference/texture-arrays.md +113 -113
- package/docs/reference/texture-pipeline.md +53 -53
- package/docs/reference/workers.md +142 -142
- package/docs/roadmap.md +150 -150
- package/format-notices/black/LICENSE +21 -21
- package/format-notices/black/NOTICE +47 -47
- package/format-notices/bnk/LICENSE +21 -21
- package/format-notices/bnk/NOTICE +21 -21
- package/format-notices/cmf/LICENSE +21 -21
- package/format-notices/cmf/NOTICE +36 -36
- package/format-notices/dds/LICENSE +21 -21
- package/format-notices/dds/NOTICE +14 -14
- package/format-notices/dxbc/LICENSE +21 -21
- package/format-notices/dxbc/NOTICE +20 -20
- package/format-notices/fbx/LICENSE +21 -21
- package/format-notices/fbx/NOTICE +14 -14
- package/format-notices/flac/LICENSE +21 -21
- package/format-notices/flac/NOTICE +14 -14
- package/format-notices/gif/LICENSE +21 -21
- package/format-notices/gif/NOTICE +14 -14
- package/format-notices/gltf/LICENSE +21 -21
- package/format-notices/gltf/NOTICE +27 -27
- package/format-notices/gr2/LICENSE +21 -21
- package/format-notices/gr2/NOTICE +60 -60
- package/format-notices/gr2/THIRD-PARTY-NOTICES.md +93 -93
- package/format-notices/hlsl/LICENSE +21 -21
- package/format-notices/hlsl/NOTICE +25 -25
- package/format-notices/jpeg/LICENSE +21 -21
- package/format-notices/jpeg/NOTICE +14 -14
- package/format-notices/mp3/LICENSE +21 -21
- package/format-notices/mp3/NOTICE +14 -14
- package/format-notices/mp4/LICENSE +21 -21
- package/format-notices/mp4/NOTICE +14 -14
- package/format-notices/obj/LICENSE +21 -21
- package/format-notices/obj/NOTICE +26 -26
- package/format-notices/ogg/LICENSE +21 -21
- package/format-notices/ogg/NOTICE +28 -28
- package/format-notices/png/LICENSE +21 -21
- package/format-notices/png/NOTICE +14 -14
- package/format-notices/red/LICENSE +21 -21
- package/format-notices/red/NOTICE +31 -31
- package/format-notices/stl/LICENSE +21 -21
- package/format-notices/stl/NOTICE +21 -21
- package/format-notices/tga/LICENSE +21 -21
- package/format-notices/tga/NOTICE +14 -14
- package/format-notices/wav/LICENSE +21 -21
- package/format-notices/wav/NOTICE +14 -14
- package/format-notices/webgl/LICENSE +21 -21
- package/format-notices/webgl/NOTICE +35 -35
- package/format-notices/webgpu/LICENSE +21 -21
- package/format-notices/webgpu/NOTICE +31 -31
- package/format-notices/webm/LICENSE +21 -21
- package/format-notices/webm/NOTICE +14 -14
- package/format-notices/webp/LICENSE +21 -21
- package/format-notices/webp/NOTICE +14 -14
- package/format-notices/wem/LICENSE +57 -57
- package/format-notices/wem/NOTICE +33 -33
- package/format-notices/yaml/LICENSE +21 -21
- package/format-notices/yaml/NOTICE +44 -44
- package/package.json +63 -63
|
@@ -1,98 +1,98 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Post-emission fixups for the packed local-light path.
|
|
3
|
-
*
|
|
4
|
-
* Both correct a real hazard rather than a cosmetic one, and both used to live
|
|
5
|
-
* in the CLI packager where only its legacy diagnostic path applied them. That
|
|
6
|
-
* meant asking for packed lights through the library produced GLSL missing both.
|
|
7
|
-
* They belong on the shared emission path so every caller gets them.
|
|
8
|
-
*
|
|
9
|
-
* These are textual rewrites over emitted GLSL, which is not where this logic
|
|
10
|
-
* ideally lives — the emitter should not produce the idiom in the first place.
|
|
11
|
-
* Moving them is a faithful transfer, not an endorsement of the technique.
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Keeps packed local-light enabled-flag tests in integer space.
|
|
16
|
-
*
|
|
17
|
-
* The emitter represents structured-buffer uint lanes in vec registers by
|
|
18
|
-
* round-tripping through uintBitsToFloat/floatBitsToUint. The translated
|
|
19
|
-
* Carbon light flag idiom can otherwise become:
|
|
20
|
-
*
|
|
21
|
-
* mask = uintBitsToFloat(floatBitsToUint(flags) & 65536u);
|
|
22
|
-
* mask = uintBitsToFloat((floatBitsToInt(mask) != 0) ? 0xFFFFFFFFu : 0u);
|
|
23
|
-
*
|
|
24
|
-
* For packed light texture fetches, collapse that to a direct uint mask test
|
|
25
|
-
* while preserving the downstream float-mask representation.
|
|
26
|
-
*
|
|
27
|
-
* @param {string} source GLSL source.
|
|
28
|
-
* @param {object} record Shader record.
|
|
29
|
-
* @returns {string} Rewritten GLSL source.
|
|
30
|
-
*/
|
|
31
|
-
function fixPackedLightFlagMask(source, record) {
|
|
32
|
-
if (record?.stageName !== "pixel" || !source.includes("cjsLocalLightTexture")) return source;
|
|
33
|
-
return source.replace(/(\s*)([A-Za-z_][A-Za-z0-9_]*(?:\.[xyzw])?) = uintBitsToFloat\(floatBitsToUint\(([^;\r\n]+?)\) & 65536u\);\r?\n\s*\2 = uintBitsToFloat\(\(floatBitsToInt\(\2\) != 0\) \? 0xFFFFFFFFu : 0u\);/g, (_match, indent, maskTarget, flagsSource) => `${indent}${maskTarget} = uintBitsToFloat(((floatBitsToUint(${flagsSource}) & 65536u) != 0u) ? 1u : 0u);`);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Keeps the packed local-light combined radius/enabled mask out of float
|
|
38
|
-
* registers when it is immediately used for branch control.
|
|
39
|
-
*
|
|
40
|
-
* The all-bits mask value 0xFFFFFFFF is a NaN if stored through
|
|
41
|
-
* uintBitsToFloat. Some drivers preserve the raw bits, but branch control
|
|
42
|
-
* should not depend on NaN payload preservation.
|
|
43
|
-
*
|
|
44
|
-
* @param {string} source GLSL source.
|
|
45
|
-
* @param {object} record Shader record.
|
|
46
|
-
* @returns {string} Rewritten GLSL source.
|
|
47
|
-
*/
|
|
48
|
-
function fixPackedLightAcceptedMask(source, record) {
|
|
49
|
-
if (record?.stageName !== "pixel" || !source.includes("cjsLocalLightTexture")) return source;
|
|
50
|
-
const directAccepted = source.replace(/(\s*)[A-Za-z_][A-Za-z0-9_]*(?:\.[xyzw])? = uintBitsToFloat\(\(([^;\r\n]+?)\) \? (?:0xFFFFFFFFu|1u) : 0u\);\r?\n\s*[A-Za-z_][A-Za-z0-9_]*(?:\.[xyzw])? = uintBitsToFloat\(\(floatBitsToUint\(([^;\r\n]+?)\) & 65536u\) != 0u\) \? (?:0xFFFFFFFFu|1u) : 0u\);\r?\n\s*[A-Za-z_][A-Za-z0-9_]*(?:\.[xyzw])? = uintBitsToFloat\(floatBitsToUint\([^)]+\) & floatBitsToUint\([^)]+\)\);\r?\n\s*if \(floatBitsToUint\([^)]+\) != 0u\) \{/g, (_match, indent, radiusCondition, flagsSource) => {
|
|
51
|
-
const flagTest = buildPackedLightFlagUintTest(source, flagsSource);
|
|
52
|
-
return `${indent}if ((${radiusCondition}) && (${flagTest})) {`;
|
|
53
|
-
});
|
|
54
|
-
const directMaskBranch = directAccepted.replace(/(\s*)([A-Za-z_][A-Za-z0-9_]*(?:\.[xyzw])?) = uintBitsToFloat\(floatBitsToUint\(([^)]+)\) & floatBitsToUint\(([^)]+)\)\);\r?\n\s*if \(floatBitsToUint\(\2\) != 0u\) \{/g, (_match, indent, _target, leftMask, rightMask) => `${indent}if ((floatBitsToUint(${leftMask}) & floatBitsToUint(${rightMask})) != 0u) {`);
|
|
55
|
-
return directMaskBranch.replace(/(\s*)[A-Za-z_][A-Za-z0-9_]*(?:\.[xyzw])? = uintBitsToFloat\(\(([^;\r\n]+?)\) \? 0xFFFFFFFFu : 0u\);\r?\n\s*[A-Za-z_][A-Za-z0-9_]*(?:\.[xyzw])? = uintBitsToFloat\(\(\(floatBitsToUint\(([^;\r\n]+?)\) & 65536u\) != 0u\) \? 1u : 0u\);\r?\n\s*if \(\(floatBitsToUint\([^)]+\) & floatBitsToUint\([^)]+\)\) != 0u\) \{/g, (_match, indent, radiusCondition, flagsSource) => {
|
|
56
|
-
const flagTest = buildPackedLightFlagUintTest(source, flagsSource);
|
|
57
|
-
return `${indent}if ((${radiusCondition}) && (${flagTest})) {`;
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
/**
|
|
62
|
-
* Builds a direct uint flag test for a packed light flag register when possible.
|
|
63
|
-
*
|
|
64
|
-
* @param {string} source GLSL source.
|
|
65
|
-
* @param {string} flagsSource Float register expression carrying row1.w.
|
|
66
|
-
* @returns {string} GLSL boolean expression.
|
|
67
|
-
*/
|
|
68
|
-
function buildPackedLightFlagUintTest(source, flagsSource) {
|
|
69
|
-
const escaped = flagsSource.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
70
|
-
const assignPattern = new RegExp(`${escaped}\\s*=\\s*uintBitsToFloat\\((texelFetch\\(cjsLocalLightTexture,[^;\\r\\n]+\\[[^;\\r\\n]+\\])\\);`);
|
|
71
|
-
const match = assignPattern.exec(source);
|
|
72
|
-
return match ? `((${match[1]}) & 65536u) != 0u` : `(floatBitsToUint(${flagsSource}) & 65536u) != 0u`;
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
/**
|
|
76
|
-
* Applies temporary packed-light fragment debug paints.
|
|
77
|
-
*
|
|
78
|
-
* @param {string} source GLSL source.
|
|
79
|
-
* @param {object} record Shader record.
|
|
80
|
-
* @param {object} args Parsed options.
|
|
81
|
-
* @returns {string} Debug-painted GLSL source.
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Applies every packed local-light fixup, in order.
|
|
85
|
-
*
|
|
86
|
-
* @param {string} source Emitted GLSL source.
|
|
87
|
-
* @param {string} stageName Emitted stage name.
|
|
88
|
-
* @returns {string} Fixed GLSL source.
|
|
89
|
-
*/
|
|
90
|
-
function applyPackedLightFixups(source, stageName) {
|
|
91
|
-
const record = {
|
|
92
|
-
stageName
|
|
93
|
-
};
|
|
94
|
-
return fixPackedLightAcceptedMask(fixPackedLightFlagMask(source, record), record);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
export { applyPackedLightFixups, fixPackedLightAcceptedMask, fixPackedLightFlagMask };
|
|
98
|
-
//# sourceMappingURL=packedLightFixups.js.map
|
|
1
|
+
/**
|
|
2
|
+
* Post-emission fixups for the packed local-light path.
|
|
3
|
+
*
|
|
4
|
+
* Both correct a real hazard rather than a cosmetic one, and both used to live
|
|
5
|
+
* in the CLI packager where only its legacy diagnostic path applied them. That
|
|
6
|
+
* meant asking for packed lights through the library produced GLSL missing both.
|
|
7
|
+
* They belong on the shared emission path so every caller gets them.
|
|
8
|
+
*
|
|
9
|
+
* These are textual rewrites over emitted GLSL, which is not where this logic
|
|
10
|
+
* ideally lives — the emitter should not produce the idiom in the first place.
|
|
11
|
+
* Moving them is a faithful transfer, not an endorsement of the technique.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Keeps packed local-light enabled-flag tests in integer space.
|
|
16
|
+
*
|
|
17
|
+
* The emitter represents structured-buffer uint lanes in vec registers by
|
|
18
|
+
* round-tripping through uintBitsToFloat/floatBitsToUint. The translated
|
|
19
|
+
* Carbon light flag idiom can otherwise become:
|
|
20
|
+
*
|
|
21
|
+
* mask = uintBitsToFloat(floatBitsToUint(flags) & 65536u);
|
|
22
|
+
* mask = uintBitsToFloat((floatBitsToInt(mask) != 0) ? 0xFFFFFFFFu : 0u);
|
|
23
|
+
*
|
|
24
|
+
* For packed light texture fetches, collapse that to a direct uint mask test
|
|
25
|
+
* while preserving the downstream float-mask representation.
|
|
26
|
+
*
|
|
27
|
+
* @param {string} source GLSL source.
|
|
28
|
+
* @param {object} record Shader record.
|
|
29
|
+
* @returns {string} Rewritten GLSL source.
|
|
30
|
+
*/
|
|
31
|
+
function fixPackedLightFlagMask(source, record) {
|
|
32
|
+
if (record?.stageName !== "pixel" || !source.includes("cjsLocalLightTexture")) return source;
|
|
33
|
+
return source.replace(/(\s*)([A-Za-z_][A-Za-z0-9_]*(?:\.[xyzw])?) = uintBitsToFloat\(floatBitsToUint\(([^;\r\n]+?)\) & 65536u\);\r?\n\s*\2 = uintBitsToFloat\(\(floatBitsToInt\(\2\) != 0\) \? 0xFFFFFFFFu : 0u\);/g, (_match, indent, maskTarget, flagsSource) => `${indent}${maskTarget} = uintBitsToFloat(((floatBitsToUint(${flagsSource}) & 65536u) != 0u) ? 1u : 0u);`);
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Keeps the packed local-light combined radius/enabled mask out of float
|
|
38
|
+
* registers when it is immediately used for branch control.
|
|
39
|
+
*
|
|
40
|
+
* The all-bits mask value 0xFFFFFFFF is a NaN if stored through
|
|
41
|
+
* uintBitsToFloat. Some drivers preserve the raw bits, but branch control
|
|
42
|
+
* should not depend on NaN payload preservation.
|
|
43
|
+
*
|
|
44
|
+
* @param {string} source GLSL source.
|
|
45
|
+
* @param {object} record Shader record.
|
|
46
|
+
* @returns {string} Rewritten GLSL source.
|
|
47
|
+
*/
|
|
48
|
+
function fixPackedLightAcceptedMask(source, record) {
|
|
49
|
+
if (record?.stageName !== "pixel" || !source.includes("cjsLocalLightTexture")) return source;
|
|
50
|
+
const directAccepted = source.replace(/(\s*)[A-Za-z_][A-Za-z0-9_]*(?:\.[xyzw])? = uintBitsToFloat\(\(([^;\r\n]+?)\) \? (?:0xFFFFFFFFu|1u) : 0u\);\r?\n\s*[A-Za-z_][A-Za-z0-9_]*(?:\.[xyzw])? = uintBitsToFloat\(\(floatBitsToUint\(([^;\r\n]+?)\) & 65536u\) != 0u\) \? (?:0xFFFFFFFFu|1u) : 0u\);\r?\n\s*[A-Za-z_][A-Za-z0-9_]*(?:\.[xyzw])? = uintBitsToFloat\(floatBitsToUint\([^)]+\) & floatBitsToUint\([^)]+\)\);\r?\n\s*if \(floatBitsToUint\([^)]+\) != 0u\) \{/g, (_match, indent, radiusCondition, flagsSource) => {
|
|
51
|
+
const flagTest = buildPackedLightFlagUintTest(source, flagsSource);
|
|
52
|
+
return `${indent}if ((${radiusCondition}) && (${flagTest})) {`;
|
|
53
|
+
});
|
|
54
|
+
const directMaskBranch = directAccepted.replace(/(\s*)([A-Za-z_][A-Za-z0-9_]*(?:\.[xyzw])?) = uintBitsToFloat\(floatBitsToUint\(([^)]+)\) & floatBitsToUint\(([^)]+)\)\);\r?\n\s*if \(floatBitsToUint\(\2\) != 0u\) \{/g, (_match, indent, _target, leftMask, rightMask) => `${indent}if ((floatBitsToUint(${leftMask}) & floatBitsToUint(${rightMask})) != 0u) {`);
|
|
55
|
+
return directMaskBranch.replace(/(\s*)[A-Za-z_][A-Za-z0-9_]*(?:\.[xyzw])? = uintBitsToFloat\(\(([^;\r\n]+?)\) \? 0xFFFFFFFFu : 0u\);\r?\n\s*[A-Za-z_][A-Za-z0-9_]*(?:\.[xyzw])? = uintBitsToFloat\(\(\(floatBitsToUint\(([^;\r\n]+?)\) & 65536u\) != 0u\) \? 1u : 0u\);\r?\n\s*if \(\(floatBitsToUint\([^)]+\) & floatBitsToUint\([^)]+\)\) != 0u\) \{/g, (_match, indent, radiusCondition, flagsSource) => {
|
|
56
|
+
const flagTest = buildPackedLightFlagUintTest(source, flagsSource);
|
|
57
|
+
return `${indent}if ((${radiusCondition}) && (${flagTest})) {`;
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Builds a direct uint flag test for a packed light flag register when possible.
|
|
63
|
+
*
|
|
64
|
+
* @param {string} source GLSL source.
|
|
65
|
+
* @param {string} flagsSource Float register expression carrying row1.w.
|
|
66
|
+
* @returns {string} GLSL boolean expression.
|
|
67
|
+
*/
|
|
68
|
+
function buildPackedLightFlagUintTest(source, flagsSource) {
|
|
69
|
+
const escaped = flagsSource.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
70
|
+
const assignPattern = new RegExp(`${escaped}\\s*=\\s*uintBitsToFloat\\((texelFetch\\(cjsLocalLightTexture,[^;\\r\\n]+\\[[^;\\r\\n]+\\])\\);`);
|
|
71
|
+
const match = assignPattern.exec(source);
|
|
72
|
+
return match ? `((${match[1]}) & 65536u) != 0u` : `(floatBitsToUint(${flagsSource}) & 65536u) != 0u`;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
/**
|
|
76
|
+
* Applies temporary packed-light fragment debug paints.
|
|
77
|
+
*
|
|
78
|
+
* @param {string} source GLSL source.
|
|
79
|
+
* @param {object} record Shader record.
|
|
80
|
+
* @param {object} args Parsed options.
|
|
81
|
+
* @returns {string} Debug-painted GLSL source.
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* Applies every packed local-light fixup, in order.
|
|
85
|
+
*
|
|
86
|
+
* @param {string} source Emitted GLSL source.
|
|
87
|
+
* @param {string} stageName Emitted stage name.
|
|
88
|
+
* @returns {string} Fixed GLSL source.
|
|
89
|
+
*/
|
|
90
|
+
function applyPackedLightFixups(source, stageName) {
|
|
91
|
+
const record = {
|
|
92
|
+
stageName
|
|
93
|
+
};
|
|
94
|
+
return fixPackedLightAcceptedMask(fixPackedLightFlagMask(source, record), record);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export { applyPackedLightFixups, fixPackedLightAcceptedMask, fixPackedLightFlagMask };
|
|
98
|
+
//# sourceMappingURL=packedLightFixups.js.map
|