@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
package/dist/sof/EveSOFDNA.js
CHANGED
|
@@ -453,7 +453,11 @@ new class extends _identity {
|
|
|
453
453
|
* hull animation prefix, and the supplied suffix.
|
|
454
454
|
*/
|
|
455
455
|
GetCompleteShaderPath(path) {
|
|
456
|
-
|
|
456
|
+
// Carbon's StringInsertStubAfter inserts after the LAST slash, including
|
|
457
|
+
// shader suffixes that contain subdirectories (quad/quadv5.fx).
|
|
458
|
+
const shaderPath = `/${path}`,
|
|
459
|
+
index = shaderPath.lastIndexOf("/") + 1;
|
|
460
|
+
return `${this.GetAreaShaderLocationResPath()}${shaderPath.slice(0, index)}${this.GetShaderPrefix(this.IsHullAnimated())}${shaderPath.slice(index)}`;
|
|
457
461
|
}
|
|
458
462
|
|
|
459
463
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EveSOFDNA.js","sources":["../../../src/sof/EveSOFDNA.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObjectFactory/EveSOFDNA.h\r\n// Source: trinity/trinity/Eve/SpaceObjectFactory/EveSOFDNA.cpp\r\n// Source: trinity/trinity/Eve/SpaceObjectFactory/EveSOFDNA_Blue.cpp\r\nimport { CjsModel } from \"#model\";\r\nimport { carbon, impl, type } from \"#schema\";\r\nimport { ReflectionMode, TriBatchType } from \"#consts/graphics\";\r\nimport { EveSOFDataMgr } from \"./EveSOFDataMgr.js\";\r\nimport { EveSOFDataHull } from \"./hull/EveSOFDataHull.js\";\r\nimport { EveSOFDataArea } from \"./shared/EveSOFDataArea.js\";\r\nimport { EveSOFUtilsParameterName } from \"./shared/EveSOFUtilsParameterName.js\";\r\n\r\n\r\nconst COMMAND_NAMES = Object.freeze([\r\n \"invalid\",\r\n \"material\",\r\n \"mesh\",\r\n \"respathinsert\",\r\n \"variant\",\r\n \"class\",\r\n \"pattern\",\r\n \"layout\"\r\n]);\r\n\r\nconst BUILD_CLASSES = Object.freeze([\r\n \"ship\",\r\n \"mobile\",\r\n \"stationary\",\r\n \"swarm\",\r\n \"extension\"\r\n]);\r\n\r\n/** Resolves a SOF DNA string against an EveSOFDataMgr. */\r\n@type.define({ className: \"EveSOFDNA\", family: \"eve\" })\r\nexport class EveSOFDNA extends CjsModel\r\n{\r\n\r\n static DnaCommand = Object.freeze({\r\n CMD_INVALID: 0,\r\n CMD_MATERIAL: 1,\r\n CMD_MESH: 2,\r\n CMD_RESPATHINSERT: 3,\r\n CMD_VARIANT: 4,\r\n CMD_CLASS: 5,\r\n CMD_PATTERN: 6,\r\n CMD_LAYOUT: 7,\r\n CMD_MAX: 8\r\n });\r\n\r\n @type.string\r\n dna = \"\";\r\n\r\n @type.objectRef(\"EveSOFDataMgr\")\r\n dataMgr = null;\r\n\r\n @type.list(\"EveSOFDataMgr::HullData\")\r\n hullDatas = [];\r\n\r\n @type.objectRef(\"EveSOFDataMgr::FactionData\")\r\n factionData = null;\r\n\r\n @type.objectRef(\"EveSOFDataMgr::RaceData\")\r\n raceData = null;\r\n\r\n @type.objectRef(\"EveSOFDataMgr::GenericData\")\r\n genericData = null;\r\n\r\n @type.objectRef(\"EveSOFDataMgr::PatternData\")\r\n patternData = null;\r\n\r\n @type.list(\"EveSOFDataMgr::LayoutData\")\r\n layoutData = [];\r\n\r\n @type.list(\"EveSOFDataMgr::HullData\")\r\n customHullData = [];\r\n\r\n @type.list(\"std::string\")\r\n hullNames = [];\r\n\r\n @type.string\r\n factionName = \"\";\r\n\r\n @type.string\r\n raceName = \"\";\r\n\r\n @type.rawStruct(\"CcpMath::Sphere\")\r\n parentBoundingSphere = null;\r\n\r\n @type.rawStruct(\"CcpMath::AxisAlignedEllipsoid\")\r\n parentHullShapeEllipsoid = null;\r\n\r\n @type.boolean\r\n isSkinned = false;\r\n\r\n #commands = new Map();\r\n\r\n #parseError = null;\r\n\r\n /**\r\n * Resolves either a complete DNA string or Carbon's layout descriptor form.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Setup(dnaOrLayout, dataOrDescriptor, parent = null, dataMgr = null)\r\n {\r\n if (dataOrDescriptor instanceof EveSOFDataMgr && dataMgr === null)\r\n {\r\n this.#setupFromString(String(dnaOrLayout ?? \"\"), dataOrDescriptor);\r\n return;\r\n }\r\n this.#setupFromDescriptor(String(dnaOrLayout ?? \"\"), dataOrDescriptor, parent, dataMgr);\r\n }\r\n\r\n /** Returns whether the three required catalog selections resolved. */\r\n @carbon.method\r\n @impl.implemented\r\n IsValid()\r\n {\r\n return this.hullDatas.length > 0 && this.factionData !== null && this.raceData !== null;\r\n }\r\n\r\n /** Returns the stable parse failure used by non-rendering adapters. */\r\n GetParseError()\r\n {\r\n return this.#parseError;\r\n }\r\n\r\n /** Performs Carbon's slow command validation with unsafe C++ cases guarded. */\r\n @carbon.method\r\n @impl.implemented\r\n ValidateContent()\r\n {\r\n if (!this.IsValid() || this.#parseError) return false;\r\n\r\n for (const [name, args] of this.#commands)\r\n {\r\n switch (name)\r\n {\r\n case \"material\":\r\n if (args.length !== this.genericData.materialPrefixes.length) return false;\r\n if (args.some(value => value !== \"none\" && !this.dataMgr.HasMaterialData(value))) return false;\r\n break;\r\n // `mesh` carries one material per material prefix, exactly like\r\n // `material`, and it is the spelling live EVE skins are authored with.\r\n // The Carbon snapshot at\r\n // trinity/trinity/Eve/SpaceObjectFactory/EveSOFDNA.cpp validates\r\n // CMD_MESH as a single argument alongside CMD_RESPATHINSERT; that is a\r\n // deliberate deviation, because real authored DNA fails it. See\r\n // ccpwgl's legacy reader indexing `commands.mesh[materialIndex]`\r\n // against `generic.materialPrefixes` for independent confirmation.\r\n case \"mesh\":\r\n case \"material\":\r\n if (args.length !== this.genericData.materialPrefixes.length) return false;\r\n if (args.some(value => value !== \"none\" && !this.dataMgr.HasMaterialData(value))) return false;\r\n break;\r\n case \"respathinsert\":\r\n if (args.length !== 1) return false;\r\n break;\r\n case \"variant\":\r\n if (args.length !== 1 || !this.genericData.variants.has(args[0])) return false;\r\n break;\r\n case \"class\":\r\n if (args.length !== 1 || !BUILD_CLASSES.includes(args[0])) return false;\r\n break;\r\n case \"pattern\":\r\n if (args.length !== 3 || !this.dataMgr.HasPatternData(args[0])) return false;\r\n if (args[1] !== \"none\" && !this.dataMgr.HasMaterialData(args[1])) return false;\r\n if (args[2] !== \"none\" && !this.dataMgr.HasMaterialData(args[2])) return false;\r\n break;\r\n case \"layout\":\r\n if (args.length === 0 || args.some(value => !this.dataMgr.HasLayoutData(value))) return false;\r\n break;\r\n default:\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /** Returns the normalized DNA text stored for the resolved selection. */\r\n @carbon.method\r\n @impl.implemented\r\n GetDnaString()\r\n {\r\n return this.dna;\r\n }\r\n\r\n /** Returns the number of hull records composing this selection. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMultiHullCount()\r\n {\r\n return this.hullDatas.length;\r\n }\r\n\r\n /** Returns the resolver's live hull-name array in composition order. */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullNames()\r\n {\r\n return this.hullNames;\r\n }\r\n\r\n /**\r\n * Returns the explicit DNA build-class index when valid, otherwise the first\r\n * hull's default.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetBuildClass()\r\n {\r\n const args = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_CLASS);\r\n if (args?.length)\r\n {\r\n const index = BUILD_CLASSES.indexOf(args[0]);\r\n if (index !== -1) return index;\r\n }\r\n return this.hullDatas[0]?.buildClass ?? 0;\r\n }\r\n\r\n /**\r\n * Returns the first hull's geometry path, rewritten to Carbon's combined path\r\n * convention for a multi-hull selection.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullGeometryResPath()\r\n {\r\n if (this.hullDatas.length === 0) return \"\";\r\n if (this.hullDatas.length === 1) return this.hullDatas[0].geometryResFilePath ?? \"\";\r\n\r\n let result = this.hullDatas[0].geometryResFilePath ?? \"\";\r\n const variantNumber = this.hullNames.map(name => name.slice(-1)).join(\"\");\r\n const nameParts = this.hullNames[0].split(\"_\");\r\n const variant = nameParts[nameParts.length - 1];\r\n if (variant)\r\n {\r\n result = result.replace(`${variant}.gr2`, `${variantNumber}.gr2`);\r\n result = result.replace(`${variant}/`, \"all/\");\r\n }\r\n return result;\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live mesh-area list for a supported batch\r\n * type, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullMeshAreas(batchType, hullIndex = 0)\r\n {\r\n const hull = this.hullDatas[hullIndex];\r\n if (!hull) return null;\r\n switch (batchType)\r\n {\r\n case TriBatchType.TRIBATCHTYPE_OPAQUE: return hull.opaqueAreas;\r\n case TriBatchType.TRIBATCHTYPE_DECAL: return hull.decalAreas;\r\n case TriBatchType.TRIBATCHTYPE_TRANSPARENT: return hull.transparentAreas;\r\n case TriBatchType.TRIBATCHTYPE_ADDITIVE: return hull.additiveAreas;\r\n case TriBatchType.TRIBATCHTYPE_DISTORTION: return hull.distortionAreas;\r\n default: return null;\r\n }\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live decal-set list, or an empty list\r\n * when that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullDecalSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.hullDecalSets ?? [];\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live light-set list, or an empty list\r\n * when that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullLightSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.hullLightSets ?? [];\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live sprite-set list, or an empty list\r\n * when that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullSpriteSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.spriteSets ?? [];\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live spotlight-set list, or an empty list\r\n * when that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullSpotlightSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.spotlightSets ?? [];\r\n }\r\n\r\n /**\r\n * Returns the faction's catalog-owned spotlight colors for the numeric group,\r\n * treating -1 or a missing group as absent.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetFactionSpotlightSetData(groupIndex)\r\n {\r\n if (Number(groupIndex) === -1) return null;\r\n return this.factionData?.spotlightSetsColors?.get(Number(groupIndex)) ?? null;\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live plane-set list, or an empty list\r\n * when that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullPlaneSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.planeSets ?? [];\r\n }\r\n\r\n /**\r\n * Returns the faction's catalog-owned plane-set colors for the numeric group,\r\n * treating -1 or a missing group as absent.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetFactionPlaneSetData(groupIndex)\r\n {\r\n if (Number(groupIndex) === -1) return null;\r\n return this.factionData?.planeSetsColors?.get(Number(groupIndex)) ?? null;\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live sprite-line-set list, or an empty\r\n * list when that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullSpriteLineSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.spriteLineSets ?? [];\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live haze-set list, or an empty list when\r\n * that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullHazeSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.hazeSets ?? [];\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live banner list, or an empty list when\r\n * that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullBanners(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.banners ?? [];\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live banner-set list, or an empty list\r\n * when that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullBannerSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.bannerSets ?? [];\r\n }\r\n\r\n /** Returns legacy hull children from Carbon's first-hull-only path. */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullChildren()\r\n {\r\n return this.hullDatas[0]?.children ?? [];\r\n }\r\n\r\n /** Returns SOF6 child sets from Carbon's first-hull-only path. */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullChildSets()\r\n {\r\n return this.hullDatas[0]?.childSets ?? [];\r\n }\r\n\r\n /** Returns instanced attachments from Carbon's first-hull-only path. */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullInstancedMeshes()\r\n {\r\n return this.hullDatas[0]?.instancedMeshes ?? [];\r\n }\r\n\r\n /** Returns legacy animation declarations from Carbon's first hull. */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullAnimations()\r\n {\r\n return this.hullDatas[0]?.animations ?? [];\r\n }\r\n\r\n /**\r\n * Returns the first hull record's live sound-emitter declarations, or an empty\r\n * list.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullSoundEmitters()\r\n {\r\n return this.hullDatas[0]?.soundEmitters ?? [];\r\n }\r\n\r\n /**\r\n * Returns the first hull record's live controller declarations, or an empty\r\n * list.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullControllers()\r\n {\r\n return this.hullDatas[0]?.controllers ?? [];\r\n }\r\n\r\n /** Returns the first hull's non-empty model-rotation curve path, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetModelRotationCurvePath()\r\n {\r\n return this.hullDatas[0]?.modelRotationCurvePath || null;\r\n }\r\n\r\n /** Returns the first hull's non-empty model-translation curve path, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetModelTranslationCurvePath()\r\n {\r\n return this.hullDatas[0]?.modelTranslationCurvePath || null;\r\n }\r\n\r\n /** Gets the faction visibility override for one legacy child group. */\r\n @carbon.method\r\n @impl.implemented\r\n GetFactionChildData(groupIndex)\r\n {\r\n const index = Number(groupIndex);\r\n if (index === -1) return null;\r\n return this.factionData?.factionChildren?.get(index) ?? null;\r\n }\r\n\r\n /** Returns the resolved generic catalog's banner-shader data, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetGenericBannerShaderData()\r\n {\r\n return this.genericData?.bannerShader ?? null;\r\n }\r\n\r\n /** Returns Carbon's decal minimum screen size for one HullDecalSetItem Usage. */\r\n @carbon.method\r\n @impl.implemented\r\n GetDecalMinScreenSize(usage)\r\n {\r\n return this.genericData?.decalMinScreenSize?.[Number(usage)];\r\n }\r\n\r\n /**\r\n * Returns the greatest opaque area index for the selected hull, using zero for\r\n * non-opaque batches or an empty area list.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHighestMeshAreaIndex(batchType, hullIndex = 0)\r\n {\r\n if (batchType !== TriBatchType.TRIBATCHTYPE_OPAQUE) return 0;\r\n let highest = 0;\r\n for (const area of this.GetHullMeshAreas(batchType, hullIndex) ?? [])\r\n {\r\n highest = Math.max(highest, area.index);\r\n }\r\n return highest;\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live turret-locator list, or an empty\r\n * list.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullTurretLocators(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.locatorTurrets ?? [];\r\n }\r\n\r\n /** Returns a new sorted snapshot of the selected hull's locator-set names. */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullLocatorSetNames(hullIndex = 0)\r\n {\r\n const locatorSets = this.hullDatas[hullIndex]?.locatorSets;\r\n return locatorSets instanceof Map ? [...locatorSets.keys()].sort() : [];\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live locator list for a named set, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullLocators(setName, hullIndex = 0)\r\n {\r\n const locatorSets = this.hullDatas[hullIndex]?.locatorSets;\r\n return locatorSets instanceof Map ? locatorSets.get(String(setName)) ?? null : null;\r\n }\r\n\r\n /**\r\n * Returns the live locator list used to place a named layout set on the\r\n * selected hull, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetPlacementLocators(hullIndex, locatorSetName)\r\n {\r\n return this.GetHullLocators(locatorSetName, hullIndex);\r\n }\r\n\r\n /** Returns the number of layout catalog records selected by the DNA. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLayoutCount()\r\n {\r\n return this.layoutData.length;\r\n }\r\n\r\n /** Returns the catalog-owned selected layout at the numeric index, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLayoutData(index)\r\n {\r\n return this.layoutData[Number(index)] ?? null;\r\n }\r\n\r\n /**\r\n * Returns the total number of locators in the named set across every selected\r\n * hull.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocatorCount(setName)\r\n {\r\n let count = 0;\r\n for (let hullIndex = 0; hullIndex < this.hullDatas.length; hullIndex++)\r\n {\r\n count += this.GetHullLocators(setName, hullIndex)?.length ?? 0;\r\n }\r\n return count;\r\n }\r\n\r\n /**\r\n * Returns the first next-subsystem locator position for the selected hull, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullNextSubsystemOffset(hullIndex = 0)\r\n {\r\n return this.GetHullLocators(\"next_subsystem\", hullIndex)?.[0]?.position ?? null;\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live audio position only when it is the\r\n * final hull in the composition.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullAudioPosition(hullIndex = 0)\r\n {\r\n if (hullIndex + 1 !== this.hullDatas.length) return null;\r\n return this.hullDatas[hullIndex]?.audioPosition ?? null;\r\n }\r\n\r\n /**\r\n * Returns the generic catalog's base resource path for area shaders, or an\r\n * empty string.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetAreaShaderLocationResPath()\r\n {\r\n return this.genericData?.areaShaderLocation ?? \"\";\r\n }\r\n\r\n /**\r\n * Returns the generic catalog's base resource path for decal shaders, or an\r\n * empty string.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetDecalShaderLocationResPath()\r\n {\r\n return this.genericData?.decalShaderLocation ?? \"\";\r\n }\r\n\r\n /** Carbon returns constant decal shader 0. */\r\n @carbon.method\r\n @impl.implemented\r\n GetDecalShader()\r\n {\r\n return 0;\r\n }\r\n\r\n /** Reports whether the first selected hull explicitly enables decal sets. */\r\n @carbon.method\r\n @impl.implemented\r\n IsHullUsingDecalSets()\r\n {\r\n return this.hullDatas[0]?.isUsingDecalSets === true;\r\n }\r\n\r\n /**\r\n * Returns the generic animated or static shader prefix requested by the\r\n * caller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetShaderPrefix(isAnimated)\r\n {\r\n return isAnimated ? this.genericData?.shaderPrefixAnimated ?? \"\" : this.genericData?.shaderPrefix ?? \"\";\r\n }\r\n\r\n /**\r\n * Builds an area-shader resource path from the generic base path, the current\r\n * hull animation prefix, and the supplied suffix.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetCompleteShaderPath(path)\r\n {\r\n return `${this.GetAreaShaderLocationResPath()}/${this.GetShaderPrefix(this.IsHullAnimated())}${path}`;\r\n }\r\n\r\n /**\r\n * Returns the generic catalog's area-shader definition with the requested\r\n * name, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetGenericAreaShaderData(shaderName)\r\n {\r\n return this.genericData?.areaShaderData?.get(String(shaderName)) ?? null;\r\n }\r\n\r\n /**\r\n * Returns the generic catalog's decal-shader definition with the requested\r\n * name, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetGenericDecalShaderData(shaderName)\r\n {\r\n return this.genericData?.decalShaderData?.get(String(shaderName)) ?? null;\r\n }\r\n\r\n /** Returns a hull-local texture path for a projected opaque mesh index. */\r\n @carbon.method\r\n @impl.adapted\r\n GetHullTextureWithMeshIndex(textureName, meshIndex, hullIndex = 0, resourceExists = null, cache = null)\r\n {\r\n const hull = this.hullDatas[hullIndex];\r\n const areaIndex = hull?.meshIndexToOpaqueAreaLookup?.get(Number(meshIndex));\r\n if (areaIndex === undefined) return null;\r\n const texture = hull.opaqueAreas?.[areaIndex]?.textures?.get(String(textureName));\r\n if (!texture) return null;\r\n return this.ModifyTextureResPath(texture.resFilePath, resourceExists, cache);\r\n }\r\n\r\n /** Returns the resolved generic catalog's damage settings, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetGenericDamageData()\r\n {\r\n return this.genericData?.damage ?? null;\r\n }\r\n\r\n /** Returns the resolved generic catalog's hull-damage settings, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetGenericHullDamageData()\r\n {\r\n return this.genericData?.hullDamage ?? null;\r\n }\r\n\r\n /** Returns the resolved generic catalog's swarm behavior properties, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetGenericSwarmProperties()\r\n {\r\n return this.genericData?.swarmBehavior ?? null;\r\n }\r\n\r\n /** Returns the resolved race catalog's damage settings, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRaceDamageData()\r\n {\r\n return this.raceData?.damage ?? null;\r\n }\r\n\r\n /** Returns the resolved race catalog's booster settings, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRaceBoosterData()\r\n {\r\n return this.raceData?.boosters ?? null;\r\n }\r\n\r\n /** Returns the selected hull record's live booster settings, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullBoosterData(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.boosters ?? null;\r\n }\r\n\r\n /**\r\n * Returns the combined number of authored booster items across all selected\r\n * hulls.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullBoosterCount()\r\n {\r\n return this.hullDatas.reduce(\r\n (count, hull) => count + (Array.isArray(hull?.boosters?.items) ? hull.boosters.items.length : 0),\r\n 0\r\n );\r\n }\r\n\r\n /**\r\n * Returns the first hull's numeric impact-effect type, defaulting to no impact\r\n * effect.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetImpactEffectType()\r\n {\r\n return Number(this.hullDatas[0]?.impactEffectType ?? EveSOFDataHull.ImpactEffectType.IMPACTEFFECT_NONE);\r\n }\r\n\r\n /**\r\n * Returns the generic shield-shader path selected by the hull's impact-effect\r\n * type, or null when no supported shield effect applies.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetImpactShieldShader()\r\n {\r\n const damage = this.GetGenericDamageData();\r\n if (!damage) return null;\r\n switch (this.GetImpactEffectType())\r\n {\r\n case EveSOFDataHull.ImpactEffectType.IMPACTEFFECT_ELLIPSOID: return damage.shieldShaderEllipsoid ?? \"\";\r\n case EveSOFDataHull.ImpactEffectType.IMPACTEFFECT_HULL: return damage.shieldShaderHull ?? \"\";\r\n default: return null;\r\n }\r\n }\r\n\r\n /** Applies Carbon's optional faction/DNA texture path insertion. */\r\n @carbon.method\r\n @impl.implemented\r\n ModifyTextureResPath(resourcePath, resourceExists = null, cache = null)\r\n {\r\n let insert = this.factionData?.resPathInsert || null;\r\n const args = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_RESPATHINSERT);\r\n if (args?.length === 1) insert = args[0] === \"none\" ? null : args[0];\r\n if (!insert || typeof resourceExists !== \"function\") return resourcePath;\r\n\r\n const slash = resourcePath.lastIndexOf(\"/\");\r\n if (slash === -1) return resourcePath;\r\n let candidate = `${resourcePath.slice(0, slash + 1)}${insert}/${resourcePath.slice(slash + 1)}`;\r\n const underscore = candidate.lastIndexOf(\"_\");\r\n if (underscore === -1) return resourcePath;\r\n candidate = `${candidate.slice(0, underscore)}_${insert}${candidate.slice(underscore)}`;\r\n\r\n if (cache?.has(candidate)) return cache.get(candidate) ? candidate : resourcePath;\r\n const exists = resourceExists(candidate) === true;\r\n if (cache) cache.set(candidate, exists);\r\n return exists ? candidate : resourcePath;\r\n }\r\n\r\n /** Returns the resolved faction's catalog-owned color array, or an empty list. */\r\n @carbon.method\r\n @impl.implemented\r\n GetColorSet()\r\n {\r\n return this.factionData?.colorData?.colors ?? [];\r\n }\r\n\r\n /**\r\n * Returns the resolved faction's catalog-owned logo at the numeric index, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetLogo(index)\r\n {\r\n return this.factionData?.logoSetData?.logos?.[Number(index)] ?? null;\r\n }\r\n\r\n /**\r\n * Reports whether the indexed faction logo exists and declares at least one\r\n * texture.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n HasLogoSet(index)\r\n {\r\n return (this.GetLogo(index)?.textures?.size ?? 0) > 0;\r\n }\r\n\r\n /**\r\n * Reports whether the faction visibility set contains the supplied value after\r\n * unsigned 32-bit normalization.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n IsInVisibilityData(hash)\r\n {\r\n return this.factionData?.visibilityData?.has(Number(hash) >>> 0) === true;\r\n }\r\n\r\n /** Resolves one mesh parameter using Carbon's ordered material fallbacks. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMeshAreaParameter(areaType, parameterName, hullParameters = null, blockedMaterials = 0)\r\n {\r\n let info;\r\n let value;\r\n const materialArgs = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_MATERIAL);\r\n if (materialArgs)\r\n {\r\n info = new EveSOFUtilsParameterName(this.genericData.materialPrefixes, parameterName);\r\n const materialIndex = info.GetMaterialIdx();\r\n if (materialIndex !== -1 && materialIndex < materialArgs.length && materialIndex < 32)\r\n {\r\n const blocked = (blockedMaterials >>> 0) & (1 << materialIndex);\r\n if (!blocked)\r\n {\r\n value = findMaterialParameter(this.dataMgr, materialArgs[materialIndex], info.GetShortName());\r\n if (value) return value;\r\n }\r\n }\r\n }\r\n\r\n const patternArgs = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_PATTERN);\r\n if (patternArgs)\r\n {\r\n info = new EveSOFUtilsParameterName(this.genericData.patternMaterialPrefixes, parameterName);\r\n const materialIndex = info.GetMaterialIdx();\r\n if (materialIndex !== -1 && 1 + materialIndex < patternArgs.length)\r\n {\r\n value = findMaterialParameter(this.dataMgr, patternArgs[1 + materialIndex], info.GetShortName());\r\n if (value) return value;\r\n }\r\n }\r\n\r\n info = new EveSOFUtilsParameterName(this.genericData.patternMaterialPrefixes, parameterName);\r\n if (info.GetMaterialIdx() === 0)\r\n {\r\n value = findMaterialParameter(\r\n this.dataMgr,\r\n this.factionData.defaultPatternLayer1MaterialName,\r\n info.GetShortName()\r\n );\r\n if (value) return value;\r\n }\r\n else if (info.GetMaterialIdx() === 1 && this.UsingSof6())\r\n {\r\n value = findMaterialParameter(\r\n this.dataMgr,\r\n this.factionData.defaultPatternLayer2MaterialName,\r\n info.GetShortName()\r\n );\r\n if (value) return value;\r\n }\r\n\r\n info = new EveSOFUtilsParameterName(this.genericData.materialPrefixes, parameterName);\r\n if (areaType === EveSOFDataArea.AreaType.TYPE_WRECK)\r\n {\r\n value = findAreaMaterialParameter(this.dataMgr, this.GetColorSet(), this.genericData.genericWreckMaterialData, areaType, info);\r\n if (value) return value;\r\n }\r\n if (areaType === EveSOFDataArea.AreaType.TYPE_PRIMARY || areaType === EveSOFDataArea.AreaType.TYPE_REACTOR)\r\n {\r\n value = findAreaMaterialParameter(this.dataMgr, this.GetColorSet(), this.raceData.areaMaterials, areaType, info);\r\n if (value) return value;\r\n }\r\n value = findAreaMaterialParameter(this.dataMgr, this.GetColorSet(), this.factionData.areaMaterials, areaType, info);\r\n if (value) return value;\r\n\r\n return hullParameters?.get(String(parameterName)) ?? null;\r\n }\r\n\r\n /** Resolves a turret shader parameter after applying the faction's material-usage remap. */\r\n @carbon.method\r\n @impl.implemented\r\n GetFactionTurretParameters(parameterName)\r\n {\r\n const info = new EveSOFUtilsParameterName(\r\n this.genericData?.materialPrefixes ?? [],\r\n parameterName\r\n );\r\n if (info.IsMaterialIdxValid())\r\n {\r\n const materialIndex = info.GetMaterialIdx();\r\n const usageIndex = Number(\r\n this.factionData?.materialUsageList?.[materialIndex] ?? materialIndex\r\n );\r\n info.ChangeMaterialIdx(this.genericData, usageIndex);\r\n }\r\n return this.GetMeshAreaParameter(\r\n Number(this.genericData?.turretAreaType ?? EveSOFDataArea.AreaType.TYPE_PRIMARY),\r\n info.GetFullName()\r\n );\r\n }\r\n\r\n /**\r\n * Returns the active pattern's layer count, selecting explicit, SOF6\r\n * faction-default, or legacy hull-default data as appropriate.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetPatternLayerCount()\r\n {\r\n if (this.HasDnaCommand(EveSOFDNA.DnaCommand.CMD_PATTERN) && !this.patternData) return 0;\r\n if (this.patternData)\r\n {\r\n return this.GetHullPatternApplicationData()?.layerAndProjection.length ?? 0;\r\n }\r\n if (this.UsingSof6())\r\n {\r\n return this.GetFactionalPatternApplicationData()?.layerAndProjection.length ?? 0;\r\n }\r\n return this.hullDatas[0]?.defaultPattern?.enabled === true ? 1 : 0;\r\n }\r\n\r\n /**\r\n * Returns the faction-default pattern's catalog-owned application for the\r\n * first hull, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetFactionalPatternApplicationData()\r\n {\r\n const pattern = this.dataMgr.GetPatternData(this.factionData?.defaultPatternName ?? \"\");\r\n return pattern?.applicationData?.get(this.hullNames[0]) ?? null;\r\n }\r\n\r\n /**\r\n * Returns the selected pattern's SOF6 or legacy catalog application for the\r\n * first hull, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullPatternApplicationData()\r\n {\r\n if (!this.patternData) return null;\r\n const applications = this.patternData.sof6\r\n ? this.patternData.applicationData\r\n : this.patternData.oldApplicationData;\r\n return applications?.get(this.hullNames[0]) ?? null;\r\n }\r\n\r\n /**\r\n * Resolves explicit or SOF6 faction pattern applications and otherwise\r\n * synthesizes a fresh legacy default wrapper.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetPatternApplicationData()\r\n {\r\n if (!this.HasDnaCommand(EveSOFDNA.DnaCommand.CMD_PATTERN))\r\n {\r\n if (this.UsingSof6()) return this.GetFactionalPatternApplicationData();\r\n const layer = this.factionData?.defaultPatternInfo;\r\n const projection = this.hullDatas[0]?.defaultPattern;\r\n return layer && projection ? { layerAndProjection: [{ layer, projection }] } : null;\r\n }\r\n return this.GetHullPatternApplicationData();\r\n }\r\n\r\n /**\r\n * Returns the catalog-owned projection for a valid active pattern layer, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetPatternProjectionData(application, layer)\r\n {\r\n if (!application || !Number.isInteger(layer) || layer < 0) return null;\r\n if (!this.HasDnaCommand(EveSOFDNA.DnaCommand.CMD_PATTERN) && !this.UsingSof6() && layer > 0) return null;\r\n return application.layerAndProjection?.[layer]?.projection ?? null;\r\n }\r\n\r\n /**\r\n * Returns the catalog-owned settings for a valid active pattern layer, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetPatternLayerData(application, layer)\r\n {\r\n if (!application || !Number.isInteger(layer) || layer < 0) return null;\r\n if (!this.HasDnaCommand(EveSOFDNA.DnaCommand.CMD_PATTERN) && !this.UsingSof6() && layer > 0) return null;\r\n return application.layerAndProjection?.[layer]?.layer ?? null;\r\n }\r\n\r\n /**\r\n * Returns a shallow copy of the pattern layer's material-target array, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetMaterialTargets(layerData)\r\n {\r\n return layerData?.materialTargets?.slice() ?? null;\r\n }\r\n\r\n /**\r\n * Reports whether the pattern layer explicitly enables the numeric hull-area\r\n * type.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n IsPatternLayerApplicableToArea(layerData, areaType)\r\n {\r\n return layerData?.applicableAreas?.get(Number(areaType)) === true;\r\n }\r\n\r\n /**\r\n * Returns the first hull category's configured reflection mode, falling back\r\n * to Carbon's built-in category rules.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetReflectionMode()\r\n {\r\n const category = this.hullDatas[0]?.category ?? \"\";\r\n const categories = this.genericData?.categoryData;\r\n if (categories?.size)\r\n {\r\n return categories.get(category) ?? ReflectionMode.REFLECT_NEVER;\r\n }\r\n if (category === \"hangar\" || category === \"hangar4k\") return ReflectionMode.REFLECT_LOW_MEDIUM_HIGH;\r\n if (category.includes(\"station\") || category.includes(\"structure\") || category === \"jumpgate\")\r\n {\r\n return ReflectionMode.REFLECT_MEDIUM_AND_HIGH;\r\n }\r\n return ReflectionMode.REFLECT_NEVER;\r\n }\r\n\r\n /**\r\n * Returns a newly allocated sphere enclosing every selected hull after\r\n * applying chained next-subsystem offsets, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullBoundingSphere()\r\n {\r\n let result = null;\r\n const hullOffset = [0, 0, 0];\r\n for (let hullIndex = 0; hullIndex < this.hullDatas.length; hullIndex++)\r\n {\r\n const source = this.hullDatas[hullIndex]?.boundingSphere;\r\n if (source?.length >= 4)\r\n {\r\n result = includeSphere(result, [\r\n Number(source[0] ?? 0) + hullOffset[0],\r\n Number(source[1] ?? 0) + hullOffset[1],\r\n Number(source[2] ?? 0) + hullOffset[2],\r\n Number(source[3] ?? -1)\r\n ]);\r\n }\r\n const next = this.GetHullNextSubsystemOffset(hullIndex);\r\n if (next)\r\n {\r\n hullOffset[0] += Number(next[0] ?? 0);\r\n hullOffset[1] += Number(next[1] ?? 0);\r\n hullOffset[2] += Number(next[2] ?? 0);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n /**\r\n * Returns a fresh descriptor referencing the first resolved hull's live\r\n * ellipsoid vectors, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullShapeEllipsoid()\r\n {\r\n const hull = this.hullDatas[0];\r\n if (!hull) return null;\r\n return {\r\n center: hull.shapeEllipsoidCenter ?? null,\r\n radius: hull.shapeEllipsoidRadius ?? null\r\n };\r\n }\r\n\r\n /**\r\n * Returns a defensive copy of the resolver-owned parent bounding sphere, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetParentBoundingSphere()\r\n {\r\n return EveSOFDNA.#CopySphere(this.parentBoundingSphere);\r\n }\r\n\r\n /** Returns the resolver-owned parent hull-shape ellipsoid descriptor, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetParentHullShapeEllipsoid()\r\n {\r\n return this.parentHullShapeEllipsoid;\r\n }\r\n\r\n /**\r\n * Replaces the parent bounding sphere with a defensive copy of the supplied\r\n * coordinates.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetParentBoundingSphere(boundingSphere)\r\n {\r\n this.parentBoundingSphere = EveSOFDNA.#CopySphere(boundingSphere);\r\n }\r\n\r\n /**\r\n * Replaces the parent hull-shape ellipsoid with a deep copy of the supplied\r\n * center and radius vectors.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetParentShapeEllipsoidInfo(ellipsoid)\r\n {\r\n this.parentHullShapeEllipsoid = EveSOFDNA.#CopyEllipsoid(ellipsoid);\r\n }\r\n\r\n /**\r\n * Creates a detached coordinate array from a sphere-like value, preserving\r\n * null.\r\n */\r\n static #CopySphere(sphere)\r\n {\r\n return sphere ? Array.from(sphere) : null;\r\n }\r\n\r\n /**\r\n * Creates a detached ellipsoid descriptor with copied center and radius\r\n * arrays, preserving null components.\r\n */\r\n static #CopyEllipsoid(ellipsoid)\r\n {\r\n if (!ellipsoid) return null;\r\n return {\r\n center: ellipsoid.center ? Array.from(ellipsoid.center) : null,\r\n radius: ellipsoid.radius ? Array.from(ellipsoid.radius) : null\r\n };\r\n }\r\n\r\n /**\r\n * Reports the resolver's current skinned-animation flag, which layouts may\r\n * disable independently of catalog data.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n IsHullAnimated()\r\n {\r\n return this.isSkinned;\r\n }\r\n\r\n /**\r\n * Disables skinned animation for this resolved DNA without modifying the\r\n * source hull record.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n DisableAnimation()\r\n {\r\n this.isSkinned = false;\r\n }\r\n\r\n /**\r\n * Reports whether multi-hull composition or the first hull's flag requires\r\n * dynamic bounds.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n DynamicBoundingSphereEnabled()\r\n {\r\n return this.hullDatas.length > 1 || this.hullDatas[0]?.enableDynamicBoundingSphere === true;\r\n }\r\n\r\n /** Reports whether the first selected hull is authored to cast shadows. */\r\n @carbon.method\r\n @impl.implemented\r\n CastShadow()\r\n {\r\n return this.hullDatas[0]?.castShadow === true;\r\n }\r\n\r\n /**\r\n * Reports whether the parsed command map contains the supplied command name or\r\n * valid numeric command.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n HasDnaCommand(command)\r\n {\r\n const name = commandName(command);\r\n return name !== null && this.#commands.has(name);\r\n }\r\n\r\n /**\r\n * Returns a defensive copy of the supplied DNA command's parsed arguments, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetDnaCommandArgs(command)\r\n {\r\n const name = commandName(command);\r\n if (name === null || !this.#commands.has(name)) return null;\r\n return this.#commands.get(name).slice();\r\n }\r\n\r\n /** Reports whether the first selected hull uses the SOF6 data model. */\r\n @carbon.method\r\n @impl.implemented\r\n UsingSof6()\r\n {\r\n return this.hullDatas.length > 0 && this.hullDatas[0].sof6 === true;\r\n }\r\n\r\n /** Returns the faction catalog name resolved for this DNA. */\r\n @carbon.method\r\n @impl.implemented\r\n GetFactionName()\r\n {\r\n return this.factionName;\r\n }\r\n\r\n /** Returns the race catalog name resolved for this DNA. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRaceName()\r\n {\r\n return this.raceName;\r\n }\r\n\r\n /**\r\n * Resets and repopulates this resolver from a lower-cased DNA string,\r\n * recording parse failures instead of throwing.\r\n */\r\n #setupFromString(dnaString, dataMgr)\r\n {\r\n // A DNA string is lowercased before anything reads it. Every catalog name\r\n // it can contain — hull, faction, race, command, material, pattern, layout\r\n // — is canonically lowercase, so case carries no meaning and folding it\r\n // costs nothing.\r\n //\r\n // Carbon compares command names exactly\r\n // (`cit->first.compare( s_dnaCommands[i] )`) and looks catalog names up as\r\n // given. Authored EVE skins do not respect that: designs in the live feed\r\n // carry `MATERIAL?...`, and porting the exact comparison faithfully\r\n // rejected them with \"Invalid SOF DNA content\". Deliberate deviation.\r\n const dna = dnaString.toLowerCase();\r\n\r\n this.#reset(dna, dataMgr);\r\n const parts = splitCarbon(dna, \":\");\r\n if (parts.length < 3)\r\n {\r\n this.#parseError = \"not-enough-parts\";\r\n return;\r\n }\r\n\r\n for (let index = 3; index < parts.length; index++)\r\n {\r\n const command = splitCarbon(parts[index], \"?\");\r\n if (command.length !== 2)\r\n {\r\n this.#parseError = \"malformed-command\";\r\n return;\r\n }\r\n this.#commands.set(command[0], splitCarbon(command[1], \";\"));\r\n }\r\n\r\n // `mesh` and `material` are the same command: one material per material\r\n // prefix. `mesh` is the spelling live EVE skins are authored with, and\r\n // ccpwgl's legacy reader indexes `commands.mesh[materialIndex]` against\r\n // `generic.materialPrefixes` for the same reason.\r\n //\r\n // The Carbon snapshot does neither. Its parser splits every payload on\r\n // `;`, so it sees four arguments; its ValidateContent then rejects any\r\n // CMD_MESH that is not exactly one; and CMD_MESH is read nowhere in the\r\n // tree. Faithfully porting that gave us a validator that rejects real\r\n // authored DNA and a builder that would have dropped the materials even if\r\n // it had passed. Normalizing here means every downstream reader keeps\r\n // asking for CMD_MATERIAL and simply works.\r\n if (this.#commands.has(\"mesh\") && !this.#commands.has(\"material\"))\r\n {\r\n this.#commands.set(\"material\", this.#commands.get(\"mesh\"));\r\n }\r\n\r\n this.hullNames = splitCarbon(parts[0], \";\");\r\n if (this.hullNames.length === 0)\r\n {\r\n this.#parseError = \"missing-hull\";\r\n return;\r\n }\r\n this.factionName = parts[1];\r\n this.raceName = parts[2];\r\n\r\n for (const name of this.hullNames)\r\n {\r\n const hull = dataMgr.GetHullData(name);\r\n if (!hull)\r\n {\r\n this.#parseError = \"unknown-hull\";\r\n return;\r\n }\r\n this.hullDatas.push(hull);\r\n }\r\n\r\n this.factionData = dataMgr.GetFactionData(this.factionName);\r\n if (!this.factionData)\r\n {\r\n this.#parseError = \"unknown-faction\";\r\n return;\r\n }\r\n this.raceData = dataMgr.GetRaceData(this.raceName);\r\n if (!this.raceData)\r\n {\r\n this.#parseError = \"unknown-race\";\r\n return;\r\n }\r\n\r\n const pattern = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_PATTERN);\r\n if (pattern?.length) this.patternData = dataMgr.GetPatternData(pattern[0]);\r\n const layouts = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_LAYOUT);\r\n if (layouts) this.layoutData = dataMgr.GetLayoutData(layouts);\r\n this.genericData = dataMgr.GetGenericData();\r\n\r\n if (this.HasDnaCommand(EveSOFDNA.DnaCommand.CMD_VARIANT)) this.#setupCustomData();\r\n this.parentBoundingSphere = this.GetHullBoundingSphere();\r\n this.parentHullShapeEllipsoid = EveSOFDNA.#CopyEllipsoid(this.GetHullShapeEllipsoid());\r\n this.isSkinned = this.hullDatas[0]?.isSkinned === true;\r\n }\r\n\r\n /**\r\n * Resets and repopulates this nested resolver from a layout descriptor while\r\n * inheriting the parent's command and bounds context.\r\n */\r\n #setupFromDescriptor(layoutName, descriptor, parent, dataMgr)\r\n {\r\n this.#reset(\"\", dataMgr);\r\n if (!descriptor || !parent || !dataMgr)\r\n {\r\n this.#parseError = \"invalid-descriptor-context\";\r\n return;\r\n }\r\n\r\n this.hullNames = splitCarbon(String(descriptor.hull ?? \"\"), \";\");\r\n for (const name of this.hullNames)\r\n {\r\n const hull = dataMgr.GetHullData(name);\r\n if (!hull)\r\n {\r\n this.#parseError = \"unknown-hull\";\r\n return;\r\n }\r\n this.hullDatas.push(hull);\r\n }\r\n if (this.hullDatas.length === 0)\r\n {\r\n this.#parseError = \"missing-hull\";\r\n return;\r\n }\r\n\r\n this.factionName = descriptor.faction || parent.factionName;\r\n this.raceName = descriptor.race || parent.raceName;\r\n this.factionData = dataMgr.GetFactionData(this.factionName);\r\n this.raceData = dataMgr.GetRaceData(this.raceName);\r\n if (!this.factionData || !this.raceData)\r\n {\r\n this.#parseError = \"unknown-faction-or-race\";\r\n return;\r\n }\r\n\r\n const materialArgs = parent.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_MATERIAL) ?? [\"none\", \"none\", \"none\", \"none\"];\r\n for (let index = 0; index < 4; index++)\r\n {\r\n const value = descriptor[`material${index + 1}`];\r\n if (value) materialArgs[index] = value;\r\n }\r\n if (materialArgs.some(value => value !== \"none\")) this.#commands.set(\"material\", materialArgs);\r\n\r\n this.#inheritCommand(parent, EveSOFDNA.DnaCommand.CMD_RESPATHINSERT);\r\n this.#inheritCommand(parent, EveSOFDNA.DnaCommand.CMD_VARIANT);\r\n if (descriptor.layout) this.#commands.set(\"layout\", [descriptor.layout]);\r\n if (descriptor.pattern)\r\n {\r\n const inherited = parent.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_PATTERN) ?? [descriptor.pattern, \"none\", \"none\"];\r\n inherited[0] = descriptor.pattern;\r\n while (inherited.length < 3) inherited.push(\"none\");\r\n this.#commands.set(\"pattern\", inherited.slice(0, 3));\r\n }\r\n\r\n const pattern = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_PATTERN);\r\n if (pattern) this.patternData = dataMgr.GetPatternData(pattern[0]);\r\n const layouts = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_LAYOUT);\r\n if (layouts) this.layoutData = dataMgr.GetLayoutData(layouts);\r\n this.genericData = dataMgr.GetGenericData();\r\n if (this.HasDnaCommand(EveSOFDNA.DnaCommand.CMD_VARIANT)) this.#setupCustomData();\r\n\r\n this.dna = `${descriptor.hull}:${this.factionName}:${this.raceName}`;\r\n for (const name of [...this.#commands.keys()].sort())\r\n {\r\n this.dna += `:${name}?${this.#commands.get(name).join(\";\")}`;\r\n }\r\n this.parentBoundingSphere = parent.GetParentBoundingSphere();\r\n this.parentHullShapeEllipsoid = EveSOFDNA.#CopyEllipsoid(parent.GetParentHullShapeEllipsoid());\r\n this.isSkinned = this.hullDatas[0]?.isSkinned === true;\r\n void layoutName;\r\n }\r\n\r\n /**\r\n * Copies one parsed command and its argument snapshot from the parent resolver\r\n * when present.\r\n */\r\n #inheritCommand(parent, command)\r\n {\r\n const args = parent.GetDnaCommandArgs(command);\r\n if (args) this.#commands.set(commandName(command), args);\r\n }\r\n\r\n /**\r\n * Replaces the resolved hull references with resolver-owned variant hull\r\n * snapshots when a variant command is active.\r\n */\r\n #setupCustomData()\r\n {\r\n const args = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_VARIANT);\r\n if (!args?.length) return;\r\n const variant = this.genericData?.variants?.get(args[0]) ?? null;\r\n\r\n this.customHullData = this.hullDatas.map(hull => createCustomHullData(hull, variant));\r\n this.hullDatas = this.customHullData;\r\n }\r\n\r\n /**\r\n * Clears all prior resolution state, binds the supplied DNA text and data\r\n * manager, and removes any parse error.\r\n */\r\n #reset(dna, dataMgr)\r\n {\r\n this.dna = dna;\r\n this.dataMgr = dataMgr;\r\n this.hullDatas = [];\r\n this.factionData = null;\r\n this.raceData = null;\r\n this.genericData = null;\r\n this.patternData = null;\r\n this.layoutData = [];\r\n this.customHullData = [];\r\n this.hullNames = [];\r\n this.factionName = \"\";\r\n this.raceName = \"\";\r\n this.parentBoundingSphere = null;\r\n this.parentHullShapeEllipsoid = null;\r\n this.isSkinned = false;\r\n this.#commands.clear();\r\n this.#parseError = null;\r\n }\r\n\r\n}\r\n\r\nfunction createCustomHullData(source, variant)\r\n{\r\n const shapeCenter = copyArrayValue(\r\n source?.shapeEllipsoid?.center ?? source?.shapeEllipsoidCenter,\r\n [0, 0, 0]\r\n );\r\n const shapeRadius = copyArrayValue(\r\n source?.shapeEllipsoid?.radius ?? source?.shapeEllipsoidRadius,\r\n [-1, -1, -1]\r\n );\r\n const result = {\r\n buildClass: Number(source?.buildClass ?? 0),\r\n geometryResFilePath: String(source?.geometryResFilePath ?? \"\"),\r\n boundingSphere: copyArrayValue(source?.boundingSphere, [0, 0, 0, 0]),\r\n shapeEllipsoidCenter: shapeCenter.slice(),\r\n shapeEllipsoidRadius: shapeRadius.slice(),\r\n shapeEllipsoid: {\r\n center: shapeCenter,\r\n radius: shapeRadius\r\n },\r\n isSkinned: source?.isSkinned === true,\r\n isUsingDecalSets: false,\r\n enableDynamicBoundingSphere: source?.enableDynamicBoundingSphere === true,\r\n castShadow: source?.castShadow === true,\r\n sof6: false,\r\n audioPosition: copyArrayValue(source?.audioPosition, [0, 0, 0]),\r\n spriteSets: [],\r\n spotlightSets: [],\r\n planeSets: [],\r\n spriteLineSets: [],\r\n hazeSets: [],\r\n banners: [],\r\n bannerSets: [],\r\n hullDecalSets: [],\r\n hullLightSets: [],\r\n childSets: [],\r\n defaultPattern: {\r\n enabled: false,\r\n position: [0, 0, 0],\r\n scaling: [0, 0, 0],\r\n rotation: [0, 0, 0, 1],\r\n isMirrored: false\r\n },\r\n impactEffectType: EveSOFDataHull.ImpactEffectType.IMPACTEFFECT_NONE,\r\n opaqueAreas: [],\r\n decalAreas: [],\r\n transparentAreas: [],\r\n additiveAreas: [],\r\n distortionAreas: [],\r\n boosters: {\r\n alwaysOn: false,\r\n hasTrails: false,\r\n items: []\r\n },\r\n locatorTurrets: [],\r\n locatorSets: new Map(),\r\n children: [],\r\n instancedMeshes: [],\r\n animations: [],\r\n soundEmitters: [],\r\n controllers: [],\r\n modelRotationCurvePath: \"\",\r\n modelTranslationCurvePath: \"\",\r\n meshIndexToOpaqueAreaLookup: new Map(),\r\n category: \"\"\r\n };\r\n\r\n if (variant?.hullAreaData)\r\n {\r\n const target = variant.isTransparent ? result.transparentAreas : result.opaqueAreas;\r\n for (const sourceArea of source?.opaqueAreas ?? [])\r\n {\r\n target.push(cloneVariantHullArea(variant.hullAreaData, sourceArea));\r\n }\r\n }\r\n return result;\r\n}\r\n\r\nfunction cloneVariantHullArea(value, sourceArea)\r\n{\r\n const textures = new Map();\r\n if (value?.textures instanceof Map)\r\n {\r\n for (const [name, texture] of value.textures)\r\n {\r\n textures.set(name, { resFilePath: String(texture?.resFilePath ?? \"\") });\r\n }\r\n }\r\n\r\n const parameters = new Map();\r\n if (value?.parameters instanceof Map)\r\n {\r\n for (const [name, parameter] of value.parameters)\r\n {\r\n parameters.set(name, copyArrayValue(parameter, [0, 0, 0, 0]));\r\n }\r\n }\r\n\r\n return {\r\n index: Number(sourceArea?.index ?? 0),\r\n count: Number(sourceArea?.count ?? 1),\r\n blockedMaterials: Number(value?.blockedMaterials ?? 0),\r\n shader: String(value?.shader ?? \"\"),\r\n areaType: Number(value?.areaType ?? 0),\r\n textures,\r\n parameters\r\n };\r\n}\r\n\r\nfunction copyArrayValue(value, fallback)\r\n{\r\n return value && typeof value.length === \"number\" ? Array.from(value) : fallback.slice();\r\n}\r\n\r\nfunction commandName(command)\r\n{\r\n if (typeof command === \"string\") return command;\r\n if (!Number.isInteger(command) || command <= EveSOFDNA.DnaCommand.CMD_INVALID || command >= EveSOFDNA.DnaCommand.CMD_MAX)\r\n {\r\n return null;\r\n }\r\n\r\n return COMMAND_NAMES[command] ?? null;\r\n}\r\n\r\nfunction splitCarbon(value, separator)\r\n{\r\n if (value === \"\") return [];\r\n const result = String(value).split(separator);\r\n if (result[result.length - 1] === \"\") result.pop();\r\n return result;\r\n}\r\n\r\nfunction includeSphere(current, next)\r\n{\r\n if (!next || next[3] < 0) return current;\r\n if (!current || current[3] < 0) return next.slice();\r\n const dx = next[0] - current[0];\r\n const dy = next[1] - current[1];\r\n const dz = next[2] - current[2];\r\n const distance = Math.hypot(dx, dy, dz);\r\n if (current[3] >= distance + next[3]) return current;\r\n if (next[3] >= distance + current[3]) return next.slice();\r\n const radius = (distance + current[3] + next[3]) * 0.5;\r\n if (distance === 0) return [current[0], current[1], current[2], radius];\r\n const factor = (radius - current[3]) / distance;\r\n return [\r\n current[0] + dx * factor,\r\n current[1] + dy * factor,\r\n current[2] + dz * factor,\r\n radius\r\n ];\r\n}\r\n\r\nfunction findMaterialParameter(dataMgr, materialName, parameterName)\r\n{\r\n return dataMgr.GetMaterialData(materialName)?.parameters?.get(parameterName) ?? null;\r\n}\r\n\r\nfunction findAreaMaterialParameter(dataMgr, colors, areaMaterials, areaType, info)\r\n{\r\n if (!areaMaterials) return null;\r\n let value = null;\r\n if (info.IsMaterialIdxValid())\r\n {\r\n const materialName = areaMaterials.materialNames.get(\r\n `${areaType}:${info.GetMaterialIdx()}`\r\n );\r\n if (materialName) value = findMaterialParameter(dataMgr, materialName, info.GetShortName());\r\n }\r\n else\r\n {\r\n const colorType = areaMaterials.glowColor.get(`${areaType}:${info.GetFullName()}`);\r\n if (colorType !== undefined) value = colors[colorType] ?? null;\r\n }\r\n if (value) return value;\r\n return areaType === EveSOFDataArea.AreaType.TYPE_PRIMARY\r\n ? null\r\n : findAreaMaterialParameter(dataMgr, colors, areaMaterials, EveSOFDataArea.AreaType.TYPE_PRIMARY, info);\r\n}\r\n"],"names":["COMMAND_NAMES","Object","freeze","BUILD_CLASSES","_EveSOFDNA","_identity","EveSOFDNA","CjsModel","e","_init_dna","_init_extra_dna","_init_dataMgr","_init_extra_dataMgr","_init_hullDatas","_init_extra_hullDatas","_init_factionData","_init_extra_factionData","_init_raceData","_init_extra_raceData","_init_genericData","_init_extra_genericData","_init_patternData","_init_extra_patternData","_init_layoutData","_init_extra_layoutData","_init_customHullData","_init_extra_customHullData","_init_hullNames","_init_extra_hullNames","_init_factionName","_init_extra_factionName","_init_raceName","_init_extra_raceName","_init_parentBoundingSphere","_init_extra_parentBoundingSphere","_init_parentHullShapeEllipsoid","_init_extra_parentHullShapeEllipsoid","_init_isSkinned","_init_extra_isSkinned","_initProto","c","_initClass","_applyDecs","type","define","className","family","string","objectRef","list","rawStruct","boolean","carbon","method","impl","implemented","adapted","dna","dataMgr","hullDatas","factionData","raceData","genericData","patternData","layoutData","customHullData","hullNames","factionName","raceName","parentBoundingSphere","parentHullShapeEllipsoid","isSkinned","Map","Setup","dnaOrLayout","dataOrDescriptor","parent","EveSOFDataMgr","String","IsValid","length","GetParseError","ValidateContent","name","args","materialPrefixes","some","value","HasMaterialData","variants","has","includes","HasPatternData","HasLayoutData","GetDnaString","GetMultiHullCount","GetHullNames","GetBuildClass","GetDnaCommandArgs","DnaCommand","CMD_CLASS","index","indexOf","buildClass","GetHullGeometryResPath","geometryResFilePath","result","variantNumber","map","slice","join","nameParts","split","variant","replace","GetHullMeshAreas","batchType","hullIndex","hull","TriBatchType","TRIBATCHTYPE_OPAQUE","opaqueAreas","TRIBATCHTYPE_DECAL","decalAreas","TRIBATCHTYPE_TRANSPARENT","transparentAreas","TRIBATCHTYPE_ADDITIVE","additiveAreas","TRIBATCHTYPE_DISTORTION","distortionAreas","GetHullDecalSets","hullDecalSets","GetHullLightSets","hullLightSets","GetHullSpriteSets","spriteSets","GetHullSpotlightSets","spotlightSets","GetFactionSpotlightSetData","groupIndex","Number","spotlightSetsColors","get","GetHullPlaneSets","planeSets","GetFactionPlaneSetData","planeSetsColors","GetHullSpriteLineSets","spriteLineSets","GetHullHazeSets","hazeSets","GetHullBanners","banners","GetHullBannerSets","bannerSets","GetHullChildren","children","GetHullChildSets","childSets","GetHullInstancedMeshes","instancedMeshes","GetHullAnimations","animations","GetHullSoundEmitters","soundEmitters","GetHullControllers","controllers","GetModelRotationCurvePath","modelRotationCurvePath","GetModelTranslationCurvePath","modelTranslationCurvePath","GetFactionChildData","factionChildren","GetGenericBannerShaderData","bannerShader","GetDecalMinScreenSize","usage","decalMinScreenSize","GetHighestMeshAreaIndex","highest","area","Math","max","GetHullTurretLocators","locatorTurrets","GetHullLocatorSetNames","locatorSets","keys","sort","GetHullLocators","setName","GetPlacementLocators","locatorSetName","GetLayoutCount","GetLayoutData","GetLocatorCount","count","GetHullNextSubsystemOffset","position","GetHullAudioPosition","audioPosition","GetAreaShaderLocationResPath","areaShaderLocation","GetDecalShaderLocationResPath","decalShaderLocation","GetDecalShader","IsHullUsingDecalSets","isUsingDecalSets","GetShaderPrefix","isAnimated","shaderPrefixAnimated","shaderPrefix","GetCompleteShaderPath","path","IsHullAnimated","GetGenericAreaShaderData","shaderName","areaShaderData","GetGenericDecalShaderData","decalShaderData","GetHullTextureWithMeshIndex","textureName","meshIndex","resourceExists","cache","areaIndex","meshIndexToOpaqueAreaLookup","undefined","texture","textures","ModifyTextureResPath","resFilePath","GetGenericDamageData","damage","GetGenericHullDamageData","hullDamage","GetGenericSwarmProperties","swarmBehavior","GetRaceDamageData","GetRaceBoosterData","boosters","GetHullBoosterData","GetHullBoosterCount","reduce","Array","isArray","items","GetImpactEffectType","impactEffectType","EveSOFDataHull","ImpactEffectType","IMPACTEFFECT_NONE","GetImpactShieldShader","IMPACTEFFECT_ELLIPSOID","shieldShaderEllipsoid","IMPACTEFFECT_HULL","shieldShaderHull","resourcePath","insert","resPathInsert","CMD_RESPATHINSERT","slash","lastIndexOf","candidate","underscore","exists","set","GetColorSet","colorData","colors","GetLogo","logoSetData","logos","HasLogoSet","size","IsInVisibilityData","hash","visibilityData","GetMeshAreaParameter","areaType","parameterName","hullParameters","blockedMaterials","info","materialArgs","CMD_MATERIAL","EveSOFUtilsParameterName","materialIndex","GetMaterialIdx","blocked","findMaterialParameter","GetShortName","patternArgs","CMD_PATTERN","patternMaterialPrefixes","defaultPatternLayer1MaterialName","UsingSof6","defaultPatternLayer2MaterialName","EveSOFDataArea","AreaType","TYPE_WRECK","findAreaMaterialParameter","genericWreckMaterialData","TYPE_PRIMARY","TYPE_REACTOR","areaMaterials","GetFactionTurretParameters","IsMaterialIdxValid","usageIndex","materialUsageList","ChangeMaterialIdx","turretAreaType","GetFullName","GetPatternLayerCount","HasDnaCommand","GetHullPatternApplicationData","layerAndProjection","GetFactionalPatternApplicationData","defaultPattern","enabled","pattern","GetPatternData","defaultPatternName","applicationData","applications","sof6","oldApplicationData","GetPatternApplicationData","layer","defaultPatternInfo","projection","GetPatternProjectionData","application","isInteger","GetPatternLayerData","GetMaterialTargets","layerData","materialTargets","IsPatternLayerApplicableToArea","applicableAreas","GetReflectionMode","category","categories","categoryData","ReflectionMode","REFLECT_NEVER","REFLECT_LOW_MEDIUM_HIGH","REFLECT_MEDIUM_AND_HIGH","GetHullBoundingSphere","hullOffset","source","boundingSphere","includeSphere","next","GetHullShapeEllipsoid","center","shapeEllipsoidCenter","radius","shapeEllipsoidRadius","GetParentBoundingSphere","GetParentHullShapeEllipsoid","SetParentBoundingSphere","SetParentShapeEllipsoidInfo","ellipsoid","DisableAnimation","DynamicBoundingSphereEnabled","enableDynamicBoundingSphere","CastShadow","castShadow","command","commandName","GetFactionName","GetRaceName","#setupFromString","dnaString","toLowerCase","parts","splitCarbon","GetHullData","push","GetFactionData","GetRaceData","layouts","CMD_LAYOUT","GetGenericData","CMD_VARIANT","#setupFromDescriptor","layoutName","descriptor","faction","race","layout","inherited","#inheritCommand","#setupCustomData","createCustomHullData","#reset","clear","CMD_INVALID","CMD_MESH","CMD_MAX","#CopySphere","sphere","from","#CopyEllipsoid","constructor","shapeCenter","copyArrayValue","shapeEllipsoid","shapeRadius","scaling","rotation","isMirrored","alwaysOn","hasTrails","hullAreaData","target","isTransparent","sourceArea","cloneVariantHullArea","parameters","parameter","shader","fallback","separator","pop","current","dx","dy","dz","distance","hypot","factor","materialName","GetMaterialData","materialNames","colorType","glowColor"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"EveSOFDNA.js","sources":["../../../src/sof/EveSOFDNA.js"],"sourcesContent":["// Source: trinity/trinity/Eve/SpaceObjectFactory/EveSOFDNA.h\r\n// Source: trinity/trinity/Eve/SpaceObjectFactory/EveSOFDNA.cpp\r\n// Source: trinity/trinity/Eve/SpaceObjectFactory/EveSOFDNA_Blue.cpp\r\nimport { CjsModel } from \"#model\";\r\nimport { carbon, impl, type } from \"#schema\";\r\nimport { ReflectionMode, TriBatchType } from \"#consts/graphics\";\r\nimport { EveSOFDataMgr } from \"./EveSOFDataMgr.js\";\r\nimport { EveSOFDataHull } from \"./hull/EveSOFDataHull.js\";\r\nimport { EveSOFDataArea } from \"./shared/EveSOFDataArea.js\";\r\nimport { EveSOFUtilsParameterName } from \"./shared/EveSOFUtilsParameterName.js\";\r\n\r\n\r\nconst COMMAND_NAMES = Object.freeze([\r\n \"invalid\",\r\n \"material\",\r\n \"mesh\",\r\n \"respathinsert\",\r\n \"variant\",\r\n \"class\",\r\n \"pattern\",\r\n \"layout\"\r\n]);\r\n\r\nconst BUILD_CLASSES = Object.freeze([\r\n \"ship\",\r\n \"mobile\",\r\n \"stationary\",\r\n \"swarm\",\r\n \"extension\"\r\n]);\r\n\r\n/** Resolves a SOF DNA string against an EveSOFDataMgr. */\r\n@type.define({ className: \"EveSOFDNA\", family: \"eve\" })\r\nexport class EveSOFDNA extends CjsModel\r\n{\r\n\r\n static DnaCommand = Object.freeze({\r\n CMD_INVALID: 0,\r\n CMD_MATERIAL: 1,\r\n CMD_MESH: 2,\r\n CMD_RESPATHINSERT: 3,\r\n CMD_VARIANT: 4,\r\n CMD_CLASS: 5,\r\n CMD_PATTERN: 6,\r\n CMD_LAYOUT: 7,\r\n CMD_MAX: 8\r\n });\r\n\r\n @type.string\r\n dna = \"\";\r\n\r\n @type.objectRef(\"EveSOFDataMgr\")\r\n dataMgr = null;\r\n\r\n @type.list(\"EveSOFDataMgr::HullData\")\r\n hullDatas = [];\r\n\r\n @type.objectRef(\"EveSOFDataMgr::FactionData\")\r\n factionData = null;\r\n\r\n @type.objectRef(\"EveSOFDataMgr::RaceData\")\r\n raceData = null;\r\n\r\n @type.objectRef(\"EveSOFDataMgr::GenericData\")\r\n genericData = null;\r\n\r\n @type.objectRef(\"EveSOFDataMgr::PatternData\")\r\n patternData = null;\r\n\r\n @type.list(\"EveSOFDataMgr::LayoutData\")\r\n layoutData = [];\r\n\r\n @type.list(\"EveSOFDataMgr::HullData\")\r\n customHullData = [];\r\n\r\n @type.list(\"std::string\")\r\n hullNames = [];\r\n\r\n @type.string\r\n factionName = \"\";\r\n\r\n @type.string\r\n raceName = \"\";\r\n\r\n @type.rawStruct(\"CcpMath::Sphere\")\r\n parentBoundingSphere = null;\r\n\r\n @type.rawStruct(\"CcpMath::AxisAlignedEllipsoid\")\r\n parentHullShapeEllipsoid = null;\r\n\r\n @type.boolean\r\n isSkinned = false;\r\n\r\n #commands = new Map();\r\n\r\n #parseError = null;\r\n\r\n /**\r\n * Resolves either a complete DNA string or Carbon's layout descriptor form.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n Setup(dnaOrLayout, dataOrDescriptor, parent = null, dataMgr = null)\r\n {\r\n if (dataOrDescriptor instanceof EveSOFDataMgr && dataMgr === null)\r\n {\r\n this.#setupFromString(String(dnaOrLayout ?? \"\"), dataOrDescriptor);\r\n return;\r\n }\r\n this.#setupFromDescriptor(String(dnaOrLayout ?? \"\"), dataOrDescriptor, parent, dataMgr);\r\n }\r\n\r\n /** Returns whether the three required catalog selections resolved. */\r\n @carbon.method\r\n @impl.implemented\r\n IsValid()\r\n {\r\n return this.hullDatas.length > 0 && this.factionData !== null && this.raceData !== null;\r\n }\r\n\r\n /** Returns the stable parse failure used by non-rendering adapters. */\r\n GetParseError()\r\n {\r\n return this.#parseError;\r\n }\r\n\r\n /** Performs Carbon's slow command validation with unsafe C++ cases guarded. */\r\n @carbon.method\r\n @impl.implemented\r\n ValidateContent()\r\n {\r\n if (!this.IsValid() || this.#parseError) return false;\r\n\r\n for (const [name, args] of this.#commands)\r\n {\r\n switch (name)\r\n {\r\n case \"material\":\r\n if (args.length !== this.genericData.materialPrefixes.length) return false;\r\n if (args.some(value => value !== \"none\" && !this.dataMgr.HasMaterialData(value))) return false;\r\n break;\r\n // `mesh` carries one material per material prefix, exactly like\r\n // `material`, and it is the spelling live EVE skins are authored with.\r\n // The Carbon snapshot at\r\n // trinity/trinity/Eve/SpaceObjectFactory/EveSOFDNA.cpp validates\r\n // CMD_MESH as a single argument alongside CMD_RESPATHINSERT; that is a\r\n // deliberate deviation, because real authored DNA fails it. See\r\n // ccpwgl's legacy reader indexing `commands.mesh[materialIndex]`\r\n // against `generic.materialPrefixes` for independent confirmation.\r\n case \"mesh\":\r\n case \"material\":\r\n if (args.length !== this.genericData.materialPrefixes.length) return false;\r\n if (args.some(value => value !== \"none\" && !this.dataMgr.HasMaterialData(value))) return false;\r\n break;\r\n case \"respathinsert\":\r\n if (args.length !== 1) return false;\r\n break;\r\n case \"variant\":\r\n if (args.length !== 1 || !this.genericData.variants.has(args[0])) return false;\r\n break;\r\n case \"class\":\r\n if (args.length !== 1 || !BUILD_CLASSES.includes(args[0])) return false;\r\n break;\r\n case \"pattern\":\r\n if (args.length !== 3 || !this.dataMgr.HasPatternData(args[0])) return false;\r\n if (args[1] !== \"none\" && !this.dataMgr.HasMaterialData(args[1])) return false;\r\n if (args[2] !== \"none\" && !this.dataMgr.HasMaterialData(args[2])) return false;\r\n break;\r\n case \"layout\":\r\n if (args.length === 0 || args.some(value => !this.dataMgr.HasLayoutData(value))) return false;\r\n break;\r\n default:\r\n return false;\r\n }\r\n }\r\n return true;\r\n }\r\n\r\n /** Returns the normalized DNA text stored for the resolved selection. */\r\n @carbon.method\r\n @impl.implemented\r\n GetDnaString()\r\n {\r\n return this.dna;\r\n }\r\n\r\n /** Returns the number of hull records composing this selection. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMultiHullCount()\r\n {\r\n return this.hullDatas.length;\r\n }\r\n\r\n /** Returns the resolver's live hull-name array in composition order. */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullNames()\r\n {\r\n return this.hullNames;\r\n }\r\n\r\n /**\r\n * Returns the explicit DNA build-class index when valid, otherwise the first\r\n * hull's default.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetBuildClass()\r\n {\r\n const args = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_CLASS);\r\n if (args?.length)\r\n {\r\n const index = BUILD_CLASSES.indexOf(args[0]);\r\n if (index !== -1) return index;\r\n }\r\n return this.hullDatas[0]?.buildClass ?? 0;\r\n }\r\n\r\n /**\r\n * Returns the first hull's geometry path, rewritten to Carbon's combined path\r\n * convention for a multi-hull selection.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullGeometryResPath()\r\n {\r\n if (this.hullDatas.length === 0) return \"\";\r\n if (this.hullDatas.length === 1) return this.hullDatas[0].geometryResFilePath ?? \"\";\r\n\r\n let result = this.hullDatas[0].geometryResFilePath ?? \"\";\r\n const variantNumber = this.hullNames.map(name => name.slice(-1)).join(\"\");\r\n const nameParts = this.hullNames[0].split(\"_\");\r\n const variant = nameParts[nameParts.length - 1];\r\n if (variant)\r\n {\r\n result = result.replace(`${variant}.gr2`, `${variantNumber}.gr2`);\r\n result = result.replace(`${variant}/`, \"all/\");\r\n }\r\n return result;\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live mesh-area list for a supported batch\r\n * type, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullMeshAreas(batchType, hullIndex = 0)\r\n {\r\n const hull = this.hullDatas[hullIndex];\r\n if (!hull) return null;\r\n switch (batchType)\r\n {\r\n case TriBatchType.TRIBATCHTYPE_OPAQUE: return hull.opaqueAreas;\r\n case TriBatchType.TRIBATCHTYPE_DECAL: return hull.decalAreas;\r\n case TriBatchType.TRIBATCHTYPE_TRANSPARENT: return hull.transparentAreas;\r\n case TriBatchType.TRIBATCHTYPE_ADDITIVE: return hull.additiveAreas;\r\n case TriBatchType.TRIBATCHTYPE_DISTORTION: return hull.distortionAreas;\r\n default: return null;\r\n }\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live decal-set list, or an empty list\r\n * when that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullDecalSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.hullDecalSets ?? [];\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live light-set list, or an empty list\r\n * when that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullLightSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.hullLightSets ?? [];\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live sprite-set list, or an empty list\r\n * when that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullSpriteSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.spriteSets ?? [];\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live spotlight-set list, or an empty list\r\n * when that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullSpotlightSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.spotlightSets ?? [];\r\n }\r\n\r\n /**\r\n * Returns the faction's catalog-owned spotlight colors for the numeric group,\r\n * treating -1 or a missing group as absent.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetFactionSpotlightSetData(groupIndex)\r\n {\r\n if (Number(groupIndex) === -1) return null;\r\n return this.factionData?.spotlightSetsColors?.get(Number(groupIndex)) ?? null;\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live plane-set list, or an empty list\r\n * when that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullPlaneSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.planeSets ?? [];\r\n }\r\n\r\n /**\r\n * Returns the faction's catalog-owned plane-set colors for the numeric group,\r\n * treating -1 or a missing group as absent.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetFactionPlaneSetData(groupIndex)\r\n {\r\n if (Number(groupIndex) === -1) return null;\r\n return this.factionData?.planeSetsColors?.get(Number(groupIndex)) ?? null;\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live sprite-line-set list, or an empty\r\n * list when that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullSpriteLineSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.spriteLineSets ?? [];\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live haze-set list, or an empty list when\r\n * that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullHazeSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.hazeSets ?? [];\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live banner list, or an empty list when\r\n * that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullBanners(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.banners ?? [];\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live banner-set list, or an empty list\r\n * when that hull is unavailable.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullBannerSets(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.bannerSets ?? [];\r\n }\r\n\r\n /** Returns legacy hull children from Carbon's first-hull-only path. */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullChildren()\r\n {\r\n return this.hullDatas[0]?.children ?? [];\r\n }\r\n\r\n /** Returns SOF6 child sets from Carbon's first-hull-only path. */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullChildSets()\r\n {\r\n return this.hullDatas[0]?.childSets ?? [];\r\n }\r\n\r\n /** Returns instanced attachments from Carbon's first-hull-only path. */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullInstancedMeshes()\r\n {\r\n return this.hullDatas[0]?.instancedMeshes ?? [];\r\n }\r\n\r\n /** Returns legacy animation declarations from Carbon's first hull. */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullAnimations()\r\n {\r\n return this.hullDatas[0]?.animations ?? [];\r\n }\r\n\r\n /**\r\n * Returns the first hull record's live sound-emitter declarations, or an empty\r\n * list.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullSoundEmitters()\r\n {\r\n return this.hullDatas[0]?.soundEmitters ?? [];\r\n }\r\n\r\n /**\r\n * Returns the first hull record's live controller declarations, or an empty\r\n * list.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullControllers()\r\n {\r\n return this.hullDatas[0]?.controllers ?? [];\r\n }\r\n\r\n /** Returns the first hull's non-empty model-rotation curve path, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetModelRotationCurvePath()\r\n {\r\n return this.hullDatas[0]?.modelRotationCurvePath || null;\r\n }\r\n\r\n /** Returns the first hull's non-empty model-translation curve path, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetModelTranslationCurvePath()\r\n {\r\n return this.hullDatas[0]?.modelTranslationCurvePath || null;\r\n }\r\n\r\n /** Gets the faction visibility override for one legacy child group. */\r\n @carbon.method\r\n @impl.implemented\r\n GetFactionChildData(groupIndex)\r\n {\r\n const index = Number(groupIndex);\r\n if (index === -1) return null;\r\n return this.factionData?.factionChildren?.get(index) ?? null;\r\n }\r\n\r\n /** Returns the resolved generic catalog's banner-shader data, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetGenericBannerShaderData()\r\n {\r\n return this.genericData?.bannerShader ?? null;\r\n }\r\n\r\n /** Returns Carbon's decal minimum screen size for one HullDecalSetItem Usage. */\r\n @carbon.method\r\n @impl.implemented\r\n GetDecalMinScreenSize(usage)\r\n {\r\n return this.genericData?.decalMinScreenSize?.[Number(usage)];\r\n }\r\n\r\n /**\r\n * Returns the greatest opaque area index for the selected hull, using zero for\r\n * non-opaque batches or an empty area list.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHighestMeshAreaIndex(batchType, hullIndex = 0)\r\n {\r\n if (batchType !== TriBatchType.TRIBATCHTYPE_OPAQUE) return 0;\r\n let highest = 0;\r\n for (const area of this.GetHullMeshAreas(batchType, hullIndex) ?? [])\r\n {\r\n highest = Math.max(highest, area.index);\r\n }\r\n return highest;\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live turret-locator list, or an empty\r\n * list.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullTurretLocators(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.locatorTurrets ?? [];\r\n }\r\n\r\n /** Returns a new sorted snapshot of the selected hull's locator-set names. */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullLocatorSetNames(hullIndex = 0)\r\n {\r\n const locatorSets = this.hullDatas[hullIndex]?.locatorSets;\r\n return locatorSets instanceof Map ? [...locatorSets.keys()].sort() : [];\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live locator list for a named set, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullLocators(setName, hullIndex = 0)\r\n {\r\n const locatorSets = this.hullDatas[hullIndex]?.locatorSets;\r\n return locatorSets instanceof Map ? locatorSets.get(String(setName)) ?? null : null;\r\n }\r\n\r\n /**\r\n * Returns the live locator list used to place a named layout set on the\r\n * selected hull, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetPlacementLocators(hullIndex, locatorSetName)\r\n {\r\n return this.GetHullLocators(locatorSetName, hullIndex);\r\n }\r\n\r\n /** Returns the number of layout catalog records selected by the DNA. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLayoutCount()\r\n {\r\n return this.layoutData.length;\r\n }\r\n\r\n /** Returns the catalog-owned selected layout at the numeric index, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetLayoutData(index)\r\n {\r\n return this.layoutData[Number(index)] ?? null;\r\n }\r\n\r\n /**\r\n * Returns the total number of locators in the named set across every selected\r\n * hull.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetLocatorCount(setName)\r\n {\r\n let count = 0;\r\n for (let hullIndex = 0; hullIndex < this.hullDatas.length; hullIndex++)\r\n {\r\n count += this.GetHullLocators(setName, hullIndex)?.length ?? 0;\r\n }\r\n return count;\r\n }\r\n\r\n /**\r\n * Returns the first next-subsystem locator position for the selected hull, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullNextSubsystemOffset(hullIndex = 0)\r\n {\r\n return this.GetHullLocators(\"next_subsystem\", hullIndex)?.[0]?.position ?? null;\r\n }\r\n\r\n /**\r\n * Returns the selected hull record's live audio position only when it is the\r\n * final hull in the composition.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullAudioPosition(hullIndex = 0)\r\n {\r\n if (hullIndex + 1 !== this.hullDatas.length) return null;\r\n return this.hullDatas[hullIndex]?.audioPosition ?? null;\r\n }\r\n\r\n /**\r\n * Returns the generic catalog's base resource path for area shaders, or an\r\n * empty string.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetAreaShaderLocationResPath()\r\n {\r\n return this.genericData?.areaShaderLocation ?? \"\";\r\n }\r\n\r\n /**\r\n * Returns the generic catalog's base resource path for decal shaders, or an\r\n * empty string.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetDecalShaderLocationResPath()\r\n {\r\n return this.genericData?.decalShaderLocation ?? \"\";\r\n }\r\n\r\n /** Carbon returns constant decal shader 0. */\r\n @carbon.method\r\n @impl.implemented\r\n GetDecalShader()\r\n {\r\n return 0;\r\n }\r\n\r\n /** Reports whether the first selected hull explicitly enables decal sets. */\r\n @carbon.method\r\n @impl.implemented\r\n IsHullUsingDecalSets()\r\n {\r\n return this.hullDatas[0]?.isUsingDecalSets === true;\r\n }\r\n\r\n /**\r\n * Returns the generic animated or static shader prefix requested by the\r\n * caller.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetShaderPrefix(isAnimated)\r\n {\r\n return isAnimated ? this.genericData?.shaderPrefixAnimated ?? \"\" : this.genericData?.shaderPrefix ?? \"\";\r\n }\r\n\r\n /**\r\n * Builds an area-shader resource path from the generic base path, the current\r\n * hull animation prefix, and the supplied suffix.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetCompleteShaderPath(path)\n {\n // Carbon's StringInsertStubAfter inserts after the LAST slash, including\n // shader suffixes that contain subdirectories (quad/quadv5.fx).\n const shaderPath = `/${path}`,\n index = shaderPath.lastIndexOf(\"/\") + 1;\n return `${this.GetAreaShaderLocationResPath()}${shaderPath.slice(0, index)}${this.GetShaderPrefix(this.IsHullAnimated())}${shaderPath.slice(index)}`;\n }\n\r\n /**\r\n * Returns the generic catalog's area-shader definition with the requested\r\n * name, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetGenericAreaShaderData(shaderName)\r\n {\r\n return this.genericData?.areaShaderData?.get(String(shaderName)) ?? null;\r\n }\r\n\r\n /**\r\n * Returns the generic catalog's decal-shader definition with the requested\r\n * name, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetGenericDecalShaderData(shaderName)\r\n {\r\n return this.genericData?.decalShaderData?.get(String(shaderName)) ?? null;\r\n }\r\n\r\n /** Returns a hull-local texture path for a projected opaque mesh index. */\r\n @carbon.method\r\n @impl.adapted\r\n GetHullTextureWithMeshIndex(textureName, meshIndex, hullIndex = 0, resourceExists = null, cache = null)\r\n {\r\n const hull = this.hullDatas[hullIndex];\r\n const areaIndex = hull?.meshIndexToOpaqueAreaLookup?.get(Number(meshIndex));\r\n if (areaIndex === undefined) return null;\r\n const texture = hull.opaqueAreas?.[areaIndex]?.textures?.get(String(textureName));\r\n if (!texture) return null;\r\n return this.ModifyTextureResPath(texture.resFilePath, resourceExists, cache);\r\n }\r\n\r\n /** Returns the resolved generic catalog's damage settings, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetGenericDamageData()\r\n {\r\n return this.genericData?.damage ?? null;\r\n }\r\n\r\n /** Returns the resolved generic catalog's hull-damage settings, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetGenericHullDamageData()\r\n {\r\n return this.genericData?.hullDamage ?? null;\r\n }\r\n\r\n /** Returns the resolved generic catalog's swarm behavior properties, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetGenericSwarmProperties()\r\n {\r\n return this.genericData?.swarmBehavior ?? null;\r\n }\r\n\r\n /** Returns the resolved race catalog's damage settings, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRaceDamageData()\r\n {\r\n return this.raceData?.damage ?? null;\r\n }\r\n\r\n /** Returns the resolved race catalog's booster settings, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRaceBoosterData()\r\n {\r\n return this.raceData?.boosters ?? null;\r\n }\r\n\r\n /** Returns the selected hull record's live booster settings, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullBoosterData(hullIndex = 0)\r\n {\r\n return this.hullDatas[hullIndex]?.boosters ?? null;\r\n }\r\n\r\n /**\r\n * Returns the combined number of authored booster items across all selected\r\n * hulls.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullBoosterCount()\r\n {\r\n return this.hullDatas.reduce(\r\n (count, hull) => count + (Array.isArray(hull?.boosters?.items) ? hull.boosters.items.length : 0),\r\n 0\r\n );\r\n }\r\n\r\n /**\r\n * Returns the first hull's numeric impact-effect type, defaulting to no impact\r\n * effect.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetImpactEffectType()\r\n {\r\n return Number(this.hullDatas[0]?.impactEffectType ?? EveSOFDataHull.ImpactEffectType.IMPACTEFFECT_NONE);\r\n }\r\n\r\n /**\r\n * Returns the generic shield-shader path selected by the hull's impact-effect\r\n * type, or null when no supported shield effect applies.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetImpactShieldShader()\r\n {\r\n const damage = this.GetGenericDamageData();\r\n if (!damage) return null;\r\n switch (this.GetImpactEffectType())\r\n {\r\n case EveSOFDataHull.ImpactEffectType.IMPACTEFFECT_ELLIPSOID: return damage.shieldShaderEllipsoid ?? \"\";\r\n case EveSOFDataHull.ImpactEffectType.IMPACTEFFECT_HULL: return damage.shieldShaderHull ?? \"\";\r\n default: return null;\r\n }\r\n }\r\n\r\n /** Applies Carbon's optional faction/DNA texture path insertion. */\r\n @carbon.method\r\n @impl.implemented\r\n ModifyTextureResPath(resourcePath, resourceExists = null, cache = null)\r\n {\r\n let insert = this.factionData?.resPathInsert || null;\r\n const args = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_RESPATHINSERT);\r\n if (args?.length === 1) insert = args[0] === \"none\" ? null : args[0];\r\n if (!insert || typeof resourceExists !== \"function\") return resourcePath;\r\n\r\n const slash = resourcePath.lastIndexOf(\"/\");\r\n if (slash === -1) return resourcePath;\r\n let candidate = `${resourcePath.slice(0, slash + 1)}${insert}/${resourcePath.slice(slash + 1)}`;\r\n const underscore = candidate.lastIndexOf(\"_\");\r\n if (underscore === -1) return resourcePath;\r\n candidate = `${candidate.slice(0, underscore)}_${insert}${candidate.slice(underscore)}`;\r\n\r\n if (cache?.has(candidate)) return cache.get(candidate) ? candidate : resourcePath;\r\n const exists = resourceExists(candidate) === true;\r\n if (cache) cache.set(candidate, exists);\r\n return exists ? candidate : resourcePath;\r\n }\r\n\r\n /** Returns the resolved faction's catalog-owned color array, or an empty list. */\r\n @carbon.method\r\n @impl.implemented\r\n GetColorSet()\r\n {\r\n return this.factionData?.colorData?.colors ?? [];\r\n }\r\n\r\n /**\r\n * Returns the resolved faction's catalog-owned logo at the numeric index, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetLogo(index)\r\n {\r\n return this.factionData?.logoSetData?.logos?.[Number(index)] ?? null;\r\n }\r\n\r\n /**\r\n * Reports whether the indexed faction logo exists and declares at least one\r\n * texture.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n HasLogoSet(index)\r\n {\r\n return (this.GetLogo(index)?.textures?.size ?? 0) > 0;\r\n }\r\n\r\n /**\r\n * Reports whether the faction visibility set contains the supplied value after\r\n * unsigned 32-bit normalization.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n IsInVisibilityData(hash)\r\n {\r\n return this.factionData?.visibilityData?.has(Number(hash) >>> 0) === true;\r\n }\r\n\r\n /** Resolves one mesh parameter using Carbon's ordered material fallbacks. */\r\n @carbon.method\r\n @impl.implemented\r\n GetMeshAreaParameter(areaType, parameterName, hullParameters = null, blockedMaterials = 0)\r\n {\r\n let info;\r\n let value;\r\n const materialArgs = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_MATERIAL);\r\n if (materialArgs)\r\n {\r\n info = new EveSOFUtilsParameterName(this.genericData.materialPrefixes, parameterName);\r\n const materialIndex = info.GetMaterialIdx();\r\n if (materialIndex !== -1 && materialIndex < materialArgs.length && materialIndex < 32)\r\n {\r\n const blocked = (blockedMaterials >>> 0) & (1 << materialIndex);\r\n if (!blocked)\r\n {\r\n value = findMaterialParameter(this.dataMgr, materialArgs[materialIndex], info.GetShortName());\r\n if (value) return value;\r\n }\r\n }\r\n }\r\n\r\n const patternArgs = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_PATTERN);\r\n if (patternArgs)\r\n {\r\n info = new EveSOFUtilsParameterName(this.genericData.patternMaterialPrefixes, parameterName);\r\n const materialIndex = info.GetMaterialIdx();\r\n if (materialIndex !== -1 && 1 + materialIndex < patternArgs.length)\r\n {\r\n value = findMaterialParameter(this.dataMgr, patternArgs[1 + materialIndex], info.GetShortName());\r\n if (value) return value;\r\n }\r\n }\r\n\r\n info = new EveSOFUtilsParameterName(this.genericData.patternMaterialPrefixes, parameterName);\r\n if (info.GetMaterialIdx() === 0)\r\n {\r\n value = findMaterialParameter(\r\n this.dataMgr,\r\n this.factionData.defaultPatternLayer1MaterialName,\r\n info.GetShortName()\r\n );\r\n if (value) return value;\r\n }\r\n else if (info.GetMaterialIdx() === 1 && this.UsingSof6())\r\n {\r\n value = findMaterialParameter(\r\n this.dataMgr,\r\n this.factionData.defaultPatternLayer2MaterialName,\r\n info.GetShortName()\r\n );\r\n if (value) return value;\r\n }\r\n\r\n info = new EveSOFUtilsParameterName(this.genericData.materialPrefixes, parameterName);\r\n if (areaType === EveSOFDataArea.AreaType.TYPE_WRECK)\r\n {\r\n value = findAreaMaterialParameter(this.dataMgr, this.GetColorSet(), this.genericData.genericWreckMaterialData, areaType, info);\r\n if (value) return value;\r\n }\r\n if (areaType === EveSOFDataArea.AreaType.TYPE_PRIMARY || areaType === EveSOFDataArea.AreaType.TYPE_REACTOR)\r\n {\r\n value = findAreaMaterialParameter(this.dataMgr, this.GetColorSet(), this.raceData.areaMaterials, areaType, info);\r\n if (value) return value;\r\n }\r\n value = findAreaMaterialParameter(this.dataMgr, this.GetColorSet(), this.factionData.areaMaterials, areaType, info);\r\n if (value) return value;\r\n\r\n return hullParameters?.get(String(parameterName)) ?? null;\r\n }\r\n\r\n /** Resolves a turret shader parameter after applying the faction's material-usage remap. */\r\n @carbon.method\r\n @impl.implemented\r\n GetFactionTurretParameters(parameterName)\r\n {\r\n const info = new EveSOFUtilsParameterName(\r\n this.genericData?.materialPrefixes ?? [],\r\n parameterName\r\n );\r\n if (info.IsMaterialIdxValid())\r\n {\r\n const materialIndex = info.GetMaterialIdx();\r\n const usageIndex = Number(\r\n this.factionData?.materialUsageList?.[materialIndex] ?? materialIndex\r\n );\r\n info.ChangeMaterialIdx(this.genericData, usageIndex);\r\n }\r\n return this.GetMeshAreaParameter(\r\n Number(this.genericData?.turretAreaType ?? EveSOFDataArea.AreaType.TYPE_PRIMARY),\r\n info.GetFullName()\r\n );\r\n }\r\n\r\n /**\r\n * Returns the active pattern's layer count, selecting explicit, SOF6\r\n * faction-default, or legacy hull-default data as appropriate.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetPatternLayerCount()\r\n {\r\n if (this.HasDnaCommand(EveSOFDNA.DnaCommand.CMD_PATTERN) && !this.patternData) return 0;\r\n if (this.patternData)\r\n {\r\n return this.GetHullPatternApplicationData()?.layerAndProjection.length ?? 0;\r\n }\r\n if (this.UsingSof6())\r\n {\r\n return this.GetFactionalPatternApplicationData()?.layerAndProjection.length ?? 0;\r\n }\r\n return this.hullDatas[0]?.defaultPattern?.enabled === true ? 1 : 0;\r\n }\r\n\r\n /**\r\n * Returns the faction-default pattern's catalog-owned application for the\r\n * first hull, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetFactionalPatternApplicationData()\r\n {\r\n const pattern = this.dataMgr.GetPatternData(this.factionData?.defaultPatternName ?? \"\");\r\n return pattern?.applicationData?.get(this.hullNames[0]) ?? null;\r\n }\r\n\r\n /**\r\n * Returns the selected pattern's SOF6 or legacy catalog application for the\r\n * first hull, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullPatternApplicationData()\r\n {\r\n if (!this.patternData) return null;\r\n const applications = this.patternData.sof6\r\n ? this.patternData.applicationData\r\n : this.patternData.oldApplicationData;\r\n return applications?.get(this.hullNames[0]) ?? null;\r\n }\r\n\r\n /**\r\n * Resolves explicit or SOF6 faction pattern applications and otherwise\r\n * synthesizes a fresh legacy default wrapper.\r\n */\r\n @carbon.method\r\n @impl.adapted\r\n GetPatternApplicationData()\r\n {\r\n if (!this.HasDnaCommand(EveSOFDNA.DnaCommand.CMD_PATTERN))\r\n {\r\n if (this.UsingSof6()) return this.GetFactionalPatternApplicationData();\r\n const layer = this.factionData?.defaultPatternInfo;\r\n const projection = this.hullDatas[0]?.defaultPattern;\r\n return layer && projection ? { layerAndProjection: [{ layer, projection }] } : null;\r\n }\r\n return this.GetHullPatternApplicationData();\r\n }\r\n\r\n /**\r\n * Returns the catalog-owned projection for a valid active pattern layer, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetPatternProjectionData(application, layer)\r\n {\r\n if (!application || !Number.isInteger(layer) || layer < 0) return null;\r\n if (!this.HasDnaCommand(EveSOFDNA.DnaCommand.CMD_PATTERN) && !this.UsingSof6() && layer > 0) return null;\r\n return application.layerAndProjection?.[layer]?.projection ?? null;\r\n }\r\n\r\n /**\r\n * Returns the catalog-owned settings for a valid active pattern layer, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetPatternLayerData(application, layer)\r\n {\r\n if (!application || !Number.isInteger(layer) || layer < 0) return null;\r\n if (!this.HasDnaCommand(EveSOFDNA.DnaCommand.CMD_PATTERN) && !this.UsingSof6() && layer > 0) return null;\r\n return application.layerAndProjection?.[layer]?.layer ?? null;\r\n }\r\n\r\n /**\r\n * Returns a shallow copy of the pattern layer's material-target array, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetMaterialTargets(layerData)\r\n {\r\n return layerData?.materialTargets?.slice() ?? null;\r\n }\r\n\r\n /**\r\n * Reports whether the pattern layer explicitly enables the numeric hull-area\r\n * type.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n IsPatternLayerApplicableToArea(layerData, areaType)\r\n {\r\n return layerData?.applicableAreas?.get(Number(areaType)) === true;\r\n }\r\n\r\n /**\r\n * Returns the first hull category's configured reflection mode, falling back\r\n * to Carbon's built-in category rules.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetReflectionMode()\r\n {\r\n const category = this.hullDatas[0]?.category ?? \"\";\r\n const categories = this.genericData?.categoryData;\r\n if (categories?.size)\r\n {\r\n return categories.get(category) ?? ReflectionMode.REFLECT_NEVER;\r\n }\r\n if (category === \"hangar\" || category === \"hangar4k\") return ReflectionMode.REFLECT_LOW_MEDIUM_HIGH;\r\n if (category.includes(\"station\") || category.includes(\"structure\") || category === \"jumpgate\")\r\n {\r\n return ReflectionMode.REFLECT_MEDIUM_AND_HIGH;\r\n }\r\n return ReflectionMode.REFLECT_NEVER;\r\n }\r\n\r\n /**\r\n * Returns a newly allocated sphere enclosing every selected hull after\r\n * applying chained next-subsystem offsets, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullBoundingSphere()\r\n {\r\n let result = null;\r\n const hullOffset = [0, 0, 0];\r\n for (let hullIndex = 0; hullIndex < this.hullDatas.length; hullIndex++)\r\n {\r\n const source = this.hullDatas[hullIndex]?.boundingSphere;\r\n if (source?.length >= 4)\r\n {\r\n result = includeSphere(result, [\r\n Number(source[0] ?? 0) + hullOffset[0],\r\n Number(source[1] ?? 0) + hullOffset[1],\r\n Number(source[2] ?? 0) + hullOffset[2],\r\n Number(source[3] ?? -1)\r\n ]);\r\n }\r\n const next = this.GetHullNextSubsystemOffset(hullIndex);\r\n if (next)\r\n {\r\n hullOffset[0] += Number(next[0] ?? 0);\r\n hullOffset[1] += Number(next[1] ?? 0);\r\n hullOffset[2] += Number(next[2] ?? 0);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n /**\r\n * Returns a fresh descriptor referencing the first resolved hull's live\r\n * ellipsoid vectors, or null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetHullShapeEllipsoid()\r\n {\r\n const hull = this.hullDatas[0];\r\n if (!hull) return null;\r\n return {\r\n center: hull.shapeEllipsoidCenter ?? null,\r\n radius: hull.shapeEllipsoidRadius ?? null\r\n };\r\n }\r\n\r\n /**\r\n * Returns a defensive copy of the resolver-owned parent bounding sphere, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetParentBoundingSphere()\r\n {\r\n return EveSOFDNA.#CopySphere(this.parentBoundingSphere);\r\n }\r\n\r\n /** Returns the resolver-owned parent hull-shape ellipsoid descriptor, or null. */\r\n @carbon.method\r\n @impl.implemented\r\n GetParentHullShapeEllipsoid()\r\n {\r\n return this.parentHullShapeEllipsoid;\r\n }\r\n\r\n /**\r\n * Replaces the parent bounding sphere with a defensive copy of the supplied\r\n * coordinates.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetParentBoundingSphere(boundingSphere)\r\n {\r\n this.parentBoundingSphere = EveSOFDNA.#CopySphere(boundingSphere);\r\n }\r\n\r\n /**\r\n * Replaces the parent hull-shape ellipsoid with a deep copy of the supplied\r\n * center and radius vectors.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n SetParentShapeEllipsoidInfo(ellipsoid)\r\n {\r\n this.parentHullShapeEllipsoid = EveSOFDNA.#CopyEllipsoid(ellipsoid);\r\n }\r\n\r\n /**\r\n * Creates a detached coordinate array from a sphere-like value, preserving\r\n * null.\r\n */\r\n static #CopySphere(sphere)\r\n {\r\n return sphere ? Array.from(sphere) : null;\r\n }\r\n\r\n /**\r\n * Creates a detached ellipsoid descriptor with copied center and radius\r\n * arrays, preserving null components.\r\n */\r\n static #CopyEllipsoid(ellipsoid)\r\n {\r\n if (!ellipsoid) return null;\r\n return {\r\n center: ellipsoid.center ? Array.from(ellipsoid.center) : null,\r\n radius: ellipsoid.radius ? Array.from(ellipsoid.radius) : null\r\n };\r\n }\r\n\r\n /**\r\n * Reports the resolver's current skinned-animation flag, which layouts may\r\n * disable independently of catalog data.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n IsHullAnimated()\r\n {\r\n return this.isSkinned;\r\n }\r\n\r\n /**\r\n * Disables skinned animation for this resolved DNA without modifying the\r\n * source hull record.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n DisableAnimation()\r\n {\r\n this.isSkinned = false;\r\n }\r\n\r\n /**\r\n * Reports whether multi-hull composition or the first hull's flag requires\r\n * dynamic bounds.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n DynamicBoundingSphereEnabled()\r\n {\r\n return this.hullDatas.length > 1 || this.hullDatas[0]?.enableDynamicBoundingSphere === true;\r\n }\r\n\r\n /** Reports whether the first selected hull is authored to cast shadows. */\r\n @carbon.method\r\n @impl.implemented\r\n CastShadow()\r\n {\r\n return this.hullDatas[0]?.castShadow === true;\r\n }\r\n\r\n /**\r\n * Reports whether the parsed command map contains the supplied command name or\r\n * valid numeric command.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n HasDnaCommand(command)\r\n {\r\n const name = commandName(command);\r\n return name !== null && this.#commands.has(name);\r\n }\r\n\r\n /**\r\n * Returns a defensive copy of the supplied DNA command's parsed arguments, or\r\n * null.\r\n */\r\n @carbon.method\r\n @impl.implemented\r\n GetDnaCommandArgs(command)\r\n {\r\n const name = commandName(command);\r\n if (name === null || !this.#commands.has(name)) return null;\r\n return this.#commands.get(name).slice();\r\n }\r\n\r\n /** Reports whether the first selected hull uses the SOF6 data model. */\r\n @carbon.method\r\n @impl.implemented\r\n UsingSof6()\r\n {\r\n return this.hullDatas.length > 0 && this.hullDatas[0].sof6 === true;\r\n }\r\n\r\n /** Returns the faction catalog name resolved for this DNA. */\r\n @carbon.method\r\n @impl.implemented\r\n GetFactionName()\r\n {\r\n return this.factionName;\r\n }\r\n\r\n /** Returns the race catalog name resolved for this DNA. */\r\n @carbon.method\r\n @impl.implemented\r\n GetRaceName()\r\n {\r\n return this.raceName;\r\n }\r\n\r\n /**\r\n * Resets and repopulates this resolver from a lower-cased DNA string,\r\n * recording parse failures instead of throwing.\r\n */\r\n #setupFromString(dnaString, dataMgr)\r\n {\r\n // A DNA string is lowercased before anything reads it. Every catalog name\r\n // it can contain — hull, faction, race, command, material, pattern, layout\r\n // — is canonically lowercase, so case carries no meaning and folding it\r\n // costs nothing.\r\n //\r\n // Carbon compares command names exactly\r\n // (`cit->first.compare( s_dnaCommands[i] )`) and looks catalog names up as\r\n // given. Authored EVE skins do not respect that: designs in the live feed\r\n // carry `MATERIAL?...`, and porting the exact comparison faithfully\r\n // rejected them with \"Invalid SOF DNA content\". Deliberate deviation.\r\n const dna = dnaString.toLowerCase();\r\n\r\n this.#reset(dna, dataMgr);\r\n const parts = splitCarbon(dna, \":\");\r\n if (parts.length < 3)\r\n {\r\n this.#parseError = \"not-enough-parts\";\r\n return;\r\n }\r\n\r\n for (let index = 3; index < parts.length; index++)\r\n {\r\n const command = splitCarbon(parts[index], \"?\");\r\n if (command.length !== 2)\r\n {\r\n this.#parseError = \"malformed-command\";\r\n return;\r\n }\r\n this.#commands.set(command[0], splitCarbon(command[1], \";\"));\r\n }\r\n\r\n // `mesh` and `material` are the same command: one material per material\r\n // prefix. `mesh` is the spelling live EVE skins are authored with, and\r\n // ccpwgl's legacy reader indexes `commands.mesh[materialIndex]` against\r\n // `generic.materialPrefixes` for the same reason.\r\n //\r\n // The Carbon snapshot does neither. Its parser splits every payload on\r\n // `;`, so it sees four arguments; its ValidateContent then rejects any\r\n // CMD_MESH that is not exactly one; and CMD_MESH is read nowhere in the\r\n // tree. Faithfully porting that gave us a validator that rejects real\r\n // authored DNA and a builder that would have dropped the materials even if\r\n // it had passed. Normalizing here means every downstream reader keeps\r\n // asking for CMD_MATERIAL and simply works.\r\n if (this.#commands.has(\"mesh\") && !this.#commands.has(\"material\"))\r\n {\r\n this.#commands.set(\"material\", this.#commands.get(\"mesh\"));\r\n }\r\n\r\n this.hullNames = splitCarbon(parts[0], \";\");\r\n if (this.hullNames.length === 0)\r\n {\r\n this.#parseError = \"missing-hull\";\r\n return;\r\n }\r\n this.factionName = parts[1];\r\n this.raceName = parts[2];\r\n\r\n for (const name of this.hullNames)\r\n {\r\n const hull = dataMgr.GetHullData(name);\r\n if (!hull)\r\n {\r\n this.#parseError = \"unknown-hull\";\r\n return;\r\n }\r\n this.hullDatas.push(hull);\r\n }\r\n\r\n this.factionData = dataMgr.GetFactionData(this.factionName);\r\n if (!this.factionData)\r\n {\r\n this.#parseError = \"unknown-faction\";\r\n return;\r\n }\r\n this.raceData = dataMgr.GetRaceData(this.raceName);\r\n if (!this.raceData)\r\n {\r\n this.#parseError = \"unknown-race\";\r\n return;\r\n }\r\n\r\n const pattern = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_PATTERN);\r\n if (pattern?.length) this.patternData = dataMgr.GetPatternData(pattern[0]);\r\n const layouts = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_LAYOUT);\r\n if (layouts) this.layoutData = dataMgr.GetLayoutData(layouts);\r\n this.genericData = dataMgr.GetGenericData();\r\n\r\n if (this.HasDnaCommand(EveSOFDNA.DnaCommand.CMD_VARIANT)) this.#setupCustomData();\r\n this.parentBoundingSphere = this.GetHullBoundingSphere();\r\n this.parentHullShapeEllipsoid = EveSOFDNA.#CopyEllipsoid(this.GetHullShapeEllipsoid());\r\n this.isSkinned = this.hullDatas[0]?.isSkinned === true;\r\n }\r\n\r\n /**\r\n * Resets and repopulates this nested resolver from a layout descriptor while\r\n * inheriting the parent's command and bounds context.\r\n */\r\n #setupFromDescriptor(layoutName, descriptor, parent, dataMgr)\r\n {\r\n this.#reset(\"\", dataMgr);\r\n if (!descriptor || !parent || !dataMgr)\r\n {\r\n this.#parseError = \"invalid-descriptor-context\";\r\n return;\r\n }\r\n\r\n this.hullNames = splitCarbon(String(descriptor.hull ?? \"\"), \";\");\r\n for (const name of this.hullNames)\r\n {\r\n const hull = dataMgr.GetHullData(name);\r\n if (!hull)\r\n {\r\n this.#parseError = \"unknown-hull\";\r\n return;\r\n }\r\n this.hullDatas.push(hull);\r\n }\r\n if (this.hullDatas.length === 0)\r\n {\r\n this.#parseError = \"missing-hull\";\r\n return;\r\n }\r\n\r\n this.factionName = descriptor.faction || parent.factionName;\r\n this.raceName = descriptor.race || parent.raceName;\r\n this.factionData = dataMgr.GetFactionData(this.factionName);\r\n this.raceData = dataMgr.GetRaceData(this.raceName);\r\n if (!this.factionData || !this.raceData)\r\n {\r\n this.#parseError = \"unknown-faction-or-race\";\r\n return;\r\n }\r\n\r\n const materialArgs = parent.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_MATERIAL) ?? [\"none\", \"none\", \"none\", \"none\"];\r\n for (let index = 0; index < 4; index++)\r\n {\r\n const value = descriptor[`material${index + 1}`];\r\n if (value) materialArgs[index] = value;\r\n }\r\n if (materialArgs.some(value => value !== \"none\")) this.#commands.set(\"material\", materialArgs);\r\n\r\n this.#inheritCommand(parent, EveSOFDNA.DnaCommand.CMD_RESPATHINSERT);\r\n this.#inheritCommand(parent, EveSOFDNA.DnaCommand.CMD_VARIANT);\r\n if (descriptor.layout) this.#commands.set(\"layout\", [descriptor.layout]);\r\n if (descriptor.pattern)\r\n {\r\n const inherited = parent.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_PATTERN) ?? [descriptor.pattern, \"none\", \"none\"];\r\n inherited[0] = descriptor.pattern;\r\n while (inherited.length < 3) inherited.push(\"none\");\r\n this.#commands.set(\"pattern\", inherited.slice(0, 3));\r\n }\r\n\r\n const pattern = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_PATTERN);\r\n if (pattern) this.patternData = dataMgr.GetPatternData(pattern[0]);\r\n const layouts = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_LAYOUT);\r\n if (layouts) this.layoutData = dataMgr.GetLayoutData(layouts);\r\n this.genericData = dataMgr.GetGenericData();\r\n if (this.HasDnaCommand(EveSOFDNA.DnaCommand.CMD_VARIANT)) this.#setupCustomData();\r\n\r\n this.dna = `${descriptor.hull}:${this.factionName}:${this.raceName}`;\r\n for (const name of [...this.#commands.keys()].sort())\r\n {\r\n this.dna += `:${name}?${this.#commands.get(name).join(\";\")}`;\r\n }\r\n this.parentBoundingSphere = parent.GetParentBoundingSphere();\r\n this.parentHullShapeEllipsoid = EveSOFDNA.#CopyEllipsoid(parent.GetParentHullShapeEllipsoid());\r\n this.isSkinned = this.hullDatas[0]?.isSkinned === true;\r\n void layoutName;\r\n }\r\n\r\n /**\r\n * Copies one parsed command and its argument snapshot from the parent resolver\r\n * when present.\r\n */\r\n #inheritCommand(parent, command)\r\n {\r\n const args = parent.GetDnaCommandArgs(command);\r\n if (args) this.#commands.set(commandName(command), args);\r\n }\r\n\r\n /**\r\n * Replaces the resolved hull references with resolver-owned variant hull\r\n * snapshots when a variant command is active.\r\n */\r\n #setupCustomData()\r\n {\r\n const args = this.GetDnaCommandArgs(EveSOFDNA.DnaCommand.CMD_VARIANT);\r\n if (!args?.length) return;\r\n const variant = this.genericData?.variants?.get(args[0]) ?? null;\r\n\r\n this.customHullData = this.hullDatas.map(hull => createCustomHullData(hull, variant));\r\n this.hullDatas = this.customHullData;\r\n }\r\n\r\n /**\r\n * Clears all prior resolution state, binds the supplied DNA text and data\r\n * manager, and removes any parse error.\r\n */\r\n #reset(dna, dataMgr)\r\n {\r\n this.dna = dna;\r\n this.dataMgr = dataMgr;\r\n this.hullDatas = [];\r\n this.factionData = null;\r\n this.raceData = null;\r\n this.genericData = null;\r\n this.patternData = null;\r\n this.layoutData = [];\r\n this.customHullData = [];\r\n this.hullNames = [];\r\n this.factionName = \"\";\r\n this.raceName = \"\";\r\n this.parentBoundingSphere = null;\r\n this.parentHullShapeEllipsoid = null;\r\n this.isSkinned = false;\r\n this.#commands.clear();\r\n this.#parseError = null;\r\n }\r\n\r\n}\r\n\r\nfunction createCustomHullData(source, variant)\r\n{\r\n const shapeCenter = copyArrayValue(\r\n source?.shapeEllipsoid?.center ?? source?.shapeEllipsoidCenter,\r\n [0, 0, 0]\r\n );\r\n const shapeRadius = copyArrayValue(\r\n source?.shapeEllipsoid?.radius ?? source?.shapeEllipsoidRadius,\r\n [-1, -1, -1]\r\n );\r\n const result = {\r\n buildClass: Number(source?.buildClass ?? 0),\r\n geometryResFilePath: String(source?.geometryResFilePath ?? \"\"),\r\n boundingSphere: copyArrayValue(source?.boundingSphere, [0, 0, 0, 0]),\r\n shapeEllipsoidCenter: shapeCenter.slice(),\r\n shapeEllipsoidRadius: shapeRadius.slice(),\r\n shapeEllipsoid: {\r\n center: shapeCenter,\r\n radius: shapeRadius\r\n },\r\n isSkinned: source?.isSkinned === true,\r\n isUsingDecalSets: false,\r\n enableDynamicBoundingSphere: source?.enableDynamicBoundingSphere === true,\r\n castShadow: source?.castShadow === true,\r\n sof6: false,\r\n audioPosition: copyArrayValue(source?.audioPosition, [0, 0, 0]),\r\n spriteSets: [],\r\n spotlightSets: [],\r\n planeSets: [],\r\n spriteLineSets: [],\r\n hazeSets: [],\r\n banners: [],\r\n bannerSets: [],\r\n hullDecalSets: [],\r\n hullLightSets: [],\r\n childSets: [],\r\n defaultPattern: {\r\n enabled: false,\r\n position: [0, 0, 0],\r\n scaling: [0, 0, 0],\r\n rotation: [0, 0, 0, 1],\r\n isMirrored: false\r\n },\r\n impactEffectType: EveSOFDataHull.ImpactEffectType.IMPACTEFFECT_NONE,\r\n opaqueAreas: [],\r\n decalAreas: [],\r\n transparentAreas: [],\r\n additiveAreas: [],\r\n distortionAreas: [],\r\n boosters: {\r\n alwaysOn: false,\r\n hasTrails: false,\r\n items: []\r\n },\r\n locatorTurrets: [],\r\n locatorSets: new Map(),\r\n children: [],\r\n instancedMeshes: [],\r\n animations: [],\r\n soundEmitters: [],\r\n controllers: [],\r\n modelRotationCurvePath: \"\",\r\n modelTranslationCurvePath: \"\",\r\n meshIndexToOpaqueAreaLookup: new Map(),\r\n category: \"\"\r\n };\r\n\r\n if (variant?.hullAreaData)\r\n {\r\n const target = variant.isTransparent ? result.transparentAreas : result.opaqueAreas;\r\n for (const sourceArea of source?.opaqueAreas ?? [])\r\n {\r\n target.push(cloneVariantHullArea(variant.hullAreaData, sourceArea));\r\n }\r\n }\r\n return result;\r\n}\r\n\r\nfunction cloneVariantHullArea(value, sourceArea)\r\n{\r\n const textures = new Map();\r\n if (value?.textures instanceof Map)\r\n {\r\n for (const [name, texture] of value.textures)\r\n {\r\n textures.set(name, { resFilePath: String(texture?.resFilePath ?? \"\") });\r\n }\r\n }\r\n\r\n const parameters = new Map();\r\n if (value?.parameters instanceof Map)\r\n {\r\n for (const [name, parameter] of value.parameters)\r\n {\r\n parameters.set(name, copyArrayValue(parameter, [0, 0, 0, 0]));\r\n }\r\n }\r\n\r\n return {\r\n index: Number(sourceArea?.index ?? 0),\r\n count: Number(sourceArea?.count ?? 1),\r\n blockedMaterials: Number(value?.blockedMaterials ?? 0),\r\n shader: String(value?.shader ?? \"\"),\r\n areaType: Number(value?.areaType ?? 0),\r\n textures,\r\n parameters\r\n };\r\n}\r\n\r\nfunction copyArrayValue(value, fallback)\r\n{\r\n return value && typeof value.length === \"number\" ? Array.from(value) : fallback.slice();\r\n}\r\n\r\nfunction commandName(command)\r\n{\r\n if (typeof command === \"string\") return command;\r\n if (!Number.isInteger(command) || command <= EveSOFDNA.DnaCommand.CMD_INVALID || command >= EveSOFDNA.DnaCommand.CMD_MAX)\r\n {\r\n return null;\r\n }\r\n\r\n return COMMAND_NAMES[command] ?? null;\r\n}\r\n\r\nfunction splitCarbon(value, separator)\r\n{\r\n if (value === \"\") return [];\r\n const result = String(value).split(separator);\r\n if (result[result.length - 1] === \"\") result.pop();\r\n return result;\r\n}\r\n\r\nfunction includeSphere(current, next)\r\n{\r\n if (!next || next[3] < 0) return current;\r\n if (!current || current[3] < 0) return next.slice();\r\n const dx = next[0] - current[0];\r\n const dy = next[1] - current[1];\r\n const dz = next[2] - current[2];\r\n const distance = Math.hypot(dx, dy, dz);\r\n if (current[3] >= distance + next[3]) return current;\r\n if (next[3] >= distance + current[3]) return next.slice();\r\n const radius = (distance + current[3] + next[3]) * 0.5;\r\n if (distance === 0) return [current[0], current[1], current[2], radius];\r\n const factor = (radius - current[3]) / distance;\r\n return [\r\n current[0] + dx * factor,\r\n current[1] + dy * factor,\r\n current[2] + dz * factor,\r\n radius\r\n ];\r\n}\r\n\r\nfunction findMaterialParameter(dataMgr, materialName, parameterName)\r\n{\r\n return dataMgr.GetMaterialData(materialName)?.parameters?.get(parameterName) ?? null;\r\n}\r\n\r\nfunction findAreaMaterialParameter(dataMgr, colors, areaMaterials, areaType, info)\r\n{\r\n if (!areaMaterials) return null;\r\n let value = null;\r\n if (info.IsMaterialIdxValid())\r\n {\r\n const materialName = areaMaterials.materialNames.get(\r\n `${areaType}:${info.GetMaterialIdx()}`\r\n );\r\n if (materialName) value = findMaterialParameter(dataMgr, materialName, info.GetShortName());\r\n }\r\n else\r\n {\r\n const colorType = areaMaterials.glowColor.get(`${areaType}:${info.GetFullName()}`);\r\n if (colorType !== undefined) value = colors[colorType] ?? null;\r\n }\r\n if (value) return value;\r\n return areaType === EveSOFDataArea.AreaType.TYPE_PRIMARY\r\n ? null\r\n : findAreaMaterialParameter(dataMgr, colors, areaMaterials, EveSOFDataArea.AreaType.TYPE_PRIMARY, info);\r\n}\r\n"],"names":["COMMAND_NAMES","Object","freeze","BUILD_CLASSES","_EveSOFDNA","_identity","EveSOFDNA","CjsModel","e","_init_dna","_init_extra_dna","_init_dataMgr","_init_extra_dataMgr","_init_hullDatas","_init_extra_hullDatas","_init_factionData","_init_extra_factionData","_init_raceData","_init_extra_raceData","_init_genericData","_init_extra_genericData","_init_patternData","_init_extra_patternData","_init_layoutData","_init_extra_layoutData","_init_customHullData","_init_extra_customHullData","_init_hullNames","_init_extra_hullNames","_init_factionName","_init_extra_factionName","_init_raceName","_init_extra_raceName","_init_parentBoundingSphere","_init_extra_parentBoundingSphere","_init_parentHullShapeEllipsoid","_init_extra_parentHullShapeEllipsoid","_init_isSkinned","_init_extra_isSkinned","_initProto","c","_initClass","_applyDecs","type","define","className","family","string","objectRef","list","rawStruct","boolean","carbon","method","impl","implemented","adapted","dna","dataMgr","hullDatas","factionData","raceData","genericData","patternData","layoutData","customHullData","hullNames","factionName","raceName","parentBoundingSphere","parentHullShapeEllipsoid","isSkinned","Map","Setup","dnaOrLayout","dataOrDescriptor","parent","EveSOFDataMgr","String","IsValid","length","GetParseError","ValidateContent","name","args","materialPrefixes","some","value","HasMaterialData","variants","has","includes","HasPatternData","HasLayoutData","GetDnaString","GetMultiHullCount","GetHullNames","GetBuildClass","GetDnaCommandArgs","DnaCommand","CMD_CLASS","index","indexOf","buildClass","GetHullGeometryResPath","geometryResFilePath","result","variantNumber","map","slice","join","nameParts","split","variant","replace","GetHullMeshAreas","batchType","hullIndex","hull","TriBatchType","TRIBATCHTYPE_OPAQUE","opaqueAreas","TRIBATCHTYPE_DECAL","decalAreas","TRIBATCHTYPE_TRANSPARENT","transparentAreas","TRIBATCHTYPE_ADDITIVE","additiveAreas","TRIBATCHTYPE_DISTORTION","distortionAreas","GetHullDecalSets","hullDecalSets","GetHullLightSets","hullLightSets","GetHullSpriteSets","spriteSets","GetHullSpotlightSets","spotlightSets","GetFactionSpotlightSetData","groupIndex","Number","spotlightSetsColors","get","GetHullPlaneSets","planeSets","GetFactionPlaneSetData","planeSetsColors","GetHullSpriteLineSets","spriteLineSets","GetHullHazeSets","hazeSets","GetHullBanners","banners","GetHullBannerSets","bannerSets","GetHullChildren","children","GetHullChildSets","childSets","GetHullInstancedMeshes","instancedMeshes","GetHullAnimations","animations","GetHullSoundEmitters","soundEmitters","GetHullControllers","controllers","GetModelRotationCurvePath","modelRotationCurvePath","GetModelTranslationCurvePath","modelTranslationCurvePath","GetFactionChildData","factionChildren","GetGenericBannerShaderData","bannerShader","GetDecalMinScreenSize","usage","decalMinScreenSize","GetHighestMeshAreaIndex","highest","area","Math","max","GetHullTurretLocators","locatorTurrets","GetHullLocatorSetNames","locatorSets","keys","sort","GetHullLocators","setName","GetPlacementLocators","locatorSetName","GetLayoutCount","GetLayoutData","GetLocatorCount","count","GetHullNextSubsystemOffset","position","GetHullAudioPosition","audioPosition","GetAreaShaderLocationResPath","areaShaderLocation","GetDecalShaderLocationResPath","decalShaderLocation","GetDecalShader","IsHullUsingDecalSets","isUsingDecalSets","GetShaderPrefix","isAnimated","shaderPrefixAnimated","shaderPrefix","GetCompleteShaderPath","path","shaderPath","lastIndexOf","IsHullAnimated","GetGenericAreaShaderData","shaderName","areaShaderData","GetGenericDecalShaderData","decalShaderData","GetHullTextureWithMeshIndex","textureName","meshIndex","resourceExists","cache","areaIndex","meshIndexToOpaqueAreaLookup","undefined","texture","textures","ModifyTextureResPath","resFilePath","GetGenericDamageData","damage","GetGenericHullDamageData","hullDamage","GetGenericSwarmProperties","swarmBehavior","GetRaceDamageData","GetRaceBoosterData","boosters","GetHullBoosterData","GetHullBoosterCount","reduce","Array","isArray","items","GetImpactEffectType","impactEffectType","EveSOFDataHull","ImpactEffectType","IMPACTEFFECT_NONE","GetImpactShieldShader","IMPACTEFFECT_ELLIPSOID","shieldShaderEllipsoid","IMPACTEFFECT_HULL","shieldShaderHull","resourcePath","insert","resPathInsert","CMD_RESPATHINSERT","slash","candidate","underscore","exists","set","GetColorSet","colorData","colors","GetLogo","logoSetData","logos","HasLogoSet","size","IsInVisibilityData","hash","visibilityData","GetMeshAreaParameter","areaType","parameterName","hullParameters","blockedMaterials","info","materialArgs","CMD_MATERIAL","EveSOFUtilsParameterName","materialIndex","GetMaterialIdx","blocked","findMaterialParameter","GetShortName","patternArgs","CMD_PATTERN","patternMaterialPrefixes","defaultPatternLayer1MaterialName","UsingSof6","defaultPatternLayer2MaterialName","EveSOFDataArea","AreaType","TYPE_WRECK","findAreaMaterialParameter","genericWreckMaterialData","TYPE_PRIMARY","TYPE_REACTOR","areaMaterials","GetFactionTurretParameters","IsMaterialIdxValid","usageIndex","materialUsageList","ChangeMaterialIdx","turretAreaType","GetFullName","GetPatternLayerCount","HasDnaCommand","GetHullPatternApplicationData","layerAndProjection","GetFactionalPatternApplicationData","defaultPattern","enabled","pattern","GetPatternData","defaultPatternName","applicationData","applications","sof6","oldApplicationData","GetPatternApplicationData","layer","defaultPatternInfo","projection","GetPatternProjectionData","application","isInteger","GetPatternLayerData","GetMaterialTargets","layerData","materialTargets","IsPatternLayerApplicableToArea","applicableAreas","GetReflectionMode","category","categories","categoryData","ReflectionMode","REFLECT_NEVER","REFLECT_LOW_MEDIUM_HIGH","REFLECT_MEDIUM_AND_HIGH","GetHullBoundingSphere","hullOffset","source","boundingSphere","includeSphere","next","GetHullShapeEllipsoid","center","shapeEllipsoidCenter","radius","shapeEllipsoidRadius","GetParentBoundingSphere","GetParentHullShapeEllipsoid","SetParentBoundingSphere","SetParentShapeEllipsoidInfo","ellipsoid","DisableAnimation","DynamicBoundingSphereEnabled","enableDynamicBoundingSphere","CastShadow","castShadow","command","commandName","GetFactionName","GetRaceName","#setupFromString","dnaString","toLowerCase","parts","splitCarbon","GetHullData","push","GetFactionData","GetRaceData","layouts","CMD_LAYOUT","GetGenericData","CMD_VARIANT","#setupFromDescriptor","layoutName","descriptor","faction","race","layout","inherited","#inheritCommand","#setupCustomData","createCustomHullData","#reset","clear","CMD_INVALID","CMD_MESH","CMD_MAX","#CopySphere","sphere","from","#CopyEllipsoid","constructor","shapeCenter","copyArrayValue","shapeEllipsoid","shapeRadius","scaling","rotation","isMirrored","alwaysOn","hasTrails","hullAreaData","target","isTransparent","sourceArea","cloneVariantHullArea","parameters","parameter","shader","fallback","separator","pop","current","dx","dy","dz","distance","hypot","factor","materialName","GetMaterialData","materialNames","colorType","glowColor"],"mappings":"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"}
|
package/dist/sof/EveSOFData.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { applyDecs2311 as _applyDecs2311 } from '../_virtual/_rollupPluginBabelHelpers.js';
|
|
2
|
-
import {
|
|
2
|
+
import { edit, type } from '#schema';
|
|
3
3
|
import { CjsModel } from '#model';
|
|
4
4
|
|
|
5
5
|
let _initClass, _init_faction, _init_extra_faction, _init_generic, _init_extra_generic, _init_hull, _init_extra_hull, _init_layout, _init_extra_layout, _init_material, _init_extra_material, _init_pattern, _init_extra_pattern, _init_race, _init_extra_race;
|
|
@@ -14,7 +14,7 @@ class EveSOFData extends CjsModel {
|
|
|
14
14
|
} = _applyDecs2311(this, [type.define({
|
|
15
15
|
className: "EveSOFData",
|
|
16
16
|
family: "eve"
|
|
17
|
-
})], [[[
|
|
17
|
+
})], [[[edit, edit.persist, void 0, type.list("EveSOFDataFaction")], 16, "faction"], [[edit, edit.persist, void 0, type.objectRef("EveSOFDataGeneric")], 16, "generic"], [[edit, edit.persist, void 0, type.list("EveSOFDataHull")], 16, "hull"], [[edit, edit.persist, void 0, type.list("EveSOFDataLayout")], 16, "layout"], [[edit, edit.persist, void 0, type.list("EveSOFDataMaterial")], 16, "material"], [[edit, edit.persist, void 0, type.list("EveSOFDataPattern")], 16, "pattern"], [[edit, edit.persist, void 0, type.list("EveSOFDataRace")], 16, "race"]], 0, void 0, CjsModel));
|
|
18
18
|
}
|
|
19
19
|
constructor(...args) {
|
|
20
20
|
super(...args);
|