@carbonenginejs/runtime 0.1.0-alpha.0 → 0.1.0-alpha.1
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/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 +52 -4
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.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 +104 -260
- 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 +82 -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
|
@@ -2,7 +2,8 @@ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../_v
|
|
|
2
2
|
import { CjsModel } from '#model';
|
|
3
3
|
import { io, type, carbon, impl } from '#schema';
|
|
4
4
|
import { UnlinkReason } from './enums.js';
|
|
5
|
-
import { withITr2Controller } from './ITr2Controller.js';
|
|
5
|
+
import { withITr2Controller } from './ITr2Controller/ITr2Controller.js';
|
|
6
|
+
import './ITr2Controller/ITr2ActionController.js';
|
|
6
7
|
|
|
7
8
|
var _withITr2Controller;
|
|
8
9
|
let _initProto, _initClass, _init_controller, _init_extra_controller, _init_path, _init_extra_path;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2ControllerReference.js","sources":["../../../../src/trinity/controllers/Tr2ControllerReference.js"],"sourcesContent":["// Source: trinity/trinity/Controllers/Tr2ControllerReference.h\r\n// Source: trinity/trinity/Controllers/Tr2ControllerReference.cpp\r\nimport { CjsModel } from \"#model\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { UnlinkReason } from \"./enums.js\";\nimport { withITr2Controller } from \"./ITr2Controller.js\";\r\n\r\n\r\n/**\r\n * Stands in for a controller loaded from a resource path, forwarding the full\r\n * controller lifecycle to whichever controller the path resolves to.\r\n */\r\n@type.define({\r\n className: \"Tr2ControllerReference\",\r\n family: \"controllers\"\r\n})\r\nexport class Tr2ControllerReference extends withITr2Controller(CjsModel)\r\n{\r\n static #resourceResolver = null;\r\n\r\n /** Registers the runtime-owned controller resource resolver. */\r\n static registerResourceResolver(resolver)\r\n {\r\n const previous = this.#resourceResolver;\r\n this.#resourceResolver = resolver;\r\n return previous;\r\n }\r\n\r\n /** Clears the runtime-owned controller resource resolver. */\r\n static clearResourceResolver()\r\n {\r\n this.#resourceResolver = null;\r\n }\r\n\r\n /** Resolves a controller resource without owning its lifecycle. */\r\n static resolveResource(path, owner = null)\r\n {\r\n if (!path || !this.#resourceResolver)\r\n {\r\n return null;\r\n }\r\n const resolved = this.#resourceResolver(path, owner);\r\n return resolved && typeof resolved === \"object\" ? resolved : null;\r\n }\r\n\r\n @io.read\r\n @type.objectRef(\"ITr2Controller\")\r\n controller = null;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.path\r\n path = \"\";\r\n\r\n #owner = null;\r\n\r\n #resolvedPath = \"\";\r\n\r\n /**\r\n * Initializes the referenced controller when it is already assigned.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n this.ResolveController();\r\n return true;\r\n }\r\n\r\n /**\r\n * Handles path changes. Broad-safe: compares the authored path with the\r\n * path the current controller was resolved from, so unrelated settles keep\r\n * a resolved or directly attached controller.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n OnModified(_options = {})\r\n {\r\n if (this.path !== this.#resolvedPath)\r\n {\r\n this.controller = null;\r\n this.ResolveController();\r\n }\r\n if (this.controller && this.#owner)\r\n {\r\n this.controller.Link(this.#owner);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Links the referenced controller to the same owner.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Link(owner)\r\n {\r\n this.#owner = owner;\r\n this.controller?.Link(owner);\r\n }\r\n\r\n /**\r\n * Unlinks the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Unlink(reason = UnlinkReason.UNLINKING)\r\n {\r\n this.controller?.Unlink(reason);\r\n this.#owner = null;\r\n }\r\n\r\n /**\r\n * Checks whether this reference is linked to an owner.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n IsLinked()\r\n {\r\n return this.#owner !== null;\r\n }\r\n\r\n /**\r\n * Starts the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Start()\r\n {\r\n this.controller?.Start();\r\n }\r\n\r\n /**\r\n * Stops the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Stop()\r\n {\r\n this.controller?.Stop();\r\n }\r\n\r\n /**\r\n * Updates the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Update(normalizedUpdateFrequency = 0)\r\n {\r\n this.controller?.Update(normalizedUpdateFrequency);\r\n }\r\n\r\n /**\r\n * Sets a variable on the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetVariable(name, value)\r\n {\r\n this.controller?.SetVariable(name, value);\r\n }\r\n\r\n /**\r\n * Handles an event on the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n HandleEvent(eventName)\r\n {\r\n this.controller?.HandleEvent(eventName);\r\n }\r\n\r\n /**\r\n * Gets the linked owner.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetOwner()\r\n {\r\n return this.#owner;\r\n }\r\n\r\n /**\r\n * Resolves `controller` from the authored path through the registered resource\r\n * resolver, recording the path it resolved from so OnModified can tell a real\r\n * path change from an unrelated settle.\r\n */\r\n ResolveController()\r\n {\r\n this.#resolvedPath = this.path;\r\n if (!this.path)\r\n {\r\n this.controller = null;\r\n return;\r\n }\r\n this.controller = Tr2ControllerReference.resolveResource(this.path, this.#owner);\r\n }\r\n}\r\n"],"names":["_Tr2ControllerReferen","_identity","Tr2ControllerReference","_withITr2Controller","withITr2Controller","CjsModel","e","_init_controller","_init_extra_controller","_init_path","_init_extra_path","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","objectRef","notify","persist","path","carbon","method","impl","adapted","implemented","registerResourceResolver","resolver","previous","clearResourceResolver","resolveResource","owner","resolved","controller","Initialize","ResolveController","OnModified","_options","Link","Unlink","reason","UnlinkReason","UNLINKING","IsLinked","Start","Stop","Update","normalizedUpdateFrequency","SetVariable","name","value","HandleEvent","eventName","GetOwner","constructor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tr2ControllerReference.js","sources":["../../../../src/trinity/controllers/Tr2ControllerReference.js"],"sourcesContent":["// Source: trinity/trinity/Controllers/Tr2ControllerReference.h\r\n// Source: trinity/trinity/Controllers/Tr2ControllerReference.cpp\r\nimport { CjsModel } from \"#model\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { UnlinkReason } from \"./enums.js\";\nimport { withITr2Controller } from \"./ITr2Controller/index.js\";\r\n\r\n\r\n/**\r\n * Stands in for a controller loaded from a resource path, forwarding the full\r\n * controller lifecycle to whichever controller the path resolves to.\r\n */\r\n@type.define({\r\n className: \"Tr2ControllerReference\",\r\n family: \"controllers\"\r\n})\r\nexport class Tr2ControllerReference extends withITr2Controller(CjsModel)\r\n{\r\n static #resourceResolver = null;\r\n\r\n /** Registers the runtime-owned controller resource resolver. */\r\n static registerResourceResolver(resolver)\r\n {\r\n const previous = this.#resourceResolver;\r\n this.#resourceResolver = resolver;\r\n return previous;\r\n }\r\n\r\n /** Clears the runtime-owned controller resource resolver. */\r\n static clearResourceResolver()\r\n {\r\n this.#resourceResolver = null;\r\n }\r\n\r\n /** Resolves a controller resource without owning its lifecycle. */\r\n static resolveResource(path, owner = null)\r\n {\r\n if (!path || !this.#resourceResolver)\r\n {\r\n return null;\r\n }\r\n const resolved = this.#resourceResolver(path, owner);\r\n return resolved && typeof resolved === \"object\" ? resolved : null;\r\n }\r\n\r\n @io.read\r\n @type.objectRef(\"ITr2Controller\")\r\n controller = null;\r\n\r\n @io.notify\r\n @io.persist\r\n @type.path\r\n path = \"\";\r\n\r\n #owner = null;\r\n\r\n #resolvedPath = \"\";\r\n\r\n /**\r\n * Initializes the referenced controller when it is already assigned.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n Initialize()\r\n {\r\n this.ResolveController();\r\n return true;\r\n }\r\n\r\n /**\r\n * Handles path changes. Broad-safe: compares the authored path with the\r\n * path the current controller was resolved from, so unrelated settles keep\r\n * a resolved or directly attached controller.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n OnModified(_options = {})\r\n {\r\n if (this.path !== this.#resolvedPath)\r\n {\r\n this.controller = null;\r\n this.ResolveController();\r\n }\r\n if (this.controller && this.#owner)\r\n {\r\n this.controller.Link(this.#owner);\r\n }\r\n return true;\r\n }\r\n\r\n /**\r\n * Links the referenced controller to the same owner.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Link(owner)\r\n {\r\n this.#owner = owner;\r\n this.controller?.Link(owner);\r\n }\r\n\r\n /**\r\n * Unlinks the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Unlink(reason = UnlinkReason.UNLINKING)\r\n {\r\n this.controller?.Unlink(reason);\r\n this.#owner = null;\r\n }\r\n\r\n /**\r\n * Checks whether this reference is linked to an owner.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n IsLinked()\r\n {\r\n return this.#owner !== null;\r\n }\r\n\r\n /**\r\n * Starts the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Start()\r\n {\r\n this.controller?.Start();\r\n }\r\n\r\n /**\r\n * Stops the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Stop()\r\n {\r\n this.controller?.Stop();\r\n }\r\n\r\n /**\r\n * Updates the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Update(normalizedUpdateFrequency = 0)\r\n {\r\n this.controller?.Update(normalizedUpdateFrequency);\r\n }\r\n\r\n /**\r\n * Sets a variable on the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetVariable(name, value)\r\n {\r\n this.controller?.SetVariable(name, value);\r\n }\r\n\r\n /**\r\n * Handles an event on the referenced controller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n HandleEvent(eventName)\r\n {\r\n this.controller?.HandleEvent(eventName);\r\n }\r\n\r\n /**\r\n * Gets the linked owner.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetOwner()\r\n {\r\n return this.#owner;\r\n }\r\n\r\n /**\r\n * Resolves `controller` from the authored path through the registered resource\r\n * resolver, recording the path it resolved from so OnModified can tell a real\r\n * path change from an unrelated settle.\r\n */\r\n ResolveController()\r\n {\r\n this.#resolvedPath = this.path;\r\n if (!this.path)\r\n {\r\n this.controller = null;\r\n return;\r\n }\r\n this.controller = Tr2ControllerReference.resolveResource(this.path, this.#owner);\r\n }\r\n}\r\n"],"names":["_Tr2ControllerReferen","_identity","Tr2ControllerReference","_withITr2Controller","withITr2Controller","CjsModel","e","_init_controller","_init_extra_controller","_init_path","_init_extra_path","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","read","objectRef","notify","persist","path","carbon","method","impl","adapted","implemented","registerResourceResolver","resolver","previous","clearResourceResolver","resolveResource","owner","resolved","controller","Initialize","ResolveController","OnModified","_options","Link","Unlink","reason","UnlinkReason","UNLINKING","IsLinked","Start","Stop","Update","normalizedUpdateFrequency","SetVariable","name","value","HandleEvent","eventName","GetOwner","constructor"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { CjsSchema, impl } from '#schema';
|
|
2
|
-
import { Brand, Adopt } from '../ITr2Controller.js';
|
|
2
|
+
import { Brand, Adopt } from '../ITr2Controller/ITr2Controller.js';
|
|
3
|
+
import '../ITr2Controller/ITr2ActionController.js';
|
|
3
4
|
|
|
4
5
|
// Source: trinity/trinity/Controllers/Actions/ITr2ControllerAction.h
|
|
5
6
|
//
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ITr2ControllerAction.js","sources":["../../../../../src/trinity/controllers/action/ITr2ControllerAction.js"],"sourcesContent":["// Source: trinity/trinity/Controllers/Actions/ITr2ControllerAction.h\r\n//\r\n// The contract a controller ACTION answers to - the other half of the pair\r\n// whose controller side is ITr2Controller.js. Carbon gives every lifecycle\r\n// verb here an EMPTY BODY: an action that does not care about Link, Unlink,\r\n// Start, Stop or RebaseSimTime inherits a harmless nothing, and only\r\n// CanTransition has an opinionated default (true). Before this contract was\r\n// ported, 10 of our 18 concrete actions lacked Stop, 10 lacked Unlink and 8\r\n// lacked Link, so every owner of an `actions` list hedged each call with\r\n// `action.Stop?.()` - emulating the empty body one call site at a time.\r\n//\r\n// The statics below predate the contract: they are shared JavaScript adapters\r\n// the concrete actions use to duck-type their OWNERS (which have no common\r\n// contract yet). They are unrelated to the instance surface.\r\n\r\nimport { CjsSchema, impl } from \"#schema\";\r\nimport { Adopt, Brand } from \"../ITr2Controller.js\";\r\n\r\n\r\nconst ITR2_CONTROLLER_ACTION = Symbol.for(\"carbonenginejs.contract.ITr2ControllerAction\");\r\n\r\nconst ACTION_NOOPS = [ \"Link\", \"Unlink\", \"Start\", \"Stop\", \"RebaseSimTime\" ];\r\nconst ACTION_DEFAULTS = [ \"CanTransition\" ];\r\n\r\n\r\n/** Contract for an action a controller drives between Start and Stop. */\r\nexport class ITr2ControllerAction\r\n{\r\n static [Symbol.hasInstance](value)\r\n {\r\n return value !== null && value !== undefined && value[ITR2_CONTROLLER_ACTION] === true;\r\n }\r\n\r\n /**\r\n * Attaches this action to the controller that will drive it.\r\n *\r\n * @param {object} _controller The driving action controller.\r\n */\r\n Link(_controller)\r\n {\r\n }\r\n\r\n /** Detaches this action, dropping every reference to the controller. */\r\n Unlink()\r\n {\r\n }\r\n\r\n /**\r\n * Begins the action.\r\n *\r\n * @param {object} _controller The driving action controller.\r\n */\r\n Start(_controller)\r\n {\r\n }\r\n\r\n /**\r\n * Stops the action.\r\n *\r\n * @param {object} _controller The driving action controller.\r\n */\r\n Stop(_controller)\r\n {\r\n }\r\n\r\n /**\r\n * Shifts any absolute sim-clock times this action holds.\r\n *\r\n * @param {number} _diff Seconds added to the sim clock.\r\n */\r\n RebaseSimTime(_diff)\r\n {\r\n }\r\n\r\n /**\r\n * Whether the owning state may transition away while this action runs.\r\n *\r\n * THE ONE METHOD CARBON GIVES A CONCRETE DEFAULT: an action does not hold\r\n * its state hostage unless it says so.\r\n *\r\n * @returns {boolean} True unless the action needs to finish first.\r\n */\r\n CanTransition()\r\n {\r\n return true;\r\n }\r\n\r\n /**\r\n * Resolves the object an action operates on, preferring an explicitly supplied\r\n * owner over the controller's own owner.\r\n */\r\n static getOwner(controller, owner = null)\r\n {\r\n return owner ?? controller?.GetOwner() ?? null;\r\n }\r\n\r\n /**\r\n * Throws a TypeError naming the calling method when an action is invoked\r\n * without a controller.\r\n */\r\n static requireController(controller, methodName)\r\n {\r\n if (!controller)\r\n {\r\n throw new TypeError(`${methodName} expects a Tr2Controller as a parameter.`);\r\n }\r\n return controller;\r\n }\r\n\r\n /**\r\n * Gets the controller's current frame time in seconds, preferring the JS-only\r\n * CjsGetCurrentFrameTime hook and falling back to GetTime, then to the\r\n * supplied fallback.\r\n */\r\n static getTime(controller, fallback = 0)\r\n {\r\n if (controller?.CjsGetCurrentFrameTime)\r\n {\r\n return this.toNumber(controller.CjsGetCurrentFrameTime(), fallback);\r\n }\r\n return this.toNumber(controller?.GetTime?.(), fallback);\r\n }\r\n\r\n /**\r\n * Calls a method on a duck-typed target if it exists, returning undefined\r\n * rather than throwing when the target does not implement it.\r\n */\r\n static callTarget(target, methodName, ...args)\r\n {\r\n return this.hasFunction(target, methodName) ? target[methodName](...args) : undefined;\r\n }\r\n\r\n /**\r\n * Converts a value to a finite number, substituting the fallback for NaN and\r\n * infinities.\r\n */\r\n static toNumber(value, fallback = 0)\r\n {\r\n const number = Number(value);\r\n return Number.isFinite(number) ? number : fallback;\r\n }\r\n\r\n /**\r\n * Checks whether a value is an object carrying the named key, including\r\n * inherited keys.\r\n */\r\n static hasProperty(value, key)\r\n {\r\n return !!value && typeof value === \"object\" && key in value;\r\n }\r\n\r\n /** Checks whether a value is an object whose named key is callable. */\r\n static hasFunction(value, key)\r\n {\r\n return this.hasProperty(value, key) && typeof value[key] === \"function\";\r\n }\r\n\r\n /**\r\n * Narrows a value to an object reference, returning null for primitives and\r\n * nullish values.\r\n */\r\n static asObject(value)\r\n {\r\n return value && typeof value === \"object\" ? value : null;\r\n }\r\n\r\n /**\r\n * Reads a property from a duck-typed target, returning undefined when the\r\n * target is not an object or lacks the key.\r\n */\r\n static getProperty(target, propertyName)\r\n {\r\n return this.hasProperty(target, propertyName) ? target[propertyName] : undefined;\r\n }\r\n\r\n /**\r\n * Resolves the object held by an owner's named parameter, accepting\r\n * GetParameterObject, parameterObject or object as the payload accessor.\r\n */\r\n static getParameterOwner(owner, name)\r\n {\r\n const parameter = this.callTarget(owner, \"GetParameterByName\", name);\r\n if (!parameter)\r\n {\r\n return null;\r\n }\r\n return this.asObject(this.callTarget(parameter, \"GetParameterObject\") ?? this.getProperty(parameter, \"parameterObject\") ?? this.getProperty(parameter, \"object\"));\r\n }\r\n\r\n /**\r\n * Finds a named sound emitter on the owner, or null when the owner exposes no\r\n * emitter lookup.\r\n */\r\n static findSoundEmitter(owner, name)\r\n {\r\n return this.callTarget(owner, \"FindSoundEmitter\", name) ?? null;\r\n }\r\n\r\n /**\r\n * Resolves an owner's animation controller from either the\r\n * GetAnimationController method or the animationController property.\r\n */\r\n static getAnimationController(owner)\r\n {\r\n return this.callTarget(owner, \"GetAnimationController\") ?? this.getProperty(owner, \"animationController\") ?? null;\r\n }\r\n}\r\n\r\n\r\nBrand(ITr2ControllerAction, ITR2_CONTROLLER_ACTION, ACTION_NOOPS, []);\r\nfor (const name of ACTION_DEFAULTS) CjsSchema.decorateMethod(ITr2ControllerAction, name, impl.implemented);\r\nCjsSchema.define(ITr2ControllerAction, { className: \"ITr2ControllerAction\" });\r\n\r\n\r\n/**\r\n * Adds the ITr2ControllerAction contract without replacing an existing model\r\n * base.\r\n *\r\n * Every concrete action extends CjsModel, so the contract arrives as a mixin:\r\n * the action overrides the verbs it cares about and inherits Carbon's empty\r\n * body for the rest, and the owner of an `actions` list no longer has to ask.\r\n *\r\n * @param {Function} Base The class to extend.\r\n * @returns {Function} A subclass carrying the contract.\r\n */\r\nexport function withITr2ControllerAction(Base)\r\n{\r\n const Action = Adopt(Base, ITr2ControllerAction, [ ...ACTION_NOOPS, ...ACTION_DEFAULTS ]);\r\n\r\n Brand(Action, ITR2_CONTROLLER_ACTION, ACTION_NOOPS, []);\r\n for (const name of ACTION_DEFAULTS) CjsSchema.decorateMethod(Action, name, impl.implemented);\r\n\r\n return Action;\r\n}\r\n"],"names":["ITR2_CONTROLLER_ACTION","Symbol","for","ACTION_NOOPS","ACTION_DEFAULTS","ITr2ControllerAction","hasInstance","value","undefined","Link","_controller","Unlink","Start","Stop","RebaseSimTime","_diff","CanTransition","getOwner","controller","owner","GetOwner","requireController","methodName","TypeError","getTime","fallback","CjsGetCurrentFrameTime","toNumber","GetTime","callTarget","target","args","hasFunction","number","Number","isFinite","hasProperty","key","asObject","getProperty","propertyName","getParameterOwner","name","parameter","findSoundEmitter","getAnimationController","Brand","CjsSchema","decorateMethod","impl","implemented","define","className","withITr2ControllerAction","Base","Action","Adopt"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ITr2ControllerAction.js","sources":["../../../../../src/trinity/controllers/action/ITr2ControllerAction.js"],"sourcesContent":["// Source: trinity/trinity/Controllers/Actions/ITr2ControllerAction.h\r\n//\r\n// The contract a controller ACTION answers to - the other half of the pair\r\n// whose controller side is ITr2Controller.js. Carbon gives every lifecycle\r\n// verb here an EMPTY BODY: an action that does not care about Link, Unlink,\r\n// Start, Stop or RebaseSimTime inherits a harmless nothing, and only\r\n// CanTransition has an opinionated default (true). Before this contract was\r\n// ported, 10 of our 18 concrete actions lacked Stop, 10 lacked Unlink and 8\r\n// lacked Link, so every owner of an `actions` list hedged each call with\r\n// `action.Stop?.()` - emulating the empty body one call site at a time.\r\n//\r\n// The statics below predate the contract: they are shared JavaScript adapters\r\n// the concrete actions use to duck-type their OWNERS (which have no common\r\n// contract yet). They are unrelated to the instance surface.\r\n\r\nimport { CjsSchema, impl } from \"#schema\";\r\nimport { Adopt, Brand } from \"../ITr2Controller/index.js\";\r\n\r\n\r\nconst ITR2_CONTROLLER_ACTION = Symbol.for(\"carbonenginejs.contract.ITr2ControllerAction\");\r\n\r\nconst ACTION_NOOPS = [ \"Link\", \"Unlink\", \"Start\", \"Stop\", \"RebaseSimTime\" ];\r\nconst ACTION_DEFAULTS = [ \"CanTransition\" ];\r\n\r\n\r\n/** Contract for an action a controller drives between Start and Stop. */\r\nexport class ITr2ControllerAction\r\n{\r\n static [Symbol.hasInstance](value)\r\n {\r\n return value !== null && value !== undefined && value[ITR2_CONTROLLER_ACTION] === true;\r\n }\r\n\r\n /**\r\n * Attaches this action to the controller that will drive it.\r\n *\r\n * @param {object} _controller The driving action controller.\r\n */\r\n Link(_controller)\r\n {\r\n }\r\n\r\n /** Detaches this action, dropping every reference to the controller. */\r\n Unlink()\r\n {\r\n }\r\n\r\n /**\r\n * Begins the action.\r\n *\r\n * @param {object} _controller The driving action controller.\r\n */\r\n Start(_controller)\r\n {\r\n }\r\n\r\n /**\r\n * Stops the action.\r\n *\r\n * @param {object} _controller The driving action controller.\r\n */\r\n Stop(_controller)\r\n {\r\n }\r\n\r\n /**\r\n * Shifts any absolute sim-clock times this action holds.\r\n *\r\n * @param {number} _diff Seconds added to the sim clock.\r\n */\r\n RebaseSimTime(_diff)\r\n {\r\n }\r\n\r\n /**\r\n * Whether the owning state may transition away while this action runs.\r\n *\r\n * THE ONE METHOD CARBON GIVES A CONCRETE DEFAULT: an action does not hold\r\n * its state hostage unless it says so.\r\n *\r\n * @returns {boolean} True unless the action needs to finish first.\r\n */\r\n CanTransition()\r\n {\r\n return true;\r\n }\r\n\r\n /**\r\n * Resolves the object an action operates on, preferring an explicitly supplied\r\n * owner over the controller's own owner.\r\n */\r\n static getOwner(controller, owner = null)\r\n {\r\n return owner ?? controller?.GetOwner() ?? null;\r\n }\r\n\r\n /**\r\n * Throws a TypeError naming the calling method when an action is invoked\r\n * without a controller.\r\n */\r\n static requireController(controller, methodName)\r\n {\r\n if (!controller)\r\n {\r\n throw new TypeError(`${methodName} expects a Tr2Controller as a parameter.`);\r\n }\r\n return controller;\r\n }\r\n\r\n /**\r\n * Gets the controller's current frame time in seconds, preferring the JS-only\r\n * CjsGetCurrentFrameTime hook and falling back to GetTime, then to the\r\n * supplied fallback.\r\n */\r\n static getTime(controller, fallback = 0)\r\n {\r\n if (controller?.CjsGetCurrentFrameTime)\r\n {\r\n return this.toNumber(controller.CjsGetCurrentFrameTime(), fallback);\r\n }\r\n return this.toNumber(controller?.GetTime?.(), fallback);\r\n }\r\n\r\n /**\r\n * Calls a method on a duck-typed target if it exists, returning undefined\r\n * rather than throwing when the target does not implement it.\r\n */\r\n static callTarget(target, methodName, ...args)\r\n {\r\n return this.hasFunction(target, methodName) ? target[methodName](...args) : undefined;\r\n }\r\n\r\n /**\r\n * Converts a value to a finite number, substituting the fallback for NaN and\r\n * infinities.\r\n */\r\n static toNumber(value, fallback = 0)\r\n {\r\n const number = Number(value);\r\n return Number.isFinite(number) ? number : fallback;\r\n }\r\n\r\n /**\r\n * Checks whether a value is an object carrying the named key, including\r\n * inherited keys.\r\n */\r\n static hasProperty(value, key)\r\n {\r\n return !!value && typeof value === \"object\" && key in value;\r\n }\r\n\r\n /** Checks whether a value is an object whose named key is callable. */\r\n static hasFunction(value, key)\r\n {\r\n return this.hasProperty(value, key) && typeof value[key] === \"function\";\r\n }\r\n\r\n /**\r\n * Narrows a value to an object reference, returning null for primitives and\r\n * nullish values.\r\n */\r\n static asObject(value)\r\n {\r\n return value && typeof value === \"object\" ? value : null;\r\n }\r\n\r\n /**\r\n * Reads a property from a duck-typed target, returning undefined when the\r\n * target is not an object or lacks the key.\r\n */\r\n static getProperty(target, propertyName)\r\n {\r\n return this.hasProperty(target, propertyName) ? target[propertyName] : undefined;\r\n }\r\n\r\n /**\r\n * Resolves the object held by an owner's named parameter, accepting\r\n * GetParameterObject, parameterObject or object as the payload accessor.\r\n */\r\n static getParameterOwner(owner, name)\r\n {\r\n const parameter = this.callTarget(owner, \"GetParameterByName\", name);\r\n if (!parameter)\r\n {\r\n return null;\r\n }\r\n return this.asObject(this.callTarget(parameter, \"GetParameterObject\") ?? this.getProperty(parameter, \"parameterObject\") ?? this.getProperty(parameter, \"object\"));\r\n }\r\n\r\n /**\r\n * Finds a named sound emitter on the owner, or null when the owner exposes no\r\n * emitter lookup.\r\n */\r\n static findSoundEmitter(owner, name)\r\n {\r\n return this.callTarget(owner, \"FindSoundEmitter\", name) ?? null;\r\n }\r\n\r\n /**\r\n * Resolves an owner's animation controller from either the\r\n * GetAnimationController method or the animationController property.\r\n */\r\n static getAnimationController(owner)\r\n {\r\n return this.callTarget(owner, \"GetAnimationController\") ?? this.getProperty(owner, \"animationController\") ?? null;\r\n }\r\n}\r\n\r\n\r\nBrand(ITr2ControllerAction, ITR2_CONTROLLER_ACTION, ACTION_NOOPS, []);\r\nfor (const name of ACTION_DEFAULTS) CjsSchema.decorateMethod(ITr2ControllerAction, name, impl.implemented);\r\nCjsSchema.define(ITr2ControllerAction, { className: \"ITr2ControllerAction\" });\r\n\r\n\r\n/**\r\n * Adds the ITr2ControllerAction contract without replacing an existing model\r\n * base.\r\n *\r\n * Every concrete action extends CjsModel, so the contract arrives as a mixin:\r\n * the action overrides the verbs it cares about and inherits Carbon's empty\r\n * body for the rest, and the owner of an `actions` list no longer has to ask.\r\n *\r\n * @param {Function} Base The class to extend.\r\n * @returns {Function} A subclass carrying the contract.\r\n */\r\nexport function withITr2ControllerAction(Base)\r\n{\r\n const Action = Adopt(Base, ITr2ControllerAction, [ ...ACTION_NOOPS, ...ACTION_DEFAULTS ]);\r\n\r\n Brand(Action, ITR2_CONTROLLER_ACTION, ACTION_NOOPS, []);\r\n for (const name of ACTION_DEFAULTS) CjsSchema.decorateMethod(Action, name, impl.implemented);\r\n\r\n return Action;\r\n}\r\n"],"names":["ITR2_CONTROLLER_ACTION","Symbol","for","ACTION_NOOPS","ACTION_DEFAULTS","ITr2ControllerAction","hasInstance","value","undefined","Link","_controller","Unlink","Start","Stop","RebaseSimTime","_diff","CanTransition","getOwner","controller","owner","GetOwner","requireController","methodName","TypeError","getTime","fallback","CjsGetCurrentFrameTime","toNumber","GetTime","callTarget","target","args","hasFunction","number","Number","isFinite","hasProperty","key","asObject","getProperty","propertyName","getParameterOwner","name","parameter","findSoundEmitter","getAnimationController","Brand","CjsSchema","decorateMethod","impl","implemented","define","className","withITr2ControllerAction","Base","Action","Adopt"],"mappings":"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"}
|
|
@@ -2,14 +2,15 @@ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../..
|
|
|
2
2
|
import { CjsModel } from '#model';
|
|
3
3
|
import { withITr2ControllerAction } from './ITr2ControllerAction.js';
|
|
4
4
|
import { io, type, carbon, impl } from '#schema';
|
|
5
|
-
import { ITr2GenericEmitterUpdateArguments as _ITr2GenericEmitterUp } from '../../particle/ITr2GenericEmitter.js';
|
|
5
|
+
import { ITr2GenericEmitterUpdateArguments as _ITr2GenericEmitterUp } from '../../particle/ITr2GenericEmitter/ITr2GenericEmitterUpdateArguments.js';
|
|
6
|
+
import '../../particle/ITr2GenericEmitter/ITr2GenericEmitter.js';
|
|
6
7
|
|
|
7
8
|
var _withITr2ControllerAc;
|
|
8
9
|
let _initProto, _initClass, _init_emitter, _init_extra_emitter, _init_rate, _init_extra_rate;
|
|
9
10
|
|
|
10
|
-
/**
|
|
11
|
-
* Controller action that emits a one-shot burst of particles from a dynamic
|
|
12
|
-
* emitter when it starts.
|
|
11
|
+
/**
|
|
12
|
+
* Controller action that emits a one-shot burst of particles from a dynamic
|
|
13
|
+
* emitter when it starts.
|
|
13
14
|
*/
|
|
14
15
|
let _Tr2ActionSpawnPartic;
|
|
15
16
|
new class extends _identity {
|
|
@@ -30,8 +31,8 @@ new class extends _identity {
|
|
|
30
31
|
emitter = (_initProto(this), _init_emitter(this, null));
|
|
31
32
|
rate = (_init_extra_emitter(this), _init_rate(this, 1));
|
|
32
33
|
|
|
33
|
-
/**
|
|
34
|
-
* Spawns particles on the configured emitter.
|
|
34
|
+
/**
|
|
35
|
+
* Spawns particles on the configured emitter.
|
|
35
36
|
*/
|
|
36
37
|
Start(_controller) {
|
|
37
38
|
if (!this.emitter) {
|
|
@@ -40,9 +41,9 @@ new class extends _identity {
|
|
|
40
41
|
this.emitter.SpawnParticles(_Tr2ActionSpawnPartic.#createEmitterUpdateArguments(), null, null, this.rate);
|
|
41
42
|
}
|
|
42
43
|
|
|
43
|
-
/**
|
|
44
|
-
* Builds the emitter update arguments used for a manual spawn, with an emit
|
|
45
|
-
* count factor of 1 so the authored rate is applied unscaled.
|
|
44
|
+
/**
|
|
45
|
+
* Builds the emitter update arguments used for a manual spawn, with an emit
|
|
46
|
+
* count factor of 1 so the authored rate is applied unscaled.
|
|
46
47
|
*/
|
|
47
48
|
}];
|
|
48
49
|
#createEmitterUpdateArguments() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2ActionSpawnParticles.js","sources":["../../../../../src/trinity/controllers/action/Tr2ActionSpawnParticles.js"],"sourcesContent":["// Source: trinity/trinity/Controllers/Actions/Tr2ActionSpawnParticles.h\
|
|
1
|
+
{"version":3,"file":"Tr2ActionSpawnParticles.js","sources":["../../../../../src/trinity/controllers/action/Tr2ActionSpawnParticles.js"],"sourcesContent":["// Source: trinity/trinity/Controllers/Actions/Tr2ActionSpawnParticles.h\n// Source: trinity/trinity/Controllers/Actions/Tr2ActionSpawnParticles.cpp\nimport { CjsModel } from \"#model\";\nimport { withITr2ControllerAction } from \"./ITr2ControllerAction.js\";\nimport { carbon, impl, io, type } from \"#schema\";\nimport { ITr2GenericEmitterUpdateArguments } from \"../../particle/ITr2GenericEmitter/index.js\";\n\n\n/**\n * Controller action that emits a one-shot burst of particles from a dynamic\n * emitter when it starts.\n */\n@type.define({\n className: \"Tr2ActionSpawnParticles\",\n family: \"controllers\"\n})\nexport class Tr2ActionSpawnParticles extends withITr2ControllerAction(CjsModel)\n{\n @io.persist\n @type.objectRef(\"Tr2DynamicEmitter\")\n emitter = null;\n\n @io.persist\n @type.float32\n rate = 1;\n\n /**\n * Spawns particles on the configured emitter.\n */\n @carbon.method\n @impl.adapted\n Start(_controller)\n {\n if (!this.emitter)\n {\n return;\n }\n this.emitter.SpawnParticles(Tr2ActionSpawnParticles.#createEmitterUpdateArguments(), null, null, this.rate);\n }\n\n /**\n * Builds the emitter update arguments used for a manual spawn, with an emit\n * count factor of 1 so the authored rate is applied unscaled.\n */\n static #createEmitterUpdateArguments()\n {\n const args = new ITr2GenericEmitterUpdateArguments();\n args.emitCountFactor = 1;\n return args;\n }\n}\n"],"names":["_Tr2ActionSpawnPartic","_identity","Tr2ActionSpawnParticles","_withITr2ControllerAc","withITr2ControllerAction","CjsModel","e","_init_emitter","_init_extra_emitter","_init_rate","_init_extra_rate","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persist","objectRef","float32","carbon","method","impl","adapted","constructor","args","emitter","rate","Start","_controller","SpawnParticles","#createEmitterUpdateArguments","ITr2GenericEmitterUpdateArguments","emitCountFactor"],"mappings":";;;;;;;;;;AAQA;AACA;AACA;AACA;AAHA,IAAAA;AAAA,IAAA,cAAAC,SAAA,CAAA;EAAA,QAIA,MAAAC,uBAAA,UAAAC,qBAAA,GAI6CC,wBAAwB,CAACC,QAAQ,CAAC,EAC/E;AAAA,IAAA;AAAA,MAAA,CAAA;QAAAC,CAAA,EAAA,CAAAC,aAAA,EAAAC,mBAAA,EAAAC,UAAA,EAAAC,gBAAA,EAAAC,UAAA,CAAA;QAAAC,CAAA,EAAA,CAAAZ,qBAAA,EAAAa,UAAA;AAAA,OAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CALCC,IAAI,CAACC,MAAM,CAAC;AACXC,QAAAA,SAAS,EAAE,yBAAyB;AACpCC,QAAAA,MAAM,EAAE;AACV,OAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAGCC,EAAE,EAAFA,EAAE,CAACC,OAAO,EAAA,MAAA,EACVL,IAAI,CAACM,SAAS,CAAC,mBAAmB,CAAC,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAGnCF,EAAE,EAAFA,EAAE,CAACC,OAAO,EACVL,IAAI,EAAJA,IAAI,CAACO,OAAO,CAAA,EAAA,EAAA,EAAA,MAAA,CAAA,EAAA,CAAA,CAMZC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,OAAO,6BAAAvB,qBAAA,CAAA;AAAA;AAAAwB,IAAAA,WAAAA,CAAA,GAAAC,IAAA,EAAA;AAAA,MAAA,KAAA,CAAA,GAAAA,IAAA,CAAA;MAAAlB,gBAAA,CAAA,IAAA,CAAA;AAAA,IAAA;AAVbmB,IAAAA,OAAO,IAAAlB,UAAA,CAAA,IAAA,CAAA,EAAAJ,aAAA,OAAG,IAAI,CAAA;AAIduB,IAAAA,IAAI,IAAAtB,mBAAA,CAAA,IAAA,CAAA,EAAAC,UAAA,OAAG,CAAC,CAAA;;AAER;AACF;AACA;IAGEsB,KAAKA,CAACC,WAAW,EACjB;AACE,MAAA,IAAI,CAAC,IAAI,CAACH,OAAO,EACjB;AACE,QAAA;AACF,MAAA;AACA,MAAA,IAAI,CAACA,OAAO,CAACI,cAAc,CAAC/B,qBAAuB,CAAC,6BAA6B,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC4B,IAAI,CAAC;AAC7G,IAAA;;AAEA;AACF;AACA;AACA;GAOC;EANQ,6BAA6BI,GACpC;AACE,IAAA,MAAMN,IAAI,GAAG,IAAIO,qBAAiC,EAAE;IACpDP,IAAI,CAACQ,eAAe,GAAG,CAAC;AACxB,IAAA,OAAOR,IAAI;AACb,EAAA;EAACD,WAAAA,GAAA;IAAA,KAAA,CAAA3B,qBAAA,GAAAa,UAAA,EAAA;AAAA,EAAA;AAAA,CAAA,EAAA;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
// Source: parser/include/ccpparser.h (CcpParser::Parse)
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Error raised while tokenizing or parsing an expression, carrying the source
|
|
5
|
+
* text, the reason, and the character position at which parsing failed.
|
|
6
|
+
*/
|
|
7
|
+
class CjsControllerExpressionCompileError extends Error {
|
|
8
|
+
expression;
|
|
9
|
+
reason;
|
|
10
|
+
position;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Formats the message as the position, reason and full expression so a failed
|
|
14
|
+
* compile is diagnosable from the message alone.
|
|
15
|
+
*/
|
|
16
|
+
constructor(data) {
|
|
17
|
+
super(`Error compiling expression at ${data.position}: ${data.reason} (${data.expression})`);
|
|
18
|
+
this.name = "CjsControllerExpressionCompileError";
|
|
19
|
+
this.expression = data.expression;
|
|
20
|
+
this.reason = data.reason;
|
|
21
|
+
this.position = data.position;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { CjsControllerExpressionCompileError };
|
|
26
|
+
//# sourceMappingURL=CjsControllerExpressionCompileError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CjsControllerExpressionCompileError.js","sources":["../../../../../src/trinity/controllers/expression/CjsControllerExpressionCompileError.js"],"sourcesContent":["// Source: parser/include/ccpparser.h (CcpParser::Parse)\r\n\r\n/**\r\n * Error raised while tokenizing or parsing an expression, carrying the source\r\n * text, the reason, and the character position at which parsing failed.\r\n */\r\nexport class CjsControllerExpressionCompileError extends Error\r\n{\r\n expression;\r\n reason;\r\n position;\r\n\r\n /**\r\n * Formats the message as the position, reason and full expression so a failed\r\n * compile is diagnosable from the message alone.\r\n */\r\n constructor(data)\r\n {\r\n super(`Error compiling expression at ${data.position}: ${data.reason} (${data.expression})`);\r\n this.name = \"CjsControllerExpressionCompileError\";\r\n this.expression = data.expression;\r\n this.reason = data.reason;\r\n this.position = data.position;\r\n }\r\n}\r\n"],"names":["CjsControllerExpressionCompileError","Error","expression","reason","position","constructor","data","name"],"mappings":"AAAA;;AAEA;AACA;AACA;AACA;AACO,MAAMA,mCAAmC,SAASC,KAAK,CAC9D;EACEC,UAAU;EACVC,MAAM;EACNC,QAAQ;;AAER;AACF;AACA;AACA;EACEC,WAAWA,CAACC,IAAI,EAChB;AACE,IAAA,KAAK,CAAC,CAAA,8BAAA,EAAiCA,IAAI,CAACF,QAAQ,CAAA,EAAA,EAAKE,IAAI,CAACH,MAAM,CAAA,EAAA,EAAKG,IAAI,CAACJ,UAAU,GAAG,CAAC;IAC5F,IAAI,CAACK,IAAI,GAAG,qCAAqC;AACjD,IAAA,IAAI,CAACL,UAAU,GAAGI,IAAI,CAACJ,UAAU;AACjC,IAAA,IAAI,CAACC,MAAM,GAAGG,IAAI,CAACH,MAAM;AACzB,IAAA,IAAI,CAACC,QAAQ,GAAGE,IAAI,CAACF,QAAQ;AAC/B,EAAA;AACF;;;;"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Source: parser/include/ccpparser.h (CcpParser::Program)
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Error raised while evaluating a compiled expression, carrying the source text
|
|
5
|
+
* and the reason.
|
|
6
|
+
*/
|
|
7
|
+
class CjsControllerExpressionEvaluateError extends Error {
|
|
8
|
+
expression;
|
|
9
|
+
reason;
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Formats the message as the reason and the full expression; unlike compile
|
|
13
|
+
* errors there is no meaningful source position at evaluation time.
|
|
14
|
+
*/
|
|
15
|
+
constructor(data) {
|
|
16
|
+
super(`Error evaluating expression: ${data.reason} (${data.expression})`);
|
|
17
|
+
this.name = "CjsControllerExpressionEvaluateError";
|
|
18
|
+
this.expression = data.expression;
|
|
19
|
+
this.reason = data.reason;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export { CjsControllerExpressionEvaluateError };
|
|
24
|
+
//# sourceMappingURL=CjsControllerExpressionEvaluateError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CjsControllerExpressionEvaluateError.js","sources":["../../../../../src/trinity/controllers/expression/CjsControllerExpressionEvaluateError.js"],"sourcesContent":["// Source: parser/include/ccpparser.h (CcpParser::Program)\r\n\r\n/**\r\n * Error raised while evaluating a compiled expression, carrying the source text\r\n * and the reason.\r\n */\r\nexport class CjsControllerExpressionEvaluateError extends Error\r\n{\r\n expression;\r\n reason;\r\n\r\n /**\r\n * Formats the message as the reason and the full expression; unlike compile\r\n * errors there is no meaningful source position at evaluation time.\r\n */\r\n constructor(data)\r\n {\r\n super(`Error evaluating expression: ${data.reason} (${data.expression})`);\r\n this.name = \"CjsControllerExpressionEvaluateError\";\r\n this.expression = data.expression;\r\n this.reason = data.reason;\r\n }\r\n}\r\n"],"names":["CjsControllerExpressionEvaluateError","Error","expression","reason","constructor","data","name"],"mappings":"AAAA;;AAEA;AACA;AACA;AACA;AACO,MAAMA,oCAAoC,SAASC,KAAK,CAC/D;EACEC,UAAU;EACVC,MAAM;;AAEN;AACF;AACA;AACA;EACEC,WAAWA,CAACC,IAAI,EAChB;IACE,KAAK,CAAC,CAAA,6BAAA,EAAgCA,IAAI,CAACF,MAAM,KAAKE,IAAI,CAACH,UAAU,CAAA,CAAA,CAAG,CAAC;IACzE,IAAI,CAACI,IAAI,GAAG,sCAAsC;AAClD,IAAA,IAAI,CAACJ,UAAU,GAAGG,IAAI,CAACH,UAAU;AACjC,IAAA,IAAI,CAACC,MAAM,GAAGE,IAAI,CAACF,MAAM;AAC3B,EAAA;AACF;;;;"}
|
|
@@ -0,0 +1,387 @@
|
|
|
1
|
+
import { CjsControllerExpressionCompileError } from './CjsControllerExpressionCompileError.js';
|
|
2
|
+
import { Tokenize, CONSTANTS, GetFunction, BLOCKED_IDENTIFIERS } from './expressionRuntime.js';
|
|
3
|
+
|
|
4
|
+
// Source: parser/include/ccpparser.h (CcpParser::Parse)
|
|
5
|
+
/**
|
|
6
|
+
* Recursive-descent parser turning expression source into the AST evaluated by
|
|
7
|
+
* CjsControllerExpressionProgram, collecting referenced variable and function
|
|
8
|
+
* names and rejecting identifiers that could reach the JavaScript prototype
|
|
9
|
+
* chain.
|
|
10
|
+
*/
|
|
11
|
+
class CjsControllerExpressionParser {
|
|
12
|
+
source;
|
|
13
|
+
options;
|
|
14
|
+
tokens;
|
|
15
|
+
index = 0;
|
|
16
|
+
variableNames = new Set();
|
|
17
|
+
functionNames = new Set();
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Tokenizes the source up front; a malformed character or unterminated string
|
|
21
|
+
* throws a CjsControllerExpressionCompileError here rather than during Parse.
|
|
22
|
+
*/
|
|
23
|
+
constructor(source, options) {
|
|
24
|
+
this.source = source;
|
|
25
|
+
this.options = options || {};
|
|
26
|
+
this.tokens = Tokenize(source);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Parses the whole source as a single expression and requires that all input
|
|
31
|
+
* is consumed.
|
|
32
|
+
*/
|
|
33
|
+
Parse() {
|
|
34
|
+
const expression = this.ParseConditional();
|
|
35
|
+
this.Expect("eof");
|
|
36
|
+
return expression;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Parses the ternary `cond ? a : b` level, which is right-associative and the
|
|
41
|
+
* lowest-precedence form.
|
|
42
|
+
*/
|
|
43
|
+
ParseConditional() {
|
|
44
|
+
const condition = this.ParseLogicalOr();
|
|
45
|
+
if (this.Match("operator", "?")) {
|
|
46
|
+
const consequent = this.ParseConditional();
|
|
47
|
+
this.Expect("operator", ":");
|
|
48
|
+
const alternate = this.ParseConditional();
|
|
49
|
+
return {
|
|
50
|
+
type: "conditional",
|
|
51
|
+
condition,
|
|
52
|
+
consequent,
|
|
53
|
+
alternate
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
return condition;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
/** Parses left-associative `||` chains. */
|
|
60
|
+
ParseLogicalOr() {
|
|
61
|
+
let node = this.ParseLogicalAnd();
|
|
62
|
+
while (this.Match("operator", "||")) {
|
|
63
|
+
node = {
|
|
64
|
+
type: "binary",
|
|
65
|
+
operator: "||",
|
|
66
|
+
left: node,
|
|
67
|
+
right: this.ParseLogicalAnd()
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
return node;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/** Parses left-associative `&&` chains, which bind tighter than `||`. */
|
|
74
|
+
ParseLogicalAnd() {
|
|
75
|
+
let node = this.ParseEquality();
|
|
76
|
+
while (this.Match("operator", "&&")) {
|
|
77
|
+
node = {
|
|
78
|
+
type: "binary",
|
|
79
|
+
operator: "&&",
|
|
80
|
+
left: node,
|
|
81
|
+
right: this.ParseEquality()
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
return node;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
/** Parses left-associative `==` and `!=` chains. */
|
|
88
|
+
ParseEquality() {
|
|
89
|
+
let node = this.ParseComparison();
|
|
90
|
+
while (true) {
|
|
91
|
+
if (this.Match("operator", "==")) {
|
|
92
|
+
node = {
|
|
93
|
+
type: "binary",
|
|
94
|
+
operator: "==",
|
|
95
|
+
left: node,
|
|
96
|
+
right: this.ParseComparison()
|
|
97
|
+
};
|
|
98
|
+
} else if (this.Match("operator", "!=")) {
|
|
99
|
+
node = {
|
|
100
|
+
type: "binary",
|
|
101
|
+
operator: "!=",
|
|
102
|
+
left: node,
|
|
103
|
+
right: this.ParseComparison()
|
|
104
|
+
};
|
|
105
|
+
} else {
|
|
106
|
+
return node;
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
/**
|
|
112
|
+
* Parses left-associative `<`, `<=`, `>` and `>=` chains, which bind tighter
|
|
113
|
+
* than equality.
|
|
114
|
+
*/
|
|
115
|
+
ParseComparison() {
|
|
116
|
+
let node = this.ParseTerm();
|
|
117
|
+
while (true) {
|
|
118
|
+
if (this.Match("operator", "<")) {
|
|
119
|
+
node = {
|
|
120
|
+
type: "binary",
|
|
121
|
+
operator: "<",
|
|
122
|
+
left: node,
|
|
123
|
+
right: this.ParseTerm()
|
|
124
|
+
};
|
|
125
|
+
} else if (this.Match("operator", "<=")) {
|
|
126
|
+
node = {
|
|
127
|
+
type: "binary",
|
|
128
|
+
operator: "<=",
|
|
129
|
+
left: node,
|
|
130
|
+
right: this.ParseTerm()
|
|
131
|
+
};
|
|
132
|
+
} else if (this.Match("operator", ">")) {
|
|
133
|
+
node = {
|
|
134
|
+
type: "binary",
|
|
135
|
+
operator: ">",
|
|
136
|
+
left: node,
|
|
137
|
+
right: this.ParseTerm()
|
|
138
|
+
};
|
|
139
|
+
} else if (this.Match("operator", ">=")) {
|
|
140
|
+
node = {
|
|
141
|
+
type: "binary",
|
|
142
|
+
operator: ">=",
|
|
143
|
+
left: node,
|
|
144
|
+
right: this.ParseTerm()
|
|
145
|
+
};
|
|
146
|
+
} else {
|
|
147
|
+
return node;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
/** Parses left-associative `+` and `-` chains. */
|
|
153
|
+
ParseTerm() {
|
|
154
|
+
let node = this.ParseFactor();
|
|
155
|
+
while (true) {
|
|
156
|
+
if (this.Match("operator", "+")) {
|
|
157
|
+
node = {
|
|
158
|
+
type: "binary",
|
|
159
|
+
operator: "+",
|
|
160
|
+
left: node,
|
|
161
|
+
right: this.ParseFactor()
|
|
162
|
+
};
|
|
163
|
+
} else if (this.Match("operator", "-")) {
|
|
164
|
+
node = {
|
|
165
|
+
type: "binary",
|
|
166
|
+
operator: "-",
|
|
167
|
+
left: node,
|
|
168
|
+
right: this.ParseFactor()
|
|
169
|
+
};
|
|
170
|
+
} else {
|
|
171
|
+
return node;
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
/**
|
|
177
|
+
* Parses left-associative `*`, `/` and `%` chains, which bind tighter than
|
|
178
|
+
* addition.
|
|
179
|
+
*/
|
|
180
|
+
ParseFactor() {
|
|
181
|
+
let node = this.ParseExponent();
|
|
182
|
+
while (true) {
|
|
183
|
+
if (this.Match("operator", "*")) {
|
|
184
|
+
node = {
|
|
185
|
+
type: "binary",
|
|
186
|
+
operator: "*",
|
|
187
|
+
left: node,
|
|
188
|
+
right: this.ParseExponent()
|
|
189
|
+
};
|
|
190
|
+
} else if (this.Match("operator", "/")) {
|
|
191
|
+
node = {
|
|
192
|
+
type: "binary",
|
|
193
|
+
operator: "/",
|
|
194
|
+
left: node,
|
|
195
|
+
right: this.ParseExponent()
|
|
196
|
+
};
|
|
197
|
+
} else if (this.Match("operator", "%")) {
|
|
198
|
+
node = {
|
|
199
|
+
type: "binary",
|
|
200
|
+
operator: "%",
|
|
201
|
+
left: node,
|
|
202
|
+
right: this.ParseExponent()
|
|
203
|
+
};
|
|
204
|
+
} else {
|
|
205
|
+
return node;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Parses `^` power chains; unlike most languages this level is
|
|
212
|
+
* left-associative here.
|
|
213
|
+
*/
|
|
214
|
+
ParseExponent() {
|
|
215
|
+
let node = this.ParseUnary();
|
|
216
|
+
while (this.Match("operator", "^")) {
|
|
217
|
+
node = {
|
|
218
|
+
type: "binary",
|
|
219
|
+
operator: "^",
|
|
220
|
+
left: node,
|
|
221
|
+
right: this.ParseUnary()
|
|
222
|
+
};
|
|
223
|
+
}
|
|
224
|
+
return node;
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/**
|
|
228
|
+
* Parses right-nested prefix `!`, `-` and `+` operators, falling through to a
|
|
229
|
+
* primary when none is present.
|
|
230
|
+
*/
|
|
231
|
+
ParseUnary() {
|
|
232
|
+
if (this.Match("operator", "!")) {
|
|
233
|
+
return {
|
|
234
|
+
type: "unary",
|
|
235
|
+
operator: "!",
|
|
236
|
+
argument: this.ParseUnary()
|
|
237
|
+
};
|
|
238
|
+
}
|
|
239
|
+
if (this.Match("operator", "-")) {
|
|
240
|
+
return {
|
|
241
|
+
type: "unary",
|
|
242
|
+
operator: "-",
|
|
243
|
+
argument: this.ParseUnary()
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
if (this.Match("operator", "+")) {
|
|
247
|
+
return {
|
|
248
|
+
type: "unary",
|
|
249
|
+
operator: "+",
|
|
250
|
+
argument: this.ParseUnary()
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
return this.ParsePrimary();
|
|
254
|
+
}
|
|
255
|
+
|
|
256
|
+
/**
|
|
257
|
+
* Parses a number, string, parenthesized expression, function call, built-in
|
|
258
|
+
* constant, or a variable identifier, recording bare identifiers in
|
|
259
|
+
* `variableNames`.
|
|
260
|
+
*/
|
|
261
|
+
ParsePrimary() {
|
|
262
|
+
const token = this.Peek();
|
|
263
|
+
if (this.Match("number")) {
|
|
264
|
+
return {
|
|
265
|
+
type: "literal",
|
|
266
|
+
value: token.value
|
|
267
|
+
};
|
|
268
|
+
}
|
|
269
|
+
if (this.Match("string")) {
|
|
270
|
+
return {
|
|
271
|
+
type: "literal",
|
|
272
|
+
value: token.value
|
|
273
|
+
};
|
|
274
|
+
}
|
|
275
|
+
if (this.Match("identifier")) {
|
|
276
|
+
const name = String(token.value);
|
|
277
|
+
this.AssertSafeIdentifier(name);
|
|
278
|
+
if (this.Match("operator", "(")) {
|
|
279
|
+
return this.ParseCall(name);
|
|
280
|
+
}
|
|
281
|
+
if (name in CONSTANTS) {
|
|
282
|
+
return {
|
|
283
|
+
type: "literal",
|
|
284
|
+
value: CONSTANTS[name]
|
|
285
|
+
};
|
|
286
|
+
}
|
|
287
|
+
this.variableNames.add(name);
|
|
288
|
+
return {
|
|
289
|
+
type: "identifier",
|
|
290
|
+
name
|
|
291
|
+
};
|
|
292
|
+
}
|
|
293
|
+
if (this.Match("operator", "(")) {
|
|
294
|
+
const node = this.ParseConditional();
|
|
295
|
+
this.Expect("operator", ")");
|
|
296
|
+
return node;
|
|
297
|
+
}
|
|
298
|
+
throw this.Error(`Unexpected token '${String(token.value)}'`);
|
|
299
|
+
}
|
|
300
|
+
|
|
301
|
+
/**
|
|
302
|
+
* Parses a call argument list after the opening parenthesis and fails
|
|
303
|
+
* compilation when the name resolves to no built-in or caller-supplied
|
|
304
|
+
* function, so unknown functions cannot reach evaluation.
|
|
305
|
+
*/
|
|
306
|
+
ParseCall(name) {
|
|
307
|
+
this.AssertSafeIdentifier(name);
|
|
308
|
+
if (!GetFunction(name, this.options)) {
|
|
309
|
+
throw this.Error(`Unknown function '${name}'`);
|
|
310
|
+
}
|
|
311
|
+
const args = [];
|
|
312
|
+
if (!this.Match("operator", ")")) {
|
|
313
|
+
do {
|
|
314
|
+
args.push(this.ParseConditional());
|
|
315
|
+
} while (this.Match("operator", ","));
|
|
316
|
+
this.Expect("operator", ")");
|
|
317
|
+
}
|
|
318
|
+
this.functionNames.add(name);
|
|
319
|
+
return {
|
|
320
|
+
type: "call",
|
|
321
|
+
name,
|
|
322
|
+
args
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
|
|
326
|
+
/**
|
|
327
|
+
* Rejects identifiers such as `__proto__`, `constructor` and `globalThis` that
|
|
328
|
+
* could be used to escape the sandboxed evaluator.
|
|
329
|
+
*/
|
|
330
|
+
AssertSafeIdentifier(name) {
|
|
331
|
+
if (BLOCKED_IDENTIFIERS.has(name)) {
|
|
332
|
+
throw this.Error(`Unsafe identifier '${name}'`);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
/**
|
|
337
|
+
* Returns the token at the cursor without consuming it; the stream always ends
|
|
338
|
+
* with an `eof` token.
|
|
339
|
+
*/
|
|
340
|
+
Peek() {
|
|
341
|
+
return this.tokens[this.index];
|
|
342
|
+
}
|
|
343
|
+
|
|
344
|
+
/**
|
|
345
|
+
* Consumes the next token and returns true when it has the given type and, if
|
|
346
|
+
* supplied, the given value; otherwise leaves the cursor untouched.
|
|
347
|
+
*/
|
|
348
|
+
Match(type, value) {
|
|
349
|
+
const token = this.Peek();
|
|
350
|
+
if (!token || token.type !== type) {
|
|
351
|
+
return false;
|
|
352
|
+
}
|
|
353
|
+
if (value !== undefined && token.value !== value) {
|
|
354
|
+
return false;
|
|
355
|
+
}
|
|
356
|
+
this.index++;
|
|
357
|
+
return true;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
/**
|
|
361
|
+
* Consumes and returns the next token, throwing a compile error naming the
|
|
362
|
+
* expected form when it does not match.
|
|
363
|
+
*/
|
|
364
|
+
Expect(type, value) {
|
|
365
|
+
const token = this.Peek();
|
|
366
|
+
if (this.Match(type, value)) {
|
|
367
|
+
return token;
|
|
368
|
+
}
|
|
369
|
+
throw this.Error(`Expected ${value || type}, got '${token ? String(token.value) : "end of input"}'`);
|
|
370
|
+
}
|
|
371
|
+
|
|
372
|
+
/**
|
|
373
|
+
* Builds a compile error carrying the source text and the character position
|
|
374
|
+
* of the current token.
|
|
375
|
+
*/
|
|
376
|
+
Error(message) {
|
|
377
|
+
const token = this.Peek();
|
|
378
|
+
return new CjsControllerExpressionCompileError({
|
|
379
|
+
expression: this.source,
|
|
380
|
+
reason: message,
|
|
381
|
+
position: token ? token.position : this.source.length
|
|
382
|
+
});
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
export { CjsControllerExpressionParser };
|
|
387
|
+
//# sourceMappingURL=CjsControllerExpressionParser.js.map
|