@carbonenginejs/runtime-resource 0.12.2 → 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/README.md +21 -0
- package/dist/CjsResMan.js +393 -29
- package/dist/CjsResMan.js.map +1 -1
- package/dist/format/carbonEffect/CjsCarbonEffectReader.js +165 -118
- package/dist/format/carbonEffect/CjsCarbonEffectReader.js.map +1 -1
- package/dist/format/carbonEffect/buildCarbonEffectContainer.js +182 -0
- package/dist/format/carbonEffect/buildCarbonEffectContainer.js.map +1 -0
- package/dist/format/carbonEffect/carbonEffectBackendBlock.js +7 -113
- package/dist/format/carbonEffect/carbonEffectBackendBlock.js.map +1 -1
- package/dist/format/carbonEffect/carbonEffectRecords.js +258 -66
- package/dist/format/carbonEffect/carbonEffectRecords.js.map +1 -1
- package/dist/format/carbonEffect/carbonEffectResourceTransform.js +197 -0
- package/dist/format/carbonEffect/carbonEffectResourceTransform.js.map +1 -0
- package/dist/format/effect/effectBodyInventory.js +146 -0
- package/dist/format/effect/effectBodyInventory.js.map +1 -0
- package/dist/format/effect/effectPermutationGraph.js +13 -13
- package/dist/format/effect/effectPermutationGraph.js.map +1 -1
- package/dist/format/index.js +4 -4
- package/dist/formats/black/CjsBlackFormat.js +19 -1
- package/dist/formats/black/CjsBlackFormat.js.map +1 -1
- package/dist/formats/bnk/CjsBnkFormat.js +28 -9
- package/dist/formats/bnk/CjsBnkFormat.js.map +1 -1
- package/dist/formats/bnk/core/busNodes.js +252 -0
- package/dist/formats/bnk/core/busNodes.js.map +1 -0
- package/dist/formats/bnk/core/effectNodes.js +147 -0
- package/dist/formats/bnk/core/effectNodes.js.map +1 -0
- package/dist/formats/bnk/core/eventAction.js +135 -24
- package/dist/formats/bnk/core/eventAction.js.map +1 -1
- package/dist/formats/bnk/core/globalSettings.js +215 -0
- package/dist/formats/bnk/core/globalSettings.js.map +1 -0
- package/dist/formats/bnk/core/helpers.js +37 -5
- package/dist/formats/bnk/core/helpers.js.map +1 -1
- package/dist/formats/bnk/core/musicNodes.js +43 -19
- package/dist/formats/bnk/core/musicNodes.js.map +1 -1
- package/dist/formats/bnk/core/nodeBase.js +28 -7
- package/dist/formats/bnk/core/nodeBase.js.map +1 -1
- package/dist/formats/dds/core/helpers.js +40 -1
- package/dist/formats/dds/core/helpers.js.map +1 -1
- package/dist/formats/dxbc/CjsDxbcFormat.js +45 -0
- package/dist/formats/dxbc/CjsDxbcFormat.js.map +1 -1
- package/dist/formats/dxbc/core/disassemble.js +240 -0
- package/dist/formats/dxbc/core/disassemble.js.map +1 -0
- package/dist/formats/gltf/CjsGltfFormat.js +1 -39
- package/dist/formats/gltf/CjsGltfFormat.js.map +1 -1
- package/dist/formats/gltf/core/helpers.js +1 -21
- package/dist/formats/gltf/core/helpers.js.map +1 -1
- package/dist/formats/hlsl/CjsHlslFormat.js +0 -21
- package/dist/formats/hlsl/CjsHlslFormat.js.map +1 -1
- package/dist/formats/hlsl/core/carbonDescriptionToRuntime.js +118 -49
- package/dist/formats/hlsl/core/carbonDescriptionToRuntime.js.map +1 -1
- package/dist/formats/hlsl/core/detailMapFamily.js +128 -0
- package/dist/formats/hlsl/core/detailMapFamily.js.map +1 -0
- package/dist/formats/hlsl/core/localLightFamily.js +133 -0
- package/dist/formats/hlsl/core/localLightFamily.js.map +1 -0
- package/dist/formats/hlsl/core/tr2/resources/HlslEffectRes.js +79 -73
- package/dist/formats/hlsl/core/tr2/resources/HlslEffectRes.js.map +1 -1
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectBindingManifest.js +8 -1
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectBindingManifest.js.map +1 -1
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectDescription.js +11 -691
- package/dist/formats/hlsl/core/tr2/shader/HlslEffectDescription.js.map +1 -1
- package/dist/formats/index.js +4 -2
- package/dist/formats/index.js.map +1 -1
- package/dist/formats/obj/CjsObjFormat.js +1 -22
- package/dist/formats/obj/CjsObjFormat.js.map +1 -1
- package/dist/formats/obj/core/helpers.js +1 -21
- package/dist/formats/obj/core/helpers.js.map +1 -1
- package/dist/formats/pickle/CjsPickleFormat.js +214 -0
- package/dist/formats/pickle/CjsPickleFormat.js.map +1 -0
- package/dist/formats/pickle/core/CjsPickleProtocol0Reader.js +551 -0
- package/dist/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -0
- package/dist/formats/pickle/index.js +2 -0
- package/dist/formats/pickle/index.js.map +1 -0
- package/dist/formats/red/core/redGraph.js +11 -8
- package/dist/formats/red/core/redGraph.js.map +1 -1
- package/dist/formats/stl/CjsStlFormat.js +1 -46
- package/dist/formats/stl/CjsStlFormat.js.map +1 -1
- package/dist/formats/stl/core/helpers.js +1 -21
- package/dist/formats/stl/core/helpers.js.map +1 -1
- package/dist/formats/webgl/CjsWebglFormat.js +33 -55
- package/dist/formats/webgl/CjsWebglFormat.js.map +1 -1
- package/dist/formats/webgl/core/buildGlslEffectContainer.js +70 -0
- package/dist/formats/webgl/core/buildGlslEffectContainer.js.map +1 -0
- package/dist/formats/webgl/core/effectPackage.js +216 -108
- package/dist/formats/webgl/core/effectPackage.js.map +1 -1
- package/dist/formats/webgl/core/errors.js +1 -1
- package/dist/formats/webgl/core/errors.js.map +1 -1
- package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js +166 -24
- package/dist/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
- package/dist/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +63 -5
- package/dist/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
- package/dist/formats/webgl/core/glsl/packedLightFixups.js +98 -0
- package/dist/formats/webgl/core/glsl/packedLightFixups.js.map +1 -0
- package/dist/formats/webgl/core/glslBackendBlock.js +552 -0
- package/dist/formats/webgl/core/glslBackendBlock.js.map +1 -0
- package/dist/formats/webgl/core/glslBackendBodySet.js +243 -0
- package/dist/formats/webgl/core/glslBackendBodySet.js.map +1 -0
- package/dist/formats/webgl/core/{cewgCompleteness.js → glslEffectCompleteness.js} +12 -8
- package/dist/formats/webgl/core/glslEffectCompleteness.js.map +1 -0
- package/dist/formats/webgl/core/helpers.js +33 -172
- package/dist/formats/webgl/core/helpers.js.map +1 -1
- package/dist/formats/webgl/core/inspectGlslEffectContainer.js +122 -0
- package/dist/formats/webgl/core/inspectGlslEffectContainer.js.map +1 -0
- package/dist/formats/webgl/core/readGlslEffectContainer.js +249 -0
- package/dist/formats/webgl/core/readGlslEffectContainer.js.map +1 -0
- package/dist/formats/webgpu/CjsWebgpuFormat.js +15 -15
- package/dist/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
- package/dist/formats/webgpu/core/buildCarbonEffectContainer.js +37 -145
- package/dist/formats/webgpu/core/buildCarbonEffectContainer.js.map +1 -1
- package/dist/formats/webgpu/core/{cewgpu/CewgpuContainer.js → carbonWebgpu/CarbonWebgpuContainer.js} +13 -27
- package/dist/formats/webgpu/core/carbonWebgpu/CarbonWebgpuContainer.js.map +1 -0
- package/dist/formats/webgpu/core/{cewgpu → carbonWebgpu}/containerViews.js +1 -1
- package/dist/formats/webgpu/core/carbonWebgpu/containerViews.js.map +1 -0
- package/dist/formats/webgpu/core/{cewgpu → carbonWebgpu}/validateContainer.js +4 -4
- package/dist/formats/webgpu/core/carbonWebgpu/validateContainer.js.map +1 -0
- package/dist/formats/webgpu/core/effectBackendBodySet.js +18 -18
- package/dist/formats/webgpu/core/effectBackendBodySet.js.map +1 -1
- package/dist/formats/webgpu/core/errors.js +1 -1
- package/dist/formats/webgpu/core/errors.js.map +1 -1
- package/dist/formats/webgpu/core/helpers.js +22 -22
- package/dist/formats/webgpu/core/helpers.js.map +1 -1
- package/dist/formats/webgpu/core/packageEffect.js +11 -15
- package/dist/formats/webgpu/core/packageEffect.js.map +1 -1
- package/dist/formats/webgpu/core/packageEffectSelection.js +1 -1
- package/dist/formats/webgpu/core/packageEffectSelection.js.map +1 -1
- package/dist/formats/webgpu/core/wgsl/buildResourceTransformPlan.js +23 -23
- package/dist/formats/webgpu/core/wgsl/buildResourceTransformPlan.js.map +1 -1
- package/dist/formats/webgpu/core/wgsl/buildWgslSet.js +6 -6
- package/dist/formats/webgpu/core/wgsl/buildWgslSet.js.map +1 -1
- package/dist/formats/yaml/CjsYamlFormat.js +3 -3
- package/dist/formats/yaml/CjsYamlFormat.js.map +1 -1
- package/dist/formats/yaml/core/CjsYamlReader.js +4 -6
- package/dist/formats/yaml/core/CjsYamlReader.js.map +1 -1
- package/dist/formats/yaml/core/helpers.js +27 -1
- package/dist/formats/yaml/core/helpers.js.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/resource/CjsLoadingObject.js +19 -0
- package/dist/resource/CjsLoadingObject.js.map +1 -0
- package/dist/resource/CjsResource.js +4 -0
- package/dist/resource/CjsResource.js.map +1 -1
- package/dist/resource/ResourceHandlerMode.js +14 -0
- package/dist/resource/ResourceHandlerMode.js.map +1 -0
- package/dist/resource/index.js +2 -0
- package/dist/resource/index.js.map +1 -1
- package/dist/resource/shader/Tr2EffectRes.js +118 -213
- package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
- package/dist/resource/shader/Tr2Shader.js +37 -15
- package/dist/resource/shader/Tr2Shader.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectConstant.js +37 -29
- package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectDescription.js +39 -34
- package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js +51 -30
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +45 -25
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectResource.js +51 -17
- package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js +219 -88
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js +28 -18
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +96 -39
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/shader/reflection/carbonRecordFields.js +159 -0
- package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -0
- package/dist/resource/shader/reflection/shaderStage.js +22 -0
- package/dist/resource/shader/reflection/shaderStage.js.map +1 -0
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js +68 -10
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
- package/dist/worker/CjsResManMainThreadLoader.js +9 -7
- package/dist/worker/CjsResManMainThreadLoader.js.map +1 -1
- package/dist/worker/CjsResManWorker.js +5 -4
- package/dist/worker/CjsResManWorker.js.map +1 -1
- package/dist/worker/CjsResManWorkerLoader.js +9 -6
- package/dist/worker/CjsResManWorkerLoader.js.map +1 -1
- package/docs/README.md +2 -2
- package/docs/architecture.md +12 -3
- package/docs/concepts/resource-lifecycle.md +9 -8
- package/docs/concepts/shader-resource-model.md +14 -17
- package/docs/concepts/writing-an-engine-adapter.md +1 -1
- package/docs/formats/README.md +4 -2
- package/docs/formats/carbon-effect-container.md +127 -26
- package/docs/formats/dxbc/architecture.md +1 -1
- package/docs/formats/dxbc/reference/api.md +28 -0
- package/docs/formats/hlsl/README.md +3 -3
- package/docs/formats/hlsl/architecture.md +8 -9
- package/docs/formats/hlsl/guides/hydrating-json-output.md +3 -5
- package/docs/formats/hlsl/guides/reading-effects.md +5 -1
- package/docs/formats/hlsl/reference/advanced-analysis.md +20 -25
- package/docs/formats/hlsl/reference/api.md +0 -7
- package/docs/formats/hlsl/reference/json-graph.md +1 -4
- package/docs/formats/pickle.md +82 -0
- package/docs/formats/webgl/README.md +71 -13
- package/docs/formats/webgl/architecture.md +16 -17
- package/docs/formats/webgl/carbon-constant-layouts.md +3 -3
- package/docs/formats/webgl/decl-io.md +3 -3
- package/docs/formats/webgl/memory-structured.md +27 -8
- package/docs/formats/webgl/texture-sample.md +1 -1
- package/docs/formats/webgpu/README.md +3 -3
- package/docs/formats/webgpu/architecture.md +5 -6
- package/docs/formats/webgpu/formats/{cewgpu.md → carbon-webgpu.md} +10 -11
- package/docs/formats/webgpu/guides/effect-packaging.md +6 -8
- package/docs/formats/webgpu/reference/api.md +11 -12
- package/docs/formats/webgpu/reference/wgsl-compatibility.md +11 -8
- package/docs/formats/wwise.md +63 -2
- package/docs/reference/classes/core.md +10 -0
- package/docs/reference/classes/formats.md +40 -48
- package/docs/reference/classes/resources.md +2 -2
- package/docs/reference/queues.md +88 -4
- package/docs/reference/workers.md +7 -0
- package/package.json +61 -61
- package/dist/format/carbonEffect/carbonDescriptionFromPortable.js +0 -372
- package/dist/format/carbonEffect/carbonDescriptionFromPortable.js.map +0 -1
- package/dist/format/effect/effectReflectionPackage.js +0 -636
- package/dist/format/effect/effectReflectionPackage.js.map +0 -1
- package/dist/formats/hlsl/core/HlslReader.js +0 -16
- package/dist/formats/hlsl/core/HlslReader.js.map +0 -1
- package/dist/formats/hlsl/core/portableReflection.js +0 -848
- package/dist/formats/hlsl/core/portableReflection.js.map +0 -1
- package/dist/formats/hlsl/portable.js +0 -2
- package/dist/formats/hlsl/portable.js.map +0 -1
- package/dist/formats/webgl/core/cewg/CewgPackage.js +0 -340
- package/dist/formats/webgl/core/cewg/CewgPackage.js.map +0 -1
- package/dist/formats/webgl/core/cewg/CewgPackageBuilder.js +0 -104
- package/dist/formats/webgl/core/cewg/CewgPackageBuilder.js.map +0 -1
- package/dist/formats/webgl/core/cewg/binary.js +0 -19
- package/dist/formats/webgl/core/cewg/binary.js.map +0 -1
- package/dist/formats/webgl/core/cewgCompleteness.js.map +0 -1
- package/dist/formats/webgl/core/effectPackageValidation.js +0 -331
- package/dist/formats/webgl/core/effectPackageValidation.js.map +0 -1
- package/dist/formats/webgpu/core/cewgpu/CewgpuContainer.js.map +0 -1
- package/dist/formats/webgpu/core/cewgpu/containerViews.js.map +0 -1
- package/dist/formats/webgpu/core/cewgpu/validateContainer.js.map +0 -1
- package/dist/resource/shader/portable.js +0 -33
- package/dist/resource/shader/portable.js.map +0 -1
- package/docs/formats/hlsl/reference/portable-reflection.md +0 -141
- package/docs/formats/webgl/effect-reflection.md +0 -127
package/docs/formats/wwise.md
CHANGED
|
@@ -20,9 +20,18 @@ lists, action type/target, sound and music-track source ids). For bank
|
|
|
20
20
|
generator version 150, recognized Event Actions additionally expose exact
|
|
21
21
|
scope/mode, property and range bundles, delay/transition/probability values,
|
|
22
22
|
fade and action flags, exceptions, and Play bank identities. The
|
|
23
|
-
|
|
23
|
+
recognized action-specific tails include Voice Volume/Pitch, Bus Volume, and
|
|
24
|
+
Voice low-pass/high-pass values,
|
|
25
|
+
Set State/Switch group/value identities, and Set/Reset Game Parameter values,
|
|
26
|
+
scopes, absolute/relative meaning, default, randomized delay/transition,
|
|
27
|
+
curve, transition-bypass flag, and exceptions. Voice property actions retain
|
|
28
|
+
the real variable-length exception records after their value bundle; timing
|
|
29
|
+
randomizers in the common property bundle are accepted independently of the
|
|
30
|
+
action-specific value randomizer. These fields are preserved by the reader
|
|
31
|
+
even when the currently inspected EVE corpus uses only a subset.
|
|
32
|
+
The Wwise-domain toolkit is grouped under the `CjsBnkFormat.wwise` static: the
|
|
24
33
|
SoundbanksInfo catalog helpers, the FNV-1 id hash, event-to-media resolution,
|
|
25
|
-
typed Event Actions, and typed authored-SFX nodes:
|
|
34
|
+
typed Global Settings and Event Actions, and typed authored-SFX nodes:
|
|
26
35
|
|
|
27
36
|
```js
|
|
28
37
|
import { CjsBnkFormat } from "@carbonenginejs/runtime-resource/formats/bnk";
|
|
@@ -32,6 +41,9 @@ const inspections = bankByteArrays.map(bytes => CjsBnkFormat.inspect(bytes));
|
|
|
32
41
|
const action = CjsBnkFormat.wwise.parseEventAction(actionPayload, {
|
|
33
42
|
bankVersion: 150
|
|
34
43
|
});
|
|
44
|
+
const globalSettings = CjsBnkFormat.wwise.parseGlobalSettings(stmgPayload, {
|
|
45
|
+
bankVersion: 150
|
|
46
|
+
});
|
|
35
47
|
const { eventMedia } = CjsBnkFormat.wwise.eventMediaFromBanks(inspections);
|
|
36
48
|
// eventMedia: Map<eventObjectId, Set<wemId>> - banks may split events from
|
|
37
49
|
// their target sounds, so pass every related bank to one call.
|
|
@@ -46,6 +58,20 @@ const {
|
|
|
46
58
|
diagnostics
|
|
47
59
|
} = CjsBnkFormat.wwise.sfxNodesFromBanks(inspections);
|
|
48
60
|
|
|
61
|
+
const { nodes: musicNodes } =
|
|
62
|
+
CjsBnkFormat.wwise.musicNodesFromBanks(inspections);
|
|
63
|
+
// Every v150 music node retains its common NodeBase routing and property
|
|
64
|
+
// data. Track lookAheadTime is the authored signed millisecond value.
|
|
65
|
+
|
|
66
|
+
const { buses } = CjsBnkFormat.wwise.busNodesFromBanks(inspections);
|
|
67
|
+
// buses: Map<busId, { type, overrideBusId, outputDeviceId, properties,
|
|
68
|
+
// busVolume, makeUpGain, outputBusVolume, aux, ducks,
|
|
69
|
+
// fx, metadata, rtpcs, state }>
|
|
70
|
+
|
|
71
|
+
const { effects } = CjsBnkFormat.wwise.effectNodesFromBanks(inspections);
|
|
72
|
+
// effects: Map<effectId, { type, pluginId, parameterBlock, media,
|
|
73
|
+
// rtpcs, state, propertyValues }>
|
|
74
|
+
|
|
49
75
|
const ogg = CjsWemFormat.toOgg(wemBytes); // Wwise Vorbis -> Ogg (lossless)
|
|
50
76
|
const pcm = CjsWemFormat.toPcm(wemBytes); // PTADPCM / 16-bit PCM -> float32
|
|
51
77
|
```
|
|
@@ -63,6 +89,26 @@ Typed authored-SFX tail decoding is deliberately pinned to bank generator
|
|
|
63
89
|
version 150. Recognized Event Actions are accepted only when the whole body
|
|
64
90
|
is consumed; unknown, truncated, other-version, or trailing-byte bodies retain
|
|
65
91
|
their shallow action type/target and raw payload, with `action: null`.
|
|
92
|
+
The v150 Voice Pitch, Volume, Bus Volume, LPF, and HPF action sets retain their
|
|
93
|
+
wwiser-corroborated element Set/Reset and available All/All-Except Reset
|
|
94
|
+
aliases. The inspected EVE CCP build 3453885 `Common.bnk` uses 47 LPF/HPF
|
|
95
|
+
actions, all
|
|
96
|
+
game-object-scoped element actions with non-bus targets; the broader aliases
|
|
97
|
+
remain structurally decoded so future banks do not lose valid action data.
|
|
98
|
+
The same bank uses 22 global element Bus Volume actions across 11 events:
|
|
99
|
+
21 Sets and one Reset targeting the `Music` and `Engines_Warp` buses. The
|
|
100
|
+
object-scoped Set/Reset and global Reset All/All-Except aliases remain decoded;
|
|
101
|
+
the nonexistent v150 game-object Reset All/All-Except aliases remain
|
|
102
|
+
unsupported.
|
|
103
|
+
Their runtime policy is owned by `runtime-audio`, not this container reader.
|
|
104
|
+
Exact v150 STMG chunks attach `globalSettings` to an inspection and expose
|
|
105
|
+
state groups and custom transitions, switch groups and graph points, RTPC
|
|
106
|
+
defaults and ramp policies, built-in parameter bindings, acoustic textures,
|
|
107
|
+
and the global voice/filter settings. Numeric enum values and both directional
|
|
108
|
+
ramp values are retained even when current EVE events do not exercise them.
|
|
109
|
+
Invalid, duplicate, truncated, other-version, or trailing-byte STMG payloads
|
|
110
|
+
leave `globalSettings: null`; their raw chunk records remain available in
|
|
111
|
+
`chunks`.
|
|
66
112
|
`nodes` contains playable Sound, Random/Sequence, Switch/State, and Layer
|
|
67
113
|
objects. The separate `nodeBases` map preserves common authored properties
|
|
68
114
|
and positioning facts for playable nodes and Actor-Mixers.
|
|
@@ -79,6 +125,21 @@ layer does not infer a numeric maximum radius from an attenuation curve. Like
|
|
|
79
125
|
`eventMediaFromBanks`, `sfxNodesFromBanks` is consumer-facing graph
|
|
80
126
|
interpretation; the resource lifecycle never calls it.
|
|
81
127
|
|
|
128
|
+
`busNodesFromBanks` recognizes only v150 HIRC 8 Audio Bus and HIRC 18
|
|
129
|
+
Auxiliary Bus records. It preserves the complete qualified body: ancestry and
|
|
130
|
+
root output device, the initial property bundle (including absent versus
|
|
131
|
+
authored-zero gain values), positioning and auxiliary targets, bus policy and
|
|
132
|
+
channel configuration, HDR settings, duck rules, ordered effect and metadata
|
|
133
|
+
references, RTPC curves, and state values. HIRC 19 is an LFO in this version
|
|
134
|
+
and is not treated as a bus. The typed records preserve authored facts; they do
|
|
135
|
+
not claim runtime mixing, ducking, or plug-in realization.
|
|
136
|
+
|
|
137
|
+
`effectNodesFromBanks` recognizes v150 HIRC 16 Fx ShareSet and HIRC 17 Fx
|
|
138
|
+
Custom records. It preserves the plug-in identity and opaque parameter block,
|
|
139
|
+
media index-to-source mappings, RTPC curves, state values, and initial plug-in
|
|
140
|
+
property values. Opaque parameter bytes are intentional: a consumer must
|
|
141
|
+
qualify each plug-in's DSP behavior before interpreting them.
|
|
142
|
+
|
|
82
143
|
## Related documentation
|
|
83
144
|
|
|
84
145
|
- [Format subpaths](README.md)
|
|
@@ -45,6 +45,16 @@ Base runtime resource handle that carries normalized path/extension/requirement
|
|
|
45
45
|
- Visibility: Public
|
|
46
46
|
- Kind: Adapted Carbon concept
|
|
47
47
|
|
|
48
|
+
<!-- class:CjsLoadingObject -->
|
|
49
|
+
## `CjsLoadingObject`
|
|
50
|
+
|
|
51
|
+
Resource-compatible handler whose public loading result is the constructed object produced by an extension route.
|
|
52
|
+
|
|
53
|
+
- Export: `@carbonenginejs/runtime-resource`
|
|
54
|
+
- Source: `src/resource/CjsLoadingObject.js`
|
|
55
|
+
- Visibility: Public
|
|
56
|
+
- Kind: Original CarbonEngineJS class
|
|
57
|
+
|
|
48
58
|
<!-- class:CjsResManMainThreadLoader -->
|
|
49
59
|
## `CjsResManMainThreadLoader`
|
|
50
60
|
|
|
@@ -89,6 +89,16 @@ Bounds-aware little-endian cursor used for exact Wwise v150 NodeBase, authored-S
|
|
|
89
89
|
- Visibility: Internal
|
|
90
90
|
- Kind: Internal implementation class
|
|
91
91
|
|
|
92
|
+
<!-- class:GlobalSettingsCursor -->
|
|
93
|
+
## `GlobalSettingsCursor`
|
|
94
|
+
|
|
95
|
+
Bounds-aware little-endian cursor over one Wwise Global Settings payload.
|
|
96
|
+
|
|
97
|
+
- Export: `None`
|
|
98
|
+
- Source: `src/formats/bnk/core/globalSettings.js`
|
|
99
|
+
- Visibility: Internal
|
|
100
|
+
- Kind: Internal implementation class
|
|
101
|
+
|
|
92
102
|
<!-- class:ActionCursor -->
|
|
93
103
|
## `ActionCursor`
|
|
94
104
|
|
|
@@ -667,6 +677,28 @@ LSB-first bit reader over one Vorbis packet's bytes for the pure-JS Vorbis decod
|
|
|
667
677
|
- Visibility: Internal
|
|
668
678
|
- Kind: Internal implementation class
|
|
669
679
|
|
|
680
|
+
### pickle
|
|
681
|
+
|
|
682
|
+
<!-- class:CjsPickleFormat -->
|
|
683
|
+
## `CjsPickleFormat`
|
|
684
|
+
|
|
685
|
+
Data-only Python pickle format facade that currently decodes protocol 0 into JSON-compatible values or identity-preserving payload graphs while rejecting callable and object-construction opcodes.
|
|
686
|
+
|
|
687
|
+
- Export: `@carbonenginejs/runtime-resource/formats/pickle`
|
|
688
|
+
- Source: `src/formats/pickle/CjsPickleFormat.js`
|
|
689
|
+
- Visibility: Public
|
|
690
|
+
- Kind: Original CarbonEngineJS class
|
|
691
|
+
|
|
692
|
+
<!-- class:CjsPickleProtocol0Reader -->
|
|
693
|
+
## `CjsPickleProtocol0Reader`
|
|
694
|
+
|
|
695
|
+
Construction-bound decoder for the inert data subset of Python pickle protocol 0.
|
|
696
|
+
|
|
697
|
+
- Export: `None`
|
|
698
|
+
- Source: `src/formats/pickle/core/CjsPickleProtocol0Reader.js`
|
|
699
|
+
- Visibility: Internal
|
|
700
|
+
- Kind: Internal implementation class
|
|
701
|
+
|
|
670
702
|
### png
|
|
671
703
|
|
|
672
704
|
<!-- class:CjsPngFormat -->
|
|
@@ -749,62 +781,22 @@ WAV audio format profile that inspects RIFF chunk metadata and reads supported W
|
|
|
749
781
|
|
|
750
782
|
### shared effect layer
|
|
751
783
|
|
|
752
|
-
<!-- class:ReflectionBlobStore -->
|
|
753
|
-
## `ReflectionBlobStore`
|
|
754
|
-
|
|
755
|
-
Content-addressed arena that deduplicates every exact byte payload referenced by portable effect reflection.
|
|
756
|
-
|
|
757
|
-
- Export: `None`
|
|
758
|
-
- Source: `src/format/effect/effectReflectionPackage.js`
|
|
759
|
-
- Visibility: Internal
|
|
760
|
-
- Kind: Internal implementation class
|
|
761
|
-
|
|
762
784
|
### webgl
|
|
763
785
|
|
|
764
786
|
<!-- class:CjsWebglFormat -->
|
|
765
787
|
## `CjsWebglFormat`
|
|
766
788
|
|
|
767
|
-
WebGL shader format profile that translates compiled Carbon effects into
|
|
789
|
+
WebGL shader format profile that translates compiled Carbon effects into Carbon v15 containers carrying GLSL programs and a per-pass backend block.
|
|
768
790
|
|
|
769
791
|
- Export: `@carbonenginejs/runtime-resource/formats/webgl`
|
|
770
792
|
- Source: `src/formats/webgl/CjsWebglFormat.js`
|
|
771
793
|
- Visibility: Public
|
|
772
794
|
- Kind: Original CarbonEngineJS class
|
|
773
795
|
|
|
774
|
-
<!-- class:CewgPackage -->
|
|
775
|
-
## `CewgPackage`
|
|
776
|
-
|
|
777
|
-
Reader for the flat CEWG container: chunk lookup, cached JSON decoding, and validated portable reflection access.
|
|
778
|
-
|
|
779
|
-
- Export: `None`
|
|
780
|
-
- Source: `src/formats/webgl/core/cewg/CewgPackage.js`
|
|
781
|
-
- Visibility: Internal
|
|
782
|
-
- Kind: Internal implementation class
|
|
783
|
-
|
|
784
|
-
<!-- class:CewgPackageBuilder -->
|
|
785
|
-
## `CewgPackageBuilder`
|
|
786
|
-
|
|
787
|
-
Builds a CEWG container from ordered, uniquely tagged chunks.
|
|
788
|
-
|
|
789
|
-
- Export: `None`
|
|
790
|
-
- Source: `src/formats/webgl/core/cewg/CewgPackageBuilder.js`
|
|
791
|
-
- Visibility: Internal
|
|
792
|
-
- Kind: Internal implementation class
|
|
793
|
-
|
|
794
|
-
<!-- class:WebglReader -->
|
|
795
|
-
## `WebglReader`
|
|
796
|
-
|
|
797
|
-
Bounded little-endian byte cursor over CEWG container bytes.
|
|
798
|
-
|
|
799
|
-
- Export: `None`
|
|
800
|
-
- Source: `src/formats/webgl/core/cewg/binary.js`
|
|
801
|
-
- Visibility: Internal
|
|
802
|
-
- Kind: Internal implementation class
|
|
803
|
-
|
|
804
796
|
<!-- class:WebglReadError -->
|
|
805
797
|
## `WebglReadError`
|
|
806
798
|
|
|
807
|
-
Error raised when
|
|
799
|
+
Error raised when container bytes or their backend blocks are malformed or inconsistent.
|
|
808
800
|
|
|
809
801
|
- Export: `None`
|
|
810
802
|
- Source: `src/formats/webgl/core/errors.js`
|
|
@@ -846,27 +838,27 @@ Formats DXBC operands, swizzles, and modifiers as GLSL expressions.
|
|
|
846
838
|
<!-- class:CjsWebgpuFormat -->
|
|
847
839
|
## `CjsWebgpuFormat`
|
|
848
840
|
|
|
849
|
-
WebGPU shader format profile that translates compiled Carbon effects into
|
|
841
|
+
WebGPU shader format profile that translates compiled Carbon effects into Carbon WebGPU containers carrying WGSL programs and bind-group layouts.
|
|
850
842
|
|
|
851
843
|
- Export: `@carbonenginejs/runtime-resource/formats/webgpu`
|
|
852
844
|
- Source: `src/formats/webgpu/CjsWebgpuFormat.js`
|
|
853
845
|
- Visibility: Public
|
|
854
846
|
- Kind: Original CarbonEngineJS class
|
|
855
847
|
|
|
856
|
-
<!-- class:
|
|
857
|
-
## `
|
|
848
|
+
<!-- class:CarbonWebgpuContainer -->
|
|
849
|
+
## `CarbonWebgpuContainer`
|
|
858
850
|
|
|
859
851
|
Reader over one WebGPU effect container.
|
|
860
852
|
|
|
861
853
|
- Export: `None`
|
|
862
|
-
- Source: `src/formats/webgpu/core/
|
|
854
|
+
- Source: `src/formats/webgpu/core/carbonWebgpu/CarbonWebgpuContainer.js`
|
|
863
855
|
- Visibility: Internal
|
|
864
856
|
- Kind: Internal implementation class
|
|
865
857
|
|
|
866
858
|
<!-- class:WebgpuReadError -->
|
|
867
859
|
## `WebgpuReadError`
|
|
868
860
|
|
|
869
|
-
Error raised when
|
|
861
|
+
Error raised when Carbon WebGPU bytes or package documents are malformed or inconsistent.
|
|
870
862
|
|
|
871
863
|
- Export: `None`
|
|
872
864
|
- Source: `src/formats/webgpu/core/errors.js`
|
|
@@ -934,7 +926,7 @@ LSB-first bit writer that assembles repacked Wwise Vorbis packets into standard
|
|
|
934
926
|
<!-- class:CjsYamlFormat -->
|
|
935
927
|
## `CjsYamlFormat`
|
|
936
928
|
|
|
937
|
-
YAML format profile that parses YAML text into payload, JSON-graph, raw, or document output with configurable tag policies, alias limits, and identity/reference markers.
|
|
929
|
+
YAML format profile that parses YAML text or strict UTF-8 bytes into payload, JSON-graph, raw, or document output with configurable tag policies, alias limits, and identity/reference markers.
|
|
938
930
|
|
|
939
931
|
- Export: `@carbonenginejs/runtime-resource/formats/yaml`
|
|
940
932
|
- Source: `src/formats/yaml/CjsYamlFormat.js`
|
|
@@ -48,7 +48,7 @@ Data record mirroring Carbon's per-LOD decal range, holding the start index and
|
|
|
48
48
|
<!-- class:Tr2EffectRes -->
|
|
49
49
|
## `Tr2EffectRes`
|
|
50
50
|
|
|
51
|
-
Resource record that owns an effect package, resolves global and local permutation options,
|
|
51
|
+
Resource record that owns an effect package, resolves global and local permutation options, reads a Carbon v15 container through `DoLoad(bytes)`, hydrates canonical shaders through `Tr2Shader.fromCarbonBinary(reader, index)`, and caches them by body index.
|
|
52
52
|
|
|
53
53
|
- Export: `@carbonenginejs/runtime-resource`
|
|
54
54
|
- Source: `src/resource/shader/Tr2EffectRes.js`
|
|
@@ -158,7 +158,7 @@ Canonical device-free sampler reflection record preserving static/dynamic setup
|
|
|
158
158
|
<!-- class:Tr2Shader -->
|
|
159
159
|
## `Tr2Shader`
|
|
160
160
|
|
|
161
|
-
Canonical device-free
|
|
161
|
+
Canonical device-free shader graph, built from one Carbon description record by `fromCarbonBinary(reader, index)`.
|
|
162
162
|
|
|
163
163
|
- Export: `@carbonenginejs/runtime-resource/resource/shader`
|
|
164
164
|
- Source: `src/resource/shader/Tr2Shader.js`
|
package/docs/reference/queues.md
CHANGED
|
@@ -78,10 +78,94 @@ and urgent-membership semantics.
|
|
|
78
78
|
|
|
79
79
|
## Registration
|
|
80
80
|
|
|
81
|
-
|
|
82
|
-
|
|
81
|
+
The Carbon-shaped primary route binds an extension to a resource-compatible
|
|
82
|
+
handler and a format. The handler declares whether the public result is a
|
|
83
|
+
stable resource or a constructed object:
|
|
83
84
|
|
|
84
85
|
```js
|
|
86
|
+
import {
|
|
87
|
+
CjsLoadingObject,
|
|
88
|
+
CjsResMan
|
|
89
|
+
} from "@carbonenginejs/runtime-resource";
|
|
90
|
+
import { CjsBlackFormat } from "@carbonenginejs/runtime-resource/formats/black";
|
|
91
|
+
import { CjsRedFormat } from "@carbonenginejs/runtime-resource/formats/red";
|
|
92
|
+
|
|
93
|
+
const resMan = new CjsResMan({ source });
|
|
94
|
+
|
|
95
|
+
resMan.RegisterExtension(".red", CjsLoadingObject, [
|
|
96
|
+
CjsBlackFormat,
|
|
97
|
+
CjsRedFormat
|
|
98
|
+
]);
|
|
99
|
+
resMan.RegisterExtension(".black", CjsLoadingObject, [
|
|
100
|
+
CjsBlackFormat,
|
|
101
|
+
CjsRedFormat
|
|
102
|
+
]);
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
Ordered arrays apply request output/media filters first, then evaluate support
|
|
106
|
+
probes in order. The first supported format wins. One format without a probe
|
|
107
|
+
may be the final fallback; it cannot precede another entry. After selection,
|
|
108
|
+
reader failure is final and does not advance to the fallback. Both `.red` and
|
|
109
|
+
`.black` therefore use Black magic first and Red/YAML otherwise, independent
|
|
110
|
+
of the suffix.
|
|
111
|
+
|
|
112
|
+
A fixed `Target` may hydrate parsed values through its static `from` or
|
|
113
|
+
`fromYAML` method. `Identify(values, context)` may instead return a target
|
|
114
|
+
constructor, `true` to accept the reader result unchanged, or false/null to
|
|
115
|
+
fail. `Target` and `Identify` are mutually exclusive and only valid for object
|
|
116
|
+
handlers. These functions remain on the main thread even when the selected
|
|
117
|
+
format is worker-safe.
|
|
118
|
+
|
|
119
|
+
The normalized context supplied to formats as the third
|
|
120
|
+
`read(input, options, context)` argument, direct object loaders, `Identify`,
|
|
121
|
+
and `fromYAML` contains the same resource identity fields:
|
|
122
|
+
|
|
123
|
+
- `ext`: normalized lowercase extension without a leading dot;
|
|
124
|
+
- `resFilePath`: normalized lowercase logical resource path;
|
|
125
|
+
- `fileName`: normalized lowercase final path component; and
|
|
126
|
+
- `url`: the exact translated URL used by a URL-backed source, or `null` for
|
|
127
|
+
sources that read logical resource paths directly.
|
|
128
|
+
|
|
129
|
+
`path` remains a compatibility alias for `resFilePath`. URL text is not
|
|
130
|
+
lowercased independently: paths translated from `res:/` already use the
|
|
131
|
+
normalized resource path, while configured URL-base or resolver casing is
|
|
132
|
+
preserved.
|
|
133
|
+
|
|
134
|
+
The single-format short form:
|
|
135
|
+
|
|
136
|
+
```js
|
|
137
|
+
import { TriTextureRes } from "@carbonenginejs/runtime-resource/resource/texture";
|
|
138
|
+
import { CjsDdsFormat } from "@carbonenginejs/runtime-resource/formats/dds";
|
|
139
|
+
|
|
140
|
+
resMan.RegisterExtension("dds", TriTextureRes, CjsDdsFormat);
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
is equivalent to:
|
|
144
|
+
|
|
145
|
+
```js
|
|
146
|
+
resMan.RegisterExtension("dds", TriTextureRes, {
|
|
147
|
+
Format: CjsDdsFormat
|
|
148
|
+
});
|
|
149
|
+
```
|
|
150
|
+
|
|
151
|
+
`Register({ extensions })` accepts the same route objects keyed by extension.
|
|
152
|
+
Re-registration replaces the route for future uncached handles; an existing
|
|
153
|
+
canonical handle retains the complete route it captured.
|
|
154
|
+
|
|
155
|
+
The older registries remain independent compatibility and specialization
|
|
156
|
+
seams. `RegisterFormat` adds a format under its self-declared input extensions.
|
|
157
|
+
`RegisterResourceType` selects a resource class from a semantic requirement or
|
|
158
|
+
payload and takes precedence over the extension handler:
|
|
159
|
+
|
|
160
|
+
```js
|
|
161
|
+
import { CjsResMan } from "@carbonenginejs/runtime-resource";
|
|
162
|
+
import {
|
|
163
|
+
Tr2ImageRes,
|
|
164
|
+
TriTextureRes
|
|
165
|
+
} from "@carbonenginejs/runtime-resource/resource/texture";
|
|
166
|
+
import { CjsDdsFormat } from "@carbonenginejs/runtime-resource/formats/dds";
|
|
167
|
+
import { CjsPngFormat } from "@carbonenginejs/runtime-resource/formats/png";
|
|
168
|
+
|
|
85
169
|
const resMan = new CjsResMan().Register({
|
|
86
170
|
source,
|
|
87
171
|
formats: [ CjsDdsFormat, CjsPngFormat ],
|
|
@@ -99,8 +183,8 @@ const image = resMan.GetResource("res:/image/ship.png", {
|
|
|
99
183
|
```
|
|
100
184
|
|
|
101
185
|
Those are distinct resource identities but share the normalized source-byte
|
|
102
|
-
operation.
|
|
103
|
-
|
|
186
|
+
operation. `RegisterObjectLoader` remains the direct legacy byte-to-value
|
|
187
|
+
registration for an extension without an explicit route.
|
|
104
188
|
|
|
105
189
|
## Related documentation
|
|
106
190
|
|
|
@@ -95,6 +95,13 @@ Black `json` and `payload` outputs are worker-enabled; Black document/runtime
|
|
|
95
95
|
outputs remain on the caller thread because structured cloning would discard
|
|
96
96
|
their class identity.
|
|
97
97
|
|
|
98
|
+
Resource-backed format methods receive `(input, options, context)`. The
|
|
99
|
+
clone-safe context crosses the worker boundary with its normalized lowercase
|
|
100
|
+
`resFilePath`, `ext`, and `fileName`, its compatible `path` alias, and the
|
|
101
|
+
exact translated `url` used by a URL-backed source (or `null` for structural
|
|
102
|
+
sources). Direct descriptor reads that are not attached to a resource receive
|
|
103
|
+
`null` for the third argument.
|
|
104
|
+
|
|
98
105
|
A declaration may restrict clone-safe outputs:
|
|
99
106
|
|
|
100
107
|
```js
|
package/package.json
CHANGED
|
@@ -1,63 +1,63 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
2
|
+
"name": "@carbonenginejs/runtime-resource",
|
|
3
|
+
"version": "0.14.0",
|
|
4
|
+
"description": "CarbonEngineJS resource lifecycle, cache, source, and object loading contracts.",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"exports": {
|
|
7
|
+
".": "./dist/index.js",
|
|
8
|
+
"./resource": "./dist/resource/index.js",
|
|
9
|
+
"./resource/audio": "./dist/resource/audio/index.js",
|
|
10
|
+
"./resource/geometry": "./dist/resource/geometry/index.js",
|
|
11
|
+
"./resource/geometry/granny": "./dist/resource/geometry/granny/index.js",
|
|
12
|
+
"./resource/shader": "./dist/resource/shader/index.js",
|
|
13
|
+
"./resource/texture": "./dist/resource/texture/index.js",
|
|
14
|
+
"./worker": "./dist/worker/CjsResManWorker.js",
|
|
15
|
+
"./format": "./dist/format/index.js",
|
|
16
|
+
"./formats": "./dist/formats/index.js",
|
|
17
|
+
"./formats/black": "./dist/formats/black/index.js",
|
|
18
|
+
"./formats/black/schema": "./dist/formats/black/core/blackSchema.js",
|
|
19
|
+
"./formats/black/enums": "./dist/formats/black/core/blackEnums.js",
|
|
20
|
+
"./formats/black/version": "./dist/formats/black/core/blackVersion.js",
|
|
21
|
+
"./formats/bnk": "./dist/formats/bnk/index.js",
|
|
22
|
+
"./formats/cmf": "./dist/formats/cmf/index.js",
|
|
23
|
+
"./formats/dds": "./dist/formats/dds/index.js",
|
|
24
|
+
"./formats/dxbc": "./dist/formats/dxbc/index.js",
|
|
25
|
+
"./formats/hlsl": "./dist/formats/hlsl/index.js",
|
|
26
|
+
"./formats/webgl": "./dist/formats/webgl/index.js",
|
|
27
|
+
"./formats/webgpu": "./dist/formats/webgpu/index.js",
|
|
28
|
+
"./formats/fbx": "./dist/formats/fbx/index.js",
|
|
29
|
+
"./formats/flac": "./dist/formats/flac/index.js",
|
|
30
|
+
"./formats/gif": "./dist/formats/gif/index.js",
|
|
31
|
+
"./formats/gltf": "./dist/formats/gltf/index.js",
|
|
32
|
+
"./formats/gr2": "./dist/formats/gr2/index.js",
|
|
33
|
+
"./formats/jpeg": "./dist/formats/jpeg/index.js",
|
|
34
|
+
"./formats/mp3": "./dist/formats/mp3/index.js",
|
|
35
|
+
"./formats/mp4": "./dist/formats/mp4/index.js",
|
|
36
|
+
"./formats/obj": "./dist/formats/obj/index.js",
|
|
37
|
+
"./formats/ogg": "./dist/formats/ogg/index.js",
|
|
38
|
+
"./formats/pickle": "./dist/formats/pickle/index.js",
|
|
39
|
+
"./formats/png": "./dist/formats/png/index.js",
|
|
40
|
+
"./formats/red": "./dist/formats/red/index.js",
|
|
41
|
+
"./formats/red/schema": "./dist/formats/red/core/blackDefinitions.js",
|
|
42
|
+
"./formats/stl": "./dist/formats/stl/index.js",
|
|
43
|
+
"./formats/tga": "./dist/formats/tga/index.js",
|
|
44
|
+
"./formats/wav": "./dist/formats/wav/index.js",
|
|
45
|
+
"./formats/webm": "./dist/formats/webm/index.js",
|
|
46
|
+
"./formats/webp": "./dist/formats/webp/index.js",
|
|
47
|
+
"./formats/wem": "./dist/formats/wem/index.js",
|
|
48
|
+
"./formats/yaml": "./dist/formats/yaml/index.js"
|
|
49
|
+
},
|
|
50
|
+
"sideEffects": false,
|
|
51
|
+
"engines": {
|
|
52
|
+
"node": ">=18"
|
|
53
|
+
},
|
|
54
|
+
"dependencies": {
|
|
55
|
+
"@carbonenginejs/runtime-utils": "^0.1.3",
|
|
56
|
+
"meshoptimizer": "^1.2.0",
|
|
57
|
+
"yaml": "^2.4.0"
|
|
58
|
+
},
|
|
59
|
+
"license": "MIT",
|
|
60
|
+
"publishConfig": {
|
|
61
|
+
"access": "public"
|
|
62
|
+
}
|
|
63
63
|
}
|