@carbonenginejs/runtime-resource 0.8.0 → 0.9.1
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 +31 -29
- package/README.md +67 -548
- package/dist/CjsMotherLode.js +1271 -1271
- package/dist/CjsResMan.js +3005 -3005
- package/dist/CjsResManQueue.js +214 -214
- package/dist/CjsResource.js +566 -566
- package/dist/CjsResourceSource.js +68 -59
- package/dist/CjsResourceSource.js.map +1 -1
- package/dist/_virtual/_rollupPluginBabelHelpers.js +153 -153
- package/dist/format/CjsBlueReader.js +269 -269
- package/dist/format/CjsFormat.js +197 -192
- package/dist/format/CjsFormat.js.map +1 -1
- package/dist/format/CjsReader.js +18 -18
- package/dist/format/CjsResourceProbe.js +277 -277
- package/dist/format/payloadContract.js +173 -173
- package/dist/formats/black/CjsBlackFormat.js +278 -278
- package/dist/formats/black/core/CjsBlackBinaryReader.js +157 -153
- package/dist/formats/black/core/CjsBlackBinaryReader.js.map +1 -1
- package/dist/formats/black/core/CjsBlackPropertyReaders.js +387 -382
- package/dist/formats/black/core/CjsBlackPropertyReaders.js.map +1 -1
- package/dist/formats/black/core/CjsBlackReader.js +639 -639
- package/dist/formats/black/core/CjsBlackSchemaRegistry.js +437 -433
- package/dist/formats/black/core/CjsBlackSchemaRegistry.js.map +1 -1
- package/dist/formats/black/core/black-schema-v1-2026-07-23.json.js +4 -0
- package/dist/formats/black/core/black-schema-v1-2026-07-23.json.js.map +1 -0
- package/dist/formats/black/core/blackConstants.js +7 -7
- package/dist/formats/black/core/blackDefinitions.js +10 -10
- package/dist/formats/black/core/blackDefinitions.js.map +1 -1
- 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 +125 -125
- package/dist/formats/bnk/core/graph.js +140 -140
- package/dist/formats/bnk/core/helpers.js +409 -409
- package/dist/formats/bnk/core/musicNodes.js +493 -489
- package/dist/formats/bnk/core/musicNodes.js.map +1 -1
- package/dist/formats/bnk/core/soundbanksInfo.js +246 -246
- package/dist/formats/bnk/index.js +2 -2
- package/dist/formats/cmf/CjsCmfFormat.js +497 -497
- package/dist/formats/cmf/core/binary.js +123 -118
- package/dist/formats/cmf/core/binary.js.map +1 -1
- 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 +200 -193
- package/dist/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/formats/dds/core/bc6h.js +288 -288
- package/dist/formats/dds/core/bc7.js +256 -251
- package/dist/formats/dds/core/bc7.js.map +1 -1
- package/dist/formats/dds/core/helpers.js +815 -815
- package/dist/formats/dds/index.js +2 -2
- package/dist/formats/fbx/CjsFbxFormat.js +266 -266
- package/dist/formats/fbx/core/helpers.js +3911 -3901
- package/dist/formats/fbx/core/helpers.js.map +1 -1
- package/dist/formats/fbx/index.js +2 -2
- package/dist/formats/flac/CjsFlacFormat.js +93 -87
- 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 +92 -87
- 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 -290
- 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/gr2/CjsGr2Format.js +46 -0
- package/dist/formats/gr2/CjsGr2Format.js.map +1 -0
- package/dist/formats/gr2/core/CjsFormatGr2.js +273 -0
- package/dist/formats/gr2/core/CjsFormatGr2.js.map +1 -0
- package/dist/formats/gr2/core/bitknit2.js +280 -0
- package/dist/formats/gr2/core/bitknit2.js.map +1 -0
- package/dist/formats/gr2/core/curves.js +1047 -0
- package/dist/formats/gr2/core/curves.js.map +1 -0
- package/dist/formats/gr2/core/gsf.js +72 -0
- package/dist/formats/gr2/core/gsf.js.map +1 -0
- package/dist/formats/gr2/core/helpers.js +332 -0
- package/dist/formats/gr2/core/helpers.js.map +1 -0
- package/dist/formats/gr2/core/json.js +622 -0
- package/dist/formats/gr2/core/json.js.map +1 -0
- package/dist/formats/gr2/core/oodle1.js +388 -0
- package/dist/formats/gr2/core/oodle1.js.map +1 -0
- package/dist/formats/gr2/core/reader.js +617 -0
- package/dist/formats/gr2/core/reader.js.map +1 -0
- package/dist/formats/gr2/core/tangents.js +48 -0
- package/dist/formats/gr2/core/tangents.js.map +1 -0
- package/dist/formats/gr2/core/targets.js +351 -0
- package/dist/formats/gr2/core/targets.js.map +1 -0
- package/dist/formats/gr2/index.js +3 -0
- package/dist/formats/gr2/index.js.map +1 -0
- package/dist/formats/index.js +30 -23
- package/dist/formats/index.js.map +1 -1
- package/dist/formats/jpeg/CjsJpegFormat.js +212 -206
- 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 +387 -377
- package/dist/formats/jpeg/core/jpeg.js.map +1 -1
- package/dist/formats/jpeg/index.js +2 -2
- package/dist/formats/mp3/CjsMp3Format.js +197 -192
- 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 +197 -191
- 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 -253
- package/dist/formats/obj/core/helpers.js +573 -573
- package/dist/formats/obj/core/json.js +64 -64
- package/dist/formats/obj/core/parser.js +321 -321
- package/dist/formats/obj/index.js +2 -2
- package/dist/formats/ogg/CjsOggFormat.js +94 -88
- 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 +1004 -999
- package/dist/formats/ogg/core/vorbis.js.map +1 -1
- package/dist/formats/ogg/index.js +2 -2
- package/dist/formats/png/CjsPngFormat.js +201 -195
- 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 -261
- package/dist/formats/red/core/CjsRedReader.js +194 -194
- package/dist/formats/red/core/blackDefinitions.js +3 -3
- package/dist/formats/red/core/helpers.js +139 -139
- 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 -365
- package/dist/formats/stl/core/helpers.js +261 -261
- package/dist/formats/stl/core/json.js +51 -51
- package/dist/formats/stl/core/stl.js +634 -629
- 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 +197 -192
- 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 +198 -192
- 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 +197 -191
- 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 +91 -86
- 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 +242 -241
- 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 -417
- 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 +89 -83
- package/dist/formats/yaml/CjsYamlFormat.js.map +1 -1
- package/dist/formats/yaml/core/CjsYamlReader.js +311 -305
- 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 +49 -48
- package/dist/index.js.map +1 -1
- package/dist/resourcePath.js +18 -18
- package/dist/resourceStates.js +9 -9
- package/dist/resources/AudioGeometryResData.js +47 -47
- package/dist/resources/GStateBindingCallbackData.js +31 -31
- package/dist/resources/MeshDecalData.js +37 -37
- package/dist/resources/MeshDecalLodData.js +34 -34
- package/dist/resources/Tr2EffectRes.js +71 -71
- package/dist/resources/Tr2GrannyIntersectionResult.js +60 -60
- package/dist/resources/Tr2GrannyStateRes.js +44 -44
- package/dist/resources/Tr2ImageRes.js +114 -114
- package/dist/resources/Tr2LightProfileRes.js +40 -40
- package/dist/resources/Tr2MaterialArea.js +34 -34
- package/dist/resources/Tr2MaterialMesh.js +31 -31
- package/dist/resources/Tr2MaterialRes.js +34 -34
- package/dist/resources/Tr2ShaderPermutation.js +43 -43
- package/dist/resources/Tr2TextureLodManager.js +80 -80
- package/dist/resources/Tr2TextureLodUpdateRequest.js +37 -37
- package/dist/resources/Tr2TexturePackChannel.js +37 -37
- package/dist/resources/Tr2TexturePipeline.js +52 -52
- package/dist/resources/Tr2TexturePipelineParams.js +34 -34
- package/dist/resources/Tr2TexturePipelineStepCompress.js +40 -40
- package/dist/resources/Tr2TexturePipelineStepGenerateMips.js +22 -0
- package/dist/resources/Tr2TexturePipelineStepGenerateMips.js.map +1 -0
- package/dist/resources/Tr2TexturePipelineStepLimitSize.js +34 -34
- package/dist/resources/Tr2TexturePipelineStepLoad.js +31 -31
- package/dist/resources/Tr2TexturePipelineStepPack.js +43 -43
- package/dist/resources/TriGeometryRes.js +239 -239
- package/dist/resources/TriGeometryResAreaData.js +59 -59
- package/dist/resources/TriGeometryResJointData.js +38 -38
- package/dist/resources/TriGeometryResLodData.js +88 -88
- package/dist/resources/TriGeometryResMeshData.js +63 -63
- package/dist/resources/TriGeometryResSkeletonData.js +34 -34
- package/dist/resources/TriGrannyRes.js +43 -43
- package/dist/resources/TriJointBinding.js +38 -38
- package/dist/resources/TriMorphTargetGeometryConstants.js +46 -46
- package/dist/resources/TriRtGeometryConstants.js +88 -88
- package/dist/resources/TriTextureRes.js +304 -304
- package/dist/resources/enums.js +18 -18
- package/dist/resources/resourceBoundary.js +47 -47
- package/dist/resources/texturePipelineBehavior.js +308 -308
- package/dist/texture/CjsTextureArrayRes.js +406 -406
- package/dist/texture/CjsTextureParameterProxy.js +133 -133
- package/docs/README.md +73 -0
- package/docs/architecture.md +86 -0
- package/docs/concepts/resource-lifecycle.md +217 -0
- package/docs/formats/README.md +105 -0
- package/docs/formats/gr2.md +161 -0
- package/{FORMAT-PROVENANCE.md → docs/formats/provenance.md} +173 -155
- package/docs/formats/stl.md +37 -0
- package/docs/formats/wwise.md +44 -0
- package/docs/reference/classes/README.md +33 -0
- package/docs/reference/classes/core.md +106 -0
- package/docs/reference/classes/dropped.md +46 -0
- package/docs/reference/classes/formats.md +522 -0
- package/docs/reference/classes/resources.md +346 -0
- package/docs/reference/classes/texture.md +26 -0
- package/docs/reference/events.md +92 -0
- package/docs/reference/motherlode-cache.md +244 -0
- package/docs/reference/queues.md +102 -0
- package/docs/reference/reload.md +107 -0
- package/docs/reference/texture-arrays.md +113 -0
- package/docs/reference/texture-pipeline.md +53 -0
- package/docs/roadmap.md +104 -0
- 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 -20
- 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/gr2/LICENSE +21 -0
- package/format-notices/gr2/NOTICE +60 -0
- package/format-notices/gr2/THIRD-PARTY-NOTICES.md +93 -0
- 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 +52 -51
- package/dist/formats/black/core/black-schema-v1-2026-07-11.json.js +0 -4
- package/dist/formats/black/core/black-schema-v1-2026-07-11.json.js.map +0 -1
- package/resource-lifecycle.md +0 -679
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
# STL export
|
|
2
|
+
|
|
3
|
+
Status: Evolving
|
|
4
|
+
Scope: `@carbonenginejs/runtime-resource/formats/stl`
|
|
5
|
+
Audience: Users and integrators
|
|
6
|
+
Summary: Defines the STL writer contract for shared geometry, including validation and watertight checking.
|
|
7
|
+
|
|
8
|
+
## Contract
|
|
9
|
+
|
|
10
|
+
`CjsStlFormat` writes shared geometry directly to binary or ASCII STL. The
|
|
11
|
+
writer consumes `mesh.vertex.position` and triangular `mesh.indices[].faces`;
|
|
12
|
+
multiple meshes and index groups are flattened in encounter order because STL
|
|
13
|
+
does not carry portable scene, material, skin, or animation structure.
|
|
14
|
+
|
|
15
|
+
```js
|
|
16
|
+
import { CjsStlFormat } from "@carbonenginejs/runtime-resource/formats/stl";
|
|
17
|
+
|
|
18
|
+
const bytes = CjsStlFormat.write(sharedGeometry, {
|
|
19
|
+
binary: true,
|
|
20
|
+
solidName: "ship_hull",
|
|
21
|
+
scale: 1000,
|
|
22
|
+
requireWatertight: true
|
|
23
|
+
});
|
|
24
|
+
```
|
|
25
|
+
|
|
26
|
+
Writes do not mutate the shared input. Facet normals are recalculated from
|
|
27
|
+
winding by default; set `recalculateNormals: false` to average valid vertex
|
|
28
|
+
normals. Degenerate triangles are skipped by default. Index values must be
|
|
29
|
+
safe integers within the position channel, and binary output rejects
|
|
30
|
+
coordinates outside float32 range instead of silently emitting infinities.
|
|
31
|
+
The `requireWatertight` option rejects open, non-manifold, inconsistently
|
|
32
|
+
wound, or degenerate output.
|
|
33
|
+
|
|
34
|
+
## Related documentation
|
|
35
|
+
|
|
36
|
+
- [Format subpaths](README.md)
|
|
37
|
+
- [Format ownership and fork provenance](provenance.md)
|
|
@@ -0,0 +1,44 @@
|
|
|
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; pinned against
|
|
20
|
+
bank generator version 150). The Wwise-domain toolkit is grouped under the
|
|
21
|
+
`CjsBnkFormat.wwise` static: the SoundbanksInfo catalog helpers, the FNV-1
|
|
22
|
+
id hash, and event to media resolution:
|
|
23
|
+
|
|
24
|
+
```js
|
|
25
|
+
import { CjsBnkFormat } from "@carbonenginejs/runtime-resource/formats/bnk";
|
|
26
|
+
import { CjsWemFormat } from "@carbonenginejs/runtime-resource/formats/wem";
|
|
27
|
+
|
|
28
|
+
const inspections = bankByteArrays.map(bytes => CjsBnkFormat.inspect(bytes));
|
|
29
|
+
const { eventMedia } = CjsBnkFormat.wwise.eventMediaFromBanks(inspections);
|
|
30
|
+
// eventMedia: Map<eventObjectId, Set<wemId>> - banks may split events from
|
|
31
|
+
// their target sounds, so pass every related bank to one call.
|
|
32
|
+
|
|
33
|
+
const ogg = CjsWemFormat.toOgg(wemBytes); // Wwise Vorbis -> Ogg (lossless)
|
|
34
|
+
const pcm = CjsWemFormat.toPcm(wemBytes); // PTADPCM / 16-bit PCM -> float32
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
The read/inspect path stays a pure container reader;
|
|
38
|
+
`wwise.eventMediaFromBanks` is graph interpretation offered for consumers
|
|
39
|
+
with their own engines — the resource lifecycle never calls it.
|
|
40
|
+
|
|
41
|
+
## Related documentation
|
|
42
|
+
|
|
43
|
+
- [Format subpaths](README.md)
|
|
44
|
+
- [Format ownership and fork provenance](provenance.md)
|
|
@@ -0,0 +1,33 @@
|
|
|
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, resource and
|
|
25
|
+
source classes, and the format/probe bases.
|
|
26
|
+
- [resources.md](resources.md): the Carbon-shaped semantic resource and data
|
|
27
|
+
classes under `src/resources`.
|
|
28
|
+
- [texture.md](texture.md): texture-array aggregation classes under
|
|
29
|
+
`src/texture`.
|
|
30
|
+
- [formats.md](formats.md): format entry classes and their internal reader
|
|
31
|
+
machinery under `src/formats`.
|
|
32
|
+
- [dropped.md](dropped.md): retained native shapes under `src/dropped` that
|
|
33
|
+
are documented but never exported or bundled.
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# Core class catalog
|
|
2
|
+
|
|
3
|
+
Status: Evolving
|
|
4
|
+
Scope: `@carbonenginejs/runtime-resource` classes under `src/` and `src/format/`
|
|
5
|
+
Audience: Users, maintainers, and automated readers
|
|
6
|
+
Summary: Provides one-sentence purpose descriptors for the resource manager, registry, resource, source, and format/probe base classes.
|
|
7
|
+
|
|
8
|
+
<!-- class:CjsMotherLode -->
|
|
9
|
+
## `CjsMotherLode`
|
|
10
|
+
|
|
11
|
+
Strong, deterministic resource registry that owns canonical path/variant identities and evicts entries only through explicit ownership removal, inactivity sweeps, or recorded-byte cache trimming, replacing Carbon's weak-live/strong-cache ownership transition.
|
|
12
|
+
|
|
13
|
+
- Export: `@carbonenginejs/runtime-resource`
|
|
14
|
+
- Source: `src/CjsMotherLode.js`
|
|
15
|
+
- Visibility: Public
|
|
16
|
+
- Kind: Adapted Carbon concept
|
|
17
|
+
|
|
18
|
+
<!-- class:CjsResMan -->
|
|
19
|
+
## `CjsResMan`
|
|
20
|
+
|
|
21
|
+
GPU-free resource manager that resolves paths through registered sources and formats, publishes canonical resources into a `CjsMotherLode` registry under exact-owner generation guards, and drives the main/background work queues, read-operation caching, reload staging, and automatic purge policy.
|
|
22
|
+
|
|
23
|
+
- Export: `@carbonenginejs/runtime-resource`
|
|
24
|
+
- Source: `src/CjsResMan.js`
|
|
25
|
+
- Visibility: Public
|
|
26
|
+
- Kind: Adapted Carbon concept
|
|
27
|
+
|
|
28
|
+
<!-- class:CjsResManWorkQueue -->
|
|
29
|
+
## `CjsResManWorkQueue`
|
|
30
|
+
|
|
31
|
+
Small FIFO executor used inside `CjsResMan` that tracks item ids, pause state, concurrency, cancellation, and sync/async completion while queue policy stays in the manager.
|
|
32
|
+
|
|
33
|
+
- Export: None
|
|
34
|
+
- Source: `src/CjsResManQueue.js`
|
|
35
|
+
- Visibility: Internal
|
|
36
|
+
- Kind: Internal implementation class
|
|
37
|
+
|
|
38
|
+
<!-- class:CjsResource -->
|
|
39
|
+
## `CjsResource`
|
|
40
|
+
|
|
41
|
+
Base runtime resource handle that carries normalized path/extension/requirement identity, load state, and an attached CPU payload, with manager lifecycle callbacks supplied by `CjsResMan` after canonical insertion.
|
|
42
|
+
|
|
43
|
+
- Export: `@carbonenginejs/runtime-resource`
|
|
44
|
+
- Source: `src/CjsResource.js`
|
|
45
|
+
- Visibility: Public
|
|
46
|
+
- Kind: Adapted Carbon concept
|
|
47
|
+
|
|
48
|
+
<!-- class:CjsMemoryResourceSource -->
|
|
49
|
+
## `CjsMemoryResourceSource`
|
|
50
|
+
|
|
51
|
+
In-memory resource source that maps normalized resource paths to preset values and serves them to reads without any I/O.
|
|
52
|
+
|
|
53
|
+
- Export: `@carbonenginejs/runtime-resource`
|
|
54
|
+
- Source: `src/CjsResourceSource.js`
|
|
55
|
+
- Visibility: Public
|
|
56
|
+
- Kind: Original CarbonEngineJS class
|
|
57
|
+
|
|
58
|
+
<!-- class:CjsFetchResourceSource -->
|
|
59
|
+
## `CjsFetchResourceSource`
|
|
60
|
+
|
|
61
|
+
Resource source that resolves a normalized path against an optional base URL and reads response bytes through an injected fetch implementation.
|
|
62
|
+
|
|
63
|
+
- Export: `@carbonenginejs/runtime-resource`
|
|
64
|
+
- Source: `src/CjsResourceSource.js`
|
|
65
|
+
- Visibility: Public
|
|
66
|
+
- Kind: Original CarbonEngineJS class
|
|
67
|
+
|
|
68
|
+
<!-- class:CjsBlueReader -->
|
|
69
|
+
## `CjsBlueReader`
|
|
70
|
+
|
|
71
|
+
Shared output and hydration backend for Blue persistence readers that owns common payload/runtime targets, reference emission, hydration adapter phases, reports, finalization, and schema-descriptor helpers, while transports keep framing and member decoding.
|
|
72
|
+
|
|
73
|
+
- Export: None
|
|
74
|
+
- Source: `src/format/CjsBlueReader.js`
|
|
75
|
+
- Visibility: Internal
|
|
76
|
+
- Kind: Internal implementation class
|
|
77
|
+
|
|
78
|
+
<!-- class:CjsFormat -->
|
|
79
|
+
## `CjsFormat`
|
|
80
|
+
|
|
81
|
+
Base class for format readers that defines the static `read`/`readAsync`/`isSupported`/`resolveType` contract and instance option handling that concrete format packages implement.
|
|
82
|
+
|
|
83
|
+
- Export: `@carbonenginejs/runtime-resource`
|
|
84
|
+
- Source: `src/format/CjsFormat.js`
|
|
85
|
+
- Visibility: Public
|
|
86
|
+
- Kind: Original CarbonEngineJS class
|
|
87
|
+
|
|
88
|
+
<!-- class:CjsReader -->
|
|
89
|
+
## `CjsReader`
|
|
90
|
+
|
|
91
|
+
Internal base for construction-bound readers that are created for one source and dropped after use, relying on garbage collection instead of explicit dispose/clear cleanup.
|
|
92
|
+
|
|
93
|
+
- Export: None
|
|
94
|
+
- Source: `src/format/CjsReader.js`
|
|
95
|
+
- Visibility: Internal
|
|
96
|
+
- Kind: Internal implementation class
|
|
97
|
+
|
|
98
|
+
<!-- class:CjsResourceProbe -->
|
|
99
|
+
## `CjsResourceProbe`
|
|
100
|
+
|
|
101
|
+
Standard probe-report model that formats return from inspection, recording support status, content-verification state, confidence, preferred route, capability variants, warnings, and errors without choosing an engine or media backend.
|
|
102
|
+
|
|
103
|
+
- Export: `@carbonenginejs/runtime-resource`
|
|
104
|
+
- Source: `src/format/CjsResourceProbe.js`
|
|
105
|
+
- Visibility: Public
|
|
106
|
+
- Kind: Original CarbonEngineJS class
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# Dropped class catalog
|
|
2
|
+
|
|
3
|
+
Status: Evolving
|
|
4
|
+
Scope: `@carbonenginejs/runtime-resource` classes under `src/dropped`
|
|
5
|
+
Audience: Users, maintainers, and automated readers
|
|
6
|
+
Summary: Provides one-sentence purpose descriptors for retained-only Carbon reference shapes that are never exported or bundled.
|
|
7
|
+
|
|
8
|
+
<!-- class:CmfVertexReader -->
|
|
9
|
+
## `CmfVertexReader`
|
|
10
|
+
|
|
11
|
+
Retained-only reference shape mirroring Carbon's CMF vertex-element pointer-lookup helper, superseded by the JavaScript CMF format's channel decoding.
|
|
12
|
+
|
|
13
|
+
- Export: None
|
|
14
|
+
- Source: `src/dropped/CmfVertexReader.js`
|
|
15
|
+
- Visibility: Internal
|
|
16
|
+
- Kind: Faithful Carbon port
|
|
17
|
+
|
|
18
|
+
<!-- class:Tr2AsyncSave -->
|
|
19
|
+
## `Tr2AsyncSave`
|
|
20
|
+
|
|
21
|
+
Retained-only reference shape mirroring Carbon's abstract prepare/save callback base, superseded by promise-based format `Write`/`WriteAsync` operations and resource-level save-status compatibility methods.
|
|
22
|
+
|
|
23
|
+
- Export: None
|
|
24
|
+
- Source: `src/dropped/Tr2AsyncSave.js`
|
|
25
|
+
- Visibility: Internal
|
|
26
|
+
- Kind: Faithful Carbon port
|
|
27
|
+
|
|
28
|
+
<!-- class:Tr2CmfContents -->
|
|
29
|
+
## `Tr2CmfContents`
|
|
30
|
+
|
|
31
|
+
Retained-only reference shape mirroring Carbon's native CMF section lifetime and decompression holder, superseded by `CjsCmfFormat`'s bounded section access and typed-array data.
|
|
32
|
+
|
|
33
|
+
- Export: None
|
|
34
|
+
- Source: `src/dropped/Tr2CmfContents.js`
|
|
35
|
+
- Visibility: Internal
|
|
36
|
+
- Kind: Faithful Carbon port
|
|
37
|
+
|
|
38
|
+
<!-- class:Tr2LoadPrepareFence -->
|
|
39
|
+
## `Tr2LoadPrepareFence`
|
|
40
|
+
|
|
41
|
+
Retained-only reference shape mirroring Carbon's two-queue load/prepare fence helper, superseded by the snapshot-fence contract owned by `CjsResMan.Wait()`.
|
|
42
|
+
|
|
43
|
+
- Export: None
|
|
44
|
+
- Source: `src/dropped/Tr2LoadPrepareFence.js`
|
|
45
|
+
- Visibility: Internal
|
|
46
|
+
- Kind: Faithful Carbon port
|