@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":"Formation.js","sources":["../../../../../../src/trinity/eve/child/behaviors/Formation.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/Formation.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/Formation.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\n\r\n// Module scratch for the per-agent loops (behavior updates run sequentially).\r\nconst ACCEL_NORMALIZED = vec3.create();\r\nconst GROUP_ALIGNMENT = vec3.create();\r\nconst SLOT_VECTOR = vec3.create();\r\nconst TARGET_DIR = vec3.create();\r\nconst UP_AXIS = vec3.fromValues(0, 1, 0);\r\nconst ROTATION_AXIS = vec3.create();\r\nconst ROTATION_QUAT = quat.create();\r\nconst FORMATION_ACCELERATION = vec3.create();\r\nconst NO_FORCES = [];\r\n\r\n// Carbon ClampLength: in-place clamp of a vec3 to a maximum length.\r\nfunction ClampLength(value, maxLength)\r\n{\r\n const lengthSq = vec3.squaredLength(value);\r\n if (lengthSq > maxLength * maxLength && lengthSq > 0)\r\n {\r\n vec3.scale(value, value, maxLength / Math.sqrt(lengthSq));\r\n }\r\n return value;\r\n}\r\n\r\n/** A steering behaviour that detects when a drone group's motion has converged, organises the agents into a rotating slot grid, and pulls each agent toward its assigned slot. */\r\n@type.define({ className: \"Formation\", family: \"eve/child/behaviors\" })\r\nexport class Formation extends CjsModel\r\n{\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n behaviorPriority = 0;\r\n\r\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n behaviorWeight = 300;\r\n\r\n /** m_inFormation (bool) [READ] */\r\n @io.read\r\n @type.boolean\r\n inFormation = false;\r\n\r\n /** m_maxFormationVelocityScaler (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n maxFormationVelocityScaler = 0.85;\r\n\r\n /** m_stubbornness (int32_t) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.int32\r\n stubbornness = 3;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n /** m_framesBetweenUpdates (int32_t) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.int32\r\n framesBetweenUpdates = 15;\r\n\r\n // Carbon runtime state: the slot grid (vec3 offsets from the formation\r\n // centre), its reservation flags, and the frame/consistency counters.\r\n #formationGrid = [];\r\n\r\n #formationGridReserver = [];\r\n\r\n #formationPosition = vec3.create();\r\n\r\n #formationSpeed = vec3.create();\r\n\r\n #formationAcceleration = vec3.create();\r\n\r\n #lastFormationAcceleration = vec3.create();\r\n\r\n #isFormalizing = false;\r\n\r\n #frameCounter = 0;\r\n\r\n #stubbornnessCounter = 0;\r\n\r\n /** Carbon Formation::GetProcessPriority (cpp:43-46). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /** Carbon Formation::GetBehaviorName (cpp:48-51). */\r\n @carbon.method\r\n @impl.implemented\r\n GetBehaviorName()\r\n {\r\n return \"Formation\";\r\n }\r\n\r\n /** Per-agent scratch record count (Carbon sizeof(FormationData)). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\r\n GetScratchMemorySize()\r\n {\r\n return 1;\r\n }\r\n\r\n /** Fresh per-agent scratch record (Carbon FormationData placement init). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\r\n InitializeScratch()\r\n {\r\n return {\r\n assignedSlot: -1\r\n };\r\n }\r\n\r\n /** Carbon Formation::InFormation (cpp:53-56). */\r\n @carbon.method\r\n @impl.implemented\r\n InFormation()\r\n {\r\n return this.inFormation;\r\n }\r\n\r\n /** Carbon Formation::Reset (cpp:261-264). */\r\n @carbon.method\r\n @impl.implemented\r\n Reset()\r\n {\r\n this.#BreakFormation();\r\n }\r\n\r\n /**\r\n * Consistency-gated formation state machine: checks whether the agents keep\r\n * agreeing on a direction, forms/breaks the grid accordingly, and drives\r\n * agents to their assigned slots while formed (Carbon CalculateBehavior,\r\n * cpp:58-125).\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array} scratchData - per-agent FormationData records\r\n * @param {Number} deltaTime\r\n * @param {Object} group - owning BehaviorGroup\r\n * @param {Object} _system - owning EveChildBehaviorSystem\r\n * @param {Array} _dronesInSearchRadius - unused\r\n * @returns {Array} empty (as Carbon)\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n CalculateBehavior(agents, scratchData, deltaTime, group, _system, _dronesInSearchRadius)\r\n {\r\n if (!this.enabled)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n if (this.#frameCounter >= this.framesBetweenUpdates)\r\n {\r\n // we'll do a check\r\n if (this.#CheckIfFormalizing(agents, scratchData))\r\n {\r\n // we only enable formation if the check passes a few times in a row\r\n if (!this.inFormation && this.#stubbornnessCounter >= this.stubbornness)\r\n {\r\n this.#InitializeFormation(agents, scratchData, group.GetBoundingSphereRadius());\r\n }\r\n else\r\n {\r\n if (this.#isFormalizing === true)\r\n {\r\n this.#stubbornnessCounter++;\r\n }\r\n else\r\n {\r\n this.#stubbornnessCounter = 0;\r\n }\r\n\r\n this.#isFormalizing = true;\r\n }\r\n }\r\n else\r\n {\r\n if (this.inFormation && this.#stubbornnessCounter >= this.stubbornness)\r\n {\r\n this.#BreakFormation();\r\n }\r\n else\r\n {\r\n if (this.#isFormalizing === true)\r\n {\r\n this.#stubbornnessCounter++;\r\n }\r\n else\r\n {\r\n this.#stubbornnessCounter = 0;\r\n }\r\n\r\n this.#isFormalizing = false;\r\n }\r\n }\r\n }\r\n else\r\n {\r\n this.#frameCounter++;\r\n }\r\n\r\n if (this.inFormation)\r\n {\r\n this.#UpdateFormation(deltaTime, group);\r\n this.#UpdateAgents(agents, scratchData, group.GetBoundingSphereRadius());\r\n }\r\n\r\n return NO_FORCES;\r\n }\r\n\r\n // Tests whether the agents are being dragged the same way, only accounting\r\n // for behaviors that ran before this one (Carbon CheckIfFormalizing,\r\n // cpp:127-170).\r\n /**\r\n * Whether the agents' accelerations, or once formed their pull toward their assigned slots, agree on a common direction.\r\n */\r\n #CheckIfFormalizing(agents, scratchData)\r\n {\r\n if (agents.length === 0)\r\n {\r\n return false;\r\n }\r\n\r\n let disagreeingDrones = 0;\r\n vec3.normalize(GROUP_ALIGNMENT, agents[0].acceleration);\r\n vec3.set(this.#formationAcceleration, 0, 0, 0);\r\n\r\n for (let c = 0; c < agents.length; c++)\r\n {\r\n const agent = agents[c];\r\n const data = scratchData?.[c];\r\n vec3.normalize(ACCEL_NORMALIZED, agent.acceleration);\r\n\r\n if (!(vec3.dot(ACCEL_NORMALIZED, GROUP_ALIGNMENT) > 0))\r\n {\r\n if (this.inFormation)\r\n {\r\n const slot = this.#formationGrid[data?.assignedSlot ?? -1];\r\n if (slot)\r\n {\r\n vec3.add(SLOT_VECTOR, this.#formationPosition, slot);\r\n vec3.subtract(SLOT_VECTOR, SLOT_VECTOR, agent.position);\r\n vec3.normalize(SLOT_VECTOR, SLOT_VECTOR);\r\n if (vec3.dot(ACCEL_NORMALIZED, SLOT_VECTOR) < 0)\r\n {\r\n disagreeingDrones++;\r\n }\r\n }\r\n }\r\n else\r\n {\r\n disagreeingDrones++;\r\n vec3.lerp(GROUP_ALIGNMENT, GROUP_ALIGNMENT, ACCEL_NORMALIZED, 0.5);\r\n }\r\n }\r\n\r\n vec3.add(this.#formationAcceleration, this.#formationAcceleration, ACCEL_NORMALIZED);\r\n }\r\n\r\n if (disagreeingDrones >= 0.1 * agents.length)\r\n {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n // Finds the centre point, builds the slot grid, and assigns each agent its\r\n // nearest free slot (Carbon InitializeFormation, cpp:172-195).\r\n /**\r\n * Computes the group's centre from the agent positions, builds the slot grid, assigns each agent a slot, and marks the group in formation.\r\n */\r\n #InitializeFormation(agents, scratchData, radius)\r\n {\r\n if (agents.length === 0)\r\n {\r\n return;\r\n }\r\n\r\n vec3.set(this.#formationPosition, 0, 0, 0);\r\n vec3.set(TARGET_DIR, 0, 0, 0);\r\n\r\n for (const agent of agents)\r\n {\r\n vec3.add(this.#formationPosition, this.#formationPosition, agent.position);\r\n vec3.add(TARGET_DIR, TARGET_DIR, agent.acceleration);\r\n }\r\n\r\n vec3.scale(this.#formationPosition, this.#formationPosition, 1 / agents.length);\r\n\r\n this.#CreateFormationGrid(agents, TARGET_DIR, radius);\r\n this.#AssignSlots(agents, scratchData);\r\n\r\n this.inFormation = true;\r\n }\r\n\r\n // Builds a square slot grid facing the group's pull direction (Carbon\r\n // CreateFormationGrid, cpp:197-225). Grid slots are allocated here - a\r\n // formation-creation event, not the per-frame path.\r\n /**\r\n * Builds a square grid of slot offsets around the formation centre, oriented to face the group's average pull direction.\r\n */\r\n #CreateFormationGrid(agents, targetDir, radius)\r\n {\r\n targetDir[1] = this.#formationPosition[1];\r\n vec3.normalize(targetDir, targetDir);\r\n\r\n const angle = vec3.angle(UP_AXIS, targetDir);\r\n quat.setAxisAngle(ROTATION_QUAT, UP_AXIS, angle);\r\n\r\n this.#formationGrid.length = 0;\r\n this.#formationGridReserver.length = 0;\r\n\r\n let num = agents.length;\r\n num = Math.floor(Math.sqrt(num - 1)) + 1;\r\n\r\n for (let i = 0; i < num; i++)\r\n {\r\n for (let j = 0; j < num; j++)\r\n {\r\n const r = 2.5 * radius;\r\n const slot = vec3.fromValues((-(num / 2) + i) * r, 0, (-(num / 2) + j) * r);\r\n vec3.transformQuat(slot, slot, ROTATION_QUAT);\r\n this.#formationGrid.push(slot);\r\n this.#formationGridReserver.push(false);\r\n }\r\n }\r\n }\r\n\r\n // Nearest-free-slot assignment (Carbon AssignSlots, cpp:227-258).\r\n /**\r\n * Assigns each agent to its nearest unreserved formation slot.\r\n */\r\n #AssignSlots(agents, scratchData)\r\n {\r\n for (let c = 0; c < agents.length; c++)\r\n {\r\n const agent = agents[c];\r\n const data = scratchData?.[c];\r\n let nearestSlot = -1;\r\n let closestLength = 0;\r\n for (let index = 0; index < this.#formationGrid.length; index++)\r\n {\r\n if (!this.#formationGridReserver[index])\r\n {\r\n vec3.add(SLOT_VECTOR, this.#formationPosition, this.#formationGrid[index]);\r\n vec3.subtract(SLOT_VECTOR, agent.position, SLOT_VECTOR);\r\n const lengthToSlot = vec3.squaredLength(SLOT_VECTOR);\r\n if (nearestSlot === -1 || lengthToSlot < closestLength)\r\n {\r\n nearestSlot = index;\r\n closestLength = lengthToSlot;\r\n }\r\n }\r\n }\r\n if (nearestSlot !== -1)\r\n {\r\n this.#formationGridReserver[nearestSlot] = true;\r\n if (data)\r\n {\r\n data.assignedSlot = nearestSlot;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Carbon BreakFormation (cpp:266-277).\r\n /**\r\n * Resets the formation's position, speed and acceleration state and clears the slot grid, taking the group out of formation.\r\n */\r\n #BreakFormation()\r\n {\r\n vec3.set(this.#formationPosition, 0, 0, 0);\r\n vec3.set(this.#formationSpeed, 0, 0, 0);\r\n vec3.set(this.#lastFormationAcceleration, 0, 0, 0);\r\n vec3.set(this.#formationAcceleration, 0, 0, 0);\r\n this.#isFormalizing = false;\r\n this.inFormation = false;\r\n this.#formationGrid.length = 0;\r\n this.#formationGridReserver.length = 0;\r\n }\r\n\r\n // Moves the formation centre like a single ship (Carbon UpdateFormation,\r\n // cpp:279-294).\r\n /**\r\n * Advances the formation centre each frame as if it were a single ship, applying inertia to its acceleration and clamping its speed.\r\n */\r\n #UpdateFormation(deltaTime, group)\r\n {\r\n vec3.copy(FORMATION_ACCELERATION, this.#formationAcceleration);\r\n\r\n this.#CalculateFormationInertia(FORMATION_ACCELERATION, deltaTime);\r\n\r\n vec3.add(this.#formationSpeed, this.#formationSpeed, FORMATION_ACCELERATION);\r\n ClampLength(this.#formationSpeed, group.GetMaxVelocity() * this.maxFormationVelocityScaler);\r\n\r\n vec3.scaleAndAdd(this.#formationPosition, this.#formationPosition, this.#formationSpeed, deltaTime);\r\n }\r\n\r\n // Limits the formation's angular speed and rotates the whole grid with it\r\n // (Carbon calculateFormationInertia, cpp:296-325).\r\n /**\r\n * Limits the formation's turn rate by rotating its acceleration toward the previous frame's direction, rotating the slot grid with it.\r\n */\r\n #CalculateFormationInertia(acceleration, deltaTime)\r\n {\r\n vec3.normalize(ACCEL_NORMALIZED, acceleration);\r\n\r\n if (vec3.squaredLength(this.#lastFormationAcceleration) !== 0)\r\n {\r\n vec3.cross(ROTATION_AXIS, this.#lastFormationAcceleration, ACCEL_NORMALIZED);\r\n vec3.normalize(ROTATION_AXIS, ROTATION_AXIS);\r\n if (vec3.length(ROTATION_AXIS) === 0)\r\n {\r\n vec3.set(ROTATION_AXIS, 0, 1, 0);\r\n }\r\n let angle = vec3.angle(this.#lastFormationAcceleration, ACCEL_NORMALIZED);\r\n const step = (0.1 + 2 / Math.max(1, this.#formationGrid.length)) * deltaTime;\r\n angle = Math.min(angle, step);\r\n\r\n if (angle > 0)\r\n {\r\n quat.setAxisAngle(ROTATION_QUAT, ROTATION_AXIS, angle);\r\n // Carbon rotates last frame's (unit) formation acceleration into the\r\n // working acceleration (TriVectorRotateQuaternion, cpp:314-315).\r\n vec3.transformQuat(acceleration, this.#lastFormationAcceleration, ROTATION_QUAT);\r\n\r\n for (const slot of this.#formationGrid)\r\n {\r\n vec3.transformQuat(slot, slot, ROTATION_QUAT);\r\n }\r\n }\r\n }\r\n vec3.normalize(this.#lastFormationAcceleration, acceleration);\r\n }\r\n\r\n // Damps the other behaviors and pulls each agent toward its slot (Carbon\r\n // UpdateAgents, cpp:327-347).\r\n /**\r\n * Damps each agent's incoming acceleration, pulls it toward its assigned slot, and slows it as it nears that slot.\r\n */\r\n #UpdateAgents(agents, scratchData, radius)\r\n {\r\n const radiusSq = radius * radius;\r\n for (let c = 0; c < agents.length; c++)\r\n {\r\n const agent = agents[c];\r\n const data = scratchData?.[c];\r\n const slot = this.#formationGrid[data?.assignedSlot ?? -1];\r\n if (!slot)\r\n {\r\n continue;\r\n }\r\n\r\n vec3.scale(agent.acceleration, agent.acceleration, 0.5); // reduce the effect of former behaviors\r\n\r\n vec3.add(SLOT_VECTOR, this.#formationPosition, slot);\r\n vec3.subtract(SLOT_VECTOR, SLOT_VECTOR, agent.position);\r\n\r\n const distToSlot = vec3.squaredLength(SLOT_VECTOR);\r\n\r\n if (distToSlot < 2 * radiusSq)\r\n {\r\n // drones can slow down based on dist to target\r\n const damping = 0.5 + 0.5 * Math.min(Math.max(distToSlot / radiusSq - 0.5 * radius, 0), 1);\r\n vec3.scale(agent.velocity, agent.velocity, damping);\r\n }\r\n\r\n vec3.normalize(SLOT_VECTOR, SLOT_VECTOR);\r\n vec3.scaleAndAdd(agent.acceleration, agent.acceleration, SLOT_VECTOR, this.behaviorWeight);\r\n }\r\n }\r\n\r\n}\r\n"],"names":["ACCEL_NORMALIZED","vec3","create","GROUP_ALIGNMENT","SLOT_VECTOR","TARGET_DIR","UP_AXIS","fromValues","ROTATION_AXIS","ROTATION_QUAT","quat","FORMATION_ACCELERATION","NO_FORCES","ClampLength","value","maxLength","lengthSq","squaredLength","scale","Math","sqrt","_Formation","Formation","CjsModel","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_behaviorWeight","_init_extra_behaviorWeight","_init_inFormation","_init_extra_inFormation","_init_maxFormationVelocityScaler","_init_extra_maxFormationVelocityScaler","_init_stubbornness","_init_extra_stubbornness","_init_enabled","_init_extra_enabled","_init_framesBetweenUpdates","_init_extra_framesBetweenUpdates","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","float32","read","boolean","carbon","method","impl","implemented","adapted","reason","behaviorPriority","behaviorWeight","inFormation","maxFormationVelocityScaler","stubbornness","enabled","framesBetweenUpdates","GetProcessPriority","GetBehaviorName","GetScratchMemorySize","InitializeScratch","assignedSlot","InFormation","Reset","CalculateBehavior","agents","scratchData","deltaTime","group","_system","_dronesInSearchRadius","GetBoundingSphereRadius","#CheckIfFormalizing","length","disagreeingDrones","normalize","acceleration","set","agent","data","dot","slot","add","subtract","position","lerp","#InitializeFormation","radius","#CreateFormationGrid","targetDir","angle","setAxisAngle","num","floor","i","j","r","transformQuat","push","#AssignSlots","nearestSlot","closestLength","index","lengthToSlot","#BreakFormation","#UpdateFormation","copy","GetMaxVelocity","scaleAndAdd","#CalculateFormationInertia","cross","step","max","min","#UpdateAgents","radiusSq","distToSlot","damping","velocity"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Formation.js","sources":["../../../../../../src/trinity/eve/child/behaviors/Formation.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/Formation.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/Formation.cpp\r\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\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\n\r\n// Module scratch for the per-agent loops (behavior updates run sequentially).\r\nconst ACCEL_NORMALIZED = vec3.create();\r\nconst GROUP_ALIGNMENT = vec3.create();\r\nconst SLOT_VECTOR = vec3.create();\r\nconst TARGET_DIR = vec3.create();\r\nconst UP_AXIS = vec3.fromValues(0, 1, 0);\r\nconst ROTATION_AXIS = vec3.create();\r\nconst ROTATION_QUAT = quat.create();\r\nconst FORMATION_ACCELERATION = vec3.create();\r\nconst NO_FORCES = [];\r\n\r\n// Carbon ClampLength: in-place clamp of a vec3 to a maximum length.\r\nfunction ClampLength(value, maxLength)\r\n{\r\n const lengthSq = vec3.squaredLength(value);\r\n if (lengthSq > maxLength * maxLength && lengthSq > 0)\r\n {\r\n vec3.scale(value, value, maxLength / Math.sqrt(lengthSq));\r\n }\r\n return value;\r\n}\r\n\r\n/** A steering behaviour that detects when a drone group's motion has converged, organises the agents into a rotating slot grid, and pulls each agent toward its assigned slot. */\r\n@type.define({ className: \"Formation\", family: \"eve/child/behaviors\" })\r\nexport class Formation extends CjsModel\r\n{\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @edit.notify\r\n @edit.persist\r\n @type.int32\r\n behaviorPriority = 0;\r\n\r\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n behaviorWeight = 300;\r\n\r\n /** m_inFormation (bool) [READ] */\r\n @edit.read\r\n @type.boolean\r\n inFormation = false;\r\n\r\n /** m_maxFormationVelocityScaler (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n maxFormationVelocityScaler = 0.85;\r\n\r\n /** m_stubbornness (int32_t) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.int32\r\n stubbornness = 3;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n /** m_framesBetweenUpdates (int32_t) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.int32\r\n framesBetweenUpdates = 15;\r\n\r\n // Carbon runtime state: the slot grid (vec3 offsets from the formation\r\n // centre), its reservation flags, and the frame/consistency counters.\r\n #formationGrid = [];\r\n\r\n #formationGridReserver = [];\r\n\r\n #formationPosition = vec3.create();\r\n\r\n #formationSpeed = vec3.create();\r\n\r\n #formationAcceleration = vec3.create();\r\n\r\n #lastFormationAcceleration = vec3.create();\r\n\r\n #isFormalizing = false;\r\n\r\n #frameCounter = 0;\r\n\r\n #stubbornnessCounter = 0;\r\n\r\n /** Carbon Formation::GetProcessPriority (cpp:43-46). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /** Carbon Formation::GetBehaviorName (cpp:48-51). */\r\n @carbon.method\r\n @impl.implemented\r\n GetBehaviorName()\r\n {\r\n return \"Formation\";\r\n }\r\n\r\n /** Per-agent scratch record count (Carbon sizeof(FormationData)). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\r\n GetScratchMemorySize()\r\n {\r\n return 1;\r\n }\r\n\r\n /** Fresh per-agent scratch record (Carbon FormationData placement init). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\r\n InitializeScratch()\r\n {\r\n return {\r\n assignedSlot: -1\r\n };\r\n }\r\n\r\n /** Carbon Formation::InFormation (cpp:53-56). */\r\n @carbon.method\r\n @impl.implemented\r\n InFormation()\r\n {\r\n return this.inFormation;\r\n }\r\n\r\n /** Carbon Formation::Reset (cpp:261-264). */\r\n @carbon.method\r\n @impl.implemented\r\n Reset()\r\n {\r\n this.#BreakFormation();\r\n }\r\n\r\n /**\r\n * Consistency-gated formation state machine: checks whether the agents keep\r\n * agreeing on a direction, forms/breaks the grid accordingly, and drives\r\n * agents to their assigned slots while formed (Carbon CalculateBehavior,\r\n * cpp:58-125).\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array} scratchData - per-agent FormationData records\r\n * @param {Number} deltaTime\r\n * @param {Object} group - owning BehaviorGroup\r\n * @param {Object} _system - owning EveChildBehaviorSystem\r\n * @param {Array} _dronesInSearchRadius - unused\r\n * @returns {Array} empty (as Carbon)\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n CalculateBehavior(agents, scratchData, deltaTime, group, _system, _dronesInSearchRadius)\r\n {\r\n if (!this.enabled)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n if (this.#frameCounter >= this.framesBetweenUpdates)\r\n {\r\n // we'll do a check\r\n if (this.#CheckIfFormalizing(agents, scratchData))\r\n {\r\n // we only enable formation if the check passes a few times in a row\r\n if (!this.inFormation && this.#stubbornnessCounter >= this.stubbornness)\r\n {\r\n this.#InitializeFormation(agents, scratchData, group.GetBoundingSphereRadius());\r\n }\r\n else\r\n {\r\n if (this.#isFormalizing === true)\r\n {\r\n this.#stubbornnessCounter++;\r\n }\r\n else\r\n {\r\n this.#stubbornnessCounter = 0;\r\n }\r\n\r\n this.#isFormalizing = true;\r\n }\r\n }\r\n else\r\n {\r\n if (this.inFormation && this.#stubbornnessCounter >= this.stubbornness)\r\n {\r\n this.#BreakFormation();\r\n }\r\n else\r\n {\r\n if (this.#isFormalizing === true)\r\n {\r\n this.#stubbornnessCounter++;\r\n }\r\n else\r\n {\r\n this.#stubbornnessCounter = 0;\r\n }\r\n\r\n this.#isFormalizing = false;\r\n }\r\n }\r\n }\r\n else\r\n {\r\n this.#frameCounter++;\r\n }\r\n\r\n if (this.inFormation)\r\n {\r\n this.#UpdateFormation(deltaTime, group);\r\n this.#UpdateAgents(agents, scratchData, group.GetBoundingSphereRadius());\r\n }\r\n\r\n return NO_FORCES;\r\n }\r\n\r\n // Tests whether the agents are being dragged the same way, only accounting\r\n // for behaviors that ran before this one (Carbon CheckIfFormalizing,\r\n // cpp:127-170).\r\n /**\r\n * Whether the agents' accelerations, or once formed their pull toward their assigned slots, agree on a common direction.\r\n */\r\n #CheckIfFormalizing(agents, scratchData)\r\n {\r\n if (agents.length === 0)\r\n {\r\n return false;\r\n }\r\n\r\n let disagreeingDrones = 0;\r\n vec3.normalize(GROUP_ALIGNMENT, agents[0].acceleration);\r\n vec3.set(this.#formationAcceleration, 0, 0, 0);\r\n\r\n for (let c = 0; c < agents.length; c++)\r\n {\r\n const agent = agents[c];\r\n const data = scratchData?.[c];\r\n vec3.normalize(ACCEL_NORMALIZED, agent.acceleration);\r\n\r\n if (!(vec3.dot(ACCEL_NORMALIZED, GROUP_ALIGNMENT) > 0))\r\n {\r\n if (this.inFormation)\r\n {\r\n const slot = this.#formationGrid[data?.assignedSlot ?? -1];\r\n if (slot)\r\n {\r\n vec3.add(SLOT_VECTOR, this.#formationPosition, slot);\r\n vec3.subtract(SLOT_VECTOR, SLOT_VECTOR, agent.position);\r\n vec3.normalize(SLOT_VECTOR, SLOT_VECTOR);\r\n if (vec3.dot(ACCEL_NORMALIZED, SLOT_VECTOR) < 0)\r\n {\r\n disagreeingDrones++;\r\n }\r\n }\r\n }\r\n else\r\n {\r\n disagreeingDrones++;\r\n vec3.lerp(GROUP_ALIGNMENT, GROUP_ALIGNMENT, ACCEL_NORMALIZED, 0.5);\r\n }\r\n }\r\n\r\n vec3.add(this.#formationAcceleration, this.#formationAcceleration, ACCEL_NORMALIZED);\r\n }\r\n\r\n if (disagreeingDrones >= 0.1 * agents.length)\r\n {\r\n return false;\r\n }\r\n\r\n return true;\r\n }\r\n\r\n // Finds the centre point, builds the slot grid, and assigns each agent its\r\n // nearest free slot (Carbon InitializeFormation, cpp:172-195).\r\n /**\r\n * Computes the group's centre from the agent positions, builds the slot grid, assigns each agent a slot, and marks the group in formation.\r\n */\r\n #InitializeFormation(agents, scratchData, radius)\r\n {\r\n if (agents.length === 0)\r\n {\r\n return;\r\n }\r\n\r\n vec3.set(this.#formationPosition, 0, 0, 0);\r\n vec3.set(TARGET_DIR, 0, 0, 0);\r\n\r\n for (const agent of agents)\r\n {\r\n vec3.add(this.#formationPosition, this.#formationPosition, agent.position);\r\n vec3.add(TARGET_DIR, TARGET_DIR, agent.acceleration);\r\n }\r\n\r\n vec3.scale(this.#formationPosition, this.#formationPosition, 1 / agents.length);\r\n\r\n this.#CreateFormationGrid(agents, TARGET_DIR, radius);\r\n this.#AssignSlots(agents, scratchData);\r\n\r\n this.inFormation = true;\r\n }\r\n\r\n // Builds a square slot grid facing the group's pull direction (Carbon\r\n // CreateFormationGrid, cpp:197-225). Grid slots are allocated here - a\r\n // formation-creation event, not the per-frame path.\r\n /**\r\n * Builds a square grid of slot offsets around the formation centre, oriented to face the group's average pull direction.\r\n */\r\n #CreateFormationGrid(agents, targetDir, radius)\r\n {\r\n targetDir[1] = this.#formationPosition[1];\r\n vec3.normalize(targetDir, targetDir);\r\n\r\n const angle = vec3.angle(UP_AXIS, targetDir);\r\n quat.setAxisAngle(ROTATION_QUAT, UP_AXIS, angle);\r\n\r\n this.#formationGrid.length = 0;\r\n this.#formationGridReserver.length = 0;\r\n\r\n let num = agents.length;\r\n num = Math.floor(Math.sqrt(num - 1)) + 1;\r\n\r\n for (let i = 0; i < num; i++)\r\n {\r\n for (let j = 0; j < num; j++)\r\n {\r\n const r = 2.5 * radius;\r\n const slot = vec3.fromValues((-(num / 2) + i) * r, 0, (-(num / 2) + j) * r);\r\n vec3.transformQuat(slot, slot, ROTATION_QUAT);\r\n this.#formationGrid.push(slot);\r\n this.#formationGridReserver.push(false);\r\n }\r\n }\r\n }\r\n\r\n // Nearest-free-slot assignment (Carbon AssignSlots, cpp:227-258).\r\n /**\r\n * Assigns each agent to its nearest unreserved formation slot.\r\n */\r\n #AssignSlots(agents, scratchData)\r\n {\r\n for (let c = 0; c < agents.length; c++)\r\n {\r\n const agent = agents[c];\r\n const data = scratchData?.[c];\r\n let nearestSlot = -1;\r\n let closestLength = 0;\r\n for (let index = 0; index < this.#formationGrid.length; index++)\r\n {\r\n if (!this.#formationGridReserver[index])\r\n {\r\n vec3.add(SLOT_VECTOR, this.#formationPosition, this.#formationGrid[index]);\r\n vec3.subtract(SLOT_VECTOR, agent.position, SLOT_VECTOR);\r\n const lengthToSlot = vec3.squaredLength(SLOT_VECTOR);\r\n if (nearestSlot === -1 || lengthToSlot < closestLength)\r\n {\r\n nearestSlot = index;\r\n closestLength = lengthToSlot;\r\n }\r\n }\r\n }\r\n if (nearestSlot !== -1)\r\n {\r\n this.#formationGridReserver[nearestSlot] = true;\r\n if (data)\r\n {\r\n data.assignedSlot = nearestSlot;\r\n }\r\n }\r\n }\r\n }\r\n\r\n // Carbon BreakFormation (cpp:266-277).\r\n /**\r\n * Resets the formation's position, speed and acceleration state and clears the slot grid, taking the group out of formation.\r\n */\r\n #BreakFormation()\r\n {\r\n vec3.set(this.#formationPosition, 0, 0, 0);\r\n vec3.set(this.#formationSpeed, 0, 0, 0);\r\n vec3.set(this.#lastFormationAcceleration, 0, 0, 0);\r\n vec3.set(this.#formationAcceleration, 0, 0, 0);\r\n this.#isFormalizing = false;\r\n this.inFormation = false;\r\n this.#formationGrid.length = 0;\r\n this.#formationGridReserver.length = 0;\r\n }\r\n\r\n // Moves the formation centre like a single ship (Carbon UpdateFormation,\r\n // cpp:279-294).\r\n /**\r\n * Advances the formation centre each frame as if it were a single ship, applying inertia to its acceleration and clamping its speed.\r\n */\r\n #UpdateFormation(deltaTime, group)\r\n {\r\n vec3.copy(FORMATION_ACCELERATION, this.#formationAcceleration);\r\n\r\n this.#CalculateFormationInertia(FORMATION_ACCELERATION, deltaTime);\r\n\r\n vec3.add(this.#formationSpeed, this.#formationSpeed, FORMATION_ACCELERATION);\r\n ClampLength(this.#formationSpeed, group.GetMaxVelocity() * this.maxFormationVelocityScaler);\r\n\r\n vec3.scaleAndAdd(this.#formationPosition, this.#formationPosition, this.#formationSpeed, deltaTime);\r\n }\r\n\r\n // Limits the formation's angular speed and rotates the whole grid with it\r\n // (Carbon calculateFormationInertia, cpp:296-325).\r\n /**\r\n * Limits the formation's turn rate by rotating its acceleration toward the previous frame's direction, rotating the slot grid with it.\r\n */\r\n #CalculateFormationInertia(acceleration, deltaTime)\r\n {\r\n vec3.normalize(ACCEL_NORMALIZED, acceleration);\r\n\r\n if (vec3.squaredLength(this.#lastFormationAcceleration) !== 0)\r\n {\r\n vec3.cross(ROTATION_AXIS, this.#lastFormationAcceleration, ACCEL_NORMALIZED);\r\n vec3.normalize(ROTATION_AXIS, ROTATION_AXIS);\r\n if (vec3.length(ROTATION_AXIS) === 0)\r\n {\r\n vec3.set(ROTATION_AXIS, 0, 1, 0);\r\n }\r\n let angle = vec3.angle(this.#lastFormationAcceleration, ACCEL_NORMALIZED);\r\n const step = (0.1 + 2 / Math.max(1, this.#formationGrid.length)) * deltaTime;\r\n angle = Math.min(angle, step);\r\n\r\n if (angle > 0)\r\n {\r\n quat.setAxisAngle(ROTATION_QUAT, ROTATION_AXIS, angle);\r\n // Carbon rotates last frame's (unit) formation acceleration into the\r\n // working acceleration (TriVectorRotateQuaternion, cpp:314-315).\r\n vec3.transformQuat(acceleration, this.#lastFormationAcceleration, ROTATION_QUAT);\r\n\r\n for (const slot of this.#formationGrid)\r\n {\r\n vec3.transformQuat(slot, slot, ROTATION_QUAT);\r\n }\r\n }\r\n }\r\n vec3.normalize(this.#lastFormationAcceleration, acceleration);\r\n }\r\n\r\n // Damps the other behaviors and pulls each agent toward its slot (Carbon\r\n // UpdateAgents, cpp:327-347).\r\n /**\r\n * Damps each agent's incoming acceleration, pulls it toward its assigned slot, and slows it as it nears that slot.\r\n */\r\n #UpdateAgents(agents, scratchData, radius)\r\n {\r\n const radiusSq = radius * radius;\r\n for (let c = 0; c < agents.length; c++)\r\n {\r\n const agent = agents[c];\r\n const data = scratchData?.[c];\r\n const slot = this.#formationGrid[data?.assignedSlot ?? -1];\r\n if (!slot)\r\n {\r\n continue;\r\n }\r\n\r\n vec3.scale(agent.acceleration, agent.acceleration, 0.5); // reduce the effect of former behaviors\r\n\r\n vec3.add(SLOT_VECTOR, this.#formationPosition, slot);\r\n vec3.subtract(SLOT_VECTOR, SLOT_VECTOR, agent.position);\r\n\r\n const distToSlot = vec3.squaredLength(SLOT_VECTOR);\r\n\r\n if (distToSlot < 2 * radiusSq)\r\n {\r\n // drones can slow down based on dist to target\r\n const damping = 0.5 + 0.5 * Math.min(Math.max(distToSlot / radiusSq - 0.5 * radius, 0), 1);\r\n vec3.scale(agent.velocity, agent.velocity, damping);\r\n }\r\n\r\n vec3.normalize(SLOT_VECTOR, SLOT_VECTOR);\r\n vec3.scaleAndAdd(agent.acceleration, agent.acceleration, SLOT_VECTOR, this.behaviorWeight);\r\n }\r\n }\r\n\r\n}\r\n"],"names":["ACCEL_NORMALIZED","vec3","create","GROUP_ALIGNMENT","SLOT_VECTOR","TARGET_DIR","UP_AXIS","fromValues","ROTATION_AXIS","ROTATION_QUAT","quat","FORMATION_ACCELERATION","NO_FORCES","ClampLength","value","maxLength","lengthSq","squaredLength","scale","Math","sqrt","_Formation","Formation","CjsModel","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_behaviorWeight","_init_extra_behaviorWeight","_init_inFormation","_init_extra_inFormation","_init_maxFormationVelocityScaler","_init_extra_maxFormationVelocityScaler","_init_stubbornness","_init_extra_stubbornness","_init_enabled","_init_extra_enabled","_init_framesBetweenUpdates","_init_extra_framesBetweenUpdates","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","notify","persist","int32","float32","read","boolean","carbon","method","impl","implemented","adapted","reason","behaviorPriority","behaviorWeight","inFormation","maxFormationVelocityScaler","stubbornness","enabled","framesBetweenUpdates","GetProcessPriority","GetBehaviorName","GetScratchMemorySize","InitializeScratch","assignedSlot","InFormation","Reset","CalculateBehavior","agents","scratchData","deltaTime","group","_system","_dronesInSearchRadius","GetBoundingSphereRadius","#CheckIfFormalizing","length","disagreeingDrones","normalize","acceleration","set","agent","data","dot","slot","add","subtract","position","lerp","#InitializeFormation","radius","#CreateFormationGrid","targetDir","angle","setAxisAngle","num","floor","i","j","r","transformQuat","push","#AssignSlots","nearestSlot","closestLength","index","lengthToSlot","#BreakFormation","#UpdateFormation","copy","GetMaxVelocity","scaleAndAdd","#CalculateFormationInertia","cross","step","max","min","#UpdateAgents","radiusSq","distToSlot","damping","velocity"],"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
|
import { vec3 } from '#math/vec3';
|
|
5
5
|
import { ProcessPriority } from './enums.js';
|
|
@@ -26,7 +26,7 @@ new class extends _identity {
|
|
|
26
26
|
} = _applyDecs2311(this, [type.define({
|
|
27
27
|
className: "InclusionVolume",
|
|
28
28
|
family: "eve/child/behaviors"
|
|
29
|
-
})], [[[
|
|
29
|
+
})], [[[edit, edit.notify, edit, edit.persist, type, type.int32, void 0, type.enum("ProcessPriority")], 16, "behaviorPriority"], [[edit, edit.persist, void 0, type.list("IEveVolume")], 16, "inclusionVolumes"], [[edit, edit.persist, type, type.float32], 16, "behaviorWeight"], [[edit, edit.persist, type, type.boolean], 16, "enabled"], [[edit, edit.persist, type, type.int32], 16, "framesBetweenUpdates"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetProcessPriority"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon pushes a debug force pair for every agent unconditionally; the JS port collects them only when group.collectForces is set to keep the per-agent loop allocation-free.")], 18, "CalculateBehavior"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Tr2DebugRendererOptions is represented by an injected Set-like option bag.")], 18, "GetDebugOptions"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("ITr2DebugRenderer2 is an injected engine-owned capability.")], 18, "RenderDebugInfo"]], 0, void 0, CjsModel));
|
|
30
30
|
}
|
|
31
31
|
/** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */
|
|
32
32
|
behaviorPriority = (_initProto(this), _init_behaviorPriority(this, 0));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InclusionVolume.js","sources":["../../../../../../src/trinity/eve/child/behaviors/InclusionVolume.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/InclusionVolume.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/InclusionVolume.cpp\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { ProcessPriority } from \"./enums.js\";\r\n\r\n// Module scratch for the per-agent loop (behavior updates run sequentially).\r\nconst FORCE = vec3.create();\r\nconst NORMALIZED_FORCE = vec3.create();\r\nconst FORCE_OFFSET = vec3.create();\r\nconst NO_FORCES = [];\r\n\r\n/**\r\n * Drone behavior that pulls agents back toward the inclusion volumes once they\r\n * drift into the falloff shell; agents fully inside feel no force.\r\n */\r\n@type.define({ className: \"InclusionVolume\", family: \"eve/child/behaviors\" })\r\nexport class InclusionVolume extends CjsModel\r\n{\r\n\r\n static ProcessPriority = ProcessPriority;\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n @type.enum(\"ProcessPriority\")\r\n behaviorPriority = 0;\r\n\r\n /** m_inclusionVolumes (PIEveVolumeVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"IEveVolume\")\r\n inclusionVolumes = [];\r\n\r\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n behaviorWeight = 60;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n /** m_framesBetweenUpdates (int32_t) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.int32\r\n framesBetweenUpdates = 11;\r\n\r\n // Per-frame cache of the inclusion volume centres, prefetched so the\r\n // per-agent loop stays allocation-free.\r\n #volumeCenters = [];\r\n\r\n #returnForces = [];\r\n\r\n /** Carbon InclusionVolume::GetProcessPriority (cpp:21-24). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /**\r\n * Pulls each agent back toward the inclusion volumes when it drifts into\r\n * their falloff shell; fully-inside agents feel no force (Carbon\r\n * CalculateBehavior, cpp:26-69).\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array|null} _scratchData - unused (no scratch)\r\n * @param {Number} _deltaTime\r\n * @param {Object} group - owning BehaviorGroup\r\n * @param {Object} _system - owning EveChildBehaviorSystem\r\n * @param {Array} _dronesInSearchRadius - unused\r\n * @returns {Array} debug force pairs when group.collectForces is on\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon pushes a debug force pair for every agent unconditionally; the JS port collects them only when group.collectForces is set to keep the per-agent loop allocation-free.\")\r\n CalculateBehavior(agents, _scratchData, _deltaTime, group, _system, _dronesInSearchRadius)\r\n {\r\n if (!this.enabled)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n const returnForces = this.#returnForces;\r\n returnForces.length = 0;\r\n\r\n const centers = this.#volumeCenters;\r\n centers.length = 0;\n for (const volume of this.inclusionVolumes)\n {\n centers.push(volume.GetBoundingSphere().center);\n }\r\n\r\n for (const agent of agents)\r\n {\r\n vec3.set(FORCE, 0, 0, 0);\r\n vec3.set(NORMALIZED_FORCE, 0, 0, 0);\r\n\r\n for (let i = 0; i < this.inclusionVolumes.length; i++)\r\n {\r\n const status = Number(this.inclusionVolumes[i].GetIntensity(agent.position));\n\r\n if (status === 1)\r\n {\r\n vec3.set(FORCE, 0, 0, 0);\r\n vec3.set(NORMALIZED_FORCE, 0, 0, 0);\r\n break;\r\n }\r\n else if (status > 0 && centers[i])\r\n {\r\n vec3.subtract(NORMALIZED_FORCE, centers[i], agent.position);\r\n vec3.normalize(NORMALIZED_FORCE, NORMALIZED_FORCE);\r\n vec3.scale(FORCE, NORMALIZED_FORCE, this.behaviorWeight);\r\n }\r\n }\r\n\r\n vec3.add(agent.acceleration, agent.acceleration, FORCE);\r\n\r\n if (group.collectForces)\r\n {\r\n vec3.scale(FORCE_OFFSET, NORMALIZED_FORCE, group.GetBoundingSphereRadius());\r\n returnForces.push(vec3.add(vec3.create(), agent.position, FORCE_OFFSET));\r\n returnForces.push(vec3.clone(FORCE));\r\n }\r\n }\r\n return returnForces;\r\n }\r\n\r\n /** Adds Carbon's inclusion-volume debug option. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2DebugRendererOptions is represented by an injected Set-like option bag.\")\r\n GetDebugOptions(options = new Set())\r\n {\r\n if (options?.add)\r\n {\r\n options.add(\"InclusionVolumes\");\r\n }\r\n else\r\n {\r\n options?.insert?.(\"InclusionVolumes\");\r\n }\r\n return options;\r\n }\r\n\r\n /** Delegates inclusion-volume debug geometry when its option is enabled. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"ITr2DebugRenderer2 is an injected engine-owned capability.\")\r\n RenderDebugInfo(renderer, _agents, parentWorldLocation)\r\n {\r\n if (!renderer?.HasOption?.(this, \"InclusionVolumes\"))\r\n {\r\n return;\r\n }\n for (const volume of this.inclusionVolumes)\n {\n volume.RenderDebugInfo(renderer, parentWorldLocation);\n }\n }\r\n\r\n}\r\n"],"names":["FORCE","vec3","create","NORMALIZED_FORCE","FORCE_OFFSET","NO_FORCES","_InclusionVolume","_identity","InclusionVolume","CjsModel","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_inclusionVolumes","_init_extra_inclusionVolumes","_init_behaviorWeight","_init_extra_behaviorWeight","_init_enabled","_init_extra_enabled","_init_framesBetweenUpdates","_init_extra_framesBetweenUpdates","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","enum","list","float32","boolean","carbon","method","impl","implemented","adapted","reason","behaviorPriority","inclusionVolumes","behaviorWeight","enabled","framesBetweenUpdates","GetProcessPriority","CalculateBehavior","agents","_scratchData","_deltaTime","group","_system","_dronesInSearchRadius","returnForces","length","centers","volume","push","GetBoundingSphere","center","agent","set","i","status","Number","GetIntensity","position","subtract","normalize","scale","add","acceleration","collectForces","GetBoundingSphereRadius","clone","GetDebugOptions","options","Set","insert","RenderDebugInfo","renderer","_agents","parentWorldLocation","HasOption","ProcessPriority","constructor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"InclusionVolume.js","sources":["../../../../../../src/trinity/eve/child/behaviors/InclusionVolume.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/InclusionVolume.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/InclusionVolume.cpp\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { ProcessPriority } from \"./enums.js\";\r\n\r\n// Module scratch for the per-agent loop (behavior updates run sequentially).\r\nconst FORCE = vec3.create();\r\nconst NORMALIZED_FORCE = vec3.create();\r\nconst FORCE_OFFSET = vec3.create();\r\nconst NO_FORCES = [];\r\n\r\n/**\r\n * Drone behavior that pulls agents back toward the inclusion volumes once they\r\n * drift into the falloff shell; agents fully inside feel no force.\r\n */\r\n@type.define({ className: \"InclusionVolume\", family: \"eve/child/behaviors\" })\r\nexport class InclusionVolume extends CjsModel\r\n{\r\n\r\n static ProcessPriority = ProcessPriority;\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @edit.notify\r\n @edit.persist\r\n @type.int32\r\n @type.enum(\"ProcessPriority\")\r\n behaviorPriority = 0;\r\n\r\n /** m_inclusionVolumes (PIEveVolumeVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"IEveVolume\")\r\n inclusionVolumes = [];\r\n\r\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n behaviorWeight = 60;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n /** m_framesBetweenUpdates (int32_t) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.int32\r\n framesBetweenUpdates = 11;\r\n\r\n // Per-frame cache of the inclusion volume centres, prefetched so the\r\n // per-agent loop stays allocation-free.\r\n #volumeCenters = [];\r\n\r\n #returnForces = [];\r\n\r\n /** Carbon InclusionVolume::GetProcessPriority (cpp:21-24). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /**\r\n * Pulls each agent back toward the inclusion volumes when it drifts into\r\n * their falloff shell; fully-inside agents feel no force (Carbon\r\n * CalculateBehavior, cpp:26-69).\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array|null} _scratchData - unused (no scratch)\r\n * @param {Number} _deltaTime\r\n * @param {Object} group - owning BehaviorGroup\r\n * @param {Object} _system - owning EveChildBehaviorSystem\r\n * @param {Array} _dronesInSearchRadius - unused\r\n * @returns {Array} debug force pairs when group.collectForces is on\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon pushes a debug force pair for every agent unconditionally; the JS port collects them only when group.collectForces is set to keep the per-agent loop allocation-free.\")\r\n CalculateBehavior(agents, _scratchData, _deltaTime, group, _system, _dronesInSearchRadius)\r\n {\r\n if (!this.enabled)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n const returnForces = this.#returnForces;\r\n returnForces.length = 0;\r\n\r\n const centers = this.#volumeCenters;\r\n centers.length = 0;\n for (const volume of this.inclusionVolumes)\n {\n centers.push(volume.GetBoundingSphere().center);\n }\r\n\r\n for (const agent of agents)\r\n {\r\n vec3.set(FORCE, 0, 0, 0);\r\n vec3.set(NORMALIZED_FORCE, 0, 0, 0);\r\n\r\n for (let i = 0; i < this.inclusionVolumes.length; i++)\r\n {\r\n const status = Number(this.inclusionVolumes[i].GetIntensity(agent.position));\n\r\n if (status === 1)\r\n {\r\n vec3.set(FORCE, 0, 0, 0);\r\n vec3.set(NORMALIZED_FORCE, 0, 0, 0);\r\n break;\r\n }\r\n else if (status > 0 && centers[i])\r\n {\r\n vec3.subtract(NORMALIZED_FORCE, centers[i], agent.position);\r\n vec3.normalize(NORMALIZED_FORCE, NORMALIZED_FORCE);\r\n vec3.scale(FORCE, NORMALIZED_FORCE, this.behaviorWeight);\r\n }\r\n }\r\n\r\n vec3.add(agent.acceleration, agent.acceleration, FORCE);\r\n\r\n if (group.collectForces)\r\n {\r\n vec3.scale(FORCE_OFFSET, NORMALIZED_FORCE, group.GetBoundingSphereRadius());\r\n returnForces.push(vec3.add(vec3.create(), agent.position, FORCE_OFFSET));\r\n returnForces.push(vec3.clone(FORCE));\r\n }\r\n }\r\n return returnForces;\r\n }\r\n\r\n /** Adds Carbon's inclusion-volume debug option. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Tr2DebugRendererOptions is represented by an injected Set-like option bag.\")\r\n GetDebugOptions(options = new Set())\r\n {\r\n if (options?.add)\r\n {\r\n options.add(\"InclusionVolumes\");\r\n }\r\n else\r\n {\r\n options?.insert?.(\"InclusionVolumes\");\r\n }\r\n return options;\r\n }\r\n\r\n /** Delegates inclusion-volume debug geometry when its option is enabled. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"ITr2DebugRenderer2 is an injected engine-owned capability.\")\r\n RenderDebugInfo(renderer, _agents, parentWorldLocation)\r\n {\r\n if (!renderer?.HasOption?.(this, \"InclusionVolumes\"))\r\n {\r\n return;\r\n }\n for (const volume of this.inclusionVolumes)\n {\n volume.RenderDebugInfo(renderer, parentWorldLocation);\n }\n }\r\n\r\n}\r\n"],"names":["FORCE","vec3","create","NORMALIZED_FORCE","FORCE_OFFSET","NO_FORCES","_InclusionVolume","_identity","InclusionVolume","CjsModel","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_inclusionVolumes","_init_extra_inclusionVolumes","_init_behaviorWeight","_init_extra_behaviorWeight","_init_enabled","_init_extra_enabled","_init_framesBetweenUpdates","_init_extra_framesBetweenUpdates","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","notify","persist","int32","enum","list","float32","boolean","carbon","method","impl","implemented","adapted","reason","behaviorPriority","inclusionVolumes","behaviorWeight","enabled","framesBetweenUpdates","GetProcessPriority","CalculateBehavior","agents","_scratchData","_deltaTime","group","_system","_dronesInSearchRadius","returnForces","length","centers","volume","push","GetBoundingSphere","center","agent","set","i","status","Number","GetIntensity","position","subtract","normalize","scale","add","acceleration","collectForces","GetBoundingSphereRadius","clone","GetDebugOptions","options","Set","insert","RenderDebugInfo","renderer","_agents","parentWorldLocation","HasOption","ProcessPriority","constructor"],"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';
|
|
@@ -32,7 +32,7 @@ class Inertia extends CjsModel {
|
|
|
32
32
|
} = _applyDecs2311(this, [type.define({
|
|
33
33
|
className: "Inertia",
|
|
34
34
|
family: "eve/child/behaviors"
|
|
35
|
-
})], [[[
|
|
35
|
+
})], [[[edit, edit.notify, edit, edit.persist, type, type.int32], 16, "behaviorPriority"], [[edit, edit.persist, type, type.float32], 16, "minInertiaWeight"], [[edit, edit.persist, type, type.float32], 16, "maxRotationSpeed"], [[edit, edit.persist, type, type.float32], 16, "maxAcceleration"], [[edit, edit.persist, type, type.boolean], 16, "enabled"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetProcessPriority"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.")], 18, "GetScratchMemorySize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.")], 18, "InitializeScratch"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon pushes the adjusted acceleration into the debug vector unconditionally; the JS port collects it only when group.collectForces is set to keep the per-agent loop allocation-free.")], 18, "CalculateBehavior"]], 0, void 0, CjsModel));
|
|
36
36
|
}
|
|
37
37
|
/** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */
|
|
38
38
|
behaviorPriority = (_initProto(this), _init_behaviorPriority(this, 0));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Inertia.js","sources":["../../../../../../src/trinity/eve/child/behaviors/Inertia.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/Inertia.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/Inertia.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\n\r\n// Module scratch for the per-agent loop (behavior updates run sequentially).\r\nconst LAST_ACCEL_NORMALIZED = vec3.create();\r\nconst ACCEL_NORMALIZED = vec3.create();\r\nconst ROTATION_AXIS = vec3.create();\r\nconst ROTATION_QUAT = quat.create();\r\nconst NO_FORCES = [];\r\n\r\n// Carbon ClampLength: in-place clamp of a vec3 to a maximum length.\r\nfunction ClampLength(value, maxLength)\r\n{\r\n const lengthSq = vec3.squaredLength(value);\r\n if (lengthSq > maxLength * maxLength && lengthSq > 0)\r\n {\r\n vec3.scale(value, value, maxLength / Math.sqrt(lengthSq));\r\n }\r\n return value;\r\n}\r\n\r\n/** A steering behaviour that smooths each agent's acceleration by rotating it toward the previous frame's direction at a limited angular speed and blending its magnitude toward the desired value. */\r\n@type.define({ className: \"Inertia\", family: \"eve/child/behaviors\" })\r\nexport class Inertia extends CjsModel\r\n{\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n behaviorPriority = 0;\r\n\r\n /** m_minInertiaWeight (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n minInertiaWeight = 0.1;\r\n\r\n /** m_maxRotationSpeed (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n maxRotationSpeed = 3.14;\r\n\r\n /** m_maxAcceleration (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n maxAcceleration = 60;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n #returnForces = [];\r\n\r\n /** Carbon Inertia::GetProcessPriority (cpp:20-23). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /** Per-agent scratch record count (Carbon sizeof(InertiaData)). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\r\n GetScratchMemorySize()\r\n {\r\n return 1;\r\n }\r\n\r\n /** Fresh per-agent scratch record (Carbon InertiaData placement init). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\r\n InitializeScratch()\r\n {\r\n return {\r\n agentAccel: vec3.create(),\r\n inertiaWeight: 0\r\n };\r\n }\r\n\r\n /**\r\n * Turns the accumulated acceleration toward last frame's direction at a\r\n * limited angular speed and blends its magnitude by the agent's remaining\r\n * headroom (Carbon CalculateBehavior, cpp:35-82).\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array} scratchData - per-agent InertiaData records\r\n * @param {Number} deltaTime\r\n * @param {Object} group - owning BehaviorGroup\r\n * @param {Object} _system - owning EveChildBehaviorSystem\r\n * @param {Array} _dronesInSearchRadius - unused\r\n * @returns {Array} debug forces when group.collectForces is on\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon pushes the adjusted acceleration into the debug vector unconditionally; the JS port collects it only when group.collectForces is set to keep the per-agent loop allocation-free.\")\r\n CalculateBehavior(agents, scratchData, deltaTime, group, _system, _dronesInSearchRadius)\r\n {\r\n if (!this.enabled)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n const returnForces = this.#returnForces;\r\n returnForces.length = 0;\r\n\r\n for (let c = 0; c < agents.length; c++)\r\n {\r\n const agent = agents[c];\r\n const data = scratchData?.[c];\r\n if (!data)\r\n {\r\n continue;\r\n }\r\n\r\n vec3.normalize(LAST_ACCEL_NORMALIZED, data.agentAccel);\r\n const lastAccelLength = vec3.length(data.agentAccel);\r\n vec3.normalize(ACCEL_NORMALIZED, agent.acceleration);\r\n const accelLength = vec3.length(agent.acceleration);\r\n\r\n if (vec3.squaredLength(LAST_ACCEL_NORMALIZED) !== 0 && this.maxRotationSpeed > 0)\r\n {\r\n vec3.cross(ROTATION_AXIS, LAST_ACCEL_NORMALIZED, ACCEL_NORMALIZED);\r\n vec3.normalize(ROTATION_AXIS, ROTATION_AXIS);\r\n if (vec3.length(ROTATION_AXIS) === 0)\r\n {\r\n vec3.set(ROTATION_AXIS, 0, 1, 0);\r\n }\r\n let angle = vec3.angle(LAST_ACCEL_NORMALIZED, ACCEL_NORMALIZED);\r\n const step = this.maxRotationSpeed * deltaTime;\r\n angle = Math.min(angle, step);\r\n if (angle > 0)\r\n {\r\n quat.setAxisAngle(ROTATION_QUAT, ROTATION_AXIS, angle);\r\n // Carbon rotates last frame's unit acceleration into the agent's\r\n // acceleration (TriVectorRotateQuaternion, cpp:65-67).\r\n vec3.transformQuat(agent.acceleration, LAST_ACCEL_NORMALIZED, ROTATION_QUAT);\r\n }\r\n\r\n const agentVelocityLength = vec3.length(agent.velocity);\r\n\r\n data.inertiaWeight = group.GetMaxVelocity() - agentVelocityLength;\r\n data.inertiaWeight = Math.min(Math.max(data.inertiaWeight, 0.1), group.GetMaxVelocity());\r\n\r\n const blended = lastAccelLength + (accelLength - lastAccelLength) * (data.inertiaWeight * deltaTime);\r\n vec3.normalize(agent.acceleration, agent.acceleration);\r\n vec3.scale(agent.acceleration, agent.acceleration, blended);\r\n ClampLength(agent.acceleration, this.maxAcceleration);\r\n\r\n if (group.collectForces)\r\n {\r\n returnForces.push(vec3.clone(agent.acceleration));\r\n }\r\n }\r\n vec3.copy(data.agentAccel, agent.acceleration);\r\n }\r\n return returnForces;\r\n }\r\n\r\n}\r\n"],"names":["LAST_ACCEL_NORMALIZED","vec3","create","ACCEL_NORMALIZED","ROTATION_AXIS","ROTATION_QUAT","quat","NO_FORCES","ClampLength","value","maxLength","lengthSq","squaredLength","scale","Math","sqrt","_Inertia","Inertia","CjsModel","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_minInertiaWeight","_init_extra_minInertiaWeight","_init_maxRotationSpeed","_init_extra_maxRotationSpeed","_init_maxAcceleration","_init_extra_maxAcceleration","_init_enabled","_init_extra_enabled","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","float32","boolean","carbon","method","impl","implemented","adapted","reason","behaviorPriority","minInertiaWeight","maxRotationSpeed","maxAcceleration","enabled","GetProcessPriority","GetScratchMemorySize","InitializeScratch","agentAccel","inertiaWeight","CalculateBehavior","agents","scratchData","deltaTime","group","_system","_dronesInSearchRadius","returnForces","length","agent","data","normalize","lastAccelLength","acceleration","accelLength","cross","set","angle","step","min","setAxisAngle","transformQuat","agentVelocityLength","velocity","GetMaxVelocity","max","blended","collectForces","push","clone","copy"],"mappings":";;;;;;;;AAQA;AACA,MAAMA,qBAAqB,GAAGC,IAAI,CAACC,MAAM,EAAE;AAC3C,MAAMC,gBAAgB,GAAGF,IAAI,CAACC,MAAM,EAAE;AACtC,MAAME,aAAa,GAAGH,IAAI,CAACC,MAAM,EAAE;AACnC,MAAMG,aAAa,GAAGC,IAAI,CAACJ,MAAM,EAAE;AACnC,MAAMK,SAAS,GAAG,EAAE;;AAEpB;AACA,SAASC,WAAWA,CAACC,KAAK,EAAEC,SAAS,EACrC;AACE,EAAA,MAAMC,QAAQ,GAAGV,IAAI,CAACW,aAAa,CAACH,KAAK,CAAC;EAC1C,IAAIE,QAAQ,GAAGD,SAAS,GAAGA,SAAS,IAAIC,QAAQ,GAAG,CAAC,EACpD;AACEV,IAAAA,IAAI,CAACY,KAAK,CAACJ,KAAK,EAAEA,KAAK,EAAEC,SAAS,GAAGI,IAAI,CAACC,IAAI,CAACJ,QAAQ,CAAC,CAAC;AAC3D,EAAA;AACA,EAAA,OAAOF,KAAK;AACd;;AAEA;AAAA,IAAAO;AACA,MAAAC,OAAA,SAC6BC,QAAQ,CACrC;AAAA,EAAA;AAAA,IAAA,CAAA;MAAAC,CAAA,EAAA,CAAAC,sBAAA,EAAAC,4BAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,sBAAA,EAAAC,4BAAA,EAAAC,qBAAA,EAAAC,2BAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAAf,QAAA,EAAAgB,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,SAAS;AAAEC,MAAAA,MAAM,EAAE;AAAsB,KAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAKlEC,EAAE,EAAFA,EAAE,CAACC,MAAM,EACTD,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACO,KAAK,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAIVH,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAIZJ,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAIZJ,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAIZJ,EAAE,EAAFA,EAAE,CAACE,OAAO,EACVN,IAAI,EAAJA,IAAI,CAACS,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CAMZC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAOhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,UACZF,IAAI,CAACG,MAAM,CAAC,kIAAkI,CAAC,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAO/IL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,8FAA8F,CAAC,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAqB3GL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,yLAAyL,CAAC,yCA1E5K/B,QAAQ,CAAA;AAAA;AAGnC;AAIAgC,EAAAA,gBAAgB,IAAApB,UAAA,CAAA,IAAA,CAAA,EAAAV,sBAAA,OAAG,CAAC,CAAA;;AAEpB;AAGA+B,EAAAA,gBAAgB,IAAA9B,4BAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,GAAG,CAAA;;AAEtB;AAGA8B,EAAAA,gBAAgB,IAAA7B,4BAAA,CAAA,IAAA,CAAA,EAAAC,sBAAA,OAAG,IAAI,CAAA;;AAEvB;AAGA6B,EAAAA,eAAe,IAAA5B,4BAAA,CAAA,IAAA,CAAA,EAAAC,qBAAA,OAAG,EAAE,CAAA;;AAEpB;AAGA4B,EAAAA,OAAO,IAAA3B,2BAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,IAAI,CAAA;AAEd,EAAA,aAAa,IAAAC,mBAAA,CAAA,IAAA,CAAA,EAAG,EAAE;;AAElB;AAGA0B,EAAAA,kBAAkBA,GAClB;IACE,OAAO,IAAI,CAACL,gBAAgB;AAC9B,EAAA;;AAEA;AAIAM,EAAAA,oBAAoBA,GACpB;AACE,IAAA,OAAO,CAAC;AACV,EAAA;;AAEA;AAIAC,EAAAA,iBAAiBA,GACjB;IACE,OAAO;AACLC,MAAAA,UAAU,EAAEzD,IAAI,CAACC,MAAM,EAAE;AACzByD,MAAAA,aAAa,EAAE;KAChB;AACH,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIEC,EAAAA,iBAAiBA,CAACC,MAAM,EAAEC,WAAW,EAAEC,SAAS,EAAEC,KAAK,EAAEC,OAAO,EAAEC,qBAAqB,EACvF;AACE,IAAA,IAAI,CAAC,IAAI,CAACZ,OAAO,EACjB;AACE,MAAA,OAAO/C,SAAS;AAClB,IAAA;AAEA,IAAA,MAAM4D,YAAY,GAAG,IAAI,CAAC,aAAa;IACvCA,YAAY,CAACC,MAAM,GAAG,CAAC;AAEvB,IAAA,KAAK,IAAIrC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG8B,MAAM,CAACO,MAAM,EAAErC,CAAC,EAAE,EACtC;AACE,MAAA,MAAMsC,KAAK,GAAGR,MAAM,CAAC9B,CAAC,CAAC;AACvB,MAAA,MAAMuC,IAAI,GAAGR,WAAW,GAAG/B,CAAC,CAAC;MAC7B,IAAI,CAACuC,IAAI,EACT;AACE,QAAA;AACF,MAAA;MAEArE,IAAI,CAACsE,SAAS,CAACvE,qBAAqB,EAAEsE,IAAI,CAACZ,UAAU,CAAC;MACtD,MAAMc,eAAe,GAAGvE,IAAI,CAACmE,MAAM,CAACE,IAAI,CAACZ,UAAU,CAAC;MACpDzD,IAAI,CAACsE,SAAS,CAACpE,gBAAgB,EAAEkE,KAAK,CAACI,YAAY,CAAC;MACpD,MAAMC,WAAW,GAAGzE,IAAI,CAACmE,MAAM,CAACC,KAAK,CAACI,YAAY,CAAC;AAEnD,MAAA,IAAIxE,IAAI,CAACW,aAAa,CAACZ,qBAAqB,CAAC,KAAK,CAAC,IAAI,IAAI,CAACoD,gBAAgB,GAAG,CAAC,EAChF;QACEnD,IAAI,CAAC0E,KAAK,CAACvE,aAAa,EAAEJ,qBAAqB,EAAEG,gBAAgB,CAAC;AAClEF,QAAAA,IAAI,CAACsE,SAAS,CAACnE,aAAa,EAAEA,aAAa,CAAC;QAC5C,IAAIH,IAAI,CAACmE,MAAM,CAAChE,aAAa,CAAC,KAAK,CAAC,EACpC;UACEH,IAAI,CAAC2E,GAAG,CAACxE,aAAa,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAClC,QAAA;QACA,IAAIyE,KAAK,GAAG5E,IAAI,CAAC4E,KAAK,CAAC7E,qBAAqB,EAAEG,gBAAgB,CAAC;AAC/D,QAAA,MAAM2E,IAAI,GAAG,IAAI,CAAC1B,gBAAgB,GAAGW,SAAS;QAC9Cc,KAAK,GAAG/D,IAAI,CAACiE,GAAG,CAACF,KAAK,EAAEC,IAAI,CAAC;QAC7B,IAAID,KAAK,GAAG,CAAC,EACb;UACEvE,IAAI,CAAC0E,YAAY,CAAC3E,aAAa,EAAED,aAAa,EAAEyE,KAAK,CAAC;AACtD;AACA;UACA5E,IAAI,CAACgF,aAAa,CAACZ,KAAK,CAACI,YAAY,EAAEzE,qBAAqB,EAAEK,aAAa,CAAC;AAC9E,QAAA;QAEA,MAAM6E,mBAAmB,GAAGjF,IAAI,CAACmE,MAAM,CAACC,KAAK,CAACc,QAAQ,CAAC;QAEvDb,IAAI,CAACX,aAAa,GAAGK,KAAK,CAACoB,cAAc,EAAE,GAAGF,mBAAmB;QACjEZ,IAAI,CAACX,aAAa,GAAG7C,IAAI,CAACiE,GAAG,CAACjE,IAAI,CAACuE,GAAG,CAACf,IAAI,CAACX,aAAa,EAAE,GAAG,CAAC,EAAEK,KAAK,CAACoB,cAAc,EAAE,CAAC;AAExF,QAAA,MAAME,OAAO,GAAGd,eAAe,GAAG,CAACE,WAAW,GAAGF,eAAe,KAAKF,IAAI,CAACX,aAAa,GAAGI,SAAS,CAAC;QACpG9D,IAAI,CAACsE,SAAS,CAACF,KAAK,CAACI,YAAY,EAAEJ,KAAK,CAACI,YAAY,CAAC;AACtDxE,QAAAA,IAAI,CAACY,KAAK,CAACwD,KAAK,CAACI,YAAY,EAAEJ,KAAK,CAACI,YAAY,EAAEa,OAAO,CAAC;QAC3D9E,WAAW,CAAC6D,KAAK,CAACI,YAAY,EAAE,IAAI,CAACpB,eAAe,CAAC;QAErD,IAAIW,KAAK,CAACuB,aAAa,EACvB;UACEpB,YAAY,CAACqB,IAAI,CAACvF,IAAI,CAACwF,KAAK,CAACpB,KAAK,CAACI,YAAY,CAAC,CAAC;AACnD,QAAA;AACF,MAAA;MACAxE,IAAI,CAACyF,IAAI,CAACpB,IAAI,CAACZ,UAAU,EAAEW,KAAK,CAACI,YAAY,CAAC;AAChD,IAAA;AACA,IAAA,OAAON,YAAY;AACrB,EAAA;AAAC,EAAA;IAAAnC,UAAA,EAAA;AAAA;AAEH;;;;"}
|
|
1
|
+
{"version":3,"file":"Inertia.js","sources":["../../../../../../src/trinity/eve/child/behaviors/Inertia.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/Inertia.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/Inertia.cpp\r\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\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\n\r\n// Module scratch for the per-agent loop (behavior updates run sequentially).\r\nconst LAST_ACCEL_NORMALIZED = vec3.create();\r\nconst ACCEL_NORMALIZED = vec3.create();\r\nconst ROTATION_AXIS = vec3.create();\r\nconst ROTATION_QUAT = quat.create();\r\nconst NO_FORCES = [];\r\n\r\n// Carbon ClampLength: in-place clamp of a vec3 to a maximum length.\r\nfunction ClampLength(value, maxLength)\r\n{\r\n const lengthSq = vec3.squaredLength(value);\r\n if (lengthSq > maxLength * maxLength && lengthSq > 0)\r\n {\r\n vec3.scale(value, value, maxLength / Math.sqrt(lengthSq));\r\n }\r\n return value;\r\n}\r\n\r\n/** A steering behaviour that smooths each agent's acceleration by rotating it toward the previous frame's direction at a limited angular speed and blending its magnitude toward the desired value. */\r\n@type.define({ className: \"Inertia\", family: \"eve/child/behaviors\" })\r\nexport class Inertia extends CjsModel\r\n{\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @edit.notify\r\n @edit.persist\r\n @type.int32\r\n behaviorPriority = 0;\r\n\r\n /** m_minInertiaWeight (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n minInertiaWeight = 0.1;\r\n\r\n /** m_maxRotationSpeed (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n maxRotationSpeed = 3.14;\r\n\r\n /** m_maxAcceleration (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n maxAcceleration = 60;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n #returnForces = [];\r\n\r\n /** Carbon Inertia::GetProcessPriority (cpp:20-23). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /** Per-agent scratch record count (Carbon sizeof(InertiaData)). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\r\n GetScratchMemorySize()\r\n {\r\n return 1;\r\n }\r\n\r\n /** Fresh per-agent scratch record (Carbon InertiaData placement init). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\r\n InitializeScratch()\r\n {\r\n return {\r\n agentAccel: vec3.create(),\r\n inertiaWeight: 0\r\n };\r\n }\r\n\r\n /**\r\n * Turns the accumulated acceleration toward last frame's direction at a\r\n * limited angular speed and blends its magnitude by the agent's remaining\r\n * headroom (Carbon CalculateBehavior, cpp:35-82).\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array} scratchData - per-agent InertiaData records\r\n * @param {Number} deltaTime\r\n * @param {Object} group - owning BehaviorGroup\r\n * @param {Object} _system - owning EveChildBehaviorSystem\r\n * @param {Array} _dronesInSearchRadius - unused\r\n * @returns {Array} debug forces when group.collectForces is on\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon pushes the adjusted acceleration into the debug vector unconditionally; the JS port collects it only when group.collectForces is set to keep the per-agent loop allocation-free.\")\r\n CalculateBehavior(agents, scratchData, deltaTime, group, _system, _dronesInSearchRadius)\r\n {\r\n if (!this.enabled)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n const returnForces = this.#returnForces;\r\n returnForces.length = 0;\r\n\r\n for (let c = 0; c < agents.length; c++)\r\n {\r\n const agent = agents[c];\r\n const data = scratchData?.[c];\r\n if (!data)\r\n {\r\n continue;\r\n }\r\n\r\n vec3.normalize(LAST_ACCEL_NORMALIZED, data.agentAccel);\r\n const lastAccelLength = vec3.length(data.agentAccel);\r\n vec3.normalize(ACCEL_NORMALIZED, agent.acceleration);\r\n const accelLength = vec3.length(agent.acceleration);\r\n\r\n if (vec3.squaredLength(LAST_ACCEL_NORMALIZED) !== 0 && this.maxRotationSpeed > 0)\r\n {\r\n vec3.cross(ROTATION_AXIS, LAST_ACCEL_NORMALIZED, ACCEL_NORMALIZED);\r\n vec3.normalize(ROTATION_AXIS, ROTATION_AXIS);\r\n if (vec3.length(ROTATION_AXIS) === 0)\r\n {\r\n vec3.set(ROTATION_AXIS, 0, 1, 0);\r\n }\r\n let angle = vec3.angle(LAST_ACCEL_NORMALIZED, ACCEL_NORMALIZED);\r\n const step = this.maxRotationSpeed * deltaTime;\r\n angle = Math.min(angle, step);\r\n if (angle > 0)\r\n {\r\n quat.setAxisAngle(ROTATION_QUAT, ROTATION_AXIS, angle);\r\n // Carbon rotates last frame's unit acceleration into the agent's\r\n // acceleration (TriVectorRotateQuaternion, cpp:65-67).\r\n vec3.transformQuat(agent.acceleration, LAST_ACCEL_NORMALIZED, ROTATION_QUAT);\r\n }\r\n\r\n const agentVelocityLength = vec3.length(agent.velocity);\r\n\r\n data.inertiaWeight = group.GetMaxVelocity() - agentVelocityLength;\r\n data.inertiaWeight = Math.min(Math.max(data.inertiaWeight, 0.1), group.GetMaxVelocity());\r\n\r\n const blended = lastAccelLength + (accelLength - lastAccelLength) * (data.inertiaWeight * deltaTime);\r\n vec3.normalize(agent.acceleration, agent.acceleration);\r\n vec3.scale(agent.acceleration, agent.acceleration, blended);\r\n ClampLength(agent.acceleration, this.maxAcceleration);\r\n\r\n if (group.collectForces)\r\n {\r\n returnForces.push(vec3.clone(agent.acceleration));\r\n }\r\n }\r\n vec3.copy(data.agentAccel, agent.acceleration);\r\n }\r\n return returnForces;\r\n }\r\n\r\n}\r\n"],"names":["LAST_ACCEL_NORMALIZED","vec3","create","ACCEL_NORMALIZED","ROTATION_AXIS","ROTATION_QUAT","quat","NO_FORCES","ClampLength","value","maxLength","lengthSq","squaredLength","scale","Math","sqrt","_Inertia","Inertia","CjsModel","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_minInertiaWeight","_init_extra_minInertiaWeight","_init_maxRotationSpeed","_init_extra_maxRotationSpeed","_init_maxAcceleration","_init_extra_maxAcceleration","_init_enabled","_init_extra_enabled","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","notify","persist","int32","float32","boolean","carbon","method","impl","implemented","adapted","reason","behaviorPriority","minInertiaWeight","maxRotationSpeed","maxAcceleration","enabled","GetProcessPriority","GetScratchMemorySize","InitializeScratch","agentAccel","inertiaWeight","CalculateBehavior","agents","scratchData","deltaTime","group","_system","_dronesInSearchRadius","returnForces","length","agent","data","normalize","lastAccelLength","acceleration","accelLength","cross","set","angle","step","min","setAxisAngle","transformQuat","agentVelocityLength","velocity","GetMaxVelocity","max","blended","collectForces","push","clone","copy"],"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 { EveEntity as _EveEntity } from '../../EveEntity.js';
|
|
4
4
|
import { vec3 } from '#math/vec3';
|
|
5
5
|
|
|
@@ -21,7 +21,7 @@ class PlayFX extends _EveEntity {
|
|
|
21
21
|
} = _applyDecs2311(this, [type.define({
|
|
22
22
|
className: "PlayFX",
|
|
23
23
|
family: "eve/child/behaviors"
|
|
24
|
-
})], [[[
|
|
24
|
+
})], [[[edit, edit.notify, edit, edit.persist, type, type.int32], 16, "behaviorPriority"], [[edit, edit.persist, type, type.float32], 16, "behaviorWeight"], [[edit, edit.persist, void 0, type.model("IEveFiringEffectElement")], 16, "firingEffect"], [[edit, edit.read, void 0, type.list("IEveFiringEffectElement")], 16, "generatedFiringEffects"], [[edit, edit.persist, type, type.int32], 16, "sec"], [[edit, edit.persist, type, type.boolean], 16, "enabled"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetProcessPriority"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetBehaviorName"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.")], 18, "GetScratchMemorySize"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.")], 18, "InitializeScratch"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateState"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's Be::Time 100ns clock maps to Date.now seconds against agent.fxStartTime.")], 18, "CalculateBehavior"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateAsyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "GetRenderables"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.noop], 18, "RegisterWithQuadRenderer"], [[carbon, carbon.method, impl, impl.noop], 18, "AddQuadsToQuadRenderer"]], 0, void 0, _EveEntity));
|
|
25
25
|
}
|
|
26
26
|
/** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */
|
|
27
27
|
behaviorPriority = (_initProto(this), _init_behaviorPriority(this, 0));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PlayFX.js","sources":["../../../../../../src/trinity/eve/child/behaviors/PlayFX.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/PlayFX.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/PlayFX.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { EveEntity } from \"../../EveEntity.js\";\r\nimport { vec3 } from \"#math/vec3\";\r\n\r\n// Module scratch for the per-agent loop (behavior updates run sequentially).\r\nconst OFFSET_EFFECT = vec3.create();\r\nconst OFFSET_EFFECT_WS = vec3.create();\r\nconst AGENT_TARGET_WS = vec3.create();\r\nconst NO_FORCES = [];\r\n\r\n/** A steering-group behaviour that clones, aims, and starts or stops a firing effect on each drone as it arrives at and departs from its target. */\r\n@type.define({ className: \"PlayFX\", family: \"eve/child/behaviors\" })\r\nexport class PlayFX extends EveEntity\r\n{\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n behaviorPriority = 0;\r\n\r\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n behaviorWeight = 20;\r\n\r\n /** m_firingEffect (IEveFiringEffectElementPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"IEveFiringEffectElement\")\r\n firingEffect = null;\r\n\r\n /** m_firingEffects (PIEveFiringEffectElementVector) [READ] */\r\n @io.read\r\n @type.list(\"IEveFiringEffectElement\")\r\n generatedFiringEffects = [];\r\n\r\n /** m_sec (int32_t) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.int32\r\n sec = 1;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n // Carbon m_count/m_stop runtime state.\r\n #count = 0;\r\n\r\n #stop = false;\r\n\r\n /** Carbon PlayFX::GetProcessPriority (cpp:25-28). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /** Carbon PlayFX::GetBehaviorName (cpp:30-33). */\r\n @carbon.method\r\n @impl.implemented\r\n GetBehaviorName()\r\n {\r\n return \"PlayFX\";\r\n }\r\n\r\n /** Per-agent scratch record count (Carbon sizeof(PlayFXData)). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\r\n GetScratchMemorySize()\r\n {\r\n return 1;\r\n }\r\n\r\n /** Fresh per-agent scratch record (Carbon PlayFXData placement init). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\r\n InitializeScratch()\r\n {\r\n return {\r\n effectPlaying: false,\r\n droneArrived: false,\r\n oldTarget: vec3.create()\r\n };\r\n }\r\n\r\n /** Carbon IBehavior::UpdateState override (h:55-58). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateState(state)\r\n {\r\n this.#stop = !!state;\r\n }\r\n\r\n /**\r\n * Drives one cloned firing effect per agent: starts firing when the agent\r\n * arrives (agent.playFX), aims it in world space, and stops it after m_sec\r\n * seconds (Carbon CalculateBehavior, cpp:45-139).\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array} scratchData - per-agent PlayFXData records\r\n * @param {Number} _deltaTime\r\n * @param {Object} group - owning BehaviorGroup\r\n * @param {Object} system - owning EveChildBehaviorSystem\r\n * @param {Array} _dronesInSearchRadius - unused\r\n * @returns {Array} empty (as Carbon)\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's Be::Time 100ns clock maps to Date.now seconds against agent.fxStartTime.\")\n CalculateBehavior(agents, scratchData, _deltaTime, group, system, _dronesInSearchRadius)\r\n {\r\n if (this.behaviorWeight <= 0 || !this.enabled)\r\n {\r\n for (const fx of this.generatedFiringEffects)\n {\n if (!fx) continue;\n fx.StopFiring();\n }\r\n return NO_FORCES;\r\n }\r\n\r\n if (this.firingEffect === null)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n // If the drone count is 0 the count is not updated so this is needed\r\n if (this.generatedFiringEffects.length === 0)\r\n {\r\n this.#count = 0;\r\n }\r\n\r\n if (this.#count !== agents.length)\r\n {\r\n this.#CheckCount(agents.length);\r\n }\r\n\r\n const worldTransform = system.GetWorldTransform();\r\n const limit = Math.min(agents.length, this.generatedFiringEffects.length);\r\n\r\n // This behavior activates when the drone has arrived near its locator\r\n for (let c = 0; c < limit; c++)\r\n {\r\n const agent = agents[c];\r\n const firingEffect = this.generatedFiringEffects[c];\r\n const data = scratchData?.[c];\r\n if (!data || !firingEffect)\r\n {\r\n continue;\r\n }\r\n\r\n if (this.#stop)\r\n {\r\n data.droneArrived = false;\r\n }\r\n\r\n // Make sure the effect isn't showing when loading everything up\r\n if (data.droneArrived === false)\n {\n firingEffect.SetDisplay(false);\n }\r\n\r\n // Drone has arrived at its target so play the effect\r\n if (agent.playFX && !data.effectPlaying)\r\n {\r\n if (data.droneArrived === false)\r\n {\r\n data.droneArrived = true;\r\n firingEffect.SetDisplay(true);\n }\r\n\r\n firingEffect.StartFiring(0);\n data.effectPlaying = true;\r\n }\r\n\r\n vec3.normalize(OFFSET_EFFECT, agent.targetDirection);\r\n vec3.scale(OFFSET_EFFECT, OFFSET_EFFECT, group.GetBoundingSphereRadius());\r\n vec3.add(OFFSET_EFFECT, OFFSET_EFFECT, agent.position);\r\n\r\n // Set the effect's pos to world space\r\n vec3.transformMat4(OFFSET_EFFECT_WS, OFFSET_EFFECT, worldTransform);\r\n\r\n // Without this the drone would start shooting at the new target because\r\n // of the cooldown of the effect\r\n if (vec3.squaredLength(data.oldTarget) !== 0)\r\n {\r\n firingEffect.SetFiringTransform(OFFSET_EFFECT_WS, data.oldTarget);\n }\r\n\r\n if (data.effectPlaying)\r\n {\r\n vec3.transformMat4(AGENT_TARGET_WS, agent.target, worldTransform);\r\n firingEffect.SetFiringTransform(OFFSET_EFFECT_WS, AGENT_TARGET_WS);\n\r\n const elapsed = Date.now() / 1000 - agent.fxStartTime;\r\n if (elapsed > this.sec)\r\n {\r\n firingEffect.StopFiring();\n data.effectPlaying = false;\r\n agent.playFX = false;\r\n vec3.copy(data.oldTarget, AGENT_TARGET_WS);\r\n vec3.set(agent.target, 0, 0, 0);\r\n }\r\n }\r\n }\r\n\r\n return NO_FORCES;\r\n }\r\n\r\n /** Carbon PlayFX::UpdateAsyncronous (cpp:141-148). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateAsyncronous(updateContext, parentTransform)\r\n {\r\n for (const fx of this.generatedFiringEffects)\n {\n if (!fx) continue;\n fx.UpdateEffectAsync(updateContext);\n fx.UpdateVisibility(updateContext, parentTransform);\n }\r\n }\r\n\r\n /** Carbon PlayFX::UpdateSyncronous (cpp:150-156). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSyncronous(updateContext)\r\n {\r\n for (const fx of this.generatedFiringEffects)\n {\n if (!fx) continue;\n fx.UpdateEffectSync(updateContext);\n }\r\n }\r\n\r\n /** Carbon PlayFX::GetRenderables (cpp:158-164). */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(renderables = [])\r\n {\r\n for (const fx of this.generatedFiringEffects)\n {\n if (!fx) continue;\n fx.GetRenderables(renderables);\n }\r\n return renderables;\r\n }\r\n\r\n /** Carbon PlayFX::RegisterComponents (cpp:202-215). */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const fx of this.generatedFiringEffects)\r\n {\r\n fx?.Register(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon PlayFX::UnRegisterComponents (cpp:217-230). */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const fx of this.generatedFiringEffects)\r\n {\r\n fx?.UnRegister(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon method RegisterWithQuadRenderer (cpp:239-245) - quad renderer\r\n * registration seam; the firing effect elements own the real quads. */\r\n @carbon.method\r\n @impl.noop\r\n RegisterWithQuadRenderer(_quadRenderer)\r\n {\r\n }\r\n\r\n /** Carbon method AddQuadsToQuadRenderer (cpp:253-259) - quad renderer\r\n * submission seam; the firing effect elements own the real quads. */\r\n @carbon.method\r\n @impl.noop\r\n AddQuadsToQuadRenderer(_frustum, _quadRenderer)\r\n {\r\n }\r\n\r\n // Grows or shrinks the cloned firing-effect list to the agent count (Carbon\r\n // CheckCount, cpp:262-299; BeClasses->CloneTo maps to CjsModel.Clone).\r\n /**\r\n * Grows or shrinks the cloned firing-effect list to match the agent count, cloning the configured effect for new agents and dropping the excess.\r\n */\r\n #CheckCount(agentSize)\r\n {\r\n if (this.#count > agentSize)\r\n {\r\n const diff = this.#count - agentSize;\r\n for (let i = 0; i < diff; i++)\r\n {\r\n this.generatedFiringEffects.pop();\r\n }\r\n this.#count = agentSize;\r\n }\r\n else if (agentSize > this.#count)\r\n {\r\n if (this.firingEffect === null)\r\n {\r\n return;\r\n }\r\n\r\n const diff = agentSize - this.#count;\r\n for (let i = 0; i < diff; i++)\r\n {\r\n const newFx = this.firingEffect.Clone?.();\r\n if (!newFx)\r\n {\r\n return;\r\n }\r\n this.generatedFiringEffects.push(newFx);\r\n }\r\n this.#count = agentSize;\r\n }\r\n }\r\n\r\n}\r\n"],"names":["OFFSET_EFFECT","vec3","create","OFFSET_EFFECT_WS","AGENT_TARGET_WS","NO_FORCES","_PlayFX","PlayFX","EveEntity","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_behaviorWeight","_init_extra_behaviorWeight","_init_firingEffect","_init_extra_firingEffect","_init_generatedFiringEffects","_init_extra_generatedFiringEffects","_init_sec","_init_extra_sec","_init_enabled","_init_extra_enabled","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","float32","model","read","list","boolean","carbon","method","impl","implemented","adapted","reason","noop","behaviorPriority","behaviorWeight","firingEffect","generatedFiringEffects","sec","enabled","GetProcessPriority","GetBehaviorName","GetScratchMemorySize","InitializeScratch","effectPlaying","droneArrived","oldTarget","UpdateState","state","CalculateBehavior","agents","scratchData","_deltaTime","group","system","_dronesInSearchRadius","fx","StopFiring","length","worldTransform","GetWorldTransform","limit","Math","min","agent","data","SetDisplay","playFX","StartFiring","normalize","targetDirection","scale","GetBoundingSphereRadius","add","position","transformMat4","squaredLength","SetFiringTransform","target","elapsed","Date","now","fxStartTime","copy","set","UpdateAsyncronous","updateContext","parentTransform","UpdateEffectAsync","UpdateVisibility","UpdateSyncronous","UpdateEffectSync","GetRenderables","renderables","RegisterComponents","registry","GetComponentRegistry","Register","UnRegisterComponents","UnRegister","RegisterWithQuadRenderer","_quadRenderer","AddQuadsToQuadRenderer","_frustum","#CheckCount","agentSize","diff","i","pop","newFx","Clone","push"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"PlayFX.js","sources":["../../../../../../src/trinity/eve/child/behaviors/PlayFX.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/Behaviors/PlayFX.h\n// trinity/trinity/Eve/SpaceObject/Children/Behaviors/PlayFX.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { EveEntity } from \"../../EveEntity.js\";\r\nimport { vec3 } from \"#math/vec3\";\r\n\r\n// Module scratch for the per-agent loop (behavior updates run sequentially).\r\nconst OFFSET_EFFECT = vec3.create();\r\nconst OFFSET_EFFECT_WS = vec3.create();\r\nconst AGENT_TARGET_WS = vec3.create();\r\nconst NO_FORCES = [];\r\n\r\n/** A steering-group behaviour that clones, aims, and starts or stops a firing effect on each drone as it arrives at and departs from its target. */\r\n@type.define({ className: \"PlayFX\", family: \"eve/child/behaviors\" })\r\nexport class PlayFX extends EveEntity\r\n{\r\n\r\n /** m_priority (int32_t) [READWRITE, PERSIST, NOTIFY, ENUM] */\r\n @edit.notify\r\n @edit.persist\r\n @type.int32\r\n behaviorPriority = 0;\r\n\r\n /** m_behaviorWeight (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n behaviorWeight = 20;\r\n\r\n /** m_firingEffect (IEveFiringEffectElementPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"IEveFiringEffectElement\")\r\n firingEffect = null;\r\n\r\n /** m_firingEffects (PIEveFiringEffectElementVector) [READ] */\r\n @edit.read\r\n @type.list(\"IEveFiringEffectElement\")\r\n generatedFiringEffects = [];\r\n\r\n /** m_sec (int32_t) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.int32\r\n sec = 1;\r\n\r\n /** m_enabled (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n enabled = true;\r\n\r\n // Carbon m_count/m_stop runtime state.\r\n #count = 0;\r\n\r\n #stop = false;\r\n\r\n /** Carbon PlayFX::GetProcessPriority (cpp:25-28). */\r\n @carbon.method\r\n @impl.implemented\r\n GetProcessPriority()\r\n {\r\n return this.behaviorPriority;\r\n }\r\n\r\n /** Carbon PlayFX::GetBehaviorName (cpp:30-33). */\r\n @carbon.method\r\n @impl.implemented\r\n GetBehaviorName()\r\n {\r\n return \"PlayFX\";\r\n }\r\n\r\n /** Per-agent scratch record count (Carbon sizeof(PlayFXData)). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon returns a byte size; the JS port models scratch as one plain record per agent, so any non-zero value means 'has scratch'.\")\r\n GetScratchMemorySize()\r\n {\r\n return 1;\r\n }\r\n\r\n /** Fresh per-agent scratch record (Carbon PlayFXData placement init). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon initializes caller-provided raw memory; the JS port returns the fresh record instead.\")\r\n InitializeScratch()\r\n {\r\n return {\r\n effectPlaying: false,\r\n droneArrived: false,\r\n oldTarget: vec3.create()\r\n };\r\n }\r\n\r\n /** Carbon IBehavior::UpdateState override (h:55-58). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateState(state)\r\n {\r\n this.#stop = !!state;\r\n }\r\n\r\n /**\r\n * Drives one cloned firing effect per agent: starts firing when the agent\r\n * arrives (agent.playFX), aims it in world space, and stops it after m_sec\r\n * seconds (Carbon CalculateBehavior, cpp:45-139).\r\n * @param {Array} agents - DroneAgent records\r\n * @param {Array} scratchData - per-agent PlayFXData records\r\n * @param {Number} _deltaTime\r\n * @param {Object} group - owning BehaviorGroup\r\n * @param {Object} system - owning EveChildBehaviorSystem\r\n * @param {Array} _dronesInSearchRadius - unused\r\n * @returns {Array} empty (as Carbon)\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's Be::Time 100ns clock maps to Date.now seconds against agent.fxStartTime.\")\n CalculateBehavior(agents, scratchData, _deltaTime, group, system, _dronesInSearchRadius)\r\n {\r\n if (this.behaviorWeight <= 0 || !this.enabled)\r\n {\r\n for (const fx of this.generatedFiringEffects)\n {\n if (!fx) continue;\n fx.StopFiring();\n }\r\n return NO_FORCES;\r\n }\r\n\r\n if (this.firingEffect === null)\r\n {\r\n return NO_FORCES;\r\n }\r\n\r\n // If the drone count is 0 the count is not updated so this is needed\r\n if (this.generatedFiringEffects.length === 0)\r\n {\r\n this.#count = 0;\r\n }\r\n\r\n if (this.#count !== agents.length)\r\n {\r\n this.#CheckCount(agents.length);\r\n }\r\n\r\n const worldTransform = system.GetWorldTransform();\r\n const limit = Math.min(agents.length, this.generatedFiringEffects.length);\r\n\r\n // This behavior activates when the drone has arrived near its locator\r\n for (let c = 0; c < limit; c++)\r\n {\r\n const agent = agents[c];\r\n const firingEffect = this.generatedFiringEffects[c];\r\n const data = scratchData?.[c];\r\n if (!data || !firingEffect)\r\n {\r\n continue;\r\n }\r\n\r\n if (this.#stop)\r\n {\r\n data.droneArrived = false;\r\n }\r\n\r\n // Make sure the effect isn't showing when loading everything up\r\n if (data.droneArrived === false)\n {\n firingEffect.SetDisplay(false);\n }\r\n\r\n // Drone has arrived at its target so play the effect\r\n if (agent.playFX && !data.effectPlaying)\r\n {\r\n if (data.droneArrived === false)\r\n {\r\n data.droneArrived = true;\r\n firingEffect.SetDisplay(true);\n }\r\n\r\n firingEffect.StartFiring(0);\n data.effectPlaying = true;\r\n }\r\n\r\n vec3.normalize(OFFSET_EFFECT, agent.targetDirection);\r\n vec3.scale(OFFSET_EFFECT, OFFSET_EFFECT, group.GetBoundingSphereRadius());\r\n vec3.add(OFFSET_EFFECT, OFFSET_EFFECT, agent.position);\r\n\r\n // Set the effect's pos to world space\r\n vec3.transformMat4(OFFSET_EFFECT_WS, OFFSET_EFFECT, worldTransform);\r\n\r\n // Without this the drone would start shooting at the new target because\r\n // of the cooldown of the effect\r\n if (vec3.squaredLength(data.oldTarget) !== 0)\r\n {\r\n firingEffect.SetFiringTransform(OFFSET_EFFECT_WS, data.oldTarget);\n }\r\n\r\n if (data.effectPlaying)\r\n {\r\n vec3.transformMat4(AGENT_TARGET_WS, agent.target, worldTransform);\r\n firingEffect.SetFiringTransform(OFFSET_EFFECT_WS, AGENT_TARGET_WS);\n\r\n const elapsed = Date.now() / 1000 - agent.fxStartTime;\r\n if (elapsed > this.sec)\r\n {\r\n firingEffect.StopFiring();\n data.effectPlaying = false;\r\n agent.playFX = false;\r\n vec3.copy(data.oldTarget, AGENT_TARGET_WS);\r\n vec3.set(agent.target, 0, 0, 0);\r\n }\r\n }\r\n }\r\n\r\n return NO_FORCES;\r\n }\r\n\r\n /** Carbon PlayFX::UpdateAsyncronous (cpp:141-148). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateAsyncronous(updateContext, parentTransform)\r\n {\r\n for (const fx of this.generatedFiringEffects)\n {\n if (!fx) continue;\n fx.UpdateEffectAsync(updateContext);\n fx.UpdateVisibility(updateContext, parentTransform);\n }\r\n }\r\n\r\n /** Carbon PlayFX::UpdateSyncronous (cpp:150-156). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateSyncronous(updateContext)\r\n {\r\n for (const fx of this.generatedFiringEffects)\n {\n if (!fx) continue;\n fx.UpdateEffectSync(updateContext);\n }\r\n }\r\n\r\n /** Carbon PlayFX::GetRenderables (cpp:158-164). */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(renderables = [])\r\n {\r\n for (const fx of this.generatedFiringEffects)\n {\n if (!fx) continue;\n fx.GetRenderables(renderables);\n }\r\n return renderables;\r\n }\r\n\r\n /** Carbon PlayFX::RegisterComponents (cpp:202-215). */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const fx of this.generatedFiringEffects)\r\n {\r\n fx?.Register(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon PlayFX::UnRegisterComponents (cpp:217-230). */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n const registry = this.GetComponentRegistry();\r\n if (registry)\r\n {\r\n for (const fx of this.generatedFiringEffects)\r\n {\r\n fx?.UnRegister(registry);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon method RegisterWithQuadRenderer (cpp:239-245) - quad renderer\r\n * registration seam; the firing effect elements own the real quads. */\r\n @carbon.method\r\n @impl.noop\r\n RegisterWithQuadRenderer(_quadRenderer)\r\n {\r\n }\r\n\r\n /** Carbon method AddQuadsToQuadRenderer (cpp:253-259) - quad renderer\r\n * submission seam; the firing effect elements own the real quads. */\r\n @carbon.method\r\n @impl.noop\r\n AddQuadsToQuadRenderer(_frustum, _quadRenderer)\r\n {\r\n }\r\n\r\n // Grows or shrinks the cloned firing-effect list to the agent count (Carbon\r\n // CheckCount, cpp:262-299; BeClasses->CloneTo maps to CjsModel.Clone).\r\n /**\r\n * Grows or shrinks the cloned firing-effect list to match the agent count, cloning the configured effect for new agents and dropping the excess.\r\n */\r\n #CheckCount(agentSize)\r\n {\r\n if (this.#count > agentSize)\r\n {\r\n const diff = this.#count - agentSize;\r\n for (let i = 0; i < diff; i++)\r\n {\r\n this.generatedFiringEffects.pop();\r\n }\r\n this.#count = agentSize;\r\n }\r\n else if (agentSize > this.#count)\r\n {\r\n if (this.firingEffect === null)\r\n {\r\n return;\r\n }\r\n\r\n const diff = agentSize - this.#count;\r\n for (let i = 0; i < diff; i++)\r\n {\r\n const newFx = this.firingEffect.Clone?.();\r\n if (!newFx)\r\n {\r\n return;\r\n }\r\n this.generatedFiringEffects.push(newFx);\r\n }\r\n this.#count = agentSize;\r\n }\r\n }\r\n\r\n}\r\n"],"names":["OFFSET_EFFECT","vec3","create","OFFSET_EFFECT_WS","AGENT_TARGET_WS","NO_FORCES","_PlayFX","PlayFX","EveEntity","e","_init_behaviorPriority","_init_extra_behaviorPriority","_init_behaviorWeight","_init_extra_behaviorWeight","_init_firingEffect","_init_extra_firingEffect","_init_generatedFiringEffects","_init_extra_generatedFiringEffects","_init_sec","_init_extra_sec","_init_enabled","_init_extra_enabled","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","notify","persist","int32","float32","model","read","list","boolean","carbon","method","impl","implemented","adapted","reason","noop","behaviorPriority","behaviorWeight","firingEffect","generatedFiringEffects","sec","enabled","GetProcessPriority","GetBehaviorName","GetScratchMemorySize","InitializeScratch","effectPlaying","droneArrived","oldTarget","UpdateState","state","CalculateBehavior","agents","scratchData","_deltaTime","group","system","_dronesInSearchRadius","fx","StopFiring","length","worldTransform","GetWorldTransform","limit","Math","min","agent","data","SetDisplay","playFX","StartFiring","normalize","targetDirection","scale","GetBoundingSphereRadius","add","position","transformMat4","squaredLength","SetFiringTransform","target","elapsed","Date","now","fxStartTime","copy","set","UpdateAsyncronous","updateContext","parentTransform","UpdateEffectAsync","UpdateVisibility","UpdateSyncronous","UpdateEffectSync","GetRenderables","renderables","RegisterComponents","registry","GetComponentRegistry","Register","UnRegisterComponents","UnRegister","RegisterWithQuadRenderer","_quadRenderer","AddQuadsToQuadRenderer","_frustum","#CheckCount","agentSize","diff","i","pop","newFx","Clone","push"],"mappings":";;;;;;;AAOA;AACA,MAAMA,aAAa,GAAGC,IAAI,CAACC,MAAM,EAAE;AACnC,MAAMC,gBAAgB,GAAGF,IAAI,CAACC,MAAM,EAAE;AACtC,MAAME,eAAe,GAAGH,IAAI,CAACC,MAAM,EAAE;AACrC,MAAMG,SAAS,GAAG,EAAE;;AAEpB;AAAA,IAAAC;AACA,MAAAC,MAAA,SAC4BC,UAAS,CACrC;AAAA,EAAA;AAAA,IAAA,CAAA;MAAAC,CAAA,EAAA,CAAAC,sBAAA,EAAAC,4BAAA,EAAAC,oBAAA,EAAAC,0BAAA,EAAAC,kBAAA,EAAAC,wBAAA,EAAAC,4BAAA,EAAAC,kCAAA,EAAAC,SAAA,EAAAC,eAAA,EAAAC,aAAA,EAAAC,mBAAA,EAAAC,UAAA,CAAA;MAAAC,CAAA,EAAA,CAAAjB,OAAA,EAAAkB,UAAA;AAAA,KAAA,GAAAC,cAAA,CAAA,IAAA,EAAA,CAFCC,IAAI,CAACC,MAAM,CAAC;AAAEC,MAAAA,SAAS,EAAE,QAAQ;AAAEC,MAAAA,MAAM,EAAE;AAAsB,KAAC,CAAC,CAAA,EAAA,CAAA,CAAA,CAKjEC,IAAI,EAAJA,IAAI,CAACC,MAAM,EACXD,IAAI,EAAJA,IAAI,CAACE,OAAO,EACZN,IAAI,EAAJA,IAAI,CAACO,KAAK,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAIVH,IAAI,EAAJA,IAAI,CAACE,OAAO,EACZN,IAAI,EAAJA,IAAI,CAACQ,OAAO,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAIZJ,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZN,IAAI,CAACS,KAAK,CAAC,yBAAyB,CAAC,CAAA,EAAA,EAAA,EAAA,cAAA,CAAA,EAAA,CAAA,CAIrCL,IAAI,EAAJA,IAAI,CAACM,IAAI,EAAA,MAAA,EACTV,IAAI,CAACW,IAAI,CAAC,yBAAyB,CAAC,CAAA,EAAA,EAAA,EAAA,wBAAA,CAAA,EAAA,CAAA,CAIpCP,IAAI,EAAJA,IAAI,CAACE,OAAO,EACZN,IAAI,EAAJA,IAAI,CAACO,KAAK,CAAA,EAAA,EAAA,EAAA,KAAA,CAAA,EAAA,CAAA,CAIVH,IAAI,EAAJA,IAAI,CAACE,OAAO,EACZN,IAAI,EAAJA,IAAI,CAACY,OAAO,CAAA,EAAA,EAAA,EAAA,SAAA,CAAA,EAAA,CAAA,CASZC,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,gCAOhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,iBAAA,CAAA,EAAA,CAAA,CAOhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,kIAAkI,CAAC,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAO/IL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,8FAA8F,CAAC,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAW3GL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,aAAA,CAAA,EAAA,CAAA,CAkBhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACE,OAAO,EAAA,MAAA,EACZF,IAAI,CAACG,MAAM,CAAC,mFAAmF,CAAC,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAsGhGL,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,mBAAA,CAAA,EAAA,CAAA,CAYhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,kBAAA,CAAA,EAAA,CAAA,CAWhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,gBAAA,CAAA,EAAA,CAAA,CAYhBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,oBAAA,CAAA,EAAA,CAAA,CAchBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACC,WAAW,CAAA,EAAA,EAAA,EAAA,sBAAA,CAAA,EAAA,CAAA,CAehBH,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACI,IAAI,CAAA,EAAA,EAAA,EAAA,0BAAA,CAAA,EAAA,CAAA,CAOTN,MAAM,EAANA,MAAM,CAACC,MAAM,EACbC,IAAI,EAAJA,IAAI,CAACI,IAAI,8CAvRgBrC,UAAS,CAAA;AAAA;AAGnC;AAIAsC,EAAAA,gBAAgB,IAAAxB,UAAA,CAAA,IAAA,CAAA,EAAAZ,sBAAA,OAAG,CAAC,CAAA;;AAEpB;AAGAqC,EAAAA,cAAc,IAAApC,4BAAA,CAAA,IAAA,CAAA,EAAAC,oBAAA,OAAG,EAAE,CAAA;;AAEnB;AAGAoC,EAAAA,YAAY,IAAAnC,0BAAA,CAAA,IAAA,CAAA,EAAAC,kBAAA,OAAG,IAAI,CAAA;;AAEnB;AAGAmC,EAAAA,sBAAsB,IAAAlC,wBAAA,CAAA,IAAA,CAAA,EAAAC,4BAAA,OAAG,EAAE,CAAA;;AAE3B;AAGAkC,EAAAA,GAAG,IAAAjC,kCAAA,CAAA,IAAA,CAAA,EAAAC,SAAA,OAAG,CAAC,CAAA;;AAEP;AAGAiC,EAAAA,OAAO,IAAAhC,eAAA,CAAA,IAAA,CAAA,EAAAC,aAAA,OAAG,IAAI,CAAA;;AAEd;AACA,EAAA,MAAM,IAAAC,mBAAA,CAAA,IAAA,CAAA,EAAG,CAAC;EAEV,KAAK,GAAG,KAAK;;AAEb;AAGA+B,EAAAA,kBAAkBA,GAClB;IACE,OAAO,IAAI,CAACN,gBAAgB;AAC9B,EAAA;;AAEA;AAGAO,EAAAA,eAAeA,GACf;AACE,IAAA,OAAO,QAAQ;AACjB,EAAA;;AAEA;AAIAC,EAAAA,oBAAoBA,GACpB;AACE,IAAA,OAAO,CAAC;AACV,EAAA;;AAEA;AAIAC,EAAAA,iBAAiBA,GACjB;IACE,OAAO;AACLC,MAAAA,aAAa,EAAE,KAAK;AACpBC,MAAAA,YAAY,EAAE,KAAK;AACnBC,MAAAA,SAAS,EAAEzD,IAAI,CAACC,MAAM;KACvB;AACH,EAAA;;AAEA;EAGAyD,WAAWA,CAACC,KAAK,EACjB;AACE,IAAA,IAAI,CAAC,KAAK,GAAG,CAAC,CAACA,KAAK;AACtB,EAAA;;AAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIEC,EAAAA,iBAAiBA,CAACC,MAAM,EAAEC,WAAW,EAAEC,UAAU,EAAEC,KAAK,EAAEC,MAAM,EAAEC,qBAAqB,EACvF;IACE,IAAI,IAAI,CAACpB,cAAc,IAAI,CAAC,IAAI,CAAC,IAAI,CAACI,OAAO,EAC7C;AACE,MAAA,KAAK,MAAMiB,EAAE,IAAI,IAAI,CAACnB,sBAAsB,EAC5C;QACE,IAAI,CAACmB,EAAE,EAAE;QACTA,EAAE,CAACC,UAAU,EAAE;AACjB,MAAA;AACA,MAAA,OAAOhE,SAAS;AAClB,IAAA;AAEA,IAAA,IAAI,IAAI,CAAC2C,YAAY,KAAK,IAAI,EAC9B;AACE,MAAA,OAAO3C,SAAS;AAClB,IAAA;;AAEA;AACA,IAAA,IAAI,IAAI,CAAC4C,sBAAsB,CAACqB,MAAM,KAAK,CAAC,EAC5C;AACE,MAAA,IAAI,CAAC,MAAM,GAAG,CAAC;AACjB,IAAA;IAEA,IAAI,IAAI,CAAC,MAAM,KAAKR,MAAM,CAACQ,MAAM,EACjC;AACE,MAAA,IAAI,CAAC,WAAW,CAACR,MAAM,CAACQ,MAAM,CAAC;AACjC,IAAA;AAEA,IAAA,MAAMC,cAAc,GAAGL,MAAM,CAACM,iBAAiB,EAAE;AACjD,IAAA,MAAMC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAACb,MAAM,CAACQ,MAAM,EAAE,IAAI,CAACrB,sBAAsB,CAACqB,MAAM,CAAC;;AAEzE;IACA,KAAK,IAAI/C,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGkD,KAAK,EAAElD,CAAC,EAAE,EAC9B;AACE,MAAA,MAAMqD,KAAK,GAAGd,MAAM,CAACvC,CAAC,CAAC;AACvB,MAAA,MAAMyB,YAAY,GAAG,IAAI,CAACC,sBAAsB,CAAC1B,CAAC,CAAC;AACnD,MAAA,MAAMsD,IAAI,GAAGd,WAAW,GAAGxC,CAAC,CAAC;AAC7B,MAAA,IAAI,CAACsD,IAAI,IAAI,CAAC7B,YAAY,EAC1B;AACE,QAAA;AACF,MAAA;AAEA,MAAA,IAAI,IAAI,CAAC,KAAK,EACd;QACE6B,IAAI,CAACpB,YAAY,GAAG,KAAK;AAC3B,MAAA;;AAEA;AACA,MAAA,IAAIoB,IAAI,CAACpB,YAAY,KAAK,KAAK,EAC/B;AACET,QAAAA,YAAY,CAAC8B,UAAU,CAAC,KAAK,CAAC;AAChC,MAAA;;AAEA;MACA,IAAIF,KAAK,CAACG,MAAM,IAAI,CAACF,IAAI,CAACrB,aAAa,EACvC;AACE,QAAA,IAAIqB,IAAI,CAACpB,YAAY,KAAK,KAAK,EAC/B;UACEoB,IAAI,CAACpB,YAAY,GAAG,IAAI;AACxBT,UAAAA,YAAY,CAAC8B,UAAU,CAAC,IAAI,CAAC;AAC/B,QAAA;AAEA9B,QAAAA,YAAY,CAACgC,WAAW,CAAC,CAAC,CAAC;QAC3BH,IAAI,CAACrB,aAAa,GAAG,IAAI;AAC3B,MAAA;MAEAvD,IAAI,CAACgF,SAAS,CAACjF,aAAa,EAAE4E,KAAK,CAACM,eAAe,CAAC;AACpDjF,MAAAA,IAAI,CAACkF,KAAK,CAACnF,aAAa,EAAEA,aAAa,EAAEiE,KAAK,CAACmB,uBAAuB,EAAE,CAAC;MACzEnF,IAAI,CAACoF,GAAG,CAACrF,aAAa,EAAEA,aAAa,EAAE4E,KAAK,CAACU,QAAQ,CAAC;;AAEtD;MACArF,IAAI,CAACsF,aAAa,CAACpF,gBAAgB,EAAEH,aAAa,EAAEuE,cAAc,CAAC;;AAEnE;AACA;MACA,IAAItE,IAAI,CAACuF,aAAa,CAACX,IAAI,CAACnB,SAAS,CAAC,KAAK,CAAC,EAC5C;QACEV,YAAY,CAACyC,kBAAkB,CAACtF,gBAAgB,EAAE0E,IAAI,CAACnB,SAAS,CAAC;AACnE,MAAA;MAEA,IAAImB,IAAI,CAACrB,aAAa,EACtB;QACEvD,IAAI,CAACsF,aAAa,CAACnF,eAAe,EAAEwE,KAAK,CAACc,MAAM,EAAEnB,cAAc,CAAC;AACjEvB,QAAAA,YAAY,CAACyC,kBAAkB,CAACtF,gBAAgB,EAAEC,eAAe,CAAC;AAElE,QAAA,MAAMuF,OAAO,GAAGC,IAAI,CAACC,GAAG,EAAE,GAAG,IAAI,GAAGjB,KAAK,CAACkB,WAAW;AACrD,QAAA,IAAIH,OAAO,GAAG,IAAI,CAACzC,GAAG,EACtB;UACEF,YAAY,CAACqB,UAAU,EAAE;UACzBQ,IAAI,CAACrB,aAAa,GAAG,KAAK;UAC1BoB,KAAK,CAACG,MAAM,GAAG,KAAK;UACpB9E,IAAI,CAAC8F,IAAI,CAAClB,IAAI,CAACnB,SAAS,EAAEtD,eAAe,CAAC;AAC1CH,UAAAA,IAAI,CAAC+F,GAAG,CAACpB,KAAK,CAACc,MAAM,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AACjC,QAAA;AACF,MAAA;AACF,IAAA;AAEA,IAAA,OAAOrF,SAAS;AAClB,EAAA;;AAEA;AAGA4F,EAAAA,iBAAiBA,CAACC,aAAa,EAAEC,eAAe,EAChD;AACE,IAAA,KAAK,MAAM/B,EAAE,IAAI,IAAI,CAACnB,sBAAsB,EAC5C;MACE,IAAI,CAACmB,EAAE,EAAE;AACTA,MAAAA,EAAE,CAACgC,iBAAiB,CAACF,aAAa,CAAC;AACnC9B,MAAAA,EAAE,CAACiC,gBAAgB,CAACH,aAAa,EAAEC,eAAe,CAAC;AACrD,IAAA;AACF,EAAA;;AAEA;EAGAG,gBAAgBA,CAACJ,aAAa,EAC9B;AACE,IAAA,KAAK,MAAM9B,EAAE,IAAI,IAAI,CAACnB,sBAAsB,EAC5C;MACE,IAAI,CAACmB,EAAE,EAAE;AACTA,MAAAA,EAAE,CAACmC,gBAAgB,CAACL,aAAa,CAAC;AACpC,IAAA;AACF,EAAA;;AAEA;AAGAM,EAAAA,cAAcA,CAACC,WAAW,GAAG,EAAE,EAC/B;AACE,IAAA,KAAK,MAAMrC,EAAE,IAAI,IAAI,CAACnB,sBAAsB,EAC5C;MACE,IAAI,CAACmB,EAAE,EAAE;AACTA,MAAAA,EAAE,CAACoC,cAAc,CAACC,WAAW,CAAC;AAChC,IAAA;AACA,IAAA,OAAOA,WAAW;AACpB,EAAA;;AAEA;AAGAC,EAAAA,kBAAkBA,GAClB;AACE,IAAA,MAAMC,QAAQ,GAAG,IAAI,CAACC,oBAAoB,EAAE;AAC5C,IAAA,IAAID,QAAQ,EACZ;AACE,MAAA,KAAK,MAAMvC,EAAE,IAAI,IAAI,CAACnB,sBAAsB,EAC5C;AACEmB,QAAAA,EAAE,EAAEyC,QAAQ,CAACF,QAAQ,CAAC;AACxB,MAAA;AACF,IAAA;AACF,EAAA;;AAEA;AAGAG,EAAAA,oBAAoBA,GACpB;AACE,IAAA,MAAMH,QAAQ,GAAG,IAAI,CAACC,oBAAoB,EAAE;AAC5C,IAAA,IAAID,QAAQ,EACZ;AACE,MAAA,KAAK,MAAMvC,EAAE,IAAI,IAAI,CAACnB,sBAAsB,EAC5C;AACEmB,QAAAA,EAAE,EAAE2C,UAAU,CAACJ,QAAQ,CAAC;AAC1B,MAAA;AACF,IAAA;AACF,EAAA;;AAEA;AACF;EAGEK,wBAAwBA,CAACC,aAAa,EACtC,CACA;;AAEA;AACF;AAGEC,EAAAA,sBAAsBA,CAACC,QAAQ,EAAEF,aAAa,EAC9C,CACA;;AAEA;AACA;AACA;AACF;AACA;EACE,WAAWG,CAACC,SAAS,EACrB;AACE,IAAA,IAAI,IAAI,CAAC,MAAM,GAAGA,SAAS,EAC3B;AACE,MAAA,MAAMC,IAAI,GAAG,IAAI,CAAC,MAAM,GAAGD,SAAS;MACpC,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,IAAI,EAAEC,CAAC,EAAE,EAC7B;AACE,QAAA,IAAI,CAACtE,sBAAsB,CAACuE,GAAG,EAAE;AACnC,MAAA;AACA,MAAA,IAAI,CAAC,MAAM,GAAGH,SAAS;IACzB,CAAC,MACI,IAAIA,SAAS,GAAG,IAAI,CAAC,MAAM,EAChC;AACE,MAAA,IAAI,IAAI,CAACrE,YAAY,KAAK,IAAI,EAC9B;AACE,QAAA;AACF,MAAA;AAEA,MAAA,MAAMsE,IAAI,GAAGD,SAAS,GAAG,IAAI,CAAC,MAAM;MACpC,KAAK,IAAIE,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGD,IAAI,EAAEC,CAAC,EAAE,EAC7B;QACE,MAAME,KAAK,GAAG,IAAI,CAACzE,YAAY,CAAC0E,KAAK,IAAI;QACzC,IAAI,CAACD,KAAK,EACV;AACE,UAAA;AACF,QAAA;AACA,QAAA,IAAI,CAACxE,sBAAsB,CAAC0E,IAAI,CAACF,KAAK,CAAC;AACzC,MAAA;AACA,MAAA,IAAI,CAAC,MAAM,GAAGJ,SAAS;AACzB,IAAA;AACF,EAAA;AAAC,EAAA;IAAA7F,UAAA,EAAA;AAAA;AAEH;;;;"}
|
|
@@ -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 { vec3 } from '#math/vec3';
|
|
5
5
|
import { EveLocatorSets as _EveLocatorSets } from '../../locator/EveLocatorSets.js';
|
|
@@ -16,7 +16,7 @@ class SeekTarget extends CjsModel {
|
|
|
16
16
|
} = _applyDecs2311(this, [type.define({
|
|
17
17
|
className: "SeekTarget",
|
|
18
18
|
family: "eve/child/behaviors"
|
|
19
|
-
})], [[[
|
|
19
|
+
})], [[[edit, edit.notify, edit, edit.persist, type, type.int32], 16, "behaviorPriority"], [[edit, edit.persist, type, type.float32], 16, "behaviorWeight"], [[edit, edit.persist, type, type.float32], 16, "distFromOrigin"], [[edit, edit.persist, type, type.float32], 16, "arrivedRadius"], [[edit, edit.persist, type, type.float32], 16, "slowDownRadius"], [[edit, edit.persist, void 0, type.model("EveSpaceObject2")], 16, "target"], [[edit, edit.persist, type, type.boolean], 16, "firstSpawnAtRandomPlaces"], [[edit, edit.readwrite, void 0, type.rawStruct("BlueScriptCallback")], 16, "onFirstDroneArrivedCallback"], [[edit, edit.readwrite, type, type.float32], 16, "totalRepairTime"], [[edit, edit.readwrite, type, type.float32], 16, "secondsToTurn"], [[edit, edit.persist, type, type.string], 16, "locatorSetName"], [[edit, edit.persist, void 0, type.model("EveLocatorSets")], 16, "locatorSet"], [[edit, edit.readwrite, type, type.boolean], 16, "exit"], [[edit, edit.readwrite, type, type.boolean], 16, "repair"], [[edit, edit.persist, type, type.boolean], 16, "enabled"], [[carbon, carbon.method, impl, impl.implemented], 18, "AddLocatorSet"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetTarget"], [[carbon, carbon.method, impl, impl.implemented], 18, "ResetBehavior"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetBehaviorWeight"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetExit"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetTotalRepairTime"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetupShipRepair"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Uses EveSpaceObject2's portable bounds and locator query methods, and safely handles equal or degenerate box dimensions.")], 18, "SplitBoundingBox"], [[impl, impl.implemented], 18, "GetLocatorBucketIndices"]], 0, void 0, CjsModel));
|
|
20
20
|
}
|
|
21
21
|
constructor(...args) {
|
|
22
22
|
super(...args);
|