@carbonenginejs/runtime 0.1.0-alpha.3 → 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 +79 -98
- 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/index.js +1 -1
- package/dist/global/schema/CjsSchema.js +177 -51
- package/dist/global/schema/CjsSchema.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 +57 -24
- package/dist/index.js.map +1 -1
- package/dist/resource/CjsResMan.js +33 -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 +0 -1
- 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 +659 -564
- 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 +9 -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/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 +23 -22
- package/dist/resource/texture/TriTextureRes.js.map +1 -1
- 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 +151 -148
- 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 +299 -227
- 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 +2 -2
- 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 +525 -431
- 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/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 +14 -10
- 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/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/video.md +92 -0
- package/docs/resource/reference/events.md +10 -9
- package/docs/resource/reference/queues.md +8 -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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2GrannyAnimation.js","sources":["../../../../../src/trinity/core/animation/Tr2GrannyAnimation.js"],"sourcesContent":["// Source: trinity/trinity/Tr2GrannyAnimation.h\r\n// Source: trinity/trinity/Tr2GrannyAnimation.cpp\r\n//\r\n// Hand-maintained (promoted from src/trinity/generated/trinityCore; the generator skips\r\n// it while this file exists). Promoted to give GetMeshBoneMatrixList Carbon's\r\n// storage: one contiguous Float4x3 palette rather than an array of mat4.\r\nimport { mat3 } from \"#math/mat3\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { CjsGrannyCurves } from \"../../curves/track/CjsGrannyCurves.js\";\r\nimport { GrannyBoneOffset } from \"./GrannyBoneOffset.js\";\r\n\r\n\r\nfunction createLayer(name = \"\", weight = 1, allBones = false)\r\n{\r\n return {\r\n name,\r\n weight,\r\n allBones,\r\n bones: new Set(),\r\n queue: [],\r\n controlParam: 0,\r\n controlParamTarget: 0,\r\n controlParamEnabled: false,\r\n controlParamSkewRate: 0\r\n };\r\n}\r\n\r\n\r\nfunction getName(value)\r\n{\r\n return String(value?.name ?? value?.Name ?? \"\");\r\n}\r\n\r\n\r\n/** No bones: the shape every consumer already handles, per Carbon's else branch. */\r\nconst NO_BONES = Object.freeze({ bones: null, boneCount: 0 });\r\n\r\n\r\n/**\r\n * The mesh bone palette of an animation updater, or nulls when it has none.\r\n *\r\n * Carbon `Tr2GrannyAnimationUtils::GetBoneList` (Tr2GrannyAnimation.cpp:24-33),\r\n * which every bone consumer calls before threading `(bones, boneCount)` down.\r\n * An uninitialised updater or a zero bone count yields the same shape as no\r\n * updater at all, so callers need one branch rather than three.\r\n *\r\n * The palette is BORROWED - it is the updater's live buffer, rewritten in place\r\n * each frame. Do not retain it across frames or mutate it.\r\n */\r\nexport function getBoneList(animationUpdater)\r\n{\r\n if (!animationUpdater?.IsInitialized?.())\r\n {\r\n return NO_BONES;\r\n }\r\n\r\n const boneCount = animationUpdater.GetMeshBoneCount?.() ?? 0;\r\n\r\n if (!boneCount)\r\n {\r\n return NO_BONES;\r\n }\r\n\r\n const bones = animationUpdater.GetMeshBoneMatrixList?.();\r\n\r\n return bones ? { bones, boneCount } : NO_BONES;\r\n}\r\n\r\n\r\n/** Tr2GrannyAnimation (trinityCore) - promoted from generated; shapeHash 056bad2a. */\r\n@type.define({ className: \"Tr2GrannyAnimation\", family: \"trinityCore\" })\r\nexport class Tr2GrannyAnimation extends CjsModel\r\n{\r\n\r\n #additiveMode = false;\r\n\r\n #aimAxis = vec3.fromValues(0, 0, 1);\r\n\r\n #aimBone = \"\";\r\n\r\n #aimBoneOrientation = vec3.fromValues(0, 0, 1);\r\n\r\n #aimingBone = false;\r\n\r\n #baseLayer = createLayer(\"\", 1, true);\r\n\r\n #curveCache = new WeakMap();\r\n\r\n #initialized = false;\r\n\r\n #layers = new Map();\r\n\r\n #meshBoneIndices = [];\r\n\r\n /**\r\n * Carbon's `Float4x3* m_meshBoneMatrixList` (Tr2GrannyAnimation.h:208) - one\r\n * contiguous palette, stride 12, allocated once and rewritten in place.\r\n */\r\n #meshBonePalette = null;\r\n\r\n /** Carbon m_useMeshBinding (Tr2GrannyAnimation.cpp:81) - defaults false. */\r\n #useMeshBinding = false;\r\n\r\n /** Whether grannyRes was borrowed from the mesh rather than resolved here. */\r\n #sharedGeometry = false;\r\n\r\n #morphAnimations = new Map();\r\n\r\n #morphCurveCache = new WeakMap();\r\n\r\n #morphSample = new Float32Array(1);\r\n\r\n #paused = false;\r\n\r\n /**\r\n * Carbon m_poseModifier (Tr2GrannyAnimation.h:230): a NON-OWNING\r\n * ITr2PoseModifier registration - the modifier must outlive it or be\r\n * cleared with SetPoseModifier(null) before it goes away.\r\n */\r\n #poseModifier = null;\r\n\r\n /** The cached skeleton/pose ducks handed to the pose modifier. */\r\n #poseModifierView = null;\r\n\r\n #runtimeModel = null;\r\n\r\n #secondaryResources = new Map();\r\n\r\n /** m_resPath (std::string) [PERSISTONLY] */\r\n @io.persistOnly\r\n @type.string\r\n resPath_ = \"\";\r\n\r\n /** m_model (std::string) [PERSISTONLY] */\r\n @io.persistOnly\r\n @type.string\r\n model_ = \"\";\r\n\r\n /**\r\n * Blue property alias for the persisted resPath_ backing field. It is not a\r\n * separate schema field: exporting both names would create conflicting keys\r\n * when sparse model values author only the canonical persisted name.\r\n */\r\n get resPath()\r\n {\r\n return this.resPath_;\r\n }\r\n\r\n /** Sets the Blue resource-path alias and rebuilds cached animation data. */\r\n set resPath(value)\r\n {\r\n this.resPath_ = String(value ?? \"\");\r\n this.Initialize();\r\n }\r\n\r\n /** Blue property alias for the persisted model_ backing field. */\r\n get model()\r\n {\r\n return this.model_;\r\n }\r\n\r\n /** Sets the Blue model alias and rebuilds cached animation data. */\r\n set model(value)\r\n {\r\n this.model_ = String(value ?? \"\");\r\n this.Initialize();\r\n }\r\n\r\n /** m_grannyRes (TriGrannyResPtr) [READ] */\r\n @io.read\r\n @type.objectRef(\"TriGrannyRes\")\r\n grannyRes = null;\r\n\r\n /** m_eventListener (IBlueEventListenerPtr) [READWRITE] */\r\n @io.readwrite\r\n @type.objectRef(\"IBlueEventListener\")\r\n eventListener = null;\r\n\r\n /** m_animationEnabled (bool) [READWRITE] */\r\n @io.readwrite\r\n @type.boolean\r\n animationEnabled = true;\r\n\r\n /** m_debugRenderJointNames (bool) [READWRITE] */\r\n @io.readwrite\r\n @type.boolean\r\n debugRenderJointNames = false;\r\n\r\n /** m_debugRenderSkeleton (bool) [READWRITE] */\r\n @io.readwrite\r\n @type.boolean\r\n debugRenderSkeleton = false;\r\n\r\n /** m_boneOffset (PGrannyBoneOffset) [READ] */\r\n @io.read\r\n @type.objectRef(\"GrannyBoneOffset\")\r\n boneOffset = new GrannyBoneOffset();\r\n\r\n /** Resolves an authored resource path from the shared CPU Granny registry. */\r\n @impl.adapted\r\n Initialize()\r\n {\r\n if (!this.grannyRes && this.resPath_)\r\n {\r\n this.grannyRes = CjsGrannyCurves.resolveResource(this.resPath_);\r\n }\r\n return this.RebuildCachedData();\r\n }\r\n\r\n /** Attaches an already decoded TriGrannyRes-compatible resource. */\r\n @impl.adapted\r\n SetGrannyResource(resource)\r\n {\r\n this.grannyRes = resource ?? null;\r\n this.#sharedGeometry = false;\r\n return this.RebuildCachedData();\r\n }\r\n\r\n /**\r\n * Binds a geometry resource BORROWED from the mesh this controller animates,\r\n * rather than one resolved from its own resPath.\r\n *\r\n * Carbon `SetSharedGeometryRes` (Tr2GrannyAnimation.h), driven by\r\n * `EveChildMesh::InitializeAnimation` when the updater has no authored path\r\n * of its own. A null resource clears the binding, which is Carbon's fallback\r\n * when the mesh has no geometry yet.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetSharedGeometryRes(resource)\r\n {\r\n this.grannyRes = resource ?? null;\r\n this.#sharedGeometry = !!resource;\r\n return this.RebuildCachedData();\r\n }\r\n\r\n /**\r\n * Whether the palette is built from the MESH's bone binding.\r\n *\r\n * Carbon gates palette construction on this (`m_useMeshBinding`,\r\n * Tr2GrannyAnimation.cpp:588, :633) and `EveChildMesh::GetBoneTransforms`\r\n * branches on it to choose between this controller's palette and a separate\r\n * Tr2AnimationMeshBinding. Defaults false, matching cpp:81.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n HasMeshBinding()\r\n {\r\n return this.#useMeshBinding;\r\n }\r\n\r\n /** Carbon `SetUseMeshBinding` (Tr2GrannyAnimation.h:60). */\r\n @carbon.method\r\n @impl.implemented\r\n SetUseMeshBinding(enable)\r\n {\r\n this.#useMeshBinding = !!enable;\r\n }\r\n\r\n /** Whether the bound geometry was borrowed from the mesh. */\r\n @impl.adapted\r\n HasSharedGeometryRes()\r\n {\r\n return this.#sharedGeometry;\r\n }\r\n\r\n /** Rebuilds browser bone state directly from format-gr2's stable payload. */\r\n @impl.adapted\r\n RebuildCachedData()\r\n {\r\n const source = this.#getSource(this.grannyRes);\r\n const models = this.#getArray(source, \"models\", \"Models\");\r\n const model = models.find(item => getName(item) === this.model_) ?? models[0] ?? null;\r\n const skeleton = model?.skeleton ?? model?.Skeleton ?? null;\r\n const sourceBones = this.#getArray(skeleton, \"bones\", \"Bones\");\r\n this.#runtimeModel = null;\r\n this.#meshBoneIndices.length = 0;\r\n this.#curveCache = new WeakMap();\r\n this.#morphCurveCache = new WeakMap();\r\n this.#morphAnimations.clear();\r\n this.boneOffset?.ClearRigBindings?.();\r\n if (!model || sourceBones.length === 0)\r\n {\r\n this.#initialized = false;\r\n return false;\r\n }\r\n\r\n const bones = sourceBones.map((sourceBone, index) => this.#createBone(sourceBone, index));\r\n const boneByName = new Map(bones.map((bone, index) => [bone.name, index]));\r\n this.#runtimeModel = { source, model, skeleton, bones, boneByName };\r\n this.#rebuildRestTransforms();\r\n this.#rebuildMeshBoneIndices();\r\n this.#initialized = true;\r\n this.Update(0);\r\n return true;\r\n }\r\n\r\n /** Advances CPU animation controls and rebuilds browser bone matrices. */\r\n @impl.adapted\r\n Update(dt = 0)\r\n {\r\n if (!this.#initialized || !this.animationEnabled)\r\n {\r\n return false;\r\n }\r\n const deltaTime = this.#paused ? 0 : Math.max(0, Number(dt) || 0);\r\n this.#advanceLayer(this.#baseLayer, deltaTime);\r\n for (const layer of this.#getOrderedLayers())\r\n {\r\n this.#advanceLayer(layer, deltaTime);\r\n }\r\n this.#resetPose();\r\n this.#morphAnimations.clear();\r\n this.#sampleLayer(this.#baseLayer, false);\r\n for (const layer of this.#getOrderedLayers())\r\n {\r\n this.#sampleLayer(layer, this.#additiveMode);\r\n }\r\n // Carbon PrePhysicsAnimation (cpp:1704-1723) runs ModifyPose after\r\n // sampling and before bone offsets. Carbon restores m_sampledPose before\r\n // sampling so the modifier never compounds onto its own output; the\r\n // #resetPose above already re-establishes that invariant every frame, so\r\n // no snapshot/restore pair is needed here.\r\n if (this.#poseModifier)\r\n {\r\n const view = this.#GetPoseModifierView();\r\n this.#poseModifier.ModifyPose(view.skeleton, view.pose);\r\n }\r\n this.#applyBoneOffsets();\r\n this.#composePose();\r\n return true;\r\n }\r\n\r\n /** The registered pose modifier, or null (Carbon Tr2GrannyAnimation.cpp:2170-2173). */\r\n @carbon.method\r\n @impl.implemented\r\n GetPoseModifier()\r\n {\r\n return this.#poseModifier;\r\n }\r\n\r\n /**\r\n * Registers the non-owning modify-the-sampled-pose hook (Carbon\r\n * Tr2GrannyAnimation.cpp:2175-2178); pass null to clear it.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetPoseModifier(poseModifier)\r\n {\r\n this.#poseModifier = poseModifier ?? null;\r\n }\r\n\r\n /**\r\n * The skeleton/pose ducks the modifier receives: bone names plus\r\n * boneTransforms entries whose position/rotation/scaleShear ALIAS the live\r\n * runtime bone arrays, so in-place modification lands in the composed\r\n * pose exactly as Carbon's cmf::SkeletonPose& does. Rebuilt only when the\r\n * runtime model changes.\r\n */\r\n #GetPoseModifierView()\r\n {\r\n const model = this.#runtimeModel;\r\n if (!this.#poseModifierView || this.#poseModifierView.model !== model)\r\n {\r\n const bones = model?.bones ?? [];\r\n this.#poseModifierView = {\r\n model,\r\n skeleton: {\r\n bones: bones.map(bone => bone.name),\r\n parents: bones.map(bone => bone.parentIndex)\r\n },\r\n pose: {\r\n boneTransforms: bones.map(bone => ({\r\n position: bone.position,\r\n rotation: bone.orientation,\r\n scaleShear: bone.scaleShear\r\n }))\r\n }\r\n };\r\n }\r\n return this.#poseModifierView;\r\n }\r\n\r\n /** Carbon method PlayAnimationEx (MAP_METHOD_AND_WRAP_OPTIONAL_ARGS). */\r\n @carbon.method\r\n @impl.adapted\r\n PlayAnimationEx(animName, loopCount, delay, speed, clearWhenDone = true)\r\n {\r\n return this.PlayAnimation(animName, true, loopCount, delay, speed, clearWhenDone);\r\n }\r\n\r\n /** Carbon method AddAnimationLayer (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n AddAnimationLayer(layerName, layerWeight = 1)\r\n {\r\n const name = String(layerName ?? \"\");\r\n if (!name || this.#layers.has(name))\r\n {\r\n return false;\r\n }\r\n this.#layers.set(name, createLayer(name, Number(layerWeight) || 0, false));\r\n return true;\r\n }\r\n\r\n /** Carbon method AddAnimationLayerAllBones (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n AddAnimationLayerAllBones(layerName)\r\n {\r\n const layer = this.#getLayer(layerName);\r\n if (!layer)\r\n {\r\n return false;\r\n }\r\n layer.allBones = true;\r\n return true;\r\n }\r\n\r\n /** Carbon method AddAnimationLayerBone (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n AddAnimationLayerBone(layerName, boneName)\r\n {\r\n const layer = this.#getLayer(layerName);\r\n if (!layer)\r\n {\r\n return false;\r\n }\r\n layer.bones.add(String(boneName ?? \"\"));\r\n return true;\r\n }\r\n\r\n /** Carbon method AddSecondaryResPath (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Resource loading stays resource-layer-owned; registered decoded resources are attached synchronously when available.\")\r\n AddSecondaryResPath(resPath)\r\n {\r\n const path = String(resPath ?? \"\");\r\n if (!path || this.#secondaryResources.has(path))\r\n {\r\n return false;\r\n }\r\n this.#secondaryResources.set(path, CjsGrannyCurves.resolveResource(path));\r\n return true;\r\n }\r\n\r\n /** Attaches a decoded secondary animation resource after async loading. */\r\n @impl.adapted\r\n SetSecondaryGrannyResource(resPath, resource)\r\n {\r\n const path = String(resPath ?? \"\");\r\n if (!path)\r\n {\r\n return false;\r\n }\r\n this.#secondaryResources.set(path, resource ?? null);\r\n return true;\r\n }\r\n\r\n /** Carbon method AimBone (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The browser graph retains Carbon's aim request; final IK realization can be refined by an engine adapter.\")\r\n AimBone(boneName, targetX, targetY, targetZ, axisX, axisY, axisZ)\r\n {\r\n this.#aimingBone = true;\r\n this.#aimBone = String(boneName ?? \"\");\r\n vec3.set(this.#aimBoneOrientation, targetX, targetY, targetZ);\r\n vec3.set(this.#aimAxis, axisX, axisY, axisZ);\r\n }\r\n\r\n /** Carbon method ChainAnimation (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n ChainAnimation(animName)\r\n {\r\n return this.PlayAnimation(animName, false, 1, 0, 1, true);\r\n }\r\n\r\n /** Carbon method ChainAnimationEx (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n ChainAnimationEx(animName, loopCount, delay, speed)\r\n {\r\n return this.PlayAnimation(animName, false, loopCount, delay, speed, true);\r\n }\r\n\r\n /** Carbon method ClearAnimations (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n ClearAnimations()\r\n {\r\n this.#baseLayer.queue.length = 0;\r\n }\r\n\r\n /**\r\n * Stops all base-layer animations, current and queued, `delay` seconds from\r\n * now (Carbon Tr2GrannyAnimation.cpp:1510-1513 delegating to the layer's\r\n * queue clear + per-player stop time, Tr2GrannyAnimationLayer.cpp:462-475).\r\n * A non-positive delay removes the active animation immediately, morphs\r\n * included; a positive delay pins its stop time so playback holds its last\r\n * sampled value until then. Distinct from EndAnimation (finish the current\r\n * loop) and ClearAnimations (drop everything with no delay bookkeeping).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon pins a stop time per sequencer player; the browser layer's single active request carries the stop as a stopAt clock value with the pending queue dropped.\")\r\n StopAnimations(delay = 0)\r\n {\r\n const layer = this.#baseLayer;\r\n const request = layer.queue[0];\r\n layer.queue.length = 0;\r\n const stopDelay = Number(delay) || 0;\r\n if (request && stopDelay > 0)\r\n {\r\n // Carbon: player.SetStopTime(animationTime + delay) - the layer clock\r\n // and our request.elapsed advance in the same unscaled seconds.\r\n request.stopAt = request.elapsed + stopDelay;\r\n layer.queue.push(request);\r\n }\r\n }\r\n\r\n /** Carbon method ClearAnimationLayers (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n ClearAnimationLayers()\r\n {\r\n this.#layers.clear();\r\n }\r\n\r\n /** Carbon method DisableAimBone (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n DisableAimBone()\r\n {\r\n this.#aimingBone = false;\r\n }\r\n\r\n /** Carbon method EndAnimation (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n EndAnimation()\r\n {\r\n const request = this.#baseLayer.queue[0];\r\n this.#baseLayer.queue.splice(1);\r\n if (!request?.animation)\r\n {\r\n return;\r\n }\r\n const duration = this.#getAnimationDuration(request.animation);\r\n if (duration > 0)\r\n {\r\n const localTime = Math.max(0, request.elapsed) * Math.abs(request.speed);\r\n request.loopCount = Math.floor(localTime / duration) + 1;\r\n }\r\n }\r\n\r\n /** Carbon method GetAdditiveBlendMode (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n GetAdditiveBlendMode()\r\n {\r\n return this.#additiveMode;\r\n }\r\n\r\n /** Carbon method GetLayerWeight (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n GetLayerWeight(layerName)\r\n {\r\n return this.#getLayer(layerName)?.weight ?? 0;\r\n }\r\n\r\n /** Carbon method GetSecondaryAnimationName (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n GetSecondaryAnimationName(resPath, index)\r\n {\r\n const source = this.#getSource(this.#secondaryResources.get(String(resPath ?? \"\")));\r\n return getName(CjsGrannyCurves.getAnimations(source)[Number(index) || 0]);\r\n }\r\n\r\n /** Carbon method PlayAnimation -> PlayAnimationOnce (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n PlayAnimation(animName, replace = true, loopCount = 1, delay = 0, speed = 1, clearWhenDone = true)\r\n {\r\n return this.#playLayer(\"\", animName, replace, loopCount, delay, speed, clearWhenDone);\r\n }\r\n\r\n /** Native-name alias retained for controller integrations. */\r\n @impl.adapted\r\n PlayAnimationOnce(animName)\r\n {\r\n return this.PlayAnimation(animName, true, 1, 0, 1, true);\r\n }\r\n\r\n /** Carbon method PlayLayerAnimation -> PlayLayerAnimationByName (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n PlayLayerAnimation(layerName, animName, replace = true, loopCount = 1, delay = 0, speed = 1, clearWhenDone = true)\r\n {\r\n return this.#playLayer(layerName, animName, replace, loopCount, delay, speed, clearWhenDone);\r\n }\r\n\r\n /** Alias used by Carbon controller actions. */\r\n @impl.adapted\r\n PlayLayerAnimationByName(...args)\r\n {\r\n return this.PlayLayerAnimation(...args);\r\n }\r\n\r\n /** Carbon method RemoveAnimationLayerBone (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n RemoveAnimationLayerBone(layerName, boneName)\r\n {\r\n const layer = this.#getLayer(layerName);\r\n return layer ? layer.bones.delete(String(boneName ?? \"\")) : false;\r\n }\r\n\r\n /** Carbon method GetAnimationNames (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n GetAnimationNames()\r\n {\r\n const names = [];\r\n const append = resource =>\r\n {\r\n const source = this.#getSource(resource);\r\n for (const animation of CjsGrannyCurves.getAnimations(source))\r\n {\r\n names.push(getName(animation));\r\n }\r\n };\r\n append(this.grannyRes);\r\n for (const resource of this.#secondaryResources.values())\r\n {\r\n append(resource);\r\n }\r\n return names;\r\n }\r\n\r\n /** Carbon method SetAdditiveBlendMode (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetAdditiveBlendMode(additive)\r\n {\r\n this.#additiveMode = !!additive;\r\n }\r\n\r\n /** Carbon method SetLayerControlParam (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetLayerControlParam(layerName, controlParam)\r\n {\r\n const layer = this.#getLayer(layerName);\r\n if (!layer)\r\n {\r\n return false;\r\n }\r\n layer.controlParamTarget = Number(controlParam) || 0;\r\n layer.controlParamEnabled = true;\r\n return true;\r\n }\r\n\r\n /** Carbon method SetLayerControlParamSkewRate (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetLayerControlParamSkewRate(layerName, skewRate)\r\n {\r\n const layer = this.#getLayer(layerName);\r\n if (!layer)\r\n {\r\n return false;\r\n }\r\n layer.controlParamSkewRate = Number(skewRate) || 0;\r\n return true;\r\n }\r\n\r\n /** Carbon method SetLayerWeight (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetLayerWeight(layerName, layerWeight)\r\n {\r\n const layer = this.#getLayer(layerName);\r\n if (!layer)\r\n {\r\n return false;\r\n }\r\n layer.weight = Number(layerWeight) || 0;\r\n return true;\r\n }\r\n\r\n /** Carbon method TogglePauseAnimations (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n TogglePauseAnimations(pause)\r\n {\r\n this.#paused = !!pause;\r\n }\r\n\r\n /** Returns whether a model-bearing decoded Granny payload is ready. */\r\n @impl.implemented\r\n IsInitialized()\r\n {\r\n return this.#initialized;\r\n }\r\n\r\n /**\r\n * The mesh-order bone palette, in Carbon's storage: ONE contiguous buffer of\r\n * Float4x3 entries, stride 12, not an array of matrices.\r\n *\r\n * Carbon holds `Float4x3* m_meshBoneMatrixList` (Tr2GrannyAnimation.h:208)\r\n * and every CPU consumer unpacks it with `TriMatrixCopyFrom3x4`. The JS\r\n * consumers already expect that shape - `MatrixCopyFrom3x4` indexes\r\n * `boneIndex * 12` for the light sets, bounds and decals - so the palette is\r\n * built here rather than converted at each of nine call sites. It is also\r\n * what an uploader wants: one block, handed over whole.\r\n *\r\n * Float4x3 drops the constant fourth column and stores the first three\r\n * columns of the 4x4 (Utilities/MatrixUtils.cpp:6-20).\r\n */\r\n @impl.adapted\r\n GetMeshBoneMatrixList()\r\n {\r\n const bones = this.#runtimeModel?.bones ?? [];\r\n const count = this.#meshBoneIndices.length;\r\n\r\n if (!this.#meshBonePalette || this.#meshBonePalette.length !== count * 12)\r\n {\r\n this.#meshBonePalette = new Float32Array(count * 12);\r\n }\r\n\r\n const palette = this.#meshBonePalette;\r\n\r\n for (let index = 0; index < count; index++)\r\n {\r\n const source = bones[this.#meshBoneIndices[index]]?.offsetTransform;\r\n const base = index * 12;\r\n\r\n if (!source)\r\n {\r\n // Carbon leaves an unmapped bone at whatever the palette held; identity\r\n // is the reproducible stand-in and keeps a missing bone from collapsing\r\n // its geometry to the origin.\r\n palette[base] = palette[base + 5] = palette[base + 10] = 1;\r\n palette[base + 1] = palette[base + 2] = palette[base + 3] = 0;\r\n palette[base + 4] = palette[base + 6] = palette[base + 7] = 0;\r\n palette[base + 8] = palette[base + 9] = palette[base + 11] = 0;\r\n continue;\r\n }\r\n\r\n // Columns of the 4x4, which is rows of its transpose. gl-matrix is\r\n // column-major, so column c is source[c * 4 + r].\r\n palette[base] = source[0];\r\n palette[base + 1] = source[4];\r\n palette[base + 2] = source[8];\r\n palette[base + 3] = source[12];\r\n palette[base + 4] = source[1];\r\n palette[base + 5] = source[5];\r\n palette[base + 6] = source[9];\r\n palette[base + 7] = source[13];\r\n palette[base + 8] = source[2];\r\n palette[base + 9] = source[6];\r\n palette[base + 10] = source[10];\r\n palette[base + 11] = source[14];\r\n }\r\n\r\n return palette;\r\n }\r\n\r\n @impl.implemented\r\n /** Returns the number of mesh bones in the current palette. */\r\n GetMeshBoneCount()\r\n {\r\n return this.#meshBoneIndices.length;\r\n }\r\n\r\n @impl.adapted\r\n /** Copies a named bone's world transform into an output matrix. */\r\n GetBoneWorldTransform(boneName, out = mat4.create())\r\n {\r\n const index = this.#runtimeModel?.boneByName.get(String(boneName ?? \"\"));\r\n if (index === undefined)\r\n {\r\n return false;\r\n }\r\n mat4.copy(out, this.#runtimeModel.bones[index].worldTransform);\r\n return out;\r\n }\r\n\r\n @impl.adapted\r\n /** Copies an indexed bone's world transform into an output matrix. */\r\n GetBoneTransform(index, out = mat4.create())\r\n {\r\n const bone = this.#runtimeModel?.bones[Number(index)];\r\n if (!bone)\r\n {\r\n return false;\r\n }\r\n mat4.copy(out, bone.worldTransform);\r\n return out;\r\n }\r\n\r\n @impl.adapted\r\n /** Resolves a bone name or index to its current world matrix. */\r\n GetBoneMatrix(bone)\r\n {\r\n if (typeof bone === \"number\")\r\n {\r\n return this.GetBoneTransform(bone);\r\n }\r\n return this.GetBoneWorldTransform(bone);\r\n }\r\n\r\n @impl.implemented\r\n /** Returns the current world transforms for every animation bone. */\r\n GetAnimationTransforms()\r\n {\r\n return this.#runtimeModel?.bones.map(bone => bone.worldTransform) ?? [];\r\n }\r\n\r\n @impl.implemented\r\n /** Returns the ordered names of the current animation bones. */\r\n GetAnimationBoneList()\r\n {\r\n return this.#runtimeModel?.bones.map(bone => bone.name) ?? [];\r\n }\r\n\r\n /** Returns a detached snapshot of morph values sampled during the last update. */\r\n @impl.implemented\r\n GetMorphAnimations()\r\n {\r\n return new Map(this.#morphAnimations);\r\n }\r\n\r\n /** Exposes retained aim state to an engine-side IK adapter. */\r\n @impl.adapted\r\n GetAimBoneState()\r\n {\r\n return {\r\n enabled: this.#aimingBone,\r\n boneName: this.#aimBone,\r\n target: vec3.clone(this.#aimBoneOrientation),\r\n axis: vec3.clone(this.#aimAxis)\r\n };\r\n }\r\n\r\n /** Advances one animation layer and retires completed requests. */\r\n #advanceLayer(layer, dt)\r\n {\r\n if (layer.controlParamEnabled)\r\n {\r\n const difference = layer.controlParamTarget - layer.controlParam;\r\n const increment = Math.abs(layer.controlParamSkewRate * dt);\r\n if (increment === 0 || Math.abs(difference) <= increment)\r\n {\r\n layer.controlParam = layer.controlParamTarget;\r\n }\r\n else\r\n {\r\n layer.controlParam += Math.sign(difference) * increment;\r\n }\r\n }\r\n const request = layer.queue[0];\r\n if (!request)\r\n {\r\n return;\r\n }\r\n request.animation ??= this.#findAnimation(request.name);\r\n if (!request.animation)\r\n {\r\n return;\r\n }\r\n request.elapsed += dt;\r\n // Carbon cmf::AnimationSequencer::RemoveFinishedAnimations erases a\r\n // player once its pinned stop time is reached (animation.cpp:821-827).\r\n if (request.stopAt !== undefined && request.elapsed >= request.stopAt)\r\n {\r\n layer.queue.shift();\r\n return;\r\n }\r\n const duration = this.#getAnimationDuration(request.animation);\r\n const speed = Math.abs(request.speed);\r\n if (duration <= 0 || request.elapsed < 0 || request.loopCount <= 0)\r\n {\r\n return;\r\n }\r\n if (request.elapsed * speed < duration * request.loopCount)\r\n {\r\n return;\r\n }\r\n if (layer.queue.length > 1 || request.clearWhenDone)\r\n {\r\n layer.queue.shift();\r\n }\r\n else\r\n {\r\n request.elapsed = duration * request.loopCount / speed;\r\n request.held = true;\r\n }\r\n }\r\n\r\n /** Applies configured bone offsets to the sampled local pose. */\r\n #applyBoneOffsets()\r\n {\r\n const bones = this.#runtimeModel?.bones ?? [];\r\n const offsets = this.boneOffset;\r\n if (!bones.length || !offsets?.HaveTransforms?.())\r\n {\r\n return;\r\n }\r\n\r\n if (offsets.NeedRebind?.(bones.length))\r\n {\r\n offsets.BindToRig?.(bones.map(bone => bone.name), bones.length);\r\n }\r\n\r\n for (const bone of bones)\r\n {\r\n offsets.ApplyToLocal?.(bone.index, bone.orientation, bone.position);\r\n }\r\n }\r\n\r\n /** Composes local bone state into world and offset transforms. */\r\n #composePose()\r\n {\r\n const rotationMatrix = mat4.create();\r\n for (const bone of this.#runtimeModel.bones)\r\n {\r\n // Granny composite applies ScaleShear FIRST, then Orientation, then\r\n // Position (row-vector SS*R*T - authority: the validated gr2->CMF\r\n // converter, runtime resource formats/cmf/core/gr2Anim.js composeTrs).\r\n // In gl-matrix that is local = R . SS with the translation stamped in.\r\n // Order-insensitive for identity scaleShear (all EVE skeletons).\r\n mat4.fromMat3(bone.localTransform, bone.scaleShear);\r\n mat4.multiply(bone.localTransform, mat4.fromQuat(rotationMatrix, bone.orientation), bone.localTransform);\r\n bone.localTransform[12] = bone.position[0];\r\n bone.localTransform[13] = bone.position[1];\r\n bone.localTransform[14] = bone.position[2];\r\n if (bone.parentIndex >= 0 && this.#runtimeModel.bones[bone.parentIndex])\r\n {\r\n mat4.multiply(bone.worldTransform, this.#runtimeModel.bones[bone.parentIndex].worldTransform, bone.localTransform);\r\n }\r\n else\r\n {\r\n mat4.copy(bone.worldTransform, bone.localTransform);\r\n }\r\n mat4.multiply(bone.offsetTransform, bone.worldTransform, bone.inverseRestTransform);\r\n }\r\n }\r\n\r\n /** Creates one detached runtime bone record from a decoded source bone. */\r\n #createBone(source, index)\r\n {\r\n const sourcePosition = source.position ?? source.Position ?? [0, 0, 0];\r\n const sourceOrientation = source.orientation ?? source.Orientation ?? [0, 0, 0, 1];\r\n const sourceScaleShear = source.scaleShear ?? source.ScaleShear ?? [1, 0, 0, 0, 1, 0, 0, 0, 1];\r\n const parent = Number(source.parentIndex ?? source.ParentIndex ?? -1);\r\n return {\r\n index,\r\n name: getName(source) || String(source.bone ?? source.Bone ?? \"\"),\r\n parentIndex: parent === 255 ? -1 : parent,\r\n restPosition: vec3.fromValues(sourcePosition[0] ?? 0, sourcePosition[1] ?? 0, sourcePosition[2] ?? 0),\r\n restOrientation: quat.fromValues(sourceOrientation[0] ?? 0, sourceOrientation[1] ?? 0, sourceOrientation[2] ?? 0, sourceOrientation[3] ?? 1),\r\n restScaleShear: mat3.fromValues(...sourceScaleShear),\r\n position: vec3.create(),\r\n orientation: quat.create(),\r\n scaleShear: mat3.create(),\r\n localTransform: mat4.create(),\r\n worldTransform: mat4.create(),\r\n inverseRestTransform: mat4.create(),\r\n offsetTransform: mat4.create()\r\n };\r\n }\r\n\r\n /** Decodes and caches the transform curves for one animation track. */\r\n #decodeTrack(track)\r\n {\r\n let value = this.#curveCache.get(track);\r\n if (!value)\r\n {\r\n value = {\r\n position: CjsGrannyCurves.decodeGrannyCurve(track.position ?? track.Position, 3),\r\n orientation: CjsGrannyCurves.decodeGrannyCurve(track.orientation ?? track.Orientation, 4),\r\n scaleShear: CjsGrannyCurves.decodeGrannyCurve(track.scaleShear ?? track.ScaleShear, 9)\r\n };\r\n this.#curveCache.set(track, value);\r\n }\r\n return value;\r\n }\r\n\r\n /** Finds a named animation across primary and secondary resources. */\r\n #findAnimation(name)\r\n {\r\n const target = String(name ?? \"\");\r\n const find = resource => CjsGrannyCurves.getAnimations(this.#getSource(resource)).find(animation => getName(animation) === target);\r\n let animation = find(this.grannyRes);\r\n if (animation)\r\n {\r\n return animation;\r\n }\r\n for (const resource of this.#secondaryResources.values())\r\n {\r\n animation = find(resource);\r\n if (animation)\r\n {\r\n return animation;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /** Returns a nonnegative duration for one animation. */\r\n #getAnimationDuration(animation)\r\n {\r\n return Math.max(0, CjsGrannyCurves.getAnimationDuration(animation));\r\n }\r\n\r\n /** Reads a lower- or upper-case array property from decoded Granny data. */\r\n #getArray(value, lowerName, upperName)\r\n {\r\n return Array.isArray(value?.[lowerName]) ? value[lowerName] : Array.isArray(value?.[upperName]) ? value[upperName] : [];\r\n }\r\n\r\n /** Resolves a named layer or the unnamed base layer. */\r\n #getLayer(layerName)\r\n {\r\n const name = String(layerName ?? \"\");\r\n return name ? this.#layers.get(name) ?? null : this.#baseLayer;\r\n }\r\n\r\n /** Returns named animation layers in deterministic name order. */\r\n #getOrderedLayers()\r\n {\r\n return [ ...this.#layers.entries() ]\r\n .sort(([ left ], [ right ]) => left < right ? -1 : left > right ? 1 : 0)\r\n .map(([, layer ]) => layer);\r\n }\r\n\r\n /** Unwraps a resource wrapper to its decoded Granny source object. */\r\n #getSource(resource)\r\n {\r\n let value = resource?.GetPayload?.() ?? resource;\r\n const seen = new Set();\r\n while (value && typeof value === \"object\" && !seen.has(value))\r\n {\r\n seen.add(value);\r\n if (Array.isArray(value.animations) || Array.isArray(value.Animations))\r\n {\r\n return value;\r\n }\r\n value = value.json ?? value.Json ?? value.data ?? value.Data ?? value.value ?? value.Value ?? value.source ?? value.Source ?? value.fileInfo ?? value.FileInfo;\r\n }\r\n return null;\r\n }\r\n\r\n /** Queues or replaces one animation request on a layer. */\r\n #playLayer(layerName, animName, replace, loopCount, delay, speed, clearWhenDone)\r\n {\r\n const layer = this.#getLayer(layerName);\r\n const name = String(animName ?? \"\");\r\n if (!layer || !name)\r\n {\r\n return false;\r\n }\r\n const animation = this.#findAnimation(name);\r\n if (!animation && this.#getSource(this.grannyRes))\r\n {\r\n return false;\r\n }\r\n if (replace)\r\n {\r\n layer.queue.length = 0;\r\n }\r\n layer.queue.push({\r\n name,\r\n animation,\r\n loopCount: Math.max(0, Math.trunc(Number(loopCount) || 0)),\r\n elapsed: -Math.max(0, Number(delay) || 0),\r\n speed: Number.isFinite(Number(speed)) ? Number(speed) : 1,\r\n clearWhenDone: !!clearWhenDone,\r\n held: false\r\n });\r\n return true;\r\n }\r\n\r\n /** Rebuilds the mesh-to-skeleton bone index map. */\r\n #rebuildMeshBoneIndices()\r\n {\r\n const { source, model, bones, boneByName } = this.#runtimeModel;\r\n const meshBindings = this.#getArray(model, \"meshBindings\", \"MeshBindings\");\r\n const meshes = this.#getArray(source, \"meshes\", \"Meshes\");\r\n const mesh = meshes[Number(meshBindings[0]) || 0];\r\n const bindings = this.#getArray(mesh, \"boneBindings\", \"BoneBindings\");\r\n this.#meshBoneIndices = bindings\r\n .map(binding => boneByName.get(getName(binding)))\r\n .filter(index => index !== undefined);\r\n if (this.#meshBoneIndices.length === 0)\r\n {\r\n this.#meshBoneIndices = bones.map((_, index) => index);\r\n }\r\n }\r\n\r\n /** Rebuilds rest-world and inverse-rest transforms for every bone. */\r\n #rebuildRestTransforms()\r\n {\r\n const rotationMatrix = mat4.create();\r\n for (const bone of this.#runtimeModel.bones)\r\n {\r\n // Granny composite: ScaleShear first, then Orientation (see #composePose).\r\n mat4.fromMat3(bone.localTransform, bone.restScaleShear);\r\n mat4.multiply(bone.localTransform, mat4.fromQuat(rotationMatrix, bone.restOrientation), bone.localTransform);\r\n bone.localTransform[12] = bone.restPosition[0];\r\n bone.localTransform[13] = bone.restPosition[1];\r\n bone.localTransform[14] = bone.restPosition[2];\r\n if (bone.parentIndex >= 0 && this.#runtimeModel.bones[bone.parentIndex])\r\n {\r\n mat4.multiply(bone.worldTransform, this.#runtimeModel.bones[bone.parentIndex].worldTransform, bone.localTransform);\r\n }\r\n else\r\n {\r\n mat4.copy(bone.worldTransform, bone.localTransform);\r\n }\r\n if (!mat4.invert(bone.inverseRestTransform, bone.worldTransform))\r\n {\r\n mat4.identity(bone.inverseRestTransform);\r\n }\r\n }\r\n }\r\n\r\n /** Restores every runtime bone to its authored rest pose. */\r\n #resetPose()\r\n {\r\n for (const bone of this.#runtimeModel.bones)\r\n {\r\n vec3.copy(bone.position, bone.restPosition);\r\n quat.copy(bone.orientation, bone.restOrientation);\r\n mat3.copy(bone.scaleShear, bone.restScaleShear);\r\n }\r\n }\r\n\r\n /** Decodes and caches one modern or legacy morph curve. */\r\n #decodeMorphCurve(curve, modern)\r\n {\r\n if (!curve || typeof curve !== \"object\")\r\n {\r\n return null;\r\n }\r\n\r\n if (!this.#morphCurveCache.has(curve))\r\n {\r\n this.#morphCurveCache.set(curve, modern\r\n ? CjsGrannyCurves.decodeAnimationCurve(curve, 1)\r\n : CjsGrannyCurves.decodeGrannyCurve(curve, 1));\r\n }\r\n return this.#morphCurveCache.get(curve);\r\n }\r\n\r\n /** Samples every supported morph channel from one animation. */\r\n #sampleMorphs(animation, time, duration, weight, additive)\r\n {\r\n if (!(duration > 0) || time < 0 || time >= duration)\r\n {\r\n return;\r\n }\r\n\r\n const amount = Number(weight) || 0;\r\n const channels = this.#getArray(animation, \"channels\", \"Channels\");\r\n const curves = this.#getArray(animation, \"curves\", \"Curves\");\r\n for (const channel of channels)\r\n {\r\n const targetType = channel.targetType ?? channel.TargetType;\r\n if (targetType !== \"MorphTarget\" && targetType !== 3)\r\n {\r\n continue;\r\n }\r\n\r\n const name = String(channel.target ?? channel.Target ?? \"\");\r\n const curve = curves[Number(channel.curveIndex ?? channel.CurveIndex)];\r\n this.#sampleMorph(name, this.#decodeMorphCurve(curve, true), time, duration, amount, additive);\r\n }\r\n\r\n for (const group of CjsGrannyCurves.getTrackGroups(animation))\r\n {\r\n if (getName(group) !== \"root\")\r\n {\r\n continue;\r\n }\r\n\r\n for (const track of this.#getArray(group, \"vectorTracks\", \"VectorTracks\"))\r\n {\r\n const curve = track.valueCurve ?? track.ValueCurve;\r\n const dimension = Number(track.dimension ?? track.Dimension ?? curve?.dimension ?? curve?.Dimension);\r\n if (dimension !== 1)\r\n {\r\n continue;\r\n }\r\n this.#sampleMorph(getName(track), this.#decodeMorphCurve(curve, false), time, duration, amount, additive);\r\n }\r\n break;\r\n }\r\n }\r\n\r\n /** Accumulates one sampled morph curve into retained output state. */\r\n #sampleMorph(name, curve, time, duration, weight, additive)\r\n {\r\n if (!name || !curve)\r\n {\r\n return;\r\n }\r\n\r\n this.#morphSample[0] = 0;\r\n CjsGrannyCurves.sampleGrannyCurve(this.#morphSample, curve, time, false, duration);\r\n const value = this.#morphSample[0] * weight;\r\n if (!Number.isFinite(value))\r\n {\r\n return;\r\n }\r\n\r\n const previous = this.#morphAnimations.get(name);\r\n this.#morphAnimations.set(name, additive && previous !== undefined ? previous + value : value);\r\n }\r\n\r\n /** Samples the active request for one animation layer. */\r\n #sampleLayer(layer, additive)\r\n {\r\n const request = layer.queue[0];\r\n const animation = request?.animation;\r\n if (!animation || request.elapsed < 0)\r\n {\r\n return;\r\n }\r\n // Carbon cmf::AnimationPlayer::Sample returns false past the pinned stop\r\n // time (animation.cpp:734-743), leaving the bone at its reset value.\r\n if (request.stopAt !== undefined && request.elapsed >= request.stopAt)\r\n {\r\n return;\r\n }\r\n const duration = this.#getAnimationDuration(animation);\r\n const speed = Math.abs(request.speed);\r\n let time = layer.controlParamEnabled ? layer.controlParam * duration : request.elapsed * speed;\r\n if (duration > 0)\r\n {\r\n const totalDuration = request.loopCount > 0 ? duration * request.loopCount : Infinity;\r\n if (time >= totalDuration)\r\n {\r\n time = request.speed < 0 ? 0 : duration;\r\n }\r\n else\r\n {\r\n time %= duration;\r\n if (request.speed < 0)\r\n {\r\n time = time === 0 ? duration : duration - time;\r\n }\r\n }\r\n }\r\n this.#sampleMorphs(animation, time, duration, layer.weight, additive);\r\n const trackGroups = CjsGrannyCurves.getTrackGroups(animation);\r\n const modelName = getName(this.#runtimeModel.model);\r\n const matchingGroups = trackGroups.filter(group => getName(group) === modelName);\r\n for (const group of matchingGroups.length ? matchingGroups : trackGroups)\r\n {\r\n const tracks = this.#getArray(group, \"transformTracks\", \"TransformTracks\");\r\n for (const track of tracks)\r\n {\r\n const boneIndex = this.#runtimeModel.boneByName.get(getName(track));\r\n const bone = this.#runtimeModel.bones[boneIndex];\r\n if (!bone || (!layer.allBones && !layer.bones.has(bone.name)))\r\n {\r\n continue;\r\n }\r\n this.#sampleTrack(bone, track, time, duration, layer.weight, additive);\r\n }\r\n }\r\n }\r\n\r\n /** Samples and blends one transform track into a runtime bone. */\r\n #sampleTrack(bone, track, time, duration, weight, additive)\r\n {\r\n const curves = this.#decodeTrack(track);\r\n const position = vec3.clone(bone.restPosition);\r\n const orientation = quat.clone(bone.restOrientation);\r\n const scaleShear = mat3.clone(bone.restScaleShear);\r\n if (curves.position)\r\n {\r\n CjsGrannyCurves.sampleGrannyCurve(position, curves.position, time, false, duration);\r\n }\r\n if (curves.orientation)\r\n {\r\n CjsGrannyCurves.sampleGrannyCurve(orientation, curves.orientation, time, false, duration);\r\n quat.normalize(orientation, orientation);\r\n }\r\n if (curves.scaleShear)\r\n {\r\n CjsGrannyCurves.sampleGrannyCurve(scaleShear, curves.scaleShear, time, false, duration);\r\n }\r\n const amount = Math.max(0, Number(weight) || 0);\r\n if (!additive)\r\n {\r\n vec3.lerp(bone.position, bone.position, position, Math.min(1, amount));\r\n quat.slerp(bone.orientation, bone.orientation, orientation, Math.min(1, amount));\r\n for (let index = 0; index < 9; index++)\r\n {\r\n bone.scaleShear[index] += (scaleShear[index] - bone.scaleShear[index]) * Math.min(1, amount);\r\n }\r\n return;\r\n }\r\n\r\n const referencePosition = vec3.clone(bone.restPosition);\r\n const referenceOrientation = quat.clone(bone.restOrientation);\r\n const referenceScaleShear = mat3.clone(bone.restScaleShear);\r\n if (curves.position)\r\n {\r\n CjsGrannyCurves.sampleGrannyCurve(referencePosition, curves.position, 0, false, duration);\r\n }\r\n if (curves.orientation)\r\n {\r\n CjsGrannyCurves.sampleGrannyCurve(referenceOrientation, curves.orientation, 0, false, duration);\r\n quat.normalize(referenceOrientation, referenceOrientation);\r\n }\r\n if (curves.scaleShear)\r\n {\r\n CjsGrannyCurves.sampleGrannyCurve(referenceScaleShear, curves.scaleShear, 0, false, duration);\r\n }\r\n vec3.scaleAndAdd(bone.position, bone.position, vec3.subtract(position, position, referencePosition), amount);\r\n // Additive delta = orientation . reference^-1, applied on the LEFT of the\r\n // current pose (out = delta . bone), so amount=1 from the reference pose\r\n // recovers the authored orientation exactly. Authority: the visually\r\n // proven reverse-engineered composeInteriorAdditivePose\r\n // (ccpwgl/src/interior/character/Tr2InteriorAdditiveAnimation.js) -\r\n // right-multiplying conjugates the delta instead.\r\n const inverseReference = quat.invert(quat.create(), referenceOrientation);\r\n const delta = quat.multiply(quat.create(), orientation, inverseReference);\r\n quat.slerp(delta, quat.create(), delta, Math.min(1, amount));\r\n quat.multiply(bone.orientation, delta, bone.orientation);\r\n quat.normalize(bone.orientation, bone.orientation);\r\n for (let index = 0; index < 9; index++)\r\n {\r\n bone.scaleShear[index] += (scaleShear[index] - referenceScaleShear[index]) * amount;\r\n }\r\n }\r\n\r\n}\r\n"],"names":["createLayer","name","weight","allBones","bones","Set","queue","controlParam","controlParamTarget","controlParamEnabled","controlParamSkewRate","getName","value","String","Name","NO_BONES","Object","freeze","boneCount","getBoneList","animationUpdater","IsInitialized","GetMeshBoneCount","GetMeshBoneMatrixList","_Tr2GrannyAnimation","Tr2GrannyAnimation","CjsModel","e","_init_resPath_","_init_extra_resPath_","_init_model_","_init_extra_model_","_init_grannyRes","_init_extra_grannyRes","_init_eventListener","_init_extra_eventListener","_init_animationEnabled","_init_extra_animationEnabled","_init_debugRenderJointNames","_init_extra_debugRenderJointNames","_init_debugRenderSkeleton","_init_extra_debugRenderSkeleton","_init_boneOffset","_init_extra_boneOffset","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","persistOnly","string","read","objectRef","readwrite","boolean","impl","adapted","carbon","method","implemented","reason","constructor","args","vec3","fromValues","WeakMap","Map","Float32Array","resPath_","model_","resPath","Initialize","model","grannyRes","eventListener","animationEnabled","debugRenderJointNames","debugRenderSkeleton","boneOffset","GrannyBoneOffset","CjsGrannyCurves","resolveResource","RebuildCachedData","SetGrannyResource","resource","SetSharedGeometryRes","HasMeshBinding","SetUseMeshBinding","enable","HasSharedGeometryRes","source","models","find","item","skeleton","Skeleton","sourceBones","length","clear","ClearRigBindings","map","sourceBone","index","boneByName","bone","Update","dt","deltaTime","Math","max","Number","layer","view","ModifyPose","pose","GetPoseModifier","SetPoseModifier","poseModifier","#GetPoseModifierView","parents","parentIndex","boneTransforms","position","rotation","orientation","scaleShear","PlayAnimationEx","animName","loopCount","delay","speed","clearWhenDone","PlayAnimation","AddAnimationLayer","layerName","layerWeight","has","set","AddAnimationLayerAllBones","AddAnimationLayerBone","boneName","add","AddSecondaryResPath","path","SetSecondaryGrannyResource","AimBone","targetX","targetY","targetZ","axisX","axisY","axisZ","ChainAnimation","ChainAnimationEx","ClearAnimations","StopAnimations","request","stopDelay","stopAt","elapsed","push","ClearAnimationLayers","DisableAimBone","EndAnimation","splice","animation","duration","localTime","abs","floor","GetAdditiveBlendMode","GetLayerWeight","GetSecondaryAnimationName","get","getAnimations","replace","PlayAnimationOnce","PlayLayerAnimation","PlayLayerAnimationByName","RemoveAnimationLayerBone","delete","GetAnimationNames","names","append","values","SetAdditiveBlendMode","additive","SetLayerControlParam","SetLayerControlParamSkewRate","skewRate","SetLayerWeight","TogglePauseAnimations","pause","count","palette","offsetTransform","base","GetBoneWorldTransform","out","mat4","create","undefined","copy","worldTransform","GetBoneTransform","GetBoneMatrix","GetAnimationTransforms","GetAnimationBoneList","GetMorphAnimations","GetAimBoneState","enabled","target","clone","axis","#advanceLayer","difference","increment","sign","shift","held","#applyBoneOffsets","offsets","HaveTransforms","NeedRebind","BindToRig","ApplyToLocal","#composePose","rotationMatrix","fromMat3","localTransform","multiply","fromQuat","inverseRestTransform","#createBone","sourcePosition","Position","sourceOrientation","Orientation","sourceScaleShear","ScaleShear","parent","ParentIndex","Bone","restPosition","restOrientation","quat","restScaleShear","mat3","#decodeTrack","track","decodeGrannyCurve","#findAnimation","#getAnimationDuration","getAnimationDuration","#getArray","lowerName","upperName","Array","isArray","#getLayer","#getOrderedLayers","entries","sort","left","right","#getSource","GetPayload","seen","animations","Animations","json","Json","data","Data","Value","Source","fileInfo","FileInfo","#playLayer","trunc","isFinite","#rebuildMeshBoneIndices","meshBindings","meshes","mesh","bindings","binding","filter","_","#rebuildRestTransforms","invert","identity","#resetPose","#decodeMorphCurve","curve","modern","decodeAnimationCurve","#sampleMorphs","time","amount","channels","curves","channel","targetType","TargetType","Target","curveIndex","CurveIndex","group","getTrackGroups","valueCurve","ValueCurve","dimension","Dimension","#sampleMorph","sampleGrannyCurve","previous","#sampleLayer","totalDuration","Infinity","trackGroups","modelName","matchingGroups","tracks","boneIndex","#sampleTrack","normalize","lerp","min","slerp","referencePosition","referenceOrientation","referenceScaleShear","scaleAndAdd","subtract","inverseReference","delta"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tr2GrannyAnimation.js","sources":["../../../../../src/trinity/core/animation/Tr2GrannyAnimation.js"],"sourcesContent":["// Source: trinity/trinity/Tr2GrannyAnimation.h\r\n// Source: trinity/trinity/Tr2GrannyAnimation.cpp\r\n//\r\n// Hand-maintained (promoted from src/trinity/generated/trinityCore; the generator skips\r\n// it while this file exists). Promoted to give GetMeshBoneMatrixList Carbon's\r\n// storage: one contiguous Float4x3 palette rather than an array of mat4.\r\nimport { mat3 } from \"#math/mat3\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { CjsGrannyCurves } from \"../../curves/track/CjsGrannyCurves.js\";\r\nimport { GrannyBoneOffset } from \"./GrannyBoneOffset.js\";\r\n\r\n\r\nfunction createLayer(name = \"\", weight = 1, allBones = false)\r\n{\r\n return {\r\n name,\r\n weight,\r\n allBones,\r\n bones: new Set(),\r\n queue: [],\r\n controlParam: 0,\r\n controlParamTarget: 0,\r\n controlParamEnabled: false,\r\n controlParamSkewRate: 0\r\n };\r\n}\r\n\r\n\r\nfunction getName(value)\r\n{\r\n return String(value?.name ?? value?.Name ?? \"\");\r\n}\r\n\r\n\r\n/** No bones: the shape every consumer already handles, per Carbon's else branch. */\r\nconst NO_BONES = Object.freeze({ bones: null, boneCount: 0 });\r\n\r\n\r\n/**\r\n * The mesh bone palette of an animation updater, or nulls when it has none.\r\n *\r\n * Carbon `Tr2GrannyAnimationUtils::GetBoneList` (Tr2GrannyAnimation.cpp:24-33),\r\n * which every bone consumer calls before threading `(bones, boneCount)` down.\r\n * An uninitialised updater or a zero bone count yields the same shape as no\r\n * updater at all, so callers need one branch rather than three.\r\n *\r\n * The palette is BORROWED - it is the updater's live buffer, rewritten in place\r\n * each frame. Do not retain it across frames or mutate it.\r\n */\r\nexport function getBoneList(animationUpdater)\r\n{\r\n if (!animationUpdater?.IsInitialized?.())\r\n {\r\n return NO_BONES;\r\n }\r\n\r\n const boneCount = animationUpdater.GetMeshBoneCount?.() ?? 0;\r\n\r\n if (!boneCount)\r\n {\r\n return NO_BONES;\r\n }\r\n\r\n const bones = animationUpdater.GetMeshBoneMatrixList?.();\r\n\r\n return bones ? { bones, boneCount } : NO_BONES;\r\n}\r\n\r\n\r\n/** Tr2GrannyAnimation (trinityCore) - promoted from generated; shapeHash 056bad2a. */\r\n@type.define({ className: \"Tr2GrannyAnimation\", family: \"trinityCore\" })\r\nexport class Tr2GrannyAnimation extends CjsModel\r\n{\r\n\r\n #additiveMode = false;\r\n\r\n #aimAxis = vec3.fromValues(0, 0, 1);\r\n\r\n #aimBone = \"\";\r\n\r\n #aimBoneOrientation = vec3.fromValues(0, 0, 1);\r\n\r\n #aimingBone = false;\r\n\r\n #baseLayer = createLayer(\"\", 1, true);\r\n\r\n #curveCache = new WeakMap();\r\n\r\n #initialized = false;\r\n\r\n #layers = new Map();\r\n\r\n #meshBoneIndices = [];\r\n\r\n /**\r\n * Carbon's `Float4x3* m_meshBoneMatrixList` (Tr2GrannyAnimation.h:208) - one\r\n * contiguous palette, stride 12, allocated once and rewritten in place.\r\n */\r\n #meshBonePalette = null;\r\n\r\n /** Carbon m_useMeshBinding (Tr2GrannyAnimation.cpp:81) - defaults false. */\r\n #useMeshBinding = false;\r\n\r\n /** Whether grannyRes was borrowed from the mesh rather than resolved here. */\r\n #sharedGeometry = false;\r\n\r\n #morphAnimations = new Map();\r\n\r\n #morphCurveCache = new WeakMap();\r\n\r\n #morphSample = new Float32Array(1);\r\n\r\n #paused = false;\r\n\r\n /**\r\n * Carbon m_poseModifier (Tr2GrannyAnimation.h:230): a NON-OWNING\r\n * ITr2PoseModifier registration - the modifier must outlive it or be\r\n * cleared with SetPoseModifier(null) before it goes away.\r\n */\r\n #poseModifier = null;\r\n\r\n /** The cached skeleton/pose ducks handed to the pose modifier. */\r\n #poseModifierView = null;\r\n\r\n #runtimeModel = null;\r\n\r\n #secondaryResources = new Map();\r\n\r\n /** m_resPath (std::string) [PERSISTONLY] */\r\n @edit.persistOnly\r\n @type.string\r\n resPath_ = \"\";\r\n\r\n /** m_model (std::string) [PERSISTONLY] */\r\n @edit.persistOnly\r\n @type.string\r\n model_ = \"\";\r\n\r\n /**\r\n * Blue property alias for the persisted resPath_ backing field. It is not a\r\n * separate schema field: exporting both names would create conflicting keys\r\n * when sparse model values author only the canonical persisted name.\r\n */\r\n get resPath()\r\n {\r\n return this.resPath_;\r\n }\r\n\r\n /** Sets the Blue resource-path alias and rebuilds cached animation data. */\r\n set resPath(value)\r\n {\r\n this.resPath_ = String(value ?? \"\");\r\n this.Initialize();\r\n }\r\n\r\n /** Blue property alias for the persisted model_ backing field. */\r\n get model()\r\n {\r\n return this.model_;\r\n }\r\n\r\n /** Sets the Blue model alias and rebuilds cached animation data. */\r\n set model(value)\r\n {\r\n this.model_ = String(value ?? \"\");\r\n this.Initialize();\r\n }\r\n\r\n /** m_grannyRes (TriGrannyResPtr) [READ] */\r\n @edit.read\r\n @type.objectRef(\"TriGrannyRes\")\r\n grannyRes = null;\r\n\r\n /** m_eventListener (IBlueEventListenerPtr) [READWRITE] */\r\n @edit.readwrite\r\n @type.objectRef(\"IBlueEventListener\")\r\n eventListener = null;\r\n\r\n /** m_animationEnabled (bool) [READWRITE] */\r\n @edit.readwrite\r\n @type.boolean\r\n animationEnabled = true;\r\n\r\n /** m_debugRenderJointNames (bool) [READWRITE] */\r\n @edit.readwrite\r\n @type.boolean\r\n debugRenderJointNames = false;\r\n\r\n /** m_debugRenderSkeleton (bool) [READWRITE] */\r\n @edit.readwrite\r\n @type.boolean\r\n debugRenderSkeleton = false;\r\n\r\n /** m_boneOffset (PGrannyBoneOffset) [READ] */\r\n @edit.read\r\n @type.objectRef(\"GrannyBoneOffset\")\r\n boneOffset = new GrannyBoneOffset();\r\n\r\n /** Resolves an authored resource path from the shared CPU Granny registry. */\r\n @impl.adapted\r\n Initialize()\r\n {\r\n if (!this.grannyRes && this.resPath_)\r\n {\r\n this.grannyRes = CjsGrannyCurves.resolveResource(this.resPath_);\r\n }\r\n return this.RebuildCachedData();\r\n }\r\n\r\n /** Attaches an already decoded TriGrannyRes-compatible resource. */\r\n @impl.adapted\r\n SetGrannyResource(resource)\r\n {\r\n this.grannyRes = resource ?? null;\r\n this.#sharedGeometry = false;\r\n return this.RebuildCachedData();\r\n }\r\n\r\n /**\r\n * Binds a geometry resource BORROWED from the mesh this controller animates,\r\n * rather than one resolved from its own resPath.\r\n *\r\n * Carbon `SetSharedGeometryRes` (Tr2GrannyAnimation.h), driven by\r\n * `EveChildMesh::InitializeAnimation` when the updater has no authored path\r\n * of its own. A null resource clears the binding, which is Carbon's fallback\r\n * when the mesh has no geometry yet.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n SetSharedGeometryRes(resource)\r\n {\r\n this.grannyRes = resource ?? null;\r\n this.#sharedGeometry = !!resource;\r\n return this.RebuildCachedData();\r\n }\r\n\r\n /**\r\n * Whether the palette is built from the MESH's bone binding.\r\n *\r\n * Carbon gates palette construction on this (`m_useMeshBinding`,\r\n * Tr2GrannyAnimation.cpp:588, :633) and `EveChildMesh::GetBoneTransforms`\r\n * branches on it to choose between this controller's palette and a separate\r\n * Tr2AnimationMeshBinding. Defaults false, matching cpp:81.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n HasMeshBinding()\r\n {\r\n return this.#useMeshBinding;\r\n }\r\n\r\n /** Carbon `SetUseMeshBinding` (Tr2GrannyAnimation.h:60). */\r\n @carbon.method\r\n @impl.implemented\r\n SetUseMeshBinding(enable)\r\n {\r\n this.#useMeshBinding = !!enable;\r\n }\r\n\r\n /** Whether the bound geometry was borrowed from the mesh. */\r\n @impl.adapted\r\n HasSharedGeometryRes()\r\n {\r\n return this.#sharedGeometry;\r\n }\r\n\r\n /** Rebuilds browser bone state directly from format-gr2's stable payload. */\r\n @impl.adapted\r\n RebuildCachedData()\r\n {\r\n const source = this.#getSource(this.grannyRes);\r\n const models = this.#getArray(source, \"models\", \"Models\");\r\n const model = models.find(item => getName(item) === this.model_) ?? models[0] ?? null;\r\n const skeleton = model?.skeleton ?? model?.Skeleton ?? null;\r\n const sourceBones = this.#getArray(skeleton, \"bones\", \"Bones\");\r\n this.#runtimeModel = null;\r\n this.#meshBoneIndices.length = 0;\r\n this.#curveCache = new WeakMap();\r\n this.#morphCurveCache = new WeakMap();\r\n this.#morphAnimations.clear();\r\n this.boneOffset?.ClearRigBindings?.();\r\n if (!model || sourceBones.length === 0)\r\n {\r\n this.#initialized = false;\r\n return false;\r\n }\r\n\r\n const bones = sourceBones.map((sourceBone, index) => this.#createBone(sourceBone, index));\r\n const boneByName = new Map(bones.map((bone, index) => [bone.name, index]));\r\n this.#runtimeModel = { source, model, skeleton, bones, boneByName };\r\n this.#rebuildRestTransforms();\r\n this.#rebuildMeshBoneIndices();\r\n this.#initialized = true;\r\n this.Update(0);\r\n return true;\r\n }\r\n\r\n /** Advances CPU animation controls and rebuilds browser bone matrices. */\r\n @impl.adapted\r\n Update(dt = 0)\r\n {\r\n if (!this.#initialized || !this.animationEnabled)\r\n {\r\n return false;\r\n }\r\n const deltaTime = this.#paused ? 0 : Math.max(0, Number(dt) || 0);\r\n this.#advanceLayer(this.#baseLayer, deltaTime);\r\n for (const layer of this.#getOrderedLayers())\r\n {\r\n this.#advanceLayer(layer, deltaTime);\r\n }\r\n this.#resetPose();\r\n this.#morphAnimations.clear();\r\n this.#sampleLayer(this.#baseLayer, false);\r\n for (const layer of this.#getOrderedLayers())\r\n {\r\n this.#sampleLayer(layer, this.#additiveMode);\r\n }\r\n // Carbon PrePhysicsAnimation (cpp:1704-1723) runs ModifyPose after\r\n // sampling and before bone offsets. Carbon restores m_sampledPose before\r\n // sampling so the modifier never compounds onto its own output; the\r\n // #resetPose above already re-establishes that invariant every frame, so\r\n // no snapshot/restore pair is needed here.\r\n if (this.#poseModifier)\r\n {\r\n const view = this.#GetPoseModifierView();\r\n this.#poseModifier.ModifyPose(view.skeleton, view.pose);\r\n }\r\n this.#applyBoneOffsets();\r\n this.#composePose();\r\n return true;\r\n }\r\n\r\n /** The registered pose modifier, or null (Carbon Tr2GrannyAnimation.cpp:2170-2173). */\r\n @carbon.method\r\n @impl.implemented\r\n GetPoseModifier()\r\n {\r\n return this.#poseModifier;\r\n }\r\n\r\n /**\r\n * Registers the non-owning modify-the-sampled-pose hook (Carbon\r\n * Tr2GrannyAnimation.cpp:2175-2178); pass null to clear it.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetPoseModifier(poseModifier)\r\n {\r\n this.#poseModifier = poseModifier ?? null;\r\n }\r\n\r\n /**\r\n * The skeleton/pose ducks the modifier receives: bone names plus\r\n * boneTransforms entries whose position/rotation/scaleShear ALIAS the live\r\n * runtime bone arrays, so in-place modification lands in the composed\r\n * pose exactly as Carbon's cmf::SkeletonPose& does. Rebuilt only when the\r\n * runtime model changes.\r\n */\r\n #GetPoseModifierView()\r\n {\r\n const model = this.#runtimeModel;\r\n if (!this.#poseModifierView || this.#poseModifierView.model !== model)\r\n {\r\n const bones = model?.bones ?? [];\r\n this.#poseModifierView = {\r\n model,\r\n skeleton: {\r\n bones: bones.map(bone => bone.name),\r\n parents: bones.map(bone => bone.parentIndex)\r\n },\r\n pose: {\r\n boneTransforms: bones.map(bone => ({\r\n position: bone.position,\r\n rotation: bone.orientation,\r\n scaleShear: bone.scaleShear\r\n }))\r\n }\r\n };\r\n }\r\n return this.#poseModifierView;\r\n }\r\n\r\n /** Carbon method PlayAnimationEx (MAP_METHOD_AND_WRAP_OPTIONAL_ARGS). */\r\n @carbon.method\r\n @impl.adapted\r\n PlayAnimationEx(animName, loopCount, delay, speed, clearWhenDone = true)\r\n {\r\n return this.PlayAnimation(animName, true, loopCount, delay, speed, clearWhenDone);\r\n }\r\n\r\n /** Carbon method AddAnimationLayer (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n AddAnimationLayer(layerName, layerWeight = 1)\r\n {\r\n const name = String(layerName ?? \"\");\r\n if (!name || this.#layers.has(name))\r\n {\r\n return false;\r\n }\r\n this.#layers.set(name, createLayer(name, Number(layerWeight) || 0, false));\r\n return true;\r\n }\r\n\r\n /** Carbon method AddAnimationLayerAllBones (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n AddAnimationLayerAllBones(layerName)\r\n {\r\n const layer = this.#getLayer(layerName);\r\n if (!layer)\r\n {\r\n return false;\r\n }\r\n layer.allBones = true;\r\n return true;\r\n }\r\n\r\n /** Carbon method AddAnimationLayerBone (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n AddAnimationLayerBone(layerName, boneName)\r\n {\r\n const layer = this.#getLayer(layerName);\r\n if (!layer)\r\n {\r\n return false;\r\n }\r\n layer.bones.add(String(boneName ?? \"\"));\r\n return true;\r\n }\r\n\r\n /** Carbon method AddSecondaryResPath (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Resource loading stays resource-layer-owned; registered decoded resources are attached synchronously when available.\")\r\n AddSecondaryResPath(resPath)\r\n {\r\n const path = String(resPath ?? \"\");\r\n if (!path || this.#secondaryResources.has(path))\r\n {\r\n return false;\r\n }\r\n this.#secondaryResources.set(path, CjsGrannyCurves.resolveResource(path));\r\n return true;\r\n }\r\n\r\n /** Attaches a decoded secondary animation resource after async loading. */\r\n @impl.adapted\r\n SetSecondaryGrannyResource(resPath, resource)\r\n {\r\n const path = String(resPath ?? \"\");\r\n if (!path)\r\n {\r\n return false;\r\n }\r\n this.#secondaryResources.set(path, resource ?? null);\r\n return true;\r\n }\r\n\r\n /** Carbon method AimBone (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The browser graph retains Carbon's aim request; final IK realization can be refined by an engine adapter.\")\r\n AimBone(boneName, targetX, targetY, targetZ, axisX, axisY, axisZ)\r\n {\r\n this.#aimingBone = true;\r\n this.#aimBone = String(boneName ?? \"\");\r\n vec3.set(this.#aimBoneOrientation, targetX, targetY, targetZ);\r\n vec3.set(this.#aimAxis, axisX, axisY, axisZ);\r\n }\r\n\r\n /** Carbon method ChainAnimation (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n ChainAnimation(animName)\r\n {\r\n return this.PlayAnimation(animName, false, 1, 0, 1, true);\r\n }\r\n\r\n /** Carbon method ChainAnimationEx (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n ChainAnimationEx(animName, loopCount, delay, speed)\r\n {\r\n return this.PlayAnimation(animName, false, loopCount, delay, speed, true);\r\n }\r\n\r\n /** Carbon method ClearAnimations (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n ClearAnimations()\r\n {\r\n this.#baseLayer.queue.length = 0;\r\n }\r\n\r\n /**\r\n * Stops all base-layer animations, current and queued, `delay` seconds from\r\n * now (Carbon Tr2GrannyAnimation.cpp:1510-1513 delegating to the layer's\r\n * queue clear + per-player stop time, Tr2GrannyAnimationLayer.cpp:462-475).\r\n * A non-positive delay removes the active animation immediately, morphs\r\n * included; a positive delay pins its stop time so playback holds its last\r\n * sampled value until then. Distinct from EndAnimation (finish the current\r\n * loop) and ClearAnimations (drop everything with no delay bookkeeping).\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon pins a stop time per sequencer player; the browser layer's single active request carries the stop as a stopAt clock value with the pending queue dropped.\")\r\n StopAnimations(delay = 0)\r\n {\r\n const layer = this.#baseLayer;\r\n const request = layer.queue[0];\r\n layer.queue.length = 0;\r\n const stopDelay = Number(delay) || 0;\r\n if (request && stopDelay > 0)\r\n {\r\n // Carbon: player.SetStopTime(animationTime + delay) - the layer clock\r\n // and our request.elapsed advance in the same unscaled seconds.\r\n request.stopAt = request.elapsed + stopDelay;\r\n layer.queue.push(request);\r\n }\r\n }\r\n\r\n /** Carbon method ClearAnimationLayers (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n ClearAnimationLayers()\r\n {\r\n this.#layers.clear();\r\n }\r\n\r\n /** Carbon method DisableAimBone (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n DisableAimBone()\r\n {\r\n this.#aimingBone = false;\r\n }\r\n\r\n /** Carbon method EndAnimation (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n EndAnimation()\r\n {\r\n const request = this.#baseLayer.queue[0];\r\n this.#baseLayer.queue.splice(1);\r\n if (!request?.animation)\r\n {\r\n return;\r\n }\r\n const duration = this.#getAnimationDuration(request.animation);\r\n if (duration > 0)\r\n {\r\n const localTime = Math.max(0, request.elapsed) * Math.abs(request.speed);\r\n request.loopCount = Math.floor(localTime / duration) + 1;\r\n }\r\n }\r\n\r\n /** Carbon method GetAdditiveBlendMode (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n GetAdditiveBlendMode()\r\n {\r\n return this.#additiveMode;\r\n }\r\n\r\n /** Carbon method GetLayerWeight (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n GetLayerWeight(layerName)\r\n {\r\n return this.#getLayer(layerName)?.weight ?? 0;\r\n }\r\n\r\n /** Carbon method GetSecondaryAnimationName (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n GetSecondaryAnimationName(resPath, index)\r\n {\r\n const source = this.#getSource(this.#secondaryResources.get(String(resPath ?? \"\")));\r\n return getName(CjsGrannyCurves.getAnimations(source)[Number(index) || 0]);\r\n }\r\n\r\n /** Carbon method PlayAnimation -> PlayAnimationOnce (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n PlayAnimation(animName, replace = true, loopCount = 1, delay = 0, speed = 1, clearWhenDone = true)\r\n {\r\n return this.#playLayer(\"\", animName, replace, loopCount, delay, speed, clearWhenDone);\r\n }\r\n\r\n /** Native-name alias retained for controller integrations. */\r\n @impl.adapted\r\n PlayAnimationOnce(animName)\r\n {\r\n return this.PlayAnimation(animName, true, 1, 0, 1, true);\r\n }\r\n\r\n /** Carbon method PlayLayerAnimation -> PlayLayerAnimationByName (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n PlayLayerAnimation(layerName, animName, replace = true, loopCount = 1, delay = 0, speed = 1, clearWhenDone = true)\r\n {\r\n return this.#playLayer(layerName, animName, replace, loopCount, delay, speed, clearWhenDone);\r\n }\r\n\r\n /** Alias used by Carbon controller actions. */\r\n @impl.adapted\r\n PlayLayerAnimationByName(...args)\r\n {\r\n return this.PlayLayerAnimation(...args);\r\n }\r\n\r\n /** Carbon method RemoveAnimationLayerBone (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n RemoveAnimationLayerBone(layerName, boneName)\r\n {\r\n const layer = this.#getLayer(layerName);\r\n return layer ? layer.bones.delete(String(boneName ?? \"\")) : false;\r\n }\r\n\r\n /** Carbon method GetAnimationNames (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n GetAnimationNames()\r\n {\r\n const names = [];\r\n const append = resource =>\r\n {\r\n const source = this.#getSource(resource);\r\n for (const animation of CjsGrannyCurves.getAnimations(source))\r\n {\r\n names.push(getName(animation));\r\n }\r\n };\r\n append(this.grannyRes);\r\n for (const resource of this.#secondaryResources.values())\r\n {\r\n append(resource);\r\n }\r\n return names;\r\n }\r\n\r\n /** Carbon method SetAdditiveBlendMode (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetAdditiveBlendMode(additive)\r\n {\r\n this.#additiveMode = !!additive;\r\n }\r\n\r\n /** Carbon method SetLayerControlParam (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetLayerControlParam(layerName, controlParam)\r\n {\r\n const layer = this.#getLayer(layerName);\r\n if (!layer)\r\n {\r\n return false;\r\n }\r\n layer.controlParamTarget = Number(controlParam) || 0;\r\n layer.controlParamEnabled = true;\r\n return true;\r\n }\r\n\r\n /** Carbon method SetLayerControlParamSkewRate (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetLayerControlParamSkewRate(layerName, skewRate)\r\n {\r\n const layer = this.#getLayer(layerName);\r\n if (!layer)\r\n {\r\n return false;\r\n }\r\n layer.controlParamSkewRate = Number(skewRate) || 0;\r\n return true;\r\n }\r\n\r\n /** Carbon method SetLayerWeight (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetLayerWeight(layerName, layerWeight)\r\n {\r\n const layer = this.#getLayer(layerName);\r\n if (!layer)\r\n {\r\n return false;\r\n }\r\n layer.weight = Number(layerWeight) || 0;\r\n return true;\r\n }\r\n\r\n /** Carbon method TogglePauseAnimations (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n TogglePauseAnimations(pause)\r\n {\r\n this.#paused = !!pause;\r\n }\r\n\r\n /** Returns whether a model-bearing decoded Granny payload is ready. */\r\n @impl.implemented\r\n IsInitialized()\r\n {\r\n return this.#initialized;\r\n }\r\n\r\n /**\r\n * The mesh-order bone palette, in Carbon's storage: ONE contiguous buffer of\r\n * Float4x3 entries, stride 12, not an array of matrices.\r\n *\r\n * Carbon holds `Float4x3* m_meshBoneMatrixList` (Tr2GrannyAnimation.h:208)\r\n * and every CPU consumer unpacks it with `TriMatrixCopyFrom3x4`. The JS\r\n * consumers already expect that shape - `MatrixCopyFrom3x4` indexes\r\n * `boneIndex * 12` for the light sets, bounds and decals - so the palette is\r\n * built here rather than converted at each of nine call sites. It is also\r\n * what an uploader wants: one block, handed over whole.\r\n *\r\n * Float4x3 drops the constant fourth column and stores the first three\r\n * columns of the 4x4 (Utilities/MatrixUtils.cpp:6-20).\r\n */\r\n @impl.adapted\r\n GetMeshBoneMatrixList()\r\n {\r\n const bones = this.#runtimeModel?.bones ?? [];\r\n const count = this.#meshBoneIndices.length;\r\n\r\n if (!this.#meshBonePalette || this.#meshBonePalette.length !== count * 12)\r\n {\r\n this.#meshBonePalette = new Float32Array(count * 12);\r\n }\r\n\r\n const palette = this.#meshBonePalette;\r\n\r\n for (let index = 0; index < count; index++)\r\n {\r\n const source = bones[this.#meshBoneIndices[index]]?.offsetTransform;\r\n const base = index * 12;\r\n\r\n if (!source)\r\n {\r\n // Carbon leaves an unmapped bone at whatever the palette held; identity\r\n // is the reproducible stand-in and keeps a missing bone from collapsing\r\n // its geometry to the origin.\r\n palette[base] = palette[base + 5] = palette[base + 10] = 1;\r\n palette[base + 1] = palette[base + 2] = palette[base + 3] = 0;\r\n palette[base + 4] = palette[base + 6] = palette[base + 7] = 0;\r\n palette[base + 8] = palette[base + 9] = palette[base + 11] = 0;\r\n continue;\r\n }\r\n\r\n // Columns of the 4x4, which is rows of its transpose. gl-matrix is\r\n // column-major, so column c is source[c * 4 + r].\r\n palette[base] = source[0];\r\n palette[base + 1] = source[4];\r\n palette[base + 2] = source[8];\r\n palette[base + 3] = source[12];\r\n palette[base + 4] = source[1];\r\n palette[base + 5] = source[5];\r\n palette[base + 6] = source[9];\r\n palette[base + 7] = source[13];\r\n palette[base + 8] = source[2];\r\n palette[base + 9] = source[6];\r\n palette[base + 10] = source[10];\r\n palette[base + 11] = source[14];\r\n }\r\n\r\n return palette;\r\n }\r\n\r\n @impl.implemented\r\n /** Returns the number of mesh bones in the current palette. */\r\n GetMeshBoneCount()\r\n {\r\n return this.#meshBoneIndices.length;\r\n }\r\n\r\n @impl.adapted\r\n /** Copies a named bone's world transform into an output matrix. */\r\n GetBoneWorldTransform(boneName, out = mat4.create())\r\n {\r\n const index = this.#runtimeModel?.boneByName.get(String(boneName ?? \"\"));\r\n if (index === undefined)\r\n {\r\n return false;\r\n }\r\n mat4.copy(out, this.#runtimeModel.bones[index].worldTransform);\r\n return out;\r\n }\r\n\r\n @impl.adapted\r\n /** Copies an indexed bone's world transform into an output matrix. */\r\n GetBoneTransform(index, out = mat4.create())\r\n {\r\n const bone = this.#runtimeModel?.bones[Number(index)];\r\n if (!bone)\r\n {\r\n return false;\r\n }\r\n mat4.copy(out, bone.worldTransform);\r\n return out;\r\n }\r\n\r\n @impl.adapted\r\n /** Resolves a bone name or index to its current world matrix. */\r\n GetBoneMatrix(bone)\r\n {\r\n if (typeof bone === \"number\")\r\n {\r\n return this.GetBoneTransform(bone);\r\n }\r\n return this.GetBoneWorldTransform(bone);\r\n }\r\n\r\n @impl.implemented\r\n /** Returns the current world transforms for every animation bone. */\r\n GetAnimationTransforms()\r\n {\r\n return this.#runtimeModel?.bones.map(bone => bone.worldTransform) ?? [];\r\n }\r\n\r\n @impl.implemented\r\n /** Returns the ordered names of the current animation bones. */\r\n GetAnimationBoneList()\r\n {\r\n return this.#runtimeModel?.bones.map(bone => bone.name) ?? [];\r\n }\r\n\r\n /** Returns a detached snapshot of morph values sampled during the last update. */\r\n @impl.implemented\r\n GetMorphAnimations()\r\n {\r\n return new Map(this.#morphAnimations);\r\n }\r\n\r\n /** Exposes retained aim state to an engine-side IK adapter. */\r\n @impl.adapted\r\n GetAimBoneState()\r\n {\r\n return {\r\n enabled: this.#aimingBone,\r\n boneName: this.#aimBone,\r\n target: vec3.clone(this.#aimBoneOrientation),\r\n axis: vec3.clone(this.#aimAxis)\r\n };\r\n }\r\n\r\n /** Advances one animation layer and retires completed requests. */\r\n #advanceLayer(layer, dt)\r\n {\r\n if (layer.controlParamEnabled)\r\n {\r\n const difference = layer.controlParamTarget - layer.controlParam;\r\n const increment = Math.abs(layer.controlParamSkewRate * dt);\r\n if (increment === 0 || Math.abs(difference) <= increment)\r\n {\r\n layer.controlParam = layer.controlParamTarget;\r\n }\r\n else\r\n {\r\n layer.controlParam += Math.sign(difference) * increment;\r\n }\r\n }\r\n const request = layer.queue[0];\r\n if (!request)\r\n {\r\n return;\r\n }\r\n request.animation ??= this.#findAnimation(request.name);\r\n if (!request.animation)\r\n {\r\n return;\r\n }\r\n request.elapsed += dt;\r\n // Carbon cmf::AnimationSequencer::RemoveFinishedAnimations erases a\r\n // player once its pinned stop time is reached (animation.cpp:821-827).\r\n if (request.stopAt !== undefined && request.elapsed >= request.stopAt)\r\n {\r\n layer.queue.shift();\r\n return;\r\n }\r\n const duration = this.#getAnimationDuration(request.animation);\r\n const speed = Math.abs(request.speed);\r\n if (duration <= 0 || request.elapsed < 0 || request.loopCount <= 0)\r\n {\r\n return;\r\n }\r\n if (request.elapsed * speed < duration * request.loopCount)\r\n {\r\n return;\r\n }\r\n if (layer.queue.length > 1 || request.clearWhenDone)\r\n {\r\n layer.queue.shift();\r\n }\r\n else\r\n {\r\n request.elapsed = duration * request.loopCount / speed;\r\n request.held = true;\r\n }\r\n }\r\n\r\n /** Applies configured bone offsets to the sampled local pose. */\r\n #applyBoneOffsets()\r\n {\r\n const bones = this.#runtimeModel?.bones ?? [];\r\n const offsets = this.boneOffset;\r\n if (!bones.length || !offsets?.HaveTransforms?.())\r\n {\r\n return;\r\n }\r\n\r\n if (offsets.NeedRebind?.(bones.length))\r\n {\r\n offsets.BindToRig?.(bones.map(bone => bone.name), bones.length);\r\n }\r\n\r\n for (const bone of bones)\r\n {\r\n offsets.ApplyToLocal?.(bone.index, bone.orientation, bone.position);\r\n }\r\n }\r\n\r\n /** Composes local bone state into world and offset transforms. */\r\n #composePose()\r\n {\r\n const rotationMatrix = mat4.create();\r\n for (const bone of this.#runtimeModel.bones)\r\n {\r\n // Granny composite applies ScaleShear FIRST, then Orientation, then\r\n // Position (row-vector SS*R*T - authority: the validated gr2->CMF\r\n // converter, runtime resource formats/cmf/core/gr2Anim.js composeTrs).\r\n // In gl-matrix that is local = R . SS with the translation stamped in.\r\n // Order-insensitive for identity scaleShear (all EVE skeletons).\r\n mat4.fromMat3(bone.localTransform, bone.scaleShear);\r\n mat4.multiply(bone.localTransform, mat4.fromQuat(rotationMatrix, bone.orientation), bone.localTransform);\r\n bone.localTransform[12] = bone.position[0];\r\n bone.localTransform[13] = bone.position[1];\r\n bone.localTransform[14] = bone.position[2];\r\n if (bone.parentIndex >= 0 && this.#runtimeModel.bones[bone.parentIndex])\r\n {\r\n mat4.multiply(bone.worldTransform, this.#runtimeModel.bones[bone.parentIndex].worldTransform, bone.localTransform);\r\n }\r\n else\r\n {\r\n mat4.copy(bone.worldTransform, bone.localTransform);\r\n }\r\n mat4.multiply(bone.offsetTransform, bone.worldTransform, bone.inverseRestTransform);\r\n }\r\n }\r\n\r\n /** Creates one detached runtime bone record from a decoded source bone. */\r\n #createBone(source, index)\r\n {\r\n const sourcePosition = source.position ?? source.Position ?? [0, 0, 0];\r\n const sourceOrientation = source.orientation ?? source.Orientation ?? [0, 0, 0, 1];\r\n const sourceScaleShear = source.scaleShear ?? source.ScaleShear ?? [1, 0, 0, 0, 1, 0, 0, 0, 1];\r\n const parent = Number(source.parentIndex ?? source.ParentIndex ?? -1);\r\n return {\r\n index,\r\n name: getName(source) || String(source.bone ?? source.Bone ?? \"\"),\r\n parentIndex: parent === 255 ? -1 : parent,\r\n restPosition: vec3.fromValues(sourcePosition[0] ?? 0, sourcePosition[1] ?? 0, sourcePosition[2] ?? 0),\r\n restOrientation: quat.fromValues(sourceOrientation[0] ?? 0, sourceOrientation[1] ?? 0, sourceOrientation[2] ?? 0, sourceOrientation[3] ?? 1),\r\n restScaleShear: mat3.fromValues(...sourceScaleShear),\r\n position: vec3.create(),\r\n orientation: quat.create(),\r\n scaleShear: mat3.create(),\r\n localTransform: mat4.create(),\r\n worldTransform: mat4.create(),\r\n inverseRestTransform: mat4.create(),\r\n offsetTransform: mat4.create()\r\n };\r\n }\r\n\r\n /** Decodes and caches the transform curves for one animation track. */\r\n #decodeTrack(track)\r\n {\r\n let value = this.#curveCache.get(track);\r\n if (!value)\r\n {\r\n value = {\r\n position: CjsGrannyCurves.decodeGrannyCurve(track.position ?? track.Position, 3),\r\n orientation: CjsGrannyCurves.decodeGrannyCurve(track.orientation ?? track.Orientation, 4),\r\n scaleShear: CjsGrannyCurves.decodeGrannyCurve(track.scaleShear ?? track.ScaleShear, 9)\r\n };\r\n this.#curveCache.set(track, value);\r\n }\r\n return value;\r\n }\r\n\r\n /** Finds a named animation across primary and secondary resources. */\r\n #findAnimation(name)\r\n {\r\n const target = String(name ?? \"\");\r\n const find = resource => CjsGrannyCurves.getAnimations(this.#getSource(resource)).find(animation => getName(animation) === target);\r\n let animation = find(this.grannyRes);\r\n if (animation)\r\n {\r\n return animation;\r\n }\r\n for (const resource of this.#secondaryResources.values())\r\n {\r\n animation = find(resource);\r\n if (animation)\r\n {\r\n return animation;\r\n }\r\n }\r\n return null;\r\n }\r\n\r\n /** Returns a nonnegative duration for one animation. */\r\n #getAnimationDuration(animation)\r\n {\r\n return Math.max(0, CjsGrannyCurves.getAnimationDuration(animation));\r\n }\r\n\r\n /** Reads a lower- or upper-case array property from decoded Granny data. */\r\n #getArray(value, lowerName, upperName)\r\n {\r\n return Array.isArray(value?.[lowerName]) ? value[lowerName] : Array.isArray(value?.[upperName]) ? value[upperName] : [];\r\n }\r\n\r\n /** Resolves a named layer or the unnamed base layer. */\r\n #getLayer(layerName)\r\n {\r\n const name = String(layerName ?? \"\");\r\n return name ? this.#layers.get(name) ?? null : this.#baseLayer;\r\n }\r\n\r\n /** Returns named animation layers in deterministic name order. */\r\n #getOrderedLayers()\r\n {\r\n return [ ...this.#layers.entries() ]\r\n .sort(([ left ], [ right ]) => left < right ? -1 : left > right ? 1 : 0)\r\n .map(([, layer ]) => layer);\r\n }\r\n\r\n /** Unwraps a resource wrapper to its decoded Granny source object. */\r\n #getSource(resource)\r\n {\r\n let value = resource?.GetPayload?.() ?? resource;\r\n const seen = new Set();\r\n while (value && typeof value === \"object\" && !seen.has(value))\r\n {\r\n seen.add(value);\r\n if (Array.isArray(value.animations) || Array.isArray(value.Animations))\r\n {\r\n return value;\r\n }\r\n value = value.json ?? value.Json ?? value.data ?? value.Data ?? value.value ?? value.Value ?? value.source ?? value.Source ?? value.fileInfo ?? value.FileInfo;\r\n }\r\n return null;\r\n }\r\n\r\n /** Queues or replaces one animation request on a layer. */\r\n #playLayer(layerName, animName, replace, loopCount, delay, speed, clearWhenDone)\r\n {\r\n const layer = this.#getLayer(layerName);\r\n const name = String(animName ?? \"\");\r\n if (!layer || !name)\r\n {\r\n return false;\r\n }\r\n const animation = this.#findAnimation(name);\r\n if (!animation && this.#getSource(this.grannyRes))\r\n {\r\n return false;\r\n }\r\n if (replace)\r\n {\r\n layer.queue.length = 0;\r\n }\r\n layer.queue.push({\r\n name,\r\n animation,\r\n loopCount: Math.max(0, Math.trunc(Number(loopCount) || 0)),\r\n elapsed: -Math.max(0, Number(delay) || 0),\r\n speed: Number.isFinite(Number(speed)) ? Number(speed) : 1,\r\n clearWhenDone: !!clearWhenDone,\r\n held: false\r\n });\r\n return true;\r\n }\r\n\r\n /** Rebuilds the mesh-to-skeleton bone index map. */\r\n #rebuildMeshBoneIndices()\r\n {\r\n const { source, model, bones, boneByName } = this.#runtimeModel;\r\n const meshBindings = this.#getArray(model, \"meshBindings\", \"MeshBindings\");\r\n const meshes = this.#getArray(source, \"meshes\", \"Meshes\");\r\n const mesh = meshes[Number(meshBindings[0]) || 0];\r\n const bindings = this.#getArray(mesh, \"boneBindings\", \"BoneBindings\");\r\n this.#meshBoneIndices = bindings\r\n .map(binding => boneByName.get(getName(binding)))\r\n .filter(index => index !== undefined);\r\n if (this.#meshBoneIndices.length === 0)\r\n {\r\n this.#meshBoneIndices = bones.map((_, index) => index);\r\n }\r\n }\r\n\r\n /** Rebuilds rest-world and inverse-rest transforms for every bone. */\r\n #rebuildRestTransforms()\r\n {\r\n const rotationMatrix = mat4.create();\r\n for (const bone of this.#runtimeModel.bones)\r\n {\r\n // Granny composite: ScaleShear first, then Orientation (see #composePose).\r\n mat4.fromMat3(bone.localTransform, bone.restScaleShear);\r\n mat4.multiply(bone.localTransform, mat4.fromQuat(rotationMatrix, bone.restOrientation), bone.localTransform);\r\n bone.localTransform[12] = bone.restPosition[0];\r\n bone.localTransform[13] = bone.restPosition[1];\r\n bone.localTransform[14] = bone.restPosition[2];\r\n if (bone.parentIndex >= 0 && this.#runtimeModel.bones[bone.parentIndex])\r\n {\r\n mat4.multiply(bone.worldTransform, this.#runtimeModel.bones[bone.parentIndex].worldTransform, bone.localTransform);\r\n }\r\n else\r\n {\r\n mat4.copy(bone.worldTransform, bone.localTransform);\r\n }\r\n if (!mat4.invert(bone.inverseRestTransform, bone.worldTransform))\r\n {\r\n mat4.identity(bone.inverseRestTransform);\r\n }\r\n }\r\n }\r\n\r\n /** Restores every runtime bone to its authored rest pose. */\r\n #resetPose()\r\n {\r\n for (const bone of this.#runtimeModel.bones)\r\n {\r\n vec3.copy(bone.position, bone.restPosition);\r\n quat.copy(bone.orientation, bone.restOrientation);\r\n mat3.copy(bone.scaleShear, bone.restScaleShear);\r\n }\r\n }\r\n\r\n /** Decodes and caches one modern or legacy morph curve. */\r\n #decodeMorphCurve(curve, modern)\r\n {\r\n if (!curve || typeof curve !== \"object\")\r\n {\r\n return null;\r\n }\r\n\r\n if (!this.#morphCurveCache.has(curve))\r\n {\r\n this.#morphCurveCache.set(curve, modern\r\n ? CjsGrannyCurves.decodeAnimationCurve(curve, 1)\r\n : CjsGrannyCurves.decodeGrannyCurve(curve, 1));\r\n }\r\n return this.#morphCurveCache.get(curve);\r\n }\r\n\r\n /** Samples every supported morph channel from one animation. */\r\n #sampleMorphs(animation, time, duration, weight, additive)\r\n {\r\n if (!(duration > 0) || time < 0 || time >= duration)\r\n {\r\n return;\r\n }\r\n\r\n const amount = Number(weight) || 0;\r\n const channels = this.#getArray(animation, \"channels\", \"Channels\");\r\n const curves = this.#getArray(animation, \"curves\", \"Curves\");\r\n for (const channel of channels)\r\n {\r\n const targetType = channel.targetType ?? channel.TargetType;\r\n if (targetType !== \"MorphTarget\" && targetType !== 3)\r\n {\r\n continue;\r\n }\r\n\r\n const name = String(channel.target ?? channel.Target ?? \"\");\r\n const curve = curves[Number(channel.curveIndex ?? channel.CurveIndex)];\r\n this.#sampleMorph(name, this.#decodeMorphCurve(curve, true), time, duration, amount, additive);\r\n }\r\n\r\n for (const group of CjsGrannyCurves.getTrackGroups(animation))\r\n {\r\n if (getName(group) !== \"root\")\r\n {\r\n continue;\r\n }\r\n\r\n for (const track of this.#getArray(group, \"vectorTracks\", \"VectorTracks\"))\r\n {\r\n const curve = track.valueCurve ?? track.ValueCurve;\r\n const dimension = Number(track.dimension ?? track.Dimension ?? curve?.dimension ?? curve?.Dimension);\r\n if (dimension !== 1)\r\n {\r\n continue;\r\n }\r\n this.#sampleMorph(getName(track), this.#decodeMorphCurve(curve, false), time, duration, amount, additive);\r\n }\r\n break;\r\n }\r\n }\r\n\r\n /** Accumulates one sampled morph curve into retained output state. */\r\n #sampleMorph(name, curve, time, duration, weight, additive)\r\n {\r\n if (!name || !curve)\r\n {\r\n return;\r\n }\r\n\r\n this.#morphSample[0] = 0;\r\n CjsGrannyCurves.sampleGrannyCurve(this.#morphSample, curve, time, false, duration);\r\n const value = this.#morphSample[0] * weight;\r\n if (!Number.isFinite(value))\r\n {\r\n return;\r\n }\r\n\r\n const previous = this.#morphAnimations.get(name);\r\n this.#morphAnimations.set(name, additive && previous !== undefined ? previous + value : value);\r\n }\r\n\r\n /** Samples the active request for one animation layer. */\r\n #sampleLayer(layer, additive)\r\n {\r\n const request = layer.queue[0];\r\n const animation = request?.animation;\r\n if (!animation || request.elapsed < 0)\r\n {\r\n return;\r\n }\r\n // Carbon cmf::AnimationPlayer::Sample returns false past the pinned stop\r\n // time (animation.cpp:734-743), leaving the bone at its reset value.\r\n if (request.stopAt !== undefined && request.elapsed >= request.stopAt)\r\n {\r\n return;\r\n }\r\n const duration = this.#getAnimationDuration(animation);\r\n const speed = Math.abs(request.speed);\r\n let time = layer.controlParamEnabled ? layer.controlParam * duration : request.elapsed * speed;\r\n if (duration > 0)\r\n {\r\n const totalDuration = request.loopCount > 0 ? duration * request.loopCount : Infinity;\r\n if (time >= totalDuration)\r\n {\r\n time = request.speed < 0 ? 0 : duration;\r\n }\r\n else\r\n {\r\n time %= duration;\r\n if (request.speed < 0)\r\n {\r\n time = time === 0 ? duration : duration - time;\r\n }\r\n }\r\n }\r\n this.#sampleMorphs(animation, time, duration, layer.weight, additive);\r\n const trackGroups = CjsGrannyCurves.getTrackGroups(animation);\r\n const modelName = getName(this.#runtimeModel.model);\r\n const matchingGroups = trackGroups.filter(group => getName(group) === modelName);\r\n for (const group of matchingGroups.length ? matchingGroups : trackGroups)\r\n {\r\n const tracks = this.#getArray(group, \"transformTracks\", \"TransformTracks\");\r\n for (const track of tracks)\r\n {\r\n const boneIndex = this.#runtimeModel.boneByName.get(getName(track));\r\n const bone = this.#runtimeModel.bones[boneIndex];\r\n if (!bone || (!layer.allBones && !layer.bones.has(bone.name)))\r\n {\r\n continue;\r\n }\r\n this.#sampleTrack(bone, track, time, duration, layer.weight, additive);\r\n }\r\n }\r\n }\r\n\r\n /** Samples and blends one transform track into a runtime bone. */\r\n #sampleTrack(bone, track, time, duration, weight, additive)\r\n {\r\n const curves = this.#decodeTrack(track);\r\n const position = vec3.clone(bone.restPosition);\r\n const orientation = quat.clone(bone.restOrientation);\r\n const scaleShear = mat3.clone(bone.restScaleShear);\r\n if (curves.position)\r\n {\r\n CjsGrannyCurves.sampleGrannyCurve(position, curves.position, time, false, duration);\r\n }\r\n if (curves.orientation)\r\n {\r\n CjsGrannyCurves.sampleGrannyCurve(orientation, curves.orientation, time, false, duration);\r\n quat.normalize(orientation, orientation);\r\n }\r\n if (curves.scaleShear)\r\n {\r\n CjsGrannyCurves.sampleGrannyCurve(scaleShear, curves.scaleShear, time, false, duration);\r\n }\r\n const amount = Math.max(0, Number(weight) || 0);\r\n if (!additive)\r\n {\r\n vec3.lerp(bone.position, bone.position, position, Math.min(1, amount));\r\n quat.slerp(bone.orientation, bone.orientation, orientation, Math.min(1, amount));\r\n for (let index = 0; index < 9; index++)\r\n {\r\n bone.scaleShear[index] += (scaleShear[index] - bone.scaleShear[index]) * Math.min(1, amount);\r\n }\r\n return;\r\n }\r\n\r\n const referencePosition = vec3.clone(bone.restPosition);\r\n const referenceOrientation = quat.clone(bone.restOrientation);\r\n const referenceScaleShear = mat3.clone(bone.restScaleShear);\r\n if (curves.position)\r\n {\r\n CjsGrannyCurves.sampleGrannyCurve(referencePosition, curves.position, 0, false, duration);\r\n }\r\n if (curves.orientation)\r\n {\r\n CjsGrannyCurves.sampleGrannyCurve(referenceOrientation, curves.orientation, 0, false, duration);\r\n quat.normalize(referenceOrientation, referenceOrientation);\r\n }\r\n if (curves.scaleShear)\r\n {\r\n CjsGrannyCurves.sampleGrannyCurve(referenceScaleShear, curves.scaleShear, 0, false, duration);\r\n }\r\n vec3.scaleAndAdd(bone.position, bone.position, vec3.subtract(position, position, referencePosition), amount);\r\n // Additive delta = orientation . reference^-1, applied on the LEFT of the\r\n // current pose (out = delta . bone), so amount=1 from the reference pose\r\n // recovers the authored orientation exactly. Authority: the visually\r\n // proven reverse-engineered composeInteriorAdditivePose\r\n // (ccpwgl/src/interior/character/Tr2InteriorAdditiveAnimation.js) -\r\n // right-multiplying conjugates the delta instead.\r\n const inverseReference = quat.invert(quat.create(), referenceOrientation);\r\n const delta = quat.multiply(quat.create(), orientation, inverseReference);\r\n quat.slerp(delta, quat.create(), delta, Math.min(1, amount));\r\n quat.multiply(bone.orientation, delta, bone.orientation);\r\n quat.normalize(bone.orientation, bone.orientation);\r\n for (let index = 0; index < 9; index++)\r\n {\r\n bone.scaleShear[index] += (scaleShear[index] - referenceScaleShear[index]) * amount;\r\n }\r\n }\r\n\r\n}\r\n"],"names":["createLayer","name","weight","allBones","bones","Set","queue","controlParam","controlParamTarget","controlParamEnabled","controlParamSkewRate","getName","value","String","Name","NO_BONES","Object","freeze","boneCount","getBoneList","animationUpdater","IsInitialized","GetMeshBoneCount","GetMeshBoneMatrixList","_Tr2GrannyAnimation","Tr2GrannyAnimation","CjsModel","e","_init_resPath_","_init_extra_resPath_","_init_model_","_init_extra_model_","_init_grannyRes","_init_extra_grannyRes","_init_eventListener","_init_extra_eventListener","_init_animationEnabled","_init_extra_animationEnabled","_init_debugRenderJointNames","_init_extra_debugRenderJointNames","_init_debugRenderSkeleton","_init_extra_debugRenderSkeleton","_init_boneOffset","_init_extra_boneOffset","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","persistOnly","string","read","objectRef","readwrite","boolean","impl","adapted","carbon","method","implemented","reason","constructor","args","vec3","fromValues","WeakMap","Map","Float32Array","resPath_","model_","resPath","Initialize","model","grannyRes","eventListener","animationEnabled","debugRenderJointNames","debugRenderSkeleton","boneOffset","GrannyBoneOffset","CjsGrannyCurves","resolveResource","RebuildCachedData","SetGrannyResource","resource","SetSharedGeometryRes","HasMeshBinding","SetUseMeshBinding","enable","HasSharedGeometryRes","source","models","find","item","skeleton","Skeleton","sourceBones","length","clear","ClearRigBindings","map","sourceBone","index","boneByName","bone","Update","dt","deltaTime","Math","max","Number","layer","view","ModifyPose","pose","GetPoseModifier","SetPoseModifier","poseModifier","#GetPoseModifierView","parents","parentIndex","boneTransforms","position","rotation","orientation","scaleShear","PlayAnimationEx","animName","loopCount","delay","speed","clearWhenDone","PlayAnimation","AddAnimationLayer","layerName","layerWeight","has","set","AddAnimationLayerAllBones","AddAnimationLayerBone","boneName","add","AddSecondaryResPath","path","SetSecondaryGrannyResource","AimBone","targetX","targetY","targetZ","axisX","axisY","axisZ","ChainAnimation","ChainAnimationEx","ClearAnimations","StopAnimations","request","stopDelay","stopAt","elapsed","push","ClearAnimationLayers","DisableAimBone","EndAnimation","splice","animation","duration","localTime","abs","floor","GetAdditiveBlendMode","GetLayerWeight","GetSecondaryAnimationName","get","getAnimations","replace","PlayAnimationOnce","PlayLayerAnimation","PlayLayerAnimationByName","RemoveAnimationLayerBone","delete","GetAnimationNames","names","append","values","SetAdditiveBlendMode","additive","SetLayerControlParam","SetLayerControlParamSkewRate","skewRate","SetLayerWeight","TogglePauseAnimations","pause","count","palette","offsetTransform","base","GetBoneWorldTransform","out","mat4","create","undefined","copy","worldTransform","GetBoneTransform","GetBoneMatrix","GetAnimationTransforms","GetAnimationBoneList","GetMorphAnimations","GetAimBoneState","enabled","target","clone","axis","#advanceLayer","difference","increment","sign","shift","held","#applyBoneOffsets","offsets","HaveTransforms","NeedRebind","BindToRig","ApplyToLocal","#composePose","rotationMatrix","fromMat3","localTransform","multiply","fromQuat","inverseRestTransform","#createBone","sourcePosition","Position","sourceOrientation","Orientation","sourceScaleShear","ScaleShear","parent","ParentIndex","Bone","restPosition","restOrientation","quat","restScaleShear","mat3","#decodeTrack","track","decodeGrannyCurve","#findAnimation","#getAnimationDuration","getAnimationDuration","#getArray","lowerName","upperName","Array","isArray","#getLayer","#getOrderedLayers","entries","sort","left","right","#getSource","GetPayload","seen","animations","Animations","json","Json","data","Data","Value","Source","fileInfo","FileInfo","#playLayer","trunc","isFinite","#rebuildMeshBoneIndices","meshBindings","meshes","mesh","bindings","binding","filter","_","#rebuildRestTransforms","invert","identity","#resetPose","#decodeMorphCurve","curve","modern","decodeAnimationCurve","#sampleMorphs","time","amount","channels","curves","channel","targetType","TargetType","Target","curveIndex","CurveIndex","group","getTrackGroups","valueCurve","ValueCurve","dimension","Dimension","#sampleMorph","sampleGrannyCurve","previous","#sampleLayer","totalDuration","Infinity","trackGroups","modelName","matchingGroups","tracks","boneIndex","#sampleTrack","normalize","lerp","min","slerp","referencePosition","referenceOrientation","referenceScaleShear","scaleAndAdd","subtract","inverseReference","delta"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import {
|
|
2
|
+
import { edit, type, carbon, impl } from '#schema';
|
|
3
3
|
import { CjsModel } from '#model';
|
|
4
4
|
|
|
5
5
|
let _initProto, _initClass, _init_fps, _init_extra_fps, _init_frame, _init_extra_frame, _init_time, _init_extra_time, _init_paused, _init_extra_paused, _init_updateOnlyWhenRendered, _init_extra_updateOnlyWhenRendered, _init_resPath, _init_extra_resPath, _init_looped, _init_extra_looped;
|
|
@@ -15,7 +15,7 @@ new class extends _identity {
|
|
|
15
15
|
} = _applyDecs2311(this, [type.define({
|
|
16
16
|
className: "Tr2TextureAnimation",
|
|
17
17
|
family: "trinityCore"
|
|
18
|
-
})], [[[
|
|
18
|
+
})], [[[edit, edit.persist, type, type.float32], 16, "fps"], [[edit, edit.read, type, type.uint32], 16, "frame"], [[edit, edit.read, type, type.float32], 16, "time"], [[edit, edit.persist, type, type.boolean], 16, "paused"], [[edit, edit.persist, type, type.boolean], 16, "updateOnlyWhenRendered"], [[edit, edit.notify, edit, edit.persist, type, type.string], 16, "resPath"], [[edit, edit.persist, type, type.boolean], 16, "looped"], [[carbon, carbon.method, impl, impl.adapted], 18, "GetChannelNames"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("The browser resets its CPU frame clock and delegates decoder rewind to attached channel adapters instead of Carbon's VTA worker thread.")], 18, "RestartAnimation"], [[impl, impl.adapted], 18, "SetChannels"], [[impl, impl.adapted], 18, "GetTexture"]], 0, void 0, CjsModel));
|
|
19
19
|
}
|
|
20
20
|
constructor(...args) {
|
|
21
21
|
super(...args);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2TextureAnimation.js","sources":["../../../../../src/trinity/core/animation/Tr2TextureAnimation.js"],"sourcesContent":["// Source: trinity/trinity/Tr2TextureAnimation.h\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl,
|
|
1
|
+
{"version":3,"file":"Tr2TextureAnimation.js","sources":["../../../../../src/trinity/core/animation/Tr2TextureAnimation.js"],"sourcesContent":["// Source: trinity/trinity/Tr2TextureAnimation.h\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\n\r\n/** Advances a multi-channel texture flipbook, tracking frame and restart state per channel. */\r\n@type.define({ className: \"Tr2TextureAnimation\", family: \"trinityCore\" })\r\nexport class Tr2TextureAnimation extends CjsModel\r\n{\r\n\r\n #channels = new Map();\r\n\r\n /** m_fps (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n fps = 1;\r\n\r\n /** m_frame (uint32_t) [READ] */\r\n @edit.read\r\n @type.uint32\r\n frame = 0;\r\n\r\n /** m_time (float) [READ] */\r\n @edit.read\r\n @type.float32\r\n time = 0;\r\n\r\n /** m_paused (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n paused = false;\r\n\r\n /** m_updateOnlyWhenRendered (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n updateOnlyWhenRendered = true;\r\n\r\n /** m_filename (std::wstring) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.string\r\n resPath = \"\";\r\n\r\n /** m_looped (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n looped = true;\r\n\r\n /** Carbon method GetChannelNames (MAP_METHOD_AND_WRAP). */\r\n /**\r\n * The names of the animated texture channels.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetChannelNames()\r\n {\r\n return Array.from(this.#channels.keys());\r\n }\r\n\r\n /** Carbon method RestartAnimation (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The browser resets its CPU frame clock and delegates decoder rewind to attached channel adapters instead of Carbon's VTA worker thread.\")\r\n RestartAnimation()\r\n {\r\n this.frame = 0;\r\n this.time = 0;\r\n for (const channel of this.#channels.values())\r\n {\r\n if (typeof channel?.Restart === \"function\")\r\n {\r\n channel.Restart();\r\n }\r\n else\r\n {\r\n channel?.Reset?.();\r\n }\r\n }\r\n }\r\n\r\n /** Attaches already-decoded browser VTA channel adapters. */\r\n @impl.adapted\r\n SetChannels(channels)\r\n {\r\n this.#channels.clear();\r\n if (channels instanceof Map)\r\n {\r\n for (const [name, channel] of channels)\r\n {\r\n this.#channels.set(String(name), channel);\r\n }\r\n }\r\n else if (channels && typeof channels === \"object\")\r\n {\r\n for (const [name, channel] of Object.entries(channels))\r\n {\r\n this.#channels.set(name, channel);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * The texture currently showing on one animated channel.\r\n */\r\n @impl.adapted\r\n GetTexture(channel)\r\n {\r\n const value = this.#channels.get(String(channel ?? \"\"));\r\n return value?.texture ?? value ?? null;\r\n }\r\n\r\n static RestartState = Object.freeze({\r\n NotRestarting: 0,\r\n WaitingToRestart: 1,\r\n WaitingForFrame: 2,\r\n });\r\n\r\n}\r\n"],"names":["_Tr2TextureAnimation","_identity","Tr2TextureAnimation","CjsModel","e","_init_fps","_init_extra_fps","_init_frame","_init_extra_frame","_init_time","_init_extra_time","_init_paused","_init_extra_paused","_init_updateOnlyWhenRendered","_init_extra_updateOnlyWhenRendered","_init_resPath","_init_extra_resPath","_init_looped","_init_extra_looped","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","persist","float32","read","uint32","boolean","notify","string","carbon","method","impl","adapted","reason","constructor","args","Map","fps","frame","time","paused","updateOnlyWhenRendered","resPath","looped","GetChannelNames","Array","from","keys","RestartAnimation","channel","values","Restart","Reset","SetChannels","channels","clear","name","set","String","Object","entries","GetTexture","value","get","texture","RestartState","freeze","NotRestarting","WaitingToRestart","WaitingForFrame"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import {
|
|
2
|
+
import { edit, type, carbon, impl } from '#schema';
|
|
3
3
|
import { CjsModel } from '#model';
|
|
4
4
|
import { quat } from '#math/quat';
|
|
5
5
|
import { vec3 } from '#math/vec3';
|
|
@@ -16,7 +16,7 @@ class TriRigidOrientation extends CjsModel {
|
|
|
16
16
|
} = _applyDecs2311(this, [type.define({
|
|
17
17
|
className: "TriRigidOrientation",
|
|
18
18
|
family: "trinityCore"
|
|
19
|
-
})], [[[
|
|
19
|
+
})], [[[edit, edit.persist, type, type.float32], 16, "drag"], [[edit, edit.persist, type, type.float64], 16, "start"], [[edit, edit.persist, type, type.float32], 16, "I"], [[edit, edit.persist, void 0, type.list("TriTorque")], 16, "states"], [[edit, edit.persist, type, type.quat], 16, "value"], [[edit, edit.persist, type, type.string], 16, "name"], [[carbon, carbon.method, impl, impl.implemented], 18, "Sort"], [[carbon, carbon.method, impl, impl.implemented], 18, "Seek"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetValueAt"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetValueDotAt"], [[carbon, carbon.method, impl, impl.implemented], 18, "Update"]], 0, void 0, CjsModel));
|
|
20
20
|
}
|
|
21
21
|
/** mDrag (float) [READWRITE, PERSIST] */
|
|
22
22
|
drag = (_initProto(this), _init_drag(this, 1));
|