@carbonenginejs/runtime-resource 0.1.0 → 0.8.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/FORMAT-PROVENANCE.md +155 -135
- package/LICENSE +21 -21
- package/NOTICE +29 -29
- package/README.md +548 -241
- package/dist/CjsMotherLode.js +1271 -56
- package/dist/CjsMotherLode.js.map +1 -1
- package/dist/CjsResMan.js +3005 -740
- package/dist/CjsResMan.js.map +1 -1
- package/dist/CjsResManQueue.js +214 -214
- package/dist/CjsResource.js +566 -366
- package/dist/CjsResource.js.map +1 -1
- package/dist/CjsResourceSource.js +59 -59
- package/dist/_virtual/_rollupPluginBabelHelpers.js +153 -153
- package/dist/format/CjsBlueReader.js +269 -0
- package/dist/format/CjsBlueReader.js.map +1 -0
- package/dist/format/CjsFormat.js +192 -178
- package/dist/format/CjsFormat.js.map +1 -1
- package/dist/format/CjsReader.js +18 -0
- package/dist/format/CjsReader.js.map +1 -0
- package/dist/format/CjsResourceProbe.js +277 -269
- package/dist/format/CjsResourceProbe.js.map +1 -1
- package/dist/format/payloadContract.js +173 -173
- package/dist/formats/black/CjsBlackFormat.js +278 -272
- package/dist/formats/black/CjsBlackFormat.js.map +1 -1
- package/dist/formats/black/core/CjsBlackBinaryReader.js +153 -153
- package/dist/formats/black/core/CjsBlackPropertyReaders.js +382 -382
- package/dist/formats/black/core/CjsBlackReader.js +639 -760
- package/dist/formats/black/core/CjsBlackReader.js.map +1 -1
- package/dist/formats/black/core/CjsBlackSchemaRegistry.js +433 -433
- package/dist/formats/black/core/black-schema-v1-2026-07-11.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 +182 -182
- package/dist/formats/black/core/schema.js +4 -4
- package/dist/formats/black/index.js +2 -2
- package/dist/formats/bnk/CjsBnkFormat.js +238 -245
- package/dist/formats/bnk/CjsBnkFormat.js.map +1 -1
- package/dist/formats/bnk/core/graph.js +140 -0
- package/dist/formats/bnk/core/graph.js.map +1 -0
- package/dist/formats/bnk/core/helpers.js +409 -354
- package/dist/formats/bnk/core/helpers.js.map +1 -1
- package/dist/formats/bnk/core/musicNodes.js +521 -0
- package/dist/formats/bnk/core/musicNodes.js.map +1 -0
- package/dist/formats/bnk/core/soundbanksInfo.js +246 -246
- package/dist/formats/bnk/index.js +2 -3
- package/dist/formats/bnk/index.js.map +1 -1
- package/dist/formats/cmf/CjsCmfFormat.js +497 -491
- package/dist/formats/cmf/CjsCmfFormat.js.map +1 -1
- package/dist/formats/cmf/core/binary.js +118 -118
- package/dist/formats/cmf/core/buffers.js +233 -233
- 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 +287 -287
- package/dist/formats/cmf/core/pack.js +276 -276
- package/dist/formats/cmf/core/schema.js +364 -364
- package/dist/formats/cmf/core/shared.js +268 -268
- package/dist/formats/cmf/core/writer.js +517 -517
- package/dist/formats/cmf/index.js +2 -2
- package/dist/formats/dds/CjsDdsFormat.js +193 -187
- package/dist/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/formats/dds/core/bc6h.js +288 -0
- package/dist/formats/dds/core/bc6h.js.map +1 -0
- package/dist/formats/dds/core/bc7.js +251 -0
- package/dist/formats/dds/core/bc7.js.map +1 -0
- package/dist/formats/dds/core/helpers.js +815 -812
- package/dist/formats/dds/core/helpers.js.map +1 -1
- package/dist/formats/dds/index.js +2 -2
- package/dist/formats/fbx/CjsFbxFormat.js +266 -260
- package/dist/formats/fbx/CjsFbxFormat.js.map +1 -1
- package/dist/formats/fbx/core/helpers.js +3901 -3901
- package/dist/formats/fbx/index.js +2 -2
- package/dist/formats/flac/CjsFlacFormat.js +87 -81
- package/dist/formats/flac/CjsFlacFormat.js.map +1 -1
- package/dist/formats/flac/core/helpers.js +295 -295
- package/dist/formats/flac/index.js +2 -2
- package/dist/formats/gif/CjsGifFormat.js +87 -81
- package/dist/formats/gif/CjsGifFormat.js.map +1 -1
- package/dist/formats/gif/core/helpers.js +360 -360
- package/dist/formats/gif/index.js +2 -2
- package/dist/formats/gltf/CjsGltfFormat.js +290 -284
- package/dist/formats/gltf/CjsGltfFormat.js.map +1 -1
- package/dist/formats/gltf/core/helpers.js +292 -292
- package/dist/formats/gltf/core/json.js +79 -79
- package/dist/formats/gltf/core/parser.js +666 -666
- package/dist/formats/gltf/core/targets.js +163 -163
- package/dist/formats/gltf/index.js +2 -2
- package/dist/formats/index.js +23 -23
- package/dist/formats/jpeg/CjsJpegFormat.js +206 -200
- package/dist/formats/jpeg/CjsJpegFormat.js.map +1 -1
- package/dist/formats/jpeg/core/helpers.js +350 -350
- package/dist/formats/jpeg/core/jpeg.js +377 -377
- package/dist/formats/jpeg/index.js +2 -2
- package/dist/formats/mp3/CjsMp3Format.js +192 -186
- package/dist/formats/mp3/CjsMp3Format.js.map +1 -1
- package/dist/formats/mp3/core/helpers.js +338 -338
- package/dist/formats/mp3/index.js +2 -2
- package/dist/formats/mp4/CjsMp4Format.js +191 -185
- package/dist/formats/mp4/CjsMp4Format.js.map +1 -1
- package/dist/formats/mp4/core/helpers.js +449 -449
- package/dist/formats/mp4/index.js +2 -2
- package/dist/formats/obj/CjsObjFormat.js +253 -247
- package/dist/formats/obj/CjsObjFormat.js.map +1 -1
- package/dist/formats/obj/core/helpers.js +573 -573
- package/dist/formats/obj/core/json.js +64 -64
- package/dist/formats/obj/core/parser.js +321 -321
- package/dist/formats/obj/index.js +2 -2
- package/dist/formats/ogg/CjsOggFormat.js +88 -82
- package/dist/formats/ogg/CjsOggFormat.js.map +1 -1
- package/dist/formats/ogg/core/helpers.js +387 -387
- package/dist/formats/ogg/core/imdct.js +178 -178
- package/dist/formats/ogg/core/vorbis.js +999 -999
- package/dist/formats/ogg/index.js +2 -2
- package/dist/formats/png/CjsPngFormat.js +195 -189
- package/dist/formats/png/CjsPngFormat.js.map +1 -1
- package/dist/formats/png/core/helpers.js +583 -583
- package/dist/formats/png/index.js +2 -2
- package/dist/formats/red/CjsRedFormat.js +261 -247
- package/dist/formats/red/CjsRedFormat.js.map +1 -1
- package/dist/formats/red/core/CjsRedReader.js +194 -201
- package/dist/formats/red/core/CjsRedReader.js.map +1 -1
- package/dist/formats/red/core/blackDefinitions.js +3 -3
- package/dist/formats/red/core/helpers.js +139 -136
- package/dist/formats/red/core/helpers.js.map +1 -1
- package/dist/formats/red/core/redGraph.js +68 -68
- package/dist/formats/red/core/schema.js +4 -4
- package/dist/formats/red/index.js +2 -2
- package/dist/formats/stl/CjsStlFormat.js +365 -304
- package/dist/formats/stl/CjsStlFormat.js.map +1 -1
- package/dist/formats/stl/core/helpers.js +261 -257
- 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 +629 -544
- package/dist/formats/stl/core/stl.js.map +1 -1
- package/dist/formats/stl/core/targets.js +163 -163
- package/dist/formats/stl/index.js +2 -2
- package/dist/formats/tga/CjsTgaFormat.js +192 -186
- package/dist/formats/tga/CjsTgaFormat.js.map +1 -1
- package/dist/formats/tga/core/helpers.js +446 -446
- package/dist/formats/tga/index.js +2 -2
- package/dist/formats/wav/CjsWavFormat.js +192 -186
- package/dist/formats/wav/CjsWavFormat.js.map +1 -1
- package/dist/formats/wav/core/helpers.js +328 -328
- package/dist/formats/wav/index.js +2 -2
- package/dist/formats/webm/CjsWebmFormat.js +191 -185
- package/dist/formats/webm/CjsWebmFormat.js.map +1 -1
- package/dist/formats/webm/core/helpers.js +537 -537
- package/dist/formats/webm/index.js +2 -2
- package/dist/formats/webp/CjsWebpFormat.js +86 -80
- package/dist/formats/webp/CjsWebpFormat.js.map +1 -1
- package/dist/formats/webp/core/helpers.js +214 -214
- package/dist/formats/webp/index.js +2 -2
- package/dist/formats/wem/CjsWemFormat.js +241 -197
- package/dist/formats/wem/CjsWemFormat.js.map +1 -1
- package/dist/formats/wem/core/bitStream.js +259 -259
- package/dist/formats/wem/core/codebookLibrary.js +164 -164
- package/dist/formats/wem/core/helpers.js +417 -336
- package/dist/formats/wem/core/helpers.js.map +1 -1
- package/dist/formats/wem/core/packedCodebooksAotuv603.js +30 -30
- package/dist/formats/wem/core/ptadpcm.js +77 -0
- package/dist/formats/wem/core/ptadpcm.js.map +1 -0
- package/dist/formats/wem/core/resolve.js +121 -0
- package/dist/formats/wem/core/resolve.js.map +1 -0
- package/dist/formats/wem/core/wemToOgg.js +485 -485
- package/dist/formats/wem/index.js +2 -2
- package/dist/formats/yaml/CjsYamlFormat.js +83 -77
- package/dist/formats/yaml/CjsYamlFormat.js.map +1 -1
- package/dist/formats/yaml/core/CjsYamlReader.js +305 -304
- package/dist/formats/yaml/core/CjsYamlReader.js.map +1 -1
- package/dist/formats/yaml/core/helpers.js +160 -160
- package/dist/formats/yaml/index.js +2 -2
- package/dist/index.js +48 -52
- package/dist/index.js.map +1 -1
- package/dist/resourcePath.js +18 -18
- package/dist/resourceStates.js +9 -9
- package/dist/{generated/resources → resources}/AudioGeometryResData.js +47 -47
- package/dist/resources/AudioGeometryResData.js.map +1 -0
- package/dist/{generated/resources → resources}/GStateBindingCallbackData.js +31 -31
- package/dist/resources/GStateBindingCallbackData.js.map +1 -0
- package/dist/{generated/resources → resources}/MeshDecalData.js +37 -37
- package/dist/resources/MeshDecalData.js.map +1 -0
- package/dist/{generated/resources → resources}/MeshDecalLodData.js +34 -34
- package/dist/resources/MeshDecalLodData.js.map +1 -0
- package/dist/resources/Tr2EffectRes.js +71 -71
- package/dist/resources/Tr2GrannyIntersectionResult.js +60 -0
- package/dist/resources/Tr2GrannyIntersectionResult.js.map +1 -0
- package/dist/resources/Tr2GrannyStateRes.js +44 -44
- package/dist/resources/Tr2ImageRes.js +114 -114
- package/dist/resources/Tr2LightProfileRes.js +40 -40
- package/dist/{generated/resources → resources}/Tr2MaterialArea.js +34 -34
- package/dist/resources/Tr2MaterialArea.js.map +1 -0
- package/dist/{generated/resources → resources}/Tr2MaterialMesh.js +31 -31
- package/dist/resources/Tr2MaterialMesh.js.map +1 -0
- package/dist/{generated/resources → resources}/Tr2MaterialRes.js +34 -34
- package/dist/resources/Tr2MaterialRes.js.map +1 -0
- package/dist/{generated/resources → resources}/Tr2ShaderPermutation.js +43 -43
- package/dist/resources/Tr2ShaderPermutation.js.map +1 -0
- package/dist/{generated/resources → resources}/Tr2TextureLodManager.js +100 -60
- package/dist/resources/Tr2TextureLodManager.js.map +1 -0
- package/dist/{generated/resources → resources}/Tr2TextureLodUpdateRequest.js +37 -37
- package/dist/resources/Tr2TextureLodUpdateRequest.js.map +1 -0
- package/dist/{generated/resources → resources}/Tr2TexturePackChannel.js +37 -37
- package/dist/resources/Tr2TexturePackChannel.js.map +1 -0
- package/dist/resources/Tr2TexturePipeline.js +68 -0
- package/dist/resources/Tr2TexturePipeline.js.map +1 -0
- package/dist/{generated/resources → resources}/Tr2TexturePipelineParams.js +34 -34
- package/dist/resources/Tr2TexturePipelineParams.js.map +1 -0
- package/dist/{generated/resources → resources}/Tr2TexturePipelineStepCompress.js +40 -40
- package/dist/resources/Tr2TexturePipelineStepCompress.js.map +1 -0
- package/dist/{generated/resources → resources}/Tr2TexturePipelineStepLimitSize.js +34 -34
- package/dist/resources/Tr2TexturePipelineStepLimitSize.js.map +1 -0
- package/dist/{generated/resources → resources}/Tr2TexturePipelineStepLoad.js +31 -31
- package/dist/resources/Tr2TexturePipelineStepLoad.js.map +1 -0
- package/dist/{generated/resources → resources}/Tr2TexturePipelineStepPack.js +43 -43
- package/dist/resources/Tr2TexturePipelineStepPack.js.map +1 -0
- package/dist/resources/TriGeometryRes.js +239 -216
- package/dist/resources/TriGeometryRes.js.map +1 -1
- package/dist/{generated/resources → resources}/TriGeometryResAreaData.js +59 -59
- package/dist/resources/TriGeometryResAreaData.js.map +1 -0
- package/dist/{generated/resources → resources}/TriGeometryResJointData.js +38 -38
- package/dist/resources/TriGeometryResJointData.js.map +1 -0
- package/dist/{generated/resources → resources}/TriGeometryResLodData.js +88 -88
- package/dist/resources/TriGeometryResLodData.js.map +1 -0
- package/dist/{generated/resources → resources}/TriGeometryResMeshData.js +63 -63
- package/dist/resources/TriGeometryResMeshData.js.map +1 -0
- package/dist/{generated/resources → resources}/TriGeometryResSkeletonData.js +34 -34
- package/dist/resources/TriGeometryResSkeletonData.js.map +1 -0
- package/dist/resources/TriGrannyRes.js +43 -43
- package/dist/{generated/resources → resources}/TriJointBinding.js +38 -38
- package/dist/resources/TriJointBinding.js.map +1 -0
- package/dist/{generated/resources → resources}/TriMorphTargetGeometryConstants.js +46 -46
- package/dist/resources/TriMorphTargetGeometryConstants.js.map +1 -0
- package/dist/{generated/resources → resources}/TriRtGeometryConstants.js +88 -88
- package/dist/resources/TriRtGeometryConstants.js.map +1 -0
- package/dist/resources/TriTextureRes.js +304 -304
- package/dist/{generated/resources → resources}/enums.js +18 -18
- package/dist/resources/enums.js.map +1 -0
- package/dist/resources/resourceBoundary.js +47 -47
- package/dist/resources/texturePipelineBehavior.js +320 -0
- package/dist/resources/texturePipelineBehavior.js.map +1 -0
- package/dist/texture/CjsTextureArrayRes.js +406 -406
- package/dist/texture/CjsTextureParameterProxy.js +133 -133
- 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 +20 -17
- 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/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/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/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 +51 -51
- package/resource-lifecycle.md +679 -487
- package/dist/generated/resources/AudioGeometryResData.js.map +0 -1
- package/dist/generated/resources/CmfVertexReader.js +0 -46
- package/dist/generated/resources/CmfVertexReader.js.map +0 -1
- package/dist/generated/resources/GStateBindingCallbackData.js.map +0 -1
- package/dist/generated/resources/MeshDecalData.js.map +0 -1
- package/dist/generated/resources/MeshDecalLodData.js.map +0 -1
- package/dist/generated/resources/Tr2AsyncSave.js +0 -46
- package/dist/generated/resources/Tr2AsyncSave.js.map +0 -1
- package/dist/generated/resources/Tr2CmfContents.js +0 -37
- package/dist/generated/resources/Tr2CmfContents.js.map +0 -1
- package/dist/generated/resources/Tr2GrannyIntersectionResult.js +0 -58
- package/dist/generated/resources/Tr2GrannyIntersectionResult.js.map +0 -1
- package/dist/generated/resources/Tr2LoadPrepareFence.js +0 -37
- package/dist/generated/resources/Tr2LoadPrepareFence.js.map +0 -1
- package/dist/generated/resources/Tr2MaterialArea.js.map +0 -1
- package/dist/generated/resources/Tr2MaterialMesh.js.map +0 -1
- package/dist/generated/resources/Tr2MaterialRes.js.map +0 -1
- package/dist/generated/resources/Tr2ShaderPermutation.js.map +0 -1
- package/dist/generated/resources/Tr2TextureLodManager.js.map +0 -1
- package/dist/generated/resources/Tr2TextureLodUpdateRequest.js.map +0 -1
- package/dist/generated/resources/Tr2TexturePackChannel.js.map +0 -1
- package/dist/generated/resources/Tr2TexturePipeline.js +0 -44
- package/dist/generated/resources/Tr2TexturePipeline.js.map +0 -1
- package/dist/generated/resources/Tr2TexturePipelineParams.js.map +0 -1
- package/dist/generated/resources/Tr2TexturePipelineStepCompress.js.map +0 -1
- package/dist/generated/resources/Tr2TexturePipelineStepLimitSize.js.map +0 -1
- package/dist/generated/resources/Tr2TexturePipelineStepLoad.js.map +0 -1
- package/dist/generated/resources/Tr2TexturePipelineStepPack.js.map +0 -1
- package/dist/generated/resources/TriGeometryResAreaData.js.map +0 -1
- package/dist/generated/resources/TriGeometryResJointData.js.map +0 -1
- package/dist/generated/resources/TriGeometryResLodData.js.map +0 -1
- package/dist/generated/resources/TriGeometryResMeshData.js.map +0 -1
- package/dist/generated/resources/TriGeometryResSkeletonData.js.map +0 -1
- package/dist/generated/resources/TriJointBinding.js.map +0 -1
- package/dist/generated/resources/TriMorphTargetGeometryConstants.js.map +0 -1
- package/dist/generated/resources/TriRtGeometryConstants.js.map +0 -1
- package/dist/generated/resources/enums.js.map +0 -1
- package/dist/generated/resources/index.js +0 -32
- package/dist/generated/resources/index.js.map +0 -1
package/FORMAT-PROVENANCE.md
CHANGED
|
@@ -1,135 +1,155 @@
|
|
|
1
|
-
# Format ownership and fork provenance
|
|
2
|
-
|
|
3
|
-
On 2026-07-13, the non-shader runtime format implementations below were copied
|
|
4
|
-
once into `runtime-resource`. Their standalone repositories remain frozen with
|
|
5
|
-
their existing APIs and names; they are not upstreams for the runtime copies.
|
|
6
|
-
|
|
7
|
-
Copied paths were `src/` and the behavioral `test/` corpus. Package publishing
|
|
8
|
-
scripts and CLIs were not copied. Exact donor license and notice files are kept
|
|
9
|
-
under `format-notices/<format>/`.
|
|
10
|
-
|
|
11
|
-
| Legacy package | Source revision/state | Runtime class | Runtime import |
|
|
12
|
-
|---|---|---|---|
|
|
13
|
-
| `format-black` | `9fcaaff9e5f28c90b628d8a10b7c79aff7913a90` | `CjsBlackFormat` | `@carbonenginejs/runtime-resource/formats/black` |
|
|
14
|
-
| `format-cmf` | unborn working-tree snapshot | `CjsCmfFormat` | `@carbonenginejs/runtime-resource/formats/cmf` |
|
|
15
|
-
| `format-dds` | `66fa149cd826e1114ad0be84479f89dee753ed76` | `CjsDdsFormat` | `@carbonenginejs/runtime-resource/formats/dds` |
|
|
16
|
-
| `format-fbx` | `8d0fcc2fe44c8096b35e360a903bff30b49eb592` | `CjsFbxFormat` | `@carbonenginejs/runtime-resource/formats/fbx` |
|
|
17
|
-
| `format-flac` | unborn working-tree snapshot | `CjsFlacFormat` | `@carbonenginejs/runtime-resource/formats/flac` |
|
|
18
|
-
| `format-gif` | `5d831c5c0533a9579682f776274574289a520899` | `CjsGifFormat` | `@carbonenginejs/runtime-resource/formats/gif` |
|
|
19
|
-
| `format-gltf` | `d0dadf920828bceec987c2a5fa1f161f81db28aa` | `CjsGltfFormat` | `@carbonenginejs/runtime-resource/formats/gltf` |
|
|
20
|
-
| `format-jpeg` | `bed2253ea979bba27812420fa897987d82a91793` | `CjsJpegFormat` | `@carbonenginejs/runtime-resource/formats/jpeg` |
|
|
21
|
-
| `format-mp3` | unborn working-tree snapshot | `CjsMp3Format` | `@carbonenginejs/runtime-resource/formats/mp3` |
|
|
22
|
-
| `format-mp4` | `cffc5a57b115a99ed9e0947a6b9d3390ffc3581c` | `CjsMp4Format` | `@carbonenginejs/runtime-resource/formats/mp4` |
|
|
23
|
-
| `format-obj` | `e5d3f9a1520c7855bd5b6edc1e2304a7b4e18176` | `CjsObjFormat` | `@carbonenginejs/runtime-resource/formats/obj` |
|
|
24
|
-
| `format-ogg` | unborn working-tree snapshot | `CjsOggFormat` | `@carbonenginejs/runtime-resource/formats/ogg` |
|
|
25
|
-
| `format-png` | `04dbb7c0f289043c3c32d9141ec3ef74aeeb1c43` | `CjsPngFormat` | `@carbonenginejs/runtime-resource/formats/png` |
|
|
26
|
-
| `format-red` | `98beab6988111418d6e09827b92d27e08da4c05b` | `CjsRedFormat` | `@carbonenginejs/runtime-resource/formats/red` |
|
|
27
|
-
| `format-stl` | `4858f9a37bf140a3c544fa30a13a6fcce015247b` | `CjsStlFormat` | `@carbonenginejs/runtime-resource/formats/stl` |
|
|
28
|
-
| `format-tga` | `b0f9df263727057537b2279322e8cd088f366179` | `CjsTgaFormat` | `@carbonenginejs/runtime-resource/formats/tga` |
|
|
29
|
-
| `format-wav` | unborn working-tree snapshot | `CjsWavFormat` | `@carbonenginejs/runtime-resource/formats/wav` |
|
|
30
|
-
| `format-webm` | `459203ac293d0d53fff0e43494b7e47d8d4c92bd` | `CjsWebmFormat` | `@carbonenginejs/runtime-resource/formats/webm` |
|
|
31
|
-
| `format-webp` | `19155e9cc7ae05845c23a3c259d3a586569eba40` | `CjsWebpFormat` | `@carbonenginejs/runtime-resource/formats/webp` |
|
|
32
|
-
| `format-yaml` | `3d7e1d1cf9b7a936283d6050efe43a0a9fadb6a4` | `CjsYamlFormat` | `@carbonenginejs/runtime-resource/formats/yaml` |
|
|
33
|
-
|
|
34
|
-
The unborn donors had no commit-addressable `HEAD`; this document deliberately
|
|
35
|
-
records them as working-tree snapshots rather than inventing a revision. Their
|
|
36
|
-
copied runtime files are the deterministic retained snapshot.
|
|
37
|
-
|
|
38
|
-
## Black definition snapshot
|
|
39
|
-
|
|
40
|
-
The Black
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
`
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
`
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
`
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
-
|
|
92
|
-
`
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
`
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
The
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
1
|
+
# Format ownership and fork provenance
|
|
2
|
+
|
|
3
|
+
On 2026-07-13, the non-shader runtime format implementations below were copied
|
|
4
|
+
once into `runtime-resource`. Their standalone repositories remain frozen with
|
|
5
|
+
their existing APIs and names; they are not upstreams for the runtime copies.
|
|
6
|
+
|
|
7
|
+
Copied paths were `src/` and the behavioral `test/` corpus. Package publishing
|
|
8
|
+
scripts and CLIs were not copied. Exact donor license and notice files are kept
|
|
9
|
+
under `format-notices/<format>/`.
|
|
10
|
+
|
|
11
|
+
| Legacy package | Source revision/state | Runtime class | Runtime import |
|
|
12
|
+
|---|---|---|---|
|
|
13
|
+
| `format-black` | `9fcaaff9e5f28c90b628d8a10b7c79aff7913a90` | `CjsBlackFormat` | `@carbonenginejs/runtime-resource/formats/black` |
|
|
14
|
+
| `format-cmf` | unborn working-tree snapshot | `CjsCmfFormat` | `@carbonenginejs/runtime-resource/formats/cmf` |
|
|
15
|
+
| `format-dds` | `66fa149cd826e1114ad0be84479f89dee753ed76` | `CjsDdsFormat` | `@carbonenginejs/runtime-resource/formats/dds` |
|
|
16
|
+
| `format-fbx` | `8d0fcc2fe44c8096b35e360a903bff30b49eb592` | `CjsFbxFormat` | `@carbonenginejs/runtime-resource/formats/fbx` |
|
|
17
|
+
| `format-flac` | unborn working-tree snapshot | `CjsFlacFormat` | `@carbonenginejs/runtime-resource/formats/flac` |
|
|
18
|
+
| `format-gif` | `5d831c5c0533a9579682f776274574289a520899` | `CjsGifFormat` | `@carbonenginejs/runtime-resource/formats/gif` |
|
|
19
|
+
| `format-gltf` | `d0dadf920828bceec987c2a5fa1f161f81db28aa` | `CjsGltfFormat` | `@carbonenginejs/runtime-resource/formats/gltf` |
|
|
20
|
+
| `format-jpeg` | `bed2253ea979bba27812420fa897987d82a91793` | `CjsJpegFormat` | `@carbonenginejs/runtime-resource/formats/jpeg` |
|
|
21
|
+
| `format-mp3` | unborn working-tree snapshot | `CjsMp3Format` | `@carbonenginejs/runtime-resource/formats/mp3` |
|
|
22
|
+
| `format-mp4` | `cffc5a57b115a99ed9e0947a6b9d3390ffc3581c` | `CjsMp4Format` | `@carbonenginejs/runtime-resource/formats/mp4` |
|
|
23
|
+
| `format-obj` | `e5d3f9a1520c7855bd5b6edc1e2304a7b4e18176` | `CjsObjFormat` | `@carbonenginejs/runtime-resource/formats/obj` |
|
|
24
|
+
| `format-ogg` | unborn working-tree snapshot | `CjsOggFormat` | `@carbonenginejs/runtime-resource/formats/ogg` |
|
|
25
|
+
| `format-png` | `04dbb7c0f289043c3c32d9141ec3ef74aeeb1c43` | `CjsPngFormat` | `@carbonenginejs/runtime-resource/formats/png` |
|
|
26
|
+
| `format-red` | `98beab6988111418d6e09827b92d27e08da4c05b` | `CjsRedFormat` | `@carbonenginejs/runtime-resource/formats/red` |
|
|
27
|
+
| `format-stl` | `4858f9a37bf140a3c544fa30a13a6fcce015247b` | `CjsStlFormat` | `@carbonenginejs/runtime-resource/formats/stl` |
|
|
28
|
+
| `format-tga` | `b0f9df263727057537b2279322e8cd088f366179` | `CjsTgaFormat` | `@carbonenginejs/runtime-resource/formats/tga` |
|
|
29
|
+
| `format-wav` | unborn working-tree snapshot | `CjsWavFormat` | `@carbonenginejs/runtime-resource/formats/wav` |
|
|
30
|
+
| `format-webm` | `459203ac293d0d53fff0e43494b7e47d8d4c92bd` | `CjsWebmFormat` | `@carbonenginejs/runtime-resource/formats/webm` |
|
|
31
|
+
| `format-webp` | `19155e9cc7ae05845c23a3c259d3a586569eba40` | `CjsWebpFormat` | `@carbonenginejs/runtime-resource/formats/webp` |
|
|
32
|
+
| `format-yaml` | `3d7e1d1cf9b7a936283d6050efe43a0a9fadb6a4` | `CjsYamlFormat` | `@carbonenginejs/runtime-resource/formats/yaml` |
|
|
33
|
+
|
|
34
|
+
The unborn donors had no commit-addressable `HEAD`; this document deliberately
|
|
35
|
+
records them as working-tree snapshots rather than inventing a revision. Their
|
|
36
|
+
copied runtime files are the deterministic retained snapshot.
|
|
37
|
+
|
|
38
|
+
## Black definition snapshot
|
|
39
|
+
|
|
40
|
+
The Black reader uses the package-owned generated definition snapshot at
|
|
41
|
+
`src/formats/black/core/black-schema-v1-2026-07-11.json`. The Red format exposes
|
|
42
|
+
the same catalog for discovery, but its YAML reader currently accepts named
|
|
43
|
+
fields without registry enforcement. The snapshot was copied from
|
|
44
|
+
`format-carbon` revision `d2a3c67cf3d46e8ba78ca19e66558d868178ec24`
|
|
45
|
+
with SHA-256
|
|
46
|
+
`008ECB29E670EFC678B471A6EFF099600A29C2907912FC42B854995904604691`.
|
|
47
|
+
|
|
48
|
+
This retained generated artifact keeps the published readers deterministic and
|
|
49
|
+
browser-safe without a runtime dependency on a sibling checkout or an
|
|
50
|
+
unpublished `format-carbon` export. `format-carbon` remains the build-time
|
|
51
|
+
authority for future schema regeneration; an updated snapshot must record its
|
|
52
|
+
new source revision and digest here.
|
|
53
|
+
|
|
54
|
+
## Native additions
|
|
55
|
+
|
|
56
|
+
Formats below were authored directly in `runtime-resource` and have no legacy
|
|
57
|
+
donor package. Their `format-notices/<format>/` entries record third-party
|
|
58
|
+
format attribution rather than fork provenance.
|
|
59
|
+
|
|
60
|
+
| Format | Runtime class | Runtime import | Notes |
|
|
61
|
+
|---|---|---|---|
|
|
62
|
+
| Wwise soundbank (`.bnk`) | `CjsBnkFormat` | `@carbonenginejs/runtime-resource/formats/bnk` | Original code; chunk layout from public community documentation (ww2ogg, vgmstream, wwiser), no code copied. Also carries the SoundbanksInfo JSON helpers (`parseSoundbanksInfo`, `buildSoundbanksCatalog`, `joinSoundbanksInfo`) and `wwiseIdFromName` (FNV-1 32 of the lowercased name, verified against EVE bank/language ids). HIRC entries additionally decode version-stable typed fields (event action lists, action type/target, sound and music-track source ids), pinned by hexdump against bank generator version 150, and the `wwise` static namespace groups the domain toolkit (SoundbanksInfo helpers, id hash, `wwise.eventMediaFromBanks` event → media resolution over inspected banks — graph interpretation for consumers; never used by the resource lifecycle). |
|
|
63
|
+
| Wwise media (`.wem`) | `CjsWemFormat` | `@carbonenginejs/runtime-resource/formats/wem` | Original code; container/codec-tag behavior from public community documentation (ww2ogg, vgmstream, wwiser), no code copied. Includes a Wwise-Vorbis→Ogg repacker (`emit: "ogg"`), an original reimplementation of the ww2ogg algorithm with inline granule computation (no revorb pass needed), and a PTADPCM/16-bit-PCM decoder (`emit: "pcm"` / `toPcm()`, AudioBuffer-ready float32; PTADPCM algorithm from community documentation, verified against EVE media). |
|
|
64
|
+
|
|
65
|
+
## Post-fork additions inside copied formats
|
|
66
|
+
|
|
67
|
+
- `formats/dds` gained original, dependency-free **BC6H and BC7 CPU decoders**
|
|
68
|
+
in `runtime-resource` 0.8.0 (2026-07-21). BC6H covers all fourteen modes,
|
|
69
|
+
signed and unsigned HDR, transformed endpoints, partition/anchor fixups,
|
|
70
|
+
interpolation, reserved opaque-black modes, and float RGBA output. BC7 covers
|
|
71
|
+
all eight modes,
|
|
72
|
+
two- and three-subset partitions, anchor fixups, P-bits, dual index streams,
|
|
73
|
+
channel rotation, edge blocks, and the reserved transparent mode. Fixed bit
|
|
74
|
+
layouts and tables follow the Khronos Data Format Specification and Microsoft
|
|
75
|
+
BC6H/BC7 documentation. Tests cover every mode and signed/unsigned fixtures;
|
|
76
|
+
BC7 was also checked against randomized valid-mode blocks and both decoders
|
|
77
|
+
were exercised on real EVE textures acquired through `tools-core`.
|
|
78
|
+
- `formats/stl` received a writer hardening pass (2026-07-18) without changing
|
|
79
|
+
its donor origin: binary provenance headers now round-trip the caller's solid
|
|
80
|
+
name, shared triangle indices are validated as in-range safe integers, scaled
|
|
81
|
+
coordinates must remain finite, and binary coordinates must fit float32
|
|
82
|
+
instead of silently becoming infinities. Writer JSDoc and ASCII/binary
|
|
83
|
+
round-trip/error coverage were expanded in the runtime-owned copy.
|
|
84
|
+
- `formats/cmf` gained a **binary CMF v1 writer** (2026-07-15,
|
|
85
|
+
`src/formats/cmf/core/writer.js`, `CjsCmfFormat.write`/`writeAsync` and
|
|
86
|
+
`Write`/`WriteAsync`): original code implementing CarbonEngine's
|
|
87
|
+
`cmf::BuildFile` behavior — tagged self-relative span flattening with leaf
|
|
88
|
+
chunk dedup, BufferView→section remapping in first-encounter order,
|
|
89
|
+
meshoptimizer vertex/index compression (index compression canonicalizes
|
|
90
|
+
triangle rotation, matching the engine's own writer test expectations), and
|
|
91
|
+
the post-crc32 file checksum. Verified by write→read roundtrips against the
|
|
92
|
+
runtime reader; `E:\carbonengine\mesh\{include,src}\cmf` was the behavioral
|
|
93
|
+
reference, no code copied. `writeShared`/`writeSharedAsync` plus
|
|
94
|
+
`core/pack.js` (channel interleaving, index packing, unique buffer-index
|
|
95
|
+
assignment) serialize shared geometry directly, enabling GR2/OBJ/glTF→CMF —
|
|
96
|
+
verified against real EVE `.gr2` models fetched via
|
|
97
|
+
`@carbonenginejs/tool-index` (positions exact, triangles equivalent).
|
|
98
|
+
- `formats/cmf` also gained the **GR2 skeleton/animation converter**
|
|
99
|
+
(2026-07-15, `src/formats/cmf/core/gr2Anim.js`, applied automatically by
|
|
100
|
+
`writeShared`): GR2-shaped skeletons (root list or `models[].skeleton`)
|
|
101
|
+
convert to CMF bones/parents/rest transforms with inverse binds rebuilt
|
|
102
|
+
from the rest hierarchy; decoded Granny curves convert to CMF Step/Linear
|
|
103
|
+
channels — degree ≤ 1 exactly, degree 2 via adaptive de Boor resampling
|
|
104
|
+
with discontinuities snapped to one float32 ULP. Consumes only decoded
|
|
105
|
+
`{knots, controls}` data so the MIT runtime stays independent of the GR2
|
|
106
|
+
package. Validated on EVE ships (cde3_t3, gde3_t3, cfaux1_t1, mfaux1_t1:
|
|
107
|
+
3,377 channels ≤ 8.3e-4 positional / ≤ 0.14° rotational vs the GR2 runtime
|
|
108
|
+
sampler; 9 Granny curve formats) and characters (basicfemale: 132-bone
|
|
109
|
+
skeleton, exact skin weights).
|
|
110
|
+
- `formats/ogg` gained a pure-JS **Ogg Vorbis PCM decoder** (2026-07-15,
|
|
111
|
+
`src/formats/ogg/core/{vorbis.js,imdct.js}`, `emit: "pcm"`/`"audio"`):
|
|
112
|
+
original code implementing the Vorbis I specification (floor 1, residues
|
|
113
|
+
0/1/2, square-polar coupling, FFT-based IMDCT, windowed overlap-add).
|
|
114
|
+
stb_vorbis (public domain) was consulted as a behavioral reference and is
|
|
115
|
+
the source of the spec's floor1 `inverse_db_table` constants; no licensed
|
|
116
|
+
code was copied. Validated bit-comparable to ffmpeg (max diff ~3e-8) and
|
|
117
|
+
vgmstream (±1 int16 LSB) across the EVE Vorbis corpus.
|
|
118
|
+
|
|
119
|
+
## Wem packed-codebook snapshot
|
|
120
|
+
|
|
121
|
+
The wem Ogg repacker ships a package-owned copy of the aoTuV 6.03 packed
|
|
122
|
+
Vorbis codebook library at
|
|
123
|
+
`src/formats/wem/core/packedCodebooksAotuv603.js` (base64 module). It was
|
|
124
|
+
copied byte-identically from `packed_codebooks_aoTuV_603.bin` in the ww2ogg
|
|
125
|
+
distribution (`github.com/hcs64/ww2ogg`), 74,387 bytes, SHA-256
|
|
126
|
+
`00a93eab267d281401b1efd54e888a2e183299b9e6c446c48d09f701a89d9d27`, retrieved
|
|
127
|
+
2026-07-15. The data is BSD-licensed (Xiph.org Foundation, Adam Gashlin);
|
|
128
|
+
attribution and the full license terms are recorded in
|
|
129
|
+
`format-notices/wem/NOTICE` and `format-notices/wem/LICENSE`. An updated
|
|
130
|
+
snapshot must record its new source and digest here.
|
|
131
|
+
|
|
132
|
+
## Deliberately not copied
|
|
133
|
+
|
|
134
|
+
- `format-gr2` is the intended runtime-resource owner target, but its current
|
|
135
|
+
BitKnit-derived implementation is EUPL-1.2. It remains separate and active
|
|
136
|
+
until that code is replaced or an explicit distribution-license decision is
|
|
137
|
+
made. It has not been deprecated or relabeled as MIT.
|
|
138
|
+
- `format-carbon` remains the schema emitter/generator and build-time schema
|
|
139
|
+
authority. Black consumes its published definitions; Red exposes the copied
|
|
140
|
+
catalog but does not yet enforce it while reading YAML fields.
|
|
141
|
+
- `format-dxbc`, `format-hlsl`, `format-webgl`, and `format-webgpu` are active
|
|
142
|
+
shader work and were not copied, annotated, or otherwise modified by this
|
|
143
|
+
migration.
|
|
144
|
+
|
|
145
|
+
## Typed-array ownership adjustments
|
|
146
|
+
|
|
147
|
+
The runtime copies preserve caller byte objects by reference. During the fork,
|
|
148
|
+
three avoidable source-buffer copies were changed to views:
|
|
149
|
+
|
|
150
|
+
- CMF compressed sections use `Uint8Array.subarray`.
|
|
151
|
+
- glTF GLB chunks use `Uint8Array.subarray`.
|
|
152
|
+
- FBX raw binary property payloads use `Uint8Array.subarray`.
|
|
153
|
+
|
|
154
|
+
Decoder output buffers and GIF per-frame snapshots still allocate because those
|
|
155
|
+
values have independent semantic identity.
|
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,29 +1,29 @@
|
|
|
1
|
-
carbonenginejs/runtime-resource
|
|
2
|
-
================================
|
|
3
|
-
|
|
4
|
-
Copyright (c) 2026 CarbonEngineJS contributors.
|
|
5
|
-
|
|
6
|
-
This package owns CarbonEngineJS resource lifecycle, format selection, and the
|
|
7
|
-
non-shader format implementations listed under `format-notices/`.
|
|
8
|
-
|
|
9
|
-
CarbonEngine source material, format names, class names, and schema semantics
|
|
10
|
-
remain copyright their original CarbonEngine authors. Fenris Creations
|
|
11
|
-
(CCP Games) source material, tools, assets, shader behavior, and EVE-related
|
|
12
|
-
data remain copyright their original holders. These names are used for
|
|
13
|
-
interoperability and provenance context. This project is not affiliated with
|
|
14
|
-
or endorsed by CCP Games.
|
|
15
|
-
|
|
16
|
-
The copied format implementations retain their original MIT license and NOTICE
|
|
17
|
-
files under `format-notices/<format>/`. Those notices include third-party
|
|
18
|
-
dependency and behavioral-reference attribution, including meshoptimizer,
|
|
19
|
-
yaml, and black-reader-js.
|
|
20
|
-
|
|
21
|
-
The bundled Black definition JSON is a generated CarbonEngineJS schema artifact
|
|
22
|
-
copied from `format-carbon` revision
|
|
23
|
-
`d2a3c67cf3d46e8ba78ca19e66558d868178ec24`. Its exact digest and retention
|
|
24
|
-
purpose are recorded in `FORMAT-PROVENANCE.md`; no CarbonEngine source file or
|
|
25
|
-
game asset is embedded in that generated definition snapshot.
|
|
26
|
-
|
|
27
|
-
The EUPL-1.2 `format-gr2` implementation is deliberately not included. GR2
|
|
28
|
-
ownership migration remains deferred until its EUPL-derived BitKnit boundary
|
|
29
|
-
is replaced or an explicit distribution-license decision is made.
|
|
1
|
+
carbonenginejs/runtime-resource
|
|
2
|
+
================================
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2026 CarbonEngineJS contributors.
|
|
5
|
+
|
|
6
|
+
This package owns CarbonEngineJS resource lifecycle, format selection, and the
|
|
7
|
+
non-shader format implementations listed under `format-notices/`.
|
|
8
|
+
|
|
9
|
+
CarbonEngine source material, format names, class names, and schema semantics
|
|
10
|
+
remain copyright their original CarbonEngine authors. Fenris Creations
|
|
11
|
+
(CCP Games) source material, tools, assets, shader behavior, and EVE-related
|
|
12
|
+
data remain copyright their original holders. These names are used for
|
|
13
|
+
interoperability and provenance context. This project is not affiliated with
|
|
14
|
+
or endorsed by CCP Games.
|
|
15
|
+
|
|
16
|
+
The copied format implementations retain their original MIT license and NOTICE
|
|
17
|
+
files under `format-notices/<format>/`. Those notices include third-party
|
|
18
|
+
dependency and behavioral-reference attribution, including meshoptimizer,
|
|
19
|
+
yaml, and black-reader-js.
|
|
20
|
+
|
|
21
|
+
The bundled Black definition JSON is a generated CarbonEngineJS schema artifact
|
|
22
|
+
copied from `format-carbon` revision
|
|
23
|
+
`d2a3c67cf3d46e8ba78ca19e66558d868178ec24`. Its exact digest and retention
|
|
24
|
+
purpose are recorded in `FORMAT-PROVENANCE.md`; no CarbonEngine source file or
|
|
25
|
+
game asset is embedded in that generated definition snapshot.
|
|
26
|
+
|
|
27
|
+
The EUPL-1.2 `format-gr2` implementation is deliberately not included. GR2
|
|
28
|
+
ownership migration remains deferred until its EUPL-derived BitKnit boundary
|
|
29
|
+
is replaced or an explicit distribution-license decision is made.
|