@carbonenginejs/runtime 0.1.0-alpha.2 → 0.1.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +5 -4
- package/dist/audio/generated/audio/AudEventKey.js +2 -2
- package/dist/audio/generated/audio/AudEventKey.js.map +1 -1
- package/dist/audio/generated/audio/AudSettings.js +2 -2
- package/dist/audio/generated/audio/AudSettings.js.map +1 -1
- package/dist/audio/index.js +1 -1
- package/dist/audio/trinity/audio/AudEmitter.js +4 -5
- package/dist/audio/trinity/audio/AudEmitter.js.map +1 -1
- package/dist/audio/trinity/audio/AudEventCurve.js +14 -14
- package/dist/audio/trinity/audio/AudEventCurve.js.map +1 -1
- package/dist/audio/trinity/audio/AudGameObjResource.js +13 -25
- package/dist/audio/trinity/audio/AudGameObjResource.js.map +1 -1
- package/dist/audio/trinity/audio/AudManager.js +2 -2
- package/dist/audio/trinity/audio/AudManager.js.map +1 -1
- package/dist/audio/trinity/audio/AudParameter.js +7 -11
- package/dist/audio/trinity/audio/AudParameter.js.map +1 -1
- package/dist/audio/trinity/audio/AudUIPlayer.js +2 -2
- package/dist/audio/trinity/audio/AudUIPlayer.js.map +1 -1
- package/dist/audio/trinity/audio/AudioCurveSetDriver.js +2 -2
- package/dist/audio/trinity/audio/AudioCurveSetDriver.js.map +1 -1
- package/dist/audio/trinity/audio/StretchAudio.js +2 -2
- package/dist/audio/trinity/audio/StretchAudio.js.map +1 -1
- package/dist/audio/trinity/index.js +1 -1
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js +2 -2
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js.map +1 -1
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js +2 -2
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js.map +1 -1
- package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js +1 -37
- package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ColorCurve.js +2 -2
- package/dist/character/incarna/curves/Tr2ColorCurve.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ColorKey.js +2 -2
- package/dist/character/incarna/curves/Tr2ColorKey.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ScalarCurve.js +2 -2
- package/dist/character/incarna/curves/Tr2ScalarCurve.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ScalarKey.js +2 -2
- package/dist/character/incarna/curves/Tr2ScalarKey.js.map +1 -1
- package/dist/character/incarna/interior/Tr2InteriorCell.js +2 -2
- package/dist/character/incarna/interior/Tr2InteriorCell.js.map +1 -1
- package/dist/character/library/CjsCharacterLibrary.js +9 -16
- package/dist/character/library/CjsCharacterLibrary.js.map +1 -1
- package/dist/character/library/CjsCharacterLibraryDocuments.js +20 -4
- package/dist/character/library/CjsCharacterLibraryDocuments.js.map +1 -1
- package/dist/character/model/CjsCharacterRecord.js +2 -2
- package/dist/character/model/CjsCharacterRecord.js.map +1 -1
- package/dist/character/model/activity/CjsCharacterArchetype.js +2 -2
- package/dist/character/model/activity/CjsCharacterArchetype.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterColorLocation.js +2 -2
- package/dist/character/model/appearance/CjsCharacterColorLocation.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterColorName.js +2 -2
- package/dist/character/model/appearance/CjsCharacterColorName.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterColorSelection.js +2 -2
- package/dist/character/model/appearance/CjsCharacterColorSelection.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterSculptSelection.js +2 -2
- package/dist/character/model/appearance/CjsCharacterSculptSelection.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterSculptingLocation.js +2 -2
- package/dist/character/model/appearance/CjsCharacterSculptingLocation.js.map +1 -1
- package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js +2 -2
- package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterColorValue.js +2 -2
- package/dist/character/model/catalog/CjsCharacterColorValue.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterDefinition.js +2 -2
- package/dist/character/model/catalog/CjsCharacterDefinition.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterMaterialProfile.js +2 -2
- package/dist/character/model/catalog/CjsCharacterMaterialProfile.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterModifierReference.js +2 -2
- package/dist/character/model/catalog/CjsCharacterModifierReference.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartMetadata.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartMetadata.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartModelBundle.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartModelBundle.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartSource.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartSource.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartType.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartType.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterProjectionProfile.js +2 -2
- package/dist/character/model/catalog/CjsCharacterProjectionProfile.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterRecipeEntry.js +2 -2
- package/dist/character/model/catalog/CjsCharacterRecipeEntry.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterRecipeProfile.js +2 -2
- package/dist/character/model/catalog/CjsCharacterRecipeProfile.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterTextureMetadata.js +2 -2
- package/dist/character/model/catalog/CjsCharacterTextureMetadata.js.map +1 -1
- package/dist/character/model/composition/CjsCharacterModifierLocation.js +2 -2
- package/dist/character/model/composition/CjsCharacterModifierLocation.js.map +1 -1
- package/dist/character/model/composition/CjsCharacterModifierSelection.js +2 -2
- package/dist/character/model/composition/CjsCharacterModifierSelection.js.map +1 -1
- package/dist/character/model/creation/CjsCharacterPaperdoll.js +2 -2
- package/dist/character/model/creation/CjsCharacterPaperdoll.js.map +1 -1
- package/dist/character/model/demographics/CjsCharacterAncestry.js +2 -2
- package/dist/character/model/demographics/CjsCharacterAncestry.js.map +1 -1
- package/dist/character/model/demographics/CjsCharacterBloodline.js +2 -2
- package/dist/character/model/demographics/CjsCharacterBloodline.js.map +1 -1
- package/dist/character/model/demographics/CjsCharacterRace.js +2 -2
- package/dist/character/model/demographics/CjsCharacterRace.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceBinding.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceBinding.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceLayer.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceLayer.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearancePlan.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearancePlan.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceSelection.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceSelection.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterBindingAlpha.js +2 -2
- package/dist/character/model/planning/CjsCharacterBindingAlpha.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCompositionInput.js +2 -2
- package/dist/character/model/planning/CjsCharacterCompositionInput.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCompositionPass.js +2 -2
- package/dist/character/model/planning/CjsCharacterCompositionPass.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCompositionTarget.js +2 -2
- package/dist/character/model/planning/CjsCharacterCompositionTarget.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCoverage.js +2 -2
- package/dist/character/model/planning/CjsCharacterCoverage.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js +2 -2
- package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterOrigin.js +2 -2
- package/dist/character/model/planning/CjsCharacterOrigin.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterResolvedPart.js +2 -2
- package/dist/character/model/planning/CjsCharacterResolvedPart.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterTextureAsset.js +2 -2
- package/dist/character/model/planning/CjsCharacterTextureAsset.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterTextureChannel.js +2 -2
- package/dist/character/model/planning/CjsCharacterTextureChannel.js.map +1 -1
- package/dist/character/model/resources/CjsCharacterPortraitResource.js +2 -2
- package/dist/character/model/resources/CjsCharacterPortraitResource.js.map +1 -1
- package/dist/character/model/resources/CjsCharacterResource.js +2 -2
- package/dist/character/model/resources/CjsCharacterResource.js.map +1 -1
- package/dist/character/trinity/interior/Tr2IntSkinnedObject.js +6 -5
- package/dist/character/trinity/interior/Tr2IntSkinnedObject.js.map +1 -1
- package/dist/character/trinity/interior/Tr2InteriorLightSource.js +2 -2
- package/dist/character/trinity/interior/Tr2InteriorLightSource.js.map +1 -1
- package/dist/character/trinity/interior/Tr2InteriorPlaceable.js +4 -5
- package/dist/character/trinity/interior/Tr2InteriorPlaceable.js.map +1 -1
- package/dist/character/trinity/interior/Tr2InteriorScene.js +2 -2
- package/dist/character/trinity/interior/Tr2InteriorScene.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js +2 -2
- package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2GStateParameter.js +2 -2
- package/dist/character/trinity/trinityCore/Tr2GStateParameter.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2Model.js +2 -2
- package/dist/character/trinity/trinityCore/Tr2Model.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js +21 -10
- package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js +64 -57
- package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js.map +1 -1
- package/dist/character/trinity/wod/WodBakingScene.js +2 -2
- package/dist/character/trinity/wod/WodBakingScene.js.map +1 -1
- package/dist/core/CjsLibrary.js +32 -685
- package/dist/core/CjsLibrary.js.map +1 -1
- package/dist/core/index.js +1 -2
- package/dist/core/index.js.map +1 -1
- package/dist/global/blue/BeInfo.js +95 -0
- package/dist/global/blue/BeInfo.js.map +1 -0
- package/dist/global/blue/CcpDateTime.js +53 -0
- package/dist/global/blue/CcpDateTime.js.map +1 -0
- package/dist/global/blue/CcpTime.js +148 -0
- package/dist/global/blue/CcpTime.js.map +1 -0
- package/dist/global/blue/CjsBlueOS.js +301 -0
- package/dist/global/blue/CjsBlueOS.js.map +1 -0
- package/dist/global/blue/CjsBluePaths.js +97 -0
- package/dist/global/blue/CjsBluePaths.js.map +1 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js +29 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js.map +1 -0
- package/dist/global/blue/IBlueEvents.js +34 -0
- package/dist/global/blue/IBlueEvents.js.map +1 -0
- package/dist/global/blue/IBlueOS.js +132 -0
- package/dist/global/blue/IBlueOS.js.map +1 -0
- package/dist/global/blue/IBluePaths.js +72 -0
- package/dist/global/blue/IBluePaths.js.map +1 -0
- package/dist/global/blue/IBlueResMan.js +93 -0
- package/dist/global/blue/IBlueResMan.js.map +1 -0
- package/dist/global/blue/IBlueResManNotifications.js +51 -0
- package/dist/global/blue/IBlueResManNotifications.js.map +1 -0
- package/dist/global/blue/ICatchupTicks.js +25 -0
- package/dist/global/blue/ICatchupTicks.js.map +1 -0
- package/dist/global/blue/IInitialize.js +47 -0
- package/dist/global/blue/IInitialize.js.map +1 -0
- package/dist/global/blue/IListNotify.js +44 -0
- package/dist/global/blue/IListNotify.js.map +1 -0
- package/dist/global/blue/INotify.js +65 -0
- package/dist/global/blue/INotify.js.map +1 -0
- package/dist/global/blue/ISimTimeRebaseNotify.js +28 -0
- package/dist/global/blue/ISimTimeRebaseNotify.js.map +1 -0
- package/dist/global/blue/IVariableTicker.js +24 -0
- package/dist/global/blue/IVariableTicker.js.map +1 -0
- package/dist/global/blue/blue.js +61 -0
- package/dist/global/blue/blue.js.map +1 -0
- package/dist/global/blue/enums/CjsBlueEnumRegistry.js +173 -0
- package/dist/global/blue/enums/CjsBlueEnumRegistry.js.map +1 -0
- package/dist/global/blue/index.js +19 -0
- package/dist/global/blue/index.js.map +1 -1
- package/dist/global/blue/registerTrinityEnums.js +43 -0
- package/dist/global/blue/registerTrinityEnums.js.map +1 -0
- package/dist/global/compose/abstract.js +81 -0
- package/dist/global/compose/abstract.js.map +1 -0
- package/dist/global/compose/interface.js +131 -26
- package/dist/global/compose/interface.js.map +1 -1
- package/dist/global/compose/notify.js +10 -1
- package/dist/global/compose/notify.js.map +1 -1
- package/dist/global/compose/values.js +116 -53
- package/dist/global/compose/values.js.map +1 -1
- package/dist/global/consts/blue.js +73 -0
- package/dist/global/consts/blue.js.map +1 -0
- package/dist/global/consts/graphics/index.js +1 -1
- package/dist/global/consts/graphics/trinityEnums.js +19 -7
- package/dist/global/consts/graphics/trinityEnums.js.map +1 -1
- package/dist/global/consts/index.js +2 -1
- package/dist/global/consts/index.js.map +1 -1
- package/dist/global/consts/trinity.js.map +1 -1
- package/dist/global/contracts/ITr2BoundingBox.js +1 -34
- package/dist/global/contracts/ITr2BoundingBox.js.map +1 -1
- package/dist/global/contracts/ITr2RenderNode.js +1 -27
- package/dist/global/contracts/ITr2RenderNode.js.map +1 -1
- package/dist/global/contracts/index.js +2 -4
- package/dist/global/contracts/index.js.map +1 -1
- package/dist/global/index.js +23 -5
- package/dist/global/index.js.map +1 -1
- package/dist/global/model/CjsModel.js +82 -99
- package/dist/global/model/CjsModel.js.map +1 -1
- package/dist/global/model/CjsModelState.js +0 -15
- package/dist/global/model/CjsModelState.js.map +1 -1
- package/dist/global/model/document/CjsDocumentHydrator.js +5 -1
- package/dist/global/model/document/CjsDocumentHydrator.js.map +1 -1
- package/dist/global/model/index.js +1 -1
- package/dist/global/schema/CjsSchema.js +275 -69
- package/dist/global/schema/CjsSchema.js.map +1 -1
- package/dist/global/schema/hydration.js +10 -8
- package/dist/global/schema/hydration.js.map +1 -1
- package/dist/global/schema/index.js +4 -3
- package/dist/global/schema/index.js.map +1 -1
- package/dist/global/schema/types/carbonTypes.js +1 -1
- package/dist/global/schema/types/carbonTypes.js.map +1 -1
- package/dist/global/utils/bytes.js +2 -0
- package/dist/global/utils/bytes.js.map +1 -1
- package/dist/global/utils/path.js +30 -1
- package/dist/global/utils/path.js.map +1 -1
- package/dist/index.js +59 -24
- package/dist/index.js.map +1 -1
- package/dist/resource/CjsResMan.js +206 -43
- package/dist/resource/CjsResMan.js.map +1 -1
- package/dist/resource/CjsResource.js +4 -1
- package/dist/resource/CjsResource.js.map +1 -1
- package/dist/resource/format/CjsBlueReader.js +8 -2
- package/dist/resource/format/CjsBlueReader.js.map +1 -1
- package/dist/resource/format/CjsResourceProbe.js +15 -16
- package/dist/resource/format/CjsResourceProbe.js.map +1 -1
- package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js +132 -75
- package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js.map +1 -1
- package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js +26 -0
- package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js.map +1 -1
- package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js +2 -1
- package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js.map +1 -1
- package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js +4 -0
- package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js.map +1 -0
- package/dist/resource/formats/black/core/blackDefinitions.js +1 -1
- package/dist/resource/formats/black/core/blackDefinitions.js.map +1 -1
- package/dist/resource/formats/black/core/blackSchema.js +1 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js +50 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/resource/formats/dds/core/helpers.js +51 -5
- package/dist/resource/formats/dds/core/helpers.js.map +1 -1
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js +94 -0
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js.map +1 -0
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js +189 -0
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js.map +1 -0
- package/dist/resource/formats/fsd/64/readers/index.js +2 -0
- package/dist/resource/formats/fsd/64/readers/index.js.map +1 -1
- package/dist/resource/formats/hlsl/core/detailMapFamily.js +18 -92
- package/dist/resource/formats/hlsl/core/detailMapFamily.js.map +1 -1
- package/dist/resource/formats/hlsl/core/textureArrayFamilies.js +285 -0
- package/dist/resource/formats/hlsl/core/textureArrayFamilies.js.map +1 -0
- package/dist/resource/formats/pickle/CjsPickleFormat.js +34 -14
- package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js +60 -451
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js +407 -0
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js.map +1 -0
- package/dist/resource/formats/pickle/core/pickleCommon.js +671 -0
- package/dist/resource/formats/pickle/core/pickleCommon.js.map +1 -0
- package/dist/resource/formats/red/core/blackDefinitions.js +1 -1
- package/dist/resource/formats/webgl/core/effectPackage.js +85 -7
- package/dist/resource/formats/webgl/core/effectPackage.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +666 -565
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
- package/dist/resource/formats/webgl/core/glslBackendBodySet.js +4 -4
- package/dist/resource/formats/webgl/core/glslBackendBodySet.js.map +1 -1
- package/dist/resource/formats/webgl/core/helpers.js +2 -2
- package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
- package/dist/resource/geometry/TriGeometryRes.js +61 -7
- package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +11 -11
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
- package/dist/resource/index.js +11 -0
- package/dist/resource/index.js.map +1 -1
- package/dist/resource/shader/Tr2EffectRes.js +2 -3
- package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialArea.js +3 -3
- package/dist/resource/shader/Tr2MaterialArea.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialMesh.js +2 -2
- package/dist/resource/shader/Tr2MaterialMesh.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialRes.js +3 -3
- package/dist/resource/shader/Tr2MaterialRes.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js +2 -2
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js +2 -2
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +4 -4
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
- package/dist/resource/texture/SolidColorTextureConstructor.js +46 -0
- package/dist/resource/texture/SolidColorTextureConstructor.js.map +1 -0
- package/dist/resource/texture/Tr2ImageRes.js +3 -4
- package/dist/resource/texture/Tr2ImageRes.js.map +1 -1
- package/dist/resource/texture/Tr2TextureLodManager.js +0 -1
- package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePackChannel.js +4 -4
- package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipeline.js +3 -4
- package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +5 -5
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +3 -3
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +2 -2
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js +6 -6
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
- package/dist/resource/texture/TriTextureRes.js +65 -21
- package/dist/resource/texture/TriTextureRes.js.map +1 -1
- package/dist/resource/texture/index.js +2 -0
- package/dist/resource/texture/index.js.map +1 -1
- package/dist/resource/texture/solidColorTexture.js +111 -0
- package/dist/resource/texture/solidColorTexture.js.map +1 -0
- package/dist/resource/video/AudioMetadata.js +41 -0
- package/dist/resource/video/AudioMetadata.js.map +1 -0
- package/dist/resource/video/IAudioSink.js +51 -0
- package/dist/resource/video/IAudioSink.js.map +1 -0
- package/dist/resource/video/IEncodedFrame.js +52 -0
- package/dist/resource/video/IEncodedFrame.js.map +1 -0
- package/dist/resource/video/IVideoContainerParser.js +70 -0
- package/dist/resource/video/IVideoContainerParser.js.map +1 -0
- package/dist/resource/video/IVideoDecoder.js +36 -0
- package/dist/resource/video/IVideoDecoder.js.map +1 -0
- package/dist/resource/video/PcmFrame.js +33 -0
- package/dist/resource/video/PcmFrame.js.map +1 -0
- package/dist/resource/video/VideoFrame.js +45 -0
- package/dist/resource/video/VideoFrame.js.map +1 -0
- package/dist/resource/video/VideoMetadata.js +34 -0
- package/dist/resource/video/VideoMetadata.js.map +1 -0
- package/dist/resource/video/enums.js +30 -0
- package/dist/resource/video/enums.js.map +1 -0
- package/dist/sof/EveSOF.js +176 -176
- package/dist/sof/EveSOF.js.map +1 -1
- package/dist/sof/EveSOFDNA.js +5 -1
- package/dist/sof/EveSOFDNA.js.map +1 -1
- package/dist/sof/EveSOFData.js +2 -2
- package/dist/sof/EveSOFData.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFaction.js +2 -2
- package/dist/sof/faction/EveSOFDataFaction.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionChild.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionChild.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionColorSet.js +189 -3
- package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionHullArea.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionHullArea.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionPlaneSet.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionPlaneSet.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGeneric.js +234 -230
- package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericDamage.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericDamage.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericDecalShader.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericDecalShader.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericHullCategory.js +27 -23
- package/dist/sof/generic/EveSOFDataGenericHullCategory.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericHullDamage.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericHullDamage.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericShader.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericShader.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericString.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericString.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericSwarm.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericSwarm.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericVariant.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericVariant.js.map +1 -1
- package/dist/sof/generic/EveSOFDataVisibilityGroup.js +2 -2
- package/dist/sof/generic/EveSOFDataVisibilityGroup.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHull.js +56 -3
- package/dist/sof/hull/EveSOFDataHull.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullAnimation.js +2 -2
- package/dist/sof/hull/EveSOFDataHullAnimation.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullArea.js +58 -54
- package/dist/sof/hull/EveSOFDataHullArea.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBanner.js +109 -3
- package/dist/sof/hull/EveSOFDataHullBanner.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBannerLight.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBannerLight.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBannerSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBannerSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBannerSetItem.js +109 -3
- package/dist/sof/hull/EveSOFDataHullBannerSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBooster.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBooster.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBoosterItem.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBoosterItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullChild.js +55 -50
- package/dist/sof/hull/EveSOFDataHullChild.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullChildSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullChildSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullChildSetItem.js +51 -46
- package/dist/sof/hull/EveSOFDataHullChildSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullController.js +2 -2
- package/dist/sof/hull/EveSOFDataHullController.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullDecalSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullDecalSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullDecalSetItem.js +45 -3
- package/dist/sof/hull/EveSOFDataHullDecalSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullHazeSet.js +21 -3
- package/dist/sof/hull/EveSOFDataHullHazeSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullHazeSetItem.js +47 -43
- package/dist/sof/hull/EveSOFDataHullHazeSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLightSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSetItem.js +4 -2
- package/dist/sof/hull/EveSOFDataHullLightSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLocator.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLocator.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLocatorSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLocatorSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullPlaneSet.js +29 -3
- package/dist/sof/hull/EveSOFDataHullPlaneSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js +81 -75
- package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSoundEmitter.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSoundEmitter.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpotlightSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSpotlightSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js +45 -41
- package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js +70 -66
- package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSpriteSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js +45 -41
- package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js +2 -2
- package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js.map +1 -1
- package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js +2 -2
- package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionBucket.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionBucket.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js +35 -3
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js.map +1 -1
- package/dist/sof/layout/EveSOFDataLayout.js +2 -2
- package/dist/sof/layout/EveSOFDataLayout.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPattern.js +2 -2
- package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternLayer.js +60 -3
- package/dist/sof/pattern/EveSOFDataPatternLayer.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js +23 -3
- package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternPerHull.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternPerHull.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternTransform.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternTransform.js.map +1 -1
- package/dist/sof/race/EveSOFDataRace.js +46 -42
- package/dist/sof/race/EveSOFDataRace.js.map +1 -1
- package/dist/sof/race/EveSOFDataRaceDamage.js +2 -2
- package/dist/sof/race/EveSOFDataRaceDamage.js.map +1 -1
- package/dist/sof/shared/CjsExternalRef.js +2 -2
- package/dist/sof/shared/CjsExternalRef.js.map +1 -1
- package/dist/sof/shared/EveSOFDNADescriptor.js +2 -2
- package/dist/sof/shared/EveSOFDNADescriptor.js.map +1 -1
- package/dist/sof/shared/EveSOFDataArea.js +61 -3
- package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
- package/dist/sof/shared/EveSOFDataAreaMaterial.js +4 -2
- package/dist/sof/shared/EveSOFDataAreaMaterial.js.map +1 -1
- package/dist/sof/shared/EveSOFDataBlinkType.js +48 -8
- package/dist/sof/shared/EveSOFDataBlinkType.js.map +1 -1
- package/dist/sof/shared/EveSOFDataBooster.js +2 -2
- package/dist/sof/shared/EveSOFDataBooster.js.map +1 -1
- package/dist/sof/shared/EveSOFDataBoosterShape.js +2 -2
- package/dist/sof/shared/EveSOFDataBoosterShape.js.map +1 -1
- package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js +2 -2
- package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js.map +1 -1
- package/dist/sof/shared/EveSOFDataInstancedMesh.js +40 -3
- package/dist/sof/shared/EveSOFDataInstancedMesh.js.map +1 -1
- package/dist/sof/shared/EveSOFDataLogo.js +2 -2
- package/dist/sof/shared/EveSOFDataLogo.js.map +1 -1
- package/dist/sof/shared/EveSOFDataLogoSet.js +33 -3
- package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
- package/dist/sof/shared/EveSOFDataMaterial.js +2 -2
- package/dist/sof/shared/EveSOFDataMaterial.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameter.js +2 -2
- package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterBool.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterColor.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterFloat.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterInt.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterVector2.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterVector3.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -1
- package/dist/sof/shared/EveSOFDataPointLightAttachment.js +2 -2
- package/dist/sof/shared/EveSOFDataPointLightAttachment.js.map +1 -1
- package/dist/sof/shared/EveSOFDataSpotLightAttachment.js +2 -2
- package/dist/sof/shared/EveSOFDataSpotLightAttachment.js.map +1 -1
- package/dist/sof/shared/EveSOFDataTexture.js +2 -2
- package/dist/sof/shared/EveSOFDataTexture.js.map +1 -1
- package/dist/sof/shared/EveSOFDataTransform.js +2 -2
- package/dist/sof/shared/EveSOFDataTransform.js.map +1 -1
- package/dist/sof/shared/EveSofDataMeshInstance.js +2 -2
- package/dist/sof/shared/EveSofDataMeshInstance.js.map +1 -1
- package/dist/sof/sofDocumentValues.js +9 -0
- package/dist/sof/sofDocumentValues.js.map +1 -1
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +2 -25
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -1
- package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js +2 -72
- package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -1
- package/dist/trinity/controllers/ITr2ControllerOwner.js +1 -36
- package/dist/trinity/controllers/ITr2ControllerOwner.js.map +1 -1
- package/dist/trinity/controllers/Tr2Controller.js +4 -5
- package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
- package/dist/trinity/controllers/Tr2ControllerEventHandler.js +2 -2
- package/dist/trinity/controllers/Tr2ControllerEventHandler.js.map +1 -1
- package/dist/trinity/controllers/Tr2ControllerReference.js +9 -17
- package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/trinity/controllers/Tr2SyncToAnimation.js +4 -5
- package/dist/trinity/controllers/Tr2SyncToAnimation.js.map +1 -1
- package/dist/trinity/controllers/action/ITr2ControllerAction.js +1 -28
- package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js +9 -7
- package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js +11 -9
- package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js +9 -7
- package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionCallback.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionCallback.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionChildEffect.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionChildEffect.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionOverlay.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionOverlay.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js +13 -9
- package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPlaySound.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionPlaySound.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPython.js +6 -6
- package/dist/trinity/controllers/action/Tr2ActionPython.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js +8 -17
- package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetValue.js +11 -9
- package/dist/trinity/controllers/action/Tr2ActionSetValue.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/trinity/controllers/contracts.js +27 -19
- package/dist/trinity/controllers/contracts.js.map +1 -1
- package/dist/trinity/controllers/expression/Tr2BindingPoint.js +6 -15
- package/dist/trinity/controllers/expression/Tr2BindingPoint.js.map +1 -1
- package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js +2 -2
- package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js.map +1 -1
- package/dist/trinity/controllers/expression/expressionRuntime.js +136 -0
- package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -1
- package/dist/trinity/controllers/index.js +6 -6
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +1 -24
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
- package/dist/trinity/controllers/state/Tr2StateMachine.js +4 -6
- package/dist/trinity/controllers/state/Tr2StateMachine.js.map +1 -1
- package/dist/trinity/controllers/state/Tr2StateMachineState.js +6 -6
- package/dist/trinity/controllers/state/Tr2StateMachineState.js.map +1 -1
- package/dist/trinity/controllers/state/Tr2StateMachineTransition.js +12 -9
- package/dist/trinity/controllers/state/Tr2StateMachineTransition.js.map +1 -1
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js +5 -6
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
- package/dist/trinity/core/ITr2Renderable.js +1 -49
- package/dist/trinity/core/ITr2Renderable.js.map +1 -1
- package/dist/trinity/core/ITr2Updateable.js +1 -22
- package/dist/trinity/core/ITr2Updateable.js.map +1 -1
- package/dist/trinity/core/ITriReroutable.js +56 -0
- package/dist/trinity/core/ITriReroutable.js.map +1 -0
- package/dist/trinity/core/Tr2Denoiser.js +2 -2
- package/dist/trinity/core/Tr2Denoiser.js.map +1 -1
- package/dist/trinity/core/Tr2MaterialParameterStore.js +2 -2
- package/dist/trinity/core/Tr2MaterialParameterStore.js.map +1 -1
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js +2 -2
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -1
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +1 -1
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -1
- package/dist/trinity/core/Tr2Renderer.js +161 -4
- package/dist/trinity/core/Tr2Renderer.js.map +1 -1
- package/dist/trinity/core/Tr2ShadowMap.js +3 -3
- package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
- package/dist/trinity/core/Tr2StreamingBitmapSaver.js +2 -2
- package/dist/trinity/core/Tr2StreamingBitmapSaver.js.map +1 -1
- package/dist/trinity/core/Tr2Transform.js +4 -5
- package/dist/trinity/core/Tr2Transform.js.map +1 -1
- package/dist/trinity/core/animation/Tr2GrannyAnimation.js +2 -2
- package/dist/trinity/core/animation/Tr2GrannyAnimation.js.map +1 -1
- package/dist/trinity/core/animation/Tr2TextureAnimation.js +2 -2
- package/dist/trinity/core/animation/Tr2TextureAnimation.js.map +1 -1
- package/dist/trinity/core/animation/TriRigidOrientation.js +2 -2
- package/dist/trinity/core/animation/TriRigidOrientation.js.map +1 -1
- package/dist/trinity/core/animation/TriTorque.js +2 -2
- package/dist/trinity/core/animation/TriTorque.js.map +1 -1
- package/dist/trinity/core/batch/CjsBatchManager.js +15 -50
- package/dist/trinity/core/batch/CjsBatchManager.js.map +1 -1
- package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js +12 -14
- package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -1
- package/dist/trinity/core/binding/Tr2BindingVector3.js +2 -2
- package/dist/trinity/core/binding/Tr2BindingVector3.js.map +1 -1
- package/dist/trinity/core/binding/Tr2DynamicBinding.js +6 -20
- package/dist/trinity/core/binding/Tr2DynamicBinding.js.map +1 -1
- package/dist/trinity/core/binding/Tr2ExternalParameter.js +3 -6
- package/dist/trinity/core/binding/Tr2ExternalParameter.js.map +1 -1
- package/dist/trinity/core/binding/Tr2PyValueBinding.js +2 -2
- package/dist/trinity/core/binding/Tr2PyValueBinding.js.map +1 -1
- package/dist/trinity/core/binding/TriValueBinding.js +50 -24
- package/dist/trinity/core/binding/TriValueBinding.js.map +1 -1
- package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js +0 -6
- package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js.map +1 -1
- package/dist/trinity/core/context/CjsTrinityStepExecutor.js +7 -10
- package/dist/trinity/core/context/CjsTrinityStepExecutor.js.map +1 -1
- package/dist/trinity/core/context/Tr2RenderContext.js +74 -116
- package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
- package/dist/trinity/core/device/Tr2DepthStencil.js +2 -2
- package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
- package/dist/trinity/core/device/Tr2GpuBuffer.js +2 -2
- package/dist/trinity/core/device/Tr2GpuBuffer.js.map +1 -1
- package/dist/trinity/core/device/Tr2RenderTarget.js +2 -2
- package/dist/trinity/core/device/Tr2RenderTarget.js.map +1 -1
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js +2 -2
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -1
- package/dist/trinity/core/device/Tr2SwapChain.js +2 -2
- package/dist/trinity/core/device/Tr2SwapChain.js.map +1 -1
- package/dist/trinity/core/device/TriDevice.js +576 -37
- package/dist/trinity/core/device/TriDevice.js.map +1 -1
- package/dist/trinity/core/device/gTriDev.js +49 -0
- package/dist/trinity/core/device/gTriDev.js.map +1 -0
- package/dist/trinity/core/index.js +9 -5
- package/dist/trinity/core/index.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2KelvinColor.js +2 -2
- package/dist/trinity/core/lighting/Tr2KelvinColor.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js +7 -17
- package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2ShLightingManager.js +2 -2
- package/dist/trinity/core/lighting/Tr2ShLightingManager.js.map +1 -1
- package/dist/trinity/core/line/Tr2BoundingLineSet.js +2 -2
- package/dist/trinity/core/line/Tr2BoundingLineSet.js.map +1 -1
- package/dist/trinity/core/line/Tr2CurveLineSet.js +10 -7
- package/dist/trinity/core/line/Tr2CurveLineSet.js.map +1 -1
- package/dist/trinity/core/line/Tr2LineGraph.js +2 -2
- package/dist/trinity/core/line/Tr2LineGraph.js.map +1 -1
- package/dist/trinity/core/line/Tr2PrimitiveSet.js +4 -5
- package/dist/trinity/core/line/Tr2PrimitiveSet.js.map +1 -1
- package/dist/trinity/core/line/TriLineSet.js +2 -2
- package/dist/trinity/core/line/TriLineSet.js.map +1 -1
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js +1 -37
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -1
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js +1 -34
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +5 -6
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2InstancedMesh.js +2 -2
- package/dist/trinity/core/mesh/Tr2InstancedMesh.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2Mesh.js +288 -183
- package/dist/trinity/core/mesh/Tr2Mesh.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2MeshArea.js +32 -3
- package/dist/trinity/core/mesh/Tr2MeshArea.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2MeshBase.js +58 -8
- package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +141 -142
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js +2 -2
- package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js.map +1 -1
- package/dist/trinity/core/procedural/GradientTextureConstructor.js +62 -0
- package/dist/trinity/core/procedural/GradientTextureConstructor.js.map +1 -0
- package/dist/trinity/core/procedural/gradientTexture.js +196 -0
- package/dist/trinity/core/procedural/gradientTexture.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -1
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +5 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -1
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +2 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -1
- package/dist/trinity/core/tool/Tr2ManipulationTool.js +2 -2
- package/dist/trinity/core/tool/Tr2ManipulationTool.js.map +1 -1
- package/dist/trinity/core/tool/Tr2RotationTool.js +2 -2
- package/dist/trinity/core/tool/Tr2RotationTool.js.map +1 -1
- package/dist/trinity/core/tool/Tr2ScalingTool.js +2 -2
- package/dist/trinity/core/tool/Tr2ScalingTool.js.map +1 -1
- package/dist/trinity/core/tool/Tr2TranslationTool.js +2 -2
- package/dist/trinity/core/tool/Tr2TranslationTool.js.map +1 -1
- package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js +2 -2
- package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js.map +1 -1
- package/dist/trinity/core/variable/TriFloat.js +2 -2
- package/dist/trinity/core/variable/TriFloat.js.map +1 -1
- package/dist/trinity/core/variable/TriObserverLocal.js +2 -2
- package/dist/trinity/core/variable/TriObserverLocal.js.map +1 -1
- package/dist/trinity/core/variable/TriVariable.js +2 -2
- package/dist/trinity/core/variable/TriVariable.js.map +1 -1
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js +2 -0
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -1
- package/dist/trinity/core/view/TriProjection.js +2 -2
- package/dist/trinity/core/view/TriProjection.js.map +1 -1
- package/dist/trinity/core/view/TriRect.js +2 -2
- package/dist/trinity/core/view/TriRect.js.map +1 -1
- package/dist/trinity/core/view/TriView.js +2 -2
- package/dist/trinity/core/view/TriView.js.map +1 -1
- package/dist/trinity/core/view/TriViewport.js +2 -2
- package/dist/trinity/core/view/TriViewport.js.map +1 -1
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +3 -3
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
- package/dist/trinity/curves/Tr2CurveSetRange.js +2 -2
- package/dist/trinity/curves/Tr2CurveSetRange.js.map +1 -1
- package/dist/trinity/curves/TriCurveSet.js +2 -2
- package/dist/trinity/curves/TriCurveSet.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveColor.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveColor.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveColorMixer.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveColorMixer.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveCombiner.js +3 -3
- package/dist/trinity/curves/curve/Tr2CurveCombiner.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveConstant.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveConstant.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveQuaternion.js +3 -3
- package/dist/trinity/curves/curve/Tr2CurveQuaternion.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveScalar.js +3 -3
- package/dist/trinity/curves/curve/Tr2CurveScalar.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector2.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector2.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector3.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector3.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2DistanceTracker.js +5 -5
- package/dist/trinity/curves/curve/Tr2DistanceTracker.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2FollowCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2FollowCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2RotationAdapter.js +2 -2
- package/dist/trinity/curves/curve/Tr2RotationAdapter.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2ScalarFader.js +2 -2
- package/dist/trinity/curves/curve/Tr2ScalarFader.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2TranslationAdapter.js +2 -2
- package/dist/trinity/curves/curve/Tr2TranslationAdapter.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js +2 -2
- package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js.map +1 -1
- package/dist/trinity/curves/curve/TriColorSequencer.js +18 -18
- package/dist/trinity/curves/curve/TriColorSequencer.js.map +1 -1
- package/dist/trinity/curves/curve/TriEventCurve.js +51 -51
- package/dist/trinity/curves/curve/TriEventCurve.js.map +1 -1
- package/dist/trinity/curves/curve/TriPerlinCurve.js +2 -2
- package/dist/trinity/curves/curve/TriPerlinCurve.js.map +1 -1
- package/dist/trinity/curves/curve/TriVectorSequencer.js +36 -36
- package/dist/trinity/curves/curve/TriVectorSequencer.js.map +1 -1
- package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js +2 -2
- package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js.map +1 -1
- package/dist/trinity/curves/key/Tr2MatrixKey.js +2 -2
- package/dist/trinity/curves/key/Tr2MatrixKey.js.map +1 -1
- package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js +2 -2
- package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js.map +1 -1
- package/dist/trinity/curves/key/Tr2ScalarExprKey.js +28 -24
- package/dist/trinity/curves/key/Tr2ScalarExprKey.js.map +1 -1
- package/dist/trinity/curves/key/TriEventKey.js +2 -2
- package/dist/trinity/curves/key/TriEventKey.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyEventTrack.js +2 -2
- package/dist/trinity/curves/track/Tr2GrannyEventTrack.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyTrack.js +9 -4
- package/dist/trinity/curves/track/Tr2GrannyTrack.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js +2 -2
- package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js +2 -2
- package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js.map +1 -1
- package/dist/trinity/eve/AudioGameObject.js +6 -8
- package/dist/trinity/eve/AudioGameObject.js.map +1 -1
- package/dist/trinity/eve/EveCustomMask.js +2 -2
- package/dist/trinity/eve/EveCustomMask.js.map +1 -1
- package/dist/trinity/eve/EveDistanceField.js +6 -4
- package/dist/trinity/eve/EveDistanceField.js.map +1 -1
- package/dist/trinity/eve/EveImpactOverlay.js +2 -2
- package/dist/trinity/eve/EveImpactOverlay.js.map +1 -1
- package/dist/trinity/eve/EveThrottleable.js +2 -2
- package/dist/trinity/eve/EveThrottleable.js.map +1 -1
- package/dist/trinity/eve/EveTriggerVolume.js +4 -5
- package/dist/trinity/eve/EveTriggerVolume.js.map +1 -1
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js +1 -23
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
- package/dist/trinity/eve/IEveSpaceObject2.js +1 -24
- package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/IEveTransform.js +1 -22
- package/dist/trinity/eve/IEveTransform.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerItem.js +2 -2
- package/dist/trinity/eve/attachment/banner/EveBannerItem.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerLight.js +2 -2
- package/dist/trinity/eve/attachment/banner/EveBannerLight.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js +20 -3
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +127 -122
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +5 -5
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +4 -5
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveTrailsSet.js +4 -2
- package/dist/trinity/eve/attachment/booster/EveTrailsSet.js.map +1 -1
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +169 -155
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js +3 -3
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js +2 -2
- package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js +2 -2
- package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneLight.js +2 -2
- package/dist/trinity/eve/attachment/plane/EvePlaneLight.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +10 -4
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js +3 -2
- package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js +2 -2
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +3 -3
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js +2 -2
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js +2 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +4 -4
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js +2 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +5 -5
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js +2 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js +7 -4
- package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +177 -144
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js +2 -2
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/trinity/eve/camera/EveCamera.js +5 -11
- package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
- package/dist/trinity/eve/child/EveChildAudio.js +4 -5
- package/dist/trinity/eve/child/EveChildAudio.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBehaviorSystem.js +5 -6
- package/dist/trinity/eve/child/EveChildBehaviorSystem.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBoosterSet.js +6 -6
- package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBulletStorm.js +4 -5
- package/dist/trinity/eve/child/EveChildBulletStorm.js.map +1 -1
- package/dist/trinity/eve/child/EveChildCloud.js +5 -6
- package/dist/trinity/eve/child/EveChildCloud.js.map +1 -1
- package/dist/trinity/eve/child/EveChildCloud2.js +166 -166
- package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/trinity/eve/child/EveChildContainer.js +235 -169
- package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildEffectPropagator.js +9 -9
- package/dist/trinity/eve/child/EveChildEffectPropagator.js.map +1 -1
- package/dist/trinity/eve/child/EveChildExplosion.js +11 -7
- package/dist/trinity/eve/child/EveChildExplosion.js.map +1 -1
- package/dist/trinity/eve/child/EveChildFogVolume.js +2 -2
- package/dist/trinity/eve/child/EveChildFogVolume.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInheritProperties.js +2 -2
- package/dist/trinity/eve/child/EveChildInheritProperties.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstanceContainer.js +2 -2
- package/dist/trinity/eve/child/EveChildInstanceContainer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js +11 -7
- package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +2 -2
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +2 -2
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +2 -2
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js +4 -5
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -1
- package/dist/trinity/eve/child/EveChildLightingOverride.js +4 -5
- package/dist/trinity/eve/child/EveChildLightingOverride.js.map +1 -1
- package/dist/trinity/eve/child/EveChildLineSet.js +4 -5
- package/dist/trinity/eve/child/EveChildLineSet.js.map +1 -1
- package/dist/trinity/eve/child/EveChildLink.js +2 -2
- package/dist/trinity/eve/child/EveChildLink.js.map +1 -1
- package/dist/trinity/eve/child/EveChildMesh.js +315 -229
- package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +2 -2
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js +2 -2
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -1
- package/dist/trinity/eve/child/EveChildParticleSphere.js +4 -5
- package/dist/trinity/eve/child/EveChildParticleSphere.js.map +1 -1
- package/dist/trinity/eve/child/EveChildParticleSystem.js +36 -36
- package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPlug.js +60 -14
- package/dist/trinity/eve/child/EveChildPlug.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPostProcessVolume.js +2 -2
- package/dist/trinity/eve/child/EveChildPostProcessVolume.js.map +1 -1
- package/dist/trinity/eve/child/EveChildQuad.js +4 -5
- package/dist/trinity/eve/child/EveChildQuad.js.map +1 -1
- package/dist/trinity/eve/child/EveChildRef.js +2 -2
- package/dist/trinity/eve/child/EveChildRef.js.map +1 -1
- package/dist/trinity/eve/child/EveChildSocket.js +2 -2
- package/dist/trinity/eve/child/EveChildSocket.js.map +1 -1
- package/dist/trinity/eve/child/EveChildSpherePin.js +4 -4
- package/dist/trinity/eve/child/EveChildSpherePin.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTurret.js +4 -4
- package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
- package/dist/trinity/eve/child/EveCloudVolumeBall.js +2 -2
- package/dist/trinity/eve/child/EveCloudVolumeBall.js.map +1 -1
- package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js +6 -6
- package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
- package/dist/trinity/eve/child/EveSpaceObjectChild.js +2 -2
- package/dist/trinity/eve/child/EveSpaceObjectChild.js.map +1 -1
- package/dist/trinity/eve/child/IEveLightingOverride.js +1 -23
- package/dist/trinity/eve/child/IEveLightingOverride.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Allign.js +2 -2
- package/dist/trinity/eve/child/behaviors/Allign.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/ApproachGroup.js +2 -2
- package/dist/trinity/eve/child/behaviors/ApproachGroup.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/BackAndForth.js +2 -2
- package/dist/trinity/eve/child/behaviors/BackAndForth.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/BehaviorGroup.js +4 -4
- package/dist/trinity/eve/child/behaviors/BehaviorGroup.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js +2 -2
- package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js +2 -2
- package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/DroneAvoidance.js +2 -2
- package/dist/trinity/eve/child/behaviors/DroneAvoidance.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/FollowASpline.js +2 -2
- package/dist/trinity/eve/child/behaviors/FollowASpline.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Formation.js +2 -2
- package/dist/trinity/eve/child/behaviors/Formation.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/InclusionVolume.js +2 -2
- package/dist/trinity/eve/child/behaviors/InclusionVolume.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Inertia.js +2 -2
- package/dist/trinity/eve/child/behaviors/Inertia.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/PlayFX.js +2 -2
- package/dist/trinity/eve/child/behaviors/PlayFX.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/SeekTarget.js +2 -2
- package/dist/trinity/eve/child/behaviors/SeekTarget.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/SpawnDrones.js +2 -2
- package/dist/trinity/eve/child/behaviors/SpawnDrones.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Wander.js +2 -2
- package/dist/trinity/eve/child/behaviors/Wander.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js +2 -2
- package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js +2 -2
- package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -1
- package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js +8 -8
- package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
- package/dist/trinity/eve/child/lineSetPaths/EveCircle.js +8 -8
- package/dist/trinity/eve/child/lineSetPaths/EveCircle.js.map +1 -1
- package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js +2 -2
- package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
- package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js +5 -6
- package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +3 -3
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +3 -3
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js +2 -2
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +3 -3
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
- package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js +2 -2
- package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +2 -2
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +2 -2
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +2 -2
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +2 -2
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +4 -4
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +2 -2
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
- package/dist/trinity/eve/effect/lensflare/EveLensflare.js +4 -5
- package/dist/trinity/eve/effect/lensflare/EveLensflare.js.map +1 -1
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js +4 -5
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js.map +1 -1
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js +4 -4
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -1
- package/dist/trinity/eve/index.js +4 -4
- package/dist/trinity/eve/lights/Tr2FactionLight.js +5 -6
- package/dist/trinity/eve/lights/Tr2FactionLight.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2Light.js +37 -9
- package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2PointLight.js +2 -2
- package/dist/trinity/eve/lights/Tr2PointLight.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2SpotLight.js +2 -2
- package/dist/trinity/eve/lights/Tr2SpotLight.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2TexturedPointLight.js +29 -31
- package/dist/trinity/eve/lights/Tr2TexturedPointLight.js.map +1 -1
- package/dist/trinity/eve/locator/EveLocator2.js +2 -2
- package/dist/trinity/eve/locator/EveLocator2.js.map +1 -1
- package/dist/trinity/eve/locator/EveLocatorSets.js +13 -4
- package/dist/trinity/eve/locator/EveLocatorSets.js.map +1 -1
- package/dist/trinity/eve/locator/Locator.js +2 -2
- package/dist/trinity/eve/locator/Locator.js.map +1 -1
- package/dist/trinity/eve/overlays/EveDamageOverlay.js +2 -2
- package/dist/trinity/eve/overlays/EveDamageOverlay.js.map +1 -1
- package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js +2 -2
- package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +5 -6
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js +4 -5
- package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js +2 -2
- package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js +2 -2
- package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch.js +6 -6
- package/dist/trinity/eve/renderable/stretch/EveStretch.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js +10 -8
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js +4 -5
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceScene.js +2 -2
- package/dist/trinity/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js +2 -2
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
- package/dist/trinity/eve/scene/components/EveComponentRegistry.js +3 -3
- package/dist/trinity/eve/scene/components/EveComponentRegistry.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js +6 -7
- package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js +2 -2
- package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js +4 -8
- package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightMesh.js +7 -4
- package/dist/trinity/eve/smartLights/EveSmartLightMesh.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js +25 -15
- package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightQuad.js +4 -9
- package/dist/trinity/eve/smartLights/EveSmartLightQuad.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js +2 -2
- package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +2 -3
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +10 -18
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +4 -9
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterBool.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterBool.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterColor.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterColor.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterFloat.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterFloat.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterInt.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterInt.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterString.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterString.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterVector2.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterVector2.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterVector3.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterVector3.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterVector4.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterVector4.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveEffectRoot2.js +20 -17
- package/dist/trinity/eve/spaceObject/EveEffectRoot2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveMissile.js +2 -2
- package/dist/trinity/eve/spaceObject/EveMissile.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveMissileWarhead.js +2 -2
- package/dist/trinity/eve/spaceObject/EveMissileWarhead.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveMobile.js +2 -2
- package/dist/trinity/eve/spaceObject/EveMobile.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveRootTransform.js +2 -2
- package/dist/trinity/eve/spaceObject/EveRootTransform.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveShip2.js +2 -2
- package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +539 -432
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveTransform.js +7 -7
- package/dist/trinity/eve/spaceObject/EveTransform.js.map +1 -1
- package/dist/trinity/eve/spaceObject/IEveSpaceObject2ParentData.js +44 -52
- package/dist/trinity/eve/spaceObject/IEveSpaceObject2ParentData.js.map +1 -1
- package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +2 -2
- package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -1
- package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +2 -2
- package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -1
- package/dist/trinity/eve/spaceObject/planet/EvePlanet.js +2 -2
- package/dist/trinity/eve/spaceObject/planet/EvePlanet.js.map +1 -1
- package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js +2 -2
- package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js +7 -8
- package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
- package/dist/trinity/eve/ui/EveConnector.js +2 -2
- package/dist/trinity/eve/ui/EveConnector.js.map +1 -1
- package/dist/trinity/eve/ui/EveEllipseDefinition.js +2 -2
- package/dist/trinity/eve/ui/EveEllipseDefinition.js.map +1 -1
- package/dist/trinity/eve/ui/EveEllipseSet.js +36 -6
- package/dist/trinity/eve/ui/EveEllipseSet.js.map +1 -1
- package/dist/trinity/eve/ui/EveLineContainer.js +4 -5
- package/dist/trinity/eve/ui/EveLineContainer.js.map +1 -1
- package/dist/trinity/eve/ui/EveProjectBracket.js +11 -3
- package/dist/trinity/eve/ui/EveProjectBracket.js.map +1 -1
- package/dist/trinity/eve/ui/EveSpherePin.js +6 -7
- package/dist/trinity/eve/ui/EveSpherePin.js.map +1 -1
- package/dist/trinity/eve/ui/EveSprite2dBracket.js +2 -2
- package/dist/trinity/eve/ui/EveSprite2dBracket.js.map +1 -1
- package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js +2 -2
- package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
- package/dist/trinity/eve/ui/EveTacticalOverlay.js +6 -24
- package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
- package/dist/trinity/eve/ui/EveUiObject.js +2 -2
- package/dist/trinity/eve/ui/EveUiObject.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +4 -5
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveLineSet.js +6 -7
- package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +2 -2
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -1
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +8 -9
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js +2 -2
- package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js +2 -2
- package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +4 -4
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +4 -4
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +2 -2
- package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
- package/dist/trinity/eve/volume/EveBoxVolume.js +44 -44
- package/dist/trinity/eve/volume/EveBoxVolume.js.map +1 -1
- package/dist/trinity/eve/volume/EveEllipsoidVolume.js +2 -2
- package/dist/trinity/eve/volume/EveEllipsoidVolume.js.map +1 -1
- package/dist/trinity/eve/volume/EveSphereVolume.js +5 -6
- package/dist/trinity/eve/volume/EveSphereVolume.js.map +1 -1
- package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js +2 -2
- package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
- package/dist/trinity/generated/eve/effect/EveOccluder.js +2 -2
- package/dist/trinity/generated/eve/effect/EveOccluder.js.map +1 -1
- package/dist/trinity/generated/eve/effect/EveStarfield.js +2 -2
- package/dist/trinity/generated/eve/effect/EveStarfield.js.map +1 -1
- package/dist/trinity/generated/font/Tr2FontManager.js +2 -2
- package/dist/trinity/generated/font/Tr2FontManager.js.map +1 -1
- package/dist/trinity/generated/font/Tr2FontMeasurer.js +2 -2
- package/dist/trinity/generated/font/Tr2FontMeasurer.js.map +1 -1
- package/dist/trinity/generated/font/Tr2SBitWrapper.js +2 -2
- package/dist/trinity/generated/font/Tr2SBitWrapper.js.map +1 -1
- package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js +2 -2
- package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
- package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js +2 -2
- package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2SSSSS.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2SSSSS.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
- package/dist/trinity/index.js +23 -16
- package/dist/trinity/index.js.map +1 -1
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js +1 -31
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -1
- package/dist/trinity/particle/Tr2ParticleSystem.js +51 -52
- package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js +2 -2
- package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js.map +1 -1
- package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js +13 -3
- package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js.map +1 -1
- package/dist/trinity/particle/constraint/Tr2SphereConstraint.js +2 -2
- package/dist/trinity/particle/constraint/Tr2SphereConstraint.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementData.js +22 -8
- package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js +13 -25
- package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js +38 -3
- package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +26 -27
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +4 -5
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js +2 -2
- package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +17 -18
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ForceSphereVolume.js +2 -2
- package/dist/trinity/particle/force/Tr2ForceSphereVolume.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleDirectForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleDirectForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleDragForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleDragForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleSpring.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleSpring.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleVortexForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleVortexForce.js.map +1 -1
- package/dist/trinity/particle/index.js +1 -1
- package/dist/trinity/postProcess/Tr2PostProcess.js +2 -2
- package/dist/trinity/postProcess/Tr2PostProcess.js.map +1 -1
- package/dist/trinity/postProcess/Tr2PostProcess2.js +2 -2
- package/dist/trinity/postProcess/Tr2PostProcess2.js.map +1 -1
- package/dist/trinity/postProcess/Tr2PostProcessAttributes.js +2 -2
- package/dist/trinity/postProcess/Tr2PostProcessAttributes.js.map +1 -1
- package/dist/trinity/postProcess/Tr2PostProcessRenderer.js +4 -4
- package/dist/trinity/postProcess/Tr2PostProcessRenderer.js.map +1 -1
- package/dist/trinity/postProcess/Tr2SSAO.js +4 -4
- package/dist/trinity/postProcess/Tr2SSAO.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js.map +1 -1
- package/dist/trinity/renderJob/Tr2RenderJobs.js +5 -5
- package/dist/trinity/renderJob/Tr2RenderJobs.js.map +1 -1
- package/dist/trinity/renderJob/TriRenderJob.js +4 -4
- package/dist/trinity/renderJob/TriRenderJob.js.map +1 -1
- package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js +4 -5
- package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js.map +1 -1
- package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js +4 -5
- package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js.map +1 -1
- package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js +2 -2
- package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js.map +1 -1
- package/dist/trinity/renderJob/step/TriRenderStep.js +2 -2
- package/dist/trinity/renderJob/step/TriRenderStep.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepClear.js +2 -2
- package/dist/trinity/renderJob/step/TriStepClear.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepClearUav.js +2 -2
- package/dist/trinity/renderJob/step/TriStepClearUav.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js +2 -2
- package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js +2 -2
- package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js +2 -2
- package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderAtlas.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderAtlas.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderDebug.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderDebug.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderEffect.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderEffect.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderFps.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderFps.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderObject.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderObject.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderPass.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderPass.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderScene.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderScene.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderTexture.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderTexture.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepResolve.js +2 -2
- package/dist/trinity/renderJob/step/TriStepResolve.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRunComputeShader.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRunComputeShader.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRunJob.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRunJob.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetProjection.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetProjection.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetRenderState.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetRenderState.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetVariableStore.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetVariableStore.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetView.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetView.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetViewport.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetViewport.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepTestBlocking.js +2 -2
- package/dist/trinity/renderJob/step/TriStepTestBlocking.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepToggleCubemap.js +2 -2
- package/dist/trinity/renderJob/step/TriStepToggleCubemap.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepUpdate.js +2 -2
- package/dist/trinity/renderJob/step/TriStepUpdate.js.map +1 -1
- package/dist/trinity/shader/Tr2DataTextureManager.js +9 -9
- package/dist/trinity/shader/Tr2DataTextureManager.js.map +1 -1
- package/dist/trinity/shader/Tr2Effect.js +370 -347
- package/dist/trinity/shader/Tr2Effect.js.map +1 -1
- package/dist/trinity/shader/Tr2Material.js +5 -5
- package/dist/trinity/shader/Tr2Material.js.map +1 -1
- package/dist/trinity/shader/Tr2ShaderBuffer.js +3 -4
- package/dist/trinity/shader/Tr2ShaderBuffer.js.map +1 -1
- package/dist/trinity/shader/index.js +3 -0
- package/dist/trinity/shader/index.js.map +1 -1
- package/dist/trinity/shader/parameter/CjsParameter.js +202 -185
- package/dist/trinity/shader/parameter/CjsParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/CjsVectorParameter.js +2 -2
- package/dist/trinity/shader/parameter/CjsVectorParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/ITriEffectParameter.js +56 -0
- package/dist/trinity/shader/parameter/ITriEffectParameter.js.map +1 -0
- package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js +31 -0
- package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js.map +1 -0
- package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js +43 -0
- package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js.map +1 -0
- package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js +17 -5
- package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2FloatParameter.js +46 -45
- package/dist/trinity/shader/parameter/Tr2FloatParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +14 -12
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js +33 -32
- package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js +11 -10
- package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js +55 -53
- package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js +49 -48
- package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js +52 -51
- package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js +56 -55
- package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriFloatArrayParameter.js +8 -8
- package/dist/trinity/shader/parameter/TriFloatArrayParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriTextureParameter.js +27 -22
- package/dist/trinity/shader/parameter/TriTextureParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriTransformParameter.js +27 -27
- package/dist/trinity/shader/parameter/TriTransformParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriVariableParameter.js +53 -54
- package/dist/trinity/shader/parameter/TriVariableParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriVector4.js +2 -2
- package/dist/trinity/shader/parameter/TriVector4.js.map +1 -1
- package/dist/trinity/shader/reflection/Tr2ShaderOption.js +4 -2
- package/dist/trinity/shader/reflection/Tr2ShaderOption.js.map +1 -1
- package/dist/trinity/shader/sampler/Tr2SamplerOverride.js +11 -2
- package/dist/trinity/shader/sampler/Tr2SamplerOverride.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js +8 -9
- package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dScene.js +4 -4
- package/dist/trinity/sprite2d/Tr2Sprite2dScene.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js +2 -2
- package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
- package/dist/trinity/ui/Tr2PresentParameters.js +2 -2
- package/dist/trinity/ui/Tr2PresentParameters.js.map +1 -1
- package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js +3 -3
- package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js.map +1 -1
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
- package/docs/core/README.md +38 -38
- package/docs/core/architecture.md +6 -5
- package/docs/core/reference/api.md +0 -10
- package/docs/core/reference/classes/README.md +57 -67
- package/docs/global/architecture.md +1 -3
- package/docs/global/blue-enums.md +115 -0
- package/docs/global/concepts/model-lifecycle.md +177 -182
- package/docs/global/core-types/README.md +394 -317
- package/docs/global/reference/api.md +2 -2
- package/docs/global/reference/classes/README.md +355 -205
- package/docs/global/reference/classes/dropped.md +40 -0
- package/docs/resource/architecture.md +152 -112
- package/docs/resource/concepts/resource-lifecycle.md +21 -15
- package/docs/resource/formats/geometry-interchange.md +50 -0
- package/docs/resource/formats/pickle.md +126 -100
- package/docs/resource/formats/provenance.md +15 -9
- package/docs/resource/formats/webgl/carbon-constant-layouts.md +98 -232
- package/docs/resource/formats/webgl/decl-io.md +241 -397
- package/docs/resource/formats/webgl/memory-structured.md +91 -128
- package/docs/resource/formats/webgl/texture-sample.md +306 -469
- package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +278 -530
- package/docs/resource/reference/classes/README.md +3 -1
- package/docs/resource/reference/classes/dropped.md +21 -1
- package/docs/resource/reference/classes/formats.md +33 -0
- package/docs/resource/reference/classes/texture.md +11 -1
- package/docs/resource/reference/classes/video.md +92 -0
- package/docs/resource/reference/events.md +10 -9
- package/docs/resource/reference/motherlode-cache.md +24 -11
- package/docs/resource/reference/queues.md +30 -1
- package/docs/trinity/README.md +5 -5
- package/docs/trinity/architecture.md +355 -344
- package/docs/trinity/concepts/eve-runtime-behavior.md +1 -1
- package/docs/trinity/reference/api.md +19 -7
- package/docs/trinity/reference/classes/dropped.md +2 -11
- package/docs/trinity/reference/classes/eve-runtime.md +1 -1
- package/docs/trinity/reference/classes/trinity-core.md +1672 -1622
- package/docs/trinity/reference/implementation-status.md +92 -92
- package/package.json +2 -1
- package/dist/core/CjsFrameDriver.js +0 -109
- package/dist/core/CjsFrameDriver.js.map +0 -1
- package/dist/global/contracts/CjsFrameLifecycle.js +0 -49
- package/dist/global/contracts/CjsFrameLifecycle.js.map +0 -1
- package/dist/global/contracts/CjsInstancedMeshManager.js +0 -58
- package/dist/global/contracts/CjsInstancedMeshManager.js.map +0 -1
- package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js +0 -4
- package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EveChildEffectPropagator.js","sources":["../../../../../src/trinity/eve/child/EveChildEffectPropagator.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildEffectPropagator.h\r\n// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildEffectPropagator.cpp\r\n// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildEffectPropagator_Blue.cpp\r\nimport { carbon, impl, io, type } from \"#schema\";\r\nimport { EveChildContainer } from \"./EveChildContainer.js\";\r\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { Tr2Lod } from \"../EveLODHelper.js\";\r\nimport { PropagationType, TriggerType } from \"../../generated/eve/child/enums.js\";\r\n\r\n// Module scratch for the trigger-driven locator paths (allocation rules:\r\n// copy-into, never allocate per frame; child updates run sequentially so the\r\n// scratch is non-reentrant by construction).\r\nconst BOUNDS_SCRATCH = vec4.create();\r\nconst SPHERE_CENTER_SCRATCH = vec3.create();\r\n\r\n// Carbon TriQuaternionDirVector (TriMath.cpp:262-269): stores the NORMALIZED\r\n// direction vector in the quaternion x/y/z slots with w = 0. It is a packed\r\n// direction, not a rotation - no quaternion composition happens here.\r\nfunction TriQuaternionDirVector(out, v)\r\n{\r\n const length = Math.hypot(v[0], v[1], v[2]);\r\n const scale = length ? 1 / length : 0;\r\n out[0] = v[0] * scale;\r\n out[1] = v[1] * scale;\r\n out[2] = v[2] * scale;\r\n out[3] = 0;\r\n return out;\r\n}\r\n\r\n// Carbon EveChildEffectPropagator::Transform (h:66-72): the per-locator\r\n// processed record. Records are allocated on trigger (ProcessLocators), never\r\n// per frame.\r\nfunction NewTransformRecord()\r\n{\r\n return {\r\n rotation: quat.create(),\r\n position: vec3.create(),\r\n scale: vec3.fromValues(1, 1, 1),\r\n sqrDistToSphereCenter: 0\r\n };\r\n}\r\n\r\n// Carbon SortByCircleDist (h:74-80): ascending squared distance to the\r\n// trigger-sphere center.\r\nfunction SortByCircleDist(lhs, rhs)\r\n{\r\n return lhs.sqrDistToSphereCenter - rhs.sqrDistToSphereCenter;\r\n}\r\n\r\n\r\n/** EveChildEffectPropagator (eve/child) - generated from schema shapeHash 0f2a96e8.... */\r\n@type.define({ className: \"EveChildEffectPropagator\", family: \"eve/child\" })\r\nexport class EveChildEffectPropagator extends EveChildContainer\r\n{\r\n\r\n /** m_type (PropagationType - enum PropagationType) [READWRITE, PERSIST, ENUM, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n @type.enum(\"PropagationType\")\r\n propagationType = 0;\r\n\r\n /** m_triggerMethod (TriggerType - enum TriggerType) [READWRITE, PERSIST, ENUM, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.int32\r\n @type.enum(\"TriggerType\")\r\n triggerMethood = 0;\r\n\r\n /** m_stopAfterNumTriggers (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n stopAfterNumTriggers = -1;\r\n\r\n /** m_randScaleMin (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n randScaleMin = 1;\r\n\r\n /** m_randScaleMax (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n randScaleMax = 1;\r\n\r\n /** m_triggerSphereOffset (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n triggerSphereOffset = vec3.create();\r\n\r\n /** m_effect (EveChildInstanceContainerPtr) [PERSISTONLY, NOTIFY] */\r\n @io.notify\r\n @io.persistOnly\r\n @type.model(\"EveChildInstanceContainer\")\r\n effect = null;\r\n\r\n /** m_stopToClearDelay (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n stopToClearDelay = 0;\r\n\r\n /** m_rndClosenessPreference (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n ClosenessPreference = 0.25;\r\n\r\n /** m_effectScaling (Vector3) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.vec3\r\n effectScaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_effectDuration (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n durationPerEffect = 3;\r\n\r\n /** m_isPlaying (bool) [READ] */\r\n @io.read\r\n @type.boolean\r\n isPlaying = false;\r\n\r\n /** m_localLocators (EveLocatorSetsPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"EveLocatorSets\")\r\n localLocators = null;\r\n\r\n /** m_triggerSphereRadiusCurve (Tr2CurveScalarPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"Tr2CurveScalar\")\r\n triggerSphereRadiusCurve = null;\r\n\r\n /** m_triggerSphereScalarMulti (float) [READ] */\r\n @io.read\r\n @type.float32\r\n triggerSphereScalarMulti = 1;\r\n\r\n /** m_locatorSetName (BlueSharedString) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.string\r\n locatorSetName = \"\";\r\n\r\n /** m_completeness (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n completeness = 1;\r\n\r\n /** m_replayAfterDelay (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n replayAfterDelay = false;\r\n\r\n /** m_trigger (bool) [READWRITE] */\r\n @io.readwrite\r\n @type.boolean\r\n trigger = false;\r\n\r\n /** m_rndMinRangeThreshold (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n minRangeThreshold = 0;\r\n\r\n /** m_playTime (float) [READ] */\r\n @io.read\r\n @type.float32\r\n playTime = 0;\r\n\r\n /** m_rndRange (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n range = 500;\r\n\r\n /** m_numTriggers (int64_t) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.int64\r\n numTriggers = 10;\r\n\r\n /** m_frequency (float) [READWRITE, PERSIST, NOTIFY] */\r\n @io.notify\r\n @io.persist\r\n @type.float32\r\n frequency = 1;\r\n\r\n /** m_skipCleanup (bool) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.boolean\r\n skipCleanup = false;\r\n\r\n #currentTriggerIndex = 0;\r\n\r\n #numDeleted = 0;\r\n\r\n // Carbon m_processedTransforms/m_lastTriggered/m_delayTimer: runtime-only\r\n // trigger state (never persisted; Carbon keeps them off the Blue surface).\r\n #processedTransforms = [];\r\n\r\n #lastTriggered = [];\r\n\r\n #delayTimer = 0;\r\n\r\n /** Carbon EveChildEffectPropagator::Play (cpp:101-113): reset via Stop, then\r\n * arm playback; without an effect the propagator never starts. */\r\n @carbon.method\r\n @impl.implemented\r\n Play()\r\n {\r\n this.Stop();\r\n\r\n if (!this.effect)\r\n {\r\n return;\r\n }\r\n\r\n this.trigger = false;\r\n this.isPlaying = true;\r\n this.#delayTimer = this.stopToClearDelay;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::Stop (cpp:119-129). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The staged instance container does not yet expose Carbon's native ClearInstanceList helper, so plain hydrated instance lists are cleared directly as a fallback.\")\r\n Stop()\r\n {\r\n this.isPlaying = false;\r\n this.playTime = 0;\r\n this.#currentTriggerIndex = 0;\r\n this.#numDeleted = 0;\r\n\r\n if (this.effect)\r\n {\r\n if (typeof this.effect.ClearInstanceList === \"function\")\r\n {\r\n this.effect.ClearInstanceList();\r\n }\r\n else if (Array.isArray(this.effect.instances))\r\n {\r\n this.effect.instances.length = 0;\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::Initialize (cpp:131-138). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"DisableEditMode is duck-typed - the staged instance container has not ported its edit-mode surface yet.\")\r\n Initialize()\r\n {\r\n this.effect?.DisableEditMode?.(true);\r\n return super.Initialize();\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::OnModified (cpp:61-95): edit-mode lock\r\n * on effect changes, clamps for completeness/randScaleMin/randScaleMax, and\r\n * the playTime re-anchor on frequency changes. The value argument follows\r\n * the repo's OnModified duck (field name or field value). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Field matching follows the repo OnModified duck and DisableEditMode is duck-typed on the staged instance container.\")\r\n OnModified(value = null)\r\n {\r\n if (value === \"effect\" || (value && value === this.effect))\r\n {\r\n this.effect?.DisableEditMode?.(true);\r\n }\r\n\r\n if (value === \"completeness\" || value === this.completeness)\r\n {\r\n this.completeness = Math.min(1, Math.max(0, this.completeness));\r\n }\r\n\r\n if (value === \"randScaleMin\" || value === this.randScaleMin)\r\n {\r\n this.randScaleMin = Math.min(this.randScaleMax, Math.max(0, this.randScaleMin));\r\n }\r\n\r\n if (value === \"randScaleMax\" || value === this.randScaleMax)\r\n {\r\n this.randScaleMax = Math.max(this.randScaleMax, this.randScaleMin);\r\n }\r\n\r\n if (value === \"frequency\" || value === this.frequency)\r\n {\r\n if (this.frequency !== 0)\r\n {\r\n this.playTime = this.#currentTriggerIndex / this.frequency;\r\n }\r\n }\r\n\r\n return super.OnModified(value);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ManageTriggers (cpp:140-167): fire an\r\n * instance for every processed locator the growing trigger sphere has\r\n * swallowed; the list is distance-sorted so the scan stops at the first\r\n * locator still outside. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CreateInstance is duck-typed - the staged instance container has not ported its instance-spawning surface yet.\")\r\n ManageTriggers()\r\n {\r\n if (!this.triggerSphereRadiusCurve)\r\n {\r\n return;\r\n }\r\n\r\n if (!this.effect)\r\n {\r\n return;\r\n }\r\n\r\n let currentRadSqr = Number(this.triggerSphereRadiusCurve.GetValueAt(this.playTime) ?? 0) * this.triggerSphereScalarMulti;\r\n currentRadSqr = currentRadSqr * currentRadSqr;\r\n\r\n const records = this.#processedTransforms;\r\n for (let index = this.#currentTriggerIndex; index < records.length; index++)\r\n {\r\n const record = records[index];\r\n if (record.sqrDistToSphereCenter < currentRadSqr)\r\n {\r\n this.effect.CreateInstance?.(record.scale, record.rotation, record.position);\r\n this.#currentTriggerIndex++;\r\n }\r\n else\r\n {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Sync-side frame update (Carbon EveChildEffectPropagator::UpdateSyncronous,\r\n * cpp:173-231): consume a pending trigger (process + sort the locators and\r\n * restart playback, seeding the interval-trigger history), forward the sync\r\n * tick to the effect container, then advance the active trigger method.\r\n * Carbon deliberately does NOT call the EveChildContainer base here - the\r\n * effect container replaces the child fan-out.\r\n * @param {Object} updateContext - frame context (EveUpdateContext)\r\n * @param {EveChildUpdateParams} params\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CreateInstance on the staged instance container is duck-typed; the trigger bookkeeping is ported.\")\r\n UpdateSyncronous(updateContext, params)\r\n {\r\n if (this.trigger)\r\n {\r\n this.ProcessLocators(params?.spaceObjectParent ?? null);\r\n this.Play();\r\n\r\n if (this.triggerMethood === EveChildEffectPropagator.TriggerType.INTERVAL_TRIGGERS)\r\n {\r\n // Carbon (cpp:180-189): the last-triggered ring holds\r\n // floor(effectDuration * frequency) slots primed with -1.\r\n const size = Math.max(Math.floor(this.durationPerEffect * this.frequency), 0);\r\n this.#lastTriggered.length = 0;\r\n for (let index = 0; index < size; index++)\r\n {\r\n this.#lastTriggered.push(-1);\r\n }\r\n }\r\n }\r\n\r\n this.effect?.UpdateSyncronous(updateContext, params);\r\n\r\n if (!this.isPlaying)\r\n {\r\n return;\r\n }\r\n\r\n switch (this.triggerMethood)\r\n {\r\n case EveChildEffectPropagator.TriggerType.TRIGGER_SPHERE_CURVE:\r\n this.UpdateTriggerCurve(updateContext);\r\n break;\r\n case EveChildEffectPropagator.TriggerType.INTERVAL_TRIGGERS:\r\n if (this.frequency !== 0)\r\n {\r\n this.UpdateTriggerInterval(updateContext);\r\n }\r\n else\r\n {\r\n this.Stop();\r\n }\r\n break;\r\n case EveChildEffectPropagator.TriggerType.INSTANT_PERMANENT:\r\n this.playTime += Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaT ?? 0);\r\n if (this.#currentTriggerIndex === 0)\r\n {\r\n for (const record of this.#processedTransforms)\r\n {\r\n this.effect?.CreateInstance?.(record.scale, record.rotation, record.position);\r\n }\r\n this.#currentTriggerIndex++;\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::UpdateTriggerCurve (cpp:233-273):\r\n * advance playTime, let the trigger sphere fire instances, then handle the\r\n * end of the curve (skip cleanup, delayed replay with re-randomized locator\r\n * sizes, or stop). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateTriggerCurve(updateContext)\r\n {\r\n const dt = Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaT ?? 0);\r\n this.playTime += dt;\r\n\r\n if (this.effect)\r\n {\r\n this.ManageTriggers();\r\n }\r\n\r\n if (!this.triggerSphereRadiusCurve)\r\n {\r\n this.Stop();\r\n return;\r\n }\r\n\r\n if (this.playTime > Number(this.triggerSphereRadiusCurve.Length?.() ?? 0))\r\n {\r\n if (this.skipCleanup)\r\n {\r\n return;\r\n }\r\n\r\n if (this.replayAfterDelay)\r\n {\r\n if (this.#delayTimer > 0)\r\n {\r\n this.#delayTimer -= dt;\r\n }\r\n else\r\n {\r\n this.RecalculateLocatorSizes();\r\n this.Play();\r\n }\r\n }\r\n else\r\n {\r\n this.Stop();\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::UpdateTriggerInterval (cpp:275-317):\r\n * frequency-paced spawning from smart-random locators with a spawn cap,\r\n * plus paced deletion of expired instances (PopFront) until the loop\r\n * drains. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CreateInstance/PopFront on the staged instance container are duck-typed; the interval bookkeeping is ported.\")\r\n UpdateTriggerInterval(updateContext)\r\n {\r\n const dt = Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaT ?? 0);\r\n this.playTime += dt;\r\n\r\n if (this.#processedTransforms.length === 0)\r\n {\r\n return;\r\n }\r\n\r\n if (this.stopAfterNumTriggers > 0 && this.durationPerEffect !== -1 &&\r\n this.playTime > (this.stopAfterNumTriggers / this.frequency + this.durationPerEffect))\r\n {\r\n this.Stop();\r\n return;\r\n }\r\n\r\n // Triggers based on the frequency interval unless the maximum amount of\r\n // spawns has been reached (cpp:291-304).\r\n if (this.playTime > this.#currentTriggerIndex / this.frequency &&\r\n (this.#currentTriggerIndex < this.stopAfterNumTriggers || this.stopAfterNumTriggers < 0))\r\n {\r\n const locatorIndex = this.GetSmartRandomLocatorIndex();\r\n if (this.#lastTriggered.length)\r\n {\r\n this.#lastTriggered.shift();\r\n }\r\n this.#lastTriggered.push(locatorIndex);\r\n\r\n const record = this.#processedTransforms[locatorIndex];\r\n this.effect?.CreateInstance?.(record.scale, record.rotation, record.position);\r\n this.#currentTriggerIndex++;\r\n }\r\n\r\n if (this.durationPerEffect !== -1 &&\r\n this.playTime > (this.#numDeleted / this.frequency) + this.durationPerEffect)\r\n {\r\n this.effect?.PopFront?.();\r\n this.#numDeleted++;\r\n\r\n if (this.#numDeleted === this.#currentTriggerIndex)\r\n {\r\n // Prevent debug rendering on a running loop after it finishes (see\r\n // InstanceContainers) - cpp:313.\r\n this.#currentTriggerIndex = 0;\r\n this.#lastTriggered.length = 0;\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::GetSmartRandomLocatorIndex\r\n * (cpp:319-351): rejection-sample a locator index not in the recent-trigger\r\n * history, with Carbon's early exit when the history covers the set or the\r\n * spawn rate saturates 75% of the locators. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRandInt, matching the BehaviorGroup/EveSpaceObject2 precedent.\")\r\n GetSmartRandomLocatorIndex()\r\n {\r\n let locatorIndex = -1;\r\n const ptSize = this.#processedTransforms.length;\r\n const ltSize = this.#lastTriggered.length;\r\n\r\n if (ltSize >= ptSize || this.frequency * this.durationPerEffect > 0.75 * ptSize)\r\n {\r\n locatorIndex = Math.floor(Math.random() * ptSize);\r\n }\r\n else\r\n {\r\n // Carbon (cpp:331-336): this loop should rarely repeat; the early exit\r\n // above bounds the bad case (small locator set, long duration, frequent\r\n // triggers).\r\n while (locatorIndex === -1)\r\n {\r\n locatorIndex = Math.floor(Math.random() * ptSize);\r\n for (let index = 0; index < ltSize; index++)\r\n {\r\n if (locatorIndex === this.#lastTriggered[index])\r\n {\r\n locatorIndex = -1;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return locatorIndex;\r\n }\r\n\r\n /**\r\n * Per-frame async update (Carbon EveChildEffectPropagator::UpdateAsyncronous,\r\n * cpp:353-366): gate on IsRendering, tick the effect container, then run the\r\n * EveChildContainer base (which rebuilds the world transform - the Carbon\r\n * row-vector local * parent composition lives in\r\n * EveChildTransform.UpdateTransform as mat4.multiply(world, parent, local)).\r\n * @param {Object} updateContext - frame context (EveUpdateContext)\r\n * @param {EveChildUpdateParams} params\r\n * @returns {Float32Array} worldTransform\r\n */\r\n @carbon.method\r\n @carbon.contextual([\"camera\"])\r\n @impl.implemented\r\n UpdateAsyncronous(updateContext, params)\r\n {\r\n if (!this.IsRendering())\r\n {\r\n return this.worldTransform;\r\n }\r\n\r\n this.effect?.UpdateAsyncronous(updateContext, params);\r\n\r\n return super.UpdateAsyncronous(updateContext, params);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::UpdateVisibility (cpp:389-395): the\r\n * effect container alone receives the visibility tick (no base fan-out). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(updateContext, parentTransform = null, parentLod = Tr2Lod.TR2_LOD_HIGH)\r\n {\r\n this.effect?.UpdateVisibility(updateContext, parentTransform, parentLod);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::GetRenderables (cpp:397-408): nothing\r\n * renders until the first trigger fired; then the effect container\r\n * contributes its instances. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n if (this.#currentTriggerIndex === 0)\r\n {\r\n return out;\r\n }\r\n\r\n this.effect?.GetRenderables(out);\r\n return out;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessLocalLocators (cpp:410-438):\r\n * sample the owned locator set through the completeness gate; the trigger\r\n * sphere scalar becomes twice the farthest locator distance. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand, matching the EveSpaceObject2 precedent.\")\r\n ProcessLocalLocators()\r\n {\r\n if (!this.localLocators)\r\n {\r\n return;\r\n }\r\n\r\n const locators = this.localLocators.GetLocators?.() ?? this.localLocators.locators ?? [];\r\n\r\n this.triggerSphereScalarMulti = 0;\r\n for (const locator of locators)\r\n {\r\n if (Math.random() > this.completeness)\r\n {\r\n continue;\r\n }\r\n\r\n const record = NewTransformRecord();\r\n vec3.copy(record.position, locator.position);\r\n const lengthSq = vec3.squaredLength(record.position);\r\n this.triggerSphereScalarMulti = Math.max(this.triggerSphereScalarMulti, lengthSq);\r\n // Locator directions persist as packed quaternions; copied verbatim\r\n // (Carbon t.rotation = it->direction - no composition).\r\n quat.copy(record.rotation, locator.direction);\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon t.scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n this.#processedTransforms.push(record);\r\n }\r\n\r\n this.triggerSphereScalarMulti = Math.sqrt(this.triggerSphereScalarMulti) * 2;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessRefLocators (cpp:440-478): pull\r\n * the named locator set (default \"damage\") from the space-object parent and\r\n * scale the trigger sphere by the parent's bounding-sphere radius. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand and the EveSpaceObject2 BlueCast becomes a duck check on the locator/bounds surface.\")\r\n ProcessRefLocators(parent)\r\n {\r\n if (this.locatorSetName === \"\")\r\n {\r\n this.locatorSetName = \"damage\";\r\n }\r\n\r\n let locators = null;\r\n\r\n if (typeof parent?.GetLocatorsForSet === \"function\" && typeof parent?.GetBoundingSphere === \"function\")\r\n {\r\n locators = parent.GetLocatorsForSet(this.locatorSetName);\r\n vec4.set(BOUNDS_SCRATCH, 0, 0, 0, 0);\r\n parent.GetBoundingSphere(BOUNDS_SCRATCH);\r\n this.triggerSphereScalarMulti = BOUNDS_SCRATCH[3];\r\n }\r\n else\r\n {\r\n return;\r\n }\r\n\r\n if (locators)\r\n {\r\n for (const locator of locators)\r\n {\r\n if (Math.random() > this.completeness)\r\n {\r\n continue;\r\n }\r\n\r\n const record = NewTransformRecord();\r\n vec3.copy(record.position, locator.position);\r\n quat.copy(record.rotation, locator.direction);\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon t.scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n this.#processedTransforms.push(record);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessRandomSpreadLocators\r\n * (cpp:480-506): uniform points on the unit sphere pushed out by a\r\n * closeness-biased distance inside [minRangeThreshold, range]; the packed\r\n * direction quaternion comes from TriQuaternionDirVector. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand, matching the EveSpaceObject2 precedent.\")\r\n ProcessRandomSpreadLocators()\r\n {\r\n const count = Number(this.numTriggers);\r\n for (let index = 0; index < count; index++)\r\n {\r\n if (Math.random() > this.completeness)\r\n {\r\n continue;\r\n }\r\n\r\n // Carbon (cpp:489-491): dist starts uniform, is pulled toward the\r\n // closeness preference by a second uniform draw, then maps into\r\n // [minRangeThreshold, range].\r\n let dist = Math.random();\r\n dist += (this.ClosenessPreference - dist) * Math.random();\r\n dist = this.minRangeThreshold + (this.range - this.minRangeThreshold) * dist;\r\n\r\n // Carbon (cpp:493-495): uniform unit-sphere direction from (a, z).\r\n const a = 2 * Math.PI * Math.random();\r\n const z = Math.random() * 2 - 1;\r\n const s = Math.sqrt(1 - z * z);\r\n\r\n const record = NewTransformRecord();\r\n // Carbon t.position = angle * dist - scalar-vector scale.\r\n vec3.set(record.position, s * Math.cos(a) * dist, s * Math.sin(a) * dist, z * dist);\r\n // TriQuaternionDirVector(&t.rotation, &angle) - packed direction, no\r\n // quaternion composition.\r\n vec3.set(SPHERE_CENTER_SCRATCH, s * Math.cos(a), s * Math.sin(a), z);\r\n TriQuaternionDirVector(record.rotation, SPHERE_CENTER_SCRATCH);\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon t.scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n this.#processedTransforms.push(record);\r\n }\r\n this.triggerSphereScalarMulti = this.range;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessLocators (cpp:513-540): rebuild\r\n * the processed-locator list for the selected propagation type, stop when\r\n * nothing survived the completeness gate, then distance-sort. */\r\n @carbon.method\r\n @impl.implemented\r\n ProcessLocators(parent = null)\r\n {\r\n this.#processedTransforms.length = 0;\r\n\r\n switch (this.propagationType)\r\n {\r\n case EveChildEffectPropagator.PropagationType.LOCAL_LOCATORS:\r\n this.ProcessLocalLocators();\r\n break;\r\n case EveChildEffectPropagator.PropagationType.LOCATOR_SET_BY_REF:\r\n this.ProcessRefLocators(parent);\r\n break;\r\n case EveChildEffectPropagator.PropagationType.RANDOM_SPREAD:\r\n this.ProcessRandomSpreadLocators();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (this.#processedTransforms.length === 0)\r\n {\r\n this.Stop();\r\n return;\r\n }\r\n\r\n this.DistanceSortLocators();\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::RecalculateLocatorSizes (cpp:542-549):\r\n * re-randomize the per-locator scale for a delayed replay. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand, matching the EveSpaceObject2 precedent.\")\r\n RecalculateLocatorSizes()\r\n {\r\n for (const record of this.#processedTransforms)\r\n {\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon it->scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::DistanceSortLocators (cpp:556-564):\r\n * squared distance of every locator to the scaled trigger-sphere center,\r\n * then an ascending sort so ManageTriggers can early-out. */\r\n @carbon.method\r\n @impl.implemented\r\n DistanceSortLocators()\r\n {\r\n // Carbon: it->position - m_triggerSphereOffset * m_triggerSphereScalarMulti\r\n // - scalar-vector scale plus a vector difference, no matrix composition.\r\n vec3.scale(SPHERE_CENTER_SCRATCH, this.triggerSphereOffset, this.triggerSphereScalarMulti);\r\n for (const record of this.#processedTransforms)\r\n {\r\n record.sqrDistToSphereCenter = vec3.squaredDistance(record.position, SPHERE_CENTER_SCRATCH);\r\n }\r\n\r\n this.#processedTransforms.sort(SortByCircleDist);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::GetEffect (cpp:640-643). */\r\n @carbon.method\r\n @impl.implemented\r\n GetEffect()\r\n {\r\n return this.effect;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::SetEffect (cpp:645-654): unregisters\n * the current effect from both the component registry and child hierarchy,\n * installs the replacement, then registers it with both owners. */\n @carbon.method\n @impl.implemented\n SetEffect(effect)\n {\n this.UnRegisterComponents();\n this.UnregisterChild(this.effect);\n this.effect = effect ?? null;\n this.RegisterChild(this.effect);\n this.RegisterComponents();\n }\r\n\r\n /** Carbon EveChildEffectPropagator::SetControllerVariable (cpp:656-662):\r\n * the effect container alone receives the variable (no base fan-out). */\r\n @carbon.method\r\n @impl.implemented\r\n SetControllerVariable(name, value)\r\n {\r\n this.effect?.SetControllerVariable(String(name ?? \"\"), Number(value));\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::RegisterComponents (cpp:45-51). */\n @carbon.method\n @impl.implemented\n RegisterComponents()\n {\n if (this.IsInRegistry() && this.effect)\n {\n this.effect.Register(this.GetComponentRegistry());\n }\n }\n\n /** Carbon EveChildEffectPropagator::UnRegisterComponents (cpp:53-59). */\n @carbon.method\n @impl.implemented\n UnRegisterComponents()\n {\n if (this.IsInRegistry() && this.effect)\n {\n this.effect.UnRegister(this.GetComponentRegistry());\n }\n }\n\r\n static PropagationType = PropagationType;\r\n\r\n static TriggerType = TriggerType;\r\n\r\n}\r\n"],"names":["BOUNDS_SCRATCH","vec4","create","SPHERE_CENTER_SCRATCH","vec3","TriQuaternionDirVector","out","v","length","Math","hypot","scale","NewTransformRecord","rotation","quat","position","fromValues","sqrDistToSphereCenter","SortByCircleDist","lhs","rhs","_EveChildEffectPropag","_identity","EveChildEffectPropagator","EveChildContainer","e","_init_propagationType","_init_extra_propagationType","_init_triggerMethood","_init_extra_triggerMethood","_init_stopAfterNumTriggers","_init_extra_stopAfterNumTriggers","_init_randScaleMin","_init_extra_randScaleMin","_init_randScaleMax","_init_extra_randScaleMax","_init_triggerSphereOffset","_init_extra_triggerSphereOffset","_init_effect","_init_extra_effect","_init_stopToClearDelay","_init_extra_stopToClearDelay","_init_ClosenessPreference","_init_extra_ClosenessPreference","_init_effectScaling","_init_extra_effectScaling","_init_durationPerEffect","_init_extra_durationPerEffect","_init_isPlaying","_init_extra_isPlaying","_init_localLocators","_init_extra_localLocators","_init_triggerSphereRadiusCurve","_init_extra_triggerSphereRadiusCurve","_init_triggerSphereScalarMulti","_init_extra_triggerSphereScalarMulti","_init_locatorSetName","_init_extra_locatorSetName","_init_completeness","_init_extra_completeness","_init_replayAfterDelay","_init_extra_replayAfterDelay","_init_trigger","_init_extra_trigger","_init_minRangeThreshold","_init_extra_minRangeThreshold","_init_playTime","_init_extra_playTime","_init_range","_init_extra_range","_init_numTriggers","_init_extra_numTriggers","_init_frequency","_init_extra_frequency","_init_skipCleanup","_init_extra_skipCleanup","_initProto","c","_initClass","_applyDecs","type","define","className","family","io","notify","persist","int32","enum","float32","persistOnly","model","read","boolean","string","readwrite","int64","carbon","method","impl","implemented","adapted","reason","contextual","propagationType","triggerMethood","stopAfterNumTriggers","randScaleMin","randScaleMax","triggerSphereOffset","effect","stopToClearDelay","ClosenessPreference","effectScaling","durationPerEffect","isPlaying","localLocators","triggerSphereRadiusCurve","triggerSphereScalarMulti","locatorSetName","completeness","replayAfterDelay","trigger","minRangeThreshold","playTime","range","numTriggers","frequency","skipCleanup","Play","Stop","ClearInstanceList","Array","isArray","instances","Initialize","DisableEditMode","OnModified","value","min","max","ManageTriggers","currentRadSqr","Number","GetValueAt","records","index","record","CreateInstance","UpdateSyncronous","updateContext","params","ProcessLocators","spaceObjectParent","TriggerType","INTERVAL_TRIGGERS","size","floor","push","TRIGGER_SPHERE_CURVE","UpdateTriggerCurve","UpdateTriggerInterval","INSTANT_PERMANENT","GetDeltaT","deltaT","dt","Length","RecalculateLocatorSizes","locatorIndex","GetSmartRandomLocatorIndex","shift","PopFront","ptSize","ltSize","random","UpdateAsyncronous","IsRendering","worldTransform","UpdateVisibility","parentTransform","parentLod","Tr2Lod","TR2_LOD_HIGH","GetRenderables","ProcessLocalLocators","locators","GetLocators","locator","copy","lengthSq","squaredLength","direction","rand","sqrt","ProcessRefLocators","parent","GetLocatorsForSet","GetBoundingSphere","set","ProcessRandomSpreadLocators","count","dist","a","PI","z","s","cos","sin","PropagationType","LOCAL_LOCATORS","LOCATOR_SET_BY_REF","RANDOM_SPREAD","DistanceSortLocators","squaredDistance","sort","GetEffect","SetEffect","UnRegisterComponents","UnregisterChild","RegisterChild","RegisterComponents","SetControllerVariable","name","String","IsInRegistry","Register","GetComponentRegistry","UnRegister","constructor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EveChildEffectPropagator.js","sources":["../../../../../src/trinity/eve/child/EveChildEffectPropagator.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildEffectPropagator.h\r\n// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildEffectPropagator.cpp\r\n// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildEffectPropagator_Blue.cpp\r\nimport { carbon, impl, edit, type } from \"#schema\";\r\nimport { EveChildContainer } from \"./EveChildContainer.js\";\r\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { vec4 } from \"#math/vec4\";\r\nimport { Tr2Lod } from \"../EveLODHelper.js\";\r\nimport { PropagationType, TriggerType } from \"../../generated/eve/child/enums.js\";\r\n\r\n// Module scratch for the trigger-driven locator paths (allocation rules:\r\n// copy-into, never allocate per frame; child updates run sequentially so the\r\n// scratch is non-reentrant by construction).\r\nconst BOUNDS_SCRATCH = vec4.create();\r\nconst SPHERE_CENTER_SCRATCH = vec3.create();\r\n\r\n// Carbon TriQuaternionDirVector (TriMath.cpp:262-269): stores the NORMALIZED\r\n// direction vector in the quaternion x/y/z slots with w = 0. It is a packed\r\n// direction, not a rotation - no quaternion composition happens here.\r\nfunction TriQuaternionDirVector(out, v)\r\n{\r\n const length = Math.hypot(v[0], v[1], v[2]);\r\n const scale = length ? 1 / length : 0;\r\n out[0] = v[0] * scale;\r\n out[1] = v[1] * scale;\r\n out[2] = v[2] * scale;\r\n out[3] = 0;\r\n return out;\r\n}\r\n\r\n// Carbon EveChildEffectPropagator::Transform (h:66-72): the per-locator\r\n// processed record. Records are allocated on trigger (ProcessLocators), never\r\n// per frame.\r\nfunction NewTransformRecord()\r\n{\r\n return {\r\n rotation: quat.create(),\r\n position: vec3.create(),\r\n scale: vec3.fromValues(1, 1, 1),\r\n sqrDistToSphereCenter: 0\r\n };\r\n}\r\n\r\n// Carbon SortByCircleDist (h:74-80): ascending squared distance to the\r\n// trigger-sphere center.\r\nfunction SortByCircleDist(lhs, rhs)\r\n{\r\n return lhs.sqrDistToSphereCenter - rhs.sqrDistToSphereCenter;\r\n}\r\n\r\n\r\n/** EveChildEffectPropagator (eve/child) - generated from schema shapeHash 0f2a96e8.... */\r\n@type.define({ className: \"EveChildEffectPropagator\", family: \"eve/child\" })\r\nexport class EveChildEffectPropagator extends EveChildContainer\r\n{\r\n\r\n /** m_type (PropagationType - enum PropagationType) [READWRITE, PERSIST, ENUM, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.int32\r\n @type.enum(\"PropagationType\")\r\n propagationType = 0;\r\n\r\n /** m_triggerMethod (TriggerType - enum TriggerType) [READWRITE, PERSIST, ENUM, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.int32\r\n @type.enum(\"TriggerType\")\r\n triggerMethood = 0;\r\n\r\n /** m_stopAfterNumTriggers (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n stopAfterNumTriggers = -1;\r\n\r\n /** m_randScaleMin (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n randScaleMin = 1;\r\n\r\n /** m_randScaleMax (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n randScaleMax = 1;\r\n\r\n /** m_triggerSphereOffset (Vector3) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.vec3\r\n triggerSphereOffset = vec3.create();\r\n\r\n /** m_effect (EveChildInstanceContainerPtr) [PERSISTONLY, NOTIFY] */\r\n @edit.notify\r\n @edit.persistOnly\r\n @type.model(\"EveChildInstanceContainer\")\r\n effect = null;\r\n\r\n /** m_stopToClearDelay (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n stopToClearDelay = 0;\r\n\r\n /** m_rndClosenessPreference (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n ClosenessPreference = 0.25;\r\n\r\n /** m_effectScaling (Vector3) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.vec3\r\n effectScaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_effectDuration (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n durationPerEffect = 3;\r\n\r\n /** m_isPlaying (bool) [READ] */\r\n @edit.read\r\n @type.boolean\r\n isPlaying = false;\r\n\r\n /** m_localLocators (EveLocatorSetsPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"EveLocatorSets\")\r\n localLocators = null;\r\n\r\n /** m_triggerSphereRadiusCurve (Tr2CurveScalarPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"Tr2CurveScalar\")\r\n triggerSphereRadiusCurve = null;\r\n\r\n /** m_triggerSphereScalarMulti (float) [READ] */\r\n @edit.read\r\n @type.float32\r\n triggerSphereScalarMulti = 1;\r\n\r\n /** m_locatorSetName (BlueSharedString) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.string\r\n locatorSetName = \"\";\r\n\r\n /** m_completeness (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n completeness = 1;\r\n\r\n /** m_replayAfterDelay (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n replayAfterDelay = false;\r\n\r\n /** m_trigger (bool) [READWRITE] */\r\n @edit.readwrite\r\n @type.boolean\r\n trigger = false;\r\n\r\n /** m_rndMinRangeThreshold (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n minRangeThreshold = 0;\r\n\r\n /** m_playTime (float) [READ] */\r\n @edit.read\r\n @type.float32\r\n playTime = 0;\r\n\r\n /** m_rndRange (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n range = 500;\r\n\r\n /** m_numTriggers (int64_t) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.int64\r\n numTriggers = 10;\r\n\r\n /** m_frequency (float) [READWRITE, PERSIST, NOTIFY] */\r\n @edit.notify\r\n @edit.persist\r\n @type.float32\r\n frequency = 1;\r\n\r\n /** m_skipCleanup (bool) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.boolean\r\n skipCleanup = false;\r\n\r\n #currentTriggerIndex = 0;\r\n\r\n #numDeleted = 0;\r\n\r\n // Carbon m_processedTransforms/m_lastTriggered/m_delayTimer: runtime-only\r\n // trigger state (never persisted; Carbon keeps them off the Blue surface).\r\n #processedTransforms = [];\r\n\r\n #lastTriggered = [];\r\n\r\n #delayTimer = 0;\r\n\r\n /** Carbon EveChildEffectPropagator::Play (cpp:101-113): reset via Stop, then\r\n * arm playback; without an effect the propagator never starts. */\r\n @carbon.method\r\n @impl.implemented\r\n Play()\r\n {\r\n this.Stop();\r\n\r\n if (!this.effect)\r\n {\r\n return;\r\n }\r\n\r\n this.trigger = false;\r\n this.isPlaying = true;\r\n this.#delayTimer = this.stopToClearDelay;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::Stop (cpp:119-129). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"The staged instance container does not yet expose Carbon's native ClearInstanceList helper, so plain hydrated instance lists are cleared directly as a fallback.\")\r\n Stop()\r\n {\r\n this.isPlaying = false;\r\n this.playTime = 0;\r\n this.#currentTriggerIndex = 0;\r\n this.#numDeleted = 0;\r\n\r\n if (this.effect)\r\n {\r\n if (typeof this.effect.ClearInstanceList === \"function\")\r\n {\r\n this.effect.ClearInstanceList();\r\n }\r\n else if (Array.isArray(this.effect.instances))\r\n {\r\n this.effect.instances.length = 0;\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::Initialize (cpp:131-138). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"DisableEditMode is duck-typed - the staged instance container has not ported its edit-mode surface yet.\")\r\n Initialize()\r\n {\r\n this.effect?.DisableEditMode?.(true);\r\n return super.Initialize();\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::OnModified (cpp:61-95): edit-mode lock\r\n * on effect changes, clamps for completeness/randScaleMin/randScaleMax, and\r\n * the playTime re-anchor on frequency changes. The value argument follows\r\n * the repo's OnModified duck (field name or field value). */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Field matching follows the repo OnModified duck and DisableEditMode is duck-typed on the staged instance container.\")\r\n OnModified(value = null)\r\n {\r\n if (value === \"effect\")\r\n {\r\n this.effect?.DisableEditMode?.(true);\r\n }\r\n\r\n if (value === \"completeness\")\r\n {\r\n this.completeness = Math.min(1, Math.max(0, this.completeness));\r\n }\r\n\r\n if (value === \"randScaleMin\")\r\n {\r\n this.randScaleMin = Math.min(this.randScaleMax, Math.max(0, this.randScaleMin));\r\n }\r\n\r\n if (value === \"randScaleMax\")\r\n {\r\n this.randScaleMax = Math.max(this.randScaleMax, this.randScaleMin);\r\n }\r\n\r\n if (value === \"frequency\")\r\n {\r\n if (this.frequency !== 0)\r\n {\r\n this.playTime = this.#currentTriggerIndex / this.frequency;\r\n }\r\n }\r\n\r\n return super.OnModified(value);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ManageTriggers (cpp:140-167): fire an\r\n * instance for every processed locator the growing trigger sphere has\r\n * swallowed; the list is distance-sorted so the scan stops at the first\r\n * locator still outside. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CreateInstance is duck-typed - the staged instance container has not ported its instance-spawning surface yet.\")\r\n ManageTriggers()\r\n {\r\n if (!this.triggerSphereRadiusCurve)\r\n {\r\n return;\r\n }\r\n\r\n if (!this.effect)\r\n {\r\n return;\r\n }\r\n\r\n let currentRadSqr = Number(this.triggerSphereRadiusCurve.GetValueAt(this.playTime) ?? 0) * this.triggerSphereScalarMulti;\r\n currentRadSqr = currentRadSqr * currentRadSqr;\r\n\r\n const records = this.#processedTransforms;\r\n for (let index = this.#currentTriggerIndex; index < records.length; index++)\r\n {\r\n const record = records[index];\r\n if (record.sqrDistToSphereCenter < currentRadSqr)\r\n {\r\n this.effect.CreateInstance?.(record.scale, record.rotation, record.position);\r\n this.#currentTriggerIndex++;\r\n }\r\n else\r\n {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Sync-side frame update (Carbon EveChildEffectPropagator::UpdateSyncronous,\r\n * cpp:173-231): consume a pending trigger (process + sort the locators and\r\n * restart playback, seeding the interval-trigger history), forward the sync\r\n * tick to the effect container, then advance the active trigger method.\r\n * Carbon deliberately does NOT call the EveChildContainer base here - the\r\n * effect container replaces the child fan-out.\r\n * @param {Object} updateContext - frame context (EveUpdateContext)\r\n * @param {EveChildUpdateParams} params\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CreateInstance on the staged instance container is duck-typed; the trigger bookkeeping is ported.\")\r\n UpdateSyncronous(updateContext, params)\r\n {\r\n if (this.trigger)\r\n {\r\n this.ProcessLocators(params?.spaceObjectParent ?? null);\r\n this.Play();\r\n\r\n if (this.triggerMethood === EveChildEffectPropagator.TriggerType.INTERVAL_TRIGGERS)\r\n {\r\n // Carbon (cpp:180-189): the last-triggered ring holds\r\n // floor(effectDuration * frequency) slots primed with -1.\r\n const size = Math.max(Math.floor(this.durationPerEffect * this.frequency), 0);\r\n this.#lastTriggered.length = 0;\r\n for (let index = 0; index < size; index++)\r\n {\r\n this.#lastTriggered.push(-1);\r\n }\r\n }\r\n }\r\n\r\n this.effect?.UpdateSyncronous(updateContext, params);\r\n\r\n if (!this.isPlaying)\r\n {\r\n return;\r\n }\r\n\r\n switch (this.triggerMethood)\r\n {\r\n case EveChildEffectPropagator.TriggerType.TRIGGER_SPHERE_CURVE:\r\n this.UpdateTriggerCurve(updateContext);\r\n break;\r\n case EveChildEffectPropagator.TriggerType.INTERVAL_TRIGGERS:\r\n if (this.frequency !== 0)\r\n {\r\n this.UpdateTriggerInterval(updateContext);\r\n }\r\n else\r\n {\r\n this.Stop();\r\n }\r\n break;\r\n case EveChildEffectPropagator.TriggerType.INSTANT_PERMANENT:\r\n this.playTime += Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaT ?? 0);\r\n if (this.#currentTriggerIndex === 0)\r\n {\r\n for (const record of this.#processedTransforms)\r\n {\r\n this.effect?.CreateInstance?.(record.scale, record.rotation, record.position);\r\n }\r\n this.#currentTriggerIndex++;\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::UpdateTriggerCurve (cpp:233-273):\r\n * advance playTime, let the trigger sphere fire instances, then handle the\r\n * end of the curve (skip cleanup, delayed replay with re-randomized locator\r\n * sizes, or stop). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateTriggerCurve(updateContext)\r\n {\r\n const dt = Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaT ?? 0);\r\n this.playTime += dt;\r\n\r\n if (this.effect)\r\n {\r\n this.ManageTriggers();\r\n }\r\n\r\n if (!this.triggerSphereRadiusCurve)\r\n {\r\n this.Stop();\r\n return;\r\n }\r\n\r\n if (this.playTime > Number(this.triggerSphereRadiusCurve.Length?.() ?? 0))\r\n {\r\n if (this.skipCleanup)\r\n {\r\n return;\r\n }\r\n\r\n if (this.replayAfterDelay)\r\n {\r\n if (this.#delayTimer > 0)\r\n {\r\n this.#delayTimer -= dt;\r\n }\r\n else\r\n {\r\n this.RecalculateLocatorSizes();\r\n this.Play();\r\n }\r\n }\r\n else\r\n {\r\n this.Stop();\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::UpdateTriggerInterval (cpp:275-317):\r\n * frequency-paced spawning from smart-random locators with a spawn cap,\r\n * plus paced deletion of expired instances (PopFront) until the loop\r\n * drains. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"CreateInstance/PopFront on the staged instance container are duck-typed; the interval bookkeeping is ported.\")\r\n UpdateTriggerInterval(updateContext)\r\n {\r\n const dt = Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaT ?? 0);\r\n this.playTime += dt;\r\n\r\n if (this.#processedTransforms.length === 0)\r\n {\r\n return;\r\n }\r\n\r\n if (this.stopAfterNumTriggers > 0 && this.durationPerEffect !== -1 &&\r\n this.playTime > (this.stopAfterNumTriggers / this.frequency + this.durationPerEffect))\r\n {\r\n this.Stop();\r\n return;\r\n }\r\n\r\n // Triggers based on the frequency interval unless the maximum amount of\r\n // spawns has been reached (cpp:291-304).\r\n if (this.playTime > this.#currentTriggerIndex / this.frequency &&\r\n (this.#currentTriggerIndex < this.stopAfterNumTriggers || this.stopAfterNumTriggers < 0))\r\n {\r\n const locatorIndex = this.GetSmartRandomLocatorIndex();\r\n if (this.#lastTriggered.length)\r\n {\r\n this.#lastTriggered.shift();\r\n }\r\n this.#lastTriggered.push(locatorIndex);\r\n\r\n const record = this.#processedTransforms[locatorIndex];\r\n this.effect?.CreateInstance?.(record.scale, record.rotation, record.position);\r\n this.#currentTriggerIndex++;\r\n }\r\n\r\n if (this.durationPerEffect !== -1 &&\r\n this.playTime > (this.#numDeleted / this.frequency) + this.durationPerEffect)\r\n {\r\n this.effect?.PopFront?.();\r\n this.#numDeleted++;\r\n\r\n if (this.#numDeleted === this.#currentTriggerIndex)\r\n {\r\n // Prevent debug rendering on a running loop after it finishes (see\r\n // InstanceContainers) - cpp:313.\r\n this.#currentTriggerIndex = 0;\r\n this.#lastTriggered.length = 0;\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::GetSmartRandomLocatorIndex\r\n * (cpp:319-351): rejection-sample a locator index not in the recent-trigger\r\n * history, with Carbon's early exit when the history covers the set or the\r\n * spawn rate saturates 75% of the locators. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRandInt, matching the BehaviorGroup/EveSpaceObject2 precedent.\")\r\n GetSmartRandomLocatorIndex()\r\n {\r\n let locatorIndex = -1;\r\n const ptSize = this.#processedTransforms.length;\r\n const ltSize = this.#lastTriggered.length;\r\n\r\n if (ltSize >= ptSize || this.frequency * this.durationPerEffect > 0.75 * ptSize)\r\n {\r\n locatorIndex = Math.floor(Math.random() * ptSize);\r\n }\r\n else\r\n {\r\n // Carbon (cpp:331-336): this loop should rarely repeat; the early exit\r\n // above bounds the bad case (small locator set, long duration, frequent\r\n // triggers).\r\n while (locatorIndex === -1)\r\n {\r\n locatorIndex = Math.floor(Math.random() * ptSize);\r\n for (let index = 0; index < ltSize; index++)\r\n {\r\n if (locatorIndex === this.#lastTriggered[index])\r\n {\r\n locatorIndex = -1;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n return locatorIndex;\r\n }\r\n\r\n /**\r\n * Per-frame async update (Carbon EveChildEffectPropagator::UpdateAsyncronous,\r\n * cpp:353-366): gate on IsRendering, tick the effect container, then run the\r\n * EveChildContainer base (which rebuilds the world transform - the Carbon\r\n * row-vector local * parent composition lives in\r\n * EveChildTransform.UpdateTransform as mat4.multiply(world, parent, local)).\r\n * @param {Object} updateContext - frame context (EveUpdateContext)\r\n * @param {EveChildUpdateParams} params\r\n * @returns {Float32Array} worldTransform\r\n */\r\n @carbon.method\r\n @carbon.contextual([\"camera\"])\r\n @impl.implemented\r\n UpdateAsyncronous(updateContext, params)\r\n {\r\n if (!this.IsRendering())\r\n {\r\n return this.worldTransform;\r\n }\r\n\r\n this.effect?.UpdateAsyncronous(updateContext, params);\r\n\r\n return super.UpdateAsyncronous(updateContext, params);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::UpdateVisibility (cpp:389-395): the\r\n * effect container alone receives the visibility tick (no base fan-out). */\r\n @carbon.method\r\n @impl.implemented\r\n UpdateVisibility(updateContext, parentTransform = null, parentLod = Tr2Lod.TR2_LOD_HIGH)\r\n {\r\n this.effect?.UpdateVisibility(updateContext, parentTransform, parentLod);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::GetRenderables (cpp:397-408): nothing\r\n * renders until the first trigger fired; then the effect container\r\n * contributes its instances. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRenderables(out = [])\r\n {\r\n if (this.#currentTriggerIndex === 0)\r\n {\r\n return out;\r\n }\r\n\r\n this.effect?.GetRenderables(out);\r\n return out;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessLocalLocators (cpp:410-438):\r\n * sample the owned locator set through the completeness gate; the trigger\r\n * sphere scalar becomes twice the farthest locator distance. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand, matching the EveSpaceObject2 precedent.\")\r\n ProcessLocalLocators()\r\n {\r\n if (!this.localLocators)\r\n {\r\n return;\r\n }\r\n\r\n const locators = this.localLocators.GetLocators?.() ?? this.localLocators.locators ?? [];\r\n\r\n this.triggerSphereScalarMulti = 0;\r\n for (const locator of locators)\r\n {\r\n if (Math.random() > this.completeness)\r\n {\r\n continue;\r\n }\r\n\r\n const record = NewTransformRecord();\r\n vec3.copy(record.position, locator.position);\r\n const lengthSq = vec3.squaredLength(record.position);\r\n this.triggerSphereScalarMulti = Math.max(this.triggerSphereScalarMulti, lengthSq);\r\n // Locator directions persist as packed quaternions; copied verbatim\r\n // (Carbon t.rotation = it->direction - no composition).\r\n quat.copy(record.rotation, locator.direction);\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon t.scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n this.#processedTransforms.push(record);\r\n }\r\n\r\n this.triggerSphereScalarMulti = Math.sqrt(this.triggerSphereScalarMulti) * 2;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessRefLocators (cpp:440-478): pull\r\n * the named locator set (default \"damage\") from the space-object parent and\r\n * scale the trigger sphere by the parent's bounding-sphere radius. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand and the EveSpaceObject2 BlueCast becomes a duck check on the locator/bounds surface.\")\r\n ProcessRefLocators(parent)\r\n {\r\n if (this.locatorSetName === \"\")\r\n {\r\n this.locatorSetName = \"damage\";\r\n }\r\n\r\n let locators = null;\r\n\r\n if (typeof parent?.GetLocatorsForSet === \"function\" && typeof parent?.GetBoundingSphere === \"function\")\r\n {\r\n locators = parent.GetLocatorsForSet(this.locatorSetName);\r\n vec4.set(BOUNDS_SCRATCH, 0, 0, 0, 0);\r\n parent.GetBoundingSphere(BOUNDS_SCRATCH);\r\n this.triggerSphereScalarMulti = BOUNDS_SCRATCH[3];\r\n }\r\n else\r\n {\r\n return;\r\n }\r\n\r\n if (locators)\r\n {\r\n for (const locator of locators)\r\n {\r\n if (Math.random() > this.completeness)\r\n {\r\n continue;\r\n }\r\n\r\n const record = NewTransformRecord();\r\n vec3.copy(record.position, locator.position);\r\n quat.copy(record.rotation, locator.direction);\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon t.scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n this.#processedTransforms.push(record);\r\n }\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessRandomSpreadLocators\r\n * (cpp:480-506): uniform points on the unit sphere pushed out by a\r\n * closeness-biased distance inside [minRangeThreshold, range]; the packed\r\n * direction quaternion comes from TriQuaternionDirVector. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand, matching the EveSpaceObject2 precedent.\")\r\n ProcessRandomSpreadLocators()\r\n {\r\n const count = Number(this.numTriggers);\r\n for (let index = 0; index < count; index++)\r\n {\r\n if (Math.random() > this.completeness)\r\n {\r\n continue;\r\n }\r\n\r\n // Carbon (cpp:489-491): dist starts uniform, is pulled toward the\r\n // closeness preference by a second uniform draw, then maps into\r\n // [minRangeThreshold, range].\r\n let dist = Math.random();\r\n dist += (this.ClosenessPreference - dist) * Math.random();\r\n dist = this.minRangeThreshold + (this.range - this.minRangeThreshold) * dist;\r\n\r\n // Carbon (cpp:493-495): uniform unit-sphere direction from (a, z).\r\n const a = 2 * Math.PI * Math.random();\r\n const z = Math.random() * 2 - 1;\r\n const s = Math.sqrt(1 - z * z);\r\n\r\n const record = NewTransformRecord();\r\n // Carbon t.position = angle * dist - scalar-vector scale.\r\n vec3.set(record.position, s * Math.cos(a) * dist, s * Math.sin(a) * dist, z * dist);\r\n // TriQuaternionDirVector(&t.rotation, &angle) - packed direction, no\r\n // quaternion composition.\r\n vec3.set(SPHERE_CENTER_SCRATCH, s * Math.cos(a), s * Math.sin(a), z);\r\n TriQuaternionDirVector(record.rotation, SPHERE_CENTER_SCRATCH);\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon t.scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n this.#processedTransforms.push(record);\r\n }\r\n this.triggerSphereScalarMulti = this.range;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::ProcessLocators (cpp:513-540): rebuild\r\n * the processed-locator list for the selected propagation type, stop when\r\n * nothing survived the completeness gate, then distance-sort. */\r\n @carbon.method\r\n @impl.implemented\r\n ProcessLocators(parent = null)\r\n {\r\n this.#processedTransforms.length = 0;\r\n\r\n switch (this.propagationType)\r\n {\r\n case EveChildEffectPropagator.PropagationType.LOCAL_LOCATORS:\r\n this.ProcessLocalLocators();\r\n break;\r\n case EveChildEffectPropagator.PropagationType.LOCATOR_SET_BY_REF:\r\n this.ProcessRefLocators(parent);\r\n break;\r\n case EveChildEffectPropagator.PropagationType.RANDOM_SPREAD:\r\n this.ProcessRandomSpreadLocators();\r\n break;\r\n default:\r\n break;\r\n }\r\n\r\n if (this.#processedTransforms.length === 0)\r\n {\r\n this.Stop();\r\n return;\r\n }\r\n\r\n this.DistanceSortLocators();\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::RecalculateLocatorSizes (cpp:542-549):\r\n * re-randomize the per-locator scale for a delayed replay. */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Math.random replaces Carbon's unseeded TriRand, matching the EveSpaceObject2 precedent.\")\r\n RecalculateLocatorSizes()\r\n {\r\n for (const record of this.#processedTransforms)\r\n {\r\n const rand = this.randScaleMin + Math.random() * (this.randScaleMax - this.randScaleMin);\r\n // Carbon it->scale = m_effectScaling * rand - scalar-vector scale.\r\n vec3.scale(record.scale, this.effectScaling, rand);\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::DistanceSortLocators (cpp:556-564):\r\n * squared distance of every locator to the scaled trigger-sphere center,\r\n * then an ascending sort so ManageTriggers can early-out. */\r\n @carbon.method\r\n @impl.implemented\r\n DistanceSortLocators()\r\n {\r\n // Carbon: it->position - m_triggerSphereOffset * m_triggerSphereScalarMulti\r\n // - scalar-vector scale plus a vector difference, no matrix composition.\r\n vec3.scale(SPHERE_CENTER_SCRATCH, this.triggerSphereOffset, this.triggerSphereScalarMulti);\r\n for (const record of this.#processedTransforms)\r\n {\r\n record.sqrDistToSphereCenter = vec3.squaredDistance(record.position, SPHERE_CENTER_SCRATCH);\r\n }\r\n\r\n this.#processedTransforms.sort(SortByCircleDist);\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::GetEffect (cpp:640-643). */\r\n @carbon.method\r\n @impl.implemented\r\n GetEffect()\r\n {\r\n return this.effect;\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::SetEffect (cpp:645-654): unregisters\r\n * the current effect from both the component registry and child hierarchy,\r\n * installs the replacement, then registers it with both owners. */\r\n @carbon.method\r\n @impl.implemented\r\n SetEffect(effect)\r\n {\r\n this.UnRegisterComponents();\r\n this.UnregisterChild(this.effect);\r\n this.effect = effect ?? null;\r\n this.RegisterChild(this.effect);\r\n this.RegisterComponents();\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::SetControllerVariable (cpp:656-662):\r\n * the effect container alone receives the variable (no base fan-out). */\r\n @carbon.method\r\n @impl.implemented\r\n SetControllerVariable(name, value)\r\n {\r\n this.effect?.SetControllerVariable(String(name ?? \"\"), Number(value));\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::RegisterComponents (cpp:45-51). */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n if (this.IsInRegistry() && this.effect)\r\n {\r\n this.effect.Register(this.GetComponentRegistry());\r\n }\r\n }\r\n\r\n /** Carbon EveChildEffectPropagator::UnRegisterComponents (cpp:53-59). */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n if (this.IsInRegistry() && this.effect)\r\n {\r\n this.effect.UnRegister(this.GetComponentRegistry());\r\n }\r\n }\r\n\r\n static PropagationType = PropagationType;\r\n\r\n static TriggerType = TriggerType;\r\n\r\n}\r\n"],"names":["BOUNDS_SCRATCH","vec4","create","SPHERE_CENTER_SCRATCH","vec3","TriQuaternionDirVector","out","v","length","Math","hypot","scale","NewTransformRecord","rotation","quat","position","fromValues","sqrDistToSphereCenter","SortByCircleDist","lhs","rhs","_EveChildEffectPropag","_identity","EveChildEffectPropagator","EveChildContainer","e","_init_propagationType","_init_extra_propagationType","_init_triggerMethood","_init_extra_triggerMethood","_init_stopAfterNumTriggers","_init_extra_stopAfterNumTriggers","_init_randScaleMin","_init_extra_randScaleMin","_init_randScaleMax","_init_extra_randScaleMax","_init_triggerSphereOffset","_init_extra_triggerSphereOffset","_init_effect","_init_extra_effect","_init_stopToClearDelay","_init_extra_stopToClearDelay","_init_ClosenessPreference","_init_extra_ClosenessPreference","_init_effectScaling","_init_extra_effectScaling","_init_durationPerEffect","_init_extra_durationPerEffect","_init_isPlaying","_init_extra_isPlaying","_init_localLocators","_init_extra_localLocators","_init_triggerSphereRadiusCurve","_init_extra_triggerSphereRadiusCurve","_init_triggerSphereScalarMulti","_init_extra_triggerSphereScalarMulti","_init_locatorSetName","_init_extra_locatorSetName","_init_completeness","_init_extra_completeness","_init_replayAfterDelay","_init_extra_replayAfterDelay","_init_trigger","_init_extra_trigger","_init_minRangeThreshold","_init_extra_minRangeThreshold","_init_playTime","_init_extra_playTime","_init_range","_init_extra_range","_init_numTriggers","_init_extra_numTriggers","_init_frequency","_init_extra_frequency","_init_skipCleanup","_init_extra_skipCleanup","_initProto","c","_initClass","_applyDecs","type","define","className","family","edit","notify","persist","int32","enum","float32","persistOnly","model","read","boolean","string","readwrite","int64","carbon","method","impl","implemented","adapted","reason","contextual","propagationType","triggerMethood","stopAfterNumTriggers","randScaleMin","randScaleMax","triggerSphereOffset","effect","stopToClearDelay","ClosenessPreference","effectScaling","durationPerEffect","isPlaying","localLocators","triggerSphereRadiusCurve","triggerSphereScalarMulti","locatorSetName","completeness","replayAfterDelay","trigger","minRangeThreshold","playTime","range","numTriggers","frequency","skipCleanup","Play","Stop","ClearInstanceList","Array","isArray","instances","Initialize","DisableEditMode","OnModified","value","min","max","ManageTriggers","currentRadSqr","Number","GetValueAt","records","index","record","CreateInstance","UpdateSyncronous","updateContext","params","ProcessLocators","spaceObjectParent","TriggerType","INTERVAL_TRIGGERS","size","floor","push","TRIGGER_SPHERE_CURVE","UpdateTriggerCurve","UpdateTriggerInterval","INSTANT_PERMANENT","GetDeltaT","deltaT","dt","Length","RecalculateLocatorSizes","locatorIndex","GetSmartRandomLocatorIndex","shift","PopFront","ptSize","ltSize","random","UpdateAsyncronous","IsRendering","worldTransform","UpdateVisibility","parentTransform","parentLod","Tr2Lod","TR2_LOD_HIGH","GetRenderables","ProcessLocalLocators","locators","GetLocators","locator","copy","lengthSq","squaredLength","direction","rand","sqrt","ProcessRefLocators","parent","GetLocatorsForSet","GetBoundingSphere","set","ProcessRandomSpreadLocators","count","dist","a","PI","z","s","cos","sin","PropagationType","LOCAL_LOCATORS","LOCATOR_SET_BY_REF","RANDOM_SPREAD","DistanceSortLocators","squaredDistance","sort","GetEffect","SetEffect","UnRegisterComponents","UnregisterChild","RegisterChild","RegisterComponents","SetControllerVariable","name","String","IsInRegistry","Register","GetComponentRegistry","UnRegister","constructor"],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { applyDecs2311 as _applyDecs2311 } from '../../../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import { type,
|
|
2
|
+
import { type, edit, carbon, impl, CjsSchema } from '#schema';
|
|
3
3
|
import { EveChildContainer as _EveChildContainer } from './EveChildContainer.js';
|
|
4
4
|
import { mat4 } from '#math/mat4';
|
|
5
5
|
import { quat } from '#math/quat';
|
|
@@ -18,7 +18,7 @@ class EveChildExplosion extends _EveChildContainer {
|
|
|
18
18
|
} = _applyDecs2311(this, [type.define({
|
|
19
19
|
className: "EveChildExplosion",
|
|
20
20
|
family: "eve/child"
|
|
21
|
-
})], [[type.array("mat4"), 0, "localExplosionTransforms"], [[type, type.vec3], 16, "globalExplosionOffset"], [type.list("IEveSpaceObjectChild"), 0, "globalExplosionInstances"], [[
|
|
21
|
+
})], [[type.array("mat4"), 0, "localExplosionTransforms"], [[type, type.vec3], 16, "globalExplosionOffset"], [type.list("IEveSpaceObjectChild"), 0, "globalExplosionInstances"], [[edit, edit.read, void 0, type.objectRef("EveChildContainer")], 16, "generatedGlobalExplosions"], [[edit, edit.persist, type, type.vec3], 16, "localScaling"], [[edit, edit.persist, type, type.vec3], 16, "globalScaling"], [[edit, edit.persist, void 0, type.model("IEveSpaceObjectChild")], 16, "globalExplosion"], [[edit, edit.persist, void 0, type.model("IEveSpaceObjectChild")], 16, "localExplosion"], [[edit, edit.persist, void 0, type.model("IEveSpaceObjectChild")], 16, "localExplosionShared"], [[edit, edit.persist, void 0, type.list("IEveSpaceObjectChild")], 16, "globalExplosions"], [[edit, edit.persist, type, type.float32], 16, "localExplosionIntervalFactor"], [[edit, edit.persist, type, type.float32], 16, "localExplosionDelay"], [[edit, edit.persist, type, type.float32], 16, "globalExplosionDelay"], [[edit, edit.read, type, type.float32], 16, "totalDuration"], [[edit, edit.persist, type, type.float32], 16, "globalDuration"], [[edit, edit.read, type, type.boolean], 16, "isPlaying"], [[edit, edit.persist, void 0, type.list("IEveSpaceObjectChild")], 16, "localExplosions"], [[edit, edit.persist, type, type.float32], 16, "localExplosionInterval"], [[edit, edit.read, type, type.float32], 16, "globalExplosionTime"], [[edit, edit.read, type, type.float32], 16, "wreckSwitchTime"], [[edit, edit.readwrite, type, type.float32], 16, "wreckSwitchOffsetFromGlobalStart"], [[edit, edit.read, type, type.float32], 16, "playTime"], [[edit, edit.persist, type, type.float32], 16, "localDuration"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetLocalExplosionTransforms"], [[carbon, carbon.method, impl, impl.implemented], 18, "SetGlobalExplosionOffset"], [[carbon, carbon.method, impl, impl.implemented], 18, "RegisterComponents"], [[carbon, carbon.method, impl, impl.implemented], 18, "UnRegisterComponents"], [[carbon, carbon.method, impl, impl.adapted], 18, "Play"], [[carbon, carbon.method, impl, impl.implemented], 18, "Stop"], [[impl, impl.adapted], 18, "UpdateSyncronous"], [[carbon, carbon.method, impl, impl.implemented], 18, "FindSharedObjects"], [[carbon, carbon.method, impl, impl.adapted, void 0, impl.reason("Carbon's ICopier callback writes an out-pointer and returns an OverrideResult; JS returns the alias or undefined-for-FALLBACK.")], 18, "CopyElement"]], 0, void 0, _EveChildContainer));
|
|
22
22
|
}
|
|
23
23
|
constructor(...args) {
|
|
24
24
|
super(...args);
|
|
@@ -234,7 +234,7 @@ class EveChildExplosion extends _EveChildContainer {
|
|
|
234
234
|
this.#sharedObjects.add(node);
|
|
235
235
|
const fields = CjsSchema.getSchema(node.constructor)?.fields ?? [];
|
|
236
236
|
for (const field of fields) {
|
|
237
|
-
if (!field.
|
|
237
|
+
if (!field.edit?.persist) continue;
|
|
238
238
|
const kind = field.type?.kind;
|
|
239
239
|
const value = node[field.name];
|
|
240
240
|
if ((kind === "model" || kind === "objectRef") && value) {
|
|
@@ -271,10 +271,14 @@ class EveChildExplosion extends _EveChildContainer {
|
|
|
271
271
|
* Static in Carbon (a C callback), camelCase here by the statics rule.
|
|
272
272
|
*/
|
|
273
273
|
static updateEmitter(dest, transform) {
|
|
274
|
-
|
|
274
|
+
// Carbon casts and skips - BlueCastPtr to Tr2SphereShapeAttributeGeneratorPtr,
|
|
275
|
+
// EveChildExplosion.cpp:438 - because the copier hands this every member of
|
|
276
|
+
// the cloned graph, not only the emitters.
|
|
277
|
+
const generator = CjsSchema.cast(dest, _Tr2SphereShapeAttrib);
|
|
278
|
+
if (!generator) return;
|
|
275
279
|
const position = vec3.create();
|
|
276
280
|
const rotation = quat.create();
|
|
277
|
-
|
|
281
|
+
generator.GetTransform(position, rotation);
|
|
278
282
|
const conjugate = quat.conjugate(quat.create(), transform.rotation);
|
|
279
283
|
const pure = quat.set(quat.create(), position[0], position[1], position[2], 0);
|
|
280
284
|
// XMQuaternionMultiply(a, b) is b*a, so the donor's nesting is
|
|
@@ -285,7 +289,7 @@ class EveChildExplosion extends _EveChildContainer {
|
|
|
285
289
|
// rotation' = XMQuaternionMultiply(transform.rotation, rotation)
|
|
286
290
|
// = rotation * transform.rotation in Hamilton order.
|
|
287
291
|
quat.multiply(rotation, rotation, transform.rotation);
|
|
288
|
-
|
|
292
|
+
generator.SetTransform(vec3.add(position, position, transform.position), rotation);
|
|
289
293
|
}
|
|
290
294
|
|
|
291
295
|
/**
|
|
@@ -310,7 +314,7 @@ class EveChildExplosion extends _EveChildContainer {
|
|
|
310
314
|
const copy = new source.constructor();
|
|
311
315
|
copies.set(source, copy);
|
|
312
316
|
for (const field of CjsSchema.getSchema(source.constructor).fields) {
|
|
313
|
-
if (!field.
|
|
317
|
+
if (!field.edit?.persist) continue;
|
|
314
318
|
const kind = field.type?.kind;
|
|
315
319
|
const value = source[field.name];
|
|
316
320
|
if (value === undefined) continue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EveChildExplosion.js","sources":["../../../../../src/trinity/eve/child/EveChildExplosion.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildExplosion.h\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildExplosion.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { CjsSchema, carbon, impl, io, type } from \"#schema\";\r\nimport { EveChildContainer } from \"./EveChildContainer.js\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { Tr2SphereShapeAttributeGenerator } from \"../../particle/attribute/Tr2SphereShapeAttributeGenerator.js\";\r\n\r\n/** A container child that sequences and spawns local and global explosion instances over time from authored transforms and delays. */\r\n@type.define({ className: \"EveChildExplosion\", family: \"eve/child\" })\r\nexport class EveChildExplosion extends EveChildContainer\r\n{\r\n\r\n #countdownToGlobalExplosionStart = 0;\r\n\r\n /** m_sharedObjects - the aliased-through-copies subgraph (cpp:319). */\r\n #sharedObjects = new Set();\r\n\r\n #localExplosionTimes = [];\r\n\r\n #nextLocalExplosion = 0;\r\n\r\n #nextLocalExplosionTime = 0;\r\n\r\n @type.array(\"mat4\")\r\n localExplosionTransforms = [];\r\n\r\n @type.vec3\r\n globalExplosionOffset = vec3.create();\r\n\r\n @type.list(\"IEveSpaceObjectChild\")\r\n globalExplosionInstances = [];\r\n\r\n /** m_globalExplosionContainer (EveChildContainerPtr) [READ] */\r\n @io.read\r\n @type.objectRef(\"EveChildContainer\")\r\n generatedGlobalExplosions = null;\r\n\r\n /** m_localExplosionScaling (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n localScaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_globalExplosionScaling (Vector3) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.vec3\r\n globalScaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_globalExplosion (IEveSpaceObjectChildPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"IEveSpaceObjectChild\")\r\n globalExplosion = null;\r\n\r\n /** m_localExplosion (IEveSpaceObjectChildPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"IEveSpaceObjectChild\")\r\n localExplosion = null;\r\n\r\n /** m_localExplosionShared (IEveSpaceObjectChildPtr) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.model(\"IEveSpaceObjectChild\")\r\n localExplosionShared = null;\r\n\r\n /** m_globalExplosions (PIEveSpaceObjectChildVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"IEveSpaceObjectChild\")\r\n globalExplosions = [];\r\n\r\n /** m_localExplosionIntervalFactor (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n localExplosionIntervalFactor = 1;\r\n\r\n /** m_localExplosionDelay (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n localExplosionDelay = 0;\r\n\r\n /** m_globalExplosionDelay (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n globalExplosionDelay = 0;\r\n\r\n /** m_totalDuration (float) [READ] */\r\n @io.read\r\n @type.float32\r\n totalDuration = 0;\r\n\r\n /** m_globalDuration (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n globalDuration = 0;\r\n\r\n /** m_isPlaying (bool) [READ] */\r\n @io.read\r\n @type.boolean\r\n isPlaying = false;\r\n\r\n /** m_localExplosions (PIEveSpaceObjectChildVector) [READ, PERSIST] */\r\n @io.persist\r\n @type.list(\"IEveSpaceObjectChild\")\r\n localExplosions = [];\r\n\r\n /** m_localExplosionInterval (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n localExplosionInterval = 1;\r\n\r\n /** m_globalExplosionTime (float) [READ] */\r\n @io.read\r\n @type.float32\r\n globalExplosionTime = 0;\r\n\r\n /** m_wreckSwitchTime (float) [READ] */\r\n @io.read\r\n @type.float32\r\n wreckSwitchTime = 0;\r\n\r\n /** m_wreckSwitchOffsetFromGlobalStart (float) [READWRITE] */\r\n @io.readwrite\r\n @type.float32\r\n wreckSwitchOffsetFromGlobalStart = 0;\r\n\r\n /** m_playTime (float) [READ] */\r\n @io.read\r\n @type.float32\r\n playTime = 0;\r\n\r\n /** m_localDuration (float) [READWRITE, PERSIST] */\r\n @io.persist\r\n @type.float32\r\n localDuration = 0;\r\n\r\n /** Carbon method SetLocalExplosionTransforms (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetLocalExplosionTransforms(transforms)\r\n {\r\n this.localExplosionTransforms = Array.from(transforms ?? [], transform => mat4.clone(transform));\r\n }\r\n\r\n /** Carbon method SetGlobalExplosionOffset (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetGlobalExplosionOffset(offset)\r\n {\r\n vec3.copy(this.globalExplosionOffset, offset);\r\n this.globalExplosionOffset[0] /= this.scaling[0];\r\n this.globalExplosionOffset[1] /= this.scaling[1];\r\n this.globalExplosionOffset[2] /= this.scaling[2];\r\n }\r\n\r\n /** Carbon EveChildExplosion::RegisterComponents (cpp:45-48): base container\r\n * registration only. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n super.RegisterComponents();\r\n }\r\n\r\n /** Carbon EveChildExplosion::UnRegisterComponents (cpp:54-65): manually\r\n * un-registers the global explosion container (spawned outside m_objects,\r\n * JS field generatedGlobalExplosions), then the base container forwarding. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n if (this.generatedGlobalExplosions)\r\n {\r\n this.generatedGlobalExplosions.UnRegister(this.GetComponentRegistry());\r\n }\r\n super.UnRegisterComponents();\r\n }\r\n\r\n /** Carbon method Play (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n Play()\r\n {\r\n this.Stop();\r\n if (!this.localExplosion && !this.globalExplosion && !this.localExplosions.length && !this.globalExplosions.length) return false;\r\n this.#nextLocalExplosionTime = this.localExplosionDelay;\r\n this.#nextLocalExplosion = 0;\r\n if (this.localExplosionShared) this.objects.push(this.localExplosionShared);\r\n // Carbon collects the shared subgraph right here (cpp:82), so every\r\n // later spawn's copy can alias rather than duplicate it.\r\n this.FindSharedObjects();\r\n this.#CalculateExplosionTimes(this.localExplosionTransforms.length);\r\n this.playTime = 0;\r\n this.#countdownToGlobalExplosionStart = this.globalExplosionTime;\r\n this.RebuildLocalTransform?.();\r\n this.isPlaying = true;\r\n return true;\r\n }\r\n\r\n /** Carbon method Stop (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n Stop()\r\n {\r\n this.objects.length = 0;\r\n this.isPlaying = false;\r\n this.globalExplosionInstances.length = 0;\r\n this.generatedGlobalExplosions = null;\r\n }\r\n\r\n @impl.adapted\r\n /**\r\n * Advances play time, spawns due local explosions and switches to wreck-only mode past the wreck-switch time, fires the global explosion batch once its countdown elapses, updates the children, and stops once the total duration passes.\r\n */\r\n UpdateSyncronous(updateContext, params = {})\r\n {\r\n if (!this.isPlaying) return;\r\n const deltaTime = Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaTime ?? 0);\r\n this.playTime += deltaTime;\r\n if (this.localExplosion || this.localExplosions.length)\r\n {\r\n if (this.wreckSwitchTime > 0 && this.playTime > this.wreckSwitchTime && this.globalDuration > 0)\r\n {\r\n this.#nextLocalExplosion = this.localExplosionTransforms.length;\r\n this.objects = this.objects.filter(object => object === this.generatedGlobalExplosions || object === this.localExplosionShared);\r\n }\r\n while (this.#nextLocalExplosionTime < deltaTime && this.#nextLocalExplosion < this.localExplosionTransforms.length)\r\n {\r\n this.#SpawnLocalExplosion(this.localExplosionTransforms[this.#nextLocalExplosion]);\r\n this.#nextLocalExplosion++;\r\n if (this.#nextLocalExplosion < this.localExplosionTransforms.length)\r\n {\r\n this.#nextLocalExplosionTime = this.#localExplosionTimes[this.#nextLocalExplosion];\r\n }\r\n }\r\n this.#nextLocalExplosionTime -= deltaTime;\r\n }\r\n if (this.globalExplosion || this.globalExplosions.length)\r\n {\r\n this.#countdownToGlobalExplosionStart -= deltaTime;\r\n if (this.#countdownToGlobalExplosionStart < 0 && !this.globalExplosionInstances.length) this.#SpawnGlobalExplosions();\r\n }\r\n for (const object of this.objects) object?.UpdateSyncronous(updateContext, params);\r\n if (this.playTime > this.totalDuration) this.Stop();\r\n }\r\n\r\n /**\r\n * Randomises a delay per local explosion, scaled by an interval factor raised to its index, and derives the global start, total duration and wreck-switch times from the accumulated delays.\r\n */\r\n #CalculateExplosionTimes(localExplosionCount)\r\n {\r\n this.#localExplosionTimes.length = 0;\r\n let timeUntilLastLocalExplosion = localExplosionCount ? this.localExplosionDelay : 0;\r\n this.globalExplosionTime = localExplosionCount ? this.globalExplosionDelay : 0;\r\n for (let i = 0; i < localExplosionCount; i++)\r\n {\r\n const explosionTime = this.localExplosionIntervalFactor ** i * this.localExplosionInterval * Math.random();\r\n this.#localExplosionTimes.push(explosionTime);\r\n timeUntilLastLocalExplosion += explosionTime;\r\n }\r\n this.globalExplosionTime += timeUntilLastLocalExplosion;\r\n this.totalDuration = Math.max(this.localDuration + timeUntilLastLocalExplosion, this.globalExplosionTime + this.globalDuration);\r\n this.wreckSwitchTime = this.globalExplosionTime + this.wreckSwitchOffsetFromGlobalStart;\r\n }\r\n\r\n /**\r\n * Carbon SpawnLocalExplosion (EveChildExplosion.cpp:456-481): decompose the\r\n * authored transform, copy a chosen source through the shared-preserving\r\n * copier (BeClasses->CopyTo with the CopyElement override and the\r\n * UpdateEmitter post-copy), set the copy up and track it.\r\n */\r\n #SpawnLocalExplosion(transform)\r\n {\r\n const source = this.localExplosions.length\r\n ? this.localExplosions[Math.floor(Math.random() * this.localExplosions.length)]\r\n : this.localExplosion;\r\n if (!source) return;\r\n const scale = mat4.getScaling(vec3.create(), transform);\r\n const rotation = mat4.getRotation(quat.create(), transform);\r\n const position = mat4.getTranslation(vec3.create(), transform);\r\n const instance = this.#CopyLocalExplosion(source, { position, rotation });\r\n if (!instance) return;\r\n instance.Setup?.(scale, rotation, position, 0);\r\n this.objects.push(instance);\r\n }\r\n\r\n /**\r\n * Carbon FindSharedObjects (EveChildExplosion.cpp:319-388): iterative DFS\r\n * from localExplosionShared collecting every reachable object into\r\n * #sharedObjects. Carbon walks the Blue member table for PERSIST\r\n * IROOT/IROOTPTR entries plus IList elements and IBlueDict values; the\r\n * CjsSchema field table is that member table here, and list fields ARE the\r\n * IList arm (this runtime's containers are fields, not container objects).\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n FindSharedObjects()\r\n {\r\n this.#sharedObjects.clear();\r\n if (!this.localExplosionShared) return;\r\n\r\n const stack = [ this.localExplosionShared ];\r\n while (stack.length)\r\n {\r\n const node = stack.pop();\r\n if (!node || typeof node !== \"object\" || this.#sharedObjects.has(node)) continue;\r\n this.#sharedObjects.add(node);\r\n\r\n const fields = CjsSchema.getSchema(node.constructor)?.fields ?? [];\r\n for (const field of fields)\r\n {\r\n if (!field.io?.persist) continue;\r\n const kind = field.type?.kind;\r\n const value = node[field.name];\r\n if ((kind === \"model\" || kind === \"objectRef\") && value)\r\n {\r\n stack.push(value);\r\n }\r\n else if (kind === \"list\" && Array.isArray(value))\r\n {\r\n for (const item of value)\r\n {\r\n if (item && typeof item === \"object\") stack.push(item);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Carbon CopyElement (EveChildExplosion.cpp:401-421), the ICopier override:\r\n * a node in the shared set is ALIASED into the copy rather than duplicated\r\n * (Carbon relocks the pointer; JS aliases the reference), anything else\r\n * falls back to the ordinary copier. Returns the object to use, or\r\n * undefined for FALLBACK.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's ICopier callback writes an out-pointer and returns an OverrideResult; JS returns the alias or undefined-for-FALLBACK.\")\r\n CopyElement(source)\r\n {\r\n return this.#sharedObjects.has(source) ? source : undefined;\r\n }\r\n\r\n /**\r\n * Carbon UpdateEmitter (EveChildExplosion.cpp:428-448), the post-copy\r\n * callback: a copied Tr2SphereShapeAttributeGenerator gets its transform\r\n * rebased into the explosion's frame so shared particle systems keep\r\n * working. TRANSCRIBED ODDITY: the donor's hand-rolled sandwich composes\r\n * to conj(rot) * position * rot - the INVERSE of Carbon's own canonical\r\n * TriVectorRotateQuaternion (q v q~, TriMath.cpp) - and is carried exactly\r\n * as written; a corrected port stops being evidence.\r\n *\r\n * Static in Carbon (a C callback), camelCase here by the statics rule.\r\n */\r\n static updateEmitter(dest, transform)\r\n {\r\n if (!(dest instanceof Tr2SphereShapeAttributeGenerator)) return;\r\n\r\n const position = vec3.create();\r\n const rotation = quat.create();\r\n dest.GetTransform(position, rotation);\r\n\r\n const conjugate = quat.conjugate(quat.create(), transform.rotation);\r\n const pure = quat.set(quat.create(), position[0], position[1], position[2], 0);\r\n // XMQuaternionMultiply(a, b) is b*a, so the donor's nesting is\r\n // conj * position * rot in Hamilton order.\r\n const sandwich = quat.multiply(quat.create(), quat.multiply(quat.create(), conjugate, pure), transform.rotation);\r\n vec3.set(position, sandwich[0], sandwich[1], sandwich[2]);\r\n\r\n // rotation' = XMQuaternionMultiply(transform.rotation, rotation)\r\n // = rotation * transform.rotation in Hamilton order.\r\n quat.multiply(rotation, rotation, transform.rotation);\r\n\r\n dest.SetTransform(vec3.add(position, position, transform.position), rotation);\r\n }\r\n\r\n /**\r\n * The CopyTo call SpawnLocalExplosion makes (cpp:474): a deep copy of the\r\n * source graph in which CopyElement's shared aliases survive and every\r\n * copied node passes through UpdateEmitter. CjsModel.Clone rehydrates\r\n * through plain value bags and cannot alias, so the copy walks the schema\r\n * directly: persisted reference fields recurse, everything else takes the\r\n * clone-by-values path per node.\r\n */\r\n #CopyLocalExplosion(source, transform, copies = new Map())\r\n {\r\n if (!source || typeof source !== \"object\") return source;\r\n\r\n const aliased = this.CopyElement(source);\r\n if (aliased !== undefined) return aliased;\r\n if (copies.has(source)) return copies.get(source);\r\n\r\n if (typeof source.constructor !== \"function\" || !CjsSchema.getSchema(source.constructor)?.fields?.length)\r\n {\r\n // A schema-less duck (a host-supplied effect source) cannot be walked;\r\n // its own Clone is the ordinary-copier arm for it, passthrough failing\r\n // that. Shared aliasing above still applies to it.\r\n return typeof source.Clone === \"function\" ? source.Clone() : source;\r\n }\r\n\r\n const copy = new source.constructor();\r\n copies.set(source, copy);\r\n\r\n for (const field of CjsSchema.getSchema(source.constructor).fields)\r\n {\r\n if (!field.io?.persist) continue;\r\n const kind = field.type?.kind;\r\n const value = source[field.name];\r\n if (value === undefined) continue;\r\n\r\n if (kind === \"model\" || kind === \"objectRef\")\r\n {\r\n copy[field.name] = this.#CopyLocalExplosion(value, transform, copies);\r\n }\r\n else if (kind === \"list\" && Array.isArray(value))\r\n {\r\n copy[field.name] = value.map(item => this.#CopyLocalExplosion(item, transform, copies));\r\n }\r\n else if (ArrayBuffer.isView(value))\r\n {\r\n copy[field.name] = value.slice();\r\n }\r\n else if (Array.isArray(value))\r\n {\r\n copy[field.name] = value.map(item => ArrayBuffer.isView(item) ? item.slice() : item);\r\n }\r\n else\r\n {\r\n copy[field.name] = value;\r\n }\r\n }\r\n\r\n EveChildExplosion.updateEmitter(copy, transform);\r\n return copy;\r\n }\r\n\r\n /**\r\n * Clones the global explosion sources into a newly positioned and scaled container child, tracks the instances, and adds the container to the objects.\r\n */\r\n #SpawnGlobalExplosions()\r\n {\r\n const sources = this.globalExplosion ? [this.globalExplosion] : this.globalExplosions;\r\n const container = new EveChildContainer();\r\n container.Setup(this.globalScaling, quat.create(), this.globalExplosionOffset, 0);\r\n for (const source of sources)\r\n {\r\n const instance = source?.Clone?.() ?? source;\r\n if (!instance) continue;\r\n container.objects.push(instance);\r\n this.globalExplosionInstances.push(instance);\r\n }\r\n this.generatedGlobalExplosions = container;\r\n this.objects.push(container);\r\n }\r\n\r\n}\r\n"],"names":["_EveChildExplosion","EveChildExplosion","EveChildContainer","e","_init_localExplosionTransforms","_init_extra_localExplosionTransforms","_init_globalExplosionOffset","_init_extra_globalExplosionOffset","_init_globalExplosionInstances","_init_extra_globalExplosionInstances","_init_generatedGlobalExplosions","_init_extra_generatedGlobalExplosions","_init_localScaling","_init_extra_localScaling","_init_globalScaling","_init_extra_globalScaling","_init_globalExplosion","_init_extra_globalExplosion","_init_localExplosion","_init_extra_localExplosion","_init_localExplosionShared","_init_extra_localExplosionShared","_init_globalExplosions","_init_extra_globalExplosions","_init_localExplosionIntervalFactor","_init_extra_localExplosionIntervalFactor","_init_localExplosionDelay","_init_extra_localExplosionDelay","_init_globalExplosionDelay","_init_extra_globalExplosionDelay","_init_totalDuration","_init_extra_totalDuration","_init_globalDuration","_init_extra_globalDuration","_init_isPlaying","_init_extra_isPlaying","_init_localExplosions","_init_extra_localExplosions","_init_localExplosionInterval","_init_extra_localExplosionInterval","_init_globalExplosionTime","_init_extra_globalExplosionTime","_init_wreckSwitchTime","_init_extra_wreckSwitchTime","_init_wreckSwitchOffsetFromGlobalStart","_init_extra_wreckSwitchOffsetFromGlobalStart","_init_playTime","_init_extra_playTime","_init_localDuration","_init_extra_localDuration","_initProto","c","_initClass","_applyDecs","type","define","className","family","array","vec3","list","io","read","objectRef","persist","model","float32","boolean","readwrite","carbon","method","impl","implemented","adapted","reason","constructor","args","Set","localExplosionTransforms","globalExplosionOffset","create","globalExplosionInstances","generatedGlobalExplosions","localScaling","fromValues","globalScaling","globalExplosion","localExplosion","localExplosionShared","globalExplosions","localExplosionIntervalFactor","localExplosionDelay","globalExplosionDelay","totalDuration","globalDuration","isPlaying","localExplosions","localExplosionInterval","globalExplosionTime","wreckSwitchTime","wreckSwitchOffsetFromGlobalStart","playTime","localDuration","SetLocalExplosionTransforms","transforms","Array","from","transform","mat4","clone","SetGlobalExplosionOffset","offset","copy","scaling","RegisterComponents","UnRegisterComponents","UnRegister","GetComponentRegistry","Play","Stop","length","objects","push","FindSharedObjects","RebuildLocalTransform","UpdateSyncronous","updateContext","params","deltaTime","Number","GetDeltaT","filter","object","#CalculateExplosionTimes","localExplosionCount","timeUntilLastLocalExplosion","i","explosionTime","Math","random","max","#SpawnLocalExplosion","source","floor","scale","getScaling","rotation","getRotation","quat","position","getTranslation","instance","Setup","clear","stack","node","pop","has","add","fields","CjsSchema","getSchema","field","kind","value","name","isArray","item","CopyElement","undefined","updateEmitter","dest","Tr2SphereShapeAttributeGenerator","GetTransform","conjugate","pure","set","sandwich","multiply","SetTransform","#CopyLocalExplosion","copies","Map","aliased","get","Clone","map","ArrayBuffer","isView","slice","#SpawnGlobalExplosions","sources","container"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EveChildExplosion.js","sources":["../../../../../src/trinity/eve/child/EveChildExplosion.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObject/Children/EveChildExplosion.h\r\n// trinity/trinity/Eve/SpaceObject/Children/EveChildExplosion.cpp\r\n// Hand-maintained from Carbon source, promoted out of generated intake.\r\nimport { CjsSchema, carbon, impl, edit, type } from \"#schema\";\r\nimport { EveChildContainer } from \"./EveChildContainer.js\";\r\nimport { mat4 } from \"#math/mat4\";\r\nimport { quat } from \"#math/quat\";\r\nimport { vec3 } from \"#math/vec3\";\r\nimport { Tr2SphereShapeAttributeGenerator } from \"../../particle/attribute/Tr2SphereShapeAttributeGenerator.js\";\r\n\r\n/** A container child that sequences and spawns local and global explosion instances over time from authored transforms and delays. */\r\n@type.define({ className: \"EveChildExplosion\", family: \"eve/child\" })\r\nexport class EveChildExplosion extends EveChildContainer\r\n{\r\n\r\n #countdownToGlobalExplosionStart = 0;\r\n\r\n /** m_sharedObjects - the aliased-through-copies subgraph (cpp:319). */\r\n #sharedObjects = new Set();\r\n\r\n #localExplosionTimes = [];\r\n\r\n #nextLocalExplosion = 0;\r\n\r\n #nextLocalExplosionTime = 0;\r\n\r\n @type.array(\"mat4\")\r\n localExplosionTransforms = [];\r\n\r\n @type.vec3\r\n globalExplosionOffset = vec3.create();\r\n\r\n @type.list(\"IEveSpaceObjectChild\")\r\n globalExplosionInstances = [];\r\n\r\n /** m_globalExplosionContainer (EveChildContainerPtr) [READ] */\r\n @edit.read\r\n @type.objectRef(\"EveChildContainer\")\r\n generatedGlobalExplosions = null;\r\n\r\n /** m_localExplosionScaling (Vector3) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.vec3\r\n localScaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_globalExplosionScaling (Vector3) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.vec3\r\n globalScaling = vec3.fromValues(1, 1, 1);\r\n\r\n /** m_globalExplosion (IEveSpaceObjectChildPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"IEveSpaceObjectChild\")\r\n globalExplosion = null;\r\n\r\n /** m_localExplosion (IEveSpaceObjectChildPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"IEveSpaceObjectChild\")\r\n localExplosion = null;\r\n\r\n /** m_localExplosionShared (IEveSpaceObjectChildPtr) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.model(\"IEveSpaceObjectChild\")\r\n localExplosionShared = null;\r\n\r\n /** m_globalExplosions (PIEveSpaceObjectChildVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"IEveSpaceObjectChild\")\r\n globalExplosions = [];\r\n\r\n /** m_localExplosionIntervalFactor (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n localExplosionIntervalFactor = 1;\r\n\r\n /** m_localExplosionDelay (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n localExplosionDelay = 0;\r\n\r\n /** m_globalExplosionDelay (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n globalExplosionDelay = 0;\r\n\r\n /** m_totalDuration (float) [READ] */\r\n @edit.read\r\n @type.float32\r\n totalDuration = 0;\r\n\r\n /** m_globalDuration (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n globalDuration = 0;\r\n\r\n /** m_isPlaying (bool) [READ] */\r\n @edit.read\r\n @type.boolean\r\n isPlaying = false;\r\n\r\n /** m_localExplosions (PIEveSpaceObjectChildVector) [READ, PERSIST] */\r\n @edit.persist\r\n @type.list(\"IEveSpaceObjectChild\")\r\n localExplosions = [];\r\n\r\n /** m_localExplosionInterval (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n localExplosionInterval = 1;\r\n\r\n /** m_globalExplosionTime (float) [READ] */\r\n @edit.read\r\n @type.float32\r\n globalExplosionTime = 0;\r\n\r\n /** m_wreckSwitchTime (float) [READ] */\r\n @edit.read\r\n @type.float32\r\n wreckSwitchTime = 0;\r\n\r\n /** m_wreckSwitchOffsetFromGlobalStart (float) [READWRITE] */\r\n @edit.readwrite\r\n @type.float32\r\n wreckSwitchOffsetFromGlobalStart = 0;\r\n\r\n /** m_playTime (float) [READ] */\r\n @edit.read\r\n @type.float32\r\n playTime = 0;\r\n\r\n /** m_localDuration (float) [READWRITE, PERSIST] */\r\n @edit.persist\r\n @type.float32\r\n localDuration = 0;\r\n\r\n /** Carbon method SetLocalExplosionTransforms (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetLocalExplosionTransforms(transforms)\r\n {\r\n this.localExplosionTransforms = Array.from(transforms ?? [], transform => mat4.clone(transform));\r\n }\r\n\r\n /** Carbon method SetGlobalExplosionOffset (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n SetGlobalExplosionOffset(offset)\r\n {\r\n vec3.copy(this.globalExplosionOffset, offset);\r\n this.globalExplosionOffset[0] /= this.scaling[0];\r\n this.globalExplosionOffset[1] /= this.scaling[1];\r\n this.globalExplosionOffset[2] /= this.scaling[2];\r\n }\r\n\r\n /** Carbon EveChildExplosion::RegisterComponents (cpp:45-48): base container\r\n * registration only. */\r\n @carbon.method\r\n @impl.implemented\r\n RegisterComponents()\r\n {\r\n super.RegisterComponents();\r\n }\r\n\r\n /** Carbon EveChildExplosion::UnRegisterComponents (cpp:54-65): manually\r\n * un-registers the global explosion container (spawned outside m_objects,\r\n * JS field generatedGlobalExplosions), then the base container forwarding. */\r\n @carbon.method\r\n @impl.implemented\r\n UnRegisterComponents()\r\n {\r\n if (this.generatedGlobalExplosions)\r\n {\r\n this.generatedGlobalExplosions.UnRegister(this.GetComponentRegistry());\r\n }\r\n super.UnRegisterComponents();\r\n }\r\n\r\n /** Carbon method Play (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.adapted\r\n Play()\r\n {\r\n this.Stop();\r\n if (!this.localExplosion && !this.globalExplosion && !this.localExplosions.length && !this.globalExplosions.length) return false;\r\n this.#nextLocalExplosionTime = this.localExplosionDelay;\r\n this.#nextLocalExplosion = 0;\r\n if (this.localExplosionShared) this.objects.push(this.localExplosionShared);\r\n // Carbon collects the shared subgraph right here (cpp:82), so every\r\n // later spawn's copy can alias rather than duplicate it.\r\n this.FindSharedObjects();\r\n this.#CalculateExplosionTimes(this.localExplosionTransforms.length);\r\n this.playTime = 0;\r\n this.#countdownToGlobalExplosionStart = this.globalExplosionTime;\r\n this.RebuildLocalTransform?.();\r\n this.isPlaying = true;\r\n return true;\r\n }\r\n\r\n /** Carbon method Stop (MAP_METHOD_AND_WRAP). */\r\n @carbon.method\r\n @impl.implemented\r\n Stop()\r\n {\r\n this.objects.length = 0;\r\n this.isPlaying = false;\r\n this.globalExplosionInstances.length = 0;\r\n this.generatedGlobalExplosions = null;\r\n }\r\n\r\n @impl.adapted\r\n /**\r\n * Advances play time, spawns due local explosions and switches to wreck-only mode past the wreck-switch time, fires the global explosion batch once its countdown elapses, updates the children, and stops once the total duration passes.\r\n */\r\n UpdateSyncronous(updateContext, params = {})\r\n {\r\n if (!this.isPlaying) return;\r\n const deltaTime = Number(updateContext?.GetDeltaT?.() ?? updateContext?.deltaTime ?? 0);\r\n this.playTime += deltaTime;\r\n if (this.localExplosion || this.localExplosions.length)\r\n {\r\n if (this.wreckSwitchTime > 0 && this.playTime > this.wreckSwitchTime && this.globalDuration > 0)\r\n {\r\n this.#nextLocalExplosion = this.localExplosionTransforms.length;\r\n this.objects = this.objects.filter(object => object === this.generatedGlobalExplosions || object === this.localExplosionShared);\r\n }\r\n while (this.#nextLocalExplosionTime < deltaTime && this.#nextLocalExplosion < this.localExplosionTransforms.length)\r\n {\r\n this.#SpawnLocalExplosion(this.localExplosionTransforms[this.#nextLocalExplosion]);\r\n this.#nextLocalExplosion++;\r\n if (this.#nextLocalExplosion < this.localExplosionTransforms.length)\r\n {\r\n this.#nextLocalExplosionTime = this.#localExplosionTimes[this.#nextLocalExplosion];\r\n }\r\n }\r\n this.#nextLocalExplosionTime -= deltaTime;\r\n }\r\n if (this.globalExplosion || this.globalExplosions.length)\r\n {\r\n this.#countdownToGlobalExplosionStart -= deltaTime;\r\n if (this.#countdownToGlobalExplosionStart < 0 && !this.globalExplosionInstances.length) this.#SpawnGlobalExplosions();\r\n }\r\n for (const object of this.objects) object?.UpdateSyncronous(updateContext, params);\r\n if (this.playTime > this.totalDuration) this.Stop();\r\n }\r\n\r\n /**\r\n * Randomises a delay per local explosion, scaled by an interval factor raised to its index, and derives the global start, total duration and wreck-switch times from the accumulated delays.\r\n */\r\n #CalculateExplosionTimes(localExplosionCount)\r\n {\r\n this.#localExplosionTimes.length = 0;\r\n let timeUntilLastLocalExplosion = localExplosionCount ? this.localExplosionDelay : 0;\r\n this.globalExplosionTime = localExplosionCount ? this.globalExplosionDelay : 0;\r\n for (let i = 0; i < localExplosionCount; i++)\r\n {\r\n const explosionTime = this.localExplosionIntervalFactor ** i * this.localExplosionInterval * Math.random();\r\n this.#localExplosionTimes.push(explosionTime);\r\n timeUntilLastLocalExplosion += explosionTime;\r\n }\r\n this.globalExplosionTime += timeUntilLastLocalExplosion;\r\n this.totalDuration = Math.max(this.localDuration + timeUntilLastLocalExplosion, this.globalExplosionTime + this.globalDuration);\r\n this.wreckSwitchTime = this.globalExplosionTime + this.wreckSwitchOffsetFromGlobalStart;\r\n }\r\n\r\n /**\r\n * Carbon SpawnLocalExplosion (EveChildExplosion.cpp:456-481): decompose the\r\n * authored transform, copy a chosen source through the shared-preserving\r\n * copier (BeClasses->CopyTo with the CopyElement override and the\r\n * UpdateEmitter post-copy), set the copy up and track it.\r\n */\r\n #SpawnLocalExplosion(transform)\r\n {\r\n const source = this.localExplosions.length\r\n ? this.localExplosions[Math.floor(Math.random() * this.localExplosions.length)]\r\n : this.localExplosion;\r\n if (!source) return;\r\n const scale = mat4.getScaling(vec3.create(), transform);\r\n const rotation = mat4.getRotation(quat.create(), transform);\r\n const position = mat4.getTranslation(vec3.create(), transform);\r\n const instance = this.#CopyLocalExplosion(source, { position, rotation });\r\n if (!instance) return;\r\n instance.Setup?.(scale, rotation, position, 0);\r\n this.objects.push(instance);\r\n }\r\n\r\n /**\r\n * Carbon FindSharedObjects (EveChildExplosion.cpp:319-388): iterative DFS\r\n * from localExplosionShared collecting every reachable object into\r\n * #sharedObjects. Carbon walks the Blue member table for PERSIST\r\n * IROOT/IROOTPTR entries plus IList elements and IBlueDict values; the\r\n * CjsSchema field table is that member table here, and list fields ARE the\r\n * IList arm (this runtime's containers are fields, not container objects).\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n FindSharedObjects()\r\n {\r\n this.#sharedObjects.clear();\r\n if (!this.localExplosionShared) return;\r\n\r\n const stack = [ this.localExplosionShared ];\r\n while (stack.length)\r\n {\r\n const node = stack.pop();\r\n if (!node || typeof node !== \"object\" || this.#sharedObjects.has(node)) continue;\r\n this.#sharedObjects.add(node);\r\n\r\n const fields = CjsSchema.getSchema(node.constructor)?.fields ?? [];\r\n for (const field of fields)\r\n {\r\n if (!field.edit?.persist) continue;\r\n const kind = field.type?.kind;\r\n const value = node[field.name];\r\n if ((kind === \"model\" || kind === \"objectRef\") && value)\r\n {\r\n stack.push(value);\r\n }\r\n else if (kind === \"list\" && Array.isArray(value))\r\n {\r\n for (const item of value)\r\n {\r\n if (item && typeof item === \"object\") stack.push(item);\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Carbon CopyElement (EveChildExplosion.cpp:401-421), the ICopier override:\r\n * a node in the shared set is ALIASED into the copy rather than duplicated\r\n * (Carbon relocks the pointer; JS aliases the reference), anything else\r\n * falls back to the ordinary copier. Returns the object to use, or\r\n * undefined for FALLBACK.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n @impl.reason(\"Carbon's ICopier callback writes an out-pointer and returns an OverrideResult; JS returns the alias or undefined-for-FALLBACK.\")\r\n CopyElement(source)\r\n {\r\n return this.#sharedObjects.has(source) ? source : undefined;\r\n }\r\n\r\n /**\r\n * Carbon UpdateEmitter (EveChildExplosion.cpp:428-448), the post-copy\r\n * callback: a copied Tr2SphereShapeAttributeGenerator gets its transform\r\n * rebased into the explosion's frame so shared particle systems keep\r\n * working. TRANSCRIBED ODDITY: the donor's hand-rolled sandwich composes\r\n * to conj(rot) * position * rot - the INVERSE of Carbon's own canonical\r\n * TriVectorRotateQuaternion (q v q~, TriMath.cpp) - and is carried exactly\r\n * as written; a corrected port stops being evidence.\r\n *\r\n * Static in Carbon (a C callback), camelCase here by the statics rule.\r\n */\r\n static updateEmitter(dest, transform)\r\n {\r\n // Carbon casts and skips - BlueCastPtr to Tr2SphereShapeAttributeGeneratorPtr,\n // EveChildExplosion.cpp:438 - because the copier hands this every member of\n // the cloned graph, not only the emitters.\n const generator = CjsSchema.cast(dest, Tr2SphereShapeAttributeGenerator);\n if (!generator) return;\r\n\r\n const position = vec3.create();\r\n const rotation = quat.create();\r\n generator.GetTransform(position, rotation);\r\n\r\n const conjugate = quat.conjugate(quat.create(), transform.rotation);\r\n const pure = quat.set(quat.create(), position[0], position[1], position[2], 0);\r\n // XMQuaternionMultiply(a, b) is b*a, so the donor's nesting is\r\n // conj * position * rot in Hamilton order.\r\n const sandwich = quat.multiply(quat.create(), quat.multiply(quat.create(), conjugate, pure), transform.rotation);\r\n vec3.set(position, sandwich[0], sandwich[1], sandwich[2]);\r\n\r\n // rotation' = XMQuaternionMultiply(transform.rotation, rotation)\r\n // = rotation * transform.rotation in Hamilton order.\r\n quat.multiply(rotation, rotation, transform.rotation);\r\n\r\n generator.SetTransform(vec3.add(position, position, transform.position), rotation);\r\n }\r\n\r\n /**\r\n * The CopyTo call SpawnLocalExplosion makes (cpp:474): a deep copy of the\r\n * source graph in which CopyElement's shared aliases survive and every\r\n * copied node passes through UpdateEmitter. CjsModel.Clone rehydrates\r\n * through plain value bags and cannot alias, so the copy walks the schema\r\n * directly: persisted reference fields recurse, everything else takes the\r\n * clone-by-values path per node.\r\n */\r\n #CopyLocalExplosion(source, transform, copies = new Map())\r\n {\r\n if (!source || typeof source !== \"object\") return source;\r\n\r\n const aliased = this.CopyElement(source);\r\n if (aliased !== undefined) return aliased;\r\n if (copies.has(source)) return copies.get(source);\r\n\r\n if (typeof source.constructor !== \"function\" || !CjsSchema.getSchema(source.constructor)?.fields?.length)\r\n {\r\n // A schema-less duck (a host-supplied effect source) cannot be walked;\r\n // its own Clone is the ordinary-copier arm for it, passthrough failing\r\n // that. Shared aliasing above still applies to it.\r\n return typeof source.Clone === \"function\" ? source.Clone() : source;\r\n }\r\n\r\n const copy = new source.constructor();\r\n copies.set(source, copy);\r\n\r\n for (const field of CjsSchema.getSchema(source.constructor).fields)\r\n {\r\n if (!field.edit?.persist) continue;\r\n const kind = field.type?.kind;\r\n const value = source[field.name];\r\n if (value === undefined) continue;\r\n\r\n if (kind === \"model\" || kind === \"objectRef\")\r\n {\r\n copy[field.name] = this.#CopyLocalExplosion(value, transform, copies);\r\n }\r\n else if (kind === \"list\" && Array.isArray(value))\r\n {\r\n copy[field.name] = value.map(item => this.#CopyLocalExplosion(item, transform, copies));\r\n }\r\n else if (ArrayBuffer.isView(value))\r\n {\r\n copy[field.name] = value.slice();\r\n }\r\n else if (Array.isArray(value))\r\n {\r\n copy[field.name] = value.map(item => ArrayBuffer.isView(item) ? item.slice() : item);\r\n }\r\n else\r\n {\r\n copy[field.name] = value;\r\n }\r\n }\r\n\r\n EveChildExplosion.updateEmitter(copy, transform);\r\n return copy;\r\n }\r\n\r\n /**\r\n * Clones the global explosion sources into a newly positioned and scaled container child, tracks the instances, and adds the container to the objects.\r\n */\r\n #SpawnGlobalExplosions()\r\n {\r\n const sources = this.globalExplosion ? [this.globalExplosion] : this.globalExplosions;\r\n const container = new EveChildContainer();\r\n container.Setup(this.globalScaling, quat.create(), this.globalExplosionOffset, 0);\r\n for (const source of sources)\r\n {\r\n const instance = source?.Clone?.() ?? source;\r\n if (!instance) continue;\r\n container.objects.push(instance);\r\n this.globalExplosionInstances.push(instance);\r\n }\r\n this.generatedGlobalExplosions = container;\r\n this.objects.push(container);\r\n }\r\n\r\n}\r\n"],"names":["_EveChildExplosion","EveChildExplosion","EveChildContainer","e","_init_localExplosionTransforms","_init_extra_localExplosionTransforms","_init_globalExplosionOffset","_init_extra_globalExplosionOffset","_init_globalExplosionInstances","_init_extra_globalExplosionInstances","_init_generatedGlobalExplosions","_init_extra_generatedGlobalExplosions","_init_localScaling","_init_extra_localScaling","_init_globalScaling","_init_extra_globalScaling","_init_globalExplosion","_init_extra_globalExplosion","_init_localExplosion","_init_extra_localExplosion","_init_localExplosionShared","_init_extra_localExplosionShared","_init_globalExplosions","_init_extra_globalExplosions","_init_localExplosionIntervalFactor","_init_extra_localExplosionIntervalFactor","_init_localExplosionDelay","_init_extra_localExplosionDelay","_init_globalExplosionDelay","_init_extra_globalExplosionDelay","_init_totalDuration","_init_extra_totalDuration","_init_globalDuration","_init_extra_globalDuration","_init_isPlaying","_init_extra_isPlaying","_init_localExplosions","_init_extra_localExplosions","_init_localExplosionInterval","_init_extra_localExplosionInterval","_init_globalExplosionTime","_init_extra_globalExplosionTime","_init_wreckSwitchTime","_init_extra_wreckSwitchTime","_init_wreckSwitchOffsetFromGlobalStart","_init_extra_wreckSwitchOffsetFromGlobalStart","_init_playTime","_init_extra_playTime","_init_localDuration","_init_extra_localDuration","_initProto","c","_initClass","_applyDecs","type","define","className","family","array","vec3","list","edit","read","objectRef","persist","model","float32","boolean","readwrite","carbon","method","impl","implemented","adapted","reason","constructor","args","Set","localExplosionTransforms","globalExplosionOffset","create","globalExplosionInstances","generatedGlobalExplosions","localScaling","fromValues","globalScaling","globalExplosion","localExplosion","localExplosionShared","globalExplosions","localExplosionIntervalFactor","localExplosionDelay","globalExplosionDelay","totalDuration","globalDuration","isPlaying","localExplosions","localExplosionInterval","globalExplosionTime","wreckSwitchTime","wreckSwitchOffsetFromGlobalStart","playTime","localDuration","SetLocalExplosionTransforms","transforms","Array","from","transform","mat4","clone","SetGlobalExplosionOffset","offset","copy","scaling","RegisterComponents","UnRegisterComponents","UnRegister","GetComponentRegistry","Play","Stop","length","objects","push","FindSharedObjects","RebuildLocalTransform","UpdateSyncronous","updateContext","params","deltaTime","Number","GetDeltaT","filter","object","#CalculateExplosionTimes","localExplosionCount","timeUntilLastLocalExplosion","i","explosionTime","Math","random","max","#SpawnLocalExplosion","source","floor","scale","getScaling","rotation","getRotation","quat","position","getTranslation","instance","Setup","clear","stack","node","pop","has","add","fields","CjsSchema","getSchema","field","kind","value","name","isArray","item","CopyElement","undefined","updateEmitter","dest","generator","cast","Tr2SphereShapeAttributeGenerator","GetTransform","conjugate","pure","set","sandwich","multiply","SetTransform","#CopyLocalExplosion","copies","Map","aliased","get","Clone","map","ArrayBuffer","isView","slice","#SpawnGlobalExplosions","sources","container"],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { identity as _identity, applyDecs2311 as _applyDecs2311 } from '../../..
|
|
|
2
2
|
import { mat4 } from '#math/mat4';
|
|
3
3
|
import { vec3 } from '#math/vec3';
|
|
4
4
|
import { vec4 } from '#math/vec4';
|
|
5
|
-
import {
|
|
5
|
+
import { edit, type, impl } from '#schema';
|
|
6
6
|
import { ITr2FroxelFogSettings as _ITr2FroxelFogSetting } from './ITr2FroxelFogSettings.js';
|
|
7
7
|
import { EveComponentType } from '../EveComponentTypes.js';
|
|
8
8
|
import { Priority } from '../../generated/postProcess/enums.js';
|
|
@@ -52,7 +52,7 @@ new class extends _identity {
|
|
|
52
52
|
} = _applyDecs2311(this, [type.define({
|
|
53
53
|
className: "EveChildFogVolume",
|
|
54
54
|
family: "eve/child"
|
|
55
|
-
})], [[[
|
|
55
|
+
})], [[[edit, edit.persist, type, type.int32, void 0, type.enum("Priority")], 16, "priority"], [[edit, edit.persist, void 0, type.list("IEveVolume")], 16, "volumes"], [[edit, edit.read, type, type.vec3], 16, "boundingSphereCenter"], [[edit, edit.read, type, type.float32], 16, "boundingSphereRadius"], [[edit, edit.persist, type, type.string], 16, "name"], [[edit, edit.persist, type, type.float32], 16, "intensity"], [[edit, edit.persist, type, type.float32], 16, "thickness"], [[edit, edit.persist, type, type.boolean], 16, "thicknessEnabled"], [[edit, edit.persist, type, type.float32], 16, "lightDirectionality"], [[edit, edit.persist, type, type.boolean], 16, "lightDirectionalityEnabled"], [[edit, edit.persist, type, type.float32], 16, "environmentIntensity"], [[edit, edit.persist, type, type.boolean], 16, "environmentIntensityEnabled"], [[edit, edit.persist, type, type.float32], 16, "environmentDirectionality"], [[edit, edit.persist, type, type.boolean], 16, "environmentDirectionalityEnabled"], [[edit, edit.persist, type, type.color], 16, "fogColor"], [[edit, edit.persist, type, type.boolean], 16, "fogColorEnabled"], [[edit, edit.persist, type, type.float32], 16, "backgroundVisibility"], [[edit, edit.persist, type, type.boolean], 16, "backgroundVisibilityEnabled"], [[edit, edit.persist, type, type.float32], 16, "godRayNoiseIntensity"], [[edit, edit.persist, type, type.boolean], 16, "godRayNoiseIntensityEnabled"], [[edit, edit.persist, type, type.float32], 16, "godRayNoiseFrequency"], [[edit, edit.persist, type, type.boolean], 16, "godRayNoiseFrequencyEnabled"], [[edit, edit.persist, type, type.float32], 16, "godRayNoiseAnimationSpeed"], [[edit, edit.persist, type, type.boolean], 16, "godRayNoiseAnimationSpeedEnabled"], [[edit, edit.persist, type, type.float32], 16, "fogNoiseIntensity"], [[edit, edit.persist, type, type.boolean], 16, "fogNoiseIntensityEnabled"], [[edit, edit.persist, type, type.float32], 16, "fogNoiseFrequency"], [[edit, edit.persist, type, type.boolean], 16, "fogNoiseFrequencyEnabled"], [[impl, impl.adapted], 18, "RebuildBoundingSphere"], [[impl, impl.implemented], 18, "UpdateTransformFromParent"], [[impl, impl.adapted], 18, "UpdateAsyncronous"], [[impl, impl.adapted, void 0, impl.reason("Carbon's EveChildFogVolume body leaves the out matrix untouched; JavaScript's nominal child consumers require the current world transform and already consume that corrected contract.")], 18, "GetLocalToWorldTransform"], [[impl, impl.implemented], 18, "RegisterComponents"], [[impl, impl.adapted], 18, "GetFroxelFogSettings"]], 0, void 0, _ITr2FroxelFogSetting));
|
|
56
56
|
}
|
|
57
57
|
constructor(...args) {
|
|
58
58
|
super(...args);
|