@carbonenginejs/runtime-resource 0.13.0 → 0.14.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 +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 -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/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 CarbonEngineJS contributors
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 CarbonEngineJS contributors
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/NOTICE
CHANGED
|
@@ -1,32 +1,32 @@
|
|
|
1
|
-
carbonenginejs/runtime-resource
|
|
2
|
-
================================
|
|
3
|
-
|
|
4
|
-
Copyright (c) 2026 CarbonEngineJS contributors.
|
|
5
|
-
|
|
6
|
-
This package owns CarbonEngineJS resource lifecycle, format selection,
|
|
7
|
-
canonical GPU-free shader/reflection models, and the non-shader format
|
|
8
|
-
implementations listed under `format-notices/`.
|
|
9
|
-
|
|
10
|
-
CarbonEngine source material, format names, class names, and schema semantics
|
|
11
|
-
remain copyright their original CarbonEngine authors. Fenris Creations
|
|
12
|
-
(CCP Games) source material, tools, assets, shader behavior, and EVE-related
|
|
13
|
-
data remain copyright their original holders. These names are used for
|
|
14
|
-
interoperability and provenance context. This project is not affiliated with
|
|
15
|
-
or endorsed by CCP Games.
|
|
16
|
-
|
|
17
|
-
The copied format implementations retain their original MIT license and NOTICE
|
|
18
|
-
files under `format-notices/<format>/`. Those notices include third-party
|
|
19
|
-
dependency and behavioral-reference attribution, including meshoptimizer,
|
|
20
|
-
yaml, and black-reader-js.
|
|
21
|
-
|
|
22
|
-
The bundled Black definition JSON is a generated CarbonEngineJS schema artifact
|
|
23
|
-
copied from `format-carbon` revision
|
|
24
|
-
`d2a3c67cf3d46e8ba78ca19e66558d868178ec24`. Its exact digest and retention
|
|
25
|
-
purpose are recorded in `docs/formats/provenance.md`; no CarbonEngine source file or
|
|
26
|
-
game asset is embedded in that generated definition snapshot.
|
|
27
|
-
|
|
28
|
-
The GR2/GSF implementation is included under `formats/gr2`, migrated from
|
|
29
|
-
`format-gr2` after its former EUPL-derived BitKnit2 decoder was replaced by a
|
|
30
|
-
validated clean-room implementation and the package was relicensed MIT. Its
|
|
31
|
-
retained license, provenance, and third-party notices live under
|
|
32
|
-
`format-notices/gr2/` and `docs/formats/provenance.md`.
|
|
1
|
+
carbonenginejs/runtime-resource
|
|
2
|
+
================================
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2026 CarbonEngineJS contributors.
|
|
5
|
+
|
|
6
|
+
This package owns CarbonEngineJS resource lifecycle, format selection,
|
|
7
|
+
canonical GPU-free shader/reflection models, and the non-shader format
|
|
8
|
+
implementations listed under `format-notices/`.
|
|
9
|
+
|
|
10
|
+
CarbonEngine source material, format names, class names, and schema semantics
|
|
11
|
+
remain copyright their original CarbonEngine authors. Fenris Creations
|
|
12
|
+
(CCP Games) source material, tools, assets, shader behavior, and EVE-related
|
|
13
|
+
data remain copyright their original holders. These names are used for
|
|
14
|
+
interoperability and provenance context. This project is not affiliated with
|
|
15
|
+
or endorsed by CCP Games.
|
|
16
|
+
|
|
17
|
+
The copied format implementations retain their original MIT license and NOTICE
|
|
18
|
+
files under `format-notices/<format>/`. Those notices include third-party
|
|
19
|
+
dependency and behavioral-reference attribution, including meshoptimizer,
|
|
20
|
+
yaml, and black-reader-js.
|
|
21
|
+
|
|
22
|
+
The bundled Black definition JSON is a generated CarbonEngineJS schema artifact
|
|
23
|
+
copied from `format-carbon` revision
|
|
24
|
+
`d2a3c67cf3d46e8ba78ca19e66558d868178ec24`. Its exact digest and retention
|
|
25
|
+
purpose are recorded in `docs/formats/provenance.md`; no CarbonEngine source file or
|
|
26
|
+
game asset is embedded in that generated definition snapshot.
|
|
27
|
+
|
|
28
|
+
The GR2/GSF implementation is included under `formats/gr2`, migrated from
|
|
29
|
+
`format-gr2` after its former EUPL-derived BitKnit2 decoder was replaced by a
|
|
30
|
+
validated clean-room implementation and the package was relicensed MIT. Its
|
|
31
|
+
retained license, provenance, and third-party notices live under
|
|
32
|
+
`format-notices/gr2/` and `docs/formats/provenance.md`.
|
package/README.md
CHANGED
|
@@ -1,129 +1,129 @@
|
|
|
1
|
-
# @carbonenginejs/runtime-resource
|
|
2
|
-
|
|
3
|
-
CarbonEngineJS resource lifecycle, cache, format selection, source, and object
|
|
4
|
-
loading contracts — the GPU-free resource layer.
|
|
5
|
-
|
|
6
|
-
Use this package when you need Carbon-shaped resource loading (`res:/` paths,
|
|
7
|
-
requirement/emit selection, `Ready()`/`GetObject()`), canonical GPU-free shader
|
|
8
|
-
reflection, or one of the bundled format readers without choosing a GPU
|
|
9
|
-
backend. It sits between format/resource providers and the engines that
|
|
10
|
-
realize prepared resources. It owns neither WebGL/WebGPU realization nor the
|
|
11
|
-
standalone shader parser/compiler packages.
|
|
12
|
-
|
|
13
|
-
## Install
|
|
14
|
-
|
|
15
|
-
```sh
|
|
16
|
-
npm install @carbonenginejs/runtime-resource
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
## Quick start
|
|
20
|
-
|
|
21
|
-
Concrete formats are explicit tree-shakeable subpaths, never imported by the
|
|
22
|
-
package root:
|
|
23
|
-
|
|
24
|
-
```js
|
|
25
|
-
import {
|
|
26
|
-
CjsResMan,
|
|
27
|
-
CjsResManFetchProvider
|
|
28
|
-
} from "@carbonenginejs/runtime-resource";
|
|
29
|
-
import { CjsMp4Format } from "@carbonenginejs/runtime-resource/formats/mp4";
|
|
30
|
-
|
|
31
|
-
const resMan = new CjsResMan().Register({
|
|
32
|
-
paths: {
|
|
33
|
-
res: "https://cdn.example.invalid/resources/"
|
|
34
|
-
},
|
|
35
|
-
source: new CjsResManFetchProvider(),
|
|
36
|
-
formats: [ CjsMp4Format ]
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
const resource = resMan.GetResource("res:/video/intro.mp4");
|
|
40
|
-
const video = await resource.Ready();
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
Extensions can also choose the resource/object handler and an ordered reader
|
|
44
|
-
route explicitly. This is useful for Carbon object streams, where either file
|
|
45
|
-
suffix may contain Black bytes or Red/YAML text:
|
|
46
|
-
|
|
47
|
-
```js
|
|
48
|
-
import { CjsLoadingObject } from "@carbonenginejs/runtime-resource";
|
|
49
|
-
import { CjsBlackFormat } from "@carbonenginejs/runtime-resource/formats/black";
|
|
50
|
-
import { CjsRedFormat } from "@carbonenginejs/runtime-resource/formats/red";
|
|
51
|
-
|
|
52
|
-
resMan.RegisterExtension("red", CjsLoadingObject, [
|
|
53
|
-
CjsBlackFormat,
|
|
54
|
-
CjsRedFormat
|
|
55
|
-
]);
|
|
56
|
-
resMan.RegisterExtension("black", CjsLoadingObject, [
|
|
57
|
-
CjsBlackFormat,
|
|
58
|
-
CjsRedFormat
|
|
59
|
-
]);
|
|
60
|
-
|
|
61
|
-
const object = await resMan.Fetch("res:/definition/example.red");
|
|
62
|
-
```
|
|
63
|
-
|
|
64
|
-
Browser consumers use worker-backed fetch and declared worker-safe format
|
|
65
|
-
readers by default, with deterministic main-thread fallback; see
|
|
66
|
-
[browser worker execution](docs/reference/workers.md).
|
|
67
|
-
|
|
68
|
-
Raw audio resource ownership is available from an explicit subpath:
|
|
69
|
-
|
|
70
|
-
```js
|
|
71
|
-
import {
|
|
72
|
-
CjsAudioBufferRes,
|
|
73
|
-
CjsAudioRes
|
|
74
|
-
} from "@carbonenginejs/runtime-resource/resource/audio";
|
|
75
|
-
```
|
|
76
|
-
|
|
77
|
-
`CjsAudioRes` always represents one addressable audio file. Its backing may be
|
|
78
|
-
a complete loose file, an individually served response, or a window within a
|
|
79
|
-
shared `CjsAudioBufferRes` bank payload.
|
|
80
|
-
|
|
81
|
-
Canonical effect-resource and shader reflection classes are available from:
|
|
82
|
-
|
|
83
|
-
```js
|
|
84
|
-
import {
|
|
85
|
-
Tr2EffectRes,
|
|
86
|
-
Tr2Shader
|
|
87
|
-
} from "@carbonenginejs/runtime-resource/resource/shader";
|
|
88
|
-
```
|
|
89
|
-
|
|
90
|
-
`Tr2EffectRes` fail-closed validates complete permutation topology and portable
|
|
91
|
-
reflection, selects a package permutation, and hydrates it into a cached,
|
|
92
|
-
device-free `Tr2Shader`. Engines add programs, layouts, bindings, and other GPU
|
|
93
|
-
state.
|
|
94
|
-
|
|
95
|
-
## Documentation
|
|
96
|
-
|
|
97
|
-
- [Package documentation](docs/README.md)
|
|
98
|
-
- [Architecture and boundaries](docs/architecture.md)
|
|
99
|
-
- [Resource lifecycle concepts](docs/concepts/resource-lifecycle.md)
|
|
100
|
-
- [Browser worker execution](docs/reference/workers.md)
|
|
101
|
-
- [Audio resource classes](docs/reference/classes/audio.md)
|
|
102
|
-
- [Resource and shader-reflection classes](docs/reference/classes/resources.md)
|
|
103
|
-
- [Format subpaths](docs/formats/README.md)
|
|
104
|
-
- [Format ownership and fork provenance](docs/formats/provenance.md)
|
|
105
|
-
|
|
106
|
-
## Development
|
|
107
|
-
|
|
108
|
-
Non-interactive baseline checks run from the repository root:
|
|
109
|
-
|
|
110
|
-
```sh
|
|
111
|
-
npm install
|
|
112
|
-
npm run lint
|
|
113
|
-
npm run check
|
|
114
|
-
npm test
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
`npm run check` builds the consumer package and proves that decorator metadata
|
|
118
|
-
matches between authoring source and built output. `npm test` additionally
|
|
119
|
-
runs the complete GPU-free unit suite; it requires no private assets,
|
|
120
|
-
credentials, network access, browser, or GPU after dependencies are installed.
|
|
121
|
-
|
|
122
|
-
## License
|
|
123
|
-
|
|
124
|
-
MIT. See [LICENSE](LICENSE) and [NOTICE](NOTICE). CarbonEngine and Fenris
|
|
125
|
-
Creations (CCP Games) are named for interoperability and provenance context;
|
|
126
|
-
copied-reader ownership, licenses, and retained snapshots are recorded in
|
|
127
|
-
[docs/formats/provenance.md](docs/formats/provenance.md). This project is not
|
|
128
|
-
affiliated with, endorsed by, or sponsored by CCP Games or CCP ehf. EVE
|
|
129
|
-
Online and related marks remain the property of their respective owners.
|
|
1
|
+
# @carbonenginejs/runtime-resource
|
|
2
|
+
|
|
3
|
+
CarbonEngineJS resource lifecycle, cache, format selection, source, and object
|
|
4
|
+
loading contracts — the GPU-free resource layer.
|
|
5
|
+
|
|
6
|
+
Use this package when you need Carbon-shaped resource loading (`res:/` paths,
|
|
7
|
+
requirement/emit selection, `Ready()`/`GetObject()`), canonical GPU-free shader
|
|
8
|
+
reflection, or one of the bundled format readers without choosing a GPU
|
|
9
|
+
backend. It sits between format/resource providers and the engines that
|
|
10
|
+
realize prepared resources. It owns neither WebGL/WebGPU realization nor the
|
|
11
|
+
standalone shader parser/compiler packages.
|
|
12
|
+
|
|
13
|
+
## Install
|
|
14
|
+
|
|
15
|
+
```sh
|
|
16
|
+
npm install @carbonenginejs/runtime-resource
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
## Quick start
|
|
20
|
+
|
|
21
|
+
Concrete formats are explicit tree-shakeable subpaths, never imported by the
|
|
22
|
+
package root:
|
|
23
|
+
|
|
24
|
+
```js
|
|
25
|
+
import {
|
|
26
|
+
CjsResMan,
|
|
27
|
+
CjsResManFetchProvider
|
|
28
|
+
} from "@carbonenginejs/runtime-resource";
|
|
29
|
+
import { CjsMp4Format } from "@carbonenginejs/runtime-resource/formats/mp4";
|
|
30
|
+
|
|
31
|
+
const resMan = new CjsResMan().Register({
|
|
32
|
+
paths: {
|
|
33
|
+
res: "https://cdn.example.invalid/resources/"
|
|
34
|
+
},
|
|
35
|
+
source: new CjsResManFetchProvider(),
|
|
36
|
+
formats: [ CjsMp4Format ]
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
const resource = resMan.GetResource("res:/video/intro.mp4");
|
|
40
|
+
const video = await resource.Ready();
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Extensions can also choose the resource/object handler and an ordered reader
|
|
44
|
+
route explicitly. This is useful for Carbon object streams, where either file
|
|
45
|
+
suffix may contain Black bytes or Red/YAML text:
|
|
46
|
+
|
|
47
|
+
```js
|
|
48
|
+
import { CjsLoadingObject } from "@carbonenginejs/runtime-resource";
|
|
49
|
+
import { CjsBlackFormat } from "@carbonenginejs/runtime-resource/formats/black";
|
|
50
|
+
import { CjsRedFormat } from "@carbonenginejs/runtime-resource/formats/red";
|
|
51
|
+
|
|
52
|
+
resMan.RegisterExtension("red", CjsLoadingObject, [
|
|
53
|
+
CjsBlackFormat,
|
|
54
|
+
CjsRedFormat
|
|
55
|
+
]);
|
|
56
|
+
resMan.RegisterExtension("black", CjsLoadingObject, [
|
|
57
|
+
CjsBlackFormat,
|
|
58
|
+
CjsRedFormat
|
|
59
|
+
]);
|
|
60
|
+
|
|
61
|
+
const object = await resMan.Fetch("res:/definition/example.red");
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
Browser consumers use worker-backed fetch and declared worker-safe format
|
|
65
|
+
readers by default, with deterministic main-thread fallback; see
|
|
66
|
+
[browser worker execution](docs/reference/workers.md).
|
|
67
|
+
|
|
68
|
+
Raw audio resource ownership is available from an explicit subpath:
|
|
69
|
+
|
|
70
|
+
```js
|
|
71
|
+
import {
|
|
72
|
+
CjsAudioBufferRes,
|
|
73
|
+
CjsAudioRes
|
|
74
|
+
} from "@carbonenginejs/runtime-resource/resource/audio";
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
`CjsAudioRes` always represents one addressable audio file. Its backing may be
|
|
78
|
+
a complete loose file, an individually served response, or a window within a
|
|
79
|
+
shared `CjsAudioBufferRes` bank payload.
|
|
80
|
+
|
|
81
|
+
Canonical effect-resource and shader reflection classes are available from:
|
|
82
|
+
|
|
83
|
+
```js
|
|
84
|
+
import {
|
|
85
|
+
Tr2EffectRes,
|
|
86
|
+
Tr2Shader
|
|
87
|
+
} from "@carbonenginejs/runtime-resource/resource/shader";
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
`Tr2EffectRes` fail-closed validates complete permutation topology and portable
|
|
91
|
+
reflection, selects a package permutation, and hydrates it into a cached,
|
|
92
|
+
device-free `Tr2Shader`. Engines add programs, layouts, bindings, and other GPU
|
|
93
|
+
state.
|
|
94
|
+
|
|
95
|
+
## Documentation
|
|
96
|
+
|
|
97
|
+
- [Package documentation](docs/README.md)
|
|
98
|
+
- [Architecture and boundaries](docs/architecture.md)
|
|
99
|
+
- [Resource lifecycle concepts](docs/concepts/resource-lifecycle.md)
|
|
100
|
+
- [Browser worker execution](docs/reference/workers.md)
|
|
101
|
+
- [Audio resource classes](docs/reference/classes/audio.md)
|
|
102
|
+
- [Resource and shader-reflection classes](docs/reference/classes/resources.md)
|
|
103
|
+
- [Format subpaths](docs/formats/README.md)
|
|
104
|
+
- [Format ownership and fork provenance](docs/formats/provenance.md)
|
|
105
|
+
|
|
106
|
+
## Development
|
|
107
|
+
|
|
108
|
+
Non-interactive baseline checks run from the repository root:
|
|
109
|
+
|
|
110
|
+
```sh
|
|
111
|
+
npm install
|
|
112
|
+
npm run lint
|
|
113
|
+
npm run check
|
|
114
|
+
npm test
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
`npm run check` builds the consumer package and proves that decorator metadata
|
|
118
|
+
matches between authoring source and built output. `npm test` additionally
|
|
119
|
+
runs the complete GPU-free unit suite; it requires no private assets,
|
|
120
|
+
credentials, network access, browser, or GPU after dependencies are installed.
|
|
121
|
+
|
|
122
|
+
## License
|
|
123
|
+
|
|
124
|
+
MIT. See [LICENSE](LICENSE) and [NOTICE](NOTICE). CarbonEngine and Fenris
|
|
125
|
+
Creations (CCP Games) are named for interoperability and provenance context;
|
|
126
|
+
copied-reader ownership, licenses, and retained snapshots are recorded in
|
|
127
|
+
[docs/formats/provenance.md](docs/formats/provenance.md). This project is not
|
|
128
|
+
affiliated with, endorsed by, or sponsored by CCP Games or CCP ehf. EVE
|
|
129
|
+
Online and related marks remain the property of their respective owners.
|