@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":"Tr2SamplerSetup.js","sources":["../../../../../src/resource/shader/sampler/Tr2SamplerSetup.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\
|
|
1
|
+
{"version":3,"file":"Tr2SamplerSetup.js","sources":["../../../../../src/resource/shader/sampler/Tr2SamplerSetup.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\nimport { assertCarbonRecord } from \"../../format/carbonRecordGuard.js\";\nimport { CjsSchema, impl, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport {\n recordRawBits,\n recordText,\n toRecordFloat,\n toRecordText\n} from \"../reflection/carbonRecordFields.js\";\n\n/** Reflected sampler name and complete device-free sampler descriptor. */\nexport class Tr2SamplerSetup extends CjsModel\n{\n\n /** name (const char*) */\n name = \"\";\n\n /** Whether the source sampler carried a name rather than authored null. */\n hasName = false;\n\n /** sampler (Tr2SamplerStateAL) */\n sampler = null;\n\n /** Whether the sampler occupies a dynamic register rather than static signature state. */\n isDynamic = false;\n\n /**\n * Construct a canonical sampler record from JS/JSON model values.\n *\n * @param {object} values Canonical model values.\n * @param {object} options CjsModel import options.\n * @returns {Tr2SamplerSetup} Hydrated sampler.\n */\n static from(values = {}, options = {})\n {\n let normalized = values;\n if (values && Object.hasOwn(values, \"name\")\n && !Object.hasOwn(values, \"hasName\"))\n {\n normalized = {\n ...values,\n hasName: values.name !== null,\n name: values.name === null ? \"\" : values.name\n };\n }\n return super.from(normalized, options);\n }\n\n /**\n * Build one dynamic sampler from its Carbon v15 description record.\n *\n * The name is kept whatever `isDynamic` says. Carbon nulls a non-dynamic\n * sampler's name while reading (`Tr2EffectDescription.cpp:430-433`), but that\n * is a runtime decision made on the way to a device — the file still carries\n * the string, and this graph has to be able to re-emit the file it came from.\n * Dropping it loses arena content: measured across the shipped corpus, this\n * single rule accounted for every non-byte-identical re-emission.\n *\n * A consumer that wants Carbon's runtime view asks for it: the name is\n * meaningful only when `isDynamic`.\n *\n * @param {object} record Carbon sampler record.\n * @returns {Tr2SamplerSetup} Reflected sampler.\n */\n static fromCarbonBinary(record)\n {\n assertCarbonRecord(record, \"sampler\");\n\n const sampler = new this();\n sampler.isDynamic = !!record.isDynamic;\n sampler.name = recordText(record.name);\n sampler.hasName = sampler.name !== \"\";\n sampler.sampler = {\n comparison: !!record.comparison,\n minFilter: record.minFilter,\n magFilter: record.magFilter,\n mipFilter: record.mipFilter,\n addressU: record.addressU,\n addressV: record.addressV,\n addressW: record.addressW,\n mipLODBiasRaw: recordRawBits(record.mipLODBias),\n maxAnisotropy: record.maxAnisotropy,\n comparisonFunc: record.comparisonFunc,\n borderColorRaw: (record.borderColor ?? []).map(recordRawBits),\n minLODRaw: recordRawBits(record.minLOD),\n maxLODRaw: recordRawBits(record.maxLOD)\n };\n return sampler;\n }\n\n\n /**\n * Emit this sampler as a Carbon v15 record.\n *\n * The name is written whether or not it is meaningful: Carbon's writer always\n * emits the field, and the string it emits is the one the compiler authored,\n * not the one Carbon's reader keeps.\n *\n * @param {number} registerIndex Register this sampler is bound at.\n * @returns {object} Carbon sampler record.\n */\n toCarbonBinary(registerIndex)\n {\n const descriptor = this.sampler ?? {};\n return {\n registerIndex,\n name: toRecordText(this.name),\n comparison: descriptor.comparison ? 1 : 0,\n minFilter: descriptor.minFilter,\n magFilter: descriptor.magFilter,\n mipFilter: descriptor.mipFilter,\n addressU: descriptor.addressU,\n addressV: descriptor.addressV,\n addressW: descriptor.addressW,\n mipLODBias: toRecordFloat(descriptor.mipLODBiasRaw),\n maxAnisotropy: descriptor.maxAnisotropy,\n comparisonFunc: descriptor.comparisonFunc,\n // On one line deliberately: the raw-field guard requires the\n // reinterpretation to be visible on the same line as the raw access.\n borderColor: (descriptor.borderColorRaw ?? [ 0, 0, 0, 0 ]).slice(0, 4).map(toRecordFloat),\n minLOD: toRecordFloat(descriptor.minLODRaw),\n maxLOD: toRecordFloat(descriptor.maxLODRaw),\n isDynamic: this.isDynamic ? 1 : 0\n };\n }\n\n}\n\n// Declared imperatively rather than with decorators, so this module stays\n// plain ESM that loads from source without a transform. The decorator\n// expressions are reused verbatim, so the registered metadata is identical.\n// Statics belong in `methods`: decorateMethod targets the prototype and\n// would register a static as an instance field.\nCjsSchema.define(Tr2SamplerSetup, {\n className: \"Tr2SamplerSetup\",\n family: \"shader\",\n fields: {\n name: type.string,\n hasName: [ impl.adapted, impl.reason(\"The schema string field cannot distinguish an authored null sampler name from an empty name; portable reflection must retain that distinction for static sampler records.\"), type.boolean ],\n sampler: type.rawStruct(\"Tr2SamplerStateAL\"),\n isDynamic: [ impl.adapted, impl.reason(\"The portable effect contract distinguishes dynamic and static sampler declarations before an engine creates sampler state.\"), type.boolean ]\n }\n});\n"],"names":["Tr2SamplerSetup","CjsModel","name","hasName","sampler","isDynamic","from","values","options","normalized","Object","hasOwn","fromCarbonBinary","record","assertCarbonRecord","recordText","comparison","minFilter","magFilter","mipFilter","addressU","addressV","addressW","mipLODBiasRaw","recordRawBits","mipLODBias","maxAnisotropy","comparisonFunc","borderColorRaw","borderColor","map","minLODRaw","minLOD","maxLODRaw","maxLOD","toCarbonBinary","registerIndex","descriptor","toRecordText","toRecordFloat","slice","CjsSchema","define","className","family","fields","type","string","impl","adapted","reason","boolean","rawStruct"],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { CjsResource, destroyAdapterValue } from '../CjsResource.js';
|
|
1
2
|
import { CjsSchema } from '#schema';
|
|
2
3
|
import { normalizeResourcePath } from '#utils/path';
|
|
3
|
-
import { CjsResource } from '../CjsResource.js';
|
|
4
4
|
import { CjsTextureArrayResParameterProxy } from './CjsTextureArrayResParameterProxy.js';
|
|
5
5
|
import { ResourceRequirement } from '../ResourceRequirement.js';
|
|
6
6
|
|
|
@@ -459,11 +459,6 @@ class CjsTextureArrayRes extends CjsResource {
|
|
|
459
459
|
}
|
|
460
460
|
static payload = ResourceRequirement.TEXTURE_ARRAY;
|
|
461
461
|
}
|
|
462
|
-
function destroyAdapterValue(value) {
|
|
463
|
-
if (!value || typeof value !== "object" && typeof value !== "function") return;
|
|
464
|
-
const destroy = value.Destroy || value.Dispose || value.destroy || value.dispose;
|
|
465
|
-
if (typeof destroy === "function") destroy.call(value);
|
|
466
|
-
}
|
|
467
462
|
CjsSchema.define(CjsTextureArrayRes, {
|
|
468
463
|
className: "CjsTextureArrayRes",
|
|
469
464
|
family: "resource"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CjsTextureArrayRes.js","sources":["../../../../src/resource/texture/CjsTextureArrayRes.js"],"sourcesContent":["import { CjsSchema } from \"#schema\";\nimport { normalizeResourcePath } from \"#utils/path\";\nimport { CjsResource } from \"../CjsResource.js\";\nimport { CjsTextureArrayResParameterProxy } from \"./CjsTextureArrayResParameterProxy.js\";\nimport { ResourceRequirement } from \"../ResourceRequirement.js\";\n\n/**\n * Mutable runtime aggregate for an ordered texture-array request.\n *\n * Private engine-bridge layer proxies only invalidate this parent. A resource\n * manager or engine scheduler consumes the coalesced update on a later frame\n * and prepares the corresponding immutable/cached texture-array payload.\n */\nexport class CjsTextureArrayRes extends CjsResource\n{\n #layers = [];\n #dirtyLayers = new Set();\n #requestedRevision = 0;\n #preparedRevision = 0;\n #updateScheduled = false;\n #topologyChanged = false;\n #inFlightRequests = new Map();\n #readyWaiters = [];\n #failedRevision = 0;\n #failedError = null;\n #updateScheduler = null;\n #updateHandler = null;\n\n /** Creates a CjsTextureArrayRes with caller-provided initial state. */\n constructor(values = null)\n {\n const options = values && typeof values === \"object\" && !Array.isArray(values) ? values : {};\n const resourceValues = { ...options };\n delete resourceValues.layers;\n delete resourceValues.paths;\n delete resourceValues.layerCount;\n delete resourceValues.layerNames;\n delete resourceValues.updateScheduler;\n delete resourceValues.updateHandler;\n super(resourceValues);\n\n if (options.updateScheduler) this.SetUpdateScheduler(options.updateScheduler);\n if (options.updateHandler) this.SetUpdateHandler(options.updateHandler);\n\n const paths = options.layers || options.paths;\n if (paths !== undefined)\n {\n this.SetLayerResourcePaths(paths, options.layerNames);\n }\n else if (options.layerCount !== undefined)\n {\n this.SetLayerCount(options.layerCount, options.layerNames);\n }\n }\n\n /** Returns layer count from the current texture-array resource. */\n GetLayerCount()\n {\n return this.#layers.length;\n }\n\n /** Updates layer count in the current texture-array resource. */\n SetLayerCount(value, names = null)\n {\n const count = Number(value);\n if (!Number.isInteger(count) || count < 1)\n {\n throw new RangeError(\"CjsTextureArrayRes layer count must be a positive integer.\");\n }\n if (count === this.#layers.length)\n {\n this.#SetLayerNames(names);\n return false;\n }\n\n const previousCount = this.#layers.length;\n if (count < previousCount)\n {\n this.#layers.length = count;\n }\n else\n {\n for (let layer = previousCount; layer < count; layer++)\n {\n this.#layers.push(this.#CreateLayer(layer, names?.[layer]));\n }\n }\n this.#SetLayerNames(names);\n this.#InvalidateRange(count, true);\n return true;\n }\n\n /** Returns layer parameter from the current texture-array resource. */\n GetLayerParameter(layer)\n {\n return this.#GetLayer(layer).proxy;\n }\n\n /** Returns layer parameters from the current texture-array resource. */\n GetLayerParameters(out = [])\n {\n for (const layer of this.#layers) out.push(layer.proxy);\n return out;\n }\n\n /** Returns layer resource path from the current texture-array resource. */\n GetLayerResourcePath(layer)\n {\n return this.#GetLayer(layer).path;\n }\n\n /** Returns layer resource paths from the current texture-array resource. */\n GetLayerResourcePaths(out = [])\n {\n for (const layer of this.#layers) out.push(layer.path);\n return out;\n }\n\n /** Updates layer resource path in the current texture-array resource. */\n SetLayerResourcePath(layer, value)\n {\n const record = this.#GetLayer(layer);\n const path = normalizeResourcePath(value);\n if (path === record.path) return false;\n record.path = path;\n record.resource = null;\n this.#InvalidateLayer(layer);\n return true;\n }\n\n /** Updates layer resource paths in the current texture-array resource. */\n SetLayerResourcePaths(values, names = null)\n {\n if (!Array.isArray(values) || values.length === 0)\n {\n throw new TypeError(\"CjsTextureArrayRes layers must be a non-empty array of resource paths.\");\n }\n\n const paths = values.map(value => normalizeResourcePath(\n value && typeof value === \"object\"\n ? value.resourcePath ?? value.path ?? value.GetPath?.() ?? \"\"\n : value\n ));\n const topologyChanged = paths.length !== this.#layers.length;\n let contentChanged = topologyChanged;\n let namesChanged = false;\n const changedLayers = new Set();\n const next = [];\n for (let layer = 0; layer < paths.length; layer++)\n {\n const current = this.#layers[layer];\n const name = names?.[layer] ?? current?.proxy?.GetParameterName?.() ?? \"\";\n if (!current)\n {\n next.push(this.#CreateLayer(layer, name, paths[layer]));\n }\n else\n {\n if (current.path !== paths[layer])\n {\n current.path = paths[layer];\n current.resource = null;\n contentChanged = true;\n changedLayers.add(layer);\n }\n if (current.proxy.SetParameterName(name)) namesChanged = true;\n next.push(current);\n }\n }\n this.#layers = next;\n if (topologyChanged)\n {\n this.#InvalidateRange(paths.length, true);\n }\n else if (contentChanged)\n {\n this.#InvalidateLayers(changedLayers);\n }\n return contentChanged || namesChanged;\n }\n\n /** Returns layer resource from the current texture-array resource. */\n GetLayerResource(layer)\n {\n return this.#GetLayer(layer).resource;\n }\n\n /** Updates layer resource in the current texture-array resource. */\n SetLayerResource(layer, resource)\n {\n const record = this.#GetLayer(layer);\n const next = resource ?? null;\n if (record.resource === next) return false;\n record.resource = next;\n this.#InvalidateLayer(layer);\n return true;\n }\n\n /** Invalidate a layer whose resolved resource changed without changing identity. */\n TouchLayer(layer)\n {\n this.#GetLayer(layer);\n this.#InvalidateLayer(layer);\n return this;\n }\n\n /** Invalidate every current layer, for example after an adapter generation loss. */\n TouchAllLayers(options = {})\n {\n this.#InvalidateRange(this.#layers.length, !!options.topologyChanged);\n return this;\n }\n\n /** Returns requested revision from the current texture-array resource. */\n GetRequestedRevision()\n {\n return this.#requestedRevision;\n }\n\n /** Returns prepared revision from the current texture-array resource. */\n GetPreparedRevision()\n {\n return this.#preparedRevision;\n }\n\n /** Reports whether update is required by the current texture-array resource. */\n NeedsUpdate()\n {\n return this.#updateScheduled || this.#dirtyLayers.size > 0 || this.#preparedRevision < this.#requestedRevision;\n }\n\n /** Returns dirty layers from the current texture-array resource. */\n GetDirtyLayers()\n {\n return new Set(this.#dirtyLayers);\n }\n\n /**\n * Returns revisions currently being prepared by the update handler for the\n * texture-array resource.\n */\n GetInFlightRevisions(out = [])\n {\n for (const revision of this.#inFlightRequests.keys()) out.push(revision);\n return out.sort((a, b) => a - b);\n }\n\n /**\n * Reports whether a requested revision is currently being prepared for the\n * texture-array resource.\n */\n IsRevisionInFlight(revision)\n {\n return this.#inFlightRequests.has(revision);\n }\n\n /** Updates update scheduler in the current texture-array resource. */\n SetUpdateScheduler(schedule = null)\n {\n if (schedule !== null && typeof schedule !== \"function\")\n {\n throw new TypeError(\"CjsTextureArrayRes update scheduler must be a function or null.\");\n }\n this.#updateScheduler = schedule;\n if (schedule && this.#updateScheduled) schedule(this);\n return this;\n }\n\n /** Updates update handler in the current texture-array resource. */\n SetUpdateHandler(handler = null)\n {\n if (handler !== null && typeof handler !== \"function\")\n {\n throw new TypeError(\"CjsTextureArrayRes update handler must be a function or null.\");\n }\n this.#updateHandler = handler;\n return this;\n }\n\n /**\n * Consume all proxy changes as one immutable request snapshot.\n * A frame scheduler should call this at most once per parent per frame.\n */\n ConsumeUpdateRequest()\n {\n if (!this.#updateScheduled && this.#dirtyLayers.size === 0) return null;\n const request = {\n revision: this.#requestedRevision,\n paths: this.GetLayerResourcePaths(),\n resources: this.#layers.map(layer => layer.resource),\n dirtyLayers: [ ...this.#dirtyLayers ].sort((a, b) => a - b),\n topologyChanged: this.#topologyChanged\n };\n this.#dirtyLayers.clear();\n this.#topologyChanged = false;\n this.#updateScheduled = false;\n this.#inFlightRequests.set(request.revision, request);\n return request;\n }\n\n /** Requeue a consumed current request after cancellation, loss, or retryable failure. */\n RetryUpdateRequest(revision = this.#requestedRevision)\n {\n const request = this.#inFlightRequests.get(revision);\n if (!request) return false;\n this.#inFlightRequests.delete(revision);\n if (revision !== this.#requestedRevision) return false;\n if (this.#failedRevision === revision)\n {\n this.#failedRevision = 0;\n this.#failedError = null;\n }\n for (const layer of request.dirtyLayers)\n {\n if (layer < this.#layers.length) this.#dirtyLayers.add(layer);\n }\n this.#topologyChanged ||= request.topologyChanged;\n this.#ScheduleUpdate();\n this.EmitEvent(\"revisionretry\", this, revision);\n return true;\n }\n\n /** Complete a consumed request as failed, optionally making it retryable. */\n FailUpdateRequest(revision, error, options = {})\n {\n if (options.retry) return this.RetryUpdateRequest(revision);\n if (!this.#inFlightRequests.has(revision)) return false;\n this.#inFlightRequests.delete(revision);\n if (revision !== this.#requestedRevision) return false;\n const failure = error instanceof Error ? error : new Error(String(error ?? \"Texture array preparation failed.\"));\n this.#failedRevision = revision;\n this.#failedError = failure;\n if (this.#preparedRevision === 0) this.SetError(failure);\n this.EmitEvent(\"revisionfailed\", this, revision, failure);\n this.#RejectReadyWaiters(revision, failure);\n return true;\n }\n\n /** Run the registered update handler for the current coalesced frame request. */\n Update(context = {})\n {\n const request = this.ConsumeUpdateRequest();\n if (!request) return null;\n this.EmitEvent(\"update\", this, request, context);\n return this.#updateHandler\n ? this.#updateHandler(this, request, context)\n : request;\n }\n\n /**\n * Atomically publish an opaque adapter allocation with its prepared revision.\n * The caller owns disposal of a successfully displaced allocation.\n */\n CommitPreparedAdapterRevision(revision, adapterKey, candidate, options = {})\n {\n if (!adapterKey) throw new TypeError(\"CjsTextureArrayRes adapter publication requires a key.\");\n if (candidate === null || candidate === undefined)\n {\n throw new TypeError(\"CjsTextureArrayRes adapter publication requires a candidate allocation.\");\n }\n const inFlight = this.#inFlightRequests.has(revision);\n if (!inFlight || revision !== this.#requestedRevision)\n {\n if (inFlight) this.#inFlightRequests.delete(revision);\n if (options.destroyRejected !== false) destroyAdapterValue(candidate);\n return { published: false, revision, displaced: null };\n }\n\n const displaced = this.GetAdapterResource(adapterKey);\n this.SetAdapterResource(adapterKey, candidate);\n this.#preparedRevision = revision;\n this.#failedRevision = 0;\n this.#failedError = null;\n this.#inFlightRequests.delete(revision);\n for (const pendingRevision of this.#inFlightRequests.keys())\n {\n if (pendingRevision < revision) this.#inFlightRequests.delete(pendingRevision);\n }\n this.MarkPrepared();\n this.EmitEvent(\"revisionprepared\", this, revision, adapterKey, candidate);\n this.#ResolveReadyWaiters(revision);\n return {\n published: true,\n revision,\n displaced: displaced === candidate ? null : displaced\n };\n }\n\n /** Destroy an unusable adapter allocation and request a complete rebuild. */\n HandleAdapterLoss(adapterKey, options = {})\n {\n if (!adapterKey) throw new TypeError(\"CjsTextureArrayRes adapter loss requires a key.\");\n const lost = this.GetAdapterResource(adapterKey);\n if (this.HasAdapterResource(adapterKey)) this.DestroyAdapterResource(adapterKey, options);\n this.#preparedRevision = 0;\n if (this.#layers.length) this.#InvalidateRange(this.#layers.length, true);\n if (this.state === CjsResource.State.PREPARED) this.MarkPreparing();\n this.EmitEvent(\"adapterlost\", this, adapterKey, lost);\n return lost;\n }\n\n /** Resolve when the generation requested at call time has been prepared. */\n Ready()\n {\n if (this.#requestedRevision === 0)\n {\n const error = new Error(\"Texture array resource has no configured layers.\");\n error.code = \"CJS_TEXTURE_ARRAY_UNCONFIGURED\";\n return Promise.reject(error);\n }\n const revision = this.#requestedRevision;\n if (this.#preparedRevision >= revision && this.IsPrepared()) return Promise.resolve(this);\n if (this.#failedRevision === revision) return Promise.reject(this.#failedError);\n return new Promise((resolve, reject) =>\n {\n this.#readyWaiters.push({ revision, resolve, reject });\n });\n }\n\n /** Creates one texture-array layer record for the texture-array resource. */\n #CreateLayer(layer, name = \"\", path = \"\")\n {\n return {\n path: normalizeResourcePath(path),\n resource: null,\n proxy: new CjsTextureArrayResParameterProxy(this, layer, { name })\n };\n }\n\n /**\n * Returns a validated texture-array layer record for the texture-array\n * resource.\n */\n #GetLayer(layer)\n {\n if (!Number.isInteger(layer) || layer < 0 || layer >= this.#layers.length)\n {\n throw new RangeError(`CjsTextureArrayRes layer ${layer} is out of range.`);\n }\n return this.#layers[layer];\n }\n\n /** Updates layer names in the current texture-array resource. */\n #SetLayerNames(names)\n {\n if (!names) return;\n for (let layer = 0; layer < Math.min(names.length, this.#layers.length); layer++)\n {\n this.#layers[layer].proxy.SetParameterName(names[layer]);\n }\n }\n\n /** Invalidates one texture-array layer for the texture-array resource. */\n #InvalidateLayer(layer)\n {\n this.#InvalidateLayers([ layer ]);\n }\n\n /**\n * Invalidates the requested texture-array layer range for the texture-array\n * resource.\n */\n #InvalidateRange(count, topologyChanged = false)\n {\n const layers = [];\n for (let layer = 0; layer < count; layer++) layers.push(layer);\n this.#InvalidateLayers(layers, topologyChanged);\n }\n\n /**\n * Invalidates the supplied texture-array layers for the texture-array\n * resource.\n */\n #InvalidateLayers(layers, topologyChanged = false)\n {\n const changed = [];\n for (const layer of layers)\n {\n if (!Number.isInteger(layer) || layer < 0 || layer >= this.#layers.length) continue;\n this.#dirtyLayers.add(layer);\n changed.push(layer);\n }\n if (!changed.length && !topologyChanged) return;\n this.#topologyChanged ||= topologyChanged;\n this.#failedRevision = 0;\n this.#failedError = null;\n this.#requestedRevision += 1;\n this.#ScheduleUpdate();\n this.EmitEvent(\"invalidated\", this, changed, this.#requestedRevision, {\n topologyChanged: this.#topologyChanged\n });\n }\n\n /** Schedules the coalesced texture-array update for the texture-array resource. */\n #ScheduleUpdate()\n {\n if (this.#updateScheduled) return;\n this.#updateScheduled = true;\n this.#updateScheduler?.(this);\n }\n\n /**\n * Resolves waiters satisfied by the prepared revision for the texture-array\n * resource.\n */\n #ResolveReadyWaiters(revision)\n {\n const pending = [];\n for (const waiter of this.#readyWaiters)\n {\n if (waiter.revision <= revision) waiter.resolve(this);\n else pending.push(waiter);\n }\n this.#readyWaiters = pending;\n }\n\n /**\n * Rejects waiters affected by a failed revision for the texture-array\n * resource.\n */\n #RejectReadyWaiters(revision, error)\n {\n const pending = [];\n for (const waiter of this.#readyWaiters)\n {\n if (waiter.revision <= revision) waiter.reject(error);\n else pending.push(waiter);\n }\n this.#readyWaiters = pending;\n }\n\n static payload = ResourceRequirement.TEXTURE_ARRAY;\n}\n\nfunction destroyAdapterValue(value)\n{\n if (!value || (typeof value !== \"object\" && typeof value !== \"function\")) return;\n const destroy = value.Destroy || value.Dispose || value.destroy || value.dispose;\n if (typeof destroy === \"function\") destroy.call(value);\n}\n\nCjsSchema.define(CjsTextureArrayRes, {\n className: \"CjsTextureArrayRes\",\n family: \"resource\"\n});\n"],"names":["CjsTextureArrayRes","CjsResource","Set","Map","constructor","values","options","Array","isArray","resourceValues","layers","paths","layerCount","layerNames","updateScheduler","updateHandler","SetUpdateScheduler","SetUpdateHandler","undefined","SetLayerResourcePaths","SetLayerCount","GetLayerCount","length","value","names","count","Number","isInteger","RangeError","previousCount","layer","push","GetLayerParameter","proxy","GetLayerParameters","out","GetLayerResourcePath","path","GetLayerResourcePaths","SetLayerResourcePath","record","normalizeResourcePath","resource","TypeError","map","resourcePath","GetPath","topologyChanged","contentChanged","namesChanged","changedLayers","next","current","name","GetParameterName","add","SetParameterName","GetLayerResource","SetLayerResource","TouchLayer","TouchAllLayers","GetRequestedRevision","GetPreparedRevision","NeedsUpdate","size","GetDirtyLayers","GetInFlightRevisions","revision","keys","sort","a","b","IsRevisionInFlight","has","schedule","handler","ConsumeUpdateRequest","request","resources","dirtyLayers","clear","set","RetryUpdateRequest","get","delete","EmitEvent","FailUpdateRequest","error","retry","failure","Error","String","SetError","Update","context","CommitPreparedAdapterRevision","adapterKey","candidate","inFlight","destroyRejected","destroyAdapterValue","published","displaced","GetAdapterResource","SetAdapterResource","pendingRevision","MarkPrepared","HandleAdapterLoss","lost","HasAdapterResource","DestroyAdapterResource","state","State","PREPARED","MarkPreparing","Ready","code","Promise","reject","IsPrepared","resolve","#CreateLayer","CjsTextureArrayResParameterProxy","#GetLayer","#SetLayerNames","Math","min","#InvalidateLayer","#InvalidateRange","#InvalidateLayers","changed","#ScheduleUpdate","#ResolveReadyWaiters","pending","waiter","#RejectReadyWaiters","payload","ResourceRequirement","TEXTURE_ARRAY","destroy","Destroy","Dispose","dispose","call","CjsSchema","define","className","family"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CjsTextureArrayRes.js","sources":["../../../../src/resource/texture/CjsTextureArrayRes.js"],"sourcesContent":["import { destroyAdapterValue } from \"../CjsResource.js\";\nimport { CjsSchema } from \"#schema\";\nimport { normalizeResourcePath } from \"#utils/path\";\nimport { CjsResource } from \"../CjsResource.js\";\nimport { CjsTextureArrayResParameterProxy } from \"./CjsTextureArrayResParameterProxy.js\";\nimport { ResourceRequirement } from \"../ResourceRequirement.js\";\n\n/**\n * Mutable runtime aggregate for an ordered texture-array request.\n *\n * Private engine-bridge layer proxies only invalidate this parent. A resource\n * manager or engine scheduler consumes the coalesced update on a later frame\n * and prepares the corresponding immutable/cached texture-array payload.\n */\nexport class CjsTextureArrayRes extends CjsResource\n{\n #layers = [];\n #dirtyLayers = new Set();\n #requestedRevision = 0;\n #preparedRevision = 0;\n #updateScheduled = false;\n #topologyChanged = false;\n #inFlightRequests = new Map();\n #readyWaiters = [];\n #failedRevision = 0;\n #failedError = null;\n #updateScheduler = null;\n #updateHandler = null;\n\n /** Creates a CjsTextureArrayRes with caller-provided initial state. */\n constructor(values = null)\n {\n const options = values && typeof values === \"object\" && !Array.isArray(values) ? values : {};\n const resourceValues = { ...options };\n delete resourceValues.layers;\n delete resourceValues.paths;\n delete resourceValues.layerCount;\n delete resourceValues.layerNames;\n delete resourceValues.updateScheduler;\n delete resourceValues.updateHandler;\n super(resourceValues);\n\n if (options.updateScheduler) this.SetUpdateScheduler(options.updateScheduler);\n if (options.updateHandler) this.SetUpdateHandler(options.updateHandler);\n\n const paths = options.layers || options.paths;\n if (paths !== undefined)\n {\n this.SetLayerResourcePaths(paths, options.layerNames);\n }\n else if (options.layerCount !== undefined)\n {\n this.SetLayerCount(options.layerCount, options.layerNames);\n }\n }\n\n /** Returns layer count from the current texture-array resource. */\n GetLayerCount()\n {\n return this.#layers.length;\n }\n\n /** Updates layer count in the current texture-array resource. */\n SetLayerCount(value, names = null)\n {\n const count = Number(value);\n if (!Number.isInteger(count) || count < 1)\n {\n throw new RangeError(\"CjsTextureArrayRes layer count must be a positive integer.\");\n }\n if (count === this.#layers.length)\n {\n this.#SetLayerNames(names);\n return false;\n }\n\n const previousCount = this.#layers.length;\n if (count < previousCount)\n {\n this.#layers.length = count;\n }\n else\n {\n for (let layer = previousCount; layer < count; layer++)\n {\n this.#layers.push(this.#CreateLayer(layer, names?.[layer]));\n }\n }\n this.#SetLayerNames(names);\n this.#InvalidateRange(count, true);\n return true;\n }\n\n /** Returns layer parameter from the current texture-array resource. */\n GetLayerParameter(layer)\n {\n return this.#GetLayer(layer).proxy;\n }\n\n /** Returns layer parameters from the current texture-array resource. */\n GetLayerParameters(out = [])\n {\n for (const layer of this.#layers) out.push(layer.proxy);\n return out;\n }\n\n /** Returns layer resource path from the current texture-array resource. */\n GetLayerResourcePath(layer)\n {\n return this.#GetLayer(layer).path;\n }\n\n /** Returns layer resource paths from the current texture-array resource. */\n GetLayerResourcePaths(out = [])\n {\n for (const layer of this.#layers) out.push(layer.path);\n return out;\n }\n\n /** Updates layer resource path in the current texture-array resource. */\n SetLayerResourcePath(layer, value)\n {\n const record = this.#GetLayer(layer);\n const path = normalizeResourcePath(value);\n if (path === record.path) return false;\n record.path = path;\n record.resource = null;\n this.#InvalidateLayer(layer);\n return true;\n }\n\n /** Updates layer resource paths in the current texture-array resource. */\n SetLayerResourcePaths(values, names = null)\n {\n if (!Array.isArray(values) || values.length === 0)\n {\n throw new TypeError(\"CjsTextureArrayRes layers must be a non-empty array of resource paths.\");\n }\n\n const paths = values.map(value => normalizeResourcePath(\n value && typeof value === \"object\"\n ? value.resourcePath ?? value.path ?? value.GetPath?.() ?? \"\"\n : value\n ));\n const topologyChanged = paths.length !== this.#layers.length;\n let contentChanged = topologyChanged;\n let namesChanged = false;\n const changedLayers = new Set();\n const next = [];\n for (let layer = 0; layer < paths.length; layer++)\n {\n const current = this.#layers[layer];\n const name = names?.[layer] ?? current?.proxy?.GetParameterName?.() ?? \"\";\n if (!current)\n {\n next.push(this.#CreateLayer(layer, name, paths[layer]));\n }\n else\n {\n if (current.path !== paths[layer])\n {\n current.path = paths[layer];\n current.resource = null;\n contentChanged = true;\n changedLayers.add(layer);\n }\n if (current.proxy.SetParameterName(name)) namesChanged = true;\n next.push(current);\n }\n }\n this.#layers = next;\n if (topologyChanged)\n {\n this.#InvalidateRange(paths.length, true);\n }\n else if (contentChanged)\n {\n this.#InvalidateLayers(changedLayers);\n }\n return contentChanged || namesChanged;\n }\n\n /** Returns layer resource from the current texture-array resource. */\n GetLayerResource(layer)\n {\n return this.#GetLayer(layer).resource;\n }\n\n /** Updates layer resource in the current texture-array resource. */\n SetLayerResource(layer, resource)\n {\n const record = this.#GetLayer(layer);\n const next = resource ?? null;\n if (record.resource === next) return false;\n record.resource = next;\n this.#InvalidateLayer(layer);\n return true;\n }\n\n /** Invalidate a layer whose resolved resource changed without changing identity. */\n TouchLayer(layer)\n {\n this.#GetLayer(layer);\n this.#InvalidateLayer(layer);\n return this;\n }\n\n /** Invalidate every current layer, for example after an adapter generation loss. */\n TouchAllLayers(options = {})\n {\n this.#InvalidateRange(this.#layers.length, !!options.topologyChanged);\n return this;\n }\n\n /** Returns requested revision from the current texture-array resource. */\n GetRequestedRevision()\n {\n return this.#requestedRevision;\n }\n\n /** Returns prepared revision from the current texture-array resource. */\n GetPreparedRevision()\n {\n return this.#preparedRevision;\n }\n\n /** Reports whether update is required by the current texture-array resource. */\n NeedsUpdate()\n {\n return this.#updateScheduled || this.#dirtyLayers.size > 0 || this.#preparedRevision < this.#requestedRevision;\n }\n\n /** Returns dirty layers from the current texture-array resource. */\n GetDirtyLayers()\n {\n return new Set(this.#dirtyLayers);\n }\n\n /**\n * Returns revisions currently being prepared by the update handler for the\n * texture-array resource.\n */\n GetInFlightRevisions(out = [])\n {\n for (const revision of this.#inFlightRequests.keys()) out.push(revision);\n return out.sort((a, b) => a - b);\n }\n\n /**\n * Reports whether a requested revision is currently being prepared for the\n * texture-array resource.\n */\n IsRevisionInFlight(revision)\n {\n return this.#inFlightRequests.has(revision);\n }\n\n /** Updates update scheduler in the current texture-array resource. */\n SetUpdateScheduler(schedule = null)\n {\n if (schedule !== null && typeof schedule !== \"function\")\n {\n throw new TypeError(\"CjsTextureArrayRes update scheduler must be a function or null.\");\n }\n this.#updateScheduler = schedule;\n if (schedule && this.#updateScheduled) schedule(this);\n return this;\n }\n\n /** Updates update handler in the current texture-array resource. */\n SetUpdateHandler(handler = null)\n {\n if (handler !== null && typeof handler !== \"function\")\n {\n throw new TypeError(\"CjsTextureArrayRes update handler must be a function or null.\");\n }\n this.#updateHandler = handler;\n return this;\n }\n\n /**\n * Consume all proxy changes as one immutable request snapshot.\n * A frame scheduler should call this at most once per parent per frame.\n */\n ConsumeUpdateRequest()\n {\n if (!this.#updateScheduled && this.#dirtyLayers.size === 0) return null;\n const request = {\n revision: this.#requestedRevision,\n paths: this.GetLayerResourcePaths(),\n resources: this.#layers.map(layer => layer.resource),\n dirtyLayers: [ ...this.#dirtyLayers ].sort((a, b) => a - b),\n topologyChanged: this.#topologyChanged\n };\n this.#dirtyLayers.clear();\n this.#topologyChanged = false;\n this.#updateScheduled = false;\n this.#inFlightRequests.set(request.revision, request);\n return request;\n }\n\n /** Requeue a consumed current request after cancellation, loss, or retryable failure. */\n RetryUpdateRequest(revision = this.#requestedRevision)\n {\n const request = this.#inFlightRequests.get(revision);\n if (!request) return false;\n this.#inFlightRequests.delete(revision);\n if (revision !== this.#requestedRevision) return false;\n if (this.#failedRevision === revision)\n {\n this.#failedRevision = 0;\n this.#failedError = null;\n }\n for (const layer of request.dirtyLayers)\n {\n if (layer < this.#layers.length) this.#dirtyLayers.add(layer);\n }\n this.#topologyChanged ||= request.topologyChanged;\n this.#ScheduleUpdate();\n this.EmitEvent(\"revisionretry\", this, revision);\n return true;\n }\n\n /** Complete a consumed request as failed, optionally making it retryable. */\n FailUpdateRequest(revision, error, options = {})\n {\n if (options.retry) return this.RetryUpdateRequest(revision);\n if (!this.#inFlightRequests.has(revision)) return false;\n this.#inFlightRequests.delete(revision);\n if (revision !== this.#requestedRevision) return false;\n const failure = error instanceof Error ? error : new Error(String(error ?? \"Texture array preparation failed.\"));\n this.#failedRevision = revision;\n this.#failedError = failure;\n if (this.#preparedRevision === 0) this.SetError(failure);\n this.EmitEvent(\"revisionfailed\", this, revision, failure);\n this.#RejectReadyWaiters(revision, failure);\n return true;\n }\n\n /** Run the registered update handler for the current coalesced frame request. */\n Update(context = {})\n {\n const request = this.ConsumeUpdateRequest();\n if (!request) return null;\n this.EmitEvent(\"update\", this, request, context);\n return this.#updateHandler\n ? this.#updateHandler(this, request, context)\n : request;\n }\n\n /**\n * Atomically publish an opaque adapter allocation with its prepared revision.\n * The caller owns disposal of a successfully displaced allocation.\n */\n CommitPreparedAdapterRevision(revision, adapterKey, candidate, options = {})\n {\n if (!adapterKey) throw new TypeError(\"CjsTextureArrayRes adapter publication requires a key.\");\n if (candidate === null || candidate === undefined)\n {\n throw new TypeError(\"CjsTextureArrayRes adapter publication requires a candidate allocation.\");\n }\n const inFlight = this.#inFlightRequests.has(revision);\n if (!inFlight || revision !== this.#requestedRevision)\n {\n if (inFlight) this.#inFlightRequests.delete(revision);\n if (options.destroyRejected !== false) destroyAdapterValue(candidate);\n return { published: false, revision, displaced: null };\n }\n\n const displaced = this.GetAdapterResource(adapterKey);\n this.SetAdapterResource(adapterKey, candidate);\n this.#preparedRevision = revision;\n this.#failedRevision = 0;\n this.#failedError = null;\n this.#inFlightRequests.delete(revision);\n for (const pendingRevision of this.#inFlightRequests.keys())\n {\n if (pendingRevision < revision) this.#inFlightRequests.delete(pendingRevision);\n }\n this.MarkPrepared();\n this.EmitEvent(\"revisionprepared\", this, revision, adapterKey, candidate);\n this.#ResolveReadyWaiters(revision);\n return {\n published: true,\n revision,\n displaced: displaced === candidate ? null : displaced\n };\n }\n\n /** Destroy an unusable adapter allocation and request a complete rebuild. */\n HandleAdapterLoss(adapterKey, options = {})\n {\n if (!adapterKey) throw new TypeError(\"CjsTextureArrayRes adapter loss requires a key.\");\n const lost = this.GetAdapterResource(adapterKey);\n if (this.HasAdapterResource(adapterKey)) this.DestroyAdapterResource(adapterKey, options);\n this.#preparedRevision = 0;\n if (this.#layers.length) this.#InvalidateRange(this.#layers.length, true);\n if (this.state === CjsResource.State.PREPARED) this.MarkPreparing();\n this.EmitEvent(\"adapterlost\", this, adapterKey, lost);\n return lost;\n }\n\n /** Resolve when the generation requested at call time has been prepared. */\n Ready()\n {\n if (this.#requestedRevision === 0)\n {\n const error = new Error(\"Texture array resource has no configured layers.\");\n error.code = \"CJS_TEXTURE_ARRAY_UNCONFIGURED\";\n return Promise.reject(error);\n }\n const revision = this.#requestedRevision;\n if (this.#preparedRevision >= revision && this.IsPrepared()) return Promise.resolve(this);\n if (this.#failedRevision === revision) return Promise.reject(this.#failedError);\n return new Promise((resolve, reject) =>\n {\n this.#readyWaiters.push({ revision, resolve, reject });\n });\n }\n\n /** Creates one texture-array layer record for the texture-array resource. */\n #CreateLayer(layer, name = \"\", path = \"\")\n {\n return {\n path: normalizeResourcePath(path),\n resource: null,\n proxy: new CjsTextureArrayResParameterProxy(this, layer, { name })\n };\n }\n\n /**\n * Returns a validated texture-array layer record for the texture-array\n * resource.\n */\n #GetLayer(layer)\n {\n if (!Number.isInteger(layer) || layer < 0 || layer >= this.#layers.length)\n {\n throw new RangeError(`CjsTextureArrayRes layer ${layer} is out of range.`);\n }\n return this.#layers[layer];\n }\n\n /** Updates layer names in the current texture-array resource. */\n #SetLayerNames(names)\n {\n if (!names) return;\n for (let layer = 0; layer < Math.min(names.length, this.#layers.length); layer++)\n {\n this.#layers[layer].proxy.SetParameterName(names[layer]);\n }\n }\n\n /** Invalidates one texture-array layer for the texture-array resource. */\n #InvalidateLayer(layer)\n {\n this.#InvalidateLayers([ layer ]);\n }\n\n /**\n * Invalidates the requested texture-array layer range for the texture-array\n * resource.\n */\n #InvalidateRange(count, topologyChanged = false)\n {\n const layers = [];\n for (let layer = 0; layer < count; layer++) layers.push(layer);\n this.#InvalidateLayers(layers, topologyChanged);\n }\n\n /**\n * Invalidates the supplied texture-array layers for the texture-array\n * resource.\n */\n #InvalidateLayers(layers, topologyChanged = false)\n {\n const changed = [];\n for (const layer of layers)\n {\n if (!Number.isInteger(layer) || layer < 0 || layer >= this.#layers.length) continue;\n this.#dirtyLayers.add(layer);\n changed.push(layer);\n }\n if (!changed.length && !topologyChanged) return;\n this.#topologyChanged ||= topologyChanged;\n this.#failedRevision = 0;\n this.#failedError = null;\n this.#requestedRevision += 1;\n this.#ScheduleUpdate();\n this.EmitEvent(\"invalidated\", this, changed, this.#requestedRevision, {\n topologyChanged: this.#topologyChanged\n });\n }\n\n /** Schedules the coalesced texture-array update for the texture-array resource. */\n #ScheduleUpdate()\n {\n if (this.#updateScheduled) return;\n this.#updateScheduled = true;\n this.#updateScheduler?.(this);\n }\n\n /**\n * Resolves waiters satisfied by the prepared revision for the texture-array\n * resource.\n */\n #ResolveReadyWaiters(revision)\n {\n const pending = [];\n for (const waiter of this.#readyWaiters)\n {\n if (waiter.revision <= revision) waiter.resolve(this);\n else pending.push(waiter);\n }\n this.#readyWaiters = pending;\n }\n\n /**\n * Rejects waiters affected by a failed revision for the texture-array\n * resource.\n */\n #RejectReadyWaiters(revision, error)\n {\n const pending = [];\n for (const waiter of this.#readyWaiters)\n {\n if (waiter.revision <= revision) waiter.reject(error);\n else pending.push(waiter);\n }\n this.#readyWaiters = pending;\n }\n\n static payload = ResourceRequirement.TEXTURE_ARRAY;\n}\n\n\nCjsSchema.define(CjsTextureArrayRes, {\n className: \"CjsTextureArrayRes\",\n family: \"resource\"\n});\n"],"names":["CjsTextureArrayRes","CjsResource","Set","Map","constructor","values","options","Array","isArray","resourceValues","layers","paths","layerCount","layerNames","updateScheduler","updateHandler","SetUpdateScheduler","SetUpdateHandler","undefined","SetLayerResourcePaths","SetLayerCount","GetLayerCount","length","value","names","count","Number","isInteger","RangeError","previousCount","layer","push","GetLayerParameter","proxy","GetLayerParameters","out","GetLayerResourcePath","path","GetLayerResourcePaths","SetLayerResourcePath","record","normalizeResourcePath","resource","TypeError","map","resourcePath","GetPath","topologyChanged","contentChanged","namesChanged","changedLayers","next","current","name","GetParameterName","add","SetParameterName","GetLayerResource","SetLayerResource","TouchLayer","TouchAllLayers","GetRequestedRevision","GetPreparedRevision","NeedsUpdate","size","GetDirtyLayers","GetInFlightRevisions","revision","keys","sort","a","b","IsRevisionInFlight","has","schedule","handler","ConsumeUpdateRequest","request","resources","dirtyLayers","clear","set","RetryUpdateRequest","get","delete","EmitEvent","FailUpdateRequest","error","retry","failure","Error","String","SetError","Update","context","CommitPreparedAdapterRevision","adapterKey","candidate","inFlight","destroyRejected","destroyAdapterValue","published","displaced","GetAdapterResource","SetAdapterResource","pendingRevision","MarkPrepared","HandleAdapterLoss","lost","HasAdapterResource","DestroyAdapterResource","state","State","PREPARED","MarkPreparing","Ready","code","Promise","reject","IsPrepared","resolve","#CreateLayer","CjsTextureArrayResParameterProxy","#GetLayer","#SetLayerNames","Math","min","#InvalidateLayer","#InvalidateRange","#InvalidateLayers","changed","#ScheduleUpdate","#ResolveReadyWaiters","pending","waiter","#RejectReadyWaiters","payload","ResourceRequirement","TEXTURE_ARRAY","CjsSchema","define","className","family"],"mappings":"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"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type, carbon, impl } from '#schema';
|
|
1
|
+
import { CjsSchema, carbon, impl, type } from '#schema';
|
|
3
2
|
import { CjsModel } from '#model';
|
|
4
3
|
|
|
5
|
-
|
|
4
|
+
// Source: trinity/trinity/Resources/Tr2TextureLodManager.h
|
|
5
|
+
// Source: trinity/trinity/Resources/Tr2TextureLodManager.cpp
|
|
6
|
+
// Source: trinity/trinity/Resources/Tr2TextureLodManager_Blue.cpp
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* CPU-side registry for texture resources participating in LOD management.
|
|
@@ -11,44 +12,34 @@ let _initProto, _initClass, _init_gpuMemoryUsed, _init_extra_gpuMemoryUsed, _ini
|
|
|
11
12
|
* device allocation and budget policy in engine packages, so this runtime
|
|
12
13
|
* class owns only deterministic resource membership.
|
|
13
14
|
*/
|
|
14
|
-
let _Tr2TextureLodManager;
|
|
15
15
|
class Tr2TextureLodManager extends CjsModel {
|
|
16
|
-
static {
|
|
17
|
-
({
|
|
18
|
-
e: [_init_gpuMemoryUsed, _init_extra_gpuMemoryUsed, _init_gpuMemoryAllocated, _init_extra_gpuMemoryAllocated, _init_cpuMemoryUsed, _init_extra_cpuMemoryUsed, _init_cpuMemoryAllocated, _init_extra_cpuMemoryAllocated, _init_gpuUploadSize, _init_extra_gpuUploadSize, _init_gpuMemorySize, _init_extra_gpuMemorySize, _init_cpuMemorySize, _init_extra_cpuMemorySize, _init_currentStats, _init_extra_currentStats, _init_lowDetailVtaFiles, _init_extra_lowDetailVtaFiles, _initProto],
|
|
19
|
-
c: [_Tr2TextureLodManager, _initClass]
|
|
20
|
-
} = _applyDecs2311(this, [type.define({
|
|
21
|
-
className: "Tr2TextureLodManager",
|
|
22
|
-
family: "resources"
|
|
23
|
-
})], [[[type, type.uint64], 16, "gpuMemoryUsed"], [[type, type.uint64], 16, "gpuMemoryAllocated"], [[type, type.uint64], 16, "cpuMemoryUsed"], [[type, type.uint64], 16, "cpuMemoryAllocated"], [[type, type.uint64], 16, "gpuUploadSize"], [[type, type.unknown], 16, "gpuMemorySize"], [[type, type.unknown], 16, "cpuMemorySize"], [type.rawStruct("Stats"), 0, "currentStats"], [[type, type.boolean], 16, "lowDetailVtaFiles"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterTexture"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnregisterTexture"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetManagedTextures"]], 0, void 0, CjsModel));
|
|
24
|
-
}
|
|
25
16
|
/** gpuMemoryUsed (size_t) */
|
|
26
|
-
gpuMemoryUsed =
|
|
17
|
+
gpuMemoryUsed = 0;
|
|
27
18
|
|
|
28
19
|
/** gpuMemoryAllocated (size_t) */
|
|
29
|
-
gpuMemoryAllocated =
|
|
20
|
+
gpuMemoryAllocated = 0;
|
|
30
21
|
|
|
31
22
|
/** cpuMemoryUsed (size_t) */
|
|
32
|
-
cpuMemoryUsed =
|
|
23
|
+
cpuMemoryUsed = 0;
|
|
33
24
|
|
|
34
25
|
/** cpuMemoryAllocated (size_t) */
|
|
35
|
-
cpuMemoryAllocated =
|
|
26
|
+
cpuMemoryAllocated = 0;
|
|
36
27
|
|
|
37
28
|
/** gpuUploadSize (size_t) */
|
|
38
|
-
gpuUploadSize =
|
|
29
|
+
gpuUploadSize = 0;
|
|
39
30
|
|
|
40
31
|
/** m_gpuMemorySize (CcpAtomic<uint32_t>) */
|
|
41
|
-
gpuMemorySize =
|
|
32
|
+
gpuMemorySize = 0;
|
|
42
33
|
|
|
43
34
|
/** m_cpuMemorySize (CcpAtomic<uint32_t>) */
|
|
44
|
-
cpuMemorySize =
|
|
35
|
+
cpuMemorySize = 0;
|
|
45
36
|
|
|
46
37
|
/** m_currentStats (Stats) */
|
|
47
|
-
currentStats =
|
|
38
|
+
currentStats = null;
|
|
48
39
|
|
|
49
40
|
/** m_lowDetailVtaFiles (bool) */
|
|
50
|
-
lowDetailVtaFiles =
|
|
51
|
-
#textures =
|
|
41
|
+
lowDetailVtaFiles = false;
|
|
42
|
+
#textures = [];
|
|
52
43
|
|
|
53
44
|
/** Creates a Tr2TextureLodManager with caller-provided initial state. */
|
|
54
45
|
constructor(values = null) {
|
|
@@ -93,10 +84,27 @@ class Tr2TextureLodManager extends CjsModel {
|
|
|
93
84
|
GetManagedTextures() {
|
|
94
85
|
return this.#textures.slice();
|
|
95
86
|
}
|
|
96
|
-
static {
|
|
97
|
-
_initClass();
|
|
98
|
-
}
|
|
99
87
|
}
|
|
88
|
+
CjsSchema.define(Tr2TextureLodManager, {
|
|
89
|
+
className: "Tr2TextureLodManager",
|
|
90
|
+
family: "resources",
|
|
91
|
+
fields: {
|
|
92
|
+
gpuMemoryUsed: type.uint64,
|
|
93
|
+
gpuMemoryAllocated: type.uint64,
|
|
94
|
+
cpuMemoryUsed: type.uint64,
|
|
95
|
+
cpuMemoryAllocated: type.uint64,
|
|
96
|
+
gpuUploadSize: type.uint64,
|
|
97
|
+
gpuMemorySize: type.unknown,
|
|
98
|
+
cpuMemorySize: type.unknown,
|
|
99
|
+
currentStats: type.rawStruct("Stats"),
|
|
100
|
+
lowDetailVtaFiles: type.boolean
|
|
101
|
+
},
|
|
102
|
+
methods: {
|
|
103
|
+
RegisterTexture: [carbon.method, impl.implemented],
|
|
104
|
+
UnregisterTexture: [carbon.method, impl.implemented],
|
|
105
|
+
GetManagedTextures: [carbon.method, impl.implemented]
|
|
106
|
+
}
|
|
107
|
+
});
|
|
100
108
|
|
|
101
|
-
export {
|
|
109
|
+
export { Tr2TextureLodManager };
|
|
102
110
|
//# sourceMappingURL=Tr2TextureLodManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2TextureLodManager.js","sources":["../../../../src/resource/texture/Tr2TextureLodManager.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2TextureLodManager.h\r\n// Source: trinity/trinity/Resources/Tr2TextureLodManager.cpp\r\n// Source: trinity/trinity/Resources/Tr2TextureLodManager_Blue.cpp\r\nimport { carbon, impl, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\n\r\n/**\r\n * CPU-side registry for texture resources participating in LOD management.\r\n *\r\n * Carbon also accounts for device memory in this class. CarbonEngineJS keeps\r\n * device allocation and budget policy in engine packages, so this runtime\r\n * class owns only deterministic resource membership.\r\n */\r\
|
|
1
|
+
{"version":3,"file":"Tr2TextureLodManager.js","sources":["../../../../src/resource/texture/Tr2TextureLodManager.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2TextureLodManager.h\r\n// Source: trinity/trinity/Resources/Tr2TextureLodManager.cpp\r\n// Source: trinity/trinity/Resources/Tr2TextureLodManager_Blue.cpp\r\nimport { carbon, CjsSchema, impl, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\n\r\n/**\r\n * CPU-side registry for texture resources participating in LOD management.\r\n *\r\n * Carbon also accounts for device memory in this class. CarbonEngineJS keeps\r\n * device allocation and budget policy in engine packages, so this runtime\r\n * class owns only deterministic resource membership.\r\n */\r\nexport class Tr2TextureLodManager extends CjsModel\r\n{\r\n\r\n /** gpuMemoryUsed (size_t) */\r\n gpuMemoryUsed = 0;\r\n\r\n /** gpuMemoryAllocated (size_t) */\r\n gpuMemoryAllocated = 0;\r\n\r\n /** cpuMemoryUsed (size_t) */\r\n cpuMemoryUsed = 0;\r\n\r\n /** cpuMemoryAllocated (size_t) */\r\n cpuMemoryAllocated = 0;\r\n\r\n /** gpuUploadSize (size_t) */\r\n gpuUploadSize = 0;\r\n\r\n /** m_gpuMemorySize (CcpAtomic<uint32_t>) */\r\n gpuMemorySize = 0;\r\n\r\n /** m_cpuMemorySize (CcpAtomic<uint32_t>) */\r\n cpuMemorySize = 0;\r\n\r\n /** m_currentStats (Stats) */\r\n currentStats = null;\r\n\r\n /** m_lowDetailVtaFiles (bool) */\r\n lowDetailVtaFiles = false;\r\n\r\n #textures = [];\r\n\r\n /** Creates a Tr2TextureLodManager with caller-provided initial state. */\r\n constructor(values = null)\r\n {\r\n super();\r\n this.SetValues(values || {}, {\r\n markDirty: false,\r\n skipUpdate: true,\r\n skipEvents: true\r\n });\r\n }\r\n\r\n /**\r\n * Append one texture to the managed list in registration order.\r\n *\r\n * @param {object} texture Texture resource.\r\n * @returns {Tr2TextureLodManager} This manager.\r\n */\r\n RegisterTexture(texture)\r\n {\r\n if (!texture || (typeof texture !== \"object\" && typeof texture !== \"function\"))\r\n {\r\n throw new TypeError(\"Tr2TextureLodManager.RegisterTexture requires a texture object.\");\r\n }\r\n this.#textures.push(texture);\r\n return this;\r\n }\r\n\r\n /**\r\n * Remove a registered texture.\r\n *\r\n * @param {object} texture Texture resource.\r\n * @returns {Tr2TextureLodManager} This manager.\r\n */\r\n UnregisterTexture(texture)\r\n {\r\n this.#textures = this.#textures.filter(entry => entry !== texture);\r\n return this;\r\n }\r\n\r\n /**\r\n * Return a snapshot of registered texture resources.\r\n *\r\n * @returns {object[]} Registered textures in Carbon registration order.\r\n */\r\n GetManagedTextures()\r\n {\r\n return this.#textures.slice();\r\n }\r\n\r\n}\r\n\r\nCjsSchema.define(Tr2TextureLodManager, {\r\n className: \"Tr2TextureLodManager\", family: \"resources\",\r\n fields: {\r\n gpuMemoryUsed: type.uint64,\n gpuMemoryAllocated: type.uint64,\n cpuMemoryUsed: type.uint64,\n cpuMemoryAllocated: type.uint64,\n gpuUploadSize: type.uint64,\n gpuMemorySize: type.unknown,\n cpuMemorySize: type.unknown,\n currentStats: type.rawStruct(\"Stats\"),\n lowDetailVtaFiles: type.boolean\r\n },\r\n methods: {\r\n RegisterTexture: [ carbon.method, impl.implemented ],\n UnregisterTexture: [ carbon.method, impl.implemented ],\n GetManagedTextures: [ carbon.method, impl.implemented ]\r\n }\r\n});\r\n"],"names":["Tr2TextureLodManager","CjsModel","gpuMemoryUsed","gpuMemoryAllocated","cpuMemoryUsed","cpuMemoryAllocated","gpuUploadSize","gpuMemorySize","cpuMemorySize","currentStats","lowDetailVtaFiles","constructor","values","SetValues","markDirty","skipUpdate","skipEvents","RegisterTexture","texture","TypeError","push","UnregisterTexture","filter","entry","GetManagedTextures","slice","CjsSchema","define","className","family","fields","type","uint64","unknown","rawStruct","boolean","methods","carbon","method","impl","implemented"],"mappings":";;;AAAA;AACA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,oBAAoB,SAASC,QAAQ,CAClD;AAEE;AACAC,EAAAA,aAAa,GAAG,CAAC;;AAEjB;AACAC,EAAAA,kBAAkB,GAAG,CAAC;;AAEtB;AACAC,EAAAA,aAAa,GAAG,CAAC;;AAEjB;AACAC,EAAAA,kBAAkB,GAAG,CAAC;;AAEtB;AACAC,EAAAA,aAAa,GAAG,CAAC;;AAEjB;AACAC,EAAAA,aAAa,GAAG,CAAC;;AAEjB;AACAC,EAAAA,aAAa,GAAG,CAAC;;AAEjB;AACAC,EAAAA,YAAY,GAAG,IAAI;;AAEnB;AACAC,EAAAA,iBAAiB,GAAG,KAAK;EAEzB,SAAS,GAAG,EAAE;;AAEd;AACAC,EAAAA,WAAWA,CAACC,MAAM,GAAG,IAAI,EACzB;AACE,IAAA,KAAK,EAAE;AACP,IAAA,IAAI,CAACC,SAAS,CAACD,MAAM,IAAI,EAAE,EAAE;AAC3BE,MAAAA,SAAS,EAAE,KAAK;AAChBC,MAAAA,UAAU,EAAE,IAAI;AAChBC,MAAAA,UAAU,EAAE;AACd,KAAC,CAAC;AACJ,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEC,eAAeA,CAACC,OAAO,EACvB;AACE,IAAA,IAAI,CAACA,OAAO,IAAK,OAAOA,OAAO,KAAK,QAAQ,IAAI,OAAOA,OAAO,KAAK,UAAW,EAC9E;AACE,MAAA,MAAM,IAAIC,SAAS,CAAC,iEAAiE,CAAC;AACxF,IAAA;AACA,IAAA,IAAI,CAAC,SAAS,CAACC,IAAI,CAACF,OAAO,CAAC;AAC5B,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;EACEG,iBAAiBA,CAACH,OAAO,EACzB;AACE,IAAA,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAACI,MAAM,CAACC,KAAK,IAAIA,KAAK,KAAKL,OAAO,CAAC;AAClE,IAAA,OAAO,IAAI;AACb,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACEM,EAAAA,kBAAkBA,GAClB;AACE,IAAA,OAAO,IAAI,CAAC,SAAS,CAACC,KAAK,EAAE;AAC/B,EAAA;AAEF;AAEAC,SAAS,CAACC,MAAM,CAAC3B,oBAAoB,EAAE;AACrC4B,EAAAA,SAAS,EAAE,sBAAsB;AAAEC,EAAAA,MAAM,EAAE,WAAW;AACtDC,EAAAA,MAAM,EAAE;IACN5B,aAAa,EAAE6B,IAAI,CAACC,MAAM;IAC1B7B,kBAAkB,EAAE4B,IAAI,CAACC,MAAM;IAC/B5B,aAAa,EAAE2B,IAAI,CAACC,MAAM;IAC1B3B,kBAAkB,EAAE0B,IAAI,CAACC,MAAM;IAC/B1B,aAAa,EAAEyB,IAAI,CAACC,MAAM;IAC1BzB,aAAa,EAAEwB,IAAI,CAACE,OAAO;IAC3BzB,aAAa,EAAEuB,IAAI,CAACE,OAAO;AAC3BxB,IAAAA,YAAY,EAAEsB,IAAI,CAACG,SAAS,CAAC,OAAO,CAAC;IACrCxB,iBAAiB,EAAEqB,IAAI,CAACI;GACzB;AACDC,EAAAA,OAAO,EAAE;IACPnB,eAAe,EAAE,CAAEoB,MAAM,CAACC,MAAM,EAAEC,IAAI,CAACC,WAAW,CAAE;IACpDnB,iBAAiB,EAAE,CAAEgB,MAAM,CAACC,MAAM,EAAEC,IAAI,CAACC,WAAW,CAAE;IACtDhB,kBAAkB,EAAE,CAAEa,MAAM,CAACC,MAAM,EAAEC,IAAI,CAACC,WAAW;AACvD;AACF,CAAC,CAAC;;;;"}
|
|
@@ -1,37 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { type } from '#schema';
|
|
1
|
+
import { CjsSchema, type } from '#schema';
|
|
3
2
|
import { CjsModel } from '#model';
|
|
4
3
|
|
|
5
|
-
|
|
4
|
+
// Source: trinity/trinity/Resources/Tr2TextureLodManager.h
|
|
5
|
+
// Schema: format-carbon resources/Tr2TextureLodUpdateRequest.json; maintained by the runtime resource layer.
|
|
6
6
|
|
|
7
7
|
/** Tr2TextureLodUpdateRequest (resources) - maintained from schema shapeHash 7cfa47a1.... */
|
|
8
|
-
let _Tr2TextureLodUpdateR;
|
|
9
8
|
class Tr2TextureLodUpdateRequest extends CjsModel {
|
|
10
|
-
static {
|
|
11
|
-
({
|
|
12
|
-
e: [_init_frameNumber, _init_extra_frameNumber, _init_mipChange, _init_extra_mipChange, _init_cachedInRam, _init_extra_cachedInRam],
|
|
13
|
-
c: [_Tr2TextureLodUpdateR, _initClass]
|
|
14
|
-
} = _applyDecs2311(this, [type.define({
|
|
15
|
-
className: "Tr2TextureLodUpdateRequest",
|
|
16
|
-
family: "resources"
|
|
17
|
-
})], [[[type, type.uint64], 16, "frameNumber"], [[type, type.int32], 16, "mipChange"], [[type, type.boolean], 16, "cachedInRam"]], 0, void 0, CjsModel));
|
|
18
|
-
}
|
|
19
|
-
constructor(...args) {
|
|
20
|
-
super(...args);
|
|
21
|
-
_init_extra_cachedInRam(this);
|
|
22
|
-
}
|
|
23
9
|
/** frameNumber (uint64_t) */
|
|
24
|
-
frameNumber =
|
|
10
|
+
frameNumber = 0;
|
|
25
11
|
|
|
26
12
|
/** mipChange (int32_t) */
|
|
27
|
-
mipChange =
|
|
13
|
+
mipChange = 0;
|
|
28
14
|
|
|
29
15
|
/** cachedInRam (bool) */
|
|
30
|
-
cachedInRam =
|
|
31
|
-
static {
|
|
32
|
-
_initClass();
|
|
33
|
-
}
|
|
16
|
+
cachedInRam = false;
|
|
34
17
|
}
|
|
18
|
+
CjsSchema.define(Tr2TextureLodUpdateRequest, {
|
|
19
|
+
className: "Tr2TextureLodUpdateRequest",
|
|
20
|
+
family: "resources",
|
|
21
|
+
fields: {
|
|
22
|
+
frameNumber: type.uint64,
|
|
23
|
+
mipChange: type.int32,
|
|
24
|
+
cachedInRam: type.boolean
|
|
25
|
+
}
|
|
26
|
+
});
|
|
35
27
|
|
|
36
|
-
export {
|
|
28
|
+
export { Tr2TextureLodUpdateRequest };
|
|
37
29
|
//# sourceMappingURL=Tr2TextureLodUpdateRequest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2TextureLodUpdateRequest.js","sources":["../../../../src/resource/texture/Tr2TextureLodUpdateRequest.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2TextureLodManager.h\r\n// Schema: format-carbon resources/Tr2TextureLodUpdateRequest.json; maintained by the runtime resource layer.\nimport { type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\n\r\n/** Tr2TextureLodUpdateRequest (resources) - maintained from schema shapeHash 7cfa47a1.... */\r\
|
|
1
|
+
{"version":3,"file":"Tr2TextureLodUpdateRequest.js","sources":["../../../../src/resource/texture/Tr2TextureLodUpdateRequest.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2TextureLodManager.h\r\n// Schema: format-carbon resources/Tr2TextureLodUpdateRequest.json; maintained by the runtime resource layer.\r\nimport { CjsSchema, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\n\r\n/** Tr2TextureLodUpdateRequest (resources) - maintained from schema shapeHash 7cfa47a1.... */\r\nexport class Tr2TextureLodUpdateRequest extends CjsModel\r\n{\r\n\r\n /** frameNumber (uint64_t) */\r\n frameNumber = 0;\r\n\r\n /** mipChange (int32_t) */\r\n mipChange = 0;\r\n\r\n /** cachedInRam (bool) */\r\n cachedInRam = false;\r\n\r\n}\r\n\r\nCjsSchema.define(Tr2TextureLodUpdateRequest, {\r\n className: \"Tr2TextureLodUpdateRequest\", family: \"resources\",\r\n fields: {\r\n frameNumber: type.uint64,\r\n mipChange: type.int32,\r\n cachedInRam: type.boolean\r\n }\r\n});\r\n"],"names":["Tr2TextureLodUpdateRequest","CjsModel","frameNumber","mipChange","cachedInRam","CjsSchema","define","className","family","fields","type","uint64","int32","boolean"],"mappings":";;;AAAA;AACA;;AAIA;AACO,MAAMA,0BAA0B,SAASC,QAAQ,CACxD;AAEE;AACAC,EAAAA,WAAW,GAAG,CAAC;;AAEf;AACAC,EAAAA,SAAS,GAAG,CAAC;;AAEb;AACAC,EAAAA,WAAW,GAAG,KAAK;AAErB;AAEAC,SAAS,CAACC,MAAM,CAACN,0BAA0B,EAAE;AAC3CO,EAAAA,SAAS,EAAE,4BAA4B;AAAEC,EAAAA,MAAM,EAAE,WAAW;AAC5DC,EAAAA,MAAM,EAAE;IACNP,WAAW,EAAEQ,IAAI,CAACC,MAAM;IACxBR,SAAS,EAAEO,IAAI,CAACE,KAAK;IACrBR,WAAW,EAAEM,IAAI,CAACG;AACpB;AACF,CAAC,CAAC;;;;"}
|
|
@@ -1,37 +1,29 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { io, type } from '#schema';
|
|
1
|
+
import { CjsSchema, io, type } from '#schema';
|
|
3
2
|
import { CjsModel } from '#model';
|
|
4
3
|
|
|
5
|
-
|
|
4
|
+
// Source: trinity/trinity/Resources/TexturePipeline/Tr2TexturePipelineStepPack.h
|
|
5
|
+
// Schema: format-carbon resources/Tr2TexturePackChannel.json; maintained by the runtime resource layer.
|
|
6
6
|
|
|
7
7
|
/** Tr2TexturePackChannel (resources) - maintained from schema shapeHash 3ea887a3.... */
|
|
8
|
-
let _Tr2TexturePackChanne;
|
|
9
8
|
class Tr2TexturePackChannel extends CjsModel {
|
|
10
|
-
static {
|
|
11
|
-
({
|
|
12
|
-
e: [_init_channel, _init_extra_channel, _init_fill, _init_extra_fill, _init_path, _init_extra_path],
|
|
13
|
-
c: [_Tr2TexturePackChanne, _initClass]
|
|
14
|
-
} = _applyDecs2311(this, [type.define({
|
|
15
|
-
className: "Tr2TexturePackChannel",
|
|
16
|
-
family: "resources"
|
|
17
|
-
})], [[[io, io.persist, type, type.uint8], 16, "channel"], [[io, io.persist, type, type.uint8], 16, "fill"], [[io, io.persist, type, type.string], 16, "path"]], 0, void 0, CjsModel));
|
|
18
|
-
}
|
|
19
|
-
constructor(...args) {
|
|
20
|
-
super(...args);
|
|
21
|
-
_init_extra_path(this);
|
|
22
|
-
}
|
|
23
9
|
/** m_channel (uint8_t) [READWRITE, PERSIST, ENUM] */
|
|
24
|
-
channel =
|
|
10
|
+
channel = 0;
|
|
25
11
|
|
|
26
12
|
/** m_fill (uint8_t) [READWRITE, PERSIST] */
|
|
27
|
-
fill =
|
|
13
|
+
fill = 0;
|
|
28
14
|
|
|
29
15
|
/** m_path (std::wstring) [READWRITE, PERSIST] */
|
|
30
|
-
path =
|
|
31
|
-
static {
|
|
32
|
-
_initClass();
|
|
33
|
-
}
|
|
16
|
+
path = "";
|
|
34
17
|
}
|
|
18
|
+
CjsSchema.define(Tr2TexturePackChannel, {
|
|
19
|
+
className: "Tr2TexturePackChannel",
|
|
20
|
+
family: "resources",
|
|
21
|
+
fields: {
|
|
22
|
+
channel: [io.persist, type.uint8],
|
|
23
|
+
fill: [io.persist, type.uint8],
|
|
24
|
+
path: [io.persist, type.string]
|
|
25
|
+
}
|
|
26
|
+
});
|
|
35
27
|
|
|
36
|
-
export {
|
|
28
|
+
export { Tr2TexturePackChannel };
|
|
37
29
|
//# sourceMappingURL=Tr2TexturePackChannel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2TexturePackChannel.js","sources":["../../../../src/resource/texture/Tr2TexturePackChannel.js"],"sourcesContent":["// Source: trinity/trinity/Resources/TexturePipeline/Tr2TexturePipelineStepPack.h\r\n// Schema: format-carbon resources/Tr2TexturePackChannel.json; maintained by the runtime resource layer.\nimport { io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\n\r\n/** Tr2TexturePackChannel (resources) - maintained from schema shapeHash 3ea887a3.... */\r\
|
|
1
|
+
{"version":3,"file":"Tr2TexturePackChannel.js","sources":["../../../../src/resource/texture/Tr2TexturePackChannel.js"],"sourcesContent":["// Source: trinity/trinity/Resources/TexturePipeline/Tr2TexturePipelineStepPack.h\r\n// Schema: format-carbon resources/Tr2TexturePackChannel.json; maintained by the runtime resource layer.\r\nimport { CjsSchema, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\n\r\n/** Tr2TexturePackChannel (resources) - maintained from schema shapeHash 3ea887a3.... */\r\nexport class Tr2TexturePackChannel extends CjsModel\r\n{\r\n\r\n /** m_channel (uint8_t) [READWRITE, PERSIST, ENUM] */\r\n channel = 0;\r\n\r\n /** m_fill (uint8_t) [READWRITE, PERSIST] */\r\n fill = 0;\r\n\r\n /** m_path (std::wstring) [READWRITE, PERSIST] */\r\n path = \"\";\r\n\r\n}\r\n\r\nCjsSchema.define(Tr2TexturePackChannel, {\r\n className: \"Tr2TexturePackChannel\", family: \"resources\",\r\n fields: {\r\n channel: [ io.persist, type.uint8 ],\r\n fill: [ io.persist, type.uint8 ],\r\n path: [ io.persist, type.string ]\r\n }\r\n});\r\n"],"names":["Tr2TexturePackChannel","CjsModel","channel","fill","path","CjsSchema","define","className","family","fields","io","persist","type","uint8","string"],"mappings":";;;AAAA;AACA;;AAIA;AACO,MAAMA,qBAAqB,SAASC,QAAQ,CACnD;AAEE;AACAC,EAAAA,OAAO,GAAG,CAAC;;AAEX;AACAC,EAAAA,IAAI,GAAG,CAAC;;AAER;AACAC,EAAAA,IAAI,GAAG,EAAE;AAEX;AAEAC,SAAS,CAACC,MAAM,CAACN,qBAAqB,EAAE;AACtCO,EAAAA,SAAS,EAAE,uBAAuB;AAAEC,EAAAA,MAAM,EAAE,WAAW;AACvDC,EAAAA,MAAM,EAAE;IACNP,OAAO,EAAE,CAAEQ,EAAE,CAACC,OAAO,EAAEC,IAAI,CAACC,KAAK,CAAE;IACnCV,IAAI,EAAE,CAAEO,EAAE,CAACC,OAAO,EAAEC,IAAI,CAACC,KAAK,CAAE;IAChCT,IAAI,EAAE,CAAEM,EAAE,CAACC,OAAO,EAAEC,IAAI,CAACE,MAAM;AACjC;AACF,CAAC,CAAC;;;;"}
|
|
@@ -1,9 +1,14 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { io, type, carbon, impl } from '#schema';
|
|
1
|
+
import { CjsSchema, carbon, impl, io, type } from '#schema';
|
|
3
2
|
import { CjsModel } from '#model';
|
|
4
3
|
import { executeTexturePipeline, getTexturePipelineDependencies } from './texturePipelineBehavior.js';
|
|
5
4
|
|
|
6
|
-
|
|
5
|
+
// Source: trinity/trinity/Resources/TexturePipeline/Tr2TexturePipeline.h
|
|
6
|
+
// Source: trinity/trinity/Resources/TexturePipeline/Tr2TexturePipeline.cpp
|
|
7
|
+
// Source: trinity/trinity/Resources/TexturePipeline/ITr2TexturePipelineStep.h
|
|
8
|
+
// Source: trinity/trinity/Resources/TexturePipeline/Tr2TexturePipelineStepLoad.cpp
|
|
9
|
+
// Source: trinity/trinity/Resources/TexturePipeline/Tr2TexturePipelineStepLimitSize.cpp
|
|
10
|
+
// Source: trinity/trinity/Resources/TexturePipeline/Tr2TexturePipelineStepCompress.cpp
|
|
11
|
+
// Source: trinity/trinity/Resources/TexturePipeline/Tr2TexturePipelineStepPack.cpp
|
|
7
12
|
|
|
8
13
|
/**
|
|
9
14
|
* Carbon texture-specific CPU bitmap transformation pipeline.
|
|
@@ -11,26 +16,16 @@ let _initProto, _initClass, _init_pipelineType, _init_extra_pipelineType, _init_
|
|
|
11
16
|
* Inputs are supplied explicitly, through a load callback, or through an
|
|
12
17
|
* injected CjsResMan. The result is a canonical plain RGBA payload.
|
|
13
18
|
*/
|
|
14
|
-
let _Tr2TexturePipeline;
|
|
15
19
|
class Tr2TexturePipeline extends CjsModel {
|
|
16
|
-
static {
|
|
17
|
-
({
|
|
18
|
-
e: [_init_pipelineType, _init_extra_pipelineType, _init_steps, _init_extra_steps, _initProto],
|
|
19
|
-
c: [_Tr2TexturePipeline, _initClass]
|
|
20
|
-
} = _applyDecs2311(this, [type.define({
|
|
21
|
-
className: "Tr2TexturePipeline",
|
|
22
|
-
family: "resources"
|
|
23
|
-
})], [[[io, io.persist, type, type.string], 16, "pipelineType"], [[io, io.persist, void 0, type.list("ITr2TexturePipelineStep")], 16, "steps"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon fills an ImageIO::HostBitmap through blocking file reads; JavaScript resolves inputs asynchronously and returns the runtime resource layer's plain CPU payload.")], 18, "Execute"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetResourceDependencies"]], 0, void 0, CjsModel));
|
|
24
|
-
}
|
|
25
20
|
/** m_pipelineType (std::string) [READWRITE, PERSIST] */
|
|
26
|
-
pipelineType =
|
|
21
|
+
pipelineType = "";
|
|
27
22
|
|
|
28
23
|
/** m_steps (PITr2TexturePipelineStepVector) [READ, PERSIST] */
|
|
29
|
-
steps =
|
|
24
|
+
steps = [];
|
|
30
25
|
|
|
31
26
|
/** Creates a Tr2TexturePipeline with caller-provided initial state. */
|
|
32
27
|
constructor(values = null) {
|
|
33
|
-
super()
|
|
28
|
+
super();
|
|
34
29
|
this.SetValues(values || {}, {
|
|
35
30
|
markDirty: false,
|
|
36
31
|
skipUpdate: true,
|
|
@@ -61,10 +56,19 @@ class Tr2TexturePipeline extends CjsModel {
|
|
|
61
56
|
GetResourceDependencies() {
|
|
62
57
|
return getTexturePipelineDependencies(this.steps);
|
|
63
58
|
}
|
|
64
|
-
static {
|
|
65
|
-
_initClass();
|
|
66
|
-
}
|
|
67
59
|
}
|
|
60
|
+
CjsSchema.define(Tr2TexturePipeline, {
|
|
61
|
+
className: "Tr2TexturePipeline",
|
|
62
|
+
family: "resources",
|
|
63
|
+
fields: {
|
|
64
|
+
pipelineType: [io.persist, type.string],
|
|
65
|
+
steps: [io.persist, type.list("ITr2TexturePipelineStep")]
|
|
66
|
+
},
|
|
67
|
+
methods: {
|
|
68
|
+
Execute: [carbon.method, impl.adapted, impl.reason("Carbon fills an ImageIO::HostBitmap through blocking file reads; JavaScript resolves inputs asynchronously and returns the runtime resource layer's plain CPU payload.")],
|
|
69
|
+
GetResourceDependencies: [carbon.method, impl.implemented]
|
|
70
|
+
}
|
|
71
|
+
});
|
|
68
72
|
|
|
69
|
-
export {
|
|
73
|
+
export { Tr2TexturePipeline };
|
|
70
74
|
//# sourceMappingURL=Tr2TexturePipeline.js.map
|