@carbonenginejs/runtime 0.1.0-alpha.0 → 0.1.0-alpha.2
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 +58 -125
- package/dist/audio/index.js +8 -1
- package/dist/audio/index.js.map +1 -1
- package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js +84 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js +14 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js +26 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js +27 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js +27 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js +25 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js +26 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js +58 -0
- package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js.map +1 -0
- package/dist/audio/trinity/audio/AudManager.js +1 -1
- package/dist/audio/trinity/audio/AudManager.js.map +1 -1
- package/dist/audio/trinity/audio/{AudObstructionOcclusion.js → AudObstructionOcclusion/AudObstructionOcclusion.js} +8 -52
- package/dist/audio/trinity/audio/AudObstructionOcclusion/AudObstructionOcclusion.js.map +1 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js +17 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js.map +1 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js +46 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js.map +1 -0
- package/dist/audio/trinity/index.js +8 -1
- package/dist/audio/trinity/index.js.map +1 -1
- package/dist/character/CjsCharacterAppearanceConstruction.js +5 -0
- package/dist/character/CjsCharacterAppearanceConstruction.js.map +1 -1
- package/dist/character/CjsCharacterAppearanceManager.js +14 -0
- package/dist/character/CjsCharacterAppearanceManager.js.map +1 -1
- package/dist/character/CjsCharacterFoundationConstruction.js +5 -0
- package/dist/character/CjsCharacterFoundationConstruction.js.map +1 -1
- package/dist/character/CjsCharacterTexturePolicy.js +5 -0
- package/dist/character/CjsCharacterTexturePolicy.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesAppearanceAL.js +17 -0
- package/dist/character/gles/CjsCharacterGlesAppearanceAL.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js +2 -0
- package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js +5 -0
- package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js +5 -0
- package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesMorphDeformation.js +2 -0
- package/dist/character/gles/CjsCharacterGlesMorphDeformation.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js +5 -0
- package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js +5 -0
- package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js.map +1 -1
- package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js +9 -0
- package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js.map +1 -1
- package/dist/global/blue/CjsScriptCallback.js +142 -0
- package/dist/global/blue/CjsScriptCallback.js.map +1 -0
- package/dist/global/blue/index.js +2 -0
- package/dist/global/blue/index.js.map +1 -0
- package/dist/global/consts/renderContext/formats.js +51 -1
- package/dist/global/consts/renderContext/formats.js.map +1 -1
- package/dist/global/consts/renderContext/index.js +2 -2
- package/dist/global/consts/renderContext/renderStates.js +16 -1
- package/dist/global/consts/renderContext/renderStates.js.map +1 -1
- package/dist/global/contracts/index.js +0 -1
- package/dist/global/contracts/index.js.map +1 -1
- package/dist/global/index.js +4 -3
- package/dist/global/index.js.map +1 -1
- package/dist/global/math/index.js +2 -0
- package/dist/global/math/index.js.map +1 -1
- package/dist/global/math/mesh.js +70 -16
- package/dist/global/math/mesh.js.map +1 -1
- package/dist/global/math/noise.js +47 -68
- package/dist/global/math/noise.js.map +1 -1
- package/dist/global/math/pool.js +18 -3
- package/dist/global/math/pool.js.map +1 -1
- package/dist/global/math/random.js +52 -0
- package/dist/global/math/random.js.map +1 -0
- package/dist/global/math/tri3.js +18 -4
- package/dist/global/math/tri3.js.map +1 -1
- package/dist/global/schema/CjsSchema.js +20 -2
- package/dist/global/schema/CjsSchema.js.map +1 -1
- package/dist/global/schema/hydration.js +14 -0
- package/dist/global/schema/hydration.js.map +1 -1
- package/dist/global/utils/bytes.js +22 -4
- package/dist/global/utils/bytes.js.map +1 -1
- package/dist/global/utils/checksum.js +80 -0
- package/dist/global/utils/checksum.js.map +1 -0
- package/dist/global/utils/errors/CjsCancellationError.js +36 -0
- package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
- package/dist/global/utils/errors/CjsError.js +21 -52
- package/dist/global/utils/errors/CjsError.js.map +1 -1
- package/dist/global/utils/errors/abort.js +1 -1
- package/dist/global/utils/errors/abort.js.map +1 -1
- package/dist/global/utils/errors/index.js +2 -1
- package/dist/global/utils/errors/index.js.map +1 -1
- package/dist/global/utils/index.js +4 -2
- package/dist/global/utils/index.js.map +1 -1
- package/dist/index.js +95 -35
- package/dist/index.js.map +1 -1
- package/dist/input/Tr2MainWindow.js +7 -9
- package/dist/input/Tr2MainWindow.js.map +1 -1
- package/dist/resource/CjsResMan.js +33 -39
- package/dist/resource/CjsResMan.js.map +1 -1
- package/dist/resource/CjsResource.js +19 -5
- package/dist/resource/CjsResource.js.map +1 -1
- package/dist/resource/audio/AudioGeometryResData.js +22 -27
- package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
- package/dist/resource/audio/CjsAudioRes.js +4 -5
- package/dist/resource/audio/CjsAudioRes.js.map +1 -1
- package/dist/resource/format/CjsBitReader.js +263 -0
- package/dist/resource/format/CjsBitReader.js.map +1 -0
- package/dist/resource/format/CjsByteReader.js +130 -125
- package/dist/resource/format/CjsByteReader.js.map +1 -1
- package/dist/resource/format/CjsFormat.js +11 -4
- package/dist/resource/format/CjsFormat.js.map +1 -1
- package/dist/resource/format/CjsFormatError.js +37 -1
- package/dist/resource/format/CjsFormatError.js.map +1 -1
- package/dist/resource/format/CjsResourceProbe.js +41 -37
- package/dist/resource/format/CjsResourceProbe.js.map +1 -1
- package/dist/resource/format/carbonRecordGuard.js +33 -0
- package/dist/resource/format/carbonRecordGuard.js.map +1 -0
- package/dist/resource/format/imageSignatures.js +202 -0
- package/dist/resource/format/imageSignatures.js.map +1 -0
- package/dist/resource/format/index.js +2 -1
- package/dist/resource/format/index.js.map +1 -1
- package/dist/resource/format/jsonPolicies.js +180 -0
- package/dist/resource/format/jsonPolicies.js.map +1 -0
- package/dist/resource/formats/black/core/helpers.js +18 -29
- package/dist/resource/formats/black/core/helpers.js.map +1 -1
- package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
- package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
- package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
- package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
- package/dist/resource/formats/bnk/core/busNodes.js +2 -1
- package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
- package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
- package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
- package/dist/resource/formats/bnk/core/eventAction.js +15 -93
- package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
- package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
- package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
- package/dist/resource/formats/bnk/core/helpers.js +2 -48
- package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
- package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
- package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
- package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
- package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
- package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
- package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
- package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
- package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
- package/dist/resource/formats/cmf/core/binary.js +54 -60
- package/dist/resource/formats/cmf/core/binary.js.map +1 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
- package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/resource/formats/dds/core/bc6h.js +16 -18
- package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
- package/dist/resource/formats/dds/core/bc7.js +28 -24
- package/dist/resource/formats/dds/core/bc7.js.map +1 -1
- package/dist/resource/formats/dds/core/helpers.js +7 -133
- package/dist/resource/formats/dds/core/helpers.js.map +1 -1
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
- package/dist/resource/formats/dxbc/core/helpers.js +4 -32
- package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
- package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
- package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
- package/dist/resource/formats/fbx/core/helpers.js +18 -12
- package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
- package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
- package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
- package/dist/resource/formats/flac/core/helpers.js +1 -62
- package/dist/resource/formats/flac/core/helpers.js.map +1 -1
- package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
- package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
- package/dist/resource/formats/gif/core/helpers.js +1 -63
- package/dist/resource/formats/gif/core/helpers.js.map +1 -1
- package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
- package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
- package/dist/resource/formats/gltf/core/helpers.js +3 -19
- package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
- package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
- package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
- package/dist/resource/formats/gr2/core/container.js +1 -10
- package/dist/resource/formats/gr2/core/container.js.map +1 -1
- package/dist/resource/formats/gr2/core/helpers.js +24 -35
- package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
- package/dist/resource/formats/gr2/core/shared.js +193 -189
- package/dist/resource/formats/gr2/core/shared.js.map +1 -1
- package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
- package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
- package/dist/resource/formats/hlsl/core/helpers.js +1 -30
- package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
- package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
- package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
- package/dist/resource/formats/jpeg/core/helpers.js +7 -134
- package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
- package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
- package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
- package/dist/resource/formats/mp3/core/helpers.js +1 -64
- package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
- package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
- package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
- package/dist/resource/formats/mp4/core/helpers.js +1 -73
- package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
- package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
- package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
- package/dist/resource/formats/obj/core/helpers.js +93 -115
- package/dist/resource/formats/obj/core/helpers.js.map +1 -1
- package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
- package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
- package/dist/resource/formats/ogg/core/helpers.js +1 -15
- package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
- package/dist/resource/formats/ogg/core/vorbis.js +138 -144
- package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
- package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
- package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
- package/dist/resource/formats/png/CjsPngFormat.js +5 -3
- package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
- package/dist/resource/formats/png/core/helpers.js +13 -152
- package/dist/resource/formats/png/core/helpers.js.map +1 -1
- package/dist/resource/formats/png/core/writer.js +3 -27
- package/dist/resource/formats/png/core/writer.js.map +1 -1
- package/dist/resource/formats/red/core/helpers.js +19 -29
- package/dist/resource/formats/red/core/helpers.js.map +1 -1
- package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
- package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
- package/dist/resource/formats/stl/core/helpers.js +44 -66
- package/dist/resource/formats/stl/core/helpers.js.map +1 -1
- package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
- package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
- package/dist/resource/formats/tga/core/helpers.js +7 -153
- package/dist/resource/formats/tga/core/helpers.js.map +1 -1
- package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
- package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
- package/dist/resource/formats/vta/core/helpers.js +1 -17
- package/dist/resource/formats/vta/core/helpers.js.map +1 -1
- package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
- package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
- package/dist/resource/formats/wav/core/helpers.js +1 -15
- package/dist/resource/formats/wav/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
- package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +69 -9
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +12 -3
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
- package/dist/resource/formats/webgl/core/helpers.js +39 -68
- package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
- package/dist/resource/formats/webgpu/core/helpers.js +4 -30
- package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
- package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
- package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
- package/dist/resource/formats/webm/core/helpers.js +1 -73
- package/dist/resource/formats/webm/core/helpers.js.map +1 -1
- package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
- package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
- package/dist/resource/formats/webp/core/helpers.js +1 -62
- package/dist/resource/formats/webp/core/helpers.js.map +1 -1
- package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
- package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
- package/dist/resource/formats/wem/core/bitStream.js +83 -106
- package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
- package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
- package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
- package/dist/resource/formats/wem/core/helpers.js +1 -15
- package/dist/resource/formats/wem/core/helpers.js.map +1 -1
- package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
- package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
- package/dist/resource/geometry/MeshDecalData.js +23 -25
- package/dist/resource/geometry/MeshDecalData.js.map +1 -1
- package/dist/resource/geometry/MeshDecalLodData.js +14 -23
- package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryRes.js +299 -284
- package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
- package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
- package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
- package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
- package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
- package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
- package/dist/resource/geometry/TriJointBinding.js +16 -24
- package/dist/resource/geometry/TriJointBinding.js.map +1 -1
- package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
- package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
- package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
- package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
- package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
- package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
- package/dist/resource/index.js +1 -1
- package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
- package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
- package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
- package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
- package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
- package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
- package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
- package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
- package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
- package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
- package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
- package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
- package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
- package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
- package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
- package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
- package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
- package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
- package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
- package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
- package/dist/resource/worker/protocol.js +18 -1
- package/dist/resource/worker/protocol.js.map +1 -1
- package/dist/sof/EveSOF.js +2 -222
- package/dist/sof/EveSOF.js.map +1 -1
- package/dist/sof/SofDocumentBuilder.js +205 -0
- package/dist/sof/SofDocumentBuilder.js.map +1 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
- package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
- package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
- package/dist/sof/faction/index.js +3 -1
- package/dist/sof/faction/index.js.map +1 -1
- package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
- package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
- package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
- package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
- package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
- package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
- package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
- package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
- package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
- package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
- package/dist/sof/generic/index.js +5 -1
- package/dist/sof/generic/index.js.map +1 -1
- package/dist/sof/index.js +23 -7
- package/dist/sof/index.js.map +1 -1
- package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
- package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
- package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
- package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
- package/dist/sof/pattern/index.js +2 -1
- package/dist/sof/pattern/index.js.map +1 -1
- package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
- package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
- package/dist/sof/shared/EveSOFDataArea.js +2 -13
- package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
- package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
- package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameter.js +2 -146
- package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
- package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
- package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
- package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
- package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
- package/dist/sof/shared/index.js +13 -4
- package/dist/sof/shared/index.js.map +1 -1
- package/dist/sof/sofDocumentValues.js +33 -0
- package/dist/sof/sofDocumentValues.js.map +1 -0
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
- package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
- package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
- package/dist/trinity/controllers/Tr2Controller.js +2 -1
- package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
- package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
- package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
- package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
- package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
- package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
- package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
- package/dist/trinity/controllers/index.js +5 -2
- package/dist/trinity/controllers/index.js.map +1 -1
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
- package/dist/trinity/core/ITr2Updateable.js +2 -1
- package/dist/trinity/core/ITr2Updateable.js.map +1 -1
- package/dist/trinity/core/Tr2Blitter.js +6 -3
- package/dist/trinity/core/Tr2Blitter.js.map +1 -1
- package/dist/trinity/core/Tr2Denoiser.js +256 -0
- package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
- package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
- package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
- package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
- package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
- package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
- package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
- package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
- package/dist/trinity/core/Tr2RenderUtils.js +20 -3
- package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
- package/dist/trinity/core/Tr2Renderer.js +146 -1
- package/dist/trinity/core/Tr2Renderer.js.map +1 -1
- package/dist/trinity/core/Tr2ShadowMap.js +135 -14
- package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
- package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
- package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
- package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
- package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
- package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
- package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
- package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
- package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
- package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
- package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
- package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
- package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
- package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
- package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
- package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
- package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
- package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
- package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
- package/dist/trinity/core/index.js +42 -15
- package/dist/trinity/core/index.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
- package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
- package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
- package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
- package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
- package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
- package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
- package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
- package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
- package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
- package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
- package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
- package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
- package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
- package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
- package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
- package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
- package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
- package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
- package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
- package/dist/trinity/core/variable/TriVariable.js +83 -83
- package/dist/trinity/core/variable/TriVariable.js.map +1 -1
- package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
- package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
- package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
- package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/IEveTransform.js +2 -1
- package/dist/trinity/eve/IEveTransform.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
- package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
- package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
- package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
- package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/trinity/eve/camera/EveCamera.js +1 -1
- package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
- package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
- package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
- package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/trinity/eve/child/EveChildContainer.js +141 -141
- package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
- package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
- package/dist/trinity/eve/child/EveChildMesh.js +218 -218
- package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
- package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
- package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
- package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTransform.js +5 -0
- package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTurret.js +7 -0
- package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
- package/dist/trinity/eve/index.js +10 -4
- package/dist/trinity/eve/index.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2Light.js +5 -0
- package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
- package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
- package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
- package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
- package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
- package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
- package/dist/trinity/generated/index.js +0 -1
- package/dist/trinity/generated/index.js.map +1 -1
- package/dist/trinity/generated/trinityCore/index.js +0 -1
- package/dist/trinity/generated/trinityCore/index.js.map +1 -1
- package/dist/trinity/index.js +59 -23
- package/dist/trinity/index.js.map +1 -1
- package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
- package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
- package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
- package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
- package/dist/trinity/particle/index.js +2 -1
- package/dist/trinity/particle/index.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
- package/dist/trinity/shader/Tr2Effect.js +131 -58
- package/dist/trinity/shader/Tr2Effect.js.map +1 -1
- package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
- package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
- package/dist/trinity/shader/Tr2Material.js +21 -4
- package/dist/trinity/shader/Tr2Material.js.map +1 -1
- package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
- package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
- package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
- package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
- package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
- package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
- package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
- package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
- package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
- package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
- package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
- package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
- package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
- package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
- package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
- package/dist/trinityal/index.js +22 -9
- package/dist/trinityal/index.js.map +1 -1
- package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
- package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
- package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
- package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
- package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
- package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
- package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
- package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
- package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
- package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
- package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
- package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
- package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
- package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
- package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
- package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
- package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
- package/dist/trinityal/stub/index.js +8 -4
- package/dist/trinityal/stub/index.js.map +1 -1
- package/dist/trinityal/vertexLayoutMatch.js +2 -2
- package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
- package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
- package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
- package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
- package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
- package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
- package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
- package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
- package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
- package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
- package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
- package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
- package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
- package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
- package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
- package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
- package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
- package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
- package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
- package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
- package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
- package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
- package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
- package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
- package/dist/trinityal/webgpu/internal.js +12 -11
- package/dist/trinityal/webgpu/internal.js.map +1 -1
- package/docs/audio/reference/classes/trinity.md +44 -34
- package/docs/character/architecture.md +276 -0
- package/docs/character/reference/character-appearance-plans.md +30 -66
- package/docs/character/reference/prepared-libraries.md +14 -30
- package/docs/global/reference/api.md +2 -1
- package/docs/global/reference/classes/README.md +53 -71
- package/docs/global/reference/classes/dropped.md +16 -0
- package/docs/resource/README.md +19 -15
- package/docs/resource/architecture.md +9 -2
- package/docs/resource/concepts/format-capabilities.md +124 -80
- package/docs/resource/concepts/shared-format-helpers.md +94 -0
- package/docs/resource/formats/README.md +230 -224
- package/docs/resource/formats/bitknit2.md +221 -0
- package/docs/resource/formats/carbon-effect-container.md +184 -269
- package/docs/resource/formats/gr2.md +6 -1
- package/docs/resource/formats/schemabound.md +28 -48
- package/docs/resource/formats/static.md +70 -97
- package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
- package/docs/resource/formats/webgl/decl-io.md +165 -256
- package/docs/resource/formats/webgl/memory-structured.md +64 -142
- package/docs/resource/formats/webgl/texture-sample.md +109 -138
- package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
- package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
- package/docs/resource/formats/webgpu/reference/api.md +64 -67
- package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +158 -345
- package/docs/resource/reference/classes/core.md +256 -236
- package/docs/resource/reference/classes/formats.md +1668 -1672
- package/docs/resource/reference/workers.md +4 -2
- package/docs/sof/reference/classes/core.md +1 -1
- package/docs/sof/reference/classes/faction.md +2 -2
- package/docs/sof/reference/classes/generic.md +4 -4
- package/docs/sof/reference/classes/pattern.md +1 -1
- package/docs/sof/reference/classes/shared.md +10 -10
- package/docs/trinity/architecture.md +55 -44
- package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
- package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
- package/docs/trinity/reference/classes/dropped.md +0 -189
- package/docs/trinity/reference/classes/eve-runtime.md +8 -8
- package/docs/trinity/reference/classes/generated.md +0 -10
- package/docs/trinity/reference/classes/particle.md +2 -2
- package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
- package/docs/trinity/reference/implementation-status.md +50 -75
- package/docs/trinity/reference/main-semantic-extraction.md +13 -17
- package/docs/trinityal/reference/classes/README.md +77 -27
- package/docs/trinityal/reference/classes/dropped.md +92 -0
- package/docs/trinityal/webgpu/README.md +3 -1
- package/docs/trinityal/webgpu/architecture.md +121 -228
- package/docs/trinityal/webgpu/reference/api.md +5 -5
- package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
- package/format-notices/gr2/NOTICE +18 -12
- package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
- package/package.json +4 -1
- package/dist/audio/trinity/audio/AudActionLog.js +0 -173
- package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
- package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
- package/dist/global/contracts/CjsScriptCallback.js +0 -94
- package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
- package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
- package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
- package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
- package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
- package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
- package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
- package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
- package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
- package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
- package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
- package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
- package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
- package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
- package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
- package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
- package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
- package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
- package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
- package/dist/trinity/core/rawData/constantLayout.js +0 -175
- package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
- package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
- package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
- package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
- package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
- package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
- package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
- package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
- package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
- package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
- package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
- package/dist/trinityal/Tr2SamplerDescription.js +0 -72
- package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
- package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
- package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
- package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
- package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
- package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
- package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
- package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
- package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
- package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
- package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
- package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
- package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
- package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
- package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
- package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
- package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sources":["../../../../../../src/resource/formats/dxbc/core/helpers.js"],"sourcesContent":["import { asUint8Array } from \"#utils/bytes\";\n\n/**\n * Internal read-pipeline glue for CjsDxbcFormat.\n *\n * Keeps the public class file small: input normalization, option\n * normalization, the shared read path used by both the instance and the\n * static one-shots, and JSON conversion live here.\n */\n\nimport { DxbcContainer } from \"./container.js\";\nimport { DxbcSignatureChunk } from \"./signature.js\";\nimport { DxbcShaderProgram } from \"./program.js\";\nimport { DxbcInstructionDecoder } from \"./decoder.js\";\nimport { DxbcReadError } from \"./errors.js\";\n\nexport const OUTPUT_JSON = \"json\";\nexport const OUTPUT_RAW = \"raw\";\n\nexport const DEFAULT_VALUES = Object.freeze({\n emit: OUTPUT_JSON,\n source: \"memory\",\n decodeInstructions: true\n});\n\nconst VALID_EMITS = new Set([ OUTPUT_JSON, OUTPUT_RAW ]);\n\nconst INPUT_SIGNATURE_TAGS = [ \"ISGN\", \"ISG1\" ];\nconst OUTPUT_SIGNATURE_TAGS = [ \"OSGN\", \"OSG1\", \"OSG5\" ];\nconst PATCH_SIGNATURE_TAGS = [ \"PCSG\", \"PSG1\" ];\n\n/**\n * Merge format values over a base set and validate them.\n *\n * @param {object} base Current values.\n * @param {object} [options] Values to merge in.\n * @param {string} [readerName] Reader name used in error messages.\n * @returns {object} A validated copy of the merged values.\n */\nexport function normalizeValues(base, options = {}, readerName = \"CjsDxbcFormat\")\n{\n const values = { ...base, ...options };\n\n if (!VALID_EMITS.has(values.emit))\n {\n throw new TypeError(`${readerName}: emit must be \"${OUTPUT_JSON}\" or \"${OUTPUT_RAW}\", got ${JSON.stringify(values.emit)}`);\n }\n if (typeof values.source !== \"string\" || !values.source)\n {\n values.source = DEFAULT_VALUES.source;\n }\n values.decodeInstructions = !!values.decodeInstructions;\n\n return {\n emit: values.emit,\n source: values.source,\n decodeInstructions: values.decodeInstructions\n };\n}\n\n/**\n * Normalize caller input into a Uint8Array of DXBC bytes.\n *\n * @param {Uint8Array|ArrayBuffer|Buffer|DataView} input Candidate payload.\n * @returns {Uint8Array} The payload bytes.\n */\r/**\n * Read a signature chunk group from a container if present.\n *\n * @param {DxbcContainer} container Parsed container.\n * @param {string[]} tags Chunk fourCC candidates in priority order.\n * @param {string} source Source name for errors.\n * @returns {?DxbcSignatureChunk} Parsed signature or null.\n */\nfunction readSignature(container, tags, source)\n{\n for (const tag of tags)\n {\n const chunk = container.getChunk(tag);\n if (chunk) return new DxbcSignatureChunk().Read(chunk, { source });\n }\n return null;\n}\n\n/**\n * The shared read path used by the instance Read and the static read.\n *\n * @param {Uint8Array|ArrayBuffer|Buffer|DataView} input DXBC payload.\n * @param {object} values Normalized format values.\n * @returns {object} Raw read result (class instances).\n */\nexport function readRaw(input, values)\n{\n const bytes = asUint8Array(input, \"CjsDxbcFormat input\");\n const source = values.source;\n const container = new DxbcContainer().Read(bytes, { source });\n const shex = container.getChunk(\"SHEX\") || container.getChunk(\"SHDR\");\n\n const result = {\n source,\n container,\n program: null,\n decoder: null,\n inputSignature: readSignature(container, INPUT_SIGNATURE_TAGS, source),\n outputSignature: readSignature(container, OUTPUT_SIGNATURE_TAGS, source),\n patchSignature: readSignature(container, PATCH_SIGNATURE_TAGS, source)\n };\n\n if (shex)\n {\n result.program = new DxbcShaderProgram().Read(shex, { source });\n if (values.decodeInstructions)\n {\n result.decoder = new DxbcInstructionDecoder().Decode(result.program, { source });\n }\n }\n\n return result;\n}\n\n/**\n * Convert a raw read result to plain JSON-compatible data.\n *\n * @param {object} raw Raw read result from readRaw.\n * @returns {object} Plain data.\n */\nexport function rawToJson(raw)\n{\n return toJsonValue({\n source: raw.source,\n container: raw.container.toJSON(),\n program: raw.program\n ? {\n fourCC: raw.program.fourCC,\n programType: raw.program.programType,\n programTypeName: raw.program.programTypeName,\n majorVersion: raw.program.majorVersion,\n minorVersion: raw.program.minorVersion,\n lengthDwords: raw.program.lengthDwords\n }\n : null,\n inputSignature: raw.inputSignature ? raw.inputSignature.elements : null,\n outputSignature: raw.outputSignature ? raw.outputSignature.elements : null,\n patchSignature: raw.patchSignature ? raw.patchSignature.elements : null,\n instructions: raw.decoder ? raw.decoder.instructions : null\n });\n}\n\n/**\n * Shared read entry honouring the emit mode.\n *\n * @param {Uint8Array|ArrayBuffer|Buffer|DataView} input DXBC payload.\n * @param {object} values Normalized format values.\n * @returns {object} Raw result or plain JSON data per values.emit.\n */\nexport function readWithValues(input, values)\n{\n const raw = readRaw(input, values);\n return values.emit === OUTPUT_RAW ? raw : rawToJson(raw);\n}\n\n/**\n * Cheap inspection: container/program facts without instruction decode.\n *\n * @param {Uint8Array|ArrayBuffer|Buffer|DataView} input DXBC payload.\n * @param {object} values Normalized format values.\n * @returns {object} Plain summary data.\n */\nexport function inspectWithValues(input, values)\n{\n const raw = readRaw(input, { ...values, decodeInstructions: false });\n return toJsonValue({\n source: raw.source,\n isDxbc: true,\n version: raw.container.version,\n totalSize: raw.container.totalSize,\n chunks: raw.container.chunks.map(({ fourCC, offset, size }) => ({ fourCC, offset, size })),\n programTypeName: raw.program ? raw.program.programTypeName : null,\n shaderModel: raw.program ? `${raw.program.majorVersion}.${raw.program.minorVersion}` : null,\n inputElementCount: raw.inputSignature ? raw.inputSignature.elements.length : 0,\n outputElementCount: raw.outputSignature ? raw.outputSignature.elements.length : 0\n });\n}\n\n/**\n * Deep-convert a value to plain JSON-compatible data. Typed arrays become\n * plain number arrays; Maps/Sets become objects/arrays; class instances\n * with toJSON are honoured.\n *\n * @param {any} value Value to convert.\n * @returns {any} Plain data.\n */\nexport function toJsonValue(value)\n{\n if (value === null || value === undefined) return value ?? null;\n if (typeof value === \"number\" || typeof value === \"string\" || typeof value === \"boolean\") return value;\n if (typeof value === \"bigint\") return value.toString();\n if (ArrayBuffer.isView(value)) return Array.from(value);\n if (Array.isArray(value)) return value.map(toJsonValue);\n if (value instanceof Map)\n {\n const out = {};\n for (const [ key, entry ] of value) out[key] = toJsonValue(entry);\n return out;\n }\n if (value instanceof Set) return Array.from(value, toJsonValue);\n if (typeof value === \"object\")\n {\n if (typeof value.toJSON === \"function\") return toJsonValue(value.toJSON());\n const out = {};\n for (const key of Object.keys(value)) out[key] = toJsonValue(value[key]);\n return out;\n }\n return null;\n}\n\nexport { DxbcReadError };\n\n"],"names":["OUTPUT_JSON","OUTPUT_RAW","DEFAULT_VALUES","Object","freeze","emit","source","decodeInstructions","VALID_EMITS","Set","INPUT_SIGNATURE_TAGS","OUTPUT_SIGNATURE_TAGS","PATCH_SIGNATURE_TAGS","normalizeValues","base","options","readerName","values","has","TypeError","JSON","stringify","readSignature","container","tags","tag","chunk","getChunk","DxbcSignatureChunk","Read","readRaw","input","bytes","asUint8Array","DxbcContainer","shex","result","program","decoder","inputSignature","outputSignature","patchSignature","DxbcShaderProgram","DxbcInstructionDecoder","Decode","rawToJson","raw","toJsonValue","toJSON","fourCC","programType","programTypeName","majorVersion","minorVersion","lengthDwords","elements","instructions","readWithValues","inspectWithValues","isDxbc","version","totalSize","chunks","map","offset","size","shaderModel","inputElementCount","length","outputElementCount","value","undefined","toString","ArrayBuffer","isView","Array","from","isArray","Map","out","key","entry","keys"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"helpers.js","sources":["../../../../../../src/resource/formats/dxbc/core/helpers.js"],"sourcesContent":["import { toJsonWithCollections as toJsonValue } from \"../../../format/jsonPolicies.js\";\nimport { asUint8Array } from \"#utils/bytes\";\n\n/**\n * Internal read-pipeline glue for CjsDxbcFormat.\n *\n * Keeps the public class file small: input normalization, option\n * normalization, the shared read path used by both the instance and the\n * static one-shots, and JSON conversion live here.\n */\n\nimport { DxbcContainer } from \"./container.js\";\nimport { DxbcSignatureChunk } from \"./signature.js\";\nimport { DxbcShaderProgram } from \"./program.js\";\nimport { DxbcInstructionDecoder } from \"./decoder.js\";\nimport { DxbcReadError } from \"./errors.js\";\n\nexport const OUTPUT_JSON = \"json\";\nexport const OUTPUT_RAW = \"raw\";\n\nexport const DEFAULT_VALUES = Object.freeze({\n emit: OUTPUT_JSON,\n source: \"memory\",\n decodeInstructions: true\n});\n\nconst VALID_EMITS = new Set([ OUTPUT_JSON, OUTPUT_RAW ]);\n\nconst INPUT_SIGNATURE_TAGS = [ \"ISGN\", \"ISG1\" ];\nconst OUTPUT_SIGNATURE_TAGS = [ \"OSGN\", \"OSG1\", \"OSG5\" ];\nconst PATCH_SIGNATURE_TAGS = [ \"PCSG\", \"PSG1\" ];\n\n/**\n * Merge format values over a base set and validate them.\n *\n * @param {object} base Current values.\n * @param {object} [options] Values to merge in.\n * @param {string} [readerName] Reader name used in error messages.\n * @returns {object} A validated copy of the merged values.\n */\nexport function normalizeValues(base, options = {}, readerName = \"CjsDxbcFormat\")\n{\n const values = { ...base, ...options };\n\n if (!VALID_EMITS.has(values.emit))\n {\n throw new TypeError(`${readerName}: emit must be \"${OUTPUT_JSON}\" or \"${OUTPUT_RAW}\", got ${JSON.stringify(values.emit)}`);\n }\n if (typeof values.source !== \"string\" || !values.source)\n {\n values.source = DEFAULT_VALUES.source;\n }\n values.decodeInstructions = !!values.decodeInstructions;\n\n return {\n emit: values.emit,\n source: values.source,\n decodeInstructions: values.decodeInstructions\n };\n}\n\n/**\n * Normalize caller input into a Uint8Array of DXBC bytes.\n *\n * @param {Uint8Array|ArrayBuffer|Buffer|DataView} input Candidate payload.\n * @returns {Uint8Array} The payload bytes.\n */\n/**\n * Read a signature chunk group from a container if present.\n *\n * @param {DxbcContainer} container Parsed container.\n * @param {string[]} tags Chunk fourCC candidates in priority order.\n * @param {string} source Source name for errors.\n * @returns {?DxbcSignatureChunk} Parsed signature or null.\n */\nfunction readSignature(container, tags, source)\n{\n for (const tag of tags)\n {\n const chunk = container.getChunk(tag);\n if (chunk) return new DxbcSignatureChunk().Read(chunk, { source });\n }\n return null;\n}\n\n/**\n * The shared read path used by the instance Read and the static read.\n *\n * @param {Uint8Array|ArrayBuffer|Buffer|DataView} input DXBC payload.\n * @param {object} values Normalized format values.\n * @returns {object} Raw read result (class instances).\n */\nexport function readRaw(input, values)\n{\n const bytes = asUint8Array(input, \"CjsDxbcFormat input\");\n const source = values.source;\n const container = new DxbcContainer().Read(bytes, { source });\n const shex = container.getChunk(\"SHEX\") || container.getChunk(\"SHDR\");\n\n const result = {\n source,\n container,\n program: null,\n decoder: null,\n inputSignature: readSignature(container, INPUT_SIGNATURE_TAGS, source),\n outputSignature: readSignature(container, OUTPUT_SIGNATURE_TAGS, source),\n patchSignature: readSignature(container, PATCH_SIGNATURE_TAGS, source)\n };\n\n if (shex)\n {\n result.program = new DxbcShaderProgram().Read(shex, { source });\n if (values.decodeInstructions)\n {\n result.decoder = new DxbcInstructionDecoder().Decode(result.program, { source });\n }\n }\n\n return result;\n}\n\n/**\n * Convert a raw read result to plain JSON-compatible data.\n *\n * @param {object} raw Raw read result from readRaw.\n * @returns {object} Plain data.\n */\nexport function rawToJson(raw)\n{\n return toJsonValue({\n source: raw.source,\n container: raw.container.toJSON(),\n program: raw.program\n ? {\n fourCC: raw.program.fourCC,\n programType: raw.program.programType,\n programTypeName: raw.program.programTypeName,\n majorVersion: raw.program.majorVersion,\n minorVersion: raw.program.minorVersion,\n lengthDwords: raw.program.lengthDwords\n }\n : null,\n inputSignature: raw.inputSignature ? raw.inputSignature.elements : null,\n outputSignature: raw.outputSignature ? raw.outputSignature.elements : null,\n patchSignature: raw.patchSignature ? raw.patchSignature.elements : null,\n instructions: raw.decoder ? raw.decoder.instructions : null\n });\n}\n\n/**\n * Shared read entry honouring the emit mode.\n *\n * @param {Uint8Array|ArrayBuffer|Buffer|DataView} input DXBC payload.\n * @param {object} values Normalized format values.\n * @returns {object} Raw result or plain JSON data per values.emit.\n */\nexport function readWithValues(input, values)\n{\n const raw = readRaw(input, values);\n return values.emit === OUTPUT_RAW ? raw : rawToJson(raw);\n}\n\n/**\n * Cheap inspection: container/program facts without instruction decode.\n *\n * @param {Uint8Array|ArrayBuffer|Buffer|DataView} input DXBC payload.\n * @param {object} values Normalized format values.\n * @returns {object} Plain summary data.\n */\nexport function inspectWithValues(input, values)\n{\n const raw = readRaw(input, { ...values, decodeInstructions: false });\n return toJsonValue({\n source: raw.source,\n isDxbc: true,\n version: raw.container.version,\n totalSize: raw.container.totalSize,\n chunks: raw.container.chunks.map(({ fourCC, offset, size }) => ({ fourCC, offset, size })),\n programTypeName: raw.program ? raw.program.programTypeName : null,\n shaderModel: raw.program ? `${raw.program.majorVersion}.${raw.program.minorVersion}` : null,\n inputElementCount: raw.inputSignature ? raw.inputSignature.elements.length : 0,\n outputElementCount: raw.outputSignature ? raw.outputSignature.elements.length : 0\n });\n}\n\n/**\n * Deep-convert a value to plain JSON-compatible data. Typed arrays become\n * plain number arrays; Maps/Sets become objects/arrays; class instances\n * with toJSON are honoured.\n *\n * @param {any} value Value to convert.\n * @returns {any} Plain data.\n */\n/** The shared JSON policy for this reader, under the name its callers use. */\nexport { toJsonValue };\n\nexport { DxbcReadError };\n\n"],"names":["OUTPUT_JSON","OUTPUT_RAW","DEFAULT_VALUES","Object","freeze","emit","source","decodeInstructions","VALID_EMITS","Set","INPUT_SIGNATURE_TAGS","OUTPUT_SIGNATURE_TAGS","PATCH_SIGNATURE_TAGS","normalizeValues","base","options","readerName","values","has","TypeError","JSON","stringify","readSignature","container","tags","tag","chunk","getChunk","DxbcSignatureChunk","Read","readRaw","input","bytes","asUint8Array","DxbcContainer","shex","result","program","decoder","inputSignature","outputSignature","patchSignature","DxbcShaderProgram","DxbcInstructionDecoder","Decode","rawToJson","raw","toJsonValue","toJSON","fourCC","programType","programTypeName","majorVersion","minorVersion","lengthDwords","elements","instructions","readWithValues","inspectWithValues","isDxbc","version","totalSize","chunks","map","offset","size","shaderModel","inputElementCount","length","outputElementCount"],"mappings":"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"}
|
|
@@ -270,6 +270,17 @@ class CjsFbxFormat extends CjsFormat {
|
|
|
270
270
|
static CLASS_KEYS = CLASS_KEYS;
|
|
271
271
|
static id = "fbx";
|
|
272
272
|
static mediaTypes = Object.freeze(["geometry"]);
|
|
273
|
+
// FBX is written THROUGH CMF: `write` takes a native CMF graph and
|
|
274
|
+
// `writeShared` converts shared or GR2-shaped geometry into one first.
|
|
275
|
+
static inputs = CjsFormat.defineInputs({
|
|
276
|
+
cmf: {
|
|
277
|
+
default: true,
|
|
278
|
+
payloadType: "geometry"
|
|
279
|
+
},
|
|
280
|
+
shared: {
|
|
281
|
+
payloadType: "geometry"
|
|
282
|
+
}
|
|
283
|
+
});
|
|
273
284
|
static outputs = CjsFormat.defineOutputs({
|
|
274
285
|
gr2: {
|
|
275
286
|
decoded: true
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CjsFbxFormat.js","sources":["../../../../../src/resource/formats/fbx/CjsFbxFormat.js"],"sourcesContent":["import { asUint8Array } from \"#utils/bytes\";\nimport { CjsFormat } from \"../../format/CjsFormat.js\";\nimport {\n CLASS_KEYS,\n DEFAULT_VALUES,\n OUTPUT_CMF,\n OUTPUT_FBX_JSON,\n OUTPUT_GR2,\n OUTPUT_JSON,\n OUTPUT_RAW,\n inspectWithValues,\n isFBX,\n probeSupportWithValues,\n normalizeValues,\n readWithValues,\n toJsonValue,\n validateClass,\n validateClassKey\n} from \"./core/helpers.js\";\nimport { writeFbx, writeSharedFbx } from \"./core/writer.js\";\n\nconst FORMAT_NAME = \"CjsFbxFormat\";\n\n/**\n * CarbonEngineJS-facing FBX format surface.\n *\n * FBX is recognized, inspected, imported into CMF/GR2 compatibility graphs,\n * and exported from native CMF in pure JavaScript. Geometry, skeletons, skin,\n * morph targets, and their animations are in scope; cameras and lights are not.\n */\nexport class CjsFbxFormat extends CjsFormat\n{\n #values = DEFAULT_VALUES;\n\n /**\n * Create a reusable FBX format profile.\n *\n * @param {object} [options] Default read/inspect options.\n */\n constructor(options = {})\n {\n super();\n this.SetValues(options);\n }\n\n /**\n * Merge options into this profile.\n *\n * @param {object} [options] Values to merge.\n * @returns {CjsFbxFormat} This format profile.\n */\n SetValues(options = {})\n {\n this.#values = normalizeValues(this.#values, { inputType: \"fbx\", ...options }, FORMAT_NAME);\n return this;\n }\n\n /**\n * Get normalized profile values with optional per-call overrides.\n *\n * @param {object} [options] Per-call values.\n * @returns {object} Normalized read values.\n */\n GetValues(options = {})\n {\n return normalizeValues(this.#values, { inputType: \"fbx\", ...options }, FORMAT_NAME);\n }\n\n /**\n * Set multiple output node constructors for this profile.\n *\n * These constructors are used only for explicit runtime output targets such\n * as `emit: \"gr2\"` and `emit: \"cmf\"` paths. Debug `fbxJson` output\n * remains plain data.\n *\n * @param {object} [classes] Map of output node class keys to constructors.\n * @returns {CjsFbxFormat} This format profile.\n */\n SetClasses(classes = {})\n {\n return this.SetValues({ classes });\n }\n\n /**\n * Set one output node constructor for this profile.\n *\n * @param {string} type Output node class key.\n * @param {Function|null|undefined} Class Constructor to use, or nullish to delete.\n * @returns {CjsFbxFormat} This format profile.\n */\n SetClass(type, Class)\n {\n validateClassKey(type, FORMAT_NAME);\n\n if (Class === null || Class === undefined)\n {\n const classes = { ...this.#values.classes };\n delete classes[type];\n this.#values = { ...this.#values, classes };\n return this;\n }\n\n validateClass(type, Class, FORMAT_NAME);\n return this.SetValues({ classes: { [type]: Class } });\n }\n\n /**\n * Get a configured output node constructor.\n *\n * @param {string} type Output node class key.\n * @returns {Function|undefined} The registered constructor, if any.\n */\n GetClass(type)\n {\n validateClassKey(type, FORMAT_NAME);\n return this.#values.classes[type];\n }\n\n /**\n * Whether this profile has a constructor registered for an output node key.\n *\n * @param {string} type Output node class key.\n * @returns {boolean} True when a constructor is registered.\n */\n HasClass(type)\n {\n return !!this.GetClass(type);\n }\n\n /**\n * Read FBX bytes with this profile.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input FBX bytes.\n * @param {object} [options] Per-call values.\n * @returns {object} Raw or debug payload for the selected emit target.\n */\n Read(input, options = {})\n {\n return readWithValues(input, this.GetValues(options));\n }\n\n /** Write a native CMF graph as deterministic binary FBX 7400 bytes. */\n Write(input, options = {})\n {\n return writeFbx(input, options);\n }\n\n /** Convert shared or GR2-shaped geometry through CMF and write FBX. */\n WriteShared(input, options = {})\n {\n return writeSharedFbx(input, options);\n }\n\n /**\n * Read FBX bytes asynchronously with this profile.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input FBX bytes.\n * @param {object} [options] Per-call values.\n * @returns {Promise<object>} Raw or debug payload for the selected emit target.\n */\n async ReadAsync(input, options = {})\n {\n return this.Read(input, options);\n }\n\n /**\n * Inspect FBX bytes without converting geometry.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input FBX bytes.\n * @param {object} [options] Per-call values.\n * @returns {object} Lightweight FBX metadata.\n */\n Inspect(input, options = {})\n {\n return inspectWithValues(input, this.GetValues(options));\n }\n\n /**\n * Convert format output into JSON-compatible debug data.\n *\n * @param {any} value Format output.\n * @returns {any} JSON-compatible value.\n */\n ToJSON(value)\n {\n return toJsonValue(value);\n }\n\n /**\n * One-shot FBX read.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input FBX bytes.\n * @param {object} [options] Read options.\n * @returns {object} Raw or debug payload for the selected emit target.\n */\n static read(input, options = {})\n {\n return readWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"fbx\", ...options }, FORMAT_NAME));\n }\n\n /** Write a native CMF graph as deterministic binary FBX 7400 bytes. */\n static write(input, options = {})\n {\n return writeFbx(input, options);\n }\n\n /** Convert shared or GR2-shaped geometry through CMF and write FBX. */\n static writeShared(input, options = {})\n {\n return writeSharedFbx(input, options);\n }\n\n /**\n * One-shot asynchronous FBX read.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input FBX bytes.\n * @param {object} [options] Read options.\n * @returns {Promise<object>} Raw or debug payload for the selected emit target.\n */\n static async readAsync(input, options = {})\n {\n return CjsFbxFormat.read(input, options);\n }\n\n /**\n * One-shot FBX inspection.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input FBX bytes.\n * @param {object} [options] Inspect options.\n * @returns {object} Lightweight FBX metadata.\n */\n static inspect(input, options = {})\n {\n return inspectWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"fbx\", ...options }, FORMAT_NAME));\n }\n\n /**\n * One-shot FBX support probe.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input FBX bytes.\n * @param {object} [options] Probe options.\n * @returns {object} Support/probe report.\n */\n static probeSupport(input, options = {})\n {\n return probeSupportWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"fbx\", ...options }, FORMAT_NAME));\n }\n\n /**\n * Convert format output into JSON-compatible debug data.\n *\n * @param {any} value Format output.\n * @returns {any} JSON-compatible value.\n */\n static toJSON(value)\n {\n return toJsonValue(value);\n }\n\n /**\n * Test whether bytes look like an FBX file.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input Candidate FBX bytes.\n * @returns {boolean} True when the input appears to be FBX.\n */\n static isFBX(input)\n {\n try\n {\n return isFBX(asUint8Array(input, \"Fbx input\"));\n }\n catch\n {\n return false;\n }\n }\n\n /**\n * Emit targets for this format (canonical frozen enum).\n */\n static Output = Object.freeze({\n CMF: OUTPUT_CMF,\n GR2: OUTPUT_GR2,\n RAW: OUTPUT_RAW,\n JSON: OUTPUT_JSON,\n FBX_JSON: OUTPUT_FBX_JSON\n });\n static CLASS_KEYS = CLASS_KEYS;\n static id = \"fbx\";\n static mediaTypes = Object.freeze([ \"geometry\" ]);\n static outputs = CjsFormat.defineOutputs({\n gr2: { decoded: true },\n cmf: { decoded: true },\n fbxJson: { role: \"debug\", decoded: true, probes: [ \"fbxJson\", \"document\" ] },\n raw: { role: \"debug\", default: true, passthrough: true, probes: [ \"raw\", \"document\" ] }\n });\n static extensions = Object.freeze([ \".fbx\" ]);\n}\n\nexport default CjsFbxFormat;\n"],"names":["FORMAT_NAME","CjsFbxFormat","CjsFormat","DEFAULT_VALUES","constructor","options","SetValues","normalizeValues","inputType","GetValues","SetClasses","classes","SetClass","type","Class","validateClassKey","undefined","validateClass","GetClass","HasClass","Read","input","readWithValues","Write","writeFbx","WriteShared","writeSharedFbx","ReadAsync","Inspect","inspectWithValues","ToJSON","value","toJsonValue","read","write","writeShared","readAsync","inspect","probeSupport","probeSupportWithValues","toJSON","isFBX","asUint8Array","Output","Object","freeze","CMF","OUTPUT_CMF","GR2","OUTPUT_GR2","RAW","OUTPUT_RAW","JSON","OUTPUT_JSON","FBX_JSON","OUTPUT_FBX_JSON","CLASS_KEYS","id","mediaTypes","outputs","defineOutputs","gr2","decoded","cmf","fbxJson","role","probes","raw","default","passthrough","extensions"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CjsFbxFormat.js","sources":["../../../../../src/resource/formats/fbx/CjsFbxFormat.js"],"sourcesContent":["import { asUint8Array } from \"#utils/bytes\";\nimport { CjsFormat } from \"../../format/CjsFormat.js\";\nimport {\n CLASS_KEYS,\n DEFAULT_VALUES,\n OUTPUT_CMF,\n OUTPUT_FBX_JSON,\n OUTPUT_GR2,\n OUTPUT_JSON,\n OUTPUT_RAW,\n inspectWithValues,\n isFBX,\n probeSupportWithValues,\n normalizeValues,\n readWithValues,\n toJsonValue,\n validateClass,\n validateClassKey\n} from \"./core/helpers.js\";\nimport { writeFbx, writeSharedFbx } from \"./core/writer.js\";\n\nconst FORMAT_NAME = \"CjsFbxFormat\";\n\n/**\n * CarbonEngineJS-facing FBX format surface.\n *\n * FBX is recognized, inspected, imported into CMF/GR2 compatibility graphs,\n * and exported from native CMF in pure JavaScript. Geometry, skeletons, skin,\n * morph targets, and their animations are in scope; cameras and lights are not.\n */\nexport class CjsFbxFormat extends CjsFormat\n{\n #values = DEFAULT_VALUES;\n\n /**\n * Create a reusable FBX format profile.\n *\n * @param {object} [options] Default read/inspect options.\n */\n constructor(options = {})\n {\n super();\n this.SetValues(options);\n }\n\n /**\n * Merge options into this profile.\n *\n * @param {object} [options] Values to merge.\n * @returns {CjsFbxFormat} This format profile.\n */\n SetValues(options = {})\n {\n this.#values = normalizeValues(this.#values, { inputType: \"fbx\", ...options }, FORMAT_NAME);\n return this;\n }\n\n /**\n * Get normalized profile values with optional per-call overrides.\n *\n * @param {object} [options] Per-call values.\n * @returns {object} Normalized read values.\n */\n GetValues(options = {})\n {\n return normalizeValues(this.#values, { inputType: \"fbx\", ...options }, FORMAT_NAME);\n }\n\n /**\n * Set multiple output node constructors for this profile.\n *\n * These constructors are used only for explicit runtime output targets such\n * as `emit: \"gr2\"` and `emit: \"cmf\"` paths. Debug `fbxJson` output\n * remains plain data.\n *\n * @param {object} [classes] Map of output node class keys to constructors.\n * @returns {CjsFbxFormat} This format profile.\n */\n SetClasses(classes = {})\n {\n return this.SetValues({ classes });\n }\n\n /**\n * Set one output node constructor for this profile.\n *\n * @param {string} type Output node class key.\n * @param {Function|null|undefined} Class Constructor to use, or nullish to delete.\n * @returns {CjsFbxFormat} This format profile.\n */\n SetClass(type, Class)\n {\n validateClassKey(type, FORMAT_NAME);\n\n if (Class === null || Class === undefined)\n {\n const classes = { ...this.#values.classes };\n delete classes[type];\n this.#values = { ...this.#values, classes };\n return this;\n }\n\n validateClass(type, Class, FORMAT_NAME);\n return this.SetValues({ classes: { [type]: Class } });\n }\n\n /**\n * Get a configured output node constructor.\n *\n * @param {string} type Output node class key.\n * @returns {Function|undefined} The registered constructor, if any.\n */\n GetClass(type)\n {\n validateClassKey(type, FORMAT_NAME);\n return this.#values.classes[type];\n }\n\n /**\n * Whether this profile has a constructor registered for an output node key.\n *\n * @param {string} type Output node class key.\n * @returns {boolean} True when a constructor is registered.\n */\n HasClass(type)\n {\n return !!this.GetClass(type);\n }\n\n /**\n * Read FBX bytes with this profile.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input FBX bytes.\n * @param {object} [options] Per-call values.\n * @returns {object} Raw or debug payload for the selected emit target.\n */\n Read(input, options = {})\n {\n return readWithValues(input, this.GetValues(options));\n }\n\n /** Write a native CMF graph as deterministic binary FBX 7400 bytes. */\n Write(input, options = {})\n {\n return writeFbx(input, options);\n }\n\n /** Convert shared or GR2-shaped geometry through CMF and write FBX. */\n WriteShared(input, options = {})\n {\n return writeSharedFbx(input, options);\n }\n\n /**\n * Read FBX bytes asynchronously with this profile.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input FBX bytes.\n * @param {object} [options] Per-call values.\n * @returns {Promise<object>} Raw or debug payload for the selected emit target.\n */\n async ReadAsync(input, options = {})\n {\n return this.Read(input, options);\n }\n\n /**\n * Inspect FBX bytes without converting geometry.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input FBX bytes.\n * @param {object} [options] Per-call values.\n * @returns {object} Lightweight FBX metadata.\n */\n Inspect(input, options = {})\n {\n return inspectWithValues(input, this.GetValues(options));\n }\n\n /**\n * Convert format output into JSON-compatible debug data.\n *\n * @param {any} value Format output.\n * @returns {any} JSON-compatible value.\n */\n ToJSON(value)\n {\n return toJsonValue(value);\n }\n\n /**\n * One-shot FBX read.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input FBX bytes.\n * @param {object} [options] Read options.\n * @returns {object} Raw or debug payload for the selected emit target.\n */\n static read(input, options = {})\n {\n return readWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"fbx\", ...options }, FORMAT_NAME));\n }\n\n /** Write a native CMF graph as deterministic binary FBX 7400 bytes. */\n static write(input, options = {})\n {\n return writeFbx(input, options);\n }\n\n /** Convert shared or GR2-shaped geometry through CMF and write FBX. */\n static writeShared(input, options = {})\n {\n return writeSharedFbx(input, options);\n }\n\n /**\n * One-shot asynchronous FBX read.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input FBX bytes.\n * @param {object} [options] Read options.\n * @returns {Promise<object>} Raw or debug payload for the selected emit target.\n */\n static async readAsync(input, options = {})\n {\n return CjsFbxFormat.read(input, options);\n }\n\n /**\n * One-shot FBX inspection.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input FBX bytes.\n * @param {object} [options] Inspect options.\n * @returns {object} Lightweight FBX metadata.\n */\n static inspect(input, options = {})\n {\n return inspectWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"fbx\", ...options }, FORMAT_NAME));\n }\n\n /**\n * One-shot FBX support probe.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input FBX bytes.\n * @param {object} [options] Probe options.\n * @returns {object} Support/probe report.\n */\n static probeSupport(input, options = {})\n {\n return probeSupportWithValues(input, normalizeValues(DEFAULT_VALUES, { inputType: \"fbx\", ...options }, FORMAT_NAME));\n }\n\n /**\n * Convert format output into JSON-compatible debug data.\n *\n * @param {any} value Format output.\n * @returns {any} JSON-compatible value.\n */\n static toJSON(value)\n {\n return toJsonValue(value);\n }\n\n /**\n * Test whether bytes look like an FBX file.\n *\n * @param {Uint8Array|ArrayBuffer|DataView} input Candidate FBX bytes.\n * @returns {boolean} True when the input appears to be FBX.\n */\n static isFBX(input)\n {\n try\n {\n return isFBX(asUint8Array(input, \"Fbx input\"));\n }\n catch\n {\n return false;\n }\n }\n\n /**\n * Emit targets for this format (canonical frozen enum).\n */\n static Output = Object.freeze({\n CMF: OUTPUT_CMF,\n GR2: OUTPUT_GR2,\n RAW: OUTPUT_RAW,\n JSON: OUTPUT_JSON,\n FBX_JSON: OUTPUT_FBX_JSON\n });\n static CLASS_KEYS = CLASS_KEYS;\n static id = \"fbx\";\n static mediaTypes = Object.freeze([ \"geometry\" ]);\n // FBX is written THROUGH CMF: `write` takes a native CMF graph and\n // `writeShared` converts shared or GR2-shaped geometry into one first.\n static inputs = CjsFormat.defineInputs({\n cmf: { default: true, payloadType: \"geometry\" },\n shared: { payloadType: \"geometry\" }\n });\n\n static outputs = CjsFormat.defineOutputs({\n gr2: { decoded: true },\n cmf: { decoded: true },\n fbxJson: { role: \"debug\", decoded: true, probes: [ \"fbxJson\", \"document\" ] },\n raw: { role: \"debug\", default: true, passthrough: true, probes: [ \"raw\", \"document\" ] }\n });\n static extensions = Object.freeze([ \".fbx\" ]);\n}\n\nexport default CjsFbxFormat;\n"],"names":["FORMAT_NAME","CjsFbxFormat","CjsFormat","DEFAULT_VALUES","constructor","options","SetValues","normalizeValues","inputType","GetValues","SetClasses","classes","SetClass","type","Class","validateClassKey","undefined","validateClass","GetClass","HasClass","Read","input","readWithValues","Write","writeFbx","WriteShared","writeSharedFbx","ReadAsync","Inspect","inspectWithValues","ToJSON","value","toJsonValue","read","write","writeShared","readAsync","inspect","probeSupport","probeSupportWithValues","toJSON","isFBX","asUint8Array","Output","Object","freeze","CMF","OUTPUT_CMF","GR2","OUTPUT_GR2","RAW","OUTPUT_RAW","JSON","OUTPUT_JSON","FBX_JSON","OUTPUT_FBX_JSON","CLASS_KEYS","id","mediaTypes","inputs","defineInputs","cmf","default","payloadType","shared","outputs","defineOutputs","gr2","decoded","fbxJson","role","probes","raw","passthrough","extensions"],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { adler32 } from '#utils/checksum';
|
|
1
2
|
import { asUint8Array } from '#utils/bytes';
|
|
2
3
|
import { generateNormals, generateTangents, generateBiNormals } from '#math/mesh';
|
|
3
4
|
import { GR2_CLASS_KEYS, CMF_CLASS_KEYS } from '../../cmf/core/constants.js';
|
|
@@ -41,7 +42,6 @@ const DEFLATE_LENGTH_BASE = Object.freeze([3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15,
|
|
|
41
42
|
const DEFLATE_LENGTH_EXTRA = Object.freeze([0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0]);
|
|
42
43
|
const DEFLATE_DISTANCE_BASE = Object.freeze([1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577]);
|
|
43
44
|
const DEFLATE_DISTANCE_EXTRA = Object.freeze([0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13]);
|
|
44
|
-
const ADLER32_MOD = 65521;
|
|
45
45
|
const TRIANGULATION_EPSILON = 1e-10;
|
|
46
46
|
const IDENTITY_MATRIX4 = Object.freeze([1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]);
|
|
47
47
|
const DEFAULT_ROTATION_ORDER = "XYZ";
|
|
@@ -903,6 +903,23 @@ function readUncompressedArray(bytes, offset, type, length, byteLength) {
|
|
|
903
903
|
}
|
|
904
904
|
return value;
|
|
905
905
|
}
|
|
906
|
+
|
|
907
|
+
// THE ONE HAND-ROLLED INFLATE IN THIS PACKAGE, AND WHY IT STAYS. Everywhere else
|
|
908
|
+
// that meets a deflate stream uses the shared `decompressBytes` over the
|
|
909
|
+
// platform's `DecompressionStream` — `formats/vta` and `formats/png` both do.
|
|
910
|
+
// FBX cannot: `DecompressionStream` is asynchronous by specification and there is
|
|
911
|
+
// no synchronous platform inflate, while a compressed FBX array is decoded INLINE
|
|
912
|
+
// during a synchronous recursive node walk (`readBinaryArrayProperty` at :1037,
|
|
913
|
+
// which calls this at :1063). Making this await would make the whole node walk
|
|
914
|
+
// async and take `CjsFbxFormat.read` — the synchronous entry point — with it.
|
|
915
|
+
//
|
|
916
|
+
// So this is a platform constraint, not an oversight, and not a preference for
|
|
917
|
+
// hand-rolled code. If a SECOND synchronous inflate is ever needed, this moves to
|
|
918
|
+
// a shared home rather than being copied; one caller is not yet a shared module.
|
|
919
|
+
//
|
|
920
|
+
// Carbon offers no donor either way: `mesh` vendors ufbx
|
|
921
|
+
// (`mesh/vendor/github.com/ufbx`), so Carbon's FBX decompression lives inside
|
|
922
|
+
// third-party C rather than in code there is anything to port.
|
|
906
923
|
function inflateZlib(source, expectedLength) {
|
|
907
924
|
if (source.byteLength < 6) {
|
|
908
925
|
throw new Error("fbx: compressed array zlib stream is truncated");
|
|
@@ -1061,17 +1078,6 @@ function copyInflatedBytes(state, distance, length) {
|
|
|
1061
1078
|
writeInflatedByte(state, state.output[state.offset - distance]);
|
|
1062
1079
|
}
|
|
1063
1080
|
}
|
|
1064
|
-
function adler32(bytes) {
|
|
1065
|
-
let a = 1,
|
|
1066
|
-
b = 0;
|
|
1067
|
-
for (const byte of bytes) {
|
|
1068
|
-
a += byte;
|
|
1069
|
-
b += a;
|
|
1070
|
-
a %= ADLER32_MOD;
|
|
1071
|
-
b %= ADLER32_MOD;
|
|
1072
|
-
}
|
|
1073
|
-
return (b << 16 >>> 0 | a) >>> 0;
|
|
1074
|
-
}
|
|
1075
1081
|
|
|
1076
1082
|
/**
|
|
1077
1083
|
* Bit reader over a zlib/deflate stream used to inflate compressed FBX
|