source generator upgrade

This commit is contained in:
h z
2024-07-10 15:27:36 +01:00
parent 401e48e0ba
commit a8688d7f95
50 changed files with 61 additions and 61 deletions

View File

@@ -1,10 +1,9 @@
using Enigmos.Modules.InterlayerModules;
using Enigmos.Modules.ProgrammableModules.OptimizationModule;
using Nocturnis;
using Nocturnis.Attributes;
namespace Enigmos.Boards;
[UniqueInheritance]
public partial class OptimizationModuleBoard : BaseBoard, ISceneConcept
{
public OptimizationModule? OptimizationModule { get; set; }

View File

@@ -153,6 +153,6 @@ public abstract partial class BaseModule : TextureRect, IBaseModule
base._Input(@event);
}
public Texture2D PreviewTexture => GlobalProvider.TextureProvider.ModuleTextureMapper(this);
//public Texture2D PreviewTexture => GlobalProvider.TextureProvider.ModuleTextureMapper(this);
public abstract Texture2D PreviewTexture { get; }
}

View File

@@ -4,7 +4,7 @@ using Nocturnis.Enigmos.Ports;
namespace Enigmos.Modules;
public partial class CompositeModule : BaseModule, ICompositeModule
public abstract partial class CompositeModule : BaseModule, ICompositeModule
{
public IBaseModule[] SubModules => GetChildren().OfType<IBaseModule>().ToArray();

View File

@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class AdditionModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
public abstract partial class AdditionModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{
private IDataInGroup? InputGroup { get; set; }
private IDataOutGroup? OutputGroup { get; set; }

View File

@@ -7,7 +7,7 @@ using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class ComparisionModule : BinaryComputationalModule,
public abstract partial class ComparisionModule : BinaryComputationalModule,
IParameterizedModule,
IDuplicateOutputModule,
IOperationModule

View File

@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class ControlledOutputModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
public abstract partial class ControlledOutputModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{
[Export] private StringName? PresetDataType { get; set; }
private IDataOutGroup? OutputGroup { get; set; }

View File

@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class DivisionModule : BinaryComputationalModule,
public abstract partial class DivisionModule : BinaryComputationalModule,
IPolymorphismModule,
IDuplicateOutputModule
{

View File

@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class DotProductModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
public abstract partial class DotProductModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{
private IDataInGroup? VectorInputGroup { get; set; }
private IDataOutGroup? OutputGroup { get; set; }
@@ -46,7 +46,7 @@ public partial class DotProductModule : BinaryComputationalModule, IPolymorphism
public void Inference()
{
if (GlobalProvider.DataPackageTypeProvider!.IsComplexTensorType(VectorInputGroup!.SelectedType))
if (GlobalProvider.DataTypeProvider!.IsComplexTensorType(VectorInputGroup!.SelectedType))
OutputGroup!.SelectedType = EnigmosConstant.DataPortTypes.Complex;
else
OutputGroup!.SelectedType = EnigmosConstant.DataPortTypes.Real;

View File

@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalAlternativeDenialModule : BinaryLogicModule
public abstract partial class LogicalAlternativeDenialModule : BinaryLogicModule
{
public override void Define()
{

View File

@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalBiconditionalModule : BinaryLogicModule
public abstract partial class LogicalBiconditionalModule : BinaryLogicModule
{
public override void Define()
{

View File

@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalConjunctionModule : BinaryLogicModule
public abstract partial class LogicalConjunctionModule : BinaryLogicModule
{

View File

@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalDisjunctionModule : BinaryLogicModule
public abstract partial class LogicalDisjunctionModule : BinaryLogicModule
{
public override void Define()

View File

@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalExclusiveDisjunctionModule : BinaryLogicModule
public abstract partial class LogicalExclusiveDisjunctionModule : BinaryLogicModule
{
public override void Define()
{

View File

@@ -3,7 +3,7 @@ using Nocturnis.GlobalManagement.Constants;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalImplicationModule : BinaryLogicModule
public abstract partial class LogicalImplicationModule : BinaryLogicModule
{
public override void Define()
{

View File

@@ -3,7 +3,7 @@ using Nocturnis.GlobalManagement.Constants;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalJointDenialModule : BinaryLogicModule
public abstract partial class LogicalJointDenialModule : BinaryLogicModule
{
public override void Define()
{

View File

@@ -5,7 +5,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class LogicalNonimplicationModule : BinaryLogicModule
public abstract partial class LogicalNonimplicationModule : BinaryLogicModule
{
public override void Define()
{

View File

@@ -6,7 +6,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class MaxModule : BinaryComputationalModule, IOperationModule, IDuplicateOutputModule
public abstract partial class MaxModule : BinaryComputationalModule, IOperationModule, IDuplicateOutputModule
{
public override void Init()
{

View File

@@ -6,7 +6,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class MinModule : BinaryComputationalModule, IDuplicateOutputModule, IOperationModule
public abstract partial class MinModule : BinaryComputationalModule, IDuplicateOutputModule, IOperationModule
{
public override void Init()
{

View File

@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class MultiplicationModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
public abstract partial class MultiplicationModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{
private IDataPortGroup? InputGroup { get; set; }
private IDataPortGroup? OutputGroup { get; set; }

View File

@@ -10,7 +10,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class PowerModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
public abstract partial class PowerModule : BinaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{
private IDataPortGroup? TensorInputGroup { get; set; }
private IDataPortGroup? OutputGroup { get; set; }
@@ -46,6 +46,6 @@ public partial class PowerModule : BinaryComputationalModule, IPolymorphismModul
}
public void Inference() =>
OutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider!.ComplexVersionOf(TensorInputGroup!.SelectedType);
OutputGroup!.SelectedType = GlobalProvider.DataTypeProvider!.ComplexVersionOf(TensorInputGroup!.SelectedType);
}

View File

@@ -10,7 +10,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class ScalarDivisionModule : BinaryComputationalModule,
public abstract partial class ScalarDivisionModule : BinaryComputationalModule,
IPolymorphismModule,
IDuplicateOutputModule
{
@@ -60,8 +60,8 @@ public partial class ScalarDivisionModule : BinaryComputationalModule,
public void Inference()
{
if (GlobalProvider.DataPackageTypeProvider!.IsComplexTensorType(ScalarInputGroup!.SelectedType))
OutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider.ComplexVersionOf(TensorInputGroup!.SelectedType);
if (GlobalProvider.DataTypeProvider!.IsComplexTensorType(ScalarInputGroup!.SelectedType))
OutputGroup!.SelectedType = GlobalProvider.DataTypeProvider.ComplexVersionOf(TensorInputGroup!.SelectedType);
else
OutputGroup!.SelectedType = TensorInputGroup!.SelectedType;
}

View File

@@ -10,7 +10,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class ScalarMultiplicationModule :
public abstract partial class ScalarMultiplicationModule :
BinaryComputationalModule,
IPolymorphismModule,
IDuplicateOutputModule
@@ -60,10 +60,10 @@ public partial class ScalarMultiplicationModule :
public void Inference()
{
if (
GlobalProvider.DataPackageTypeProvider!.IsComplexTensorType(ScalarInputGroup!.SelectedType) ||
GlobalProvider.DataPackageTypeProvider.IsComplexTensorType(TensorInputGroup!.SelectedType)
GlobalProvider.DataTypeProvider!.IsComplexTensorType(ScalarInputGroup!.SelectedType) ||
GlobalProvider.DataTypeProvider.IsComplexTensorType(TensorInputGroup!.SelectedType)
)
OutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider.ComplexVersionOf(TensorInputGroup!.SelectedType);
OutputGroup!.SelectedType = GlobalProvider.DataTypeProvider.ComplexVersionOf(TensorInputGroup!.SelectedType);
else
OutputGroup!.SelectedType = TensorInputGroup.SelectedType;
}

View File

@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class SubtractionModule : BinaryComputationalModule,
public abstract partial class SubtractionModule : BinaryComputationalModule,
IPolymorphismModule,
IDuplicateOutputModule
{

View File

@@ -13,7 +13,7 @@ using C2 = Skeleton.Algebra.CategoryOf<Skeleton.Algebra.DimensionProviders.IDim2
namespace Enigmos.Modules.ComputationalModules.Binary;
public partial class V2Module : BinaryComputationalModule,
public abstract partial class V2Module : BinaryComputationalModule,
IPolymorphismModule,
IDuplicateOutputModule
{
@@ -62,7 +62,7 @@ public partial class V2Module : BinaryComputationalModule,
public void Inference()
{
OutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider!.BuildType(OutputGroup.SelectedType, 1, 2);
OutputGroup!.SelectedType = GlobalProvider.DataTypeProvider!.BuildType(OutputGroup.SelectedType, 1, 2);
}
}

View File

@@ -8,7 +8,7 @@ using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Modules.ComputationalModules.Nullary;
public partial class ConstantModule : NullaryComputationalModule, IParameterizedModule, IDuplicateOutputModule
public abstract partial class ConstantModule : NullaryComputationalModule, IParameterizedModule, IDuplicateOutputModule
{
[Export] private double PresetConstantValue { get; set; }

View File

@@ -9,7 +9,7 @@ using Nocturnis.GlobalManagement.Providers;
using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Nullary;
public partial class KeyListenerModule : NullaryComputationalModule,
public abstract partial class KeyListenerModule : NullaryComputationalModule,
IParameterizedModule,
IKeyListenerModule,
IDuplicateOutputModule

View File

@@ -11,7 +11,7 @@ using Skeleton.Utils.RandomEngines;
namespace Enigmos.Modules.ComputationalModules.Nullary;
public partial class NormalDistributionModule : NullaryComputationalModule,
public abstract partial class NormalDistributionModule : NullaryComputationalModule,
IParameterizedModule,
IDuplicateOutputModule
{

View File

@@ -10,7 +10,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Ternary;
public partial class SelectorModule : TernaryComputationalModule,
public abstract partial class SelectorModule : TernaryComputationalModule,
ITernaryComputationalModule,
IPolymorphismModule,
IDuplicateOutputModule

View File

@@ -8,7 +8,7 @@ using Nocturnis.GlobalManagement.Providers;
using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Unary;
public partial class CopyModule : UnaryComputationalModule,
public abstract partial class CopyModule : UnaryComputationalModule,
IPolymorphismModule,
IDuplicateOutputModule
{

View File

@@ -6,7 +6,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Unary;
public partial class LogicalNegationModule : UnaryComputationalModule, IDuplicateOutputModule
public abstract partial class LogicalNegationModule : UnaryComputationalModule, IDuplicateOutputModule
{
public override void Init()
{

View File

@@ -10,7 +10,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Unary;
public partial class NegationModule : UnaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
public abstract partial class NegationModule : UnaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{
private IDataInGroup? InputGroup { get; set; }

View File

@@ -9,7 +9,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Unary;
public partial class SquareModule : UnaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
public abstract partial class SquareModule : UnaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{
private IDataPortGroup? InputGroup { get; set; }
private IDataPortGroup? OutputGroup { get; set; }

View File

@@ -11,7 +11,7 @@ using Skeleton.DataStructure;
namespace Enigmos.Modules.ComputationalModules.Unary;
public partial class V2ComponentModule : UnaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
public abstract partial class V2ComponentModule : UnaryComputationalModule, IPolymorphismModule, IDuplicateOutputModule
{
private IDataPortGroup? VectorInputGroup { get; set; }
private IDataPortGroup? ScalarOutputGroup { get; set; }
@@ -62,7 +62,7 @@ public partial class V2ComponentModule : UnaryComputationalModule, IPolymorphism
}
public void Inference() =>
ScalarOutputGroup!.SelectedType = GlobalProvider.DataPackageTypeProvider!
ScalarOutputGroup!.SelectedType = GlobalProvider.DataTypeProvider!
.GetBaseField(VectorInputGroup!.SelectedType);
}

View File

@@ -5,7 +5,7 @@ using Nocturnis.GlobalManagement.Constants;
using Nocturnis.GlobalManagement.Controls;
namespace Enigmos.Modules.ControllingModules.ActionModules;
public partial class AttackActionModule : ActionModule, ITerminalModule
public abstract partial class AttackActionModule : ActionModule, ITerminalModule
{
public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>();

View File

@@ -8,7 +8,7 @@ using Nocturnis.GlobalManagement.Controls;
namespace Enigmos.Modules.ControllingModules.ActionModules;
public partial class MoveActionModule : ActionModule, ITerminalModule
public abstract partial class MoveActionModule : ActionModule, ITerminalModule
{
public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>();

View File

@@ -5,7 +5,7 @@ using Nocturnis.Enigmos.Ports;
using Nocturnis.Enigmos.Ports.SignalPorts.Directions;
namespace Enigmos.Modules.ControllingModules;
public partial class RootModule : BaseModule, IRootModule
public abstract partial class RootModule : BaseModule, IRootModule
{
public bool ActionFinished { get; set; }
public IBaseCreature? ManagedBy { get; set; }

View File

@@ -9,7 +9,7 @@ using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Modules.ControllingModules;
public partial class SinglePoleDoubleThrowSwitchModule : PiplineModule, IParameterizedModule, ITerminalModule
public abstract partial class SinglePoleDoubleThrowSwitchModule : PiplineModule, IParameterizedModule, ITerminalModule
{
public HashSet<IConfigurableParameter> ConfigurableParameters { get; set; } = new();
private IBoolParameter? LeftPortForTrue { get; set; }

View File

@@ -6,7 +6,7 @@ using Nocturnis.GlobalManagement.Controls;
namespace Enigmos.Modules.ControllingModules;
public partial class SinglePoleSingleThrowSwitchModule : PiplineModule, ITerminalModule
public abstract partial class SinglePoleSingleThrowSwitchModule : PiplineModule, ITerminalModule
{
public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>();

View File

@@ -13,7 +13,7 @@ using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Modules.ProgrammableModules.FilterModule;
public partial class FilterModule : ProgrammableModule,
public abstract partial class FilterModule : ProgrammableModule,
IPolymorphismModule,
IInternalComputationalModule,
IEnumerableProcessingModule

View File

@@ -10,7 +10,7 @@ using Nocturnis.GlobalManagement.Constants;
using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Modules.ProgrammableModules.FunctionModule;
public partial class FunctionModule : ProgrammableModule, IPolymorphismModule
public abstract partial class FunctionModule : ProgrammableModule, IPolymorphismModule
{
private IDataPortGroup[] ExteriorToInterior { get; set; } = Array.Empty<IDataPortGroup>();
private IDataPortGroup[] InteriorToExterior { get; set; } = Array.Empty<IDataPortGroup>();

View File

@@ -15,7 +15,7 @@ using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Modules.ProgrammableModules.OptimizationModule;
public partial class OptimizationModule : ProgrammableModule,
public abstract partial class OptimizationModule : ProgrammableModule,
IPolymorphismModule,
IParameterizedModule,
IInternalComputationalModule,
@@ -125,7 +125,7 @@ public partial class OptimizationModule : ProgrammableModule,
public void Inference()
{
StringName elementType = GlobalProvider.DataPackageTypeProvider!.ToElement(OptimizationGroup!.SelectedType);
StringName elementType = GlobalProvider.DataTypeProvider!.ToElement(OptimizationGroup!.SelectedType);
Output!.Out!.SetDataType(elementType);
UnderlyingBoard.InputProvider!.Output!.SetDataType(elementType);
}

View File

@@ -10,4 +10,5 @@ public class SubModule : BaseModule
base.PositionToBoard + (ParentModule?.PositionToBoard ?? Vector2.Zero);
protected sealed override bool Draggable => false;
protected sealed override bool HasManual => false;
public override Texture2D? PreviewTexture => null;
}

View File

@@ -7,7 +7,7 @@ using Skeleton.Utils.Helpers;
using VirtualChemistry.Chemistry.Mixtures.Implements;
namespace Enigmos.Modules.TerminalModules;
public partial class EngineModule : TerminalModule
public abstract partial class EngineModule : TerminalModule
{
protected override bool Draggable => false;
public DataInPort? Throttle { get; set; }

View File

@@ -10,7 +10,7 @@ using Nocturnis.GlobalManagement.Providers;
namespace Enigmos.Modules.TerminalModules;
public partial class MemoryModule : BaseModule, ITerminalModule, ISourceModule, IDuplicateOutputModule
public abstract partial class MemoryModule : BaseModule, ITerminalModule, ISourceModule, IDuplicateOutputModule
{
private IData? Memory { get; set; }
private IDataPortGroup? MemoryPortGroup { get; set; }

View File

@@ -6,7 +6,7 @@ using Nocturnis.GlobalManagement.Constants;
namespace Enigmos.Modules.TerminalModules;
public partial class SRLatchModule : BaseModule,
public abstract partial class SRLatchModule : BaseModule,
ITerminalModule,
ISourceModule,
IDuplicateOutputModule,

View File

@@ -8,7 +8,7 @@ using Nocturnis.GlobalManagement.Constants;
namespace Enigmos.Modules.TerminalModules.TestingModules;
public partial class LightEmittingDiodeModule : TerminalModule
public abstract partial class LightEmittingDiodeModule : TerminalModule
{
private Sprite2D? LightEmittingDiode { get; set; }
private IDataInPort? Input { get; set; }

View File

@@ -6,7 +6,7 @@ using Nocturnis.GlobalManagement.Constants;
namespace Enigmos.Modules.TerminalModules.TestingModules;
public partial class R2ReaderModule : TerminalModule
public abstract partial class R2ReaderModule : TerminalModule
{
private DataInPort? DataIn { get; set; }
private R2Reader? R2Reader { get; set; }

View File

@@ -8,7 +8,7 @@ using Skeleton.Utils.Helpers;
namespace Enigmos.Modules.TerminalModules.TestingModules;
public partial class RealReaderModule : BaseModule, ITerminalModule, IOperationModule
public abstract partial class RealReaderModule : BaseModule, ITerminalModule, IOperationModule
{
private AnimatedSprite2D? RealReader { get; set; }
public IDataInPort[] DataInPorts { get; set; } = Array.Empty<IDataInPort>();

View File

@@ -15,7 +15,7 @@ public partial class DataInPort : DataPort, IDataInPort
public override bool IsMatch(IBasePort other) =>
other is DataOutPort dataOut &&
GlobalProvider.DataPackageTypeProvider!.DataPortTypeCompatible(DataType!, dataOut.DataType!);
GlobalProvider.DataTypeProvider!.DataPortTypeCompatible(DataType!, dataOut.DataType!);
public DataCache GetData => Connected ? ConnectedPort!.OutData : DataCache.Null;

View File

@@ -26,7 +26,7 @@ public partial class DataOutPort : DataPort, IDataOutPort
public override bool IsMatch(IBasePort other) =>
other is DataInPort inPort &&
GlobalProvider.DataPackageTypeProvider!.DataPortTypeCompatible(inPort.DataType!, DataType!);
GlobalProvider.DataTypeProvider!.DataPortTypeCompatible(inPort.DataType!, DataType!);
public override IBaseCable MakeCable(IBasePort other)
{