@carbonenginejs/runtime 0.1.0-alpha.3 → 0.1.0-alpha.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/NOTICE +5 -4
- package/dist/audio/generated/audio/AudEventKey.js +2 -2
- package/dist/audio/generated/audio/AudEventKey.js.map +1 -1
- package/dist/audio/generated/audio/AudSettings.js +2 -2
- package/dist/audio/generated/audio/AudSettings.js.map +1 -1
- package/dist/audio/index.js +1 -1
- package/dist/audio/trinity/audio/AudEmitter.js +4 -5
- package/dist/audio/trinity/audio/AudEmitter.js.map +1 -1
- package/dist/audio/trinity/audio/AudEventCurve.js +14 -14
- package/dist/audio/trinity/audio/AudEventCurve.js.map +1 -1
- package/dist/audio/trinity/audio/AudGameObjResource.js +13 -25
- package/dist/audio/trinity/audio/AudGameObjResource.js.map +1 -1
- package/dist/audio/trinity/audio/AudManager.js +2 -2
- package/dist/audio/trinity/audio/AudManager.js.map +1 -1
- package/dist/audio/trinity/audio/AudParameter.js +7 -11
- package/dist/audio/trinity/audio/AudParameter.js.map +1 -1
- package/dist/audio/trinity/audio/AudUIPlayer.js +2 -2
- package/dist/audio/trinity/audio/AudUIPlayer.js.map +1 -1
- package/dist/audio/trinity/audio/AudioCurveSetDriver.js +2 -2
- package/dist/audio/trinity/audio/AudioCurveSetDriver.js.map +1 -1
- package/dist/audio/trinity/audio/StretchAudio.js +2 -2
- package/dist/audio/trinity/audio/StretchAudio.js.map +1 -1
- package/dist/audio/trinity/index.js +1 -1
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js +2 -2
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchAuto.js.map +1 -1
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js +2 -2
- package/dist/audio/trinity/trinityAudio/Tr2AudioStretchBase.js.map +1 -1
- package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js +1 -37
- package/dist/audio/trinity/trinityAudioApi/ITr2AudEmitter.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ColorCurve.js +2 -2
- package/dist/character/incarna/curves/Tr2ColorCurve.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ColorKey.js +2 -2
- package/dist/character/incarna/curves/Tr2ColorKey.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ScalarCurve.js +2 -2
- package/dist/character/incarna/curves/Tr2ScalarCurve.js.map +1 -1
- package/dist/character/incarna/curves/Tr2ScalarKey.js +2 -2
- package/dist/character/incarna/curves/Tr2ScalarKey.js.map +1 -1
- package/dist/character/incarna/interior/Tr2InteriorCell.js +2 -2
- package/dist/character/incarna/interior/Tr2InteriorCell.js.map +1 -1
- package/dist/character/library/CjsCharacterLibrary.js +9 -16
- package/dist/character/library/CjsCharacterLibrary.js.map +1 -1
- package/dist/character/library/CjsCharacterLibraryDocuments.js +20 -4
- package/dist/character/library/CjsCharacterLibraryDocuments.js.map +1 -1
- package/dist/character/model/CjsCharacterRecord.js +2 -2
- package/dist/character/model/CjsCharacterRecord.js.map +1 -1
- package/dist/character/model/activity/CjsCharacterArchetype.js +2 -2
- package/dist/character/model/activity/CjsCharacterArchetype.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterColorLocation.js +2 -2
- package/dist/character/model/appearance/CjsCharacterColorLocation.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterColorName.js +2 -2
- package/dist/character/model/appearance/CjsCharacterColorName.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterColorSelection.js +2 -2
- package/dist/character/model/appearance/CjsCharacterColorSelection.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterSculptSelection.js +2 -2
- package/dist/character/model/appearance/CjsCharacterSculptSelection.js.map +1 -1
- package/dist/character/model/appearance/CjsCharacterSculptingLocation.js +2 -2
- package/dist/character/model/appearance/CjsCharacterSculptingLocation.js.map +1 -1
- package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js +2 -2
- package/dist/character/model/behavior/CjsCharacterAvatarBehavior.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterColorValue.js +2 -2
- package/dist/character/model/catalog/CjsCharacterColorValue.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterDefinition.js +2 -2
- package/dist/character/model/catalog/CjsCharacterDefinition.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterMaterialProfile.js +2 -2
- package/dist/character/model/catalog/CjsCharacterMaterialProfile.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterModifierReference.js +2 -2
- package/dist/character/model/catalog/CjsCharacterModifierReference.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartMetadata.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartMetadata.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartModelBundle.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartModelBundle.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartSource.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartSource.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartSourceVersion.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterPartType.js +2 -2
- package/dist/character/model/catalog/CjsCharacterPartType.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterProjectionProfile.js +2 -2
- package/dist/character/model/catalog/CjsCharacterProjectionProfile.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterRecipeEntry.js +2 -2
- package/dist/character/model/catalog/CjsCharacterRecipeEntry.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterRecipeProfile.js +2 -2
- package/dist/character/model/catalog/CjsCharacterRecipeProfile.js.map +1 -1
- package/dist/character/model/catalog/CjsCharacterTextureMetadata.js +2 -2
- package/dist/character/model/catalog/CjsCharacterTextureMetadata.js.map +1 -1
- package/dist/character/model/composition/CjsCharacterModifierLocation.js +2 -2
- package/dist/character/model/composition/CjsCharacterModifierLocation.js.map +1 -1
- package/dist/character/model/composition/CjsCharacterModifierSelection.js +2 -2
- package/dist/character/model/composition/CjsCharacterModifierSelection.js.map +1 -1
- package/dist/character/model/creation/CjsCharacterPaperdoll.js +2 -2
- package/dist/character/model/creation/CjsCharacterPaperdoll.js.map +1 -1
- package/dist/character/model/demographics/CjsCharacterAncestry.js +2 -2
- package/dist/character/model/demographics/CjsCharacterAncestry.js.map +1 -1
- package/dist/character/model/demographics/CjsCharacterBloodline.js +2 -2
- package/dist/character/model/demographics/CjsCharacterBloodline.js.map +1 -1
- package/dist/character/model/demographics/CjsCharacterRace.js +2 -2
- package/dist/character/model/demographics/CjsCharacterRace.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceBinding.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceBinding.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceColorSelection.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceDiagnostic.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceLayer.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceLayer.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearancePlan.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearancePlan.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterAppearanceSelection.js +2 -2
- package/dist/character/model/planning/CjsCharacterAppearanceSelection.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterBindingAlpha.js +2 -2
- package/dist/character/model/planning/CjsCharacterBindingAlpha.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCompositionInput.js +2 -2
- package/dist/character/model/planning/CjsCharacterCompositionInput.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCompositionPass.js +2 -2
- package/dist/character/model/planning/CjsCharacterCompositionPass.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCompositionTarget.js +2 -2
- package/dist/character/model/planning/CjsCharacterCompositionTarget.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterCoverage.js +2 -2
- package/dist/character/model/planning/CjsCharacterCoverage.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js +2 -2
- package/dist/character/model/planning/CjsCharacterMorphTargetWeight.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterOrigin.js +2 -2
- package/dist/character/model/planning/CjsCharacterOrigin.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterResolvedPart.js +2 -2
- package/dist/character/model/planning/CjsCharacterResolvedPart.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterTextureAsset.js +2 -2
- package/dist/character/model/planning/CjsCharacterTextureAsset.js.map +1 -1
- package/dist/character/model/planning/CjsCharacterTextureChannel.js +2 -2
- package/dist/character/model/planning/CjsCharacterTextureChannel.js.map +1 -1
- package/dist/character/model/resources/CjsCharacterPortraitResource.js +2 -2
- package/dist/character/model/resources/CjsCharacterPortraitResource.js.map +1 -1
- package/dist/character/model/resources/CjsCharacterResource.js +2 -2
- package/dist/character/model/resources/CjsCharacterResource.js.map +1 -1
- package/dist/character/trinity/interior/Tr2IntSkinnedObject.js +6 -5
- package/dist/character/trinity/interior/Tr2IntSkinnedObject.js.map +1 -1
- package/dist/character/trinity/interior/Tr2InteriorLightSource.js +2 -2
- package/dist/character/trinity/interior/Tr2InteriorLightSource.js.map +1 -1
- package/dist/character/trinity/interior/Tr2InteriorPlaceable.js +4 -5
- package/dist/character/trinity/interior/Tr2InteriorPlaceable.js.map +1 -1
- package/dist/character/trinity/interior/Tr2InteriorScene.js +2 -2
- package/dist/character/trinity/interior/Tr2InteriorScene.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js +2 -2
- package/dist/character/trinity/trinityCore/Tr2GStateAnimation.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2GStateParameter.js +2 -2
- package/dist/character/trinity/trinityCore/Tr2GStateParameter.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2Model.js +2 -2
- package/dist/character/trinity/trinityCore/Tr2Model.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js +21 -10
- package/dist/character/trinity/trinityCore/Tr2SkinnedModel.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js +64 -57
- package/dist/character/trinity/trinityCore/Tr2SkinnedObject.js.map +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js +1 -1
- package/dist/character/trinity/trinityCore/Tr2SkinnedObjectLod.js.map +1 -1
- package/dist/character/trinity/wod/WodBakingScene.js +2 -2
- package/dist/character/trinity/wod/WodBakingScene.js.map +1 -1
- package/dist/core/CjsLibrary.js +32 -685
- package/dist/core/CjsLibrary.js.map +1 -1
- package/dist/core/index.js +1 -2
- package/dist/core/index.js.map +1 -1
- package/dist/global/blue/BeInfo.js +95 -0
- package/dist/global/blue/BeInfo.js.map +1 -0
- package/dist/global/blue/CcpDateTime.js +53 -0
- package/dist/global/blue/CcpDateTime.js.map +1 -0
- package/dist/global/blue/CcpTime.js +148 -0
- package/dist/global/blue/CcpTime.js.map +1 -0
- package/dist/global/blue/CjsBlueOS.js +301 -0
- package/dist/global/blue/CjsBlueOS.js.map +1 -0
- package/dist/global/blue/CjsBluePaths.js +97 -0
- package/dist/global/blue/CjsBluePaths.js.map +1 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js +29 -0
- package/dist/global/blue/IBlueDynamicResourceConstructor.js.map +1 -0
- package/dist/global/blue/IBlueEvents.js +34 -0
- package/dist/global/blue/IBlueEvents.js.map +1 -0
- package/dist/global/blue/IBlueOS.js +132 -0
- package/dist/global/blue/IBlueOS.js.map +1 -0
- package/dist/global/blue/IBluePaths.js +72 -0
- package/dist/global/blue/IBluePaths.js.map +1 -0
- package/dist/global/blue/IBlueResMan.js +93 -0
- package/dist/global/blue/IBlueResMan.js.map +1 -0
- package/dist/global/blue/IBlueResManNotifications.js +51 -0
- package/dist/global/blue/IBlueResManNotifications.js.map +1 -0
- package/dist/global/blue/ICatchupTicks.js +25 -0
- package/dist/global/blue/ICatchupTicks.js.map +1 -0
- package/dist/global/blue/IInitialize.js +47 -0
- package/dist/global/blue/IInitialize.js.map +1 -0
- package/dist/global/blue/IListNotify.js +44 -0
- package/dist/global/blue/IListNotify.js.map +1 -0
- package/dist/global/blue/INotify.js +65 -0
- package/dist/global/blue/INotify.js.map +1 -0
- package/dist/global/blue/ISimTimeRebaseNotify.js +28 -0
- package/dist/global/blue/ISimTimeRebaseNotify.js.map +1 -0
- package/dist/global/blue/IVariableTicker.js +24 -0
- package/dist/global/blue/IVariableTicker.js.map +1 -0
- package/dist/global/blue/blue.js +61 -0
- package/dist/global/blue/blue.js.map +1 -0
- package/dist/global/blue/enums/CjsBlueEnumRegistry.js +173 -0
- package/dist/global/blue/enums/CjsBlueEnumRegistry.js.map +1 -0
- package/dist/global/blue/index.js +19 -0
- package/dist/global/blue/index.js.map +1 -1
- package/dist/global/blue/registerTrinityEnums.js +43 -0
- package/dist/global/blue/registerTrinityEnums.js.map +1 -0
- package/dist/global/compose/abstract.js +81 -0
- package/dist/global/compose/abstract.js.map +1 -0
- package/dist/global/compose/interface.js +131 -26
- package/dist/global/compose/interface.js.map +1 -1
- package/dist/global/compose/notify.js +10 -1
- package/dist/global/compose/notify.js.map +1 -1
- package/dist/global/compose/values.js +116 -53
- package/dist/global/compose/values.js.map +1 -1
- package/dist/global/consts/blue.js +73 -0
- package/dist/global/consts/blue.js.map +1 -0
- package/dist/global/consts/graphics/index.js +1 -1
- package/dist/global/consts/graphics/trinityEnums.js +19 -7
- package/dist/global/consts/graphics/trinityEnums.js.map +1 -1
- package/dist/global/consts/index.js +2 -1
- package/dist/global/consts/index.js.map +1 -1
- package/dist/global/consts/trinity.js.map +1 -1
- package/dist/global/contracts/ITr2BoundingBox.js +1 -34
- package/dist/global/contracts/ITr2BoundingBox.js.map +1 -1
- package/dist/global/contracts/ITr2RenderNode.js +1 -27
- package/dist/global/contracts/ITr2RenderNode.js.map +1 -1
- package/dist/global/contracts/index.js +2 -4
- package/dist/global/contracts/index.js.map +1 -1
- package/dist/global/index.js +23 -5
- package/dist/global/index.js.map +1 -1
- package/dist/global/model/CjsModel.js +79 -98
- package/dist/global/model/CjsModel.js.map +1 -1
- package/dist/global/model/CjsModelState.js +0 -15
- package/dist/global/model/CjsModelState.js.map +1 -1
- package/dist/global/model/index.js +1 -1
- package/dist/global/schema/CjsSchema.js +177 -51
- package/dist/global/schema/CjsSchema.js.map +1 -1
- package/dist/global/schema/index.js +4 -3
- package/dist/global/schema/index.js.map +1 -1
- package/dist/global/schema/types/carbonTypes.js +1 -1
- package/dist/global/schema/types/carbonTypes.js.map +1 -1
- package/dist/global/utils/bytes.js +2 -0
- package/dist/global/utils/bytes.js.map +1 -1
- package/dist/global/utils/path.js +30 -1
- package/dist/global/utils/path.js.map +1 -1
- package/dist/index.js +57 -24
- package/dist/index.js.map +1 -1
- package/dist/resource/CjsResMan.js +33 -43
- package/dist/resource/CjsResMan.js.map +1 -1
- package/dist/resource/CjsResource.js +4 -1
- package/dist/resource/CjsResource.js.map +1 -1
- package/dist/resource/format/CjsBlueReader.js +0 -1
- package/dist/resource/format/CjsBlueReader.js.map +1 -1
- package/dist/resource/format/CjsResourceProbe.js +15 -16
- package/dist/resource/format/CjsResourceProbe.js.map +1 -1
- package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js +132 -75
- package/dist/resource/format/carbonEffect/carbonEffectResourceTransform.js.map +1 -1
- package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js +26 -0
- package/dist/resource/formats/black/core/CjsBlackPropertyReaders.js.map +1 -1
- package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js +2 -1
- package/dist/resource/formats/black/core/CjsBlackSchemaRegistry.js.map +1 -1
- package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js +4 -0
- package/dist/resource/formats/black/core/black-schema-v1-2026-09-19.json.js.map +1 -0
- package/dist/resource/formats/black/core/blackDefinitions.js +1 -1
- package/dist/resource/formats/black/core/blackDefinitions.js.map +1 -1
- package/dist/resource/formats/black/core/blackSchema.js +1 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js +50 -1
- package/dist/resource/formats/dds/CjsDdsFormat.js.map +1 -1
- package/dist/resource/formats/dds/core/helpers.js +51 -5
- package/dist/resource/formats/dds/core/helpers.js.map +1 -1
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js +94 -0
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierGraphicIds.js.map +1 -0
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js +189 -0
- package/dist/resource/formats/fsd/64/readers/CjsFsd64SchemaFrontierTypes.js.map +1 -0
- package/dist/resource/formats/fsd/64/readers/index.js +2 -0
- package/dist/resource/formats/fsd/64/readers/index.js.map +1 -1
- package/dist/resource/formats/hlsl/core/detailMapFamily.js +18 -92
- package/dist/resource/formats/hlsl/core/detailMapFamily.js.map +1 -1
- package/dist/resource/formats/hlsl/core/textureArrayFamilies.js +285 -0
- package/dist/resource/formats/hlsl/core/textureArrayFamilies.js.map +1 -0
- package/dist/resource/formats/pickle/CjsPickleFormat.js +34 -14
- package/dist/resource/formats/pickle/CjsPickleFormat.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js +60 -451
- package/dist/resource/formats/pickle/core/CjsPickleProtocol0Reader.js.map +1 -1
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js +407 -0
- package/dist/resource/formats/pickle/core/CjsPickleProtocol4Reader.js.map +1 -0
- package/dist/resource/formats/pickle/core/pickleCommon.js +671 -0
- package/dist/resource/formats/pickle/core/pickleCommon.js.map +1 -0
- package/dist/resource/formats/red/core/blackDefinitions.js +1 -1
- package/dist/resource/formats/webgl/core/effectPackage.js +85 -7
- package/dist/resource/formats/webgl/core/effectPackage.js.map +1 -1
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js +659 -564
- package/dist/resource/formats/webgl/core/glsl/DxbcGlslEmitter.js.map +1 -1
- package/dist/resource/formats/webgl/core/glslBackendBodySet.js +4 -4
- package/dist/resource/formats/webgl/core/glslBackendBodySet.js.map +1 -1
- package/dist/resource/formats/webgl/core/helpers.js +2 -2
- package/dist/resource/formats/webgl/core/helpers.js.map +1 -1
- package/dist/resource/geometry/TriGeometryRes.js +61 -7
- package/dist/resource/geometry/TriGeometryRes.js.map +1 -1
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js +11 -11
- package/dist/resource/geometry/granny/Tr2GrannyIntersectionResult.js.map +1 -1
- package/dist/resource/index.js +9 -0
- package/dist/resource/index.js.map +1 -1
- package/dist/resource/shader/Tr2EffectRes.js +2 -3
- package/dist/resource/shader/Tr2EffectRes.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialArea.js +3 -3
- package/dist/resource/shader/Tr2MaterialArea.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialMesh.js +2 -2
- package/dist/resource/shader/Tr2MaterialMesh.js.map +1 -1
- package/dist/resource/shader/Tr2MaterialRes.js +3 -3
- package/dist/resource/shader/Tr2MaterialRes.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js +2 -2
- package/dist/resource/shader/reflection/Tr2EffectLibrary.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js +2 -2
- package/dist/resource/shader/reflection/Tr2EffectStageInput.js.map +1 -1
- package/dist/resource/shader/reflection/Tr2Pass.js +4 -4
- package/dist/resource/shader/reflection/Tr2Pass.js.map +1 -1
- package/dist/resource/texture/CjsTextureArrayRes.js.map +1 -1
- package/dist/resource/texture/Tr2ImageRes.js +3 -4
- package/dist/resource/texture/Tr2ImageRes.js.map +1 -1
- package/dist/resource/texture/Tr2TextureLodManager.js +0 -1
- package/dist/resource/texture/Tr2TextureLodManager.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePackChannel.js +4 -4
- package/dist/resource/texture/Tr2TexturePackChannel.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipeline.js +3 -4
- package/dist/resource/texture/Tr2TexturePipeline.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js +5 -5
- package/dist/resource/texture/Tr2TexturePipelineStepCompress.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js +3 -3
- package/dist/resource/texture/Tr2TexturePipelineStepLimitSize.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js +2 -2
- package/dist/resource/texture/Tr2TexturePipelineStepLoad.js.map +1 -1
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js +6 -6
- package/dist/resource/texture/Tr2TexturePipelineStepPack.js.map +1 -1
- package/dist/resource/texture/TriTextureRes.js +23 -22
- package/dist/resource/texture/TriTextureRes.js.map +1 -1
- package/dist/resource/video/AudioMetadata.js +41 -0
- package/dist/resource/video/AudioMetadata.js.map +1 -0
- package/dist/resource/video/IAudioSink.js +51 -0
- package/dist/resource/video/IAudioSink.js.map +1 -0
- package/dist/resource/video/IEncodedFrame.js +52 -0
- package/dist/resource/video/IEncodedFrame.js.map +1 -0
- package/dist/resource/video/IVideoContainerParser.js +70 -0
- package/dist/resource/video/IVideoContainerParser.js.map +1 -0
- package/dist/resource/video/IVideoDecoder.js +36 -0
- package/dist/resource/video/IVideoDecoder.js.map +1 -0
- package/dist/resource/video/PcmFrame.js +33 -0
- package/dist/resource/video/PcmFrame.js.map +1 -0
- package/dist/resource/video/VideoFrame.js +45 -0
- package/dist/resource/video/VideoFrame.js.map +1 -0
- package/dist/resource/video/VideoMetadata.js +34 -0
- package/dist/resource/video/VideoMetadata.js.map +1 -0
- package/dist/resource/video/enums.js +30 -0
- package/dist/resource/video/enums.js.map +1 -0
- package/dist/sof/EveSOF.js +176 -176
- package/dist/sof/EveSOF.js.map +1 -1
- package/dist/sof/EveSOFDNA.js +5 -1
- package/dist/sof/EveSOFDNA.js.map +1 -1
- package/dist/sof/EveSOFData.js +2 -2
- package/dist/sof/EveSOFData.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFaction.js +2 -2
- package/dist/sof/faction/EveSOFDataFaction.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionChild.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionChild.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionColorSet.js +189 -3
- package/dist/sof/faction/EveSOFDataFactionColorSet.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionHullArea.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionHullArea.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionPlaneSet.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionPlaneSet.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionSpotlightSet.js.map +1 -1
- package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js +2 -2
- package/dist/sof/faction/EveSOFDataFactionVisibilityGroupSet.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGeneric.js +234 -230
- package/dist/sof/generic/EveSOFDataGeneric.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericDamage.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericDamage.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericDecalShader.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericDecalShader.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericHullCategory.js +27 -23
- package/dist/sof/generic/EveSOFDataGenericHullCategory.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericHullDamage.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericHullDamage.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericShader.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericShader.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericString.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericString.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericSwarm.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericSwarm.js.map +1 -1
- package/dist/sof/generic/EveSOFDataGenericVariant.js +2 -2
- package/dist/sof/generic/EveSOFDataGenericVariant.js.map +1 -1
- package/dist/sof/generic/EveSOFDataVisibilityGroup.js +2 -2
- package/dist/sof/generic/EveSOFDataVisibilityGroup.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHull.js +56 -3
- package/dist/sof/hull/EveSOFDataHull.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullAnimation.js +2 -2
- package/dist/sof/hull/EveSOFDataHullAnimation.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullArea.js +58 -54
- package/dist/sof/hull/EveSOFDataHullArea.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBanner.js +109 -3
- package/dist/sof/hull/EveSOFDataHullBanner.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBannerLight.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBannerLight.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBannerSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBannerSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBannerSetItem.js +109 -3
- package/dist/sof/hull/EveSOFDataHullBannerSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBooster.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBooster.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullBoosterItem.js +2 -2
- package/dist/sof/hull/EveSOFDataHullBoosterItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullChild.js +55 -50
- package/dist/sof/hull/EveSOFDataHullChild.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullChildSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullChildSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullChildSetItem.js +51 -46
- package/dist/sof/hull/EveSOFDataHullChildSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullController.js +2 -2
- package/dist/sof/hull/EveSOFDataHullController.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullDecalSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullDecalSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullDecalSetItem.js +45 -3
- package/dist/sof/hull/EveSOFDataHullDecalSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullHazeSet.js +21 -3
- package/dist/sof/hull/EveSOFDataHullHazeSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullHazeSetItem.js +47 -43
- package/dist/sof/hull/EveSOFDataHullHazeSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLightSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSetItem.js +4 -2
- package/dist/sof/hull/EveSOFDataHullLightSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLightSetSpotLight.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLightSetTexturedPointLight.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLocator.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLocator.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLocatorSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLocatorSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js +2 -2
- package/dist/sof/hull/EveSOFDataHullLocatorSetGroup.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullPlaneSet.js +29 -3
- package/dist/sof/hull/EveSOFDataHullPlaneSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js +81 -75
- package/dist/sof/hull/EveSOFDataHullPlaneSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSoundEmitter.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSoundEmitter.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpotlightSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSpotlightSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js +45 -41
- package/dist/sof/hull/EveSOFDataHullSpotlightSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSpriteLineSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js +70 -66
- package/dist/sof/hull/EveSOFDataHullSpriteLineSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteSet.js +2 -2
- package/dist/sof/hull/EveSOFDataHullSpriteSet.js.map +1 -1
- package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js +45 -41
- package/dist/sof/hull/EveSOFDataHullSpriteSetItem.js.map +1 -1
- package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js +2 -2
- package/dist/sof/hull/EveSOFDataMultiHullDecalIndexBuffers.js.map +1 -1
- package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js +2 -2
- package/dist/sof/layout/EveSOFDataDistributionDepletionCounter.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionBucket.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionBucket.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacement.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionDepletionCounter.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js +35 -3
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionMapGraphicSettings.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionParentMatch.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionPlacement.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementDistributionRandomChance.js.map +1 -1
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js +2 -2
- package/dist/sof/layout/EveSOFDataHullExtensionPlacementGroup.js.map +1 -1
- package/dist/sof/layout/EveSOFDataLayout.js +2 -2
- package/dist/sof/layout/EveSOFDataLayout.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPattern.js +2 -2
- package/dist/sof/pattern/EveSOFDataPattern.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternApplicationGroup.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternLayer.js +60 -3
- package/dist/sof/pattern/EveSOFDataPatternLayer.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js +23 -3
- package/dist/sof/pattern/EveSOFDataPatternLayerProperties.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternMaterialOverride.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternPerHull.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternPerHull.js.map +1 -1
- package/dist/sof/pattern/EveSOFDataPatternTransform.js +2 -2
- package/dist/sof/pattern/EveSOFDataPatternTransform.js.map +1 -1
- package/dist/sof/race/EveSOFDataRace.js +46 -42
- package/dist/sof/race/EveSOFDataRace.js.map +1 -1
- package/dist/sof/race/EveSOFDataRaceDamage.js +2 -2
- package/dist/sof/race/EveSOFDataRaceDamage.js.map +1 -1
- package/dist/sof/shared/CjsExternalRef.js +2 -2
- package/dist/sof/shared/CjsExternalRef.js.map +1 -1
- package/dist/sof/shared/EveSOFDNADescriptor.js +2 -2
- package/dist/sof/shared/EveSOFDNADescriptor.js.map +1 -1
- package/dist/sof/shared/EveSOFDataArea.js +61 -3
- package/dist/sof/shared/EveSOFDataArea.js.map +1 -1
- package/dist/sof/shared/EveSOFDataAreaMaterial.js +4 -2
- package/dist/sof/shared/EveSOFDataAreaMaterial.js.map +1 -1
- package/dist/sof/shared/EveSOFDataBlinkType.js +48 -8
- package/dist/sof/shared/EveSOFDataBlinkType.js.map +1 -1
- package/dist/sof/shared/EveSOFDataBooster.js +2 -2
- package/dist/sof/shared/EveSOFDataBooster.js.map +1 -1
- package/dist/sof/shared/EveSOFDataBoosterShape.js +2 -2
- package/dist/sof/shared/EveSOFDataBoosterShape.js.map +1 -1
- package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js +2 -2
- package/dist/sof/shared/EveSOFDataDecalIndexBuffer.js.map +1 -1
- package/dist/sof/shared/EveSOFDataInstancedMesh.js +40 -3
- package/dist/sof/shared/EveSOFDataInstancedMesh.js.map +1 -1
- package/dist/sof/shared/EveSOFDataLogo.js +2 -2
- package/dist/sof/shared/EveSOFDataLogo.js.map +1 -1
- package/dist/sof/shared/EveSOFDataLogoSet.js +33 -3
- package/dist/sof/shared/EveSOFDataLogoSet.js.map +1 -1
- package/dist/sof/shared/EveSOFDataMaterial.js +2 -2
- package/dist/sof/shared/EveSOFDataMaterial.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameter.js +2 -2
- package/dist/sof/shared/EveSOFDataParameter.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterBool.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterBool.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterColor.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterColor.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterFloat.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterFloat.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterInt.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterInt.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterVector2.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterVector2.js.map +1 -1
- package/dist/sof/shared/EveSOFDataParameterVector3.js +2 -2
- package/dist/sof/shared/EveSOFDataParameterVector3.js.map +1 -1
- package/dist/sof/shared/EveSOFDataPointLightAttachment.js +2 -2
- package/dist/sof/shared/EveSOFDataPointLightAttachment.js.map +1 -1
- package/dist/sof/shared/EveSOFDataSpotLightAttachment.js +2 -2
- package/dist/sof/shared/EveSOFDataSpotLightAttachment.js.map +1 -1
- package/dist/sof/shared/EveSOFDataTexture.js +2 -2
- package/dist/sof/shared/EveSOFDataTexture.js.map +1 -1
- package/dist/sof/shared/EveSOFDataTransform.js +2 -2
- package/dist/sof/shared/EveSOFDataTransform.js.map +1 -1
- package/dist/sof/shared/EveSofDataMeshInstance.js +2 -2
- package/dist/sof/shared/EveSofDataMeshInstance.js.map +1 -1
- package/dist/sof/sofDocumentValues.js +9 -0
- package/dist/sof/sofDocumentValues.js.map +1 -1
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js +2 -25
- package/dist/trinity/controllers/ITr2Controller/ITr2ActionController.js.map +1 -1
- package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js +2 -72
- package/dist/trinity/controllers/ITr2Controller/ITr2Controller.js.map +1 -1
- package/dist/trinity/controllers/ITr2ControllerOwner.js +1 -36
- package/dist/trinity/controllers/ITr2ControllerOwner.js.map +1 -1
- package/dist/trinity/controllers/Tr2Controller.js +4 -5
- package/dist/trinity/controllers/Tr2Controller.js.map +1 -1
- package/dist/trinity/controllers/Tr2ControllerEventHandler.js +2 -2
- package/dist/trinity/controllers/Tr2ControllerEventHandler.js.map +1 -1
- package/dist/trinity/controllers/Tr2ControllerReference.js +9 -17
- package/dist/trinity/controllers/Tr2ControllerReference.js.map +1 -1
- package/dist/trinity/controllers/Tr2SyncToAnimation.js +4 -5
- package/dist/trinity/controllers/Tr2SyncToAnimation.js.map +1 -1
- package/dist/trinity/controllers/action/ITr2ControllerAction.js +1 -28
- package/dist/trinity/controllers/action/ITr2ControllerAction.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js +9 -7
- package/dist/trinity/controllers/action/Tr2ActionAnimateCurveSet.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js +11 -9
- package/dist/trinity/controllers/action/Tr2ActionAnimateValue.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js +9 -7
- package/dist/trinity/controllers/action/Tr2ActionBindRTPC.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionCallback.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionCallback.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionChildEffect.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionChildEffect.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionOverlay.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionOverlay.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionPlayCurveSet.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js +13 -9
- package/dist/trinity/controllers/action/Tr2ActionPlayMeshAnimation.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPlaySound.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionPlaySound.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionPython.js +6 -6
- package/dist/trinity/controllers/action/Tr2ActionPython.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionResetClipSphereCenter.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetAttenuationScaling.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetAudioEmitterPrefix.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetAudioSwitch.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js +8 -17
- package/dist/trinity/controllers/action/Tr2ActionSetExternalControllerVariable.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSetShaderOption.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSetValue.js +11 -9
- package/dist/trinity/controllers/action/Tr2ActionSetValue.js.map +1 -1
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js +4 -5
- package/dist/trinity/controllers/action/Tr2ActionSpawnParticles.js.map +1 -1
- package/dist/trinity/controllers/contracts.js +27 -19
- package/dist/trinity/controllers/contracts.js.map +1 -1
- package/dist/trinity/controllers/expression/Tr2BindingPoint.js +6 -15
- package/dist/trinity/controllers/expression/Tr2BindingPoint.js.map +1 -1
- package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js +2 -2
- package/dist/trinity/controllers/expression/Tr2ControllerFloatVariable.js.map +1 -1
- package/dist/trinity/controllers/expression/expressionRuntime.js +136 -0
- package/dist/trinity/controllers/expression/expressionRuntime.js.map +1 -1
- package/dist/trinity/controllers/index.js +6 -6
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js +1 -24
- package/dist/trinity/controllers/state/ITr2StateMachineStateFinalizer.js.map +1 -1
- package/dist/trinity/controllers/state/Tr2StateMachine.js +4 -6
- package/dist/trinity/controllers/state/Tr2StateMachine.js.map +1 -1
- package/dist/trinity/controllers/state/Tr2StateMachineState.js +6 -6
- package/dist/trinity/controllers/state/Tr2StateMachineState.js.map +1 -1
- package/dist/trinity/controllers/state/Tr2StateMachineTransition.js +12 -9
- package/dist/trinity/controllers/state/Tr2StateMachineTransition.js.map +1 -1
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js +5 -6
- package/dist/trinity/controllers/timeline/Tr2TimelineController.js.map +1 -1
- package/dist/trinity/core/ITr2Renderable.js +1 -49
- package/dist/trinity/core/ITr2Renderable.js.map +1 -1
- package/dist/trinity/core/ITr2Updateable.js +1 -22
- package/dist/trinity/core/ITr2Updateable.js.map +1 -1
- package/dist/trinity/core/ITriReroutable.js +56 -0
- package/dist/trinity/core/ITriReroutable.js.map +1 -0
- package/dist/trinity/core/Tr2Denoiser.js +2 -2
- package/dist/trinity/core/Tr2Denoiser.js.map +1 -1
- package/dist/trinity/core/Tr2MaterialParameterStore.js +2 -2
- package/dist/trinity/core/Tr2MaterialParameterStore.js.map +1 -1
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js +2 -2
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRenderer.js.map +1 -1
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js +1 -1
- package/dist/trinity/core/Tr2QuadRenderer/Tr2QuadRendererEffectRecord.js.map +1 -1
- package/dist/trinity/core/Tr2Renderer.js +161 -4
- package/dist/trinity/core/Tr2Renderer.js.map +1 -1
- package/dist/trinity/core/Tr2ShadowMap.js +3 -3
- package/dist/trinity/core/Tr2ShadowMap.js.map +1 -1
- package/dist/trinity/core/Tr2StreamingBitmapSaver.js +2 -2
- package/dist/trinity/core/Tr2StreamingBitmapSaver.js.map +1 -1
- package/dist/trinity/core/Tr2Transform.js +4 -5
- package/dist/trinity/core/Tr2Transform.js.map +1 -1
- package/dist/trinity/core/animation/Tr2GrannyAnimation.js +2 -2
- package/dist/trinity/core/animation/Tr2GrannyAnimation.js.map +1 -1
- package/dist/trinity/core/animation/Tr2TextureAnimation.js +2 -2
- package/dist/trinity/core/animation/Tr2TextureAnimation.js.map +1 -1
- package/dist/trinity/core/animation/TriRigidOrientation.js +2 -2
- package/dist/trinity/core/animation/TriRigidOrientation.js.map +1 -1
- package/dist/trinity/core/animation/TriTorque.js +2 -2
- package/dist/trinity/core/animation/TriTorque.js.map +1 -1
- package/dist/trinity/core/batch/CjsBatchManager.js +15 -50
- package/dist/trinity/core/batch/CjsBatchManager.js.map +1 -1
- package/dist/trinity/core/batch/TriRenderBatch/ITriRenderBatchAccumulator.js.map +1 -1
- package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js +12 -14
- package/dist/trinity/core/batch/TriRenderBatch/Tr2RenderBatch.js.map +1 -1
- package/dist/trinity/core/binding/Tr2BindingVector3.js +2 -2
- package/dist/trinity/core/binding/Tr2BindingVector3.js.map +1 -1
- package/dist/trinity/core/binding/Tr2DynamicBinding.js +6 -20
- package/dist/trinity/core/binding/Tr2DynamicBinding.js.map +1 -1
- package/dist/trinity/core/binding/Tr2ExternalParameter.js +3 -6
- package/dist/trinity/core/binding/Tr2ExternalParameter.js.map +1 -1
- package/dist/trinity/core/binding/Tr2PyValueBinding.js +2 -2
- package/dist/trinity/core/binding/Tr2PyValueBinding.js.map +1 -1
- package/dist/trinity/core/binding/TriValueBinding.js +50 -24
- package/dist/trinity/core/binding/TriValueBinding.js.map +1 -1
- package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js +0 -6
- package/dist/trinity/core/context/CjsDirectTrinityStepExecutor.js.map +1 -1
- package/dist/trinity/core/context/CjsTrinityStepExecutor.js +7 -10
- package/dist/trinity/core/context/CjsTrinityStepExecutor.js.map +1 -1
- package/dist/trinity/core/context/Tr2RenderContext.js +74 -116
- package/dist/trinity/core/context/Tr2RenderContext.js.map +1 -1
- package/dist/trinity/core/device/Tr2DepthStencil.js +2 -2
- package/dist/trinity/core/device/Tr2DepthStencil.js.map +1 -1
- package/dist/trinity/core/device/Tr2GpuBuffer.js +2 -2
- package/dist/trinity/core/device/Tr2GpuBuffer.js.map +1 -1
- package/dist/trinity/core/device/Tr2RenderTarget.js +2 -2
- package/dist/trinity/core/device/Tr2RenderTarget.js.map +1 -1
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js +2 -2
- package/dist/trinity/core/device/Tr2RingBuffer/Tr2RingBuffer.js.map +1 -1
- package/dist/trinity/core/device/Tr2SwapChain.js +2 -2
- package/dist/trinity/core/device/Tr2SwapChain.js.map +1 -1
- package/dist/trinity/core/device/TriDevice.js +576 -37
- package/dist/trinity/core/device/TriDevice.js.map +1 -1
- package/dist/trinity/core/device/gTriDev.js +49 -0
- package/dist/trinity/core/device/gTriDev.js.map +1 -0
- package/dist/trinity/core/index.js +9 -5
- package/dist/trinity/core/index.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2KelvinColor.js +2 -2
- package/dist/trinity/core/lighting/Tr2KelvinColor.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2LightManager.js +7 -17
- package/dist/trinity/core/lighting/Tr2LightManager.js.map +1 -1
- package/dist/trinity/core/lighting/Tr2ShLightingManager.js +2 -2
- package/dist/trinity/core/lighting/Tr2ShLightingManager.js.map +1 -1
- package/dist/trinity/core/line/Tr2BoundingLineSet.js +2 -2
- package/dist/trinity/core/line/Tr2BoundingLineSet.js.map +1 -1
- package/dist/trinity/core/line/Tr2CurveLineSet.js +10 -7
- package/dist/trinity/core/line/Tr2CurveLineSet.js.map +1 -1
- package/dist/trinity/core/line/Tr2LineGraph.js +2 -2
- package/dist/trinity/core/line/Tr2LineGraph.js.map +1 -1
- package/dist/trinity/core/line/Tr2PrimitiveSet.js +4 -5
- package/dist/trinity/core/line/Tr2PrimitiveSet.js.map +1 -1
- package/dist/trinity/core/line/TriLineSet.js +2 -2
- package/dist/trinity/core/line/TriLineSet.js.map +1 -1
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js +1 -37
- package/dist/trinity/core/mesh/ITr2ImpostorSource/ITr2ImpostorSource.js.map +1 -1
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js +1 -34
- package/dist/trinity/core/mesh/ITr2InstanceData/ITr2InstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js +5 -6
- package/dist/trinity/core/mesh/Tr2DirectInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2InstancedMesh.js +2 -2
- package/dist/trinity/core/mesh/Tr2InstancedMesh.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2Mesh.js +288 -183
- package/dist/trinity/core/mesh/Tr2Mesh.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2MeshArea.js +32 -3
- package/dist/trinity/core/mesh/Tr2MeshArea.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2MeshBase.js +58 -8
- package/dist/trinity/core/mesh/Tr2MeshBase.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js +141 -142
- package/dist/trinity/core/mesh/Tr2RuntimeInstanceData.js.map +1 -1
- package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js +2 -2
- package/dist/trinity/core/mesh/Tr2SerializedMorphAnimation.js.map +1 -1
- package/dist/trinity/core/procedural/GradientTextureConstructor.js +62 -0
- package/dist/trinity/core/procedural/GradientTextureConstructor.js.map +1 -0
- package/dist/trinity/core/procedural/gradientTexture.js +196 -0
- package/dist/trinity/core/procedural/gradientTexture.js.map +1 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectData.js.map +1 -1
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js +5 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataPSBuffer.js.map +1 -1
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js +2 -0
- package/dist/trinity/core/rawData/perObjectData/Tr2PerObjectDataStandard.js.map +1 -1
- package/dist/trinity/core/tool/Tr2ManipulationTool.js +2 -2
- package/dist/trinity/core/tool/Tr2ManipulationTool.js.map +1 -1
- package/dist/trinity/core/tool/Tr2RotationTool.js +2 -2
- package/dist/trinity/core/tool/Tr2RotationTool.js.map +1 -1
- package/dist/trinity/core/tool/Tr2ScalingTool.js +2 -2
- package/dist/trinity/core/tool/Tr2ScalingTool.js.map +1 -1
- package/dist/trinity/core/tool/Tr2TranslationTool.js +2 -2
- package/dist/trinity/core/tool/Tr2TranslationTool.js.map +1 -1
- package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js +2 -2
- package/dist/trinity/core/variable/Tr2ExpressionTermInfo.js.map +1 -1
- package/dist/trinity/core/variable/TriFloat.js +2 -2
- package/dist/trinity/core/variable/TriFloat.js.map +1 -1
- package/dist/trinity/core/variable/TriObserverLocal.js +2 -2
- package/dist/trinity/core/variable/TriObserverLocal.js.map +1 -1
- package/dist/trinity/core/variable/TriVariable.js +2 -2
- package/dist/trinity/core/variable/TriVariable.js.map +1 -1
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js +2 -0
- package/dist/trinity/core/vertex/Tr2VertexDefinition/Tr2VertexDefinition.js.map +1 -1
- package/dist/trinity/core/view/TriProjection.js +2 -2
- package/dist/trinity/core/view/TriProjection.js.map +1 -1
- package/dist/trinity/core/view/TriRect.js +2 -2
- package/dist/trinity/core/view/TriRect.js.map +1 -1
- package/dist/trinity/core/view/TriView.js +2 -2
- package/dist/trinity/core/view/TriView.js.map +1 -1
- package/dist/trinity/core/view/TriViewport.js +2 -2
- package/dist/trinity/core/view/TriViewport.js.map +1 -1
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js +3 -3
- package/dist/trinity/core/volumetrics/Tr2VolumetricsRenderer.js.map +1 -1
- package/dist/trinity/curves/Tr2CurveSetRange.js +2 -2
- package/dist/trinity/curves/Tr2CurveSetRange.js.map +1 -1
- package/dist/trinity/curves/TriCurveSet.js +2 -2
- package/dist/trinity/curves/TriCurveSet.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2BoneMatrixCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveColor.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveColor.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveColorMixer.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveColorMixer.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveCombiner.js +3 -3
- package/dist/trinity/curves/curve/Tr2CurveCombiner.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveConstant.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveConstant.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveEulerRotation.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveEulerRotationExpression.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveQuaternion.js +3 -3
- package/dist/trinity/curves/curve/Tr2CurveQuaternion.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveRandomAxisRotation.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveScalar.js +3 -3
- package/dist/trinity/curves/curve/Tr2CurveScalar.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveScalarExpression.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector2.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector2.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector3.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector3.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector3Expression.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js +2 -2
- package/dist/trinity/curves/curve/Tr2CurveVector3Lerp.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2DistanceTracker.js +5 -5
- package/dist/trinity/curves/curve/Tr2DistanceTracker.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2FollowCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2FollowCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2QuaternionLerpCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2RotationAdapter.js +2 -2
- package/dist/trinity/curves/curve/Tr2RotationAdapter.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js +2 -2
- package/dist/trinity/curves/curve/Tr2ScalarExprKeyCurve.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2ScalarFader.js +2 -2
- package/dist/trinity/curves/curve/Tr2ScalarFader.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2TranslationAdapter.js +2 -2
- package/dist/trinity/curves/curve/Tr2TranslationAdapter.js.map +1 -1
- package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js +2 -2
- package/dist/trinity/curves/curve/Tr2VectorFunctionModifier.js.map +1 -1
- package/dist/trinity/curves/curve/TriColorSequencer.js +18 -18
- package/dist/trinity/curves/curve/TriColorSequencer.js.map +1 -1
- package/dist/trinity/curves/curve/TriEventCurve.js +51 -51
- package/dist/trinity/curves/curve/TriEventCurve.js.map +1 -1
- package/dist/trinity/curves/curve/TriPerlinCurve.js +2 -2
- package/dist/trinity/curves/curve/TriPerlinCurve.js.map +1 -1
- package/dist/trinity/curves/curve/TriVectorSequencer.js +36 -36
- package/dist/trinity/curves/curve/TriVectorSequencer.js.map +1 -1
- package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js +2 -2
- package/dist/trinity/curves/key/Tr2CameraFollowCurveKey.js.map +1 -1
- package/dist/trinity/curves/key/Tr2MatrixKey.js +2 -2
- package/dist/trinity/curves/key/Tr2MatrixKey.js.map +1 -1
- package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js +2 -2
- package/dist/trinity/curves/key/Tr2ObjectFollowCurveKey.js.map +1 -1
- package/dist/trinity/curves/key/Tr2ScalarExprKey.js +28 -24
- package/dist/trinity/curves/key/Tr2ScalarExprKey.js.map +1 -1
- package/dist/trinity/curves/key/TriEventKey.js +2 -2
- package/dist/trinity/curves/key/TriEventKey.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyEventTrack.js +2 -2
- package/dist/trinity/curves/track/Tr2GrannyEventTrack.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyTrack.js +9 -4
- package/dist/trinity/curves/track/Tr2GrannyTrack.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js +2 -2
- package/dist/trinity/curves/track/Tr2GrannyTransformTrack.js.map +1 -1
- package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js +2 -2
- package/dist/trinity/curves/track/Tr2GrannyVectorTrack.js.map +1 -1
- package/dist/trinity/eve/AudioGameObject.js +6 -8
- package/dist/trinity/eve/AudioGameObject.js.map +1 -1
- package/dist/trinity/eve/EveCustomMask.js +2 -2
- package/dist/trinity/eve/EveCustomMask.js.map +1 -1
- package/dist/trinity/eve/EveDistanceField.js +6 -4
- package/dist/trinity/eve/EveDistanceField.js.map +1 -1
- package/dist/trinity/eve/EveImpactOverlay.js +2 -2
- package/dist/trinity/eve/EveImpactOverlay.js.map +1 -1
- package/dist/trinity/eve/EveThrottleable.js +2 -2
- package/dist/trinity/eve/EveThrottleable.js.map +1 -1
- package/dist/trinity/eve/EveTriggerVolume.js +4 -5
- package/dist/trinity/eve/EveTriggerVolume.js.map +1 -1
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js +1 -23
- package/dist/trinity/eve/IEveInheritPropertiesOwner.js.map +1 -1
- package/dist/trinity/eve/IEveSpaceObject2.js +1 -24
- package/dist/trinity/eve/IEveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/IEveTransform.js +1 -22
- package/dist/trinity/eve/IEveTransform.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerItem.js +2 -2
- package/dist/trinity/eve/attachment/banner/EveBannerItem.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerLight.js +2 -2
- package/dist/trinity/eve/attachment/banner/EveBannerLight.js.map +1 -1
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js +20 -3
- package/dist/trinity/eve/attachment/banner/EveBannerSet.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js +127 -122
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js +5 -5
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Item.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js +4 -5
- package/dist/trinity/eve/attachment/booster/EveBoosterSet2Renderable.js.map +1 -1
- package/dist/trinity/eve/attachment/booster/EveTrailsSet.js +4 -2
- package/dist/trinity/eve/attachment/booster/EveTrailsSet.js.map +1 -1
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js +151 -148
- package/dist/trinity/eve/attachment/decal/EveSpaceObjectDecal.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js +3 -3
- package/dist/trinity/eve/attachment/haze/EveHazeSet.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js +2 -2
- package/dist/trinity/eve/attachment/haze/EveHazeSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js +2 -2
- package/dist/trinity/eve/attachment/haze/EveHazeSetLight.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneLight.js +2 -2
- package/dist/trinity/eve/attachment/plane/EvePlaneLight.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js +10 -4
- package/dist/trinity/eve/attachment/plane/EvePlaneSet.js.map +1 -1
- package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js +3 -2
- package/dist/trinity/eve/attachment/plane/EvePlaneSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js +2 -2
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightLight.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js +3 -3
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSet.js.map +1 -1
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js +2 -2
- package/dist/trinity/eve/attachment/spotlight/EveSpotlightSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js +2 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteLight.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js +4 -4
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js +2 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteLineSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js +5 -5
- package/dist/trinity/eve/attachment/sprite/EveSpriteSet.js.map +1 -1
- package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js +2 -2
- package/dist/trinity/eve/attachment/sprite/EveSpriteSetItem.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js +7 -4
- package/dist/trinity/eve/attachment/turrets/EveTurretFiringFX.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js +177 -144
- package/dist/trinity/eve/attachment/turrets/EveTurretSet.js.map +1 -1
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js +2 -2
- package/dist/trinity/eve/attachment/turrets/EveTurretTarget.js.map +1 -1
- package/dist/trinity/eve/camera/EveCamera.js +5 -11
- package/dist/trinity/eve/camera/EveCamera.js.map +1 -1
- package/dist/trinity/eve/child/EveChildAudio.js +4 -5
- package/dist/trinity/eve/child/EveChildAudio.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBehaviorSystem.js +5 -6
- package/dist/trinity/eve/child/EveChildBehaviorSystem.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBoosterSet.js +6 -6
- package/dist/trinity/eve/child/EveChildBoosterSet.js.map +1 -1
- package/dist/trinity/eve/child/EveChildBulletStorm.js +4 -5
- package/dist/trinity/eve/child/EveChildBulletStorm.js.map +1 -1
- package/dist/trinity/eve/child/EveChildCloud.js +5 -6
- package/dist/trinity/eve/child/EveChildCloud.js.map +1 -1
- package/dist/trinity/eve/child/EveChildCloud2.js +166 -166
- package/dist/trinity/eve/child/EveChildCloud2.js.map +1 -1
- package/dist/trinity/eve/child/EveChildContainer.js +235 -169
- package/dist/trinity/eve/child/EveChildContainer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildEffectPropagator.js +9 -9
- package/dist/trinity/eve/child/EveChildEffectPropagator.js.map +1 -1
- package/dist/trinity/eve/child/EveChildExplosion.js +11 -7
- package/dist/trinity/eve/child/EveChildExplosion.js.map +1 -1
- package/dist/trinity/eve/child/EveChildFogVolume.js +2 -2
- package/dist/trinity/eve/child/EveChildFogVolume.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInheritProperties.js +2 -2
- package/dist/trinity/eve/child/EveChildInheritProperties.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstanceContainer.js +2 -2
- package/dist/trinity/eve/child/EveChildInstanceContainer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js +11 -7
- package/dist/trinity/eve/child/EveChildInstanceMeshRenderer.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js +2 -2
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js +2 -2
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshArea.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js +2 -2
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshInstance.js.map +1 -1
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js +4 -5
- package/dist/trinity/eve/child/EveChildInstancedMeshes/EveChildInstancedMeshes.js.map +1 -1
- package/dist/trinity/eve/child/EveChildLightingOverride.js +4 -5
- package/dist/trinity/eve/child/EveChildLightingOverride.js.map +1 -1
- package/dist/trinity/eve/child/EveChildLineSet.js +4 -5
- package/dist/trinity/eve/child/EveChildLineSet.js.map +1 -1
- package/dist/trinity/eve/child/EveChildLink.js +2 -2
- package/dist/trinity/eve/child/EveChildLink.js.map +1 -1
- package/dist/trinity/eve/child/EveChildMesh.js +299 -227
- package/dist/trinity/eve/child/EveChildMesh.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js +2 -2
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartData.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js +2 -2
- package/dist/trinity/eve/child/EveChildPartData/EveChildPartDataPartData.js.map +1 -1
- package/dist/trinity/eve/child/EveChildParticleSphere.js +4 -5
- package/dist/trinity/eve/child/EveChildParticleSphere.js.map +1 -1
- package/dist/trinity/eve/child/EveChildParticleSystem.js +36 -36
- package/dist/trinity/eve/child/EveChildParticleSystem.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPlug.js +60 -14
- package/dist/trinity/eve/child/EveChildPlug.js.map +1 -1
- package/dist/trinity/eve/child/EveChildPostProcessVolume.js +2 -2
- package/dist/trinity/eve/child/EveChildPostProcessVolume.js.map +1 -1
- package/dist/trinity/eve/child/EveChildQuad.js +4 -5
- package/dist/trinity/eve/child/EveChildQuad.js.map +1 -1
- package/dist/trinity/eve/child/EveChildRef.js +2 -2
- package/dist/trinity/eve/child/EveChildRef.js.map +1 -1
- package/dist/trinity/eve/child/EveChildSocket.js +2 -2
- package/dist/trinity/eve/child/EveChildSocket.js.map +1 -1
- package/dist/trinity/eve/child/EveChildSpherePin.js +4 -4
- package/dist/trinity/eve/child/EveChildSpherePin.js.map +1 -1
- package/dist/trinity/eve/child/EveChildTurret.js +4 -4
- package/dist/trinity/eve/child/EveChildTurret.js.map +1 -1
- package/dist/trinity/eve/child/EveCloudVolumeBall.js +2 -2
- package/dist/trinity/eve/child/EveCloudVolumeBall.js.map +1 -1
- package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js +6 -6
- package/dist/trinity/eve/child/EveCloudVolumeTextureParameter.js.map +1 -1
- package/dist/trinity/eve/child/EveSpaceObjectChild.js +2 -2
- package/dist/trinity/eve/child/EveSpaceObjectChild.js.map +1 -1
- package/dist/trinity/eve/child/IEveLightingOverride.js +1 -23
- package/dist/trinity/eve/child/IEveLightingOverride.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Allign.js +2 -2
- package/dist/trinity/eve/child/behaviors/Allign.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/ApproachGroup.js +2 -2
- package/dist/trinity/eve/child/behaviors/ApproachGroup.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/BackAndForth.js +2 -2
- package/dist/trinity/eve/child/behaviors/BackAndForth.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/BehaviorGroup.js +4 -4
- package/dist/trinity/eve/child/behaviors/BehaviorGroup.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js +2 -2
- package/dist/trinity/eve/child/behaviors/BehaviorGroupBooster.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js +2 -2
- package/dist/trinity/eve/child/behaviors/CollisionAvoidance.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/DroneAvoidance.js +2 -2
- package/dist/trinity/eve/child/behaviors/DroneAvoidance.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/FollowASpline.js +2 -2
- package/dist/trinity/eve/child/behaviors/FollowASpline.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Formation.js +2 -2
- package/dist/trinity/eve/child/behaviors/Formation.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/InclusionVolume.js +2 -2
- package/dist/trinity/eve/child/behaviors/InclusionVolume.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Inertia.js +2 -2
- package/dist/trinity/eve/child/behaviors/Inertia.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/PlayFX.js +2 -2
- package/dist/trinity/eve/child/behaviors/PlayFX.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/SeekTarget.js +2 -2
- package/dist/trinity/eve/child/behaviors/SeekTarget.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/SpawnDrones.js +2 -2
- package/dist/trinity/eve/child/behaviors/SpawnDrones.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/Wander.js +2 -2
- package/dist/trinity/eve/child/behaviors/Wander.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js +2 -2
- package/dist/trinity/eve/child/behaviors/lifecycle/ProcessLifetime.js.map +1 -1
- package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js +2 -2
- package/dist/trinity/eve/child/behaviors/tunnels/SplineTunnelGroup.js.map +1 -1
- package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js +8 -8
- package/dist/trinity/eve/child/lineSetPaths/EveBezierCurve.js.map +1 -1
- package/dist/trinity/eve/child/lineSetPaths/EveCircle.js +8 -8
- package/dist/trinity/eve/child/lineSetPaths/EveCircle.js.map +1 -1
- package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js +2 -2
- package/dist/trinity/eve/child/lineSetPaths/EveLineChildContainer.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierAttachToBone.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierBillboard3D.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierSRT.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierStretch.js.map +1 -1
- package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js +2 -2
- package/dist/trinity/eve/child/modifiers/EveChildModifierTranslateWithCamera.js.map +1 -1
- package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js +5 -6
- package/dist/trinity/eve/child/procedural/EveChildProceduralContainer.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js +3 -3
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMap.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js +3 -3
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodAttributeMapParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js +2 -2
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCycling.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js +3 -3
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodCyclingParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandom.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodRandomParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholdParameter.js.map +1 -1
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js +4 -4
- package/dist/trinity/eve/child/procedural/selection/EveProceduralMethodThresholds.js.map +1 -1
- package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js +2 -2
- package/dist/trinity/eve/distribution/EveBaseDistributionMethod.js.map +1 -1
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js +2 -2
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierProcessLifetime.js.map +1 -1
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js +2 -2
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierScaleBySpaceObjectParent.js.map +1 -1
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js +2 -2
- package/dist/trinity/eve/distribution/attributeModifiers/EveDistributionModifierTransformOffset.js.map +1 -1
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js +2 -2
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorLocators.js.map +1 -1
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js +4 -4
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorParentLocators.js.map +1 -1
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js +2 -2
- package/dist/trinity/eve/distribution/placement/EveDistributionPlacementGeneratorVolume.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierLifeTimeOffset.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomOffset.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomRotation.js.map +1 -1
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js +2 -2
- package/dist/trinity/eve/distribution/spawnModifiers/EveDistributionSpawnModifierRandomScale.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerBurst.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerControllerTrigger.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerInterval.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerPlane.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSnake.js.map +1 -1
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js +2 -2
- package/dist/trinity/eve/distribution/spawners/EveDistributionSpawnerTriggerSphere.js.map +1 -1
- package/dist/trinity/eve/effect/lensflare/EveLensflare.js +4 -5
- package/dist/trinity/eve/effect/lensflare/EveLensflare.js.map +1 -1
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js +4 -5
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffect.js.map +1 -1
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js +4 -4
- package/dist/trinity/eve/effect/multiEffect/EveMultiEffectParameter.js.map +1 -1
- package/dist/trinity/eve/index.js +4 -4
- package/dist/trinity/eve/lights/Tr2FactionLight.js +5 -6
- package/dist/trinity/eve/lights/Tr2FactionLight.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2Light.js +37 -9
- package/dist/trinity/eve/lights/Tr2Light.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2PointLight.js +2 -2
- package/dist/trinity/eve/lights/Tr2PointLight.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2SpotLight.js +2 -2
- package/dist/trinity/eve/lights/Tr2SpotLight.js.map +1 -1
- package/dist/trinity/eve/lights/Tr2TexturedPointLight.js +29 -31
- package/dist/trinity/eve/lights/Tr2TexturedPointLight.js.map +1 -1
- package/dist/trinity/eve/locator/EveLocator2.js +2 -2
- package/dist/trinity/eve/locator/EveLocator2.js.map +1 -1
- package/dist/trinity/eve/locator/EveLocatorSets.js +2 -2
- package/dist/trinity/eve/locator/EveLocatorSets.js.map +1 -1
- package/dist/trinity/eve/locator/Locator.js +2 -2
- package/dist/trinity/eve/locator/Locator.js.map +1 -1
- package/dist/trinity/eve/overlays/EveDamageOverlay.js +2 -2
- package/dist/trinity/eve/overlays/EveDamageOverlay.js.map +1 -1
- package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js +2 -2
- package/dist/trinity/eve/overlays/EveMeshOverlayEffect.js.map +1 -1
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js +5 -6
- package/dist/trinity/eve/particles/static/EveSceneStaticParticles.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js +4 -5
- package/dist/trinity/eve/renderable/stretch/EveFiringEffectElementContainer.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js +2 -2
- package/dist/trinity/eve/renderable/stretch/EveLocalPositionCurve.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js +2 -2
- package/dist/trinity/eve/renderable/stretch/EveRemotePositionCurve.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch.js +6 -6
- package/dist/trinity/eve/renderable/stretch/EveStretch.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js +10 -8
- package/dist/trinity/eve/renderable/stretch/EveStretch2.js.map +1 -1
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js +4 -5
- package/dist/trinity/eve/renderable/stretch/EveStretch3.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceScene.js +2 -2
- package/dist/trinity/eve/scene/EveSpaceScene.js.map +1 -1
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js +2 -2
- package/dist/trinity/eve/scene/EveSpaceSceneRenderDriver.js.map +1 -1
- package/dist/trinity/eve/scene/components/EveComponentRegistry.js +3 -3
- package/dist/trinity/eve/scene/components/EveComponentRegistry.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js +6 -7
- package/dist/trinity/eve/smartLights/EveChildSmartLightSet.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js +2 -2
- package/dist/trinity/eve/smartLights/EveSmartLightBaseGroup.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js +4 -8
- package/dist/trinity/eve/smartLights/EveSmartLightColorShareGroup.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightMesh.js +7 -4
- package/dist/trinity/eve/smartLights/EveSmartLightMesh.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js +25 -15
- package/dist/trinity/eve/smartLights/EveSmartLightPointLight.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightQuad.js +4 -9
- package/dist/trinity/eve/smartLights/EveSmartLightQuad.js.map +1 -1
- package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js +2 -2
- package/dist/trinity/eve/smartLights/EveSmartLightSpotLight.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js +2 -3
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierBucket.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierCameraDependency.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierColor.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js +10 -18
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierControllerVariableListener.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierExpressionBucket.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js +2 -2
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightAttributeModifierNoise.js.map +1 -1
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js +4 -9
- package/dist/trinity/eve/smartLights/attributeModifiers/EveSmartLightBaseAttributeModifier.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterBool.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterBool.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterColor.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterColor.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterFloat.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterFloat.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterInt.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterInt.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterString.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterString.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterVector2.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterVector2.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterVector3.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterVector3.js.map +1 -1
- package/dist/trinity/eve/socket/EveSocketParameterVector4.js +2 -2
- package/dist/trinity/eve/socket/EveSocketParameterVector4.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveEffectRoot2.js +20 -17
- package/dist/trinity/eve/spaceObject/EveEffectRoot2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveMissile.js +2 -2
- package/dist/trinity/eve/spaceObject/EveMissile.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveMissileWarhead.js +2 -2
- package/dist/trinity/eve/spaceObject/EveMissileWarhead.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveMobile.js +2 -2
- package/dist/trinity/eve/spaceObject/EveMobile.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveRootTransform.js +2 -2
- package/dist/trinity/eve/spaceObject/EveRootTransform.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveShip2.js +2 -2
- package/dist/trinity/eve/spaceObject/EveShip2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js +525 -431
- package/dist/trinity/eve/spaceObject/EveSpaceObject2.js.map +1 -1
- package/dist/trinity/eve/spaceObject/EveTransform.js +7 -7
- package/dist/trinity/eve/spaceObject/EveTransform.js.map +1 -1
- package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js +2 -2
- package/dist/trinity/eve/spaceObject/fxAttributes/EveCameraFxAttributes.js.map +1 -1
- package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js +2 -2
- package/dist/trinity/eve/spaceObject/fxAttributes/EveSpaceObjectFxAttributes.js.map +1 -1
- package/dist/trinity/eve/spaceObject/planet/EvePlanet.js +2 -2
- package/dist/trinity/eve/spaceObject/planet/EvePlanet.js.map +1 -1
- package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js +2 -2
- package/dist/trinity/eve/spaceObject/swarm/EveSwarm.js.map +1 -1
- package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js +7 -8
- package/dist/trinity/eve/spaceObject/swarm/EveSwarmRenderable.js.map +1 -1
- package/dist/trinity/eve/ui/EveConnector.js +2 -2
- package/dist/trinity/eve/ui/EveConnector.js.map +1 -1
- package/dist/trinity/eve/ui/EveEllipseDefinition.js +2 -2
- package/dist/trinity/eve/ui/EveEllipseDefinition.js.map +1 -1
- package/dist/trinity/eve/ui/EveEllipseSet.js +36 -6
- package/dist/trinity/eve/ui/EveEllipseSet.js.map +1 -1
- package/dist/trinity/eve/ui/EveLineContainer.js +4 -5
- package/dist/trinity/eve/ui/EveLineContainer.js.map +1 -1
- package/dist/trinity/eve/ui/EveProjectBracket.js +11 -3
- package/dist/trinity/eve/ui/EveProjectBracket.js.map +1 -1
- package/dist/trinity/eve/ui/EveSpherePin.js +6 -7
- package/dist/trinity/eve/ui/EveSpherePin.js.map +1 -1
- package/dist/trinity/eve/ui/EveSprite2dBracket.js +2 -2
- package/dist/trinity/eve/ui/EveSprite2dBracket.js.map +1 -1
- package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js +2 -2
- package/dist/trinity/eve/ui/EveSprite2dBracketRenderer.js.map +1 -1
- package/dist/trinity/eve/ui/EveTacticalOverlay.js +6 -24
- package/dist/trinity/eve/ui/EveTacticalOverlay.js.map +1 -1
- package/dist/trinity/eve/ui/EveUiObject.js +2 -2
- package/dist/trinity/eve/ui/EveUiObject.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js +4 -5
- package/dist/trinity/eve/ui/lines/EveCurveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/lines/EveLineSet.js +6 -7
- package/dist/trinity/eve/ui/lines/EveLineSet.js.map +1 -1
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js +2 -2
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalOverlayTrackObject.js.map +1 -1
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js +8 -9
- package/dist/trinity/eve/ui/tacticalOverlay/EveTacticalTrails.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js +2 -2
- package/dist/trinity/eve/virtualCamera/EveVirtualCamera.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js +2 -2
- package/dist/trinity/eve/virtualCamera/EveVirtualCameraSystem.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatAdd.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js +4 -4
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatBase.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatDamping.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatNoise.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourFloatSet.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js +4 -4
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Base.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Damping.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Inertia.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveBetween.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3MoveForward.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Offset.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Orbit.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js +2 -2
- package/dist/trinity/eve/virtualCamera/behaviour/EveVirtualCameraBehaviourVector3Shake.js.map +1 -1
- package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js +2 -2
- package/dist/trinity/eve/virtualCamera/transition/EveVirtualCameraTransitionLerp.js.map +1 -1
- package/dist/trinity/eve/volume/EveBoxVolume.js +44 -44
- package/dist/trinity/eve/volume/EveBoxVolume.js.map +1 -1
- package/dist/trinity/eve/volume/EveEllipsoidVolume.js +2 -2
- package/dist/trinity/eve/volume/EveEllipsoidVolume.js.map +1 -1
- package/dist/trinity/eve/volume/EveSphereVolume.js +5 -6
- package/dist/trinity/eve/volume/EveSphereVolume.js.map +1 -1
- package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js +2 -2
- package/dist/trinity/generated/eve/child/EveCloudEditableVolume.js.map +1 -1
- package/dist/trinity/generated/eve/effect/EveOccluder.js +2 -2
- package/dist/trinity/generated/eve/effect/EveOccluder.js.map +1 -1
- package/dist/trinity/generated/eve/effect/EveStarfield.js +2 -2
- package/dist/trinity/generated/eve/effect/EveStarfield.js.map +1 -1
- package/dist/trinity/generated/font/Tr2FontManager.js +2 -2
- package/dist/trinity/generated/font/Tr2FontManager.js.map +1 -1
- package/dist/trinity/generated/font/Tr2FontMeasurer.js +2 -2
- package/dist/trinity/generated/font/Tr2FontMeasurer.js.map +1 -1
- package/dist/trinity/generated/font/Tr2SBitWrapper.js +2 -2
- package/dist/trinity/generated/font/Tr2SBitWrapper.js.map +1 -1
- package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js +2 -2
- package/dist/trinity/generated/particle/Tr2GpuParticleSystem.js.map +1 -1
- package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js +2 -2
- package/dist/trinity/generated/raytracing/Tr2RaytracingManager.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2d.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dArc.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dContainer.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dFrame.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLayer.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dLine.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretch.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dStretchVertical.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTextObject.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2Sprite2dTexture.js.map +1 -1
- package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js +2 -2
- package/dist/trinity/generated/sprite2d/Tr2SpriteObject.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2AtlasTexture.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2GpuStructuredBuffer.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2GrannyPrimitiveSet.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2HostBitmap.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2ImpostorManager.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveScene.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2PrimitiveText.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2ReflectionProbe.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2SSSSS.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2SSSSS.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlas.js.map +1 -1
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js +2 -2
- package/dist/trinity/generated/trinityCore/Tr2TextureAtlasMan.js.map +1 -1
- package/dist/trinity/index.js +23 -16
- package/dist/trinity/index.js.map +1 -1
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js +1 -31
- package/dist/trinity/particle/ITr2GenericEmitter/ITr2GenericEmitter.js.map +1 -1
- package/dist/trinity/particle/Tr2ParticleSystem.js +51 -52
- package/dist/trinity/particle/Tr2ParticleSystem.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2CapsuleShapeAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2ConsecutiveIntegerAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2RandomDirectionAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2RandomIntegerAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2RandomUniformAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js +2 -2
- package/dist/trinity/particle/attribute/Tr2SphereShapeAttributeGenerator.js.map +1 -1
- package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js +2 -2
- package/dist/trinity/particle/constraint/Tr2ElementBlendConstraint.js.map +1 -1
- package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js +13 -3
- package/dist/trinity/particle/constraint/Tr2PlaneConstraint.js.map +1 -1
- package/dist/trinity/particle/constraint/Tr2SphereConstraint.js +2 -2
- package/dist/trinity/particle/constraint/Tr2SphereConstraint.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementData.js +22 -8
- package/dist/trinity/particle/element/Tr2ParticleElementData.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js +13 -25
- package/dist/trinity/particle/element/Tr2ParticleElementDeclaration.js.map +1 -1
- package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js +38 -3
- package/dist/trinity/particle/element/Tr2ParticleElementDeclarationName.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js +26 -27
- package/dist/trinity/particle/emitter/Tr2DynamicEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js +4 -5
- package/dist/trinity/particle/emitter/Tr2GpuSharedEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js +2 -2
- package/dist/trinity/particle/emitter/Tr2GpuUniqueEmitter.js.map +1 -1
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js +17 -18
- package/dist/trinity/particle/emitter/Tr2StaticEmitter.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ForceSphereVolume.js +2 -2
- package/dist/trinity/particle/force/Tr2ForceSphereVolume.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleAttractorForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleDirectForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleDirectForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleDragForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleDragForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleFluidDragForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleSpring.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleSpring.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleTurbulenceForce.js.map +1 -1
- package/dist/trinity/particle/force/Tr2ParticleVortexForce.js +2 -2
- package/dist/trinity/particle/force/Tr2ParticleVortexForce.js.map +1 -1
- package/dist/trinity/particle/index.js +1 -1
- package/dist/trinity/postProcess/Tr2PostProcess.js +2 -2
- package/dist/trinity/postProcess/Tr2PostProcess.js.map +1 -1
- package/dist/trinity/postProcess/Tr2PostProcess2.js +2 -2
- package/dist/trinity/postProcess/Tr2PostProcess2.js.map +1 -1
- package/dist/trinity/postProcess/Tr2PostProcessAttributes.js +2 -2
- package/dist/trinity/postProcess/Tr2PostProcessAttributes.js.map +1 -1
- package/dist/trinity/postProcess/Tr2PostProcessRenderer.js +4 -4
- package/dist/trinity/postProcess/Tr2PostProcessRenderer.js.map +1 -1
- package/dist/trinity/postProcess/Tr2SSAO.js +4 -4
- package/dist/trinity/postProcess/Tr2SSAO.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPBloomEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPColorCorrectionEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPDepthOfFieldEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPDesaturateEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPDynamicExposureEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPFadeEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPFilmGrainEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPFogEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPGenericEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPGodRaysEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPLutEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPSignalLossEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPTaaEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPTonemappingEffect.js.map +1 -1
- package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js +2 -2
- package/dist/trinity/postProcess/effect/Tr2PPVignetteEffect.js.map +1 -1
- package/dist/trinity/renderJob/Tr2RenderJobs.js +5 -5
- package/dist/trinity/renderJob/Tr2RenderJobs.js.map +1 -1
- package/dist/trinity/renderJob/TriRenderJob.js +4 -4
- package/dist/trinity/renderJob/TriRenderJob.js.map +1 -1
- package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js +4 -5
- package/dist/trinity/renderJob/node/Tr2RenderNodeEffect.js.map +1 -1
- package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js +4 -5
- package/dist/trinity/renderJob/node/Tr2RenderNodeSprite2dScene.js.map +1 -1
- package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js +2 -2
- package/dist/trinity/renderJob/step/Tr2StepExecuteRenderNode.js.map +1 -1
- package/dist/trinity/renderJob/step/TriRenderStep.js +2 -2
- package/dist/trinity/renderJob/step/TriRenderStep.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepClear.js +2 -2
- package/dist/trinity/renderJob/step/TriStepClear.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepClearUav.js +2 -2
- package/dist/trinity/renderJob/step/TriStepClearUav.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepCopyRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js +2 -2
- package/dist/trinity/renderJob/step/TriStepEnableWireframeMode.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js +2 -2
- package/dist/trinity/renderJob/step/TriStepFilterVisibilityResults.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js +2 -2
- package/dist/trinity/renderJob/step/TriStepGenerateMipMaps.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPopRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPresentSwapChain.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPushDepthStencil.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepPushRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderAtlas.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderAtlas.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderDebug.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderDebug.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderEffect.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderEffect.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderFps.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderFps.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderLineGraph.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderObject.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderObject.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderPass.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderPass.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderScene.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderScene.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderSceneDebug.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRenderTexture.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRenderTexture.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepResolve.js +2 -2
- package/dist/trinity/renderJob/step/TriStepResolve.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRunComputeShader.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRunComputeShader.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepRunJob.js +2 -2
- package/dist/trinity/renderJob/step/TriStepRunJob.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetDebugRenderer.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetDepthStencil.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetProjection.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetProjection.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetRenderState.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetRenderState.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetRenderTarget.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetStdRndStates.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetUpscalingContextID.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetVariableStore.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetVariableStore.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetView.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetView.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetViewport.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetViewport.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js +2 -2
- package/dist/trinity/renderJob/step/TriStepSetVisualizationMode.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepTestBlocking.js +2 -2
- package/dist/trinity/renderJob/step/TriStepTestBlocking.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepToggleCubemap.js +2 -2
- package/dist/trinity/renderJob/step/TriStepToggleCubemap.js.map +1 -1
- package/dist/trinity/renderJob/step/TriStepUpdate.js +2 -2
- package/dist/trinity/renderJob/step/TriStepUpdate.js.map +1 -1
- package/dist/trinity/shader/Tr2DataTextureManager.js +9 -9
- package/dist/trinity/shader/Tr2DataTextureManager.js.map +1 -1
- package/dist/trinity/shader/Tr2Effect.js +370 -347
- package/dist/trinity/shader/Tr2Effect.js.map +1 -1
- package/dist/trinity/shader/Tr2Material.js +5 -5
- package/dist/trinity/shader/Tr2Material.js.map +1 -1
- package/dist/trinity/shader/Tr2ShaderBuffer.js +3 -4
- package/dist/trinity/shader/Tr2ShaderBuffer.js.map +1 -1
- package/dist/trinity/shader/index.js +3 -0
- package/dist/trinity/shader/index.js.map +1 -1
- package/dist/trinity/shader/parameter/CjsParameter.js +202 -185
- package/dist/trinity/shader/parameter/CjsParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/CjsVectorParameter.js +2 -2
- package/dist/trinity/shader/parameter/CjsVectorParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/ITriEffectParameter.js +56 -0
- package/dist/trinity/shader/parameter/ITriEffectParameter.js.map +1 -0
- package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js +31 -0
- package/dist/trinity/shader/parameter/ITriEffectResourceParameter.js.map +1 -0
- package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js +43 -0
- package/dist/trinity/shader/parameter/ITriEffectTextureParameter.js.map +1 -0
- package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js +17 -5
- package/dist/trinity/shader/parameter/Tr2ConstantEffectParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2FloatParameter.js +46 -45
- package/dist/trinity/shader/parameter/Tr2FloatParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js +14 -12
- package/dist/trinity/shader/parameter/Tr2GeometryBufferParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js +33 -32
- package/dist/trinity/shader/parameter/Tr2Matrix4Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js +11 -10
- package/dist/trinity/shader/parameter/Tr2RuntimeTextureParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js +55 -53
- package/dist/trinity/shader/parameter/Tr2TextureAnimationParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js +49 -48
- package/dist/trinity/shader/parameter/Tr2Vector2Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js +52 -51
- package/dist/trinity/shader/parameter/Tr2Vector3Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js +56 -55
- package/dist/trinity/shader/parameter/Tr2Vector4Parameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriFloatArrayParameter.js +8 -8
- package/dist/trinity/shader/parameter/TriFloatArrayParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriTextureParameter.js +27 -22
- package/dist/trinity/shader/parameter/TriTextureParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriTransformParameter.js +27 -27
- package/dist/trinity/shader/parameter/TriTransformParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriVariableParameter.js +53 -54
- package/dist/trinity/shader/parameter/TriVariableParameter.js.map +1 -1
- package/dist/trinity/shader/parameter/TriVector4.js +2 -2
- package/dist/trinity/shader/parameter/TriVector4.js.map +1 -1
- package/dist/trinity/shader/reflection/Tr2ShaderOption.js +4 -2
- package/dist/trinity/shader/reflection/Tr2ShaderOption.js.map +1 -1
- package/dist/trinity/shader/sampler/Tr2SamplerOverride.js +11 -2
- package/dist/trinity/shader/sampler/Tr2SamplerOverride.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dContainerBase.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTrace.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dLineTraceVertex.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js +8 -9
- package/dist/trinity/sprite2d/Tr2Sprite2dPickingMask.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dPolygon.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dRenderJob.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dScene.js +4 -4
- package/dist/trinity/sprite2d/Tr2Sprite2dScene.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dTransform.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js +2 -2
- package/dist/trinity/sprite2d/Tr2Sprite2dTriangle.js.map +1 -1
- package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js +2 -2
- package/dist/trinity/sprite2d/Tr2SpriteObjectBase.js.map +1 -1
- package/dist/trinity/ui/Tr2PresentParameters.js +2 -2
- package/dist/trinity/ui/Tr2PresentParameters.js.map +1 -1
- package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js +3 -3
- package/dist/trinity/ui/Tr2ProjectBoundingBoxBracket.js.map +1 -1
- package/dist/trinityal/Tr2ResourceSetAL/Tr2ResourceSetALStub.js.map +1 -1
- package/dist/trinityal/stub/Tr2RenderContextALStub/Tr2RenderContextALStub.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuRenderContextAL.js.map +1 -1
- package/dist/trinityal/webgpu/CjsWebgpuResourceSetAL.js.map +1 -1
- package/docs/core/README.md +38 -38
- package/docs/core/architecture.md +6 -5
- package/docs/core/reference/api.md +0 -10
- package/docs/core/reference/classes/README.md +57 -67
- package/docs/global/architecture.md +1 -3
- package/docs/global/blue-enums.md +115 -0
- package/docs/global/concepts/model-lifecycle.md +177 -182
- package/docs/global/core-types/README.md +394 -317
- package/docs/global/reference/api.md +2 -2
- package/docs/global/reference/classes/README.md +355 -205
- package/docs/global/reference/classes/dropped.md +40 -0
- package/docs/resource/architecture.md +152 -112
- package/docs/resource/concepts/resource-lifecycle.md +14 -10
- package/docs/resource/formats/pickle.md +126 -100
- package/docs/resource/formats/provenance.md +15 -9
- package/docs/resource/formats/webgl/carbon-constant-layouts.md +98 -232
- package/docs/resource/formats/webgpu/reference/wgsl-compatibility.md +278 -530
- package/docs/resource/reference/classes/README.md +3 -1
- package/docs/resource/reference/classes/dropped.md +21 -1
- package/docs/resource/reference/classes/formats.md +33 -0
- package/docs/resource/reference/classes/video.md +92 -0
- package/docs/resource/reference/events.md +10 -9
- package/docs/resource/reference/queues.md +8 -1
- package/docs/trinity/README.md +5 -5
- package/docs/trinity/architecture.md +355 -344
- package/docs/trinity/concepts/eve-runtime-behavior.md +1 -1
- package/docs/trinity/reference/api.md +19 -7
- package/docs/trinity/reference/classes/dropped.md +2 -11
- package/docs/trinity/reference/classes/eve-runtime.md +1 -1
- package/docs/trinity/reference/classes/trinity-core.md +1672 -1622
- package/docs/trinity/reference/implementation-status.md +92 -92
- package/package.json +2 -1
- package/dist/core/CjsFrameDriver.js +0 -109
- package/dist/core/CjsFrameDriver.js.map +0 -1
- package/dist/global/contracts/CjsFrameLifecycle.js +0 -49
- package/dist/global/contracts/CjsFrameLifecycle.js.map +0 -1
- package/dist/global/contracts/CjsInstancedMeshManager.js +0 -58
- package/dist/global/contracts/CjsInstancedMeshManager.js.map +0 -1
- package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js +0 -4
- package/dist/resource/formats/black/core/black-schema-v1-2026-07-23.json.js.map +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CjsSchema,
|
|
1
|
+
import { CjsSchema, edit, type } from '#schema';
|
|
2
2
|
import { CjsModel } from '#model';
|
|
3
3
|
|
|
4
4
|
// Source: trinity/trinity/Resources/Tr2MaterialRes.h
|
|
@@ -27,8 +27,8 @@ CjsSchema.define(Tr2MaterialArea, {
|
|
|
27
27
|
className: "Tr2MaterialArea",
|
|
28
28
|
family: "resources",
|
|
29
29
|
fields: {
|
|
30
|
-
material: [
|
|
31
|
-
metatype: [
|
|
30
|
+
material: [edit.persist, type.objectRef("Tr2MaterialParameterStore")],
|
|
31
|
+
metatype: [edit.persist, type.string]
|
|
32
32
|
}
|
|
33
33
|
});
|
|
34
34
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2MaterialArea.js","sources":["../../../../src/resource/shader/Tr2MaterialArea.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2MaterialRes.h\r\n// Schema: format-carbon resources/Tr2MaterialArea.json; maintained by the runtime resource layer.\nimport { CjsSchema,
|
|
1
|
+
{"version":3,"file":"Tr2MaterialArea.js","sources":["../../../../src/resource/shader/Tr2MaterialArea.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2MaterialRes.h\r\n// Schema: format-carbon resources/Tr2MaterialArea.json; maintained by the runtime resource layer.\nimport { CjsSchema, edit, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\n\r\n/**\r\n * Associates one material-area metatype with its persisted parameter store.\r\n *\r\n * The record describes resource data and does not own shader bindings or\r\n * backend material realization.\r\n */\r\nexport class Tr2MaterialArea extends CjsModel\r\n{\r\n\r\n /** Persisted material parameter-store reference. */\r\n material = null;\r\n\r\n /** Authored material-area metatype. */\r\n metatype = \"\";\r\n\r\n}\r\n\r\n// Declared imperatively rather than with decorators, so this module stays\r\n// plain ESM that loads from source without a transform. The decorator\r\n// expressions are reused verbatim, so the registered metadata is identical.\r\n// Statics belong in `methods`: decorateMethod targets the prototype and\r\n// would register a static as an instance field.\r\nCjsSchema.define(Tr2MaterialArea, {\r\n className: \"Tr2MaterialArea\",\r\n family: \"resources\",\r\n fields: {\r\n material: [ edit.persist, type.objectRef(\"Tr2MaterialParameterStore\") ],\r\n metatype: [ edit.persist, type.string ]\r\n }\r\n});\r\n"],"names":["Tr2MaterialArea","CjsModel","material","metatype","CjsSchema","define","className","family","fields","edit","persist","type","objectRef","string"],"mappings":";;;AAAA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,eAAe,SAASC,QAAQ,CAC7C;AAEE;AACAC,EAAAA,QAAQ,GAAG,IAAI;;AAEf;AACAC,EAAAA,QAAQ,GAAG,EAAE;AAEf;;AAEA;AACA;AACA;AACA;AACA;AACAC,SAAS,CAACC,MAAM,CAACL,eAAe,EAAE;AAChCM,EAAAA,SAAS,EAAE,iBAAiB;AAC5BC,EAAAA,MAAM,EAAE,WAAW;AACnBC,EAAAA,MAAM,EAAE;AACNN,IAAAA,QAAQ,EAAE,CAAEO,IAAI,CAACC,OAAO,EAAEC,IAAI,CAACC,SAAS,CAAC,2BAA2B,CAAC,CAAE;IACvET,QAAQ,EAAE,CAAEM,IAAI,CAACC,OAAO,EAAEC,IAAI,CAACE,MAAM;AACvC;AACF,CAAC,CAAC;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CjsSchema,
|
|
1
|
+
import { CjsSchema, edit, type } from '#schema';
|
|
2
2
|
import { CjsModel } from '#model';
|
|
3
3
|
|
|
4
4
|
// Source: trinity/trinity/Resources/Tr2MaterialRes.h
|
|
@@ -24,7 +24,7 @@ CjsSchema.define(Tr2MaterialMesh, {
|
|
|
24
24
|
className: "Tr2MaterialMesh",
|
|
25
25
|
family: "resources",
|
|
26
26
|
fields: {
|
|
27
|
-
areas: [
|
|
27
|
+
areas: [edit.persist, type.objectRef("Tr2MaterialAreaDict")]
|
|
28
28
|
}
|
|
29
29
|
});
|
|
30
30
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2MaterialMesh.js","sources":["../../../../src/resource/shader/Tr2MaterialMesh.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2MaterialRes.h\r\n// Schema: format-carbon resources/Tr2MaterialMesh.json; maintained by the runtime resource layer.\nimport { CjsSchema,
|
|
1
|
+
{"version":3,"file":"Tr2MaterialMesh.js","sources":["../../../../src/resource/shader/Tr2MaterialMesh.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2MaterialRes.h\r\n// Schema: format-carbon resources/Tr2MaterialMesh.json; maintained by the runtime resource layer.\nimport { CjsSchema, edit, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\n\r\n/**\r\n * Holds the persisted material-area dictionary for one material mesh.\r\n *\r\n * Area lookup remains resource metadata; engines decide how the selected\r\n * material becomes backend draw state.\r\n */\r\nexport class Tr2MaterialMesh extends CjsModel\r\n{\r\n\r\n /** Persisted dictionary of material areas. */\r\n areas = null;\r\n\r\n}\r\n\r\n// Declared imperatively rather than with decorators, so this module stays\r\n// plain ESM that loads from source without a transform. The decorator\r\n// expressions are reused verbatim, so the registered metadata is identical.\r\n// Statics belong in `methods`: decorateMethod targets the prototype and\r\n// would register a static as an instance field.\r\nCjsSchema.define(Tr2MaterialMesh, {\r\n className: \"Tr2MaterialMesh\",\r\n family: \"resources\",\r\n fields: {\r\n areas: [ edit.persist, type.objectRef(\"Tr2MaterialAreaDict\") ]\r\n }\r\n});\r\n"],"names":["Tr2MaterialMesh","CjsModel","areas","CjsSchema","define","className","family","fields","edit","persist","type","objectRef"],"mappings":";;;AAAA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,eAAe,SAASC,QAAQ,CAC7C;AAEE;AACAC,EAAAA,KAAK,GAAG,IAAI;AAEd;;AAEA;AACA;AACA;AACA;AACA;AACAC,SAAS,CAACC,MAAM,CAACJ,eAAe,EAAE;AAChCK,EAAAA,SAAS,EAAE,iBAAiB;AAC5BC,EAAAA,MAAM,EAAE,WAAW;AACnBC,EAAAA,MAAM,EAAE;IACNL,KAAK,EAAE,CAAEM,IAAI,CAACC,OAAO,EAAEC,IAAI,CAACC,SAAS,CAAC,qBAAqB,CAAC;AAC9D;AACF,CAAC,CAAC;;;;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CjsSchema,
|
|
1
|
+
import { CjsSchema, edit, type } from '#schema';
|
|
2
2
|
import { CjsModel } from '#model';
|
|
3
3
|
|
|
4
4
|
// Source: trinity/trinity/Resources/Tr2MaterialRes.h
|
|
@@ -28,8 +28,8 @@ CjsSchema.define(Tr2MaterialRes, {
|
|
|
28
28
|
className: "Tr2MaterialRes",
|
|
29
29
|
family: "resources",
|
|
30
30
|
fields: {
|
|
31
|
-
meshes: [
|
|
32
|
-
name: [
|
|
31
|
+
meshes: [edit.persist, type.objectRef("Tr2MaterialMeshDict")],
|
|
32
|
+
name: [edit.persist, type.string]
|
|
33
33
|
}
|
|
34
34
|
});
|
|
35
35
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2MaterialRes.js","sources":["../../../../src/resource/shader/Tr2MaterialRes.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2MaterialRes.h\r\n// Schema: format-carbon resources/Tr2MaterialRes.json; maintained by the runtime resource layer.\nimport { CjsSchema,
|
|
1
|
+
{"version":3,"file":"Tr2MaterialRes.js","sources":["../../../../src/resource/shader/Tr2MaterialRes.js"],"sourcesContent":["// Source: trinity/trinity/Resources/Tr2MaterialRes.h\r\n// Schema: format-carbon resources/Tr2MaterialRes.json; maintained by the runtime resource layer.\nimport { CjsSchema, edit, type } from \"#schema\";\r\nimport { CjsModel } from \"#model\";\r\n\r\n/**\r\n * Root persisted material record containing its authored name and material\r\n * mesh dictionary.\r\n *\r\n * It owns the serializable material description, not device shaders,\r\n * descriptor bindings, or pipelines.\r\n */\r\nexport class Tr2MaterialRes extends CjsModel\r\n{\r\n\r\n /** Persisted dictionary of material meshes. */\r\n meshes = null;\r\n\r\n /** Authored material name. */\r\n name = \"\";\r\n\r\n}\r\n\r\n// Declared imperatively rather than with decorators, so this module stays\r\n// plain ESM that loads from source without a transform. The decorator\r\n// expressions are reused verbatim, so the registered metadata is identical.\r\n// Statics belong in `methods`: decorateMethod targets the prototype and\r\n// would register a static as an instance field.\r\nCjsSchema.define(Tr2MaterialRes, {\r\n className: \"Tr2MaterialRes\",\r\n family: \"resources\",\r\n fields: {\r\n meshes: [ edit.persist, type.objectRef(\"Tr2MaterialMeshDict\") ],\r\n name: [ edit.persist, type.string ]\r\n }\r\n});\r\n"],"names":["Tr2MaterialRes","CjsModel","meshes","name","CjsSchema","define","className","family","fields","edit","persist","type","objectRef","string"],"mappings":";;;AAAA;AACA;;AAIA;AACA;AACA;AACA;AACA;AACA;AACA;AACO,MAAMA,cAAc,SAASC,QAAQ,CAC5C;AAEE;AACAC,EAAAA,MAAM,GAAG,IAAI;;AAEb;AACAC,EAAAA,IAAI,GAAG,EAAE;AAEX;;AAEA;AACA;AACA;AACA;AACA;AACAC,SAAS,CAACC,MAAM,CAACL,cAAc,EAAE;AAC/BM,EAAAA,SAAS,EAAE,gBAAgB;AAC3BC,EAAAA,MAAM,EAAE,WAAW;AACnBC,EAAAA,MAAM,EAAE;AACNN,IAAAA,MAAM,EAAE,CAAEO,IAAI,CAACC,OAAO,EAAEC,IAAI,CAACC,SAAS,CAAC,qBAAqB,CAAC,CAAE;IAC/DT,IAAI,EAAE,CAAEM,IAAI,CAACC,OAAO,EAAEC,IAAI,CAACE,MAAM;AACnC;AACF,CAAC,CAAC;;;;"}
|
|
@@ -158,8 +158,8 @@ CjsSchema.define(Tr2EffectLibrary, {
|
|
|
158
158
|
globalInput: type.rawStruct("Tr2EffectStageInput"),
|
|
159
159
|
localInput: type.rawStruct("Tr2EffectStageInput"),
|
|
160
160
|
globalResourceSetDesc: type.rawStruct("Tr2ResourceSetDescriptionAL"),
|
|
161
|
-
sourceProgram: [impl.adapted, impl.reason("Carbon
|
|
162
|
-
exports: [impl.adapted, impl.reason("Carbon resolves these exports into
|
|
161
|
+
sourceProgram: [impl.adapted, impl.reason("Carbon interns the library bytecode while reading (Tr2EffectStateManager::RegisterShaderLibrary, .h:115) and keeps only libraryHandle. Ours interns at the Trinity boundary instead, because the resource layer may not import Trinity, so the bytes are retained until then; see Tr2EffectStateManager.registerShaderHandles."), type.rawStruct("CjsEffectSourceProgram")],
|
|
162
|
+
exports: [impl.adapted, impl.reason("Carbon resolves these exports into the interned library handle while reading; the declarative export list is what survives until interning happens at the Trinity boundary."), type.rawStruct("CjsEffectLibraryExports")]
|
|
163
163
|
}
|
|
164
164
|
});
|
|
165
165
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2EffectLibrary.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectLibrary.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\nimport { assertCarbonRecord } from \"../../format/carbonRecordGuard.js\";\nimport { CjsSchema, impl, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport {\n} from \"#utils/is\";\nimport { copyBytes } from \"#utils/bytes\";\nimport { Tr2EffectStageInput } from \"./Tr2EffectStageInput.js\";\nimport {\n recordBytes,\n recordText,\n toRecordBlob,\n toRecordText\n} from \"./carbonRecordFields.js\";\n\n/** Reflected shader-library metadata. */\nexport class Tr2EffectLibrary extends CjsModel\n{\n\n /** payloadSize (uint32_t) */\n payloadSize = 0;\n\n /** libraryHandle (uint32_t) */\n libraryHandle = 0;\n\n /** rayGenName (BlueSharedStringW) */\n rayGenName = \"\";\n\n /** missName (BlueSharedStringW) */\n missName = \"\";\n\n /** closestHitName (BlueSharedStringW) */\n closestHitName = \"\";\n\n /** anyHitName (BlueSharedStringW) */\n anyHitName = \"\";\n\n /** intersectionName (BlueSharedStringW) */\n intersectionName = \"\";\n\n /** hitGroupName (BlueSharedStringW) */\n hitGroupName = \"\";\n\n /** globalInput (Tr2EffectStageInput) */\n globalInput = null;\n\n /** localInput (Tr2EffectStageInput) */\n localInput = null;\n\n /** globalResourceSetDesc (Tr2ResourceSetDescriptionAL) */\n globalResourceSetDesc = null;\n\n /** Exact source library program metadata and owned bytes. */\n sourceProgram = null;\n\n /** Portable export records retained before backend library registration. */\n exports = [];\n\n /**\n * Construct one canonical library from JS/JSON model values.\n *\n * @param {object} values Canonical model values.\n * @param {object} options CjsModel import options.\n * @returns {Tr2EffectLibrary} Hydrated library.\n */\n static from(values = {}, options = {})\n {\n let normalized = values;\n const inputs = new Map();\n for (const field of [ \"globalInput\", \"localInput\" ])\n {\n if (values?.[field]\n && !(values[field] instanceof Tr2EffectStageInput))\n {\n normalized = normalized === values ? { ...values } : normalized;\n normalized[field] = Tr2EffectStageInput.from(\n values[field],\n options\n );\n inputs.set(field, normalized[field]);\n }\n }\n const library = super.from(normalized, options);\n for (const [ field, value ] of inputs)\n {\n library[field] = value;\n }\n return library;\n }\n\n /**\n * Build one raytracing library from its Carbon v15 description record.\n *\n * A library carries two `StageData` blocks of its own — a global and a local\n * input — which are the same block a stage carries, minus the stage wrapper.\n *\n * @param {object} record Carbon library record.\n * @returns {Tr2EffectLibrary} Reflected library.\n */\n static fromCarbonBinary(record)\n {\n assertCarbonRecord(record, \"library\");\n\n const library = new this();\n library.payloadSize = record.payloadSize;\n library.hitGroupName = recordText(record.hitGroupName);\n library.exports = record.exports.map(entry => ({\n type: entry.type,\n name: recordText(entry.name)\n }));\n // The export type is the only thing that names an entry point; the record\n // stores a flat list and the named fields are a view onto it.\n for (const entry of library.exports)\n {\n if (entry.type === 0) library.rayGenName = entry.name;\n if (entry.type === 1) library.missName = entry.name;\n if (entry.type === 2) library.closestHitName = entry.name;\n if (entry.type === 3) library.anyHitName = entry.name;\n if (entry.type === 4) library.intersectionName = entry.name;\n }\n library.sourceProgram = {\n kind: \"library\",\n bytes: copyBytes(recordBytes(record.shaderData)),\n shaderSize: record.shaderData.size,\n // See Tr2EffectStageInput: only a zero-size blob's word is portable.\n unsetOffset: record.shaderData.size === 0\n ? record.shaderData.offset\n : 0xffffffff\n };\n library.globalInput = Tr2EffectStageInput.fromCarbonBinaryInput(\n record.globalInputs\n );\n library.localInput = Tr2EffectStageInput.fromCarbonBinaryInput(\n record.localInputs\n );\n return library;\n }\n\n\n /**\n * Emit this library as a Carbon v15 record.\n *\n * `exports` is authoritative; the named entry-point fields are a view onto it\n * and are not written separately.\n *\n * @returns {object} Carbon library record.\n */\n toCarbonBinary()\n {\n const program = this.sourceProgram ?? {};\n return {\n payloadSize: this.payloadSize >>> 0,\n shaderData: toRecordBlob(\n program.bytes,\n program.shaderSize,\n program.unsetOffset\n ),\n exports: this.exports.map(entry => ({\n type: entry.type,\n name: toRecordText(entry.name)\n })),\n hitGroupName: toRecordText(this.hitGroupName),\n globalInputs: this.globalInput.toCarbonBinaryInput(),\n localInputs: this.localInput.toCarbonBinaryInput()\n };\n }\n}\n\n// Declared imperatively rather than with decorators, so this module stays\n// plain ESM that loads from source without a transform. The decorator\n// expressions are reused verbatim, so the registered metadata is identical.\n// Statics belong in `methods`: decorateMethod targets the prototype and\n// would register a static as an instance field.\nCjsSchema.define(Tr2EffectLibrary, {\n className: \"Tr2EffectLibrary\",\n family: \"shader\",\n fields: {\n payloadSize: type.uint32,\n libraryHandle: type.uint32,\n rayGenName: type.string,\n missName: type.string,\n closestHitName: type.string,\n anyHitName: type.string,\n intersectionName: type.string,\n hitGroupName: type.string,\n globalInput: type.rawStruct(\"Tr2EffectStageInput\"),\n localInput: type.rawStruct(\"Tr2EffectStageInput\"),\n globalResourceSetDesc: type.rawStruct(\"Tr2ResourceSetDescriptionAL\"),\n sourceProgram: [ impl.adapted, impl.reason(\"Carbon registers the library with the renderer while reading; the device-free graph retains the source program for later engine realization.\"), type.rawStruct(\"CjsEffectSourceProgram\") ],\n exports: [ impl.adapted, impl.reason(\"Carbon resolves these exports into a renderer library handle; the device-free graph keeps the declarative export list.\"), type.rawStruct(\"CjsEffectLibraryExports\") ]\n }\n});\n"],"names":["Tr2EffectLibrary","CjsModel","payloadSize","libraryHandle","rayGenName","missName","closestHitName","anyHitName","intersectionName","hitGroupName","globalInput","localInput","globalResourceSetDesc","sourceProgram","exports","from","values","options","normalized","inputs","Map","field","Tr2EffectStageInput","set","library","value","fromCarbonBinary","record","assertCarbonRecord","recordText","map","entry","type","name","kind","bytes","copyBytes","recordBytes","shaderData","shaderSize","size","unsetOffset","offset","fromCarbonBinaryInput","globalInputs","localInputs","toCarbonBinary","program","toRecordBlob","toRecordText","toCarbonBinaryInput","CjsSchema","define","className","family","fields","uint32","string","rawStruct","impl","adapted","reason"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tr2EffectLibrary.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectLibrary.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\nimport { assertCarbonRecord } from \"../../format/carbonRecordGuard.js\";\nimport { CjsSchema, impl, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport {\n} from \"#utils/is\";\nimport { copyBytes } from \"#utils/bytes\";\nimport { Tr2EffectStageInput } from \"./Tr2EffectStageInput.js\";\nimport {\n recordBytes,\n recordText,\n toRecordBlob,\n toRecordText\n} from \"./carbonRecordFields.js\";\n\n/** Reflected shader-library metadata. */\nexport class Tr2EffectLibrary extends CjsModel\n{\n\n /** payloadSize (uint32_t) */\n payloadSize = 0;\n\n /** libraryHandle (uint32_t) */\n libraryHandle = 0;\n\n /** rayGenName (BlueSharedStringW) */\n rayGenName = \"\";\n\n /** missName (BlueSharedStringW) */\n missName = \"\";\n\n /** closestHitName (BlueSharedStringW) */\n closestHitName = \"\";\n\n /** anyHitName (BlueSharedStringW) */\n anyHitName = \"\";\n\n /** intersectionName (BlueSharedStringW) */\n intersectionName = \"\";\n\n /** hitGroupName (BlueSharedStringW) */\n hitGroupName = \"\";\n\n /** globalInput (Tr2EffectStageInput) */\n globalInput = null;\n\n /** localInput (Tr2EffectStageInput) */\n localInput = null;\n\n /** globalResourceSetDesc (Tr2ResourceSetDescriptionAL) */\n globalResourceSetDesc = null;\n\n /** Exact source library program metadata and owned bytes. */\n sourceProgram = null;\n\n /** Portable export records retained before backend library registration. */\n exports = [];\n\n /**\n * Construct one canonical library from JS/JSON model values.\n *\n * @param {object} values Canonical model values.\n * @param {object} options CjsModel import options.\n * @returns {Tr2EffectLibrary} Hydrated library.\n */\n static from(values = {}, options = {})\n {\n let normalized = values;\n const inputs = new Map();\n for (const field of [ \"globalInput\", \"localInput\" ])\n {\n if (values?.[field]\n && !(values[field] instanceof Tr2EffectStageInput))\n {\n normalized = normalized === values ? { ...values } : normalized;\n normalized[field] = Tr2EffectStageInput.from(\n values[field],\n options\n );\n inputs.set(field, normalized[field]);\n }\n }\n const library = super.from(normalized, options);\n for (const [ field, value ] of inputs)\n {\n library[field] = value;\n }\n return library;\n }\n\n /**\n * Build one raytracing library from its Carbon v15 description record.\n *\n * A library carries two `StageData` blocks of its own — a global and a local\n * input — which are the same block a stage carries, minus the stage wrapper.\n *\n * @param {object} record Carbon library record.\n * @returns {Tr2EffectLibrary} Reflected library.\n */\n static fromCarbonBinary(record)\n {\n assertCarbonRecord(record, \"library\");\n\n const library = new this();\n library.payloadSize = record.payloadSize;\n library.hitGroupName = recordText(record.hitGroupName);\n library.exports = record.exports.map(entry => ({\n type: entry.type,\n name: recordText(entry.name)\n }));\n // The export type is the only thing that names an entry point; the record\n // stores a flat list and the named fields are a view onto it.\n for (const entry of library.exports)\n {\n if (entry.type === 0) library.rayGenName = entry.name;\n if (entry.type === 1) library.missName = entry.name;\n if (entry.type === 2) library.closestHitName = entry.name;\n if (entry.type === 3) library.anyHitName = entry.name;\n if (entry.type === 4) library.intersectionName = entry.name;\n }\n library.sourceProgram = {\n kind: \"library\",\n bytes: copyBytes(recordBytes(record.shaderData)),\n shaderSize: record.shaderData.size,\n // See Tr2EffectStageInput: only a zero-size blob's word is portable.\n unsetOffset: record.shaderData.size === 0\n ? record.shaderData.offset\n : 0xffffffff\n };\n library.globalInput = Tr2EffectStageInput.fromCarbonBinaryInput(\n record.globalInputs\n );\n library.localInput = Tr2EffectStageInput.fromCarbonBinaryInput(\n record.localInputs\n );\n return library;\n }\n\n\n /**\n * Emit this library as a Carbon v15 record.\n *\n * `exports` is authoritative; the named entry-point fields are a view onto it\n * and are not written separately.\n *\n * @returns {object} Carbon library record.\n */\n toCarbonBinary()\n {\n const program = this.sourceProgram ?? {};\n return {\n payloadSize: this.payloadSize >>> 0,\n shaderData: toRecordBlob(\n program.bytes,\n program.shaderSize,\n program.unsetOffset\n ),\n exports: this.exports.map(entry => ({\n type: entry.type,\n name: toRecordText(entry.name)\n })),\n hitGroupName: toRecordText(this.hitGroupName),\n globalInputs: this.globalInput.toCarbonBinaryInput(),\n localInputs: this.localInput.toCarbonBinaryInput()\n };\n }\n}\n\n// Declared imperatively rather than with decorators, so this module stays\n// plain ESM that loads from source without a transform. The decorator\n// expressions are reused verbatim, so the registered metadata is identical.\n// Statics belong in `methods`: decorateMethod targets the prototype and\n// would register a static as an instance field.\nCjsSchema.define(Tr2EffectLibrary, {\n className: \"Tr2EffectLibrary\",\n family: \"shader\",\n fields: {\n payloadSize: type.uint32,\n libraryHandle: type.uint32,\n rayGenName: type.string,\n missName: type.string,\n closestHitName: type.string,\n anyHitName: type.string,\n intersectionName: type.string,\n hitGroupName: type.string,\n globalInput: type.rawStruct(\"Tr2EffectStageInput\"),\n localInput: type.rawStruct(\"Tr2EffectStageInput\"),\n globalResourceSetDesc: type.rawStruct(\"Tr2ResourceSetDescriptionAL\"),\n sourceProgram: [ impl.adapted, impl.reason(\"Carbon interns the library bytecode while reading (Tr2EffectStateManager::RegisterShaderLibrary, .h:115) and keeps only libraryHandle. Ours interns at the Trinity boundary instead, because the resource layer may not import Trinity, so the bytes are retained until then; see Tr2EffectStateManager.registerShaderHandles.\"), type.rawStruct(\"CjsEffectSourceProgram\") ],\n exports: [ impl.adapted, impl.reason(\"Carbon resolves these exports into the interned library handle while reading; the declarative export list is what survives until interning happens at the Trinity boundary.\"), type.rawStruct(\"CjsEffectLibraryExports\") ]\n }\n});\n"],"names":["Tr2EffectLibrary","CjsModel","payloadSize","libraryHandle","rayGenName","missName","closestHitName","anyHitName","intersectionName","hitGroupName","globalInput","localInput","globalResourceSetDesc","sourceProgram","exports","from","values","options","normalized","inputs","Map","field","Tr2EffectStageInput","set","library","value","fromCarbonBinary","record","assertCarbonRecord","recordText","map","entry","type","name","kind","bytes","copyBytes","recordBytes","shaderData","shaderSize","size","unsetOffset","offset","fromCarbonBinaryInput","globalInputs","localInputs","toCarbonBinary","program","toRecordBlob","toRecordText","toCarbonBinaryInput","CjsSchema","define","className","family","fields","uint32","string","rawStruct","impl","adapted","reason"],"mappings":"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"}
|
|
@@ -405,7 +405,7 @@ CjsSchema.define(Tr2EffectStageInput, {
|
|
|
405
405
|
className: "Tr2EffectStageInput",
|
|
406
406
|
family: "shader",
|
|
407
407
|
fields: {
|
|
408
|
-
stageType: [impl.adapted, impl.reason("The source format identifies stage inputs by array index; the
|
|
408
|
+
stageType: [impl.adapted, impl.reason("The source format identifies stage inputs by array index; the index is retained explicitly so a body re-emits as the file that produced it."), type.int32],
|
|
409
409
|
exists: type.boolean,
|
|
410
410
|
resources: type.map("Tr2EffectResource"),
|
|
411
411
|
uavs: type.map("Tr2EffectResource"),
|
|
@@ -417,7 +417,7 @@ CjsSchema.define(Tr2EffectStageInput, {
|
|
|
417
417
|
constantValuesUnsetOffset: [impl.custom, impl.reason("A zero-size blob's offset word is passed through rather than interned, and the shipped corpus does not always set it to the null sentinel; the graph retains it so a body re-emits as the file that produced it."), type.uint32],
|
|
418
418
|
signature: type.rawStruct("Tr2ShaderSignatureAL"),
|
|
419
419
|
annotation: type.list("Tr2EffectParameterAnnotation"),
|
|
420
|
-
sourceProgram: [impl.adapted, impl.reason("Carbon
|
|
420
|
+
sourceProgram: [impl.adapted, impl.reason("Carbon interns the program inside Tr2EffectDescription::Read (cpp:587-666) and keeps only the m_shader handle (Tr2EffectDescription.h:183). Ours interns at the Trinity boundary, because the resource layer may not import Trinity, so the bytes are retained until then; see Tr2EffectStateManager.registerShaderHandles."), type.rawStruct("CjsEffectSourceProgram")]
|
|
421
421
|
}
|
|
422
422
|
});
|
|
423
423
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2EffectStageInput.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectStageInput.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\n// Source: trinity/trinity/Shader/Tr2EffectDescription.cpp\nimport { assertCarbonRecord } from \"../../format/carbonRecordGuard.js\";\nimport { CjsSchema, impl, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport { copyBytes } from \"#utils/bytes\";\nimport {\n isUint32\n} from \"#utils/is\";\nimport { Tr2SamplerSetup } from \"../sampler/Tr2SamplerSetup.js\";\nimport { Tr2EffectConstant } from \"./Tr2EffectConstant.js\";\nimport { Tr2EffectParameterAnnotation } from \"./Tr2EffectParameterAnnotation.js\";\nimport { Tr2EffectResource } from \"./Tr2EffectResource.js\";\nimport {\n recordBytes,\n recordRawBits,\n toRecordBlob,\n toRecordFloat,\n toRecordText\n} from \"./carbonRecordFields.js\";\nimport { compareUtf8 } from \"../../format/compareUtf8.js\";\nimport { requireShaderStageType } from \"./shaderStage.js\";\n\n/**\n * The offset word a zero-size blob carries, or the null sentinel.\n *\n * @param {{size:number,offset:number}} ref Blob reference.\n * @returns {number} Offset word worth retaining.\n */\nfunction unsetOffsetOf(ref)\n{\n return ref.size === 0 ? ref.offset : 0xffffffff;\n}\n\n/** Complete device-free reflection for one shader stage input. */\nexport class Tr2EffectStageInput extends CjsModel\n{\n\n /** Portable stage index; Carbon otherwise implies this from the containing array. */\n stageType = -1;\n\n /** m_exists (bool) */\n exists = false;\n\n /** resources (Tr2EffectResourceMap) */\n resources = new Map();\n\n /** uavs (Tr2EffectResourceMap) */\n uavs = new Map();\n\n /** samplers (Tr2SamplerSetupMap) */\n samplers = new Map();\n\n /** m_shader (unsigned) */\n shader = 0xffffffff;\n\n /** constants (Tr2EffectConstantVector) */\n constants = [];\n\n /** m_constantValueSize (unsigned) */\n constantValueSize = 0;\n\n /** constantValues (char[SHADER_CONSTANTS_MAX]) */\n constantValues = new Uint8Array(0);\n\n /** signature (Tr2ShaderSignatureAL) */\n signature = null;\n\n /** annotation (Tr2EffectParameterAnnotationMap) */\n annotation = [];\n\n /** Exact source program metadata and owned bytes, before backend realization. */\n sourceProgram = null;\n\n // Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n // trinity/Shader/Tr2Effect.cpp:1799-1821 (the sizing loop and its assertion)\n //\n // Carbon's comment at the site is the whole rule: \"Figure out how large the\n // constant buffer has to be. This has to be done even if the constant isn't\n // set, as the shader may still sample it and expect to get some kind of\n // default (usually zero).\" So EVERY constant participates, not only the ones\n // an effect binds a parameter to.\n //\n // THIS IS NOT `constantValueSize`, AND THE DIFFERENCE IS EASY TO MISS.\n // `constantValueSize` is the length of the authored DEFAULT blob, which\n // Carbon separately grows to cover autoregister sampler-index constants\n // (Tr2EffectDescription.cpp:629-632). Carbon asserts\n // `constantSize >= constantDefaultValueSize` precisely because the two are\n // different numbers and the defaults are a PREFIX of the buffer. An effect\n // that authors defaults for only some of its constants makes them differ, so\n // using the default size as the buffer size is right until it silently is\n // not.\n //\n // It lives here rather than in a consumer because it is arithmetic over this\n // object's own constants and gives every backend the same answer. A backend\n // then applies its own alignment on top - WebGPU's uniform binding alignment,\n // std140 for a WebGL2 block - and that padding is the backend's, not this.\n // Decision 4 of the engine backends plan names the alternative as a defect\n // worth declining to inherit: Carbon replicates its draw-argument arithmetic\n // across ten call sites, and this would replicate the same way once a second\n // engine exists.\n\n /**\n * The byte size a constant buffer must have to hold every declared constant.\n *\n * Always at least `constantValueSize`, because the authored defaults occupy\n * the start of the same buffer.\n */\n GetConstantBufferSize()\n {\n let size = 0;\n\n for (const constant of this.constants)\n {\n size = Math.max(size, (constant?.offset ?? 0) + (constant?.size ?? 0));\n }\n\n return Math.max(size, this.constantValueSize);\n }\n\n /**\n * Construct one canonical stage input from JS/JSON model values.\n *\n * @param {object} values Canonical model values.\n * @param {object} options CjsModel import options.\n * @returns {Tr2EffectStageInput} Hydrated stage input.\n */\n static from(values = {}, options = {})\n {\n let normalized = values;\n const maps = new Map();\n for (const [ field, Constructor ] of [\n [ \"resources\", Tr2EffectResource ],\n [ \"uavs\", Tr2EffectResource ],\n [ \"samplers\", Tr2SamplerSetup ]\n ])\n {\n if (values && Object.hasOwn(values, field))\n {\n normalized = normalized === values ? { ...values } : normalized;\n normalized[field] = this.readCanonicalRegisterMap(\n values[field],\n Constructor,\n options,\n field\n );\n maps.set(field, normalized[field]);\n }\n }\n const stage = super.from(normalized, options);\n for (const [ field, value ] of maps)\n {\n stage[field] = value;\n }\n return stage;\n }\n\n /**\n * Hydrate one canonical stage input from a decoded Carbon binary record.\n *\n * @param {object} record Decoded Carbon stage record.\n * @returns {Tr2EffectStageInput} Hydrated canonical stage input.\n */\n static fromCarbonBinary(record)\n {\n assertCarbonRecord(record, \"stage\");\n\n const input = this.fromCarbonBinaryInput(record, record.type);\n input.signature.pipelineInputCount = record.pipelineInputs.length;\n input.signature.pipelineInputs = record.pipelineInputs.map(entry => ({\n usage: entry.usage,\n registerIndex: entry.registerIndex,\n usageIndex: entry.usageIndex,\n usedMask: entry.usedMask,\n type: entry.type,\n dimension: entry.dimension\n }));\n input.signature.threadGroupSize = {\n x: record.threadGroupSize[0],\n y: record.threadGroupSize[1],\n z: record.threadGroupSize[2]\n };\n input.sourceProgram = {\n kind: \"stage\",\n bytes: copyBytes(recordBytes(record.shaderData)),\n shaderSize: record.shaderData.size,\n // Meaningful only at size zero, where the writer passes the word through\n // rather than interning. At any other size it is a live arena offset that\n // belongs to the container it was read from, so it is not retained.\n unsetOffset: unsetOffsetOf(record.shaderData)\n };\n return input;\n }\n\n /**\n * Build one stage input from a Carbon v15 `StageData` block.\n *\n * A raytracing library's global and local inputs are the same block without a\n * stage wrapper — no stage type, no pipeline inputs, no thread group, no\n * program of their own — so this is the half both callers share and\n * `fromCarbonBinary` is the stage-only remainder layered on top.\n *\n * Carbon writes textures, samplers and UAVs in ascending register order because\n * they are `std::map`s, and they are re-keyed by register here rather than by\n * position, so the map is authoritative and the record's order is not load\n * bearing.\n *\n * @param {object} record Carbon stage-data record.\n * @param {number} [stageType] Stage index, or -1 for a library input.\n * @returns {Tr2EffectStageInput} Reflected stage input.\n */\n static fromCarbonBinaryInput(record, stageType = -1)\n {\n assertCarbonRecord(record, \"stage-data\");\n\n const constantValues = copyBytes(recordBytes(record.defaultValues));\n\n const input = new this();\n input.stageType = stageType;\n input.exists = true;\n input.constants = record.constants.map(\n entry => Tr2EffectConstant.fromCarbonBinary(entry)\n );\n input.resources = this.readCarbonBinaryResourceMap(record.textures);\n input.uavs = this.readCarbonBinaryResourceMap(record.uavs);\n input.samplers = this.readCarbonBinarySamplerMap(record.samplers);\n input.constantValueSize = constantValues.byteLength;\n input.constantValues = constantValues;\n input.constantValuesUnsetOffset = unsetOffsetOf(record.defaultValues);\n input.annotation = record.annotations.map(\n entry => Tr2EffectParameterAnnotation.fromCarbonBinary(entry)\n );\n input.signature = {\n pipelineInputCount: 0,\n pipelineInputs: [],\n registerCount: record.registers.length,\n // Carbon stores one field its reader calls `arrayCount` and its writer\n // calls `registerCount`. Both names are carried forward from the single\n // stored value, because the write direction refuses to emit a record whose\n // two names disagree.\n registers: record.registers.map(entry => ({\n registerType: entry.registerType,\n registerIndex: entry.registerIndex,\n arrayCount: entry.registerCount,\n registerCount: entry.registerCount,\n registerSpace: entry.registerSpace\n })),\n staticSamplerCount: record.staticSamplers.length,\n staticSamplers: record.staticSamplers.map(entry => ({\n registerIndex: entry.registerIndex,\n registerSpace: entry.registerSpace,\n descriptor: {\n // Carried so a consumer can answer \"may this sampler be overridden?\"\n // without inferring it. Carbon's compiler only makes a static sampler\n // out of a non-dynamic one -- `ConvertToStaticSampler` opens\n // `if( sampler.isDynamic ) { return false; }`\n // (shadercompiler/FXAnalyzer.cpp:1727-1731) -- so `false` is\n // guaranteed, not assumed, and there is no wire field to read.\n //\n // The flag is an authorisation, not decoration: dynamic means the\n // sampler may be overridden, non-dynamic means it must not be\n // touched. A reader that treats an absent flag as dynamic, which is\n // Carbon's default for the stage sampler that does carry one, would\n // offer an override on a sampler Carbon forbids overriding. Omitting\n // it therefore fails in the permissive direction.\n isDynamic: false,\n comparison: !!entry.comparison,\n minFilter: entry.minFilter,\n magFilter: entry.magFilter,\n mipFilter: entry.mipFilter,\n addressU: entry.addressU,\n addressV: entry.addressV,\n addressW: entry.addressW,\n mipLODBiasRaw: recordRawBits(entry.mipLODBias),\n maxAnisotropy: entry.maxAnisotropy,\n comparisonFunc: entry.comparisonFunc,\n // A static sampler's border colour is a one-byte enum, not four\n // floats. Sharing the dynamic sampler's mapping here would silently\n // reinterpret it.\n borderColor: entry.borderColor,\n minLODRaw: recordRawBits(entry.minLOD),\n maxLODRaw: recordRawBits(entry.maxLOD)\n }\n })),\n threadGroupSize: { x: 0, y: 0, z: 0 }\n };\n input.sourceProgram = null;\n return input;\n }\n\n /**\n * Emit this stage as a Carbon v15 stage record.\n *\n * @returns {object} Carbon stage record.\n */\n toCarbonBinary()\n {\n const signature = this.signature ?? {};\n const program = this.sourceProgram ?? {};\n return {\n type: this.stageType,\n shaderData: toRecordBlob(\n program.bytes,\n program.shaderSize,\n program.unsetOffset\n ),\n threadGroupSize: [\n signature.threadGroupSize?.x ?? 0,\n signature.threadGroupSize?.y ?? 0,\n signature.threadGroupSize?.z ?? 0\n ],\n pipelineInputs: (signature.pipelineInputs ?? []).map(entry => ({\n usage: entry.usage,\n registerIndex: entry.registerIndex,\n usageIndex: entry.usageIndex,\n usedMask: entry.usedMask,\n type: entry.type,\n dimension: entry.dimension\n })),\n ...this.toCarbonBinaryInput()\n };\n }\n\n /**\n * Emit this input as a Carbon v15 `StageData` block.\n *\n * Carbon holds textures, samplers, UAVs and render states in `std::map`s and\n * writes them in key order, and it sorts annotation names by `strcmp` before\n * writing. Our maps are keyed but not ordered, so every collection is sorted\n * explicitly here rather than trusting insertion order — the reader is\n * indifferent, but the bytes are not, and a container that disagrees with\n * Carbon's ordering is not the file Carbon would have written.\n *\n * @returns {object} Carbon stage-data record.\n */\n toCarbonBinaryInput()\n {\n const byRegister = (left, right) => left.registerIndex - right.registerIndex;\n const signature = this.signature ?? {};\n return {\n registers: (signature.registers ?? []).map(entry => ({\n registerType: entry.registerType,\n registerIndex: entry.registerIndex,\n registerCount: entry.registerCount,\n registerSpace: entry.registerSpace\n })),\n staticSamplers: (signature.staticSamplers ?? []).map(entry =>\n {\n const descriptor = entry.descriptor ?? {};\n return {\n registerIndex: entry.registerIndex,\n registerSpace: entry.registerSpace,\n comparison: descriptor.comparison ? 1 : 0,\n minFilter: descriptor.minFilter,\n magFilter: descriptor.magFilter,\n mipFilter: descriptor.mipFilter,\n addressU: descriptor.addressU,\n addressV: descriptor.addressV,\n addressW: descriptor.addressW,\n mipLODBias: toRecordFloat(descriptor.mipLODBiasRaw),\n maxAnisotropy: descriptor.maxAnisotropy,\n comparisonFunc: descriptor.comparisonFunc,\n // One byte here, four floats on a dynamic sampler.\n borderColor: descriptor.borderColor,\n minLOD: toRecordFloat(descriptor.minLODRaw),\n maxLOD: toRecordFloat(descriptor.maxLODRaw)\n };\n }),\n constants: this.constants.map(constant => constant.toCarbonBinary()),\n defaultValues: toRecordBlob(\n this.constantValues,\n this.constantValueSize,\n this.constantValuesUnsetOffset\n ),\n textures: Array.from(this.resources, ([ register, resource ]) =>\n resource.toCarbonBinary(register)).sort(byRegister),\n samplers: Array.from(this.samplers, ([ register, sampler ]) =>\n sampler.toCarbonBinary(register)).sort(byRegister),\n uavs: Array.from(this.uavs, ([ register, uav ]) =>\n uav.toCarbonBinary(register, true)).sort(byRegister),\n annotations: this.annotation\n .map(entry => entry.toCarbonBinary())\n .sort((left, right) => compareUtf8(left.name.value, right.name.value))\n };\n }\n\n /** Build one register-indexed resource map from Carbon texture or UAV records. */\n static readCarbonBinaryResourceMap(records)\n {\n const result = new Map();\n for (const record of records)\n {\n if (result.has(record.registerIndex))\n {\n throw new Error(\n `Carbon effect resource register ${record.registerIndex} is duplicated`\n );\n }\n result.set(\n record.registerIndex,\n Tr2EffectResource.fromCarbonBinary(record)\n );\n }\n return result;\n }\n\n /** Build one register-indexed sampler map from Carbon sampler records. */\n static readCarbonBinarySamplerMap(records)\n {\n const result = new Map();\n for (const record of records)\n {\n if (result.has(record.registerIndex))\n {\n throw new Error(\n `Carbon effect sampler register ${record.registerIndex} is duplicated`\n );\n }\n result.set(\n record.registerIndex,\n Tr2SamplerSetup.fromCarbonBinary(record)\n );\n }\n return result;\n }\n\n /**\n * Create one explicit absent stage slot.\n *\n * @param {number} stageType Stage index.\n * @returns {Tr2EffectStageInput} Empty stage input.\n */\n static createEmpty(stageType)\n {\n const stage = new this();\n stage.stageType = requireShaderStageType(stageType);\n return stage;\n }\n\n /**\n * Normalize one register-indexed collection into its canonical typed map.\n *\n * @param {Map|object} values Register-indexed source values.\n * @param {Function} Constructor Entry constructor exposing `from`.\n * @param {object} options Hydration options passed to entry construction.\n * @param {string} field Diagnostic field name.\n * @returns {Map<number, *>} Canonical register map.\n */\n static readCanonicalRegisterMap(values, Constructor, options, field)\n {\n const entries = values instanceof Map\n ? values\n : Object.entries(values ?? {});\n const result = new Map();\n for (const [ key, value ] of entries)\n {\n const registerIndex = Number(key);\n if (!isUint32(registerIndex))\n {\n throw new RangeError(\n `Effect ${field} register index must fit uint32`\n );\n }\n if (result.has(registerIndex))\n {\n throw new Error(\n `Effect ${field} register ${registerIndex} is duplicated`\n );\n }\n result.set(\n registerIndex,\n value instanceof Constructor\n ? value\n : Constructor.from(value, options)\n );\n }\n return result;\n }\n\n}\n\n// Declared imperatively rather than with decorators, so this module stays\n// plain ESM that loads from source without a transform. The decorator\n// expressions are reused verbatim, so the registered metadata is identical.\n// Statics belong in `methods`: decorateMethod targets the prototype and\n// would register a static as an instance field.\nCjsSchema.define(Tr2EffectStageInput, {\n className: \"Tr2EffectStageInput\",\n family: \"shader\",\n fields: {\n stageType: [ impl.adapted, impl.reason(\"The source format identifies stage inputs by array index; the device-free graph retains the index explicitly for serialization and engine adapters.\"), type.int32 ],\n exists: type.boolean,\n resources: type.map(\"Tr2EffectResource\"),\n uavs: type.map(\"Tr2EffectResource\"),\n samplers: type.map(\"Tr2SamplerSetup\"),\n shader: type.uint32,\n constants: type.list(\"Tr2EffectConstant\"),\n constantValueSize: type.uint32,\n constantValues: type.typedArray(\"Uint8Array\"),\n constantValuesUnsetOffset: [ impl.custom, impl.reason(\"A zero-size blob's offset word is passed through rather than interned, and the shipped corpus does not always set it to the null sentinel; the graph retains it so a body re-emits as the file that produced it.\"), type.uint32 ],\n signature: type.rawStruct(\"Tr2ShaderSignatureAL\"),\n annotation: type.list(\"Tr2EffectParameterAnnotation\"),\n sourceProgram: [ impl.adapted, impl.reason(\"Carbon replaces source program data with renderer handles while reading; the device-free resource graph must retain the portable source program for later engine realization.\"), type.rawStruct(\"CjsEffectSourceProgram\") ]\n }\n});\n"],"names":["unsetOffsetOf","ref","size","offset","Tr2EffectStageInput","CjsModel","stageType","exists","resources","Map","uavs","samplers","shader","constants","constantValueSize","constantValues","Uint8Array","signature","annotation","sourceProgram","GetConstantBufferSize","constant","Math","max","from","values","options","normalized","maps","field","Constructor","Tr2EffectResource","Tr2SamplerSetup","Object","hasOwn","readCanonicalRegisterMap","set","stage","value","fromCarbonBinary","record","assertCarbonRecord","input","fromCarbonBinaryInput","type","pipelineInputCount","pipelineInputs","length","map","entry","usage","registerIndex","usageIndex","usedMask","dimension","threadGroupSize","x","y","z","kind","bytes","copyBytes","recordBytes","shaderData","shaderSize","unsetOffset","defaultValues","Tr2EffectConstant","readCarbonBinaryResourceMap","textures","readCarbonBinarySamplerMap","byteLength","constantValuesUnsetOffset","annotations","Tr2EffectParameterAnnotation","registerCount","registers","registerType","arrayCount","registerSpace","staticSamplerCount","staticSamplers","descriptor","isDynamic","comparison","minFilter","magFilter","mipFilter","addressU","addressV","addressW","mipLODBiasRaw","recordRawBits","mipLODBias","maxAnisotropy","comparisonFunc","borderColor","minLODRaw","minLOD","maxLODRaw","maxLOD","toCarbonBinary","program","toRecordBlob","toCarbonBinaryInput","byRegister","left","right","toRecordFloat","Array","register","resource","sort","sampler","uav","compareUtf8","name","records","result","has","Error","createEmpty","requireShaderStageType","entries","key","Number","isUint32","RangeError","CjsSchema","define","className","family","fields","impl","adapted","reason","int32","boolean","uint32","list","typedArray","custom","rawStruct"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tr2EffectStageInput.js","sources":["../../../../../src/resource/shader/reflection/Tr2EffectStageInput.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\n// Source: trinity/trinity/Shader/Tr2EffectDescription.cpp\nimport { assertCarbonRecord } from \"../../format/carbonRecordGuard.js\";\nimport { CjsSchema, impl, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport { copyBytes } from \"#utils/bytes\";\nimport {\n isUint32\n} from \"#utils/is\";\nimport { Tr2SamplerSetup } from \"../sampler/Tr2SamplerSetup.js\";\nimport { Tr2EffectConstant } from \"./Tr2EffectConstant.js\";\nimport { Tr2EffectParameterAnnotation } from \"./Tr2EffectParameterAnnotation.js\";\nimport { Tr2EffectResource } from \"./Tr2EffectResource.js\";\nimport {\n recordBytes,\n recordRawBits,\n toRecordBlob,\n toRecordFloat,\n toRecordText\n} from \"./carbonRecordFields.js\";\nimport { compareUtf8 } from \"../../format/compareUtf8.js\";\nimport { requireShaderStageType } from \"./shaderStage.js\";\n\n/**\n * The offset word a zero-size blob carries, or the null sentinel.\n *\n * @param {{size:number,offset:number}} ref Blob reference.\n * @returns {number} Offset word worth retaining.\n */\nfunction unsetOffsetOf(ref)\n{\n return ref.size === 0 ? ref.offset : 0xffffffff;\n}\n\n/** Complete device-free reflection for one shader stage input. */\nexport class Tr2EffectStageInput extends CjsModel\n{\n\n /** Portable stage index; Carbon otherwise implies this from the containing array. */\n stageType = -1;\n\n /** m_exists (bool) */\n exists = false;\n\n /** resources (Tr2EffectResourceMap) */\n resources = new Map();\n\n /** uavs (Tr2EffectResourceMap) */\n uavs = new Map();\n\n /** samplers (Tr2SamplerSetupMap) */\n samplers = new Map();\n\n /** m_shader (unsigned) */\n shader = 0xffffffff;\n\n /** constants (Tr2EffectConstantVector) */\n constants = [];\n\n /** m_constantValueSize (unsigned) */\n constantValueSize = 0;\n\n /** constantValues (char[SHADER_CONSTANTS_MAX]) */\n constantValues = new Uint8Array(0);\n\n /** signature (Tr2ShaderSignatureAL) */\n signature = null;\n\n /** annotation (Tr2EffectParameterAnnotationMap) */\n annotation = [];\n\n /** Exact source program metadata and owned bytes, before backend realization. */\n sourceProgram = null;\n\n // Ported from CarbonEngine (MIT, (c) 2026 CCP Games) - https://github.com/carbonengine/trinity\n // trinity/Shader/Tr2Effect.cpp:1799-1821 (the sizing loop and its assertion)\n //\n // Carbon's comment at the site is the whole rule: \"Figure out how large the\n // constant buffer has to be. This has to be done even if the constant isn't\n // set, as the shader may still sample it and expect to get some kind of\n // default (usually zero).\" So EVERY constant participates, not only the ones\n // an effect binds a parameter to.\n //\n // THIS IS NOT `constantValueSize`, AND THE DIFFERENCE IS EASY TO MISS.\n // `constantValueSize` is the length of the authored DEFAULT blob, which\n // Carbon separately grows to cover autoregister sampler-index constants\n // (Tr2EffectDescription.cpp:629-632). Carbon asserts\n // `constantSize >= constantDefaultValueSize` precisely because the two are\n // different numbers and the defaults are a PREFIX of the buffer. An effect\n // that authors defaults for only some of its constants makes them differ, so\n // using the default size as the buffer size is right until it silently is\n // not.\n //\n // It lives here rather than in a consumer because it is arithmetic over this\n // object's own constants and gives every backend the same answer. A backend\n // then applies its own alignment on top - WebGPU's uniform binding alignment,\n // std140 for a WebGL2 block - and that padding is the backend's, not this.\n // Decision 4 of the engine backends plan names the alternative as a defect\n // worth declining to inherit: Carbon replicates its draw-argument arithmetic\n // across ten call sites, and this would replicate the same way once a second\n // engine exists.\n\n /**\n * The byte size a constant buffer must have to hold every declared constant.\n *\n * Always at least `constantValueSize`, because the authored defaults occupy\n * the start of the same buffer.\n */\n GetConstantBufferSize()\n {\n let size = 0;\n\n for (const constant of this.constants)\n {\n size = Math.max(size, (constant?.offset ?? 0) + (constant?.size ?? 0));\n }\n\n return Math.max(size, this.constantValueSize);\n }\n\n /**\n * Construct one canonical stage input from JS/JSON model values.\n *\n * @param {object} values Canonical model values.\n * @param {object} options CjsModel import options.\n * @returns {Tr2EffectStageInput} Hydrated stage input.\n */\n static from(values = {}, options = {})\n {\n let normalized = values;\n const maps = new Map();\n for (const [ field, Constructor ] of [\n [ \"resources\", Tr2EffectResource ],\n [ \"uavs\", Tr2EffectResource ],\n [ \"samplers\", Tr2SamplerSetup ]\n ])\n {\n if (values && Object.hasOwn(values, field))\n {\n normalized = normalized === values ? { ...values } : normalized;\n normalized[field] = this.readCanonicalRegisterMap(\n values[field],\n Constructor,\n options,\n field\n );\n maps.set(field, normalized[field]);\n }\n }\n const stage = super.from(normalized, options);\n for (const [ field, value ] of maps)\n {\n stage[field] = value;\n }\n return stage;\n }\n\n /**\n * Hydrate one canonical stage input from a decoded Carbon binary record.\n *\n * @param {object} record Decoded Carbon stage record.\n * @returns {Tr2EffectStageInput} Hydrated canonical stage input.\n */\n static fromCarbonBinary(record)\n {\n assertCarbonRecord(record, \"stage\");\n\n const input = this.fromCarbonBinaryInput(record, record.type);\n input.signature.pipelineInputCount = record.pipelineInputs.length;\n input.signature.pipelineInputs = record.pipelineInputs.map(entry => ({\n usage: entry.usage,\n registerIndex: entry.registerIndex,\n usageIndex: entry.usageIndex,\n usedMask: entry.usedMask,\n type: entry.type,\n dimension: entry.dimension\n }));\n input.signature.threadGroupSize = {\n x: record.threadGroupSize[0],\n y: record.threadGroupSize[1],\n z: record.threadGroupSize[2]\n };\n input.sourceProgram = {\n kind: \"stage\",\n bytes: copyBytes(recordBytes(record.shaderData)),\n shaderSize: record.shaderData.size,\n // Meaningful only at size zero, where the writer passes the word through\n // rather than interning. At any other size it is a live arena offset that\n // belongs to the container it was read from, so it is not retained.\n unsetOffset: unsetOffsetOf(record.shaderData)\n };\n return input;\n }\n\n /**\n * Build one stage input from a Carbon v15 `StageData` block.\n *\n * A raytracing library's global and local inputs are the same block without a\n * stage wrapper — no stage type, no pipeline inputs, no thread group, no\n * program of their own — so this is the half both callers share and\n * `fromCarbonBinary` is the stage-only remainder layered on top.\n *\n * Carbon writes textures, samplers and UAVs in ascending register order because\n * they are `std::map`s, and they are re-keyed by register here rather than by\n * position, so the map is authoritative and the record's order is not load\n * bearing.\n *\n * @param {object} record Carbon stage-data record.\n * @param {number} [stageType] Stage index, or -1 for a library input.\n * @returns {Tr2EffectStageInput} Reflected stage input.\n */\n static fromCarbonBinaryInput(record, stageType = -1)\n {\n assertCarbonRecord(record, \"stage-data\");\n\n const constantValues = copyBytes(recordBytes(record.defaultValues));\n\n const input = new this();\n input.stageType = stageType;\n input.exists = true;\n input.constants = record.constants.map(\n entry => Tr2EffectConstant.fromCarbonBinary(entry)\n );\n input.resources = this.readCarbonBinaryResourceMap(record.textures);\n input.uavs = this.readCarbonBinaryResourceMap(record.uavs);\n input.samplers = this.readCarbonBinarySamplerMap(record.samplers);\n input.constantValueSize = constantValues.byteLength;\n input.constantValues = constantValues;\n input.constantValuesUnsetOffset = unsetOffsetOf(record.defaultValues);\n input.annotation = record.annotations.map(\n entry => Tr2EffectParameterAnnotation.fromCarbonBinary(entry)\n );\n input.signature = {\n pipelineInputCount: 0,\n pipelineInputs: [],\n registerCount: record.registers.length,\n // Carbon stores one field its reader calls `arrayCount` and its writer\n // calls `registerCount`. Both names are carried forward from the single\n // stored value, because the write direction refuses to emit a record whose\n // two names disagree.\n registers: record.registers.map(entry => ({\n registerType: entry.registerType,\n registerIndex: entry.registerIndex,\n arrayCount: entry.registerCount,\n registerCount: entry.registerCount,\n registerSpace: entry.registerSpace\n })),\n staticSamplerCount: record.staticSamplers.length,\n staticSamplers: record.staticSamplers.map(entry => ({\n registerIndex: entry.registerIndex,\n registerSpace: entry.registerSpace,\n descriptor: {\n // Carried so a consumer can answer \"may this sampler be overridden?\"\n // without inferring it. Carbon's compiler only makes a static sampler\n // out of a non-dynamic one -- `ConvertToStaticSampler` opens\n // `if( sampler.isDynamic ) { return false; }`\n // (shadercompiler/FXAnalyzer.cpp:1727-1731) -- so `false` is\n // guaranteed, not assumed, and there is no wire field to read.\n //\n // The flag is an authorisation, not decoration: dynamic means the\n // sampler may be overridden, non-dynamic means it must not be\n // touched. A reader that treats an absent flag as dynamic, which is\n // Carbon's default for the stage sampler that does carry one, would\n // offer an override on a sampler Carbon forbids overriding. Omitting\n // it therefore fails in the permissive direction.\n isDynamic: false,\n comparison: !!entry.comparison,\n minFilter: entry.minFilter,\n magFilter: entry.magFilter,\n mipFilter: entry.mipFilter,\n addressU: entry.addressU,\n addressV: entry.addressV,\n addressW: entry.addressW,\n mipLODBiasRaw: recordRawBits(entry.mipLODBias),\n maxAnisotropy: entry.maxAnisotropy,\n comparisonFunc: entry.comparisonFunc,\n // A static sampler's border colour is a one-byte enum, not four\n // floats. Sharing the dynamic sampler's mapping here would silently\n // reinterpret it.\n borderColor: entry.borderColor,\n minLODRaw: recordRawBits(entry.minLOD),\n maxLODRaw: recordRawBits(entry.maxLOD)\n }\n })),\n threadGroupSize: { x: 0, y: 0, z: 0 }\n };\n input.sourceProgram = null;\n return input;\n }\n\n /**\n * Emit this stage as a Carbon v15 stage record.\n *\n * @returns {object} Carbon stage record.\n */\n toCarbonBinary()\n {\n const signature = this.signature ?? {};\n const program = this.sourceProgram ?? {};\n return {\n type: this.stageType,\n shaderData: toRecordBlob(\n program.bytes,\n program.shaderSize,\n program.unsetOffset\n ),\n threadGroupSize: [\n signature.threadGroupSize?.x ?? 0,\n signature.threadGroupSize?.y ?? 0,\n signature.threadGroupSize?.z ?? 0\n ],\n pipelineInputs: (signature.pipelineInputs ?? []).map(entry => ({\n usage: entry.usage,\n registerIndex: entry.registerIndex,\n usageIndex: entry.usageIndex,\n usedMask: entry.usedMask,\n type: entry.type,\n dimension: entry.dimension\n })),\n ...this.toCarbonBinaryInput()\n };\n }\n\n /**\n * Emit this input as a Carbon v15 `StageData` block.\n *\n * Carbon holds textures, samplers, UAVs and render states in `std::map`s and\n * writes them in key order, and it sorts annotation names by `strcmp` before\n * writing. Our maps are keyed but not ordered, so every collection is sorted\n * explicitly here rather than trusting insertion order — the reader is\n * indifferent, but the bytes are not, and a container that disagrees with\n * Carbon's ordering is not the file Carbon would have written.\n *\n * @returns {object} Carbon stage-data record.\n */\n toCarbonBinaryInput()\n {\n const byRegister = (left, right) => left.registerIndex - right.registerIndex;\n const signature = this.signature ?? {};\n return {\n registers: (signature.registers ?? []).map(entry => ({\n registerType: entry.registerType,\n registerIndex: entry.registerIndex,\n registerCount: entry.registerCount,\n registerSpace: entry.registerSpace\n })),\n staticSamplers: (signature.staticSamplers ?? []).map(entry =>\n {\n const descriptor = entry.descriptor ?? {};\n return {\n registerIndex: entry.registerIndex,\n registerSpace: entry.registerSpace,\n comparison: descriptor.comparison ? 1 : 0,\n minFilter: descriptor.minFilter,\n magFilter: descriptor.magFilter,\n mipFilter: descriptor.mipFilter,\n addressU: descriptor.addressU,\n addressV: descriptor.addressV,\n addressW: descriptor.addressW,\n mipLODBias: toRecordFloat(descriptor.mipLODBiasRaw),\n maxAnisotropy: descriptor.maxAnisotropy,\n comparisonFunc: descriptor.comparisonFunc,\n // One byte here, four floats on a dynamic sampler.\n borderColor: descriptor.borderColor,\n minLOD: toRecordFloat(descriptor.minLODRaw),\n maxLOD: toRecordFloat(descriptor.maxLODRaw)\n };\n }),\n constants: this.constants.map(constant => constant.toCarbonBinary()),\n defaultValues: toRecordBlob(\n this.constantValues,\n this.constantValueSize,\n this.constantValuesUnsetOffset\n ),\n textures: Array.from(this.resources, ([ register, resource ]) =>\n resource.toCarbonBinary(register)).sort(byRegister),\n samplers: Array.from(this.samplers, ([ register, sampler ]) =>\n sampler.toCarbonBinary(register)).sort(byRegister),\n uavs: Array.from(this.uavs, ([ register, uav ]) =>\n uav.toCarbonBinary(register, true)).sort(byRegister),\n annotations: this.annotation\n .map(entry => entry.toCarbonBinary())\n .sort((left, right) => compareUtf8(left.name.value, right.name.value))\n };\n }\n\n /** Build one register-indexed resource map from Carbon texture or UAV records. */\n static readCarbonBinaryResourceMap(records)\n {\n const result = new Map();\n for (const record of records)\n {\n if (result.has(record.registerIndex))\n {\n throw new Error(\n `Carbon effect resource register ${record.registerIndex} is duplicated`\n );\n }\n result.set(\n record.registerIndex,\n Tr2EffectResource.fromCarbonBinary(record)\n );\n }\n return result;\n }\n\n /** Build one register-indexed sampler map from Carbon sampler records. */\n static readCarbonBinarySamplerMap(records)\n {\n const result = new Map();\n for (const record of records)\n {\n if (result.has(record.registerIndex))\n {\n throw new Error(\n `Carbon effect sampler register ${record.registerIndex} is duplicated`\n );\n }\n result.set(\n record.registerIndex,\n Tr2SamplerSetup.fromCarbonBinary(record)\n );\n }\n return result;\n }\n\n /**\n * Create one explicit absent stage slot.\n *\n * @param {number} stageType Stage index.\n * @returns {Tr2EffectStageInput} Empty stage input.\n */\n static createEmpty(stageType)\n {\n const stage = new this();\n stage.stageType = requireShaderStageType(stageType);\n return stage;\n }\n\n /**\n * Normalize one register-indexed collection into its canonical typed map.\n *\n * @param {Map|object} values Register-indexed source values.\n * @param {Function} Constructor Entry constructor exposing `from`.\n * @param {object} options Hydration options passed to entry construction.\n * @param {string} field Diagnostic field name.\n * @returns {Map<number, *>} Canonical register map.\n */\n static readCanonicalRegisterMap(values, Constructor, options, field)\n {\n const entries = values instanceof Map\n ? values\n : Object.entries(values ?? {});\n const result = new Map();\n for (const [ key, value ] of entries)\n {\n const registerIndex = Number(key);\n if (!isUint32(registerIndex))\n {\n throw new RangeError(\n `Effect ${field} register index must fit uint32`\n );\n }\n if (result.has(registerIndex))\n {\n throw new Error(\n `Effect ${field} register ${registerIndex} is duplicated`\n );\n }\n result.set(\n registerIndex,\n value instanceof Constructor\n ? value\n : Constructor.from(value, options)\n );\n }\n return result;\n }\n\n}\n\n// Declared imperatively rather than with decorators, so this module stays\n// plain ESM that loads from source without a transform. The decorator\n// expressions are reused verbatim, so the registered metadata is identical.\n// Statics belong in `methods`: decorateMethod targets the prototype and\n// would register a static as an instance field.\nCjsSchema.define(Tr2EffectStageInput, {\n className: \"Tr2EffectStageInput\",\n family: \"shader\",\n fields: {\n stageType: [ impl.adapted, impl.reason(\"The source format identifies stage inputs by array index; the index is retained explicitly so a body re-emits as the file that produced it.\"), type.int32 ],\n exists: type.boolean,\n resources: type.map(\"Tr2EffectResource\"),\n uavs: type.map(\"Tr2EffectResource\"),\n samplers: type.map(\"Tr2SamplerSetup\"),\n shader: type.uint32,\n constants: type.list(\"Tr2EffectConstant\"),\n constantValueSize: type.uint32,\n constantValues: type.typedArray(\"Uint8Array\"),\n constantValuesUnsetOffset: [ impl.custom, impl.reason(\"A zero-size blob's offset word is passed through rather than interned, and the shipped corpus does not always set it to the null sentinel; the graph retains it so a body re-emits as the file that produced it.\"), type.uint32 ],\n signature: type.rawStruct(\"Tr2ShaderSignatureAL\"),\n annotation: type.list(\"Tr2EffectParameterAnnotation\"),\n sourceProgram: [ impl.adapted, impl.reason(\"Carbon interns the program inside Tr2EffectDescription::Read (cpp:587-666) and keeps only the m_shader handle (Tr2EffectDescription.h:183). Ours interns at the Trinity boundary, because the resource layer may not import Trinity, so the bytes are retained until then; see Tr2EffectStateManager.registerShaderHandles.\"), type.rawStruct(\"CjsEffectSourceProgram\") ]\n }\n});\n"],"names":["unsetOffsetOf","ref","size","offset","Tr2EffectStageInput","CjsModel","stageType","exists","resources","Map","uavs","samplers","shader","constants","constantValueSize","constantValues","Uint8Array","signature","annotation","sourceProgram","GetConstantBufferSize","constant","Math","max","from","values","options","normalized","maps","field","Constructor","Tr2EffectResource","Tr2SamplerSetup","Object","hasOwn","readCanonicalRegisterMap","set","stage","value","fromCarbonBinary","record","assertCarbonRecord","input","fromCarbonBinaryInput","type","pipelineInputCount","pipelineInputs","length","map","entry","usage","registerIndex","usageIndex","usedMask","dimension","threadGroupSize","x","y","z","kind","bytes","copyBytes","recordBytes","shaderData","shaderSize","unsetOffset","defaultValues","Tr2EffectConstant","readCarbonBinaryResourceMap","textures","readCarbonBinarySamplerMap","byteLength","constantValuesUnsetOffset","annotations","Tr2EffectParameterAnnotation","registerCount","registers","registerType","arrayCount","registerSpace","staticSamplerCount","staticSamplers","descriptor","isDynamic","comparison","minFilter","magFilter","mipFilter","addressU","addressV","addressW","mipLODBiasRaw","recordRawBits","mipLODBias","maxAnisotropy","comparisonFunc","borderColor","minLODRaw","minLOD","maxLODRaw","maxLOD","toCarbonBinary","program","toRecordBlob","toCarbonBinaryInput","byRegister","left","right","toRecordFloat","Array","register","resource","sort","sampler","uav","compareUtf8","name","records","result","has","Error","createEmpty","requireShaderStageType","entries","key","Number","isUint32","RangeError","CjsSchema","define","className","family","fields","impl","adapted","reason","int32","boolean","uint32","list","typedArray","custom","rawStruct"],"mappings":"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"}
|
|
@@ -8,7 +8,7 @@ import { recordBytes, toRecordBlob } from './carbonRecordFields.js';
|
|
|
8
8
|
|
|
9
9
|
// Source: trinity/trinity/Shader/Tr2EffectDescription.h
|
|
10
10
|
|
|
11
|
-
/** Reflected effect pass;
|
|
11
|
+
/** Reflected effect pass; Carbon's interned program and state handles are kept as authored data. */
|
|
12
12
|
class Tr2Pass extends CjsModel {
|
|
13
13
|
/** stageInputs (Tr2EffectStageInput) */
|
|
14
14
|
stageInputs = [];
|
|
@@ -171,9 +171,9 @@ CjsSchema.define(Tr2Pass, {
|
|
|
171
171
|
shaderProgram: type.uint32,
|
|
172
172
|
resourceSetDesc: type.rawStruct("Tr2ResourceSetDescriptionAL"),
|
|
173
173
|
indirectLayout: type.rawStruct("Tr2IndirectDrawBufferLayout"),
|
|
174
|
-
renderStateValues: [impl.adapted, impl.reason("Carbon
|
|
175
|
-
stageOrder: [impl.custom, impl.reason("Carbon indexes pass stages by type in a fixed array and loses the file's ordering; the
|
|
176
|
-
backendBlock: [impl.custom, impl.reason("Carbon ends a pass at its render states; CarbonEngineJS containers may append one per-pass block carrying the backend program, which the resource retains uninterpreted
|
|
174
|
+
renderStateValues: [impl.adapted, impl.reason("Carbon interns the state block while reading (Tr2EffectStateManager::RegisterRenderStateSetup, .h:118) and keeps only the renderStates index (Tr2EffectDescription.h:202). Ours interns at the Trinity boundary, so the authored state/value pairs are retained until then; see Tr2EffectStateManager.registerShaderHandles."), type.rawStruct("CjsEffectRenderStateValues")],
|
|
175
|
+
stageOrder: [impl.custom, impl.reason("Carbon indexes pass stages by type in a fixed array and loses the file's ordering; the port retains it so a body can be re-emitted as the file that produced it."), type.rawStruct("CjsEffectStageOrder")],
|
|
176
|
+
backendBlock: [impl.custom, impl.reason("Carbon ends a pass at its render states; CarbonEngineJS containers may append one per-pass block carrying the backend program, which the resource retains uninterpreted."), type.rawStruct("CjsEffectBackendBlock")]
|
|
177
177
|
}
|
|
178
178
|
});
|
|
179
179
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tr2Pass.js","sources":["../../../../../src/resource/shader/reflection/Tr2Pass.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\nimport { assertCarbonRecord } from \"../../format/carbonRecordGuard.js\";\nimport { CjsSchema, impl, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport {\n} from \"#utils/is\";\nimport { requireShaderStageType, SHADER_STAGE_COUNT } from \"./shaderStage.js\";\nimport { Tr2EffectStageInput } from \"./Tr2EffectStageInput.js\";\nimport { recordBytes, toRecordBlob } from \"./carbonRecordFields.js\";\n\n/** Reflected effect pass; backend program and state handles remain engine-owned. */\nexport class Tr2Pass extends CjsModel\n{\n\n /** stageInputs (Tr2EffectStageInput) */\n stageInputs = [];\n\n /** renderStates (unsigned int) */\n renderStates = 0;\n\n /** shaderTypeMask (unsigned int) */\n shaderTypeMask = 0;\n\n /** shaderProgram (unsigned int) */\n shaderProgram = 0;\n\n /** resourceSetDesc (Tr2ResourceSetDescriptionAL) */\n resourceSetDesc = null;\n\n /** indirectLayout (Tr2IndirectDrawBufferLayout) */\n indirectLayout = null;\n\n /** Exact authored render-state pairs retained before an engine creates a state handle. */\n renderStateValues = [];\n\n /** Optional per-pass backend block, absent in a stock Carbon file. */\n backendBlock = null;\n\n /**\n * Stage types in the order the file stored them.\n *\n * `stageInputs` is indexed by stage type, as Carbon's fixed array is, so the\n * file's ordering is not recoverable from it. That ordering is authored rather\n * than derivable: measured over 288,528 passes in the shipped corpus, 156 put\n * geometry before pixel (`0,3,1`) and 12 put it after (`0,1,3`). Any sort loses\n * one group or the other, so the sequence is kept.\n */\n stageOrder = [];\n\n /**\n * Build one pass from its Carbon v15 description record.\n *\n * Carbon writes only the stages a pass actually uses, but the class keeps a\n * fixed six-slot array indexed by stage type, so absent stages are filled with\n * explicit empty slots rather than left as holes. The stage's own type byte\n * decides where it lands; position in the record does not.\n *\n * The optional backend block is retained verbatim and not interpreted here. It\n * is the one place the container diverges by backend, and deciding what it\n * means is the engine's job, not the reader's.\n *\n * @param {object} record Carbon pass record.\n * @returns {Tr2Pass} Reflected pass.\n */\n static fromCarbonBinary(record)\n {\n assertCarbonRecord(record, \"pass\");\n\n const pass = new this();\n const renderStateIds = new Set();\n pass.renderStateValues = record.renderStates.map(entry =>\n {\n if (renderStateIds.has(entry.state))\n {\n throw new Error(\n `Carbon effect render-state id ${entry.state} is duplicated`\n );\n }\n renderStateIds.add(entry.state);\n return { state: entry.state, value: entry.value };\n });\n\n pass.stageInputs = Array.from(\n { length: SHADER_STAGE_COUNT },\n (_, stageType) => Tr2EffectStageInput.createEmpty(stageType)\n );\n pass.shaderTypeMask = 0;\n\n for (const stageRecord of record.stages)\n {\n const stage = Tr2EffectStageInput.fromCarbonBinary(stageRecord);\n const stageType = requireShaderStageType(stage.stageType);\n if ((pass.shaderTypeMask & (1 << stageType)) !== 0)\n {\n throw new Error(\n `Carbon effect stage type ${stageType} is duplicated`\n );\n }\n pass.stageInputs[stageType] = stage;\n pass.shaderTypeMask = (pass.shaderTypeMask | (1 << stageType)) >>> 0;\n }\n\n pass.stageOrder = record.stages.map(stage => stage.type);\n pass.backendBlock = record.backendBlock\n ? { bytes: recordBytes(record.backendBlock), size: record.backendBlock.size }\n : null;\n\n // THE BLOCK RIDES THE SIGNATURE, STILL UNINTERPRETED. Carbon's signature is\n // the one thing Trinity hands a backend at CreateShader besides the\n // bytecode (Tr2EffectDescription.cpp:589-593), and backends consume it\n // without adding to it - Metal even refuses a field it cannot honour\n // (Tr2ShaderALMetal.mm:24-27). Our per-pass block is backend information\n // of exactly that kind, so it travels the same road: stamped on every stage\n // of the pass, read by the backend whose block it is, ignored by the rest.\n // The pass keeps its own copy for the format libraries that read it today.\n if (pass.backendBlock)\n {\n for (const stage of pass.stageInputs)\n {\n if (stage?.exists && stage.signature) stage.signature.backendBlock = pass.backendBlock;\n }\n }\n\n return pass;\n }\n\n\n /**\n * The populated stages in the order they should be written.\n *\n * A retained order wins; anything present but unlisted follows in stage-type\n * order, so a pass assembled by hand still emits every stage it has.\n *\n * @returns {Array<object>} Stages in file order.\n */\n #orderedStages()\n {\n const present = this.stageInputs.filter(stage => stage?.exists);\n const ordered = [];\n for (const stageType of this.stageOrder)\n {\n const stage = present.find(entry => entry.stageType === stageType);\n if (stage && !ordered.includes(stage)) ordered.push(stage);\n }\n for (const stage of present)\n {\n if (!ordered.includes(stage)) ordered.push(stage);\n }\n return ordered;\n }\n\n /**\n * Emit this pass as a Carbon v15 record.\n *\n * Only stages that exist are written, in ascending stage type. The class keeps\n * six slots because Carbon addresses them positionally in memory; the file\n * stores a count and only the populated ones.\n *\n * Render states are sorted by id because Carbon holds them in a `std::map`.\n *\n * @returns {object} Carbon pass record.\n */\n toCarbonBinary()\n {\n const record = {\n stages: this.#orderedStages().map(stage => stage.toCarbonBinary()),\n renderStates: this.renderStateValues\n .map(entry => ({ state: entry.state, value: entry.value }))\n .sort((left, right) => left.state - right.state)\n };\n if (this.backendBlock)\n {\n record.backendBlock = toRecordBlob(\n this.backendBlock.bytes,\n this.backendBlock.size\n );\n }\n return record;\n }\n}\n\n// Declared imperatively rather than with decorators, so this module stays\n// plain ESM that loads from source without a transform. The decorator\n// expressions are reused verbatim, so the registered metadata is identical.\n// Statics belong in `methods`: decorateMethod targets the prototype and\n// would register a static as an instance field.\nCjsSchema.define(Tr2Pass, {\n className: \"Tr2Pass\",\n family: \"shader\",\n fields: {\n stageInputs: type.list(\"Tr2EffectStageInput\"),\n renderStates: type.uint32,\n shaderTypeMask: type.uint32,\n shaderProgram: type.uint32,\n resourceSetDesc: type.rawStruct(\"Tr2ResourceSetDescriptionAL\"),\n indirectLayout: type.rawStruct(\"Tr2IndirectDrawBufferLayout\"),\n renderStateValues: [ impl.adapted, impl.reason(\"Carbon stores a renderer-owned render-state handle; the device-free graph retains the authored state/value pairs until an engine realizes them.\"), type.rawStruct(\"CjsEffectRenderStateValues\") ],\n stageOrder: [ impl.custom, impl.reason(\"Carbon indexes pass stages by type in a fixed array and loses the file's ordering; the device-free graph retains it so a body can be re-emitted as the file that produced it.\"), type.rawStruct(\"CjsEffectStageOrder\") ],\n backendBlock: [ impl.custom, impl.reason(\"Carbon ends a pass at its render states; CarbonEngineJS containers may append one per-pass block carrying the backend program, which the resource retains uninterpreted for an engine to realize.\"), type.rawStruct(\"CjsEffectBackendBlock\") ]\n }\n});\n"],"names":["Tr2Pass","CjsModel","stageInputs","renderStates","shaderTypeMask","shaderProgram","resourceSetDesc","indirectLayout","renderStateValues","backendBlock","stageOrder","fromCarbonBinary","record","assertCarbonRecord","pass","renderStateIds","Set","map","entry","has","state","Error","add","value","Array","from","length","SHADER_STAGE_COUNT","_","stageType","Tr2EffectStageInput","createEmpty","stageRecord","stages","stage","requireShaderStageType","type","bytes","recordBytes","size","exists","signature","#orderedStages","present","filter","ordered","find","includes","push","toCarbonBinary","sort","left","right","toRecordBlob","CjsSchema","define","className","family","fields","list","uint32","rawStruct","impl","adapted","reason","custom"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Tr2Pass.js","sources":["../../../../../src/resource/shader/reflection/Tr2Pass.js"],"sourcesContent":["// Source: trinity/trinity/Shader/Tr2EffectDescription.h\nimport { assertCarbonRecord } from \"../../format/carbonRecordGuard.js\";\nimport { CjsSchema, impl, type } from \"#schema\";\nimport { CjsModel } from \"#model\";\nimport {\n} from \"#utils/is\";\nimport { requireShaderStageType, SHADER_STAGE_COUNT } from \"./shaderStage.js\";\nimport { Tr2EffectStageInput } from \"./Tr2EffectStageInput.js\";\nimport { recordBytes, toRecordBlob } from \"./carbonRecordFields.js\";\n\n/** Reflected effect pass; Carbon's interned program and state handles are kept as authored data. */\nexport class Tr2Pass extends CjsModel\n{\n\n /** stageInputs (Tr2EffectStageInput) */\n stageInputs = [];\n\n /** renderStates (unsigned int) */\n renderStates = 0;\n\n /** shaderTypeMask (unsigned int) */\n shaderTypeMask = 0;\n\n /** shaderProgram (unsigned int) */\n shaderProgram = 0;\n\n /** resourceSetDesc (Tr2ResourceSetDescriptionAL) */\n resourceSetDesc = null;\n\n /** indirectLayout (Tr2IndirectDrawBufferLayout) */\n indirectLayout = null;\n\n /** Exact authored render-state pairs retained before an engine creates a state handle. */\n renderStateValues = [];\n\n /** Optional per-pass backend block, absent in a stock Carbon file. */\n backendBlock = null;\n\n /**\n * Stage types in the order the file stored them.\n *\n * `stageInputs` is indexed by stage type, as Carbon's fixed array is, so the\n * file's ordering is not recoverable from it. That ordering is authored rather\n * than derivable: measured over 288,528 passes in the shipped corpus, 156 put\n * geometry before pixel (`0,3,1`) and 12 put it after (`0,1,3`). Any sort loses\n * one group or the other, so the sequence is kept.\n */\n stageOrder = [];\n\n /**\n * Build one pass from its Carbon v15 description record.\n *\n * Carbon writes only the stages a pass actually uses, but the class keeps a\n * fixed six-slot array indexed by stage type, so absent stages are filled with\n * explicit empty slots rather than left as holes. The stage's own type byte\n * decides where it lands; position in the record does not.\n *\n * The optional backend block is retained verbatim and not interpreted here. It\n * is the one place the container diverges by backend, and deciding what it\n * means is the engine's job, not the reader's.\n *\n * @param {object} record Carbon pass record.\n * @returns {Tr2Pass} Reflected pass.\n */\n static fromCarbonBinary(record)\n {\n assertCarbonRecord(record, \"pass\");\n\n const pass = new this();\n const renderStateIds = new Set();\n pass.renderStateValues = record.renderStates.map(entry =>\n {\n if (renderStateIds.has(entry.state))\n {\n throw new Error(\n `Carbon effect render-state id ${entry.state} is duplicated`\n );\n }\n renderStateIds.add(entry.state);\n return { state: entry.state, value: entry.value };\n });\n\n pass.stageInputs = Array.from(\n { length: SHADER_STAGE_COUNT },\n (_, stageType) => Tr2EffectStageInput.createEmpty(stageType)\n );\n pass.shaderTypeMask = 0;\n\n for (const stageRecord of record.stages)\n {\n const stage = Tr2EffectStageInput.fromCarbonBinary(stageRecord);\n const stageType = requireShaderStageType(stage.stageType);\n if ((pass.shaderTypeMask & (1 << stageType)) !== 0)\n {\n throw new Error(\n `Carbon effect stage type ${stageType} is duplicated`\n );\n }\n pass.stageInputs[stageType] = stage;\n pass.shaderTypeMask = (pass.shaderTypeMask | (1 << stageType)) >>> 0;\n }\n\n pass.stageOrder = record.stages.map(stage => stage.type);\n pass.backendBlock = record.backendBlock\n ? { bytes: recordBytes(record.backendBlock), size: record.backendBlock.size }\n : null;\n\n // THE BLOCK RIDES THE SIGNATURE, STILL UNINTERPRETED. Carbon's signature is\n // the one thing Trinity hands a backend at CreateShader besides the\n // bytecode (Tr2EffectDescription.cpp:589-593), and backends consume it\n // without adding to it - Metal even refuses a field it cannot honour\n // (Tr2ShaderALMetal.mm:24-27). Our per-pass block is backend information\n // of exactly that kind, so it travels the same road: stamped on every stage\n // of the pass, read by the backend whose block it is, ignored by the rest.\n // The pass keeps its own copy for the format libraries that read it today.\n if (pass.backendBlock)\n {\n for (const stage of pass.stageInputs)\n {\n if (stage?.exists && stage.signature) stage.signature.backendBlock = pass.backendBlock;\n }\n }\n\n return pass;\n }\n\n\n /**\n * The populated stages in the order they should be written.\n *\n * A retained order wins; anything present but unlisted follows in stage-type\n * order, so a pass assembled by hand still emits every stage it has.\n *\n * @returns {Array<object>} Stages in file order.\n */\n #orderedStages()\n {\n const present = this.stageInputs.filter(stage => stage?.exists);\n const ordered = [];\n for (const stageType of this.stageOrder)\n {\n const stage = present.find(entry => entry.stageType === stageType);\n if (stage && !ordered.includes(stage)) ordered.push(stage);\n }\n for (const stage of present)\n {\n if (!ordered.includes(stage)) ordered.push(stage);\n }\n return ordered;\n }\n\n /**\n * Emit this pass as a Carbon v15 record.\n *\n * Only stages that exist are written, in ascending stage type. The class keeps\n * six slots because Carbon addresses them positionally in memory; the file\n * stores a count and only the populated ones.\n *\n * Render states are sorted by id because Carbon holds them in a `std::map`.\n *\n * @returns {object} Carbon pass record.\n */\n toCarbonBinary()\n {\n const record = {\n stages: this.#orderedStages().map(stage => stage.toCarbonBinary()),\n renderStates: this.renderStateValues\n .map(entry => ({ state: entry.state, value: entry.value }))\n .sort((left, right) => left.state - right.state)\n };\n if (this.backendBlock)\n {\n record.backendBlock = toRecordBlob(\n this.backendBlock.bytes,\n this.backendBlock.size\n );\n }\n return record;\n }\n}\n\n// Declared imperatively rather than with decorators, so this module stays\n// plain ESM that loads from source without a transform. The decorator\n// expressions are reused verbatim, so the registered metadata is identical.\n// Statics belong in `methods`: decorateMethod targets the prototype and\n// would register a static as an instance field.\nCjsSchema.define(Tr2Pass, {\n className: \"Tr2Pass\",\n family: \"shader\",\n fields: {\n stageInputs: type.list(\"Tr2EffectStageInput\"),\n renderStates: type.uint32,\n shaderTypeMask: type.uint32,\n shaderProgram: type.uint32,\n resourceSetDesc: type.rawStruct(\"Tr2ResourceSetDescriptionAL\"),\n indirectLayout: type.rawStruct(\"Tr2IndirectDrawBufferLayout\"),\n renderStateValues: [ impl.adapted, impl.reason(\"Carbon interns the state block while reading (Tr2EffectStateManager::RegisterRenderStateSetup, .h:118) and keeps only the renderStates index (Tr2EffectDescription.h:202). Ours interns at the Trinity boundary, so the authored state/value pairs are retained until then; see Tr2EffectStateManager.registerShaderHandles.\"), type.rawStruct(\"CjsEffectRenderStateValues\") ],\n stageOrder: [ impl.custom, impl.reason(\"Carbon indexes pass stages by type in a fixed array and loses the file's ordering; the port retains it so a body can be re-emitted as the file that produced it.\"), type.rawStruct(\"CjsEffectStageOrder\") ],\n backendBlock: [ impl.custom, impl.reason(\"Carbon ends a pass at its render states; CarbonEngineJS containers may append one per-pass block carrying the backend program, which the resource retains uninterpreted.\"), type.rawStruct(\"CjsEffectBackendBlock\") ]\n }\n});\n"],"names":["Tr2Pass","CjsModel","stageInputs","renderStates","shaderTypeMask","shaderProgram","resourceSetDesc","indirectLayout","renderStateValues","backendBlock","stageOrder","fromCarbonBinary","record","assertCarbonRecord","pass","renderStateIds","Set","map","entry","has","state","Error","add","value","Array","from","length","SHADER_STAGE_COUNT","_","stageType","Tr2EffectStageInput","createEmpty","stageRecord","stages","stage","requireShaderStageType","type","bytes","recordBytes","size","exists","signature","#orderedStages","present","filter","ordered","find","includes","push","toCarbonBinary","sort","left","right","toRecordBlob","CjsSchema","define","className","family","fields","list","uint32","rawStruct","impl","adapted","reason","custom"],"mappings":"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"}
|