@carbonenginejs/runtime 0.1.0-alpha.2 → 0.1.0-alpha.4
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/NOTICE +5 -4
- package/dist/audio/generated/audio/AudEventKey.js +2 -2
- package/dist/audio/generated/audio/AudEventKey.js.map +1 -1
- package/dist/audio/generated/audio/AudSettings.js +2 -2
- package/dist/audio/generated/audio/AudSettings.js.map +1 -1
- package/dist/audio/index.js +1 -1
- package/dist/audio/trinity/audio/AudEmitter.js +4 -5
- package/dist/audio/trinity/audio/AudEmitter.js.map +1 -1
- package/dist/audio/trinity/audio/AudEventCurve.js +14 -14
- package/dist/audio/trinity/audio/AudEventCurve.js.map +1 -1
- package/dist/audio/trinity/audio/AudGameObjResource.js +13 -25
- package/dist/audio/trinity/audio/AudGameObjResource.js.map +1 -1
- package/dist/audio/trinity/audio/AudManager.js +2 -2
- package/dist/audio/trinity/audio/AudManager.js.map +1 -1
- package/dist/audio/trinity/audio/AudParameter.js +7 -11
- package/dist/audio/trinity/audio/AudParameter.js.map +1 -1
- package/dist/audio/trinity/audio/AudUIPlayer.js +2 -2
- package/dist/audio/trinity/audio/AudUIPlayer.js.map +1 -1
- package/dist/audio/trinity/audio/AudioCurveSetDriver.js +2 -2
- package/dist/audio/trinity/audio/AudioCurveSetDriver.js.map +1 -1
- package/dist/audio/trinity/audio/StretchAudio.js +2 -2
- package/dist/audio/trinity/audio/StretchAudio.js.map +1 -1
- package/dist/audio/trinity/index.js +1 -1
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js +2 -2
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js.map +1 -1
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js +2 -2
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js.map +1 -1
- package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js +1 -37
- package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ColorCurve.js +2 -2
- package/dist/character/incarna/curves/Tr2ColorCurve.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ColorKey.js +2 -2
- package/dist/character/incarna/curves/Tr2ColorKey.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ScalarCurve.js +2 -2
- package/dist/character/incarna/curves/Tr2ScalarCurve.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ScalarKey.js +2 -2
- package/dist/character/incarna/curves/Tr2ScalarKey.js.map +1 -1
- package/dist/character/incarna/interior/Tr2InteriorCell.js +2 -2
- package/dist/character/incarna/interior/Tr2InteriorCell.js.map +1 -1
- package/dist/character/library/CjsCharacterLibrary.js +9 -16
- package/dist/character/library/CjsCharacterLibrary.js.map +1 -1
- package/dist/character/library/CjsCharacterLibraryDocuments.js +20 -4
- package/dist/character/library/CjsCharacterLibraryDocuments.js.map +1 -1
- package/dist/character/model/CjsCharacterRecord.js +2 -2
- package/dist/character/model/CjsCharacterRecord.js.map +1 -1
- package/dist/character/model/activity/CjsCharacterArchetype.js +2 -2
- package/dist/character/model/activity/CjsCharacterArchetype.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterColorLocation.js +2 -2
- package/dist/character/model/appearance/CjsCharacterColorLocation.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterColorName.js +2 -2
- package/dist/character/model/appearance/CjsCharacterColorName.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterColorSelection.js +2 -2
- package/dist/character/model/appearance/CjsCharacterColorSelection.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterSculptSelection.js +2 -2
- package/dist/character/model/appearance/CjsCharacterSculptSelection.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterSculptingLocation.js +2 -2
- package/dist/character/model/appearance/CjsCharacterSculptingLocation.js.map +1 -1
- package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js +2 -2
- package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterColorValue.js +2 -2
- package/dist/character/model/catalog/CjsCharacterColorValue.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterDefinition.js +2 -2
- package/dist/character/model/catalog/CjsCharacterDefinition.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterMaterialProfile.js +2 -2
- package/dist/character/model/catalog/CjsCharacterMaterialProfile.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterModifierReference.js +2 -2
- package/dist/character/model/catalog/CjsCharacterModifierReference.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartMetadata.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartMetadata.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartModelBundle.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartModelBundle.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartSource.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartSource.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartType.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartType.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterProjectionProfile.js +2 -2
- package/dist/character/model/catalog/CjsCharacterProjectionProfile.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterRecipeEntry.js +2 -2
- package/dist/character/model/catalog/CjsCharacterRecipeEntry.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterRecipeProfile.js +2 -2
- package/dist/character/model/catalog/CjsCharacterRecipeProfile.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterTextureMetadata.js +2 -2
- package/dist/character/model/catalog/CjsCharacterTextureMetadata.js.map +1 -1
- package/dist/character/model/composition/CjsCharacterModifierLocation.js +2 -2
- package/dist/character/model/composition/CjsCharacterModifierLocation.js.map +1 -1
- package/dist/character/model/composition/CjsCharacterModifierSelection.js +2 -2
- package/dist/character/model/composition/CjsCharacterModifierSelection.js.map +1 -1
- package/dist/character/model/creation/CjsCharacterPaperdoll.js +2 -2
- package/dist/character/model/creation/CjsCharacterPaperdoll.js.map +1 -1
- package/dist/character/model/demographics/CjsCharacterAncestry.js +2 -2
- package/dist/character/model/demographics/CjsCharacterAncestry.js.map +1 -1
- package/dist/character/model/demographics/CjsCharacterBloodline.js +2 -2
- package/dist/character/model/demographics/CjsCharacterBloodline.js.map +1 -1
- package/dist/character/model/demographics/CjsCharacterRace.js +2 -2
- package/dist/character/model/demographics/CjsCharacterRace.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceBinding.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceBinding.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceLayer.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceLayer.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearancePlan.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearancePlan.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceSelection.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceSelection.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterBindingAlpha.js +2 -2
- package/dist/character/model/planning/CjsCharacterBindingAlpha.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCompositionInput.js +2 -2
- package/dist/character/model/planning/CjsCharacterCompositionInput.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCompositionPass.js +2 -2
- package/dist/character/model/planning/CjsCharacterCompositionPass.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCompositionTarget.js +2 -2
- package/dist/character/model/planning/CjsCharacterCompositionTarget.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCoverage.js +2 -2
- package/dist/character/model/planning/CjsCharacterCoverage.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js +2 -2
- package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterOrigin.js +2 -2
- package/dist/character/model/planning/CjsCharacterOrigin.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterResolvedPart.js +2 -2
- package/dist/character/model/planning/CjsCharacterResolvedPart.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterTextureAsset.js +2 -2
- package/dist/character/model/planning/CjsCharacterTextureAsset.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterTextureChannel.js +2 -2
- package/dist/character/model/planning/CjsCharacterTextureChannel.js.map +1 -1
- package/dist/character/model/resources/CjsCharacterPortraitResource.js +2 -2
- package/dist/character/model/resources/CjsCharacterPortraitResource.js.map +1 -1
- package/dist/character/model/resources/CjsCharacterResource.js +2 -2
- package/dist/character/model/resources/CjsCharacterResource.js.map +1 -1
- package/dist/character/trinity/interior/Tr2IntSkinnedObject.js +6 -5
- package/dist/character/trinity/interior/Tr2IntSkinnedObject.js.map +1 -1
- package/dist/character/trinity/interior/Tr2InteriorLightSource.js +2 -2
- package/dist/character/trinity/interior/Tr2InteriorLightSource.js.map +1 -1
- package/dist/character/trinity/interior/Tr2InteriorPlaceable.js +4 -5
- package/dist/character/trinity/interior/Tr2InteriorPlaceable.js.map +1 -1
- package/dist/character/trinity/interior/Tr2InteriorScene.js +2 -2
- package/dist/character/trinity/interior/Tr2InteriorScene.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js +2 -2
- package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2GStateParameter.js +2 -2
- package/dist/character/trinity/trinityCore/Tr2GStateParameter.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2Model.js +2 -2
- package/dist/character/trinity/trinityCore/Tr2Model.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js +21 -10
- package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js +64 -57
- package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js.map +1 -1
- package/dist/character/trinity/wod/WodBakingScene.js +2 -2
- package/dist/character/trinity/wod/WodBakingScene.js.map +1 -1
- package/dist/core/CjsLibrary.js +32 -685
- package/dist/core/CjsLibrary.js.map +1 -1
- package/dist/core/index.js +1 -2
- package/dist/core/index.js.map +1 -1
- package/dist/global/blue/BeInfo.js +95 -0
- package/dist/global/blue/BeInfo.js.map +1 -0
- package/dist/global/blue/CcpDateTime.js +53 -0
- package/dist/global/blue/CcpDateTime.js.map +1 -0
- package/dist/global/blue/CcpTime.js +148 -0
- package/dist/global/blue/CcpTime.js.map +1 -0
- package/dist/global/blue/CjsBlueOS.js +301 -0
- package/dist/global/blue/CjsBlueOS.js.map +1 -0
- package/dist/global/blue/CjsBluePaths.js +97 -0
- package/dist/global/blue/CjsBluePaths.js.map +1 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js +29 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js.map +1 -0
- package/dist/global/blue/IBlueEvents.js +34 -0
- package/dist/global/blue/IBlueEvents.js.map +1 -0
- package/dist/global/blue/IBlueOS.js +132 -0
- package/dist/global/blue/IBlueOS.js.map +1 -0
- package/dist/global/blue/IBluePaths.js +72 -0
- package/dist/global/blue/IBluePaths.js.map +1 -0
- package/dist/global/blue/IBlueResMan.js +93 -0
- package/dist/global/blue/IBlueResMan.js.map +1 -0
- package/dist/global/blue/IBlueResManNotifications.js +51 -0
- package/dist/global/blue/IBlueResManNotifications.js.map +1 -0
- package/dist/global/blue/ICatchupTicks.js +25 -0
- package/dist/global/blue/ICatchupTicks.js.map +1 -0
- package/dist/global/blue/IInitialize.js +47 -0
- package/dist/global/blue/IInitialize.js.map +1 -0
- package/dist/global/blue/IListNotify.js +44 -0
- package/dist/global/blue/IListNotify.js.map +1 -0
- package/dist/global/blue/INotify.js +65 -0
- package/dist/global/blue/INotify.js.map +1 -0
- package/dist/global/blue/ISimTimeRebaseNotify.js +28 -0
- package/dist/global/blue/ISimTimeRebaseNotify.js.map +1 -0
- package/dist/global/blue/IVariableTicker.js +24 -0
- package/dist/global/blue/IVariableTicker.js.map +1 -0
- package/dist/global/blue/blue.js +61 -0
- package/dist/global/blue/blue.js.map +1 -0
- package/dist/global/blue/enums/CjsBlueEnumRegistry.js +173 -0
- package/dist/global/blue/enums/CjsBlueEnumRegistry.js.map +1 -0
- package/dist/global/blue/index.js +19 -0
- package/dist/global/blue/index.js.map +1 -1
- package/dist/global/blue/registerTrinityEnums.js +43 -0
- package/dist/global/blue/registerTrinityEnums.js.map +1 -0
- package/dist/global/compose/abstract.js +81 -0
- package/dist/global/compose/abstract.js.map +1 -0
- package/dist/global/compose/interface.js +131 -26
- package/dist/global/compose/interface.js.map +1 -1
- package/dist/global/compose/notify.js +10 -1
- package/dist/global/compose/notify.js.map +1 -1
- package/dist/global/compose/values.js +116 -53
- package/dist/global/compose/values.js.map +1 -1
- package/dist/global/consts/blue.js +73 -0
- package/dist/global/consts/blue.js.map +1 -0
- package/dist/global/consts/graphics/index.js +1 -1
- package/dist/global/consts/graphics/trinityEnums.js +19 -7
- package/dist/global/consts/graphics/trinityEnums.js.map +1 -1
- package/dist/global/consts/index.js +2 -1
- package/dist/global/consts/index.js.map +1 -1
- package/dist/global/consts/trinity.js.map +1 -1
- package/dist/global/contracts/ITr2BoundingBox.js +1 -34
- package/dist/global/contracts/ITr2BoundingBox.js.map +1 -1
- package/dist/global/contracts/ITr2RenderNode.js +1 -27
- package/dist/global/contracts/ITr2RenderNode.js.map +1 -1
- package/dist/global/contracts/index.js +2 -4
- package/dist/global/contracts/index.js.map +1 -1
- package/dist/global/index.js +23 -5
- package/dist/global/index.js.map +1 -1
- package/dist/global/model/CjsModel.js +82 -99
- package/dist/global/model/CjsModel.js.map +1 -1
- package/dist/global/model/CjsModelState.js +0 -15
- package/dist/global/model/CjsModelState.js.map +1 -1
- package/dist/global/model/document/CjsDocumentHydrator.js +5 -1
- package/dist/global/model/document/CjsDocumentHydrator.js.map +1 -1
- package/dist/global/model/index.js +1 -1
- package/dist/global/schema/CjsSchema.js +275 -69
- package/dist/global/schema/CjsSchema.js.map +1 -1
- package/dist/global/schema/hydration.js +10 -8
- package/dist/global/schema/hydration.js.map +1 -1
- package/dist/global/schema/index.js +4 -3
- package/dist/global/schema/index.js.map +1 -1
- package/dist/global/schema/types/carbonTypes.js +1 -1
- package/dist/global/schema/types/carbonTypes.js.map +1 -1
- package/dist/global/utils/bytes.js +2 -0
- package/dist/global/utils/bytes.js.map +1 -1
- package/dist/global/utils/path.js +30 -1
- package/dist/global/utils/path.js.map +1 -1
- package/dist/index.js +59 -24
- package/dist/index.js.map +1 -1
- package/dist/resource/CjsResMan.js +206 -43
- package/dist/resource/CjsResMan.js.map +1 -1
- package/dist/resource/CjsResource.js +4 -1
- package/dist/resource/CjsResource.js.map +1 -1
- package/dist/resource/format/CjsBlueReader.js +8 -2
- package/dist/resource/format/CjsBlueReader.js.map +1 -1
- package/dist/resource/format/CjsResourceProbe.js +15 -16
- package/dist/resource/format/CjsResourceProbe.js.map +1 -1
- package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js +132 -75
- package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js.map +1 -1
- package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js +26 -0
- package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js.map +1 -1
- package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js +2 -1
- package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js.map +1 -1
- package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js +4 -0
- package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js.map +1 -0
- package/dist/resource/formats/black/core/blackDefinitions.js +1 -1
- package/dist/resource/formats/black/core/blackDefinitions.js.map +1 -1
- package/dist/resource/formats/black/core/blackSchema.js +1 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js +50 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/resource/formats/dds/core/helpers.js +51 -5
- package/dist/resource/formats/dds/core/helpers.js.map +1 -1
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js +94 -0
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js.map +1 -0
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js +189 -0
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js.map +1 -0
- package/dist/resource/formats/fsd/64/readers/index.js +2 -0
- package/dist/resource/formats/fsd/64/readers/index.js.map +1 -1
- package/dist/resource/formats/hlsl/core/detailMapFamily.js +18 -92
- package/dist/resource/formats/hlsl/core/detailMapFamily.js.map +1 -1
- package/dist/resource/formats/hlsl/core/textureArrayFamilies.js +285 -0
- package/dist/resource/formats/hlsl/core/textureArrayFamilies.js.map +1 -0
- package/dist/resource/formats/pickle/CjsPickleFormat.js +34 -14
- package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js +60 -451
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js +407 -0
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js.map +1 -0
- package/dist/resource/formats/pickle/core/pickleCommon.js +671 -0
- package/dist/resource/formats/pickle/core/pickleCommon.js.map +1 -0
- package/dist/resource/formats/red/core/blackDefinitions.js +1 -1
- package/dist/resource/formats/webgl/core/effectPackage.js +85 -7
- package/dist/resource/formats/webgl/core/effectPackage.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +666 -565
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
- package/dist/resource/formats/webgl/core/glslBackendBodySet.js +4 -4
- package/dist/resource/formats/webgl/core/glslBackendBodySet.js.map +1 -1
- package/dist/resource/formats/webgl/core/helpers.js +2 -2
- package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
- package/dist/resource/geometry/TriGeometryRes.js +61 -7
- package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +11 -11
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
- package/dist/resource/index.js +11 -0
- package/dist/resource/index.js.map +1 -1
- package/dist/resource/shader/Tr2EffectRes.js +2 -3
- package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialArea.js +3 -3
- package/dist/resource/shader/Tr2MaterialArea.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialMesh.js +2 -2
- package/dist/resource/shader/Tr2MaterialMesh.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialRes.js +3 -3
- package/dist/resource/shader/Tr2MaterialRes.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js +2 -2
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js +2 -2
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +4 -4
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
- package/dist/resource/texture/SolidColorTextureConstructor.js +46 -0
- package/dist/resource/texture/SolidColorTextureConstructor.js.map +1 -0
- package/dist/resource/texture/Tr2ImageRes.js +3 -4
- package/dist/resource/texture/Tr2ImageRes.js.map +1 -1
- package/dist/resource/texture/Tr2TextureLodManager.js +0 -1
- package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePackChannel.js +4 -4
- package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipeline.js +3 -4
- package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +5 -5
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +3 -3
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +2 -2
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js +6 -6
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
- package/dist/resource/texture/TriTextureRes.js +65 -21
- package/dist/resource/texture/TriTextureRes.js.map +1 -1
- package/dist/resource/texture/index.js +2 -0
- package/dist/resource/texture/index.js.map +1 -1
- package/dist/resource/texture/solidColorTexture.js +111 -0
- package/dist/resource/texture/solidColorTexture.js.map +1 -0
- package/dist/resource/video/AudioMetadata.js +41 -0
- package/dist/resource/video/AudioMetadata.js.map +1 -0
- package/dist/resource/video/IAudioSink.js +51 -0
- package/dist/resource/video/IAudioSink.js.map +1 -0
- package/dist/resource/video/IEncodedFrame.js +52 -0
- package/dist/resource/video/IEncodedFrame.js.map +1 -0
- package/dist/resource/video/IVideoContainerParser.js +70 -0
- package/dist/resource/video/IVideoContainerParser.js.map +1 -0
- package/dist/resource/video/IVideoDecoder.js +36 -0
- package/dist/resource/video/IVideoDecoder.js.map +1 -0
- package/dist/resource/video/PcmFrame.js +33 -0
- package/dist/resource/video/PcmFrame.js.map +1 -0
- package/dist/resource/video/VideoFrame.js +45 -0
- package/dist/resource/video/VideoFrame.js.map +1 -0
- package/dist/resource/video/VideoMetadata.js +34 -0
- package/dist/resource/video/VideoMetadata.js.map +1 -0
- package/dist/resource/video/enums.js +30 -0
- package/dist/resource/video/enums.js.map +1 -0
- package/dist/sof/EveSOF.js +176 -176
- package/dist/sof/EveSOF.js.map +1 -1
- package/dist/sof/EveSOFDNA.js +5 -1
- package/dist/sof/EveSOFDNA.js.map +1 -1
- package/dist/sof/EveSOFData.js +2 -2
- package/dist/sof/EveSOFData.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFaction.js +2 -2
- package/dist/sof/faction/EveSOFDataFaction.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionChild.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionChild.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionColorSet.js +189 -3
- package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionHullArea.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionHullArea.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionPlaneSet.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionPlaneSet.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGeneric.js +234 -230
- package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericDamage.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericDamage.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericDecalShader.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericDecalShader.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericHullCategory.js +27 -23
- package/dist/sof/generic/EveSOFDataGenericHullCategory.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericHullDamage.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericHullDamage.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericShader.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericShader.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericString.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericString.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericSwarm.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericSwarm.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericVariant.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericVariant.js.map +1 -1
- package/dist/sof/generic/EveSOFDataVisibilityGroup.js +2 -2
- package/dist/sof/generic/EveSOFDataVisibilityGroup.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHull.js +56 -3
- package/dist/sof/hull/EveSOFDataHull.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullAnimation.js +2 -2
- package/dist/sof/hull/EveSOFDataHullAnimation.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullArea.js +58 -54
- package/dist/sof/hull/EveSOFDataHullArea.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBanner.js +109 -3
- package/dist/sof/hull/EveSOFDataHullBanner.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBannerLight.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBannerLight.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBannerSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBannerSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBannerSetItem.js +109 -3
- package/dist/sof/hull/EveSOFDataHullBannerSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBooster.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBooster.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBoosterItem.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBoosterItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullChild.js +55 -50
- package/dist/sof/hull/EveSOFDataHullChild.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullChildSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullChildSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullChildSetItem.js +51 -46
- package/dist/sof/hull/EveSOFDataHullChildSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullController.js +2 -2
- package/dist/sof/hull/EveSOFDataHullController.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullDecalSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullDecalSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullDecalSetItem.js +45 -3
- package/dist/sof/hull/EveSOFDataHullDecalSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullHazeSet.js +21 -3
- package/dist/sof/hull/EveSOFDataHullHazeSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullHazeSetItem.js +47 -43
- package/dist/sof/hull/EveSOFDataHullHazeSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLightSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSetItem.js +4 -2
- package/dist/sof/hull/EveSOFDataHullLightSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLocator.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLocator.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLocatorSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLocatorSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullPlaneSet.js +29 -3
- package/dist/sof/hull/EveSOFDataHullPlaneSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js +81 -75
- package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSoundEmitter.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSoundEmitter.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpotlightSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSpotlightSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js +45 -41
- package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js +70 -66
- package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSpriteSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js +45 -41
- package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js +2 -2
- package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js.map +1 -1
- package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js +2 -2
- package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionBucket.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionBucket.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js +35 -3
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js.map +1 -1
- package/dist/sof/layout/EveSOFDataLayout.js +2 -2
- package/dist/sof/layout/EveSOFDataLayout.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPattern.js +2 -2
- package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternLayer.js +60 -3
- package/dist/sof/pattern/EveSOFDataPatternLayer.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js +23 -3
- package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternPerHull.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternPerHull.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternTransform.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternTransform.js.map +1 -1
- package/dist/sof/race/EveSOFDataRace.js +46 -42
- package/dist/sof/race/EveSOFDataRace.js.map +1 -1
- package/dist/sof/race/EveSOFDataRaceDamage.js +2 -2
- package/dist/sof/race/EveSOFDataRaceDamage.js.map +1 -1
- package/dist/sof/shared/CjsExternalRef.js +2 -2
- package/dist/sof/shared/CjsExternalRef.js.map +1 -1
- package/dist/sof/shared/EveSOFDNADescriptor.js +2 -2
- package/dist/sof/shared/EveSOFDNADescriptor.js.map +1 -1
- package/dist/sof/shared/EveSOFDataArea.js +61 -3
- package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
- package/dist/sof/shared/EveSOFDataAreaMaterial.js +4 -2
- package/dist/sof/shared/EveSOFDataAreaMaterial.js.map +1 -1
- package/dist/sof/shared/EveSOFDataBlinkType.js +48 -8
- package/dist/sof/shared/EveSOFDataBlinkType.js.map +1 -1
- package/dist/sof/shared/EveSOFDataBooster.js +2 -2
- package/dist/sof/shared/EveSOFDataBooster.js.map +1 -1
- package/dist/sof/shared/EveSOFDataBoosterShape.js +2 -2
- package/dist/sof/shared/EveSOFDataBoosterShape.js.map +1 -1
- package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js +2 -2
- package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js.map +1 -1
- package/dist/sof/shared/EveSOFDataInstancedMesh.js +40 -3
- package/dist/sof/shared/EveSOFDataInstancedMesh.js.map +1 -1
- package/dist/sof/shared/EveSOFDataLogo.js +2 -2
- package/dist/sof/shared/EveSOFDataLogo.js.map +1 -1
- package/dist/sof/shared/EveSOFDataLogoSet.js +33 -3
- package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
- package/dist/sof/shared/EveSOFDataMaterial.js +2 -2
- package/dist/sof/shared/EveSOFDataMaterial.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameter.js +2 -2
- package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterBool.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterColor.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterFloat.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterInt.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterVector2.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterVector3.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -1
- package/dist/sof/shared/EveSOFDataPointLightAttachment.js +2 -2
- package/dist/sof/shared/EveSOFDataPointLightAttachment.js.map +1 -1
- package/dist/sof/shared/EveSOFDataSpotLightAttachment.js +2 -2
- package/dist/sof/shared/EveSOFDataSpotLightAttachment.js.map +1 -1
- package/dist/sof/shared/EveSOFDataTexture.js +2 -2
- package/dist/sof/shared/EveSOFDataTexture.js.map +1 -1
- package/dist/sof/shared/EveSOFDataTransform.js +2 -2
- package/dist/sof/shared/EveSOFDataTransform.js.map +1 -1
- package/dist/sof/shared/EveSofDataMeshInstance.js +2 -2
- package/dist/sof/shared/EveSofDataMeshInstance.js.map +1 -1
- package/dist/sof/sofDocumentValues.js +9 -0
- package/dist/sof/sofDocumentValues.js.map +1 -1
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +2 -25
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -1
- package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js +2 -72
- package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -1
- package/dist/trinity/controllers/ITr2ControllerOwner.js +1 -36
- package/dist/trinity/controllers/ITr2ControllerOwner.js.map +1 -1
- package/dist/trinity/controllers/Tr2Controller.js +4 -5
- package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
- package/dist/trinity/controllers/Tr2ControllerEventHandler.js +2 -2
- package/dist/trinity/controllers/Tr2ControllerEventHandler.js.map +1 -1
- package/dist/trinity/controllers/Tr2ControllerReference.js +9 -17
- package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/trinity/controllers/Tr2SyncToAnimation.js +4 -5
- package/dist/trinity/controllers/Tr2SyncToAnimation.js.map +1 -1
- package/dist/trinity/controllers/action/ITr2ControllerAction.js +1 -28
- package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js +9 -7
- package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js +11 -9
- package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js +9 -7
- package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionCallback.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionCallback.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionChildEffect.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionChildEffect.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionOverlay.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionOverlay.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js +13 -9
- package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPlaySound.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionPlaySound.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPython.js +6 -6
- package/dist/trinity/controllers/action/Tr2ActionPython.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js +8 -17
- package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetValue.js +11 -9
- package/dist/trinity/controllers/action/Tr2ActionSetValue.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/trinity/controllers/contracts.js +27 -19
- package/dist/trinity/controllers/contracts.js.map +1 -1
- package/dist/trinity/controllers/expression/Tr2BindingPoint.js +6 -15
- package/dist/trinity/controllers/expression/Tr2BindingPoint.js.map +1 -1
- package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js +2 -2
- package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js.map +1 -1
- package/dist/trinity/controllers/expression/expressionRuntime.js +136 -0
- package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -1
- package/dist/trinity/controllers/index.js +6 -6
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +1 -24
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
- package/dist/trinity/controllers/state/Tr2StateMachine.js +4 -6
- package/dist/trinity/controllers/state/Tr2StateMachine.js.map +1 -1
- package/dist/trinity/controllers/state/Tr2StateMachineState.js +6 -6
- package/dist/trinity/controllers/state/Tr2StateMachineState.js.map +1 -1
- package/dist/trinity/controllers/state/Tr2StateMachineTransition.js +12 -9
- package/dist/trinity/controllers/state/Tr2StateMachineTransition.js.map +1 -1
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js +5 -6
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
- package/dist/trinity/core/ITr2Renderable.js +1 -49
- package/dist/trinity/core/ITr2Renderable.js.map +1 -1
- package/dist/trinity/core/ITr2Updateable.js +1 -22
- package/dist/trinity/core/ITr2Updateable.js.map +1 -1
- package/dist/trinity/core/ITriReroutable.js +56 -0
- package/dist/trinity/core/ITriReroutable.js.map +1 -0
- package/dist/trinity/core/Tr2Denoiser.js +2 -2
- package/dist/trinity/core/Tr2Denoiser.js.map +1 -1
- package/dist/trinity/core/Tr2MaterialParameterStore.js +2 -2
- package/dist/trinity/core/Tr2MaterialParameterStore.js.map +1 -1
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js +2 -2
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -1
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +1 -1
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -1
- package/dist/trinity/core/Tr2Renderer.js +161 -4
- package/dist/trinity/core/Tr2Renderer.js.map +1 -1
- package/dist/trinity/core/Tr2ShadowMap.js +3 -3
- package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
- package/dist/trinity/core/Tr2StreamingBitmapSaver.js +2 -2
- package/dist/trinity/core/Tr2StreamingBitmapSaver.js.map +1 -1
- package/dist/trinity/core/Tr2Transform.js +4 -5
- package/dist/trinity/core/Tr2Transform.js.map +1 -1
- package/dist/trinity/core/animation/Tr2GrannyAnimation.js +2 -2
- package/dist/trinity/core/animation/Tr2GrannyAnimation.js.map +1 -1
- package/dist/trinity/core/animation/Tr2TextureAnimation.js +2 -2
- package/dist/trinity/core/animation/Tr2TextureAnimation.js.map +1 -1
- package/dist/trinity/core/animation/TriRigidOrientation.js +2 -2
- package/dist/trinity/core/animation/TriRigidOrientation.js.map +1 -1
- package/dist/trinity/core/animation/TriTorque.js +2 -2
- package/dist/trinity/core/animation/TriTorque.js.map +1 -1
- package/dist/trinity/core/batch/CjsBatchManager.js +15 -50
- package/dist/trinity/core/batch/CjsBatchManager.js.map +1 -1
- package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js +12 -14
- package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -1
- package/dist/trinity/core/binding/Tr2BindingVector3.js +2 -2
- package/dist/trinity/core/binding/Tr2BindingVector3.js.map +1 -1
- package/dist/trinity/core/binding/Tr2DynamicBinding.js +6 -20
- package/dist/trinity/core/binding/Tr2DynamicBinding.js.map +1 -1
- package/dist/trinity/core/binding/Tr2ExternalParameter.js +3 -6
- package/dist/trinity/core/binding/Tr2ExternalParameter.js.map +1 -1
- package/dist/trinity/core/binding/Tr2PyValueBinding.js +2 -2
- package/dist/trinity/core/binding/Tr2PyValueBinding.js.map +1 -1
- package/dist/trinity/core/binding/TriValueBinding.js +50 -24
- package/dist/trinity/core/binding/TriValueBinding.js.map +1 -1
- package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js +0 -6
- package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js.map +1 -1
- package/dist/trinity/core/context/CjsTrinityStepExecutor.js +7 -10
- package/dist/trinity/core/context/CjsTrinityStepExecutor.js.map +1 -1
- package/dist/trinity/core/context/Tr2RenderContext.js +74 -116
- package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
- package/dist/trinity/core/device/Tr2DepthStencil.js +2 -2
- package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
- package/dist/trinity/core/device/Tr2GpuBuffer.js +2 -2
- package/dist/trinity/core/device/Tr2GpuBuffer.js.map +1 -1
- package/dist/trinity/core/device/Tr2RenderTarget.js +2 -2
- package/dist/trinity/core/device/Tr2RenderTarget.js.map +1 -1
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js +2 -2
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -1
- package/dist/trinity/core/device/Tr2SwapChain.js +2 -2
- package/dist/trinity/core/device/Tr2SwapChain.js.map +1 -1
- package/dist/trinity/core/device/TriDevice.js +576 -37
- package/dist/trinity/core/device/TriDevice.js.map +1 -1
- package/dist/trinity/core/device/gTriDev.js +49 -0
- package/dist/trinity/core/device/gTriDev.js.map +1 -0
- package/dist/trinity/core/index.js +9 -5
- package/dist/trinity/core/index.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2KelvinColor.js +2 -2
- package/dist/trinity/core/lighting/Tr2KelvinColor.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js +7 -17
- package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2ShLightingManager.js +2 -2
- package/dist/trinity/core/lighting/Tr2ShLightingManager.js.map +1 -1
- package/dist/trinity/core/line/Tr2BoundingLineSet.js +2 -2
- package/dist/trinity/core/line/Tr2BoundingLineSet.js.map +1 -1
- package/dist/trinity/core/line/Tr2CurveLineSet.js +10 -7
- package/dist/trinity/core/line/Tr2CurveLineSet.js.map +1 -1
- package/dist/trinity/core/line/Tr2LineGraph.js +2 -2
- package/dist/trinity/core/line/Tr2LineGraph.js.map +1 -1
- package/dist/trinity/core/line/Tr2PrimitiveSet.js +4 -5
- package/dist/trinity/core/line/Tr2PrimitiveSet.js.map +1 -1
- package/dist/trinity/core/line/TriLineSet.js +2 -2
- package/dist/trinity/core/line/TriLineSet.js.map +1 -1
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js +1 -37
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -1
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js +1 -34
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +5 -6
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2InstancedMesh.js +2 -2
- package/dist/trinity/core/mesh/Tr2InstancedMesh.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2Mesh.js +288 -183
- package/dist/trinity/core/mesh/Tr2Mesh.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2MeshArea.js +32 -3
- package/dist/trinity/core/mesh/Tr2MeshArea.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2MeshBase.js +58 -8
- package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +141 -142
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js +2 -2
- package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js.map +1 -1
- package/dist/trinity/core/procedural/GradientTextureConstructor.js +62 -0
- package/dist/trinity/core/procedural/GradientTextureConstructor.js.map +1 -0
- package/dist/trinity/core/procedural/gradientTexture.js +196 -0
- package/dist/trinity/core/procedural/gradientTexture.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -1
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +5 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -1
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +2 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -1
- package/dist/trinity/core/tool/Tr2ManipulationTool.js +2 -2
- package/dist/trinity/core/tool/Tr2ManipulationTool.js.map +1 -1
- package/dist/trinity/core/tool/Tr2RotationTool.js +2 -2
- package/dist/trinity/core/tool/Tr2RotationTool.js.map +1 -1
- package/dist/trinity/core/tool/Tr2ScalingTool.js +2 -2
- package/dist/trinity/core/tool/Tr2ScalingTool.js.map +1 -1
- package/dist/trinity/core/tool/Tr2TranslationTool.js +2 -2
- package/dist/trinity/core/tool/Tr2TranslationTool.js.map +1 -1
- package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js +2 -2
- package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js.map +1 -1
- package/dist/trinity/core/variable/TriFloat.js +2 -2
- package/dist/trinity/core/variable/TriFloat.js.map +1 -1
- package/dist/trinity/core/variable/TriObserverLocal.js +2 -2
- package/dist/trinity/core/variable/TriObserverLocal.js.map +1 -1
- package/dist/trinity/core/variable/TriVariable.js +2 -2
- package/dist/trinity/core/variable/TriVariable.js.map +1 -1
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js +2 -0
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -1
- package/dist/trinity/core/view/TriProjection.js +2 -2
- package/dist/trinity/core/view/TriProjection.js.map +1 -1
- package/dist/trinity/core/view/TriRect.js +2 -2
- package/dist/trinity/core/view/TriRect.js.map +1 -1
- package/dist/trinity/core/view/TriView.js +2 -2
- package/dist/trinity/core/view/TriView.js.map +1 -1
- package/dist/trinity/core/view/TriViewport.js +2 -2
- package/dist/trinity/core/view/TriViewport.js.map +1 -1
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +3 -3
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
- package/dist/trinity/curves/Tr2CurveSetRange.js +2 -2
- package/dist/trinity/curves/Tr2CurveSetRange.js.map +1 -1
- package/dist/trinity/curves/TriCurveSet.js +2 -2
- package/dist/trinity/curves/TriCurveSet.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveColor.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveColor.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveColorMixer.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveColorMixer.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveCombiner.js +3 -3
- package/dist/trinity/curves/curve/Tr2CurveCombiner.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveConstant.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveConstant.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveQuaternion.js +3 -3
- package/dist/trinity/curves/curve/Tr2CurveQuaternion.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveScalar.js +3 -3
- package/dist/trinity/curves/curve/Tr2CurveScalar.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector2.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector2.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector3.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector3.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2DistanceTracker.js +5 -5
- package/dist/trinity/curves/curve/Tr2DistanceTracker.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2FollowCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2FollowCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2RotationAdapter.js +2 -2
- package/dist/trinity/curves/curve/Tr2RotationAdapter.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2ScalarFader.js +2 -2
- package/dist/trinity/curves/curve/Tr2ScalarFader.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2TranslationAdapter.js +2 -2
- package/dist/trinity/curves/curve/Tr2TranslationAdapter.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js +2 -2
- package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js.map +1 -1
- package/dist/trinity/curves/curve/TriColorSequencer.js +18 -18
- package/dist/trinity/curves/curve/TriColorSequencer.js.map +1 -1
- package/dist/trinity/curves/curve/TriEventCurve.js +51 -51
- package/dist/trinity/curves/curve/TriEventCurve.js.map +1 -1
- package/dist/trinity/curves/curve/TriPerlinCurve.js +2 -2
- package/dist/trinity/curves/curve/TriPerlinCurve.js.map +1 -1
- package/dist/trinity/curves/curve/TriVectorSequencer.js +36 -36
- package/dist/trinity/curves/curve/TriVectorSequencer.js.map +1 -1
- package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js +2 -2
- package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js.map +1 -1
- package/dist/trinity/curves/key/Tr2MatrixKey.js +2 -2
- package/dist/trinity/curves/key/Tr2MatrixKey.js.map +1 -1
- package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js +2 -2
- package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js.map +1 -1
- package/dist/trinity/curves/key/Tr2ScalarExprKey.js +28 -24
- package/dist/trinity/curves/key/Tr2ScalarExprKey.js.map +1 -1
- package/dist/trinity/curves/key/TriEventKey.js +2 -2
- package/dist/trinity/curves/key/TriEventKey.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyEventTrack.js +2 -2
- package/dist/trinity/curves/track/Tr2GrannyEventTrack.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyTrack.js +9 -4
- package/dist/trinity/curves/track/Tr2GrannyTrack.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js +2 -2
- package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js +2 -2
- package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js.map +1 -1
- package/dist/trinity/eve/AudioGameObject.js +6 -8
- package/dist/trinity/eve/AudioGameObject.js.map +1 -1
- package/dist/trinity/eve/EveCustomMask.js +2 -2
- package/dist/trinity/eve/EveCustomMask.js.map +1 -1
- package/dist/trinity/eve/EveDistanceField.js +6 -4
- package/dist/trinity/eve/EveDistanceField.js.map +1 -1
- package/dist/trinity/eve/EveImpactOverlay.js +2 -2
- package/dist/trinity/eve/EveImpactOverlay.js.map +1 -1
- package/dist/trinity/eve/EveThrottleable.js +2 -2
- package/dist/trinity/eve/EveThrottleable.js.map +1 -1
- package/dist/trinity/eve/EveTriggerVolume.js +4 -5
- package/dist/trinity/eve/EveTriggerVolume.js.map +1 -1
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js +1 -23
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
- package/dist/trinity/eve/IEveSpaceObject2.js +1 -24
- package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/IEveTransform.js +1 -22
- package/dist/trinity/eve/IEveTransform.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerItem.js +2 -2
- package/dist/trinity/eve/attachment/banner/EveBannerItem.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerLight.js +2 -2
- package/dist/trinity/eve/attachment/banner/EveBannerLight.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js +20 -3
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +127 -122
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +5 -5
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +4 -5
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveTrailsSet.js +4 -2
- package/dist/trinity/eve/attachment/booster/EveTrailsSet.js.map +1 -1
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +169 -155
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js +3 -3
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js +2 -2
- package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js +2 -2
- package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneLight.js +2 -2
- package/dist/trinity/eve/attachment/plane/EvePlaneLight.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +10 -4
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js +3 -2
- package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js +2 -2
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +3 -3
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js +2 -2
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js +2 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +4 -4
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js +2 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +5 -5
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js +2 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js +7 -4
- package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +177 -144
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js +2 -2
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/trinity/eve/camera/EveCamera.js +5 -11
- package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
- package/dist/trinity/eve/child/EveChildAudio.js +4 -5
- package/dist/trinity/eve/child/EveChildAudio.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBehaviorSystem.js +5 -6
- package/dist/trinity/eve/child/EveChildBehaviorSystem.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBoosterSet.js +6 -6
- package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBulletStorm.js +4 -5
- package/dist/trinity/eve/child/EveChildBulletStorm.js.map +1 -1
- package/dist/trinity/eve/child/EveChildCloud.js +5 -6
- package/dist/trinity/eve/child/EveChildCloud.js.map +1 -1
- package/dist/trinity/eve/child/EveChildCloud2.js +166 -166
- package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/trinity/eve/child/EveChildContainer.js +235 -169
- package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildEffectPropagator.js +9 -9
- package/dist/trinity/eve/child/EveChildEffectPropagator.js.map +1 -1
- package/dist/trinity/eve/child/EveChildExplosion.js +11 -7
- package/dist/trinity/eve/child/EveChildExplosion.js.map +1 -1
- package/dist/trinity/eve/child/EveChildFogVolume.js +2 -2
- package/dist/trinity/eve/child/EveChildFogVolume.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInheritProperties.js +2 -2
- package/dist/trinity/eve/child/EveChildInheritProperties.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstanceContainer.js +2 -2
- package/dist/trinity/eve/child/EveChildInstanceContainer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js +11 -7
- package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +2 -2
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +2 -2
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +2 -2
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js +4 -5
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -1
- package/dist/trinity/eve/child/EveChildLightingOverride.js +4 -5
- package/dist/trinity/eve/child/EveChildLightingOverride.js.map +1 -1
- package/dist/trinity/eve/child/EveChildLineSet.js +4 -5
- package/dist/trinity/eve/child/EveChildLineSet.js.map +1 -1
- package/dist/trinity/eve/child/EveChildLink.js +2 -2
- package/dist/trinity/eve/child/EveChildLink.js.map +1 -1
- package/dist/trinity/eve/child/EveChildMesh.js +315 -229
- package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +2 -2
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js +2 -2
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -1
- package/dist/trinity/eve/child/EveChildParticleSphere.js +4 -5
- package/dist/trinity/eve/child/EveChildParticleSphere.js.map +1 -1
- package/dist/trinity/eve/child/EveChildParticleSystem.js +36 -36
- package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPlug.js +60 -14
- package/dist/trinity/eve/child/EveChildPlug.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPostProcessVolume.js +2 -2
- package/dist/trinity/eve/child/EveChildPostProcessVolume.js.map +1 -1
- package/dist/trinity/eve/child/EveChildQuad.js +4 -5
- package/dist/trinity/eve/child/EveChildQuad.js.map +1 -1
- package/dist/trinity/eve/child/EveChildRef.js +2 -2
- package/dist/trinity/eve/child/EveChildRef.js.map +1 -1
- package/dist/trinity/eve/child/EveChildSocket.js +2 -2
- package/dist/trinity/eve/child/EveChildSocket.js.map +1 -1
- package/dist/trinity/eve/child/EveChildSpherePin.js +4 -4
- package/dist/trinity/eve/child/EveChildSpherePin.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTurret.js +4 -4
- package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
- package/dist/trinity/eve/child/EveCloudVolumeBall.js +2 -2
- package/dist/trinity/eve/child/EveCloudVolumeBall.js.map +1 -1
- package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js +6 -6
- package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
- package/dist/trinity/eve/child/EveSpaceObjectChild.js +2 -2
- package/dist/trinity/eve/child/EveSpaceObjectChild.js.map +1 -1
- package/dist/trinity/eve/child/IEveLightingOverride.js +1 -23
- package/dist/trinity/eve/child/IEveLightingOverride.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Allign.js +2 -2
- package/dist/trinity/eve/child/behaviors/Allign.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/ApproachGroup.js +2 -2
- package/dist/trinity/eve/child/behaviors/ApproachGroup.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/BackAndForth.js +2 -2
- package/dist/trinity/eve/child/behaviors/BackAndForth.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/BehaviorGroup.js +4 -4
- package/dist/trinity/eve/child/behaviors/BehaviorGroup.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js +2 -2
- package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js +2 -2
- package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/DroneAvoidance.js +2 -2
- package/dist/trinity/eve/child/behaviors/DroneAvoidance.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/FollowASpline.js +2 -2
- package/dist/trinity/eve/child/behaviors/FollowASpline.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Formation.js +2 -2
- package/dist/trinity/eve/child/behaviors/Formation.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/InclusionVolume.js +2 -2
- package/dist/trinity/eve/child/behaviors/InclusionVolume.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Inertia.js +2 -2
- package/dist/trinity/eve/child/behaviors/Inertia.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/PlayFX.js +2 -2
- package/dist/trinity/eve/child/behaviors/PlayFX.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/SeekTarget.js +2 -2
- package/dist/trinity/eve/child/behaviors/SeekTarget.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/SpawnDrones.js +2 -2
- package/dist/trinity/eve/child/behaviors/SpawnDrones.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Wander.js +2 -2
- package/dist/trinity/eve/child/behaviors/Wander.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js +2 -2
- package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js +2 -2
- package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -1
- package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js +8 -8
- package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
- package/dist/trinity/eve/child/lineSetPaths/EveCircle.js +8 -8
- package/dist/trinity/eve/child/lineSetPaths/EveCircle.js.map +1 -1
- package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js +2 -2
- package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
- package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js +5 -6
- package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +3 -3
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +3 -3
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js +2 -2
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +3 -3
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
- package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js +2 -2
- package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +2 -2
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +2 -2
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +2 -2
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +2 -2
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +4 -4
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +2 -2
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
- package/dist/trinity/eve/effect/lensflare/EveLensflare.js +4 -5
- package/dist/trinity/eve/effect/lensflare/EveLensflare.js.map +1 -1
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js +4 -5
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js.map +1 -1
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js +4 -4
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -1
- package/dist/trinity/eve/index.js +4 -4
- package/dist/trinity/eve/lights/Tr2FactionLight.js +5 -6
- package/dist/trinity/eve/lights/Tr2FactionLight.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2Light.js +37 -9
- package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2PointLight.js +2 -2
- package/dist/trinity/eve/lights/Tr2PointLight.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2SpotLight.js +2 -2
- package/dist/trinity/eve/lights/Tr2SpotLight.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2TexturedPointLight.js +29 -31
- package/dist/trinity/eve/lights/Tr2TexturedPointLight.js.map +1 -1
- package/dist/trinity/eve/locator/EveLocator2.js +2 -2
- package/dist/trinity/eve/locator/EveLocator2.js.map +1 -1
- package/dist/trinity/eve/locator/EveLocatorSets.js +13 -4
- package/dist/trinity/eve/locator/EveLocatorSets.js.map +1 -1
- package/dist/trinity/eve/locator/Locator.js +2 -2
- package/dist/trinity/eve/locator/Locator.js.map +1 -1
- package/dist/trinity/eve/overlays/EveDamageOverlay.js +2 -2
- package/dist/trinity/eve/overlays/EveDamageOverlay.js.map +1 -1
- package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js +2 -2
- package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +5 -6
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js +4 -5
- package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js +2 -2
- package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js +2 -2
- package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch.js +6 -6
- package/dist/trinity/eve/renderable/stretch/EveStretch.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js +10 -8
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js +4 -5
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceScene.js +2 -2
- package/dist/trinity/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js +2 -2
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
- package/dist/trinity/eve/scene/components/EveComponentRegistry.js +3 -3
- package/dist/trinity/eve/scene/components/EveComponentRegistry.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js +6 -7
- package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js +2 -2
- package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js +4 -8
- package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightMesh.js +7 -4
- package/dist/trinity/eve/smartLights/EveSmartLightMesh.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js +25 -15
- package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightQuad.js +4 -9
- package/dist/trinity/eve/smartLights/EveSmartLightQuad.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js +2 -2
- package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +2 -3
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +10 -18
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +4 -9
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterBool.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterBool.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterColor.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterColor.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterFloat.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterFloat.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterInt.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterInt.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterString.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterString.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterVector2.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterVector2.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterVector3.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterVector3.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterVector4.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterVector4.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveEffectRoot2.js +20 -17
- package/dist/trinity/eve/spaceObject/EveEffectRoot2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveMissile.js +2 -2
- package/dist/trinity/eve/spaceObject/EveMissile.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveMissileWarhead.js +2 -2
- package/dist/trinity/eve/spaceObject/EveMissileWarhead.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveMobile.js +2 -2
- package/dist/trinity/eve/spaceObject/EveMobile.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveRootTransform.js +2 -2
- package/dist/trinity/eve/spaceObject/EveRootTransform.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveShip2.js +2 -2
- package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +539 -432
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveTransform.js +7 -7
- package/dist/trinity/eve/spaceObject/EveTransform.js.map +1 -1
- package/dist/trinity/eve/spaceObject/IEveSpaceObject2ParentData.js +44 -52
- package/dist/trinity/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -1
- package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +2 -2
- package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -1
- package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +2 -2
- package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -1
- package/dist/trinity/eve/spaceObject/planet/EvePlanet.js +2 -2
- package/dist/trinity/eve/spaceObject/planet/EvePlanet.js.map +1 -1
- package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js +2 -2
- package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js +7 -8
- package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
- package/dist/trinity/eve/ui/EveConnector.js +2 -2
- package/dist/trinity/eve/ui/EveConnector.js.map +1 -1
- package/dist/trinity/eve/ui/EveEllipseDefinition.js +2 -2
- package/dist/trinity/eve/ui/EveEllipseDefinition.js.map +1 -1
- package/dist/trinity/eve/ui/EveEllipseSet.js +36 -6
- package/dist/trinity/eve/ui/EveEllipseSet.js.map +1 -1
- package/dist/trinity/eve/ui/EveLineContainer.js +4 -5
- package/dist/trinity/eve/ui/EveLineContainer.js.map +1 -1
- package/dist/trinity/eve/ui/EveProjectBracket.js +11 -3
- package/dist/trinity/eve/ui/EveProjectBracket.js.map +1 -1
- package/dist/trinity/eve/ui/EveSpherePin.js +6 -7
- package/dist/trinity/eve/ui/EveSpherePin.js.map +1 -1
- package/dist/trinity/eve/ui/EveSprite2dBracket.js +2 -2
- package/dist/trinity/eve/ui/EveSprite2dBracket.js.map +1 -1
- package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js +2 -2
- package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
- package/dist/trinity/eve/ui/EveTacticalOverlay.js +6 -24
- package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
- package/dist/trinity/eve/ui/EveUiObject.js +2 -2
- package/dist/trinity/eve/ui/EveUiObject.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +4 -5
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveLineSet.js +6 -7
- package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +2 -2
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -1
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +8 -9
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js +2 -2
- package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js +2 -2
- package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +4 -4
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +4 -4
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +2 -2
- package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
- package/dist/trinity/eve/volume/EveBoxVolume.js +44 -44
- package/dist/trinity/eve/volume/EveBoxVolume.js.map +1 -1
- package/dist/trinity/eve/volume/EveEllipsoidVolume.js +2 -2
- package/dist/trinity/eve/volume/EveEllipsoidVolume.js.map +1 -1
- package/dist/trinity/eve/volume/EveSphereVolume.js +5 -6
- package/dist/trinity/eve/volume/EveSphereVolume.js.map +1 -1
- package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js +2 -2
- package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
- package/dist/trinity/generated/eve/effect/EveOccluder.js +2 -2
- package/dist/trinity/generated/eve/effect/EveOccluder.js.map +1 -1
- package/dist/trinity/generated/eve/effect/EveStarfield.js +2 -2
- package/dist/trinity/generated/eve/effect/EveStarfield.js.map +1 -1
- package/dist/trinity/generated/font/Tr2FontManager.js +2 -2
- package/dist/trinity/generated/font/Tr2FontManager.js.map +1 -1
- package/dist/trinity/generated/font/Tr2FontMeasurer.js +2 -2
- package/dist/trinity/generated/font/Tr2FontMeasurer.js.map +1 -1
- package/dist/trinity/generated/font/Tr2SBitWrapper.js +2 -2
- package/dist/trinity/generated/font/Tr2SBitWrapper.js.map +1 -1
- package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js +2 -2
- package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
- package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js +2 -2
- package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2SSSSS.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2SSSSS.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
- package/dist/trinity/index.js +23 -16
- package/dist/trinity/index.js.map +1 -1
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js +1 -31
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -1
- package/dist/trinity/particle/Tr2ParticleSystem.js +51 -52
- package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js +2 -2
- package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js.map +1 -1
- package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js +13 -3
- package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js.map +1 -1
- package/dist/trinity/particle/constraint/Tr2SphereConstraint.js +2 -2
- package/dist/trinity/particle/constraint/Tr2SphereConstraint.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementData.js +22 -8
- package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js +13 -25
- package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js +38 -3
- package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +26 -27
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +4 -5
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js +2 -2
- package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +17 -18
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ForceSphereVolume.js +2 -2
- package/dist/trinity/particle/force/Tr2ForceSphereVolume.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleDirectForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleDirectForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleDragForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleDragForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleSpring.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleSpring.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleVortexForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleVortexForce.js.map +1 -1
- package/dist/trinity/particle/index.js +1 -1
- package/dist/trinity/postProcess/Tr2PostProcess.js +2 -2
- package/dist/trinity/postProcess/Tr2PostProcess.js.map +1 -1
- package/dist/trinity/postProcess/Tr2PostProcess2.js +2 -2
- package/dist/trinity/postProcess/Tr2PostProcess2.js.map +1 -1
- package/dist/trinity/postProcess/Tr2PostProcessAttributes.js +2 -2
- package/dist/trinity/postProcess/Tr2PostProcessAttributes.js.map +1 -1
- package/dist/trinity/postProcess/Tr2PostProcessRenderer.js +4 -4
- package/dist/trinity/postProcess/Tr2PostProcessRenderer.js.map +1 -1
- package/dist/trinity/postProcess/Tr2SSAO.js +4 -4
- package/dist/trinity/postProcess/Tr2SSAO.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js.map +1 -1
- package/dist/trinity/renderJob/Tr2RenderJobs.js +5 -5
- package/dist/trinity/renderJob/Tr2RenderJobs.js.map +1 -1
- package/dist/trinity/renderJob/TriRenderJob.js +4 -4
- package/dist/trinity/renderJob/TriRenderJob.js.map +1 -1
- package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js +4 -5
- package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js.map +1 -1
- package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js +4 -5
- package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js.map +1 -1
- package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js +2 -2
- package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js.map +1 -1
- package/dist/trinity/renderJob/step/TriRenderStep.js +2 -2
- package/dist/trinity/renderJob/step/TriRenderStep.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepClear.js +2 -2
- package/dist/trinity/renderJob/step/TriStepClear.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepClearUav.js +2 -2
- package/dist/trinity/renderJob/step/TriStepClearUav.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js +2 -2
- package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js +2 -2
- package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js +2 -2
- package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderAtlas.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderAtlas.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderDebug.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderDebug.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderEffect.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderEffect.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderFps.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderFps.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderObject.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderObject.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderPass.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderPass.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderScene.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderScene.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderTexture.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderTexture.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepResolve.js +2 -2
- package/dist/trinity/renderJob/step/TriStepResolve.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRunComputeShader.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRunComputeShader.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRunJob.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRunJob.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetProjection.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetProjection.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetRenderState.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetRenderState.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetVariableStore.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetVariableStore.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetView.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetView.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetViewport.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetViewport.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepTestBlocking.js +2 -2
- package/dist/trinity/renderJob/step/TriStepTestBlocking.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepToggleCubemap.js +2 -2
- package/dist/trinity/renderJob/step/TriStepToggleCubemap.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepUpdate.js +2 -2
- package/dist/trinity/renderJob/step/TriStepUpdate.js.map +1 -1
- package/dist/trinity/shader/Tr2DataTextureManager.js +9 -9
- package/dist/trinity/shader/Tr2DataTextureManager.js.map +1 -1
- package/dist/trinity/shader/Tr2Effect.js +370 -347
- package/dist/trinity/shader/Tr2Effect.js.map +1 -1
- package/dist/trinity/shader/Tr2Material.js +5 -5
- package/dist/trinity/shader/Tr2Material.js.map +1 -1
- package/dist/trinity/shader/Tr2ShaderBuffer.js +3 -4
- package/dist/trinity/shader/Tr2ShaderBuffer.js.map +1 -1
- package/dist/trinity/shader/index.js +3 -0
- package/dist/trinity/shader/index.js.map +1 -1
- package/dist/trinity/shader/parameter/CjsParameter.js +202 -185
- package/dist/trinity/shader/parameter/CjsParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/CjsVectorParameter.js +2 -2
- package/dist/trinity/shader/parameter/CjsVectorParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/ITriEffectParameter.js +56 -0
- package/dist/trinity/shader/parameter/ITriEffectParameter.js.map +1 -0
- package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js +31 -0
- package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js.map +1 -0
- package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js +43 -0
- package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js.map +1 -0
- package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js +17 -5
- package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2FloatParameter.js +46 -45
- package/dist/trinity/shader/parameter/Tr2FloatParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +14 -12
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js +33 -32
- package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js +11 -10
- package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js +55 -53
- package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js +49 -48
- package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js +52 -51
- package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js +56 -55
- package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriFloatArrayParameter.js +8 -8
- package/dist/trinity/shader/parameter/TriFloatArrayParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriTextureParameter.js +27 -22
- package/dist/trinity/shader/parameter/TriTextureParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriTransformParameter.js +27 -27
- package/dist/trinity/shader/parameter/TriTransformParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriVariableParameter.js +53 -54
- package/dist/trinity/shader/parameter/TriVariableParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriVector4.js +2 -2
- package/dist/trinity/shader/parameter/TriVector4.js.map +1 -1
- package/dist/trinity/shader/reflection/Tr2ShaderOption.js +4 -2
- package/dist/trinity/shader/reflection/Tr2ShaderOption.js.map +1 -1
- package/dist/trinity/shader/sampler/Tr2SamplerOverride.js +11 -2
- package/dist/trinity/shader/sampler/Tr2SamplerOverride.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js +8 -9
- package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dScene.js +4 -4
- package/dist/trinity/sprite2d/Tr2Sprite2dScene.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js +2 -2
- package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
- package/dist/trinity/ui/Tr2PresentParameters.js +2 -2
- package/dist/trinity/ui/Tr2PresentParameters.js.map +1 -1
- package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js +3 -3
- package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js.map +1 -1
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
- package/docs/core/README.md +38 -38
- package/docs/core/architecture.md +6 -5
- package/docs/core/reference/api.md +0 -10
- package/docs/core/reference/classes/README.md +57 -67
- package/docs/global/architecture.md +1 -3
- package/docs/global/blue-enums.md +115 -0
- package/docs/global/concepts/model-lifecycle.md +177 -182
- package/docs/global/core-types/README.md +394 -317
- package/docs/global/reference/api.md +2 -2
- package/docs/global/reference/classes/README.md +355 -205
- package/docs/global/reference/classes/dropped.md +40 -0
- package/docs/resource/architecture.md +152 -112
- package/docs/resource/concepts/resource-lifecycle.md +21 -15
- package/docs/resource/formats/geometry-interchange.md +50 -0
- package/docs/resource/formats/pickle.md +126 -100
- package/docs/resource/formats/provenance.md +15 -9
- package/docs/resource/formats/webgl/carbon-constant-layouts.md +98 -232
- package/docs/resource/formats/webgl/decl-io.md +241 -397
- package/docs/resource/formats/webgl/memory-structured.md +91 -128
- package/docs/resource/formats/webgl/texture-sample.md +306 -469
- package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +278 -530
- package/docs/resource/reference/classes/README.md +3 -1
- package/docs/resource/reference/classes/dropped.md +21 -1
- package/docs/resource/reference/classes/formats.md +33 -0
- package/docs/resource/reference/classes/texture.md +11 -1
- package/docs/resource/reference/classes/video.md +92 -0
- package/docs/resource/reference/events.md +10 -9
- package/docs/resource/reference/motherlode-cache.md +24 -11
- package/docs/resource/reference/queues.md +30 -1
- package/docs/trinity/README.md +5 -5
- package/docs/trinity/architecture.md +355 -344
- package/docs/trinity/concepts/eve-runtime-behavior.md +1 -1
- package/docs/trinity/reference/api.md +19 -7
- package/docs/trinity/reference/classes/dropped.md +2 -11
- package/docs/trinity/reference/classes/eve-runtime.md +1 -1
- package/docs/trinity/reference/classes/trinity-core.md +1672 -1622
- package/docs/trinity/reference/implementation-status.md +92 -92
- package/package.json +2 -1
- package/dist/core/CjsFrameDriver.js +0 -109
- package/dist/core/CjsFrameDriver.js.map +0 -1
- package/dist/global/contracts/CjsFrameLifecycle.js +0 -49
- package/dist/global/contracts/CjsFrameLifecycle.js.map +0 -1
- package/dist/global/contracts/CjsInstancedMeshManager.js +0 -58
- package/dist/global/contracts/CjsInstancedMeshManager.js.map +0 -1
- package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js +0 -4
- package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js.map +0 -1
|
@@ -17,6 +17,11 @@ const CONSTANTS = {
|
|
|
17
17
|
_pi: Math.PI,
|
|
18
18
|
_e: Math.E
|
|
19
19
|
};
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Splits an expression into positioned tokens and rejects unsupported
|
|
23
|
+
* characters.
|
|
24
|
+
*/
|
|
20
25
|
function Tokenize(source) {
|
|
21
26
|
const tokens = [];
|
|
22
27
|
let i = 0;
|
|
@@ -92,6 +97,8 @@ function Tokenize(source) {
|
|
|
92
97
|
});
|
|
93
98
|
return tokens;
|
|
94
99
|
}
|
|
100
|
+
|
|
101
|
+
/** Finds the end of a decimal literal, leaving an incomplete exponent unconsumed. */
|
|
95
102
|
function ReadNumber(source, index) {
|
|
96
103
|
let i = index;
|
|
97
104
|
while (IsDigit(source[i])) {
|
|
@@ -119,6 +126,8 @@ function ReadNumber(source, index) {
|
|
|
119
126
|
}
|
|
120
127
|
return i;
|
|
121
128
|
}
|
|
129
|
+
|
|
130
|
+
/** Decodes a quoted literal and its escapes, rejecting an unterminated string. */
|
|
122
131
|
function ReadString(source, index) {
|
|
123
132
|
const quote = source[index];
|
|
124
133
|
let value = "";
|
|
@@ -157,6 +166,8 @@ function ReadString(source, index) {
|
|
|
157
166
|
position: index
|
|
158
167
|
});
|
|
159
168
|
}
|
|
169
|
+
|
|
170
|
+
/** Evaluates an expression tree node against the supplied runtime context. */
|
|
160
171
|
function EvaluateNode(node, context, program) {
|
|
161
172
|
switch (node.type) {
|
|
162
173
|
case "literal":
|
|
@@ -173,6 +184,8 @@ function EvaluateNode(node, context, program) {
|
|
|
173
184
|
return EvaluateCall(node, context, program);
|
|
174
185
|
}
|
|
175
186
|
}
|
|
187
|
+
|
|
188
|
+
/** Applies numeric signs or logical negation using expression coercion rules. */
|
|
176
189
|
function EvaluateUnary(operator, value) {
|
|
177
190
|
switch (operator) {
|
|
178
191
|
case "!":
|
|
@@ -185,6 +198,11 @@ function EvaluateUnary(operator, value) {
|
|
|
185
198
|
return 0;
|
|
186
199
|
}
|
|
187
200
|
}
|
|
201
|
+
|
|
202
|
+
/**
|
|
203
|
+
* Evaluates binary operations with short-circuit logic and zero-divisor
|
|
204
|
+
* handling.
|
|
205
|
+
*/
|
|
188
206
|
function EvaluateBinary(operator, leftNode, rightNode, context, program) {
|
|
189
207
|
if (operator === "&&") {
|
|
190
208
|
return ToBoolean(EvaluateNode(leftNode, context, program)) && ToBoolean(EvaluateNode(rightNode, context, program)) ? 1 : 0;
|
|
@@ -226,6 +244,11 @@ function EvaluateBinary(operator, leftNode, rightNode, context, program) {
|
|
|
226
244
|
return 0;
|
|
227
245
|
}
|
|
228
246
|
}
|
|
247
|
+
|
|
248
|
+
/**
|
|
249
|
+
* Evaluates call arguments and invokes a registered function, rejecting unknown
|
|
250
|
+
* names.
|
|
251
|
+
*/
|
|
229
252
|
function EvaluateCall(node, context, program) {
|
|
230
253
|
const fn = GetFunction(node.name, program.options);
|
|
231
254
|
if (!fn) {
|
|
@@ -237,6 +260,11 @@ function EvaluateCall(node, context, program) {
|
|
|
237
260
|
const args = node.args.map(arg => EvaluateNode(arg, context, program));
|
|
238
261
|
return fn(context || {}, ...args);
|
|
239
262
|
}
|
|
263
|
+
|
|
264
|
+
/**
|
|
265
|
+
* Resolves constants, supplied variables, controller values, or context
|
|
266
|
+
* properties, defaulting to zero.
|
|
267
|
+
*/
|
|
240
268
|
function ResolveIdentifier(name, context = {}) {
|
|
241
269
|
if (name in CONSTANTS) {
|
|
242
270
|
return CONSTANTS[name];
|
|
@@ -258,12 +286,16 @@ function ResolveIdentifier(name, context = {}) {
|
|
|
258
286
|
}
|
|
259
287
|
return 0;
|
|
260
288
|
}
|
|
289
|
+
|
|
290
|
+
/** Resolves a function override before consulting the built-in function table. */
|
|
261
291
|
function GetFunction(name, options = {}) {
|
|
262
292
|
if (options.functions?.[name]) {
|
|
263
293
|
return options.functions[name];
|
|
264
294
|
}
|
|
265
295
|
return DEFAULT_FUNCTIONS[name] || null;
|
|
266
296
|
}
|
|
297
|
+
|
|
298
|
+
/** Checks whether a function is declared safe for constant evaluation. */
|
|
267
299
|
function IsFunctionPure(name, options = {}) {
|
|
268
300
|
if (options.functions?.[name]) {
|
|
269
301
|
const pureFunctions = options.pureFunctions;
|
|
@@ -343,6 +375,8 @@ const DEFAULT_FUNCTIONS = {
|
|
|
343
375
|
ServerTimeEqual: (ctx, year, month, day, hour, minute, second) => ServerTimeComparison(ctx, [year, month, day, hour, minute, second], 0),
|
|
344
376
|
DaysSinceServerTime: (ctx, year, month, day) => DaysSinceServerTime(ctx, year, month, day)
|
|
345
377
|
};
|
|
378
|
+
|
|
379
|
+
/** Reads the expression source's stored random value, defaulting to zero. */
|
|
346
380
|
function GetRandomConstant(context) {
|
|
347
381
|
const source = context.curve ?? context.self ?? context.expression;
|
|
348
382
|
if (HasFunction(source, "GetRandomConstant")) {
|
|
@@ -353,6 +387,11 @@ function GetRandomConstant(context) {
|
|
|
353
387
|
}
|
|
354
388
|
return 0;
|
|
355
389
|
}
|
|
390
|
+
|
|
391
|
+
/**
|
|
392
|
+
* Reads an indexed input through its source adapter, time sampler, or current
|
|
393
|
+
* value.
|
|
394
|
+
*/
|
|
356
395
|
function GetInputValue(context, index, time) {
|
|
357
396
|
const source = context.curve ?? context.self ?? context.expression ?? context;
|
|
358
397
|
if (HasFunction(source, "GetInputValue")) {
|
|
@@ -374,9 +413,16 @@ function GetInputValue(context, index, time) {
|
|
|
374
413
|
}
|
|
375
414
|
return ToNumber(input);
|
|
376
415
|
}
|
|
416
|
+
|
|
417
|
+
/** Converts an input index by adding one half and truncating toward zero. */
|
|
377
418
|
function RoundInputIndex(index) {
|
|
378
419
|
return Math.trunc(ToNumber(index) + 0.5);
|
|
379
420
|
}
|
|
421
|
+
|
|
422
|
+
/**
|
|
423
|
+
* Queries an owner's named range or curve-set duration before trying a context
|
|
424
|
+
* callback.
|
|
425
|
+
*/
|
|
380
426
|
function GetCurveSetTime(context, name) {
|
|
381
427
|
const owner = context.owner;
|
|
382
428
|
if (owner) {
|
|
@@ -390,6 +436,11 @@ function GetCurveSetTime(context, name) {
|
|
|
390
436
|
}
|
|
391
437
|
return CallContextFunction(context, "CurveSetTime", name);
|
|
392
438
|
}
|
|
439
|
+
|
|
440
|
+
/**
|
|
441
|
+
* Reads an external variable from the context map or owner, applying the
|
|
442
|
+
* supplied fallback.
|
|
443
|
+
*/
|
|
393
444
|
function GetExternalControllerVariable(context, name, fallback) {
|
|
394
445
|
if (HasProperty(context, "externalControllerVariables") && context.externalControllerVariables && typeof context.externalControllerVariables === "object" && Object.prototype.hasOwnProperty.call(context.externalControllerVariables, String(name))) {
|
|
395
446
|
return ToNumber(context.externalControllerVariables[String(name)]);
|
|
@@ -400,6 +451,11 @@ function GetExternalControllerVariable(context, name, fallback) {
|
|
|
400
451
|
}
|
|
401
452
|
return ToNumber(fallback);
|
|
402
453
|
}
|
|
454
|
+
|
|
455
|
+
/**
|
|
456
|
+
* Adds a random integer offset below the truncated positive span to the supplied
|
|
457
|
+
* minimum.
|
|
458
|
+
*/
|
|
403
459
|
function RandomInteger(min, max) {
|
|
404
460
|
const minValue = ToNumber(min);
|
|
405
461
|
const span = Math.trunc(ToNumber(max) - minValue);
|
|
@@ -408,6 +464,11 @@ function RandomInteger(min, max) {
|
|
|
408
464
|
}
|
|
409
465
|
return minValue + Math.floor(Math.random() * span);
|
|
410
466
|
}
|
|
467
|
+
|
|
468
|
+
/**
|
|
469
|
+
* Reads a calendar component through an override or the server date's local-time
|
|
470
|
+
* accessors.
|
|
471
|
+
*/
|
|
411
472
|
function GetServerDatePart(context, part) {
|
|
412
473
|
const override = TryCallContextFunction(context, `Server${Capitalize(part)}`);
|
|
413
474
|
if (override !== null) {
|
|
@@ -431,6 +492,8 @@ function GetServerDatePart(context, part) {
|
|
|
431
492
|
return date.getSeconds();
|
|
432
493
|
}
|
|
433
494
|
}
|
|
495
|
+
|
|
496
|
+
/** Returns server seconds modulo the absolute period, or zero for a zero period. */
|
|
434
497
|
function GetServerTimePhase(context, period) {
|
|
435
498
|
const value = Math.abs(ToNumber(period));
|
|
436
499
|
if (value === 0) {
|
|
@@ -438,6 +501,11 @@ function GetServerTimePhase(context, period) {
|
|
|
438
501
|
}
|
|
439
502
|
return GetServerTimeSeconds(context) % value;
|
|
440
503
|
}
|
|
504
|
+
|
|
505
|
+
/**
|
|
506
|
+
* Compares selected calendar components in order, treating minus one as a
|
|
507
|
+
* wildcard and equality as success.
|
|
508
|
+
*/
|
|
441
509
|
function ServerTimeComparison(context, values, mode) {
|
|
442
510
|
const parts = [GetServerDatePart(context, "year"), GetServerDatePart(context, "month"), GetServerDatePart(context, "day"), GetServerDatePart(context, "hour"), GetServerDatePart(context, "minute"), GetServerDatePart(context, "second")];
|
|
443
511
|
for (let i = 0; i < parts.length; i++) {
|
|
@@ -460,6 +528,11 @@ function ServerTimeComparison(context, values, mode) {
|
|
|
460
528
|
}
|
|
461
529
|
return 1;
|
|
462
530
|
}
|
|
531
|
+
|
|
532
|
+
/**
|
|
533
|
+
* Computes a calendar-day difference using current components for wildcards and
|
|
534
|
+
* returns Number.MIN_VALUE for invalid dates.
|
|
535
|
+
*/
|
|
463
536
|
function DaysSinceServerTime(context, year, month, day) {
|
|
464
537
|
const currentYear = GetServerDatePart(context, "year");
|
|
465
538
|
const currentMonth = GetServerDatePart(context, "month");
|
|
@@ -474,6 +547,11 @@ function DaysSinceServerTime(context, year, month, day) {
|
|
|
474
547
|
}
|
|
475
548
|
return (current - target) / (60 * 60 * 24 * 1000);
|
|
476
549
|
}
|
|
550
|
+
|
|
551
|
+
/**
|
|
552
|
+
* Converts supplied server time into a Date, falling back to the current local
|
|
553
|
+
* clock.
|
|
554
|
+
*/
|
|
477
555
|
function GetServerDate(context) {
|
|
478
556
|
const value = GetServerTimeValue(context);
|
|
479
557
|
if (value instanceof Date) {
|
|
@@ -484,6 +562,11 @@ function GetServerDate(context) {
|
|
|
484
562
|
}
|
|
485
563
|
return new Date();
|
|
486
564
|
}
|
|
565
|
+
|
|
566
|
+
/**
|
|
567
|
+
* Converts supplied server time into epoch seconds, falling back to the current
|
|
568
|
+
* local clock.
|
|
569
|
+
*/
|
|
487
570
|
function GetServerTimeSeconds(context) {
|
|
488
571
|
const value = GetServerTimeValue(context);
|
|
489
572
|
if (value instanceof Date) {
|
|
@@ -494,6 +577,11 @@ function GetServerTimeSeconds(context) {
|
|
|
494
577
|
}
|
|
495
578
|
return Date.now() / 1000;
|
|
496
579
|
}
|
|
580
|
+
|
|
581
|
+
/**
|
|
582
|
+
* Finds a Date or numeric timestamp in the context, its callback table, or its
|
|
583
|
+
* owner.
|
|
584
|
+
*/
|
|
497
585
|
function GetServerTimeValue(context) {
|
|
498
586
|
if (HasProperty(context, "serverTime")) {
|
|
499
587
|
const value = context.serverTime;
|
|
@@ -515,6 +603,11 @@ function GetServerTimeValue(context) {
|
|
|
515
603
|
}
|
|
516
604
|
return null;
|
|
517
605
|
}
|
|
606
|
+
|
|
607
|
+
/**
|
|
608
|
+
* Uses magnitude thresholds to interpret a timestamp as ticks, seconds, or
|
|
609
|
+
* milliseconds.
|
|
610
|
+
*/
|
|
518
611
|
function NormalizeServerTimeMilliseconds(value) {
|
|
519
612
|
if (Math.abs(value) > 1e14) {
|
|
520
613
|
return value / 10000;
|
|
@@ -524,10 +617,20 @@ function NormalizeServerTimeMilliseconds(value) {
|
|
|
524
617
|
}
|
|
525
618
|
return value;
|
|
526
619
|
}
|
|
620
|
+
|
|
621
|
+
/**
|
|
622
|
+
* Invokes a numeric context callback or returns the supplied fallback when none
|
|
623
|
+
* exists.
|
|
624
|
+
*/
|
|
527
625
|
function CallContextFunction(context, name, arg, fallback = 0) {
|
|
528
626
|
const value = TryCallContextFunction(context, name, arg);
|
|
529
627
|
return value === null ? fallback : value;
|
|
530
628
|
}
|
|
629
|
+
|
|
630
|
+
/**
|
|
631
|
+
* Tries the context callback table before the owner and returns null when
|
|
632
|
+
* neither supplies the function.
|
|
633
|
+
*/
|
|
531
634
|
function TryCallContextFunction(context, name, arg) {
|
|
532
635
|
if (HasProperty(context, "functions") && context.functions && typeof context.functions === "object" && HasFunction(context.functions, name)) {
|
|
533
636
|
return ToNumber(context.functions[name](arg, context));
|
|
@@ -537,6 +640,8 @@ function TryCallContextFunction(context, name, arg) {
|
|
|
537
640
|
}
|
|
538
641
|
return null;
|
|
539
642
|
}
|
|
643
|
+
|
|
644
|
+
/** Rounds to the nearest integer, choosing the even integer for exact ties. */
|
|
540
645
|
function RoundHalfToEven(value) {
|
|
541
646
|
const floor = Math.floor(value);
|
|
542
647
|
const diff = value - floor;
|
|
@@ -548,6 +653,8 @@ function RoundHalfToEven(value) {
|
|
|
548
653
|
}
|
|
549
654
|
return floor % 2 === 0 ? floor : floor + 1;
|
|
550
655
|
}
|
|
656
|
+
|
|
657
|
+
/** Adds values after applying the expression evaluator's numeric coercion. */
|
|
551
658
|
function SumValues(values) {
|
|
552
659
|
let total = 0;
|
|
553
660
|
for (const value of values) {
|
|
@@ -555,10 +662,20 @@ function SumValues(values) {
|
|
|
555
662
|
}
|
|
556
663
|
return total;
|
|
557
664
|
}
|
|
665
|
+
|
|
666
|
+
/**
|
|
667
|
+
* Maps a numeric input deterministically into the interval from zero inclusive
|
|
668
|
+
* to one exclusive.
|
|
669
|
+
*/
|
|
558
670
|
function Hash01(value) {
|
|
559
671
|
const x = Math.sin(value * 12.9898 + 78.233) * 43758.5453;
|
|
560
672
|
return x - Math.floor(x);
|
|
561
673
|
}
|
|
674
|
+
|
|
675
|
+
/**
|
|
676
|
+
* Converts booleans and missing values to expression numbers while preserving
|
|
677
|
+
* other values.
|
|
678
|
+
*/
|
|
562
679
|
function NormalizeValue(value) {
|
|
563
680
|
if (value === true) {
|
|
564
681
|
return 1;
|
|
@@ -571,32 +688,51 @@ function NormalizeValue(value) {
|
|
|
571
688
|
}
|
|
572
689
|
return value;
|
|
573
690
|
}
|
|
691
|
+
|
|
692
|
+
/**
|
|
693
|
+
* Coerces an expression value to a finite number or returns the supplied
|
|
694
|
+
* fallback.
|
|
695
|
+
*/
|
|
574
696
|
function ToNumber(value, fallback = 0) {
|
|
575
697
|
value = NormalizeValue(value);
|
|
576
698
|
const number = Number(value);
|
|
577
699
|
return Number.isFinite(number) ? number : fallback;
|
|
578
700
|
}
|
|
701
|
+
|
|
702
|
+
/** Uppercases the first character while preserving the rest of the string. */
|
|
579
703
|
function Capitalize(value) {
|
|
580
704
|
return value.charAt(0).toUpperCase() + value.slice(1);
|
|
581
705
|
}
|
|
706
|
+
|
|
707
|
+
/** Treats nonempty strings and nonzero coerced numbers as true. */
|
|
582
708
|
function ToBoolean(value) {
|
|
583
709
|
if (typeof value === "string") {
|
|
584
710
|
return value.length > 0;
|
|
585
711
|
}
|
|
586
712
|
return ToNumber(value) !== 0;
|
|
587
713
|
}
|
|
714
|
+
|
|
715
|
+
/** Recognizes an ASCII decimal digit. */
|
|
588
716
|
function IsDigit(c) {
|
|
589
717
|
return !!c && c >= "0" && c <= "9";
|
|
590
718
|
}
|
|
719
|
+
|
|
720
|
+
/** Recognizes an ASCII letter or underscore that can begin an identifier. */
|
|
591
721
|
function IsIdentifierStart(c) {
|
|
592
722
|
return !!c && /[A-Za-z_]/.test(c);
|
|
593
723
|
}
|
|
724
|
+
|
|
725
|
+
/** Recognizes an ASCII letter, digit, or underscore within an identifier. */
|
|
594
726
|
function IsIdentifierPart(c) {
|
|
595
727
|
return !!c && /[A-Za-z0-9_]/.test(c);
|
|
596
728
|
}
|
|
729
|
+
|
|
730
|
+
/** Checks for an own or inherited property on a non-null object. */
|
|
597
731
|
function HasProperty(value, key) {
|
|
598
732
|
return !!value && typeof value === "object" && key in value;
|
|
599
733
|
}
|
|
734
|
+
|
|
735
|
+
/** Checks whether an object's own or inherited property is callable. */
|
|
600
736
|
function HasFunction(value, key) {
|
|
601
737
|
return HasProperty(value, key) && typeof value[key] === "function";
|
|
602
738
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expressionRuntime.js","sources":["../../../../../src/trinity/controllers/expression/expressionRuntime.js"],"sourcesContent":["// Source: parser/include/ccpparser.h (CcpParser::Parse, Program, Observer)\r\n//\r\n// The tokenizer and the AST evaluator, split out of\r\n// CjsControllerExpressionProgram.js so that the parser and the program can each\r\n// reach them without importing one another. Nothing here is a class: these are\r\n// the bytecode VM's replacement, which is why there are so many of them - see\r\n// that file's head comment for the constraint that forces an AST walk.\r\nimport { CjsControllerExpressionCompileError } from \"./CjsControllerExpressionCompileError.js\";\r\nimport { CjsControllerExpressionEvaluateError } from \"./CjsControllerExpressionEvaluateError.js\";\r\n\r\nexport const BLOCKED_IDENTIFIERS = new Set([\"__proto__\", \"prototype\", \"constructor\", \"Function\", \"eval\", \"process\", \"global\", \"globalThis\", \"window\", \"document\", \"this\"]);\r\nexport const CONSTANTS = {\r\n true: 1,\r\n false: 0,\r\n pi: Math.PI,\r\n pi2: Math.PI * 2,\r\n _pi: Math.PI,\r\n _e: Math.E\r\n};\r\n\r\nexport function Tokenize(source)\r\n{\r\n const tokens = [];\r\n let i = 0;\r\n while (i < source.length)\r\n {\r\n const c = source[i];\r\n if (/\\s/.test(c))\r\n {\r\n i++;\r\n continue;\r\n }\r\n if (IsDigit(c) || c === \".\" && IsDigit(source[i + 1]))\r\n {\r\n const start = i;\r\n i = ReadNumber(source, i);\r\n tokens.push({\r\n type: \"number\",\r\n value: Number(source.slice(start, i)),\r\n position: start\r\n });\r\n continue;\r\n }\r\n if (c === '\"' || c === \"'\")\r\n {\r\n const start = i;\r\n const result = ReadString(source, i);\r\n i = result.end;\r\n tokens.push({\r\n type: \"string\",\r\n value: result.value,\r\n position: start\r\n });\r\n continue;\r\n }\r\n if (IsIdentifierStart(c))\r\n {\r\n const start = i;\r\n i++;\r\n while (IsIdentifierPart(source[i]))\r\n {\r\n i++;\r\n }\r\n tokens.push({\r\n type: \"identifier\",\r\n value: source.slice(start, i),\r\n position: start\r\n });\r\n continue;\r\n }\r\n const two = source.slice(i, i + 2);\r\n if (two === \"&&\" || two === \"||\" || two === \"<=\" || two === \">=\" || two === \"==\" || two === \"!=\")\r\n {\r\n tokens.push({\r\n type: \"operator\",\r\n value: two,\r\n position: i\r\n });\r\n i += 2;\r\n continue;\r\n }\r\n if (\"+-*/%^<>()!,?:\".includes(c))\r\n {\r\n tokens.push({\r\n type: \"operator\",\r\n value: c,\r\n position: i\r\n });\r\n i++;\r\n continue;\r\n }\r\n throw new CjsControllerExpressionCompileError({\r\n expression: source,\r\n reason: `Unexpected character '${c}'`,\r\n position: i\r\n });\r\n }\r\n tokens.push({\r\n type: \"eof\",\r\n value: \"\",\r\n position: source.length\r\n });\r\n return tokens;\r\n}\r\nexport function ReadNumber(source, index)\r\n{\r\n let i = index;\r\n while (IsDigit(source[i]))\r\n {\r\n i++;\r\n }\r\n if (source[i] === \".\")\r\n {\r\n i++;\r\n while (IsDigit(source[i]))\r\n {\r\n i++;\r\n }\r\n }\r\n if (source[i] === \"e\" || source[i] === \"E\")\r\n {\r\n const exp = i;\r\n i++;\r\n if (source[i] === \"+\" || source[i] === \"-\")\r\n {\r\n i++;\r\n }\r\n const digits = i;\r\n while (IsDigit(source[i]))\r\n {\r\n i++;\r\n }\r\n if (digits === i)\r\n {\r\n return exp;\r\n }\r\n }\r\n return i;\r\n}\r\nexport function ReadString(source, index)\r\n{\r\n const quote = source[index];\r\n let value = \"\";\r\n let i = index + 1;\r\n while (i < source.length)\r\n {\r\n const c = source[i++];\r\n if (c === quote)\r\n {\r\n return {\r\n value,\r\n end: i\r\n };\r\n }\r\n if (c === \"\\\\\")\r\n {\r\n const n = source[i++];\r\n switch (n)\r\n {\r\n case \"n\":\r\n value += \"\\n\";\r\n break;\r\n case \"r\":\r\n value += \"\\r\";\r\n break;\r\n case \"t\":\r\n value += \"\\t\";\r\n break;\r\n default:\r\n value += n;\r\n break;\r\n }\r\n }\r\n else\r\n {\r\n value += c;\r\n }\r\n }\r\n throw new CjsControllerExpressionCompileError({\r\n expression: source,\r\n reason: \"Unterminated string\",\r\n position: index\r\n });\r\n}\r\nexport function EvaluateNode(node, context, program)\r\n{\r\n switch (node.type)\r\n {\r\n case \"literal\":\r\n return node.value;\r\n case \"identifier\":\r\n return ResolveIdentifier(node.name, context);\r\n case \"unary\":\r\n return EvaluateUnary(node.operator, EvaluateNode(node.argument, context, program));\r\n case \"binary\":\r\n return EvaluateBinary(node.operator, node.left, node.right, context, program);\r\n case \"conditional\":\r\n return ToBoolean(EvaluateNode(node.condition, context, program)) ? EvaluateNode(node.consequent, context, program) : EvaluateNode(node.alternate, context, program);\r\n case \"call\":\r\n return EvaluateCall(node, context, program);\r\n }\r\n}\r\nexport function EvaluateUnary(operator, value)\r\n{\r\n switch (operator)\r\n {\r\n case \"!\":\r\n return ToBoolean(value) ? 0 : 1;\r\n case \"-\":\r\n return -ToNumber(value);\r\n case \"+\":\r\n return ToNumber(value);\r\n default:\r\n return 0;\r\n }\r\n}\r\nexport function EvaluateBinary(operator, leftNode, rightNode, context, program)\r\n{\r\n if (operator === \"&&\")\r\n {\r\n return ToBoolean(EvaluateNode(leftNode, context, program)) && ToBoolean(EvaluateNode(rightNode, context, program)) ? 1 : 0;\r\n }\r\n if (operator === \"||\")\r\n {\r\n return ToBoolean(EvaluateNode(leftNode, context, program)) || ToBoolean(EvaluateNode(rightNode, context, program)) ? 1 : 0;\r\n }\r\n const left = EvaluateNode(leftNode, context, program);\r\n const right = EvaluateNode(rightNode, context, program);\r\n switch (operator)\r\n {\r\n case \"+\":\r\n return ToNumber(left) + ToNumber(right);\r\n case \"-\":\r\n return ToNumber(left) - ToNumber(right);\r\n case \"*\":\r\n return ToNumber(left) * ToNumber(right);\r\n case \"/\":\r\n return ToNumber(right) === 0 ? 0 : ToNumber(left) / ToNumber(right);\r\n case \"%\":\r\n return ToNumber(right) === 0 ? 0 : ToNumber(left) % ToNumber(right);\r\n case \"^\":\r\n return Math.pow(ToNumber(left), ToNumber(right));\r\n case \"<\":\r\n return ToNumber(left) < ToNumber(right) ? 1 : 0;\r\n case \"<=\":\r\n return ToNumber(left) <= ToNumber(right) ? 1 : 0;\r\n case \">\":\r\n return ToNumber(left) > ToNumber(right) ? 1 : 0;\r\n case \">=\":\r\n return ToNumber(left) >= ToNumber(right) ? 1 : 0;\r\n case \"==\":\r\n // Carbon's CcpParser numeric/string coercion is closer to loose JS here.\r\n // deno-lint-ignore eqeqeq\r\n return left == right ? 1 : 0;\r\n case \"!=\":\r\n // deno-lint-ignore eqeqeq\r\n return left != right ? 1 : 0;\r\n default:\r\n return 0;\r\n }\r\n}\r\nexport function EvaluateCall(node, context, program)\r\n{\r\n const fn = GetFunction(node.name, program.options);\r\n if (!fn)\r\n {\r\n throw new CjsControllerExpressionEvaluateError({\r\n expression: program.source,\r\n reason: `Unknown function '${node.name}'`\r\n });\r\n }\r\n const args = node.args.map(arg => EvaluateNode(arg, context, program));\r\n return fn(context || {}, ...args);\r\n}\r\nexport function ResolveIdentifier(name, context = {})\r\n{\r\n if (name in CONSTANTS)\r\n {\r\n return CONSTANTS[name];\r\n }\r\n if (context.variables)\r\n {\r\n if (context.variables instanceof Map && context.variables.has(name))\r\n {\r\n return NormalizeValue(context.variables.get(name));\r\n }\r\n if (!(context.variables instanceof Map) && Object.prototype.hasOwnProperty.call(context.variables, name))\r\n {\r\n return NormalizeValue(context.variables[name]);\r\n }\r\n }\r\n const value = context.controller?.GetVariableValue?.(name, undefined);\r\n if (value !== undefined)\r\n {\r\n return NormalizeValue(value);\r\n }\r\n if (Object.prototype.hasOwnProperty.call(context, name))\r\n {\r\n return NormalizeValue(context[name]);\r\n }\r\n return 0;\r\n}\r\nexport function GetFunction(name, options = {})\r\n{\r\n if (options.functions?.[name])\r\n {\r\n return options.functions[name];\r\n }\r\n return DEFAULT_FUNCTIONS[name] || null;\r\n}\r\nexport function IsFunctionPure(name, options = {})\r\n{\r\n if (options.functions?.[name])\r\n {\r\n const pureFunctions = options.pureFunctions;\r\n return pureFunctions instanceof Set ? pureFunctions.has(name) : Array.isArray(pureFunctions) && pureFunctions.includes(name);\r\n }\r\n return PURE_DEFAULT_FUNCTIONS.has(name);\r\n}\r\nexport const PURE_DEFAULT_FUNCTIONS = new Set([\"abs\", \"min\", \"max\", \"floor\", \"ceil\", \"round\", \"sqrt\", \"pow\", \"sin\", \"cos\", \"tan\", \"asin\", \"acos\", \"atan\", \"sinh\", \"cosh\", \"tanh\", \"asinh\", \"acosh\", \"atanh\", \"log2\", \"log10\", \"log\", \"ln\", \"exp\", \"sign\", \"rint\", \"sum\", \"avg\", \"clamp\", \"radians\", \"mod\", \"lerp\"]);\r\nexport const DEFAULT_FUNCTIONS = {\r\n abs: (_ctx, x) => Math.abs(ToNumber(x)),\r\n min: (_ctx, ...args) => Math.min(...args.map(ToNumber)),\r\n max: (_ctx, ...args) => Math.max(...args.map(ToNumber)),\r\n floor: (_ctx, x) => Math.floor(ToNumber(x)),\r\n ceil: (_ctx, x) => Math.ceil(ToNumber(x)),\r\n round: (_ctx, x) => Math.round(ToNumber(x)),\r\n sqrt: (_ctx, x) => Math.sqrt(Math.max(0, ToNumber(x))),\r\n pow: (_ctx, x, y) => Math.pow(ToNumber(x), ToNumber(y)),\r\n sin: (_ctx, x) => Math.sin(ToNumber(x)),\r\n cos: (_ctx, x) => Math.cos(ToNumber(x)),\r\n tan: (_ctx, x) => Math.tan(ToNumber(x)),\r\n asin: (_ctx, x) => Math.asin(ToNumber(x)),\r\n acos: (_ctx, x) => Math.acos(ToNumber(x)),\r\n atan: (_ctx, x) => Math.atan(ToNumber(x)),\r\n sinh: (_ctx, x) => Math.sinh(ToNumber(x)),\r\n cosh: (_ctx, x) => Math.cosh(ToNumber(x)),\r\n tanh: (_ctx, x) => Math.tanh(ToNumber(x)),\r\n asinh: (_ctx, x) => Math.asinh(ToNumber(x)),\r\n acosh: (_ctx, x) => Math.acosh(ToNumber(x)),\r\n atanh: (_ctx, x) => Math.atanh(ToNumber(x)),\r\n log2: (_ctx, x) => Math.log2(ToNumber(x)),\r\n log10: (_ctx, x) => Math.log10(ToNumber(x)),\r\n log: (_ctx, x) => Math.log(ToNumber(x)),\r\n ln: (_ctx, x) => Math.log(ToNumber(x)),\r\n exp: (_ctx, x) => Math.exp(ToNumber(x)),\r\n sign: (_ctx, x) =>\r\n {\r\n const value = ToNumber(x);\r\n return value > 0 ? 1 : value < 0 ? -1 : 0;\r\n },\r\n rint: (_ctx, x) => RoundHalfToEven(ToNumber(x)),\r\n sum: (_ctx, ...args) => SumValues(args),\r\n avg: (_ctx, ...args) => args.length ? SumValues(args) / args.length : 0,\r\n clamp: (_ctx, x, min, max) => Math.min(ToNumber(max), Math.max(ToNumber(min), ToNumber(x))),\r\n radians: (_ctx, x) => ToNumber(x) * Math.PI / 180,\r\n mod: (_ctx, x, y) => ToNumber(y) === 0 ? 0 : ToNumber(x) % ToNumber(y),\r\n lerp: (_ctx, a, b, x) => ToNumber(a) * (1 - ToNumber(x)) + ToNumber(b) * ToNumber(x),\r\n random: (_ctx, min = 0, max = 1) => ToNumber(min) + Math.random() * (ToNumber(max) - ToNumber(min)),\r\n Random: (_ctx, min = 0, max = 1) => RandomInteger(min, max),\r\n randomConstant: (ctx, min = 0, max = 1) => ToNumber(min) + GetRandomConstant(ctx) * (ToNumber(max) - ToNumber(min)),\r\n randconst: (ctx, min = 0, max = 1) => DEFAULT_FUNCTIONS.randomConstant(ctx, min, max),\r\n randhash: (_ctx, min = 0, max = 1, value = 0) => ToNumber(min) + Hash01(ToNumber(value)) * (ToNumber(max) - ToNumber(min)),\r\n noise: (ctx, x) => Hash01(ToNumber(x) + GetRandomConstant(ctx)),\r\n fractal: (ctx, x) => Hash01(ToNumber(x) + GetRandomConstant(ctx)),\r\n input: (ctx, index) => GetInputValue(ctx, index),\r\n inputAt: (ctx, index, time) => GetInputValue(ctx, index, time),\r\n StateTime: ctx => ctx.stateMachine?.GetStateTime ? ctx.stateMachine.GetStateTime() : ToNumber(ctx.stateTime),\r\n CurveSetTime: (ctx, name) => GetCurveSetTime(ctx, name),\r\n AnimationTime: (ctx, name) => CallContextFunction(ctx, \"AnimationTime\", name),\r\n IsAnimationPlaying: (ctx, name) => CallContextFunction(ctx, \"IsAnimationPlaying\", name),\r\n GetExternalControllerVariable: (ctx, name, fallback = 0) => GetExternalControllerVariable(ctx, name, fallback),\r\n ShipSpeed: ctx => CallContextFunction(ctx, \"ShipSpeed\"),\r\n ShipMaxSpeed: ctx => CallContextFunction(ctx, \"ShipMaxSpeed\", undefined, 1),\r\n ShipBoosterIntensity: ctx => CallContextFunction(ctx, \"ShipBoosterIntensity\"),\r\n KillCount: ctx => CallContextFunction(ctx, \"KillCount\"),\r\n BoundingSphereRadius: ctx => CallContextFunction(ctx, \"BoundingSphereRadius\"),\r\n ShaderQuality: ctx => CallContextFunction(ctx, \"ShaderQuality\"),\r\n IsWeekend: ctx => GetServerDatePart(ctx, \"dayOfWeek\") % 6 === 0 ? 1 : 0,\r\n ServerYear: ctx => GetServerDatePart(ctx, \"year\"),\r\n ServerMonth: ctx => GetServerDatePart(ctx, \"month\"),\r\n ServerDay: ctx => GetServerDatePart(ctx, \"day\"),\r\n ServerDayOfWeek: ctx => GetServerDatePart(ctx, \"dayOfWeek\"),\r\n ServerHour: ctx => GetServerDatePart(ctx, \"hour\"),\r\n ServerMinute: ctx => GetServerDatePart(ctx, \"minute\"),\r\n ServerSecond: ctx => GetServerDatePart(ctx, \"second\"),\r\n ServerTimePhase: (ctx, period) => GetServerTimePhase(ctx, period),\r\n ServerTimeGreaterThan: (ctx, year, month, day, hour, minute, second) => ServerTimeComparison(ctx, [year, month, day, hour, minute, second], 1),\r\n ServerTimeLessThanOrEqual: (ctx, year, month, day, hour, minute, second) => ServerTimeComparison(ctx, [year, month, day, hour, minute, second], -1),\r\n ServerTimeEqual: (ctx, year, month, day, hour, minute, second) => ServerTimeComparison(ctx, [year, month, day, hour, minute, second], 0),\r\n DaysSinceServerTime: (ctx, year, month, day) => DaysSinceServerTime(ctx, year, month, day)\r\n};\r\nexport function GetRandomConstant(context)\r\n{\r\n const source = context.curve ?? context.self ?? context.expression;\r\n if (HasFunction(source, \"GetRandomConstant\"))\r\n {\r\n return ToNumber(source.GetRandomConstant());\r\n }\r\n if (HasProperty(source, \"randomConstant\"))\r\n {\r\n return ToNumber(source.randomConstant);\r\n }\r\n return 0;\r\n}\r\nexport function GetInputValue(context, index, time)\r\n{\r\n const source = context.curve ?? context.self ?? context.expression ?? context;\r\n if (HasFunction(source, \"GetInputValue\"))\r\n {\r\n return ToNumber(source.GetInputValue(RoundInputIndex(index), time));\r\n }\r\n const inputs = HasProperty(source, \"inputs\") ? source.inputs : context.inputs;\r\n const input = Array.isArray(inputs) ? inputs[RoundInputIndex(index)] : null;\r\n if (!input)\r\n {\r\n return 0;\r\n }\r\n if (time !== undefined && HasFunction(input, \"GetValueAt\"))\r\n {\r\n return ToNumber(input.GetValueAt(ToNumber(time)));\r\n }\r\n if (HasFunction(input, \"GetValueAt\"))\r\n {\r\n return ToNumber(input.GetValueAt(ToNumber(context.time)));\r\n }\r\n if (HasProperty(input, \"currentValue\"))\r\n {\r\n return ToNumber(input.currentValue);\r\n }\r\n return ToNumber(input);\r\n}\r\nexport function RoundInputIndex(index)\r\n{\r\n return Math.trunc(ToNumber(index) + 0.5);\r\n}\r\nexport function GetCurveSetTime(context, name)\r\n{\r\n const owner = context.owner;\r\n if (owner)\r\n {\r\n if (HasFunction(owner, \"GetRangeDuration\") && typeof name === \"string\" && name.includes(\"/\"))\r\n {\r\n const parts = name.split(\"/\");\r\n return ToNumber(owner.GetRangeDuration(parts[0], parts.slice(1).join(\"/\")));\r\n }\r\n if (HasFunction(owner, \"GetCurveSetDuration\"))\r\n {\r\n return ToNumber(owner.GetCurveSetDuration(name));\r\n }\r\n }\r\n return CallContextFunction(context, \"CurveSetTime\", name);\r\n}\r\nexport function GetExternalControllerVariable(context, name, fallback)\r\n{\r\n if (HasProperty(context, \"externalControllerVariables\") && context.externalControllerVariables && typeof context.externalControllerVariables === \"object\" && Object.prototype.hasOwnProperty.call(context.externalControllerVariables, String(name)))\r\n {\r\n return ToNumber(context.externalControllerVariables[String(name)]);\r\n }\r\n if (HasFunction(context.owner, \"GetControllerValueByName\"))\r\n {\r\n const value = context.owner.GetControllerValueByName(name);\r\n return value === undefined || value === null ? ToNumber(fallback) : ToNumber(value);\r\n }\r\n return ToNumber(fallback);\r\n}\r\nexport function RandomInteger(min, max)\r\n{\r\n const minValue = ToNumber(min);\r\n const span = Math.trunc(ToNumber(max) - minValue);\r\n if (span <= 0)\r\n {\r\n return minValue;\r\n }\r\n return minValue + Math.floor(Math.random() * span);\r\n}\r\nexport function GetServerDatePart(context, part)\r\n{\r\n const override = TryCallContextFunction(context, `Server${Capitalize(part)}`);\r\n if (override !== null)\r\n {\r\n return override;\r\n }\r\n const date = GetServerDate(context);\r\n switch (part)\r\n {\r\n case \"year\":\r\n return date.getFullYear();\r\n case \"month\":\r\n return date.getMonth() + 1;\r\n case \"day\":\r\n return date.getDate();\r\n case \"dayOfWeek\":\r\n return date.getDay();\r\n case \"hour\":\r\n return date.getHours();\r\n case \"minute\":\r\n return date.getMinutes();\r\n case \"second\":\r\n return date.getSeconds();\r\n }\r\n}\r\nexport function GetServerTimePhase(context, period)\r\n{\r\n const value = Math.abs(ToNumber(period));\r\n if (value === 0)\r\n {\r\n return 0;\r\n }\r\n return GetServerTimeSeconds(context) % value;\r\n}\r\nexport function ServerTimeComparison(context, values, mode)\r\n{\r\n const parts = [GetServerDatePart(context, \"year\"), GetServerDatePart(context, \"month\"), GetServerDatePart(context, \"day\"), GetServerDatePart(context, \"hour\"), GetServerDatePart(context, \"minute\"), GetServerDatePart(context, \"second\")];\r\n for (let i = 0; i < parts.length; i++)\r\n {\r\n const expected = ToNumber(values[i], -1);\r\n if (expected === -1)\r\n {\r\n continue;\r\n }\r\n if (mode === 0)\r\n {\r\n if (parts[i] !== expected)\r\n {\r\n return 0;\r\n }\r\n continue;\r\n }\r\n if (parts[i] > expected)\r\n {\r\n return mode === 1 ? 1 : 0;\r\n }\r\n if (parts[i] < expected)\r\n {\r\n return mode === -1 ? 1 : 0;\r\n }\r\n }\r\n return 1;\r\n}\r\nexport function DaysSinceServerTime(context, year, month, day)\r\n{\r\n const currentYear = GetServerDatePart(context, \"year\");\r\n const currentMonth = GetServerDatePart(context, \"month\");\r\n const currentDay = GetServerDatePart(context, \"day\");\r\n const targetYear = ToNumber(year, -1) === -1 ? currentYear : ToNumber(year);\r\n const targetMonth = ToNumber(month, -1) === -1 ? currentMonth : ToNumber(month);\r\n const targetDay = ToNumber(day, -1) === -1 ? currentDay : ToNumber(day);\r\n const target = Date.UTC(targetYear, targetMonth, targetDay);\r\n const current = Date.UTC(currentYear, currentMonth, currentDay);\r\n if (!Number.isFinite(target) || !Number.isFinite(current))\r\n {\r\n return Number.MIN_VALUE;\r\n }\r\n return (current - target) / (60 * 60 * 24 * 1000);\r\n}\r\nexport function GetServerDate(context)\r\n{\r\n const value = GetServerTimeValue(context);\r\n if (value instanceof Date)\r\n {\r\n return value;\r\n }\r\n if (typeof value === \"number\" && Number.isFinite(value))\r\n {\r\n return new Date(NormalizeServerTimeMilliseconds(value));\r\n }\r\n return new Date();\r\n}\r\nexport function GetServerTimeSeconds(context)\r\n{\r\n const value = GetServerTimeValue(context);\r\n if (value instanceof Date)\r\n {\r\n return value.getTime() / 1000;\r\n }\r\n if (typeof value === \"number\" && Number.isFinite(value))\r\n {\r\n return NormalizeServerTimeMilliseconds(value) / 1000;\r\n }\r\n return Date.now() / 1000;\r\n}\r\nexport function GetServerTimeValue(context)\r\n{\r\n if (HasProperty(context, \"serverTime\"))\r\n {\r\n const value = context.serverTime;\r\n if (value instanceof Date || typeof value === \"number\")\r\n {\r\n return value;\r\n }\r\n }\r\n if (HasProperty(context, \"functions\") && context.functions && typeof context.functions === \"object\" && HasFunction(context.functions, \"GetServerTime\"))\r\n {\r\n const value = context.functions.GetServerTime(context);\r\n if (value instanceof Date || typeof value === \"number\")\r\n {\r\n return value;\r\n }\r\n }\r\n if (HasFunction(context.owner, \"GetServerTime\"))\r\n {\r\n const value = context.owner.GetServerTime();\r\n if (value instanceof Date || typeof value === \"number\")\r\n {\r\n return value;\r\n }\r\n }\r\n return null;\r\n}\r\nexport function NormalizeServerTimeMilliseconds(value)\r\n{\r\n if (Math.abs(value) > 1e14)\r\n {\r\n return value / 10000;\r\n }\r\n if (Math.abs(value) < 1e10)\r\n {\r\n return value * 1000;\r\n }\r\n return value;\r\n}\r\nexport function CallContextFunction(context, name, arg, fallback = 0)\r\n{\r\n const value = TryCallContextFunction(context, name, arg);\r\n return value === null ? fallback : value;\r\n}\r\nexport function TryCallContextFunction(context, name, arg)\r\n{\r\n if (HasProperty(context, \"functions\") && context.functions && typeof context.functions === \"object\" && HasFunction(context.functions, name))\r\n {\r\n return ToNumber(context.functions[name](arg, context));\r\n }\r\n if (HasFunction(context.owner, name))\r\n {\r\n return ToNumber(context.owner[name](arg));\r\n }\r\n return null;\r\n}\r\nexport function RoundHalfToEven(value)\r\n{\r\n const floor = Math.floor(value);\r\n const diff = value - floor;\r\n if (diff < 0.5)\r\n {\r\n return floor;\r\n }\r\n if (diff > 0.5)\r\n {\r\n return floor + 1;\r\n }\r\n return floor % 2 === 0 ? floor : floor + 1;\r\n}\r\nexport function SumValues(values)\r\n{\r\n let total = 0;\r\n for (const value of values)\r\n {\r\n total += ToNumber(value);\r\n }\r\n return total;\r\n}\r\nexport function Hash01(value)\r\n{\r\n const x = Math.sin(value * 12.9898 + 78.233) * 43758.5453;\r\n return x - Math.floor(x);\r\n}\r\nexport function NormalizeValue(value)\r\n{\r\n if (value === true)\r\n {\r\n return 1;\r\n }\r\n if (value === false)\r\n {\r\n return 0;\r\n }\r\n if (value === undefined || value === null)\r\n {\r\n return 0;\r\n }\r\n return value;\r\n}\r\nexport function ToNumber(value, fallback = 0)\r\n{\r\n value = NormalizeValue(value);\r\n\r\n const number = Number(value);\r\n return Number.isFinite(number) ? number : fallback;\r\n}\r\nexport function Capitalize(value)\r\n{\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n}\r\nexport function ToBoolean(value)\r\n{\r\n if (typeof value === \"string\")\r\n {\r\n return value.length > 0;\r\n }\r\n return ToNumber(value) !== 0;\r\n}\r\nexport function IsDigit(c)\r\n{\r\n return !!c && c >= \"0\" && c <= \"9\";\r\n}\r\nexport function IsIdentifierStart(c)\r\n{\r\n return !!c && /[A-Za-z_]/.test(c);\r\n}\r\nexport function IsIdentifierPart(c)\r\n{\r\n return !!c && /[A-Za-z0-9_]/.test(c);\r\n}\r\nexport function HasProperty(value, key)\r\n{\r\n return !!value && typeof value === \"object\" && key in value;\r\n}\r\nexport function HasFunction(value, key)\r\n{\r\n return HasProperty(value, key) && typeof value[key] === \"function\";\r\n}\r\n"],"names":["BLOCKED_IDENTIFIERS","Set","CONSTANTS","true","false","pi","Math","PI","pi2","_pi","_e","E","Tokenize","source","tokens","i","length","c","test","IsDigit","start","ReadNumber","push","type","value","Number","slice","position","result","ReadString","end","IsIdentifierStart","IsIdentifierPart","two","includes","CjsControllerExpressionCompileError","expression","reason","index","exp","digits","quote","n","EvaluateNode","node","context","program","ResolveIdentifier","name","EvaluateUnary","operator","argument","EvaluateBinary","left","right","ToBoolean","condition","consequent","alternate","EvaluateCall","ToNumber","leftNode","rightNode","pow","fn","GetFunction","options","CjsControllerExpressionEvaluateError","args","map","arg","variables","Map","has","NormalizeValue","get","Object","prototype","hasOwnProperty","call","controller","GetVariableValue","undefined","functions","DEFAULT_FUNCTIONS","IsFunctionPure","pureFunctions","Array","isArray","PURE_DEFAULT_FUNCTIONS","abs","_ctx","x","min","max","floor","ceil","round","sqrt","y","sin","cos","tan","asin","acos","atan","sinh","cosh","tanh","asinh","acosh","atanh","log2","log10","log","ln","sign","rint","RoundHalfToEven","sum","SumValues","avg","clamp","radians","mod","lerp","a","b","random","Random","RandomInteger","randomConstant","ctx","GetRandomConstant","randconst","randhash","Hash01","noise","fractal","input","GetInputValue","inputAt","time","StateTime","stateMachine","GetStateTime","stateTime","CurveSetTime","GetCurveSetTime","AnimationTime","CallContextFunction","IsAnimationPlaying","GetExternalControllerVariable","fallback","ShipSpeed","ShipMaxSpeed","ShipBoosterIntensity","KillCount","BoundingSphereRadius","ShaderQuality","IsWeekend","GetServerDatePart","ServerYear","ServerMonth","ServerDay","ServerDayOfWeek","ServerHour","ServerMinute","ServerSecond","ServerTimePhase","period","GetServerTimePhase","ServerTimeGreaterThan","year","month","day","hour","minute","second","ServerTimeComparison","ServerTimeLessThanOrEqual","ServerTimeEqual","DaysSinceServerTime","curve","self","HasFunction","HasProperty","RoundInputIndex","inputs","GetValueAt","currentValue","trunc","owner","parts","split","GetRangeDuration","join","GetCurveSetDuration","externalControllerVariables","String","GetControllerValueByName","minValue","span","part","override","TryCallContextFunction","Capitalize","date","GetServerDate","getFullYear","getMonth","getDate","getDay","getHours","getMinutes","getSeconds","GetServerTimeSeconds","values","mode","expected","currentYear","currentMonth","currentDay","targetYear","targetMonth","targetDay","target","Date","UTC","current","isFinite","MIN_VALUE","GetServerTimeValue","NormalizeServerTimeMilliseconds","getTime","now","serverTime","GetServerTime","diff","total","number","charAt","toUpperCase","key"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"expressionRuntime.js","sources":["../../../../../src/trinity/controllers/expression/expressionRuntime.js"],"sourcesContent":["// Source: parser/include/ccpparser.h (CcpParser::Parse, Program, Observer)\r\n//\r\n// The tokenizer and the AST evaluator, split out of\r\n// CjsControllerExpressionProgram.js so that the parser and the program can each\r\n// reach them without importing one another. Nothing here is a class: these are\r\n// the bytecode VM's replacement, which is why there are so many of them - see\r\n// that file's head comment for the constraint that forces an AST walk.\r\nimport { CjsControllerExpressionCompileError } from \"./CjsControllerExpressionCompileError.js\";\r\nimport { CjsControllerExpressionEvaluateError } from \"./CjsControllerExpressionEvaluateError.js\";\r\n\r\nexport const BLOCKED_IDENTIFIERS = new Set([\"__proto__\", \"prototype\", \"constructor\", \"Function\", \"eval\", \"process\", \"global\", \"globalThis\", \"window\", \"document\", \"this\"]);\r\nexport const CONSTANTS = {\r\n true: 1,\r\n false: 0,\r\n pi: Math.PI,\r\n pi2: Math.PI * 2,\r\n _pi: Math.PI,\r\n _e: Math.E\r\n};\r\n\r\n/**\r\n * Splits an expression into positioned tokens and rejects unsupported\r\n * characters.\r\n */\r\nexport function Tokenize(source)\r\n{\r\n const tokens = [];\r\n let i = 0;\r\n while (i < source.length)\r\n {\r\n const c = source[i];\r\n if (/\\s/.test(c))\r\n {\r\n i++;\r\n continue;\r\n }\r\n if (IsDigit(c) || c === \".\" && IsDigit(source[i + 1]))\r\n {\r\n const start = i;\r\n i = ReadNumber(source, i);\r\n tokens.push({\r\n type: \"number\",\r\n value: Number(source.slice(start, i)),\r\n position: start\r\n });\r\n continue;\r\n }\r\n if (c === '\"' || c === \"'\")\r\n {\r\n const start = i;\r\n const result = ReadString(source, i);\r\n i = result.end;\r\n tokens.push({\r\n type: \"string\",\r\n value: result.value,\r\n position: start\r\n });\r\n continue;\r\n }\r\n if (IsIdentifierStart(c))\r\n {\r\n const start = i;\r\n i++;\r\n while (IsIdentifierPart(source[i]))\r\n {\r\n i++;\r\n }\r\n tokens.push({\r\n type: \"identifier\",\r\n value: source.slice(start, i),\r\n position: start\r\n });\r\n continue;\r\n }\r\n const two = source.slice(i, i + 2);\r\n if (two === \"&&\" || two === \"||\" || two === \"<=\" || two === \">=\" || two === \"==\" || two === \"!=\")\r\n {\r\n tokens.push({\r\n type: \"operator\",\r\n value: two,\r\n position: i\r\n });\r\n i += 2;\r\n continue;\r\n }\r\n if (\"+-*/%^<>()!,?:\".includes(c))\r\n {\r\n tokens.push({\r\n type: \"operator\",\r\n value: c,\r\n position: i\r\n });\r\n i++;\r\n continue;\r\n }\r\n throw new CjsControllerExpressionCompileError({\r\n expression: source,\r\n reason: `Unexpected character '${c}'`,\r\n position: i\r\n });\r\n }\r\n tokens.push({\r\n type: \"eof\",\r\n value: \"\",\r\n position: source.length\r\n });\r\n return tokens;\r\n}\r\n\r\n/** Finds the end of a decimal literal, leaving an incomplete exponent unconsumed. */\r\nexport function ReadNumber(source, index)\r\n{\r\n let i = index;\r\n while (IsDigit(source[i]))\r\n {\r\n i++;\r\n }\r\n if (source[i] === \".\")\r\n {\r\n i++;\r\n while (IsDigit(source[i]))\r\n {\r\n i++;\r\n }\r\n }\r\n if (source[i] === \"e\" || source[i] === \"E\")\r\n {\r\n const exp = i;\r\n i++;\r\n if (source[i] === \"+\" || source[i] === \"-\")\r\n {\r\n i++;\r\n }\r\n const digits = i;\r\n while (IsDigit(source[i]))\r\n {\r\n i++;\r\n }\r\n if (digits === i)\r\n {\r\n return exp;\r\n }\r\n }\r\n return i;\r\n}\r\n\r\n/** Decodes a quoted literal and its escapes, rejecting an unterminated string. */\r\nexport function ReadString(source, index)\r\n{\r\n const quote = source[index];\r\n let value = \"\";\r\n let i = index + 1;\r\n while (i < source.length)\r\n {\r\n const c = source[i++];\r\n if (c === quote)\r\n {\r\n return {\r\n value,\r\n end: i\r\n };\r\n }\r\n if (c === \"\\\\\")\r\n {\r\n const n = source[i++];\r\n switch (n)\r\n {\r\n case \"n\":\r\n value += \"\\n\";\r\n break;\r\n case \"r\":\r\n value += \"\\r\";\r\n break;\r\n case \"t\":\r\n value += \"\\t\";\r\n break;\r\n default:\r\n value += n;\r\n break;\r\n }\r\n }\r\n else\r\n {\r\n value += c;\r\n }\r\n }\r\n throw new CjsControllerExpressionCompileError({\r\n expression: source,\r\n reason: \"Unterminated string\",\r\n position: index\r\n });\r\n}\r\n\r\n/** Evaluates an expression tree node against the supplied runtime context. */\r\nexport function EvaluateNode(node, context, program)\r\n{\r\n switch (node.type)\r\n {\r\n case \"literal\":\r\n return node.value;\r\n case \"identifier\":\r\n return ResolveIdentifier(node.name, context);\r\n case \"unary\":\r\n return EvaluateUnary(node.operator, EvaluateNode(node.argument, context, program));\r\n case \"binary\":\r\n return EvaluateBinary(node.operator, node.left, node.right, context, program);\r\n case \"conditional\":\r\n return ToBoolean(EvaluateNode(node.condition, context, program)) ? EvaluateNode(node.consequent, context, program) : EvaluateNode(node.alternate, context, program);\r\n case \"call\":\r\n return EvaluateCall(node, context, program);\r\n }\r\n}\r\n\r\n/** Applies numeric signs or logical negation using expression coercion rules. */\r\nexport function EvaluateUnary(operator, value)\r\n{\r\n switch (operator)\r\n {\r\n case \"!\":\r\n return ToBoolean(value) ? 0 : 1;\r\n case \"-\":\r\n return -ToNumber(value);\r\n case \"+\":\r\n return ToNumber(value);\r\n default:\r\n return 0;\r\n }\r\n}\r\n\r\n/**\r\n * Evaluates binary operations with short-circuit logic and zero-divisor\r\n * handling.\r\n */\r\nexport function EvaluateBinary(operator, leftNode, rightNode, context, program)\r\n{\r\n if (operator === \"&&\")\r\n {\r\n return ToBoolean(EvaluateNode(leftNode, context, program)) && ToBoolean(EvaluateNode(rightNode, context, program)) ? 1 : 0;\r\n }\r\n if (operator === \"||\")\r\n {\r\n return ToBoolean(EvaluateNode(leftNode, context, program)) || ToBoolean(EvaluateNode(rightNode, context, program)) ? 1 : 0;\r\n }\r\n const left = EvaluateNode(leftNode, context, program);\r\n const right = EvaluateNode(rightNode, context, program);\r\n switch (operator)\r\n {\r\n case \"+\":\r\n return ToNumber(left) + ToNumber(right);\r\n case \"-\":\r\n return ToNumber(left) - ToNumber(right);\r\n case \"*\":\r\n return ToNumber(left) * ToNumber(right);\r\n case \"/\":\r\n return ToNumber(right) === 0 ? 0 : ToNumber(left) / ToNumber(right);\r\n case \"%\":\r\n return ToNumber(right) === 0 ? 0 : ToNumber(left) % ToNumber(right);\r\n case \"^\":\r\n return Math.pow(ToNumber(left), ToNumber(right));\r\n case \"<\":\r\n return ToNumber(left) < ToNumber(right) ? 1 : 0;\r\n case \"<=\":\r\n return ToNumber(left) <= ToNumber(right) ? 1 : 0;\r\n case \">\":\r\n return ToNumber(left) > ToNumber(right) ? 1 : 0;\r\n case \">=\":\r\n return ToNumber(left) >= ToNumber(right) ? 1 : 0;\r\n case \"==\":\r\n // Carbon's CcpParser numeric/string coercion is closer to loose JS here.\r\n // deno-lint-ignore eqeqeq\r\n return left == right ? 1 : 0;\r\n case \"!=\":\r\n // deno-lint-ignore eqeqeq\r\n return left != right ? 1 : 0;\r\n default:\r\n return 0;\r\n }\r\n}\r\n\r\n/**\r\n * Evaluates call arguments and invokes a registered function, rejecting unknown\r\n * names.\r\n */\r\nexport function EvaluateCall(node, context, program)\r\n{\r\n const fn = GetFunction(node.name, program.options);\r\n if (!fn)\r\n {\r\n throw new CjsControllerExpressionEvaluateError({\r\n expression: program.source,\r\n reason: `Unknown function '${node.name}'`\r\n });\r\n }\r\n const args = node.args.map(arg => EvaluateNode(arg, context, program));\r\n return fn(context || {}, ...args);\r\n}\r\n\r\n/**\r\n * Resolves constants, supplied variables, controller values, or context\r\n * properties, defaulting to zero.\r\n */\r\nexport function ResolveIdentifier(name, context = {})\r\n{\r\n if (name in CONSTANTS)\r\n {\r\n return CONSTANTS[name];\r\n }\r\n if (context.variables)\r\n {\r\n if (context.variables instanceof Map && context.variables.has(name))\r\n {\r\n return NormalizeValue(context.variables.get(name));\r\n }\r\n if (!(context.variables instanceof Map) && Object.prototype.hasOwnProperty.call(context.variables, name))\r\n {\r\n return NormalizeValue(context.variables[name]);\r\n }\r\n }\r\n const value = context.controller?.GetVariableValue?.(name, undefined);\r\n if (value !== undefined)\r\n {\r\n return NormalizeValue(value);\r\n }\r\n if (Object.prototype.hasOwnProperty.call(context, name))\r\n {\r\n return NormalizeValue(context[name]);\r\n }\r\n return 0;\r\n}\r\n\r\n/** Resolves a function override before consulting the built-in function table. */\r\nexport function GetFunction(name, options = {})\r\n{\r\n if (options.functions?.[name])\r\n {\r\n return options.functions[name];\r\n }\r\n return DEFAULT_FUNCTIONS[name] || null;\r\n}\r\n\r\n/** Checks whether a function is declared safe for constant evaluation. */\r\nexport function IsFunctionPure(name, options = {})\r\n{\r\n if (options.functions?.[name])\r\n {\r\n const pureFunctions = options.pureFunctions;\r\n return pureFunctions instanceof Set ? pureFunctions.has(name) : Array.isArray(pureFunctions) && pureFunctions.includes(name);\r\n }\r\n return PURE_DEFAULT_FUNCTIONS.has(name);\r\n}\r\nexport const PURE_DEFAULT_FUNCTIONS = new Set([\"abs\", \"min\", \"max\", \"floor\", \"ceil\", \"round\", \"sqrt\", \"pow\", \"sin\", \"cos\", \"tan\", \"asin\", \"acos\", \"atan\", \"sinh\", \"cosh\", \"tanh\", \"asinh\", \"acosh\", \"atanh\", \"log2\", \"log10\", \"log\", \"ln\", \"exp\", \"sign\", \"rint\", \"sum\", \"avg\", \"clamp\", \"radians\", \"mod\", \"lerp\"]);\r\nexport const DEFAULT_FUNCTIONS = {\r\n abs: (_ctx, x) => Math.abs(ToNumber(x)),\r\n min: (_ctx, ...args) => Math.min(...args.map(ToNumber)),\r\n max: (_ctx, ...args) => Math.max(...args.map(ToNumber)),\r\n floor: (_ctx, x) => Math.floor(ToNumber(x)),\r\n ceil: (_ctx, x) => Math.ceil(ToNumber(x)),\r\n round: (_ctx, x) => Math.round(ToNumber(x)),\r\n sqrt: (_ctx, x) => Math.sqrt(Math.max(0, ToNumber(x))),\r\n pow: (_ctx, x, y) => Math.pow(ToNumber(x), ToNumber(y)),\r\n sin: (_ctx, x) => Math.sin(ToNumber(x)),\r\n cos: (_ctx, x) => Math.cos(ToNumber(x)),\r\n tan: (_ctx, x) => Math.tan(ToNumber(x)),\r\n asin: (_ctx, x) => Math.asin(ToNumber(x)),\r\n acos: (_ctx, x) => Math.acos(ToNumber(x)),\r\n atan: (_ctx, x) => Math.atan(ToNumber(x)),\r\n sinh: (_ctx, x) => Math.sinh(ToNumber(x)),\r\n cosh: (_ctx, x) => Math.cosh(ToNumber(x)),\r\n tanh: (_ctx, x) => Math.tanh(ToNumber(x)),\r\n asinh: (_ctx, x) => Math.asinh(ToNumber(x)),\r\n acosh: (_ctx, x) => Math.acosh(ToNumber(x)),\r\n atanh: (_ctx, x) => Math.atanh(ToNumber(x)),\r\n log2: (_ctx, x) => Math.log2(ToNumber(x)),\r\n log10: (_ctx, x) => Math.log10(ToNumber(x)),\r\n log: (_ctx, x) => Math.log(ToNumber(x)),\r\n ln: (_ctx, x) => Math.log(ToNumber(x)),\r\n exp: (_ctx, x) => Math.exp(ToNumber(x)),\r\n sign: (_ctx, x) =>\r\n {\r\n const value = ToNumber(x);\r\n return value > 0 ? 1 : value < 0 ? -1 : 0;\r\n },\r\n rint: (_ctx, x) => RoundHalfToEven(ToNumber(x)),\r\n sum: (_ctx, ...args) => SumValues(args),\r\n avg: (_ctx, ...args) => args.length ? SumValues(args) / args.length : 0,\r\n clamp: (_ctx, x, min, max) => Math.min(ToNumber(max), Math.max(ToNumber(min), ToNumber(x))),\r\n radians: (_ctx, x) => ToNumber(x) * Math.PI / 180,\r\n mod: (_ctx, x, y) => ToNumber(y) === 0 ? 0 : ToNumber(x) % ToNumber(y),\r\n lerp: (_ctx, a, b, x) => ToNumber(a) * (1 - ToNumber(x)) + ToNumber(b) * ToNumber(x),\r\n random: (_ctx, min = 0, max = 1) => ToNumber(min) + Math.random() * (ToNumber(max) - ToNumber(min)),\r\n Random: (_ctx, min = 0, max = 1) => RandomInteger(min, max),\r\n randomConstant: (ctx, min = 0, max = 1) => ToNumber(min) + GetRandomConstant(ctx) * (ToNumber(max) - ToNumber(min)),\r\n randconst: (ctx, min = 0, max = 1) => DEFAULT_FUNCTIONS.randomConstant(ctx, min, max),\r\n randhash: (_ctx, min = 0, max = 1, value = 0) => ToNumber(min) + Hash01(ToNumber(value)) * (ToNumber(max) - ToNumber(min)),\r\n noise: (ctx, x) => Hash01(ToNumber(x) + GetRandomConstant(ctx)),\r\n fractal: (ctx, x) => Hash01(ToNumber(x) + GetRandomConstant(ctx)),\r\n input: (ctx, index) => GetInputValue(ctx, index),\r\n inputAt: (ctx, index, time) => GetInputValue(ctx, index, time),\r\n StateTime: ctx => ctx.stateMachine?.GetStateTime ? ctx.stateMachine.GetStateTime() : ToNumber(ctx.stateTime),\r\n CurveSetTime: (ctx, name) => GetCurveSetTime(ctx, name),\r\n AnimationTime: (ctx, name) => CallContextFunction(ctx, \"AnimationTime\", name),\r\n IsAnimationPlaying: (ctx, name) => CallContextFunction(ctx, \"IsAnimationPlaying\", name),\r\n GetExternalControllerVariable: (ctx, name, fallback = 0) => GetExternalControllerVariable(ctx, name, fallback),\r\n ShipSpeed: ctx => CallContextFunction(ctx, \"ShipSpeed\"),\r\n ShipMaxSpeed: ctx => CallContextFunction(ctx, \"ShipMaxSpeed\", undefined, 1),\r\n ShipBoosterIntensity: ctx => CallContextFunction(ctx, \"ShipBoosterIntensity\"),\r\n KillCount: ctx => CallContextFunction(ctx, \"KillCount\"),\r\n BoundingSphereRadius: ctx => CallContextFunction(ctx, \"BoundingSphereRadius\"),\r\n ShaderQuality: ctx => CallContextFunction(ctx, \"ShaderQuality\"),\r\n IsWeekend: ctx => GetServerDatePart(ctx, \"dayOfWeek\") % 6 === 0 ? 1 : 0,\r\n ServerYear: ctx => GetServerDatePart(ctx, \"year\"),\r\n ServerMonth: ctx => GetServerDatePart(ctx, \"month\"),\r\n ServerDay: ctx => GetServerDatePart(ctx, \"day\"),\r\n ServerDayOfWeek: ctx => GetServerDatePart(ctx, \"dayOfWeek\"),\r\n ServerHour: ctx => GetServerDatePart(ctx, \"hour\"),\r\n ServerMinute: ctx => GetServerDatePart(ctx, \"minute\"),\r\n ServerSecond: ctx => GetServerDatePart(ctx, \"second\"),\r\n ServerTimePhase: (ctx, period) => GetServerTimePhase(ctx, period),\r\n ServerTimeGreaterThan: (ctx, year, month, day, hour, minute, second) => ServerTimeComparison(ctx, [year, month, day, hour, minute, second], 1),\r\n ServerTimeLessThanOrEqual: (ctx, year, month, day, hour, minute, second) => ServerTimeComparison(ctx, [year, month, day, hour, minute, second], -1),\r\n ServerTimeEqual: (ctx, year, month, day, hour, minute, second) => ServerTimeComparison(ctx, [year, month, day, hour, minute, second], 0),\r\n DaysSinceServerTime: (ctx, year, month, day) => DaysSinceServerTime(ctx, year, month, day)\r\n};\r\n\r\n/** Reads the expression source's stored random value, defaulting to zero. */\r\nexport function GetRandomConstant(context)\r\n{\r\n const source = context.curve ?? context.self ?? context.expression;\r\n if (HasFunction(source, \"GetRandomConstant\"))\r\n {\r\n return ToNumber(source.GetRandomConstant());\r\n }\r\n if (HasProperty(source, \"randomConstant\"))\r\n {\r\n return ToNumber(source.randomConstant);\r\n }\r\n return 0;\r\n}\r\n\r\n/**\r\n * Reads an indexed input through its source adapter, time sampler, or current\r\n * value.\r\n */\r\nexport function GetInputValue(context, index, time)\r\n{\r\n const source = context.curve ?? context.self ?? context.expression ?? context;\r\n if (HasFunction(source, \"GetInputValue\"))\r\n {\r\n return ToNumber(source.GetInputValue(RoundInputIndex(index), time));\r\n }\r\n const inputs = HasProperty(source, \"inputs\") ? source.inputs : context.inputs;\r\n const input = Array.isArray(inputs) ? inputs[RoundInputIndex(index)] : null;\r\n if (!input)\r\n {\r\n return 0;\r\n }\r\n if (time !== undefined && HasFunction(input, \"GetValueAt\"))\r\n {\r\n return ToNumber(input.GetValueAt(ToNumber(time)));\r\n }\r\n if (HasFunction(input, \"GetValueAt\"))\r\n {\r\n return ToNumber(input.GetValueAt(ToNumber(context.time)));\r\n }\r\n if (HasProperty(input, \"currentValue\"))\r\n {\r\n return ToNumber(input.currentValue);\r\n }\r\n return ToNumber(input);\r\n}\r\n\r\n/** Converts an input index by adding one half and truncating toward zero. */\r\nexport function RoundInputIndex(index)\r\n{\r\n return Math.trunc(ToNumber(index) + 0.5);\r\n}\r\n\r\n/**\r\n * Queries an owner's named range or curve-set duration before trying a context\r\n * callback.\r\n */\r\nexport function GetCurveSetTime(context, name)\r\n{\r\n const owner = context.owner;\r\n if (owner)\r\n {\r\n if (HasFunction(owner, \"GetRangeDuration\") && typeof name === \"string\" && name.includes(\"/\"))\r\n {\r\n const parts = name.split(\"/\");\r\n return ToNumber(owner.GetRangeDuration(parts[0], parts.slice(1).join(\"/\")));\r\n }\r\n if (HasFunction(owner, \"GetCurveSetDuration\"))\r\n {\r\n return ToNumber(owner.GetCurveSetDuration(name));\r\n }\r\n }\r\n return CallContextFunction(context, \"CurveSetTime\", name);\r\n}\r\n\r\n/**\r\n * Reads an external variable from the context map or owner, applying the\r\n * supplied fallback.\r\n */\r\nexport function GetExternalControllerVariable(context, name, fallback)\r\n{\r\n if (HasProperty(context, \"externalControllerVariables\") && context.externalControllerVariables && typeof context.externalControllerVariables === \"object\" && Object.prototype.hasOwnProperty.call(context.externalControllerVariables, String(name)))\r\n {\r\n return ToNumber(context.externalControllerVariables[String(name)]);\r\n }\r\n if (HasFunction(context.owner, \"GetControllerValueByName\"))\r\n {\r\n const value = context.owner.GetControllerValueByName(name);\r\n return value === undefined || value === null ? ToNumber(fallback) : ToNumber(value);\r\n }\r\n return ToNumber(fallback);\r\n}\r\n\r\n/**\r\n * Adds a random integer offset below the truncated positive span to the supplied\r\n * minimum.\r\n */\r\nexport function RandomInteger(min, max)\r\n{\r\n const minValue = ToNumber(min);\r\n const span = Math.trunc(ToNumber(max) - minValue);\r\n if (span <= 0)\r\n {\r\n return minValue;\r\n }\r\n return minValue + Math.floor(Math.random() * span);\r\n}\r\n\r\n/**\r\n * Reads a calendar component through an override or the server date's local-time\r\n * accessors.\r\n */\r\nexport function GetServerDatePart(context, part)\r\n{\r\n const override = TryCallContextFunction(context, `Server${Capitalize(part)}`);\r\n if (override !== null)\r\n {\r\n return override;\r\n }\r\n const date = GetServerDate(context);\r\n switch (part)\r\n {\r\n case \"year\":\r\n return date.getFullYear();\r\n case \"month\":\r\n return date.getMonth() + 1;\r\n case \"day\":\r\n return date.getDate();\r\n case \"dayOfWeek\":\r\n return date.getDay();\r\n case \"hour\":\r\n return date.getHours();\r\n case \"minute\":\r\n return date.getMinutes();\r\n case \"second\":\r\n return date.getSeconds();\r\n }\r\n}\r\n\r\n/** Returns server seconds modulo the absolute period, or zero for a zero period. */\r\nexport function GetServerTimePhase(context, period)\r\n{\r\n const value = Math.abs(ToNumber(period));\r\n if (value === 0)\r\n {\r\n return 0;\r\n }\r\n return GetServerTimeSeconds(context) % value;\r\n}\r\n\r\n/**\r\n * Compares selected calendar components in order, treating minus one as a\r\n * wildcard and equality as success.\r\n */\r\nexport function ServerTimeComparison(context, values, mode)\r\n{\r\n const parts = [GetServerDatePart(context, \"year\"), GetServerDatePart(context, \"month\"), GetServerDatePart(context, \"day\"), GetServerDatePart(context, \"hour\"), GetServerDatePart(context, \"minute\"), GetServerDatePart(context, \"second\")];\r\n for (let i = 0; i < parts.length; i++)\r\n {\r\n const expected = ToNumber(values[i], -1);\r\n if (expected === -1)\r\n {\r\n continue;\r\n }\r\n if (mode === 0)\r\n {\r\n if (parts[i] !== expected)\r\n {\r\n return 0;\r\n }\r\n continue;\r\n }\r\n if (parts[i] > expected)\r\n {\r\n return mode === 1 ? 1 : 0;\r\n }\r\n if (parts[i] < expected)\r\n {\r\n return mode === -1 ? 1 : 0;\r\n }\r\n }\r\n return 1;\r\n}\r\n\r\n/**\r\n * Computes a calendar-day difference using current components for wildcards and\r\n * returns Number.MIN_VALUE for invalid dates.\r\n */\r\nexport function DaysSinceServerTime(context, year, month, day)\r\n{\r\n const currentYear = GetServerDatePart(context, \"year\");\r\n const currentMonth = GetServerDatePart(context, \"month\");\r\n const currentDay = GetServerDatePart(context, \"day\");\r\n const targetYear = ToNumber(year, -1) === -1 ? currentYear : ToNumber(year);\r\n const targetMonth = ToNumber(month, -1) === -1 ? currentMonth : ToNumber(month);\r\n const targetDay = ToNumber(day, -1) === -1 ? currentDay : ToNumber(day);\r\n const target = Date.UTC(targetYear, targetMonth, targetDay);\r\n const current = Date.UTC(currentYear, currentMonth, currentDay);\r\n if (!Number.isFinite(target) || !Number.isFinite(current))\r\n {\r\n return Number.MIN_VALUE;\r\n }\r\n return (current - target) / (60 * 60 * 24 * 1000);\r\n}\r\n\r\n/**\r\n * Converts supplied server time into a Date, falling back to the current local\r\n * clock.\r\n */\r\nexport function GetServerDate(context)\r\n{\r\n const value = GetServerTimeValue(context);\r\n if (value instanceof Date)\r\n {\r\n return value;\r\n }\r\n if (typeof value === \"number\" && Number.isFinite(value))\r\n {\r\n return new Date(NormalizeServerTimeMilliseconds(value));\r\n }\r\n return new Date();\r\n}\r\n\r\n/**\r\n * Converts supplied server time into epoch seconds, falling back to the current\r\n * local clock.\r\n */\r\nexport function GetServerTimeSeconds(context)\r\n{\r\n const value = GetServerTimeValue(context);\r\n if (value instanceof Date)\r\n {\r\n return value.getTime() / 1000;\r\n }\r\n if (typeof value === \"number\" && Number.isFinite(value))\r\n {\r\n return NormalizeServerTimeMilliseconds(value) / 1000;\r\n }\r\n return Date.now() / 1000;\r\n}\r\n\r\n/**\r\n * Finds a Date or numeric timestamp in the context, its callback table, or its\r\n * owner.\r\n */\r\nexport function GetServerTimeValue(context)\r\n{\r\n if (HasProperty(context, \"serverTime\"))\r\n {\r\n const value = context.serverTime;\r\n if (value instanceof Date || typeof value === \"number\")\r\n {\r\n return value;\r\n }\r\n }\r\n if (HasProperty(context, \"functions\") && context.functions && typeof context.functions === \"object\" && HasFunction(context.functions, \"GetServerTime\"))\r\n {\r\n const value = context.functions.GetServerTime(context);\r\n if (value instanceof Date || typeof value === \"number\")\r\n {\r\n return value;\r\n }\r\n }\r\n if (HasFunction(context.owner, \"GetServerTime\"))\r\n {\r\n const value = context.owner.GetServerTime();\r\n if (value instanceof Date || typeof value === \"number\")\r\n {\r\n return value;\r\n }\r\n }\r\n return null;\r\n}\r\n\r\n/**\r\n * Uses magnitude thresholds to interpret a timestamp as ticks, seconds, or\r\n * milliseconds.\r\n */\r\nexport function NormalizeServerTimeMilliseconds(value)\r\n{\r\n if (Math.abs(value) > 1e14)\r\n {\r\n return value / 10000;\r\n }\r\n if (Math.abs(value) < 1e10)\r\n {\r\n return value * 1000;\r\n }\r\n return value;\r\n}\r\n\r\n/**\r\n * Invokes a numeric context callback or returns the supplied fallback when none\r\n * exists.\r\n */\r\nexport function CallContextFunction(context, name, arg, fallback = 0)\r\n{\r\n const value = TryCallContextFunction(context, name, arg);\r\n return value === null ? fallback : value;\r\n}\r\n\r\n/**\r\n * Tries the context callback table before the owner and returns null when\r\n * neither supplies the function.\r\n */\r\nexport function TryCallContextFunction(context, name, arg)\r\n{\r\n if (HasProperty(context, \"functions\") && context.functions && typeof context.functions === \"object\" && HasFunction(context.functions, name))\r\n {\r\n return ToNumber(context.functions[name](arg, context));\r\n }\r\n if (HasFunction(context.owner, name))\r\n {\r\n return ToNumber(context.owner[name](arg));\r\n }\r\n return null;\r\n}\r\n\r\n/** Rounds to the nearest integer, choosing the even integer for exact ties. */\r\nexport function RoundHalfToEven(value)\r\n{\r\n const floor = Math.floor(value);\r\n const diff = value - floor;\r\n if (diff < 0.5)\r\n {\r\n return floor;\r\n }\r\n if (diff > 0.5)\r\n {\r\n return floor + 1;\r\n }\r\n return floor % 2 === 0 ? floor : floor + 1;\r\n}\r\n\r\n/** Adds values after applying the expression evaluator's numeric coercion. */\r\nexport function SumValues(values)\r\n{\r\n let total = 0;\r\n for (const value of values)\r\n {\r\n total += ToNumber(value);\r\n }\r\n return total;\r\n}\r\n\r\n/**\r\n * Maps a numeric input deterministically into the interval from zero inclusive\r\n * to one exclusive.\r\n */\r\nexport function Hash01(value)\r\n{\r\n const x = Math.sin(value * 12.9898 + 78.233) * 43758.5453;\r\n return x - Math.floor(x);\r\n}\r\n\r\n/**\r\n * Converts booleans and missing values to expression numbers while preserving\r\n * other values.\r\n */\r\nexport function NormalizeValue(value)\r\n{\r\n if (value === true)\r\n {\r\n return 1;\r\n }\r\n if (value === false)\r\n {\r\n return 0;\r\n }\r\n if (value === undefined || value === null)\r\n {\r\n return 0;\r\n }\r\n return value;\r\n}\r\n\r\n/**\r\n * Coerces an expression value to a finite number or returns the supplied\r\n * fallback.\r\n */\r\nexport function ToNumber(value, fallback = 0)\r\n{\r\n value = NormalizeValue(value);\r\n\r\n const number = Number(value);\r\n return Number.isFinite(number) ? number : fallback;\r\n}\r\n\r\n/** Uppercases the first character while preserving the rest of the string. */\r\nexport function Capitalize(value)\r\n{\r\n return value.charAt(0).toUpperCase() + value.slice(1);\r\n}\r\n\r\n/** Treats nonempty strings and nonzero coerced numbers as true. */\r\nexport function ToBoolean(value)\r\n{\r\n if (typeof value === \"string\")\r\n {\r\n return value.length > 0;\r\n }\r\n return ToNumber(value) !== 0;\r\n}\r\n\r\n/** Recognizes an ASCII decimal digit. */\r\nexport function IsDigit(c)\r\n{\r\n return !!c && c >= \"0\" && c <= \"9\";\r\n}\r\n\r\n/** Recognizes an ASCII letter or underscore that can begin an identifier. */\r\nexport function IsIdentifierStart(c)\r\n{\r\n return !!c && /[A-Za-z_]/.test(c);\r\n}\r\n\r\n/** Recognizes an ASCII letter, digit, or underscore within an identifier. */\r\nexport function IsIdentifierPart(c)\r\n{\r\n return !!c && /[A-Za-z0-9_]/.test(c);\r\n}\r\n\r\n/** Checks for an own or inherited property on a non-null object. */\r\nexport function HasProperty(value, key)\r\n{\r\n return !!value && typeof value === \"object\" && key in value;\r\n}\r\n\r\n/** Checks whether an object's own or inherited property is callable. */\r\nexport function HasFunction(value, key)\r\n{\r\n return HasProperty(value, key) && typeof value[key] === \"function\";\r\n}\r\n"],"names":["BLOCKED_IDENTIFIERS","Set","CONSTANTS","true","false","pi","Math","PI","pi2","_pi","_e","E","Tokenize","source","tokens","i","length","c","test","IsDigit","start","ReadNumber","push","type","value","Number","slice","position","result","ReadString","end","IsIdentifierStart","IsIdentifierPart","two","includes","CjsControllerExpressionCompileError","expression","reason","index","exp","digits","quote","n","EvaluateNode","node","context","program","ResolveIdentifier","name","EvaluateUnary","operator","argument","EvaluateBinary","left","right","ToBoolean","condition","consequent","alternate","EvaluateCall","ToNumber","leftNode","rightNode","pow","fn","GetFunction","options","CjsControllerExpressionEvaluateError","args","map","arg","variables","Map","has","NormalizeValue","get","Object","prototype","hasOwnProperty","call","controller","GetVariableValue","undefined","functions","DEFAULT_FUNCTIONS","IsFunctionPure","pureFunctions","Array","isArray","PURE_DEFAULT_FUNCTIONS","abs","_ctx","x","min","max","floor","ceil","round","sqrt","y","sin","cos","tan","asin","acos","atan","sinh","cosh","tanh","asinh","acosh","atanh","log2","log10","log","ln","sign","rint","RoundHalfToEven","sum","SumValues","avg","clamp","radians","mod","lerp","a","b","random","Random","RandomInteger","randomConstant","ctx","GetRandomConstant","randconst","randhash","Hash01","noise","fractal","input","GetInputValue","inputAt","time","StateTime","stateMachine","GetStateTime","stateTime","CurveSetTime","GetCurveSetTime","AnimationTime","CallContextFunction","IsAnimationPlaying","GetExternalControllerVariable","fallback","ShipSpeed","ShipMaxSpeed","ShipBoosterIntensity","KillCount","BoundingSphereRadius","ShaderQuality","IsWeekend","GetServerDatePart","ServerYear","ServerMonth","ServerDay","ServerDayOfWeek","ServerHour","ServerMinute","ServerSecond","ServerTimePhase","period","GetServerTimePhase","ServerTimeGreaterThan","year","month","day","hour","minute","second","ServerTimeComparison","ServerTimeLessThanOrEqual","ServerTimeEqual","DaysSinceServerTime","curve","self","HasFunction","HasProperty","RoundInputIndex","inputs","GetValueAt","currentValue","trunc","owner","parts","split","GetRangeDuration","join","GetCurveSetDuration","externalControllerVariables","String","GetControllerValueByName","minValue","span","part","override","TryCallContextFunction","Capitalize","date","GetServerDate","getFullYear","getMonth","getDate","getDay","getHours","getMinutes","getSeconds","GetServerTimeSeconds","values","mode","expected","currentYear","currentMonth","currentDay","targetYear","targetMonth","targetDay","target","Date","UTC","current","isFinite","MIN_VALUE","GetServerTimeValue","NormalizeServerTimeMilliseconds","getTime","now","serverTime","GetServerTime","diff","total","number","charAt","toUpperCase","key"],"mappings":"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"}
|