2
0
flabbet 1 жил өмнө
parent
commit
0dddc3e0a2
68 өөрчлөгдсөн 893 нэмэгдсэн , 724 устгасан
  1. 0 22
      src/ChunkyImageLib/ChunkyImageLib.csproj
  2. 91 0
      src/Directory.Build.props
  3. 5 95
      src/PixiEditor.AvaloniaUI/PixiEditor.AvaloniaUI.csproj
  4. 0 2
      src/PixiEditor.Builder/build/PixiEditor.Builder.csproj
  5. 10 64
      src/PixiEditor.DrawingApi.Core/PixiEditor.DrawingApi.Core.csproj
  6. 0 54
      src/PixiEditor.DrawingApi.Skia/PixiEditor.DrawingApi.Skia.csproj
  7. BIN
      src/PixiEditor.Extensions.Wasm/build/PixiEditor.Api.CGlueMSBuild.dll
  8. BIN
      src/PixiEditor.Extensions.Wasm/build/PixiEditor.Extensions.MSPackageBuilder.dll
  9. 1 0
      src/PixiEditor.Extensions.Wasm/build/PixiEditor.Extensions.Wasm.props
  10. 2 2
      src/PixiEditor.Extensions.Wasm/build/PixiEditor.Extensions.Wasm.targets
  11. BIN
      src/PixiEditor.Extensions.Wasm/build/win-x64/Mono.Cecil.Mdb.dll
  12. BIN
      src/PixiEditor.Extensions.Wasm/build/win-x64/Mono.Cecil.Pdb.dll
  13. BIN
      src/PixiEditor.Extensions.Wasm/build/win-x64/Mono.Cecil.Rocks.dll
  14. BIN
      src/PixiEditor.Extensions.Wasm/build/win-x64/Mono.Cecil.dll
  15. BIN
      src/PixiEditor.Extensions.Wasm/build/win-x64/Newtonsoft.Json.dll
  16. 256 0
      src/PixiEditor.Extensions.Wasm/build/win-x64/PixiEditor.Api.CGlueMSBuild.deps.json
  17. BIN
      src/PixiEditor.Extensions.Wasm/build/win-x64/PixiEditor.Api.CGlueMSBuild.dll
  18. 244 0
      src/PixiEditor.Extensions.Wasm/build/win-x64/PixiEditor.Extensions.MSPackageBuilder.deps.json
  19. BIN
      src/PixiEditor.Extensions.Wasm/build/win-x64/PixiEditor.Extensions.MSPackageBuilder.dll
  20. 0 0
      src/PixiEditor.Gen/CommandNameListGenerator.cs
  21. 0 0
      src/PixiEditor.Gen/Extensions.cs
  22. 18 0
      src/PixiEditor.Gen/PixiEditor.Gen.csproj
  23. 2 34
      src/PixiEditor.UI.Common/PixiEditor.UI.Common.csproj
  24. 0 15
      src/PixiEditor.UpdateModule/PixiEditor.UpdateModule.csproj
  25. 0 40
      src/PixiEditor.Zoombox/PixiEditor.Zoombox.csproj
  26. 1 318
      src/PixiEditor.sln
  27. 1 1
      src/PixiEditor/PixiEditor.csproj
  28. 0 57
      src/PixiEditorGen/PixiEditorGen.csproj
  29. 3 3
      tests/CGlueTestLib/CGlueTestLib.csproj
  30. 0 0
      tests/CGlueTestLib/Exports.cs
  31. 0 0
      tests/CGlueTestLib/Imports.cs
  32. 0 0
      tests/CGlueTestLib/Program.cs
  33. 4 13
      tests/ChunkyImageLibTest/ChunkyImageLibTest.csproj
  34. 0 0
      tests/ChunkyImageLibTest/ChunkyImageTests.cs
  35. 0 0
      tests/ChunkyImageLibTest/ClearRegionOperationTests.cs
  36. 0 0
      tests/ChunkyImageLibTest/ImageOperationTests.cs
  37. 0 0
      tests/ChunkyImageLibTest/OperationHelperTests.cs
  38. 0 0
      tests/ChunkyImageLibTest/RectITests.cs
  39. 0 0
      tests/ChunkyImageLibTest/RectangleOperationTests.cs
  40. 97 0
      tests/Custom.ruleset
  41. 12 0
      tests/Directory.Build.props
  42. 0 0
      tests/PixiEditor.Api.CGlueMSBuild.Tests/CApiGeneratorTests.cs
  43. 1 1
      tests/PixiEditor.Api.CGlueMSBuild.Tests/PixiEditor.Api.CGlueMSBuild.Tests.csproj
  44. 0 0
      tests/PixiEditor.Api.CGlueMSBuild.Tests/TestAssets/CGlueTestLib.dll
  45. 0 0
      tests/PixiEditor.Api.CGlueMSBuild.Tests/TestAssets/PixiEditor.Extensions.Wasm.dll
  46. 0 0
      tests/PixiEditor.Extensions.Tests/GlobalUsings.cs
  47. 0 0
      tests/PixiEditor.Extensions.Tests/LayoutBuilderElementsTests.cs
  48. 0 0
      tests/PixiEditor.Extensions.Tests/LayoutBuilderTests.cs
  49. 1 1
      tests/PixiEditor.Extensions.Tests/PixiEditor.Extensions.Tests.csproj
  50. 0 0
      tests/PixiEditor.Extensions.Tests/TestMultiChildState.cs
  51. 0 0
      tests/PixiEditor.Extensions.Tests/TestMultiChildStatefulElement.cs
  52. 0 0
      tests/PixiEditor.Extensions.Tests/TestNestedState.cs
  53. 0 0
      tests/PixiEditor.Extensions.Tests/TestNestedStatefulElement.cs
  54. 0 0
      tests/PixiEditor.Extensions.Tests/TestState.cs
  55. 0 0
      tests/PixiEditor.Extensions.Tests/TestStatefulElement.cs
  56. 0 0
      tests/PixiEditor.Extensions.Wasm.Tests/GlobalUsings.cs
  57. 0 0
      tests/PixiEditor.Extensions.Wasm.Tests/NativeControlSerializationTest.cs
  58. 1 1
      tests/PixiEditor.Extensions.Wasm.Tests/PixiEditor.Extensions.Wasm.Tests.csproj
  59. 0 0
      tests/PixiEditor.Extensions.WasmRuntime.Tests/GlobalUsings.cs
  60. 0 0
      tests/PixiEditor.Extensions.WasmRuntime.Tests/PixiEditor.Extensions.WasmRuntime.Tests.csproj
  61. 0 0
      tests/PixiEditor.Extensions.WasmRuntime.Tests/UnitTest1.cs
  62. 0 0
      tests/PixiEditor.Tests/AvaloniaTestRunner.cs
  63. 0 0
      tests/PixiEditor.Tests/FramebufferExtensionTests.cs
  64. 0 0
      tests/PixiEditor.Tests/GlobalUsings.cs
  65. 1 1
      tests/PixiEditor.Tests/PixiEditor.Tests.csproj
  66. 0 0
      tests/PixiEditor.Tests/WriteableBitmapUtilityTests.cs
  67. 122 0
      tests/PixiEditorTests.sln
  68. 20 0
      tests/stylecop.json

+ 0 - 22
src/ChunkyImageLib/ChunkyImageLib.csproj

@@ -6,30 +6,8 @@
     <Nullable>enable</Nullable>
     <WarningsAsErrors>Nullable</WarningsAsErrors>
     <AllowUnsafeBlocks>True</AllowUnsafeBlocks>
-    <Configurations>Debug;Release;</Configurations>
-    <Platforms>x64;arm64</Platforms>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)'=='Steam'">
-    <Optimize>True</Optimize>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)'=='Release'">
-    <Optimize>True</Optimize>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)'=='DevRelease'">
-    <Optimize>False</Optimize>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Platform)'=='x64'">
-    <TargetPlatform>x64</TargetPlatform>
   </PropertyGroup>
   
-  <PropertyGroup Condition="'$(Platform)'=='arm64'">
-    <TargetPlatform>arm64</TargetPlatform>
-  </PropertyGroup>
-
   <ItemGroup>
     <PackageReference Include="OneOf" Version="3.0.223" />
     <PackageReference Update="StyleCop.Analyzers" Version="1.2.0-beta.435">

+ 91 - 0
src/Directory.Build.props

@@ -9,4 +9,95 @@
     <ItemGroup>
         <AdditionalFiles Include="../stylecop.json" />
     </ItemGroup>
+
+  <PropertyGroup Condition="$([MSBuild]::IsOsPlatform('Windows')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X64'">
+    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
+  </PropertyGroup>
+  <PropertyGroup Condition="$([MSBuild]::IsOsPlatform('Windows')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'Arm64'">
+    <RuntimeIdentifier>win-arm64</RuntimeIdentifier>
+  </PropertyGroup>
+  <PropertyGroup Condition="$([MSBuild]::IsOsPlatform('Linux')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X64'">
+    <RuntimeIdentifier>linux-x64</RuntimeIdentifier>
+  </PropertyGroup>
+  <PropertyGroup Condition="$([MSBuild]::IsOsPlatform('Linux')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'Arm64'">
+    <RuntimeIdentifier>linux-arm64</RuntimeIdentifier>
+  </PropertyGroup>
+  <PropertyGroup Condition="$([MSBuild]::IsOsPlatform('OSX')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X64'">
+    <RuntimeIdentifier>osx-x64</RuntimeIdentifier>
+  </PropertyGroup>
+  <PropertyGroup Condition="$([MSBuild]::IsOsPlatform('OSX')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'Arm64'">
+    <RuntimeIdentifier>osx-arm64</RuntimeIdentifier>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(Platform)'=='x64'">
+    <TargetPlatform>x64</TargetPlatform>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(Platform)'=='arm64'">
+    <TargetPlatform>arm64</TargetPlatform>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(Configuration)'=='MSIX Debug'">
+    <DebugType>full</DebugType>
+    <DebugSymbols>true</DebugSymbols>
+    <Optimize>false</Optimize>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(Configuration)'=='MSIX'">
+    <DefineConstants>TRACE;RELEASE</DefineConstants>
+    <Optimize>true</Optimize>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(Configuration)'=='Release'">
+    <DefineConstants>TRACE;UPDATE</DefineConstants>
+    <Optimize>true</Optimize>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(Configuration)'=='Debug'">
+    <DebugType>full</DebugType>
+    <DebugSymbols>true</DebugSymbols>
+    <WarningLevel>0</WarningLevel>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(Configuration)'=='Steam'">
+    <DefineConstants>TRACE;RELEASE;STEAM</DefineConstants>
+    <Optimize>True</Optimize>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(Configuration)'=='DevSteam'">
+    <DefineConstants>TRACE;RELEASE;STEAM</DefineConstants>
+    <Optimize>True</Optimize>
+  </PropertyGroup>
+
+  <PropertyGroup Condition=" '$(Configuration)' == 'DevRelease' ">
+    <DefineConstants>TRACE;UPDATE;RELEASE</DefineConstants>
+    <Optimize>True</Optimize>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(RuntimeIdentifier)'=='win-x64'">
+    <DefineConstants>WINDOWS</DefineConstants>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(RuntimeIdentifier)'=='win-arm64'">
+    <DefineConstants>WINDOWS</DefineConstants>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(RuntimeIdentifier)'=='linux-x64'">
+    <DefineConstants>LINUX</DefineConstants>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(RuntimeIdentifier)'=='linux-arm64'">
+    <DefineConstants>LINUX</DefineConstants>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(RuntimeIdentifier)'=='osx-x64'">
+    <DefineConstants>MACOS</DefineConstants>
+  </PropertyGroup>
+
+  <PropertyGroup Condition="'$(RuntimeIdentifier)'=='osx-arm64'">
+    <DefineConstants>MACOS</DefineConstants>
+  </PropertyGroup>
+  
 </Project>

+ 5 - 95
src/PixiEditor.AvaloniaUI/PixiEditor.AvaloniaUI.csproj

@@ -23,119 +23,29 @@
     <DebugType>None</DebugType>
   </PropertyGroup>
 
-  <PropertyGroup Condition="$([MSBuild]::IsOsPlatform('Windows')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X64'">
-    <RuntimeIdentifier>win-x64</RuntimeIdentifier>
-  </PropertyGroup>
-  <PropertyGroup Condition="$([MSBuild]::IsOsPlatform('Windows')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'Arm64'">
-    <RuntimeIdentifier>win-arm64</RuntimeIdentifier>
-  </PropertyGroup>
-  <PropertyGroup Condition="$([MSBuild]::IsOsPlatform('Linux')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X64'">
-    <RuntimeIdentifier>linux-x64</RuntimeIdentifier>
-  </PropertyGroup>
-  <PropertyGroup Condition="$([MSBuild]::IsOsPlatform('Linux')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'Arm64'">
-    <RuntimeIdentifier>linux-arm64</RuntimeIdentifier>
-  </PropertyGroup>
-  <PropertyGroup Condition="$([MSBuild]::IsOsPlatform('OSX')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'X64'">
-    <RuntimeIdentifier>osx-x64</RuntimeIdentifier>
-  </PropertyGroup>
-  <PropertyGroup Condition="$([MSBuild]::IsOsPlatform('OSX')) AND '$([System.Runtime.InteropServices.RuntimeInformation]::OSArchitecture)' == 'Arm64'">
-    <RuntimeIdentifier>osx-arm64</RuntimeIdentifier>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Platform)'=='x64'">
-    <TargetPlatform>x64</TargetPlatform>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Platform)'=='arm64'">
-    <TargetPlatform>arm64</TargetPlatform>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)'=='MSIX Debug'">
-    <DebugType>full</DebugType>
-    <DebugSymbols>true</DebugSymbols>
-    <Optimize>false</Optimize>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)'=='MSIX'">
-    <DefineConstants>TRACE;RELEASE</DefineConstants>
-    <Optimize>true</Optimize>
-  </PropertyGroup>
-  
-  <PropertyGroup Condition="'$(Configuration)'=='Release'">
-    <DefineConstants>TRACE;UPDATE</DefineConstants>
-    <Optimize>true</Optimize>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)'=='Debug'">
-    <DebugType>full</DebugType>
-    <DebugSymbols>true</DebugSymbols>
-    <WarningLevel>0</WarningLevel>
-    <DefineConstants>DEBUG;TRACE</DefineConstants>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)'=='Steam'">
-    <DefineConstants>TRACE;RELEASE;STEAM</DefineConstants>
-    <Optimize>True</Optimize>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)'=='DevSteam'">
-    <DefineConstants>TRACE;RELEASE;STEAM</DefineConstants>
-    <Optimize>True</Optimize>
-  </PropertyGroup>
-
-  <PropertyGroup Condition=" '$(Configuration)' == 'DevRelease' ">
-    <DefineConstants>TRACE;UPDATE;RELEASE</DefineConstants>
-    <Optimize>True</Optimize>
-  </PropertyGroup>
-  
   <ItemGroup Condition="'$(RuntimeIdentifier)'=='win-x64'">
     <ProjectReference Include="..\PixiEditor.Windows\PixiEditor.Windows.csproj"/>
   </ItemGroup>
-  
-  <PropertyGroup Condition="'$(RuntimeIdentifier)'=='win-x64'">
-    <DefineConstants>WINDOWS</DefineConstants>
-  </PropertyGroup>
-  
+
   <ItemGroup Condition="'$(RuntimeIdentifier)'=='win-arm64'">
     <ProjectReference Include="..\PixiEditor.Windows\PixiEditor.Windows.csproj"/>
   </ItemGroup>
 
-  <PropertyGroup Condition="'$(RuntimeIdentifier)'=='win-arm64'">
-    <DefineConstants>WINDOWS</DefineConstants>
-  </PropertyGroup>
-  
   <ItemGroup Condition="'$(RuntimeIdentifier)'=='linux-x64'">
     <ProjectReference Include="..\PixiEditor.Linux\PixiEditor.Linux.csproj"/>
   </ItemGroup>
-  
-  <PropertyGroup Condition="'$(RuntimeIdentifier)'=='linux-x64'">
-    <DefineConstants>LINUX</DefineConstants>
-  </PropertyGroup>
-  
+
   <ItemGroup Condition="'$(RuntimeIdentifier)'=='linux-arm64'">
     <ProjectReference Include="..\PixiEditor.Linux\PixiEditor.Linux.csproj"/>
   </ItemGroup>
-  
-  <PropertyGroup Condition="'$(RuntimeIdentifier)'=='linux-arm64'">
-    <DefineConstants>LINUX</DefineConstants>
-  </PropertyGroup>
-  
+
   <ItemGroup Condition="'$(RuntimeIdentifier)'=='osx-x64'">
     <ProjectReference Include="..\PixiEditor.MacOs\PixiEditor.MacOs.csproj"/>
   </ItemGroup>
-  
-  <PropertyGroup Condition="'$(RuntimeIdentifier)'=='osx-x64'">
-    <DefineConstants>MACOS</DefineConstants>
-  </PropertyGroup>
-  
+
   <ItemGroup Condition="'$(RuntimeIdentifier)'=='osx-arm64'">
     <ProjectReference Include="..\PixiEditor.MacOs\PixiEditor.MacOs.csproj"/>
   </ItemGroup>
-  
-  <PropertyGroup Condition="'$(RuntimeIdentifier)'=='osx-arm64'">
-    <DefineConstants>MACOS</DefineConstants>
-  </PropertyGroup>
 
   <ItemGroup>
     <AvaloniaResource Include="Images\**"/>
@@ -188,7 +98,7 @@
     <ProjectReference Include="..\PixiEditor.UI.Common\PixiEditor.UI.Common.csproj"/>
     <ProjectReference Include="..\PixiEditor.UpdateModule\PixiEditor.UpdateModule.csproj"/>
     <ProjectReference Include="..\PixiEditor.Zoombox\PixiEditor.Zoombox.csproj"/>
-    <ProjectReference Include="..\PixiEditorGen\PixiEditorGen.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false"/>
+    <ProjectReference Include="..\PixiEditor.Gen\PixiEditor.Gen.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false"/>
   </ItemGroup>
 
   <ItemGroup>

+ 0 - 2
src/PixiEditor.Builder/build/PixiEditor.Builder.csproj

@@ -5,8 +5,6 @@
         <RunWorkingDirectory>$(MSBuildProjectDirectory)</RunWorkingDirectory>
         <AssemblyName>PixiEditor.Builder</AssemblyName>
         <RootNamespace>PixiEditor.Builder</RootNamespace>
-        <Configurations>Debug;Release;DevRelease;DevSteam</Configurations>
-        <Platforms>AnyCPU;x86;x64</Platforms>
     </PropertyGroup>
     <ItemGroup>
         <PackageReference Include="Cake.Frosting" Version="3.0.0" />

+ 10 - 64
src/PixiEditor.DrawingApi.Core/PixiEditor.DrawingApi.Core.csproj

@@ -1,67 +1,13 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
-    <PropertyGroup>
-        <TargetFramework>netstandard2.1</TargetFramework>
-        <Nullable>enable</Nullable>
-        <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-        <LangVersion>10</LangVersion>
-        <Configurations>Debug;Release;Steam;DevRelease;DevSteam</Configurations>
-        <Platforms>AnyCPU;x86;x64</Platforms>
-    </PropertyGroup>
-
-    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|AnyCPU'">
-      <Optimize>True</Optimize>
-    </PropertyGroup>
-
-    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|x64'">
-      <Optimize>True</Optimize>
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|x86'">
-      <Optimize>True</Optimize>
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevRelease|x64' ">
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevRelease|x86' ">
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevSteam|x86' ">
-      <Optimize>True</Optimize>
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevSteam|x64' ">
-      <Optimize>True</Optimize>
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)' == 'DevSteam' ">
-      <Optimize>True</Optimize>
-    </PropertyGroup>
-
-    <ItemGroup>
-      <ProjectReference Include="..\PixiEditor.Numerics\PixiEditor.Numerics.csproj" />
-    </ItemGroup>
+  <PropertyGroup>
+    <TargetFramework>netstandard2.1</TargetFramework>
+    <Nullable>enable</Nullable>
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
+    <LangVersion>latest</LangVersion>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <ProjectReference Include="..\PixiEditor.Numerics\PixiEditor.Numerics.csproj"/>
+  </ItemGroup>
 </Project>

+ 0 - 54
src/PixiEditor.DrawingApi.Skia/PixiEditor.DrawingApi.Skia.csproj

@@ -4,60 +4,6 @@
         <TargetFramework>netstandard2.1</TargetFramework>
         <Nullable>enable</Nullable>
         <AllowUnsafeBlocks>true</AllowUnsafeBlocks>
-        <Configurations>Debug;Release;Steam;DevRelease;DevSteam</Configurations>
-        <Platforms>x64;</Platforms>
-    </PropertyGroup>
-
-    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|AnyCPU'">
-      <Optimize>True</Optimize>
-    </PropertyGroup>
-
-    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|x64'">
-      <Optimize>True</Optimize>
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|x86'">
-      <Optimize>True</Optimize>
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevRelease|x64' ">
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevRelease|x86' ">
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevSteam|x86' ">
-      <Optimize>True</Optimize>
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevSteam|x64' ">
-      <Optimize>True</Optimize>
-      <PlatformTarget>AnyCPU</PlatformTarget>
-    </PropertyGroup>
-
-    <PropertyGroup Condition=" '$(Configuration)' == 'DevSteam' ">
-      <Optimize>True</Optimize>
     </PropertyGroup>
 
     <ItemGroup>

BIN
src/PixiEditor.Extensions.Wasm/build/PixiEditor.Api.CGlueMSBuild.dll


BIN
src/PixiEditor.Extensions.Wasm/build/PixiEditor.Extensions.MSPackageBuilder.dll


+ 1 - 0
src/PixiEditor.Extensions.Wasm/build/PixiEditor.Extensions.Wasm.props

@@ -2,5 +2,6 @@
   <PropertyGroup>
     <DebugType>embedded</DebugType>
     <GenerateDocumentationFile>true</GenerateDocumentationFile>
+    <GenerateExtensionPackage>true</GenerateExtensionPackage>
   </PropertyGroup>
 </Project>

+ 2 - 2
src/PixiEditor.Extensions.Wasm/build/PixiEditor.Extensions.Wasm.targets

@@ -15,9 +15,9 @@
   </Target>
   <UsingTask TaskName="BuildPackageTask"
              AssemblyFile="$(MSBuildThisFileDirectory)PixiEditor.Extensions.MSPackageBuilder.dll"
-             Condition="'$(RuntimeIdentifier)' == 'wasi-wasm'"/>
+             Condition="'$(RuntimeIdentifier)' == 'wasi-wasm' And '$(GenerateExtensionPackage)' == 'true'"/>
 
-  <Target Name="BuildPackageTask" AfterTargets="_WasiGenerateAppBundle" Condition="'$(RuntimeIdentifier)' == 'wasi-wasm'">
+  <Target Name="BuildPackageTask" AfterTargets="_WasiGenerateAppBundle" Condition="'$(RuntimeIdentifier)' == 'wasi-wasm' And '$(GenerateExtensionPackage)' == 'true'">
     <Message Text="Building extension package"/>
     <BuildPackageTask BuildResultDirectory="$(OutputPath)" TargetDirectory="$(OutputPath).." />
   </Target>

BIN
src/PixiEditor.Extensions.Wasm/build/win-x64/Mono.Cecil.Mdb.dll


BIN
src/PixiEditor.Extensions.Wasm/build/win-x64/Mono.Cecil.Pdb.dll


BIN
src/PixiEditor.Extensions.Wasm/build/win-x64/Mono.Cecil.Rocks.dll


BIN
src/PixiEditor.Extensions.Wasm/build/win-x64/Mono.Cecil.dll


BIN
src/PixiEditor.Extensions.Wasm/build/win-x64/Newtonsoft.Json.dll


+ 256 - 0
src/PixiEditor.Extensions.Wasm/build/win-x64/PixiEditor.Api.CGlueMSBuild.deps.json

@@ -0,0 +1,256 @@
+{
+  "runtimeTarget": {
+    "name": ".NETStandard,Version=v2.0/win-x64",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETStandard,Version=v2.0": {},
+    ".NETStandard,Version=v2.0/win-x64": {
+      "PixiEditor.Api.CGlueMSBuild/1.0.0": {
+        "dependencies": {
+          "Microsoft.Build.Utilities.Core": "17.9.5",
+          "Mono.Cecil": "0.11.5",
+          "NETStandard.Library": "2.0.3",
+          "StyleCop.Analyzers": "1.1.118"
+        },
+        "runtime": {
+          "PixiEditor.Api.CGlueMSBuild.dll": {}
+        }
+      },
+      "Microsoft.Build.Framework/17.9.5": {
+        "dependencies": {
+          "Microsoft.Win32.Registry": "5.0.0",
+          "System.Memory": "4.5.5",
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0",
+          "System.Security.Principal.Windows": "5.0.0"
+        }
+      },
+      "Microsoft.Build.Utilities.Core/17.9.5": {
+        "dependencies": {
+          "Microsoft.Build.Framework": "17.9.5",
+          "Microsoft.NET.StringTools": "17.9.5",
+          "Microsoft.Win32.Registry": "5.0.0",
+          "System.Collections.Immutable": "8.0.0",
+          "System.Configuration.ConfigurationManager": "8.0.0",
+          "System.Memory": "4.5.5",
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0",
+          "System.Security.Principal.Windows": "5.0.0",
+          "System.Text.Encoding.CodePages": "7.0.0"
+        }
+      },
+      "Microsoft.NET.StringTools/17.9.5": {
+        "dependencies": {
+          "System.Memory": "4.5.5",
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+        }
+      },
+      "Microsoft.NETCore.Platforms/1.1.0": {},
+      "Microsoft.Win32.Registry/5.0.0": {
+        "dependencies": {
+          "System.Buffers": "4.5.1",
+          "System.Memory": "4.5.5",
+          "System.Security.AccessControl": "5.0.0",
+          "System.Security.Principal.Windows": "5.0.0"
+        }
+      },
+      "Mono.Cecil/0.11.5": {
+        "runtime": {
+          "lib/netstandard2.0/Mono.Cecil.Mdb.dll": {
+            "assemblyVersion": "0.11.5.0",
+            "fileVersion": "0.11.5.0"
+          },
+          "lib/netstandard2.0/Mono.Cecil.Pdb.dll": {
+            "assemblyVersion": "0.11.5.0",
+            "fileVersion": "0.11.5.0"
+          },
+          "lib/netstandard2.0/Mono.Cecil.Rocks.dll": {
+            "assemblyVersion": "0.11.5.0",
+            "fileVersion": "0.11.5.0"
+          },
+          "lib/netstandard2.0/Mono.Cecil.dll": {
+            "assemblyVersion": "0.11.5.0",
+            "fileVersion": "0.11.5.0"
+          }
+        }
+      },
+      "NETStandard.Library/2.0.3": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0"
+        }
+      },
+      "StyleCop.Analyzers/1.1.118": {},
+      "System.Buffers/4.5.1": {},
+      "System.Collections.Immutable/8.0.0": {
+        "dependencies": {
+          "System.Memory": "4.5.5",
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+        }
+      },
+      "System.Configuration.ConfigurationManager/8.0.0": {
+        "dependencies": {
+          "System.Security.Cryptography.ProtectedData": "8.0.0"
+        }
+      },
+      "System.Memory/4.5.5": {
+        "dependencies": {
+          "System.Buffers": "4.5.1",
+          "System.Numerics.Vectors": "4.4.0",
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+        }
+      },
+      "System.Numerics.Vectors/4.4.0": {},
+      "System.Runtime.CompilerServices.Unsafe/6.0.0": {},
+      "System.Security.AccessControl/5.0.0": {
+        "dependencies": {
+          "System.Security.Principal.Windows": "5.0.0"
+        }
+      },
+      "System.Security.Cryptography.ProtectedData/8.0.0": {
+        "dependencies": {
+          "System.Memory": "4.5.5"
+        }
+      },
+      "System.Security.Principal.Windows/5.0.0": {},
+      "System.Text.Encoding.CodePages/7.0.0": {
+        "dependencies": {
+          "System.Memory": "4.5.5",
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+        }
+      }
+    }
+  },
+  "libraries": {
+    "PixiEditor.Api.CGlueMSBuild/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Microsoft.Build.Framework/17.9.5": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-CjRmqu9Wv2fyC1d7NKOuBDXcNMI8+GiXGM6izygB+skGGu4Vf0cBcoPq7AFqZCcMpn5DtZ+y7RpaLpB2qrzanQ==",
+      "path": "microsoft.build.framework/17.9.5",
+      "hashPath": "microsoft.build.framework.17.9.5.nupkg.sha512"
+    },
+    "Microsoft.Build.Utilities.Core/17.9.5": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-H2hpVdm7cX/uGJD1HOfab3RKgD5tlnvzQkFqvsrAqGHRi0sqb2w1+hRwERFm23witCjmERnqNgiQjYks6/ds8A==",
+      "path": "microsoft.build.utilities.core/17.9.5",
+      "hashPath": "microsoft.build.utilities.core.17.9.5.nupkg.sha512"
+    },
+    "Microsoft.NET.StringTools/17.9.5": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-C/oPRnjcIZBRzcpl1V06R1eEMCxOGt6mIm+8ioyblELgJEXLM8XjUPuCwljMO52VetsHw54xMcYwU8UEeHEIEg==",
+      "path": "microsoft.net.stringtools/17.9.5",
+      "hashPath": "microsoft.net.stringtools.17.9.5.nupkg.sha512"
+    },
+    "Microsoft.NETCore.Platforms/1.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+      "path": "microsoft.netcore.platforms/1.1.0",
+      "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+    },
+    "Microsoft.Win32.Registry/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==",
+      "path": "microsoft.win32.registry/5.0.0",
+      "hashPath": "microsoft.win32.registry.5.0.0.nupkg.sha512"
+    },
+    "Mono.Cecil/0.11.5": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-fxfX+0JGTZ8YQeu1MYjbBiK2CYTSzDyEeIixt+yqKKTn7FW8rv7JMY70qevup4ZJfD7Kk/VG/jDzQQTpfch87g==",
+      "path": "mono.cecil/0.11.5",
+      "hashPath": "mono.cecil.0.11.5.nupkg.sha512"
+    },
+    "NETStandard.Library/2.0.3": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+      "path": "netstandard.library/2.0.3",
+      "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+    },
+    "StyleCop.Analyzers/1.1.118": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Onx6ovGSqXSK07n/0eM3ZusiNdB6cIlJdabQhWGgJp3Vooy9AaLS/tigeybOJAobqbtggTamoWndz72JscZBvw==",
+      "path": "stylecop.analyzers/1.1.118",
+      "hashPath": "stylecop.analyzers.1.1.118.nupkg.sha512"
+    },
+    "System.Buffers/4.5.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==",
+      "path": "system.buffers/4.5.1",
+      "hashPath": "system.buffers.4.5.1.nupkg.sha512"
+    },
+    "System.Collections.Immutable/8.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==",
+      "path": "system.collections.immutable/8.0.0",
+      "hashPath": "system.collections.immutable.8.0.0.nupkg.sha512"
+    },
+    "System.Configuration.ConfigurationManager/8.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==",
+      "path": "system.configuration.configurationmanager/8.0.0",
+      "hashPath": "system.configuration.configurationmanager.8.0.0.nupkg.sha512"
+    },
+    "System.Memory/4.5.5": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==",
+      "path": "system.memory/4.5.5",
+      "hashPath": "system.memory.4.5.5.nupkg.sha512"
+    },
+    "System.Numerics.Vectors/4.4.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==",
+      "path": "system.numerics.vectors/4.4.0",
+      "hashPath": "system.numerics.vectors.4.4.0.nupkg.sha512"
+    },
+    "System.Runtime.CompilerServices.Unsafe/6.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
+      "path": "system.runtime.compilerservices.unsafe/6.0.0",
+      "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
+    },
+    "System.Security.AccessControl/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==",
+      "path": "system.security.accesscontrol/5.0.0",
+      "hashPath": "system.security.accesscontrol.5.0.0.nupkg.sha512"
+    },
+    "System.Security.Cryptography.ProtectedData/8.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==",
+      "path": "system.security.cryptography.protecteddata/8.0.0",
+      "hashPath": "system.security.cryptography.protecteddata.8.0.0.nupkg.sha512"
+    },
+    "System.Security.Principal.Windows/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==",
+      "path": "system.security.principal.windows/5.0.0",
+      "hashPath": "system.security.principal.windows.5.0.0.nupkg.sha512"
+    },
+    "System.Text.Encoding.CodePages/7.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==",
+      "path": "system.text.encoding.codepages/7.0.0",
+      "hashPath": "system.text.encoding.codepages.7.0.0.nupkg.sha512"
+    }
+  }
+}

BIN
src/PixiEditor.Extensions.Wasm/build/win-x64/PixiEditor.Api.CGlueMSBuild.dll


+ 244 - 0
src/PixiEditor.Extensions.Wasm/build/win-x64/PixiEditor.Extensions.MSPackageBuilder.deps.json

@@ -0,0 +1,244 @@
+{
+  "runtimeTarget": {
+    "name": ".NETStandard,Version=v2.0/win-x64",
+    "signature": ""
+  },
+  "compilationOptions": {},
+  "targets": {
+    ".NETStandard,Version=v2.0": {},
+    ".NETStandard,Version=v2.0/win-x64": {
+      "PixiEditor.Extensions.MSPackageBuilder/1.0.0": {
+        "dependencies": {
+          "Microsoft.Build.Utilities.Core": "17.9.5",
+          "NETStandard.Library": "2.0.3",
+          "Newtonsoft.Json": "13.0.1",
+          "StyleCop.Analyzers": "1.1.118"
+        },
+        "runtime": {
+          "PixiEditor.Extensions.MSPackageBuilder.dll": {}
+        }
+      },
+      "Microsoft.Build.Framework/17.9.5": {
+        "dependencies": {
+          "Microsoft.Win32.Registry": "5.0.0",
+          "System.Memory": "4.5.5",
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0",
+          "System.Security.Principal.Windows": "5.0.0"
+        }
+      },
+      "Microsoft.Build.Utilities.Core/17.9.5": {
+        "dependencies": {
+          "Microsoft.Build.Framework": "17.9.5",
+          "Microsoft.NET.StringTools": "17.9.5",
+          "Microsoft.Win32.Registry": "5.0.0",
+          "System.Collections.Immutable": "8.0.0",
+          "System.Configuration.ConfigurationManager": "8.0.0",
+          "System.Memory": "4.5.5",
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0",
+          "System.Security.Principal.Windows": "5.0.0",
+          "System.Text.Encoding.CodePages": "7.0.0"
+        }
+      },
+      "Microsoft.NET.StringTools/17.9.5": {
+        "dependencies": {
+          "System.Memory": "4.5.5",
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+        }
+      },
+      "Microsoft.NETCore.Platforms/1.1.0": {},
+      "Microsoft.Win32.Registry/5.0.0": {
+        "dependencies": {
+          "System.Buffers": "4.5.1",
+          "System.Memory": "4.5.5",
+          "System.Security.AccessControl": "5.0.0",
+          "System.Security.Principal.Windows": "5.0.0"
+        }
+      },
+      "NETStandard.Library/2.0.3": {
+        "dependencies": {
+          "Microsoft.NETCore.Platforms": "1.1.0"
+        }
+      },
+      "Newtonsoft.Json/13.0.1": {
+        "runtime": {
+          "lib/netstandard2.0/Newtonsoft.Json.dll": {
+            "assemblyVersion": "13.0.0.0",
+            "fileVersion": "13.0.1.25517"
+          }
+        }
+      },
+      "StyleCop.Analyzers/1.1.118": {},
+      "System.Buffers/4.5.1": {},
+      "System.Collections.Immutable/8.0.0": {
+        "dependencies": {
+          "System.Memory": "4.5.5",
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+        }
+      },
+      "System.Configuration.ConfigurationManager/8.0.0": {
+        "dependencies": {
+          "System.Security.Cryptography.ProtectedData": "8.0.0"
+        }
+      },
+      "System.Memory/4.5.5": {
+        "dependencies": {
+          "System.Buffers": "4.5.1",
+          "System.Numerics.Vectors": "4.4.0",
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+        }
+      },
+      "System.Numerics.Vectors/4.4.0": {},
+      "System.Runtime.CompilerServices.Unsafe/6.0.0": {},
+      "System.Security.AccessControl/5.0.0": {
+        "dependencies": {
+          "System.Security.Principal.Windows": "5.0.0"
+        }
+      },
+      "System.Security.Cryptography.ProtectedData/8.0.0": {
+        "dependencies": {
+          "System.Memory": "4.5.5"
+        }
+      },
+      "System.Security.Principal.Windows/5.0.0": {},
+      "System.Text.Encoding.CodePages/7.0.0": {
+        "dependencies": {
+          "System.Memory": "4.5.5",
+          "System.Runtime.CompilerServices.Unsafe": "6.0.0"
+        }
+      }
+    }
+  },
+  "libraries": {
+    "PixiEditor.Extensions.MSPackageBuilder/1.0.0": {
+      "type": "project",
+      "serviceable": false,
+      "sha512": ""
+    },
+    "Microsoft.Build.Framework/17.9.5": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-CjRmqu9Wv2fyC1d7NKOuBDXcNMI8+GiXGM6izygB+skGGu4Vf0cBcoPq7AFqZCcMpn5DtZ+y7RpaLpB2qrzanQ==",
+      "path": "microsoft.build.framework/17.9.5",
+      "hashPath": "microsoft.build.framework.17.9.5.nupkg.sha512"
+    },
+    "Microsoft.Build.Utilities.Core/17.9.5": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-H2hpVdm7cX/uGJD1HOfab3RKgD5tlnvzQkFqvsrAqGHRi0sqb2w1+hRwERFm23witCjmERnqNgiQjYks6/ds8A==",
+      "path": "microsoft.build.utilities.core/17.9.5",
+      "hashPath": "microsoft.build.utilities.core.17.9.5.nupkg.sha512"
+    },
+    "Microsoft.NET.StringTools/17.9.5": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-C/oPRnjcIZBRzcpl1V06R1eEMCxOGt6mIm+8ioyblELgJEXLM8XjUPuCwljMO52VetsHw54xMcYwU8UEeHEIEg==",
+      "path": "microsoft.net.stringtools/17.9.5",
+      "hashPath": "microsoft.net.stringtools.17.9.5.nupkg.sha512"
+    },
+    "Microsoft.NETCore.Platforms/1.1.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-kz0PEW2lhqygehI/d6XsPCQzD7ff7gUJaVGPVETX611eadGsA3A877GdSlU0LRVMCTH/+P3o2iDTak+S08V2+A==",
+      "path": "microsoft.netcore.platforms/1.1.0",
+      "hashPath": "microsoft.netcore.platforms.1.1.0.nupkg.sha512"
+    },
+    "Microsoft.Win32.Registry/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-dDoKi0PnDz31yAyETfRntsLArTlVAVzUzCIvvEDsDsucrl33Dl8pIJG06ePTJTI3tGpeyHS9Cq7Foc/s4EeKcg==",
+      "path": "microsoft.win32.registry/5.0.0",
+      "hashPath": "microsoft.win32.registry.5.0.0.nupkg.sha512"
+    },
+    "NETStandard.Library/2.0.3": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-st47PosZSHrjECdjeIzZQbzivYBJFv6P2nv4cj2ypdI204DO+vZ7l5raGMiX4eXMJ53RfOIg+/s4DHVZ54Nu2A==",
+      "path": "netstandard.library/2.0.3",
+      "hashPath": "netstandard.library.2.0.3.nupkg.sha512"
+    },
+    "Newtonsoft.Json/13.0.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-ppPFpBcvxdsfUonNcvITKqLl3bqxWbDCZIzDWHzjpdAHRFfZe0Dw9HmA0+za13IdyrgJwpkDTDA9fHaxOrt20A==",
+      "path": "newtonsoft.json/13.0.1",
+      "hashPath": "newtonsoft.json.13.0.1.nupkg.sha512"
+    },
+    "StyleCop.Analyzers/1.1.118": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Onx6ovGSqXSK07n/0eM3ZusiNdB6cIlJdabQhWGgJp3Vooy9AaLS/tigeybOJAobqbtggTamoWndz72JscZBvw==",
+      "path": "stylecop.analyzers/1.1.118",
+      "hashPath": "stylecop.analyzers.1.1.118.nupkg.sha512"
+    },
+    "System.Buffers/4.5.1": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-Rw7ijyl1qqRS0YQD/WycNst8hUUMgrMH4FCn1nNm27M4VxchZ1js3fVjQaANHO5f3sN4isvP4a+Met9Y4YomAg==",
+      "path": "system.buffers/4.5.1",
+      "hashPath": "system.buffers.4.5.1.nupkg.sha512"
+    },
+    "System.Collections.Immutable/8.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-AurL6Y5BA1WotzlEvVaIDpqzpIPvYnnldxru8oXJU2yFxFUy3+pNXjXd1ymO+RA0rq0+590Q8gaz2l3Sr7fmqg==",
+      "path": "system.collections.immutable/8.0.0",
+      "hashPath": "system.collections.immutable.8.0.0.nupkg.sha512"
+    },
+    "System.Configuration.ConfigurationManager/8.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-JlYi9XVvIREURRUlGMr1F6vOFLk7YSY4p1vHo4kX3tQ0AGrjqlRWHDi66ImHhy6qwXBG3BJ6Y1QlYQ+Qz6Xgww==",
+      "path": "system.configuration.configurationmanager/8.0.0",
+      "hashPath": "system.configuration.configurationmanager.8.0.0.nupkg.sha512"
+    },
+    "System.Memory/4.5.5": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-XIWiDvKPXaTveaB7HVganDlOCRoj03l+jrwNvcge/t8vhGYKvqV+dMv6G4SAX2NoNmN0wZfVPTAlFwZcZvVOUw==",
+      "path": "system.memory/4.5.5",
+      "hashPath": "system.memory.4.5.5.nupkg.sha512"
+    },
+    "System.Numerics.Vectors/4.4.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-UiLzLW+Lw6HLed1Hcg+8jSRttrbuXv7DANVj0DkL9g6EnnzbL75EB7EWsw5uRbhxd/4YdG8li5XizGWepmG3PQ==",
+      "path": "system.numerics.vectors/4.4.0",
+      "hashPath": "system.numerics.vectors.4.4.0.nupkg.sha512"
+    },
+    "System.Runtime.CompilerServices.Unsafe/6.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-/iUeP3tq1S0XdNNoMz5C9twLSrM/TH+qElHkXWaPvuNOt+99G75NrV0OS2EqHx5wMN7popYjpc8oTjC1y16DLg==",
+      "path": "system.runtime.compilerservices.unsafe/6.0.0",
+      "hashPath": "system.runtime.compilerservices.unsafe.6.0.0.nupkg.sha512"
+    },
+    "System.Security.AccessControl/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-dagJ1mHZO3Ani8GH0PHpPEe/oYO+rVdbQjvjJkBRNQkX4t0r1iaeGn8+/ybkSLEan3/slM0t59SVdHzuHf2jmw==",
+      "path": "system.security.accesscontrol/5.0.0",
+      "hashPath": "system.security.accesscontrol.5.0.0.nupkg.sha512"
+    },
+    "System.Security.Cryptography.ProtectedData/8.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-+TUFINV2q2ifyXauQXRwy4CiBhqvDEDZeVJU7qfxya4aRYOKzVBpN+4acx25VcPB9ywUN6C0n8drWl110PhZEg==",
+      "path": "system.security.cryptography.protecteddata/8.0.0",
+      "hashPath": "system.security.cryptography.protecteddata.8.0.0.nupkg.sha512"
+    },
+    "System.Security.Principal.Windows/5.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-t0MGLukB5WAVU9bO3MGzvlGnyJPgUlcwerXn1kzBRjwLKixT96XV0Uza41W49gVd8zEMFu9vQEFlv0IOrytICA==",
+      "path": "system.security.principal.windows/5.0.0",
+      "hashPath": "system.security.principal.windows.5.0.0.nupkg.sha512"
+    },
+    "System.Text.Encoding.CodePages/7.0.0": {
+      "type": "package",
+      "serviceable": true,
+      "sha512": "sha512-LSyCblMpvOe0N3E+8e0skHcrIhgV2huaNcjUUEa8hRtgEAm36aGkRoC8Jxlb6Ra6GSfF29ftduPNywin8XolzQ==",
+      "path": "system.text.encoding.codepages/7.0.0",
+      "hashPath": "system.text.encoding.codepages.7.0.0.nupkg.sha512"
+    }
+  }
+}

BIN
src/PixiEditor.Extensions.Wasm/build/win-x64/PixiEditor.Extensions.MSPackageBuilder.dll


+ 0 - 0
src/PixiEditorGen/CommandNameListGenerator.cs → src/PixiEditor.Gen/CommandNameListGenerator.cs


+ 0 - 0
src/PixiEditorGen/Extensions.cs → src/PixiEditor.Gen/Extensions.cs


+ 18 - 0
src/PixiEditor.Gen/PixiEditor.Gen.csproj

@@ -0,0 +1,18 @@
+<Project Sdk="Microsoft.NET.Sdk">
+
+  <PropertyGroup>
+    <TargetFramework>netstandard2.0</TargetFramework>
+    <IncludeBuildOutput>true</IncludeBuildOutput>
+    <Nullable>enable</Nullable>
+    <ImplicitUsings>enable</ImplicitUsings>
+    <LangVersion>latest</LangVersion>
+    <RootNamespace>PixiEditorGen</RootNamespace>
+  </PropertyGroup>
+
+  <ItemGroup>
+    <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.3.1" />
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="$(OutputPath)\$(AssemblyName).dll" Pack="true" PackagePath="analyzers/dotnet/cs" Visible="false" />
+  </ItemGroup>
+</Project>

+ 2 - 34
src/PixiEditor.UI.Common/PixiEditor.UI.Common.csproj

@@ -7,9 +7,7 @@
     </PropertyGroup>
 
     <ItemGroup>
-      <AvaloniaResource Include="Assets\Animations\LoadingIndicator.json" />
-      <AvaloniaResource Include="Assets\ChevronDown.png" />
-      <AvaloniaResource Include="Assets\PixiEditorLogo.png" />
+      <AvaloniaResource Include="Assets\*"/>
     </ItemGroup>
 
     <ItemGroup>
@@ -17,38 +15,8 @@
       <PackageReference Include="Avalonia.Themes.Fluent" Version="$(AvaloniaVersion)" />
       <PackageReference Include="Avalonia.Xaml.Behaviors" Version="11.0.5" />
     </ItemGroup>
-
-    <ItemGroup>
-      <UpToDateCheckInput Remove="Animations\Processing.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Accents\Base.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\DockControl.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\DockDockControl.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\DockTarget.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\DocumentContentControl.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\DocumentControl.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\DocumentDockControl.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\DocumentTabStrip.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\DocumentTabStripItem.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\HostWindow.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\HostWindowTitleBar.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\ProportionalDockControl.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\ProportionalStackPanelSplitter.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\RootDockControl.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\ToolChromeControl.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\ToolContentControl.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\ToolControl.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\ToolDockControl.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\ToolPinItemControl.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\ToolPinnedControl.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\ToolTabStrip.axaml" />
-      <UpToDateCheckInput Remove="Controls\Dock\Controls\ToolTabStripItem.axaml" />
-    </ItemGroup>
-
+  
     <ItemGroup>
       <AvaloniaResource Include="Fonts\feather.ttf" />
     </ItemGroup>
-
-    <ItemGroup>
-      <Folder Include="Controls\Dock\" />
-    </ItemGroup>
 </Project>

+ 0 - 15
src/PixiEditor.UpdateModule/PixiEditor.UpdateModule.csproj

@@ -2,21 +2,6 @@
 
   <PropertyGroup>
     <TargetFramework>net8.0</TargetFramework>
-    <Platforms>AnyCPU;x64;x86</Platforms>
-    <Configurations>Debug;Release;Steam;DevRelease</Configurations>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|AnyCPU'">
-    <Optimize>True</Optimize>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|x64'">
-    <Optimize>True</Optimize>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|x86'">
-    <Optimize>True</Optimize>
   </PropertyGroup>
 
 </Project>

+ 0 - 40
src/PixiEditor.Zoombox/PixiEditor.Zoombox.csproj

@@ -4,46 +4,6 @@
     <TargetFramework>net8.0</TargetFramework>
     <Nullable>enable</Nullable>
     <WarningsAsErrors>Nullable</WarningsAsErrors>
-    <Configurations>Debug;Release;Steam;DevRelease</Configurations>
-    <Platforms>AnyCPU</Platforms>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|AnyCPU'">
-    <Optimize>True</Optimize>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|x64'">
-    <Optimize>True</Optimize>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|x86'">
-    <Optimize>True</Optimize>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevRelease|x64' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevRelease|x86' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
   </PropertyGroup>
 
   <ItemGroup>

+ 1 - 318
src/PixiEditor.sln

@@ -20,8 +20,6 @@ Project("{C7167F0D-BC9F-4E6E-AFE1-012C56B48DB5}") = "PixiEditor.MSIX", "PixiEdit
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ChunkyImageLib", "ChunkyImageLib\ChunkyImageLib.csproj", "{6A9DA760-1E47-414C-B8E8-3B4927F18131}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ChunkyImageLibTest", "ChunkyImageLibTest\ChunkyImageLibTest.csproj", "{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}"
-EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ChunkyImageLibVis", "ChunkyImageLibVis\ChunkyImageLibVis.csproj", "{510ED47C-2455-4DCE-A561-1074725E1236}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PixiEditor.ChangeableDocument", "PixiEditor.ChangeableDocument\PixiEditor.ChangeableDocument.csproj", "{294FD171-9536-474C-A679-83F0266275FB}"
@@ -34,7 +32,7 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PixiEditor.DrawingApi.Core"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PixiEditor.DrawingApi.Skia", "PixiEditor.DrawingApi.Skia\PixiEditor.DrawingApi.Skia.csproj", "{98040E8A-F08E-45F8-956F-6480C8272049}"
 EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PixiEditorGen", "PixiEditorGen\PixiEditorGen.csproj", "{1DC5B4C4-6902-4659-AE7E-17FDA0403DEB}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PixiEditor.Gen", "PixiEditor.Gen\PixiEditor.Gen.csproj", "{1DC5B4C4-6902-4659-AE7E-17FDA0403DEB}"
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PixiEditor.Builder", "PixiEditor.Builder\build\PixiEditor.Builder.csproj", "{7AEE19FA-A4F8-4ACA-9E39-401AA1F603C2}"
 EndProject
@@ -72,20 +70,12 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PixiEditor.AvaloniaUI.Brows
 EndProject
 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PixiEditor.AvaloniaUI.Desktop", "PixiEditor.AvaloniaUI.Desktop\PixiEditor.AvaloniaUI.Desktop.csproj", "{8F4FFC91-BE9F-4476-A372-FBD952865F15}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Tests", "PixiEditor.Tests\PixiEditor.Tests.csproj", "{427CE098-4B13-4E46-8C66-D924140B6CAE}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Extensions.Wasm", "PixiEditor.Extensions.Wasm\PixiEditor.Extensions.Wasm.csproj", "{71907779-F1D1-4AA6-BA11-E990DB089841}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Extensions.WasmRuntime", "PixiEditor.Extensions.WasmRuntime\PixiEditor.Extensions.WasmRuntime.csproj", "{B30622ED-9177-4930-8E64-2B2352D4D8DC}"
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Extensions", "Extensions", "{13DD041C-EE2D-4AF8-B43E-D7BFC7415E4D}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Extensions.Tests", "PixiEditor.Extensions.Tests\PixiEditor.Extensions.Tests.csproj", "{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Extensions.Wasm.Tests", "PixiEditor.Extensions.Wasm.Tests\PixiEditor.Extensions.Wasm.Tests.csproj", "{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Extensions.WasmRuntime.Tests", "PixiEditor.Extensions.WasmRuntime.Tests\PixiEditor.Extensions.WasmRuntime.Tests.csproj", "{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Extensions.CommonApi", "PixiEditor.Extensions.CommonApi\PixiEditor.Extensions.CommonApi.csproj", "{43C03D0E-EF50-4225-A268-CB9B8E0E8622}"
 EndProject
 Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "OfficialExtensions", "OfficialExtensions", "{DF94111B-9D40-42D7-9416-4875E846FE8A}"
@@ -94,8 +84,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.DevTools", "Pixi
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Extensions.Runtime", "PixiEditor.Extensions.Runtime\PixiEditor.Extensions.Runtime.csproj", "{5848FCF1-E127-4CE3-8A25-F37032819F8D}"
 EndProject
-Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{F1FDFA82-0C74-446A-AD7D-DE17EC2CF1E8}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Extensions.MSBuildLayoutCompiler", "PixiEditor.Extensions.MSBuildLayoutCompiler\PixiEditor.Extensions.MSBuildLayoutCompiler.csproj", "{174E2684-9C49-460C-A9F1-A6920F00C036}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiDocks.Avalonia", "..\..\PixiDocks\src\PixiDocks.Avalonia\PixiDocks.Avalonia.csproj", "{6D90B6D9-2B6B-4CCA-A522-047546C2147A}"
@@ -106,10 +94,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.WasmApi.Gen", "P
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Api.CGlueMSBuild", "PixiEditor.Api.CGlueMSBuild\PixiEditor.Api.CGlueMSBuild.csproj", "{9FCCD0CF-FF76-4638-A712-803EFBBC641F}"
 EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Api.CGlueMSBuild.Tests", "PixiEditor.Api.CGlueMSBuild.Tests\PixiEditor.Api.CGlueMSBuild.Tests.csproj", "{3476109D-9E5C-48FC-99C6-59407F59EEE4}"
-EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CGlueTestLib", "CGlueTestLib\CGlueTestLib.csproj", "{317B661B-23E8-43FE-A0D6-D3234DF155B1}"
-EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Linux", "PixiEditor.Linux\PixiEditor.Linux.csproj", "{DA3AF3CC-43B2-4871-BDEC-CBE9222A8269}"
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.MacOs", "PixiEditor.MacOs\PixiEditor.MacOs.csproj", "{E46F2824-3CDA-40CB-AA57-8A4387E6B188}"
@@ -369,48 +353,6 @@ Global
 		{6A9DA760-1E47-414C-B8E8-3B4927F18131}.Steam|x64.Build.0 = Steam|Any CPU
 		{6A9DA760-1E47-414C-B8E8-3B4927F18131}.Steam|x86.ActiveCfg = Steam|Any CPU
 		{6A9DA760-1E47-414C-B8E8-3B4927F18131}.Steam|x86.Build.0 = Steam|Any CPU
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Debug|x64.ActiveCfg = Debug|x64
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Debug|x64.Build.0 = Debug|x64
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Debug|x86.ActiveCfg = Debug|x86
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Debug|x86.Build.0 = Debug|x86
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.DevRelease|Any CPU.ActiveCfg = DevRelease|Any CPU
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.DevRelease|Any CPU.Build.0 = DevRelease|Any CPU
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.DevRelease|x64.ActiveCfg = DevRelease|x64
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.DevRelease|x64.Build.0 = DevRelease|x64
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.DevRelease|x86.ActiveCfg = DevRelease|x86
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.DevRelease|x86.Build.0 = DevRelease|x86
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.DevSteam|Any CPU.ActiveCfg = DevSteam|Any CPU
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.DevSteam|Any CPU.Build.0 = DevSteam|Any CPU
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.DevSteam|x64.ActiveCfg = DevSteam|x64
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.DevSteam|x64.Build.0 = DevSteam|x64
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.DevSteam|x86.ActiveCfg = DevSteam|x86
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.DevSteam|x86.Build.0 = DevSteam|x86
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.MSIX Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.MSIX Debug|Any CPU.Build.0 = Debug|Any CPU
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.MSIX Debug|x64.ActiveCfg = Debug|x64
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.MSIX Debug|x64.Build.0 = Debug|x64
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.MSIX Debug|x86.ActiveCfg = Debug|x86
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.MSIX Debug|x86.Build.0 = Debug|x86
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.MSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.MSIX|Any CPU.Build.0 = Debug|Any CPU
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.MSIX|x64.ActiveCfg = Debug|x64
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.MSIX|x64.Build.0 = Debug|x64
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.MSIX|x86.ActiveCfg = Debug|x86
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.MSIX|x86.Build.0 = Debug|x86
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Release|Any CPU.Build.0 = Release|Any CPU
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Release|x64.ActiveCfg = Release|x64
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Release|x64.Build.0 = Release|x64
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Release|x86.ActiveCfg = Release|x86
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Release|x86.Build.0 = Release|x86
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Steam|Any CPU.ActiveCfg = Steam|Any CPU
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Steam|Any CPU.Build.0 = Steam|Any CPU
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Steam|x64.ActiveCfg = Steam|x64
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Steam|x64.Build.0 = Steam|x64
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Steam|x86.ActiveCfg = Steam|x86
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6}.Steam|x86.Build.0 = Steam|x86
 		{510ED47C-2455-4DCE-A561-1074725E1236}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{510ED47C-2455-4DCE-A561-1074725E1236}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{510ED47C-2455-4DCE-A561-1074725E1236}.Debug|x64.ActiveCfg = Debug|x64
@@ -1251,48 +1193,6 @@ Global
 		{8F4FFC91-BE9F-4476-A372-FBD952865F15}.Steam|x64.Build.0 = Debug|Any CPU
 		{8F4FFC91-BE9F-4476-A372-FBD952865F15}.Steam|x86.ActiveCfg = Debug|Any CPU
 		{8F4FFC91-BE9F-4476-A372-FBD952865F15}.Steam|x86.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Debug|x64.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Debug|x86.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.DevRelease|Any CPU.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.DevRelease|Any CPU.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.DevRelease|x64.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.DevRelease|x64.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.DevRelease|x86.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.DevRelease|x86.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.DevSteam|Any CPU.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.DevSteam|Any CPU.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.DevSteam|x64.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.DevSteam|x64.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.DevSteam|x86.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.DevSteam|x86.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.MSIX Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.MSIX Debug|Any CPU.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.MSIX Debug|x64.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.MSIX Debug|x64.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.MSIX Debug|x86.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.MSIX Debug|x86.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.MSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.MSIX|Any CPU.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.MSIX|x64.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.MSIX|x64.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.MSIX|x86.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.MSIX|x86.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Release|Any CPU.Build.0 = Release|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Release|x64.ActiveCfg = Release|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Release|x64.Build.0 = Release|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Release|x86.ActiveCfg = Release|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Release|x86.Build.0 = Release|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Steam|Any CPU.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Steam|Any CPU.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Steam|x64.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Steam|x64.Build.0 = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Steam|x86.ActiveCfg = Debug|Any CPU
-		{427CE098-4B13-4E46-8C66-D924140B6CAE}.Steam|x86.Build.0 = Debug|Any CPU
 		{71907779-F1D1-4AA6-BA11-E990DB089841}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{71907779-F1D1-4AA6-BA11-E990DB089841}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{71907779-F1D1-4AA6-BA11-E990DB089841}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -1377,132 +1277,6 @@ Global
 		{B30622ED-9177-4930-8E64-2B2352D4D8DC}.Steam|x64.Build.0 = Debug|Any CPU
 		{B30622ED-9177-4930-8E64-2B2352D4D8DC}.Steam|x86.ActiveCfg = Debug|Any CPU
 		{B30622ED-9177-4930-8E64-2B2352D4D8DC}.Steam|x86.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Debug|x64.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Debug|x86.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.DevRelease|Any CPU.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.DevRelease|Any CPU.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.DevRelease|x64.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.DevRelease|x64.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.DevRelease|x86.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.DevRelease|x86.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.DevSteam|Any CPU.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.DevSteam|Any CPU.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.DevSteam|x64.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.DevSteam|x64.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.DevSteam|x86.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.DevSteam|x86.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.MSIX Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.MSIX Debug|Any CPU.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.MSIX Debug|x64.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.MSIX Debug|x64.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.MSIX Debug|x86.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.MSIX Debug|x86.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.MSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.MSIX|Any CPU.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.MSIX|x64.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.MSIX|x64.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.MSIX|x86.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.MSIX|x86.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Release|Any CPU.Build.0 = Release|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Release|x64.ActiveCfg = Release|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Release|x64.Build.0 = Release|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Release|x86.ActiveCfg = Release|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Release|x86.Build.0 = Release|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Steam|Any CPU.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Steam|Any CPU.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Steam|x64.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Steam|x64.Build.0 = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Steam|x86.ActiveCfg = Debug|Any CPU
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D}.Steam|x86.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Debug|x64.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Debug|x86.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.DevRelease|Any CPU.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.DevRelease|Any CPU.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.DevRelease|x64.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.DevRelease|x64.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.DevRelease|x86.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.DevRelease|x86.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.DevSteam|Any CPU.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.DevSteam|Any CPU.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.DevSteam|x64.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.DevSteam|x64.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.DevSteam|x86.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.DevSteam|x86.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.MSIX Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.MSIX Debug|Any CPU.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.MSIX Debug|x64.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.MSIX Debug|x64.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.MSIX Debug|x86.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.MSIX Debug|x86.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.MSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.MSIX|Any CPU.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.MSIX|x64.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.MSIX|x64.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.MSIX|x86.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.MSIX|x86.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Release|Any CPU.Build.0 = Release|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Release|x64.ActiveCfg = Release|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Release|x64.Build.0 = Release|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Release|x86.ActiveCfg = Release|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Release|x86.Build.0 = Release|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Steam|Any CPU.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Steam|Any CPU.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Steam|x64.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Steam|x64.Build.0 = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Steam|x86.ActiveCfg = Debug|Any CPU
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1}.Steam|x86.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Debug|x64.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Debug|x86.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.DevRelease|Any CPU.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.DevRelease|Any CPU.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.DevRelease|x64.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.DevRelease|x64.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.DevRelease|x86.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.DevRelease|x86.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.DevSteam|Any CPU.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.DevSteam|Any CPU.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.DevSteam|x64.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.DevSteam|x64.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.DevSteam|x86.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.DevSteam|x86.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.MSIX Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.MSIX Debug|Any CPU.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.MSIX Debug|x64.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.MSIX Debug|x64.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.MSIX Debug|x86.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.MSIX Debug|x86.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.MSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.MSIX|Any CPU.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.MSIX|x64.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.MSIX|x64.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.MSIX|x86.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.MSIX|x86.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Release|Any CPU.Build.0 = Release|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Release|x64.ActiveCfg = Release|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Release|x64.Build.0 = Release|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Release|x86.ActiveCfg = Release|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Release|x86.Build.0 = Release|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Steam|Any CPU.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Steam|Any CPU.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Steam|x64.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Steam|x64.Build.0 = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Steam|x86.ActiveCfg = Debug|Any CPU
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7}.Steam|x86.Build.0 = Debug|Any CPU
 		{43C03D0E-EF50-4225-A268-CB9B8E0E8622}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{43C03D0E-EF50-4225-A268-CB9B8E0E8622}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{43C03D0E-EF50-4225-A268-CB9B8E0E8622}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -1839,90 +1613,6 @@ Global
 		{9FCCD0CF-FF76-4638-A712-803EFBBC641F}.Steam|x64.Build.0 = Debug|Any CPU
 		{9FCCD0CF-FF76-4638-A712-803EFBBC641F}.Steam|x86.ActiveCfg = Debug|Any CPU
 		{9FCCD0CF-FF76-4638-A712-803EFBBC641F}.Steam|x86.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Debug|x64.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Debug|x86.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.DevRelease|Any CPU.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.DevRelease|Any CPU.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.DevRelease|x64.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.DevRelease|x64.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.DevRelease|x86.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.DevRelease|x86.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.DevSteam|Any CPU.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.DevSteam|Any CPU.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.DevSteam|x64.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.DevSteam|x64.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.DevSteam|x86.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.DevSteam|x86.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.MSIX Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.MSIX Debug|Any CPU.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.MSIX Debug|x64.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.MSIX Debug|x64.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.MSIX Debug|x86.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.MSIX Debug|x86.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.MSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.MSIX|Any CPU.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.MSIX|x64.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.MSIX|x64.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.MSIX|x86.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.MSIX|x86.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Release|Any CPU.Build.0 = Release|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Release|x64.ActiveCfg = Release|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Release|x64.Build.0 = Release|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Release|x86.ActiveCfg = Release|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Release|x86.Build.0 = Release|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Steam|Any CPU.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Steam|Any CPU.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Steam|x64.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Steam|x64.Build.0 = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Steam|x86.ActiveCfg = Debug|Any CPU
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4}.Steam|x86.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Debug|Any CPU.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Debug|x64.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Debug|x64.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Debug|x86.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Debug|x86.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.DevRelease|Any CPU.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.DevRelease|Any CPU.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.DevRelease|x64.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.DevRelease|x64.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.DevRelease|x86.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.DevRelease|x86.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.DevSteam|Any CPU.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.DevSteam|Any CPU.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.DevSteam|x64.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.DevSteam|x64.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.DevSteam|x86.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.DevSteam|x86.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.MSIX Debug|Any CPU.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.MSIX Debug|Any CPU.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.MSIX Debug|x64.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.MSIX Debug|x64.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.MSIX Debug|x86.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.MSIX Debug|x86.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.MSIX|Any CPU.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.MSIX|Any CPU.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.MSIX|x64.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.MSIX|x64.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.MSIX|x86.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.MSIX|x86.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Release|Any CPU.ActiveCfg = Release|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Release|Any CPU.Build.0 = Release|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Release|x64.ActiveCfg = Release|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Release|x64.Build.0 = Release|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Release|x86.ActiveCfg = Release|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Release|x86.Build.0 = Release|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Steam|Any CPU.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Steam|Any CPU.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Steam|x64.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Steam|x64.Build.0 = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Steam|x86.ActiveCfg = Debug|Any CPU
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1}.Steam|x86.Build.0 = Debug|Any CPU
 		{DA3AF3CC-43B2-4871-BDEC-CBE9222A8269}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
 		{DA3AF3CC-43B2-4871-BDEC-CBE9222A8269}.Debug|Any CPU.Build.0 = Debug|Any CPU
 		{DA3AF3CC-43B2-4871-BDEC-CBE9222A8269}.Debug|x64.ActiveCfg = Debug|Any CPU
@@ -2059,7 +1749,6 @@ Global
 		{80BB2920-3DC0-406C-9E2B-30B08D5CC7A8} = {1E816135-76C1-4255-BE3C-BF17895A65AA}
 		{1F97F972-F9E8-4F35-A8B5-3F71408D2230} = {68C3DA2D-D2EA-426E-A866-0019E425C816}
 		{6A9DA760-1E47-414C-B8E8-3B4927F18131} = {1E816135-76C1-4255-BE3C-BF17895A65AA}
-		{E31A8266-5BCA-4877-B9E5-9C5BB42829D6} = {5AFBF881-C054-4CE4-8159-8D4017FFD27A}
 		{510ED47C-2455-4DCE-A561-1074725E1236} = {5AFBF881-C054-4CE4-8159-8D4017FFD27A}
 		{294FD171-9536-474C-A679-83F0266275FB} = {1E816135-76C1-4255-BE3C-BF17895A65AA}
 		{758DF7DF-A8B1-4409-B79A-018E542B7251} = {1E816135-76C1-4255-BE3C-BF17895A65AA}
@@ -2086,16 +1775,10 @@ Global
 		{43C03D0E-EF50-4225-A268-CB9B8E0E8622} = {13DD041C-EE2D-4AF8-B43E-D7BFC7415E4D}
 		{A0C4E418-467E-40E2-BAD6-35F953BA69E5} = {DF94111B-9D40-42D7-9416-4875E846FE8A}
 		{5848FCF1-E127-4CE3-8A25-F37032819F8D} = {13DD041C-EE2D-4AF8-B43E-D7BFC7415E4D}
-		{221E745C-D21F-4725-BBB8-DFB2DE5CF61D} = {F1FDFA82-0C74-446A-AD7D-DE17EC2CF1E8}
-		{9C1A500D-7A3D-49E3-BD39-05867B1D37F1} = {F1FDFA82-0C74-446A-AD7D-DE17EC2CF1E8}
-		{C16EF6F1-4E40-4CC4-9320-99C3C97929D7} = {F1FDFA82-0C74-446A-AD7D-DE17EC2CF1E8}
-		{427CE098-4B13-4E46-8C66-D924140B6CAE} = {F1FDFA82-0C74-446A-AD7D-DE17EC2CF1E8}
 		{174E2684-9C49-460C-A9F1-A6920F00C036} = {13DD041C-EE2D-4AF8-B43E-D7BFC7415E4D}
 		{FDA53E74-24B0-4304-8BC7-1A580E3CE7B4} = {1E816135-76C1-4255-BE3C-BF17895A65AA}
 		{5E8F82CF-F48A-40B2-99E3-9BBB8725866A} = {13DD041C-EE2D-4AF8-B43E-D7BFC7415E4D}
 		{9FCCD0CF-FF76-4638-A712-803EFBBC641F} = {13DD041C-EE2D-4AF8-B43E-D7BFC7415E4D}
-		{3476109D-9E5C-48FC-99C6-59407F59EEE4} = {F1FDFA82-0C74-446A-AD7D-DE17EC2CF1E8}
-		{317B661B-23E8-43FE-A0D6-D3234DF155B1} = {F1FDFA82-0C74-446A-AD7D-DE17EC2CF1E8}
 		{DA3AF3CC-43B2-4871-BDEC-CBE9222A8269} = {2CC7ED59-C25E-4EED-8FED-D48E13EB9CC0}
 		{E46F2824-3CDA-40CB-AA57-8A4387E6B188} = {2CC7ED59-C25E-4EED-8FED-D48E13EB9CC0}
 		{AE200ADC-9E85-4275-A373-E975CD6D518C} = {13DD041C-EE2D-4AF8-B43E-D7BFC7415E4D}

+ 1 - 1
src/PixiEditor/PixiEditor.csproj

@@ -494,7 +494,7 @@
 		<ProjectReference Include="..\PixiEditor.Platform\PixiEditor.Platform.csproj" />
 		<ProjectReference Include="..\PixiEditor.UpdateModule\PixiEditor.UpdateModule.csproj" />
 		<ProjectReference Include="..\PixiEditor.Zoombox\PixiEditor.Zoombox.csproj" />
-		<ProjectReference Include="..\PixiEditorGen\PixiEditorGen.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
+		<ProjectReference Include="..\PixiEditor.Gen\PixiEditor.Gen.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
 	</ItemGroup>
 	<ItemGroup>
 		<Reference Include="PixiParser">

+ 0 - 57
src/PixiEditorGen/PixiEditorGen.csproj

@@ -1,57 +0,0 @@
-<Project Sdk="Microsoft.NET.Sdk">
-
-  <PropertyGroup>
-    <TargetFramework>netstandard2.0</TargetFramework>
-    <IncludeBuildOutput>true</IncludeBuildOutput>
-    <Nullable>enable</Nullable>
-    <ImplicitUsings>enable</ImplicitUsings>
-    <LangVersion>latest</LangVersion>
-    <Configurations>Debug;Release;Steam;DevRelease</Configurations>
-    <Platforms>AnyCPU</Platforms>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|AnyCPU'">
-    <Optimize>True</Optimize>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|x64'">
-    <Optimize>True</Optimize>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|x86'">
-    <Optimize>True</Optimize>
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevRelease|x64' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DevRelease|x86' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
-    <PlatformTarget>AnyCPU</PlatformTarget>
-  </PropertyGroup>
-
-  <ItemGroup>
-    <PackageReference Include="Microsoft.CodeAnalysis.CSharp" Version="4.3.1" />
-  </ItemGroup>
-  <ItemGroup>
-    <None Include="$(OutputPath)\$(AssemblyName).dll" Pack="true" PackagePath="analyzers/dotnet/cs" Visible="false" />
-  </ItemGroup>
-</Project>

+ 3 - 3
src/CGlueTestLib/CGlueTestLib.csproj → tests/CGlueTestLib/CGlueTestLib.csproj

@@ -6,13 +6,13 @@
     <OutputType>Exe</OutputType>
     <PublishTrimmed>true</PublishTrimmed>
     <WasmSingleFileBundle>true</WasmSingleFileBundle>
+    <GenerateExtensionPackage>false</GenerateExtensionPackage>
   </PropertyGroup>
 
-  <Import Project="..\PixiEditor.Extensions.Wasm\build\PixiEditor.Extensions.Wasm.targets"/>
-  <Import Project="..\PixiEditor.Extensions.Wasm\build\PixiEditor.Extensions.Wasm.props"/>
+  <Import Project="..\..\src\PixiEditor.Extensions.Wasm\build\PixiEditor.Extensions.Wasm.targets"/>
 
     <ItemGroup>
-      <ProjectReference Include="..\PixiEditor.Extensions.Wasm\PixiEditor.Extensions.Wasm.csproj" />
+      <ProjectReference Include="..\..\src\PixiEditor.Extensions.Wasm\PixiEditor.Extensions.Wasm.csproj" />
     </ItemGroup>
 
 </Project>

+ 0 - 0
src/CGlueTestLib/Exports.cs → tests/CGlueTestLib/Exports.cs


+ 0 - 0
src/CGlueTestLib/Imports.cs → tests/CGlueTestLib/Imports.cs


+ 0 - 0
src/CGlueTestLib/Program.cs → tests/CGlueTestLib/Program.cs


+ 4 - 13
src/ChunkyImageLibTest/ChunkyImageLibTest.csproj → tests/ChunkyImageLibTest/ChunkyImageLibTest.csproj

@@ -1,18 +1,9 @@
 <Project Sdk="Microsoft.NET.Sdk">
 
   <PropertyGroup>
-    <TargetFramework>net8.0-windows</TargetFramework>
+    <TargetFramework>net8.0</TargetFramework>
     <Nullable>enable</Nullable>
-
     <IsPackable>false</IsPackable>
-
-    <Configurations>Debug;Release;Steam;DevRelease</Configurations>
-
-    <Platforms>AnyCPU;x64;x86</Platforms>
-  </PropertyGroup>
-
-  <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Steam|x64'">
-    <Optimize>True</Optimize>
   </PropertyGroup>
 
   <ItemGroup>
@@ -22,15 +13,15 @@
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
       <PrivateAssets>all</PrivateAssets>
     </PackageReference>
-    <PackageReference Include="coverlet.collector" Version="3.1.0">
+    <PackageReference Include="coverlet.collector" Version="6.0.2">
       <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
       <PrivateAssets>all</PrivateAssets>
     </PackageReference>
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\ChunkyImageLib\ChunkyImageLib.csproj" />
-    <ProjectReference Include="..\PixiEditor.DrawingApi.Skia\PixiEditor.DrawingApi.Skia.csproj" />
+    <ProjectReference Include="..\..\src\ChunkyImageLib\ChunkyImageLib.csproj" />
+    <ProjectReference Include="..\..\src\PixiEditor.DrawingApi.Skia\PixiEditor.DrawingApi.Skia.csproj" />
   </ItemGroup>
 
 </Project>

+ 0 - 0
src/ChunkyImageLibTest/ChunkyImageTests.cs → tests/ChunkyImageLibTest/ChunkyImageTests.cs


+ 0 - 0
src/ChunkyImageLibTest/ClearRegionOperationTests.cs → tests/ChunkyImageLibTest/ClearRegionOperationTests.cs


+ 0 - 0
src/ChunkyImageLibTest/ImageOperationTests.cs → tests/ChunkyImageLibTest/ImageOperationTests.cs


+ 0 - 0
src/ChunkyImageLibTest/OperationHelperTests.cs → tests/ChunkyImageLibTest/OperationHelperTests.cs


+ 0 - 0
src/ChunkyImageLibTest/RectITests.cs → tests/ChunkyImageLibTest/RectITests.cs


+ 0 - 0
src/ChunkyImageLibTest/RectangleOperationTests.cs → tests/ChunkyImageLibTest/RectangleOperationTests.cs


+ 97 - 0
tests/Custom.ruleset

@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="utf-8"?>
+<RuleSet Name="Name" Description="Description" ToolsVersion="17.0">
+  <Rules AnalyzerId="Microsoft.CodeAnalysis.CSharp" RuleNamespace="Microsoft.CodeAnalysis.CSharp">
+    <Rule Id="AD0001" Action="None" />
+  </Rules>
+  <Rules AnalyzerId="Microsoft.CodeAnalysis.CSharp.Features" RuleNamespace="Microsoft.CodeAnalysis.CSharp.Features">
+    <Rule Id="IDE0090" Action="None" />
+  </Rules>
+  <Rules AnalyzerId="Microsoft.CodeAnalysis.NetAnalyzers" RuleNamespace="Microsoft.CodeAnalysis.NetAnalyzers">
+    <Rule Id="CA1416" Action="None" />
+  </Rules>
+  <Rules AnalyzerId="Microsoft.NetCore.Analyzers" RuleNamespace="Microsoft.NetCore.Analyzers">
+    <Rule Id="CA1303" Action="None" />
+    <Rule Id="CA1416" Action="None" />
+  </Rules>
+  <Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
+    <Rule Id="SA0001" Action="None" />
+    <Rule Id="SA1000" Action="None" />
+    <Rule Id="SA1005" Action="None" />
+    <Rule Id="SA1008" Action="None" />
+    <Rule Id="SA1009" Action="None" />
+    <Rule Id="SA1011" Action="None" />
+    <Rule Id="SA1023" Action="None" />
+    <Rule Id="SA1028" Action="None" />
+    <Rule Id="SA1101" Action="None" />
+    <Rule Id="SA1110" Action="None" />
+    <Rule Id="SA1111" Action="None" />
+    <Rule Id="SA1112" Action="None" />
+    <Rule Id="SA1117" Action="None" />
+    <Rule Id="SA1119" Action="None" />
+    <Rule Id="SA1121" Action="None" />
+    <Rule Id="SA1122" Action="None" />
+    <Rule Id="SA1124" Action="None" />
+    <Rule Id="SA1127" Action="None" />
+    <Rule Id="SA1128" Action="None" />
+    <Rule Id="SA1129" Action="None" />
+    <Rule Id="SA1130" Action="None" />
+    <Rule Id="SA1132" Action="None" />
+    <Rule Id="SA1135" Action="None" />
+    <Rule Id="SA1136" Action="None" />
+    <Rule Id="SA1139" Action="None" />
+    <Rule Id="SA1200" Action="None" />
+    <Rule Id="SA1201" Action="None" />
+    <Rule Id="SA1202" Action="None" />
+    <Rule Id="SA1204" Action="None" />
+    <Rule Id="SA1207" Action="None" />
+    <Rule Id="SA1208" Action="None" />
+    <Rule Id="SA1209" Action="None" />
+    <Rule Id="SA1210" Action="None" />
+    <Rule Id="SA1211" Action="None" />
+    <Rule Id="SA1214" Action="None" />
+    <Rule Id="SA1216" Action="None" />
+    <Rule Id="SA1217" Action="None" />
+    <Rule Id="SA1303" Action="None" />
+    <Rule Id="SA1304" Action="None" />
+    <Rule Id="SA1307" Action="None" />
+    <Rule Id="SA1309" Action="None" />
+    <Rule Id="SA1310" Action="None" />
+    <Rule Id="SA1311" Action="None" />
+    <Rule Id="SA1313" Action="None" />
+    <Rule Id="SA1316" Action="None" />
+    <Rule Id="SA1400" Action="None" />
+    <Rule Id="SA1401" Action="None" />
+    <Rule Id="SA1402" Action="None" />
+    <Rule Id="SA1405" Action="None" />
+    <Rule Id="SA1406" Action="None" />
+    <Rule Id="SA1407" Action="None" />
+    <Rule Id="SA1408" Action="None" />
+    <Rule Id="SA1410" Action="None" />
+    <Rule Id="SA1411" Action="None" />
+    <Rule Id="SA1413" Action="None" />
+    <Rule Id="SA1501" Action="None" />
+    <Rule Id="SA1502" Action="None" />
+    <Rule Id="SA1503" Action="None" />
+    <Rule Id="SA1505" Action="None" />
+    <Rule Id="SA1507" Action="None" />
+    <Rule Id="SA1508" Action="None" />
+    <Rule Id="SA1512" Action="None" />
+    <Rule Id="SA1513" Action="None" />
+    <Rule Id="SA1515" Action="None" />
+    <Rule Id="SA1516" Action="None" />
+    <Rule Id="SA1518" Action="None" />
+    <Rule Id="SA1600" Action="None" />
+    <Rule Id="SA1601" Action="None" />
+    <Rule Id="SA1602" Action="None" />
+    <Rule Id="SA1604" Action="None" />
+    <Rule Id="SA1605" Action="None" />
+    <Rule Id="SA1606" Action="None" />
+    <Rule Id="SA1607" Action="None" />
+    <Rule Id="SA1623" Action="None" />
+    <Rule Id="SA1629" Action="None" />
+    <Rule Id="SA1633" Action="None" />
+    <Rule Id="SA1642" Action="None" />
+    <Rule Id="SA1643" Action="None" />
+    <Rule Id="SA1648" Action="None" />
+  </Rules>
+</RuleSet>

+ 12 - 0
tests/Directory.Build.props

@@ -0,0 +1,12 @@
+<Project>
+    <PropertyGroup>
+        <CodeAnalysisRuleSet>../Custom.ruleset</CodeAnalysisRuleSet>
+		<AvaloniaVersion>11.0.10</AvaloniaVersion>
+    </PropertyGroup>
+    <ItemGroup>
+        <PackageReference Include="StyleCop.Analyzers" Version="1.1.118" />
+    </ItemGroup>
+    <ItemGroup>
+        <AdditionalFiles Include="../stylecop.json" />
+    </ItemGroup>
+</Project>

+ 0 - 0
src/PixiEditor.Api.CGlueMSBuild.Tests/CApiGeneratorTests.cs → tests/PixiEditor.Api.CGlueMSBuild.Tests/CApiGeneratorTests.cs


+ 1 - 1
src/PixiEditor.Api.CGlueMSBuild.Tests/PixiEditor.Api.CGlueMSBuild.Tests.csproj → tests/PixiEditor.Api.CGlueMSBuild.Tests/PixiEditor.Api.CGlueMSBuild.Tests.csproj

@@ -22,7 +22,7 @@
   </ItemGroup>
 
   <ItemGroup>
-    <ProjectReference Include="..\PixiEditor.Api.CGlueMSBuild\PixiEditor.Api.CGlueMSBuild.csproj"/>
+    <ProjectReference Include="..\..\src\PixiEditor.Api.CGlueMSBuild\PixiEditor.Api.CGlueMSBuild.csproj"/>
   </ItemGroup>
 
     <ItemGroup>

+ 0 - 0
src/PixiEditor.Api.CGlueMSBuild.Tests/TestAssets/CGlueTestLib.dll → tests/PixiEditor.Api.CGlueMSBuild.Tests/TestAssets/CGlueTestLib.dll


+ 0 - 0
src/PixiEditor.Api.CGlueMSBuild.Tests/TestAssets/PixiEditor.Extensions.Wasm.dll → tests/PixiEditor.Api.CGlueMSBuild.Tests/TestAssets/PixiEditor.Extensions.Wasm.dll


+ 0 - 0
src/PixiEditor.Extensions.Tests/GlobalUsings.cs → tests/PixiEditor.Extensions.Tests/GlobalUsings.cs


+ 0 - 0
src/PixiEditor.Extensions.Tests/LayoutBuilderElementsTests.cs → tests/PixiEditor.Extensions.Tests/LayoutBuilderElementsTests.cs


+ 0 - 0
src/PixiEditor.Extensions.Tests/LayoutBuilderTests.cs → tests/PixiEditor.Extensions.Tests/LayoutBuilderTests.cs


+ 1 - 1
src/PixiEditor.Extensions.Tests/PixiEditor.Extensions.Tests.csproj → tests/PixiEditor.Extensions.Tests/PixiEditor.Extensions.Tests.csproj

@@ -24,7 +24,7 @@
     </ItemGroup>
 
     <ItemGroup>
-      <ProjectReference Include="..\PixiEditor.Extensions\PixiEditor.Extensions.csproj" />
+      <ProjectReference Include="..\..\src\PixiEditor.Extensions\PixiEditor.Extensions.csproj" />
     </ItemGroup>
 
 </Project>

+ 0 - 0
src/PixiEditor.Extensions.Tests/TestMultiChildState.cs → tests/PixiEditor.Extensions.Tests/TestMultiChildState.cs


+ 0 - 0
src/PixiEditor.Extensions.Tests/TestMultiChildStatefulElement.cs → tests/PixiEditor.Extensions.Tests/TestMultiChildStatefulElement.cs


+ 0 - 0
src/PixiEditor.Extensions.Tests/TestNestedState.cs → tests/PixiEditor.Extensions.Tests/TestNestedState.cs


+ 0 - 0
src/PixiEditor.Extensions.Tests/TestNestedStatefulElement.cs → tests/PixiEditor.Extensions.Tests/TestNestedStatefulElement.cs


+ 0 - 0
src/PixiEditor.Extensions.Tests/TestState.cs → tests/PixiEditor.Extensions.Tests/TestState.cs


+ 0 - 0
src/PixiEditor.Extensions.Tests/TestStatefulElement.cs → tests/PixiEditor.Extensions.Tests/TestStatefulElement.cs


+ 0 - 0
src/PixiEditor.Extensions.Wasm.Tests/GlobalUsings.cs → tests/PixiEditor.Extensions.Wasm.Tests/GlobalUsings.cs


+ 0 - 0
src/PixiEditor.Extensions.Wasm.Tests/NativeControlSerializationTest.cs → tests/PixiEditor.Extensions.Wasm.Tests/NativeControlSerializationTest.cs


+ 1 - 1
src/PixiEditor.Extensions.Wasm.Tests/PixiEditor.Extensions.Wasm.Tests.csproj → tests/PixiEditor.Extensions.Wasm.Tests/PixiEditor.Extensions.Wasm.Tests.csproj

@@ -23,7 +23,7 @@
     </ItemGroup>
 
     <ItemGroup>
-      <ProjectReference Include="..\PixiEditor.Extensions.Wasm\PixiEditor.Extensions.Wasm.csproj" />
+      <ProjectReference Include="..\..\src\PixiEditor.Extensions.Wasm\PixiEditor.Extensions.Wasm.csproj" />
     </ItemGroup>
 
 </Project>

+ 0 - 0
src/PixiEditor.Extensions.WasmRuntime.Tests/GlobalUsings.cs → tests/PixiEditor.Extensions.WasmRuntime.Tests/GlobalUsings.cs


+ 0 - 0
src/PixiEditor.Extensions.WasmRuntime.Tests/PixiEditor.Extensions.WasmRuntime.Tests.csproj → tests/PixiEditor.Extensions.WasmRuntime.Tests/PixiEditor.Extensions.WasmRuntime.Tests.csproj


+ 0 - 0
src/PixiEditor.Extensions.WasmRuntime.Tests/UnitTest1.cs → tests/PixiEditor.Extensions.WasmRuntime.Tests/UnitTest1.cs


+ 0 - 0
src/PixiEditor.Tests/AvaloniaTestRunner.cs → tests/PixiEditor.Tests/AvaloniaTestRunner.cs


+ 0 - 0
src/PixiEditor.Tests/FramebufferExtensionTests.cs → tests/PixiEditor.Tests/FramebufferExtensionTests.cs


+ 0 - 0
src/PixiEditor.Tests/GlobalUsings.cs → tests/PixiEditor.Tests/GlobalUsings.cs


+ 1 - 1
src/PixiEditor.Tests/PixiEditor.Tests.csproj → tests/PixiEditor.Tests/PixiEditor.Tests.csproj

@@ -26,7 +26,7 @@
 
 
     <ItemGroup>
-      <ProjectReference Include="..\PixiEditor.AvaloniaUI.Desktop\PixiEditor.AvaloniaUI.Desktop.csproj" />
+      <ProjectReference Include="..\..\src\PixiEditor.AvaloniaUI.Desktop\PixiEditor.AvaloniaUI.Desktop.csproj" />
     </ItemGroup>
 
 </Project>

+ 0 - 0
src/PixiEditor.Tests/WriteableBitmapUtilityTests.cs → tests/PixiEditor.Tests/WriteableBitmapUtilityTests.cs


+ 122 - 0
tests/PixiEditorTests.sln

@@ -0,0 +1,122 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 17
+VisualStudioVersion = 17.0.31903.59
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Tests", "PixiEditor.Tests\PixiEditor.Tests.csproj", "{0EF3CAB9-7361-472C-8789-D17D4EA2DEBB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.AvaloniaUI.Desktop", "..\src\PixiEditor.AvaloniaUI.Desktop\PixiEditor.AvaloniaUI.Desktop.csproj", "{7F2DBBFC-FBDB-4772-806F-3B0829032DC0}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "References", "References", "{E118E6FE-67E7-4472-A8D7-E7F470E66131}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{D914C08C-5F1A-4E13-AAA6-F25E8C9748E2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CGlueTestLib", "CGlueTestLib\CGlueTestLib.csproj", "{9C7FFCAD-DDC1-4B69-9B39-30FD4A566CCB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Extensions.Wasm", "..\src\PixiEditor.Extensions.Wasm\PixiEditor.Extensions.Wasm.csproj", "{3C73AAB4-FA0C-475F-AAFE-DB682CB57027}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Libraries", "Libraries", "{AEB5E9CA-91FB-45DA-A9BF-7E286710C8EF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChunkyImageLibTest", "ChunkyImageLibTest\ChunkyImageLibTest.csproj", "{4DC33EEF-4FD2-4038-BB0C-61E1B833A6B4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ChunkyImageLib", "..\src\ChunkyImageLib\ChunkyImageLib.csproj", "{493B3F23-DB1B-4633-8C6D-BAD18C59A239}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.DrawingApi.Skia", "..\src\PixiEditor.DrawingApi.Skia\PixiEditor.DrawingApi.Skia.csproj", "{DCFF0D46-C19C-4E6D-984C-56A95781AE0B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.DrawingApi.Core", "..\src\PixiEditor.DrawingApi.Core\PixiEditor.DrawingApi.Core.csproj", "{61403ACE-FEA3-49E5-A916-68C0FADCFBE6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Numerics", "..\src\PixiEditor.Numerics\PixiEditor.Numerics.csproj", "{025BE1C7-EC9D-452A-9BA4-1F1CF31431FB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Api.CGlueMSBuild.Tests", "PixiEditor.Api.CGlueMSBuild.Tests\PixiEditor.Api.CGlueMSBuild.Tests.csproj", "{0CC4DF8D-4C6D-416E-98D9-27B318826490}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Api.CGlueMSBuild", "..\src\PixiEditor.Api.CGlueMSBuild\PixiEditor.Api.CGlueMSBuild.csproj", "{B2402415-02BA-41D1-8A6A-81B361DCE048}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Extensions.Tests", "PixiEditor.Extensions.Tests\PixiEditor.Extensions.Tests.csproj", "{B6AAC494-8D5E-4378-8305-84EC80C0A358}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Extensions.Wasm.Tests", "PixiEditor.Extensions.Wasm.Tests\PixiEditor.Extensions.Wasm.Tests.csproj", "{5851EC52-2875-4AC0-8C69-EA0B5E0D2B8A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "PixiEditor.Extensions.WasmRuntime.Tests", "PixiEditor.Extensions.WasmRuntime.Tests\PixiEditor.Extensions.WasmRuntime.Tests.csproj", "{DA31D2E8-2AC2-41D1-921B-7571881EE85F}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{0EF3CAB9-7361-472C-8789-D17D4EA2DEBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0EF3CAB9-7361-472C-8789-D17D4EA2DEBB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0EF3CAB9-7361-472C-8789-D17D4EA2DEBB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0EF3CAB9-7361-472C-8789-D17D4EA2DEBB}.Release|Any CPU.Build.0 = Release|Any CPU
+		{7F2DBBFC-FBDB-4772-806F-3B0829032DC0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{7F2DBBFC-FBDB-4772-806F-3B0829032DC0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{7F2DBBFC-FBDB-4772-806F-3B0829032DC0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{7F2DBBFC-FBDB-4772-806F-3B0829032DC0}.Release|Any CPU.Build.0 = Release|Any CPU
+		{9C7FFCAD-DDC1-4B69-9B39-30FD4A566CCB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{9C7FFCAD-DDC1-4B69-9B39-30FD4A566CCB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{9C7FFCAD-DDC1-4B69-9B39-30FD4A566CCB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{9C7FFCAD-DDC1-4B69-9B39-30FD4A566CCB}.Release|Any CPU.Build.0 = Release|Any CPU
+		{3C73AAB4-FA0C-475F-AAFE-DB682CB57027}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{3C73AAB4-FA0C-475F-AAFE-DB682CB57027}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{3C73AAB4-FA0C-475F-AAFE-DB682CB57027}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{3C73AAB4-FA0C-475F-AAFE-DB682CB57027}.Release|Any CPU.Build.0 = Release|Any CPU
+		{4DC33EEF-4FD2-4038-BB0C-61E1B833A6B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{4DC33EEF-4FD2-4038-BB0C-61E1B833A6B4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{4DC33EEF-4FD2-4038-BB0C-61E1B833A6B4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{4DC33EEF-4FD2-4038-BB0C-61E1B833A6B4}.Release|Any CPU.Build.0 = Release|Any CPU
+		{493B3F23-DB1B-4633-8C6D-BAD18C59A239}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{493B3F23-DB1B-4633-8C6D-BAD18C59A239}.Debug|Any CPU.Build.0 = Debug|x64
+		{493B3F23-DB1B-4633-8C6D-BAD18C59A239}.Release|Any CPU.ActiveCfg = Release|x64
+		{493B3F23-DB1B-4633-8C6D-BAD18C59A239}.Release|Any CPU.Build.0 = Release|x64
+		{DCFF0D46-C19C-4E6D-984C-56A95781AE0B}.Debug|Any CPU.ActiveCfg = Debug|x64
+		{DCFF0D46-C19C-4E6D-984C-56A95781AE0B}.Debug|Any CPU.Build.0 = Debug|x64
+		{DCFF0D46-C19C-4E6D-984C-56A95781AE0B}.Release|Any CPU.ActiveCfg = Release|x64
+		{DCFF0D46-C19C-4E6D-984C-56A95781AE0B}.Release|Any CPU.Build.0 = Release|x64
+		{61403ACE-FEA3-49E5-A916-68C0FADCFBE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{61403ACE-FEA3-49E5-A916-68C0FADCFBE6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{61403ACE-FEA3-49E5-A916-68C0FADCFBE6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{61403ACE-FEA3-49E5-A916-68C0FADCFBE6}.Release|Any CPU.Build.0 = Release|Any CPU
+		{025BE1C7-EC9D-452A-9BA4-1F1CF31431FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{025BE1C7-EC9D-452A-9BA4-1F1CF31431FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{025BE1C7-EC9D-452A-9BA4-1F1CF31431FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{025BE1C7-EC9D-452A-9BA4-1F1CF31431FB}.Release|Any CPU.Build.0 = Release|Any CPU
+		{0CC4DF8D-4C6D-416E-98D9-27B318826490}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{0CC4DF8D-4C6D-416E-98D9-27B318826490}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{0CC4DF8D-4C6D-416E-98D9-27B318826490}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{0CC4DF8D-4C6D-416E-98D9-27B318826490}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B2402415-02BA-41D1-8A6A-81B361DCE048}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B2402415-02BA-41D1-8A6A-81B361DCE048}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B2402415-02BA-41D1-8A6A-81B361DCE048}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B2402415-02BA-41D1-8A6A-81B361DCE048}.Release|Any CPU.Build.0 = Release|Any CPU
+		{B6AAC494-8D5E-4378-8305-84EC80C0A358}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{B6AAC494-8D5E-4378-8305-84EC80C0A358}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{B6AAC494-8D5E-4378-8305-84EC80C0A358}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{B6AAC494-8D5E-4378-8305-84EC80C0A358}.Release|Any CPU.Build.0 = Release|Any CPU
+		{5851EC52-2875-4AC0-8C69-EA0B5E0D2B8A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{5851EC52-2875-4AC0-8C69-EA0B5E0D2B8A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{5851EC52-2875-4AC0-8C69-EA0B5E0D2B8A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{5851EC52-2875-4AC0-8C69-EA0B5E0D2B8A}.Release|Any CPU.Build.0 = Release|Any CPU
+		{DA31D2E8-2AC2-41D1-921B-7571881EE85F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{DA31D2E8-2AC2-41D1-921B-7571881EE85F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{DA31D2E8-2AC2-41D1-921B-7571881EE85F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{DA31D2E8-2AC2-41D1-921B-7571881EE85F}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(NestedProjects) = preSolution
+		{7F2DBBFC-FBDB-4772-806F-3B0829032DC0} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
+		{0EF3CAB9-7361-472C-8789-D17D4EA2DEBB} = {D914C08C-5F1A-4E13-AAA6-F25E8C9748E2}
+		{3C73AAB4-FA0C-475F-AAFE-DB682CB57027} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
+		{9C7FFCAD-DDC1-4B69-9B39-30FD4A566CCB} = {AEB5E9CA-91FB-45DA-A9BF-7E286710C8EF}
+		{4DC33EEF-4FD2-4038-BB0C-61E1B833A6B4} = {D914C08C-5F1A-4E13-AAA6-F25E8C9748E2}
+		{493B3F23-DB1B-4633-8C6D-BAD18C59A239} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
+		{DCFF0D46-C19C-4E6D-984C-56A95781AE0B} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
+		{61403ACE-FEA3-49E5-A916-68C0FADCFBE6} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
+		{025BE1C7-EC9D-452A-9BA4-1F1CF31431FB} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
+		{0CC4DF8D-4C6D-416E-98D9-27B318826490} = {D914C08C-5F1A-4E13-AAA6-F25E8C9748E2}
+		{B2402415-02BA-41D1-8A6A-81B361DCE048} = {E118E6FE-67E7-4472-A8D7-E7F470E66131}
+		{B6AAC494-8D5E-4378-8305-84EC80C0A358} = {D914C08C-5F1A-4E13-AAA6-F25E8C9748E2}
+		{5851EC52-2875-4AC0-8C69-EA0B5E0D2B8A} = {D914C08C-5F1A-4E13-AAA6-F25E8C9748E2}
+		{DA31D2E8-2AC2-41D1-921B-7571881EE85F} = {D914C08C-5F1A-4E13-AAA6-F25E8C9748E2}
+	EndGlobalSection
+EndGlobal

+ 20 - 0
tests/stylecop.json

@@ -0,0 +1,20 @@
+{
+  "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json",
+  "settings": {
+    "indentation": {
+      "indentationSize": 4
+    },
+    "maintainabilityRules": {
+      "topLevelTypes": [ "class", "interface", "enum", "struct" ]
+    },
+    "readabilityRules": {
+      "allowBuiltInTypeAliases": false
+    },
+    "documentationRules": {
+      "xmlHeader": false,
+      "documentInterfaces": false,
+      "documentExposedElements": false,
+      "documentInternalElements": false
+    }
+  }
+}