@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
|
@@ -7,9 +7,9 @@ import { TriVariableContentType } from '../../generated/trinityCore/enums.js';
|
|
|
7
7
|
|
|
8
8
|
let _initProto, _initClass, _init_name, _init_extra_name, _init_contentType, _init_extra_contentType;
|
|
9
9
|
|
|
10
|
-
/**
|
|
11
|
-
* One named shader-binding variable: the content type fixed when it was
|
|
12
|
-
* registered, plus the value payload standing in for Carbon's typed union.
|
|
10
|
+
/**
|
|
11
|
+
* One named shader-binding variable: the content type fixed when it was
|
|
12
|
+
* registered, plus the value payload standing in for Carbon's typed union.
|
|
13
13
|
*/
|
|
14
14
|
let _TriVariable;
|
|
15
15
|
new class extends _identity {
|
|
@@ -41,19 +41,19 @@ new class extends _identity {
|
|
|
41
41
|
return this.contentType;
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
-
/**
|
|
45
|
-
* Assigns the value payload. The content type stays as registered; Carbon
|
|
46
|
-
* fixes it at registration time and SetValue only stores.
|
|
44
|
+
/**
|
|
45
|
+
* Assigns the value payload. The content type stays as registered; Carbon
|
|
46
|
+
* fixes it at registration time and SetValue only stores.
|
|
47
47
|
*/
|
|
48
48
|
SetValue(value) {
|
|
49
49
|
this.value = value;
|
|
50
50
|
return true;
|
|
51
51
|
}
|
|
52
52
|
|
|
53
|
-
/**
|
|
54
|
-
* Reads the payload; when out is array-like and so is the payload, the
|
|
55
|
-
* overlapping components are copied into out and out is returned, otherwise
|
|
56
|
-
* the stored payload itself is returned and is not a copy.
|
|
53
|
+
/**
|
|
54
|
+
* Reads the payload; when out is array-like and so is the payload, the
|
|
55
|
+
* overlapping components are copied into out and out is returned, otherwise
|
|
56
|
+
* the stored payload itself is returned and is not a copy.
|
|
57
57
|
*/
|
|
58
58
|
GetValue(out = undefined) {
|
|
59
59
|
const value = this.value;
|
|
@@ -67,19 +67,19 @@ new class extends _identity {
|
|
|
67
67
|
return value;
|
|
68
68
|
}
|
|
69
69
|
|
|
70
|
-
/**
|
|
71
|
-
* Clears the payload and returns the variable to the reserved INVALID
|
|
72
|
-
* type, releasing texture/buffer references as Carbon's Clear does.
|
|
70
|
+
/**
|
|
71
|
+
* Clears the payload and returns the variable to the reserved INVALID
|
|
72
|
+
* type, releasing texture/buffer references as Carbon's Clear does.
|
|
73
73
|
*/
|
|
74
74
|
Invalidate() {
|
|
75
75
|
this.value = null;
|
|
76
76
|
this.contentType = TriVariableContentType.TRIVARIABLE_INVALID;
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
/**
|
|
80
|
-
* Clears the value but leaves the type alone, so a new SetValue will
|
|
81
|
-
* still work. Carbon zeroes the union slot and drops texture/buffer
|
|
82
|
-
* references; the JS payload slot zero-fills arrays and nulls references.
|
|
79
|
+
/**
|
|
80
|
+
* Clears the value but leaves the type alone, so a new SetValue will
|
|
81
|
+
* still work. Carbon zeroes the union slot and drops texture/buffer
|
|
82
|
+
* references; the JS payload slot zero-fills arrays and nulls references.
|
|
83
83
|
*/
|
|
84
84
|
Clear() {
|
|
85
85
|
const value = this.value;
|
|
@@ -92,23 +92,23 @@ new class extends _identity {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
|
|
95
|
-
/**
|
|
96
|
-
* Binds this variable's resource into a resource-set description.
|
|
97
|
-
*
|
|
98
|
-
* Carbon `TriVariable::CopyToResourceSet` (`TriVariable.cpp:25-67`), which
|
|
99
|
-
* switches on the content type and answers false for everything that is not
|
|
100
|
-
* a resource — a float or a matrix is a CONSTANT and reaches a shader
|
|
101
|
-
* through `CopyValueToEffect`, not through a resource set.
|
|
102
|
-
*
|
|
103
|
-
* A PROVIDER THAT HAS NOT RESOLVED STILL BINDS, as an empty slot rather than
|
|
104
|
-
* a skipped one. That is Carbon's, and it matters: leaving the register
|
|
105
|
-
* untouched would let a draw read whatever the previous one bound there.
|
|
106
|
-
*
|
|
107
|
-
* @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.
|
|
108
|
-
* @param {number} stage A `ShaderType`.
|
|
109
|
-
* @param {number} registerIndex The register.
|
|
110
|
-
* @param {number} [flags] A `ResourceFlags` word; bit 0 is sRGB.
|
|
111
|
-
* @returns {boolean} Whether the slot took the binding.
|
|
95
|
+
/**
|
|
96
|
+
* Binds this variable's resource into a resource-set description.
|
|
97
|
+
*
|
|
98
|
+
* Carbon `TriVariable::CopyToResourceSet` (`TriVariable.cpp:25-67`), which
|
|
99
|
+
* switches on the content type and answers false for everything that is not
|
|
100
|
+
* a resource — a float or a matrix is a CONSTANT and reaches a shader
|
|
101
|
+
* through `CopyValueToEffect`, not through a resource set.
|
|
102
|
+
*
|
|
103
|
+
* A PROVIDER THAT HAS NOT RESOLVED STILL BINDS, as an empty slot rather than
|
|
104
|
+
* a skipped one. That is Carbon's, and it matters: leaving the register
|
|
105
|
+
* untouched would let a draw read whatever the previous one bound there.
|
|
106
|
+
*
|
|
107
|
+
* @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.
|
|
108
|
+
* @param {number} stage A `ShaderType`.
|
|
109
|
+
* @param {number} registerIndex The register.
|
|
110
|
+
* @param {number} [flags] A `ResourceFlags` word; bit 0 is sRGB.
|
|
111
|
+
* @returns {boolean} Whether the slot took the binding.
|
|
112
112
|
*/
|
|
113
113
|
CopyToResourceSet(resourceDesc, stage, registerIndex, flags = 0) {
|
|
114
114
|
if (this.contentType === TriVariableContentType.TRIVARIABLE_TEXTURE_RES) {
|
|
@@ -116,28 +116,28 @@ new class extends _identity {
|
|
|
116
116
|
return resourceDesc.SetSrv(stage, registerIndex, this.#Texture(), colorSpace);
|
|
117
117
|
}
|
|
118
118
|
if (this.contentType === TriVariableContentType.TRIVARIABLE_GPUBUFFER) {
|
|
119
|
-
return resourceDesc.SetSrv(stage, registerIndex, this.#GpuBuffer());
|
|
119
|
+
return resourceDesc.SetSrv(stage, registerIndex, this.#GpuBuffer(), 0, 1);
|
|
120
120
|
}
|
|
121
121
|
return false;
|
|
122
122
|
}
|
|
123
123
|
|
|
124
|
-
/**
|
|
125
|
-
* Binds this variable's resource as an unordered-access view.
|
|
126
|
-
*
|
|
127
|
-
* Carbon `TriVariable::ApplyUav` (`TriVariable.cpp:69+`). Same switch, no
|
|
128
|
-
* colour space — a UAV is written rather than sampled.
|
|
129
|
-
*
|
|
130
|
-
* @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.
|
|
131
|
-
* @param {number} stage A `ShaderType`.
|
|
132
|
-
* @param {number} registerIndex The register.
|
|
133
|
-
* @returns {boolean} Whether the slot took the binding.
|
|
124
|
+
/**
|
|
125
|
+
* Binds this variable's resource as an unordered-access view.
|
|
126
|
+
*
|
|
127
|
+
* Carbon `TriVariable::ApplyUav` (`TriVariable.cpp:69+`). Same switch, no
|
|
128
|
+
* colour space — a UAV is written rather than sampled.
|
|
129
|
+
*
|
|
130
|
+
* @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.
|
|
131
|
+
* @param {number} stage A `ShaderType`.
|
|
132
|
+
* @param {number} registerIndex The register.
|
|
133
|
+
* @returns {boolean} Whether the slot took the binding.
|
|
134
134
|
*/
|
|
135
135
|
ApplyUav(resourceDesc, stage, registerIndex) {
|
|
136
136
|
if (this.contentType === TriVariableContentType.TRIVARIABLE_TEXTURE_RES) {
|
|
137
137
|
return resourceDesc.SetUav(stage, registerIndex, this.#Texture());
|
|
138
138
|
}
|
|
139
139
|
if (this.contentType === TriVariableContentType.TRIVARIABLE_GPUBUFFER) {
|
|
140
|
-
return resourceDesc.SetUav(stage, registerIndex, this.#GpuBuffer());
|
|
140
|
+
return resourceDesc.SetUav(stage, registerIndex, this.#GpuBuffer(), 0, 1);
|
|
141
141
|
}
|
|
142
142
|
return false;
|
|
143
143
|
}
|
|
@@ -154,29 +154,29 @@ new class extends _identity {
|
|
|
154
154
|
return typeof provider?.GetGpuBuffer === "function" ? provider.GetGpuBuffer(0) : null;
|
|
155
155
|
}
|
|
156
156
|
|
|
157
|
-
/**
|
|
158
|
-
* Carbon's display name for a content type, defaulting to this variable's own
|
|
159
|
-
* type.
|
|
157
|
+
/**
|
|
158
|
+
* Carbon's display name for a content type, defaulting to this variable's own
|
|
159
|
+
* type.
|
|
160
160
|
*/
|
|
161
161
|
GetTypeName(contentType = this.contentType) {
|
|
162
162
|
return _TriVariable.GetTypeName(contentType);
|
|
163
163
|
}
|
|
164
164
|
|
|
165
|
-
/**
|
|
166
|
-
* Constant-buffer byte size of a content type, defaulting to this variable's
|
|
167
|
-
* own type.
|
|
165
|
+
/**
|
|
166
|
+
* Constant-buffer byte size of a content type, defaulting to this variable's
|
|
167
|
+
* own type.
|
|
168
168
|
*/
|
|
169
169
|
GetTypeSize(contentType = this.contentType) {
|
|
170
170
|
return _TriVariable.GetTypeSize(contentType);
|
|
171
171
|
}
|
|
172
172
|
|
|
173
|
-
/**
|
|
174
|
-
* Maps a script value onto a Carbon content type the way the Python
|
|
175
|
-
* bridge does: integers and booleans register as INT (Python bools are
|
|
176
|
-
* ints), other numbers as FLOAT, arrays by length, texture-provider
|
|
177
|
-
* shapes as TEXTURE_RES. Unknown values map to INVALID, which
|
|
178
|
-
* RegisterVariable treats as unsupported (GPU-buffer duck detection has
|
|
179
|
-
* no reliable JS shape yet and is left to the realization layer).
|
|
173
|
+
/**
|
|
174
|
+
* Maps a script value onto a Carbon content type the way the Python
|
|
175
|
+
* bridge does: integers and booleans register as INT (Python bools are
|
|
176
|
+
* ints), other numbers as FLOAT, arrays by length, texture-provider
|
|
177
|
+
* shapes as TEXTURE_RES. Unknown values map to INVALID, which
|
|
178
|
+
* RegisterVariable treats as unsupported (GPU-buffer duck detection has
|
|
179
|
+
* no reliable JS shape yet and is left to the realization layer).
|
|
180
180
|
*/
|
|
181
181
|
static getVariableType(value) {
|
|
182
182
|
if (typeof value === "boolean") {
|
|
@@ -206,21 +206,21 @@ new class extends _identity {
|
|
|
206
206
|
return TriVariableContentType.TRIVARIABLE_INVALID;
|
|
207
207
|
}
|
|
208
208
|
|
|
209
|
-
/**
|
|
210
|
-
* Copies the value into an effect constant destination.
|
|
211
|
-
*
|
|
212
|
-
* Clamped to the destination length, the source length, and `size` BYTES at
|
|
213
|
-
* four bytes per float - `size` is a byte budget, not a component count. A
|
|
214
|
-
* scalar writes one component.
|
|
215
|
-
*
|
|
216
|
-
* Lives here because an effect binds a VARIABLE and then copies from it, so
|
|
217
|
-
* the variable has to be able to answer. It used to live only on a parallel
|
|
218
|
-
* store's own variable class, which is why binding could not use Carbon's.
|
|
219
|
-
*
|
|
220
|
-
* @param {*} _inputType Accepted and ignored, matching the parameter shape.
|
|
221
|
-
* @param {ArrayLike} destination Constant destination.
|
|
222
|
-
* @param {number} [size] Byte budget in the destination.
|
|
223
|
-
* @returns {boolean} Whether anything was written.
|
|
209
|
+
/**
|
|
210
|
+
* Copies the value into an effect constant destination.
|
|
211
|
+
*
|
|
212
|
+
* Clamped to the destination length, the source length, and `size` BYTES at
|
|
213
|
+
* four bytes per float - `size` is a byte budget, not a component count. A
|
|
214
|
+
* scalar writes one component.
|
|
215
|
+
*
|
|
216
|
+
* Lives here because an effect binds a VARIABLE and then copies from it, so
|
|
217
|
+
* the variable has to be able to answer. It used to live only on a parallel
|
|
218
|
+
* store's own variable class, which is why binding could not use Carbon's.
|
|
219
|
+
*
|
|
220
|
+
* @param {*} _inputType Accepted and ignored, matching the parameter shape.
|
|
221
|
+
* @param {ArrayLike} destination Constant destination.
|
|
222
|
+
* @param {number} [size] Byte budget in the destination.
|
|
223
|
+
* @returns {boolean} Whether anything was written.
|
|
224
224
|
*/
|
|
225
225
|
CopyValueToEffect(_inputType, destination, size = Number.POSITIVE_INFINITY) {
|
|
226
226
|
if (!destination || typeof destination.length !== "number") return false;
|
|
@@ -236,20 +236,20 @@ new class extends _identity {
|
|
|
236
236
|
return count > 0;
|
|
237
237
|
}
|
|
238
238
|
|
|
239
|
-
/**
|
|
240
|
-
* Carbon's display name for a content type; an unrecognised type falls back to
|
|
241
|
-
* the INVALID label.
|
|
239
|
+
/**
|
|
240
|
+
* Carbon's display name for a content type; an unrecognised type falls back to
|
|
241
|
+
* the INVALID label.
|
|
242
242
|
*/
|
|
243
243
|
static GetTypeName(contentType) {
|
|
244
244
|
return _TriVariable.#typeNames[contentType] ?? _TriVariable.#typeNames[0];
|
|
245
245
|
}
|
|
246
246
|
|
|
247
|
-
/**
|
|
248
|
-
* Byte size a variable of the given content type occupies in a constant
|
|
249
|
-
* buffer. INVALID and UNKNOWN_FLOAT may be converted to another type, so
|
|
250
|
-
* they must register as the largest type. Texture and GPU-buffer slots are
|
|
251
|
-
* pointer-sized in Carbon; the JS reference slot keeps the same 8 bytes so
|
|
252
|
-
* shared-buffer offset math stays aligned with Carbon's.
|
|
247
|
+
/**
|
|
248
|
+
* Byte size a variable of the given content type occupies in a constant
|
|
249
|
+
* buffer. INVALID and UNKNOWN_FLOAT may be converted to another type, so
|
|
250
|
+
* they must register as the largest type. Texture and GPU-buffer slots are
|
|
251
|
+
* pointer-sized in Carbon; the JS reference slot keeps the same 8 bytes so
|
|
252
|
+
* shared-buffer offset math stays aligned with Carbon's.
|
|
253
253
|
*/
|
|
254
254
|
static GetTypeSize(contentType) {
|
|
255
255
|
return _TriVariable.#typeSizes[contentType] ?? 0;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TriVariable.js","sources":["../../../../../src/trinity/core/variable/TriVariable.js"],"sourcesContent":["// Source: trinity/trinity/TriVariable.h\n// Source: trinity/trinity/TriVariable.cpp\nimport { carbon, impl, io, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport { Tr2ColorSpace } from \"#consts/render-context\";\nimport { ResourceFlags } from \"../../shader/parameter/ITr2EffectValue.js\";\nimport { TriVariableContentType } from \"../../generated/trinityCore/enums.js\";\n\n\n/**\n * One named shader-binding variable: the content type fixed when it was\n * registered, plus the value payload standing in for Carbon's typed union.\n */\n@type.define({\n className: \"TriVariable\",\n family: \"trinityCore\"\n})\nexport class TriVariable extends CjsModel\n{\n @io.read\n @type.string\n name = \"\";\n\n /** m_type (TriVariableContentType). */\n @io.read\n @type.int32\n contentType = TriVariableContentType.TRIVARIABLE_INVALID;\n\n /** Runtime value payload; the typed C++ union collapses to one slot. */\n value = null;\n\n /** The registered variable name, which the store also uses as its key. */\n @carbon.method\n @impl.implemented\n GetName()\n {\n return this.name;\n }\n\n /** The TriVariableContentType fixed at registration; SetValue never changes it. */\n @carbon.method\n @impl.implemented\n GetType()\n {\n return this.contentType;\n }\n\n /**\n * Assigns the value payload. The content type stays as registered; Carbon\n * fixes it at registration time and SetValue only stores.\n */\n @carbon.method\n @impl.adapted\n SetValue(value)\n {\n this.value = value;\n return true;\n }\n\n /**\n * Reads the payload; when out is array-like and so is the payload, the\n * overlapping components are copied into out and out is returned, otherwise\n * the stored payload itself is returned and is not a copy.\n */\n @carbon.method\n @impl.adapted\n GetValue(out = undefined)\n {\n const value = this.value;\n if (out && value && typeof value.length === \"number\" && typeof out.length === \"number\")\n {\n const count = Math.min(out.length, value.length);\n for (let index = 0; index < count; index++)\n {\n out[index] = value[index];\n }\n return out;\n }\n return value;\n }\n\n /**\n * Clears the payload and returns the variable to the reserved INVALID\n * type, releasing texture/buffer references as Carbon's Clear does.\n */\n @carbon.method\n @impl.implemented\n Invalidate()\n {\n this.value = null;\n this.contentType = TriVariableContentType.TRIVARIABLE_INVALID;\n }\n\n /**\n * Clears the value but leaves the type alone, so a new SetValue will\n * still work. Carbon zeroes the union slot and drops texture/buffer\n * references; the JS payload slot zero-fills arrays and nulls references.\n */\n @carbon.method\n @impl.adapted\n Clear()\n {\n const value = this.value;\n if (value && typeof value.length === \"number\" && typeof value.fill === \"function\")\n {\n value.fill(0);\n }\n else if (typeof value === \"number\")\n {\n this.value = 0;\n }\n else\n {\n this.value = null;\n }\n }\n\n /**\n * Binds this variable's resource into a resource-set description.\n *\n * Carbon `TriVariable::CopyToResourceSet` (`TriVariable.cpp:25-67`), which\n * switches on the content type and answers false for everything that is not\n * a resource — a float or a matrix is a CONSTANT and reaches a shader\n * through `CopyValueToEffect`, not through a resource set.\n *\n * A PROVIDER THAT HAS NOT RESOLVED STILL BINDS, as an empty slot rather than\n * a skipped one. That is Carbon's, and it matters: leaving the register\n * untouched would let a draw read whatever the previous one bound there.\n *\n * @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.\n * @param {number} stage A `ShaderType`.\n * @param {number} registerIndex The register.\n * @param {number} [flags] A `ResourceFlags` word; bit 0 is sRGB.\n * @returns {boolean} Whether the slot took the binding.\n */\n @carbon.method\n @impl.implemented\n CopyToResourceSet(resourceDesc, stage, registerIndex, flags = 0)\n {\n if (this.contentType === TriVariableContentType.TRIVARIABLE_TEXTURE_RES)\n {\n const colorSpace = (flags & ResourceFlags.RESOURCE_FLAG_SRGB)\n ? Tr2ColorSpace.COLOR_SPACE_SRGB\n : Tr2ColorSpace.COLOR_SPACE_LINEAR;\n\n return resourceDesc.SetSrv(stage, registerIndex, this.#Texture(), colorSpace);\n }\n\n if (this.contentType === TriVariableContentType.TRIVARIABLE_GPUBUFFER)\n {\n return resourceDesc.SetSrv(stage, registerIndex, this.#GpuBuffer());\n }\n\n return false;\n }\n\n /**\n * Binds this variable's resource as an unordered-access view.\n *\n * Carbon `TriVariable::ApplyUav` (`TriVariable.cpp:69+`). Same switch, no\n * colour space — a UAV is written rather than sampled.\n *\n * @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.\n * @param {number} stage A `ShaderType`.\n * @param {number} registerIndex The register.\n * @returns {boolean} Whether the slot took the binding.\n */\n @carbon.method\n @impl.implemented\n ApplyUav(resourceDesc, stage, registerIndex)\n {\n if (this.contentType === TriVariableContentType.TRIVARIABLE_TEXTURE_RES)\n {\n return resourceDesc.SetUav(stage, registerIndex, this.#Texture());\n }\n\n if (this.contentType === TriVariableContentType.TRIVARIABLE_GPUBUFFER)\n {\n return resourceDesc.SetUav(stage, registerIndex, this.#GpuBuffer());\n }\n\n return false;\n }\n\n /** The provider's texture, or null when it has not resolved one. */\n #Texture()\n {\n const provider = this.value;\n\n return typeof provider?.GetTexture === \"function\" ? provider.GetTexture() : null;\n }\n\n /** The provider's first buffer, which is the index Carbon passes. */\n #GpuBuffer()\n {\n const provider = this.value;\n\n return typeof provider?.GetGpuBuffer === \"function\" ? provider.GetGpuBuffer(0) : null;\n }\n\n /**\n * Carbon's display name for a content type, defaulting to this variable's own\n * type.\n */\n @carbon.method\n @impl.implemented\n GetTypeName(contentType = this.contentType)\n {\n return TriVariable.GetTypeName(contentType);\n }\n\n /**\n * Constant-buffer byte size of a content type, defaulting to this variable's\n * own type.\n */\n @carbon.method\n @impl.implemented\n GetTypeSize(contentType = this.contentType)\n {\n return TriVariable.GetTypeSize(contentType);\n }\n\n /**\n * Maps a script value onto a Carbon content type the way the Python\n * bridge does: integers and booleans register as INT (Python bools are\n * ints), other numbers as FLOAT, arrays by length, texture-provider\n * shapes as TEXTURE_RES. Unknown values map to INVALID, which\n * RegisterVariable treats as unsupported (GPU-buffer duck detection has\n * no reliable JS shape yet and is left to the realization layer).\n */\n static getVariableType(value)\n {\n if (typeof value === \"boolean\")\n {\n return TriVariableContentType.TRIVARIABLE_INT;\n }\n if (typeof value === \"number\")\n {\n return Number.isInteger(value)\n ? TriVariableContentType.TRIVARIABLE_INT\n : TriVariableContentType.TRIVARIABLE_FLOAT;\n }\n if (value && typeof value.length === \"number\")\n {\n switch (value.length)\n {\n case 2: return TriVariableContentType.TRIVARIABLE_FLOAT2;\n case 3: return TriVariableContentType.TRIVARIABLE_FLOAT3;\n case 4: return TriVariableContentType.TRIVARIABLE_FLOAT4;\n case 16: return TriVariableContentType.TRIVARIABLE_FLOAT4X4;\n }\n return TriVariableContentType.TRIVARIABLE_INVALID;\n }\n if (value && typeof value === \"object\")\n {\n if (typeof value.GetTexture === \"function\" || typeof value.RequestResolution === \"function\")\n {\n return TriVariableContentType.TRIVARIABLE_TEXTURE_RES;\n }\n }\n return TriVariableContentType.TRIVARIABLE_INVALID;\n }\n\n /**\n * Copies the value into an effect constant destination.\n *\n * Clamped to the destination length, the source length, and `size` BYTES at\n * four bytes per float - `size` is a byte budget, not a component count. A\n * scalar writes one component.\n *\n * Lives here because an effect binds a VARIABLE and then copies from it, so\n * the variable has to be able to answer. It used to live only on a parallel\n * store's own variable class, which is why binding could not use Carbon's.\n *\n * @param {*} _inputType Accepted and ignored, matching the parameter shape.\n * @param {ArrayLike} destination Constant destination.\n * @param {number} [size] Byte budget in the destination.\n * @returns {boolean} Whether anything was written.\n */\n CopyValueToEffect(_inputType, destination, size = Number.POSITIVE_INFINITY)\n {\n if (!destination || typeof destination.length !== \"number\") return false;\n\n const source = this.GetValue();\n\n if (typeof source === \"number\")\n {\n destination[0] = source;\n return true;\n }\n\n if (!source || typeof source.length !== \"number\") return false;\n\n const byteLimit = Number.isFinite(size) ? Math.max(0, size) : Infinity;\n const count = Math.min(destination.length, source.length, Math.floor(byteLimit / 4));\n\n for (let i = 0; i < count; i++) destination[i] = source[i];\n\n return count > 0;\n }\n\n /**\n * Carbon's display name for a content type; an unrecognised type falls back to\n * the INVALID label.\n */\n static GetTypeName(contentType)\n {\n return TriVariable.#typeNames[contentType] ?? TriVariable.#typeNames[0];\n }\n\n /**\n * Byte size a variable of the given content type occupies in a constant\n * buffer. INVALID and UNKNOWN_FLOAT may be converted to another type, so\n * they must register as the largest type. Texture and GPU-buffer slots are\n * pointer-sized in Carbon; the JS reference slot keeps the same 8 bytes so\n * shared-buffer offset math stays aligned with Carbon's.\n */\n static GetTypeSize(contentType)\n {\n return TriVariable.#typeSizes[contentType] ?? 0;\n }\n\n static #typeNames = Object.freeze([\n \"INVALID TYPE!\",\n \"TRIVARIABLE_UNKNOWN_FLOAT\",\n \"TRIVARIABLE_TEXTURE_RES\",\n \"TRIVARIABLE_INT\",\n \"TRIVARIABLE_FLOAT\",\n \"TRIVARIABLE_FLOAT2\",\n \"TRIVARIABLE_FLOAT3\",\n \"TRIVARIABLE_FLOAT4\",\n \"TRIVARIABLE_FLOAT4X4\",\n \"TRIVARIABLE_COLOR\",\n \"TRIVARIABLE_GPUBUFFER\"\n ]);\n\n static #typeSizes = Object.freeze([\n 4 * 16,\n 4 * 16,\n 8,\n 4,\n 4,\n 4 * 2,\n 4 * 3,\n 4 * 4,\n 4 * 16,\n 4 * 4,\n 8\n ]);\n\n static ContentType = TriVariableContentType;\n}\n"],"names":["_TriVariable","_identity","TriVariable","CjsModel","e","_init_name","_init_extra_name","_init_contentType","_init_extra_contentType","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","string","int32","carbon","method","impl","implemented","adapted","name","contentType","TriVariableContentType","TRIVARIABLE_INVALID","value","GetName","GetType","SetValue","GetValue","out","undefined","length","count","Math","min","index","Invalidate","Clear","fill","CopyToResourceSet","resourceDesc","stage","registerIndex","flags","TRIVARIABLE_TEXTURE_RES","colorSpace","ResourceFlags","RESOURCE_FLAG_SRGB","Tr2ColorSpace","COLOR_SPACE_SRGB","COLOR_SPACE_LINEAR","SetSrv","TRIVARIABLE_GPUBUFFER","ApplyUav","SetUav","#Texture","provider","GetTexture","#GpuBuffer","GetGpuBuffer","GetTypeName","GetTypeSize","getVariableType","TRIVARIABLE_INT","Number","isInteger","TRIVARIABLE_FLOAT","TRIVARIABLE_FLOAT2","TRIVARIABLE_FLOAT3","TRIVARIABLE_FLOAT4","TRIVARIABLE_FLOAT4X4","RequestResolution","CopyValueToEffect","_inputType","destination","size","POSITIVE_INFINITY","source","byteLimit","isFinite","max","Infinity","floor","i","Object","freeze","ContentType","constructor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TriVariable.js","sources":["../../../../../src/trinity/core/variable/TriVariable.js"],"sourcesContent":["// Source: trinity/trinity/TriVariable.h\r\n// Source: trinity/trinity/TriVariable.cpp\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { Tr2ColorSpace } from \"#consts/render-context\";\r\nimport { ResourceFlags } from \"../../shader/parameter/ITr2EffectValue.js\";\r\nimport { TriVariableContentType } from \"../../generated/trinityCore/enums.js\";\r\n\r\n\r\n/**\r\n * One named shader-binding variable: the content type fixed when it was\r\n * registered, plus the value payload standing in for Carbon's typed union.\r\n */\r\n@type.define({\r\n className: \"TriVariable\",\r\n family: \"trinityCore\"\r\n})\r\nexport class TriVariable extends CjsModel\r\n{\r\n @io.read\r\n @type.string\r\n name = \"\";\r\n\r\n /** m_type (TriVariableContentType). */\r\n @io.read\r\n @type.int32\r\n contentType = TriVariableContentType.TRIVARIABLE_INVALID;\r\n\r\n /** Runtime value payload; the typed C++ union collapses to one slot. */\r\n value = null;\r\n\r\n /** The registered variable name, which the store also uses as its key. */\r\n @carbon.method\r\n @impl.implemented\r\n GetName()\r\n {\r\n return this.name;\r\n }\r\n\r\n /** The TriVariableContentType fixed at registration; SetValue never changes it. */\r\n @carbon.method\r\n @impl.implemented\r\n GetType()\r\n {\r\n return this.contentType;\r\n }\r\n\r\n /**\r\n * Assigns the value payload. The content type stays as registered; Carbon\r\n * fixes it at registration time and SetValue only stores.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetValue(value)\r\n {\r\n this.value = value;\r\n return true;\r\n }\r\n\r\n /**\r\n * Reads the payload; when out is array-like and so is the payload, the\r\n * overlapping components are copied into out and out is returned, otherwise\r\n * the stored payload itself is returned and is not a copy.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetValue(out = undefined)\r\n {\r\n const value = this.value;\r\n if (out && value && typeof value.length === \"number\" && typeof out.length === \"number\")\r\n {\r\n const count = Math.min(out.length, value.length);\r\n for (let index = 0; index < count; index++)\r\n {\r\n out[index] = value[index];\r\n }\r\n return out;\r\n }\r\n return value;\r\n }\r\n\r\n /**\r\n * Clears the payload and returns the variable to the reserved INVALID\r\n * type, releasing texture/buffer references as Carbon's Clear does.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Invalidate()\r\n {\r\n this.value = null;\r\n this.contentType = TriVariableContentType.TRIVARIABLE_INVALID;\r\n }\r\n\r\n /**\r\n * Clears the value but leaves the type alone, so a new SetValue will\r\n * still work. Carbon zeroes the union slot and drops texture/buffer\r\n * references; the JS payload slot zero-fills arrays and nulls references.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Clear()\r\n {\r\n const value = this.value;\r\n if (value && typeof value.length === \"number\" && typeof value.fill === \"function\")\r\n {\r\n value.fill(0);\r\n }\r\n else if (typeof value === \"number\")\r\n {\r\n this.value = 0;\r\n }\r\n else\r\n {\r\n this.value = null;\r\n }\r\n }\r\n\r\n /**\r\n * Binds this variable's resource into a resource-set description.\r\n *\r\n * Carbon `TriVariable::CopyToResourceSet` (`TriVariable.cpp:25-67`), which\r\n * switches on the content type and answers false for everything that is not\r\n * a resource — a float or a matrix is a CONSTANT and reaches a shader\r\n * through `CopyValueToEffect`, not through a resource set.\r\n *\r\n * A PROVIDER THAT HAS NOT RESOLVED STILL BINDS, as an empty slot rather than\r\n * a skipped one. That is Carbon's, and it matters: leaving the register\r\n * untouched would let a draw read whatever the previous one bound there.\r\n *\r\n * @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.\r\n * @param {number} stage A `ShaderType`.\r\n * @param {number} registerIndex The register.\r\n * @param {number} [flags] A `ResourceFlags` word; bit 0 is sRGB.\r\n * @returns {boolean} Whether the slot took the binding.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n CopyToResourceSet(resourceDesc, stage, registerIndex, flags = 0)\r\n {\r\n if (this.contentType === TriVariableContentType.TRIVARIABLE_TEXTURE_RES)\r\n {\r\n const colorSpace = (flags & ResourceFlags.RESOURCE_FLAG_SRGB)\r\n ? Tr2ColorSpace.COLOR_SPACE_SRGB\r\n : Tr2ColorSpace.COLOR_SPACE_LINEAR;\r\n\r\n return resourceDesc.SetSrv(stage, registerIndex, this.#Texture(), colorSpace);\r\n }\r\n\r\n if (this.contentType === TriVariableContentType.TRIVARIABLE_GPUBUFFER)\r\n {\r\n return resourceDesc.SetSrv(stage, registerIndex, this.#GpuBuffer(), 0, 1);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * Binds this variable's resource as an unordered-access view.\r\n *\r\n * Carbon `TriVariable::ApplyUav` (`TriVariable.cpp:69+`). Same switch, no\r\n * colour space — a UAV is written rather than sampled.\r\n *\r\n * @param {object} resourceDesc A `Tr2ResourceSetDescriptionAL`.\r\n * @param {number} stage A `ShaderType`.\r\n * @param {number} registerIndex The register.\r\n * @returns {boolean} Whether the slot took the binding.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n ApplyUav(resourceDesc, stage, registerIndex)\r\n {\r\n if (this.contentType === TriVariableContentType.TRIVARIABLE_TEXTURE_RES)\r\n {\r\n return resourceDesc.SetUav(stage, registerIndex, this.#Texture());\r\n }\r\n\r\n if (this.contentType === TriVariableContentType.TRIVARIABLE_GPUBUFFER)\r\n {\r\n return resourceDesc.SetUav(stage, registerIndex, this.#GpuBuffer(), 0, 1);\r\n }\r\n\r\n return false;\r\n }\r\n\r\n /** The provider's texture, or null when it has not resolved one. */\r\n #Texture()\r\n {\r\n const provider = this.value;\r\n\r\n return typeof provider?.GetTexture === \"function\" ? provider.GetTexture() : null;\r\n }\r\n\r\n /** The provider's first buffer, which is the index Carbon passes. */\r\n #GpuBuffer()\r\n {\r\n const provider = this.value;\r\n\r\n return typeof provider?.GetGpuBuffer === \"function\" ? provider.GetGpuBuffer(0) : null;\r\n }\r\n\r\n /**\r\n * Carbon's display name for a content type, defaulting to this variable's own\r\n * type.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTypeName(contentType = this.contentType)\r\n {\r\n return TriVariable.GetTypeName(contentType);\r\n }\r\n\r\n /**\r\n * Constant-buffer byte size of a content type, defaulting to this variable's\r\n * own type.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetTypeSize(contentType = this.contentType)\r\n {\r\n return TriVariable.GetTypeSize(contentType);\r\n }\r\n\r\n /**\r\n * Maps a script value onto a Carbon content type the way the Python\r\n * bridge does: integers and booleans register as INT (Python bools are\r\n * ints), other numbers as FLOAT, arrays by length, texture-provider\r\n * shapes as TEXTURE_RES. Unknown values map to INVALID, which\r\n * RegisterVariable treats as unsupported (GPU-buffer duck detection has\r\n * no reliable JS shape yet and is left to the realization layer).\r\n */\r\n static getVariableType(value)\r\n {\r\n if (typeof value === \"boolean\")\r\n {\r\n return TriVariableContentType.TRIVARIABLE_INT;\r\n }\r\n if (typeof value === \"number\")\r\n {\r\n return Number.isInteger(value)\r\n ? TriVariableContentType.TRIVARIABLE_INT\r\n : TriVariableContentType.TRIVARIABLE_FLOAT;\r\n }\r\n if (value && typeof value.length === \"number\")\r\n {\r\n switch (value.length)\r\n {\r\n case 2: return TriVariableContentType.TRIVARIABLE_FLOAT2;\r\n case 3: return TriVariableContentType.TRIVARIABLE_FLOAT3;\r\n case 4: return TriVariableContentType.TRIVARIABLE_FLOAT4;\r\n case 16: return TriVariableContentType.TRIVARIABLE_FLOAT4X4;\r\n }\r\n return TriVariableContentType.TRIVARIABLE_INVALID;\r\n }\r\n if (value && typeof value === \"object\")\r\n {\r\n if (typeof value.GetTexture === \"function\" || typeof value.RequestResolution === \"function\")\r\n {\r\n return TriVariableContentType.TRIVARIABLE_TEXTURE_RES;\r\n }\r\n }\r\n return TriVariableContentType.TRIVARIABLE_INVALID;\r\n }\r\n\r\n /**\r\n * Copies the value into an effect constant destination.\r\n *\r\n * Clamped to the destination length, the source length, and `size` BYTES at\r\n * four bytes per float - `size` is a byte budget, not a component count. A\r\n * scalar writes one component.\r\n *\r\n * Lives here because an effect binds a VARIABLE and then copies from it, so\r\n * the variable has to be able to answer. It used to live only on a parallel\r\n * store's own variable class, which is why binding could not use Carbon's.\r\n *\r\n * @param {*} _inputType Accepted and ignored, matching the parameter shape.\r\n * @param {ArrayLike} destination Constant destination.\r\n * @param {number} [size] Byte budget in the destination.\r\n * @returns {boolean} Whether anything was written.\r\n */\r\n CopyValueToEffect(_inputType, destination, size = Number.POSITIVE_INFINITY)\r\n {\r\n if (!destination || typeof destination.length !== \"number\") return false;\r\n\r\n const source = this.GetValue();\r\n\r\n if (typeof source === \"number\")\r\n {\r\n destination[0] = source;\r\n return true;\r\n }\r\n\r\n if (!source || typeof source.length !== \"number\") return false;\r\n\r\n const byteLimit = Number.isFinite(size) ? Math.max(0, size) : Infinity;\r\n const count = Math.min(destination.length, source.length, Math.floor(byteLimit / 4));\r\n\r\n for (let i = 0; i < count; i++) destination[i] = source[i];\r\n\r\n return count > 0;\r\n }\r\n\r\n /**\r\n * Carbon's display name for a content type; an unrecognised type falls back to\r\n * the INVALID label.\r\n */\r\n static GetTypeName(contentType)\r\n {\r\n return TriVariable.#typeNames[contentType] ?? TriVariable.#typeNames[0];\r\n }\r\n\r\n /**\r\n * Byte size a variable of the given content type occupies in a constant\r\n * buffer. INVALID and UNKNOWN_FLOAT may be converted to another type, so\r\n * they must register as the largest type. Texture and GPU-buffer slots are\r\n * pointer-sized in Carbon; the JS reference slot keeps the same 8 bytes so\r\n * shared-buffer offset math stays aligned with Carbon's.\r\n */\r\n static GetTypeSize(contentType)\r\n {\r\n return TriVariable.#typeSizes[contentType] ?? 0;\r\n }\r\n\r\n static #typeNames = Object.freeze([\r\n \"INVALID TYPE!\",\r\n \"TRIVARIABLE_UNKNOWN_FLOAT\",\r\n \"TRIVARIABLE_TEXTURE_RES\",\r\n \"TRIVARIABLE_INT\",\r\n \"TRIVARIABLE_FLOAT\",\r\n \"TRIVARIABLE_FLOAT2\",\r\n \"TRIVARIABLE_FLOAT3\",\r\n \"TRIVARIABLE_FLOAT4\",\r\n \"TRIVARIABLE_FLOAT4X4\",\r\n \"TRIVARIABLE_COLOR\",\r\n \"TRIVARIABLE_GPUBUFFER\"\r\n ]);\r\n\r\n static #typeSizes = Object.freeze([\r\n 4 * 16,\r\n 4 * 16,\r\n 8,\r\n 4,\r\n 4,\r\n 4 * 2,\r\n 4 * 3,\r\n 4 * 4,\r\n 4 * 16,\r\n 4 * 4,\r\n 8\r\n ]);\r\n\r\n static ContentType = TriVariableContentType;\r\n}\r\n"],"names":["_TriVariable","_identity","TriVariable","CjsModel","e","_init_name","_init_extra_name","_init_contentType","_init_extra_contentType","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","string","int32","carbon","method","impl","implemented","adapted","name","contentType","TriVariableContentType","TRIVARIABLE_INVALID","value","GetName","GetType","SetValue","GetValue","out","undefined","length","count","Math","min","index","Invalidate","Clear","fill","CopyToResourceSet","resourceDesc","stage","registerIndex","flags","TRIVARIABLE_TEXTURE_RES","colorSpace","ResourceFlags","RESOURCE_FLAG_SRGB","Tr2ColorSpace","COLOR_SPACE_SRGB","COLOR_SPACE_LINEAR","SetSrv","TRIVARIABLE_GPUBUFFER","ApplyUav","SetUav","#Texture","provider","GetTexture","#GpuBuffer","GetGpuBuffer","GetTypeName","GetTypeSize","getVariableType","TRIVARIABLE_INT","Number","isInteger","TRIVARIABLE_FLOAT","TRIVARIABLE_FLOAT2","TRIVARIABLE_FLOAT3","TRIVARIABLE_FLOAT4","TRIVARIABLE_FLOAT4X4","RequestResolution","CopyValueToEffect","_inputType","destination","size","POSITIVE_INFINITY","source","byteLimit","isFinite","max","Infinity","floor","i","Object","freeze","ContentType","constructor"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Tr2VertexDefinitionItem } from './Tr2VertexDefinitionItem.js';
|
|
2
|
+
import { Tr2VertexUsageCode } from '../usageCode.js';
|
|
2
3
|
|
|
3
4
|
// Source: trinity/trinityal/Tr2VertexDefinition.h:14-207 (the definition and its items)
|
|
4
5
|
// trinity/trinityal/Tr2VertexDefinition.cpp:25-42 (item and definition equality)
|
|
@@ -10,22 +11,7 @@ import { Tr2VertexUsageCode } from './usageCode.js';
|
|
|
10
11
|
// parked under this class's name until 2026-09-06, before it had its real
|
|
11
12
|
// Carbon surface.
|
|
12
13
|
|
|
13
|
-
/**
|
|
14
|
-
* One vertex element (Carbon Tr2VertexDefinition::Item, h:123-141).
|
|
15
|
-
*
|
|
16
|
-
* Carbon's usage and data type are bit-coded enums; the runtime's element
|
|
17
|
-
* vocabulary is the string names throughout (payload readers, the quad
|
|
18
|
-
* renderer, the AL's binding-plan matcher), so the item carries the names
|
|
19
|
-
* and the byte arithmetic derives from them.
|
|
20
|
-
*/
|
|
21
|
-
class Tr2VertexDefinitionItem {
|
|
22
|
-
usage = "POSITION";
|
|
23
|
-
usageIndex = 0;
|
|
24
|
-
type = "FLOAT32_1";
|
|
25
|
-
offset = 0;
|
|
26
|
-
stream = 0;
|
|
27
|
-
instanceStepRate = 0;
|
|
28
|
-
}
|
|
14
|
+
/** A mesh's vertex element list (Carbon trinityal/Tr2VertexDefinition.h). */
|
|
29
15
|
const USAGE_NAMES = Object.keys(Tr2VertexUsageCode);
|
|
30
16
|
const DATA_TYPE_BASE_BYTES = {
|
|
31
17
|
BYTE: 1,
|
|
@@ -39,8 +25,6 @@ const DATA_TYPE_BASE_BYTES = {
|
|
|
39
25
|
FLOAT32: 4,
|
|
40
26
|
UFLOAT32: 4
|
|
41
27
|
};
|
|
42
|
-
|
|
43
|
-
/** A mesh's vertex element list (Carbon trinityal/Tr2VertexDefinition.h). */
|
|
44
28
|
class Tr2VertexDefinition {
|
|
45
29
|
/** Carbon m_items. */
|
|
46
30
|
items = [];
|
|
@@ -155,5 +139,5 @@ class Tr2VertexDefinition {
|
|
|
155
139
|
}
|
|
156
140
|
}
|
|
157
141
|
|
|
158
|
-
export { Tr2VertexDefinition
|
|
142
|
+
export { Tr2VertexDefinition };
|
|
159
143
|
//# sourceMappingURL=Tr2VertexDefinition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tr2VertexDefinition.js","sources":["../../../../../../src/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js"],"sourcesContent":["// Source: trinity/trinityal/Tr2VertexDefinition.h:14-207 (the definition and its items)\n// trinity/trinityal/Tr2VertexDefinition.cpp:25-42 (item and definition equality)\n//\n// This class is the definition and NOTHING ELSE: items, the per-stream offset\n// ledger, Add/Find/empty, and its own equality. The intern table lives on\n// Tr2EffectStateManager (Carbon s_vertexLayoutMap) and the shader-input match\n// lives in the vertex-layout AL (trinityal/vertexLayoutMatch.js) - both were\n// parked under this class's name until 2026-09-06, before it had its real\n// Carbon surface.\nimport { Tr2VertexDefinitionItem } from \"./Tr2VertexDefinitionItem.js\";\nimport { Tr2VertexUsageCode } from \"../usageCode.js\";\n\n\n/** A mesh's vertex element list (Carbon trinityal/Tr2VertexDefinition.h). */\nconst USAGE_NAMES = Object.keys(Tr2VertexUsageCode);\n\nconst DATA_TYPE_BASE_BYTES = {\n BYTE: 1, UBYTE: 1,\n SHORT: 2, USHORT: 2,\n INT32: 4, UINT32: 4,\n FLOAT16: 2, UFLOAT16: 2,\n FLOAT32: 4, UFLOAT32: 4\n};\n\n\nexport class Tr2VertexDefinition\n{\n /** Carbon m_items. */\n items = [];\n\n /** Carbon m_nextOffset[OFFSET_COUNT] (h:153-159): per-stream offset ledger. */\n nextOffset = [ 0, 0, 0, 0 ];\n\n /** Carbon empty() (h:145-148). */\n empty()\n {\n return this.items.length === 0;\n }\n\n /**\n * Carbon Add (h:174-181): append an item at the stream's current offset\n * and advance the ledger by the type's byte size. `stepRate` is \"almost\n * always a bool that indicates if the added item is coming from instanced\n * data\" - Carbon's own words.\n *\n * @param {string} type Data type name, e.g. \"FLOAT32_3\", \"UBYTE_4_NORM\".\n * @param {string|number} usage Usage name or Tr2VertexUsageCode ordinal.\n * @param {number} [usageIndex]\n * @param {number} [stream]\n * @param {number} [stepRate]\n * @returns {Tr2VertexDefinitionItem} The item just added.\n */\n Add(type, usage, usageIndex = 0, stream = 0, stepRate = 0)\n {\n const item = new Tr2VertexDefinitionItem();\n item.usage = typeof usage === \"number\" ? USAGE_NAMES[usage] : String(usage);\n item.usageIndex = usageIndex;\n item.type = String(type);\n item.offset = this.nextOffset[stream] ?? 0;\n item.stream = stream;\n item.instanceStepRate = stepRate;\n this.nextOffset[stream] = item.offset + Tr2VertexDefinition.getDataTypeSizeInBytes(item.type);\n this.items.push(item);\n return item;\n }\n\n /**\n * Carbon Find (h:169-172): the first item with the usage, and optionally\n * the usage index; null when absent.\n */\n Find(usage, usageIndex = null)\n {\n const name = typeof usage === \"number\" ? USAGE_NAMES[usage] : String(usage);\n for (const item of this.items)\n {\n if (item.usage === name && (usageIndex === null || item.usageIndex === usageIndex))\n {\n return item;\n }\n }\n return null;\n }\n\n /** Carbon GetDataTypeSizeInMembers (h:183-186), from the type NAME. */\n static getDataTypeSizeInMembers(type)\n {\n const match = /_([1-4])(?:_NORM)?$/.exec(String(type));\n return match ? Number(match[1]) : 0;\n }\n\n /** Carbon GetDataTypeSizeInBytes (h:188-205), from the type NAME. */\n static getDataTypeSizeInBytes(type)\n {\n const base = DATA_TYPE_BASE_BYTES[String(type).split(\"_\")[0]];\n return base ? base * Tr2VertexDefinition.getDataTypeSizeInMembers(type) : 0;\n }\n\n // Carbon Tr2VertexDefinition::UsageCode (Tr2VertexDefinition.h:17-30). Note\n // BLENDINDICES=6 before BLENDWEIGHTS=7; ccpwgl's GLES-v8 lineage has them\n // transposed and translates at its reader boundary.\n\n /** Carbon's vertex-usage vocabulary, in its declared order. */\n static UsageCode = Tr2VertexUsageCode;\n\n /** Carbon's nested Item class (h:123-141), reachable as Carbon spells it:\n * Tr2VertexDefinition::Item. JS cannot nest the declaration, so the class\n * is declared at module scope and aliased here. */\n static Item = Tr2VertexDefinitionItem;\n\n // Carbon's definition equality is the definition's OWN operator==\n // (Tr2VertexDefinition.cpp:35-42): all four ledger slots AND every item,\n // item equality being all six fields (cpp:25-33). Two meshes sharing\n // semantics but differing in offset or stream need different input layouts,\n // so this is deliberately stricter than the AL's shader-input match, which\n // compares usage and usageIndex only.\n\n /**\n * Whether two definitions are the same declaration, field for field.\n *\n * Accepts a Tr2VertexDefinition or a plain element array on either side;\n * the ledger participates only when both sides carry one, because a plain\n * payload element list has no ledger to compare (Carbon always has both,\n * so comparing what exists is the faithful subset).\n */\n static isSameDefinition(firstDefinition, secondDefinition)\n {\n const first = firstDefinition?.items ?? firstDefinition;\n const second = secondDefinition?.items ?? secondDefinition;\n if (first === second && firstDefinition === secondDefinition) return true;\n if (!first || !second || first.length !== second.length) return false;\n\n const firstLedger = firstDefinition?.nextOffset;\n const secondLedger = secondDefinition?.nextOffset;\n if (firstLedger && secondLedger)\n {\n for (let stream = 0; stream < 4; stream++)\n {\n if (firstLedger[stream] !== secondLedger[stream]) return false;\n }\n }\n\n for (let index = 0; index < first.length; index++)\n {\n const a = first[index];\n const b = second[index];\n\n if (a.usage !== b.usage\n || a.usageIndex !== b.usageIndex\n || a.type !== b.type\n || a.offset !== b.offset\n || (a.stream ?? 0) !== (b.stream ?? 0)\n || (a.instanceStepRate ?? 0) !== (b.instanceStepRate ?? 0))\n {\n return false;\n }\n }\n\n return true;\n }\n}\n"],"names":["USAGE_NAMES","Object","keys","Tr2VertexUsageCode","DATA_TYPE_BASE_BYTES","BYTE","UBYTE","SHORT","USHORT","INT32","UINT32","FLOAT16","UFLOAT16","FLOAT32","UFLOAT32","Tr2VertexDefinition","items","nextOffset","empty","length","Add","type","usage","usageIndex","stream","stepRate","item","Tr2VertexDefinitionItem","String","offset","instanceStepRate","getDataTypeSizeInBytes","push","Find","name","getDataTypeSizeInMembers","match","exec","Number","base","split","UsageCode","Item","isSameDefinition","firstDefinition","secondDefinition","first","second","firstLedger","secondLedger","index","a","b"],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
// Source: trinity/trinityal/Tr2VertexDefinition.h:14-207 (the definition and its items)
|
|
2
|
+
// trinity/trinityal/Tr2VertexDefinition.cpp:25-42 (item and definition equality)
|
|
3
|
+
//
|
|
4
|
+
// This class is the definition and NOTHING ELSE: items, the per-stream offset
|
|
5
|
+
// ledger, Add/Find/empty, and its own equality. The intern table lives on
|
|
6
|
+
// Tr2EffectStateManager (Carbon s_vertexLayoutMap) and the shader-input match
|
|
7
|
+
// lives in the vertex-layout AL (trinityal/vertexLayoutMatch.js) - both were
|
|
8
|
+
// parked under this class's name until 2026-09-06, before it had its real
|
|
9
|
+
// Carbon surface.
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* One vertex element (Carbon Tr2VertexDefinition::Item, h:123-141).
|
|
13
|
+
*
|
|
14
|
+
* Carbon's usage and data type are bit-coded enums; the runtime's element
|
|
15
|
+
* vocabulary is the string names throughout (payload readers, the quad
|
|
16
|
+
* renderer, the AL's binding-plan matcher), so the item carries the names
|
|
17
|
+
* and the byte arithmetic derives from them.
|
|
18
|
+
*/
|
|
19
|
+
class Tr2VertexDefinitionItem {
|
|
20
|
+
usage = "POSITION";
|
|
21
|
+
usageIndex = 0;
|
|
22
|
+
type = "FLOAT32_1";
|
|
23
|
+
offset = 0;
|
|
24
|
+
stream = 0;
|
|
25
|
+
instanceStepRate = 0;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export { Tr2VertexDefinitionItem };
|
|
29
|
+
//# sourceMappingURL=Tr2VertexDefinitionItem.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tr2VertexDefinitionItem.js","sources":["../../../../../../src/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js"],"sourcesContent":["// Source: trinity/trinityal/Tr2VertexDefinition.h:14-207 (the definition and its items)\n// trinity/trinityal/Tr2VertexDefinition.cpp:25-42 (item and definition equality)\n//\n// This class is the definition and NOTHING ELSE: items, the per-stream offset\n// ledger, Add/Find/empty, and its own equality. The intern table lives on\n// Tr2EffectStateManager (Carbon s_vertexLayoutMap) and the shader-input match\n// lives in the vertex-layout AL (trinityal/vertexLayoutMatch.js) - both were\n// parked under this class's name until 2026-09-06, before it had its real\n// Carbon surface.\n\n\n/**\n * One vertex element (Carbon Tr2VertexDefinition::Item, h:123-141).\n *\n * Carbon's usage and data type are bit-coded enums; the runtime's element\n * vocabulary is the string names throughout (payload readers, the quad\n * renderer, the AL's binding-plan matcher), so the item carries the names\n * and the byte arithmetic derives from them.\n */\nexport class Tr2VertexDefinitionItem\n{\n usage = \"POSITION\";\n\n usageIndex = 0;\n\n type = \"FLOAT32_1\";\n\n offset = 0;\n\n stream = 0;\n\n instanceStepRate = 0;\n}\n\n\n"],"names":["Tr2VertexDefinitionItem","usage","usageIndex","type","offset","stream","instanceStepRate"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,uBAAuB,CACpC;AACIC,EAAAA,KAAK,GAAG,UAAU;AAElBC,EAAAA,UAAU,GAAG,CAAC;AAEdC,EAAAA,IAAI,GAAG,WAAW;AAElBC,EAAAA,MAAM,GAAG,CAAC;AAEVC,EAAAA,MAAM,GAAG,CAAC;AAEVC,EAAAA,gBAAgB,GAAG,CAAC;AACxB;;;;"}
|