@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
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
// A class takes its PRIMARY Carbon base with ordinary `extends`, and declares
|
|
13
13
|
// each ADDITIONAL base with this decorator:
|
|
14
14
|
//
|
|
15
|
-
// @
|
|
15
|
+
// @carbon.inherit(Tr2RenderContextAL)
|
|
16
16
|
// class Tr2RenderContext extends Tr2RenderContextBase { }
|
|
17
17
|
//
|
|
18
18
|
// which reads as Carbon's own base list. Measured 2026-09-07: of 75 tower
|
|
@@ -43,10 +43,24 @@ const OBJECT_MEMBERS = new Set(Object.getOwnPropertyNames(Object.prototype));
|
|
|
43
43
|
* subclass that IS decorated copies the inherited set before adding to it, so
|
|
44
44
|
* declaring a contract on a subclass never reaches back into its parent.
|
|
45
45
|
*/
|
|
46
|
-
const COMPOSED = Symbol.for("carbonenginejs.compose.
|
|
46
|
+
const COMPOSED = Symbol.for("carbonenginejs.compose.interfaces");
|
|
47
47
|
|
|
48
48
|
/**
|
|
49
|
-
* Records a contract against a class, copying an inherited
|
|
49
|
+
* Records a contract and ITS OWN BASES against a class, copying an inherited
|
|
50
|
+
* record first.
|
|
51
|
+
*
|
|
52
|
+
* THE WHOLE CHAIN, NOT THE NAMED BASE ALONE, because `cast` ports
|
|
53
|
+
* `dynamic_cast` and C++ walks the base chain: something deriving from
|
|
54
|
+
* `ITriEffectTextureParameter` casts to `ITriEffectResourceParameter` and to
|
|
55
|
+
* `ITriEffectParameter` too, and Carbon does exactly that at different sites
|
|
56
|
+
* (`Tr2Effect.cpp:914-925`, `:1930`). `CollectMembers` already walks the chain
|
|
57
|
+
* for members, so recording only the leaf made a class that HAD every
|
|
58
|
+
* inherited member answer null when asked about any of them but the last -
|
|
59
|
+
* silently, which is the failure mode that matters.
|
|
60
|
+
*
|
|
61
|
+
* Declaring each level at the call site would also work and is rejected: the
|
|
62
|
+
* donor names one base and means the chain, so a base list that had to spell
|
|
63
|
+
* out its own ancestors would stop matching the header it is transcribed from.
|
|
50
64
|
*
|
|
51
65
|
* @param {Function} Constructor
|
|
52
66
|
* @param {Function} Contract
|
|
@@ -58,7 +72,9 @@ function RecordContract(Constructor, Contract) {
|
|
|
58
72
|
configurable: true
|
|
59
73
|
});
|
|
60
74
|
}
|
|
61
|
-
|
|
75
|
+
for (let base = Contract; typeof base === "function" && base.prototype && base !== Object; base = Object.getPrototypeOf(base)) {
|
|
76
|
+
Constructor[COMPOSED].add(base);
|
|
77
|
+
}
|
|
62
78
|
}
|
|
63
79
|
|
|
64
80
|
/**
|
|
@@ -92,24 +108,28 @@ function CollectMembers(Contract) {
|
|
|
92
108
|
* decorator can be applied to a class that already satisfies part of its
|
|
93
109
|
* contract.
|
|
94
110
|
*
|
|
95
|
-
* Members arriving from the contract are reported to `onInstalled
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
111
|
+
* Members arriving from the contract are reported to `onInstalled` ALONG WITH
|
|
112
|
+
* THE CONTRACT THEY CAME FROM, so the schema can carry across what the
|
|
113
|
+
* interface already declared about each one. That matters because Carbon's
|
|
114
|
+
* interfaces are not uniform: some methods are pure virtual and some have an
|
|
115
|
+
* empty body, and marking the second kind `impl.abstract` on every consumer
|
|
116
|
+
* would write "Carbon leaves this unimplemented" onto methods Carbon in fact
|
|
117
|
+
* implements - a false entry in the divergence ledger, which is the one thing
|
|
118
|
+
* `@impl` exists to keep honest.
|
|
99
119
|
*
|
|
100
120
|
* @param {Function} Constructor The class receiving the contract.
|
|
101
121
|
* @param {Function} Contract The additional base.
|
|
102
|
-
* @param {Function} [onInstalled] Called as
|
|
103
|
-
* each method actually installed.
|
|
104
|
-
* note at the top of this file.
|
|
122
|
+
* @param {Function} [onInstalled] Called as
|
|
123
|
+
* `(Constructor, methodName, Contract)` for each method actually installed.
|
|
124
|
+
* Injected rather than imported; see the note at the top of this file.
|
|
105
125
|
* @returns {Function} The same constructor.
|
|
106
126
|
*/
|
|
107
127
|
function installInterface(Constructor, Contract, onInstalled = null) {
|
|
108
128
|
if (typeof Constructor !== "function") {
|
|
109
|
-
throw new TypeError("
|
|
129
|
+
throw new TypeError("carbon.inherit requires a class constructor.");
|
|
110
130
|
}
|
|
111
131
|
if (typeof Contract !== "function" || !Contract.prototype) {
|
|
112
|
-
throw new TypeError("
|
|
132
|
+
throw new TypeError("carbon.inherit requires a base class.");
|
|
113
133
|
}
|
|
114
134
|
const installed = [];
|
|
115
135
|
for (const [name, descriptor] of CollectMembers(Contract)) {
|
|
@@ -122,7 +142,7 @@ function installInterface(Constructor, Contract, onInstalled = null) {
|
|
|
122
142
|
}
|
|
123
143
|
RecordContract(Constructor, Contract);
|
|
124
144
|
if (typeof onInstalled === "function") {
|
|
125
|
-
for (const name of installed) onInstalled(Constructor, name);
|
|
145
|
+
for (const name of installed) onInstalled(Constructor, name, Contract);
|
|
126
146
|
}
|
|
127
147
|
return Constructor;
|
|
128
148
|
}
|
|
@@ -174,27 +194,112 @@ function cast(value, Contract) {
|
|
|
174
194
|
}
|
|
175
195
|
|
|
176
196
|
/**
|
|
177
|
-
* The `@
|
|
197
|
+
* The `@carbon.inherit(X, Y, ...)` class decorator.
|
|
198
|
+
*
|
|
199
|
+
* Takes the additional bases and returns the decorator, so the declaration
|
|
200
|
+
* reads as Carbon's base list rather than as a wrapper call. Several at once
|
|
201
|
+
* because Carbon declares several at once - `TriDevice` has three
|
|
202
|
+
* (`TriDevice.h:33-36`) - and one decorator per base would read as three
|
|
203
|
+
* unrelated facts rather than one base list.
|
|
178
204
|
*
|
|
179
|
-
*
|
|
180
|
-
*
|
|
205
|
+
* ORDER IS CARBON'S BASE ORDER AND IT MATTERS. Installation is if-absent, so
|
|
206
|
+
* the first base declaring a member is the one that supplies it, exactly as
|
|
207
|
+
* C++ resolves an unqualified name against the base list left to right.
|
|
181
208
|
*
|
|
182
|
-
*
|
|
183
|
-
*
|
|
184
|
-
*
|
|
209
|
+
* INHERITING IS NOT MAPPING, and `@carbon.mapInterface` below is the other
|
|
210
|
+
* half. This one is Carbon's base list: it decides which members a class has
|
|
211
|
+
* and what `dynamic_cast` accepts. Mapping is the separate `_Blue.cpp`
|
|
212
|
+
* exposure that `BlueCastPtr` reads, and it decides real behaviour - see that
|
|
213
|
+
* decorator for the case that proves the two cannot be collapsed.
|
|
214
|
+
*
|
|
215
|
+
* @param {...Function} Contracts The additional bases, in Carbon's order. The
|
|
216
|
+
* schema injects its decoration hook as the last argument.
|
|
185
217
|
* @returns {Function} A stage-3 class decorator.
|
|
186
218
|
*/
|
|
187
|
-
function
|
|
188
|
-
|
|
189
|
-
|
|
219
|
+
function carbonInheritDecorator(Contracts, onInstalled = null) {
|
|
220
|
+
const bases = Array.isArray(Contracts) ? Contracts : [Contracts];
|
|
221
|
+
if (!bases.length) {
|
|
222
|
+
throw new TypeError("carbon.inherit requires at least one base class.");
|
|
223
|
+
}
|
|
224
|
+
for (const Contract of bases) {
|
|
225
|
+
if (typeof Contract !== "function" || !Contract.prototype) {
|
|
226
|
+
throw new TypeError("carbon.inherit requires a base class.");
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
return function (value, context) {
|
|
230
|
+
if (context && typeof context === "object" && context.kind !== "class") {
|
|
231
|
+
throw new TypeError("carbon.inherit only supports classes.");
|
|
232
|
+
}
|
|
233
|
+
for (const Contract of bases) installInterface(value, Contract, onInstalled);
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* The classes `_Blue.cpp` maps for a given class, held on the CONSTRUCTOR.
|
|
239
|
+
*
|
|
240
|
+
* Separate from the composed-base record above because the two answer
|
|
241
|
+
* different questions - see `carbonMapInterfaceDecorator`.
|
|
242
|
+
*/
|
|
243
|
+
const MAPPED = Symbol.for("carbonenginejs.carbon.mappedInterfaces");
|
|
244
|
+
|
|
245
|
+
/**
|
|
246
|
+
* The `@carbon.mapInterface(X, Y, ...)` class decorator: Carbon's
|
|
247
|
+
* `MAP_INTERFACE` entries, from the class's `EXPOSURE_BEGIN` block.
|
|
248
|
+
*
|
|
249
|
+
* WHY THIS IS NOT THE SAME FACT AS THE BASE LIST, with the case that settles
|
|
250
|
+
* it. `MAP_INTERFACE` pushes an `InterfaceEntry` of IID and offset onto
|
|
251
|
+
* `s_interfaces` (`BlueExposureMacros.h:171-175`) - a QueryInterface table -
|
|
252
|
+
* and `BlueCastPtr` reads that table. It is NOT script-only; `blue/src` uses
|
|
253
|
+
* it throughout. The black-file reader branches on it:
|
|
254
|
+
*
|
|
255
|
+
* IInitializePtr init( BlueCastPtr( instance ) );
|
|
256
|
+
* if( !init ) { notify = BlueCastPtr( instance ); }
|
|
257
|
+
* // BlackReader.cpp:410-421
|
|
258
|
+
*
|
|
259
|
+
* A class that MAPS `IInitialize` is hydrated by reading every member and
|
|
260
|
+
* then calling `Initialize()` once, with NO per-property notification. One
|
|
261
|
+
* that does not map it gets `OnModified` per property instead. Inheriting
|
|
262
|
+
* `IInitialize` does not put it in that table, so a class can implement
|
|
263
|
+
* `Initialize` and still take the notify branch - which is why method
|
|
264
|
+
* presence is the wrong test and this record is the right one.
|
|
265
|
+
*
|
|
266
|
+
* IT DESCRIBES AND DOES NOT INSTALL. Nothing is added to the prototype, and
|
|
267
|
+
* `cast` deliberately does not read it: `cast` ports `dynamic_cast`, which
|
|
268
|
+
* answers to the base list. A consumer wanting Carbon's exposure semantics
|
|
269
|
+
* asks `mappedInterfaces` explicitly, so the two casts can never be confused
|
|
270
|
+
* for one another.
|
|
271
|
+
*
|
|
272
|
+
* @param {...Function} Interfaces The mapped interfaces, as `_Blue.cpp` lists
|
|
273
|
+
* them.
|
|
274
|
+
* @returns {Function} A stage-3 class decorator.
|
|
275
|
+
*/
|
|
276
|
+
function carbonMapInterfaceDecorator(Interfaces) {
|
|
277
|
+
const mapped = Array.isArray(Interfaces) ? Interfaces : [Interfaces];
|
|
278
|
+
if (!mapped.length) {
|
|
279
|
+
throw new TypeError("carbon.mapInterface requires at least one interface class.");
|
|
280
|
+
}
|
|
281
|
+
for (const Interface of mapped) {
|
|
282
|
+
if (typeof Interface !== "function" || !Interface.prototype) {
|
|
283
|
+
throw new TypeError("carbon.mapInterface requires an interface class.");
|
|
284
|
+
}
|
|
190
285
|
}
|
|
191
286
|
return function (value, context) {
|
|
192
287
|
if (context && typeof context === "object" && context.kind !== "class") {
|
|
193
|
-
throw new TypeError("
|
|
288
|
+
throw new TypeError("carbon.mapInterface only supports classes.");
|
|
194
289
|
}
|
|
195
|
-
|
|
290
|
+
|
|
291
|
+
// Copied before adding, for the reason the composed record is: a
|
|
292
|
+
// subclass declaring its own mapping must never reach back into its
|
|
293
|
+
// parent's.
|
|
294
|
+
const inherited = value[MAPPED];
|
|
295
|
+
const own = new Set(inherited ?? []);
|
|
296
|
+
for (const Interface of mapped) own.add(Interface);
|
|
297
|
+
Object.defineProperty(value, MAPPED, {
|
|
298
|
+
value: own,
|
|
299
|
+
configurable: true
|
|
300
|
+
});
|
|
196
301
|
};
|
|
197
302
|
}
|
|
198
303
|
|
|
199
|
-
export {
|
|
304
|
+
export { carbonInheritDecorator, carbonMapInterfaceDecorator, cast, installInterface };
|
|
200
305
|
//# sourceMappingURL=interface.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sources":["../../../../src/global/compose/interface.js"],"sourcesContent":["// Source: trinity MAP_INTERFACE - Carbon's multiple-inheritance declaration,\n// e.g. `BLUE_CLASS( Tr2RenderContext ) : public Tr2RenderContextBase,\n// public Tr2RenderContextAL` (Tr2RenderContext.h:85-87).\n//\n// C++ spends multiple inheritance freely; JavaScript has ONE `extends` slot.\n// The shape this replaces is the mixin tower - `withIEveTransform(\n// withIEveSpaceObject2(withITr2BoundingBox(Tr2Transform)))` - where every\n// wrapper mints a distinct anonymous intermediate class. Those anonymous\n// classes are the only reason the Symbol-brand `hasInstance` machinery exists,\n// because two towers over the same base produce two unrelated constructors.\n//\n// A class takes its PRIMARY Carbon base with ordinary `extends`, and declares\n// each ADDITIONAL base with this decorator:\n//\n// @compose.interface(Tr2RenderContextAL)\n// class Tr2RenderContext extends Tr2RenderContextBase { }\n//\n// which reads as Carbon's own base list. Measured 2026-09-07: of 75 tower\n// sites, 42 are a single mixin over CjsModel and need no decorator at all once\n// CjsModel stops occupying the slot - the contract simply becomes the base.\n// 24 carry one real Carbon base plus one contract, and 9 are deeper.\n//\n// NO BRAND IS INSTALLED HERE, deliberately. Brands exist only where Carbon\n// itself casts (the BlueCastPtr ports); capability discovery and test lineage\n// checks are never a reason, and neither are typeof probes. A contract that\n// genuinely needs a cast declares its own `Symbol.hasInstance`, as the\n// dependency-free contracts under `global/contracts` already do.\n\n// This module imports NOTHING, for the reason `compose/notify.js` imports\n// nothing: `CjsSchema` installs these decorators onto its own namespace, so a\n// schema import here is a cycle through `schema/index.js` and fails at load\n// with \"Cannot access 'CjsSchema' before initialization\". Schema decoration of\n// installed members is therefore INJECTED by the caller - see `onInstalled`.\n\n/** Members every class already answers, which a contract must never overwrite. */\nconst OBJECT_MEMBERS = new Set(Object.getOwnPropertyNames(Object.prototype));\n\n\n/**\n * The composed-contract record, held on the CONSTRUCTOR.\n *\n * Class statics inherit, so a subclass that is never itself decorated still\n * finds its parent's record in one lookup - no constructor-chain walk. A\n * subclass that IS decorated copies the inherited set before adding to it, so\n * declaring a contract on a subclass never reaches back into its parent.\n */\nconst COMPOSED = Symbol.for(\"carbonenginejs.compose.contracts\");\n\n\n/**\n * Every contract composed onto a class, including those it inherits.\n *\n * @param {Function} Constructor\n * @returns {Set<Function>} Empty when nothing was composed. Do not mutate.\n */\nexport function composedContracts(Constructor)\n{\n return (typeof Constructor === \"function\" && Constructor[COMPOSED]) || new Set();\n}\n\n\n/**\n * Records a contract against a class, copying an inherited record first.\n *\n * @param {Function} Constructor\n * @param {Function} Contract\n */\nfunction RecordContract(Constructor, Contract)\n{\n if (!Object.hasOwn(Constructor, COMPOSED))\n {\n Object.defineProperty(Constructor, COMPOSED, {\n value: new Set(Constructor[COMPOSED] ?? []),\n configurable: true\n });\n }\n\n Constructor[COMPOSED].add(Contract);\n}\n\n\n/**\n * Collects a contract's instance members, nearest declaration winning.\n *\n * Walks the prototype chain so a contract that itself extends another contract\n * contributes both, which is what a C++ base list does.\n *\n * @param {Function} Contract\n * @returns {Map<String, PropertyDescriptor>}\n */\nfunction CollectMembers(Contract)\n{\n const members = new Map();\n\n for (let proto = Contract.prototype; proto && proto !== Object.prototype;\n proto = Object.getPrototypeOf(proto))\n {\n for (const name of Object.getOwnPropertyNames(proto))\n {\n if (name === \"constructor\" || OBJECT_MEMBERS.has(name)) continue;\n if (members.has(name)) continue;\n\n const descriptor = Object.getOwnPropertyDescriptor(proto, name);\n if (descriptor) members.set(name, descriptor);\n }\n }\n\n return members;\n}\n\n\n/**\n * Installs a contract's members onto a class's prototype, install-if-absent.\n *\n * Install-if-absent is the same rule `installNotify` follows: a member the\n * class or its `extends` chain already answers keeps its own, so declaring a\n * contract never silently replaces a real implementation. That is also why the\n * decorator can be applied to a class that already satisfies part of its\n * contract.\n *\n * Members arriving from the contract are reported to `onInstalled`, which the\n * schema uses to decorate them `impl.abstract` - matching what the mixin\n * towers decorated them with, so an unimplemented contract member throws where\n * it is called rather than returning undefined.\n *\n * @param {Function} Constructor The class receiving the contract.\n * @param {Function} Contract The additional base.\n * @param {Function} [onInstalled] Called as `(Constructor, methodName)` for\n * each method actually installed. Injected rather than imported; see the\n * note at the top of this file.\n * @returns {Function} The same constructor.\n */\nexport function installInterface(Constructor, Contract, onInstalled = null)\n{\n if (typeof Constructor !== \"function\")\n {\n throw new TypeError(\"compose.interface requires a class constructor.\");\n }\n if (typeof Contract !== \"function\" || !Contract.prototype)\n {\n throw new TypeError(\"compose.interface requires a contract class.\");\n }\n\n const installed = [];\n\n for (const [ name, descriptor ] of CollectMembers(Contract))\n {\n if (name in Constructor.prototype) continue;\n\n Object.defineProperty(Constructor.prototype, name, {\n ...descriptor,\n configurable: true\n });\n\n if (typeof descriptor.value === \"function\") installed.push(name);\n }\n\n RecordContract(Constructor, Contract);\n\n if (typeof onInstalled === \"function\")\n {\n for (const name of installed) onInstalled(Constructor, name);\n }\n\n return Constructor;\n}\n\n\n/**\n * Carbon's `dynamic_cast` / `BlueCastPtr`, as far as JavaScript can carry it.\n *\n * Carbon branches on runtime type constantly - 143 `dynamic_cast` sites in\n * trinity, of which ~116 target an INTERFACE and ask \"does this object\n * implement this optional contract?\". That is contract semantics, and it is\n * the one legitimate reason to test an object's type. This is that operation:\n *\n * const owner = cast( child, IEveInheritPropertiesOwner );\n * if( owner ) owner.SetInheritProperties( colorSet );\n *\n * against Carbon's\n *\n * if( auto tmp = dynamic_cast<ITr2DebugRenderable*>( m_sourceEmitter.p ) )\n *\n * C++ gets a retyped pointer the compiler then enforces; JavaScript has no\n * type to change, so this does the checking half only and returns the same\n * object. The value is that HOW the question is answered lives in one place:\n * today a composed record with an `instanceof` fallback for contracts still\n * carrying a hand-written brand, tomorrow whatever replaces both, with no\n * call site touched.\n *\n * This is an INVENTION - Carbon needs no predicate because the cast doubles as\n * one. Registered in `docs/architecture/non-carbon-extensions.md`.\n *\n * @param {*} value The object to test.\n * @param {Function} Contract The contract to test against.\n * @returns {*} `value` when it implements the contract, otherwise `null`.\n */\nexport function cast(value, Contract)\n{\n if (value === null || value === undefined) return null;\n\n if (typeof Contract !== \"function\" || !Contract.prototype)\n {\n throw new TypeError(\"CjsSchema.cast requires a contract class.\");\n }\n\n const Constructor = value.constructor;\n\n if (typeof Constructor === \"function\" && Constructor[COMPOSED]?.has(Contract))\n {\n return value;\n }\n\n // Contracts still carrying a hand-written `Symbol.hasInstance` brand, and\n // ordinary `extends` lineage, both answer here. Removing a brand therefore\n // never changes an answer, which is what makes the 16 of them migratable\n // one at a time.\n return value instanceof Contract ? value : null;\n}\n\n\n/**\n * The `@compose.interface(X)` class decorator.\n *\n * Takes the additional base and returns the decorator, so the declaration\n * reads as Carbon's base list rather than as a wrapper call.\n *\n * @param {Function} Contract The additional base to declare.\n * @param {Function} [onInstalled] Schema decoration hook, injected by the\n * caller that owns the namespace.\n * @returns {Function} A stage-3 class decorator.\n */\nexport function composeInterfaceDecorator(Contract, onInstalled = null)\n{\n if (typeof Contract !== \"function\" || !Contract.prototype)\n {\n throw new TypeError(\"compose.interface requires a contract class.\");\n }\n\n return function (value, context)\n {\n if (context && typeof context === \"object\" && context.kind !== \"class\")\n {\n throw new TypeError(\"compose.interface only supports classes.\");\n }\n\n installInterface(value, Contract, onInstalled);\n };\n}\n"],"names":["OBJECT_MEMBERS","Set","Object","getOwnPropertyNames","prototype","COMPOSED","Symbol","for","RecordContract","Constructor","Contract","hasOwn","defineProperty","value","configurable","add","CollectMembers","members","Map","proto","getPrototypeOf","name","has","descriptor","getOwnPropertyDescriptor","set","installInterface","onInstalled","TypeError","installed","push","cast","undefined","constructor","composeInterfaceDecorator","context","kind"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interface.js","sources":["../../../../src/global/compose/interface.js"],"sourcesContent":["// Source: trinity MAP_INTERFACE - Carbon's multiple-inheritance declaration,\n// e.g. `BLUE_CLASS( Tr2RenderContext ) : public Tr2RenderContextBase,\n// public Tr2RenderContextAL` (Tr2RenderContext.h:85-87).\n//\n// C++ spends multiple inheritance freely; JavaScript has ONE `extends` slot.\n// The shape this replaces is the mixin tower - `withIEveTransform(\n// withIEveSpaceObject2(withITr2BoundingBox(Tr2Transform)))` - where every\n// wrapper mints a distinct anonymous intermediate class. Those anonymous\n// classes are the only reason the Symbol-brand `hasInstance` machinery exists,\n// because two towers over the same base produce two unrelated constructors.\n//\n// A class takes its PRIMARY Carbon base with ordinary `extends`, and declares\n// each ADDITIONAL base with this decorator:\n//\n// @carbon.inherit(Tr2RenderContextAL)\n// class Tr2RenderContext extends Tr2RenderContextBase { }\n//\n// which reads as Carbon's own base list. Measured 2026-09-07: of 75 tower\n// sites, 42 are a single mixin over CjsModel and need no decorator at all once\n// CjsModel stops occupying the slot - the contract simply becomes the base.\n// 24 carry one real Carbon base plus one contract, and 9 are deeper.\n//\n// NO BRAND IS INSTALLED HERE, deliberately. Brands exist only where Carbon\n// itself casts (the BlueCastPtr ports); capability discovery and test lineage\n// checks are never a reason, and neither are typeof probes. A contract that\n// genuinely needs a cast declares its own `Symbol.hasInstance`, as the\n// dependency-free contracts under `global/contracts` already do.\n\n// This module imports NOTHING, for the reason `compose/notify.js` imports\n// nothing: `CjsSchema` installs these decorators onto its own namespace, so a\n// schema import here is a cycle through `schema/index.js` and fails at load\n// with \"Cannot access 'CjsSchema' before initialization\". Schema decoration of\n// installed members is therefore INJECTED by the caller - see `onInstalled`.\n\n/** Members every class already answers, which a contract must never overwrite. */\nconst OBJECT_MEMBERS = new Set(Object.getOwnPropertyNames(Object.prototype));\n\n\n/**\n * The composed-contract record, held on the CONSTRUCTOR.\n *\n * Class statics inherit, so a subclass that is never itself decorated still\n * finds its parent's record in one lookup - no constructor-chain walk. A\n * subclass that IS decorated copies the inherited set before adding to it, so\n * declaring a contract on a subclass never reaches back into its parent.\n */\nconst COMPOSED = Symbol.for(\"carbonenginejs.compose.interfaces\");\n\n\n/**\n * Every contract composed onto a class, including those it inherits.\n *\n * @param {Function} Constructor\n * @returns {Set<Function>} Empty when nothing was composed. Do not mutate.\n */\nexport function composedContracts(Constructor)\n{\n return (typeof Constructor === \"function\" && Constructor[COMPOSED]) || new Set();\n}\n\n\n/**\n * Records a contract and ITS OWN BASES against a class, copying an inherited\n * record first.\n *\n * THE WHOLE CHAIN, NOT THE NAMED BASE ALONE, because `cast` ports\n * `dynamic_cast` and C++ walks the base chain: something deriving from\n * `ITriEffectTextureParameter` casts to `ITriEffectResourceParameter` and to\n * `ITriEffectParameter` too, and Carbon does exactly that at different sites\n * (`Tr2Effect.cpp:914-925`, `:1930`). `CollectMembers` already walks the chain\n * for members, so recording only the leaf made a class that HAD every\n * inherited member answer null when asked about any of them but the last -\n * silently, which is the failure mode that matters.\n *\n * Declaring each level at the call site would also work and is rejected: the\n * donor names one base and means the chain, so a base list that had to spell\n * out its own ancestors would stop matching the header it is transcribed from.\n *\n * @param {Function} Constructor\n * @param {Function} Contract\n */\nfunction RecordContract(Constructor, Contract)\n{\n if (!Object.hasOwn(Constructor, COMPOSED))\n {\n Object.defineProperty(Constructor, COMPOSED, {\n value: new Set(Constructor[COMPOSED] ?? []),\n configurable: true\n });\n }\n\n for (\n let base = Contract;\n typeof base === \"function\" && base.prototype && base !== Object;\n base = Object.getPrototypeOf(base)\n )\n {\n Constructor[COMPOSED].add(base);\n }\n}\n\n\n/**\n * Collects a contract's instance members, nearest declaration winning.\n *\n * Walks the prototype chain so a contract that itself extends another contract\n * contributes both, which is what a C++ base list does.\n *\n * @param {Function} Contract\n * @returns {Map<String, PropertyDescriptor>}\n */\nfunction CollectMembers(Contract)\n{\n const members = new Map();\n\n for (let proto = Contract.prototype; proto && proto !== Object.prototype;\n proto = Object.getPrototypeOf(proto))\n {\n for (const name of Object.getOwnPropertyNames(proto))\n {\n if (name === \"constructor\" || OBJECT_MEMBERS.has(name)) continue;\n if (members.has(name)) continue;\n\n const descriptor = Object.getOwnPropertyDescriptor(proto, name);\n if (descriptor) members.set(name, descriptor);\n }\n }\n\n return members;\n}\n\n\n/**\n * Installs a contract's members onto a class's prototype, install-if-absent.\n *\n * Install-if-absent is the same rule `installNotify` follows: a member the\n * class or its `extends` chain already answers keeps its own, so declaring a\n * contract never silently replaces a real implementation. That is also why the\n * decorator can be applied to a class that already satisfies part of its\n * contract.\n *\n * Members arriving from the contract are reported to `onInstalled` ALONG WITH\n * THE CONTRACT THEY CAME FROM, so the schema can carry across what the\n * interface already declared about each one. That matters because Carbon's\n * interfaces are not uniform: some methods are pure virtual and some have an\n * empty body, and marking the second kind `impl.abstract` on every consumer\n * would write \"Carbon leaves this unimplemented\" onto methods Carbon in fact\n * implements - a false entry in the divergence ledger, which is the one thing\n * `@impl` exists to keep honest.\n *\n * @param {Function} Constructor The class receiving the contract.\n * @param {Function} Contract The additional base.\n * @param {Function} [onInstalled] Called as\n * `(Constructor, methodName, Contract)` for each method actually installed.\n * Injected rather than imported; see the note at the top of this file.\n * @returns {Function} The same constructor.\n */\nexport function installInterface(Constructor, Contract, onInstalled = null)\n{\n if (typeof Constructor !== \"function\")\n {\n throw new TypeError(\"carbon.inherit requires a class constructor.\");\n }\n if (typeof Contract !== \"function\" || !Contract.prototype)\n {\n throw new TypeError(\"carbon.inherit requires a base class.\");\n }\n\n const installed = [];\n\n for (const [ name, descriptor ] of CollectMembers(Contract))\n {\n if (name in Constructor.prototype) continue;\n\n Object.defineProperty(Constructor.prototype, name, {\n ...descriptor,\n configurable: true\n });\n\n if (typeof descriptor.value === \"function\") installed.push(name);\n }\n\n RecordContract(Constructor, Contract);\n\n if (typeof onInstalled === \"function\")\n {\n for (const name of installed) onInstalled(Constructor, name, Contract);\n }\n\n return Constructor;\n}\n\n\n/**\n * Carbon's `dynamic_cast` / `BlueCastPtr`, as far as JavaScript can carry it.\n *\n * Carbon branches on runtime type constantly - 143 `dynamic_cast` sites in\n * trinity, of which ~116 target an INTERFACE and ask \"does this object\n * implement this optional contract?\". That is contract semantics, and it is\n * the one legitimate reason to test an object's type. This is that operation:\n *\n * const owner = cast( child, IEveInheritPropertiesOwner );\n * if( owner ) owner.SetInheritProperties( colorSet );\n *\n * against Carbon's\n *\n * if( auto tmp = dynamic_cast<ITr2DebugRenderable*>( m_sourceEmitter.p ) )\n *\n * C++ gets a retyped pointer the compiler then enforces; JavaScript has no\n * type to change, so this does the checking half only and returns the same\n * object. The value is that HOW the question is answered lives in one place:\n * today a composed record with an `instanceof` fallback for contracts still\n * carrying a hand-written brand, tomorrow whatever replaces both, with no\n * call site touched.\n *\n * This is an INVENTION - Carbon needs no predicate because the cast doubles as\n * one. Registered in `docs/architecture/non-carbon-extensions.md`.\n *\n * @param {*} value The object to test.\n * @param {Function} Contract The contract to test against.\n * @returns {*} `value` when it implements the contract, otherwise `null`.\n */\nexport function cast(value, Contract)\n{\n if (value === null || value === undefined) return null;\n\n if (typeof Contract !== \"function\" || !Contract.prototype)\n {\n throw new TypeError(\"CjsSchema.cast requires a contract class.\");\n }\n\n const Constructor = value.constructor;\n\n if (typeof Constructor === \"function\" && Constructor[COMPOSED]?.has(Contract))\n {\n return value;\n }\n\n // Contracts still carrying a hand-written `Symbol.hasInstance` brand, and\n // ordinary `extends` lineage, both answer here. Removing a brand therefore\n // never changes an answer, which is what makes the 16 of them migratable\n // one at a time.\n return value instanceof Contract ? value : null;\n}\n\n\n/**\n * The `@carbon.inherit(X, Y, ...)` class decorator.\n *\n * Takes the additional bases and returns the decorator, so the declaration\n * reads as Carbon's base list rather than as a wrapper call. Several at once\n * because Carbon declares several at once - `TriDevice` has three\n * (`TriDevice.h:33-36`) - and one decorator per base would read as three\n * unrelated facts rather than one base list.\n *\n * ORDER IS CARBON'S BASE ORDER AND IT MATTERS. Installation is if-absent, so\n * the first base declaring a member is the one that supplies it, exactly as\n * C++ resolves an unqualified name against the base list left to right.\n *\n * INHERITING IS NOT MAPPING, and `@carbon.mapInterface` below is the other\n * half. This one is Carbon's base list: it decides which members a class has\n * and what `dynamic_cast` accepts. Mapping is the separate `_Blue.cpp`\n * exposure that `BlueCastPtr` reads, and it decides real behaviour - see that\n * decorator for the case that proves the two cannot be collapsed.\n *\n * @param {...Function} Contracts The additional bases, in Carbon's order. The\n * schema injects its decoration hook as the last argument.\n * @returns {Function} A stage-3 class decorator.\n */\nexport function carbonInheritDecorator(Contracts, onInstalled = null)\n{\n const bases = Array.isArray(Contracts) ? Contracts : [ Contracts ];\n\n if (!bases.length)\n {\n throw new TypeError(\"carbon.inherit requires at least one base class.\");\n }\n\n for (const Contract of bases)\n {\n if (typeof Contract !== \"function\" || !Contract.prototype)\n {\n throw new TypeError(\"carbon.inherit requires a base class.\");\n }\n }\n\n return function (value, context)\n {\n if (context && typeof context === \"object\" && context.kind !== \"class\")\n {\n throw new TypeError(\"carbon.inherit only supports classes.\");\n }\n\n for (const Contract of bases) installInterface(value, Contract, onInstalled);\n };\n}\n\n\n/**\n * The classes `_Blue.cpp` maps for a given class, held on the CONSTRUCTOR.\n *\n * Separate from the composed-base record above because the two answer\n * different questions - see `carbonMapInterfaceDecorator`.\n */\nconst MAPPED = Symbol.for(\"carbonenginejs.carbon.mappedInterfaces\");\n\n\n/**\n * Every interface Carbon's exposure layer maps onto a class, inherited ones\n * included.\n *\n * @param {Function} Constructor The class to ask about.\n * @returns {Set<Function>} Empty when nothing is mapped. Do not mutate.\n */\nexport function mappedInterfaces(Constructor)\n{\n return (typeof Constructor === \"function\" && Constructor[MAPPED]) || new Set();\n}\n\n\n/**\n * The `@carbon.mapInterface(X, Y, ...)` class decorator: Carbon's\n * `MAP_INTERFACE` entries, from the class's `EXPOSURE_BEGIN` block.\n *\n * WHY THIS IS NOT THE SAME FACT AS THE BASE LIST, with the case that settles\n * it. `MAP_INTERFACE` pushes an `InterfaceEntry` of IID and offset onto\n * `s_interfaces` (`BlueExposureMacros.h:171-175`) - a QueryInterface table -\n * and `BlueCastPtr` reads that table. It is NOT script-only; `blue/src` uses\n * it throughout. The black-file reader branches on it:\n *\n * IInitializePtr init( BlueCastPtr( instance ) );\n * if( !init ) { notify = BlueCastPtr( instance ); }\n * // BlackReader.cpp:410-421\n *\n * A class that MAPS `IInitialize` is hydrated by reading every member and\n * then calling `Initialize()` once, with NO per-property notification. One\n * that does not map it gets `OnModified` per property instead. Inheriting\n * `IInitialize` does not put it in that table, so a class can implement\n * `Initialize` and still take the notify branch - which is why method\n * presence is the wrong test and this record is the right one.\n *\n * IT DESCRIBES AND DOES NOT INSTALL. Nothing is added to the prototype, and\n * `cast` deliberately does not read it: `cast` ports `dynamic_cast`, which\n * answers to the base list. A consumer wanting Carbon's exposure semantics\n * asks `mappedInterfaces` explicitly, so the two casts can never be confused\n * for one another.\n *\n * @param {...Function} Interfaces The mapped interfaces, as `_Blue.cpp` lists\n * them.\n * @returns {Function} A stage-3 class decorator.\n */\nexport function carbonMapInterfaceDecorator(Interfaces)\n{\n const mapped = Array.isArray(Interfaces) ? Interfaces : [ Interfaces ];\n\n if (!mapped.length)\n {\n throw new TypeError(\"carbon.mapInterface requires at least one interface class.\");\n }\n\n for (const Interface of mapped)\n {\n if (typeof Interface !== \"function\" || !Interface.prototype)\n {\n throw new TypeError(\"carbon.mapInterface requires an interface class.\");\n }\n }\n\n return function (value, context)\n {\n if (context && typeof context === \"object\" && context.kind !== \"class\")\n {\n throw new TypeError(\"carbon.mapInterface only supports classes.\");\n }\n\n // Copied before adding, for the reason the composed record is: a\n // subclass declaring its own mapping must never reach back into its\n // parent's.\n const inherited = value[MAPPED];\n const own = new Set(inherited ?? []);\n for (const Interface of mapped) own.add(Interface);\n\n Object.defineProperty(value, MAPPED, { value: own, configurable: true });\n };\n}\n"],"names":["OBJECT_MEMBERS","Set","Object","getOwnPropertyNames","prototype","COMPOSED","Symbol","for","RecordContract","Constructor","Contract","hasOwn","defineProperty","value","configurable","base","getPrototypeOf","add","CollectMembers","members","Map","proto","name","has","descriptor","getOwnPropertyDescriptor","set","installInterface","onInstalled","TypeError","installed","push","cast","undefined","constructor","carbonInheritDecorator","Contracts","bases","Array","isArray","length","context","kind","MAPPED","carbonMapInterfaceDecorator","Interfaces","mapped","Interface","inherited","own"],"mappings":"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"}
|
|
@@ -84,6 +84,15 @@ function OffEvent(eventName = "*", listener = null, source = ANY_SOURCE) {
|
|
|
84
84
|
/**
|
|
85
85
|
* Emits a lowercased exact event name to all currently registered records.
|
|
86
86
|
*
|
|
87
|
+
* THE LISTENER RECEIVES THE EVENT NAME AS ITS FIRST ARGUMENT, before the
|
|
88
|
+
* emitted arguments. Carbon does the same in both notify hooks - INotify
|
|
89
|
+
* OnModified is handed the member that changed, and IListNotify
|
|
90
|
+
* OnListModified takes the BLUELISTEVENT code as argument one - so the
|
|
91
|
+
* observer is always told WHAT happened and decides for itself. Without it a
|
|
92
|
+
* listener registered for two events cannot tell them apart, and ccpwgl keeps
|
|
93
|
+
* a closure per event name for exactly that reason; the missing name is a bug
|
|
94
|
+
* in the emitter this one descends from (operator, 2026-09-17).
|
|
95
|
+
*
|
|
87
96
|
* @param {string} eventName
|
|
88
97
|
* @param {...*} args
|
|
89
98
|
* @returns {object} This emitter.
|
|
@@ -100,7 +109,7 @@ function EmitEvent(eventName, ...args) {
|
|
|
100
109
|
for (const record of [...records]) {
|
|
101
110
|
if (!records.has(record)) continue;
|
|
102
111
|
if (record.once) RemoveEventRecord(record);
|
|
103
|
-
record.listener.call(record.source, ...args);
|
|
112
|
+
record.listener.call(record.source, name, ...args);
|
|
104
113
|
}
|
|
105
114
|
} catch (err) {
|
|
106
115
|
error = err;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notify.js","sources":["../../../../src/global/compose/notify.js"],"sourcesContent":["// The notify surface as COMPOSITION - the @compose.notify decorator and the\r\n// method map behind it (design record: docs/research/\r\n// cjsmodel-value-audit-2026-09-05.md, direction items 9 and 11).\r\n//\r\n// Carbon's word for the concept is notify (INotify / Be::NOTIFY /\r\n// IListNotify); this surface deliberately widens Carbon's single slot to a\r\n// subscriber list, which is a registered non-Carbon extension (origin:\r\n// ccpwgl Tw2EventEmitter). NO BRAND AND NO hasInstance, ruled: \"we control\r\n// the contract - if an OnEvent method didn't exist, it would throw\", and\r\n// discrimination exists only where Carbon itself casts.\r\n//\r\n// State is lazy on first listener and DELETED when the last listener leaves\r\n// (the emitter costs nothing while unobserved - the operator's GC concern is\r\n// the design constraint here). The state slot is the shared __state expando\r\n// (./runtimeState.js) - both live in global/compose, the home of what\r\n// @compose.* installs and the state those installations share.\r\n//\r\n// CjsEventEmitter remains as the inheritance packaging over this same map -\r\n// one implementation, two deliveries.\r\n\r\nimport { ensureRuntimeState, getRuntimeState } from \"./runtimeState.js\";\r\n\r\nconst ANY_SOURCE = Symbol(\"CjsNotify.AnySource\");\r\n\r\n/**\r\n * Adds event listeners from a plain object. A key ending in \".once\"\r\n * registers a once-only listener; values may be a function or\r\n * [function, source].\r\n *\r\n * @param {object|null} events\r\n * @returns {object} This emitter.\r\n */\r\nfunction AddEvents(events = null)\r\n{\r\n if (!events || typeof events !== \"object\") return this;\r\n\r\n for (const key of Object.keys(events))\r\n {\r\n const entry = NormalizeEventEntry(key, events[key]);\r\n this.OnEvent(entry.eventName, entry.listener, entry.source, entry.once);\r\n }\r\n\r\n return this;\r\n}\r\n\r\n/**\r\n * Adds a listener for a lowercased exact event name.\r\n *\r\n * @param {string} eventName\r\n * @param {Function} listener\r\n * @param {*} source Optional callback source and `this` value.\r\n * @param {boolean} once\r\n * @returns {object} This emitter.\r\n */\r\nfunction OnEvent(eventName, listener, source = null, once = false)\r\n{\r\n CreateEventRecord(this, eventName, listener, source, once);\r\n return this;\r\n}\r\n\r\n/**\r\n * Adds a listener that is removed before its first callback is invoked.\r\n *\r\n * @param {string} eventName\r\n * @param {Function} listener\r\n * @param {*} source Optional callback source and `this` value.\r\n * @returns {object} This emitter.\r\n */\r\nfunction OnceEvent(eventName, listener, source = null)\r\n{\r\n return this.OnEvent(eventName, listener, source, true);\r\n}\r\n\r\n/**\r\n * Removes matching listeners from this emitter. `eventName=\"*\"` means all\r\n * event buckets - cleanup matching only, not wildcard dispatch.\r\n *\r\n * @param {string} eventName\r\n * @param {?Function} listener\r\n * @param {*} source Optional callback source to match.\r\n * @returns {object} This emitter.\r\n */\r\nfunction OffEvent(eventName = \"*\", listener = null, source = ANY_SOURCE)\r\n{\r\n for (const record of FindEventRecords(this, eventName, listener, source))\r\n {\r\n RemoveEventRecord(record);\r\n }\r\n\r\n return this;\r\n}\r\n\r\n/**\r\n * Emits a lowercased exact event name to all currently registered records.\r\n *\r\n * @param {string} eventName\r\n * @param {...*} args\r\n * @returns {object} This emitter.\r\n */\r\nfunction EmitEvent(eventName, ...args)\r\n{\r\n if ((getRuntimeState(this)?.suppressEvents ?? 0) > 0) return this;\r\n const events = GetEventMap(this);\r\n if (!events) return this;\r\n\r\n const name = NormalizeEventName(eventName);\r\n const records = events.get(name);\r\n if (!records) return this;\r\n\r\n let error = null;\r\n\r\n try\r\n {\r\n for (const record of [ ...records ])\r\n {\r\n if (!records.has(record)) continue;\r\n if (record.once) RemoveEventRecord(record);\r\n record.listener.call(record.source, ...args);\r\n }\r\n }\r\n catch (err)\r\n {\r\n error = err;\r\n }\r\n\r\n if (error) throw error;\r\n return this;\r\n}\r\n\r\n/**\r\n * Checks whether this emitter has a matching listener record.\r\n *\r\n * @param {string} eventName\r\n * @param {?Function} listener\r\n * @param {*} source Optional callback source to match.\r\n * @returns {boolean}\r\n */\r\nfunction HasListener(eventName = \"*\", listener = null, source = ANY_SOURCE)\r\n{\r\n // The state answers the cheap question - is ANYTHING listening - before a\r\n // record search runs. \"HasEvent\" was the old name and claimed more than is\r\n // knowable: any caller may emit any name at any time, so what can be known\r\n // is whether something is LISTENING to one.\r\n if (!getRuntimeState(this)?.HasListener(eventName)) return false;\r\n return FindEventRecords(this, eventName, listener, source).length > 0;\r\n}\r\n\r\n/**\r\n * Clears an event bucket or all event buckets from this emitter.\r\n *\r\n * @param {string} eventName\r\n * @returns {object} This emitter.\r\n */\r\nfunction ClearEvent(eventName = \"*\")\r\n{\r\n return this.OffEvent(eventName);\r\n}\r\n\r\n/**\r\n * Gets the lowercased exact event names with active listener buckets.\r\n *\r\n * @returns {Array<string>}\r\n */\r\nfunction GetEventNames()\r\n{\r\n const events = GetEventMap(this);\r\n return events ? [ ...events.keys() ] : [];\r\n}\r\n\r\n/**\r\n * Gets the number of active listener records for an event or all events.\r\n *\r\n * @param {string} eventName\r\n * @returns {number}\r\n */\r\nfunction GetEventListenerCount(eventName = \"*\")\r\n{\r\n return FindEventRecords(this, eventName).length;\r\n}\r\n\r\n/** The notify surface, one implementation for both deliveries. */\r\nexport const NOTIFY_METHODS = Object.freeze({\r\n AddEvents,\r\n OnEvent,\r\n OnceEvent,\r\n OffEvent,\r\n EmitEvent,\r\n HasListener,\r\n ClearEvent,\r\n GetEventNames,\r\n GetEventListenerCount\r\n});\r\n\r\n/**\r\n * Installs the notify surface onto a class's prototype, install-if-absent:\r\n * a method the class (or its chain) already answers keeps its own.\r\n *\r\n * @param {Function} Constructor\r\n * @returns {Function} The same constructor.\r\n */\r\nexport function installNotify(Constructor)\r\n{\r\n for (const [ name, method ] of Object.entries(NOTIFY_METHODS))\r\n {\r\n if (name in Constructor.prototype) continue;\r\n\r\n Object.defineProperty(Constructor.prototype, name, {\r\n value: method,\r\n writable: true,\r\n configurable: true\r\n });\r\n }\r\n return Constructor;\r\n}\r\n\r\n/**\r\n * The @compose.notify class decorator.\r\n *\r\n * @param {Function} value The decorated class.\r\n * @param {object} [context] Stage-3 decorator context.\r\n * @returns {void}\r\n */\r\nexport function composeNotifyDecorator(value, context)\r\n{\r\n if (context && typeof context === \"object\" && context.kind !== \"class\")\r\n {\r\n throw new TypeError(\"compose.notify only supports classes.\");\r\n }\r\n if (typeof value !== \"function\")\r\n {\r\n throw new TypeError(\"compose.notify requires a class constructor.\");\r\n }\r\n installNotify(value);\r\n}\r\n\r\nfunction CreateEventRecord(emitter, eventName, listener, source, once)\r\n{\r\n const name = NormalizeEventName(eventName);\r\n if (typeof listener !== \"function\")\r\n {\r\n throw new TypeError(\"CjsEventEmitter.OnEvent requires a listener function.\");\r\n }\r\n\r\n const record = {\r\n emitter,\r\n eventName: name,\r\n listener,\r\n source,\r\n once: !!once\r\n };\r\n\r\n const events = GetEventMap(emitter, true);\r\n\r\n let records = events.get(name);\r\n if (!records)\r\n {\r\n records = new Set();\r\n events.set(name, records);\r\n }\r\n\r\n records.add(record);\r\n\r\n return record;\r\n}\r\n\r\nfunction RemoveEventRecord(record)\r\n{\r\n const events = GetEventMap(record.emitter);\r\n const records = events?.get(record.eventName);\r\n\r\n if (records)\r\n {\r\n records.delete(record);\r\n if (!records.size) events.delete(record.eventName);\r\n if (!events.size)\r\n {\r\n const state = getRuntimeState(record.emitter);\r\n delete state.events;\r\n // The override goes with the map, so the stub answers false again.\r\n delete state.HasListener;\r\n }\r\n }\r\n}\r\n\r\nfunction NormalizeEventName(eventName)\r\n{\r\n const name = String(eventName || \"\").trim().toLowerCase();\r\n if (!name) throw new TypeError(\"CjsEventEmitter requires an event name.\");\r\n return name;\r\n}\r\n\r\nfunction FindEventRecords(emitter, eventName = \"*\", listener = null, source = ANY_SOURCE)\r\n{\r\n const events = GetEventMap(emitter);\r\n if (!events) return [];\r\n\r\n const names = eventName === \"*\" ? [ ...events.keys() ] : [ NormalizeEventName(eventName) ];\r\n const result = [];\r\n\r\n for (const name of names)\r\n {\r\n const records = events.get(name);\r\n if (!records) continue;\r\n\r\n for (const record of records)\r\n {\r\n if (listener && record.listener !== listener) continue;\r\n if (source !== ANY_SOURCE && record.source !== source) continue;\r\n result.push(record);\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction NormalizeEventEntry(key, value)\r\n{\r\n let eventName = String(key);\r\n let once = false;\r\n let listener = value;\r\n let source = null;\r\n\r\n if (eventName.endsWith(\".once\"))\r\n {\r\n eventName = eventName.slice(0, -5);\r\n once = true;\r\n }\r\n\r\n if (Array.isArray(value))\r\n {\r\n [ listener, source = null ] = value;\r\n }\r\n\r\n if (typeof listener !== \"function\")\r\n {\r\n throw new TypeError(\"CjsEventEmitter.AddEvents requires listener functions.\");\r\n }\r\n\r\n return { eventName, listener, source, once };\r\n}\r\n\r\n/**\r\n * The HasListener an object carries WHILE it has listeners, hijacking the\r\n * runtime-state prototype's always-false stub.\r\n *\r\n * @param {string} [eventName]\r\n * @returns {Boolean}\r\n */\r\nfunction HasListenerWithEvents(eventName = \"*\")\r\n{\r\n if (eventName === \"*\") return true;\r\n\r\n const records = this.events?.get(NormalizeEventName(eventName));\r\n return records ? records.size > 0 : false;\r\n}\r\n\r\nfunction GetEventMap(emitter, create = false)\r\n{\r\n const state = create ? ensureRuntimeState(emitter) : getRuntimeState(emitter);\r\n if (!state) return null;\r\n\r\n if (state.events === undefined)\r\n {\r\n if (!create) return null;\r\n state.events = new Map();\r\n // Installed the way the decorators install anything - defineProperty,\r\n // non-enumerable, configurable so it can be removed again. A shared\r\n // function reference: one property slot, no closure.\r\n Object.defineProperty(state, \"HasListener\", {\r\n value: HasListenerWithEvents,\r\n writable: true,\r\n configurable: true\r\n });\r\n }\r\n else if (!(state.events instanceof Map))\r\n {\r\n throw new TypeError(\"CjsEventEmitter requires __state.events to be a Map.\");\r\n }\r\n\r\n return state.events;\r\n}\r\n"],"names":["ANY_SOURCE","Symbol","AddEvents","events","key","Object","keys","entry","NormalizeEventEntry","OnEvent","eventName","listener","source","once","CreateEventRecord","OnceEvent","OffEvent","record","FindEventRecords","RemoveEventRecord","EmitEvent","args","getRuntimeState","suppressEvents","GetEventMap","name","NormalizeEventName","records","get","error","has","call","err","HasListener","length","ClearEvent","GetEventNames","GetEventListenerCount","NOTIFY_METHODS","freeze","installNotify","Constructor","method","entries","prototype","defineProperty","value","writable","configurable","composeNotifyDecorator","context","kind","TypeError","emitter","Set","set","add","delete","size","state","String","trim","toLowerCase","names","result","push","endsWith","slice","Array","isArray","HasListenerWithEvents","create","ensureRuntimeState","undefined","Map"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"notify.js","sources":["../../../../src/global/compose/notify.js"],"sourcesContent":["// The notify surface as COMPOSITION - the @compose.notify decorator and the\r\n// method map behind it (design record: docs/research/\r\n// cjsmodel-value-audit-2026-09-05.md, direction items 9 and 11).\r\n//\r\n// Carbon's word for the concept is notify (INotify / Be::NOTIFY /\r\n// IListNotify); this surface deliberately widens Carbon's single slot to a\r\n// subscriber list, which is a registered non-Carbon extension (origin:\r\n// ccpwgl Tw2EventEmitter). NO BRAND AND NO hasInstance, ruled: \"we control\r\n// the contract - if an OnEvent method didn't exist, it would throw\", and\r\n// discrimination exists only where Carbon itself casts.\r\n//\r\n// State is lazy on first listener and DELETED when the last listener leaves\r\n// (the emitter costs nothing while unobserved - the operator's GC concern is\r\n// the design constraint here). The state slot is the shared __state expando\r\n// (./runtimeState.js) - both live in global/compose, the home of what\r\n// @compose.* installs and the state those installations share.\r\n//\r\n// CjsEventEmitter remains as the inheritance packaging over this same map -\r\n// one implementation, two deliveries.\r\n\r\nimport { ensureRuntimeState, getRuntimeState } from \"./runtimeState.js\";\r\n\r\nconst ANY_SOURCE = Symbol(\"CjsNotify.AnySource\");\r\n\r\n/**\r\n * Adds event listeners from a plain object. A key ending in \".once\"\r\n * registers a once-only listener; values may be a function or\r\n * [function, source].\r\n *\r\n * @param {object|null} events\r\n * @returns {object} This emitter.\r\n */\r\nfunction AddEvents(events = null)\r\n{\r\n if (!events || typeof events !== \"object\") return this;\r\n\r\n for (const key of Object.keys(events))\r\n {\r\n const entry = NormalizeEventEntry(key, events[key]);\r\n this.OnEvent(entry.eventName, entry.listener, entry.source, entry.once);\r\n }\r\n\r\n return this;\r\n}\r\n\r\n/**\r\n * Adds a listener for a lowercased exact event name.\r\n *\r\n * @param {string} eventName\r\n * @param {Function} listener\r\n * @param {*} source Optional callback source and `this` value.\r\n * @param {boolean} once\r\n * @returns {object} This emitter.\r\n */\r\nfunction OnEvent(eventName, listener, source = null, once = false)\r\n{\r\n CreateEventRecord(this, eventName, listener, source, once);\r\n return this;\r\n}\r\n\r\n/**\r\n * Adds a listener that is removed before its first callback is invoked.\r\n *\r\n * @param {string} eventName\r\n * @param {Function} listener\r\n * @param {*} source Optional callback source and `this` value.\r\n * @returns {object} This emitter.\r\n */\r\nfunction OnceEvent(eventName, listener, source = null)\r\n{\r\n return this.OnEvent(eventName, listener, source, true);\r\n}\r\n\r\n/**\r\n * Removes matching listeners from this emitter. `eventName=\"*\"` means all\r\n * event buckets - cleanup matching only, not wildcard dispatch.\r\n *\r\n * @param {string} eventName\r\n * @param {?Function} listener\r\n * @param {*} source Optional callback source to match.\r\n * @returns {object} This emitter.\r\n */\r\nfunction OffEvent(eventName = \"*\", listener = null, source = ANY_SOURCE)\r\n{\r\n for (const record of FindEventRecords(this, eventName, listener, source))\r\n {\r\n RemoveEventRecord(record);\r\n }\r\n\r\n return this;\r\n}\r\n\r\n/**\r\n * Emits a lowercased exact event name to all currently registered records.\r\n *\r\n * THE LISTENER RECEIVES THE EVENT NAME AS ITS FIRST ARGUMENT, before the\r\n * emitted arguments. Carbon does the same in both notify hooks - INotify\r\n * OnModified is handed the member that changed, and IListNotify\r\n * OnListModified takes the BLUELISTEVENT code as argument one - so the\r\n * observer is always told WHAT happened and decides for itself. Without it a\r\n * listener registered for two events cannot tell them apart, and ccpwgl keeps\r\n * a closure per event name for exactly that reason; the missing name is a bug\r\n * in the emitter this one descends from (operator, 2026-09-17).\r\n *\r\n * @param {string} eventName\r\n * @param {...*} args\r\n * @returns {object} This emitter.\r\n */\r\nfunction EmitEvent(eventName, ...args)\r\n{\r\n if ((getRuntimeState(this)?.suppressEvents ?? 0) > 0) return this;\r\n const events = GetEventMap(this);\r\n if (!events) return this;\r\n\r\n const name = NormalizeEventName(eventName);\r\n const records = events.get(name);\r\n if (!records) return this;\r\n\r\n let error = null;\r\n\r\n try\r\n {\r\n for (const record of [ ...records ])\r\n {\r\n if (!records.has(record)) continue;\r\n if (record.once) RemoveEventRecord(record);\r\n record.listener.call(record.source, name, ...args);\r\n }\r\n }\r\n catch (err)\r\n {\r\n error = err;\r\n }\r\n\r\n if (error) throw error;\r\n return this;\r\n}\r\n\r\n/**\r\n * Checks whether this emitter has a matching listener record.\r\n *\r\n * @param {string} eventName\r\n * @param {?Function} listener\r\n * @param {*} source Optional callback source to match.\r\n * @returns {boolean}\r\n */\r\nfunction HasListener(eventName = \"*\", listener = null, source = ANY_SOURCE)\r\n{\r\n // The state answers the cheap question - is ANYTHING listening - before a\r\n // record search runs. \"HasEvent\" was the old name and claimed more than is\r\n // knowable: any caller may emit any name at any time, so what can be known\r\n // is whether something is LISTENING to one.\r\n if (!getRuntimeState(this)?.HasListener(eventName)) return false;\r\n return FindEventRecords(this, eventName, listener, source).length > 0;\r\n}\r\n\r\n/**\r\n * Clears an event bucket or all event buckets from this emitter.\r\n *\r\n * @param {string} eventName\r\n * @returns {object} This emitter.\r\n */\r\nfunction ClearEvent(eventName = \"*\")\r\n{\r\n return this.OffEvent(eventName);\r\n}\r\n\r\n/**\r\n * Gets the lowercased exact event names with active listener buckets.\r\n *\r\n * @returns {Array<string>}\r\n */\r\nfunction GetEventNames()\r\n{\r\n const events = GetEventMap(this);\r\n return events ? [ ...events.keys() ] : [];\r\n}\r\n\r\n/**\r\n * Gets the number of active listener records for an event or all events.\r\n *\r\n * @param {string} eventName\r\n * @returns {number}\r\n */\r\nfunction GetEventListenerCount(eventName = \"*\")\r\n{\r\n return FindEventRecords(this, eventName).length;\r\n}\r\n\r\n/** The notify surface, one implementation for both deliveries. */\r\nexport const NOTIFY_METHODS = Object.freeze({\r\n AddEvents,\r\n OnEvent,\r\n OnceEvent,\r\n OffEvent,\r\n EmitEvent,\r\n HasListener,\r\n ClearEvent,\r\n GetEventNames,\r\n GetEventListenerCount\r\n});\r\n\r\n/**\r\n * Installs the notify surface onto a class's prototype, install-if-absent:\r\n * a method the class (or its chain) already answers keeps its own.\r\n *\r\n * @param {Function} Constructor\r\n * @returns {Function} The same constructor.\r\n */\r\nexport function installNotify(Constructor)\r\n{\r\n for (const [ name, method ] of Object.entries(NOTIFY_METHODS))\r\n {\r\n if (name in Constructor.prototype) continue;\r\n\r\n Object.defineProperty(Constructor.prototype, name, {\r\n value: method,\r\n writable: true,\r\n configurable: true\r\n });\r\n }\r\n return Constructor;\r\n}\r\n\r\n/**\r\n * The @compose.notify class decorator.\r\n *\r\n * @param {Function} value The decorated class.\r\n * @param {object} [context] Stage-3 decorator context.\r\n * @returns {void}\r\n */\r\nexport function composeNotifyDecorator(value, context)\r\n{\r\n if (context && typeof context === \"object\" && context.kind !== \"class\")\r\n {\r\n throw new TypeError(\"compose.notify only supports classes.\");\r\n }\r\n if (typeof value !== \"function\")\r\n {\r\n throw new TypeError(\"compose.notify requires a class constructor.\");\r\n }\r\n installNotify(value);\r\n}\r\n\r\nfunction CreateEventRecord(emitter, eventName, listener, source, once)\r\n{\r\n const name = NormalizeEventName(eventName);\r\n if (typeof listener !== \"function\")\r\n {\r\n throw new TypeError(\"CjsEventEmitter.OnEvent requires a listener function.\");\r\n }\r\n\r\n const record = {\r\n emitter,\r\n eventName: name,\r\n listener,\r\n source,\r\n once: !!once\r\n };\r\n\r\n const events = GetEventMap(emitter, true);\r\n\r\n let records = events.get(name);\r\n if (!records)\r\n {\r\n records = new Set();\r\n events.set(name, records);\r\n }\r\n\r\n records.add(record);\r\n\r\n return record;\r\n}\r\n\r\nfunction RemoveEventRecord(record)\r\n{\r\n const events = GetEventMap(record.emitter);\r\n const records = events?.get(record.eventName);\r\n\r\n if (records)\r\n {\r\n records.delete(record);\r\n if (!records.size) events.delete(record.eventName);\r\n if (!events.size)\r\n {\r\n const state = getRuntimeState(record.emitter);\r\n delete state.events;\r\n // The override goes with the map, so the stub answers false again.\r\n delete state.HasListener;\r\n }\r\n }\r\n}\r\n\r\nfunction NormalizeEventName(eventName)\r\n{\r\n const name = String(eventName || \"\").trim().toLowerCase();\r\n if (!name) throw new TypeError(\"CjsEventEmitter requires an event name.\");\r\n return name;\r\n}\r\n\r\nfunction FindEventRecords(emitter, eventName = \"*\", listener = null, source = ANY_SOURCE)\r\n{\r\n const events = GetEventMap(emitter);\r\n if (!events) return [];\r\n\r\n const names = eventName === \"*\" ? [ ...events.keys() ] : [ NormalizeEventName(eventName) ];\r\n const result = [];\r\n\r\n for (const name of names)\r\n {\r\n const records = events.get(name);\r\n if (!records) continue;\r\n\r\n for (const record of records)\r\n {\r\n if (listener && record.listener !== listener) continue;\r\n if (source !== ANY_SOURCE && record.source !== source) continue;\r\n result.push(record);\r\n }\r\n }\r\n\r\n return result;\r\n}\r\n\r\nfunction NormalizeEventEntry(key, value)\r\n{\r\n let eventName = String(key);\r\n let once = false;\r\n let listener = value;\r\n let source = null;\r\n\r\n if (eventName.endsWith(\".once\"))\r\n {\r\n eventName = eventName.slice(0, -5);\r\n once = true;\r\n }\r\n\r\n if (Array.isArray(value))\r\n {\r\n [ listener, source = null ] = value;\r\n }\r\n\r\n if (typeof listener !== \"function\")\r\n {\r\n throw new TypeError(\"CjsEventEmitter.AddEvents requires listener functions.\");\r\n }\r\n\r\n return { eventName, listener, source, once };\r\n}\r\n\r\n/**\r\n * The HasListener an object carries WHILE it has listeners, hijacking the\r\n * runtime-state prototype's always-false stub.\r\n *\r\n * @param {string} [eventName]\r\n * @returns {Boolean}\r\n */\r\nfunction HasListenerWithEvents(eventName = \"*\")\r\n{\r\n if (eventName === \"*\") return true;\r\n\r\n const records = this.events?.get(NormalizeEventName(eventName));\r\n return records ? records.size > 0 : false;\r\n}\r\n\r\nfunction GetEventMap(emitter, create = false)\r\n{\r\n const state = create ? ensureRuntimeState(emitter) : getRuntimeState(emitter);\r\n if (!state) return null;\r\n\r\n if (state.events === undefined)\r\n {\r\n if (!create) return null;\r\n state.events = new Map();\r\n // Installed the way the decorators install anything - defineProperty,\r\n // non-enumerable, configurable so it can be removed again. A shared\r\n // function reference: one property slot, no closure.\r\n Object.defineProperty(state, \"HasListener\", {\r\n value: HasListenerWithEvents,\r\n writable: true,\r\n configurable: true\r\n });\r\n }\r\n else if (!(state.events instanceof Map))\r\n {\r\n throw new TypeError(\"CjsEventEmitter requires __state.events to be a Map.\");\r\n }\r\n\r\n return state.events;\r\n}\r\n"],"names":["ANY_SOURCE","Symbol","AddEvents","events","key","Object","keys","entry","NormalizeEventEntry","OnEvent","eventName","listener","source","once","CreateEventRecord","OnceEvent","OffEvent","record","FindEventRecords","RemoveEventRecord","EmitEvent","args","getRuntimeState","suppressEvents","GetEventMap","name","NormalizeEventName","records","get","error","has","call","err","HasListener","length","ClearEvent","GetEventNames","GetEventListenerCount","NOTIFY_METHODS","freeze","installNotify","Constructor","method","entries","prototype","defineProperty","value","writable","configurable","composeNotifyDecorator","context","kind","TypeError","emitter","Set","set","add","delete","size","state","String","trim","toLowerCase","names","result","push","endsWith","slice","Array","isArray","HasListenerWithEvents","create","ensureRuntimeState","undefined","Map"],"mappings":"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"}
|