@carbonenginejs/runtime 0.1.0-alpha.0 → 0.1.0-alpha.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +58 -125
- package/dist/audio/index.js +8 -1
- package/dist/audio/index.js.map +1 -1
- package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js +84 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionLogCB.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js +14 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecord.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js +26 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordExecuteActionOnPlayingID.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js +27 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordPostEvent.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js +27 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetRTPC.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js +25 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetState.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js +26 -0
- package/dist/audio/trinity/audio/AudActionLog/AudActionRecordSetSwitch.js.map +1 -0
- package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js +58 -0
- package/dist/audio/trinity/audio/AudActionLog/IAudActionLog.js.map +1 -0
- package/dist/audio/trinity/audio/AudManager.js +1 -1
- package/dist/audio/trinity/audio/AudManager.js.map +1 -1
- package/dist/audio/trinity/audio/{AudObstructionOcclusion.js → AudObstructionOcclusion/AudObstructionOcclusion.js} +8 -52
- package/dist/audio/trinity/audio/AudObstructionOcclusion/AudObstructionOcclusion.js.map +1 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js +17 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/EmitterState.js.map +1 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js +46 -0
- package/dist/audio/trinity/audio/AudObstructionOcclusion/FadingValue.js.map +1 -0
- package/dist/audio/trinity/index.js +8 -1
- package/dist/audio/trinity/index.js.map +1 -1
- package/dist/character/CjsCharacterAppearanceConstruction.js +5 -0
- package/dist/character/CjsCharacterAppearanceConstruction.js.map +1 -1
- package/dist/character/CjsCharacterAppearanceManager.js +14 -0
- package/dist/character/CjsCharacterAppearanceManager.js.map +1 -1
- package/dist/character/CjsCharacterFoundationConstruction.js +5 -0
- package/dist/character/CjsCharacterFoundationConstruction.js.map +1 -1
- package/dist/character/CjsCharacterTexturePolicy.js +5 -0
- package/dist/character/CjsCharacterTexturePolicy.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesAppearanceAL.js +17 -0
- package/dist/character/gles/CjsCharacterGlesAppearanceAL.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js +2 -0
- package/dist/character/gles/CjsCharacterGlesAtlasRenderer.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js +5 -0
- package/dist/character/gles/CjsCharacterGlesFoundationTranslator.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js +5 -0
- package/dist/character/gles/CjsCharacterGlesLegacyConstructionTranslator.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesMorphDeformation.js +2 -0
- package/dist/character/gles/CjsCharacterGlesMorphDeformation.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js +5 -0
- package/dist/character/gles/CjsCharacterGlesPaletteCompatibility.js.map +1 -1
- package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js +5 -0
- package/dist/character/gles/CjsCharacterGlesTriangleCoverage.js.map +1 -1
- package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js +9 -0
- package/dist/character/webgl2/CjsCharacterWebgl2EffectRouter.js.map +1 -1
- package/dist/global/blue/CjsScriptCallback.js +142 -0
- package/dist/global/blue/CjsScriptCallback.js.map +1 -0
- package/dist/global/blue/index.js +2 -0
- package/dist/global/blue/index.js.map +1 -0
- package/dist/global/consts/renderContext/formats.js +51 -1
- package/dist/global/consts/renderContext/formats.js.map +1 -1
- package/dist/global/consts/renderContext/index.js +2 -2
- package/dist/global/consts/renderContext/renderStates.js +16 -1
- package/dist/global/consts/renderContext/renderStates.js.map +1 -1
- package/dist/global/contracts/index.js +0 -1
- package/dist/global/contracts/index.js.map +1 -1
- package/dist/global/index.js +4 -3
- package/dist/global/index.js.map +1 -1
- package/dist/global/math/index.js +2 -0
- package/dist/global/math/index.js.map +1 -1
- package/dist/global/math/mesh.js +70 -16
- package/dist/global/math/mesh.js.map +1 -1
- package/dist/global/math/noise.js +47 -68
- package/dist/global/math/noise.js.map +1 -1
- package/dist/global/math/pool.js +18 -3
- package/dist/global/math/pool.js.map +1 -1
- package/dist/global/math/random.js +52 -0
- package/dist/global/math/random.js.map +1 -0
- package/dist/global/math/tri3.js +18 -4
- package/dist/global/math/tri3.js.map +1 -1
- package/dist/global/schema/CjsSchema.js +20 -2
- package/dist/global/schema/CjsSchema.js.map +1 -1
- package/dist/global/schema/hydration.js +14 -0
- package/dist/global/schema/hydration.js.map +1 -1
- package/dist/global/utils/bytes.js +22 -4
- package/dist/global/utils/bytes.js.map +1 -1
- package/dist/global/utils/checksum.js +80 -0
- package/dist/global/utils/checksum.js.map +1 -0
- package/dist/global/utils/errors/CjsCancellationError.js +36 -0
- package/dist/global/utils/errors/CjsCancellationError.js.map +1 -0
- package/dist/global/utils/errors/CjsError.js +21 -52
- package/dist/global/utils/errors/CjsError.js.map +1 -1
- package/dist/global/utils/errors/abort.js +1 -1
- package/dist/global/utils/errors/abort.js.map +1 -1
- package/dist/global/utils/errors/index.js +2 -1
- package/dist/global/utils/errors/index.js.map +1 -1
- package/dist/global/utils/index.js +4 -2
- package/dist/global/utils/index.js.map +1 -1
- package/dist/index.js +95 -35
- package/dist/index.js.map +1 -1
- package/dist/input/Tr2MainWindow.js +7 -9
- package/dist/input/Tr2MainWindow.js.map +1 -1
- package/dist/resource/CjsResMan.js +33 -39
- package/dist/resource/CjsResMan.js.map +1 -1
- package/dist/resource/CjsResource.js +19 -5
- package/dist/resource/CjsResource.js.map +1 -1
- package/dist/resource/audio/AudioGeometryResData.js +22 -27
- package/dist/resource/audio/AudioGeometryResData.js.map +1 -1
- package/dist/resource/audio/CjsAudioRes.js +4 -5
- package/dist/resource/audio/CjsAudioRes.js.map +1 -1
- package/dist/resource/format/CjsBitReader.js +263 -0
- package/dist/resource/format/CjsBitReader.js.map +1 -0
- package/dist/resource/format/CjsByteReader.js +130 -125
- package/dist/resource/format/CjsByteReader.js.map +1 -1
- package/dist/resource/format/CjsFormat.js +11 -4
- package/dist/resource/format/CjsFormat.js.map +1 -1
- package/dist/resource/format/CjsFormatError.js +37 -1
- package/dist/resource/format/CjsFormatError.js.map +1 -1
- package/dist/resource/format/CjsResourceProbe.js +41 -37
- package/dist/resource/format/CjsResourceProbe.js.map +1 -1
- package/dist/resource/format/carbonRecordGuard.js +33 -0
- package/dist/resource/format/carbonRecordGuard.js.map +1 -0
- package/dist/resource/format/imageSignatures.js +202 -0
- package/dist/resource/format/imageSignatures.js.map +1 -0
- package/dist/resource/format/index.js +2 -1
- package/dist/resource/format/index.js.map +1 -1
- package/dist/resource/format/jsonPolicies.js +180 -0
- package/dist/resource/format/jsonPolicies.js.map +1 -0
- package/dist/resource/formats/black/core/helpers.js +18 -29
- package/dist/resource/formats/black/core/helpers.js.map +1 -1
- package/dist/resource/formats/bnk/CjsBnkFormat.js +4 -3
- package/dist/resource/formats/bnk/CjsBnkFormat.js.map +1 -1
- package/dist/resource/formats/bnk/core/WwiseCursor.js +218 -0
- package/dist/resource/formats/bnk/core/WwiseCursor.js.map +1 -0
- package/dist/resource/formats/bnk/core/busNodes.js +2 -1
- package/dist/resource/formats/bnk/core/busNodes.js.map +1 -1
- package/dist/resource/formats/bnk/core/effectNodes.js +2 -1
- package/dist/resource/formats/bnk/core/effectNodes.js.map +1 -1
- package/dist/resource/formats/bnk/core/eventAction.js +15 -93
- package/dist/resource/formats/bnk/core/eventAction.js.map +1 -1
- package/dist/resource/formats/bnk/core/globalSettings.js +19 -94
- package/dist/resource/formats/bnk/core/globalSettings.js.map +1 -1
- package/dist/resource/formats/bnk/core/helpers.js +2 -48
- package/dist/resource/formats/bnk/core/helpers.js.map +1 -1
- package/dist/resource/formats/bnk/core/musicNodes.js +42 -134
- package/dist/resource/formats/bnk/core/musicNodes.js.map +1 -1
- package/dist/resource/formats/bnk/core/nodeBase.js +20 -111
- package/dist/resource/formats/bnk/core/nodeBase.js.map +1 -1
- package/dist/resource/formats/bnk/core/sfxNodes.js +2 -1
- package/dist/resource/formats/bnk/core/sfxNodes.js.map +1 -1
- package/dist/resource/formats/cmf/CjsCmfFormat.js +242 -228
- package/dist/resource/formats/cmf/CjsCmfFormat.js.map +1 -1
- package/dist/resource/formats/cmf/core/binary.js +54 -60
- package/dist/resource/formats/cmf/core/binary.js.map +1 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js +5 -3
- package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/resource/formats/dds/core/bc6h.js +16 -18
- package/dist/resource/formats/dds/core/bc6h.js.map +1 -1
- package/dist/resource/formats/dds/core/bc7.js +28 -24
- package/dist/resource/formats/dds/core/bc7.js.map +1 -1
- package/dist/resource/formats/dds/core/helpers.js +7 -133
- package/dist/resource/formats/dds/core/helpers.js.map +1 -1
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js +3 -2
- package/dist/resource/formats/dxbc/CjsDxbcFormat.js.map +1 -1
- package/dist/resource/formats/dxbc/core/helpers.js +4 -32
- package/dist/resource/formats/dxbc/core/helpers.js.map +1 -1
- package/dist/resource/formats/fbx/CjsFbxFormat.js +11 -0
- package/dist/resource/formats/fbx/CjsFbxFormat.js.map +1 -1
- package/dist/resource/formats/fbx/core/helpers.js +18 -12
- package/dist/resource/formats/fbx/core/helpers.js.map +1 -1
- package/dist/resource/formats/flac/CjsFlacFormat.js +4 -9
- package/dist/resource/formats/flac/CjsFlacFormat.js.map +1 -1
- package/dist/resource/formats/flac/core/helpers.js +1 -62
- package/dist/resource/formats/flac/core/helpers.js.map +1 -1
- package/dist/resource/formats/gif/CjsGifFormat.js +4 -9
- package/dist/resource/formats/gif/CjsGifFormat.js.map +1 -1
- package/dist/resource/formats/gif/core/helpers.js +1 -63
- package/dist/resource/formats/gif/core/helpers.js.map +1 -1
- package/dist/resource/formats/gltf/CjsGltfFormat.js +4 -3
- package/dist/resource/formats/gltf/CjsGltfFormat.js.map +1 -1
- package/dist/resource/formats/gltf/core/helpers.js +3 -19
- package/dist/resource/formats/gltf/core/helpers.js.map +1 -1
- package/dist/resource/formats/gr2/CjsGr2Format.js +105 -92
- package/dist/resource/formats/gr2/CjsGr2Format.js.map +1 -1
- package/dist/resource/formats/gr2/core/container.js +1 -10
- package/dist/resource/formats/gr2/core/container.js.map +1 -1
- package/dist/resource/formats/gr2/core/helpers.js +24 -35
- package/dist/resource/formats/gr2/core/helpers.js.map +1 -1
- package/dist/resource/formats/gr2/core/shared.js +193 -189
- package/dist/resource/formats/gr2/core/shared.js.map +1 -1
- package/dist/resource/formats/hlsl/CjsHlslFormat.js +4 -3
- package/dist/resource/formats/hlsl/CjsHlslFormat.js.map +1 -1
- package/dist/resource/formats/hlsl/core/helpers.js +1 -30
- package/dist/resource/formats/hlsl/core/helpers.js.map +1 -1
- package/dist/resource/formats/jpeg/CjsJpegFormat.js +5 -3
- package/dist/resource/formats/jpeg/CjsJpegFormat.js.map +1 -1
- package/dist/resource/formats/jpeg/core/helpers.js +7 -134
- package/dist/resource/formats/jpeg/core/helpers.js.map +1 -1
- package/dist/resource/formats/mp3/CjsMp3Format.js +4 -9
- package/dist/resource/formats/mp3/CjsMp3Format.js.map +1 -1
- package/dist/resource/formats/mp3/core/helpers.js +1 -64
- package/dist/resource/formats/mp3/core/helpers.js.map +1 -1
- package/dist/resource/formats/mp4/CjsMp4Format.js +4 -9
- package/dist/resource/formats/mp4/CjsMp4Format.js.map +1 -1
- package/dist/resource/formats/mp4/core/helpers.js +1 -73
- package/dist/resource/formats/mp4/core/helpers.js.map +1 -1
- package/dist/resource/formats/obj/CjsObjFormat.js +4 -3
- package/dist/resource/formats/obj/CjsObjFormat.js.map +1 -1
- package/dist/resource/formats/obj/core/helpers.js +93 -115
- package/dist/resource/formats/obj/core/helpers.js.map +1 -1
- package/dist/resource/formats/ogg/CjsOggFormat.js +4 -3
- package/dist/resource/formats/ogg/CjsOggFormat.js.map +1 -1
- package/dist/resource/formats/ogg/core/helpers.js +1 -15
- package/dist/resource/formats/ogg/core/helpers.js.map +1 -1
- package/dist/resource/formats/ogg/core/vorbis.js +138 -144
- package/dist/resource/formats/ogg/core/vorbis.js.map +1 -1
- package/dist/resource/formats/pickle/CjsPickleFormat.js +83 -114
- package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
- package/dist/resource/formats/png/CjsPngFormat.js +5 -3
- package/dist/resource/formats/png/CjsPngFormat.js.map +1 -1
- package/dist/resource/formats/png/core/helpers.js +13 -152
- package/dist/resource/formats/png/core/helpers.js.map +1 -1
- package/dist/resource/formats/png/core/writer.js +3 -27
- package/dist/resource/formats/png/core/writer.js.map +1 -1
- package/dist/resource/formats/red/core/helpers.js +19 -29
- package/dist/resource/formats/red/core/helpers.js.map +1 -1
- package/dist/resource/formats/stl/CjsStlFormat.js +158 -147
- package/dist/resource/formats/stl/CjsStlFormat.js.map +1 -1
- package/dist/resource/formats/stl/core/helpers.js +44 -66
- package/dist/resource/formats/stl/core/helpers.js.map +1 -1
- package/dist/resource/formats/tga/CjsTgaFormat.js +5 -3
- package/dist/resource/formats/tga/CjsTgaFormat.js.map +1 -1
- package/dist/resource/formats/tga/core/helpers.js +7 -153
- package/dist/resource/formats/tga/core/helpers.js.map +1 -1
- package/dist/resource/formats/vta/CjsVtaFormat.js +4 -3
- package/dist/resource/formats/vta/CjsVtaFormat.js.map +1 -1
- package/dist/resource/formats/vta/core/helpers.js +1 -17
- package/dist/resource/formats/vta/core/helpers.js.map +1 -1
- package/dist/resource/formats/wav/CjsWavFormat.js +4 -3
- package/dist/resource/formats/wav/CjsWavFormat.js.map +1 -1
- package/dist/resource/formats/wav/core/helpers.js +1 -15
- package/dist/resource/formats/wav/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgl/CjsWebglFormat.js +4 -3
- package/dist/resource/formats/webgl/CjsWebglFormat.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +69 -9
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js +12 -3
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslOperandFormatter.js.map +1 -1
- package/dist/resource/formats/webgl/core/helpers.js +39 -68
- package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js +4 -3
- package/dist/resource/formats/webgpu/CjsWebgpuFormat.js.map +1 -1
- package/dist/resource/formats/webgpu/core/helpers.js +4 -30
- package/dist/resource/formats/webgpu/core/helpers.js.map +1 -1
- package/dist/resource/formats/webm/CjsWebmFormat.js +4 -9
- package/dist/resource/formats/webm/CjsWebmFormat.js.map +1 -1
- package/dist/resource/formats/webm/core/helpers.js +1 -73
- package/dist/resource/formats/webm/core/helpers.js.map +1 -1
- package/dist/resource/formats/webp/CjsWebpFormat.js +4 -9
- package/dist/resource/formats/webp/CjsWebpFormat.js.map +1 -1
- package/dist/resource/formats/webp/core/helpers.js +1 -62
- package/dist/resource/formats/webp/core/helpers.js.map +1 -1
- package/dist/resource/formats/wem/CjsWemFormat.js +4 -3
- package/dist/resource/formats/wem/CjsWemFormat.js.map +1 -1
- package/dist/resource/formats/wem/core/bitStream.js +83 -106
- package/dist/resource/formats/wem/core/bitStream.js.map +1 -1
- package/dist/resource/formats/wem/core/codebookLibrary.js +52 -52
- package/dist/resource/formats/wem/core/codebookLibrary.js.map +1 -1
- package/dist/resource/formats/wem/core/helpers.js +1 -15
- package/dist/resource/formats/wem/core/helpers.js.map +1 -1
- package/dist/resource/formats/wem/core/wemToOgg.js +67 -67
- package/dist/resource/formats/wem/core/wemToOgg.js.map +1 -1
- package/dist/resource/geometry/MeshDecalData.js +23 -25
- package/dist/resource/geometry/MeshDecalData.js.map +1 -1
- package/dist/resource/geometry/MeshDecalLodData.js +14 -23
- package/dist/resource/geometry/MeshDecalLodData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryRes.js +299 -284
- package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResAreaData.js +30 -31
- package/dist/resource/geometry/TriGeometryResAreaData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResJointData.js +16 -24
- package/dist/resource/geometry/TriGeometryResJointData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResLodData.js +50 -41
- package/dist/resource/geometry/TriGeometryResLodData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResMeshData.js +32 -32
- package/dist/resource/geometry/TriGeometryResMeshData.js.map +1 -1
- package/dist/resource/geometry/TriGeometryResSkeletonData.js +14 -23
- package/dist/resource/geometry/TriGeometryResSkeletonData.js.map +1 -1
- package/dist/resource/geometry/TriJointBinding.js +16 -24
- package/dist/resource/geometry/TriJointBinding.js.map +1 -1
- package/dist/resource/geometry/TriMorphTargetGeometryConstants.js +22 -27
- package/dist/resource/geometry/TriMorphTargetGeometryConstants.js.map +1 -1
- package/dist/resource/geometry/TriRtGeometryConstants.js +50 -41
- package/dist/resource/geometry/TriRtGeometryConstants.js.map +1 -1
- package/dist/resource/geometry/granny/GStateBindingCallbackData.js +12 -22
- package/dist/resource/geometry/granny/GStateBindingCallbackData.js.map +1 -1
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +30 -31
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
- package/dist/resource/index.js +1 -1
- package/dist/resource/shader/reflection/Tr2EffectConstant.js +16 -17
- package/dist/resource/shader/reflection/Tr2EffectConstant.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectDescription.js +26 -28
- package/dist/resource/shader/reflection/Tr2EffectDescription.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js +24 -25
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js +21 -22
- package/dist/resource/shader/reflection/Tr2EffectParameterAnnotation.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectResource.js +25 -26
- package/dist/resource/shader/reflection/Tr2EffectResource.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js +69 -72
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js +17 -18
- package/dist/resource/shader/reflection/Tr2EffectTechnique.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +42 -43
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2RenderStateSetup.js +26 -5
- package/dist/resource/shader/reflection/Tr2RenderStateSetup.js.map +1 -1
- package/dist/resource/shader/reflection/carbonRecordFields.js +87 -90
- package/dist/resource/shader/reflection/carbonRecordFields.js.map +1 -1
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js +32 -34
- package/dist/resource/shader/sampler/Tr2SamplerSetup.js.map +1 -1
- package/dist/resource/texture/CjsTextureArrayRes.js +1 -6
- package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
- package/dist/resource/texture/Tr2TextureLodManager.js +35 -27
- package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
- package/dist/resource/texture/Tr2TextureLodUpdateRequest.js +16 -24
- package/dist/resource/texture/Tr2TextureLodUpdateRequest.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePackChannel.js +16 -24
- package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipeline.js +24 -20
- package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineParams.js +14 -23
- package/dist/resource/texture/Tr2TexturePipelineParams.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +18 -25
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js +11 -16
- package/dist/resource/texture/Tr2TexturePipelineStepGenerateMips.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +14 -23
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +12 -22
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js +38 -26
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
- package/dist/resource/worker/CjsResManMainThreadLoader.js +2 -5
- package/dist/resource/worker/CjsResManMainThreadLoader.js.map +1 -1
- package/dist/resource/worker/CjsResManWorkerLoader.js +6 -7
- package/dist/resource/worker/CjsResManWorkerLoader.js.map +1 -1
- package/dist/resource/worker/protocol.js +18 -1
- package/dist/resource/worker/protocol.js.map +1 -1
- package/dist/sof/EveSOF.js +2 -222
- package/dist/sof/EveSOF.js.map +1 -1
- package/dist/sof/SofDocumentBuilder.js +205 -0
- package/dist/sof/SofDocumentBuilder.js.map +1 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js +16 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeNotFound.js.map +1 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js +16 -0
- package/dist/sof/faction/ErrSOFFactionColorSetTypeUnknown.js.map +1 -0
- package/dist/sof/faction/EveSOFDataFactionColorSet.js +3 -27
- package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
- package/dist/sof/faction/index.js +3 -1
- package/dist/sof/faction/index.js.map +1 -1
- package/dist/sof/generic/ErrSOFAreaShaderNotFound.js +18 -0
- package/dist/sof/generic/ErrSOFAreaShaderNotFound.js.map +1 -0
- package/dist/sof/generic/ErrSOFDecalShaderNotFound.js +18 -0
- package/dist/sof/generic/ErrSOFDecalShaderNotFound.js.map +1 -0
- package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js +21 -0
- package/dist/sof/generic/ErrSOFMaterialPrefixNotFound.js.map +1 -0
- package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js +21 -0
- package/dist/sof/generic/ErrSOFPatternMaterialPrefixNotFound.js.map +1 -0
- package/dist/sof/generic/EveSOFDataGeneric.js +5 -69
- package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
- package/dist/sof/generic/index.js +5 -1
- package/dist/sof/generic/index.js.map +1 -1
- package/dist/sof/index.js +23 -7
- package/dist/sof/index.js.map +1 -1
- package/dist/sof/pattern/ErrSOFProjectionNotFound.js +20 -0
- package/dist/sof/pattern/ErrSOFProjectionNotFound.js.map +1 -0
- package/dist/sof/pattern/EveSOFDataPattern.js +2 -17
- package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
- package/dist/sof/pattern/index.js +2 -1
- package/dist/sof/pattern/index.js.map +1 -1
- package/dist/sof/shared/ErrSOFAreaTypeNotFound.js +16 -0
- package/dist/sof/shared/ErrSOFAreaTypeNotFound.js.map +1 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js +16 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeNotFound.js.map +1 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js +16 -0
- package/dist/sof/shared/ErrSOFLogoSetTypeUnknown.js.map +1 -0
- package/dist/sof/shared/EveSOFDataArea.js +2 -13
- package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
- package/dist/sof/shared/EveSOFDataLogoSet.js +3 -27
- package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameter.js +2 -146
- package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterBool.js +40 -0
- package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterColor.js +36 -0
- package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterFloat.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterInt.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterVector2.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -0
- package/dist/sof/shared/EveSOFDataParameterVector3.js +37 -0
- package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -0
- package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js → EveSOFDataSpotLightAttachment.js} +1 -1
- package/dist/sof/shared/{EveSOFDataSpotlightAttachment.js.map → EveSOFDataSpotLightAttachment.js.map} +1 -1
- package/dist/sof/shared/index.js +13 -4
- package/dist/sof/shared/index.js.map +1 -1
- package/dist/sof/sofDocumentValues.js +33 -0
- package/dist/sof/sofDocumentValues.js.map +1 -0
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +168 -0
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -0
- package/dist/trinity/controllers/{ITr2Controller.js → ITr2Controller/ITr2Controller.js} +2 -134
- package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -0
- package/dist/trinity/controllers/Tr2Controller.js +2 -1
- package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
- package/dist/trinity/controllers/Tr2ControllerReference.js +2 -1
- package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/trinity/controllers/action/ITr2ControllerAction.js +2 -1
- package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +10 -9
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js +26 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionCompileError.js.map +1 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js +24 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js.map +1 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js +387 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionParser.js.map +1 -0
- package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js +4 -1011
- package/dist/trinity/controllers/expression/CjsControllerExpressionProgram.js.map +1 -1
- package/dist/trinity/controllers/expression/expressionRuntime.js +605 -0
- package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -0
- package/dist/trinity/controllers/index.js +5 -2
- package/dist/trinity/controllers/index.js.map +1 -1
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +2 -1
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js +2 -1
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
- package/dist/trinity/core/ITr2Updateable.js +2 -1
- package/dist/trinity/core/ITr2Updateable.js.map +1 -1
- package/dist/trinity/core/Tr2Blitter.js +6 -3
- package/dist/trinity/core/Tr2Blitter.js.map +1 -1
- package/dist/trinity/core/Tr2Denoiser.js +256 -0
- package/dist/trinity/core/Tr2Denoiser.js.map +1 -0
- package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js +115 -0
- package/dist/trinity/core/Tr2GpuResourcePool/GpuResourceHandle.js.map +1 -0
- package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js +79 -0
- package/dist/trinity/core/Tr2GpuResourcePool/TextureSize2D.js.map +1 -0
- package/dist/trinity/core/{Tr2GpuResourcePool.js → Tr2GpuResourcePool/Tr2GpuResourcePool.js} +63 -151
- package/dist/trinity/core/Tr2GpuResourcePool/Tr2GpuResourcePool.js.map +1 -0
- package/dist/trinity/core/{Tr2QuadRenderer.js → Tr2QuadRenderer/Tr2QuadRenderer.js} +8 -30
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -0
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +38 -0
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -0
- package/dist/trinity/core/Tr2RenderUtils.js +20 -3
- package/dist/trinity/core/Tr2RenderUtils.js.map +1 -1
- package/dist/trinity/core/Tr2Renderer.js +146 -1
- package/dist/trinity/core/Tr2Renderer.js.map +1 -1
- package/dist/trinity/core/Tr2ShadowMap.js +135 -14
- package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
- package/dist/trinity/core/{Tr2TextureArray.js → Tr2TextureArray/Tr2TextureArray.js} +3 -58
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArray.js.map +1 -0
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js +61 -0
- package/dist/trinity/core/Tr2TextureArray/Tr2TextureArrayElement.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js +26 -0
- package/dist/trinity/core/batch/TriRenderBatch/DefaultKeyGenerator.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js +29 -0
- package/dist/trinity/core/batch/TriRenderBatch/EffectKeyGenerator.js.map +1 -0
- package/dist/trinity/core/batch/{ITriRenderBatchAccumulator.js → TriRenderBatch/ITriRenderBatchAccumulator.js} +30 -30
- package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -0
- package/dist/trinity/core/batch/{Tr2RenderBatch.js → TriRenderBatch/Tr2RenderBatch.js} +81 -154
- package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -0
- package/dist/trinity/core/batch/{TriRenderBatchAccumulator.js → TriRenderBatch/TriRenderBatchAccumulator.js} +7 -38
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAccumulator.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js +61 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlock.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js +40 -0
- package/dist/trinity/core/batch/TriRenderBatch/TriRenderBatchAreaBlocksWithSharedMaterial.js.map +1 -0
- package/dist/trinity/core/batch/TriRenderBatchMap.js +6 -1
- package/dist/trinity/core/batch/TriRenderBatchMap.js.map +1 -1
- package/dist/trinity/core/context/Tr2RenderContext.js +75 -57
- package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js +67 -0
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityEvent.js.map +1 -0
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js +50 -0
- package/dist/trinity/core/context/Tr2VisibilityResults/Tr2VisibilityResults.js.map +1 -0
- package/dist/trinity/core/device/Tr2DepthStencil.js +186 -13
- package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
- package/dist/trinity/core/device/{Tr2RingBuffer.js → Tr2RingBuffer/Tr2RingBuffer.js} +27 -79
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -0
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js +114 -0
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBufferOffsets.js.map +1 -0
- package/dist/trinity/core/device/{Tr2SuballocatedBuffer.js → Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js} +5 -59
- package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBuffer.js.map +1 -0
- package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js +80 -0
- package/dist/trinity/core/device/Tr2SuballocatedBuffer/Tr2SuballocatedBufferAllocation.js.map +1 -0
- package/dist/trinity/core/index.js +42 -15
- package/dist/trinity/core/index.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js +6 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
- package/dist/trinity/core/mesh/{ITr2ImpostorSource.js → ITr2ImpostorSource/ITr2ImpostorSource.js} +6 -28
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -0
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js +32 -0
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSourceImpostorHash.js.map +1 -0
- package/dist/trinity/core/mesh/{ITr2InstanceData.js → ITr2InstanceData/ITr2InstanceData.js} +5 -29
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -0
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js +33 -0
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceDataInstanceData.js.map +1 -0
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +2 -1
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2MeshBase.js +7 -1
- package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +2 -1
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/TriGeometryResAllocations.js +6 -2
- package/dist/trinity/core/mesh/TriGeometryResAllocations.js.map +1 -1
- package/dist/trinity/core/rawData/CjsConstantLayout.js +196 -0
- package/dist/trinity/core/rawData/CjsConstantLayout.js.map +1 -0
- package/dist/trinity/core/rawData/CjsPerFrameLayouts.js +8 -3
- package/dist/trinity/core/rawData/CjsPerFrameLayouts.js.map +1 -1
- package/dist/trinity/core/rawData/CjsPerObjectLayouts.js +40 -732
- package/dist/trinity/core/rawData/CjsPerObjectLayouts.js.map +1 -1
- package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js +34 -0
- package/dist/trinity/core/rawData/layouts/CjsEveBasicLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js +69 -0
- package/dist/trinity/core/rawData/layouts/CjsEveBoosterSetLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js +59 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBoosterSetLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js +37 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildBulletStormLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js +44 -0
- package/dist/trinity/core/rawData/layouts/CjsEveChildSpherePinLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js +31 -0
- package/dist/trinity/core/rawData/layouts/CjsEveLensflareLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js +29 -0
- package/dist/trinity/core/rawData/layouts/CjsEveMissileWarheadLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js +39 -0
- package/dist/trinity/core/rawData/layouts/CjsEvePerObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js +30 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSceneStaticParticlesLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js +78 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectDecalLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js +169 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpaceObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js +107 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpacePerObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js +44 -0
- package/dist/trinity/core/rawData/layouts/CjsEveSpherePinLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js +34 -0
- package/dist/trinity/core/rawData/layouts/CjsEveStretch2Layout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js +82 -0
- package/dist/trinity/core/rawData/layouts/CjsEveTurretSetLayout.js.map +1 -0
- package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js +42 -0
- package/dist/trinity/core/rawData/layouts/CjsTr2PerObjectLayout.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveBasicPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveBoosterSetPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBoosterSetPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildBulletStormPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveChildSpherePinPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveDecalPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveLensflarePerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveMissileWarheadPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveSceneStaticParticlesPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/EveSpherePinPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js +59 -0
- package/dist/trinity/core/rawData/perObjectData/EveTurretSetPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js +55 -0
- package/dist/trinity/core/rawData/perObjectData/StretchPerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/{Tr2PerObjectData.js → perObjectData/Tr2PerObjectData.js} +110 -62
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +104 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +87 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -0
- package/dist/trinity/core/variable/TriVariable.js +83 -83
- package/dist/trinity/core/variable/TriVariable.js.map +1 -1
- package/dist/trinity/core/vertex/{Tr2VertexDefinition.js → Tr2VertexDefinition/Tr2VertexDefinition.js} +4 -20
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -0
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js +29 -0
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinitionItem.js.map +1 -0
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +116 -36
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +50 -92
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/trinity/eve/EveModularObjectModifier.js +9 -5
- package/dist/trinity/eve/EveModularObjectModifier.js.map +1 -1
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js +2 -1
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
- package/dist/trinity/eve/IEveSpaceObject2.js +2 -1
- package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/IEveTransform.js +2 -1
- package/dist/trinity/eve/IEveTransform.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js +2 -2
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +109 -133
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +40 -0
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -0
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
- package/dist/trinity/eve/attachment/decal/DecalMeshCache.js +2 -14
- package/dist/trinity/eve/attachment/decal/DecalMeshCache.js.map +1 -1
- package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js +18 -0
- package/dist/trinity/eve/attachment/decal/DecalMeshCacheMeshBuffers.js.map +1 -0
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +1 -1
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +2 -2
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +4 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +143 -139
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/trinity/eve/camera/EveCamera.js +1 -1
- package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBoosterSet.js +12 -1
- package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
- package/dist/trinity/eve/child/EveChildCloud2.js +178 -151
- package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/trinity/eve/child/EveChildContainer.js +141 -141
- package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +87 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +46 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +35 -0
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -0
- package/dist/trinity/eve/child/{EveChildInstancedMeshes.js → EveChildInstancedMeshes/EveChildInstancedMeshes.js} +42 -163
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -0
- package/dist/trinity/eve/child/EveChildMesh.js +218 -218
- package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +53 -0
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -0
- package/dist/trinity/eve/child/{EveChildPartData.js → EveChildPartData/EveChildPartDataPartData.js} +9 -45
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -0
- package/dist/trinity/eve/child/EveChildParticleSystem.js +30 -29
- package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTransform.js +5 -0
- package/dist/trinity/eve/child/EveChildTransform.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTurret.js +7 -0
- package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
- package/dist/trinity/eve/index.js +10 -4
- package/dist/trinity/eve/index.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2Light.js +5 -0
- package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
- package/dist/trinity/eve/overlays/overlayBatches.js +6 -1
- package/dist/trinity/eve/overlays/overlayBatches.js.map +1 -1
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +4 -4
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js +76 -71
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveShip2.js +3 -3
- package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +408 -407
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/ui/EveTacticalOverlay.js +1 -1
- package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +9 -9
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveLineSet.js +27 -25
- package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +3 -2
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
- package/dist/trinity/generated/index.js +0 -1
- package/dist/trinity/generated/index.js.map +1 -1
- package/dist/trinity/generated/trinityCore/index.js +0 -1
- package/dist/trinity/generated/trinityCore/index.js.map +1 -1
- package/dist/trinity/index.js +59 -23
- package/dist/trinity/index.js.map +1 -1
- package/dist/trinity/particle/{ITr2GenericEmitter.js → ITr2GenericEmitter/ITr2GenericEmitter.js} +4 -32
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -0
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js +36 -0
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js.map +1 -0
- package/dist/trinity/particle/Tr2ParticleSystem.js +4 -2
- package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementData.js +15 -4
- package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +21 -20
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +23 -22
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +14 -13
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
- package/dist/trinity/particle/index.js +2 -1
- package/dist/trinity/particle/index.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +7 -1
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
- package/dist/trinity/shader/Tr2Effect.js +131 -58
- package/dist/trinity/shader/Tr2Effect.js.map +1 -1
- package/dist/trinity/shader/Tr2EffectStateManager.js +17 -5
- package/dist/trinity/shader/Tr2EffectStateManager.js.map +1 -1
- package/dist/trinity/shader/Tr2Material.js +21 -4
- package/dist/trinity/shader/Tr2Material.js.map +1 -1
- package/dist/trinity/shader/material/Tr2EffectPassParameters.js +4 -1
- package/dist/trinity/shader/material/Tr2EffectPassParameters.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +2 -2
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js +79 -0
- package/dist/trinityal/Tr2BufferAL/Tr2BufferDescriptionAL.js.map +1 -0
- package/dist/trinityal/{Tr2DeviceResourceAL.js → Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js} +77 -79
- package/dist/trinityal/Tr2DeviceResourceAL/Tr2BaseDeviceResourceAL.js.map +1 -0
- package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js +24 -0
- package/dist/trinityal/Tr2DeviceResourceAL/Tr2DeviceResourceAL.js.map +1 -0
- package/dist/trinityal/Tr2DrawUPHelper.js +2 -1
- package/dist/trinityal/Tr2DrawUPHelper.js.map +1 -1
- package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js +45 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2MsaaDesc.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js +154 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SamplerDescription.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js +48 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2SubresourceData.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js +75 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureCoordBox.js.map +1 -0
- package/dist/trinityal/{Tr2HalHelperStructures.js → Tr2HalHelperStructures/Tr2TextureSubresource.js} +11 -115
- package/dist/trinityal/Tr2HalHelperStructures/Tr2TextureSubresource.js.map +1 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js +51 -0
- package/dist/trinityal/Tr2HalHelperStructures/Tr2Viewport.js.map +1 -0
- package/dist/trinityal/{Tr2RenderPassAL.js → Tr2RenderPassAL/Tr2ColorAttachment.js} +5 -28
- package/dist/trinityal/Tr2RenderPassAL/Tr2ColorAttachment.js.map +1 -0
- package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js +38 -0
- package/dist/trinityal/Tr2RenderPassAL/Tr2DepthAttachment.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js +80 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2RegisterMapAL.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js +76 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetAL.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js +96 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js +196 -0
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetDescriptionAL.js.map +1 -0
- package/dist/trinityal/index.js +22 -9
- package/dist/trinityal/index.js.map +1 -1
- package/dist/trinityal/stub/Tr2BufferALStub.js +86 -141
- package/dist/trinityal/stub/Tr2BufferALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2CapsALStub.js +17 -0
- package/dist/trinityal/stub/Tr2CapsALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2ConstantBufferALStub.js +57 -41
- package/dist/trinityal/stub/Tr2ConstantBufferALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2FenceALStub.js +18 -2
- package/dist/trinityal/stub/Tr2FenceALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2GpuTimerALStub.js +97 -0
- package/dist/trinityal/stub/Tr2GpuTimerALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js +124 -0
- package/dist/trinityal/stub/Tr2OcclusionQueryALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js +146 -0
- package/dist/trinityal/stub/Tr2PipelineStatsQueryALStub/Tr2PipelineStatsQueryALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js +28 -0
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2BindlessResourcesAL.js.map +1 -0
- package/dist/trinityal/stub/{Tr2RenderContextALStub.js → Tr2RenderContextALStub/Tr2RenderContextALStub.js} +70 -75
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -0
- package/dist/trinityal/stub/Tr2SamplerStateALStub.js +47 -31
- package/dist/trinityal/stub/Tr2SamplerStateALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2ShaderALStub.js +61 -45
- package/dist/trinityal/stub/Tr2ShaderALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2ShaderProgramALStub.js +51 -33
- package/dist/trinityal/stub/Tr2ShaderProgramALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2SwapChainALStub.js +61 -45
- package/dist/trinityal/stub/Tr2SwapChainALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2TextureALStub.js +188 -171
- package/dist/trinityal/stub/Tr2TextureALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2VertexLayoutALStub.js +43 -27
- package/dist/trinityal/stub/Tr2VertexLayoutALStub.js.map +1 -1
- package/dist/trinityal/stub/{Tr2VideoAdapterInfoALStub.js → Tr2VideoAdapterInfoStub.js} +16 -1
- package/dist/trinityal/stub/Tr2VideoAdapterInfoStub.js.map +1 -0
- package/dist/trinityal/stub/index.js +8 -4
- package/dist/trinityal/stub/index.js.map +1 -1
- package/dist/trinityal/vertexLayoutMatch.js +2 -2
- package/dist/trinityal/vertexLayoutMatch.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js +105 -90
- package/dist/trinityal/webgpu/CjsWebgpuBufferAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js +17 -0
- package/dist/trinityal/webgpu/CjsWebgpuCapsAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js +15 -0
- package/dist/trinityal/webgpu/CjsWebgpuConstantBufferAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js +2 -2
- package/dist/trinityal/webgpu/CjsWebgpuDevice.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js +900 -938
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js +56 -60
- package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js +16 -1
- package/dist/trinityal/webgpu/CjsWebgpuSamplerStateAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js +100 -379
- package/dist/trinityal/webgpu/CjsWebgpuShaderAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js +330 -0
- package/dist/trinityal/webgpu/CjsWebgpuShaderProgramAL.js.map +1 -0
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js +15 -0
- package/dist/trinityal/webgpu/CjsWebgpuTextureAL.js.map +1 -1
- package/dist/trinityal/webgpu/core/{constantArena.js → CjsWebgpuConstantArena.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuConstantArena.js.map +1 -0
- package/dist/trinityal/webgpu/core/{batchGroups.js → CjsWebgpuEncodeState.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuEncodeState.js.map +1 -0
- package/dist/trinityal/webgpu/core/{perFrameSource.js → CjsWebgpuPerFrameSource.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuPerFrameSource.js.map +1 -0
- package/dist/trinityal/webgpu/core/{pipelineCache.js → CjsWebgpuPipelineCache.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuPipelineCache.js.map +1 -0
- package/dist/trinityal/webgpu/core/{psoDescription.js → CjsWebgpuPsoDescription.js} +2 -2
- package/dist/trinityal/webgpu/core/CjsWebgpuPsoDescription.js.map +1 -0
- package/dist/trinityal/webgpu/core/{renderTarget.js → CjsWebgpuRenderTarget.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuRenderTarget.js.map +1 -0
- package/dist/trinityal/webgpu/core/{samplerSource.js → CjsWebgpuSamplerSource.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuSamplerSource.js.map +1 -0
- package/dist/trinityal/webgpu/core/{textureSource.js → CjsWebgpuTextureSource.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuTextureSource.js.map +1 -0
- package/dist/trinityal/webgpu/core/{trinityBatchDispatcher.js → CjsWebgpuTrinityBatchDispatcher.js} +4 -4
- package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchDispatcher.js.map +1 -0
- package/dist/trinityal/webgpu/core/{trinityBatchResolver.js → CjsWebgpuTrinityBatchResolver.js} +81 -81
- package/dist/trinityal/webgpu/core/CjsWebgpuTrinityBatchResolver.js.map +1 -0
- package/dist/trinityal/webgpu/core/{trinityPassEncoder.js → CjsWebgpuTrinityPassEncoder.js} +2 -2
- package/dist/trinityal/webgpu/core/CjsWebgpuTrinityPassEncoder.js.map +1 -0
- package/dist/trinityal/webgpu/core/{workQueue.js → CjsWebgpuWorkQueue.js} +1 -1
- package/dist/trinityal/webgpu/core/CjsWebgpuWorkQueue.js.map +1 -0
- package/dist/trinityal/webgpu/internal.js +12 -11
- package/dist/trinityal/webgpu/internal.js.map +1 -1
- package/docs/audio/reference/classes/trinity.md +44 -34
- package/docs/character/architecture.md +276 -0
- package/docs/character/reference/character-appearance-plans.md +30 -66
- package/docs/character/reference/prepared-libraries.md +14 -30
- package/docs/global/reference/api.md +2 -1
- package/docs/global/reference/classes/README.md +53 -71
- package/docs/global/reference/classes/dropped.md +16 -0
- package/docs/resource/README.md +19 -15
- package/docs/resource/architecture.md +9 -2
- package/docs/resource/concepts/format-capabilities.md +124 -80
- package/docs/resource/concepts/shared-format-helpers.md +94 -0
- package/docs/resource/formats/README.md +230 -224
- package/docs/resource/formats/bitknit2.md +221 -0
- package/docs/resource/formats/carbon-effect-container.md +184 -269
- package/docs/resource/formats/gr2.md +6 -1
- package/docs/resource/formats/schemabound.md +28 -48
- package/docs/resource/formats/static.md +70 -97
- package/docs/resource/formats/webgl/carbon-constant-layouts.md +8 -8
- package/docs/resource/formats/webgl/decl-io.md +165 -256
- package/docs/resource/formats/webgl/memory-structured.md +64 -142
- package/docs/resource/formats/webgl/texture-sample.md +109 -138
- package/docs/resource/formats/webgpu/formats/carbon-webgpu.md +38 -69
- package/docs/resource/formats/webgpu/guides/effect-packaging.md +54 -116
- package/docs/resource/formats/webgpu/reference/api.md +64 -67
- package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +158 -345
- package/docs/resource/reference/classes/core.md +256 -236
- package/docs/resource/reference/classes/formats.md +1668 -1672
- package/docs/resource/reference/workers.md +4 -2
- package/docs/sof/reference/classes/core.md +1 -1
- package/docs/sof/reference/classes/faction.md +2 -2
- package/docs/sof/reference/classes/generic.md +4 -4
- package/docs/sof/reference/classes/pattern.md +1 -1
- package/docs/sof/reference/classes/shared.md +10 -10
- package/docs/trinity/architecture.md +55 -44
- package/docs/trinity/concepts/generated-class-lifecycle.md +10 -15
- package/docs/trinity/reference/classes/curves-and-utilities.md +496 -506
- package/docs/trinity/reference/classes/dropped.md +0 -189
- package/docs/trinity/reference/classes/eve-runtime.md +8 -8
- package/docs/trinity/reference/classes/generated.md +0 -10
- package/docs/trinity/reference/classes/particle.md +2 -2
- package/docs/trinity/reference/classes/trinity-core.md +1554 -1256
- package/docs/trinity/reference/implementation-status.md +50 -75
- package/docs/trinity/reference/main-semantic-extraction.md +13 -17
- package/docs/trinityal/reference/classes/README.md +77 -27
- package/docs/trinityal/reference/classes/dropped.md +92 -0
- package/docs/trinityal/webgpu/README.md +3 -1
- package/docs/trinityal/webgpu/architecture.md +121 -228
- package/docs/trinityal/webgpu/reference/api.md +5 -5
- package/docs/trinityal/webgpu/reference/classes/README.md +13 -13
- package/format-notices/gr2/NOTICE +18 -12
- package/format-notices/gr2/THIRD-PARTY-NOTICES.md +5 -5
- package/package.json +4 -1
- package/dist/audio/trinity/audio/AudActionLog.js +0 -173
- package/dist/audio/trinity/audio/AudActionLog.js.map +0 -1
- package/dist/audio/trinity/audio/AudObstructionOcclusion.js.map +0 -1
- package/dist/global/contracts/CjsScriptCallback.js +0 -94
- package/dist/global/contracts/CjsScriptCallback.js.map +0 -1
- package/dist/trinity/controllers/ITr2Controller.js.map +0 -1
- package/dist/trinity/core/Tr2GpuResourcePool.js.map +0 -1
- package/dist/trinity/core/Tr2QuadRenderer.js.map +0 -1
- package/dist/trinity/core/Tr2TextureArray.js.map +0 -1
- package/dist/trinity/core/batch/ITriRenderBatchAccumulator.js.map +0 -1
- package/dist/trinity/core/batch/Tr2RenderBatch.js.map +0 -1
- package/dist/trinity/core/batch/TriRenderBatchAccumulator.js.map +0 -1
- package/dist/trinity/core/context/CjsShadowMapExecutor.js +0 -43
- package/dist/trinity/core/context/CjsShadowMapExecutor.js.map +0 -1
- package/dist/trinity/core/context/CjsVolumetricsExecutor.js +0 -64
- package/dist/trinity/core/context/CjsVolumetricsExecutor.js.map +0 -1
- package/dist/trinity/core/context/Tr2VisibilityResults.js +0 -109
- package/dist/trinity/core/context/Tr2VisibilityResults.js.map +0 -1
- package/dist/trinity/core/device/Tr2RingBuffer.js.map +0 -1
- package/dist/trinity/core/device/Tr2SuballocatedBuffer.js.map +0 -1
- package/dist/trinity/core/mesh/ITr2ImpostorSource.js.map +0 -1
- package/dist/trinity/core/mesh/ITr2InstanceData.js.map +0 -1
- package/dist/trinity/core/rawData/Tr2PerObjectData.js.map +0 -1
- package/dist/trinity/core/rawData/constantLayout.js +0 -175
- package/dist/trinity/core/rawData/constantLayout.js.map +0 -1
- package/dist/trinity/core/vertex/Tr2VertexDefinition.js.map +0 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes.js.map +0 -1
- package/dist/trinity/eve/child/EveChildPartData.js.map +0 -1
- package/dist/trinity/generated/trinityCore/Tr2Denoiser.js +0 -47
- package/dist/trinity/generated/trinityCore/Tr2Denoiser.js.map +0 -1
- package/dist/trinity/particle/ITr2GenericEmitter.js.map +0 -1
- package/dist/trinityal/Tr2DeviceResourceAL.js.map +0 -1
- package/dist/trinityal/Tr2HalHelperStructures.js.map +0 -1
- package/dist/trinityal/Tr2RenderPassAL.js.map +0 -1
- package/dist/trinityal/Tr2ResourceSetAL.js +0 -419
- package/dist/trinityal/Tr2ResourceSetAL.js.map +0 -1
- package/dist/trinityal/Tr2SamplerDescription.js +0 -72
- package/dist/trinityal/Tr2SamplerDescription.js.map +0 -1
- package/dist/trinityal/stub/Tr2QueryALStub.js +0 -326
- package/dist/trinityal/stub/Tr2QueryALStub.js.map +0 -1
- package/dist/trinityal/stub/Tr2RenderContextALStub.js.map +0 -1
- package/dist/trinityal/stub/Tr2VideoAdapterInfoALStub.js.map +0 -1
- package/dist/trinityal/webgpu/core/batchGroups.js.map +0 -1
- package/dist/trinityal/webgpu/core/constantArena.js.map +0 -1
- package/dist/trinityal/webgpu/core/perFrameSource.js.map +0 -1
- package/dist/trinityal/webgpu/core/pipelineCache.js.map +0 -1
- package/dist/trinityal/webgpu/core/psoDescription.js.map +0 -1
- package/dist/trinityal/webgpu/core/renderTarget.js.map +0 -1
- package/dist/trinityal/webgpu/core/samplerSource.js.map +0 -1
- package/dist/trinityal/webgpu/core/textureSource.js.map +0 -1
- package/dist/trinityal/webgpu/core/trinityBatchDispatcher.js.map +0 -1
- package/dist/trinityal/webgpu/core/trinityBatchResolver.js.map +0 -1
- package/dist/trinityal/webgpu/core/trinityPassEncoder.js.map +0 -1
- package/dist/trinityal/webgpu/core/workQueue.js.map +0 -1
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { assertCarbonRecord } from '../../format/carbonRecordGuard.js';
|
|
1
2
|
import { CjsSchema, impl, type } from '#schema';
|
|
2
3
|
import { CjsModel } from '#model';
|
|
3
|
-
import
|
|
4
|
+
import '#utils/is';
|
|
4
5
|
import { copyBytes } from '#utils/bytes';
|
|
5
6
|
import { Tr2EffectStageInput } from './Tr2EffectStageInput.js';
|
|
6
7
|
import { recordText, recordBytes, toRecordText, toRecordBlob } from './carbonRecordFields.js';
|
|
@@ -48,12 +49,12 @@ class Tr2EffectLibrary extends CjsModel {
|
|
|
48
49
|
/** Portable export records retained before backend library registration. */
|
|
49
50
|
exports = [];
|
|
50
51
|
|
|
51
|
-
/**
|
|
52
|
-
* Construct one canonical library from JS/JSON model values.
|
|
53
|
-
*
|
|
54
|
-
* @param {object} values Canonical model values.
|
|
55
|
-
* @param {object} options CjsModel import options.
|
|
56
|
-
* @returns {Tr2EffectLibrary} Hydrated library.
|
|
52
|
+
/**
|
|
53
|
+
* Construct one canonical library from JS/JSON model values.
|
|
54
|
+
*
|
|
55
|
+
* @param {object} values Canonical model values.
|
|
56
|
+
* @param {object} options CjsModel import options.
|
|
57
|
+
* @returns {Tr2EffectLibrary} Hydrated library.
|
|
57
58
|
*/
|
|
58
59
|
static from(values = {}, options = {}) {
|
|
59
60
|
let normalized = values;
|
|
@@ -74,19 +75,17 @@ class Tr2EffectLibrary extends CjsModel {
|
|
|
74
75
|
return library;
|
|
75
76
|
}
|
|
76
77
|
|
|
77
|
-
/**
|
|
78
|
-
* Build one raytracing library from its Carbon v15 description record.
|
|
79
|
-
*
|
|
80
|
-
* A library carries two `StageData` blocks of its own — a global and a local
|
|
81
|
-
* input — which are the same block a stage carries, minus the stage wrapper.
|
|
82
|
-
*
|
|
83
|
-
* @param {object} record Carbon library record.
|
|
84
|
-
* @returns {Tr2EffectLibrary} Reflected library.
|
|
78
|
+
/**
|
|
79
|
+
* Build one raytracing library from its Carbon v15 description record.
|
|
80
|
+
*
|
|
81
|
+
* A library carries two `StageData` blocks of its own — a global and a local
|
|
82
|
+
* input — which are the same block a stage carries, minus the stage wrapper.
|
|
83
|
+
*
|
|
84
|
+
* @param {object} record Carbon library record.
|
|
85
|
+
* @returns {Tr2EffectLibrary} Reflected library.
|
|
85
86
|
*/
|
|
86
87
|
static fromCarbonBinary(record) {
|
|
87
|
-
|
|
88
|
-
throw new TypeError("Carbon effect library record must be an object");
|
|
89
|
-
}
|
|
88
|
+
assertCarbonRecord(record, "library");
|
|
90
89
|
const library = new this();
|
|
91
90
|
library.payloadSize = record.payloadSize;
|
|
92
91
|
library.hitGroupName = recordText(record.hitGroupName);
|
|
@@ -115,13 +114,13 @@ class Tr2EffectLibrary extends CjsModel {
|
|
|
115
114
|
return library;
|
|
116
115
|
}
|
|
117
116
|
|
|
118
|
-
/**
|
|
119
|
-
* Emit this library as a Carbon v15 record.
|
|
120
|
-
*
|
|
121
|
-
* `exports` is authoritative; the named entry-point fields are a view onto it
|
|
122
|
-
* and are not written separately.
|
|
123
|
-
*
|
|
124
|
-
* @returns {object} Carbon library record.
|
|
117
|
+
/**
|
|
118
|
+
* Emit this library as a Carbon v15 record.
|
|
119
|
+
*
|
|
120
|
+
* `exports` is authoritative; the named entry-point fields are a view onto it
|
|
121
|
+
* and are not written separately.
|
|
122
|
+
*
|
|
123
|
+
* @returns {object} Carbon library record.
|
|
125
124
|
*/
|
|
126
125
|
toCarbonBinary() {
|
|
127
126
|
const program = this.sourceProgram ?? {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2EffectLibrary.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectLibrary.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\r\nimport { CjsSchema, impl, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport {\r\n isPlainObject\r\n} from \"#utils/is\";\r\nimport { copyBytes } from \"#utils/bytes\";\r\nimport { Tr2EffectStageInput } from \"./Tr2EffectStageInput.js\";\r\nimport {\r\n recordBytes,\r\n recordText,\r\n toRecordBlob,\r\n toRecordText\r\n} from \"./carbonRecordFields.js\";\r\n\r\n/** Reflected shader-library metadata. */\r\nexport class Tr2EffectLibrary extends CjsModel\r\n{\r\n\r\n /** payloadSize (uint32_t) */\r\n payloadSize = 0;\r\n\r\n /** libraryHandle (uint32_t) */\r\n libraryHandle = 0;\r\n\r\n /** rayGenName (BlueSharedStringW) */\r\n rayGenName = \"\";\r\n\r\n /** missName (BlueSharedStringW) */\r\n missName = \"\";\r\n\r\n /** closestHitName (BlueSharedStringW) */\r\n closestHitName = \"\";\r\n\r\n /** anyHitName (BlueSharedStringW) */\r\n anyHitName = \"\";\r\n\r\n /** intersectionName (BlueSharedStringW) */\r\n intersectionName = \"\";\r\n\r\n /** hitGroupName (BlueSharedStringW) */\r\n hitGroupName = \"\";\r\n\r\n /** globalInput (Tr2EffectStageInput) */\r\n globalInput = null;\r\n\r\n /** localInput (Tr2EffectStageInput) */\r\n localInput = null;\r\n\r\n /** globalResourceSetDesc (Tr2ResourceSetDescriptionAL) */\r\n globalResourceSetDesc = null;\r\n\r\n /** Exact source library program metadata and owned bytes. */\r\n sourceProgram = null;\r\n\r\n /** Portable export records retained before backend library registration. */\r\n exports = [];\r\n\r\n /**\r\n * Construct one canonical library from JS/JSON model values.\r\n *\r\n * @param {object} values Canonical model values.\r\n * @param {object} options CjsModel import options.\r\n * @returns {Tr2EffectLibrary} Hydrated library.\r\n */\r\n static from(values = {}, options = {})\r\n {\r\n let normalized = values;\r\n const inputs = new Map();\r\n for (const field of [ \"globalInput\", \"localInput\" ])\r\n {\r\n if (values?.[field]\r\n && !(values[field] instanceof Tr2EffectStageInput))\r\n {\r\n normalized = normalized === values ? { ...values } : normalized;\r\n normalized[field] = Tr2EffectStageInput.from(\r\n values[field],\r\n options\r\n );\r\n inputs.set(field, normalized[field]);\r\n }\r\n }\r\n const library = super.from(normalized, options);\r\n for (const [ field, value ] of inputs)\r\n {\r\n library[field] = value;\r\n }\r\n return library;\r\n }\r\n\r\n /**\r\n * Build one raytracing library from its Carbon v15 description record.\r\n *\r\n * A library carries two `StageData` blocks of its own — a global and a local\r\n * input — which are the same block a stage carries, minus the stage wrapper.\r\n *\r\n * @param {object} record Carbon library record.\r\n * @returns {Tr2EffectLibrary} Reflected library.\r\n */\r\n static fromCarbonBinary(record)\r\n {\r\n if (!isPlainObject(record))\r\n {\r\n throw new TypeError(\"Carbon effect library record must be an object\");\r\n }\r\n\r\n const library = new this();\r\n library.payloadSize = record.payloadSize;\r\n library.hitGroupName = recordText(record.hitGroupName);\r\n library.exports = record.exports.map(entry => ({\r\n type: entry.type,\r\n name: recordText(entry.name)\r\n }));\r\n // The export type is the only thing that names an entry point; the record\r\n // stores a flat list and the named fields are a view onto it.\r\n for (const entry of library.exports)\r\n {\r\n if (entry.type === 0) library.rayGenName = entry.name;\r\n if (entry.type === 1) library.missName = entry.name;\r\n if (entry.type === 2) library.closestHitName = entry.name;\r\n if (entry.type === 3) library.anyHitName = entry.name;\r\n if (entry.type === 4) library.intersectionName = entry.name;\r\n }\r\n library.sourceProgram = {\r\n kind: \"library\",\r\n bytes: copyBytes(recordBytes(record.shaderData)),\r\n shaderSize: record.shaderData.size,\r\n // See Tr2EffectStageInput: only a zero-size blob's word is portable.\r\n unsetOffset: record.shaderData.size === 0\r\n ? record.shaderData.offset\r\n : 0xffffffff\r\n };\r\n library.globalInput = Tr2EffectStageInput.fromCarbonBinaryInput(\r\n record.globalInputs\r\n );\r\n library.localInput = Tr2EffectStageInput.fromCarbonBinaryInput(\r\n record.localInputs\r\n );\r\n return library;\r\n }\r\n\r\n\r\n /**\r\n * Emit this library as a Carbon v15 record.\r\n *\r\n * `exports` is authoritative; the named entry-point fields are a view onto it\r\n * and are not written separately.\r\n *\r\n * @returns {object} Carbon library record.\r\n */\r\n toCarbonBinary()\r\n {\r\n const program = this.sourceProgram ?? {};\r\n return {\r\n payloadSize: this.payloadSize >>> 0,\r\n shaderData: toRecordBlob(\r\n program.bytes,\r\n program.shaderSize,\r\n program.unsetOffset\r\n ),\r\n exports: this.exports.map(entry => ({\r\n type: entry.type,\r\n name: toRecordText(entry.name)\r\n })),\r\n hitGroupName: toRecordText(this.hitGroupName),\r\n globalInputs: this.globalInput.toCarbonBinaryInput(),\r\n localInputs: this.localInput.toCarbonBinaryInput()\r\n };\r\n }\r\n}\r\n\r\n// Declared imperatively rather than with decorators, so this module stays\r\n// plain ESM that loads from source without a transform. The decorator\r\n// expressions are reused verbatim, so the registered metadata is identical.\r\n// Statics belong in `methods`: decorateMethod targets the prototype and\r\n// would register a static as an instance field.\r\nCjsSchema.define(Tr2EffectLibrary, {\r\n className: \"Tr2EffectLibrary\",\r\n family: \"shader\",\r\n fields: {\r\n payloadSize: type.uint32,\r\n libraryHandle: type.uint32,\r\n rayGenName: type.string,\r\n missName: type.string,\r\n closestHitName: type.string,\r\n anyHitName: type.string,\r\n intersectionName: type.string,\r\n hitGroupName: type.string,\r\n globalInput: type.rawStruct(\"Tr2EffectStageInput\"),\r\n localInput: type.rawStruct(\"Tr2EffectStageInput\"),\r\n globalResourceSetDesc: type.rawStruct(\"Tr2ResourceSetDescriptionAL\"),\r\n sourceProgram: [ impl.adapted, impl.reason(\"Carbon registers the library with the renderer while reading; the device-free graph retains the source program for later engine realization.\"), type.rawStruct(\"CjsEffectSourceProgram\") ],\r\n exports: [ impl.adapted, impl.reason(\"Carbon resolves these exports into a renderer library handle; the device-free graph keeps the declarative export list.\"), type.rawStruct(\"CjsEffectLibraryExports\") ]\r\n }\r\n});\r\n"],"names":["Tr2EffectLibrary","CjsModel","payloadSize","libraryHandle","rayGenName","missName","closestHitName","anyHitName","intersectionName","hitGroupName","globalInput","localInput","globalResourceSetDesc","sourceProgram","exports","from","values","options","normalized","inputs","Map","field","Tr2EffectStageInput","set","library","value","fromCarbonBinary","record","isPlainObject","TypeError","recordText","map","entry","type","name","kind","bytes","copyBytes","recordBytes","shaderData","shaderSize","size","unsetOffset","offset","fromCarbonBinaryInput","globalInputs","localInputs","toCarbonBinary","program","toRecordBlob","toRecordText","toCarbonBinaryInput","CjsSchema","define","className","family","fields","uint32","string","rawStruct","impl","adapted","reason"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tr2EffectLibrary.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectLibrary.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\nimport { assertCarbonRecord } from \"../../format/carbonRecordGuard.js\";\nimport { CjsSchema, impl, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport {\n} from \"#utils/is\";\nimport { copyBytes } from \"#utils/bytes\";\nimport { Tr2EffectStageInput } from \"./Tr2EffectStageInput.js\";\nimport {\n recordBytes,\n recordText,\n toRecordBlob,\n toRecordText\n} from \"./carbonRecordFields.js\";\n\n/** Reflected shader-library metadata. */\nexport class Tr2EffectLibrary extends CjsModel\n{\n\n /** payloadSize (uint32_t) */\n payloadSize = 0;\n\n /** libraryHandle (uint32_t) */\n libraryHandle = 0;\n\n /** rayGenName (BlueSharedStringW) */\n rayGenName = \"\";\n\n /** missName (BlueSharedStringW) */\n missName = \"\";\n\n /** closestHitName (BlueSharedStringW) */\n closestHitName = \"\";\n\n /** anyHitName (BlueSharedStringW) */\n anyHitName = \"\";\n\n /** intersectionName (BlueSharedStringW) */\n intersectionName = \"\";\n\n /** hitGroupName (BlueSharedStringW) */\n hitGroupName = \"\";\n\n /** globalInput (Tr2EffectStageInput) */\n globalInput = null;\n\n /** localInput (Tr2EffectStageInput) */\n localInput = null;\n\n /** globalResourceSetDesc (Tr2ResourceSetDescriptionAL) */\n globalResourceSetDesc = null;\n\n /** Exact source library program metadata and owned bytes. */\n sourceProgram = null;\n\n /** Portable export records retained before backend library registration. */\n exports = [];\n\n /**\n * Construct one canonical library from JS/JSON model values.\n *\n * @param {object} values Canonical model values.\n * @param {object} options CjsModel import options.\n * @returns {Tr2EffectLibrary} Hydrated library.\n */\n static from(values = {}, options = {})\n {\n let normalized = values;\n const inputs = new Map();\n for (const field of [ \"globalInput\", \"localInput\" ])\n {\n if (values?.[field]\n && !(values[field] instanceof Tr2EffectStageInput))\n {\n normalized = normalized === values ? { ...values } : normalized;\n normalized[field] = Tr2EffectStageInput.from(\n values[field],\n options\n );\n inputs.set(field, normalized[field]);\n }\n }\n const library = super.from(normalized, options);\n for (const [ field, value ] of inputs)\n {\n library[field] = value;\n }\n return library;\n }\n\n /**\n * Build one raytracing library from its Carbon v15 description record.\n *\n * A library carries two `StageData` blocks of its own — a global and a local\n * input — which are the same block a stage carries, minus the stage wrapper.\n *\n * @param {object} record Carbon library record.\n * @returns {Tr2EffectLibrary} Reflected library.\n */\n static fromCarbonBinary(record)\n {\n assertCarbonRecord(record, \"library\");\n\n const library = new this();\n library.payloadSize = record.payloadSize;\n library.hitGroupName = recordText(record.hitGroupName);\n library.exports = record.exports.map(entry => ({\n type: entry.type,\n name: recordText(entry.name)\n }));\n // The export type is the only thing that names an entry point; the record\n // stores a flat list and the named fields are a view onto it.\n for (const entry of library.exports)\n {\n if (entry.type === 0) library.rayGenName = entry.name;\n if (entry.type === 1) library.missName = entry.name;\n if (entry.type === 2) library.closestHitName = entry.name;\n if (entry.type === 3) library.anyHitName = entry.name;\n if (entry.type === 4) library.intersectionName = entry.name;\n }\n library.sourceProgram = {\n kind: \"library\",\n bytes: copyBytes(recordBytes(record.shaderData)),\n shaderSize: record.shaderData.size,\n // See Tr2EffectStageInput: only a zero-size blob's word is portable.\n unsetOffset: record.shaderData.size === 0\n ? record.shaderData.offset\n : 0xffffffff\n };\n library.globalInput = Tr2EffectStageInput.fromCarbonBinaryInput(\n record.globalInputs\n );\n library.localInput = Tr2EffectStageInput.fromCarbonBinaryInput(\n record.localInputs\n );\n return library;\n }\n\n\n /**\n * Emit this library as a Carbon v15 record.\n *\n * `exports` is authoritative; the named entry-point fields are a view onto it\n * and are not written separately.\n *\n * @returns {object} Carbon library record.\n */\n toCarbonBinary()\n {\n const program = this.sourceProgram ?? {};\n return {\n payloadSize: this.payloadSize >>> 0,\n shaderData: toRecordBlob(\n program.bytes,\n program.shaderSize,\n program.unsetOffset\n ),\n exports: this.exports.map(entry => ({\n type: entry.type,\n name: toRecordText(entry.name)\n })),\n hitGroupName: toRecordText(this.hitGroupName),\n globalInputs: this.globalInput.toCarbonBinaryInput(),\n localInputs: this.localInput.toCarbonBinaryInput()\n };\n }\n}\n\n// Declared imperatively rather than with decorators, so this module stays\n// plain ESM that loads from source without a transform. The decorator\n// expressions are reused verbatim, so the registered metadata is identical.\n// Statics belong in `methods`: decorateMethod targets the prototype and\n// would register a static as an instance field.\nCjsSchema.define(Tr2EffectLibrary, {\n className: \"Tr2EffectLibrary\",\n family: \"shader\",\n fields: {\n payloadSize: type.uint32,\n libraryHandle: type.uint32,\n rayGenName: type.string,\n missName: type.string,\n closestHitName: type.string,\n anyHitName: type.string,\n intersectionName: type.string,\n hitGroupName: type.string,\n globalInput: type.rawStruct(\"Tr2EffectStageInput\"),\n localInput: type.rawStruct(\"Tr2EffectStageInput\"),\n globalResourceSetDesc: type.rawStruct(\"Tr2ResourceSetDescriptionAL\"),\n sourceProgram: [ impl.adapted, impl.reason(\"Carbon registers the library with the renderer while reading; the device-free graph retains the source program for later engine realization.\"), type.rawStruct(\"CjsEffectSourceProgram\") ],\n exports: [ impl.adapted, impl.reason(\"Carbon resolves these exports into a renderer library handle; the device-free graph keeps the declarative export list.\"), type.rawStruct(\"CjsEffectLibraryExports\") ]\n }\n});\n"],"names":["Tr2EffectLibrary","CjsModel","payloadSize","libraryHandle","rayGenName","missName","closestHitName","anyHitName","intersectionName","hitGroupName","globalInput","localInput","globalResourceSetDesc","sourceProgram","exports","from","values","options","normalized","inputs","Map","field","Tr2EffectStageInput","set","library","value","fromCarbonBinary","record","assertCarbonRecord","recordText","map","entry","type","name","kind","bytes","copyBytes","recordBytes","shaderData","shaderSize","size","unsetOffset","offset","fromCarbonBinaryInput","globalInputs","localInputs","toCarbonBinary","program","toRecordBlob","toRecordText","toCarbonBinaryInput","CjsSchema","define","className","family","fields","uint32","string","rawStruct","impl","adapted","reason"],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { assertCarbonRecord } from '../../format/carbonRecordGuard.js';
|
|
1
2
|
import { CjsSchema, type, impl } from '#schema';
|
|
2
3
|
import { CjsModel } from '#model';
|
|
3
4
|
import { dwordToFloat } from '#math/num';
|
|
4
|
-
import
|
|
5
|
+
import '#utils/is';
|
|
5
6
|
import { recordText, recordRawValue, toRecordText, toRecordRawValue } from './carbonRecordFields.js';
|
|
6
7
|
|
|
7
8
|
// Source: trinity/trinity/Shader/Tr2EffectDescription.h
|
|
@@ -29,22 +30,20 @@ class Tr2EffectParameterAnnotation extends CjsModel {
|
|
|
29
30
|
/** stringValue (const char*) */
|
|
30
31
|
stringValue = "";
|
|
31
32
|
|
|
32
|
-
/**
|
|
33
|
-
* Build one typed annotation from its Carbon v15 description record.
|
|
34
|
-
*
|
|
35
|
-
* The type byte decides which member is meaningful, and every non-string type
|
|
36
|
-
* arrives as four untyped bytes rather than a number — Carbon writes the value
|
|
37
|
-
* through one member of a `{float,int32_t}` union and reads it back through
|
|
38
|
-
* another, so the bit pattern is the only faithful carrier. `rawValue` keeps
|
|
39
|
-
* those bits and the typed accessor is derived from them, never the reverse.
|
|
40
|
-
*
|
|
41
|
-
* @param {object} record Carbon annotation record.
|
|
42
|
-
* @returns {Tr2EffectParameterAnnotation} Reflected annotation.
|
|
33
|
+
/**
|
|
34
|
+
* Build one typed annotation from its Carbon v15 description record.
|
|
35
|
+
*
|
|
36
|
+
* The type byte decides which member is meaningful, and every non-string type
|
|
37
|
+
* arrives as four untyped bytes rather than a number — Carbon writes the value
|
|
38
|
+
* through one member of a `{float,int32_t}` union and reads it back through
|
|
39
|
+
* another, so the bit pattern is the only faithful carrier. `rawValue` keeps
|
|
40
|
+
* those bits and the typed accessor is derived from them, never the reverse.
|
|
41
|
+
*
|
|
42
|
+
* @param {object} record Carbon annotation record.
|
|
43
|
+
* @returns {Tr2EffectParameterAnnotation} Reflected annotation.
|
|
43
44
|
*/
|
|
44
45
|
static fromCarbonBinary(record) {
|
|
45
|
-
|
|
46
|
-
throw new TypeError("Carbon effect annotation record must be an object");
|
|
47
|
-
}
|
|
46
|
+
assertCarbonRecord(record, "annotation");
|
|
48
47
|
const annotation = new this();
|
|
49
48
|
annotation.name = recordText(record.name);
|
|
50
49
|
annotation.type = record.type;
|
|
@@ -70,13 +69,13 @@ class Tr2EffectParameterAnnotation extends CjsModel {
|
|
|
70
69
|
return annotation;
|
|
71
70
|
}
|
|
72
71
|
|
|
73
|
-
/**
|
|
74
|
-
* Emit this annotation as a Carbon v15 record.
|
|
75
|
-
*
|
|
76
|
-
* The type byte decides which branch the writer takes, and every non-string
|
|
77
|
-
* type travels as the raw bits rather than the typed member.
|
|
78
|
-
*
|
|
79
|
-
* @returns {object} Carbon annotation record.
|
|
72
|
+
/**
|
|
73
|
+
* Emit this annotation as a Carbon v15 record.
|
|
74
|
+
*
|
|
75
|
+
* The type byte decides which branch the writer takes, and every non-string
|
|
76
|
+
* type travels as the raw bits rather than the typed member.
|
|
77
|
+
*
|
|
78
|
+
* @returns {object} Carbon annotation record.
|
|
80
79
|
*/
|
|
81
80
|
toCarbonBinary() {
|
|
82
81
|
if (this.type === Tr2EffectParameterAnnotation.Type.STRING) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2EffectParameterAnnotation.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectParameterAnnotation.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\
|
|
1
|
+
{"version":3,"file":"Tr2EffectParameterAnnotation.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectParameterAnnotation.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\nimport { assertCarbonRecord } from \"../../format/carbonRecordGuard.js\";\nimport { CjsSchema, impl, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport { dwordToFloat } from \"#math/num\";\nimport {\n} from \"#utils/is\";\nimport { recordRawValue, recordText, toRecordRawValue, toRecordText } from \"./carbonRecordFields.js\";\n\n/** Typed annotation attached to a reflected effect parameter. */\nexport class Tr2EffectParameterAnnotation extends CjsModel\n{\n\n /** name (const char*) */\n name = \"\";\n\n /** type (Type - enum Type) */\n type = 0;\n\n /** boolValue (bool) */\n boolValue = false;\n\n /** Exact serialized BOOL, INT, or FLOAT payload bits. */\n rawValue = 0;\n\n /** intValue (int) */\n intValue = 0;\n\n /** floatValue (float) */\n floatValue = 0;\n\n /** stringValue (const char*) */\n stringValue = \"\";\n\n /**\n * Build one typed annotation from its Carbon v15 description record.\n *\n * The type byte decides which member is meaningful, and every non-string type\n * arrives as four untyped bytes rather than a number — Carbon writes the value\n * through one member of a `{float,int32_t}` union and reads it back through\n * another, so the bit pattern is the only faithful carrier. `rawValue` keeps\n * those bits and the typed accessor is derived from them, never the reverse.\n *\n * @param {object} record Carbon annotation record.\n * @returns {Tr2EffectParameterAnnotation} Reflected annotation.\n */\n static fromCarbonBinary(record)\n {\n assertCarbonRecord(record, \"annotation\");\n\n const annotation = new this();\n annotation.name = recordText(record.name);\n annotation.type = record.type;\n\n switch (annotation.type)\n {\n case this.Type.BOOL:\n annotation.rawValue = recordRawValue(record.rawValue);\n annotation.boolValue = annotation.rawValue !== 0;\n break;\n\n case this.Type.INT:\n annotation.rawValue = recordRawValue(record.rawValue);\n annotation.intValue = annotation.rawValue | 0;\n break;\n\n case this.Type.FLOAT:\n annotation.rawValue = recordRawValue(record.rawValue);\n annotation.floatValue = dwordToFloat(annotation.rawValue);\n break;\n\n case this.Type.STRING:\n annotation.stringValue = recordText(record.stringValue);\n break;\n\n default:\n throw new Error(\n `Carbon effect annotation type ${annotation.type} is unsupported`\n );\n }\n\n return annotation;\n }\n\n /**\n * Emit this annotation as a Carbon v15 record.\n *\n * The type byte decides which branch the writer takes, and every non-string\n * type travels as the raw bits rather than the typed member.\n *\n * @returns {object} Carbon annotation record.\n */\n toCarbonBinary()\n {\n if (this.type === Tr2EffectParameterAnnotation.Type.STRING)\n {\n return {\n name: toRecordText(this.name),\n type: this.type,\n stringValue: toRecordText(this.stringValue),\n rawValue: null\n };\n }\n return {\n name: toRecordText(this.name),\n type: this.type,\n stringValue: null,\n rawValue: toRecordRawValue(this.rawValue)\n };\n }\n\n static Type = Object.freeze({\n BOOL: 0,\n INT: 1,\n FLOAT: 2,\n STRING: 3\n });\n\n}\n\n// Declared imperatively rather than with decorators, so this module stays\n// plain ESM that loads from source without a transform. The decorator\n// expressions are reused verbatim, so the registered metadata is identical.\n// Statics belong in `methods`: decorateMethod targets the prototype and\n// would register a static as an instance field.\nCjsSchema.define(Tr2EffectParameterAnnotation, {\n className: \"Tr2EffectParameterAnnotation\",\n family: \"shader\",\n fields: {\n name: type.string,\n type: [ type.int32, type.enum(\"Type\") ],\n boolValue: type.boolean,\n rawValue: [ impl.adapted, impl.reason(\"Carbon reads numeric annotations into typed values; the portable source contract retains the exact uint32 payload so NaN, negative zero, and integer bit patterns round-trip losslessly.\"), type.uint32 ],\n intValue: type.int32,\n floatValue: type.float32,\n stringValue: type.string\n }\n});\n"],"names":["Tr2EffectParameterAnnotation","CjsModel","name","type","boolValue","rawValue","intValue","floatValue","stringValue","fromCarbonBinary","record","assertCarbonRecord","annotation","recordText","Type","BOOL","recordRawValue","INT","FLOAT","dwordToFloat","STRING","Error","toCarbonBinary","toRecordText","toRecordRawValue","Object","freeze","CjsSchema","define","className","family","fields","string","int32","enum","boolean","impl","adapted","reason","uint32","float32"],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
import { assertCarbonRecord } from '../../format/carbonRecordGuard.js';
|
|
1
2
|
import { CjsSchema, type } from '#schema';
|
|
2
3
|
import { CjsModel } from '#model';
|
|
3
|
-
import
|
|
4
|
+
import '#utils/is';
|
|
4
5
|
import { recordText, toRecordText } from './carbonRecordFields.js';
|
|
5
6
|
|
|
6
7
|
// Source: trinity/trinity/Shader/Tr2EffectDescription.h
|
|
@@ -22,23 +23,21 @@ class Tr2EffectResource extends CjsModel {
|
|
|
22
23
|
/** arrayElements (uint32_t) */
|
|
23
24
|
arrayElements = 0;
|
|
24
25
|
|
|
25
|
-
/**
|
|
26
|
-
* Build one SRV or UAV from its Carbon v15 description record.
|
|
27
|
-
*
|
|
28
|
-
* Both a texture record and a UAV record land here, and they are not the same
|
|
29
|
-
* shape: a UAV record carries no `isSRGB` at all. Carbon's reader hardcodes
|
|
30
|
-
* `isSRGB = false` for UAVs rather than reading a byte, and `Uav::Save` omits
|
|
31
|
-
* it, so the field being absent is correct rather than missing — reading
|
|
32
|
-
* `undefined` through `!!` reproduces Carbon exactly. The array size is spelled
|
|
33
|
-
* `count` in the record and `arrayElements` on the class.
|
|
34
|
-
*
|
|
35
|
-
* @param {object} record Carbon texture or UAV record.
|
|
36
|
-
* @returns {Tr2EffectResource} Reflected resource.
|
|
26
|
+
/**
|
|
27
|
+
* Build one SRV or UAV from its Carbon v15 description record.
|
|
28
|
+
*
|
|
29
|
+
* Both a texture record and a UAV record land here, and they are not the same
|
|
30
|
+
* shape: a UAV record carries no `isSRGB` at all. Carbon's reader hardcodes
|
|
31
|
+
* `isSRGB = false` for UAVs rather than reading a byte, and `Uav::Save` omits
|
|
32
|
+
* it, so the field being absent is correct rather than missing — reading
|
|
33
|
+
* `undefined` through `!!` reproduces Carbon exactly. The array size is spelled
|
|
34
|
+
* `count` in the record and `arrayElements` on the class.
|
|
35
|
+
*
|
|
36
|
+
* @param {object} record Carbon texture or UAV record.
|
|
37
|
+
* @returns {Tr2EffectResource} Reflected resource.
|
|
37
38
|
*/
|
|
38
39
|
static fromCarbonBinary(record) {
|
|
39
|
-
|
|
40
|
-
throw new TypeError("Carbon effect resource record must be an object");
|
|
41
|
-
}
|
|
40
|
+
assertCarbonRecord(record, "resource");
|
|
42
41
|
const resource = new this();
|
|
43
42
|
resource.name = recordText(record.name);
|
|
44
43
|
resource.type = record.type;
|
|
@@ -48,16 +47,16 @@ class Tr2EffectResource extends CjsModel {
|
|
|
48
47
|
return resource;
|
|
49
48
|
}
|
|
50
49
|
|
|
51
|
-
/**
|
|
52
|
-
* Emit this resource as a Carbon v15 texture or UAV record.
|
|
53
|
-
*
|
|
54
|
-
* A UAV record is one byte shorter: it carries no `isSRGB`, because Carbon's
|
|
55
|
-
* reader hardcodes it false and `Uav::Save` omits it. Emitting the field
|
|
56
|
-
* anyway would desynchronise every following field in the stage.
|
|
57
|
-
*
|
|
58
|
-
* @param {number} registerIndex Register this resource is bound at.
|
|
59
|
-
* @param {boolean} [uav] Whether to emit the UAV shape.
|
|
60
|
-
* @returns {object} Carbon texture or UAV record.
|
|
50
|
+
/**
|
|
51
|
+
* Emit this resource as a Carbon v15 texture or UAV record.
|
|
52
|
+
*
|
|
53
|
+
* A UAV record is one byte shorter: it carries no `isSRGB`, because Carbon's
|
|
54
|
+
* reader hardcodes it false and `Uav::Save` omits it. Emitting the field
|
|
55
|
+
* anyway would desynchronise every following field in the stage.
|
|
56
|
+
*
|
|
57
|
+
* @param {number} registerIndex Register this resource is bound at.
|
|
58
|
+
* @param {boolean} [uav] Whether to emit the UAV shape.
|
|
59
|
+
* @returns {object} Carbon texture or UAV record.
|
|
61
60
|
*/
|
|
62
61
|
toCarbonBinary(registerIndex, uav = false) {
|
|
63
62
|
const record = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2EffectResource.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectResource.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\
|
|
1
|
+
{"version":3,"file":"Tr2EffectResource.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectResource.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\nimport { assertCarbonRecord } from \"../../format/carbonRecordGuard.js\";\nimport { CjsSchema, impl, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport {\n} from \"#utils/is\";\nimport { recordText, toRecordText } from \"./carbonRecordFields.js\";\n\n/** Reflected SRV or UAV resource metadata. */\nexport class Tr2EffectResource extends CjsModel\n{\n\n /** isSRGB (bool) */\n isSRGB = false;\n\n /** isAutoregister (bool) */\n isAutoregister = false;\n\n /** name (const char*) */\n name = \"\";\n\n /** type (Type - enum Type) */\n type = 0;\n\n /** arrayElements (uint32_t) */\n arrayElements = 0;\n\n /**\n * Build one SRV or UAV from its Carbon v15 description record.\n *\n * Both a texture record and a UAV record land here, and they are not the same\n * shape: a UAV record carries no `isSRGB` at all. Carbon's reader hardcodes\n * `isSRGB = false` for UAVs rather than reading a byte, and `Uav::Save` omits\n * it, so the field being absent is correct rather than missing — reading\n * `undefined` through `!!` reproduces Carbon exactly. The array size is spelled\n * `count` in the record and `arrayElements` on the class.\n *\n * @param {object} record Carbon texture or UAV record.\n * @returns {Tr2EffectResource} Reflected resource.\n */\n static fromCarbonBinary(record)\n {\n assertCarbonRecord(record, \"resource\");\n\n const resource = new this();\n resource.name = recordText(record.name);\n resource.type = record.type;\n resource.arrayElements = record.count;\n resource.isSRGB = !!record.isSRGB;\n resource.isAutoregister = !!record.isAutoregister;\n return resource;\n }\n\n /**\n * Emit this resource as a Carbon v15 texture or UAV record.\n *\n * A UAV record is one byte shorter: it carries no `isSRGB`, because Carbon's\n * reader hardcodes it false and `Uav::Save` omits it. Emitting the field\n * anyway would desynchronise every following field in the stage.\n *\n * @param {number} registerIndex Register this resource is bound at.\n * @param {boolean} [uav] Whether to emit the UAV shape.\n * @returns {object} Carbon texture or UAV record.\n */\n toCarbonBinary(registerIndex, uav = false)\n {\n const record = {\n registerIndex,\n name: toRecordText(this.name),\n type: this.type,\n count: this.arrayElements,\n isAutoregister: this.isAutoregister ? 1 : 0\n };\n if (uav)\n {\n return record;\n }\n return {\n registerIndex,\n name: record.name,\n type: record.type,\n count: record.count,\n isSRGB: this.isSRGB ? 1 : 0,\n isAutoregister: record.isAutoregister\n };\n }\n\n static BINDLESS_SAMPLER = 100;\n\n static Type = Object.freeze({\n TEXTURE_1D: 1,\n TEXTURE_2D: 2,\n TEXTURE_3D: 3,\n TEXTURE_CUBE: 4,\n TEXTURE_TYPELESS: 5,\n BUFFER: 6,\n STRUCTURED_BUFFER: 7,\n TBUFFER: 8,\n BYTEADDRESS_BUFFER: 9,\n UAV_RWTYPED: 10,\n UAV_RWSTRUCTURED: 11,\n UAV_RWBYTEADDRESS: 12,\n UAV_APPEND_STRUCTURED: 13,\n UAV_CONSUME_STRUCTURED: 14,\n UAV_RWSTRUCTURED_WITH_COUNTER: 15\n });\n\n}\n\n// Declared imperatively rather than with decorators, so this module stays\n// plain ESM that loads from source without a transform. The decorator\n// expressions are reused verbatim, so the registered metadata is identical.\n// Statics belong in `methods`: decorateMethod targets the prototype and\n// would register a static as an instance field.\nCjsSchema.define(Tr2EffectResource, {\n className: \"Tr2EffectResource\",\n family: \"shader\",\n fields: {\n isSRGB: type.boolean,\n isAutoregister: type.boolean,\n name: type.string,\n type: [ type.int32, type.enum(\"Type\") ],\n arrayElements: type.uint32\n }\n});\n"],"names":["Tr2EffectResource","CjsModel","isSRGB","isAutoregister","name","type","arrayElements","fromCarbonBinary","record","assertCarbonRecord","resource","recordText","count","toCarbonBinary","registerIndex","uav","toRecordText","BINDLESS_SAMPLER","Type","Object","freeze","TEXTURE_1D","TEXTURE_2D","TEXTURE_3D","TEXTURE_CUBE","TEXTURE_TYPELESS","BUFFER","STRUCTURED_BUFFER","TBUFFER","BYTEADDRESS_BUFFER","UAV_RWTYPED","UAV_RWSTRUCTURED","UAV_RWBYTEADDRESS","UAV_APPEND_STRUCTURED","UAV_CONSUME_STRUCTURED","UAV_RWSTRUCTURED_WITH_COUNTER","CjsSchema","define","className","family","fields","boolean","string","int32","enum","uint32"],"mappings":";;;;;;AAAA;;AAQA;AACO,MAAMA,iBAAiB,SAASC,QAAQ,CAC/C;AAEE;AACAC,EAAAA,MAAM,GAAG,KAAK;;AAEd;AACAC,EAAAA,cAAc,GAAG,KAAK;;AAEtB;AACAC,EAAAA,IAAI,GAAG,EAAE;;AAET;AACAC,EAAAA,IAAI,GAAG,CAAC;;AAER;AACAC,EAAAA,aAAa,GAAG,CAAC;;AAEjB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,gBAAgBA,CAACC,MAAM,EAC9B;AACEC,IAAAA,kBAAkB,CAACD,MAAM,EAAE,UAAU,CAAC;AAEtC,IAAA,MAAME,QAAQ,GAAG,IAAI,IAAI,EAAE;IAC3BA,QAAQ,CAACN,IAAI,GAAGO,UAAU,CAACH,MAAM,CAACJ,IAAI,CAAC;AACvCM,IAAAA,QAAQ,CAACL,IAAI,GAAGG,MAAM,CAACH,IAAI;AAC3BK,IAAAA,QAAQ,CAACJ,aAAa,GAAGE,MAAM,CAACI,KAAK;AACrCF,IAAAA,QAAQ,CAACR,MAAM,GAAG,CAAC,CAACM,MAAM,CAACN,MAAM;AACjCQ,IAAAA,QAAQ,CAACP,cAAc,GAAG,CAAC,CAACK,MAAM,CAACL,cAAc;AACjD,IAAA,OAAOO,QAAQ;AACjB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACEG,EAAAA,cAAcA,CAACC,aAAa,EAAEC,GAAG,GAAG,KAAK,EACzC;AACE,IAAA,MAAMP,MAAM,GAAG;MACbM,aAAa;AACbV,MAAAA,IAAI,EAAEY,YAAY,CAAC,IAAI,CAACZ,IAAI,CAAC;MAC7BC,IAAI,EAAE,IAAI,CAACA,IAAI;MACfO,KAAK,EAAE,IAAI,CAACN,aAAa;AACzBH,MAAAA,cAAc,EAAE,IAAI,CAACA,cAAc,GAAG,CAAC,GAAG;KAC3C;AACD,IAAA,IAAIY,GAAG,EACP;AACE,MAAA,OAAOP,MAAM;AACf,IAAA;IACA,OAAO;MACLM,aAAa;MACbV,IAAI,EAAEI,MAAM,CAACJ,IAAI;MACjBC,IAAI,EAAEG,MAAM,CAACH,IAAI;MACjBO,KAAK,EAAEJ,MAAM,CAACI,KAAK;AACnBV,MAAAA,MAAM,EAAE,IAAI,CAACA,MAAM,GAAG,CAAC,GAAG,CAAC;MAC3BC,cAAc,EAAEK,MAAM,CAACL;KACxB;AACH,EAAA;EAEA,OAAOc,gBAAgB,GAAG,GAAG;AAE7B,EAAA,OAAOC,IAAI,GAAGC,MAAM,CAACC,MAAM,CAAC;AAC1BC,IAAAA,UAAU,EAAE,CAAC;AACbC,IAAAA,UAAU,EAAE,CAAC;AACbC,IAAAA,UAAU,EAAE,CAAC;AACbC,IAAAA,YAAY,EAAE,CAAC;AACfC,IAAAA,gBAAgB,EAAE,CAAC;AACnBC,IAAAA,MAAM,EAAE,CAAC;AACTC,IAAAA,iBAAiB,EAAE,CAAC;AACpBC,IAAAA,OAAO,EAAE,CAAC;AACVC,IAAAA,kBAAkB,EAAE,CAAC;AACrBC,IAAAA,WAAW,EAAE,EAAE;AACfC,IAAAA,gBAAgB,EAAE,EAAE;AACpBC,IAAAA,iBAAiB,EAAE,EAAE;AACrBC,IAAAA,qBAAqB,EAAE,EAAE;AACzBC,IAAAA,sBAAsB,EAAE,EAAE;AAC1BC,IAAAA,6BAA6B,EAAE;AACjC,GAAC,CAAC;AAEJ;;AAEA;AACA;AACA;AACA;AACA;AACAC,SAAS,CAACC,MAAM,CAACrC,iBAAiB,EAAE;AAClCsC,EAAAA,SAAS,EAAE,mBAAmB;AAC9BC,EAAAA,MAAM,EAAE,QAAQ;AAChBC,EAAAA,MAAM,EAAE;IACNtC,MAAM,EAAEG,IAAI,CAACoC,OAAO;IACpBtC,cAAc,EAAEE,IAAI,CAACoC,OAAO;IAC5BrC,IAAI,EAAEC,IAAI,CAACqC,MAAM;AACjBrC,IAAAA,IAAI,EAAE,CAAEA,IAAI,CAACsC,KAAK,EAAEtC,IAAI,CAACuC,IAAI,CAAC,MAAM,CAAC,CAAE;IACvCtC,aAAa,EAAED,IAAI,CAACwC;AACtB;AACF,CAAC,CAAC;;;;"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
import { assertCarbonRecord } from '../../format/carbonRecordGuard.js';
|
|
1
2
|
import { CjsSchema, impl, type } from '#schema';
|
|
2
3
|
import { CjsModel } from '#model';
|
|
3
4
|
import { copyBytes } from '#utils/bytes';
|
|
4
|
-
import {
|
|
5
|
+
import { isUint32 } from '#utils/is';
|
|
5
6
|
import { Tr2SamplerSetup } from '../sampler/Tr2SamplerSetup.js';
|
|
6
7
|
import { Tr2EffectConstant } from './Tr2EffectConstant.js';
|
|
7
8
|
import { Tr2EffectParameterAnnotation } from './Tr2EffectParameterAnnotation.js';
|
|
@@ -13,11 +14,11 @@ import { requireShaderStageType } from './shaderStage.js';
|
|
|
13
14
|
// Source: trinity/trinity/Shader/Tr2EffectDescription.h
|
|
14
15
|
// Source: trinity/trinity/Shader/Tr2EffectDescription.cpp
|
|
15
16
|
|
|
16
|
-
/**
|
|
17
|
-
* The offset word a zero-size blob carries, or the null sentinel.
|
|
18
|
-
*
|
|
19
|
-
* @param {{size:number,offset:number}} ref Blob reference.
|
|
20
|
-
* @returns {number} Offset word worth retaining.
|
|
17
|
+
/**
|
|
18
|
+
* The offset word a zero-size blob carries, or the null sentinel.
|
|
19
|
+
*
|
|
20
|
+
* @param {{size:number,offset:number}} ref Blob reference.
|
|
21
|
+
* @returns {number} Offset word worth retaining.
|
|
21
22
|
*/
|
|
22
23
|
function unsetOffsetOf(ref) {
|
|
23
24
|
return ref.size === 0 ? ref.offset : 0xffffffff;
|
|
@@ -89,11 +90,11 @@ class Tr2EffectStageInput extends CjsModel {
|
|
|
89
90
|
// across ten call sites, and this would replicate the same way once a second
|
|
90
91
|
// engine exists.
|
|
91
92
|
|
|
92
|
-
/**
|
|
93
|
-
* The byte size a constant buffer must have to hold every declared constant.
|
|
94
|
-
*
|
|
95
|
-
* Always at least `constantValueSize`, because the authored defaults occupy
|
|
96
|
-
* the start of the same buffer.
|
|
93
|
+
/**
|
|
94
|
+
* The byte size a constant buffer must have to hold every declared constant.
|
|
95
|
+
*
|
|
96
|
+
* Always at least `constantValueSize`, because the authored defaults occupy
|
|
97
|
+
* the start of the same buffer.
|
|
97
98
|
*/
|
|
98
99
|
GetConstantBufferSize() {
|
|
99
100
|
let size = 0;
|
|
@@ -103,12 +104,12 @@ class Tr2EffectStageInput extends CjsModel {
|
|
|
103
104
|
return Math.max(size, this.constantValueSize);
|
|
104
105
|
}
|
|
105
106
|
|
|
106
|
-
/**
|
|
107
|
-
* Construct one canonical stage input from JS/JSON model values.
|
|
108
|
-
*
|
|
109
|
-
* @param {object} values Canonical model values.
|
|
110
|
-
* @param {object} options CjsModel import options.
|
|
111
|
-
* @returns {Tr2EffectStageInput} Hydrated stage input.
|
|
107
|
+
/**
|
|
108
|
+
* Construct one canonical stage input from JS/JSON model values.
|
|
109
|
+
*
|
|
110
|
+
* @param {object} values Canonical model values.
|
|
111
|
+
* @param {object} options CjsModel import options.
|
|
112
|
+
* @returns {Tr2EffectStageInput} Hydrated stage input.
|
|
112
113
|
*/
|
|
113
114
|
static from(values = {}, options = {}) {
|
|
114
115
|
let normalized = values;
|
|
@@ -129,16 +130,14 @@ class Tr2EffectStageInput extends CjsModel {
|
|
|
129
130
|
return stage;
|
|
130
131
|
}
|
|
131
132
|
|
|
132
|
-
/**
|
|
133
|
-
* Hydrate one canonical stage input from a decoded Carbon binary record.
|
|
134
|
-
*
|
|
135
|
-
* @param {object} record Decoded Carbon stage record.
|
|
136
|
-
* @returns {Tr2EffectStageInput} Hydrated canonical stage input.
|
|
133
|
+
/**
|
|
134
|
+
* Hydrate one canonical stage input from a decoded Carbon binary record.
|
|
135
|
+
*
|
|
136
|
+
* @param {object} record Decoded Carbon stage record.
|
|
137
|
+
* @returns {Tr2EffectStageInput} Hydrated canonical stage input.
|
|
137
138
|
*/
|
|
138
139
|
static fromCarbonBinary(record) {
|
|
139
|
-
|
|
140
|
-
throw new TypeError("Carbon effect stage record must be an object");
|
|
141
|
-
}
|
|
140
|
+
assertCarbonRecord(record, "stage");
|
|
142
141
|
const input = this.fromCarbonBinaryInput(record, record.type);
|
|
143
142
|
input.signature.pipelineInputCount = record.pipelineInputs.length;
|
|
144
143
|
input.signature.pipelineInputs = record.pipelineInputs.map(entry => ({
|
|
@@ -166,27 +165,25 @@ class Tr2EffectStageInput extends CjsModel {
|
|
|
166
165
|
return input;
|
|
167
166
|
}
|
|
168
167
|
|
|
169
|
-
/**
|
|
170
|
-
* Build one stage input from a Carbon v15 `StageData` block.
|
|
171
|
-
*
|
|
172
|
-
* A raytracing library's global and local inputs are the same block without a
|
|
173
|
-
* stage wrapper — no stage type, no pipeline inputs, no thread group, no
|
|
174
|
-
* program of their own — so this is the half both callers share and
|
|
175
|
-
* `fromCarbonBinary` is the stage-only remainder layered on top.
|
|
176
|
-
*
|
|
177
|
-
* Carbon writes textures, samplers and UAVs in ascending register order because
|
|
178
|
-
* they are `std::map`s, and they are re-keyed by register here rather than by
|
|
179
|
-
* position, so the map is authoritative and the record's order is not load
|
|
180
|
-
* bearing.
|
|
181
|
-
*
|
|
182
|
-
* @param {object} record Carbon stage-data record.
|
|
183
|
-
* @param {number} [stageType] Stage index, or -1 for a library input.
|
|
184
|
-
* @returns {Tr2EffectStageInput} Reflected stage input.
|
|
168
|
+
/**
|
|
169
|
+
* Build one stage input from a Carbon v15 `StageData` block.
|
|
170
|
+
*
|
|
171
|
+
* A raytracing library's global and local inputs are the same block without a
|
|
172
|
+
* stage wrapper — no stage type, no pipeline inputs, no thread group, no
|
|
173
|
+
* program of their own — so this is the half both callers share and
|
|
174
|
+
* `fromCarbonBinary` is the stage-only remainder layered on top.
|
|
175
|
+
*
|
|
176
|
+
* Carbon writes textures, samplers and UAVs in ascending register order because
|
|
177
|
+
* they are `std::map`s, and they are re-keyed by register here rather than by
|
|
178
|
+
* position, so the map is authoritative and the record's order is not load
|
|
179
|
+
* bearing.
|
|
180
|
+
*
|
|
181
|
+
* @param {object} record Carbon stage-data record.
|
|
182
|
+
* @param {number} [stageType] Stage index, or -1 for a library input.
|
|
183
|
+
* @returns {Tr2EffectStageInput} Reflected stage input.
|
|
185
184
|
*/
|
|
186
185
|
static fromCarbonBinaryInput(record, stageType = -1) {
|
|
187
|
-
|
|
188
|
-
throw new TypeError("Carbon effect stage-data record must be an object");
|
|
189
|
-
}
|
|
186
|
+
assertCarbonRecord(record, "stage-data");
|
|
190
187
|
const constantValues = copyBytes(recordBytes(record.defaultValues));
|
|
191
188
|
const input = new this();
|
|
192
189
|
input.stageType = stageType;
|
|
@@ -261,10 +258,10 @@ class Tr2EffectStageInput extends CjsModel {
|
|
|
261
258
|
return input;
|
|
262
259
|
}
|
|
263
260
|
|
|
264
|
-
/**
|
|
265
|
-
* Emit this stage as a Carbon v15 stage record.
|
|
266
|
-
*
|
|
267
|
-
* @returns {object} Carbon stage record.
|
|
261
|
+
/**
|
|
262
|
+
* Emit this stage as a Carbon v15 stage record.
|
|
263
|
+
*
|
|
264
|
+
* @returns {object} Carbon stage record.
|
|
268
265
|
*/
|
|
269
266
|
toCarbonBinary() {
|
|
270
267
|
const signature = this.signature ?? {};
|
|
@@ -285,17 +282,17 @@ class Tr2EffectStageInput extends CjsModel {
|
|
|
285
282
|
};
|
|
286
283
|
}
|
|
287
284
|
|
|
288
|
-
/**
|
|
289
|
-
* Emit this input as a Carbon v15 `StageData` block.
|
|
290
|
-
*
|
|
291
|
-
* Carbon holds textures, samplers, UAVs and render states in `std::map`s and
|
|
292
|
-
* writes them in key order, and it sorts annotation names by `strcmp` before
|
|
293
|
-
* writing. Our maps are keyed but not ordered, so every collection is sorted
|
|
294
|
-
* explicitly here rather than trusting insertion order — the reader is
|
|
295
|
-
* indifferent, but the bytes are not, and a container that disagrees with
|
|
296
|
-
* Carbon's ordering is not the file Carbon would have written.
|
|
297
|
-
*
|
|
298
|
-
* @returns {object} Carbon stage-data record.
|
|
285
|
+
/**
|
|
286
|
+
* Emit this input as a Carbon v15 `StageData` block.
|
|
287
|
+
*
|
|
288
|
+
* Carbon holds textures, samplers, UAVs and render states in `std::map`s and
|
|
289
|
+
* writes them in key order, and it sorts annotation names by `strcmp` before
|
|
290
|
+
* writing. Our maps are keyed but not ordered, so every collection is sorted
|
|
291
|
+
* explicitly here rather than trusting insertion order — the reader is
|
|
292
|
+
* indifferent, but the bytes are not, and a container that disagrees with
|
|
293
|
+
* Carbon's ordering is not the file Carbon would have written.
|
|
294
|
+
*
|
|
295
|
+
* @returns {object} Carbon stage-data record.
|
|
299
296
|
*/
|
|
300
297
|
toCarbonBinaryInput() {
|
|
301
298
|
const byRegister = (left, right) => left.registerIndex - right.registerIndex;
|
|
@@ -361,11 +358,11 @@ class Tr2EffectStageInput extends CjsModel {
|
|
|
361
358
|
return result;
|
|
362
359
|
}
|
|
363
360
|
|
|
364
|
-
/**
|
|
365
|
-
* Create one explicit absent stage slot.
|
|
366
|
-
*
|
|
367
|
-
* @param {number} stageType Stage index.
|
|
368
|
-
* @returns {Tr2EffectStageInput} Empty stage input.
|
|
361
|
+
/**
|
|
362
|
+
* Create one explicit absent stage slot.
|
|
363
|
+
*
|
|
364
|
+
* @param {number} stageType Stage index.
|
|
365
|
+
* @returns {Tr2EffectStageInput} Empty stage input.
|
|
369
366
|
*/
|
|
370
367
|
static createEmpty(stageType) {
|
|
371
368
|
const stage = new this();
|
|
@@ -373,14 +370,14 @@ class Tr2EffectStageInput extends CjsModel {
|
|
|
373
370
|
return stage;
|
|
374
371
|
}
|
|
375
372
|
|
|
376
|
-
/**
|
|
377
|
-
* Normalize one register-indexed collection into its canonical typed map.
|
|
378
|
-
*
|
|
379
|
-
* @param {Map|object} values Register-indexed source values.
|
|
380
|
-
* @param {Function} Constructor Entry constructor exposing `from`.
|
|
381
|
-
* @param {object} options Hydration options passed to entry construction.
|
|
382
|
-
* @param {string} field Diagnostic field name.
|
|
383
|
-
* @returns {Map<number, *>} Canonical register map.
|
|
373
|
+
/**
|
|
374
|
+
* Normalize one register-indexed collection into its canonical typed map.
|
|
375
|
+
*
|
|
376
|
+
* @param {Map|object} values Register-indexed source values.
|
|
377
|
+
* @param {Function} Constructor Entry constructor exposing `from`.
|
|
378
|
+
* @param {object} options Hydration options passed to entry construction.
|
|
379
|
+
* @param {string} field Diagnostic field name.
|
|
380
|
+
* @returns {Map<number, *>} Canonical register map.
|
|
384
381
|
*/
|
|
385
382
|
static readCanonicalRegisterMap(values, Constructor, options, field) {
|
|
386
383
|
const entries = values instanceof Map ? values : Object.entries(values ?? {});
|