From c215cab014ff2debe4e45bf05947022f1fef3a3a Mon Sep 17 00:00:00 2001 From: avery Date: Mon, 2 Mar 2026 17:42:52 -0500 Subject: [PATCH] Awperative V1.3A --- .../Kernel/Atrributes/DebugAttributes.cs | 56 ++++---- .../Kernel/Atrributes/DependencyAttributes.cs | 28 ---- AwperativeKernel/Kernel/Debug/Debug.cs | 132 ++++++++++++++++++ .../Kernel/Overhead/Awperative/Awperative.cs | 49 +++---- .../Overhead/Reflection/DependencyManager.cs | 54 ------- .../Overhead/Reflection/EventManager.cs | 4 + .../Overhead/Reflection/ReflectionManager.cs | 12 +- .../Kernel/RequiredModules/IDebugger.cs | 29 ---- .../Kernel/RequiredModules/IModule.cs | 12 -- AwperativeKernel/Kernel/Scene/Scene.cs | 17 ++- AwperativeKernel/VersionHistory.md | 10 +- .../net8.0/AwperativeKernel.AssemblyInfo.cs | 2 +- .../AwperativeKernel.AssemblyInfoInputs.cache | 2 +- ...ativeKernel.csproj.CoreCompileInputs.cache | 2 +- .../obj/Debug/net8.0/AwperativeKernel.dll | Bin 35328 -> 35328 bytes .../obj/Debug/net8.0/AwperativeKernel.pdb | Bin 23348 -> 23140 bytes .../obj/Debug/net8.0/ref/AwperativeKernel.dll | Bin 19456 -> 19456 bytes .../Debug/net8.0/refint/AwperativeKernel.dll | Bin 19456 -> 19456 bytes 18 files changed, 204 insertions(+), 205 deletions(-) delete mode 100644 AwperativeKernel/Kernel/Atrributes/DependencyAttributes.cs create mode 100644 AwperativeKernel/Kernel/Debug/Debug.cs delete mode 100644 AwperativeKernel/Kernel/Overhead/Reflection/DependencyManager.cs delete mode 100644 AwperativeKernel/Kernel/RequiredModules/IDebugger.cs delete mode 100644 AwperativeKernel/Kernel/RequiredModules/IModule.cs diff --git a/AwperativeKernel/Kernel/Atrributes/DebugAttributes.cs b/AwperativeKernel/Kernel/Atrributes/DebugAttributes.cs index d220e4f..c26b283 100644 --- a/AwperativeKernel/Kernel/Atrributes/DebugAttributes.cs +++ b/AwperativeKernel/Kernel/Atrributes/DebugAttributes.cs @@ -34,7 +34,7 @@ public static class DebugAttributes public static bool VerifyOrThrow(ComponentDocker __docker, Component __component) { if (__docker.Contains(__component)) return true; - Awperative.Debug.LogError("Docker does not own the Component!", + Debug.LogError("Docker does not own the Component!", ["ComponentType", "ComponentName", "ComponentHash", "DockerType", "DockerName", "DockerHash"], [ __component.GetType().Name, __component.Name, @@ -44,7 +44,7 @@ public static class DebugAttributes __docker.GetHashCode().ToString("N0") ]); - return Awperative.Debug.IgnoreErrors; + return Debug.IgnoreErrors; } } @@ -61,7 +61,7 @@ public static class DebugAttributes public static bool VerifyOrThrow(ComponentDocker __docker, Component __component) { if (!__docker.Contains(__component)) return true; - Awperative.Debug.LogError("Docker owns the Component!", + Debug.LogError("Docker owns the Component!", ["ComponentType", "ComponentName", "ComponentHash", "DockerType", "DockerName", "DockerHash"], [ __component.GetType().Name, __component.Name, @@ -71,7 +71,7 @@ public static class DebugAttributes __docker.GetHashCode().ToString("N0") ]); - return Awperative.Debug.IgnoreErrors; + return Debug.IgnoreErrors; } } @@ -88,7 +88,7 @@ public static class DebugAttributes public static bool VerifyOrThrow(Component __component) { if (__component.ComponentDocker == null) return true; - Awperative.Debug.LogError("Component is already owned!", + Debug.LogError("Component is already owned!", ["ComponentType", "ComponentName", "ComponentHash", "DockerType", "DockerName", "DockerHash"], [ __component.GetType().Name, __component.Name, @@ -98,7 +98,7 @@ public static class DebugAttributes __component.ComponentDocker.GetHashCode().ToString("N0") ]); - return Awperative.Debug.IgnoreErrors; + return Debug.IgnoreErrors; } } @@ -115,13 +115,13 @@ public static class DebugAttributes public static bool VerifyOrThrow(ComponentDocker __docker, ComponentDocker __other) { if (!__docker.Equals(__other)) return true; - Awperative.Debug.LogError("The dockers are the same!", ["DockerType", "DockerName", "DockerHash"], [ + Debug.LogError("The dockers are the same!", ["DockerType", "DockerName", "DockerHash"], [ __docker.GetType().Name, __docker switch { Scene scene => scene.Name, Component component => component.Name, _ => "unknown" }, __docker.GetHashCode().ToString("N0") ]); - return Awperative.Debug.IgnoreErrors; + return Debug.IgnoreErrors; } } @@ -138,9 +138,9 @@ public static class DebugAttributes public static bool VerifyOrThrow(Component __component) { if (__component != null) return true; - Awperative.Debug.LogError("Component is null!"); + Debug.LogError("Component is null!"); - return Awperative.Debug.IgnoreErrors; + return Debug.IgnoreErrors; } } @@ -157,9 +157,9 @@ public static class DebugAttributes public static bool VerifyOrThrow(ComponentDocker __componentDocker) { if (__componentDocker != null) return true; - Awperative.Debug.LogError("Docker is null!"); + Debug.LogError("Docker is null!"); - return Awperative.Debug.IgnoreErrors; + return Debug.IgnoreErrors; } } @@ -176,9 +176,9 @@ public static class DebugAttributes public static bool VerifyOrThrow(Scene __scene) { if (__scene != null) return true; - Awperative.Debug.LogError("Scene is null!"); + Debug.LogError("Scene is null!"); - return Awperative.Debug.IgnoreErrors; + return Debug.IgnoreErrors; } } @@ -191,11 +191,11 @@ public static class DebugAttributes /// [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.VeryLow), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)] public static bool VerifyOrThrow(Scene __scene) { - if (Awperative._scenes.Contains(__scene)) return true; + if (!Awperative._scenes.Contains(__scene)) return true; - Awperative.Debug.LogError("Scene already exists!"); + Debug.LogError("Scene already exists!"); - return Awperative.Debug.IgnoreErrors; + return Debug.IgnoreErrors; } } @@ -213,12 +213,12 @@ public static class DebugAttributes /// public static bool VerifyOrThrow(IEnumerable __enumerator) { - if (__enumerator == null) { Awperative.Debug.LogError("A given enumerator is null!"); return Awperative.Debug.IgnoreErrors; } + if (__enumerator == null) { Debug.LogError("A given enumerator is null!"); return Debug.IgnoreErrors; } foreach (object obj in __enumerator) { if (obj == null) { - Awperative.Debug.LogError("A given enumerator has null members!", ["Type"], [__enumerator.GetType().Name]); - return Awperative.Debug.IgnoreErrors; + Debug.LogError("A given enumerator has null members!", ["Type"], [__enumerator.GetType().Name]); + return Debug.IgnoreErrors; } } @@ -238,9 +238,9 @@ public static class DebugAttributes public static bool VerifyOrThrow(IEnumerable __enumerator, object __object) { if (__enumerator.Contains(__object)) return true; - Awperative.Debug.LogError("A given enumerator does not contains an object!", ["EnumeratorType", "ObjectType", "Value"], [__enumerator.GetType().Name, __object.GetType().Name, __object.ToString()]); + Debug.LogError("A given enumerator does not contains an object!", ["EnumeratorType", "ObjectType", "Value"], [__enumerator.GetType().Name, __object.GetType().Name, __object.ToString()]); - return Awperative.Debug.IgnoreErrors; + return Debug.IgnoreErrors; } } @@ -256,9 +256,9 @@ public static class DebugAttributes public static bool VerifyOrThrow(IEnumerable __enumerator, object __object) { if (!__enumerator.Contains(__object)) return true; - Awperative.Debug.LogError("A given enumerator already contains the object object!", ["EnumeratorType", "ObjectType", "Value"], [__enumerator.GetType().Name, __object.GetType().Name, __object.ToString()]); + Debug.LogError("A given enumerator already contains the object object!", ["EnumeratorType", "ObjectType", "Value"], [__enumerator.GetType().Name, __object.GetType().Name, __object.ToString()]); - return Awperative.Debug.IgnoreErrors; + return Debug.IgnoreErrors; } } @@ -274,9 +274,9 @@ public static class DebugAttributes public static bool VerifyOrThrow(Object __object) { if (__object != null) return true; - Awperative.Debug.LogError("A given object is null!"); + Debug.LogError("A given object is null!"); - return Awperative.Debug.IgnoreErrors; + return Debug.IgnoreErrors; } } @@ -292,9 +292,9 @@ public static class DebugAttributes public static bool VerifyOrThrow(int __index, int __min, int __max) { if (__index >= __min && __index <= __max) return true; - Awperative.Debug.LogError("Value does not fit range!", ["Index"], [__index.ToString("N0")]); + Debug.LogError("Value does not fit range!", ["Index"], [__index.ToString("N0")]); - return Awperative.Debug.IgnoreErrors; + return Debug.IgnoreErrors; } } diff --git a/AwperativeKernel/Kernel/Atrributes/DependencyAttributes.cs b/AwperativeKernel/Kernel/Atrributes/DependencyAttributes.cs deleted file mode 100644 index 9c5f4c7..0000000 --- a/AwperativeKernel/Kernel/Atrributes/DependencyAttributes.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; - - -namespace AwperativeKernel; - - -internal static class DependencyAttributes -{ - - - - /// Shows the source for a given module interface - [AttributeUsage(AttributeTargets.Interface | AttributeTargets.Property)] - public class RequiredModule : Attribute - { - /// Where to assign in the Awperative class. - public string Source { get; set; } - - public RequiredModule() {} - - public RequiredModule(string Source) { - this.Source = Source; - } - } - - - -} \ No newline at end of file diff --git a/AwperativeKernel/Kernel/Debug/Debug.cs b/AwperativeKernel/Kernel/Debug/Debug.cs new file mode 100644 index 0000000..11d6acf --- /dev/null +++ b/AwperativeKernel/Kernel/Debug/Debug.cs @@ -0,0 +1,132 @@ +using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.IO; +using System.Linq; +using System.Reflection; + +namespace AwperativeKernel; + + +public static class Debug +{ + + + + /// + /// True path of the log file Awperative dumps to. + /// + public static string LogFilePath { get; private set; } + + + + /// + /// Target name of the log file + /// + public static string LogFileName { get; private set; } = "Log"; + + + + /// + /// If this is running or not + /// + private static bool Running = false; + + + + //Whether to throw error exceptions + public static bool ThrowExceptions { get; set; } = false; + //Whether to ignore/pass through errors or not + public static bool IgnoreErrors { get; set; } = false; + //Whether to debug errors at all + public static bool DebugErrors { get; set; } = true; + + + + public static SafetyLevel safetyLevel { + get => _safetyLevel; + set { + ThrowExceptions = value is SafetyLevel.Extreme; + IgnoreErrors = value is SafetyLevel.Low or SafetyLevel.None; + DebugErrors = value is not SafetyLevel.None; + _safetyLevel = value; + } + } private static SafetyLevel _safetyLevel; + + public enum SafetyLevel { + Extreme, //Throw exceptions and stop the whole program + Normal, //Just debug it to the console, and halt current process + Low, //Push through tasks but debug error + None, //Ignore most/all errors and do not debug it, + } + + + + /// + /// Sets up the Awperative debugger and finds the log file. + /// + public static void Start() { + if(Running) return; + + Running = true; + + string directoryPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location); + if(directoryPath == null) throw new Exception("Failed to get directory path!"); + + LogFilePath = Path.Join(directoryPath, LogFileName + ".awlf"); + + if(!Directory.GetFiles(directoryPath).Contains(LogFileName + ".awlf")) { File.Create(LogFilePath).Close(); } + } + + public static void Stop() { + Running = false; + } + + public static void LogAction(string __message) { + LogGeneric(__message, "ACT", [], [], false); + } + + public static void LogAction(string __message, IEnumerable __values, IEnumerable __args) { + LogGeneric(__message, "ACT", __values, __args, false); + } + + + + public static void LogWarning(string __message) { + LogGeneric(__message, "WRN", [], [], false); + } + + public static void LogWarning(string __message, IEnumerable __values, IEnumerable __args) { + LogGeneric(__message, "WRN", __values, __args, false);; + } + + + + public static void LogError(string __message) { + LogGeneric(__message, "ERR", [], [], true); + } + + public static void LogError(string __message, IEnumerable __values, IEnumerable __args) { + LogGeneric(__message, "ERR", __values, __args, true); + } + + + /// + /// Writes the current message to the log file. With any given call sign. + /// + /// Message to debug + /// Message identifier + /// Names of values to debug + /// Values to debug + /// Should this throw an exception instead + public static void LogGeneric(string __message, string __callSign, IEnumerable __parameters, IEnumerable __values, bool __exception) { + string output = "\n\n" + __callSign + "- \"" + __message + "\"\n STK-" + new StackTrace(); + + for (int i = 0; i < __parameters.Count() || i < __values.Count(); i++) + output += "\n " + __parameters.ElementAt(i) + "- " + __values.ElementAt(i); + + if (__exception && ThrowExceptions) throw new Exception(output); + + File.AppendAllText(LogFilePath, output); + } +} \ No newline at end of file diff --git a/AwperativeKernel/Kernel/Overhead/Awperative/Awperative.cs b/AwperativeKernel/Kernel/Overhead/Awperative/Awperative.cs index 92df3bc..2fc5d5f 100644 --- a/AwperativeKernel/Kernel/Overhead/Awperative/Awperative.cs +++ b/AwperativeKernel/Kernel/Overhead/Awperative/Awperative.cs @@ -11,10 +11,10 @@ using Awperative.Kernel.Overhead.Reflection; namespace AwperativeKernel; /// -/// Initiating class of Awperative. Call Start() to start the kernel. +/// Main class of Awperative, allows you to Create() scenes and Start() the game /// /// Avery Norris -public static partial class Awperative +public static class Awperative { @@ -39,12 +39,6 @@ public static partial class Awperative public static bool IsStarted { get; private set; } = false; /// Displays if the update loop is active public static bool IsRunning { get; private set; } = false; - - - - /// Awperative's debugger of choice, found from the module manager. - [MarkerAttributes.UnsafeInternal, DependencyAttributes.RequiredModule] - public static IDebugger Debug { get; internal set; } @@ -54,13 +48,14 @@ public static partial class Awperative if (!DebugAttributes.NotNull.VerifyOrThrow(__name)) return null; if (!DebugAttributes.SceneDoesNotExist.VerifyOrThrow(GetScene(__name))) return null; - Scene newScene = new Scene(__name); + Scene newScene = new (__name); _scenes.Add(newScene); return newScene; } - + /// Adds a new scene that you construct. + /// [MarkerAttributes.Expense(MarkerAttributes.Expense.ExpenseLevel.Low), MarkerAttributes.Complexity(MarkerAttributes.Complexity.TimeComplexity.O1)] public static void AddScene([DebugAttributes.SceneNotNull, DebugAttributes.SceneDoesNotExist] Scene __scene) { if (!DebugAttributes.SceneNotNull.VerifyOrThrow(__scene)) return; @@ -103,7 +98,8 @@ public static partial class Awperative IsStarted = true; ReflectionManager.ResolveModules(AppDomain.CurrentDomain.GetAssemblies()); - + + Debug.Start(); Debug.LogAction("Successfully Compiled Classes!"); } @@ -114,9 +110,7 @@ public static partial class Awperative - /// - /// Starts Awperative up! This method runs forever. - /// + /// Starts Awperative up! This method runs until the game is closed. public static void Run() { if(!IsStarted && IsRunning) return; IsRunning = true; @@ -124,35 +118,24 @@ public static partial class Awperative Base.Run(); } - //Load, 0 - //Unload, 1 - //Update, 2 - //Draw 3 - //Create, 4 - //Remove, 5 - - // 0000 0000 - // + /// Closes Awperative! + public static void Close() { + Base.Close(); + } + /// Performs a mock update. + [MarkerAttributes.UnsafeInternal] public static void TestUpdate() { foreach (Scene scene in Scenes) { scene.ChainEvent(2); } } + /// Performs a mock draw call. + [MarkerAttributes.UnsafeInternal] public static void TestDraw() { foreach (Scene scene in Scenes) { scene.ChainEvent(3); } } - - - - /// - /// List of all type of components and the associated time events - /// Each event is a 0 or 1 based on true or false, stored at their index in the byte - /// - - - //What to do if there is an error, keep in mind low and none still can have errors, because you are turning off validation checking } \ No newline at end of file diff --git a/AwperativeKernel/Kernel/Overhead/Reflection/DependencyManager.cs b/AwperativeKernel/Kernel/Overhead/Reflection/DependencyManager.cs deleted file mode 100644 index fa994c3..0000000 --- a/AwperativeKernel/Kernel/Overhead/Reflection/DependencyManager.cs +++ /dev/null @@ -1,54 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Linq; -using System.Reflection; -using System.Runtime.CompilerServices; -using AwperativeKernel; - - -namespace Awperative.Kernel.Overhead.Reflection; - - -internal static class DependencyManager -{ - - /// Resolves any needed Awperative dependencies! Given the Type, it searches recursively for all interfaces. If any of the interfaces - /// Has the RequiredModule() attribute, or one of the interfaces in required modules. It will assign it to the assosiated field in the Awperative class. - [MarkerAttributes.UnsafeInternal] - internal static void ResolveDependency(Type __type) { - - Console.WriteLine(__type.FullName); - - foreach (Type typeInterface in __type.GetInterfaces()) { - //Console.WriteLine(" " + typeInterface.FullName); - object[] dependencyInfo = typeInterface.GetCustomAttributes(typeof(DependencyAttribute), true); - - if (dependencyInfo.Length == 0) continue; - - foreach (object attribute in dependencyInfo) { - if (attribute is not DependencyAttributes.RequiredModule moduleAttribute) continue; - - PropertyInfo data = typeof(AwperativeKernel.Awperative).GetProperty(moduleAttribute.Source, BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic); - if (data != null) data.SetValue(null, Activator.CreateInstance(__type)); - } - } - } - - /// Checks all dependency marked variables in Awperative, and ensures that all are present! - [MarkerAttributes.UnsafeInternal] - internal static void ResolveFulfillment() { - - foreach (PropertyInfo propertyInfo in typeof(AwperativeKernel.Awperative).GetProperties(BindingFlags.Static | BindingFlags.Public | BindingFlags.NonPublic)) { - object[] attributes = propertyInfo.GetCustomAttributes(typeof(DependencyAttribute), true); - - if (attributes.Length == 0) continue; - - IModule module = propertyInfo.GetValue(null) as IModule; - - if (module == null) throw new Exception("Failed to find dependency! " + propertyInfo.Name); - - ReflectionManager._modules.Add(module); - module.Start(); - } - } -} \ No newline at end of file diff --git a/AwperativeKernel/Kernel/Overhead/Reflection/EventManager.cs b/AwperativeKernel/Kernel/Overhead/Reflection/EventManager.cs index d187158..9920927 100644 --- a/AwperativeKernel/Kernel/Overhead/Reflection/EventManager.cs +++ b/AwperativeKernel/Kernel/Overhead/Reflection/EventManager.cs @@ -10,6 +10,10 @@ using AwperativeKernel; namespace Awperative.Kernel.Overhead.Reflection; +/// +/// Registers events for component type objects. +/// +/// Avery Norris internal static class EventManager { /// Holds an associated action for each component and a time event. Is built with CompileType() during Start(). diff --git a/AwperativeKernel/Kernel/Overhead/Reflection/ReflectionManager.cs b/AwperativeKernel/Kernel/Overhead/Reflection/ReflectionManager.cs index 9c9053a..efcfa98 100644 --- a/AwperativeKernel/Kernel/Overhead/Reflection/ReflectionManager.cs +++ b/AwperativeKernel/Kernel/Overhead/Reflection/ReflectionManager.cs @@ -7,26 +7,22 @@ using AwperativeKernel; namespace Awperative.Kernel.Overhead.Reflection; +/// +/// Manages all Awperative reflection based activities, right now limited to registering events. +/// +/// Avery Norris internal static class ReflectionManager { - - /// List of all modules in Awperative - [MarkerAttributes.UnsafeInternal] - internal static List _modules = []; - /// Resolves all the modules from the calling assembly and module manager [MarkerAttributes.UnsafeInternal] internal static void ResolveModules(Assembly[] __assemblies) { foreach (Assembly assembly in __assemblies) ResolveAssembly(assembly); - - DependencyManager.ResolveFulfillment(); } /// Resolves all the types in an assembly. [MarkerAttributes.UnsafeInternal] internal static void ResolveAssembly(Assembly __assembly) { foreach (Type type in __assembly.GetTypes()) { - DependencyManager.ResolveDependency(type); EventManager.CompileType(type); } } diff --git a/AwperativeKernel/Kernel/RequiredModules/IDebugger.cs b/AwperativeKernel/Kernel/RequiredModules/IDebugger.cs deleted file mode 100644 index 1805754..0000000 --- a/AwperativeKernel/Kernel/RequiredModules/IDebugger.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System.Collections.Generic; - - - -namespace AwperativeKernel; - - - -[DependencyAttributes.RequiredModule(Source: "Debug")] -public interface IDebugger : IModule -{ - - public void LogAction(string __message); - public void LogAction(string __message, IEnumerable __values, IEnumerable __args); - - public void LogWarning(string __message); - public void LogWarning(string __message, IEnumerable __values, IEnumerable __args); - - public void LogError(string __message); - public void LogError(string __message, IEnumerable __values, IEnumerable __args); - - - - public bool ThrowExceptions { get; set; } - public bool IgnoreErrors { get; set; } - public bool DebugErrors { get; set; } - - -} \ No newline at end of file diff --git a/AwperativeKernel/Kernel/RequiredModules/IModule.cs b/AwperativeKernel/Kernel/RequiredModules/IModule.cs deleted file mode 100644 index b7a7783..0000000 --- a/AwperativeKernel/Kernel/RequiredModules/IModule.cs +++ /dev/null @@ -1,12 +0,0 @@ -namespace AwperativeKernel; - - -public interface IModule -{ - - - public void Start(); - public void Stop(); - - -} \ No newline at end of file diff --git a/AwperativeKernel/Kernel/Scene/Scene.cs b/AwperativeKernel/Kernel/Scene/Scene.cs index 6915962..14d1725 100644 --- a/AwperativeKernel/Kernel/Scene/Scene.cs +++ b/AwperativeKernel/Kernel/Scene/Scene.cs @@ -1,25 +1,24 @@ -using System.Collections.Generic; namespace AwperativeKernel; -public sealed partial class Scene : ComponentDocker +/// +/// One of the main Awperative entities. Acts like a master folder for components to be stored in. +/// +/// Avery Norris +public class Scene : ComponentDocker { - /// - /// Whether the scene is enabled or not. - /// + /// Whether the scene should receive updates or not public bool Enabled = true; - /// - /// Unique Name of the Scene - /// + /// Unique identifier of the Scene public string Name; - + //Blocks external construction internal Scene() {} diff --git a/AwperativeKernel/VersionHistory.md b/AwperativeKernel/VersionHistory.md index dc998b6..279d1fe 100644 --- a/AwperativeKernel/VersionHistory.md +++ b/AwperativeKernel/VersionHistory.md @@ -43,4 +43,12 @@ Beta Reflection And Speed Increasment --- -Finished Reflection, and Awperative is MUCH faster. \ No newline at end of file +Finished Reflection, and Awperative is MUCH faster. + +# Awperative V1.3A + +### March 02 2026 + +--- + +Awperative is nearly in a ready to deploy state! Aside from documentation and on the side support. \ No newline at end of file diff --git a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfo.cs b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfo.cs index 6c7d647..6a82395 100644 --- a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfo.cs +++ b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfo.cs @@ -13,7 +13,7 @@ using System.Reflection; [assembly: System.Reflection.AssemblyCompanyAttribute("AwperativeKernel")] [assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")] [assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")] -[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+227e70219acaaa9bbd4981af01eb79aaf1d96e0e")] +[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+21747aa062b0a2602d7565f0b233fde393cc54c2")] [assembly: System.Reflection.AssemblyProductAttribute("AwperativeKernel")] [assembly: System.Reflection.AssemblyTitleAttribute("AwperativeKernel")] [assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")] diff --git a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfoInputs.cache b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfoInputs.cache index 476eba4..3851f75 100644 --- a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfoInputs.cache +++ b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.AssemblyInfoInputs.cache @@ -1 +1 @@ -5f132d4abe29f474cced3dd72be32c95430c59618df6c594ae25e534fec8180c +724a17504a0397b13f88a93dc5710a4c7a348910bcabad50e67ffb6927f0fa03 diff --git a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.csproj.CoreCompileInputs.cache b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.csproj.CoreCompileInputs.cache index 025b8ab..8503506 100644 --- a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.csproj.CoreCompileInputs.cache +++ b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.csproj.CoreCompileInputs.cache @@ -1 +1 @@ -33413ce2ba51fbf0a7062dcd01f5b1a867dc2f45dcea968b5bdf25fdfd4515ac +9bb3f60279095695d105894a656dbaad7a0575a2cc3d0cea10961bba7a20f857 diff --git a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.dll b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.dll index 6be7dbc332c4d8f3d4750a7866d3d2eff4e27cdb..500f6c3a16c35af101d22d990cb99220af9492d7 100644 GIT binary patch literal 35328 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 NP4fP~nEz20_+JjCr5ykO literal 35328 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 diff --git a/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.pdb b/AwperativeKernel/obj/Debug/net8.0/AwperativeKernel.pdb index 74bce2a046b804cb0a5e627079f9cbe69419a59a..ffb8cf45eb75b42652fc576fc453cc63ddc1d08e 100644 GIT binary patch delta 8105 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 diff --git a/AwperativeKernel/obj/Debug/net8.0/ref/AwperativeKernel.dll b/AwperativeKernel/obj/Debug/net8.0/ref/AwperativeKernel.dll index d640c5e6c7b90a06a897d055e877b7daf5c63ade..bf392b88998bf214251e334d7dbf7833f8506845 100644 GIT binary patch literal 19456 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 diff --git a/AwperativeKernel/obj/Debug/net8.0/refint/AwperativeKernel.dll b/AwperativeKernel/obj/Debug/net8.0/refint/AwperativeKernel.dll index d640c5e6c7b90a06a897d055e877b7daf5c63ade..bf392b88998bf214251e334d7dbf7833f8506845 100644 GIT binary patch literal 19456 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