diff --git a/Avalonia.sln b/Avalonia.sln
index 75f1dd8407..c5792f8f84 100644
--- a/Avalonia.sln
+++ b/Avalonia.sln
@@ -5,30 +5,18 @@ VisualStudioVersion = 16.0.29102.190
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Base", "src\Avalonia.Base\Avalonia.Base.csproj", "{B09B78D8-9B26-48B0-9149-D64A2F120F3F}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Visuals", "src\Avalonia.Visuals\Avalonia.Visuals.csproj", "{EB582467-6ABB-43A1-B052-E981BA910E3A}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Layout", "src\Avalonia.Layout\Avalonia.Layout.csproj", "{42472427-4774-4C81-8AFF-9F27B8E31721}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Windows", "Windows", "{B39A8919-9F95-48FE-AD7B-76E08B509888}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Win32", "src\Windows\Avalonia.Win32\Avalonia.Win32.csproj", "{811A76CF-1CF6-440F-963B-BBE31BD72A82}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Direct2D1", "src\Windows\Avalonia.Direct2D1\Avalonia.Direct2D1.csproj", "{3E908F67-5543-4879-A1DC-08EACE79B3CD}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Input", "src\Avalonia.Input\Avalonia.Input.csproj", "{62024B2D-53EB-4638-B26B-85EEAA54866E}"
-EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Interactivity", "src\Avalonia.Interactivity\Avalonia.Interactivity.csproj", "{6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Controls", "src\Avalonia.Controls\Avalonia.Controls.csproj", "{D2221C82-4A25-4583-9B43-D791E3F6820C}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Styling", "src\Avalonia.Styling\Avalonia.Styling.csproj", "{F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}"
-EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Themes.Default", "src\Avalonia.Themes.Default\Avalonia.Themes.Default.csproj", "{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Diagnostics", "src\Avalonia.Diagnostics\Avalonia.Diagnostics.csproj", "{7062AE20-5DCC-4442-9645-8195BDECE63E}"
EndProject
-Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Animation", "src\Avalonia.Animation\Avalonia.Animation.csproj", "{D211E587-D8BC-45B9-95A4-F297C8FA5200}"
-EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Tests", "Tests", "{C5A00AC3-B34C-4564-9BDD-2DA473EF4D8B}"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.Styling.UnitTests", "tests\Avalonia.Styling.UnitTests\Avalonia.Styling.UnitTests.csproj", "{47ECDF59-DEF8-4C53-87B1-2098A3429059}"
@@ -226,11 +214,11 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.ReactiveUI.Events"
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sandbox", "samples\Sandbox\Sandbox.csproj", "{11BE52AF-E2DD-4CF0-B19A-05285ACAF571}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MicroComGenerator", "src\tools\MicroComGenerator\MicroComGenerator.csproj", "{AEC9031E-06EA-4A9E-9E7F-7D7C719404DD}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MicroComGenerator", "src\tools\MicroComGenerator\MicroComGenerator.csproj", "{AEC9031E-06EA-4A9E-9E7F-7D7C719404DD}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Avalonia.MicroCom", "src\Avalonia.MicroCom\Avalonia.MicroCom.csproj", "{FE2F3E5E-1E34-4972-8DC1-5C2C588E5ECE}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Avalonia.MicroCom", "src\Avalonia.MicroCom\Avalonia.MicroCom.csproj", "{FE2F3E5E-1E34-4972-8DC1-5C2C588E5ECE}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MiniMvvm", "samples\MiniMvvm\MiniMvvm.csproj", "{BC594FD5-4AF2-409E-A1E6-04123F54D7C5}"
+Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "MiniMvvm", "samples\MiniMvvm\MiniMvvm.csproj", "{BC594FD5-4AF2-409E-A1E6-04123F54D7C5}"
EndProject
Global
GlobalSection(SharedMSBuildProjectFiles) = preSolution
@@ -280,54 +268,6 @@ Global
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Release|iPhone.Build.0 = Release|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{B09B78D8-9B26-48B0-9149-D64A2F120F3F}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.AppStore|Any CPU.Build.0 = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.AppStore|iPhone.ActiveCfg = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.AppStore|iPhone.Build.0 = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Debug|iPhone.Build.0 = Debug|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Release|Any CPU.Build.0 = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Release|iPhone.ActiveCfg = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Release|iPhone.Build.0 = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {EB582467-6ABB-43A1-B052-E981BA910E3A}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.AppStore|Any CPU.Build.0 = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.AppStore|iPhone.ActiveCfg = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.AppStore|iPhone.Build.0 = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Debug|iPhone.Build.0 = Debug|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Release|Any CPU.Build.0 = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Release|iPhone.ActiveCfg = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Release|iPhone.Build.0 = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {42472427-4774-4C81-8AFF-9F27B8E31721}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{811A76CF-1CF6-440F-963B-BBE31BD72A82}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
@@ -376,54 +316,6 @@ Global
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|iPhone.Build.0 = Release|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{3E908F67-5543-4879-A1DC-08EACE79B3CD}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.AppStore|Any CPU.Build.0 = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.AppStore|iPhone.ActiveCfg = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.AppStore|iPhone.Build.0 = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Debug|iPhone.Build.0 = Debug|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Release|Any CPU.Build.0 = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Release|iPhone.ActiveCfg = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Release|iPhone.Build.0 = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {62024B2D-53EB-4638-B26B-85EEAA54866E}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.AppStore|Any CPU.Build.0 = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.AppStore|iPhone.ActiveCfg = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.AppStore|iPhone.Build.0 = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Debug|iPhone.Build.0 = Debug|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Release|Any CPU.Build.0 = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Release|iPhone.ActiveCfg = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Release|iPhone.Build.0 = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {6B0ED19D-A08B-461C-A9D9-A9EE40B0C06B}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
@@ -448,30 +340,6 @@ Global
{D2221C82-4A25-4583-9B43-D791E3F6820C}.Release|iPhone.Build.0 = Release|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{D2221C82-4A25-4583-9B43-D791E3F6820C}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.AppStore|Any CPU.Build.0 = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.AppStore|iPhone.ActiveCfg = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.AppStore|iPhone.Build.0 = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Debug|iPhone.Build.0 = Debug|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Release|Any CPU.Build.0 = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Release|iPhone.ActiveCfg = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Release|iPhone.Build.0 = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {F1BAA01A-F176-4C6A-B39D-5B40BB1B148F}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{3E10A5FA-E8DA-48B1-AD44-6A5B6CB7750F}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
@@ -520,30 +388,6 @@ Global
{7062AE20-5DCC-4442-9645-8195BDECE63E}.Release|iPhone.Build.0 = Release|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
{7062AE20-5DCC-4442-9645-8195BDECE63E}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Ad-Hoc|iPhone.Build.0 = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Ad-Hoc|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Ad-Hoc|iPhoneSimulator.Build.0 = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.AppStore|Any CPU.ActiveCfg = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.AppStore|Any CPU.Build.0 = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.AppStore|iPhone.ActiveCfg = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.AppStore|iPhone.Build.0 = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.AppStore|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.AppStore|iPhoneSimulator.Build.0 = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Debug|iPhone.ActiveCfg = Debug|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Debug|iPhone.Build.0 = Debug|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Debug|iPhoneSimulator.ActiveCfg = Debug|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Debug|iPhoneSimulator.Build.0 = Debug|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|Any CPU.Build.0 = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|iPhone.ActiveCfg = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|iPhone.Build.0 = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|iPhoneSimulator.ActiveCfg = Release|Any CPU
- {D211E587-D8BC-45B9-95A4-F297C8FA5200}.Release|iPhoneSimulator.Build.0 = Release|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.Ad-Hoc|Any CPU.ActiveCfg = Release|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.Ad-Hoc|Any CPU.Build.0 = Release|Any CPU
{47ECDF59-DEF8-4C53-87B1-2098A3429059}.Ad-Hoc|iPhone.ActiveCfg = Release|Any CPU
diff --git a/Directory.Build.props b/Directory.Build.props
index c6610695c4..4a7eaedbb4 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -4,5 +4,6 @@
$(MSBuildThisFileDirectory)\src\tools\Avalonia.Designer.HostApp\bin\$(Configuration)\netcoreapp2.0\Avalonia.Designer.HostApp.dllfalse
+ False
diff --git a/build/CoreLibraries.props b/build/CoreLibraries.props
index fff00041c3..8f154c6ce9 100644
--- a/build/CoreLibraries.props
+++ b/build/CoreLibraries.props
@@ -1,14 +1,8 @@
-
-
-
-
-
-
diff --git a/samples/RenderDemo/RenderDemo.csproj b/samples/RenderDemo/RenderDemo.csproj
index 0d33b4c111..a5e16b1feb 100644
--- a/samples/RenderDemo/RenderDemo.csproj
+++ b/samples/RenderDemo/RenderDemo.csproj
@@ -4,7 +4,7 @@
netcoreapp3.1
-
+
diff --git a/src/Avalonia.Animation/Properties/AssemblyInfo.cs b/src/Avalonia.Animation/Properties/AssemblyInfo.cs
deleted file mode 100644
index 221b51e95a..0000000000
--- a/src/Avalonia.Animation/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,15 +0,0 @@
-using Avalonia.Metadata;
-using System.Reflection;
-using System.Runtime.CompilerServices;
-
-[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Animation")]
-[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Animation.Easings")]
-[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Animation.Animators")]
-
-#if SIGNED_BUILD
-[assembly: InternalsVisibleTo("Avalonia.LeakTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
-[assembly: InternalsVisibleTo("Avalonia.Animation.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
-#else
-[assembly: InternalsVisibleTo("Avalonia.LeakTests")]
-[assembly: InternalsVisibleTo("Avalonia.Animation.UnitTests")]
-#endif
diff --git a/src/Avalonia.Animation/Animatable.cs b/src/Avalonia.Base/Animation/Animatable.cs
similarity index 100%
rename from src/Avalonia.Animation/Animatable.cs
rename to src/Avalonia.Base/Animation/Animatable.cs
diff --git a/src/Avalonia.Animation/Animation.cs b/src/Avalonia.Base/Animation/Animation.cs
similarity index 100%
rename from src/Avalonia.Animation/Animation.cs
rename to src/Avalonia.Base/Animation/Animation.cs
diff --git a/src/Avalonia.Animation/AnimationInstance`1.cs b/src/Avalonia.Base/Animation/AnimationInstance`1.cs
similarity index 100%
rename from src/Avalonia.Animation/AnimationInstance`1.cs
rename to src/Avalonia.Base/Animation/AnimationInstance`1.cs
diff --git a/src/Avalonia.Animation/AnimatorKeyFrame.cs b/src/Avalonia.Base/Animation/AnimatorKeyFrame.cs
similarity index 100%
rename from src/Avalonia.Animation/AnimatorKeyFrame.cs
rename to src/Avalonia.Base/Animation/AnimatorKeyFrame.cs
diff --git a/src/Avalonia.Animation/Animators/Animator`1.cs b/src/Avalonia.Base/Animation/Animators/Animator`1.cs
similarity index 100%
rename from src/Avalonia.Animation/Animators/Animator`1.cs
rename to src/Avalonia.Base/Animation/Animators/Animator`1.cs
diff --git a/src/Avalonia.Animation/Animators/BoolAnimator.cs b/src/Avalonia.Base/Animation/Animators/BoolAnimator.cs
similarity index 100%
rename from src/Avalonia.Animation/Animators/BoolAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/BoolAnimator.cs
diff --git a/src/Avalonia.Visuals/Animation/Animators/BoxShadowAnimator.cs b/src/Avalonia.Base/Animation/Animators/BoxShadowAnimator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Animators/BoxShadowAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/BoxShadowAnimator.cs
diff --git a/src/Avalonia.Visuals/Animation/Animators/BoxShadowsAnimator.cs b/src/Avalonia.Base/Animation/Animators/BoxShadowsAnimator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Animators/BoxShadowsAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/BoxShadowsAnimator.cs
diff --git a/src/Avalonia.Animation/Animators/ByteAnimator.cs b/src/Avalonia.Base/Animation/Animators/ByteAnimator.cs
similarity index 100%
rename from src/Avalonia.Animation/Animators/ByteAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/ByteAnimator.cs
diff --git a/src/Avalonia.Visuals/Animation/Animators/ColorAnimator.cs b/src/Avalonia.Base/Animation/Animators/ColorAnimator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Animators/ColorAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/ColorAnimator.cs
diff --git a/src/Avalonia.Visuals/Animation/Animators/CornerRadiusAnimator.cs b/src/Avalonia.Base/Animation/Animators/CornerRadiusAnimator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Animators/CornerRadiusAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/CornerRadiusAnimator.cs
diff --git a/src/Avalonia.Animation/Animators/DecimalAnimator.cs b/src/Avalonia.Base/Animation/Animators/DecimalAnimator.cs
similarity index 100%
rename from src/Avalonia.Animation/Animators/DecimalAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/DecimalAnimator.cs
diff --git a/src/Avalonia.Animation/Animators/DoubleAnimator.cs b/src/Avalonia.Base/Animation/Animators/DoubleAnimator.cs
similarity index 100%
rename from src/Avalonia.Animation/Animators/DoubleAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/DoubleAnimator.cs
diff --git a/src/Avalonia.Animation/Animators/FloatAnimator.cs b/src/Avalonia.Base/Animation/Animators/FloatAnimator.cs
similarity index 100%
rename from src/Avalonia.Animation/Animators/FloatAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/FloatAnimator.cs
diff --git a/src/Avalonia.Animation/Animators/Int16Animator.cs b/src/Avalonia.Base/Animation/Animators/Int16Animator.cs
similarity index 100%
rename from src/Avalonia.Animation/Animators/Int16Animator.cs
rename to src/Avalonia.Base/Animation/Animators/Int16Animator.cs
diff --git a/src/Avalonia.Animation/Animators/Int32Animator.cs b/src/Avalonia.Base/Animation/Animators/Int32Animator.cs
similarity index 100%
rename from src/Avalonia.Animation/Animators/Int32Animator.cs
rename to src/Avalonia.Base/Animation/Animators/Int32Animator.cs
diff --git a/src/Avalonia.Animation/Animators/Int64Animator.cs b/src/Avalonia.Base/Animation/Animators/Int64Animator.cs
similarity index 100%
rename from src/Avalonia.Animation/Animators/Int64Animator.cs
rename to src/Avalonia.Base/Animation/Animators/Int64Animator.cs
diff --git a/src/Avalonia.Visuals/Animation/Animators/PointAnimator.cs b/src/Avalonia.Base/Animation/Animators/PointAnimator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Animators/PointAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/PointAnimator.cs
diff --git a/src/Avalonia.Visuals/Animation/Animators/RectAnimator.cs b/src/Avalonia.Base/Animation/Animators/RectAnimator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Animators/RectAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/RectAnimator.cs
diff --git a/src/Avalonia.Visuals/Animation/Animators/SizeAnimator.cs b/src/Avalonia.Base/Animation/Animators/SizeAnimator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Animators/SizeAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/SizeAnimator.cs
diff --git a/src/Avalonia.Visuals/Animation/Animators/SolidColorBrushAnimator.cs b/src/Avalonia.Base/Animation/Animators/SolidColorBrushAnimator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Animators/SolidColorBrushAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/SolidColorBrushAnimator.cs
diff --git a/src/Avalonia.Visuals/Animation/Animators/ThicknessAnimator.cs b/src/Avalonia.Base/Animation/Animators/ThicknessAnimator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Animators/ThicknessAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/ThicknessAnimator.cs
diff --git a/src/Avalonia.Visuals/Animation/Animators/TransformAnimator.cs b/src/Avalonia.Base/Animation/Animators/TransformAnimator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Animators/TransformAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/TransformAnimator.cs
diff --git a/src/Avalonia.Visuals/Animation/Animators/TransformOperationsAnimator.cs b/src/Avalonia.Base/Animation/Animators/TransformOperationsAnimator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Animators/TransformOperationsAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/TransformOperationsAnimator.cs
diff --git a/src/Avalonia.Animation/Animators/UInt16Animator.cs b/src/Avalonia.Base/Animation/Animators/UInt16Animator.cs
similarity index 100%
rename from src/Avalonia.Animation/Animators/UInt16Animator.cs
rename to src/Avalonia.Base/Animation/Animators/UInt16Animator.cs
diff --git a/src/Avalonia.Animation/Animators/UInt32Animator.cs b/src/Avalonia.Base/Animation/Animators/UInt32Animator.cs
similarity index 100%
rename from src/Avalonia.Animation/Animators/UInt32Animator.cs
rename to src/Avalonia.Base/Animation/Animators/UInt32Animator.cs
diff --git a/src/Avalonia.Animation/Animators/UInt64Animator.cs b/src/Avalonia.Base/Animation/Animators/UInt64Animator.cs
similarity index 100%
rename from src/Avalonia.Animation/Animators/UInt64Animator.cs
rename to src/Avalonia.Base/Animation/Animators/UInt64Animator.cs
diff --git a/src/Avalonia.Visuals/Animation/Animators/VectorAnimator.cs b/src/Avalonia.Base/Animation/Animators/VectorAnimator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Animators/VectorAnimator.cs
rename to src/Avalonia.Base/Animation/Animators/VectorAnimator.cs
diff --git a/src/Avalonia.Animation/Clock.cs b/src/Avalonia.Base/Animation/Clock.cs
similarity index 100%
rename from src/Avalonia.Animation/Clock.cs
rename to src/Avalonia.Base/Animation/Clock.cs
diff --git a/src/Avalonia.Animation/ClockBase.cs b/src/Avalonia.Base/Animation/ClockBase.cs
similarity index 100%
rename from src/Avalonia.Animation/ClockBase.cs
rename to src/Avalonia.Base/Animation/ClockBase.cs
diff --git a/src/Avalonia.Visuals/Animation/CompositePageTransition.cs b/src/Avalonia.Base/Animation/CompositePageTransition.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/CompositePageTransition.cs
rename to src/Avalonia.Base/Animation/CompositePageTransition.cs
diff --git a/src/Avalonia.Visuals/Animation/CrossFade.cs b/src/Avalonia.Base/Animation/CrossFade.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/CrossFade.cs
rename to src/Avalonia.Base/Animation/CrossFade.cs
diff --git a/src/Avalonia.Animation/Cue.cs b/src/Avalonia.Base/Animation/Cue.cs
similarity index 100%
rename from src/Avalonia.Animation/Cue.cs
rename to src/Avalonia.Base/Animation/Cue.cs
diff --git a/src/Avalonia.Animation/DisposeAnimationInstanceSubject.cs b/src/Avalonia.Base/Animation/DisposeAnimationInstanceSubject.cs
similarity index 100%
rename from src/Avalonia.Animation/DisposeAnimationInstanceSubject.cs
rename to src/Avalonia.Base/Animation/DisposeAnimationInstanceSubject.cs
diff --git a/src/Avalonia.Animation/Easing/BackEaseIn.cs b/src/Avalonia.Base/Animation/Easing/BackEaseIn.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/BackEaseIn.cs
rename to src/Avalonia.Base/Animation/Easing/BackEaseIn.cs
diff --git a/src/Avalonia.Animation/Easing/BackEaseInOut.cs b/src/Avalonia.Base/Animation/Easing/BackEaseInOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/BackEaseInOut.cs
rename to src/Avalonia.Base/Animation/Easing/BackEaseInOut.cs
diff --git a/src/Avalonia.Animation/Easing/BackEaseOut.cs b/src/Avalonia.Base/Animation/Easing/BackEaseOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/BackEaseOut.cs
rename to src/Avalonia.Base/Animation/Easing/BackEaseOut.cs
diff --git a/src/Avalonia.Animation/Easing/BounceEaseIn.cs b/src/Avalonia.Base/Animation/Easing/BounceEaseIn.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/BounceEaseIn.cs
rename to src/Avalonia.Base/Animation/Easing/BounceEaseIn.cs
diff --git a/src/Avalonia.Animation/Easing/BounceEaseInOut.cs b/src/Avalonia.Base/Animation/Easing/BounceEaseInOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/BounceEaseInOut.cs
rename to src/Avalonia.Base/Animation/Easing/BounceEaseInOut.cs
diff --git a/src/Avalonia.Animation/Easing/BounceEaseOut.cs b/src/Avalonia.Base/Animation/Easing/BounceEaseOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/BounceEaseOut.cs
rename to src/Avalonia.Base/Animation/Easing/BounceEaseOut.cs
diff --git a/src/Avalonia.Animation/Easing/CircularEaseIn.cs b/src/Avalonia.Base/Animation/Easing/CircularEaseIn.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/CircularEaseIn.cs
rename to src/Avalonia.Base/Animation/Easing/CircularEaseIn.cs
diff --git a/src/Avalonia.Animation/Easing/CircularEaseInOut.cs b/src/Avalonia.Base/Animation/Easing/CircularEaseInOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/CircularEaseInOut.cs
rename to src/Avalonia.Base/Animation/Easing/CircularEaseInOut.cs
diff --git a/src/Avalonia.Animation/Easing/CircularEaseOut.cs b/src/Avalonia.Base/Animation/Easing/CircularEaseOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/CircularEaseOut.cs
rename to src/Avalonia.Base/Animation/Easing/CircularEaseOut.cs
diff --git a/src/Avalonia.Animation/Easing/CubicEaseIn.cs b/src/Avalonia.Base/Animation/Easing/CubicEaseIn.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/CubicEaseIn.cs
rename to src/Avalonia.Base/Animation/Easing/CubicEaseIn.cs
diff --git a/src/Avalonia.Animation/Easing/CubicEaseInOut.cs b/src/Avalonia.Base/Animation/Easing/CubicEaseInOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/CubicEaseInOut.cs
rename to src/Avalonia.Base/Animation/Easing/CubicEaseInOut.cs
diff --git a/src/Avalonia.Animation/Easing/CubicEaseOut.cs b/src/Avalonia.Base/Animation/Easing/CubicEaseOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/CubicEaseOut.cs
rename to src/Avalonia.Base/Animation/Easing/CubicEaseOut.cs
diff --git a/src/Avalonia.Animation/Easing/Easing.cs b/src/Avalonia.Base/Animation/Easing/Easing.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/Easing.cs
rename to src/Avalonia.Base/Animation/Easing/Easing.cs
diff --git a/src/Avalonia.Animation/Easing/EasingTypeConverter.cs b/src/Avalonia.Base/Animation/Easing/EasingTypeConverter.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/EasingTypeConverter.cs
rename to src/Avalonia.Base/Animation/Easing/EasingTypeConverter.cs
diff --git a/src/Avalonia.Animation/Easing/ElasticEaseIn.cs b/src/Avalonia.Base/Animation/Easing/ElasticEaseIn.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/ElasticEaseIn.cs
rename to src/Avalonia.Base/Animation/Easing/ElasticEaseIn.cs
diff --git a/src/Avalonia.Animation/Easing/ElasticEaseInOut.cs b/src/Avalonia.Base/Animation/Easing/ElasticEaseInOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/ElasticEaseInOut.cs
rename to src/Avalonia.Base/Animation/Easing/ElasticEaseInOut.cs
diff --git a/src/Avalonia.Animation/Easing/ElasticEaseOut.cs b/src/Avalonia.Base/Animation/Easing/ElasticEaseOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/ElasticEaseOut.cs
rename to src/Avalonia.Base/Animation/Easing/ElasticEaseOut.cs
diff --git a/src/Avalonia.Animation/Easing/ExponentialEaseIn.cs b/src/Avalonia.Base/Animation/Easing/ExponentialEaseIn.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/ExponentialEaseIn.cs
rename to src/Avalonia.Base/Animation/Easing/ExponentialEaseIn.cs
diff --git a/src/Avalonia.Animation/Easing/ExponentialEaseInOut.cs b/src/Avalonia.Base/Animation/Easing/ExponentialEaseInOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/ExponentialEaseInOut.cs
rename to src/Avalonia.Base/Animation/Easing/ExponentialEaseInOut.cs
diff --git a/src/Avalonia.Animation/Easing/ExponentialEaseOut.cs b/src/Avalonia.Base/Animation/Easing/ExponentialEaseOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/ExponentialEaseOut.cs
rename to src/Avalonia.Base/Animation/Easing/ExponentialEaseOut.cs
diff --git a/src/Avalonia.Animation/Easing/IEasing.cs b/src/Avalonia.Base/Animation/Easing/IEasing.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/IEasing.cs
rename to src/Avalonia.Base/Animation/Easing/IEasing.cs
diff --git a/src/Avalonia.Animation/Easing/LinearEasing.cs b/src/Avalonia.Base/Animation/Easing/LinearEasing.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/LinearEasing.cs
rename to src/Avalonia.Base/Animation/Easing/LinearEasing.cs
diff --git a/src/Avalonia.Animation/Easing/QuadraticEaseIn.cs b/src/Avalonia.Base/Animation/Easing/QuadraticEaseIn.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/QuadraticEaseIn.cs
rename to src/Avalonia.Base/Animation/Easing/QuadraticEaseIn.cs
diff --git a/src/Avalonia.Animation/Easing/QuadraticEaseInOut.cs b/src/Avalonia.Base/Animation/Easing/QuadraticEaseInOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/QuadraticEaseInOut.cs
rename to src/Avalonia.Base/Animation/Easing/QuadraticEaseInOut.cs
diff --git a/src/Avalonia.Animation/Easing/QuadraticEaseOut.cs b/src/Avalonia.Base/Animation/Easing/QuadraticEaseOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/QuadraticEaseOut.cs
rename to src/Avalonia.Base/Animation/Easing/QuadraticEaseOut.cs
diff --git a/src/Avalonia.Animation/Easing/QuarticEaseIn.cs b/src/Avalonia.Base/Animation/Easing/QuarticEaseIn.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/QuarticEaseIn.cs
rename to src/Avalonia.Base/Animation/Easing/QuarticEaseIn.cs
diff --git a/src/Avalonia.Animation/Easing/QuarticEaseInOut.cs b/src/Avalonia.Base/Animation/Easing/QuarticEaseInOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/QuarticEaseInOut.cs
rename to src/Avalonia.Base/Animation/Easing/QuarticEaseInOut.cs
diff --git a/src/Avalonia.Animation/Easing/QuarticEaseOut.cs b/src/Avalonia.Base/Animation/Easing/QuarticEaseOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/QuarticEaseOut.cs
rename to src/Avalonia.Base/Animation/Easing/QuarticEaseOut.cs
diff --git a/src/Avalonia.Animation/Easing/QuinticEaseIn.cs b/src/Avalonia.Base/Animation/Easing/QuinticEaseIn.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/QuinticEaseIn.cs
rename to src/Avalonia.Base/Animation/Easing/QuinticEaseIn.cs
diff --git a/src/Avalonia.Animation/Easing/QuinticEaseInOut.cs b/src/Avalonia.Base/Animation/Easing/QuinticEaseInOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/QuinticEaseInOut.cs
rename to src/Avalonia.Base/Animation/Easing/QuinticEaseInOut.cs
diff --git a/src/Avalonia.Animation/Easing/QuinticEaseOut.cs b/src/Avalonia.Base/Animation/Easing/QuinticEaseOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/QuinticEaseOut.cs
rename to src/Avalonia.Base/Animation/Easing/QuinticEaseOut.cs
diff --git a/src/Avalonia.Animation/Easing/SineEaseIn.cs b/src/Avalonia.Base/Animation/Easing/SineEaseIn.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/SineEaseIn.cs
rename to src/Avalonia.Base/Animation/Easing/SineEaseIn.cs
diff --git a/src/Avalonia.Animation/Easing/SineEaseInOut.cs b/src/Avalonia.Base/Animation/Easing/SineEaseInOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/SineEaseInOut.cs
rename to src/Avalonia.Base/Animation/Easing/SineEaseInOut.cs
diff --git a/src/Avalonia.Animation/Easing/SineEaseOut.cs b/src/Avalonia.Base/Animation/Easing/SineEaseOut.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/SineEaseOut.cs
rename to src/Avalonia.Base/Animation/Easing/SineEaseOut.cs
diff --git a/src/Avalonia.Animation/Easing/SplineEasing.cs b/src/Avalonia.Base/Animation/Easing/SplineEasing.cs
similarity index 100%
rename from src/Avalonia.Animation/Easing/SplineEasing.cs
rename to src/Avalonia.Base/Animation/Easing/SplineEasing.cs
diff --git a/src/Avalonia.Animation/FillMode.cs b/src/Avalonia.Base/Animation/FillMode.cs
similarity index 100%
rename from src/Avalonia.Animation/FillMode.cs
rename to src/Avalonia.Base/Animation/FillMode.cs
diff --git a/src/Avalonia.Animation/IAnimation.cs b/src/Avalonia.Base/Animation/IAnimation.cs
similarity index 100%
rename from src/Avalonia.Animation/IAnimation.cs
rename to src/Avalonia.Base/Animation/IAnimation.cs
diff --git a/src/Avalonia.Animation/IAnimationSetter.cs b/src/Avalonia.Base/Animation/IAnimationSetter.cs
similarity index 100%
rename from src/Avalonia.Animation/IAnimationSetter.cs
rename to src/Avalonia.Base/Animation/IAnimationSetter.cs
diff --git a/src/Avalonia.Animation/IAnimator.cs b/src/Avalonia.Base/Animation/IAnimator.cs
similarity index 100%
rename from src/Avalonia.Animation/IAnimator.cs
rename to src/Avalonia.Base/Animation/IAnimator.cs
diff --git a/src/Avalonia.Animation/IClock.cs b/src/Avalonia.Base/Animation/IClock.cs
similarity index 100%
rename from src/Avalonia.Animation/IClock.cs
rename to src/Avalonia.Base/Animation/IClock.cs
diff --git a/src/Avalonia.Animation/IGlobalClock.cs b/src/Avalonia.Base/Animation/IGlobalClock.cs
similarity index 100%
rename from src/Avalonia.Animation/IGlobalClock.cs
rename to src/Avalonia.Base/Animation/IGlobalClock.cs
diff --git a/src/Avalonia.Visuals/Animation/IPageTransition.cs b/src/Avalonia.Base/Animation/IPageTransition.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/IPageTransition.cs
rename to src/Avalonia.Base/Animation/IPageTransition.cs
diff --git a/src/Avalonia.Animation/ITransition.cs b/src/Avalonia.Base/Animation/ITransition.cs
similarity index 100%
rename from src/Avalonia.Animation/ITransition.cs
rename to src/Avalonia.Base/Animation/ITransition.cs
diff --git a/src/Avalonia.Animation/IterationCount.cs b/src/Avalonia.Base/Animation/IterationCount.cs
similarity index 100%
rename from src/Avalonia.Animation/IterationCount.cs
rename to src/Avalonia.Base/Animation/IterationCount.cs
diff --git a/src/Avalonia.Animation/IterationCountTypeConverter.cs b/src/Avalonia.Base/Animation/IterationCountTypeConverter.cs
similarity index 100%
rename from src/Avalonia.Animation/IterationCountTypeConverter.cs
rename to src/Avalonia.Base/Animation/IterationCountTypeConverter.cs
diff --git a/src/Avalonia.Animation/KeyFrame.cs b/src/Avalonia.Base/Animation/KeyFrame.cs
similarity index 100%
rename from src/Avalonia.Animation/KeyFrame.cs
rename to src/Avalonia.Base/Animation/KeyFrame.cs
diff --git a/src/Avalonia.Animation/KeyFrames.cs b/src/Avalonia.Base/Animation/KeyFrames.cs
similarity index 100%
rename from src/Avalonia.Animation/KeyFrames.cs
rename to src/Avalonia.Base/Animation/KeyFrames.cs
diff --git a/src/Avalonia.Animation/KeySpline.cs b/src/Avalonia.Base/Animation/KeySpline.cs
similarity index 100%
rename from src/Avalonia.Animation/KeySpline.cs
rename to src/Avalonia.Base/Animation/KeySpline.cs
diff --git a/src/Avalonia.Animation/KeySplineTypeConverter.cs b/src/Avalonia.Base/Animation/KeySplineTypeConverter.cs
similarity index 100%
rename from src/Avalonia.Animation/KeySplineTypeConverter.cs
rename to src/Avalonia.Base/Animation/KeySplineTypeConverter.cs
diff --git a/src/Avalonia.Visuals/Animation/PageSlide.cs b/src/Avalonia.Base/Animation/PageSlide.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/PageSlide.cs
rename to src/Avalonia.Base/Animation/PageSlide.cs
diff --git a/src/Avalonia.Animation/PlayState.cs b/src/Avalonia.Base/Animation/PlayState.cs
similarity index 100%
rename from src/Avalonia.Animation/PlayState.cs
rename to src/Avalonia.Base/Animation/PlayState.cs
diff --git a/src/Avalonia.Animation/PlaybackDirection.cs b/src/Avalonia.Base/Animation/PlaybackDirection.cs
similarity index 100%
rename from src/Avalonia.Animation/PlaybackDirection.cs
rename to src/Avalonia.Base/Animation/PlaybackDirection.cs
diff --git a/src/Avalonia.Visuals/Animation/RenderLoopClock.cs b/src/Avalonia.Base/Animation/RenderLoopClock.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/RenderLoopClock.cs
rename to src/Avalonia.Base/Animation/RenderLoopClock.cs
diff --git a/src/Avalonia.Animation/TransitionInstance.cs b/src/Avalonia.Base/Animation/TransitionInstance.cs
similarity index 100%
rename from src/Avalonia.Animation/TransitionInstance.cs
rename to src/Avalonia.Base/Animation/TransitionInstance.cs
diff --git a/src/Avalonia.Animation/Transition`1.cs b/src/Avalonia.Base/Animation/Transition`1.cs
similarity index 100%
rename from src/Avalonia.Animation/Transition`1.cs
rename to src/Avalonia.Base/Animation/Transition`1.cs
diff --git a/src/Avalonia.Animation/Transitions.cs b/src/Avalonia.Base/Animation/Transitions.cs
similarity index 100%
rename from src/Avalonia.Animation/Transitions.cs
rename to src/Avalonia.Base/Animation/Transitions.cs
diff --git a/src/Avalonia.Visuals/Animation/Transitions/CornerRadiusTransition.cs b/src/Avalonia.Base/Animation/Transitions/CornerRadiusTransition.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Transitions/CornerRadiusTransition.cs
rename to src/Avalonia.Base/Animation/Transitions/CornerRadiusTransition.cs
diff --git a/src/Avalonia.Animation/Transitions/DoubleTransition.cs b/src/Avalonia.Base/Animation/Transitions/DoubleTransition.cs
similarity index 100%
rename from src/Avalonia.Animation/Transitions/DoubleTransition.cs
rename to src/Avalonia.Base/Animation/Transitions/DoubleTransition.cs
diff --git a/src/Avalonia.Animation/Transitions/FloatTransition.cs b/src/Avalonia.Base/Animation/Transitions/FloatTransition.cs
similarity index 100%
rename from src/Avalonia.Animation/Transitions/FloatTransition.cs
rename to src/Avalonia.Base/Animation/Transitions/FloatTransition.cs
diff --git a/src/Avalonia.Animation/Transitions/IntegerTransition.cs b/src/Avalonia.Base/Animation/Transitions/IntegerTransition.cs
similarity index 100%
rename from src/Avalonia.Animation/Transitions/IntegerTransition.cs
rename to src/Avalonia.Base/Animation/Transitions/IntegerTransition.cs
diff --git a/src/Avalonia.Visuals/Animation/Transitions/PointTransition.cs b/src/Avalonia.Base/Animation/Transitions/PointTransition.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Transitions/PointTransition.cs
rename to src/Avalonia.Base/Animation/Transitions/PointTransition.cs
diff --git a/src/Avalonia.Visuals/Animation/Transitions/SizeTransition.cs b/src/Avalonia.Base/Animation/Transitions/SizeTransition.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Transitions/SizeTransition.cs
rename to src/Avalonia.Base/Animation/Transitions/SizeTransition.cs
diff --git a/src/Avalonia.Visuals/Animation/Transitions/ThicknessTransition.cs b/src/Avalonia.Base/Animation/Transitions/ThicknessTransition.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Transitions/ThicknessTransition.cs
rename to src/Avalonia.Base/Animation/Transitions/ThicknessTransition.cs
diff --git a/src/Avalonia.Visuals/Animation/Transitions/TransformOperationsTransition.cs b/src/Avalonia.Base/Animation/Transitions/TransformOperationsTransition.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Transitions/TransformOperationsTransition.cs
rename to src/Avalonia.Base/Animation/Transitions/TransformOperationsTransition.cs
diff --git a/src/Avalonia.Visuals/Animation/Transitions/VectorTransition.cs b/src/Avalonia.Base/Animation/Transitions/VectorTransition.cs
similarity index 100%
rename from src/Avalonia.Visuals/Animation/Transitions/VectorTransition.cs
rename to src/Avalonia.Base/Animation/Transitions/VectorTransition.cs
diff --git a/src/Avalonia.Animation/Utils/BounceEaseUtils.cs b/src/Avalonia.Base/Animation/Utils/BounceEaseUtils.cs
similarity index 100%
rename from src/Avalonia.Animation/Utils/BounceEaseUtils.cs
rename to src/Avalonia.Base/Animation/Utils/BounceEaseUtils.cs
diff --git a/src/Avalonia.Animation/Utils/EasingUtils.cs b/src/Avalonia.Base/Animation/Utils/EasingUtils.cs
similarity index 100%
rename from src/Avalonia.Animation/Utils/EasingUtils.cs
rename to src/Avalonia.Base/Animation/Utils/EasingUtils.cs
diff --git a/src/Avalonia.Visuals/Assets/GraphemeBreak.trie b/src/Avalonia.Base/Assets/GraphemeBreak.trie
similarity index 100%
rename from src/Avalonia.Visuals/Assets/GraphemeBreak.trie
rename to src/Avalonia.Base/Assets/GraphemeBreak.trie
diff --git a/src/Avalonia.Visuals/Assets/UnicodeData.trie b/src/Avalonia.Base/Assets/UnicodeData.trie
similarity index 100%
rename from src/Avalonia.Visuals/Assets/UnicodeData.trie
rename to src/Avalonia.Base/Assets/UnicodeData.trie
diff --git a/src/Avalonia.Base/Avalonia.Base.csproj b/src/Avalonia.Base/Avalonia.Base.csproj
index 0470dbfe89..69791ba692 100644
--- a/src/Avalonia.Base/Avalonia.Base.csproj
+++ b/src/Avalonia.Base/Avalonia.Base.csproj
@@ -5,6 +5,9 @@
AvaloniaTrue
+
+
+
diff --git a/src/Avalonia.Visuals/AvaloniaPropertyExtensions.cs b/src/Avalonia.Base/AvaloniaPropertyExtensions.cs
similarity index 100%
rename from src/Avalonia.Visuals/AvaloniaPropertyExtensions.cs
rename to src/Avalonia.Base/AvaloniaPropertyExtensions.cs
diff --git a/src/Avalonia.Styling/ClassBindingManager.cs b/src/Avalonia.Base/ClassBindingManager.cs
similarity index 100%
rename from src/Avalonia.Styling/ClassBindingManager.cs
rename to src/Avalonia.Base/ClassBindingManager.cs
diff --git a/src/Avalonia.Styling/Controls/ChildNameScope.cs b/src/Avalonia.Base/Controls/ChildNameScope.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/ChildNameScope.cs
rename to src/Avalonia.Base/Controls/ChildNameScope.cs
diff --git a/src/Avalonia.Styling/Controls/Classes.cs b/src/Avalonia.Base/Controls/Classes.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/Classes.cs
rename to src/Avalonia.Base/Controls/Classes.cs
diff --git a/src/Avalonia.Styling/Controls/INameScope.cs b/src/Avalonia.Base/Controls/INameScope.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/INameScope.cs
rename to src/Avalonia.Base/Controls/INameScope.cs
diff --git a/src/Avalonia.Styling/Controls/IPseudoClasses.cs b/src/Avalonia.Base/Controls/IPseudoClasses.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/IPseudoClasses.cs
rename to src/Avalonia.Base/Controls/IPseudoClasses.cs
diff --git a/src/Avalonia.Styling/Controls/IResourceDictionary.cs b/src/Avalonia.Base/Controls/IResourceDictionary.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/IResourceDictionary.cs
rename to src/Avalonia.Base/Controls/IResourceDictionary.cs
diff --git a/src/Avalonia.Styling/Controls/IResourceHost.cs b/src/Avalonia.Base/Controls/IResourceHost.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/IResourceHost.cs
rename to src/Avalonia.Base/Controls/IResourceHost.cs
diff --git a/src/Avalonia.Styling/Controls/IResourceNode.cs b/src/Avalonia.Base/Controls/IResourceNode.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/IResourceNode.cs
rename to src/Avalonia.Base/Controls/IResourceNode.cs
diff --git a/src/Avalonia.Styling/Controls/IResourceProvider.cs b/src/Avalonia.Base/Controls/IResourceProvider.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/IResourceProvider.cs
rename to src/Avalonia.Base/Controls/IResourceProvider.cs
diff --git a/src/Avalonia.Styling/Controls/ISetInheritanceParent.cs b/src/Avalonia.Base/Controls/ISetInheritanceParent.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/ISetInheritanceParent.cs
rename to src/Avalonia.Base/Controls/ISetInheritanceParent.cs
diff --git a/src/Avalonia.Styling/Controls/ISetLogicalParent.cs b/src/Avalonia.Base/Controls/ISetLogicalParent.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/ISetLogicalParent.cs
rename to src/Avalonia.Base/Controls/ISetLogicalParent.cs
diff --git a/src/Avalonia.Styling/Controls/Metadata/PseudoClassesAttribute.cs b/src/Avalonia.Base/Controls/Metadata/PseudoClassesAttribute.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/Metadata/PseudoClassesAttribute.cs
rename to src/Avalonia.Base/Controls/Metadata/PseudoClassesAttribute.cs
diff --git a/src/Avalonia.Styling/Controls/NameScope.cs b/src/Avalonia.Base/Controls/NameScope.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/NameScope.cs
rename to src/Avalonia.Base/Controls/NameScope.cs
diff --git a/src/Avalonia.Styling/Controls/NameScopeEventArgs.cs b/src/Avalonia.Base/Controls/NameScopeEventArgs.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/NameScopeEventArgs.cs
rename to src/Avalonia.Base/Controls/NameScopeEventArgs.cs
diff --git a/src/Avalonia.Styling/Controls/NameScopeExtensions.cs b/src/Avalonia.Base/Controls/NameScopeExtensions.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/NameScopeExtensions.cs
rename to src/Avalonia.Base/Controls/NameScopeExtensions.cs
diff --git a/src/Avalonia.Styling/Controls/NameScopeLocator.cs b/src/Avalonia.Base/Controls/NameScopeLocator.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/NameScopeLocator.cs
rename to src/Avalonia.Base/Controls/NameScopeLocator.cs
diff --git a/src/Avalonia.Styling/Controls/PseudoClassesExtensions.cs b/src/Avalonia.Base/Controls/PseudoClassesExtensions.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/PseudoClassesExtensions.cs
rename to src/Avalonia.Base/Controls/PseudoClassesExtensions.cs
diff --git a/src/Avalonia.Styling/Controls/ResourceDictionary.cs b/src/Avalonia.Base/Controls/ResourceDictionary.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/ResourceDictionary.cs
rename to src/Avalonia.Base/Controls/ResourceDictionary.cs
diff --git a/src/Avalonia.Styling/Controls/ResourceNodeExtensions.cs b/src/Avalonia.Base/Controls/ResourceNodeExtensions.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/ResourceNodeExtensions.cs
rename to src/Avalonia.Base/Controls/ResourceNodeExtensions.cs
diff --git a/src/Avalonia.Styling/Controls/ResourcesChangedEventArgs.cs b/src/Avalonia.Base/Controls/ResourcesChangedEventArgs.cs
similarity index 100%
rename from src/Avalonia.Styling/Controls/ResourcesChangedEventArgs.cs
rename to src/Avalonia.Base/Controls/ResourcesChangedEventArgs.cs
diff --git a/src/Avalonia.Visuals/CornerRadius.cs b/src/Avalonia.Base/CornerRadius.cs
similarity index 100%
rename from src/Avalonia.Visuals/CornerRadius.cs
rename to src/Avalonia.Base/CornerRadius.cs
diff --git a/src/Avalonia.Styling/Diagnostics/StyleDiagnostics.cs b/src/Avalonia.Base/Diagnostics/StyleDiagnostics.cs
similarity index 100%
rename from src/Avalonia.Styling/Diagnostics/StyleDiagnostics.cs
rename to src/Avalonia.Base/Diagnostics/StyleDiagnostics.cs
diff --git a/src/Avalonia.Styling/Diagnostics/StyledElementExtensions.cs b/src/Avalonia.Base/Diagnostics/StyledElementExtensions.cs
similarity index 100%
rename from src/Avalonia.Styling/Diagnostics/StyledElementExtensions.cs
rename to src/Avalonia.Base/Diagnostics/StyledElementExtensions.cs
diff --git a/src/Avalonia.Styling/IDataContextProvider.cs b/src/Avalonia.Base/IDataContextProvider.cs
similarity index 100%
rename from src/Avalonia.Styling/IDataContextProvider.cs
rename to src/Avalonia.Base/IDataContextProvider.cs
diff --git a/src/Avalonia.Styling/INamed.cs b/src/Avalonia.Base/INamed.cs
similarity index 100%
rename from src/Avalonia.Styling/INamed.cs
rename to src/Avalonia.Base/INamed.cs
diff --git a/src/Avalonia.Styling/IStyledElement.cs b/src/Avalonia.Base/IStyledElement.cs
similarity index 100%
rename from src/Avalonia.Styling/IStyledElement.cs
rename to src/Avalonia.Base/IStyledElement.cs
diff --git a/src/Avalonia.Input/AccessKeyHandler.cs b/src/Avalonia.Base/Input/AccessKeyHandler.cs
similarity index 100%
rename from src/Avalonia.Input/AccessKeyHandler.cs
rename to src/Avalonia.Base/Input/AccessKeyHandler.cs
diff --git a/src/Avalonia.Input/Cursor.cs b/src/Avalonia.Base/Input/Cursor.cs
similarity index 100%
rename from src/Avalonia.Input/Cursor.cs
rename to src/Avalonia.Base/Input/Cursor.cs
diff --git a/src/Avalonia.Input/DataFormats.cs b/src/Avalonia.Base/Input/DataFormats.cs
similarity index 100%
rename from src/Avalonia.Input/DataFormats.cs
rename to src/Avalonia.Base/Input/DataFormats.cs
diff --git a/src/Avalonia.Input/DataObject.cs b/src/Avalonia.Base/Input/DataObject.cs
similarity index 100%
rename from src/Avalonia.Input/DataObject.cs
rename to src/Avalonia.Base/Input/DataObject.cs
diff --git a/src/Avalonia.Input/DragDrop.cs b/src/Avalonia.Base/Input/DragDrop.cs
similarity index 100%
rename from src/Avalonia.Input/DragDrop.cs
rename to src/Avalonia.Base/Input/DragDrop.cs
diff --git a/src/Avalonia.Input/DragDropDevice.cs b/src/Avalonia.Base/Input/DragDropDevice.cs
similarity index 100%
rename from src/Avalonia.Input/DragDropDevice.cs
rename to src/Avalonia.Base/Input/DragDropDevice.cs
diff --git a/src/Avalonia.Input/DragDropEffects.cs b/src/Avalonia.Base/Input/DragDropEffects.cs
similarity index 100%
rename from src/Avalonia.Input/DragDropEffects.cs
rename to src/Avalonia.Base/Input/DragDropEffects.cs
diff --git a/src/Avalonia.Input/DragEventArgs.cs b/src/Avalonia.Base/Input/DragEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/DragEventArgs.cs
rename to src/Avalonia.Base/Input/DragEventArgs.cs
diff --git a/src/Avalonia.Input/FocusManager.cs b/src/Avalonia.Base/Input/FocusManager.cs
similarity index 100%
rename from src/Avalonia.Input/FocusManager.cs
rename to src/Avalonia.Base/Input/FocusManager.cs
diff --git a/src/Avalonia.Input/GestureRecognizers/GestureRecognizerCollection.cs b/src/Avalonia.Base/Input/GestureRecognizers/GestureRecognizerCollection.cs
similarity index 100%
rename from src/Avalonia.Input/GestureRecognizers/GestureRecognizerCollection.cs
rename to src/Avalonia.Base/Input/GestureRecognizers/GestureRecognizerCollection.cs
diff --git a/src/Avalonia.Input/GestureRecognizers/IGestureRecognizer.cs b/src/Avalonia.Base/Input/GestureRecognizers/IGestureRecognizer.cs
similarity index 100%
rename from src/Avalonia.Input/GestureRecognizers/IGestureRecognizer.cs
rename to src/Avalonia.Base/Input/GestureRecognizers/IGestureRecognizer.cs
diff --git a/src/Avalonia.Input/GestureRecognizers/ScrollGestureRecognizer.cs b/src/Avalonia.Base/Input/GestureRecognizers/ScrollGestureRecognizer.cs
similarity index 100%
rename from src/Avalonia.Input/GestureRecognizers/ScrollGestureRecognizer.cs
rename to src/Avalonia.Base/Input/GestureRecognizers/ScrollGestureRecognizer.cs
diff --git a/src/Avalonia.Input/Gestures.cs b/src/Avalonia.Base/Input/Gestures.cs
similarity index 100%
rename from src/Avalonia.Input/Gestures.cs
rename to src/Avalonia.Base/Input/Gestures.cs
diff --git a/src/Avalonia.Input/GotFocusEventArgs.cs b/src/Avalonia.Base/Input/GotFocusEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/GotFocusEventArgs.cs
rename to src/Avalonia.Base/Input/GotFocusEventArgs.cs
diff --git a/src/Avalonia.Input/IAccessKeyHandler.cs b/src/Avalonia.Base/Input/IAccessKeyHandler.cs
similarity index 100%
rename from src/Avalonia.Input/IAccessKeyHandler.cs
rename to src/Avalonia.Base/Input/IAccessKeyHandler.cs
diff --git a/src/Avalonia.Input/ICloseable.cs b/src/Avalonia.Base/Input/ICloseable.cs
similarity index 100%
rename from src/Avalonia.Input/ICloseable.cs
rename to src/Avalonia.Base/Input/ICloseable.cs
diff --git a/src/Avalonia.Input/ICommandSource.cs b/src/Avalonia.Base/Input/ICommandSource.cs
similarity index 100%
rename from src/Avalonia.Input/ICommandSource.cs
rename to src/Avalonia.Base/Input/ICommandSource.cs
diff --git a/src/Avalonia.Input/ICustomKeyboardNavigation.cs b/src/Avalonia.Base/Input/ICustomKeyboardNavigation.cs
similarity index 100%
rename from src/Avalonia.Input/ICustomKeyboardNavigation.cs
rename to src/Avalonia.Base/Input/ICustomKeyboardNavigation.cs
diff --git a/src/Avalonia.Input/IDataObject.cs b/src/Avalonia.Base/Input/IDataObject.cs
similarity index 100%
rename from src/Avalonia.Input/IDataObject.cs
rename to src/Avalonia.Base/Input/IDataObject.cs
diff --git a/src/Avalonia.Input/IFocusManager.cs b/src/Avalonia.Base/Input/IFocusManager.cs
similarity index 100%
rename from src/Avalonia.Input/IFocusManager.cs
rename to src/Avalonia.Base/Input/IFocusManager.cs
diff --git a/src/Avalonia.Input/IFocusScope.cs b/src/Avalonia.Base/Input/IFocusScope.cs
similarity index 100%
rename from src/Avalonia.Input/IFocusScope.cs
rename to src/Avalonia.Base/Input/IFocusScope.cs
diff --git a/src/Avalonia.Input/IInputDevice.cs b/src/Avalonia.Base/Input/IInputDevice.cs
similarity index 100%
rename from src/Avalonia.Input/IInputDevice.cs
rename to src/Avalonia.Base/Input/IInputDevice.cs
diff --git a/src/Avalonia.Input/IInputElement.cs b/src/Avalonia.Base/Input/IInputElement.cs
similarity index 100%
rename from src/Avalonia.Input/IInputElement.cs
rename to src/Avalonia.Base/Input/IInputElement.cs
diff --git a/src/Avalonia.Input/IInputManager.cs b/src/Avalonia.Base/Input/IInputManager.cs
similarity index 100%
rename from src/Avalonia.Input/IInputManager.cs
rename to src/Avalonia.Base/Input/IInputManager.cs
diff --git a/src/Avalonia.Input/IInputRoot.cs b/src/Avalonia.Base/Input/IInputRoot.cs
similarity index 100%
rename from src/Avalonia.Input/IInputRoot.cs
rename to src/Avalonia.Base/Input/IInputRoot.cs
diff --git a/src/Avalonia.Input/IKeyboardDevice.cs b/src/Avalonia.Base/Input/IKeyboardDevice.cs
similarity index 100%
rename from src/Avalonia.Input/IKeyboardDevice.cs
rename to src/Avalonia.Base/Input/IKeyboardDevice.cs
diff --git a/src/Avalonia.Input/IKeyboardNavigationHandler.cs b/src/Avalonia.Base/Input/IKeyboardNavigationHandler.cs
similarity index 100%
rename from src/Avalonia.Input/IKeyboardNavigationHandler.cs
rename to src/Avalonia.Base/Input/IKeyboardNavigationHandler.cs
diff --git a/src/Avalonia.Input/IMainMenu.cs b/src/Avalonia.Base/Input/IMainMenu.cs
similarity index 100%
rename from src/Avalonia.Input/IMainMenu.cs
rename to src/Avalonia.Base/Input/IMainMenu.cs
diff --git a/src/Avalonia.Input/IMouseDevice.cs b/src/Avalonia.Base/Input/IMouseDevice.cs
similarity index 100%
rename from src/Avalonia.Input/IMouseDevice.cs
rename to src/Avalonia.Base/Input/IMouseDevice.cs
diff --git a/src/Avalonia.Input/INavigableContainer.cs b/src/Avalonia.Base/Input/INavigableContainer.cs
similarity index 100%
rename from src/Avalonia.Input/INavigableContainer.cs
rename to src/Avalonia.Base/Input/INavigableContainer.cs
diff --git a/src/Avalonia.Input/IPointer.cs b/src/Avalonia.Base/Input/IPointer.cs
similarity index 100%
rename from src/Avalonia.Input/IPointer.cs
rename to src/Avalonia.Base/Input/IPointer.cs
diff --git a/src/Avalonia.Input/IPointerDevice.cs b/src/Avalonia.Base/Input/IPointerDevice.cs
similarity index 100%
rename from src/Avalonia.Input/IPointerDevice.cs
rename to src/Avalonia.Base/Input/IPointerDevice.cs
diff --git a/src/Avalonia.Input/InputElement.cs b/src/Avalonia.Base/Input/InputElement.cs
similarity index 100%
rename from src/Avalonia.Input/InputElement.cs
rename to src/Avalonia.Base/Input/InputElement.cs
diff --git a/src/Avalonia.Input/InputExtensions.cs b/src/Avalonia.Base/Input/InputExtensions.cs
similarity index 100%
rename from src/Avalonia.Input/InputExtensions.cs
rename to src/Avalonia.Base/Input/InputExtensions.cs
diff --git a/src/Avalonia.Input/InputManager.cs b/src/Avalonia.Base/Input/InputManager.cs
similarity index 100%
rename from src/Avalonia.Input/InputManager.cs
rename to src/Avalonia.Base/Input/InputManager.cs
diff --git a/src/Avalonia.Input/Key.cs b/src/Avalonia.Base/Input/Key.cs
similarity index 100%
rename from src/Avalonia.Input/Key.cs
rename to src/Avalonia.Base/Input/Key.cs
diff --git a/src/Avalonia.Input/KeyBinding.cs b/src/Avalonia.Base/Input/KeyBinding.cs
similarity index 100%
rename from src/Avalonia.Input/KeyBinding.cs
rename to src/Avalonia.Base/Input/KeyBinding.cs
diff --git a/src/Avalonia.Input/KeyEventArgs.cs b/src/Avalonia.Base/Input/KeyEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/KeyEventArgs.cs
rename to src/Avalonia.Base/Input/KeyEventArgs.cs
diff --git a/src/Avalonia.Input/KeyGesture.cs b/src/Avalonia.Base/Input/KeyGesture.cs
similarity index 100%
rename from src/Avalonia.Input/KeyGesture.cs
rename to src/Avalonia.Base/Input/KeyGesture.cs
diff --git a/src/Avalonia.Input/KeyboardDevice.cs b/src/Avalonia.Base/Input/KeyboardDevice.cs
similarity index 100%
rename from src/Avalonia.Input/KeyboardDevice.cs
rename to src/Avalonia.Base/Input/KeyboardDevice.cs
diff --git a/src/Avalonia.Input/KeyboardNavigation.cs b/src/Avalonia.Base/Input/KeyboardNavigation.cs
similarity index 100%
rename from src/Avalonia.Input/KeyboardNavigation.cs
rename to src/Avalonia.Base/Input/KeyboardNavigation.cs
diff --git a/src/Avalonia.Input/KeyboardNavigationHandler.cs b/src/Avalonia.Base/Input/KeyboardNavigationHandler.cs
similarity index 100%
rename from src/Avalonia.Input/KeyboardNavigationHandler.cs
rename to src/Avalonia.Base/Input/KeyboardNavigationHandler.cs
diff --git a/src/Avalonia.Input/KeyboardNavigationMode.cs b/src/Avalonia.Base/Input/KeyboardNavigationMode.cs
similarity index 100%
rename from src/Avalonia.Input/KeyboardNavigationMode.cs
rename to src/Avalonia.Base/Input/KeyboardNavigationMode.cs
diff --git a/src/Avalonia.Input/MouseDevice.cs b/src/Avalonia.Base/Input/MouseDevice.cs
similarity index 100%
rename from src/Avalonia.Input/MouseDevice.cs
rename to src/Avalonia.Base/Input/MouseDevice.cs
diff --git a/src/Avalonia.Input/Navigation/FocusExtensions.cs b/src/Avalonia.Base/Input/Navigation/FocusExtensions.cs
similarity index 100%
rename from src/Avalonia.Input/Navigation/FocusExtensions.cs
rename to src/Avalonia.Base/Input/Navigation/FocusExtensions.cs
diff --git a/src/Avalonia.Input/Navigation/TabNavigation.cs b/src/Avalonia.Base/Input/Navigation/TabNavigation.cs
similarity index 100%
rename from src/Avalonia.Input/Navigation/TabNavigation.cs
rename to src/Avalonia.Base/Input/Navigation/TabNavigation.cs
diff --git a/src/Avalonia.Input/NavigationDirection.cs b/src/Avalonia.Base/Input/NavigationDirection.cs
similarity index 100%
rename from src/Avalonia.Input/NavigationDirection.cs
rename to src/Avalonia.Base/Input/NavigationDirection.cs
diff --git a/src/Avalonia.Input/NavigationMethod.cs b/src/Avalonia.Base/Input/NavigationMethod.cs
similarity index 100%
rename from src/Avalonia.Input/NavigationMethod.cs
rename to src/Avalonia.Base/Input/NavigationMethod.cs
diff --git a/src/Avalonia.Input/Platform/IClipboard.cs b/src/Avalonia.Base/Input/Platform/IClipboard.cs
similarity index 100%
rename from src/Avalonia.Input/Platform/IClipboard.cs
rename to src/Avalonia.Base/Input/Platform/IClipboard.cs
diff --git a/src/Avalonia.Input/Platform/ICursorFactory.cs b/src/Avalonia.Base/Input/Platform/ICursorFactory.cs
similarity index 100%
rename from src/Avalonia.Input/Platform/ICursorFactory.cs
rename to src/Avalonia.Base/Input/Platform/ICursorFactory.cs
diff --git a/src/Avalonia.Input/Platform/ICursorImpl.cs b/src/Avalonia.Base/Input/Platform/ICursorImpl.cs
similarity index 100%
rename from src/Avalonia.Input/Platform/ICursorImpl.cs
rename to src/Avalonia.Base/Input/Platform/ICursorImpl.cs
diff --git a/src/Avalonia.Input/Platform/IPlatformDragSource.cs b/src/Avalonia.Base/Input/Platform/IPlatformDragSource.cs
similarity index 100%
rename from src/Avalonia.Input/Platform/IPlatformDragSource.cs
rename to src/Avalonia.Base/Input/Platform/IPlatformDragSource.cs
diff --git a/src/Avalonia.Input/Platform/PlatformHotkeyConfiguration.cs b/src/Avalonia.Base/Input/Platform/PlatformHotkeyConfiguration.cs
similarity index 100%
rename from src/Avalonia.Input/Platform/PlatformHotkeyConfiguration.cs
rename to src/Avalonia.Base/Input/Platform/PlatformHotkeyConfiguration.cs
diff --git a/src/Avalonia.Input/Pointer.cs b/src/Avalonia.Base/Input/Pointer.cs
similarity index 100%
rename from src/Avalonia.Input/Pointer.cs
rename to src/Avalonia.Base/Input/Pointer.cs
diff --git a/src/Avalonia.Input/PointerEventArgs.cs b/src/Avalonia.Base/Input/PointerEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/PointerEventArgs.cs
rename to src/Avalonia.Base/Input/PointerEventArgs.cs
diff --git a/src/Avalonia.Input/PointerPoint.cs b/src/Avalonia.Base/Input/PointerPoint.cs
similarity index 100%
rename from src/Avalonia.Input/PointerPoint.cs
rename to src/Avalonia.Base/Input/PointerPoint.cs
diff --git a/src/Avalonia.Input/PointerWheelEventArgs.cs b/src/Avalonia.Base/Input/PointerWheelEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/PointerWheelEventArgs.cs
rename to src/Avalonia.Base/Input/PointerWheelEventArgs.cs
diff --git a/src/Avalonia.Input/Raw/IDragDropDevice.cs b/src/Avalonia.Base/Input/Raw/IDragDropDevice.cs
similarity index 100%
rename from src/Avalonia.Input/Raw/IDragDropDevice.cs
rename to src/Avalonia.Base/Input/Raw/IDragDropDevice.cs
diff --git a/src/Avalonia.Input/Raw/RawDragEvent.cs b/src/Avalonia.Base/Input/Raw/RawDragEvent.cs
similarity index 100%
rename from src/Avalonia.Input/Raw/RawDragEvent.cs
rename to src/Avalonia.Base/Input/Raw/RawDragEvent.cs
diff --git a/src/Avalonia.Input/Raw/RawDragEventType.cs b/src/Avalonia.Base/Input/Raw/RawDragEventType.cs
similarity index 100%
rename from src/Avalonia.Input/Raw/RawDragEventType.cs
rename to src/Avalonia.Base/Input/Raw/RawDragEventType.cs
diff --git a/src/Avalonia.Input/Raw/RawInputEventArgs.cs b/src/Avalonia.Base/Input/Raw/RawInputEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/Raw/RawInputEventArgs.cs
rename to src/Avalonia.Base/Input/Raw/RawInputEventArgs.cs
diff --git a/src/Avalonia.Input/Raw/RawKeyEventArgs.cs b/src/Avalonia.Base/Input/Raw/RawKeyEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/Raw/RawKeyEventArgs.cs
rename to src/Avalonia.Base/Input/Raw/RawKeyEventArgs.cs
diff --git a/src/Avalonia.Input/Raw/RawMouseWheelEventArgs.cs b/src/Avalonia.Base/Input/Raw/RawMouseWheelEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/Raw/RawMouseWheelEventArgs.cs
rename to src/Avalonia.Base/Input/Raw/RawMouseWheelEventArgs.cs
diff --git a/src/Avalonia.Input/Raw/RawPointerEventArgs.cs b/src/Avalonia.Base/Input/Raw/RawPointerEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/Raw/RawPointerEventArgs.cs
rename to src/Avalonia.Base/Input/Raw/RawPointerEventArgs.cs
diff --git a/src/Avalonia.Input/Raw/RawSizeEventArgs.cs b/src/Avalonia.Base/Input/Raw/RawSizeEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/Raw/RawSizeEventArgs.cs
rename to src/Avalonia.Base/Input/Raw/RawSizeEventArgs.cs
diff --git a/src/Avalonia.Input/Raw/RawTextInputEventArgs.cs b/src/Avalonia.Base/Input/Raw/RawTextInputEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/Raw/RawTextInputEventArgs.cs
rename to src/Avalonia.Base/Input/Raw/RawTextInputEventArgs.cs
diff --git a/src/Avalonia.Input/Raw/RawTouchEventArgs.cs b/src/Avalonia.Base/Input/Raw/RawTouchEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/Raw/RawTouchEventArgs.cs
rename to src/Avalonia.Base/Input/Raw/RawTouchEventArgs.cs
diff --git a/src/Avalonia.Input/ScrollGestureEventArgs.cs b/src/Avalonia.Base/Input/ScrollGestureEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/ScrollGestureEventArgs.cs
rename to src/Avalonia.Base/Input/ScrollGestureEventArgs.cs
diff --git a/src/Avalonia.Input/TappedEventArgs.cs b/src/Avalonia.Base/Input/TappedEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/TappedEventArgs.cs
rename to src/Avalonia.Base/Input/TappedEventArgs.cs
diff --git a/src/Avalonia.Input/TextInput/ITextInputMethodClient.cs b/src/Avalonia.Base/Input/TextInput/ITextInputMethodClient.cs
similarity index 100%
rename from src/Avalonia.Input/TextInput/ITextInputMethodClient.cs
rename to src/Avalonia.Base/Input/TextInput/ITextInputMethodClient.cs
diff --git a/src/Avalonia.Input/TextInput/ITextInputMethodImpl.cs b/src/Avalonia.Base/Input/TextInput/ITextInputMethodImpl.cs
similarity index 100%
rename from src/Avalonia.Input/TextInput/ITextInputMethodImpl.cs
rename to src/Avalonia.Base/Input/TextInput/ITextInputMethodImpl.cs
diff --git a/src/Avalonia.Input/TextInput/InputMethodManager.cs b/src/Avalonia.Base/Input/TextInput/InputMethodManager.cs
similarity index 100%
rename from src/Avalonia.Input/TextInput/InputMethodManager.cs
rename to src/Avalonia.Base/Input/TextInput/InputMethodManager.cs
diff --git a/src/Avalonia.Input/TextInput/TextInputContentType.cs b/src/Avalonia.Base/Input/TextInput/TextInputContentType.cs
similarity index 100%
rename from src/Avalonia.Input/TextInput/TextInputContentType.cs
rename to src/Avalonia.Base/Input/TextInput/TextInputContentType.cs
diff --git a/src/Avalonia.Input/TextInput/TextInputMethodClientRequestedEventArgs.cs b/src/Avalonia.Base/Input/TextInput/TextInputMethodClientRequestedEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/TextInput/TextInputMethodClientRequestedEventArgs.cs
rename to src/Avalonia.Base/Input/TextInput/TextInputMethodClientRequestedEventArgs.cs
diff --git a/src/Avalonia.Input/TextInput/TextInputOptionsQueryEventArgs.cs b/src/Avalonia.Base/Input/TextInput/TextInputOptionsQueryEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/TextInput/TextInputOptionsQueryEventArgs.cs
rename to src/Avalonia.Base/Input/TextInput/TextInputOptionsQueryEventArgs.cs
diff --git a/src/Avalonia.Input/TextInput/TransformTrackingHelper.cs b/src/Avalonia.Base/Input/TextInput/TransformTrackingHelper.cs
similarity index 100%
rename from src/Avalonia.Input/TextInput/TransformTrackingHelper.cs
rename to src/Avalonia.Base/Input/TextInput/TransformTrackingHelper.cs
diff --git a/src/Avalonia.Input/TextInputEventArgs.cs b/src/Avalonia.Base/Input/TextInputEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/TextInputEventArgs.cs
rename to src/Avalonia.Base/Input/TextInputEventArgs.cs
diff --git a/src/Avalonia.Input/TouchDevice.cs b/src/Avalonia.Base/Input/TouchDevice.cs
similarity index 100%
rename from src/Avalonia.Input/TouchDevice.cs
rename to src/Avalonia.Base/Input/TouchDevice.cs
diff --git a/src/Avalonia.Input/VectorEventArgs.cs b/src/Avalonia.Base/Input/VectorEventArgs.cs
similarity index 100%
rename from src/Avalonia.Input/VectorEventArgs.cs
rename to src/Avalonia.Base/Input/VectorEventArgs.cs
diff --git a/src/Avalonia.Interactivity/EventRoute.cs b/src/Avalonia.Base/Interactivity/EventRoute.cs
similarity index 100%
rename from src/Avalonia.Interactivity/EventRoute.cs
rename to src/Avalonia.Base/Interactivity/EventRoute.cs
diff --git a/src/Avalonia.Interactivity/IInteractive.cs b/src/Avalonia.Base/Interactivity/IInteractive.cs
similarity index 100%
rename from src/Avalonia.Interactivity/IInteractive.cs
rename to src/Avalonia.Base/Interactivity/IInteractive.cs
diff --git a/src/Avalonia.Interactivity/Interactive.cs b/src/Avalonia.Base/Interactivity/Interactive.cs
similarity index 100%
rename from src/Avalonia.Interactivity/Interactive.cs
rename to src/Avalonia.Base/Interactivity/Interactive.cs
diff --git a/src/Avalonia.Interactivity/InteractiveExtensions.cs b/src/Avalonia.Base/Interactivity/InteractiveExtensions.cs
similarity index 100%
rename from src/Avalonia.Interactivity/InteractiveExtensions.cs
rename to src/Avalonia.Base/Interactivity/InteractiveExtensions.cs
diff --git a/src/Avalonia.Interactivity/RoutedEvent.cs b/src/Avalonia.Base/Interactivity/RoutedEvent.cs
similarity index 100%
rename from src/Avalonia.Interactivity/RoutedEvent.cs
rename to src/Avalonia.Base/Interactivity/RoutedEvent.cs
diff --git a/src/Avalonia.Interactivity/RoutedEventArgs.cs b/src/Avalonia.Base/Interactivity/RoutedEventArgs.cs
similarity index 100%
rename from src/Avalonia.Interactivity/RoutedEventArgs.cs
rename to src/Avalonia.Base/Interactivity/RoutedEventArgs.cs
diff --git a/src/Avalonia.Interactivity/RoutedEventRegistry.cs b/src/Avalonia.Base/Interactivity/RoutedEventRegistry.cs
similarity index 100%
rename from src/Avalonia.Interactivity/RoutedEventRegistry.cs
rename to src/Avalonia.Base/Interactivity/RoutedEventRegistry.cs
diff --git a/src/Avalonia.Layout/AttachedLayout.cs b/src/Avalonia.Base/Layout/AttachedLayout.cs
similarity index 100%
rename from src/Avalonia.Layout/AttachedLayout.cs
rename to src/Avalonia.Base/Layout/AttachedLayout.cs
diff --git a/src/Avalonia.Layout/EffectiveViewportChangedEventArgs.cs b/src/Avalonia.Base/Layout/EffectiveViewportChangedEventArgs.cs
similarity index 100%
rename from src/Avalonia.Layout/EffectiveViewportChangedEventArgs.cs
rename to src/Avalonia.Base/Layout/EffectiveViewportChangedEventArgs.cs
diff --git a/src/Avalonia.Layout/ElementManager.cs b/src/Avalonia.Base/Layout/ElementManager.cs
similarity index 100%
rename from src/Avalonia.Layout/ElementManager.cs
rename to src/Avalonia.Base/Layout/ElementManager.cs
diff --git a/src/Avalonia.Layout/FlowLayoutAlgorithm.cs b/src/Avalonia.Base/Layout/FlowLayoutAlgorithm.cs
similarity index 100%
rename from src/Avalonia.Layout/FlowLayoutAlgorithm.cs
rename to src/Avalonia.Base/Layout/FlowLayoutAlgorithm.cs
diff --git a/src/Avalonia.Layout/IEmbeddedLayoutRoot.cs b/src/Avalonia.Base/Layout/IEmbeddedLayoutRoot.cs
similarity index 100%
rename from src/Avalonia.Layout/IEmbeddedLayoutRoot.cs
rename to src/Avalonia.Base/Layout/IEmbeddedLayoutRoot.cs
diff --git a/src/Avalonia.Layout/IFlowLayoutAlgorithmDelegates.cs b/src/Avalonia.Base/Layout/IFlowLayoutAlgorithmDelegates.cs
similarity index 100%
rename from src/Avalonia.Layout/IFlowLayoutAlgorithmDelegates.cs
rename to src/Avalonia.Base/Layout/IFlowLayoutAlgorithmDelegates.cs
diff --git a/src/Avalonia.Layout/ILayoutManager.cs b/src/Avalonia.Base/Layout/ILayoutManager.cs
similarity index 100%
rename from src/Avalonia.Layout/ILayoutManager.cs
rename to src/Avalonia.Base/Layout/ILayoutManager.cs
diff --git a/src/Avalonia.Layout/ILayoutRoot.cs b/src/Avalonia.Base/Layout/ILayoutRoot.cs
similarity index 100%
rename from src/Avalonia.Layout/ILayoutRoot.cs
rename to src/Avalonia.Base/Layout/ILayoutRoot.cs
diff --git a/src/Avalonia.Layout/ILayoutable.cs b/src/Avalonia.Base/Layout/ILayoutable.cs
similarity index 100%
rename from src/Avalonia.Layout/ILayoutable.cs
rename to src/Avalonia.Base/Layout/ILayoutable.cs
diff --git a/src/Avalonia.Layout/LayoutContext.cs b/src/Avalonia.Base/Layout/LayoutContext.cs
similarity index 100%
rename from src/Avalonia.Layout/LayoutContext.cs
rename to src/Avalonia.Base/Layout/LayoutContext.cs
diff --git a/src/Avalonia.Layout/LayoutContextAdapter.cs b/src/Avalonia.Base/Layout/LayoutContextAdapter.cs
similarity index 100%
rename from src/Avalonia.Layout/LayoutContextAdapter.cs
rename to src/Avalonia.Base/Layout/LayoutContextAdapter.cs
diff --git a/src/Avalonia.Layout/LayoutExtensions.cs b/src/Avalonia.Base/Layout/LayoutExtensions.cs
similarity index 100%
rename from src/Avalonia.Layout/LayoutExtensions.cs
rename to src/Avalonia.Base/Layout/LayoutExtensions.cs
diff --git a/src/Avalonia.Layout/LayoutHelper.cs b/src/Avalonia.Base/Layout/LayoutHelper.cs
similarity index 100%
rename from src/Avalonia.Layout/LayoutHelper.cs
rename to src/Avalonia.Base/Layout/LayoutHelper.cs
diff --git a/src/Avalonia.Layout/LayoutManager.cs b/src/Avalonia.Base/Layout/LayoutManager.cs
similarity index 100%
rename from src/Avalonia.Layout/LayoutManager.cs
rename to src/Avalonia.Base/Layout/LayoutManager.cs
diff --git a/src/Avalonia.Layout/LayoutQueue.cs b/src/Avalonia.Base/Layout/LayoutQueue.cs
similarity index 100%
rename from src/Avalonia.Layout/LayoutQueue.cs
rename to src/Avalonia.Base/Layout/LayoutQueue.cs
diff --git a/src/Avalonia.Layout/Layoutable.cs b/src/Avalonia.Base/Layout/Layoutable.cs
similarity index 100%
rename from src/Avalonia.Layout/Layoutable.cs
rename to src/Avalonia.Base/Layout/Layoutable.cs
diff --git a/src/Avalonia.Layout/NonVirtualizingLayout.cs b/src/Avalonia.Base/Layout/NonVirtualizingLayout.cs
similarity index 100%
rename from src/Avalonia.Layout/NonVirtualizingLayout.cs
rename to src/Avalonia.Base/Layout/NonVirtualizingLayout.cs
diff --git a/src/Avalonia.Layout/NonVirtualizingLayoutContext.cs b/src/Avalonia.Base/Layout/NonVirtualizingLayoutContext.cs
similarity index 100%
rename from src/Avalonia.Layout/NonVirtualizingLayoutContext.cs
rename to src/Avalonia.Base/Layout/NonVirtualizingLayoutContext.cs
diff --git a/src/Avalonia.Layout/NonVirtualizingStackLayout.cs b/src/Avalonia.Base/Layout/NonVirtualizingStackLayout.cs
similarity index 100%
rename from src/Avalonia.Layout/NonVirtualizingStackLayout.cs
rename to src/Avalonia.Base/Layout/NonVirtualizingStackLayout.cs
diff --git a/src/Avalonia.Layout/Orientation.cs b/src/Avalonia.Base/Layout/Orientation.cs
similarity index 100%
rename from src/Avalonia.Layout/Orientation.cs
rename to src/Avalonia.Base/Layout/Orientation.cs
diff --git a/src/Avalonia.Layout/OrientationBasedMeasures.cs b/src/Avalonia.Base/Layout/OrientationBasedMeasures.cs
similarity index 100%
rename from src/Avalonia.Layout/OrientationBasedMeasures.cs
rename to src/Avalonia.Base/Layout/OrientationBasedMeasures.cs
diff --git a/src/Avalonia.Layout/StackLayout.cs b/src/Avalonia.Base/Layout/StackLayout.cs
similarity index 100%
rename from src/Avalonia.Layout/StackLayout.cs
rename to src/Avalonia.Base/Layout/StackLayout.cs
diff --git a/src/Avalonia.Layout/StackLayoutState.cs b/src/Avalonia.Base/Layout/StackLayoutState.cs
similarity index 100%
rename from src/Avalonia.Layout/StackLayoutState.cs
rename to src/Avalonia.Base/Layout/StackLayoutState.cs
diff --git a/src/Avalonia.Layout/UniformGridLayout.cs b/src/Avalonia.Base/Layout/UniformGridLayout.cs
similarity index 100%
rename from src/Avalonia.Layout/UniformGridLayout.cs
rename to src/Avalonia.Base/Layout/UniformGridLayout.cs
diff --git a/src/Avalonia.Layout/UniformGridLayoutState.cs b/src/Avalonia.Base/Layout/UniformGridLayoutState.cs
similarity index 100%
rename from src/Avalonia.Layout/UniformGridLayoutState.cs
rename to src/Avalonia.Base/Layout/UniformGridLayoutState.cs
diff --git a/src/Avalonia.Layout/Utils/ListUtils.cs b/src/Avalonia.Base/Layout/Utils/ListUtils.cs
similarity index 100%
rename from src/Avalonia.Layout/Utils/ListUtils.cs
rename to src/Avalonia.Base/Layout/Utils/ListUtils.cs
diff --git a/src/Avalonia.Layout/VirtualLayoutContextAdapter.cs b/src/Avalonia.Base/Layout/VirtualLayoutContextAdapter.cs
similarity index 100%
rename from src/Avalonia.Layout/VirtualLayoutContextAdapter.cs
rename to src/Avalonia.Base/Layout/VirtualLayoutContextAdapter.cs
diff --git a/src/Avalonia.Layout/VirtualizingLayout.cs b/src/Avalonia.Base/Layout/VirtualizingLayout.cs
similarity index 100%
rename from src/Avalonia.Layout/VirtualizingLayout.cs
rename to src/Avalonia.Base/Layout/VirtualizingLayout.cs
diff --git a/src/Avalonia.Layout/VirtualizingLayoutContext.cs b/src/Avalonia.Base/Layout/VirtualizingLayoutContext.cs
similarity index 100%
rename from src/Avalonia.Layout/VirtualizingLayoutContext.cs
rename to src/Avalonia.Base/Layout/VirtualizingLayoutContext.cs
diff --git a/src/Avalonia.Layout/WrapLayout/UvBounds.cs b/src/Avalonia.Base/Layout/WrapLayout/UvBounds.cs
similarity index 100%
rename from src/Avalonia.Layout/WrapLayout/UvBounds.cs
rename to src/Avalonia.Base/Layout/WrapLayout/UvBounds.cs
diff --git a/src/Avalonia.Layout/WrapLayout/UvMeasure.cs b/src/Avalonia.Base/Layout/WrapLayout/UvMeasure.cs
similarity index 100%
rename from src/Avalonia.Layout/WrapLayout/UvMeasure.cs
rename to src/Avalonia.Base/Layout/WrapLayout/UvMeasure.cs
diff --git a/src/Avalonia.Layout/WrapLayout/WrapItem.cs b/src/Avalonia.Base/Layout/WrapLayout/WrapItem.cs
similarity index 100%
rename from src/Avalonia.Layout/WrapLayout/WrapItem.cs
rename to src/Avalonia.Base/Layout/WrapLayout/WrapItem.cs
diff --git a/src/Avalonia.Layout/WrapLayout/WrapLayout.cs b/src/Avalonia.Base/Layout/WrapLayout/WrapLayout.cs
similarity index 100%
rename from src/Avalonia.Layout/WrapLayout/WrapLayout.cs
rename to src/Avalonia.Base/Layout/WrapLayout/WrapLayout.cs
diff --git a/src/Avalonia.Layout/WrapLayout/WrapLayoutState.cs b/src/Avalonia.Base/Layout/WrapLayout/WrapLayoutState.cs
similarity index 100%
rename from src/Avalonia.Layout/WrapLayout/WrapLayoutState.cs
rename to src/Avalonia.Base/Layout/WrapLayout/WrapLayoutState.cs
diff --git a/src/Avalonia.Styling/LogicalTree/ControlLocator.cs b/src/Avalonia.Base/LogicalTree/ControlLocator.cs
similarity index 100%
rename from src/Avalonia.Styling/LogicalTree/ControlLocator.cs
rename to src/Avalonia.Base/LogicalTree/ControlLocator.cs
diff --git a/src/Avalonia.Styling/LogicalTree/ILogical.cs b/src/Avalonia.Base/LogicalTree/ILogical.cs
similarity index 100%
rename from src/Avalonia.Styling/LogicalTree/ILogical.cs
rename to src/Avalonia.Base/LogicalTree/ILogical.cs
diff --git a/src/Avalonia.Styling/LogicalTree/ILogicalRoot.cs b/src/Avalonia.Base/LogicalTree/ILogicalRoot.cs
similarity index 100%
rename from src/Avalonia.Styling/LogicalTree/ILogicalRoot.cs
rename to src/Avalonia.Base/LogicalTree/ILogicalRoot.cs
diff --git a/src/Avalonia.Styling/LogicalTree/LogicalExtensions.cs b/src/Avalonia.Base/LogicalTree/LogicalExtensions.cs
similarity index 100%
rename from src/Avalonia.Styling/LogicalTree/LogicalExtensions.cs
rename to src/Avalonia.Base/LogicalTree/LogicalExtensions.cs
diff --git a/src/Avalonia.Styling/LogicalTree/LogicalTreeAttachmentEventArgs.cs b/src/Avalonia.Base/LogicalTree/LogicalTreeAttachmentEventArgs.cs
similarity index 100%
rename from src/Avalonia.Styling/LogicalTree/LogicalTreeAttachmentEventArgs.cs
rename to src/Avalonia.Base/LogicalTree/LogicalTreeAttachmentEventArgs.cs
diff --git a/src/Avalonia.Visuals/Matrix.cs b/src/Avalonia.Base/Matrix.cs
similarity index 100%
rename from src/Avalonia.Visuals/Matrix.cs
rename to src/Avalonia.Base/Matrix.cs
diff --git a/src/Avalonia.Visuals/Media/AcrylicBackgroundSource.cs b/src/Avalonia.Base/Media/AcrylicBackgroundSource.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/AcrylicBackgroundSource.cs
rename to src/Avalonia.Base/Media/AcrylicBackgroundSource.cs
diff --git a/src/Avalonia.Visuals/Media/AlignmentX.cs b/src/Avalonia.Base/Media/AlignmentX.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/AlignmentX.cs
rename to src/Avalonia.Base/Media/AlignmentX.cs
diff --git a/src/Avalonia.Visuals/Media/AlignmentY.cs b/src/Avalonia.Base/Media/AlignmentY.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/AlignmentY.cs
rename to src/Avalonia.Base/Media/AlignmentY.cs
diff --git a/src/Avalonia.Visuals/Media/ArcSegment.cs b/src/Avalonia.Base/Media/ArcSegment.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/ArcSegment.cs
rename to src/Avalonia.Base/Media/ArcSegment.cs
diff --git a/src/Avalonia.Visuals/Media/BaselineAlignment.cs b/src/Avalonia.Base/Media/BaselineAlignment.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/BaselineAlignment.cs
rename to src/Avalonia.Base/Media/BaselineAlignment.cs
diff --git a/src/Avalonia.Visuals/Media/BezierSegment .cs b/src/Avalonia.Base/Media/BezierSegment .cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/BezierSegment .cs
rename to src/Avalonia.Base/Media/BezierSegment .cs
diff --git a/src/Avalonia.Visuals/Media/BoxShadow.cs b/src/Avalonia.Base/Media/BoxShadow.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/BoxShadow.cs
rename to src/Avalonia.Base/Media/BoxShadow.cs
diff --git a/src/Avalonia.Visuals/Media/BoxShadows.cs b/src/Avalonia.Base/Media/BoxShadows.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/BoxShadows.cs
rename to src/Avalonia.Base/Media/BoxShadows.cs
diff --git a/src/Avalonia.Visuals/Media/Brush.cs b/src/Avalonia.Base/Media/Brush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Brush.cs
rename to src/Avalonia.Base/Media/Brush.cs
diff --git a/src/Avalonia.Visuals/Media/BrushConverter.cs b/src/Avalonia.Base/Media/BrushConverter.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/BrushConverter.cs
rename to src/Avalonia.Base/Media/BrushConverter.cs
diff --git a/src/Avalonia.Visuals/Media/BrushExtensions.cs b/src/Avalonia.Base/Media/BrushExtensions.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/BrushExtensions.cs
rename to src/Avalonia.Base/Media/BrushExtensions.cs
diff --git a/src/Avalonia.Visuals/Media/BrushMappingMode.cs b/src/Avalonia.Base/Media/BrushMappingMode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/BrushMappingMode.cs
rename to src/Avalonia.Base/Media/BrushMappingMode.cs
diff --git a/src/Avalonia.Visuals/Media/Brushes.cs b/src/Avalonia.Base/Media/Brushes.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Brushes.cs
rename to src/Avalonia.Base/Media/Brushes.cs
diff --git a/src/Avalonia.Visuals/Media/CharacterHit.cs b/src/Avalonia.Base/Media/CharacterHit.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/CharacterHit.cs
rename to src/Avalonia.Base/Media/CharacterHit.cs
diff --git a/src/Avalonia.Visuals/Media/Color.cs b/src/Avalonia.Base/Media/Color.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Color.cs
rename to src/Avalonia.Base/Media/Color.cs
diff --git a/src/Avalonia.Visuals/Media/Colors.cs b/src/Avalonia.Base/Media/Colors.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Colors.cs
rename to src/Avalonia.Base/Media/Colors.cs
diff --git a/src/Avalonia.Visuals/Media/ConicGradientBrush.cs b/src/Avalonia.Base/Media/ConicGradientBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/ConicGradientBrush.cs
rename to src/Avalonia.Base/Media/ConicGradientBrush.cs
diff --git a/src/Avalonia.Visuals/Media/DashStyle.cs b/src/Avalonia.Base/Media/DashStyle.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/DashStyle.cs
rename to src/Avalonia.Base/Media/DashStyle.cs
diff --git a/src/Avalonia.Visuals/Media/Drawing.cs b/src/Avalonia.Base/Media/Drawing.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Drawing.cs
rename to src/Avalonia.Base/Media/Drawing.cs
diff --git a/src/Avalonia.Visuals/Media/DrawingContext.cs b/src/Avalonia.Base/Media/DrawingContext.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/DrawingContext.cs
rename to src/Avalonia.Base/Media/DrawingContext.cs
diff --git a/src/Avalonia.Visuals/Media/DrawingGroup.cs b/src/Avalonia.Base/Media/DrawingGroup.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/DrawingGroup.cs
rename to src/Avalonia.Base/Media/DrawingGroup.cs
diff --git a/src/Avalonia.Visuals/Media/DrawingImage.cs b/src/Avalonia.Base/Media/DrawingImage.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/DrawingImage.cs
rename to src/Avalonia.Base/Media/DrawingImage.cs
diff --git a/src/Avalonia.Visuals/Media/EllipseGeometry.cs b/src/Avalonia.Base/Media/EllipseGeometry.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/EllipseGeometry.cs
rename to src/Avalonia.Base/Media/EllipseGeometry.cs
diff --git a/src/Avalonia.Visuals/Media/ExperimentalAcrylicMaterial.cs b/src/Avalonia.Base/Media/ExperimentalAcrylicMaterial.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/ExperimentalAcrylicMaterial.cs
rename to src/Avalonia.Base/Media/ExperimentalAcrylicMaterial.cs
diff --git a/src/Avalonia.Visuals/Media/FillRule.cs b/src/Avalonia.Base/Media/FillRule.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/FillRule.cs
rename to src/Avalonia.Base/Media/FillRule.cs
diff --git a/src/Avalonia.Visuals/Media/FlowDirection.cs b/src/Avalonia.Base/Media/FlowDirection.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/FlowDirection.cs
rename to src/Avalonia.Base/Media/FlowDirection.cs
diff --git a/src/Avalonia.Visuals/Media/FontFamily.cs b/src/Avalonia.Base/Media/FontFamily.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/FontFamily.cs
rename to src/Avalonia.Base/Media/FontFamily.cs
diff --git a/src/Avalonia.Visuals/Media/FontManager.cs b/src/Avalonia.Base/Media/FontManager.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/FontManager.cs
rename to src/Avalonia.Base/Media/FontManager.cs
diff --git a/src/Avalonia.Visuals/Media/FontStyle.cs b/src/Avalonia.Base/Media/FontStyle.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/FontStyle.cs
rename to src/Avalonia.Base/Media/FontStyle.cs
diff --git a/src/Avalonia.Visuals/Media/FontWeight.cs b/src/Avalonia.Base/Media/FontWeight.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/FontWeight.cs
rename to src/Avalonia.Base/Media/FontWeight.cs
diff --git a/src/Avalonia.Visuals/Media/Fonts/FamilyNameCollection.cs b/src/Avalonia.Base/Media/Fonts/FamilyNameCollection.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Fonts/FamilyNameCollection.cs
rename to src/Avalonia.Base/Media/Fonts/FamilyNameCollection.cs
diff --git a/src/Avalonia.Visuals/Media/Fonts/FontFamilyKey.cs b/src/Avalonia.Base/Media/Fonts/FontFamilyKey.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Fonts/FontFamilyKey.cs
rename to src/Avalonia.Base/Media/Fonts/FontFamilyKey.cs
diff --git a/src/Avalonia.Visuals/Media/Fonts/FontFamilyLoader.cs b/src/Avalonia.Base/Media/Fonts/FontFamilyLoader.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Fonts/FontFamilyLoader.cs
rename to src/Avalonia.Base/Media/Fonts/FontFamilyLoader.cs
diff --git a/src/Avalonia.Visuals/Media/FormattedText.cs b/src/Avalonia.Base/Media/FormattedText.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/FormattedText.cs
rename to src/Avalonia.Base/Media/FormattedText.cs
diff --git a/src/Avalonia.Visuals/Media/FormattedTextLine.cs b/src/Avalonia.Base/Media/FormattedTextLine.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/FormattedTextLine.cs
rename to src/Avalonia.Base/Media/FormattedTextLine.cs
diff --git a/src/Avalonia.Visuals/Media/FormattedTextStyleSpan.cs b/src/Avalonia.Base/Media/FormattedTextStyleSpan.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/FormattedTextStyleSpan.cs
rename to src/Avalonia.Base/Media/FormattedTextStyleSpan.cs
diff --git a/src/Avalonia.Visuals/Media/Geometry.cs b/src/Avalonia.Base/Media/Geometry.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Geometry.cs
rename to src/Avalonia.Base/Media/Geometry.cs
diff --git a/src/Avalonia.Visuals/Media/GeometryDrawing.cs b/src/Avalonia.Base/Media/GeometryDrawing.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/GeometryDrawing.cs
rename to src/Avalonia.Base/Media/GeometryDrawing.cs
diff --git a/src/Avalonia.Visuals/Media/GlyphRun.cs b/src/Avalonia.Base/Media/GlyphRun.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/GlyphRun.cs
rename to src/Avalonia.Base/Media/GlyphRun.cs
diff --git a/src/Avalonia.Visuals/Media/GlyphRunDrawing.cs b/src/Avalonia.Base/Media/GlyphRunDrawing.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/GlyphRunDrawing.cs
rename to src/Avalonia.Base/Media/GlyphRunDrawing.cs
diff --git a/src/Avalonia.Visuals/Media/GlyphRunMetrics.cs b/src/Avalonia.Base/Media/GlyphRunMetrics.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/GlyphRunMetrics.cs
rename to src/Avalonia.Base/Media/GlyphRunMetrics.cs
diff --git a/src/Avalonia.Visuals/Media/GlyphTypeface.cs b/src/Avalonia.Base/Media/GlyphTypeface.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/GlyphTypeface.cs
rename to src/Avalonia.Base/Media/GlyphTypeface.cs
diff --git a/src/Avalonia.Visuals/Media/GradientBrush.cs b/src/Avalonia.Base/Media/GradientBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/GradientBrush.cs
rename to src/Avalonia.Base/Media/GradientBrush.cs
diff --git a/src/Avalonia.Visuals/Media/GradientSpreadMethod.cs b/src/Avalonia.Base/Media/GradientSpreadMethod.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/GradientSpreadMethod.cs
rename to src/Avalonia.Base/Media/GradientSpreadMethod.cs
diff --git a/src/Avalonia.Visuals/Media/GradientStop.cs b/src/Avalonia.Base/Media/GradientStop.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/GradientStop.cs
rename to src/Avalonia.Base/Media/GradientStop.cs
diff --git a/src/Avalonia.Visuals/Media/GradientStops.cs b/src/Avalonia.Base/Media/GradientStops.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/GradientStops.cs
rename to src/Avalonia.Base/Media/GradientStops.cs
diff --git a/src/Avalonia.Visuals/Media/IAffectsRender.cs b/src/Avalonia.Base/Media/IAffectsRender.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/IAffectsRender.cs
rename to src/Avalonia.Base/Media/IAffectsRender.cs
diff --git a/src/Avalonia.Visuals/Media/IBrush.cs b/src/Avalonia.Base/Media/IBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/IBrush.cs
rename to src/Avalonia.Base/Media/IBrush.cs
diff --git a/src/Avalonia.Visuals/Media/IConicGradientBrush.cs b/src/Avalonia.Base/Media/IConicGradientBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/IConicGradientBrush.cs
rename to src/Avalonia.Base/Media/IConicGradientBrush.cs
diff --git a/src/Avalonia.Visuals/Media/IDashStyle.cs b/src/Avalonia.Base/Media/IDashStyle.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/IDashStyle.cs
rename to src/Avalonia.Base/Media/IDashStyle.cs
diff --git a/src/Avalonia.Visuals/Media/IExperimentalAcrylicMaterial.cs b/src/Avalonia.Base/Media/IExperimentalAcrylicMaterial.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/IExperimentalAcrylicMaterial.cs
rename to src/Avalonia.Base/Media/IExperimentalAcrylicMaterial.cs
diff --git a/src/Avalonia.Visuals/Media/IGradientBrush.cs b/src/Avalonia.Base/Media/IGradientBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/IGradientBrush.cs
rename to src/Avalonia.Base/Media/IGradientBrush.cs
diff --git a/src/Avalonia.Visuals/Media/IGradientStop.cs b/src/Avalonia.Base/Media/IGradientStop.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/IGradientStop.cs
rename to src/Avalonia.Base/Media/IGradientStop.cs
diff --git a/src/Avalonia.Visuals/Media/IImage.cs b/src/Avalonia.Base/Media/IImage.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/IImage.cs
rename to src/Avalonia.Base/Media/IImage.cs
diff --git a/src/Avalonia.Visuals/Media/IImageBrush.cs b/src/Avalonia.Base/Media/IImageBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/IImageBrush.cs
rename to src/Avalonia.Base/Media/IImageBrush.cs
diff --git a/src/Avalonia.Visuals/Media/ILinearGradientBrush.cs b/src/Avalonia.Base/Media/ILinearGradientBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/ILinearGradientBrush.cs
rename to src/Avalonia.Base/Media/ILinearGradientBrush.cs
diff --git a/src/Avalonia.Visuals/Media/IMutableBrush.cs b/src/Avalonia.Base/Media/IMutableBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/IMutableBrush.cs
rename to src/Avalonia.Base/Media/IMutableBrush.cs
diff --git a/src/Avalonia.Visuals/Media/IMutableExperimentalAcrylicMaterial.cs b/src/Avalonia.Base/Media/IMutableExperimentalAcrylicMaterial.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/IMutableExperimentalAcrylicMaterial.cs
rename to src/Avalonia.Base/Media/IMutableExperimentalAcrylicMaterial.cs
diff --git a/src/Avalonia.Visuals/Media/IMutableTransform.cs b/src/Avalonia.Base/Media/IMutableTransform.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/IMutableTransform.cs
rename to src/Avalonia.Base/Media/IMutableTransform.cs
diff --git a/src/Avalonia.Visuals/Media/IPen.cs b/src/Avalonia.Base/Media/IPen.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/IPen.cs
rename to src/Avalonia.Base/Media/IPen.cs
diff --git a/src/Avalonia.Visuals/Media/IRadialGradientBrush.cs b/src/Avalonia.Base/Media/IRadialGradientBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/IRadialGradientBrush.cs
rename to src/Avalonia.Base/Media/IRadialGradientBrush.cs
diff --git a/src/Avalonia.Visuals/Media/ISolidColorBrush.cs b/src/Avalonia.Base/Media/ISolidColorBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/ISolidColorBrush.cs
rename to src/Avalonia.Base/Media/ISolidColorBrush.cs
diff --git a/src/Avalonia.Visuals/Media/ITileBrush.cs b/src/Avalonia.Base/Media/ITileBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/ITileBrush.cs
rename to src/Avalonia.Base/Media/ITileBrush.cs
diff --git a/src/Avalonia.Visuals/Media/ITransform.cs b/src/Avalonia.Base/Media/ITransform.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/ITransform.cs
rename to src/Avalonia.Base/Media/ITransform.cs
diff --git a/src/Avalonia.Visuals/Media/IVisualBrush.cs b/src/Avalonia.Base/Media/IVisualBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/IVisualBrush.cs
rename to src/Avalonia.Base/Media/IVisualBrush.cs
diff --git a/src/Avalonia.Visuals/Media/ImageBrush.cs b/src/Avalonia.Base/Media/ImageBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/ImageBrush.cs
rename to src/Avalonia.Base/Media/ImageBrush.cs
diff --git a/src/Avalonia.Visuals/Media/Imaging/Bitmap.cs b/src/Avalonia.Base/Media/Imaging/Bitmap.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Imaging/Bitmap.cs
rename to src/Avalonia.Base/Media/Imaging/Bitmap.cs
diff --git a/src/Avalonia.Visuals/Media/Imaging/BitmapBlendingMode.cs b/src/Avalonia.Base/Media/Imaging/BitmapBlendingMode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Imaging/BitmapBlendingMode.cs
rename to src/Avalonia.Base/Media/Imaging/BitmapBlendingMode.cs
diff --git a/src/Avalonia.Visuals/Media/Imaging/BitmapInterpolationMode.cs b/src/Avalonia.Base/Media/Imaging/BitmapInterpolationMode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Imaging/BitmapInterpolationMode.cs
rename to src/Avalonia.Base/Media/Imaging/BitmapInterpolationMode.cs
diff --git a/src/Avalonia.Visuals/Media/Imaging/CroppedBitmap.cs b/src/Avalonia.Base/Media/Imaging/CroppedBitmap.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Imaging/CroppedBitmap.cs
rename to src/Avalonia.Base/Media/Imaging/CroppedBitmap.cs
diff --git a/src/Avalonia.Visuals/Media/Imaging/IBitmap.cs b/src/Avalonia.Base/Media/Imaging/IBitmap.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Imaging/IBitmap.cs
rename to src/Avalonia.Base/Media/Imaging/IBitmap.cs
diff --git a/src/Avalonia.Visuals/Media/Imaging/RenderTargetBitmap.cs b/src/Avalonia.Base/Media/Imaging/RenderTargetBitmap.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Imaging/RenderTargetBitmap.cs
rename to src/Avalonia.Base/Media/Imaging/RenderTargetBitmap.cs
diff --git a/src/Avalonia.Visuals/Media/Imaging/WriteableBitmap.cs b/src/Avalonia.Base/Media/Imaging/WriteableBitmap.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Imaging/WriteableBitmap.cs
rename to src/Avalonia.Base/Media/Imaging/WriteableBitmap.cs
diff --git a/src/Avalonia.Visuals/Media/Immutable/ImmutableConicGradientBrush.cs b/src/Avalonia.Base/Media/Immutable/ImmutableConicGradientBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Immutable/ImmutableConicGradientBrush.cs
rename to src/Avalonia.Base/Media/Immutable/ImmutableConicGradientBrush.cs
diff --git a/src/Avalonia.Visuals/Media/Immutable/ImmutableDashStyle.cs b/src/Avalonia.Base/Media/Immutable/ImmutableDashStyle.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Immutable/ImmutableDashStyle.cs
rename to src/Avalonia.Base/Media/Immutable/ImmutableDashStyle.cs
diff --git a/src/Avalonia.Visuals/Media/Immutable/ImmutableGradientBrush.cs b/src/Avalonia.Base/Media/Immutable/ImmutableGradientBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Immutable/ImmutableGradientBrush.cs
rename to src/Avalonia.Base/Media/Immutable/ImmutableGradientBrush.cs
diff --git a/src/Avalonia.Visuals/Media/Immutable/ImmutableGradientStop.cs b/src/Avalonia.Base/Media/Immutable/ImmutableGradientStop.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Immutable/ImmutableGradientStop.cs
rename to src/Avalonia.Base/Media/Immutable/ImmutableGradientStop.cs
diff --git a/src/Avalonia.Visuals/Media/Immutable/ImmutableImageBrush.cs b/src/Avalonia.Base/Media/Immutable/ImmutableImageBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Immutable/ImmutableImageBrush.cs
rename to src/Avalonia.Base/Media/Immutable/ImmutableImageBrush.cs
diff --git a/src/Avalonia.Visuals/Media/Immutable/ImmutableLinearGradientBrush.cs b/src/Avalonia.Base/Media/Immutable/ImmutableLinearGradientBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Immutable/ImmutableLinearGradientBrush.cs
rename to src/Avalonia.Base/Media/Immutable/ImmutableLinearGradientBrush.cs
diff --git a/src/Avalonia.Visuals/Media/Immutable/ImmutablePen.cs b/src/Avalonia.Base/Media/Immutable/ImmutablePen.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Immutable/ImmutablePen.cs
rename to src/Avalonia.Base/Media/Immutable/ImmutablePen.cs
diff --git a/src/Avalonia.Visuals/Media/Immutable/ImmutableRadialGradientBrush.cs b/src/Avalonia.Base/Media/Immutable/ImmutableRadialGradientBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Immutable/ImmutableRadialGradientBrush.cs
rename to src/Avalonia.Base/Media/Immutable/ImmutableRadialGradientBrush.cs
diff --git a/src/Avalonia.Visuals/Media/Immutable/ImmutableSolidColorBrush.cs b/src/Avalonia.Base/Media/Immutable/ImmutableSolidColorBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Immutable/ImmutableSolidColorBrush.cs
rename to src/Avalonia.Base/Media/Immutable/ImmutableSolidColorBrush.cs
diff --git a/src/Avalonia.Visuals/Media/Immutable/ImmutableTextDecoration.cs b/src/Avalonia.Base/Media/Immutable/ImmutableTextDecoration.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Immutable/ImmutableTextDecoration.cs
rename to src/Avalonia.Base/Media/Immutable/ImmutableTextDecoration.cs
diff --git a/src/Avalonia.Visuals/Media/Immutable/ImmutableTileBrush.cs b/src/Avalonia.Base/Media/Immutable/ImmutableTileBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Immutable/ImmutableTileBrush.cs
rename to src/Avalonia.Base/Media/Immutable/ImmutableTileBrush.cs
diff --git a/src/Avalonia.Visuals/Media/Immutable/ImmutableVisualBrush.cs b/src/Avalonia.Base/Media/Immutable/ImmutableVisualBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Immutable/ImmutableVisualBrush.cs
rename to src/Avalonia.Base/Media/Immutable/ImmutableVisualBrush.cs
diff --git a/src/Avalonia.Visuals/Media/ImmutableExperimentalAcrylicMaterial.cs b/src/Avalonia.Base/Media/ImmutableExperimentalAcrylicMaterial.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/ImmutableExperimentalAcrylicMaterial.cs
rename to src/Avalonia.Base/Media/ImmutableExperimentalAcrylicMaterial.cs
diff --git a/src/Avalonia.Visuals/Media/KnownColors.cs b/src/Avalonia.Base/Media/KnownColors.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/KnownColors.cs
rename to src/Avalonia.Base/Media/KnownColors.cs
diff --git a/src/Avalonia.Visuals/Media/LineGeometry.cs b/src/Avalonia.Base/Media/LineGeometry.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/LineGeometry.cs
rename to src/Avalonia.Base/Media/LineGeometry.cs
diff --git a/src/Avalonia.Visuals/Media/LineSegment.cs b/src/Avalonia.Base/Media/LineSegment.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/LineSegment.cs
rename to src/Avalonia.Base/Media/LineSegment.cs
diff --git a/src/Avalonia.Visuals/Media/LinearGradientBrush.cs b/src/Avalonia.Base/Media/LinearGradientBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/LinearGradientBrush.cs
rename to src/Avalonia.Base/Media/LinearGradientBrush.cs
diff --git a/src/Avalonia.Visuals/Media/MaterialExtensions.cs b/src/Avalonia.Base/Media/MaterialExtensions.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/MaterialExtensions.cs
rename to src/Avalonia.Base/Media/MaterialExtensions.cs
diff --git a/src/Avalonia.Visuals/Media/MatrixTransform.cs b/src/Avalonia.Base/Media/MatrixTransform.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/MatrixTransform.cs
rename to src/Avalonia.Base/Media/MatrixTransform.cs
diff --git a/src/Avalonia.Visuals/Media/MediaExtensions.cs b/src/Avalonia.Base/Media/MediaExtensions.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/MediaExtensions.cs
rename to src/Avalonia.Base/Media/MediaExtensions.cs
diff --git a/src/Avalonia.Visuals/Media/PathFigure.cs b/src/Avalonia.Base/Media/PathFigure.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/PathFigure.cs
rename to src/Avalonia.Base/Media/PathFigure.cs
diff --git a/src/Avalonia.Visuals/Media/PathGeometry.cs b/src/Avalonia.Base/Media/PathGeometry.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/PathGeometry.cs
rename to src/Avalonia.Base/Media/PathGeometry.cs
diff --git a/src/Avalonia.Visuals/Media/PathGeometryCollections.cs b/src/Avalonia.Base/Media/PathGeometryCollections.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/PathGeometryCollections.cs
rename to src/Avalonia.Base/Media/PathGeometryCollections.cs
diff --git a/src/Avalonia.Visuals/Media/PathMarkupParser.cs b/src/Avalonia.Base/Media/PathMarkupParser.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/PathMarkupParser.cs
rename to src/Avalonia.Base/Media/PathMarkupParser.cs
diff --git a/src/Avalonia.Visuals/Media/PathSegment.cs b/src/Avalonia.Base/Media/PathSegment.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/PathSegment.cs
rename to src/Avalonia.Base/Media/PathSegment.cs
diff --git a/src/Avalonia.Visuals/Media/Pen.cs b/src/Avalonia.Base/Media/Pen.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Pen.cs
rename to src/Avalonia.Base/Media/Pen.cs
diff --git a/src/Avalonia.Visuals/Media/PenLineCap.cs b/src/Avalonia.Base/Media/PenLineCap.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/PenLineCap.cs
rename to src/Avalonia.Base/Media/PenLineCap.cs
diff --git a/src/Avalonia.Visuals/Media/PenLineJoin.cs b/src/Avalonia.Base/Media/PenLineJoin.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/PenLineJoin.cs
rename to src/Avalonia.Base/Media/PenLineJoin.cs
diff --git a/src/Avalonia.Visuals/Media/PixelPoint.cs b/src/Avalonia.Base/Media/PixelPoint.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/PixelPoint.cs
rename to src/Avalonia.Base/Media/PixelPoint.cs
diff --git a/src/Avalonia.Visuals/Media/PixelRect.cs b/src/Avalonia.Base/Media/PixelRect.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/PixelRect.cs
rename to src/Avalonia.Base/Media/PixelRect.cs
diff --git a/src/Avalonia.Visuals/Media/PixelSize.cs b/src/Avalonia.Base/Media/PixelSize.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/PixelSize.cs
rename to src/Avalonia.Base/Media/PixelSize.cs
diff --git a/src/Avalonia.Visuals/Media/PixelVector.cs b/src/Avalonia.Base/Media/PixelVector.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/PixelVector.cs
rename to src/Avalonia.Base/Media/PixelVector.cs
diff --git a/src/Avalonia.Visuals/Media/PolylineGeometry.cs b/src/Avalonia.Base/Media/PolylineGeometry.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/PolylineGeometry.cs
rename to src/Avalonia.Base/Media/PolylineGeometry.cs
diff --git a/src/Avalonia.Visuals/Media/QuadraticBezierSegment .cs b/src/Avalonia.Base/Media/QuadraticBezierSegment .cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/QuadraticBezierSegment .cs
rename to src/Avalonia.Base/Media/QuadraticBezierSegment .cs
diff --git a/src/Avalonia.Visuals/Media/RadialGradientBrush.cs b/src/Avalonia.Base/Media/RadialGradientBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/RadialGradientBrush.cs
rename to src/Avalonia.Base/Media/RadialGradientBrush.cs
diff --git a/src/Avalonia.Visuals/Media/RectangleGeometry.cs b/src/Avalonia.Base/Media/RectangleGeometry.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/RectangleGeometry.cs
rename to src/Avalonia.Base/Media/RectangleGeometry.cs
diff --git a/src/Avalonia.Visuals/Media/RenderOptions.cs b/src/Avalonia.Base/Media/RenderOptions.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/RenderOptions.cs
rename to src/Avalonia.Base/Media/RenderOptions.cs
diff --git a/src/Avalonia.Visuals/Media/RotateTransform.cs b/src/Avalonia.Base/Media/RotateTransform.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/RotateTransform.cs
rename to src/Avalonia.Base/Media/RotateTransform.cs
diff --git a/src/Avalonia.Visuals/Media/ScaleTransform.cs b/src/Avalonia.Base/Media/ScaleTransform.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/ScaleTransform.cs
rename to src/Avalonia.Base/Media/ScaleTransform.cs
diff --git a/src/Avalonia.Visuals/Media/SkewTransform.cs b/src/Avalonia.Base/Media/SkewTransform.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/SkewTransform.cs
rename to src/Avalonia.Base/Media/SkewTransform.cs
diff --git a/src/Avalonia.Visuals/Media/SolidColorBrush.cs b/src/Avalonia.Base/Media/SolidColorBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/SolidColorBrush.cs
rename to src/Avalonia.Base/Media/SolidColorBrush.cs
diff --git a/src/Avalonia.Visuals/Media/StreamGeometry.cs b/src/Avalonia.Base/Media/StreamGeometry.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/StreamGeometry.cs
rename to src/Avalonia.Base/Media/StreamGeometry.cs
diff --git a/src/Avalonia.Visuals/Media/StreamGeometryContext.cs b/src/Avalonia.Base/Media/StreamGeometryContext.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/StreamGeometryContext.cs
rename to src/Avalonia.Base/Media/StreamGeometryContext.cs
diff --git a/src/Avalonia.Visuals/Media/Stretch.cs b/src/Avalonia.Base/Media/Stretch.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Stretch.cs
rename to src/Avalonia.Base/Media/Stretch.cs
diff --git a/src/Avalonia.Visuals/Media/StretchDirection.cs b/src/Avalonia.Base/Media/StretchDirection.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/StretchDirection.cs
rename to src/Avalonia.Base/Media/StretchDirection.cs
diff --git a/src/Avalonia.Visuals/Media/SweepDirection.cs b/src/Avalonia.Base/Media/SweepDirection.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/SweepDirection.cs
rename to src/Avalonia.Base/Media/SweepDirection.cs
diff --git a/src/Avalonia.Visuals/Media/TextAlignment.cs b/src/Avalonia.Base/Media/TextAlignment.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextAlignment.cs
rename to src/Avalonia.Base/Media/TextAlignment.cs
diff --git a/src/Avalonia.Visuals/Media/TextDecoration.cs b/src/Avalonia.Base/Media/TextDecoration.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextDecoration.cs
rename to src/Avalonia.Base/Media/TextDecoration.cs
diff --git a/src/Avalonia.Visuals/Media/TextDecorationCollection.cs b/src/Avalonia.Base/Media/TextDecorationCollection.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextDecorationCollection.cs
rename to src/Avalonia.Base/Media/TextDecorationCollection.cs
diff --git a/src/Avalonia.Visuals/Media/TextDecorationLocation.cs b/src/Avalonia.Base/Media/TextDecorationLocation.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextDecorationLocation.cs
rename to src/Avalonia.Base/Media/TextDecorationLocation.cs
diff --git a/src/Avalonia.Visuals/Media/TextDecorationUnit.cs b/src/Avalonia.Base/Media/TextDecorationUnit.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextDecorationUnit.cs
rename to src/Avalonia.Base/Media/TextDecorationUnit.cs
diff --git a/src/Avalonia.Visuals/Media/TextDecorations.cs b/src/Avalonia.Base/Media/TextDecorations.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextDecorations.cs
rename to src/Avalonia.Base/Media/TextDecorations.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/DrawableTextRun.cs b/src/Avalonia.Base/Media/TextFormatting/DrawableTextRun.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/DrawableTextRun.cs
rename to src/Avalonia.Base/Media/TextFormatting/DrawableTextRun.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/FontMetrics.cs b/src/Avalonia.Base/Media/TextFormatting/FontMetrics.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/FontMetrics.cs
rename to src/Avalonia.Base/Media/TextFormatting/FontMetrics.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/GenericTextParagraphProperties.cs b/src/Avalonia.Base/Media/TextFormatting/GenericTextParagraphProperties.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/GenericTextParagraphProperties.cs
rename to src/Avalonia.Base/Media/TextFormatting/GenericTextParagraphProperties.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/GenericTextRunProperties.cs b/src/Avalonia.Base/Media/TextFormatting/GenericTextRunProperties.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/GenericTextRunProperties.cs
rename to src/Avalonia.Base/Media/TextFormatting/GenericTextRunProperties.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/ITextSource.cs b/src/Avalonia.Base/Media/TextFormatting/ITextSource.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/ITextSource.cs
rename to src/Avalonia.Base/Media/TextFormatting/ITextSource.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/LogicalDirection.cs b/src/Avalonia.Base/Media/TextFormatting/LogicalDirection.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/LogicalDirection.cs
rename to src/Avalonia.Base/Media/TextFormatting/LogicalDirection.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/ShapeableTextCharacters.cs b/src/Avalonia.Base/Media/TextFormatting/ShapeableTextCharacters.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/ShapeableTextCharacters.cs
rename to src/Avalonia.Base/Media/TextFormatting/ShapeableTextCharacters.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/ShapedTextCharacters.cs b/src/Avalonia.Base/Media/TextFormatting/ShapedTextCharacters.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/ShapedTextCharacters.cs
rename to src/Avalonia.Base/Media/TextFormatting/ShapedTextCharacters.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextCharacters.cs b/src/Avalonia.Base/Media/TextFormatting/TextCharacters.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextCharacters.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextCharacters.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextCollapsingProperties.cs b/src/Avalonia.Base/Media/TextFormatting/TextCollapsingProperties.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextCollapsingProperties.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextCollapsingProperties.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextCollapsingStyle.cs b/src/Avalonia.Base/Media/TextFormatting/TextCollapsingStyle.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextCollapsingStyle.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextCollapsingStyle.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextEndOfLine.cs b/src/Avalonia.Base/Media/TextFormatting/TextEndOfLine.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextEndOfLine.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextEndOfLine.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextEndOfParagraph.cs b/src/Avalonia.Base/Media/TextFormatting/TextEndOfParagraph.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextEndOfParagraph.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextEndOfParagraph.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextFormatter.cs b/src/Avalonia.Base/Media/TextFormatting/TextFormatter.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextFormatter.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextFormatter.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextFormatterImpl.cs b/src/Avalonia.Base/Media/TextFormatting/TextFormatterImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextFormatterImpl.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextFormatterImpl.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextLayout.cs b/src/Avalonia.Base/Media/TextFormatting/TextLayout.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextLayout.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextLayout.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextLine.cs b/src/Avalonia.Base/Media/TextFormatting/TextLine.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextLine.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextLine.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextLineBreak.cs b/src/Avalonia.Base/Media/TextFormatting/TextLineBreak.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextLineBreak.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextLineBreak.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextLineImpl.cs b/src/Avalonia.Base/Media/TextFormatting/TextLineImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextLineImpl.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextLineImpl.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextLineMetrics.cs b/src/Avalonia.Base/Media/TextFormatting/TextLineMetrics.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextLineMetrics.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextLineMetrics.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextParagraphProperties.cs b/src/Avalonia.Base/Media/TextFormatting/TextParagraphProperties.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextParagraphProperties.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextParagraphProperties.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextRange.cs b/src/Avalonia.Base/Media/TextFormatting/TextRange.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextRange.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextRange.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextRun.cs b/src/Avalonia.Base/Media/TextFormatting/TextRun.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextRun.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextRun.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextRunProperties.cs b/src/Avalonia.Base/Media/TextFormatting/TextRunProperties.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextRunProperties.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextRunProperties.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextShaper.cs b/src/Avalonia.Base/Media/TextFormatting/TextShaper.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextShaper.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextShaper.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextTrailingCharacterEllipsis.cs b/src/Avalonia.Base/Media/TextFormatting/TextTrailingCharacterEllipsis.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextTrailingCharacterEllipsis.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextTrailingCharacterEllipsis.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/TextTrailingWordEllipsis.cs b/src/Avalonia.Base/Media/TextFormatting/TextTrailingWordEllipsis.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/TextTrailingWordEllipsis.cs
rename to src/Avalonia.Base/Media/TextFormatting/TextTrailingWordEllipsis.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/BiDiClass.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/BiDiClass.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/BiDiClass.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/BiDiClass.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/BinaryReaderExtensions.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/BinaryReaderExtensions.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/BinaryReaderExtensions.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/BinaryReaderExtensions.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/Codepoint.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/Codepoint.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/Codepoint.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/Codepoint.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/CodepointEnumerator.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/CodepointEnumerator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/CodepointEnumerator.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/CodepointEnumerator.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/GeneralCategory.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/GeneralCategory.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/GeneralCategory.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/GeneralCategory.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/Grapheme.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/Grapheme.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/Grapheme.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/Grapheme.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/GraphemeBreakClass.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/GraphemeBreakClass.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/GraphemeBreakClass.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/GraphemeBreakClass.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/GraphemeEnumerator.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/GraphemeEnumerator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/GraphemeEnumerator.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/GraphemeEnumerator.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/LineBreak.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/LineBreak.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/LineBreak.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/LineBreak.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/LineBreakClass.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/LineBreakClass.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/LineBreakClass.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/LineBreakClass.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/LineBreakEnumerator.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/LineBreakEnumerator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/LineBreakEnumerator.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/LineBreakEnumerator.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/LineBreakPairTable.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/LineBreakPairTable.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/LineBreakPairTable.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/LineBreakPairTable.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/PropertyValueAliasHelper.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/PropertyValueAliasHelper.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/PropertyValueAliasHelper.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/PropertyValueAliasHelper.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/Script.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/Script.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/Script.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/Script.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/UnicodeData.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/UnicodeData.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/UnicodeData.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/UnicodeData.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/UnicodeTrie.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/UnicodeTrie.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/UnicodeTrie.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/UnicodeTrie.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/UnicodeTrieBuilder.Constants.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/UnicodeTrieBuilder.Constants.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/UnicodeTrieBuilder.Constants.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/UnicodeTrieBuilder.Constants.cs
diff --git a/src/Avalonia.Visuals/Media/TextFormatting/Unicode/UnicodeTrieBuilder.cs b/src/Avalonia.Base/Media/TextFormatting/Unicode/UnicodeTrieBuilder.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextFormatting/Unicode/UnicodeTrieBuilder.cs
rename to src/Avalonia.Base/Media/TextFormatting/Unicode/UnicodeTrieBuilder.cs
diff --git a/src/Avalonia.Visuals/Media/TextHitTestResult.cs b/src/Avalonia.Base/Media/TextHitTestResult.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextHitTestResult.cs
rename to src/Avalonia.Base/Media/TextHitTestResult.cs
diff --git a/src/Avalonia.Visuals/Media/TextTrimming.cs b/src/Avalonia.Base/Media/TextTrimming.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextTrimming.cs
rename to src/Avalonia.Base/Media/TextTrimming.cs
diff --git a/src/Avalonia.Visuals/Media/TextWrapping.cs b/src/Avalonia.Base/Media/TextWrapping.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TextWrapping.cs
rename to src/Avalonia.Base/Media/TextWrapping.cs
diff --git a/src/Avalonia.Visuals/Media/TileBrush.cs b/src/Avalonia.Base/Media/TileBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TileBrush.cs
rename to src/Avalonia.Base/Media/TileBrush.cs
diff --git a/src/Avalonia.Visuals/Media/Transform.cs b/src/Avalonia.Base/Media/Transform.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Transform.cs
rename to src/Avalonia.Base/Media/Transform.cs
diff --git a/src/Avalonia.Visuals/Media/TransformConverter.cs b/src/Avalonia.Base/Media/TransformConverter.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TransformConverter.cs
rename to src/Avalonia.Base/Media/TransformConverter.cs
diff --git a/src/Avalonia.Visuals/Media/TransformGroup.cs b/src/Avalonia.Base/Media/TransformGroup.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TransformGroup.cs
rename to src/Avalonia.Base/Media/TransformGroup.cs
diff --git a/src/Avalonia.Visuals/Media/Transformation/InterpolationUtilities.cs b/src/Avalonia.Base/Media/Transformation/InterpolationUtilities.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Transformation/InterpolationUtilities.cs
rename to src/Avalonia.Base/Media/Transformation/InterpolationUtilities.cs
diff --git a/src/Avalonia.Visuals/Media/Transformation/TransformOperation.cs b/src/Avalonia.Base/Media/Transformation/TransformOperation.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Transformation/TransformOperation.cs
rename to src/Avalonia.Base/Media/Transformation/TransformOperation.cs
diff --git a/src/Avalonia.Visuals/Media/Transformation/TransformOperations.cs b/src/Avalonia.Base/Media/Transformation/TransformOperations.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Transformation/TransformOperations.cs
rename to src/Avalonia.Base/Media/Transformation/TransformOperations.cs
diff --git a/src/Avalonia.Visuals/Media/Transformation/TransformParser.cs b/src/Avalonia.Base/Media/Transformation/TransformParser.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Transformation/TransformParser.cs
rename to src/Avalonia.Base/Media/Transformation/TransformParser.cs
diff --git a/src/Avalonia.Visuals/Media/TranslateTransform.cs b/src/Avalonia.Base/Media/TranslateTransform.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/TranslateTransform.cs
rename to src/Avalonia.Base/Media/TranslateTransform.cs
diff --git a/src/Avalonia.Visuals/Media/Typeface.cs b/src/Avalonia.Base/Media/Typeface.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/Typeface.cs
rename to src/Avalonia.Base/Media/Typeface.cs
diff --git a/src/Avalonia.Visuals/Media/VisualBrush.cs b/src/Avalonia.Base/Media/VisualBrush.cs
similarity index 100%
rename from src/Avalonia.Visuals/Media/VisualBrush.cs
rename to src/Avalonia.Base/Media/VisualBrush.cs
diff --git a/src/Avalonia.Visuals/Platform/AlphaFormat.cs b/src/Avalonia.Base/Platform/AlphaFormat.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/AlphaFormat.cs
rename to src/Avalonia.Base/Platform/AlphaFormat.cs
diff --git a/src/Avalonia.Visuals/Platform/ExportRenderingSubsystemAttribute.cs b/src/Avalonia.Base/Platform/ExportRenderingSubsystemAttribute.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/ExportRenderingSubsystemAttribute.cs
rename to src/Avalonia.Base/Platform/ExportRenderingSubsystemAttribute.cs
diff --git a/src/Avalonia.Visuals/Platform/IBitmapImpl.cs b/src/Avalonia.Base/Platform/IBitmapImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IBitmapImpl.cs
rename to src/Avalonia.Base/Platform/IBitmapImpl.cs
diff --git a/src/Avalonia.Visuals/Platform/IDrawingContextImpl.cs b/src/Avalonia.Base/Platform/IDrawingContextImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IDrawingContextImpl.cs
rename to src/Avalonia.Base/Platform/IDrawingContextImpl.cs
diff --git a/src/Avalonia.Visuals/Platform/IDrawingContextWithAcrylicLikeSupport.cs b/src/Avalonia.Base/Platform/IDrawingContextWithAcrylicLikeSupport.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IDrawingContextWithAcrylicLikeSupport.cs
rename to src/Avalonia.Base/Platform/IDrawingContextWithAcrylicLikeSupport.cs
diff --git a/src/Avalonia.Visuals/Platform/IFontManagerImpl.cs b/src/Avalonia.Base/Platform/IFontManagerImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IFontManagerImpl.cs
rename to src/Avalonia.Base/Platform/IFontManagerImpl.cs
diff --git a/src/Avalonia.Visuals/Platform/IFormattedTextImpl.cs b/src/Avalonia.Base/Platform/IFormattedTextImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IFormattedTextImpl.cs
rename to src/Avalonia.Base/Platform/IFormattedTextImpl.cs
diff --git a/src/Avalonia.Visuals/Platform/IGeometryContext.cs b/src/Avalonia.Base/Platform/IGeometryContext.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IGeometryContext.cs
rename to src/Avalonia.Base/Platform/IGeometryContext.cs
diff --git a/src/Avalonia.Visuals/Platform/IGeometryImpl.cs b/src/Avalonia.Base/Platform/IGeometryImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IGeometryImpl.cs
rename to src/Avalonia.Base/Platform/IGeometryImpl.cs
diff --git a/src/Avalonia.Visuals/Platform/IGlyphRunImpl.cs b/src/Avalonia.Base/Platform/IGlyphRunImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IGlyphRunImpl.cs
rename to src/Avalonia.Base/Platform/IGlyphRunImpl.cs
diff --git a/src/Avalonia.Visuals/Platform/IGlyphTypefaceImpl.cs b/src/Avalonia.Base/Platform/IGlyphTypefaceImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IGlyphTypefaceImpl.cs
rename to src/Avalonia.Base/Platform/IGlyphTypefaceImpl.cs
diff --git a/src/Avalonia.Visuals/Platform/ILockedFramebuffer.cs b/src/Avalonia.Base/Platform/ILockedFramebuffer.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/ILockedFramebuffer.cs
rename to src/Avalonia.Base/Platform/ILockedFramebuffer.cs
diff --git a/src/Avalonia.Visuals/Platform/IModuleEnvironmentChecker.cs b/src/Avalonia.Base/Platform/IModuleEnvironmentChecker.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IModuleEnvironmentChecker.cs
rename to src/Avalonia.Base/Platform/IModuleEnvironmentChecker.cs
diff --git a/src/Avalonia.Visuals/Platform/IPlatformRenderInterface.cs b/src/Avalonia.Base/Platform/IPlatformRenderInterface.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IPlatformRenderInterface.cs
rename to src/Avalonia.Base/Platform/IPlatformRenderInterface.cs
diff --git a/src/Avalonia.Visuals/Platform/IPlatformSettings.cs b/src/Avalonia.Base/Platform/IPlatformSettings.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IPlatformSettings.cs
rename to src/Avalonia.Base/Platform/IPlatformSettings.cs
diff --git a/src/Avalonia.Visuals/Platform/IRenderTarget.cs b/src/Avalonia.Base/Platform/IRenderTarget.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IRenderTarget.cs
rename to src/Avalonia.Base/Platform/IRenderTarget.cs
diff --git a/src/Avalonia.Visuals/Platform/IRenderTargetBitmapImpl.cs b/src/Avalonia.Base/Platform/IRenderTargetBitmapImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IRenderTargetBitmapImpl.cs
rename to src/Avalonia.Base/Platform/IRenderTargetBitmapImpl.cs
diff --git a/src/Avalonia.Visuals/Platform/IStreamGeometryContextImpl.cs b/src/Avalonia.Base/Platform/IStreamGeometryContextImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IStreamGeometryContextImpl.cs
rename to src/Avalonia.Base/Platform/IStreamGeometryContextImpl.cs
diff --git a/src/Avalonia.Visuals/Platform/IStreamGeometryImpl.cs b/src/Avalonia.Base/Platform/IStreamGeometryImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IStreamGeometryImpl.cs
rename to src/Avalonia.Base/Platform/IStreamGeometryImpl.cs
diff --git a/src/Avalonia.Visuals/Platform/ITextShaperImpl.cs b/src/Avalonia.Base/Platform/ITextShaperImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/ITextShaperImpl.cs
rename to src/Avalonia.Base/Platform/ITextShaperImpl.cs
diff --git a/src/Avalonia.Visuals/Platform/ITransformedGeometryImpl.cs b/src/Avalonia.Base/Platform/ITransformedGeometryImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/ITransformedGeometryImpl.cs
rename to src/Avalonia.Base/Platform/ITransformedGeometryImpl.cs
diff --git a/src/Avalonia.Visuals/Platform/IWriteableBitmapImpl.cs b/src/Avalonia.Base/Platform/IWriteableBitmapImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/IWriteableBitmapImpl.cs
rename to src/Avalonia.Base/Platform/IWriteableBitmapImpl.cs
diff --git a/src/Avalonia.Visuals/Platform/LockedFramebuffer.cs b/src/Avalonia.Base/Platform/LockedFramebuffer.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/LockedFramebuffer.cs
rename to src/Avalonia.Base/Platform/LockedFramebuffer.cs
diff --git a/src/Avalonia.Visuals/Platform/PathGeometryContext.cs b/src/Avalonia.Base/Platform/PathGeometryContext.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/PathGeometryContext.cs
rename to src/Avalonia.Base/Platform/PathGeometryContext.cs
diff --git a/src/Avalonia.Visuals/Platform/PixelFormat.cs b/src/Avalonia.Base/Platform/PixelFormat.cs
similarity index 100%
rename from src/Avalonia.Visuals/Platform/PixelFormat.cs
rename to src/Avalonia.Base/Platform/PixelFormat.cs
diff --git a/src/Avalonia.Visuals/Point.cs b/src/Avalonia.Base/Point.cs
similarity index 100%
rename from src/Avalonia.Visuals/Point.cs
rename to src/Avalonia.Base/Point.cs
diff --git a/src/Avalonia.Visuals/Points.cs b/src/Avalonia.Base/Points.cs
similarity index 100%
rename from src/Avalonia.Visuals/Points.cs
rename to src/Avalonia.Base/Points.cs
diff --git a/src/Avalonia.Base/Properties/AssemblyInfo.cs b/src/Avalonia.Base/Properties/AssemblyInfo.cs
index b054c186ae..97b3310c02 100644
--- a/src/Avalonia.Base/Properties/AssemblyInfo.cs
+++ b/src/Avalonia.Base/Properties/AssemblyInfo.cs
@@ -1,22 +1,46 @@
-// Licensed under the MIT license. See licence.md file in the project root for full license information.
-
using System.Reflection;
using System.Runtime.CompilerServices;
using Avalonia.Metadata;
+[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia")]
+[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Animation")]
+[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Controls")]
[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Data.Converters")]
+[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Input")]
+[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Input.GestureRecognizers")]
+[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Layout")]
+[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.LogicalTree")]
+[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Media")]
+[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Media.Imaging")]
+[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Media.Transformation")]
+[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Styling")]
+
#if SIGNED_BUILD
+[assembly: InternalsVisibleTo("Avalonia.Animation.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
[assembly: InternalsVisibleTo("Avalonia.Base.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
-[assembly: InternalsVisibleTo("Avalonia.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
-[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]
[assembly: InternalsVisibleTo("Avalonia.Controls.DataGrid, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
+[assembly: InternalsVisibleTo("Avalonia.Direct2D1.RenderTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
+[assembly: InternalsVisibleTo("Avalonia.Layout.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
+[assembly: InternalsVisibleTo("Avalonia.LeakTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
[assembly: InternalsVisibleTo("Avalonia.Markup.Xaml.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
-[assembly: InternalsVisibleTo("Avalonia.Visuals, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
+[assembly: InternalsVisibleTo("Avalonia.Skia.RenderTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
+[assembly: InternalsVisibleTo("Avalonia.Skia.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
+[assembly: InternalsVisibleTo("Avalonia.Styling.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
+[assembly: InternalsVisibleTo("Avalonia.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
+[assembly: InternalsVisibleTo("Avalonia.Visuals.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
+[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c547cac37abd99c8db225ef2f6c8a3602f3b3606cc9891605d02baa56104f4cfc0734aa39b93bf7852f7d9266654753cc297e7d2edfe0bac1cdcf9f717241550e0a7b191195b7667bb4f64bcb8e2121380fd1d9d46ad2d92d2d15605093924cceaf74c4861eff62abf69b9291ed0a340e113be11e6a7d3113e92484cf7045cc7")]
#else
+[assembly: InternalsVisibleTo("Avalonia.Animation.UnitTests)]
[assembly: InternalsVisibleTo("Avalonia.Base.UnitTests")]
-[assembly: InternalsVisibleTo("Avalonia.UnitTests")]
-[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]
[assembly: InternalsVisibleTo("Avalonia.Controls.DataGrid")]
+[assembly: InternalsVisibleTo("Avalonia.Direct2D1.RenderTests)]
+[assembly: InternalsVisibleTo("Avalonia.Layout.UnitTests)]
+[assembly: InternalsVisibleTo("Avalonia.LeakTests")]
[assembly: InternalsVisibleTo("Avalonia.Markup.Xaml.UnitTests")]
-[assembly: InternalsVisibleTo("Avalonia.Visuals")]
+[assembly: InternalsVisibleTo("Avalonia.Skia.RenderTests)]
+[assembly: InternalsVisibleTo("Avalonia.Skia.UnitTests)]
+[assembly: InternalsVisibleTo("Avalonia.Styling.UnitTests")]
+[assembly: InternalsVisibleTo("Avalonia.UnitTests")]
+[assembly: InternalsVisibleTo("Avalonia.Visuals.UnitTests)]
+[assembly: InternalsVisibleTo("DynamicProxyGenAssembly2")]
#endif
diff --git a/src/Avalonia.Visuals/Rect.cs b/src/Avalonia.Base/Rect.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rect.cs
rename to src/Avalonia.Base/Rect.cs
diff --git a/src/Avalonia.Visuals/RelativePoint.cs b/src/Avalonia.Base/RelativePoint.cs
similarity index 100%
rename from src/Avalonia.Visuals/RelativePoint.cs
rename to src/Avalonia.Base/RelativePoint.cs
diff --git a/src/Avalonia.Visuals/RelativeRect.cs b/src/Avalonia.Base/RelativeRect.cs
similarity index 100%
rename from src/Avalonia.Visuals/RelativeRect.cs
rename to src/Avalonia.Base/RelativeRect.cs
diff --git a/src/Avalonia.Visuals/RenderTargetCorruptedException.cs b/src/Avalonia.Base/RenderTargetCorruptedException.cs
similarity index 100%
rename from src/Avalonia.Visuals/RenderTargetCorruptedException.cs
rename to src/Avalonia.Base/RenderTargetCorruptedException.cs
diff --git a/src/Avalonia.Visuals/Rendering/DefaultRenderTimer.cs b/src/Avalonia.Base/Rendering/DefaultRenderTimer.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/DefaultRenderTimer.cs
rename to src/Avalonia.Base/Rendering/DefaultRenderTimer.cs
diff --git a/src/Avalonia.Visuals/Rendering/DeferredRenderer.cs b/src/Avalonia.Base/Rendering/DeferredRenderer.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/DeferredRenderer.cs
rename to src/Avalonia.Base/Rendering/DeferredRenderer.cs
diff --git a/src/Avalonia.Visuals/Rendering/DirtyRects.cs b/src/Avalonia.Base/Rendering/DirtyRects.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/DirtyRects.cs
rename to src/Avalonia.Base/Rendering/DirtyRects.cs
diff --git a/src/Avalonia.Visuals/Rendering/DirtyVisuals.cs b/src/Avalonia.Base/Rendering/DirtyVisuals.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/DirtyVisuals.cs
rename to src/Avalonia.Base/Rendering/DirtyVisuals.cs
diff --git a/src/Avalonia.Visuals/Rendering/DisplayDirtyRect.cs b/src/Avalonia.Base/Rendering/DisplayDirtyRect.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/DisplayDirtyRect.cs
rename to src/Avalonia.Base/Rendering/DisplayDirtyRect.cs
diff --git a/src/Avalonia.Visuals/Rendering/DisplayDirtyRects.cs b/src/Avalonia.Base/Rendering/DisplayDirtyRects.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/DisplayDirtyRects.cs
rename to src/Avalonia.Base/Rendering/DisplayDirtyRects.cs
diff --git a/src/Avalonia.Visuals/Rendering/ICustomSimpleHitTest.cs b/src/Avalonia.Base/Rendering/ICustomSimpleHitTest.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/ICustomSimpleHitTest.cs
rename to src/Avalonia.Base/Rendering/ICustomSimpleHitTest.cs
diff --git a/src/Avalonia.Visuals/Rendering/IDeferredRendererLock.cs b/src/Avalonia.Base/Rendering/IDeferredRendererLock.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/IDeferredRendererLock.cs
rename to src/Avalonia.Base/Rendering/IDeferredRendererLock.cs
diff --git a/src/Avalonia.Visuals/Rendering/IRenderLoop.cs b/src/Avalonia.Base/Rendering/IRenderLoop.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/IRenderLoop.cs
rename to src/Avalonia.Base/Rendering/IRenderLoop.cs
diff --git a/src/Avalonia.Visuals/Rendering/IRenderLoopTask.cs b/src/Avalonia.Base/Rendering/IRenderLoopTask.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/IRenderLoopTask.cs
rename to src/Avalonia.Base/Rendering/IRenderLoopTask.cs
diff --git a/src/Avalonia.Visuals/Rendering/IRenderRoot.cs b/src/Avalonia.Base/Rendering/IRenderRoot.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/IRenderRoot.cs
rename to src/Avalonia.Base/Rendering/IRenderRoot.cs
diff --git a/src/Avalonia.Visuals/Rendering/IRenderTimer.cs b/src/Avalonia.Base/Rendering/IRenderTimer.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/IRenderTimer.cs
rename to src/Avalonia.Base/Rendering/IRenderTimer.cs
diff --git a/src/Avalonia.Visuals/Rendering/IRenderer.cs b/src/Avalonia.Base/Rendering/IRenderer.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/IRenderer.cs
rename to src/Avalonia.Base/Rendering/IRenderer.cs
diff --git a/src/Avalonia.Visuals/Rendering/IRendererFactory.cs b/src/Avalonia.Base/Rendering/IRendererFactory.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/IRendererFactory.cs
rename to src/Avalonia.Base/Rendering/IRendererFactory.cs
diff --git a/src/Avalonia.Visuals/Rendering/IVisualBrushInitialize.cs b/src/Avalonia.Base/Rendering/IVisualBrushInitialize.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/IVisualBrushInitialize.cs
rename to src/Avalonia.Base/Rendering/IVisualBrushInitialize.cs
diff --git a/src/Avalonia.Visuals/Rendering/IVisualBrushRenderer.cs b/src/Avalonia.Base/Rendering/IVisualBrushRenderer.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/IVisualBrushRenderer.cs
rename to src/Avalonia.Base/Rendering/IVisualBrushRenderer.cs
diff --git a/src/Avalonia.Visuals/Rendering/ImmediateRenderer.cs b/src/Avalonia.Base/Rendering/ImmediateRenderer.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/ImmediateRenderer.cs
rename to src/Avalonia.Base/Rendering/ImmediateRenderer.cs
diff --git a/src/Avalonia.Visuals/Rendering/ManagedDeferredRendererLock.cs b/src/Avalonia.Base/Rendering/ManagedDeferredRendererLock.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/ManagedDeferredRendererLock.cs
rename to src/Avalonia.Base/Rendering/ManagedDeferredRendererLock.cs
diff --git a/src/Avalonia.Visuals/Rendering/RenderLayer.cs b/src/Avalonia.Base/Rendering/RenderLayer.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/RenderLayer.cs
rename to src/Avalonia.Base/Rendering/RenderLayer.cs
diff --git a/src/Avalonia.Visuals/Rendering/RenderLayers.cs b/src/Avalonia.Base/Rendering/RenderLayers.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/RenderLayers.cs
rename to src/Avalonia.Base/Rendering/RenderLayers.cs
diff --git a/src/Avalonia.Visuals/Rendering/RenderLoop.cs b/src/Avalonia.Base/Rendering/RenderLoop.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/RenderLoop.cs
rename to src/Avalonia.Base/Rendering/RenderLoop.cs
diff --git a/src/Avalonia.Visuals/Rendering/RendererBase.cs b/src/Avalonia.Base/Rendering/RendererBase.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/RendererBase.cs
rename to src/Avalonia.Base/Rendering/RendererBase.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/BitmapBlendModeNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/BitmapBlendModeNode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/BitmapBlendModeNode.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/BitmapBlendModeNode.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/BrushDrawOperation.cs b/src/Avalonia.Base/Rendering/SceneGraph/BrushDrawOperation.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/BrushDrawOperation.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/BrushDrawOperation.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/ClipNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/ClipNode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/ClipNode.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/ClipNode.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/CustomDrawOperation.cs b/src/Avalonia.Base/Rendering/SceneGraph/CustomDrawOperation.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/CustomDrawOperation.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/CustomDrawOperation.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/DeferredDrawingContextImpl.cs b/src/Avalonia.Base/Rendering/SceneGraph/DeferredDrawingContextImpl.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/DeferredDrawingContextImpl.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/DeferredDrawingContextImpl.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/DrawOperation.cs b/src/Avalonia.Base/Rendering/SceneGraph/DrawOperation.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/DrawOperation.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/DrawOperation.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/ExperimentalAcrylicNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/ExperimentalAcrylicNode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/ExperimentalAcrylicNode.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/ExperimentalAcrylicNode.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/GeometryClipNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/GeometryClipNode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/GeometryClipNode.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/GeometryClipNode.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/GeometryNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/GeometryNode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/GeometryNode.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/GeometryNode.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/GlyphRunNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/GlyphRunNode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/GlyphRunNode.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/GlyphRunNode.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/IDrawOperation.cs b/src/Avalonia.Base/Rendering/SceneGraph/IDrawOperation.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/IDrawOperation.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/IDrawOperation.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/ISceneBuilder.cs b/src/Avalonia.Base/Rendering/SceneGraph/ISceneBuilder.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/ISceneBuilder.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/ISceneBuilder.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/IVisualNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/IVisualNode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/IVisualNode.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/IVisualNode.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/ImageNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/ImageNode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/ImageNode.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/ImageNode.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/LineBoundsHelper.cs b/src/Avalonia.Base/Rendering/SceneGraph/LineBoundsHelper.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/LineBoundsHelper.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/LineBoundsHelper.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/LineNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/LineNode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/LineNode.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/LineNode.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/OpacityMaskNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/OpacityMaskNode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/OpacityMaskNode.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/OpacityMaskNode.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/OpacityNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/OpacityNode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/OpacityNode.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/OpacityNode.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/RectangleNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/RectangleNode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/RectangleNode.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/RectangleNode.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/Scene.cs b/src/Avalonia.Base/Rendering/SceneGraph/Scene.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/Scene.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/Scene.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/SceneBuilder.cs b/src/Avalonia.Base/Rendering/SceneGraph/SceneBuilder.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/SceneBuilder.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/SceneBuilder.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/SceneLayer.cs b/src/Avalonia.Base/Rendering/SceneGraph/SceneLayer.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/SceneLayer.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/SceneLayer.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/SceneLayers.cs b/src/Avalonia.Base/Rendering/SceneGraph/SceneLayers.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/SceneLayers.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/SceneLayers.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/TextNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/TextNode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/TextNode.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/TextNode.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneGraph/VisualNode.cs b/src/Avalonia.Base/Rendering/SceneGraph/VisualNode.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneGraph/VisualNode.cs
rename to src/Avalonia.Base/Rendering/SceneGraph/VisualNode.cs
diff --git a/src/Avalonia.Visuals/Rendering/SceneInvalidatedEventArgs.cs b/src/Avalonia.Base/Rendering/SceneInvalidatedEventArgs.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SceneInvalidatedEventArgs.cs
rename to src/Avalonia.Base/Rendering/SceneInvalidatedEventArgs.cs
diff --git a/src/Avalonia.Visuals/Rendering/SleepLoopRenderTimer.cs b/src/Avalonia.Base/Rendering/SleepLoopRenderTimer.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/SleepLoopRenderTimer.cs
rename to src/Avalonia.Base/Rendering/SleepLoopRenderTimer.cs
diff --git a/src/Avalonia.Visuals/Rendering/UiThreadRenderTimer.cs b/src/Avalonia.Base/Rendering/UiThreadRenderTimer.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/UiThreadRenderTimer.cs
rename to src/Avalonia.Base/Rendering/UiThreadRenderTimer.cs
diff --git a/src/Avalonia.Visuals/Rendering/Utilities/TileBrushCalculator.cs b/src/Avalonia.Base/Rendering/Utilities/TileBrushCalculator.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/Utilities/TileBrushCalculator.cs
rename to src/Avalonia.Base/Rendering/Utilities/TileBrushCalculator.cs
diff --git a/src/Avalonia.Visuals/Rendering/ZIndexComparer.cs b/src/Avalonia.Base/Rendering/ZIndexComparer.cs
similarity index 100%
rename from src/Avalonia.Visuals/Rendering/ZIndexComparer.cs
rename to src/Avalonia.Base/Rendering/ZIndexComparer.cs
diff --git a/src/Avalonia.Visuals/RoundedRect.cs b/src/Avalonia.Base/RoundedRect.cs
similarity index 100%
rename from src/Avalonia.Visuals/RoundedRect.cs
rename to src/Avalonia.Base/RoundedRect.cs
diff --git a/src/Avalonia.Visuals/Size.cs b/src/Avalonia.Base/Size.cs
similarity index 100%
rename from src/Avalonia.Visuals/Size.cs
rename to src/Avalonia.Base/Size.cs
diff --git a/src/Avalonia.Styling/StyledElement.cs b/src/Avalonia.Base/StyledElement.cs
similarity index 100%
rename from src/Avalonia.Styling/StyledElement.cs
rename to src/Avalonia.Base/StyledElement.cs
diff --git a/src/Avalonia.Styling/StyledElementExtensions.cs b/src/Avalonia.Base/StyledElementExtensions.cs
similarity index 100%
rename from src/Avalonia.Styling/StyledElementExtensions.cs
rename to src/Avalonia.Base/StyledElementExtensions.cs
diff --git a/src/Avalonia.Styling/Styling/Activators/AndActivator.cs b/src/Avalonia.Base/Styling/Activators/AndActivator.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Activators/AndActivator.cs
rename to src/Avalonia.Base/Styling/Activators/AndActivator.cs
diff --git a/src/Avalonia.Styling/Styling/Activators/AndActivatorBuilder.cs b/src/Avalonia.Base/Styling/Activators/AndActivatorBuilder.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Activators/AndActivatorBuilder.cs
rename to src/Avalonia.Base/Styling/Activators/AndActivatorBuilder.cs
diff --git a/src/Avalonia.Styling/Styling/Activators/IStyleActivator.cs b/src/Avalonia.Base/Styling/Activators/IStyleActivator.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Activators/IStyleActivator.cs
rename to src/Avalonia.Base/Styling/Activators/IStyleActivator.cs
diff --git a/src/Avalonia.Styling/Styling/Activators/IStyleActivatorSink.cs b/src/Avalonia.Base/Styling/Activators/IStyleActivatorSink.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Activators/IStyleActivatorSink.cs
rename to src/Avalonia.Base/Styling/Activators/IStyleActivatorSink.cs
diff --git a/src/Avalonia.Styling/Styling/Activators/NotActivator.cs b/src/Avalonia.Base/Styling/Activators/NotActivator.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Activators/NotActivator.cs
rename to src/Avalonia.Base/Styling/Activators/NotActivator.cs
diff --git a/src/Avalonia.Styling/Styling/Activators/OrActivator.cs b/src/Avalonia.Base/Styling/Activators/OrActivator.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Activators/OrActivator.cs
rename to src/Avalonia.Base/Styling/Activators/OrActivator.cs
diff --git a/src/Avalonia.Styling/Styling/Activators/OrActivatorBuilder.cs b/src/Avalonia.Base/Styling/Activators/OrActivatorBuilder.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Activators/OrActivatorBuilder.cs
rename to src/Avalonia.Base/Styling/Activators/OrActivatorBuilder.cs
diff --git a/src/Avalonia.Styling/Styling/Activators/PropertyEqualsActivator.cs b/src/Avalonia.Base/Styling/Activators/PropertyEqualsActivator.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Activators/PropertyEqualsActivator.cs
rename to src/Avalonia.Base/Styling/Activators/PropertyEqualsActivator.cs
diff --git a/src/Avalonia.Styling/Styling/Activators/StyleActivatorBase.cs b/src/Avalonia.Base/Styling/Activators/StyleActivatorBase.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Activators/StyleActivatorBase.cs
rename to src/Avalonia.Base/Styling/Activators/StyleActivatorBase.cs
diff --git a/src/Avalonia.Styling/Styling/Activators/StyleClassActivator.cs b/src/Avalonia.Base/Styling/Activators/StyleClassActivator.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Activators/StyleClassActivator.cs
rename to src/Avalonia.Base/Styling/Activators/StyleClassActivator.cs
diff --git a/src/Avalonia.Styling/Styling/ChildSelector.cs b/src/Avalonia.Base/Styling/ChildSelector.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/ChildSelector.cs
rename to src/Avalonia.Base/Styling/ChildSelector.cs
diff --git a/src/Avalonia.Styling/Styling/DescendentSelector.cs b/src/Avalonia.Base/Styling/DescendentSelector.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/DescendentSelector.cs
rename to src/Avalonia.Base/Styling/DescendentSelector.cs
diff --git a/src/Avalonia.Styling/Styling/IGlobalStyles.cs b/src/Avalonia.Base/Styling/IGlobalStyles.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/IGlobalStyles.cs
rename to src/Avalonia.Base/Styling/IGlobalStyles.cs
diff --git a/src/Avalonia.Styling/Styling/ISetter.cs b/src/Avalonia.Base/Styling/ISetter.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/ISetter.cs
rename to src/Avalonia.Base/Styling/ISetter.cs
diff --git a/src/Avalonia.Styling/Styling/ISetterInstance.cs b/src/Avalonia.Base/Styling/ISetterInstance.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/ISetterInstance.cs
rename to src/Avalonia.Base/Styling/ISetterInstance.cs
diff --git a/src/Avalonia.Styling/Styling/ISetterValue.cs b/src/Avalonia.Base/Styling/ISetterValue.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/ISetterValue.cs
rename to src/Avalonia.Base/Styling/ISetterValue.cs
diff --git a/src/Avalonia.Styling/Styling/IStyle.cs b/src/Avalonia.Base/Styling/IStyle.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/IStyle.cs
rename to src/Avalonia.Base/Styling/IStyle.cs
diff --git a/src/Avalonia.Styling/Styling/IStyleHost.cs b/src/Avalonia.Base/Styling/IStyleHost.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/IStyleHost.cs
rename to src/Avalonia.Base/Styling/IStyleHost.cs
diff --git a/src/Avalonia.Styling/Styling/IStyleInstance.cs b/src/Avalonia.Base/Styling/IStyleInstance.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/IStyleInstance.cs
rename to src/Avalonia.Base/Styling/IStyleInstance.cs
diff --git a/src/Avalonia.Styling/Styling/IStyleable.cs b/src/Avalonia.Base/Styling/IStyleable.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/IStyleable.cs
rename to src/Avalonia.Base/Styling/IStyleable.cs
diff --git a/src/Avalonia.Styling/Styling/IStyler.cs b/src/Avalonia.Base/Styling/IStyler.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/IStyler.cs
rename to src/Avalonia.Base/Styling/IStyler.cs
diff --git a/src/Avalonia.Styling/Styling/ITemplate.cs b/src/Avalonia.Base/Styling/ITemplate.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/ITemplate.cs
rename to src/Avalonia.Base/Styling/ITemplate.cs
diff --git a/src/Avalonia.Styling/Styling/ITemplatedControl.cs b/src/Avalonia.Base/Styling/ITemplatedControl.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/ITemplatedControl.cs
rename to src/Avalonia.Base/Styling/ITemplatedControl.cs
diff --git a/src/Avalonia.Styling/Styling/NotSelector.cs b/src/Avalonia.Base/Styling/NotSelector.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/NotSelector.cs
rename to src/Avalonia.Base/Styling/NotSelector.cs
diff --git a/src/Avalonia.Styling/Styling/OrSelector.cs b/src/Avalonia.Base/Styling/OrSelector.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/OrSelector.cs
rename to src/Avalonia.Base/Styling/OrSelector.cs
diff --git a/src/Avalonia.Styling/Styling/PropertyEqualsSelector.cs b/src/Avalonia.Base/Styling/PropertyEqualsSelector.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/PropertyEqualsSelector.cs
rename to src/Avalonia.Base/Styling/PropertyEqualsSelector.cs
diff --git a/src/Avalonia.Styling/Styling/PropertySetterBindingInstance.cs b/src/Avalonia.Base/Styling/PropertySetterBindingInstance.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/PropertySetterBindingInstance.cs
rename to src/Avalonia.Base/Styling/PropertySetterBindingInstance.cs
diff --git a/src/Avalonia.Styling/Styling/PropertySetterInstance.cs b/src/Avalonia.Base/Styling/PropertySetterInstance.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/PropertySetterInstance.cs
rename to src/Avalonia.Base/Styling/PropertySetterInstance.cs
diff --git a/src/Avalonia.Styling/Styling/PropertySetterLazyInstance.cs b/src/Avalonia.Base/Styling/PropertySetterLazyInstance.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/PropertySetterLazyInstance.cs
rename to src/Avalonia.Base/Styling/PropertySetterLazyInstance.cs
diff --git a/src/Avalonia.Styling/Styling/Selector.cs b/src/Avalonia.Base/Styling/Selector.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Selector.cs
rename to src/Avalonia.Base/Styling/Selector.cs
diff --git a/src/Avalonia.Styling/Styling/SelectorMatch.cs b/src/Avalonia.Base/Styling/SelectorMatch.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/SelectorMatch.cs
rename to src/Avalonia.Base/Styling/SelectorMatch.cs
diff --git a/src/Avalonia.Styling/Styling/Selectors.cs b/src/Avalonia.Base/Styling/Selectors.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Selectors.cs
rename to src/Avalonia.Base/Styling/Selectors.cs
diff --git a/src/Avalonia.Styling/Styling/Setter.cs b/src/Avalonia.Base/Styling/Setter.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Setter.cs
rename to src/Avalonia.Base/Styling/Setter.cs
diff --git a/src/Avalonia.Styling/Styling/Style.cs b/src/Avalonia.Base/Styling/Style.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Style.cs
rename to src/Avalonia.Base/Styling/Style.cs
diff --git a/src/Avalonia.Styling/Styling/StyleInstance.cs b/src/Avalonia.Base/Styling/StyleInstance.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/StyleInstance.cs
rename to src/Avalonia.Base/Styling/StyleInstance.cs
diff --git a/src/Avalonia.Styling/Styling/Styler.cs b/src/Avalonia.Base/Styling/Styler.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Styler.cs
rename to src/Avalonia.Base/Styling/Styler.cs
diff --git a/src/Avalonia.Styling/Styling/Styles.cs b/src/Avalonia.Base/Styling/Styles.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/Styles.cs
rename to src/Avalonia.Base/Styling/Styles.cs
diff --git a/src/Avalonia.Styling/Styling/TemplateSelector.cs b/src/Avalonia.Base/Styling/TemplateSelector.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/TemplateSelector.cs
rename to src/Avalonia.Base/Styling/TemplateSelector.cs
diff --git a/src/Avalonia.Styling/Styling/TypeNameAndClassSelector.cs b/src/Avalonia.Base/Styling/TypeNameAndClassSelector.cs
similarity index 100%
rename from src/Avalonia.Styling/Styling/TypeNameAndClassSelector.cs
rename to src/Avalonia.Base/Styling/TypeNameAndClassSelector.cs
diff --git a/src/Avalonia.Visuals/Thickness.cs b/src/Avalonia.Base/Thickness.cs
similarity index 100%
rename from src/Avalonia.Visuals/Thickness.cs
rename to src/Avalonia.Base/Thickness.cs
diff --git a/src/Avalonia.Visuals/Utilities/ReadOnlySlice.cs b/src/Avalonia.Base/Utilities/ReadOnlySlice.cs
similarity index 100%
rename from src/Avalonia.Visuals/Utilities/ReadOnlySlice.cs
rename to src/Avalonia.Base/Utilities/ReadOnlySlice.cs
diff --git a/src/Avalonia.Visuals/Utilities/ValueSpan.cs b/src/Avalonia.Base/Utilities/ValueSpan.cs
similarity index 100%
rename from src/Avalonia.Visuals/Utilities/ValueSpan.cs
rename to src/Avalonia.Base/Utilities/ValueSpan.cs
diff --git a/src/Avalonia.Visuals/Vector.cs b/src/Avalonia.Base/Vector.cs
similarity index 100%
rename from src/Avalonia.Visuals/Vector.cs
rename to src/Avalonia.Base/Vector.cs
diff --git a/src/Avalonia.Visuals/Visual.cs b/src/Avalonia.Base/Visual.cs
similarity index 100%
rename from src/Avalonia.Visuals/Visual.cs
rename to src/Avalonia.Base/Visual.cs
diff --git a/src/Avalonia.Visuals/VisualExtensions.cs b/src/Avalonia.Base/VisualExtensions.cs
similarity index 100%
rename from src/Avalonia.Visuals/VisualExtensions.cs
rename to src/Avalonia.Base/VisualExtensions.cs
diff --git a/src/Avalonia.Visuals/VisualTree/IHostedVisualTreeRoot.cs b/src/Avalonia.Base/VisualTree/IHostedVisualTreeRoot.cs
similarity index 100%
rename from src/Avalonia.Visuals/VisualTree/IHostedVisualTreeRoot.cs
rename to src/Avalonia.Base/VisualTree/IHostedVisualTreeRoot.cs
diff --git a/src/Avalonia.Visuals/VisualTree/IVisual.cs b/src/Avalonia.Base/VisualTree/IVisual.cs
similarity index 100%
rename from src/Avalonia.Visuals/VisualTree/IVisual.cs
rename to src/Avalonia.Base/VisualTree/IVisual.cs
diff --git a/src/Avalonia.Visuals/VisualTree/IVisualTreeHost.cs b/src/Avalonia.Base/VisualTree/IVisualTreeHost.cs
similarity index 100%
rename from src/Avalonia.Visuals/VisualTree/IVisualTreeHost.cs
rename to src/Avalonia.Base/VisualTree/IVisualTreeHost.cs
diff --git a/src/Avalonia.Visuals/VisualTree/IVisualWithRoundRectClip.cs b/src/Avalonia.Base/VisualTree/IVisualWithRoundRectClip.cs
similarity index 100%
rename from src/Avalonia.Visuals/VisualTree/IVisualWithRoundRectClip.cs
rename to src/Avalonia.Base/VisualTree/IVisualWithRoundRectClip.cs
diff --git a/src/Avalonia.Visuals/VisualTree/TransformedBounds.cs b/src/Avalonia.Base/VisualTree/TransformedBounds.cs
similarity index 100%
rename from src/Avalonia.Visuals/VisualTree/TransformedBounds.cs
rename to src/Avalonia.Base/VisualTree/TransformedBounds.cs
diff --git a/src/Avalonia.Visuals/VisualTree/VisualExtensions.cs b/src/Avalonia.Base/VisualTree/VisualExtensions.cs
similarity index 100%
rename from src/Avalonia.Visuals/VisualTree/VisualExtensions.cs
rename to src/Avalonia.Base/VisualTree/VisualExtensions.cs
diff --git a/src/Avalonia.Visuals/VisualTree/VisualLocator.cs b/src/Avalonia.Base/VisualTree/VisualLocator.cs
similarity index 100%
rename from src/Avalonia.Visuals/VisualTree/VisualLocator.cs
rename to src/Avalonia.Base/VisualTree/VisualLocator.cs
diff --git a/src/Avalonia.Visuals/VisualTreeAttachmentEventArgs.cs b/src/Avalonia.Base/VisualTreeAttachmentEventArgs.cs
similarity index 100%
rename from src/Avalonia.Visuals/VisualTreeAttachmentEventArgs.cs
rename to src/Avalonia.Base/VisualTreeAttachmentEventArgs.cs
diff --git a/src/Avalonia.Build.Tasks/Avalonia.Build.Tasks.csproj b/src/Avalonia.Build.Tasks/Avalonia.Build.Tasks.csproj
index 90f6abc873..7b7664e624 100644
--- a/src/Avalonia.Build.Tasks/Avalonia.Build.Tasks.csproj
+++ b/src/Avalonia.Build.Tasks/Avalonia.Build.Tasks.csproj
@@ -63,28 +63,28 @@
Markup/%(RecursiveDir)%(FileName)%(Extension)
-
+
Markup/%(RecursiveDir)%(FileName)%(Extension)
-
+
Markup/%(RecursiveDir)%(FileName)%(Extension)
-
+
Markup/%(RecursiveDir)%(FileName)%(Extension)
-
+
Markup/%(RecursiveDir)%(FileName)%(Extension)
-
+
Markup/%(RecursiveDir)%(FileName)%(Extension)
-
+
Markup/%(RecursiveDir)%(FileName)%(Extension)
-
+
Markup/%(RecursiveDir)%(FileName)%(Extension)
-
+
Markup/%(RecursiveDir)%(FileName)%(Extension)
diff --git a/src/Avalonia.Controls.DataGrid/Avalonia.Controls.DataGrid.csproj b/src/Avalonia.Controls.DataGrid/Avalonia.Controls.DataGrid.csproj
index 6975642db2..11530cfc31 100644
--- a/src/Avalonia.Controls.DataGrid/Avalonia.Controls.DataGrid.csproj
+++ b/src/Avalonia.Controls.DataGrid/Avalonia.Controls.DataGrid.csproj
@@ -4,19 +4,13 @@
Avalonia.Controls.DataGrid
-
-
-
-
-
-
-
+
diff --git a/src/Avalonia.Controls/Avalonia.Controls.csproj b/src/Avalonia.Controls/Avalonia.Controls.csproj
index 7f1f4bc8f3..ac2de01583 100644
--- a/src/Avalonia.Controls/Avalonia.Controls.csproj
+++ b/src/Avalonia.Controls/Avalonia.Controls.csproj
@@ -6,14 +6,8 @@
-
-
-
-
-
-
diff --git a/src/Avalonia.DesignerSupport/Avalonia.DesignerSupport.csproj b/src/Avalonia.DesignerSupport/Avalonia.DesignerSupport.csproj
index 35bd0f97e1..ad824f5c50 100644
--- a/src/Avalonia.DesignerSupport/Avalonia.DesignerSupport.csproj
+++ b/src/Avalonia.DesignerSupport/Avalonia.DesignerSupport.csproj
@@ -13,17 +13,11 @@
-
+
-
-
-
-
-
-
diff --git a/src/Avalonia.DesktopRuntime/Avalonia.DesktopRuntime.csproj b/src/Avalonia.DesktopRuntime/Avalonia.DesktopRuntime.csproj
index 805aae2d1a..0bded0e370 100644
--- a/src/Avalonia.DesktopRuntime/Avalonia.DesktopRuntime.csproj
+++ b/src/Avalonia.DesktopRuntime/Avalonia.DesktopRuntime.csproj
@@ -6,7 +6,6 @@
-
diff --git a/src/Avalonia.Diagnostics/Avalonia.Diagnostics.csproj b/src/Avalonia.Diagnostics/Avalonia.Diagnostics.csproj
index db8684747d..14451f410e 100644
--- a/src/Avalonia.Diagnostics/Avalonia.Diagnostics.csproj
+++ b/src/Avalonia.Diagnostics/Avalonia.Diagnostics.csproj
@@ -13,14 +13,8 @@
-
-
-
-
-
-
diff --git a/src/Avalonia.Input/Properties/AssemblyInfo.cs b/src/Avalonia.Input/Properties/AssemblyInfo.cs
deleted file mode 100644
index 433f821ca3..0000000000
--- a/src/Avalonia.Input/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,5 +0,0 @@
-using System.Reflection;
-using Avalonia.Metadata;
-
-[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Input")]
-[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Input.GestureRecognizers")]
diff --git a/src/Avalonia.OpenGL/Avalonia.OpenGL.csproj b/src/Avalonia.OpenGL/Avalonia.OpenGL.csproj
index d761e60c07..96316e7696 100644
--- a/src/Avalonia.OpenGL/Avalonia.OpenGL.csproj
+++ b/src/Avalonia.OpenGL/Avalonia.OpenGL.csproj
@@ -8,6 +8,5 @@
-
diff --git a/src/Avalonia.Remote.Protocol/Avalonia.Remote.Protocol.csproj b/src/Avalonia.Remote.Protocol/Avalonia.Remote.Protocol.csproj
index 6c241bbc75..d5d44752fd 100644
--- a/src/Avalonia.Remote.Protocol/Avalonia.Remote.Protocol.csproj
+++ b/src/Avalonia.Remote.Protocol/Avalonia.Remote.Protocol.csproj
@@ -7,7 +7,7 @@
Avalonia.Remote.Protocol
-
+
\ No newline at end of file
diff --git a/src/Avalonia.Styling/Properties/AssemblyInfo.cs b/src/Avalonia.Styling/Properties/AssemblyInfo.cs
deleted file mode 100644
index 34c71fffe3..0000000000
--- a/src/Avalonia.Styling/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,12 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using Avalonia.Metadata;
-
-[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Controls")]
-[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.LogicalTree")]
-[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Styling")]
-#if SIGNED_BUILD
-[assembly: InternalsVisibleTo("Avalonia.Styling.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
-#else
-[assembly: InternalsVisibleTo("Avalonia.Styling.UnitTests")]
-#endif
diff --git a/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj b/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj
index 153e21761e..148c30f87d 100644
--- a/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj
+++ b/src/Avalonia.Themes.Default/Avalonia.Themes.Default.csproj
@@ -4,14 +4,8 @@
-
-
-
-
-
-
diff --git a/src/Avalonia.Themes.Fluent/Avalonia.Themes.Fluent.csproj b/src/Avalonia.Themes.Fluent/Avalonia.Themes.Fluent.csproj
index 72f1fbf973..85ca851165 100644
--- a/src/Avalonia.Themes.Fluent/Avalonia.Themes.Fluent.csproj
+++ b/src/Avalonia.Themes.Fluent/Avalonia.Themes.Fluent.csproj
@@ -4,14 +4,8 @@
-
-
-
-
-
-
-
+
diff --git a/src/Avalonia.Visuals/Properties/AssemblyInfo.cs b/src/Avalonia.Visuals/Properties/AssemblyInfo.cs
deleted file mode 100644
index 48107a31f8..0000000000
--- a/src/Avalonia.Visuals/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,21 +0,0 @@
-using System.Reflection;
-using System.Runtime.CompilerServices;
-using Avalonia.Metadata;
-
-[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Animation")]
-[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Media")]
-[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Media.Imaging")]
-[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia.Media.Transformation")]
-[assembly: XmlnsDefinition("https://github.com/avaloniaui", "Avalonia")]
-
-#if SIGNED_BUILD
-[assembly: InternalsVisibleTo("Avalonia.Visuals.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
-[assembly: InternalsVisibleTo("Avalonia.Direct2D1.RenderTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
-[assembly: InternalsVisibleTo("Avalonia.Skia.RenderTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
-[assembly: InternalsVisibleTo("Avalonia.Skia.UnitTests, PublicKey=0024000004800000940000000602000000240000525341310004000001000100c1bba1142285fe0419326fb25866ba62c47e6c2b5c1ab0c95b46413fad375471232cb81706932e1cef38781b9ebd39d5100401bacb651c6c5bbf59e571e81b3bc08d2a622004e08b1a6ece82a7e0b9857525c86d2b95fab4bc3dce148558d7f3ae61aa3a234086902aeface87d9dfdd32b9d2fe3c6dd4055b5ab4b104998bd87")]
-#else
-[assembly: InternalsVisibleTo("Avalonia.Visuals.UnitTests")]
-[assembly: InternalsVisibleTo("Avalonia.Direct2D1.RenderTests")]
-[assembly: InternalsVisibleTo("Avalonia.Skia.RenderTests")]
-[assembly: InternalsVisibleTo("Avalonia.Skia.UnitTests")]
-#endif
diff --git a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj
index 217da2d50d..ac6d6299bf 100644
--- a/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj
+++ b/src/Markup/Avalonia.Markup.Xaml/Avalonia.Markup.Xaml.csproj
@@ -54,14 +54,8 @@
-
-
-
-
-
-
diff --git a/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj b/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj
index 7b9cd0212e..ae64b0f9d8 100644
--- a/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj
+++ b/src/Markup/Avalonia.Markup/Avalonia.Markup.csproj
@@ -13,8 +13,6 @@
-
-
diff --git a/src/tools/Avalonia.Designer.HostApp/Avalonia.Designer.HostApp.csproj b/src/tools/Avalonia.Designer.HostApp/Avalonia.Designer.HostApp.csproj
index a2d27fd579..1cf68c1605 100644
--- a/src/tools/Avalonia.Designer.HostApp/Avalonia.Designer.HostApp.csproj
+++ b/src/tools/Avalonia.Designer.HostApp/Avalonia.Designer.HostApp.csproj
@@ -7,15 +7,9 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.Animation.UnitTests/Avalonia.Animation.UnitTests.csproj b/tests/Avalonia.Animation.UnitTests/Avalonia.Animation.UnitTests.csproj
index 5b686dea4c..6bac5c7cbf 100644
--- a/tests/Avalonia.Animation.UnitTests/Avalonia.Animation.UnitTests.csproj
+++ b/tests/Avalonia.Animation.UnitTests/Avalonia.Animation.UnitTests.csproj
@@ -12,14 +12,8 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.Benchmarks/Avalonia.Benchmarks.csproj b/tests/Avalonia.Benchmarks/Avalonia.Benchmarks.csproj
index e8e69efdbc..8bcb0e5da9 100644
--- a/tests/Avalonia.Benchmarks/Avalonia.Benchmarks.csproj
+++ b/tests/Avalonia.Benchmarks/Avalonia.Benchmarks.csproj
@@ -6,15 +6,9 @@
false
-
-
-
-
-
-
diff --git a/tests/Avalonia.Controls.UnitTests/Avalonia.Controls.UnitTests.csproj b/tests/Avalonia.Controls.UnitTests/Avalonia.Controls.UnitTests.csproj
index 6b17427eda..8d806880b9 100644
--- a/tests/Avalonia.Controls.UnitTests/Avalonia.Controls.UnitTests.csproj
+++ b/tests/Avalonia.Controls.UnitTests/Avalonia.Controls.UnitTests.csproj
@@ -17,14 +17,8 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj b/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj
index 523c5e7ff4..04b33ffc1b 100644
--- a/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj
+++ b/tests/Avalonia.DesignerSupport.TestApp/Avalonia.DesignerSupport.TestApp.csproj
@@ -19,15 +19,9 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.Direct2D1.RenderTests/Avalonia.Direct2D1.RenderTests.csproj b/tests/Avalonia.Direct2D1.RenderTests/Avalonia.Direct2D1.RenderTests.csproj
index c59e59be63..2b7098ead7 100644
--- a/tests/Avalonia.Direct2D1.RenderTests/Avalonia.Direct2D1.RenderTests.csproj
+++ b/tests/Avalonia.Direct2D1.RenderTests/Avalonia.Direct2D1.RenderTests.csproj
@@ -12,14 +12,8 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.Direct2D1.UnitTests/Avalonia.Direct2D1.UnitTests.csproj b/tests/Avalonia.Direct2D1.UnitTests/Avalonia.Direct2D1.UnitTests.csproj
index 42229ba456..343a1bbf13 100644
--- a/tests/Avalonia.Direct2D1.UnitTests/Avalonia.Direct2D1.UnitTests.csproj
+++ b/tests/Avalonia.Direct2D1.UnitTests/Avalonia.Direct2D1.UnitTests.csproj
@@ -12,14 +12,8 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.Input.UnitTests/Avalonia.Input.UnitTests.csproj b/tests/Avalonia.Input.UnitTests/Avalonia.Input.UnitTests.csproj
index dd50eff2b6..897c6ccffa 100644
--- a/tests/Avalonia.Input.UnitTests/Avalonia.Input.UnitTests.csproj
+++ b/tests/Avalonia.Input.UnitTests/Avalonia.Input.UnitTests.csproj
@@ -11,14 +11,8 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.Interactivity.UnitTests/Avalonia.Interactivity.UnitTests.csproj b/tests/Avalonia.Interactivity.UnitTests/Avalonia.Interactivity.UnitTests.csproj
index a9f5318e8f..b011099d5c 100644
--- a/tests/Avalonia.Interactivity.UnitTests/Avalonia.Interactivity.UnitTests.csproj
+++ b/tests/Avalonia.Interactivity.UnitTests/Avalonia.Interactivity.UnitTests.csproj
@@ -11,14 +11,8 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.Layout.UnitTests/Avalonia.Layout.UnitTests.csproj b/tests/Avalonia.Layout.UnitTests/Avalonia.Layout.UnitTests.csproj
index 74cc6e292b..0a532efffc 100644
--- a/tests/Avalonia.Layout.UnitTests/Avalonia.Layout.UnitTests.csproj
+++ b/tests/Avalonia.Layout.UnitTests/Avalonia.Layout.UnitTests.csproj
@@ -10,15 +10,9 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj b/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj
index d49a859b89..4502bf99c5 100644
--- a/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj
+++ b/tests/Avalonia.LeakTests/Avalonia.LeakTests.csproj
@@ -11,14 +11,8 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.Markup.UnitTests/Avalonia.Markup.UnitTests.csproj b/tests/Avalonia.Markup.UnitTests/Avalonia.Markup.UnitTests.csproj
index 7d1285c025..0f901d68d0 100644
--- a/tests/Avalonia.Markup.UnitTests/Avalonia.Markup.UnitTests.csproj
+++ b/tests/Avalonia.Markup.UnitTests/Avalonia.Markup.UnitTests.csproj
@@ -13,14 +13,8 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj b/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj
index 7748115137..4a999c1e81 100644
--- a/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj
+++ b/tests/Avalonia.Markup.Xaml.UnitTests/Avalonia.Markup.Xaml.UnitTests.csproj
@@ -16,14 +16,8 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.Skia.RenderTests/Avalonia.Skia.RenderTests.csproj b/tests/Avalonia.Skia.RenderTests/Avalonia.Skia.RenderTests.csproj
index 14d0f4debf..157e0baa0e 100644
--- a/tests/Avalonia.Skia.RenderTests/Avalonia.Skia.RenderTests.csproj
+++ b/tests/Avalonia.Skia.RenderTests/Avalonia.Skia.RenderTests.csproj
@@ -13,14 +13,8 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.Skia.UnitTests/Avalonia.Skia.UnitTests.csproj b/tests/Avalonia.Skia.UnitTests/Avalonia.Skia.UnitTests.csproj
index ef69865e32..4e83b64e1d 100644
--- a/tests/Avalonia.Skia.UnitTests/Avalonia.Skia.UnitTests.csproj
+++ b/tests/Avalonia.Skia.UnitTests/Avalonia.Skia.UnitTests.csproj
@@ -13,14 +13,8 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.Styling.UnitTests/Avalonia.Styling.UnitTests.csproj b/tests/Avalonia.Styling.UnitTests/Avalonia.Styling.UnitTests.csproj
index 7864687800..ab8e2f6ade 100644
--- a/tests/Avalonia.Styling.UnitTests/Avalonia.Styling.UnitTests.csproj
+++ b/tests/Avalonia.Styling.UnitTests/Avalonia.Styling.UnitTests.csproj
@@ -14,14 +14,8 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.UnitTests/Avalonia.UnitTests.csproj b/tests/Avalonia.UnitTests/Avalonia.UnitTests.csproj
index d4abf9416a..06106aeead 100644
--- a/tests/Avalonia.UnitTests/Avalonia.UnitTests.csproj
+++ b/tests/Avalonia.UnitTests/Avalonia.UnitTests.csproj
@@ -15,14 +15,8 @@
-
-
-
-
-
-
diff --git a/tests/Avalonia.Visuals.UnitTests/Avalonia.Visuals.UnitTests.csproj b/tests/Avalonia.Visuals.UnitTests/Avalonia.Visuals.UnitTests.csproj
index 13a04be5db..0f11cafc94 100644
--- a/tests/Avalonia.Visuals.UnitTests/Avalonia.Visuals.UnitTests.csproj
+++ b/tests/Avalonia.Visuals.UnitTests/Avalonia.Visuals.UnitTests.csproj
@@ -24,14 +24,8 @@
-
-
-
-
-
-