@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
package/docs/formats/wwise.md
CHANGED
|
@@ -1,146 +1,146 @@
|
|
|
1
|
-
# Wwise soundbanks and media
|
|
2
|
-
|
|
3
|
-
Status: Evolving
|
|
4
|
-
Scope: `@carbonenginejs/runtime-resource/formats/bnk`, `@carbonenginejs/runtime-resource/formats/wem`
|
|
5
|
-
Audience: Users and integrators
|
|
6
|
-
Summary: Defines the Wwise container inspection, event/media graph extraction, and WEM conversion contracts.
|
|
7
|
-
|
|
8
|
-
## Scope
|
|
9
|
-
|
|
10
|
-
`formats/bnk` and `formats/wem` cover Wwise container inspection, event/media
|
|
11
|
-
graph extraction, embedded-member access, and the currently supported WEM
|
|
12
|
-
conversion routes. They do not own AudioBuffer construction, playback, audio
|
|
13
|
-
manager behavior, or decoded-backend retention.
|
|
14
|
-
|
|
15
|
-
## Soundbank inspection
|
|
16
|
-
|
|
17
|
-
`CjsBnkFormat.inspect()` decodes the chunk map, embedded media index, bank
|
|
18
|
-
names, and the HIRC listing with version-stable typed fields (event action
|
|
19
|
-
lists, action type/target, sound and music-track source ids). For bank
|
|
20
|
-
generator version 150, recognized Event Actions additionally expose exact
|
|
21
|
-
scope/mode, property and range bundles, delay/transition/probability values,
|
|
22
|
-
fade and action flags, exceptions, and Play bank identities. The
|
|
23
|
-
recognized action-specific tails include Voice Volume/Pitch, Bus Volume, and
|
|
24
|
-
Voice low-pass/high-pass values,
|
|
25
|
-
Set State/Switch group/value identities, and Set/Reset Game Parameter values,
|
|
26
|
-
scopes, absolute/relative meaning, default, randomized delay/transition,
|
|
27
|
-
curve, transition-bypass flag, and exceptions. Voice property actions retain
|
|
28
|
-
the real variable-length exception records after their value bundle; timing
|
|
29
|
-
randomizers in the common property bundle are accepted independently of the
|
|
30
|
-
action-specific value randomizer. These fields are preserved by the reader
|
|
31
|
-
even when the currently inspected EVE corpus uses only a subset.
|
|
32
|
-
The Wwise-domain toolkit is grouped under the `CjsBnkFormat.wwise` static: the
|
|
33
|
-
SoundbanksInfo catalog helpers, the FNV-1 id hash, event-to-media resolution,
|
|
34
|
-
typed Global Settings and Event Actions, and typed authored-SFX nodes:
|
|
35
|
-
|
|
36
|
-
```js
|
|
37
|
-
import { CjsBnkFormat } from "@carbonenginejs/runtime-resource/formats/bnk";
|
|
38
|
-
import { CjsWemFormat } from "@carbonenginejs/runtime-resource/formats/wem";
|
|
39
|
-
|
|
40
|
-
const inspections = bankByteArrays.map(bytes => CjsBnkFormat.inspect(bytes));
|
|
41
|
-
const action = CjsBnkFormat.wwise.parseEventAction(actionPayload, {
|
|
42
|
-
bankVersion: 150
|
|
43
|
-
});
|
|
44
|
-
const globalSettings = CjsBnkFormat.wwise.parseGlobalSettings(stmgPayload, {
|
|
45
|
-
bankVersion: 150
|
|
46
|
-
});
|
|
47
|
-
const { eventMedia } = CjsBnkFormat.wwise.eventMediaFromBanks(inspections);
|
|
48
|
-
// eventMedia: Map<eventObjectId, Set<wemId>> - banks may split events from
|
|
49
|
-
// their target sounds, so pass every related bank to one call.
|
|
50
|
-
|
|
51
|
-
const {
|
|
52
|
-
nodes,
|
|
53
|
-
nodeBases,
|
|
54
|
-
actorMixers,
|
|
55
|
-
attenuations,
|
|
56
|
-
events,
|
|
57
|
-
actions,
|
|
58
|
-
diagnostics
|
|
59
|
-
} = CjsBnkFormat.wwise.sfxNodesFromBanks(inspections);
|
|
60
|
-
|
|
61
|
-
const { nodes: musicNodes } =
|
|
62
|
-
CjsBnkFormat.wwise.musicNodesFromBanks(inspections);
|
|
63
|
-
// Every v150 music node retains its common NodeBase routing and property
|
|
64
|
-
// data. Track lookAheadTime is the authored signed millisecond value.
|
|
65
|
-
|
|
66
|
-
const { buses } = CjsBnkFormat.wwise.busNodesFromBanks(inspections);
|
|
67
|
-
// buses: Map<busId, { type, overrideBusId, outputDeviceId, properties,
|
|
68
|
-
// busVolume, makeUpGain, outputBusVolume, aux, ducks,
|
|
69
|
-
// fx, metadata, rtpcs, state }>
|
|
70
|
-
|
|
71
|
-
const { effects } = CjsBnkFormat.wwise.effectNodesFromBanks(inspections);
|
|
72
|
-
// effects: Map<effectId, { type, pluginId, parameterBlock, media,
|
|
73
|
-
// rtpcs, state, propertyValues }>
|
|
74
|
-
|
|
75
|
-
const ogg = CjsWemFormat.toOgg(wemBytes); // Wwise Vorbis -> Ogg (lossless)
|
|
76
|
-
const pcm = CjsWemFormat.toPcm(wemBytes); // PTADPCM / 16-bit PCM -> float32
|
|
77
|
-
```
|
|
78
|
-
|
|
79
|
-
The read/inspect path stays a pure container reader;
|
|
80
|
-
`wwise.eventMediaFromBanks` is graph interpretation offered for consumers
|
|
81
|
-
with their own engines — the resource lifecycle never calls it.
|
|
82
|
-
|
|
83
|
-
The undecoded-container ID scan used by `eventMediaFromBanks` is diagnostic
|
|
84
|
-
reachability, not an authoritative playback program. Consumers requiring
|
|
85
|
-
audible correctness should use the typed `sfxNodesFromBanks` graph and fail
|
|
86
|
-
closed for unsupported events.
|
|
87
|
-
|
|
88
|
-
Typed authored-SFX tail decoding is deliberately pinned to bank generator
|
|
89
|
-
version 150. Recognized Event Actions are accepted only when the whole body
|
|
90
|
-
is consumed; unknown, truncated, other-version, or trailing-byte bodies retain
|
|
91
|
-
their shallow action type/target and raw payload, with `action: null`.
|
|
92
|
-
The v150 Voice Pitch, Volume, Bus Volume, LPF, and HPF action sets retain their
|
|
93
|
-
wwiser-corroborated element Set/Reset and available All/All-Except Reset
|
|
94
|
-
aliases. The inspected EVE CCP build 3453885 `Common.bnk` uses 47 LPF/HPF
|
|
95
|
-
actions, all
|
|
96
|
-
game-object-scoped element actions with non-bus targets; the broader aliases
|
|
97
|
-
remain structurally decoded so future banks do not lose valid action data.
|
|
98
|
-
The same bank uses 22 global element Bus Volume actions across 11 events:
|
|
99
|
-
21 Sets and one Reset targeting the `Music` and `Engines_Warp` buses. The
|
|
100
|
-
object-scoped Set/Reset and global Reset All/All-Except aliases remain decoded;
|
|
101
|
-
the nonexistent v150 game-object Reset All/All-Except aliases remain
|
|
102
|
-
unsupported.
|
|
103
|
-
Their runtime policy is owned by `runtime-audio`, not this container reader.
|
|
104
|
-
Exact v150 STMG chunks attach `globalSettings` to an inspection and expose
|
|
105
|
-
state groups and custom transitions, switch groups and graph points, RTPC
|
|
106
|
-
defaults and ramp policies, built-in parameter bindings, acoustic textures,
|
|
107
|
-
and the global voice/filter settings. Numeric enum values and both directional
|
|
108
|
-
ramp values are retained even when current EVE events do not exercise them.
|
|
109
|
-
Invalid, duplicate, truncated, other-version, or trailing-byte STMG payloads
|
|
110
|
-
leave `globalSettings: null`; their raw chunk records remain available in
|
|
111
|
-
`chunks`.
|
|
112
|
-
`nodes` contains playable Sound, Random/Sequence, Switch/State, and Layer
|
|
113
|
-
objects. The separate `nodeBases` map preserves common authored properties
|
|
114
|
-
and positioning facts for playable nodes and Actor-Mixers.
|
|
115
|
-
`actorMixers` contains HIRC type 7 hierarchy objects; they are inheritance
|
|
116
|
-
parents, not playable parallel containers. `attenuations` contains raw HIRC
|
|
117
|
-
type 14 cone data, signed curve-slot assignments, graph points, and RTPCs
|
|
118
|
-
without assigning application meaning to a curve.
|
|
119
|
-
|
|
120
|
-
Unsupported versions, failed exact-end anchors, ambiguities, NodeBase
|
|
121
|
-
failures, and duplicate object identities are reported through `diagnostics`
|
|
122
|
-
instead of being guessed. Consumers may resolve hierarchy and project
|
|
123
|
-
runtime-specific metadata from these raw facts. In particular, this format
|
|
124
|
-
layer does not infer a numeric maximum radius from an attenuation curve. Like
|
|
125
|
-
`eventMediaFromBanks`, `sfxNodesFromBanks` is consumer-facing graph
|
|
126
|
-
interpretation; the resource lifecycle never calls it.
|
|
127
|
-
|
|
128
|
-
`busNodesFromBanks` recognizes only v150 HIRC 8 Audio Bus and HIRC 18
|
|
129
|
-
Auxiliary Bus records. It preserves the complete qualified body: ancestry and
|
|
130
|
-
root output device, the initial property bundle (including absent versus
|
|
131
|
-
authored-zero gain values), positioning and auxiliary targets, bus policy and
|
|
132
|
-
channel configuration, HDR settings, duck rules, ordered effect and metadata
|
|
133
|
-
references, RTPC curves, and state values. HIRC 19 is an LFO in this version
|
|
134
|
-
and is not treated as a bus. The typed records preserve authored facts; they do
|
|
135
|
-
not claim runtime mixing, ducking, or plug-in realization.
|
|
136
|
-
|
|
137
|
-
`effectNodesFromBanks` recognizes v150 HIRC 16 Fx ShareSet and HIRC 17 Fx
|
|
138
|
-
Custom records. It preserves the plug-in identity and opaque parameter block,
|
|
139
|
-
media index-to-source mappings, RTPC curves, state values, and initial plug-in
|
|
140
|
-
property values. Opaque parameter bytes are intentional: a consumer must
|
|
141
|
-
qualify each plug-in's DSP behavior before interpreting them.
|
|
142
|
-
|
|
143
|
-
## Related documentation
|
|
144
|
-
|
|
145
|
-
- [Format subpaths](README.md)
|
|
146
|
-
- [Format ownership and fork provenance](provenance.md)
|
|
1
|
+
# Wwise soundbanks and media
|
|
2
|
+
|
|
3
|
+
Status: Evolving
|
|
4
|
+
Scope: `@carbonenginejs/runtime-resource/formats/bnk`, `@carbonenginejs/runtime-resource/formats/wem`
|
|
5
|
+
Audience: Users and integrators
|
|
6
|
+
Summary: Defines the Wwise container inspection, event/media graph extraction, and WEM conversion contracts.
|
|
7
|
+
|
|
8
|
+
## Scope
|
|
9
|
+
|
|
10
|
+
`formats/bnk` and `formats/wem` cover Wwise container inspection, event/media
|
|
11
|
+
graph extraction, embedded-member access, and the currently supported WEM
|
|
12
|
+
conversion routes. They do not own AudioBuffer construction, playback, audio
|
|
13
|
+
manager behavior, or decoded-backend retention.
|
|
14
|
+
|
|
15
|
+
## Soundbank inspection
|
|
16
|
+
|
|
17
|
+
`CjsBnkFormat.inspect()` decodes the chunk map, embedded media index, bank
|
|
18
|
+
names, and the HIRC listing with version-stable typed fields (event action
|
|
19
|
+
lists, action type/target, sound and music-track source ids). For bank
|
|
20
|
+
generator version 150, recognized Event Actions additionally expose exact
|
|
21
|
+
scope/mode, property and range bundles, delay/transition/probability values,
|
|
22
|
+
fade and action flags, exceptions, and Play bank identities. The
|
|
23
|
+
recognized action-specific tails include Voice Volume/Pitch, Bus Volume, and
|
|
24
|
+
Voice low-pass/high-pass values,
|
|
25
|
+
Set State/Switch group/value identities, and Set/Reset Game Parameter values,
|
|
26
|
+
scopes, absolute/relative meaning, default, randomized delay/transition,
|
|
27
|
+
curve, transition-bypass flag, and exceptions. Voice property actions retain
|
|
28
|
+
the real variable-length exception records after their value bundle; timing
|
|
29
|
+
randomizers in the common property bundle are accepted independently of the
|
|
30
|
+
action-specific value randomizer. These fields are preserved by the reader
|
|
31
|
+
even when the currently inspected EVE corpus uses only a subset.
|
|
32
|
+
The Wwise-domain toolkit is grouped under the `CjsBnkFormat.wwise` static: the
|
|
33
|
+
SoundbanksInfo catalog helpers, the FNV-1 id hash, event-to-media resolution,
|
|
34
|
+
typed Global Settings and Event Actions, and typed authored-SFX nodes:
|
|
35
|
+
|
|
36
|
+
```js
|
|
37
|
+
import { CjsBnkFormat } from "@carbonenginejs/runtime-resource/formats/bnk";
|
|
38
|
+
import { CjsWemFormat } from "@carbonenginejs/runtime-resource/formats/wem";
|
|
39
|
+
|
|
40
|
+
const inspections = bankByteArrays.map(bytes => CjsBnkFormat.inspect(bytes));
|
|
41
|
+
const action = CjsBnkFormat.wwise.parseEventAction(actionPayload, {
|
|
42
|
+
bankVersion: 150
|
|
43
|
+
});
|
|
44
|
+
const globalSettings = CjsBnkFormat.wwise.parseGlobalSettings(stmgPayload, {
|
|
45
|
+
bankVersion: 150
|
|
46
|
+
});
|
|
47
|
+
const { eventMedia } = CjsBnkFormat.wwise.eventMediaFromBanks(inspections);
|
|
48
|
+
// eventMedia: Map<eventObjectId, Set<wemId>> - banks may split events from
|
|
49
|
+
// their target sounds, so pass every related bank to one call.
|
|
50
|
+
|
|
51
|
+
const {
|
|
52
|
+
nodes,
|
|
53
|
+
nodeBases,
|
|
54
|
+
actorMixers,
|
|
55
|
+
attenuations,
|
|
56
|
+
events,
|
|
57
|
+
actions,
|
|
58
|
+
diagnostics
|
|
59
|
+
} = CjsBnkFormat.wwise.sfxNodesFromBanks(inspections);
|
|
60
|
+
|
|
61
|
+
const { nodes: musicNodes } =
|
|
62
|
+
CjsBnkFormat.wwise.musicNodesFromBanks(inspections);
|
|
63
|
+
// Every v150 music node retains its common NodeBase routing and property
|
|
64
|
+
// data. Track lookAheadTime is the authored signed millisecond value.
|
|
65
|
+
|
|
66
|
+
const { buses } = CjsBnkFormat.wwise.busNodesFromBanks(inspections);
|
|
67
|
+
// buses: Map<busId, { type, overrideBusId, outputDeviceId, properties,
|
|
68
|
+
// busVolume, makeUpGain, outputBusVolume, aux, ducks,
|
|
69
|
+
// fx, metadata, rtpcs, state }>
|
|
70
|
+
|
|
71
|
+
const { effects } = CjsBnkFormat.wwise.effectNodesFromBanks(inspections);
|
|
72
|
+
// effects: Map<effectId, { type, pluginId, parameterBlock, media,
|
|
73
|
+
// rtpcs, state, propertyValues }>
|
|
74
|
+
|
|
75
|
+
const ogg = CjsWemFormat.toOgg(wemBytes); // Wwise Vorbis -> Ogg (lossless)
|
|
76
|
+
const pcm = CjsWemFormat.toPcm(wemBytes); // PTADPCM / 16-bit PCM -> float32
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
The read/inspect path stays a pure container reader;
|
|
80
|
+
`wwise.eventMediaFromBanks` is graph interpretation offered for consumers
|
|
81
|
+
with their own engines — the resource lifecycle never calls it.
|
|
82
|
+
|
|
83
|
+
The undecoded-container ID scan used by `eventMediaFromBanks` is diagnostic
|
|
84
|
+
reachability, not an authoritative playback program. Consumers requiring
|
|
85
|
+
audible correctness should use the typed `sfxNodesFromBanks` graph and fail
|
|
86
|
+
closed for unsupported events.
|
|
87
|
+
|
|
88
|
+
Typed authored-SFX tail decoding is deliberately pinned to bank generator
|
|
89
|
+
version 150. Recognized Event Actions are accepted only when the whole body
|
|
90
|
+
is consumed; unknown, truncated, other-version, or trailing-byte bodies retain
|
|
91
|
+
their shallow action type/target and raw payload, with `action: null`.
|
|
92
|
+
The v150 Voice Pitch, Volume, Bus Volume, LPF, and HPF action sets retain their
|
|
93
|
+
wwiser-corroborated element Set/Reset and available All/All-Except Reset
|
|
94
|
+
aliases. The inspected EVE CCP build 3453885 `Common.bnk` uses 47 LPF/HPF
|
|
95
|
+
actions, all
|
|
96
|
+
game-object-scoped element actions with non-bus targets; the broader aliases
|
|
97
|
+
remain structurally decoded so future banks do not lose valid action data.
|
|
98
|
+
The same bank uses 22 global element Bus Volume actions across 11 events:
|
|
99
|
+
21 Sets and one Reset targeting the `Music` and `Engines_Warp` buses. The
|
|
100
|
+
object-scoped Set/Reset and global Reset All/All-Except aliases remain decoded;
|
|
101
|
+
the nonexistent v150 game-object Reset All/All-Except aliases remain
|
|
102
|
+
unsupported.
|
|
103
|
+
Their runtime policy is owned by `runtime-audio`, not this container reader.
|
|
104
|
+
Exact v150 STMG chunks attach `globalSettings` to an inspection and expose
|
|
105
|
+
state groups and custom transitions, switch groups and graph points, RTPC
|
|
106
|
+
defaults and ramp policies, built-in parameter bindings, acoustic textures,
|
|
107
|
+
and the global voice/filter settings. Numeric enum values and both directional
|
|
108
|
+
ramp values are retained even when current EVE events do not exercise them.
|
|
109
|
+
Invalid, duplicate, truncated, other-version, or trailing-byte STMG payloads
|
|
110
|
+
leave `globalSettings: null`; their raw chunk records remain available in
|
|
111
|
+
`chunks`.
|
|
112
|
+
`nodes` contains playable Sound, Random/Sequence, Switch/State, and Layer
|
|
113
|
+
objects. The separate `nodeBases` map preserves common authored properties
|
|
114
|
+
and positioning facts for playable nodes and Actor-Mixers.
|
|
115
|
+
`actorMixers` contains HIRC type 7 hierarchy objects; they are inheritance
|
|
116
|
+
parents, not playable parallel containers. `attenuations` contains raw HIRC
|
|
117
|
+
type 14 cone data, signed curve-slot assignments, graph points, and RTPCs
|
|
118
|
+
without assigning application meaning to a curve.
|
|
119
|
+
|
|
120
|
+
Unsupported versions, failed exact-end anchors, ambiguities, NodeBase
|
|
121
|
+
failures, and duplicate object identities are reported through `diagnostics`
|
|
122
|
+
instead of being guessed. Consumers may resolve hierarchy and project
|
|
123
|
+
runtime-specific metadata from these raw facts. In particular, this format
|
|
124
|
+
layer does not infer a numeric maximum radius from an attenuation curve. Like
|
|
125
|
+
`eventMediaFromBanks`, `sfxNodesFromBanks` is consumer-facing graph
|
|
126
|
+
interpretation; the resource lifecycle never calls it.
|
|
127
|
+
|
|
128
|
+
`busNodesFromBanks` recognizes only v150 HIRC 8 Audio Bus and HIRC 18
|
|
129
|
+
Auxiliary Bus records. It preserves the complete qualified body: ancestry and
|
|
130
|
+
root output device, the initial property bundle (including absent versus
|
|
131
|
+
authored-zero gain values), positioning and auxiliary targets, bus policy and
|
|
132
|
+
channel configuration, HDR settings, duck rules, ordered effect and metadata
|
|
133
|
+
references, RTPC curves, and state values. HIRC 19 is an LFO in this version
|
|
134
|
+
and is not treated as a bus. The typed records preserve authored facts; they do
|
|
135
|
+
not claim runtime mixing, ducking, or plug-in realization.
|
|
136
|
+
|
|
137
|
+
`effectNodesFromBanks` recognizes v150 HIRC 16 Fx ShareSet and HIRC 17 Fx
|
|
138
|
+
Custom records. It preserves the plug-in identity and opaque parameter block,
|
|
139
|
+
media index-to-source mappings, RTPC curves, state values, and initial plug-in
|
|
140
|
+
property values. Opaque parameter bytes are intentional: a consumer must
|
|
141
|
+
qualify each plug-in's DSP behavior before interpreting them.
|
|
142
|
+
|
|
143
|
+
## Related documentation
|
|
144
|
+
|
|
145
|
+
- [Format subpaths](README.md)
|
|
146
|
+
- [Format ownership and fork provenance](provenance.md)
|
|
@@ -1,35 +1,35 @@
|
|
|
1
|
-
# Class catalog
|
|
2
|
-
|
|
3
|
-
Status: Evolving
|
|
4
|
-
Scope: `@carbonenginejs/runtime-resource` classes
|
|
5
|
-
Audience: Users, maintainers, and automated readers
|
|
6
|
-
Summary: Indexes the one-sentence purpose descriptors for every maintained class in the package.
|
|
7
|
-
|
|
8
|
-
## Purpose
|
|
9
|
-
|
|
10
|
-
Every maintained class carries exactly one catalog entry with a stable HTML
|
|
11
|
-
marker, so a class can be located with an exact low-cost search:
|
|
12
|
-
|
|
13
|
-
```sh
|
|
14
|
-
rg 'class:CjsResMan' docs/reference/classes
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
Entries record a one-sentence responsibility plus Export, Source, Visibility,
|
|
18
|
-
and Kind metadata. The catalog is an index, not a replacement for the API
|
|
19
|
-
reference or source documentation, and it is validated by the shared
|
|
20
|
-
documentation check against the actual source tree.
|
|
21
|
-
|
|
22
|
-
## Catalog pages
|
|
23
|
-
|
|
24
|
-
- [core.md](core.md): the resource manager, MotherLode cache, fetch provider,
|
|
25
|
-
core resource class, and the format/probe bases.
|
|
26
|
-
- [audio.md](audio.md): raw audio-byte owners and individually addressable
|
|
27
|
-
audio resource views.
|
|
28
|
-
- [resources.md](resources.md): the Carbon-shaped semantic resource and data
|
|
29
|
-
classes in the `src/resource` family tree.
|
|
30
|
-
- [texture.md](texture.md): texture-array aggregation classes under
|
|
31
|
-
`src/resource/texture`.
|
|
32
|
-
- [formats.md](formats.md): format entry classes and their internal reader
|
|
33
|
-
machinery under `src/formats`.
|
|
34
|
-
- [dropped.md](dropped.md): retained native shapes under `src/dropped` that
|
|
35
|
-
are documented but never exported or bundled.
|
|
1
|
+
# Class catalog
|
|
2
|
+
|
|
3
|
+
Status: Evolving
|
|
4
|
+
Scope: `@carbonenginejs/runtime-resource` classes
|
|
5
|
+
Audience: Users, maintainers, and automated readers
|
|
6
|
+
Summary: Indexes the one-sentence purpose descriptors for every maintained class in the package.
|
|
7
|
+
|
|
8
|
+
## Purpose
|
|
9
|
+
|
|
10
|
+
Every maintained class carries exactly one catalog entry with a stable HTML
|
|
11
|
+
marker, so a class can be located with an exact low-cost search:
|
|
12
|
+
|
|
13
|
+
```sh
|
|
14
|
+
rg 'class:CjsResMan' docs/reference/classes
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
Entries record a one-sentence responsibility plus Export, Source, Visibility,
|
|
18
|
+
and Kind metadata. The catalog is an index, not a replacement for the API
|
|
19
|
+
reference or source documentation, and it is validated by the shared
|
|
20
|
+
documentation check against the actual source tree.
|
|
21
|
+
|
|
22
|
+
## Catalog pages
|
|
23
|
+
|
|
24
|
+
- [core.md](core.md): the resource manager, MotherLode cache, fetch provider,
|
|
25
|
+
core resource class, and the format/probe bases.
|
|
26
|
+
- [audio.md](audio.md): raw audio-byte owners and individually addressable
|
|
27
|
+
audio resource views.
|
|
28
|
+
- [resources.md](resources.md): the Carbon-shaped semantic resource and data
|
|
29
|
+
classes in the `src/resource` family tree.
|
|
30
|
+
- [texture.md](texture.md): texture-array aggregation classes under
|
|
31
|
+
`src/resource/texture`.
|
|
32
|
+
- [formats.md](formats.md): format entry classes and their internal reader
|
|
33
|
+
machinery under `src/formats`.
|
|
34
|
+
- [dropped.md](dropped.md): retained native shapes under `src/dropped` that
|
|
35
|
+
are documented but never exported or bundled.
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
# Audio resource class catalog
|
|
2
|
-
|
|
3
|
-
Status: Evolving
|
|
4
|
-
Scope: `@carbonenginejs/runtime-resource/resource/audio` classes
|
|
5
|
-
Audience: Users, maintainers, and automated readers
|
|
6
|
-
Summary: Catalogs raw audio-byte owners and individually addressable audio resource views.
|
|
7
|
-
|
|
8
|
-
<!-- class:CjsAudioBufferRes -->
|
|
9
|
-
## `CjsAudioBufferRes`
|
|
10
|
-
|
|
11
|
-
Physical audio byte-owner resource whose payload may back one complete file or several logical audio files.
|
|
12
|
-
|
|
13
|
-
- Export: `@carbonenginejs/runtime-resource/resource/audio`
|
|
14
|
-
- Source: `src/resource/audio/CjsAudioBufferRes.js`
|
|
15
|
-
- Visibility: Public
|
|
16
|
-
- Kind: Original CarbonEngineJS class
|
|
17
|
-
- Notes: Owns raw payload retention and locks without interpreting media IDs,
|
|
18
|
-
bank members, decoding, or playback.
|
|
19
|
-
|
|
20
|
-
<!-- class:CjsAudioRes -->
|
|
21
|
-
## `CjsAudioRes`
|
|
22
|
-
|
|
23
|
-
Individually addressable audio resource representing one complete file over either a complete or windowed physical source.
|
|
24
|
-
|
|
25
|
-
- Export: `@carbonenginejs/runtime-resource/resource/audio`
|
|
26
|
-
- Source: `src/resource/audio/CjsAudioRes.js`
|
|
27
|
-
- Visibility: Public
|
|
28
|
-
- Kind: Original CarbonEngineJS class
|
|
29
|
-
- Notes: Carries immutable media metadata, returns detached byte windows, and
|
|
30
|
-
delegates locks and payload liveness to its backing resource.
|
|
1
|
+
# Audio resource class catalog
|
|
2
|
+
|
|
3
|
+
Status: Evolving
|
|
4
|
+
Scope: `@carbonenginejs/runtime-resource/resource/audio` classes
|
|
5
|
+
Audience: Users, maintainers, and automated readers
|
|
6
|
+
Summary: Catalogs raw audio-byte owners and individually addressable audio resource views.
|
|
7
|
+
|
|
8
|
+
<!-- class:CjsAudioBufferRes -->
|
|
9
|
+
## `CjsAudioBufferRes`
|
|
10
|
+
|
|
11
|
+
Physical audio byte-owner resource whose payload may back one complete file or several logical audio files.
|
|
12
|
+
|
|
13
|
+
- Export: `@carbonenginejs/runtime-resource/resource/audio`
|
|
14
|
+
- Source: `src/resource/audio/CjsAudioBufferRes.js`
|
|
15
|
+
- Visibility: Public
|
|
16
|
+
- Kind: Original CarbonEngineJS class
|
|
17
|
+
- Notes: Owns raw payload retention and locks without interpreting media IDs,
|
|
18
|
+
bank members, decoding, or playback.
|
|
19
|
+
|
|
20
|
+
<!-- class:CjsAudioRes -->
|
|
21
|
+
## `CjsAudioRes`
|
|
22
|
+
|
|
23
|
+
Individually addressable audio resource representing one complete file over either a complete or windowed physical source.
|
|
24
|
+
|
|
25
|
+
- Export: `@carbonenginejs/runtime-resource/resource/audio`
|
|
26
|
+
- Source: `src/resource/audio/CjsAudioRes.js`
|
|
27
|
+
- Visibility: Public
|
|
28
|
+
- Kind: Original CarbonEngineJS class
|
|
29
|
+
- Notes: Carries immutable media metadata, returns detached byte windows, and
|
|
30
|
+
delegates locks and payload liveness to its backing resource.
|