- Source on GitHub
+ Source on GitHubNuGet package
diff --git a/src/Balette/Demo/Client/Pages/Commands.razor b/src/Utilities/Balette/Demo/Client/Pages/Commands.razor
similarity index 100%
rename from src/Balette/Demo/Client/Pages/Commands.razor
rename to src/Utilities/Balette/Demo/Client/Pages/Commands.razor
diff --git a/src/Balette/Demo/Client/Pages/Home.razor b/src/Utilities/Balette/Demo/Client/Pages/Home.razor
similarity index 99%
rename from src/Balette/Demo/Client/Pages/Home.razor
rename to src/Utilities/Balette/Demo/Client/Pages/Home.razor
index e0f5d658e28..6e8149854fa 100644
--- a/src/Balette/Demo/Client/Pages/Home.razor
+++ b/src/Utilities/Balette/Demo/Client/Pages/Home.razor
@@ -143,7 +143,7 @@ builder.Services.AddBitBaletteServices();
The stylesheet is not added for you: linking it yourself puts it before your own overrides in the cascade, and
leaving it out is how Unstyled starts from bare markup. The source code, the documentation and the
code of this demo are on
- GitHub.
+ GitHub.
@code {
diff --git a/src/Balette/Demo/Client/Pages/Keyboard.razor b/src/Utilities/Balette/Demo/Client/Pages/Keyboard.razor
similarity index 100%
rename from src/Balette/Demo/Client/Pages/Keyboard.razor
rename to src/Utilities/Balette/Demo/Client/Pages/Keyboard.razor
diff --git a/src/Balette/Demo/Client/Pages/McpServer.razor b/src/Utilities/Balette/Demo/Client/Pages/McpServer.razor
similarity index 100%
rename from src/Balette/Demo/Client/Pages/McpServer.razor
rename to src/Utilities/Balette/Demo/Client/Pages/McpServer.razor
diff --git a/src/Balette/Demo/Client/Pages/Modes.razor b/src/Utilities/Balette/Demo/Client/Pages/Modes.razor
similarity index 100%
rename from src/Balette/Demo/Client/Pages/Modes.razor
rename to src/Utilities/Balette/Demo/Client/Pages/Modes.razor
diff --git a/src/Balette/Demo/Client/Pages/NotFound.razor b/src/Utilities/Balette/Demo/Client/Pages/NotFound.razor
similarity index 100%
rename from src/Balette/Demo/Client/Pages/NotFound.razor
rename to src/Utilities/Balette/Demo/Client/Pages/NotFound.razor
diff --git a/src/Balette/Demo/Client/Pages/PagesAndFlows.razor b/src/Utilities/Balette/Demo/Client/Pages/PagesAndFlows.razor
similarity index 100%
rename from src/Balette/Demo/Client/Pages/PagesAndFlows.razor
rename to src/Utilities/Balette/Demo/Client/Pages/PagesAndFlows.razor
diff --git a/src/Balette/Demo/Client/Pages/Performance.razor b/src/Utilities/Balette/Demo/Client/Pages/Performance.razor
similarity index 100%
rename from src/Balette/Demo/Client/Pages/Performance.razor
rename to src/Utilities/Balette/Demo/Client/Pages/Performance.razor
diff --git a/src/Balette/Demo/Client/Pages/SearchAndRanking.razor b/src/Utilities/Balette/Demo/Client/Pages/SearchAndRanking.razor
similarity index 100%
rename from src/Balette/Demo/Client/Pages/SearchAndRanking.razor
rename to src/Utilities/Balette/Demo/Client/Pages/SearchAndRanking.razor
diff --git a/src/Balette/Demo/Client/Pages/Theming.razor b/src/Utilities/Balette/Demo/Client/Pages/Theming.razor
similarity index 100%
rename from src/Balette/Demo/Client/Pages/Theming.razor
rename to src/Utilities/Balette/Demo/Client/Pages/Theming.razor
diff --git a/src/Balette/Demo/Client/Program.cs b/src/Utilities/Balette/Demo/Client/Program.cs
similarity index 100%
rename from src/Balette/Demo/Client/Program.cs
rename to src/Utilities/Balette/Demo/Client/Program.cs
diff --git a/src/Balette/Demo/Client/Routes.razor b/src/Utilities/Balette/Demo/Client/Routes.razor
similarity index 100%
rename from src/Balette/Demo/Client/Routes.razor
rename to src/Utilities/Balette/Demo/Client/Routes.razor
diff --git a/src/Balette/Demo/Client/Services/DemoCommands.cs b/src/Utilities/Balette/Demo/Client/Services/DemoCommands.cs
similarity index 99%
rename from src/Balette/Demo/Client/Services/DemoCommands.cs
rename to src/Utilities/Balette/Demo/Client/Services/DemoCommands.cs
index daabd63886c..5562a80fa90 100644
--- a/src/Balette/Demo/Client/Services/DemoCommands.cs
+++ b/src/Utilities/Balette/Demo/Client/Services/DemoCommands.cs
@@ -7,7 +7,7 @@
///
public static class DemoCommands
{
- public const string GitHubUrl = "https://github.com/bitfoundation/bitplatform/tree/develop/src/Balette";
+ public const string GitHubUrl = "https://github.com/bitfoundation/bitplatform/tree/develop/src/Utilities/Balette";
public const string NuGetUrl = "https://www.nuget.org/packages/Bit.Balette";
diff --git a/src/Balette/Demo/Client/Services/DemoState.cs b/src/Utilities/Balette/Demo/Client/Services/DemoState.cs
similarity index 100%
rename from src/Balette/Demo/Client/Services/DemoState.cs
rename to src/Utilities/Balette/Demo/Client/Services/DemoState.cs
diff --git a/src/Balette/Demo/Client/Services/FakeData.cs b/src/Utilities/Balette/Demo/Client/Services/FakeData.cs
similarity index 100%
rename from src/Balette/Demo/Client/Services/FakeData.cs
rename to src/Utilities/Balette/Demo/Client/Services/FakeData.cs
diff --git a/src/Balette/Demo/Client/Services/SourceLog.cs b/src/Utilities/Balette/Demo/Client/Services/SourceLog.cs
similarity index 100%
rename from src/Balette/Demo/Client/Services/SourceLog.cs
rename to src/Utilities/Balette/Demo/Client/Services/SourceLog.cs
diff --git a/src/Balette/Demo/Client/_Imports.razor b/src/Utilities/Balette/Demo/Client/_Imports.razor
similarity index 100%
rename from src/Balette/Demo/Client/_Imports.razor
rename to src/Utilities/Balette/Demo/Client/_Imports.razor
diff --git a/src/Balette/Demo/Server/Bit.Balette.Demo.Server.csproj b/src/Utilities/Balette/Demo/Server/Bit.Balette.Demo.Server.csproj
similarity index 100%
rename from src/Balette/Demo/Server/Bit.Balette.Demo.Server.csproj
rename to src/Utilities/Balette/Demo/Server/Bit.Balette.Demo.Server.csproj
diff --git a/src/Balette/Demo/Server/Components/App.razor b/src/Utilities/Balette/Demo/Server/Components/App.razor
similarity index 100%
rename from src/Balette/Demo/Server/Components/App.razor
rename to src/Utilities/Balette/Demo/Server/Components/App.razor
diff --git a/src/Balette/Demo/Server/Components/Pages/Error.razor b/src/Utilities/Balette/Demo/Server/Components/Pages/Error.razor
similarity index 100%
rename from src/Balette/Demo/Server/Components/Pages/Error.razor
rename to src/Utilities/Balette/Demo/Server/Components/Pages/Error.razor
diff --git a/src/Balette/Demo/Server/Components/_Imports.razor b/src/Utilities/Balette/Demo/Server/Components/_Imports.razor
similarity index 100%
rename from src/Balette/Demo/Server/Components/_Imports.razor
rename to src/Utilities/Balette/Demo/Server/Components/_Imports.razor
diff --git a/src/Balette/Demo/Server/Controllers/McpController.cs b/src/Utilities/Balette/Demo/Server/Controllers/McpController.cs
similarity index 100%
rename from src/Balette/Demo/Server/Controllers/McpController.cs
rename to src/Utilities/Balette/Demo/Server/Controllers/McpController.cs
diff --git a/src/Balette/Demo/Server/Controllers/McpPrompts.cs b/src/Utilities/Balette/Demo/Server/Controllers/McpPrompts.cs
similarity index 100%
rename from src/Balette/Demo/Server/Controllers/McpPrompts.cs
rename to src/Utilities/Balette/Demo/Server/Controllers/McpPrompts.cs
diff --git a/src/Balette/Demo/Server/Controllers/McpResources.cs b/src/Utilities/Balette/Demo/Server/Controllers/McpResources.cs
similarity index 100%
rename from src/Balette/Demo/Server/Controllers/McpResources.cs
rename to src/Utilities/Balette/Demo/Server/Controllers/McpResources.cs
diff --git a/src/Balette/Demo/Server/Dtos/BaletteMcpDtos.cs b/src/Utilities/Balette/Demo/Server/Dtos/BaletteMcpDtos.cs
similarity index 100%
rename from src/Balette/Demo/Server/Dtos/BaletteMcpDtos.cs
rename to src/Utilities/Balette/Demo/Server/Dtos/BaletteMcpDtos.cs
diff --git a/src/Balette/Demo/Server/Program.cs b/src/Utilities/Balette/Demo/Server/Program.cs
similarity index 99%
rename from src/Balette/Demo/Server/Program.cs
rename to src/Utilities/Balette/Demo/Server/Program.cs
index d68aa1a5992..cf17c6b9062 100644
--- a/src/Balette/Demo/Server/Program.cs
+++ b/src/Utilities/Balette/Demo/Server/Program.cs
@@ -34,7 +34,7 @@
Title = "Bit.Balette",
Version = BaletteServerInstructions.BaletteVersion,
Description = "Documentation, public API, theme variables, setup guides and search inspection for the Bit.Balette command palette library for Blazor.",
- WebsiteUrl = "https://github.com/bitfoundation/bitplatform/tree/develop/src/Balette"
+ WebsiteUrl = "https://github.com/bitfoundation/bitplatform/tree/develop/src/Utilities/Balette"
};
// Returned from `initialize` and put in front of the model before it has called anything.
diff --git a/src/Balette/Demo/Server/Properties/launchSettings.json b/src/Utilities/Balette/Demo/Server/Properties/launchSettings.json
similarity index 100%
rename from src/Balette/Demo/Server/Properties/launchSettings.json
rename to src/Utilities/Balette/Demo/Server/Properties/launchSettings.json
diff --git a/src/Balette/Demo/Server/Services/BaletteApiCatalog.cs b/src/Utilities/Balette/Demo/Server/Services/BaletteApiCatalog.cs
similarity index 100%
rename from src/Balette/Demo/Server/Services/BaletteApiCatalog.cs
rename to src/Utilities/Balette/Demo/Server/Services/BaletteApiCatalog.cs
diff --git a/src/Balette/Demo/Server/Services/BaletteCompletions.cs b/src/Utilities/Balette/Demo/Server/Services/BaletteCompletions.cs
similarity index 100%
rename from src/Balette/Demo/Server/Services/BaletteCompletions.cs
rename to src/Utilities/Balette/Demo/Server/Services/BaletteCompletions.cs
diff --git a/src/Balette/Demo/Server/Services/BaletteSearchIndex.cs b/src/Utilities/Balette/Demo/Server/Services/BaletteSearchIndex.cs
similarity index 100%
rename from src/Balette/Demo/Server/Services/BaletteSearchIndex.cs
rename to src/Utilities/Balette/Demo/Server/Services/BaletteSearchIndex.cs
diff --git a/src/Balette/Demo/Server/Services/BaletteSearchLab.cs b/src/Utilities/Balette/Demo/Server/Services/BaletteSearchLab.cs
similarity index 100%
rename from src/Balette/Demo/Server/Services/BaletteSearchLab.cs
rename to src/Utilities/Balette/Demo/Server/Services/BaletteSearchLab.cs
diff --git a/src/Balette/Demo/Server/Services/BaletteServerInstructions.cs b/src/Utilities/Balette/Demo/Server/Services/BaletteServerInstructions.cs
similarity index 100%
rename from src/Balette/Demo/Server/Services/BaletteServerInstructions.cs
rename to src/Utilities/Balette/Demo/Server/Services/BaletteServerInstructions.cs
diff --git a/src/Balette/Demo/Server/Services/BaletteSetupGuide.cs b/src/Utilities/Balette/Demo/Server/Services/BaletteSetupGuide.cs
similarity index 100%
rename from src/Balette/Demo/Server/Services/BaletteSetupGuide.cs
rename to src/Utilities/Balette/Demo/Server/Services/BaletteSetupGuide.cs
diff --git a/src/Balette/Demo/Server/Services/BaletteSourceCatalog.cs b/src/Utilities/Balette/Demo/Server/Services/BaletteSourceCatalog.cs
similarity index 100%
rename from src/Balette/Demo/Server/Services/BaletteSourceCatalog.cs
rename to src/Utilities/Balette/Demo/Server/Services/BaletteSourceCatalog.cs
diff --git a/src/Balette/Demo/Server/Services/BaletteStylesheetClasses.cs b/src/Utilities/Balette/Demo/Server/Services/BaletteStylesheetClasses.cs
similarity index 100%
rename from src/Balette/Demo/Server/Services/BaletteStylesheetClasses.cs
rename to src/Utilities/Balette/Demo/Server/Services/BaletteStylesheetClasses.cs
diff --git a/src/Balette/Demo/Server/Services/BaletteThemeCatalog.cs b/src/Utilities/Balette/Demo/Server/Services/BaletteThemeCatalog.cs
similarity index 100%
rename from src/Balette/Demo/Server/Services/BaletteThemeCatalog.cs
rename to src/Utilities/Balette/Demo/Server/Services/BaletteThemeCatalog.cs
diff --git a/src/Balette/Demo/Server/Services/BaletteXmlDocs.cs b/src/Utilities/Balette/Demo/Server/Services/BaletteXmlDocs.cs
similarity index 100%
rename from src/Balette/Demo/Server/Services/BaletteXmlDocs.cs
rename to src/Utilities/Balette/Demo/Server/Services/BaletteXmlDocs.cs
diff --git a/src/Balette/Demo/Server/appsettings.json b/src/Utilities/Balette/Demo/Server/appsettings.json
similarity index 100%
rename from src/Balette/Demo/Server/appsettings.json
rename to src/Utilities/Balette/Demo/Server/appsettings.json
diff --git a/src/Balette/Demo/Server/wwwroot/app.css b/src/Utilities/Balette/Demo/Server/wwwroot/app.css
similarity index 100%
rename from src/Balette/Demo/Server/wwwroot/app.css
rename to src/Utilities/Balette/Demo/Server/wwwroot/app.css
diff --git a/src/Balette/Demo/Server/wwwroot/favicon.svg b/src/Utilities/Balette/Demo/Server/wwwroot/favicon.svg
similarity index 100%
rename from src/Balette/Demo/Server/wwwroot/favicon.svg
rename to src/Utilities/Balette/Demo/Server/wwwroot/favicon.svg
diff --git a/src/Balette/README.md b/src/Utilities/Balette/README.md
similarity index 100%
rename from src/Balette/README.md
rename to src/Utilities/Balette/README.md
diff --git a/src/Balette/Tests/Bit.Balette.Benchmarks/Bit.Balette.Benchmarks.csproj b/src/Utilities/Balette/Tests/Bit.Balette.Benchmarks/Bit.Balette.Benchmarks.csproj
similarity index 93%
rename from src/Balette/Tests/Bit.Balette.Benchmarks/Bit.Balette.Benchmarks.csproj
rename to src/Utilities/Balette/Tests/Bit.Balette.Benchmarks/Bit.Balette.Benchmarks.csproj
index d041c0757c0..cf1729a30b3 100644
--- a/src/Balette/Tests/Bit.Balette.Benchmarks/Bit.Balette.Benchmarks.csproj
+++ b/src/Utilities/Balette/Tests/Bit.Balette.Benchmarks/Bit.Balette.Benchmarks.csproj
@@ -17,7 +17,7 @@
key: the keystroke benchmarks call the internal parse-once BaletteQuery overload and the ranker's
limited overload, exactly as the palette component does, rather than the slower public entry points. -->
true
- ..\..\..\AssemblyOriginatorKeyFile.snk
+ ..\..\..\..\AssemblyOriginatorKeyFile.snk
diff --git a/src/Balette/Tests/Bit.Balette.Benchmarks/PaletteBenchmarks.cs b/src/Utilities/Balette/Tests/Bit.Balette.Benchmarks/PaletteBenchmarks.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Benchmarks/PaletteBenchmarks.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Benchmarks/PaletteBenchmarks.cs
diff --git a/src/Balette/Tests/Bit.Balette.Benchmarks/Program.cs b/src/Utilities/Balette/Tests/Bit.Balette.Benchmarks/Program.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Benchmarks/Program.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Benchmarks/Program.cs
diff --git a/src/Balette/Tests/Bit.Balette.Benchmarks/README.md b/src/Utilities/Balette/Tests/Bit.Balette.Benchmarks/README.md
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Benchmarks/README.md
rename to src/Utilities/Balette/Tests/Bit.Balette.Benchmarks/README.md
diff --git a/src/Balette/Tests/Bit.Balette.Benchmarks/Workloads.cs b/src/Utilities/Balette/Tests/Bit.Balette.Benchmarks/Workloads.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Benchmarks/Workloads.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Benchmarks/Workloads.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/AssemblySetup.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/AssemblySetup.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/AssemblySetup.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/AssemblySetup.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/Bit.Balette.Tests.E2E.csproj b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Bit.Balette.Tests.E2E.csproj
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/Bit.Balette.Tests.E2E.csproj
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Bit.Balette.Tests.E2E.csproj
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/DemoPagesTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/DemoPagesTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/DemoPagesTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/DemoPagesTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/FlowTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/FlowTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/FlowTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/FlowTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/GlobalShortcutTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/GlobalShortcutTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/GlobalShortcutTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/GlobalShortcutTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/BaletteTest.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/BaletteTest.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/BaletteTest.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/BaletteTest.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/ChildProcess.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/ChildProcess.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/ChildProcess.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/ChildProcess.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/DemoHost.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/DemoHost.cs
similarity index 94%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/DemoHost.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/DemoHost.cs
index ea50ddf6e65..6e4e6bdef4d 100644
--- a/src/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/DemoHost.cs
+++ b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/DemoHost.cs
@@ -31,7 +31,7 @@ public static async Task StartAsync()
if (File.Exists(assembly) is false)
throw new FileNotFoundException(
$"The demo server has not been built in the {E2EEnvironment.Configuration} configuration. Build it first with " +
- $"'dotnet build src/Balette/Demo/Server/Bit.Balette.Demo.Server.csproj -c {E2EEnvironment.Configuration}'", assembly);
+ $"'dotnet build src/Utilities/Balette/Demo/Server/Bit.Balette.Demo.Server.csproj -c {E2EEnvironment.Configuration}'", assembly);
var baseUrl = $"http://127.0.0.1:{ChildProcess.FreePort()}";
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/E2EEnvironment.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/E2EEnvironment.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/E2EEnvironment.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/E2EEnvironment.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/PlaywrightSession.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/PlaywrightSession.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/PlaywrightSession.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/PlaywrightSession.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/RepoLayout.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/RepoLayout.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/RepoLayout.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Infrastructure/RepoLayout.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/ModesAndSourcesTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/ModesAndSourcesTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/ModesAndSourcesTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/ModesAndSourcesTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/OpenAndCloseTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/OpenAndCloseTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/OpenAndCloseTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/OpenAndCloseTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/README.md b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/README.md
similarity index 93%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/README.md
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/README.md
index 6b643a56271..e8ff71193e6 100644
--- a/src/Balette/Tests/Bit.Balette.Tests.E2E/README.md
+++ b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/README.md
@@ -41,7 +41,7 @@ unanswered, and the test would otherwise time out pointing at the wrong thing.
## Running locally
-From `src/Balette` (inside `src`, so `src/global.json` selects the Microsoft.Testing.Platform runner):
+From `src/Utilities/Balette` (inside `src`, so `src/global.json` selects the Microsoft.Testing.Platform runner):
```bash
# The suite runs the demo server's build output: build it first, in the configuration the tests run in.
@@ -61,10 +61,10 @@ dotnet test --filter "FullyQualifiedName~Backspace_on_an_empty_query"
CI does the same in Release (`.github/workflows/bit.ci.Balette.e2e.yml`):
```bash
-dotnet build src/Balette/Demo/Server/Bit.Balette.Demo.Server.csproj -c Release
-dotnet build src/Balette/Tests/Bit.Balette.Tests.E2E/Bit.Balette.Tests.E2E.csproj -c Release
-pwsh src/Balette/Tests/Bit.Balette.Tests.E2E/bin/Release/net10.0/playwright.ps1 install --with-deps chromium
-cd src/Balette/Tests/Bit.Balette.Tests.E2E && dotnet test -c Release --no-build --report-trx --report-trx-filename balette-e2e.trx
+dotnet build src/Utilities/Balette/Demo/Server/Bit.Balette.Demo.Server.csproj -c Release
+dotnet build src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/Bit.Balette.Tests.E2E.csproj -c Release
+pwsh src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/bin/Release/net10.0/playwright.ps1 install --with-deps chromium
+cd src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E && dotnet test -c Release --no-build --report-trx --report-trx-filename balette-e2e.trx
```
That workflow only runs when started by hand (Actions > "bit platform CI - Balette E2E" > Run workflow). The pull-request pipeline, `bit.ci.Balette.yml`, runs the build, model, search, component and MCP tests only.
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/SearchAndNavigationTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/SearchAndNavigationTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/SearchAndNavigationTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/SearchAndNavigationTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.E2E/ThemingAndLayoutTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/ThemingAndLayoutTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.E2E/ThemingAndLayoutTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.E2E/ThemingAndLayoutTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.Mcp/Bit.Balette.Tests.Mcp.csproj b/src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/Bit.Balette.Tests.Mcp.csproj
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.Mcp/Bit.Balette.Tests.Mcp.csproj
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/Bit.Balette.Tests.Mcp.csproj
diff --git a/src/Balette/Tests/Bit.Balette.Tests.Mcp/McpCall.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpCall.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.Mcp/McpCall.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpCall.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.Mcp/McpOracleTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpOracleTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.Mcp/McpOracleTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpOracleTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.Mcp/McpResourcePromptTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpResourcePromptTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.Mcp/McpResourcePromptTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpResourcePromptTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.Mcp/McpSearchLabTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpSearchLabTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.Mcp/McpSearchLabTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpSearchLabTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.Mcp/McpSearchTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpSearchTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.Mcp/McpSearchTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpSearchTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.Mcp/McpSurfaceTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpSurfaceTests.cs
similarity index 99%
rename from src/Balette/Tests/Bit.Balette.Tests.Mcp/McpSurfaceTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpSurfaceTests.cs
index 99e7a17b036..2688ecd0dd6 100644
--- a/src/Balette/Tests/Bit.Balette.Tests.Mcp/McpSurfaceTests.cs
+++ b/src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpSurfaceTests.cs
@@ -60,7 +60,7 @@ public void The_server_introduces_itself_as_the_library_at_its_own_version()
Assert.AreEqual(BaletteServerInstructions.BaletteVersion, info.Version);
Assert.AreNotEqual("unknown", info.Version);
Assert.DoesNotContain("+", info.Version, "The build metadata should have been stripped from the version.");
- Assert.AreEqual("https://github.com/bitfoundation/bitplatform/tree/develop/src/Balette", info.WebsiteUrl);
+ Assert.AreEqual("https://github.com/bitfoundation/bitplatform/tree/develop/src/Utilities/Balette", info.WebsiteUrl);
}
[TestMethod]
diff --git a/src/Balette/Tests/Bit.Balette.Tests.Mcp/McpTestHost.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpTestHost.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.Mcp/McpTestHost.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpTestHost.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.Mcp/McpToolTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpToolTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.Mcp/McpToolTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/McpToolTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests.Mcp/ToolNames.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/ToolNames.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests.Mcp/ToolNames.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests.Mcp/ToolNames.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests/AssertSequence.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests/AssertSequence.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests/AssertSequence.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests/AssertSequence.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests/Bit.Balette.Tests.csproj b/src/Utilities/Balette/Tests/Bit.Balette.Tests/Bit.Balette.Tests.csproj
similarity index 89%
rename from src/Balette/Tests/Bit.Balette.Tests/Bit.Balette.Tests.csproj
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests/Bit.Balette.Tests.csproj
index cc35279da29..cd10570ecdb 100644
--- a/src/Balette/Tests/Bit.Balette.Tests/Bit.Balette.Tests.csproj
+++ b/src/Utilities/Balette/Tests/Bit.Balette.Tests/Bit.Balette.Tests.csproj
@@ -10,7 +10,7 @@
truefalsetrue
- ..\..\..\AssemblyOriginatorKeyFile.snk
+ ..\..\..\..\AssemblyOriginatorKeyFile.snk
diff --git a/src/Balette/Tests/Bit.Balette.Tests/CommandModelTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests/CommandModelTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests/CommandModelTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests/CommandModelTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests/Components/BaletteComponentTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests/Components/BaletteComponentTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests/Components/BaletteComponentTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests/Components/BaletteComponentTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests/Components/BaletteFlowTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests/Components/BaletteFlowTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests/Components/BaletteFlowTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests/Components/BaletteFlowTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests/FuzzyMatcherTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests/FuzzyMatcherTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests/FuzzyMatcherTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests/FuzzyMatcherTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests/GlobalUsings.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests/GlobalUsings.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests/GlobalUsings.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests/GlobalUsings.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests/KeyboardShortcutTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests/KeyboardShortcutTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests/KeyboardShortcutTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests/KeyboardShortcutTests.cs
diff --git a/src/Balette/Tests/Bit.Balette.Tests/SourceTests.cs b/src/Utilities/Balette/Tests/Bit.Balette.Tests/SourceTests.cs
similarity index 100%
rename from src/Balette/Tests/Bit.Balette.Tests/SourceTests.cs
rename to src/Utilities/Balette/Tests/Bit.Balette.Tests/SourceTests.cs
diff --git a/src/BbScanner/Bit.BbScanner.slnx b/src/Utilities/BbScanner/Bit.BbScanner.slnx
similarity index 82%
rename from src/BbScanner/Bit.BbScanner.slnx
rename to src/Utilities/BbScanner/Bit.BbScanner.slnx
index e812f68e8b0..78a171a04a6 100644
--- a/src/BbScanner/Bit.BbScanner.slnx
+++ b/src/Utilities/BbScanner/Bit.BbScanner.slnx
@@ -1,9 +1,9 @@
-
-
-
-
+
+
+
+
diff --git a/src/BbScanner/Bit.BbScanner/Bit.BbScanner.csproj b/src/Utilities/BbScanner/Bit.BbScanner/Bit.BbScanner.csproj
similarity index 99%
rename from src/BbScanner/Bit.BbScanner/Bit.BbScanner.csproj
rename to src/Utilities/BbScanner/Bit.BbScanner/Bit.BbScanner.csproj
index 9e38902cae7..e294321cfdf 100644
--- a/src/BbScanner/Bit.BbScanner/Bit.BbScanner.csproj
+++ b/src/Utilities/BbScanner/Bit.BbScanner/Bit.BbScanner.csproj
@@ -1,6 +1,6 @@
-
+ net10.0;net9.0;net8.0
diff --git a/src/BbScanner/Bit.BbScanner/Components/BbScanner.razor b/src/Utilities/BbScanner/Bit.BbScanner/Components/BbScanner.razor
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Components/BbScanner.razor
rename to src/Utilities/BbScanner/Bit.BbScanner/Components/BbScanner.razor
diff --git a/src/BbScanner/Bit.BbScanner/Components/BbScanner.razor.cs b/src/Utilities/BbScanner/Bit.BbScanner/Components/BbScanner.razor.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Components/BbScanner.razor.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Components/BbScanner.razor.cs
diff --git a/src/BbScanner/Bit.BbScanner/Core/BbBarcodeFormat.cs b/src/Utilities/BbScanner/Bit.BbScanner/Core/BbBarcodeFormat.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Core/BbBarcodeFormat.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Core/BbBarcodeFormat.cs
diff --git a/src/BbScanner/Bit.BbScanner/Core/BbBarcodeResult.cs b/src/Utilities/BbScanner/Bit.BbScanner/Core/BbBarcodeResult.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Core/BbBarcodeResult.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Core/BbBarcodeResult.cs
diff --git a/src/BbScanner/Bit.BbScanner/Core/BbBarcodeResultMetadata.cs b/src/Utilities/BbScanner/Bit.BbScanner/Core/BbBarcodeResultMetadata.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Core/BbBarcodeResultMetadata.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Core/BbBarcodeResultMetadata.cs
diff --git a/src/BbScanner/Bit.BbScanner/Core/BbCameraDevice.cs b/src/Utilities/BbScanner/Bit.BbScanner/Core/BbCameraDevice.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Core/BbCameraDevice.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Core/BbCameraDevice.cs
diff --git a/src/BbScanner/Bit.BbScanner/Core/BbCameraFacing.cs b/src/Utilities/BbScanner/Bit.BbScanner/Core/BbCameraFacing.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Core/BbCameraFacing.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Core/BbCameraFacing.cs
diff --git a/src/BbScanner/Bit.BbScanner/Core/BbCameraInfo.cs b/src/Utilities/BbScanner/Bit.BbScanner/Core/BbCameraInfo.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Core/BbCameraInfo.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Core/BbCameraInfo.cs
diff --git a/src/BbScanner/Bit.BbScanner/Core/BbScanPoint.cs b/src/Utilities/BbScanner/Bit.BbScanner/Core/BbScanPoint.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Core/BbScanPoint.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Core/BbScanPoint.cs
diff --git a/src/BbScanner/Bit.BbScanner/Core/BbScanRect.cs b/src/Utilities/BbScanner/Bit.BbScanner/Core/BbScanRect.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Core/BbScanRect.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Core/BbScanRect.cs
diff --git a/src/BbScanner/Bit.BbScanner/Core/BbScanRegion.cs b/src/Utilities/BbScanner/Bit.BbScanner/Core/BbScanRegion.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Core/BbScanRegion.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Core/BbScanRegion.cs
diff --git a/src/BbScanner/Bit.BbScanner/Core/BbScannerErrorKind.cs b/src/Utilities/BbScanner/Bit.BbScanner/Core/BbScannerErrorKind.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Core/BbScannerErrorKind.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Core/BbScannerErrorKind.cs
diff --git a/src/BbScanner/Bit.BbScanner/Core/BbScannerException.cs b/src/Utilities/BbScanner/Bit.BbScanner/Core/BbScannerException.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Core/BbScannerException.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Core/BbScannerException.cs
diff --git a/src/BbScanner/Bit.BbScanner/Core/BbScannerJsonContext.cs b/src/Utilities/BbScanner/Bit.BbScanner/Core/BbScannerJsonContext.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Core/BbScannerJsonContext.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Core/BbScannerJsonContext.cs
diff --git a/src/BbScanner/Bit.BbScanner/Core/BbScannerOptions.cs b/src/Utilities/BbScanner/Bit.BbScanner/Core/BbScannerOptions.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Core/BbScannerOptions.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Core/BbScannerOptions.cs
diff --git a/src/BbScanner/Bit.BbScanner/Core/BbScannerStatus.cs b/src/Utilities/BbScanner/Bit.BbScanner/Core/BbScannerStatus.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Core/BbScannerStatus.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Core/BbScannerStatus.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/BbSymbolDecodeResult.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/BbSymbolDecodeResult.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/BbSymbolDecodeResult.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/BbSymbolDecodeResult.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Common/BbBitSource.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbBitSource.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Common/BbBitSource.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbBitSource.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Common/BbCharacterSetEci.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbCharacterSetEci.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Common/BbCharacterSetEci.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbCharacterSetEci.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Common/BbDarkRegionFinder.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbDarkRegionFinder.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Common/BbDarkRegionFinder.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbDarkRegionFinder.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Common/BbDecoderResult.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbDecoderResult.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Common/BbDecoderResult.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbDecoderResult.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Common/BbDetectorResult.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbDetectorResult.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Common/BbDetectorResult.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbDetectorResult.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Common/BbGenericGF.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbGenericGF.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Common/BbGenericGF.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbGenericGF.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Common/BbGfPoly.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbGfPoly.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Common/BbGfPoly.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbGfPoly.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Common/BbGridSampler.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbGridSampler.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Common/BbGridSampler.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbGridSampler.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Common/BbMathUtils.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbMathUtils.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Common/BbMathUtils.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbMathUtils.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Common/BbPerspectiveTransform.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbPerspectiveTransform.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Common/BbPerspectiveTransform.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbPerspectiveTransform.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Common/BbReedSolomonDecoder.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbReedSolomonDecoder.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Common/BbReedSolomonDecoder.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbReedSolomonDecoder.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Common/BbWhiteRectangleDetector.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbWhiteRectangleDetector.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Common/BbWhiteRectangleDetector.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Common/BbWhiteRectangleDetector.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixBitMatrixParser.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixBitMatrixParser.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixBitMatrixParser.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixBitMatrixParser.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixBitStreamParser.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixBitStreamParser.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixBitStreamParser.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixBitStreamParser.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixDataBlocks.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixDataBlocks.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixDataBlocks.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixDataBlocks.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixDetector.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixDetector.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixDetector.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixDetector.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixReader.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixReader.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixReader.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixReader.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixVersion.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixVersion.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixVersion.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/DataMatrix/BbDataMatrixVersion.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/IBbMatrixDecoder.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/IBbMatrixDecoder.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/IBbMatrixDecoder.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/IBbMatrixDecoder.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/IBbRowDecoder.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/IBbRowDecoder.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/IBbRowDecoder.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/IBbRowDecoder.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/OneD/BbCode128Reader.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/OneD/BbCode128Reader.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/OneD/BbCode128Reader.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/OneD/BbCode128Reader.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/OneD/BbCode39Reader.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/OneD/BbCode39Reader.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/OneD/BbCode39Reader.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/OneD/BbCode39Reader.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/OneD/BbEanUpcReader.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/OneD/BbEanUpcReader.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/OneD/BbEanUpcReader.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/OneD/BbEanUpcReader.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/OneD/BbItfReader.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/OneD/BbItfReader.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/OneD/BbItfReader.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/OneD/BbItfReader.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/OneD/BbLinearPatterns.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/OneD/BbLinearPatterns.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/OneD/BbLinearPatterns.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/OneD/BbLinearPatterns.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbModulusGF.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbModulusGF.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbModulusGF.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbModulusGF.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbModulusPoly.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbModulusPoly.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbModulusPoly.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbModulusPoly.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417BitStreamParser.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417BitStreamParser.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417BitStreamParser.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417BitStreamParser.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417Detector.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417Detector.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417Detector.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417Detector.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417ErrorCorrection.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417ErrorCorrection.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417ErrorCorrection.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417ErrorCorrection.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417Reader.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417Reader.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417Reader.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417Reader.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417SymbolTable.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417SymbolTable.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417SymbolTable.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/Pdf417/BbPdf417SymbolTable.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrAlignmentPatternFinder.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrAlignmentPatternFinder.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrAlignmentPatternFinder.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrAlignmentPatternFinder.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrBitMatrixParser.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrBitMatrixParser.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrBitMatrixParser.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrBitMatrixParser.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrBitStreamParser.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrBitStreamParser.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrBitStreamParser.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrBitStreamParser.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrCodeReader.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrCodeReader.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrCodeReader.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrCodeReader.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDataBlocks.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDataBlocks.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDataBlocks.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDataBlocks.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDataMask.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDataMask.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDataMask.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDataMask.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDecoder.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDecoder.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDecoder.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDecoder.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDetector.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDetector.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDetector.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrDetector.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrErrorCorrectionLevel.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrErrorCorrectionLevel.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrErrorCorrectionLevel.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrErrorCorrectionLevel.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrFinderPattern.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrFinderPattern.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrFinderPattern.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrFinderPattern.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrFinderPatternFinder.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrFinderPatternFinder.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrFinderPatternFinder.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrFinderPatternFinder.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrFormatInformation.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrFormatInformation.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrFormatInformation.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrFormatInformation.cs
diff --git a/src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrVersion.cs b/src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrVersion.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrVersion.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Decoding/QrCode/BbQrVersion.cs
diff --git a/src/BbScanner/Bit.BbScanner/Imaging/BbAdaptiveRowBinarizer.cs b/src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbAdaptiveRowBinarizer.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Imaging/BbAdaptiveRowBinarizer.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbAdaptiveRowBinarizer.cs
diff --git a/src/BbScanner/Bit.BbScanner/Imaging/BbBitMatrix.cs b/src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbBitMatrix.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Imaging/BbBitMatrix.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbBitMatrix.cs
diff --git a/src/BbScanner/Bit.BbScanner/Imaging/BbBitRow.cs b/src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbBitRow.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Imaging/BbBitRow.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbBitRow.cs
diff --git a/src/BbScanner/Bit.BbScanner/Imaging/BbGlobalHistogramBinarizer.cs b/src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbGlobalHistogramBinarizer.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Imaging/BbGlobalHistogramBinarizer.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbGlobalHistogramBinarizer.cs
diff --git a/src/BbScanner/Bit.BbScanner/Imaging/BbHybridBinarizer.cs b/src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbHybridBinarizer.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Imaging/BbHybridBinarizer.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbHybridBinarizer.cs
diff --git a/src/BbScanner/Bit.BbScanner/Imaging/BbLuminanceBuffer.cs b/src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbLuminanceBuffer.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Imaging/BbLuminanceBuffer.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbLuminanceBuffer.cs
diff --git a/src/BbScanner/Bit.BbScanner/Imaging/BbLuminanceView.cs b/src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbLuminanceView.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Imaging/BbLuminanceView.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbLuminanceView.cs
diff --git a/src/BbScanner/Bit.BbScanner/Imaging/BbPixelConverter.cs b/src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbPixelConverter.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Imaging/BbPixelConverter.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbPixelConverter.cs
diff --git a/src/BbScanner/Bit.BbScanner/Imaging/BbPixelFormat.cs b/src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbPixelFormat.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Imaging/BbPixelFormat.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Imaging/BbPixelFormat.cs
diff --git a/src/BbScanner/Bit.BbScanner/Imaging/IBbBinarizer.cs b/src/Utilities/BbScanner/Bit.BbScanner/Imaging/IBbBinarizer.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Imaging/IBbBinarizer.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Imaging/IBbBinarizer.cs
diff --git a/src/BbScanner/Bit.BbScanner/Interop/BbScannerJsInterop.cs b/src/Utilities/BbScanner/Bit.BbScanner/Interop/BbScannerJsInterop.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Interop/BbScannerJsInterop.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Interop/BbScannerJsInterop.cs
diff --git a/src/BbScanner/Bit.BbScanner/Pipeline/BbBarcodeDecoder.cs b/src/Utilities/BbScanner/Bit.BbScanner/Pipeline/BbBarcodeDecoder.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Pipeline/BbBarcodeDecoder.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Pipeline/BbBarcodeDecoder.cs
diff --git a/src/BbScanner/Bit.BbScanner/Pipeline/BbDuplicateFilter.cs b/src/Utilities/BbScanner/Bit.BbScanner/Pipeline/BbDuplicateFilter.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Pipeline/BbDuplicateFilter.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Pipeline/BbDuplicateFilter.cs
diff --git a/src/BbScanner/Bit.BbScanner/Pipeline/BbScanDiagnostics.cs b/src/Utilities/BbScanner/Bit.BbScanner/Pipeline/BbScanDiagnostics.cs
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Pipeline/BbScanDiagnostics.cs
rename to src/Utilities/BbScanner/Bit.BbScanner/Pipeline/BbScanDiagnostics.cs
diff --git a/src/BbScanner/Bit.BbScanner/README.md b/src/Utilities/BbScanner/Bit.BbScanner/README.md
similarity index 98%
rename from src/BbScanner/Bit.BbScanner/README.md
rename to src/Utilities/BbScanner/Bit.BbScanner/README.md
index 39ac3013385..9bcebb76931 100644
--- a/src/BbScanner/Bit.BbScanner/README.md
+++ b/src/Utilities/BbScanner/Bit.BbScanner/README.md
@@ -66,5 +66,5 @@ lab and the demo's working pages.
The full guide - symbologies, the component's parameters, events and methods, still images, styling, the decoder
outside Blazor, hosting models, errors and permissions, what it reads, performance and architecture - is in the
-[BbScanner README](https://github.com/bitfoundation/bitplatform/tree/develop/src/BbScanner). See it running at
+[BbScanner README](https://github.com/bitfoundation/bitplatform/tree/develop/src/Utilities/BbScanner). See it running at
[bbscanner.bitplatform.dev](https://bbscanner.bitplatform.dev).
diff --git a/src/BbScanner/Bit.BbScanner/Scripts/Bit.BbScanner.lib.module.ts b/src/Utilities/BbScanner/Bit.BbScanner/Scripts/Bit.BbScanner.lib.module.ts
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Scripts/Bit.BbScanner.lib.module.ts
rename to src/Utilities/BbScanner/Bit.BbScanner/Scripts/Bit.BbScanner.lib.module.ts
diff --git a/src/BbScanner/Bit.BbScanner/Scripts/bit-bbscanner.ts b/src/Utilities/BbScanner/Bit.BbScanner/Scripts/bit-bbscanner.ts
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Scripts/bit-bbscanner.ts
rename to src/Utilities/BbScanner/Bit.BbScanner/Scripts/bit-bbscanner.ts
diff --git a/src/BbScanner/Bit.BbScanner/Styles/bit-bbscanner.css b/src/Utilities/BbScanner/Bit.BbScanner/Styles/bit-bbscanner.css
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/Styles/bit-bbscanner.css
rename to src/Utilities/BbScanner/Bit.BbScanner/Styles/bit-bbscanner.css
diff --git a/src/BbScanner/Bit.BbScanner/_Imports.razor b/src/Utilities/BbScanner/Bit.BbScanner/_Imports.razor
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/_Imports.razor
rename to src/Utilities/BbScanner/Bit.BbScanner/_Imports.razor
diff --git a/src/BbScanner/Bit.BbScanner/package-lock.json b/src/Utilities/BbScanner/Bit.BbScanner/package-lock.json
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/package-lock.json
rename to src/Utilities/BbScanner/Bit.BbScanner/package-lock.json
diff --git a/src/BbScanner/Bit.BbScanner/package.json b/src/Utilities/BbScanner/Bit.BbScanner/package.json
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/package.json
rename to src/Utilities/BbScanner/Bit.BbScanner/package.json
diff --git a/src/BbScanner/Bit.BbScanner/tsconfig.json b/src/Utilities/BbScanner/Bit.BbScanner/tsconfig.json
similarity index 100%
rename from src/BbScanner/Bit.BbScanner/tsconfig.json
rename to src/Utilities/BbScanner/Bit.BbScanner/tsconfig.json
diff --git a/src/BbScanner/Demo/Client/Bit.BbScanner.Demo.Client.csproj b/src/Utilities/BbScanner/Demo/Client/Bit.BbScanner.Demo.Client.csproj
similarity index 100%
rename from src/BbScanner/Demo/Client/Bit.BbScanner.Demo.Client.csproj
rename to src/Utilities/BbScanner/Demo/Client/Bit.BbScanner.Demo.Client.csproj
diff --git a/src/BbScanner/Demo/Client/Extensions/IServiceCollectionExtensions.cs b/src/Utilities/BbScanner/Demo/Client/Extensions/IServiceCollectionExtensions.cs
similarity index 100%
rename from src/BbScanner/Demo/Client/Extensions/IServiceCollectionExtensions.cs
rename to src/Utilities/BbScanner/Demo/Client/Extensions/IServiceCollectionExtensions.cs
diff --git a/src/BbScanner/Demo/Client/Layout/MainLayout.razor b/src/Utilities/BbScanner/Demo/Client/Layout/MainLayout.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Layout/MainLayout.razor
rename to src/Utilities/BbScanner/Demo/Client/Layout/MainLayout.razor
diff --git a/src/BbScanner/Demo/Client/Layout/NavMenu.razor b/src/Utilities/BbScanner/Demo/Client/Layout/NavMenu.razor
similarity index 94%
rename from src/BbScanner/Demo/Client/Layout/NavMenu.razor
rename to src/Utilities/BbScanner/Demo/Client/Layout/NavMenu.razor
index d560cc7a331..316f968e583 100644
--- a/src/BbScanner/Demo/Client/Layout/NavMenu.razor
+++ b/src/Utilities/BbScanner/Demo/Client/Layout/NavMenu.razor
@@ -43,7 +43,7 @@
diff --git a/src/BbScanner/Demo/Client/Pages/Api.razor b/src/Utilities/BbScanner/Demo/Client/Pages/Api.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Pages/Api.razor
rename to src/Utilities/BbScanner/Demo/Client/Pages/Api.razor
diff --git a/src/BbScanner/Demo/Client/Pages/Camera.razor b/src/Utilities/BbScanner/Demo/Client/Pages/Camera.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Pages/Camera.razor
rename to src/Utilities/BbScanner/Demo/Client/Pages/Camera.razor
diff --git a/src/BbScanner/Demo/Client/Pages/Customize.razor b/src/Utilities/BbScanner/Demo/Client/Pages/Customize.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Pages/Customize.razor
rename to src/Utilities/BbScanner/Demo/Client/Pages/Customize.razor
diff --git a/src/BbScanner/Demo/Client/Pages/Errors.razor b/src/Utilities/BbScanner/Demo/Client/Pages/Errors.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Pages/Errors.razor
rename to src/Utilities/BbScanner/Demo/Client/Pages/Errors.razor
diff --git a/src/BbScanner/Demo/Client/Pages/Home.razor b/src/Utilities/BbScanner/Demo/Client/Pages/Home.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Pages/Home.razor
rename to src/Utilities/BbScanner/Demo/Client/Pages/Home.razor
diff --git a/src/BbScanner/Demo/Client/Pages/Image.razor b/src/Utilities/BbScanner/Demo/Client/Pages/Image.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Pages/Image.razor
rename to src/Utilities/BbScanner/Demo/Client/Pages/Image.razor
diff --git a/src/BbScanner/Demo/Client/Pages/Lifecycle.razor b/src/Utilities/BbScanner/Demo/Client/Pages/Lifecycle.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Pages/Lifecycle.razor
rename to src/Utilities/BbScanner/Demo/Client/Pages/Lifecycle.razor
diff --git a/src/BbScanner/Demo/Client/Pages/McpServer.razor b/src/Utilities/BbScanner/Demo/Client/Pages/McpServer.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Pages/McpServer.razor
rename to src/Utilities/BbScanner/Demo/Client/Pages/McpServer.razor
diff --git a/src/BbScanner/Demo/Client/Pages/NotFound.razor b/src/Utilities/BbScanner/Demo/Client/Pages/NotFound.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Pages/NotFound.razor
rename to src/Utilities/BbScanner/Demo/Client/Pages/NotFound.razor
diff --git a/src/BbScanner/Demo/Client/Pages/Performance.razor b/src/Utilities/BbScanner/Demo/Client/Pages/Performance.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Pages/Performance.razor
rename to src/Utilities/BbScanner/Demo/Client/Pages/Performance.razor
diff --git a/src/BbScanner/Demo/Client/Pages/Region.razor b/src/Utilities/BbScanner/Demo/Client/Pages/Region.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Pages/Region.razor
rename to src/Utilities/BbScanner/Demo/Client/Pages/Region.razor
diff --git a/src/BbScanner/Demo/Client/Pages/Samples.razor b/src/Utilities/BbScanner/Demo/Client/Pages/Samples.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Pages/Samples.razor
rename to src/Utilities/BbScanner/Demo/Client/Pages/Samples.razor
diff --git a/src/BbScanner/Demo/Client/Pages/Scan.razor b/src/Utilities/BbScanner/Demo/Client/Pages/Scan.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Pages/Scan.razor
rename to src/Utilities/BbScanner/Demo/Client/Pages/Scan.razor
diff --git a/src/BbScanner/Demo/Client/Program.cs b/src/Utilities/BbScanner/Demo/Client/Program.cs
similarity index 100%
rename from src/BbScanner/Demo/Client/Program.cs
rename to src/Utilities/BbScanner/Demo/Client/Program.cs
diff --git a/src/BbScanner/Demo/Client/Routes.razor b/src/Utilities/BbScanner/Demo/Client/Routes.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Routes.razor
rename to src/Utilities/BbScanner/Demo/Client/Routes.razor
diff --git a/src/BbScanner/Demo/Client/SampleCatalog.cs b/src/Utilities/BbScanner/Demo/Client/SampleCatalog.cs
similarity index 100%
rename from src/BbScanner/Demo/Client/SampleCatalog.cs
rename to src/Utilities/BbScanner/Demo/Client/SampleCatalog.cs
diff --git a/src/BbScanner/Demo/Client/Shared/BarcodeSvg.razor b/src/Utilities/BbScanner/Demo/Client/Shared/BarcodeSvg.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Shared/BarcodeSvg.razor
rename to src/Utilities/BbScanner/Demo/Client/Shared/BarcodeSvg.razor
diff --git a/src/BbScanner/Demo/Client/Shared/DiagnosticsPanel.razor b/src/Utilities/BbScanner/Demo/Client/Shared/DiagnosticsPanel.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Shared/DiagnosticsPanel.razor
rename to src/Utilities/BbScanner/Demo/Client/Shared/DiagnosticsPanel.razor
diff --git a/src/BbScanner/Demo/Client/Shared/ResultLog.razor b/src/Utilities/BbScanner/Demo/Client/Shared/ResultLog.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/Shared/ResultLog.razor
rename to src/Utilities/BbScanner/Demo/Client/Shared/ResultLog.razor
diff --git a/src/BbScanner/Demo/Client/_Imports.razor b/src/Utilities/BbScanner/Demo/Client/_Imports.razor
similarity index 100%
rename from src/BbScanner/Demo/Client/_Imports.razor
rename to src/Utilities/BbScanner/Demo/Client/_Imports.razor
diff --git a/src/BbScanner/Demo/Server/Bit.BbScanner.Demo.Server.csproj b/src/Utilities/BbScanner/Demo/Server/Bit.BbScanner.Demo.Server.csproj
similarity index 100%
rename from src/BbScanner/Demo/Server/Bit.BbScanner.Demo.Server.csproj
rename to src/Utilities/BbScanner/Demo/Server/Bit.BbScanner.Demo.Server.csproj
diff --git a/src/BbScanner/Demo/Server/Components/App.razor b/src/Utilities/BbScanner/Demo/Server/Components/App.razor
similarity index 100%
rename from src/BbScanner/Demo/Server/Components/App.razor
rename to src/Utilities/BbScanner/Demo/Server/Components/App.razor
diff --git a/src/BbScanner/Demo/Server/Components/Pages/Error.razor b/src/Utilities/BbScanner/Demo/Server/Components/Pages/Error.razor
similarity index 100%
rename from src/BbScanner/Demo/Server/Components/Pages/Error.razor
rename to src/Utilities/BbScanner/Demo/Server/Components/Pages/Error.razor
diff --git a/src/BbScanner/Demo/Server/Components/_Imports.razor b/src/Utilities/BbScanner/Demo/Server/Components/_Imports.razor
similarity index 100%
rename from src/BbScanner/Demo/Server/Components/_Imports.razor
rename to src/Utilities/BbScanner/Demo/Server/Components/_Imports.razor
diff --git a/src/BbScanner/Demo/Server/Controllers/McpController.cs b/src/Utilities/BbScanner/Demo/Server/Controllers/McpController.cs
similarity index 100%
rename from src/BbScanner/Demo/Server/Controllers/McpController.cs
rename to src/Utilities/BbScanner/Demo/Server/Controllers/McpController.cs
diff --git a/src/BbScanner/Demo/Server/Controllers/McpPrompts.cs b/src/Utilities/BbScanner/Demo/Server/Controllers/McpPrompts.cs
similarity index 100%
rename from src/BbScanner/Demo/Server/Controllers/McpPrompts.cs
rename to src/Utilities/BbScanner/Demo/Server/Controllers/McpPrompts.cs
diff --git a/src/BbScanner/Demo/Server/Controllers/McpResources.cs b/src/Utilities/BbScanner/Demo/Server/Controllers/McpResources.cs
similarity index 100%
rename from src/BbScanner/Demo/Server/Controllers/McpResources.cs
rename to src/Utilities/BbScanner/Demo/Server/Controllers/McpResources.cs
diff --git a/src/BbScanner/Demo/Server/Dtos/BbScannerMcpDtos.cs b/src/Utilities/BbScanner/Demo/Server/Dtos/BbScannerMcpDtos.cs
similarity index 100%
rename from src/BbScanner/Demo/Server/Dtos/BbScannerMcpDtos.cs
rename to src/Utilities/BbScanner/Demo/Server/Dtos/BbScannerMcpDtos.cs
diff --git a/src/BbScanner/Demo/Server/Program.cs b/src/Utilities/BbScanner/Demo/Server/Program.cs
similarity index 99%
rename from src/BbScanner/Demo/Server/Program.cs
rename to src/Utilities/BbScanner/Demo/Server/Program.cs
index c5d9992284d..b59f26163cb 100644
--- a/src/BbScanner/Demo/Server/Program.cs
+++ b/src/Utilities/BbScanner/Demo/Server/Program.cs
@@ -34,7 +34,7 @@
Title = "Bit.BbScanner",
Version = BbScannerServerInstructions.BbScannerVersion,
Description = "Documentation, public API, symbologies, setup guides and a decode lab for the Bit.BbScanner barcode scanner for Blazor.",
- WebsiteUrl = "https://github.com/bitfoundation/bitplatform/tree/develop/src/BbScanner"
+ WebsiteUrl = "https://github.com/bitfoundation/bitplatform/tree/develop/src/Utilities/BbScanner"
};
// Returned from `initialize` and put in front of the model before it has called anything.
diff --git a/src/BbScanner/Demo/Server/Properties/launchSettings.json b/src/Utilities/BbScanner/Demo/Server/Properties/launchSettings.json
similarity index 100%
rename from src/BbScanner/Demo/Server/Properties/launchSettings.json
rename to src/Utilities/BbScanner/Demo/Server/Properties/launchSettings.json
diff --git a/src/BbScanner/Demo/Server/Services/BbScannerApiCatalog.cs b/src/Utilities/BbScanner/Demo/Server/Services/BbScannerApiCatalog.cs
similarity index 100%
rename from src/BbScanner/Demo/Server/Services/BbScannerApiCatalog.cs
rename to src/Utilities/BbScanner/Demo/Server/Services/BbScannerApiCatalog.cs
diff --git a/src/BbScanner/Demo/Server/Services/BbScannerCompletions.cs b/src/Utilities/BbScanner/Demo/Server/Services/BbScannerCompletions.cs
similarity index 100%
rename from src/BbScanner/Demo/Server/Services/BbScannerCompletions.cs
rename to src/Utilities/BbScanner/Demo/Server/Services/BbScannerCompletions.cs
diff --git a/src/BbScanner/Demo/Server/Services/BbScannerDecodeLab.cs b/src/Utilities/BbScanner/Demo/Server/Services/BbScannerDecodeLab.cs
similarity index 100%
rename from src/BbScanner/Demo/Server/Services/BbScannerDecodeLab.cs
rename to src/Utilities/BbScanner/Demo/Server/Services/BbScannerDecodeLab.cs
diff --git a/src/BbScanner/Demo/Server/Services/BbScannerFormatCatalog.cs b/src/Utilities/BbScanner/Demo/Server/Services/BbScannerFormatCatalog.cs
similarity index 100%
rename from src/BbScanner/Demo/Server/Services/BbScannerFormatCatalog.cs
rename to src/Utilities/BbScanner/Demo/Server/Services/BbScannerFormatCatalog.cs
diff --git a/src/BbScanner/Demo/Server/Services/BbScannerSearchIndex.cs b/src/Utilities/BbScanner/Demo/Server/Services/BbScannerSearchIndex.cs
similarity index 100%
rename from src/BbScanner/Demo/Server/Services/BbScannerSearchIndex.cs
rename to src/Utilities/BbScanner/Demo/Server/Services/BbScannerSearchIndex.cs
diff --git a/src/BbScanner/Demo/Server/Services/BbScannerServerInstructions.cs b/src/Utilities/BbScanner/Demo/Server/Services/BbScannerServerInstructions.cs
similarity index 100%
rename from src/BbScanner/Demo/Server/Services/BbScannerServerInstructions.cs
rename to src/Utilities/BbScanner/Demo/Server/Services/BbScannerServerInstructions.cs
diff --git a/src/BbScanner/Demo/Server/Services/BbScannerSetupGuide.cs b/src/Utilities/BbScanner/Demo/Server/Services/BbScannerSetupGuide.cs
similarity index 100%
rename from src/BbScanner/Demo/Server/Services/BbScannerSetupGuide.cs
rename to src/Utilities/BbScanner/Demo/Server/Services/BbScannerSetupGuide.cs
diff --git a/src/BbScanner/Demo/Server/Services/BbScannerSourceCatalog.cs b/src/Utilities/BbScanner/Demo/Server/Services/BbScannerSourceCatalog.cs
similarity index 100%
rename from src/BbScanner/Demo/Server/Services/BbScannerSourceCatalog.cs
rename to src/Utilities/BbScanner/Demo/Server/Services/BbScannerSourceCatalog.cs
diff --git a/src/BbScanner/Demo/Server/Services/BbScannerStylesheetClasses.cs b/src/Utilities/BbScanner/Demo/Server/Services/BbScannerStylesheetClasses.cs
similarity index 100%
rename from src/BbScanner/Demo/Server/Services/BbScannerStylesheetClasses.cs
rename to src/Utilities/BbScanner/Demo/Server/Services/BbScannerStylesheetClasses.cs
diff --git a/src/BbScanner/Demo/Server/Services/BbScannerXmlDocs.cs b/src/Utilities/BbScanner/Demo/Server/Services/BbScannerXmlDocs.cs
similarity index 100%
rename from src/BbScanner/Demo/Server/Services/BbScannerXmlDocs.cs
rename to src/Utilities/BbScanner/Demo/Server/Services/BbScannerXmlDocs.cs
diff --git a/src/BbScanner/Demo/Server/appsettings.json b/src/Utilities/BbScanner/Demo/Server/appsettings.json
similarity index 100%
rename from src/BbScanner/Demo/Server/appsettings.json
rename to src/Utilities/BbScanner/Demo/Server/appsettings.json
diff --git a/src/BbScanner/Demo/Server/wwwroot/app.css b/src/Utilities/BbScanner/Demo/Server/wwwroot/app.css
similarity index 100%
rename from src/BbScanner/Demo/Server/wwwroot/app.css
rename to src/Utilities/BbScanner/Demo/Server/wwwroot/app.css
diff --git a/src/BbScanner/Demo/Server/wwwroot/favicon.png b/src/Utilities/BbScanner/Demo/Server/wwwroot/favicon.png
similarity index 100%
rename from src/BbScanner/Demo/Server/wwwroot/favicon.png
rename to src/Utilities/BbScanner/Demo/Server/wwwroot/favicon.png
diff --git a/src/BbScanner/README.md b/src/Utilities/BbScanner/README.md
similarity index 99%
rename from src/BbScanner/README.md
rename to src/Utilities/BbScanner/README.md
index e79a939cc24..82a1a18296f 100644
--- a/src/BbScanner/README.md
+++ b/src/Utilities/BbScanner/README.md
@@ -674,7 +674,7 @@ The encoders live in the test kit, not in the library: the library only reads ba
decoder can be validated by round trip instead of by binary fixtures, and so that the demo can render real,
scannable symbols.
-From `src/BbScanner` (inside `src`, so `src/global.json` selects the Microsoft.Testing.Platform runner):
+From `src/Utilities/BbScanner` (inside `src`, so `src/global.json` selects the Microsoft.Testing.Platform runner):
```bash
dotnet build Bit.BbScanner.slnx
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Benchmarks/Bit.BbScanner.Benchmarks.csproj b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Benchmarks/Bit.BbScanner.Benchmarks.csproj
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Benchmarks/Bit.BbScanner.Benchmarks.csproj
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Benchmarks/Bit.BbScanner.Benchmarks.csproj
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Benchmarks/DecoderBenchmarks.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Benchmarks/DecoderBenchmarks.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Benchmarks/DecoderBenchmarks.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Benchmarks/DecoderBenchmarks.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Benchmarks/FrameFactory.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Benchmarks/FrameFactory.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Benchmarks/FrameFactory.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Benchmarks/FrameFactory.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Benchmarks/Program.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Benchmarks/Program.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Benchmarks/Program.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Benchmarks/Program.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Benchmarks/README.md b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Benchmarks/README.md
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Benchmarks/README.md
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Benchmarks/README.md
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Benchmarks/StageBenchmarks.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Benchmarks/StageBenchmarks.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Benchmarks/StageBenchmarks.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Benchmarks/StageBenchmarks.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Benchmarks/Verification.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Benchmarks/Verification.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Benchmarks/Verification.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Benchmarks/Verification.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.TestKit/Bit.BbScanner.TestKit.csproj b/src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/Bit.BbScanner.TestKit.csproj
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.TestKit/Bit.BbScanner.TestKit.csproj
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/Bit.BbScanner.TestKit.csproj
diff --git a/src/BbScanner/Tests/Bit.BbScanner.TestKit/DataMatrixEncoder.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/DataMatrixEncoder.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.TestKit/DataMatrixEncoder.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/DataMatrixEncoder.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.TestKit/ImageTransforms.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/ImageTransforms.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.TestKit/ImageTransforms.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/ImageTransforms.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.TestKit/LinearEncoders.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/LinearEncoders.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.TestKit/LinearEncoders.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/LinearEncoders.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.TestKit/Pdf417Encoder.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/Pdf417Encoder.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.TestKit/Pdf417Encoder.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/Pdf417Encoder.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.TestKit/QrEncoder.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/QrEncoder.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.TestKit/QrEncoder.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/QrEncoder.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.TestKit/ReedSolomonEncoder.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/ReedSolomonEncoder.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.TestKit/ReedSolomonEncoder.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/ReedSolomonEncoder.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.TestKit/SyntheticImage.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/SyntheticImage.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.TestKit/SyntheticImage.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.TestKit/SyntheticImage.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/AssemblySetup.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/AssemblySetup.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/AssemblySetup.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/AssemblySetup.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Bit.BbScanner.Tests.E2E.csproj b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Bit.BbScanner.Tests.E2E.csproj
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Bit.BbScanner.Tests.E2E.csproj
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Bit.BbScanner.Tests.E2E.csproj
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/BbScannerTest.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/BbScannerTest.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/BbScannerTest.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/BbScannerTest.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/CameraClips.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/CameraClips.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/CameraClips.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/CameraClips.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/ChildProcess.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/ChildProcess.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/ChildProcess.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/ChildProcess.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/DemoHost.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/DemoHost.cs
similarity index 93%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/DemoHost.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/DemoHost.cs
index 822162a95c1..955adf1d56b 100644
--- a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/DemoHost.cs
+++ b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/DemoHost.cs
@@ -27,7 +27,7 @@ public static async Task StartAsync()
if (File.Exists(assembly) is false)
throw new FileNotFoundException(
$"The demo server has not been built in the {E2EEnvironment.Configuration} configuration. Build it first with " +
- $"'dotnet build src/BbScanner/Demo/Server/Bit.BbScanner.Demo.Server.csproj -c {E2EEnvironment.Configuration}'", assembly);
+ $"'dotnet build src/Utilities/BbScanner/Demo/Server/Bit.BbScanner.Demo.Server.csproj -c {E2EEnvironment.Configuration}'", assembly);
var baseUrl = $"http://127.0.0.1:{ChildProcess.FreePort()}";
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/E2EEnvironment.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/E2EEnvironment.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/E2EEnvironment.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/E2EEnvironment.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/FakeCameraVideo.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/FakeCameraVideo.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/FakeCameraVideo.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/FakeCameraVideo.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/PlaywrightSession.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/PlaywrightSession.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/PlaywrightSession.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/PlaywrightSession.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/RepoLayout.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/RepoLayout.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/RepoLayout.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/RepoLayout.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/ScannerSession.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/ScannerSession.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/ScannerSession.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Infrastructure/ScannerSession.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/README.md b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/README.md
similarity index 90%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/README.md
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/README.md
index a3e89405f57..1165764e782 100644
--- a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/README.md
+++ b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/README.md
@@ -29,7 +29,7 @@ lighting up the camera indicator. Every page is prerendered, so each test waits
## Running locally
-From `src/BbScanner` (inside `src`, so `src/global.json` selects the Microsoft.Testing.Platform runner):
+From `src/Utilities/BbScanner` (inside `src`, so `src/global.json` selects the Microsoft.Testing.Platform runner):
```bash
# The suite runs the demo server's build output: build it first, in the configuration the tests run in.
@@ -51,10 +51,10 @@ CI runs the suite in `.github/workflows/bit.ci.BbScanner.e2e.yml`, which only ru
decoder, component and MCP tests only. The E2E workflow does the same as above, in Release:
```bash
-dotnet build src/BbScanner/Demo/Server/Bit.BbScanner.Demo.Server.csproj -c Release
-dotnet build src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Bit.BbScanner.Tests.E2E.csproj -c Release
-pwsh src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/bin/Release/net10.0/playwright.ps1 install --with-deps chromium
-cd src/BbScanner/Tests/Bit.BbScanner.Tests.E2E && dotnet test -c Release --no-build --report-trx --report-trx-filename bbscanner-e2e.trx
+dotnet build src/Utilities/BbScanner/Demo/Server/Bit.BbScanner.Demo.Server.csproj -c Release
+dotnet build src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/Bit.BbScanner.Tests.E2E.csproj -c Release
+pwsh src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/bin/Release/net10.0/playwright.ps1 install --with-deps chromium
+cd src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E && dotnet test -c Release --no-build --report-trx --report-trx-filename bbscanner-e2e.trx
```
The suite starts the demo server itself (`dotnet Bit.BbScanner.Demo.Server.dll --urls http://127.0.0.1:`,
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/ScannerInterfaceTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/ScannerInterfaceTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/ScannerInterfaceTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/ScannerInterfaceTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/ScannerLifecycleTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/ScannerLifecycleTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.E2E/ScannerLifecycleTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.E2E/ScannerLifecycleTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/Bit.BbScanner.Tests.Mcp.csproj b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/Bit.BbScanner.Tests.Mcp.csproj
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/Bit.BbScanner.Tests.Mcp.csproj
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/Bit.BbScanner.Tests.Mcp.csproj
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpCall.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpCall.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpCall.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpCall.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpDecodeLabTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpDecodeLabTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpDecodeLabTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpDecodeLabTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpOracleTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpOracleTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpOracleTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpOracleTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpResourcePromptTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpResourcePromptTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpResourcePromptTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpResourcePromptTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpSearchTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpSearchTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpSearchTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpSearchTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpSurfaceTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpSurfaceTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpSurfaceTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpSurfaceTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpTestHost.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpTestHost.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpTestHost.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpTestHost.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpToolTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpToolTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpToolTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/McpToolTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/ToolNames.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/ToolNames.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/ToolNames.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests.Mcp/ToolNames.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests/BarcodeDecoderTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/BarcodeDecoderTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests/BarcodeDecoderTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/BarcodeDecoderTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests/Bit.BbScanner.Tests.csproj b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/Bit.BbScanner.Tests.csproj
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests/Bit.BbScanner.Tests.csproj
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/Bit.BbScanner.Tests.csproj
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests/Components/BbScannerTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/Components/BbScannerTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests/Components/BbScannerTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/Components/BbScannerTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests/DataMatrixBitStreamTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/DataMatrixBitStreamTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests/DataMatrixBitStreamTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/DataMatrixBitStreamTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests/DataMatrixDecoderTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/DataMatrixDecoderTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests/DataMatrixDecoderTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/DataMatrixDecoderTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests/GlobalUsings.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/GlobalUsings.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests/GlobalUsings.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/GlobalUsings.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests/ImagingTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/ImagingTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests/ImagingTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/ImagingTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests/LinearDecoderTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/LinearDecoderTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests/LinearDecoderTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/LinearDecoderTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests/LinearMisreadTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/LinearMisreadTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests/LinearMisreadTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/LinearMisreadTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests/Pdf417DecoderTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/Pdf417DecoderTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests/Pdf417DecoderTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/Pdf417DecoderTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests/PublicApiTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/PublicApiTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests/PublicApiTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/PublicApiTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests/QrCodeDecoderTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/QrCodeDecoderTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests/QrCodeDecoderTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/QrCodeDecoderTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests/QrVersionTableTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/QrVersionTableTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests/QrVersionTableTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/QrVersionTableTests.cs
diff --git a/src/BbScanner/Tests/Bit.BbScanner.Tests/RealWorldImageTests.cs b/src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/RealWorldImageTests.cs
similarity index 100%
rename from src/BbScanner/Tests/Bit.BbScanner.Tests/RealWorldImageTests.cs
rename to src/Utilities/BbScanner/Tests/Bit.BbScanner.Tests/RealWorldImageTests.cs
diff --git a/src/Bdnd/Bit.Bdnd.slnx b/src/Utilities/Bdnd/Bit.Bdnd.slnx
similarity index 77%
rename from src/Bdnd/Bit.Bdnd.slnx
rename to src/Utilities/Bdnd/Bit.Bdnd.slnx
index a659e0034fe..ad95f6f0b28 100644
--- a/src/Bdnd/Bit.Bdnd.slnx
+++ b/src/Utilities/Bdnd/Bit.Bdnd.slnx
@@ -1,9 +1,9 @@
-
-
-
-
+
+
+
+
diff --git a/src/Bdnd/Bit.Bdnd/Bit.Bdnd.csproj b/src/Utilities/Bdnd/Bit.Bdnd/Bit.Bdnd.csproj
similarity index 99%
rename from src/Bdnd/Bit.Bdnd/Bit.Bdnd.csproj
rename to src/Utilities/Bdnd/Bit.Bdnd/Bit.Bdnd.csproj
index e9756c9688b..0f94251b33f 100644
--- a/src/Bdnd/Bit.Bdnd/Bit.Bdnd.csproj
+++ b/src/Utilities/Bdnd/Bit.Bdnd/Bit.Bdnd.csproj
@@ -1,6 +1,6 @@
-
+ net10.0;net9.0;net8.0
diff --git a/src/Bdnd/Bit.Bdnd/BitBdnd.cs b/src/Utilities/Bdnd/Bit.Bdnd/BitBdnd.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/BitBdnd.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/BitBdnd.cs
diff --git a/src/Bdnd/Bit.Bdnd/Components/BdndDragHandle.razor b/src/Utilities/Bdnd/Bit.Bdnd/Components/BdndDragHandle.razor
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Components/BdndDragHandle.razor
rename to src/Utilities/Bdnd/Bit.Bdnd/Components/BdndDragHandle.razor
diff --git a/src/Bdnd/Bit.Bdnd/Components/BdndDragHandle.razor.cs b/src/Utilities/Bdnd/Bit.Bdnd/Components/BdndDragHandle.razor.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Components/BdndDragHandle.razor.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Components/BdndDragHandle.razor.cs
diff --git a/src/Bdnd/Bit.Bdnd/Components/BdndDragLayer.razor b/src/Utilities/Bdnd/Bit.Bdnd/Components/BdndDragLayer.razor
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Components/BdndDragLayer.razor
rename to src/Utilities/Bdnd/Bit.Bdnd/Components/BdndDragLayer.razor
diff --git a/src/Bdnd/Bit.Bdnd/Components/BdndDragLayer.razor.cs b/src/Utilities/Bdnd/Bit.Bdnd/Components/BdndDragLayer.razor.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Components/BdndDragLayer.razor.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Components/BdndDragLayer.razor.cs
diff --git a/src/Bdnd/Bit.Bdnd/Components/BdndDraggable.cs b/src/Utilities/Bdnd/Bit.Bdnd/Components/BdndDraggable.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Components/BdndDraggable.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Components/BdndDraggable.cs
diff --git a/src/Bdnd/Bit.Bdnd/Components/BdndDropTarget.cs b/src/Utilities/Bdnd/Bit.Bdnd/Components/BdndDropTarget.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Components/BdndDropTarget.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Components/BdndDropTarget.cs
diff --git a/src/Bdnd/Bit.Bdnd/Components/BdndProvider.razor b/src/Utilities/Bdnd/Bit.Bdnd/Components/BdndProvider.razor
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Components/BdndProvider.razor
rename to src/Utilities/Bdnd/Bit.Bdnd/Components/BdndProvider.razor
diff --git a/src/Bdnd/Bit.Bdnd/Components/BdndProvider.razor.cs b/src/Utilities/Bdnd/Bit.Bdnd/Components/BdndProvider.razor.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Components/BdndProvider.razor.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Components/BdndProvider.razor.cs
diff --git a/src/Bdnd/Bit.Bdnd/Components/IBdndDragHandleController.cs b/src/Utilities/Bdnd/Bit.Bdnd/Components/IBdndDragHandleController.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Components/IBdndDragHandleController.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Components/IBdndDragHandleController.cs
diff --git a/src/Bdnd/Bit.Bdnd/Core/BdndDragDropManager.cs b/src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDragDropManager.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Core/BdndDragDropManager.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDragDropManager.cs
diff --git a/src/Bdnd/Bit.Bdnd/Core/BdndDragEndContext.cs b/src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDragEndContext.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Core/BdndDragEndContext.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDragEndContext.cs
diff --git a/src/Bdnd/Bit.Bdnd/Core/BdndDragLayerState.cs b/src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDragLayerState.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Core/BdndDragLayerState.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDragLayerState.cs
diff --git a/src/Bdnd/Bit.Bdnd/Core/BdndDragState.cs b/src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDragState.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Core/BdndDragState.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDragState.cs
diff --git a/src/Bdnd/Bit.Bdnd/Core/BdndDropEventArgs.cs b/src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDropEventArgs.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Core/BdndDropEventArgs.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDropEventArgs.cs
diff --git a/src/Bdnd/Bit.Bdnd/Core/BdndDropState.cs b/src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDropState.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Core/BdndDropState.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDropState.cs
diff --git a/src/Bdnd/Bit.Bdnd/Core/BdndDropTargetEntry.cs b/src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDropTargetEntry.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Core/BdndDropTargetEntry.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDropTargetEntry.cs
diff --git a/src/Bdnd/Bit.Bdnd/Core/BdndDropTargetScope.cs b/src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDropTargetScope.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Core/BdndDropTargetScope.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Core/BdndDropTargetScope.cs
diff --git a/src/Bdnd/Bit.Bdnd/Core/BdndNativeDropEventArgs.cs b/src/Utilities/Bdnd/Bit.Bdnd/Core/BdndNativeDropEventArgs.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Core/BdndNativeDropEventArgs.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Core/BdndNativeDropEventArgs.cs
diff --git a/src/Bdnd/Bit.Bdnd/Core/BdndNativeDropPayload.cs b/src/Utilities/Bdnd/Bit.Bdnd/Core/BdndNativeDropPayload.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Core/BdndNativeDropPayload.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Core/BdndNativeDropPayload.cs
diff --git a/src/Bdnd/Bit.Bdnd/Core/BdndNativeFile.cs b/src/Utilities/Bdnd/Bit.Bdnd/Core/BdndNativeFile.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Core/BdndNativeFile.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Core/BdndNativeFile.cs
diff --git a/src/Bdnd/Bit.Bdnd/Core/BdndNativeTypes.cs b/src/Utilities/Bdnd/Bit.Bdnd/Core/BdndNativeTypes.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Core/BdndNativeTypes.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Core/BdndNativeTypes.cs
diff --git a/src/Bdnd/Bit.Bdnd/Core/BdndXYCoord.cs b/src/Utilities/Bdnd/Bit.Bdnd/Core/BdndXYCoord.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Core/BdndXYCoord.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Core/BdndXYCoord.cs
diff --git a/src/Bdnd/Bit.Bdnd/Core/IBdndMonitor.cs b/src/Utilities/Bdnd/Bit.Bdnd/Core/IBdndMonitor.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Core/IBdndMonitor.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Core/IBdndMonitor.cs
diff --git a/src/Bdnd/Bit.Bdnd/Interop/BdndDomRect.cs b/src/Utilities/Bdnd/Bit.Bdnd/Interop/BdndDomRect.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Interop/BdndDomRect.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Interop/BdndDomRect.cs
diff --git a/src/Bdnd/Bit.Bdnd/Interop/BdndDragSourceOptions.cs b/src/Utilities/Bdnd/Bit.Bdnd/Interop/BdndDragSourceOptions.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Interop/BdndDragSourceOptions.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Interop/BdndDragSourceOptions.cs
diff --git a/src/Bdnd/Bit.Bdnd/Interop/BdndDropTargetOptions.cs b/src/Utilities/Bdnd/Bit.Bdnd/Interop/BdndDropTargetOptions.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Interop/BdndDropTargetOptions.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Interop/BdndDropTargetOptions.cs
diff --git a/src/Bdnd/Bit.Bdnd/Interop/BdndInterop.cs b/src/Utilities/Bdnd/Bit.Bdnd/Interop/BdndInterop.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Interop/BdndInterop.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Interop/BdndInterop.cs
diff --git a/src/Bdnd/Bit.Bdnd/Interop/BdndJsRegistration.cs b/src/Utilities/Bdnd/Bit.Bdnd/Interop/BdndJsRegistration.cs
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Interop/BdndJsRegistration.cs
rename to src/Utilities/Bdnd/Bit.Bdnd/Interop/BdndJsRegistration.cs
diff --git a/src/Bdnd/Bit.Bdnd/README.md b/src/Utilities/Bdnd/Bit.Bdnd/README.md
similarity index 98%
rename from src/Bdnd/Bit.Bdnd/README.md
rename to src/Utilities/Bdnd/Bit.Bdnd/README.md
index 4a40db575eb..836acdb4e89 100644
--- a/src/Bdnd/Bit.Bdnd/README.md
+++ b/src/Utilities/Bdnd/Bit.Bdnd/README.md
@@ -66,5 +66,5 @@ pages, and it can run a drag through the real components to show which targets a
The full guide - providers, draggables, drop targets, drag layers, handles, nesting, sortable lists, native drags,
the monitor, hosting models and a React DnD mapping - is in the
-[Bdnd README](https://github.com/bitfoundation/bitplatform/tree/develop/src/Bdnd). See it running at
+[Bdnd README](https://github.com/bitfoundation/bitplatform/tree/develop/src/Utilities/Bdnd). See it running at
[bdnd.bitplatform.dev](https://bdnd.bitplatform.dev).
diff --git a/src/Bdnd/Bit.Bdnd/Scripts/bit-bdnd.ts b/src/Utilities/Bdnd/Bit.Bdnd/Scripts/bit-bdnd.ts
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/Scripts/bit-bdnd.ts
rename to src/Utilities/Bdnd/Bit.Bdnd/Scripts/bit-bdnd.ts
diff --git a/src/Bdnd/Bit.Bdnd/_Imports.razor b/src/Utilities/Bdnd/Bit.Bdnd/_Imports.razor
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/_Imports.razor
rename to src/Utilities/Bdnd/Bit.Bdnd/_Imports.razor
diff --git a/src/Bdnd/Bit.Bdnd/package-lock.json b/src/Utilities/Bdnd/Bit.Bdnd/package-lock.json
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/package-lock.json
rename to src/Utilities/Bdnd/Bit.Bdnd/package-lock.json
diff --git a/src/Bdnd/Bit.Bdnd/package.json b/src/Utilities/Bdnd/Bit.Bdnd/package.json
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/package.json
rename to src/Utilities/Bdnd/Bit.Bdnd/package.json
diff --git a/src/Bdnd/Bit.Bdnd/tsconfig.json b/src/Utilities/Bdnd/Bit.Bdnd/tsconfig.json
similarity index 100%
rename from src/Bdnd/Bit.Bdnd/tsconfig.json
rename to src/Utilities/Bdnd/Bit.Bdnd/tsconfig.json
diff --git a/src/Bdnd/Demo/Client/Bit.Bdnd.Demo.Client.csproj b/src/Utilities/Bdnd/Demo/Client/Bit.Bdnd.Demo.Client.csproj
similarity index 100%
rename from src/Bdnd/Demo/Client/Bit.Bdnd.Demo.Client.csproj
rename to src/Utilities/Bdnd/Demo/Client/Bit.Bdnd.Demo.Client.csproj
diff --git a/src/Bdnd/Demo/Client/Examples/DemoCode.razor b/src/Utilities/Bdnd/Demo/Client/Examples/DemoCode.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Examples/DemoCode.razor
rename to src/Utilities/Bdnd/Demo/Client/Examples/DemoCode.razor
diff --git a/src/Bdnd/Demo/Client/Extensions/IServiceCollectionExtensions.cs b/src/Utilities/Bdnd/Demo/Client/Extensions/IServiceCollectionExtensions.cs
similarity index 100%
rename from src/Bdnd/Demo/Client/Extensions/IServiceCollectionExtensions.cs
rename to src/Utilities/Bdnd/Demo/Client/Extensions/IServiceCollectionExtensions.cs
diff --git a/src/Bdnd/Demo/Client/ItemTypes.cs b/src/Utilities/Bdnd/Demo/Client/ItemTypes.cs
similarity index 100%
rename from src/Bdnd/Demo/Client/ItemTypes.cs
rename to src/Utilities/Bdnd/Demo/Client/ItemTypes.cs
diff --git a/src/Bdnd/Demo/Client/Layout/MainLayout.razor b/src/Utilities/Bdnd/Demo/Client/Layout/MainLayout.razor
similarity index 91%
rename from src/Bdnd/Demo/Client/Layout/MainLayout.razor
rename to src/Utilities/Bdnd/Demo/Client/Layout/MainLayout.razor
index 6df47f31d81..8ec9796a16f 100644
--- a/src/Bdnd/Demo/Client/Layout/MainLayout.razor
+++ b/src/Utilities/Bdnd/Demo/Client/Layout/MainLayout.razor
@@ -9,7 +9,7 @@
- GitHub
+ GitHubReact DnD (inspiration)Blazor Docs
diff --git a/src/Bdnd/Demo/Client/Layout/MainLayout.razor.css b/src/Utilities/Bdnd/Demo/Client/Layout/MainLayout.razor.css
similarity index 100%
rename from src/Bdnd/Demo/Client/Layout/MainLayout.razor.css
rename to src/Utilities/Bdnd/Demo/Client/Layout/MainLayout.razor.css
diff --git a/src/Bdnd/Demo/Client/Layout/NavMenu.razor b/src/Utilities/Bdnd/Demo/Client/Layout/NavMenu.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Layout/NavMenu.razor
rename to src/Utilities/Bdnd/Demo/Client/Layout/NavMenu.razor
diff --git a/src/Bdnd/Demo/Client/Layout/NavMenu.razor.css b/src/Utilities/Bdnd/Demo/Client/Layout/NavMenu.razor.css
similarity index 100%
rename from src/Bdnd/Demo/Client/Layout/NavMenu.razor.css
rename to src/Utilities/Bdnd/Demo/Client/Layout/NavMenu.razor.css
diff --git a/src/Bdnd/Demo/Client/Pages/Customize/DropEffects.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Customize/DropEffects.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Customize/DropEffects.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Customize/DropEffects.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Customize/Handles.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Customize/Handles.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Customize/Handles.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Customize/Handles.razor
diff --git a/src/Bdnd/Demo/Client/Pages/DragAround/CustomLayer.razor b/src/Utilities/Bdnd/Demo/Client/Pages/DragAround/CustomLayer.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/DragAround/CustomLayer.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/DragAround/CustomLayer.razor
diff --git a/src/Bdnd/Demo/Client/Pages/DragAround/Naive.razor b/src/Utilities/Bdnd/Demo/Client/Pages/DragAround/Naive.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/DragAround/Naive.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/DragAround/Naive.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Dustbin/CopyOrMove.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Dustbin/CopyOrMove.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Dustbin/CopyOrMove.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Dustbin/CopyOrMove.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Dustbin/Iframe.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Dustbin/Iframe.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Dustbin/Iframe.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Dustbin/Iframe.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Dustbin/MultipleTargets.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Dustbin/MultipleTargets.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Dustbin/MultipleTargets.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Dustbin/MultipleTargets.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Dustbin/SingleTarget.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Dustbin/SingleTarget.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Dustbin/SingleTarget.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Dustbin/SingleTarget.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Dustbin/StressTest.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Dustbin/StressTest.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Dustbin/StressTest.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Dustbin/StressTest.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Home.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Home.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Home.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Home.razor
diff --git a/src/Bdnd/Demo/Client/Pages/McpServer.razor b/src/Utilities/Bdnd/Demo/Client/Pages/McpServer.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/McpServer.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/McpServer.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Nesting/DragSources.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Nesting/DragSources.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Nesting/DragSources.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Nesting/DragSources.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Nesting/DropTargets.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Nesting/DropTargets.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Nesting/DropTargets.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Nesting/DropTargets.razor
diff --git a/src/Bdnd/Demo/Client/Pages/NotFound.razor b/src/Utilities/Bdnd/Demo/Client/Pages/NotFound.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/NotFound.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/NotFound.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Other/NativeFiles.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Other/NativeFiles.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Other/NativeFiles.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Other/NativeFiles.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Other/NativeHtml.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Other/NativeHtml.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Other/NativeHtml.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Other/NativeHtml.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Sortable/CancelOnDropOutside.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Sortable/CancelOnDropOutside.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Sortable/CancelOnDropOutside.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Sortable/CancelOnDropOutside.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Sortable/Simple.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Sortable/Simple.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Sortable/Simple.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Sortable/Simple.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Sortable/SortableCard.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Sortable/SortableCard.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Sortable/SortableCard.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Sortable/SortableCard.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Sortable/StressTest.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Sortable/StressTest.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Sortable/StressTest.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Sortable/StressTest.razor
diff --git a/src/Bdnd/Demo/Client/Pages/Tutorial.razor b/src/Utilities/Bdnd/Demo/Client/Pages/Tutorial.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Pages/Tutorial.razor
rename to src/Utilities/Bdnd/Demo/Client/Pages/Tutorial.razor
diff --git a/src/Bdnd/Demo/Client/Program.cs b/src/Utilities/Bdnd/Demo/Client/Program.cs
similarity index 100%
rename from src/Bdnd/Demo/Client/Program.cs
rename to src/Utilities/Bdnd/Demo/Client/Program.cs
diff --git a/src/Bdnd/Demo/Client/Routes.razor b/src/Utilities/Bdnd/Demo/Client/Routes.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/Routes.razor
rename to src/Utilities/Bdnd/Demo/Client/Routes.razor
diff --git a/src/Bdnd/Demo/Client/_Imports.razor b/src/Utilities/Bdnd/Demo/Client/_Imports.razor
similarity index 100%
rename from src/Bdnd/Demo/Client/_Imports.razor
rename to src/Utilities/Bdnd/Demo/Client/_Imports.razor
diff --git a/src/Bdnd/Demo/Server/Bit.Bdnd.Demo.Server.csproj b/src/Utilities/Bdnd/Demo/Server/Bit.Bdnd.Demo.Server.csproj
similarity index 100%
rename from src/Bdnd/Demo/Server/Bit.Bdnd.Demo.Server.csproj
rename to src/Utilities/Bdnd/Demo/Server/Bit.Bdnd.Demo.Server.csproj
diff --git a/src/Bdnd/Demo/Server/Components/App.razor b/src/Utilities/Bdnd/Demo/Server/Components/App.razor
similarity index 100%
rename from src/Bdnd/Demo/Server/Components/App.razor
rename to src/Utilities/Bdnd/Demo/Server/Components/App.razor
diff --git a/src/Bdnd/Demo/Server/Components/Pages/Error.razor b/src/Utilities/Bdnd/Demo/Server/Components/Pages/Error.razor
similarity index 100%
rename from src/Bdnd/Demo/Server/Components/Pages/Error.razor
rename to src/Utilities/Bdnd/Demo/Server/Components/Pages/Error.razor
diff --git a/src/Bdnd/Demo/Server/Components/_Imports.razor b/src/Utilities/Bdnd/Demo/Server/Components/_Imports.razor
similarity index 100%
rename from src/Bdnd/Demo/Server/Components/_Imports.razor
rename to src/Utilities/Bdnd/Demo/Server/Components/_Imports.razor
diff --git a/src/Bdnd/Demo/Server/Controllers/McpController.cs b/src/Utilities/Bdnd/Demo/Server/Controllers/McpController.cs
similarity index 100%
rename from src/Bdnd/Demo/Server/Controllers/McpController.cs
rename to src/Utilities/Bdnd/Demo/Server/Controllers/McpController.cs
diff --git a/src/Bdnd/Demo/Server/Controllers/McpPrompts.cs b/src/Utilities/Bdnd/Demo/Server/Controllers/McpPrompts.cs
similarity index 100%
rename from src/Bdnd/Demo/Server/Controllers/McpPrompts.cs
rename to src/Utilities/Bdnd/Demo/Server/Controllers/McpPrompts.cs
diff --git a/src/Bdnd/Demo/Server/Controllers/McpResources.cs b/src/Utilities/Bdnd/Demo/Server/Controllers/McpResources.cs
similarity index 100%
rename from src/Bdnd/Demo/Server/Controllers/McpResources.cs
rename to src/Utilities/Bdnd/Demo/Server/Controllers/McpResources.cs
diff --git a/src/Bdnd/Demo/Server/Dtos/BdndMcpDtos.cs b/src/Utilities/Bdnd/Demo/Server/Dtos/BdndMcpDtos.cs
similarity index 100%
rename from src/Bdnd/Demo/Server/Dtos/BdndMcpDtos.cs
rename to src/Utilities/Bdnd/Demo/Server/Dtos/BdndMcpDtos.cs
diff --git a/src/Bdnd/Demo/Server/Program.cs b/src/Utilities/Bdnd/Demo/Server/Program.cs
similarity index 99%
rename from src/Bdnd/Demo/Server/Program.cs
rename to src/Utilities/Bdnd/Demo/Server/Program.cs
index 6f288e2d006..0e11cbbd55f 100644
--- a/src/Bdnd/Demo/Server/Program.cs
+++ b/src/Utilities/Bdnd/Demo/Server/Program.cs
@@ -33,7 +33,7 @@
Title = "Bit.Bdnd",
Version = BdndServerInstructions.BdndVersion,
Description = "Documentation, public API, setup guides and drag inspection for the Bit.Bdnd drag-and-drop library for Blazor.",
- WebsiteUrl = "https://github.com/bitfoundation/bitplatform/tree/develop/src/Bdnd"
+ WebsiteUrl = "https://github.com/bitfoundation/bitplatform/tree/develop/src/Utilities/Bdnd"
};
// Returned from `initialize` and put in front of the model before it has called anything.
diff --git a/src/Bdnd/Demo/Server/Properties/launchSettings.json b/src/Utilities/Bdnd/Demo/Server/Properties/launchSettings.json
similarity index 100%
rename from src/Bdnd/Demo/Server/Properties/launchSettings.json
rename to src/Utilities/Bdnd/Demo/Server/Properties/launchSettings.json
diff --git a/src/Bdnd/Demo/Server/Services/BdndApiCatalog.cs b/src/Utilities/Bdnd/Demo/Server/Services/BdndApiCatalog.cs
similarity index 100%
rename from src/Bdnd/Demo/Server/Services/BdndApiCatalog.cs
rename to src/Utilities/Bdnd/Demo/Server/Services/BdndApiCatalog.cs
diff --git a/src/Bdnd/Demo/Server/Services/BdndCompletions.cs b/src/Utilities/Bdnd/Demo/Server/Services/BdndCompletions.cs
similarity index 100%
rename from src/Bdnd/Demo/Server/Services/BdndCompletions.cs
rename to src/Utilities/Bdnd/Demo/Server/Services/BdndCompletions.cs
diff --git a/src/Bdnd/Demo/Server/Services/BdndDropHost.cs b/src/Utilities/Bdnd/Demo/Server/Services/BdndDropHost.cs
similarity index 100%
rename from src/Bdnd/Demo/Server/Services/BdndDropHost.cs
rename to src/Utilities/Bdnd/Demo/Server/Services/BdndDropHost.cs
diff --git a/src/Bdnd/Demo/Server/Services/BdndDropLab.cs b/src/Utilities/Bdnd/Demo/Server/Services/BdndDropLab.cs
similarity index 100%
rename from src/Bdnd/Demo/Server/Services/BdndDropLab.cs
rename to src/Utilities/Bdnd/Demo/Server/Services/BdndDropLab.cs
diff --git a/src/Bdnd/Demo/Server/Services/BdndSearchIndex.cs b/src/Utilities/Bdnd/Demo/Server/Services/BdndSearchIndex.cs
similarity index 100%
rename from src/Bdnd/Demo/Server/Services/BdndSearchIndex.cs
rename to src/Utilities/Bdnd/Demo/Server/Services/BdndSearchIndex.cs
diff --git a/src/Bdnd/Demo/Server/Services/BdndServerInstructions.cs b/src/Utilities/Bdnd/Demo/Server/Services/BdndServerInstructions.cs
similarity index 100%
rename from src/Bdnd/Demo/Server/Services/BdndServerInstructions.cs
rename to src/Utilities/Bdnd/Demo/Server/Services/BdndServerInstructions.cs
diff --git a/src/Bdnd/Demo/Server/Services/BdndSetupGuide.cs b/src/Utilities/Bdnd/Demo/Server/Services/BdndSetupGuide.cs
similarity index 100%
rename from src/Bdnd/Demo/Server/Services/BdndSetupGuide.cs
rename to src/Utilities/Bdnd/Demo/Server/Services/BdndSetupGuide.cs
diff --git a/src/Bdnd/Demo/Server/Services/BdndSourceCatalog.cs b/src/Utilities/Bdnd/Demo/Server/Services/BdndSourceCatalog.cs
similarity index 100%
rename from src/Bdnd/Demo/Server/Services/BdndSourceCatalog.cs
rename to src/Utilities/Bdnd/Demo/Server/Services/BdndSourceCatalog.cs
diff --git a/src/Bdnd/Demo/Server/Services/BdndXmlDocs.cs b/src/Utilities/Bdnd/Demo/Server/Services/BdndXmlDocs.cs
similarity index 100%
rename from src/Bdnd/Demo/Server/Services/BdndXmlDocs.cs
rename to src/Utilities/Bdnd/Demo/Server/Services/BdndXmlDocs.cs
diff --git a/src/Bdnd/Demo/Server/appsettings.json b/src/Utilities/Bdnd/Demo/Server/appsettings.json
similarity index 100%
rename from src/Bdnd/Demo/Server/appsettings.json
rename to src/Utilities/Bdnd/Demo/Server/appsettings.json
diff --git a/src/Bdnd/Demo/Server/wwwroot/app.css b/src/Utilities/Bdnd/Demo/Server/wwwroot/app.css
similarity index 100%
rename from src/Bdnd/Demo/Server/wwwroot/app.css
rename to src/Utilities/Bdnd/Demo/Server/wwwroot/app.css
diff --git a/src/Bdnd/Demo/Server/wwwroot/favicon.png b/src/Utilities/Bdnd/Demo/Server/wwwroot/favicon.png
similarity index 100%
rename from src/Bdnd/Demo/Server/wwwroot/favicon.png
rename to src/Utilities/Bdnd/Demo/Server/wwwroot/favicon.png
diff --git a/src/Bdnd/README.md b/src/Utilities/Bdnd/README.md
similarity index 99%
rename from src/Bdnd/README.md
rename to src/Utilities/Bdnd/README.md
index a301f741f22..080a23acf51 100644
--- a/src/Bdnd/README.md
+++ b/src/Utilities/Bdnd/README.md
@@ -114,7 +114,7 @@ drop effects, and native files and HTML. Every page can show its own source.
To run it locally:
```bash
-dotnet run --project src/Bdnd/Demo/Server
+dotnet run --project src/Utilities/Bdnd/Demo/Server
```
## How it fits together
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/AssemblySetup.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/AssemblySetup.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/AssemblySetup.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/AssemblySetup.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Bit.Bdnd.Tests.E2E.csproj b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Bit.Bdnd.Tests.E2E.csproj
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Bit.Bdnd.Tests.E2E.csproj
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Bit.Bdnd.Tests.E2E.csproj
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/CustomizeTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/CustomizeTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/CustomizeTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/CustomizeTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/DemoPagesTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/DemoPagesTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/DemoPagesTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/DemoPagesTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/DragAroundTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/DragAroundTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/DragAroundTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/DragAroundTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/DustbinTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/DustbinTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/DustbinTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/DustbinTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/BdndTest.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/BdndTest.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/BdndTest.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/BdndTest.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/ChildProcess.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/ChildProcess.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/ChildProcess.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/ChildProcess.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/DemoHost.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/DemoHost.cs
similarity index 93%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/DemoHost.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/DemoHost.cs
index 33c12f45c9d..ef42f1b2b5f 100644
--- a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/DemoHost.cs
+++ b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/DemoHost.cs
@@ -27,7 +27,7 @@ public static async Task StartAsync()
if (File.Exists(assembly) is false)
throw new FileNotFoundException(
$"The demo server has not been built in the {E2EEnvironment.Configuration} configuration. Build it first with " +
- $"'dotnet build src/Bdnd/Demo/Server/Bit.Bdnd.Demo.Server.csproj -c {E2EEnvironment.Configuration}'", assembly);
+ $"'dotnet build src/Utilities/Bdnd/Demo/Server/Bit.Bdnd.Demo.Server.csproj -c {E2EEnvironment.Configuration}'", assembly);
var baseUrl = $"http://127.0.0.1:{ChildProcess.FreePort()}";
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/E2EEnvironment.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/E2EEnvironment.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/E2EEnvironment.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/E2EEnvironment.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/PlaywrightSession.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/PlaywrightSession.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/PlaywrightSession.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/PlaywrightSession.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/RepoLayout.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/RepoLayout.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/RepoLayout.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Infrastructure/RepoLayout.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/NativeDragTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/NativeDragTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/NativeDragTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/NativeDragTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/NestingTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/NestingTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/NestingTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/NestingTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/README.md b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/README.md
similarity index 95%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/README.md
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/README.md
index e89c8234bee..01e4d06d2e4 100644
--- a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/README.md
+++ b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/README.md
@@ -52,7 +52,7 @@ event the browser raised at the very point the pointer was moved to (`BdndTest.D
## Running locally
-From `src/Bdnd` (inside `src`, so `src/global.json` selects the Microsoft.Testing.Platform runner):
+From `src/Utilities/Bdnd` (inside `src`, so `src/global.json` selects the Microsoft.Testing.Platform runner):
```bash
# The suite runs the demo server's build output: build it first, in the configuration the tests run in.
@@ -76,10 +76,10 @@ The workflow `.github/workflows/bit.ci.Bdnd.e2e.yml` does the same in Release. I
`bit.ci.Bdnd.yml`:
```bash
-dotnet build src/Bdnd/Demo/Server/Bit.Bdnd.Demo.Server.csproj -c Release
-dotnet build src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Bit.Bdnd.Tests.E2E.csproj -c Release
-pwsh src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/bin/Release/net10.0/playwright.ps1 install --with-deps chromium
-cd src/Bdnd/Tests/Bit.Bdnd.Tests.E2E && dotnet test -c Release --no-build --report-trx --report-trx-filename bdnd-e2e.trx
+dotnet build src/Utilities/Bdnd/Demo/Server/Bit.Bdnd.Demo.Server.csproj -c Release
+dotnet build src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/Bit.Bdnd.Tests.E2E.csproj -c Release
+pwsh src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/bin/Release/net10.0/playwright.ps1 install --with-deps chromium
+cd src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E && dotnet test -c Release --no-build --report-trx --report-trx-filename bdnd-e2e.trx
```
Without PowerShell 7, the browser can be installed with Windows PowerShell
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/SortableTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/SortableTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/SortableTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/SortableTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/TutorialTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/TutorialTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.E2E/TutorialTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.E2E/TutorialTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/Bit.Bdnd.Tests.Mcp.csproj b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/Bit.Bdnd.Tests.Mcp.csproj
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/Bit.Bdnd.Tests.Mcp.csproj
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/Bit.Bdnd.Tests.Mcp.csproj
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpCall.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpCall.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpCall.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpCall.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpDropLabTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpDropLabTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpDropLabTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpDropLabTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpOracleTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpOracleTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpOracleTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpOracleTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpResourcePromptTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpResourcePromptTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpResourcePromptTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpResourcePromptTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpSearchTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpSearchTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpSearchTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpSearchTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpSurfaceTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpSurfaceTests.cs
similarity index 99%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpSurfaceTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpSurfaceTests.cs
index a8c9b66a68f..32f72cf9c92 100644
--- a/src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpSurfaceTests.cs
+++ b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpSurfaceTests.cs
@@ -57,7 +57,7 @@ public void The_server_introduces_itself_as_the_library_at_its_own_version()
Assert.AreEqual("bit-bdnd", info.Name);
Assert.AreEqual("Bit.Bdnd", info.Title);
Assert.AreEqual(BdndServerInstructions.BdndVersion, info.Version);
- Assert.AreEqual("https://github.com/bitfoundation/bitplatform/tree/develop/src/Bdnd", info.WebsiteUrl);
+ Assert.AreEqual("https://github.com/bitfoundation/bitplatform/tree/develop/src/Utilities/Bdnd", info.WebsiteUrl);
Assert.AreNotEqual("unknown", info.Version);
Assert.DoesNotContain("+", info.Version, "The build metadata should have been stripped from the version.");
}
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpTestHost.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpTestHost.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpTestHost.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpTestHost.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpToolTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpToolTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpToolTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/McpToolTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/ToolNames.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/ToolNames.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/ToolNames.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests.Mcp/ToolNames.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/Bit.Bdnd.Tests.csproj b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Bit.Bdnd.Tests.csproj
similarity index 88%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/Bit.Bdnd.Tests.csproj
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Bit.Bdnd.Tests.csproj
index 13062eebe4f..73067a5fbcc 100644
--- a/src/Bdnd/Tests/Bit.Bdnd.Tests/Bit.Bdnd.Tests.csproj
+++ b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Bit.Bdnd.Tests.csproj
@@ -10,7 +10,7 @@
truefalsetrue
- ..\..\..\AssemblyOriginatorKeyFile.snk
+ ..\..\..\..\AssemblyOriginatorKeyFile.snk
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/BitBdndTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/BitBdndTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/BitBdndTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/BitBdndTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndComponentTestBase.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndComponentTestBase.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndComponentTestBase.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndComponentTestBase.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDragHandleTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDragHandleTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDragHandleTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDragHandleTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDragLayerTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDragLayerTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDragLayerTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDragLayerTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDragLifecycleTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDragLifecycleTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDragLifecycleTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDragLifecycleTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDraggableTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDraggableTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDraggableTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDraggableTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDropTargetTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDropTargetTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDropTargetTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndDropTargetTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndNativeDragTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndNativeDragTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndNativeDragTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndNativeDragTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndProviderTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndProviderTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndProviderTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Components/BdndProviderTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/Core/BdndDragDropManagerTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Core/BdndDragDropManagerTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/Core/BdndDragDropManagerTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Core/BdndDragDropManagerTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/Core/BdndValueTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Core/BdndValueTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/Core/BdndValueTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Core/BdndValueTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/Fakes/FakeJSObjectReference.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Fakes/FakeJSObjectReference.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/Fakes/FakeJSObjectReference.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Fakes/FakeJSObjectReference.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/Fakes/FakeJSRuntime.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Fakes/FakeJSRuntime.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/Fakes/FakeJSRuntime.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Fakes/FakeJSRuntime.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/GlobalUsings.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/GlobalUsings.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/GlobalUsings.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/GlobalUsings.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/Interop/BdndInteropTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Interop/BdndInteropTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/Interop/BdndInteropTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Interop/BdndInteropTests.cs
diff --git a/src/Bdnd/Tests/Bit.Bdnd.Tests/Interop/BdndJsRegistrationTests.cs b/src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Interop/BdndJsRegistrationTests.cs
similarity index 100%
rename from src/Bdnd/Tests/Bit.Bdnd.Tests/Interop/BdndJsRegistrationTests.cs
rename to src/Utilities/Bdnd/Tests/Bit.Bdnd.Tests/Interop/BdndJsRegistrationTests.cs
diff --git a/src/Bink/Bit.Bink.Demo/Client/Bit.Bink.Demo.Client.csproj b/src/Utilities/Bink/Bit.Bink.Demo/Client/Bit.Bink.Demo.Client.csproj
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Bit.Bink.Demo.Client.csproj
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Bit.Bink.Demo.Client.csproj
diff --git a/src/Bink/Bit.Bink.Demo/Client/Diagramming/DiagramGraph.cs b/src/Utilities/Bink/Bit.Bink.Demo/Client/Diagramming/DiagramGraph.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Diagramming/DiagramGraph.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Diagramming/DiagramGraph.cs
diff --git a/src/Bink/Bit.Bink.Demo/Client/Diagramming/DiagramTools.cs b/src/Utilities/Bink/Bit.Bink.Demo/Client/Diagramming/DiagramTools.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Diagramming/DiagramTools.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Diagramming/DiagramTools.cs
diff --git a/src/Bink/Bit.Bink.Demo/Client/Extensions/IServiceCollectionExtensions.cs b/src/Utilities/Bink/Bit.Bink.Demo/Client/Extensions/IServiceCollectionExtensions.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Extensions/IServiceCollectionExtensions.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Extensions/IServiceCollectionExtensions.cs
diff --git a/src/Bink/Bit.Bink.Demo/Client/Layout/MainLayout.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Layout/MainLayout.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Layout/MainLayout.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Layout/MainLayout.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Layout/NavMenu.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Layout/NavMenu.razor
similarity index 94%
rename from src/Bink/Bit.Bink.Demo/Client/Layout/NavMenu.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Layout/NavMenu.razor
index 80df7ec12f1..30d952b3c1e 100644
--- a/src/Bink/Bit.Bink.Demo/Client/Layout/NavMenu.razor
+++ b/src/Utilities/Bink/Bit.Bink.Demo/Client/Layout/NavMenu.razor
@@ -28,6 +28,6 @@
MCP server
Project
- Source on GitHub
+ Source on GitHubNuGet package
diff --git a/src/Bink/Bit.Bink.Demo/Client/Pages/Collaboration.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/Collaboration.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Pages/Collaboration.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/Collaboration.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Pages/Diagram.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/Diagram.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Pages/Diagram.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/Diagram.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Pages/DocumentAnnotation.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/DocumentAnnotation.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Pages/DocumentAnnotation.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/DocumentAnnotation.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Pages/Handwriting.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/Handwriting.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Pages/Handwriting.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/Handwriting.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Pages/Home.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/Home.razor
similarity index 98%
rename from src/Bink/Bit.Bink.Demo/Client/Pages/Home.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/Home.razor
index a2952fe85f6..9fd24e705db 100644
--- a/src/Bink/Bit.Bink.Demo/Client/Pages/Home.razor
+++ b/src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/Home.razor
@@ -95,7 +95,7 @@
The stylesheet is added by the package's JavaScript initializer, so there is nothing to put in the host page.
The source code, the documentation and the code of this demo are on
- GitHub.
+ GitHub.
@code {
diff --git a/src/Bink/Bit.Bink.Demo/Client/Pages/ImageAnnotation.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/ImageAnnotation.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Pages/ImageAnnotation.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/ImageAnnotation.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Pages/McpServer.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/McpServer.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Pages/McpServer.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/McpServer.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Pages/NotFound.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/NotFound.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Pages/NotFound.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/NotFound.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Pages/Performance.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/Performance.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Pages/Performance.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/Performance.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Pages/SerializationPage.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/SerializationPage.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Pages/SerializationPage.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/SerializationPage.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Pages/Signature.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/Signature.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Pages/Signature.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/Signature.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Pages/Whiteboard.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/Whiteboard.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Pages/Whiteboard.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Pages/Whiteboard.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Program.cs b/src/Utilities/Bink/Bit.Bink.Demo/Client/Program.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Program.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Program.cs
diff --git a/src/Bink/Bit.Bink.Demo/Client/Routes.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Routes.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Routes.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Routes.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Shared/CanvasStatus.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Shared/CanvasStatus.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Shared/CanvasStatus.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Shared/CanvasStatus.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Shared/ColorSwatches.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Shared/ColorSwatches.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Shared/ColorSwatches.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Shared/ColorSwatches.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Shared/DrawingToolbar.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Shared/DrawingToolbar.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Shared/DrawingToolbar.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Shared/DrawingToolbar.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Shared/FileDownloads.cs b/src/Utilities/Bink/Bit.Bink.Demo/Client/Shared/FileDownloads.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Shared/FileDownloads.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Shared/FileDownloads.cs
diff --git a/src/Bink/Bit.Bink.Demo/Client/Shared/LoopbackTransport.cs b/src/Utilities/Bink/Bit.Bink.Demo/Client/Shared/LoopbackTransport.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Shared/LoopbackTransport.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Shared/LoopbackTransport.cs
diff --git a/src/Bink/Bit.Bink.Demo/Client/Shared/PointerTracker.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Shared/PointerTracker.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Shared/PointerTracker.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Shared/PointerTracker.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/Shared/PresenceOverlay.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/Shared/PresenceOverlay.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/Shared/PresenceOverlay.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/Shared/PresenceOverlay.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/_Imports.razor b/src/Utilities/Bink/Bit.Bink.Demo/Client/_Imports.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/_Imports.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/_Imports.razor
diff --git a/src/Bink/Bit.Bink.Demo/Client/wwwroot/js/files.js b/src/Utilities/Bink/Bit.Bink.Demo/Client/wwwroot/js/files.js
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Client/wwwroot/js/files.js
rename to src/Utilities/Bink/Bit.Bink.Demo/Client/wwwroot/js/files.js
diff --git a/src/Bink/Bit.Bink.Demo/Server/Bit.Bink.Demo.Server.csproj b/src/Utilities/Bink/Bit.Bink.Demo/Server/Bit.Bink.Demo.Server.csproj
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Bit.Bink.Demo.Server.csproj
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Bit.Bink.Demo.Server.csproj
diff --git a/src/Bink/Bit.Bink.Demo/Server/Components/App.razor b/src/Utilities/Bink/Bit.Bink.Demo/Server/Components/App.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Components/App.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Components/App.razor
diff --git a/src/Bink/Bit.Bink.Demo/Server/Components/Pages/Error.razor b/src/Utilities/Bink/Bit.Bink.Demo/Server/Components/Pages/Error.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Components/Pages/Error.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Components/Pages/Error.razor
diff --git a/src/Bink/Bit.Bink.Demo/Server/Components/_Imports.razor b/src/Utilities/Bink/Bit.Bink.Demo/Server/Components/_Imports.razor
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Components/_Imports.razor
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Components/_Imports.razor
diff --git a/src/Bink/Bit.Bink.Demo/Server/Controllers/McpController.cs b/src/Utilities/Bink/Bit.Bink.Demo/Server/Controllers/McpController.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Controllers/McpController.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Controllers/McpController.cs
diff --git a/src/Bink/Bit.Bink.Demo/Server/Controllers/McpPrompts.cs b/src/Utilities/Bink/Bit.Bink.Demo/Server/Controllers/McpPrompts.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Controllers/McpPrompts.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Controllers/McpPrompts.cs
diff --git a/src/Bink/Bit.Bink.Demo/Server/Controllers/McpResources.cs b/src/Utilities/Bink/Bit.Bink.Demo/Server/Controllers/McpResources.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Controllers/McpResources.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Controllers/McpResources.cs
diff --git a/src/Bink/Bit.Bink.Demo/Server/Dtos/BinkMcpDtos.cs b/src/Utilities/Bink/Bit.Bink.Demo/Server/Dtos/BinkMcpDtos.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Dtos/BinkMcpDtos.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Dtos/BinkMcpDtos.cs
diff --git a/src/Bink/Bit.Bink.Demo/Server/Program.cs b/src/Utilities/Bink/Bit.Bink.Demo/Server/Program.cs
similarity index 99%
rename from src/Bink/Bit.Bink.Demo/Server/Program.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Program.cs
index 193c341dc54..8740cd91932 100644
--- a/src/Bink/Bit.Bink.Demo/Server/Program.cs
+++ b/src/Utilities/Bink/Bit.Bink.Demo/Server/Program.cs
@@ -33,7 +33,7 @@
Title = "Bit.Bink",
Version = BinkServerInstructions.BinkVersion,
Description = "Documentation, public API, brushes, setup guides and document inspection for the Bit.Bink drawing and ink library for Blazor.",
- WebsiteUrl = "https://github.com/bitfoundation/bitplatform/tree/develop/src/Bink"
+ WebsiteUrl = "https://github.com/bitfoundation/bitplatform/tree/develop/src/Utilities/Bink"
};
// Returned from `initialize` and put in front of the model before it has called anything.
diff --git a/src/Bink/Bit.Bink.Demo/Server/Properties/launchSettings.json b/src/Utilities/Bink/Bit.Bink.Demo/Server/Properties/launchSettings.json
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Properties/launchSettings.json
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Properties/launchSettings.json
diff --git a/src/Bink/Bit.Bink.Demo/Server/Services/BinkApiCatalog.cs b/src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkApiCatalog.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Services/BinkApiCatalog.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkApiCatalog.cs
diff --git a/src/Bink/Bit.Bink.Demo/Server/Services/BinkBrushCatalog.cs b/src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkBrushCatalog.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Services/BinkBrushCatalog.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkBrushCatalog.cs
diff --git a/src/Bink/Bit.Bink.Demo/Server/Services/BinkCompletions.cs b/src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkCompletions.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Services/BinkCompletions.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkCompletions.cs
diff --git a/src/Bink/Bit.Bink.Demo/Server/Services/BinkDocumentLab.cs b/src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkDocumentLab.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Services/BinkDocumentLab.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkDocumentLab.cs
diff --git a/src/Bink/Bit.Bink.Demo/Server/Services/BinkSearchIndex.cs b/src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkSearchIndex.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Services/BinkSearchIndex.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkSearchIndex.cs
diff --git a/src/Bink/Bit.Bink.Demo/Server/Services/BinkServerInstructions.cs b/src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkServerInstructions.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Services/BinkServerInstructions.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkServerInstructions.cs
diff --git a/src/Bink/Bit.Bink.Demo/Server/Services/BinkSetupGuide.cs b/src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkSetupGuide.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Services/BinkSetupGuide.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkSetupGuide.cs
diff --git a/src/Bink/Bit.Bink.Demo/Server/Services/BinkSourceCatalog.cs b/src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkSourceCatalog.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Services/BinkSourceCatalog.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkSourceCatalog.cs
diff --git a/src/Bink/Bit.Bink.Demo/Server/Services/BinkStylesheetClasses.cs b/src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkStylesheetClasses.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Services/BinkStylesheetClasses.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkStylesheetClasses.cs
diff --git a/src/Bink/Bit.Bink.Demo/Server/Services/BinkXmlDocs.cs b/src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkXmlDocs.cs
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/Services/BinkXmlDocs.cs
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/Services/BinkXmlDocs.cs
diff --git a/src/Bink/Bit.Bink.Demo/Server/appsettings.json b/src/Utilities/Bink/Bit.Bink.Demo/Server/appsettings.json
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/appsettings.json
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/appsettings.json
diff --git a/src/Bink/Bit.Bink.Demo/Server/wwwroot/app.css b/src/Utilities/Bink/Bit.Bink.Demo/Server/wwwroot/app.css
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/wwwroot/app.css
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/wwwroot/app.css
diff --git a/src/Bink/Bit.Bink.Demo/Server/wwwroot/favicon.png b/src/Utilities/Bink/Bit.Bink.Demo/Server/wwwroot/favicon.png
similarity index 100%
rename from src/Bink/Bit.Bink.Demo/Server/wwwroot/favicon.png
rename to src/Utilities/Bink/Bit.Bink.Demo/Server/wwwroot/favicon.png
diff --git a/src/Bink/Bit.Bink.slnx b/src/Utilities/Bink/Bit.Bink.slnx
similarity index 80%
rename from src/Bink/Bit.Bink.slnx
rename to src/Utilities/Bink/Bit.Bink.slnx
index 582c8766dc1..bd5a1c4622b 100644
--- a/src/Bink/Bit.Bink.slnx
+++ b/src/Utilities/Bink/Bit.Bink.slnx
@@ -1,9 +1,9 @@
-
-
-
-
+
+
+
+
diff --git a/src/Bink/Bit.Bink/Bit.Bink.csproj b/src/Utilities/Bink/Bit.Bink/Bit.Bink.csproj
similarity index 99%
rename from src/Bink/Bit.Bink/Bit.Bink.csproj
rename to src/Utilities/Bink/Bit.Bink/Bit.Bink.csproj
index 40970dee2e9..e6d79d7d474 100644
--- a/src/Bink/Bit.Bink/Bit.Bink.csproj
+++ b/src/Utilities/Bink/Bit.Bink/Bit.Bink.csproj
@@ -1,6 +1,6 @@
-
+ net10.0;net9.0;net8.0
diff --git a/src/Bink/Bit.Bink/Brushes/BinkBrush.cs b/src/Utilities/Bink/Bit.Bink/Brushes/BinkBrush.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Brushes/BinkBrush.cs
rename to src/Utilities/Bink/Bit.Bink/Brushes/BinkBrush.cs
diff --git a/src/Bink/Bit.Bink/Brushes/BinkBrushRegistry.cs b/src/Utilities/Bink/Bit.Bink/Brushes/BinkBrushRegistry.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Brushes/BinkBrushRegistry.cs
rename to src/Utilities/Bink/Bit.Bink/Brushes/BinkBrushRegistry.cs
diff --git a/src/Bink/Bit.Bink/Brushes/BinkBuiltInBrushes.cs b/src/Utilities/Bink/Bit.Bink/Brushes/BinkBuiltInBrushes.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Brushes/BinkBuiltInBrushes.cs
rename to src/Utilities/Bink/Bit.Bink/Brushes/BinkBuiltInBrushes.cs
diff --git a/src/Bink/Bit.Bink/Brushes/BinkPressureCurve.cs b/src/Utilities/Bink/Bit.Bink/Brushes/BinkPressureCurve.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Brushes/BinkPressureCurve.cs
rename to src/Utilities/Bink/Bit.Bink/Brushes/BinkPressureCurve.cs
diff --git a/src/Bink/Bit.Bink/Brushes/BinkStrokeGeometry.cs b/src/Utilities/Bink/Bit.Bink/Brushes/BinkStrokeGeometry.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Brushes/BinkStrokeGeometry.cs
rename to src/Utilities/Bink/Bit.Bink/Brushes/BinkStrokeGeometry.cs
diff --git a/src/Bink/Bit.Bink/Brushes/BinkStrokeOutliner.cs b/src/Utilities/Bink/Bit.Bink/Brushes/BinkStrokeOutliner.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Brushes/BinkStrokeOutliner.cs
rename to src/Utilities/Bink/Bit.Bink/Brushes/BinkStrokeOutliner.cs
diff --git a/src/Bink/Bit.Bink/Collaboration/BinkCollaborationMessage.cs b/src/Utilities/Bink/Bit.Bink/Collaboration/BinkCollaborationMessage.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Collaboration/BinkCollaborationMessage.cs
rename to src/Utilities/Bink/Bit.Bink/Collaboration/BinkCollaborationMessage.cs
diff --git a/src/Bink/Bit.Bink/Collaboration/BinkCollaborationSession.cs b/src/Utilities/Bink/Bit.Bink/Collaboration/BinkCollaborationSession.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Collaboration/BinkCollaborationSession.cs
rename to src/Utilities/Bink/Bit.Bink/Collaboration/BinkCollaborationSession.cs
diff --git a/src/Bink/Bit.Bink/Collaboration/BinkOperationCodec.cs b/src/Utilities/Bink/Bit.Bink/Collaboration/BinkOperationCodec.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Collaboration/BinkOperationCodec.cs
rename to src/Utilities/Bink/Bit.Bink/Collaboration/BinkOperationCodec.cs
diff --git a/src/Bink/Bit.Bink/Components/BinkCanvas.razor b/src/Utilities/Bink/Bit.Bink/Components/BinkCanvas.razor
similarity index 100%
rename from src/Bink/Bit.Bink/Components/BinkCanvas.razor
rename to src/Utilities/Bink/Bit.Bink/Components/BinkCanvas.razor
diff --git a/src/Bink/Bit.Bink/Components/BinkCanvas.razor.cs b/src/Utilities/Bink/Bit.Bink/Components/BinkCanvas.razor.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Components/BinkCanvas.razor.cs
rename to src/Utilities/Bink/Bit.Bink/Components/BinkCanvas.razor.cs
diff --git a/src/Bink/Bit.Bink/Document/BinkDocument.cs b/src/Utilities/Bink/Bit.Bink/Document/BinkDocument.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Document/BinkDocument.cs
rename to src/Utilities/Bink/Bit.Bink/Document/BinkDocument.cs
diff --git a/src/Bink/Bit.Bink/Document/BinkDocumentSettings.cs b/src/Utilities/Bink/Bit.Bink/Document/BinkDocumentSettings.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Document/BinkDocumentSettings.cs
rename to src/Utilities/Bink/Bit.Bink/Document/BinkDocumentSettings.cs
diff --git a/src/Bink/Bit.Bink/Document/BinkLayer.cs b/src/Utilities/Bink/Bit.Bink/Document/BinkLayer.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Document/BinkLayer.cs
rename to src/Utilities/Bink/Bit.Bink/Document/BinkLayer.cs
diff --git a/src/Bink/Bit.Bink/Document/BinkSelection.cs b/src/Utilities/Bink/Bit.Bink/Document/BinkSelection.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Document/BinkSelection.cs
rename to src/Utilities/Bink/Bit.Bink/Document/BinkSelection.cs
diff --git a/src/Bink/Bit.Bink/Document/BinkViewport.cs b/src/Utilities/Bink/Bit.Bink/Document/BinkViewport.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Document/BinkViewport.cs
rename to src/Utilities/Bink/Bit.Bink/Document/BinkViewport.cs
diff --git a/src/Bink/Bit.Bink/Elements/BinkAnnotations.cs b/src/Utilities/Bink/Bit.Bink/Elements/BinkAnnotations.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Elements/BinkAnnotations.cs
rename to src/Utilities/Bink/Bit.Bink/Elements/BinkAnnotations.cs
diff --git a/src/Bink/Bit.Bink/Elements/BinkElement.cs b/src/Utilities/Bink/Bit.Bink/Elements/BinkElement.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Elements/BinkElement.cs
rename to src/Utilities/Bink/Bit.Bink/Elements/BinkElement.cs
diff --git a/src/Bink/Bit.Bink/Elements/BinkImageElement.cs b/src/Utilities/Bink/Bit.Bink/Elements/BinkImageElement.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Elements/BinkImageElement.cs
rename to src/Utilities/Bink/Bit.Bink/Elements/BinkImageElement.cs
diff --git a/src/Bink/Bit.Bink/Elements/BinkShapes.cs b/src/Utilities/Bink/Bit.Bink/Elements/BinkShapes.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Elements/BinkShapes.cs
rename to src/Utilities/Bink/Bit.Bink/Elements/BinkShapes.cs
diff --git a/src/Bink/Bit.Bink/Elements/BinkStroke.cs b/src/Utilities/Bink/Bit.Bink/Elements/BinkStroke.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Elements/BinkStroke.cs
rename to src/Utilities/Bink/Bit.Bink/Elements/BinkStroke.cs
diff --git a/src/Bink/Bit.Bink/Elements/BinkTextElement.cs b/src/Utilities/Bink/Bit.Bink/Elements/BinkTextElement.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Elements/BinkTextElement.cs
rename to src/Utilities/Bink/Bit.Bink/Elements/BinkTextElement.cs
diff --git a/src/Bink/Bit.Bink/Export/BinkPngExporter.cs b/src/Utilities/Bink/Bit.Bink/Export/BinkPngExporter.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Export/BinkPngExporter.cs
rename to src/Utilities/Bink/Bit.Bink/Export/BinkPngExporter.cs
diff --git a/src/Bink/Bit.Bink/Export/BinkSvgExporter.cs b/src/Utilities/Bink/Bit.Bink/Export/BinkSvgExporter.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Export/BinkSvgExporter.cs
rename to src/Utilities/Bink/Bit.Bink/Export/BinkSvgExporter.cs
diff --git a/src/Bink/Bit.Bink/Export/BinkSvgRenderContext.cs b/src/Utilities/Bink/Bit.Bink/Export/BinkSvgRenderContext.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Export/BinkSvgRenderContext.cs
rename to src/Utilities/Bink/Bit.Bink/Export/BinkSvgRenderContext.cs
diff --git a/src/Bink/Bit.Bink/Geometry/BinkColor.cs b/src/Utilities/Bink/Bit.Bink/Geometry/BinkColor.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Geometry/BinkColor.cs
rename to src/Utilities/Bink/Bit.Bink/Geometry/BinkColor.cs
diff --git a/src/Bink/Bit.Bink/Geometry/BinkGeometryMath.cs b/src/Utilities/Bink/Bit.Bink/Geometry/BinkGeometryMath.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Geometry/BinkGeometryMath.cs
rename to src/Utilities/Bink/Bit.Bink/Geometry/BinkGeometryMath.cs
diff --git a/src/Bink/Bit.Bink/Geometry/BinkPathBuilder.cs b/src/Utilities/Bink/Bit.Bink/Geometry/BinkPathBuilder.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Geometry/BinkPathBuilder.cs
rename to src/Utilities/Bink/Bit.Bink/Geometry/BinkPathBuilder.cs
diff --git a/src/Bink/Bit.Bink/Geometry/BinkPathGeometry.cs b/src/Utilities/Bink/Bit.Bink/Geometry/BinkPathGeometry.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Geometry/BinkPathGeometry.cs
rename to src/Utilities/Bink/Bit.Bink/Geometry/BinkPathGeometry.cs
diff --git a/src/Bink/Bit.Bink/Geometry/BinkRect.cs b/src/Utilities/Bink/Bit.Bink/Geometry/BinkRect.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Geometry/BinkRect.cs
rename to src/Utilities/Bink/Bit.Bink/Geometry/BinkRect.cs
diff --git a/src/Bink/Bit.Bink/Geometry/BinkSvgNumber.cs b/src/Utilities/Bink/Bit.Bink/Geometry/BinkSvgNumber.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Geometry/BinkSvgNumber.cs
rename to src/Utilities/Bink/Bit.Bink/Geometry/BinkSvgNumber.cs
diff --git a/src/Bink/Bit.Bink/History/BinkHistoryManager.cs b/src/Utilities/Bink/Bit.Bink/History/BinkHistoryManager.cs
similarity index 100%
rename from src/Bink/Bit.Bink/History/BinkHistoryManager.cs
rename to src/Utilities/Bink/Bit.Bink/History/BinkHistoryManager.cs
diff --git a/src/Bink/Bit.Bink/Ink/BinkPoint.cs b/src/Utilities/Bink/Bit.Bink/Ink/BinkPoint.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Ink/BinkPoint.cs
rename to src/Utilities/Bink/Bit.Bink/Ink/BinkPoint.cs
diff --git a/src/Bink/Bit.Bink/Ink/BinkStrokeEditor.cs b/src/Utilities/Bink/Bit.Bink/Ink/BinkStrokeEditor.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Ink/BinkStrokeEditor.cs
rename to src/Utilities/Bink/Bit.Bink/Ink/BinkStrokeEditor.cs
diff --git a/src/Bink/Bit.Bink/Ink/BinkStrokePointBuffer.cs b/src/Utilities/Bink/Bit.Bink/Ink/BinkStrokePointBuffer.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Ink/BinkStrokePointBuffer.cs
rename to src/Utilities/Bink/Bit.Bink/Ink/BinkStrokePointBuffer.cs
diff --git a/src/Bink/Bit.Bink/Ink/BinkStrokePoints.cs b/src/Utilities/Bink/Bit.Bink/Ink/BinkStrokePoints.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Ink/BinkStrokePoints.cs
rename to src/Utilities/Bink/Bit.Bink/Ink/BinkStrokePoints.cs
diff --git a/src/Bink/Bit.Bink/Ink/BinkStrokePointsView.cs b/src/Utilities/Bink/Bit.Bink/Ink/BinkStrokePointsView.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Ink/BinkStrokePointsView.cs
rename to src/Utilities/Bink/Bit.Bink/Ink/BinkStrokePointsView.cs
diff --git a/src/Bink/Bit.Bink/Input/BinkInputCapabilities.cs b/src/Utilities/Bink/Bit.Bink/Input/BinkInputCapabilities.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Input/BinkInputCapabilities.cs
rename to src/Utilities/Bink/Bit.Bink/Input/BinkInputCapabilities.cs
diff --git a/src/Bink/Bit.Bink/Input/BinkInputSample.cs b/src/Utilities/Bink/Bit.Bink/Input/BinkInputSample.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Input/BinkInputSample.cs
rename to src/Utilities/Bink/Bit.Bink/Input/BinkInputSample.cs
diff --git a/src/Bink/Bit.Bink/Input/BinkPointerKind.cs b/src/Utilities/Bink/Bit.Bink/Input/BinkPointerKind.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Input/BinkPointerKind.cs
rename to src/Utilities/Bink/Bit.Bink/Input/BinkPointerKind.cs
diff --git a/src/Bink/Bit.Bink/Input/BinkStrokeBuilder.cs b/src/Utilities/Bink/Bit.Bink/Input/BinkStrokeBuilder.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Input/BinkStrokeBuilder.cs
rename to src/Utilities/Bink/Bit.Bink/Input/BinkStrokeBuilder.cs
diff --git a/src/Bink/Bit.Bink/Interop/BinkInterop.cs b/src/Utilities/Bink/Bit.Bink/Interop/BinkInterop.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Interop/BinkInterop.cs
rename to src/Utilities/Bink/Bit.Bink/Interop/BinkInterop.cs
diff --git a/src/Bink/Bit.Bink/Interop/BinkWasmRenderBridge.cs b/src/Utilities/Bink/Bit.Bink/Interop/BinkWasmRenderBridge.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Interop/BinkWasmRenderBridge.cs
rename to src/Utilities/Bink/Bit.Bink/Interop/BinkWasmRenderBridge.cs
diff --git a/src/Bink/Bit.Bink/Operations/BinkDrawingOperation.cs b/src/Utilities/Bink/Bit.Bink/Operations/BinkDrawingOperation.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Operations/BinkDrawingOperation.cs
rename to src/Utilities/Bink/Bit.Bink/Operations/BinkDrawingOperation.cs
diff --git a/src/Bink/Bit.Bink/README.md b/src/Utilities/Bink/Bit.Bink/README.md
similarity index 98%
rename from src/Bink/Bit.Bink/README.md
rename to src/Utilities/Bink/Bit.Bink/README.md
index f091f90c06d..1d2951eb15c 100644
--- a/src/Bink/Bit.Bink/README.md
+++ b/src/Utilities/Bink/Bit.Bink/README.md
@@ -66,5 +66,5 @@ pages.
The full guide - architecture, brushes and pressure, erasing, selection and layers, annotations, serialization,
export, hosting models, mobile and stylus, accessibility, performance, collaboration and extending the library - is
-in the [Bink README](https://github.com/bitfoundation/bitplatform/tree/develop/src/Bink). See it running at
+in the [Bink README](https://github.com/bitfoundation/bitplatform/tree/develop/src/Utilities/Bink). See it running at
[bink.bitplatform.dev](https://bink.bitplatform.dev).
diff --git a/src/Bink/Bit.Bink/Raster/BinkPathStroker.cs b/src/Utilities/Bink/Bit.Bink/Raster/BinkPathStroker.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Raster/BinkPathStroker.cs
rename to src/Utilities/Bink/Bit.Bink/Raster/BinkPathStroker.cs
diff --git a/src/Bink/Bit.Bink/Raster/BinkPngCodec.cs b/src/Utilities/Bink/Bit.Bink/Raster/BinkPngCodec.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Raster/BinkPngCodec.cs
rename to src/Utilities/Bink/Bit.Bink/Raster/BinkPngCodec.cs
diff --git a/src/Bink/Bit.Bink/Raster/BinkRasterRenderContext.cs b/src/Utilities/Bink/Bit.Bink/Raster/BinkRasterRenderContext.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Raster/BinkRasterRenderContext.cs
rename to src/Utilities/Bink/Bit.Bink/Raster/BinkRasterRenderContext.cs
diff --git a/src/Bink/Bit.Bink/Raster/BinkRasterSurface.cs b/src/Utilities/Bink/Bit.Bink/Raster/BinkRasterSurface.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Raster/BinkRasterSurface.cs
rename to src/Utilities/Bink/Bit.Bink/Raster/BinkRasterSurface.cs
diff --git a/src/Bink/Bit.Bink/Raster/BinkRasterizer.cs b/src/Utilities/Bink/Bit.Bink/Raster/BinkRasterizer.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Raster/BinkRasterizer.cs
rename to src/Utilities/Bink/Bit.Bink/Raster/BinkRasterizer.cs
diff --git a/src/Bink/Bit.Bink/Rendering/BinkCanvasRenderContext.cs b/src/Utilities/Bink/Bit.Bink/Rendering/BinkCanvasRenderContext.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Rendering/BinkCanvasRenderContext.cs
rename to src/Utilities/Bink/Bit.Bink/Rendering/BinkCanvasRenderContext.cs
diff --git a/src/Bink/Bit.Bink/Rendering/BinkDocumentRenderer.cs b/src/Utilities/Bink/Bit.Bink/Rendering/BinkDocumentRenderer.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Rendering/BinkDocumentRenderer.cs
rename to src/Utilities/Bink/Bit.Bink/Rendering/BinkDocumentRenderer.cs
diff --git a/src/Bink/Bit.Bink/Rendering/BinkImageSource.cs b/src/Utilities/Bink/Bit.Bink/Rendering/BinkImageSource.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Rendering/BinkImageSource.cs
rename to src/Utilities/Bink/Bit.Bink/Rendering/BinkImageSource.cs
diff --git a/src/Bink/Bit.Bink/Rendering/BinkPaint.cs b/src/Utilities/Bink/Bit.Bink/Rendering/BinkPaint.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Rendering/BinkPaint.cs
rename to src/Utilities/Bink/Bit.Bink/Rendering/BinkPaint.cs
diff --git a/src/Bink/Bit.Bink/Rendering/IBinkRenderContext.cs b/src/Utilities/Bink/Bit.Bink/Rendering/IBinkRenderContext.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Rendering/IBinkRenderContext.cs
rename to src/Utilities/Bink/Bit.Bink/Rendering/IBinkRenderContext.cs
diff --git a/src/Bink/Bit.Bink/Scripts/Bit.Bink.lib.module.ts b/src/Utilities/Bink/Bit.Bink/Scripts/Bit.Bink.lib.module.ts
similarity index 100%
rename from src/Bink/Bit.Bink/Scripts/Bit.Bink.lib.module.ts
rename to src/Utilities/Bink/Bit.Bink/Scripts/Bit.Bink.lib.module.ts
diff --git a/src/Bink/Bit.Bink/Scripts/bit-bink.ts b/src/Utilities/Bink/Bit.Bink/Scripts/bit-bink.ts
similarity index 100%
rename from src/Bink/Bit.Bink/Scripts/bit-bink.ts
rename to src/Utilities/Bink/Bit.Bink/Scripts/bit-bink.ts
diff --git a/src/Bink/Bit.Bink/Serialization/BinkPointCodec.cs b/src/Utilities/Bink/Bit.Bink/Serialization/BinkPointCodec.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Serialization/BinkPointCodec.cs
rename to src/Utilities/Bink/Bit.Bink/Serialization/BinkPointCodec.cs
diff --git a/src/Bink/Bit.Bink/Serialization/BinkSerializationOptions.cs b/src/Utilities/Bink/Bit.Bink/Serialization/BinkSerializationOptions.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Serialization/BinkSerializationOptions.cs
rename to src/Utilities/Bink/Bit.Bink/Serialization/BinkSerializationOptions.cs
diff --git a/src/Bink/Bit.Bink/Serialization/BinkSerializer.cs b/src/Utilities/Bink/Bit.Bink/Serialization/BinkSerializer.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Serialization/BinkSerializer.cs
rename to src/Utilities/Bink/Bit.Bink/Serialization/BinkSerializer.cs
diff --git a/src/Bink/Bit.Bink/Styles/bit-bink.css b/src/Utilities/Bink/Bit.Bink/Styles/bit-bink.css
similarity index 100%
rename from src/Bink/Bit.Bink/Styles/bit-bink.css
rename to src/Utilities/Bink/Bit.Bink/Styles/bit-bink.css
diff --git a/src/Bink/Bit.Bink/Tools/BinkDrawTool.cs b/src/Utilities/Bink/Bit.Bink/Tools/BinkDrawTool.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Tools/BinkDrawTool.cs
rename to src/Utilities/Bink/Bit.Bink/Tools/BinkDrawTool.cs
diff --git a/src/Bink/Bit.Bink/Tools/BinkEraserTool.cs b/src/Utilities/Bink/Bit.Bink/Tools/BinkEraserTool.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Tools/BinkEraserTool.cs
rename to src/Utilities/Bink/Bit.Bink/Tools/BinkEraserTool.cs
diff --git a/src/Bink/Bit.Bink/Tools/BinkPanTool.cs b/src/Utilities/Bink/Bit.Bink/Tools/BinkPanTool.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Tools/BinkPanTool.cs
rename to src/Utilities/Bink/Bit.Bink/Tools/BinkPanTool.cs
diff --git a/src/Bink/Bit.Bink/Tools/BinkSelectTool.cs b/src/Utilities/Bink/Bit.Bink/Tools/BinkSelectTool.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Tools/BinkSelectTool.cs
rename to src/Utilities/Bink/Bit.Bink/Tools/BinkSelectTool.cs
diff --git a/src/Bink/Bit.Bink/Tools/BinkShapeTool.cs b/src/Utilities/Bink/Bit.Bink/Tools/BinkShapeTool.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Tools/BinkShapeTool.cs
rename to src/Utilities/Bink/Bit.Bink/Tools/BinkShapeTool.cs
diff --git a/src/Bink/Bit.Bink/Tools/BinkTextTool.cs b/src/Utilities/Bink/Bit.Bink/Tools/BinkTextTool.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Tools/BinkTextTool.cs
rename to src/Utilities/Bink/Bit.Bink/Tools/BinkTextTool.cs
diff --git a/src/Bink/Bit.Bink/Tools/IBinkTool.cs b/src/Utilities/Bink/Bit.Bink/Tools/IBinkTool.cs
similarity index 100%
rename from src/Bink/Bit.Bink/Tools/IBinkTool.cs
rename to src/Utilities/Bink/Bit.Bink/Tools/IBinkTool.cs
diff --git a/src/Bink/Bit.Bink/_Imports.razor b/src/Utilities/Bink/Bit.Bink/_Imports.razor
similarity index 100%
rename from src/Bink/Bit.Bink/_Imports.razor
rename to src/Utilities/Bink/Bit.Bink/_Imports.razor
diff --git a/src/Bink/Bit.Bink/package-lock.json b/src/Utilities/Bink/Bit.Bink/package-lock.json
similarity index 100%
rename from src/Bink/Bit.Bink/package-lock.json
rename to src/Utilities/Bink/Bit.Bink/package-lock.json
diff --git a/src/Bink/Bit.Bink/package.json b/src/Utilities/Bink/Bit.Bink/package.json
similarity index 100%
rename from src/Bink/Bit.Bink/package.json
rename to src/Utilities/Bink/Bit.Bink/package.json
diff --git a/src/Bink/Bit.Bink/tsconfig.json b/src/Utilities/Bink/Bit.Bink/tsconfig.json
similarity index 100%
rename from src/Bink/Bit.Bink/tsconfig.json
rename to src/Utilities/Bink/Bit.Bink/tsconfig.json
diff --git a/src/Bink/README.md b/src/Utilities/Bink/README.md
similarity index 100%
rename from src/Bink/README.md
rename to src/Utilities/Bink/README.md
diff --git a/src/Bink/Tests/Bit.Bink.Benchmarks/Bit.Bink.Benchmarks.csproj b/src/Utilities/Bink/Tests/Bit.Bink.Benchmarks/Bit.Bink.Benchmarks.csproj
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Benchmarks/Bit.Bink.Benchmarks.csproj
rename to src/Utilities/Bink/Tests/Bit.Bink.Benchmarks/Bit.Bink.Benchmarks.csproj
diff --git a/src/Bink/Tests/Bit.Bink.Benchmarks/EngineBenchmarks.cs b/src/Utilities/Bink/Tests/Bit.Bink.Benchmarks/EngineBenchmarks.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Benchmarks/EngineBenchmarks.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Benchmarks/EngineBenchmarks.cs
diff --git a/src/Bink/Tests/Bit.Bink.Benchmarks/Program.cs b/src/Utilities/Bink/Tests/Bit.Bink.Benchmarks/Program.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Benchmarks/Program.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Benchmarks/Program.cs
diff --git a/src/Bink/Tests/Bit.Bink.Benchmarks/README.md b/src/Utilities/Bink/Tests/Bit.Bink.Benchmarks/README.md
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Benchmarks/README.md
rename to src/Utilities/Bink/Tests/Bit.Bink.Benchmarks/README.md
diff --git a/src/Bink/Tests/Bit.Bink.Benchmarks/Workloads.cs b/src/Utilities/Bink/Tests/Bit.Bink.Benchmarks/Workloads.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Benchmarks/Workloads.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Benchmarks/Workloads.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.E2E/AssemblySetup.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/AssemblySetup.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.E2E/AssemblySetup.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/AssemblySetup.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.E2E/Bit.Bink.Tests.E2E.csproj b/src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Bit.Bink.Tests.E2E.csproj
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.E2E/Bit.Bink.Tests.E2E.csproj
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Bit.Bink.Tests.E2E.csproj
diff --git a/src/Bink/Tests/Bit.Bink.Tests.E2E/DemoRegressionTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/DemoRegressionTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.E2E/DemoRegressionTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/DemoRegressionTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.E2E/DisplayAndDemoTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/DisplayAndDemoTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.E2E/DisplayAndDemoTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/DisplayAndDemoTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.E2E/DrawingTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/DrawingTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.E2E/DrawingTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/DrawingTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/BinkTest.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/BinkTest.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/BinkTest.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/BinkTest.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/ChildProcess.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/ChildProcess.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/ChildProcess.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/ChildProcess.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/DemoHost.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/DemoHost.cs
similarity index 93%
rename from src/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/DemoHost.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/DemoHost.cs
index a16de50d410..66a6506e5e7 100644
--- a/src/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/DemoHost.cs
+++ b/src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/DemoHost.cs
@@ -27,7 +27,7 @@ public static async Task StartAsync()
if (File.Exists(assembly) is false)
throw new FileNotFoundException(
$"The demo server has not been built in the {E2EEnvironment.Configuration} configuration. Build it first with " +
- $"'dotnet build src/Bink/Bit.Bink.Demo/Server/Bit.Bink.Demo.Server.csproj -c {E2EEnvironment.Configuration}'", assembly);
+ $"'dotnet build src/Utilities/Bink/Bit.Bink.Demo/Server/Bit.Bink.Demo.Server.csproj -c {E2EEnvironment.Configuration}'", assembly);
var baseUrl = $"http://127.0.0.1:{ChildProcess.FreePort()}";
diff --git a/src/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/E2EEnvironment.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/E2EEnvironment.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/E2EEnvironment.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/E2EEnvironment.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/PlaywrightSession.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/PlaywrightSession.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/PlaywrightSession.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/PlaywrightSession.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/RepoLayout.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/RepoLayout.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/RepoLayout.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Infrastructure/RepoLayout.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.E2E/KeyboardAndTouchTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/KeyboardAndTouchTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.E2E/KeyboardAndTouchTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/KeyboardAndTouchTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.E2E/README.md b/src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/README.md
similarity index 91%
rename from src/Bink/Tests/Bit.Bink.Tests.E2E/README.md
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/README.md
index a8784dbd52b..115b05b8709 100644
--- a/src/Bink/Tests/Bit.Bink.Tests.E2E/README.md
+++ b/src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/README.md
@@ -31,7 +31,7 @@ every canvas, which is what says it is attached.
## Running locally
-From `src/Bink` (inside `src`, so `src/global.json` selects the Microsoft.Testing.Platform runner):
+From `src/Utilities/Bink` (inside `src`, so `src/global.json` selects the Microsoft.Testing.Platform runner):
```bash
# The suite runs the demo server's build output: build it first, in the configuration the tests run in.
@@ -51,10 +51,10 @@ dotnet test --filter "FullyQualifiedName~Drawing_with_the_mouse"
CI does the same in Release (`.github/workflows/bit.ci.Bink.e2e.yml`):
```bash
-dotnet build src/Bink/Bit.Bink.Demo/Server/Bit.Bink.Demo.Server.csproj -c Release
-dotnet build src/Bink/Tests/Bit.Bink.Tests.E2E/Bit.Bink.Tests.E2E.csproj -c Release
-pwsh src/Bink/Tests/Bit.Bink.Tests.E2E/bin/Release/net10.0/playwright.ps1 install --with-deps chromium
-cd src/Bink/Tests/Bit.Bink.Tests.E2E && dotnet test -c Release --no-build --report-trx --report-trx-filename bink-e2e.trx
+dotnet build src/Utilities/Bink/Bit.Bink.Demo/Server/Bit.Bink.Demo.Server.csproj -c Release
+dotnet build src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/Bit.Bink.Tests.E2E.csproj -c Release
+pwsh src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E/bin/Release/net10.0/playwright.ps1 install --with-deps chromium
+cd src/Utilities/Bink/Tests/Bit.Bink.Tests.E2E && dotnet test -c Release --no-build --report-trx --report-trx-filename bink-e2e.trx
```
That workflow only runs when started by hand (Actions > "bit platform CI - Bink E2E" > Run workflow). The pull-request pipeline, `bit.ci.Bink.yml`, runs the build, engine, component and MCP tests only.
diff --git a/src/Bink/Tests/Bit.Bink.Tests.Mcp/Bit.Bink.Tests.Mcp.csproj b/src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/Bit.Bink.Tests.Mcp.csproj
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.Mcp/Bit.Bink.Tests.Mcp.csproj
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/Bit.Bink.Tests.Mcp.csproj
diff --git a/src/Bink/Tests/Bit.Bink.Tests.Mcp/McpCall.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpCall.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.Mcp/McpCall.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpCall.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.Mcp/McpDocumentLabTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpDocumentLabTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.Mcp/McpDocumentLabTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpDocumentLabTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.Mcp/McpOracleTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpOracleTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.Mcp/McpOracleTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpOracleTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.Mcp/McpResourcePromptTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpResourcePromptTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.Mcp/McpResourcePromptTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpResourcePromptTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.Mcp/McpSearchTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpSearchTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.Mcp/McpSearchTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpSearchTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.Mcp/McpSurfaceTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpSurfaceTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.Mcp/McpSurfaceTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpSurfaceTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.Mcp/McpTestHost.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpTestHost.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.Mcp/McpTestHost.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpTestHost.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.Mcp/McpToolTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpToolTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.Mcp/McpToolTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/McpToolTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests.Mcp/ToolNames.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/ToolNames.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests.Mcp/ToolNames.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests.Mcp/ToolNames.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Bit.Bink.Tests.csproj b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Bit.Bink.Tests.csproj
similarity index 90%
rename from src/Bink/Tests/Bit.Bink.Tests/Bit.Bink.Tests.csproj
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Bit.Bink.Tests.csproj
index 45cdd3c09b7..fb25d787822 100644
--- a/src/Bink/Tests/Bit.Bink.Tests/Bit.Bink.Tests.csproj
+++ b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Bit.Bink.Tests.csproj
@@ -10,7 +10,7 @@
truefalsetrue
- ..\..\..\AssemblyOriginatorKeyFile.snk
+ ..\..\..\..\AssemblyOriginatorKeyFile.snk
diff --git a/src/Bink/Tests/Bit.Bink.Tests/CollaborationTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/CollaborationTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/CollaborationTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/CollaborationTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Components/BinkCanvasInteropTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Components/BinkCanvasInteropTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/Components/BinkCanvasInteropTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Components/BinkCanvasInteropTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Components/BinkCanvasLifecycleTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Components/BinkCanvasLifecycleTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/Components/BinkCanvasLifecycleTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Components/BinkCanvasLifecycleTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Components/BinkCanvasTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Components/BinkCanvasTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/Components/BinkCanvasTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Components/BinkCanvasTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/DerivedGeometryTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/DerivedGeometryTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/DerivedGeometryTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/DerivedGeometryTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/DocumentTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/DocumentTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/DocumentTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/DocumentTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/DocumentationSamples.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/DocumentationSamples.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/DocumentationSamples.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/DocumentationSamples.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/EraserRegressionTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/EraserRegressionTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/EraserRegressionTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/EraserRegressionTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/ExportRegressionTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/ExportRegressionTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/ExportRegressionTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/ExportRegressionTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/GeometryRegressionTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/GeometryRegressionTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/GeometryRegressionTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/GeometryRegressionTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/GeometryTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/GeometryTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/GeometryTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/GeometryTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/GlobalUsings.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/GlobalUsings.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/GlobalUsings.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/GlobalUsings.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Golden/circle.png b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/circle.png
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/Golden/circle.png
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/circle.png
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Golden/dot.png b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/dot.png
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/Golden/dot.png
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/dot.png
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Golden/eraser-mask.png b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/eraser-mask.png
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/Golden/eraser-mask.png
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/eraser-mask.png
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Golden/handwriting.png b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/handwriting.png
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/Golden/handwriting.png
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/handwriting.png
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Golden/highlighter-multiply.png b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/highlighter-multiply.png
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/Golden/highlighter-multiply.png
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/highlighter-multiply.png
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Golden/layer-opacity.png b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/layer-opacity.png
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/Golden/layer-opacity.png
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/layer-opacity.png
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Golden/overlapping-strokes.png b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/overlapping-strokes.png
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/Golden/overlapping-strokes.png
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/overlapping-strokes.png
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Golden/pressure-ramp.png b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/pressure-ramp.png
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/Golden/pressure-ramp.png
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/pressure-ramp.png
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Golden/rotated-element.png b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/rotated-element.png
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/Golden/rotated-element.png
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/rotated-element.png
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Golden/shapes.png b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/shapes.png
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/Golden/shapes.png
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/shapes.png
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Golden/sharp-corner.png b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/sharp-corner.png
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/Golden/sharp-corner.png
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/sharp-corner.png
diff --git a/src/Bink/Tests/Bit.Bink.Tests/Golden/straight-line.png b/src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/straight-line.png
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/Golden/straight-line.png
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/Golden/straight-line.png
diff --git a/src/Bink/Tests/Bit.Bink.Tests/HistoryRegressionTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/HistoryRegressionTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/HistoryRegressionTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/HistoryRegressionTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/KeyboardTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/KeyboardTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/KeyboardTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/KeyboardTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/PointerRegressionTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/PointerRegressionTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/PointerRegressionTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/PointerRegressionTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/RenderingTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/RenderingTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/RenderingTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/RenderingTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/RobustnessTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/RobustnessTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/RobustnessTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/RobustnessTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/SelectionRegressionTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/SelectionRegressionTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/SelectionRegressionTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/SelectionRegressionTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/SerializationRegressionTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/SerializationRegressionTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/SerializationRegressionTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/SerializationRegressionTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/SerializationTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/SerializationTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/SerializationTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/SerializationTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/StrokeGeometryRegressionTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/StrokeGeometryRegressionTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/StrokeGeometryRegressionTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/StrokeGeometryRegressionTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/StrokeTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/StrokeTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/StrokeTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/StrokeTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/TestData.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/TestData.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/TestData.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/TestData.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/TestToolContext.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/TestToolContext.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/TestToolContext.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/TestToolContext.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/ToolTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/ToolTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/ToolTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/ToolTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/ViewportRegressionTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/ViewportRegressionTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/ViewportRegressionTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/ViewportRegressionTests.cs
diff --git a/src/Bink/Tests/Bit.Bink.Tests/VisualRegressionTests.cs b/src/Utilities/Bink/Tests/Bit.Bink.Tests/VisualRegressionTests.cs
similarity index 100%
rename from src/Bink/Tests/Bit.Bink.Tests/VisualRegressionTests.cs
rename to src/Utilities/Bink/Tests/Bit.Bink.Tests/VisualRegressionTests.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Bit.BlazeDb.Browser.csproj b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Bit.BlazeDb.Browser.csproj
similarity index 99%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Bit.BlazeDb.Browser.csproj
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Bit.BlazeDb.Browser.csproj
index d0a2a626f26..7e4e77dc1b9 100644
--- a/src/BlazeDb/Bit.BlazeDb.Browser/Bit.BlazeDb.Browser.csproj
+++ b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Bit.BlazeDb.Browser.csproj
@@ -1,6 +1,6 @@
-
+ net10.0;net9.0;net8.0
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Cryptography/BlazeDbWebCryptoCipher.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Cryptography/BlazeDbWebCryptoCipher.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Cryptography/BlazeDbWebCryptoCipher.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Cryptography/BlazeDbWebCryptoCipher.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbBrowserModules.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbBrowserModules.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbBrowserModules.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbBrowserModules.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbCryptoInterop.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbCryptoInterop.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbCryptoInterop.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbCryptoInterop.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbIndexedDbInterop.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbIndexedDbInterop.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbIndexedDbInterop.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbIndexedDbInterop.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbOpfsInterop.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbOpfsInterop.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbOpfsInterop.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbOpfsInterop.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbTabsInterop.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbTabsInterop.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbTabsInterop.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Interop/BlazeDbTabsInterop.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-crypto.ts b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-crypto.ts
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-crypto.ts
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-crypto.ts
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-idb.ts b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-idb.ts
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-idb.ts
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-idb.ts
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-opfs.ts b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-opfs.ts
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-opfs.ts
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-opfs.ts
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-tabs.ts b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-tabs.ts
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-tabs.ts
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb-tabs.ts
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb.d.ts b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb.d.ts
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb.d.ts
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Scripts/bit-blazedb.d.ts
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Storage/BlazeDbIndexedDbStorage.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Storage/BlazeDbIndexedDbStorage.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Storage/BlazeDbIndexedDbStorage.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Storage/BlazeDbIndexedDbStorage.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Storage/BlazeDbOpfsStorage.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Storage/BlazeDbOpfsStorage.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Storage/BlazeDbOpfsStorage.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Storage/BlazeDbOpfsStorage.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Storage/BlazeDbWriterLock.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Storage/BlazeDbWriterLock.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Storage/BlazeDbWriterLock.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Storage/BlazeDbWriterLock.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/Sync/BlazeDbTabSync.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Sync/BlazeDbTabSync.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/Sync/BlazeDbTabSync.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/Sync/BlazeDbTabSync.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/package-lock.json b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/package-lock.json
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/package-lock.json
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/package-lock.json
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/package.json b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/package.json
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/package.json
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/package.json
diff --git a/src/BlazeDb/Bit.BlazeDb.Browser/tsconfig.json b/src/Utilities/BlazeDb/Bit.BlazeDb.Browser/tsconfig.json
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Browser/tsconfig.json
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Browser/tsconfig.json
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Bit.BlazeDb.EntityFrameworkCore.csproj b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Bit.BlazeDb.EntityFrameworkCore.csproj
similarity index 97%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Bit.BlazeDb.EntityFrameworkCore.csproj
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Bit.BlazeDb.EntityFrameworkCore.csproj
index e740f4bdc66..d88198e8daa 100644
--- a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Bit.BlazeDb.EntityFrameworkCore.csproj
+++ b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Bit.BlazeDb.EntityFrameworkCore.csproj
@@ -1,6 +1,6 @@
-
+ net10.0;net9.0;net8.0
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbDatabaseFacadeExtensions.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbDatabaseFacadeExtensions.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbDatabaseFacadeExtensions.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbDatabaseFacadeExtensions.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbDbContextOptionsExtensions.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbDbContextOptionsExtensions.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbDbContextOptionsExtensions.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbDbContextOptionsExtensions.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbModelBuilderExtensions.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbModelBuilderExtensions.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbModelBuilderExtensions.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbModelBuilderExtensions.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbServiceCollectionExtensions.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbServiceCollectionExtensions.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbServiceCollectionExtensions.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Extensions/BlazeDbServiceCollectionExtensions.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbContextRegistry.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbContextRegistry.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbContextRegistry.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbContextRegistry.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbEngineCache.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbEngineCache.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbEngineCache.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbEngineCache.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbLoggingDefinitions.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbLoggingDefinitions.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbLoggingDefinitions.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbLoggingDefinitions.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbOptionsExtension.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbOptionsExtension.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbOptionsExtension.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Infrastructure/BlazeDbOptionsExtension.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbIndex.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbIndex.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbIndex.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbIndex.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbOriginalValueFactory.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbOriginalValueFactory.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbOriginalValueFactory.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbOriginalValueFactory.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbTableBinding.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbTableBinding.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbTableBinding.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbTableBinding.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbTableCache.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbTableCache.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbTableCache.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbTableCache.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbTableResolver.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbTableResolver.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbTableResolver.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/BlazeDbTableResolver.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/IBlazeDbTableBinding.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/IBlazeDbTableBinding.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/IBlazeDbTableBinding.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/IBlazeDbTableBinding.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/IBlazeDbTableCache.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/IBlazeDbTableCache.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/IBlazeDbTableCache.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Metadata/IBlazeDbTableCache.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbComparison.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbComparison.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbComparison.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbComparison.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbCompiledQueryBinder.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbCompiledQueryBinder.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbCompiledQueryBinder.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbCompiledQueryBinder.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbConjuncts.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbConjuncts.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbConjuncts.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbConjuncts.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbDelegateCache.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbDelegateCache.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbDelegateCache.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbDelegateCache.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbEntityTracker.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbEntityTracker.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbEntityTracker.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbEntityTracker.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbExpressionEvaluator.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbExpressionEvaluator.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbExpressionEvaluator.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbExpressionEvaluator.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbIndexSelection.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbIndexSelection.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbIndexSelection.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbIndexSelection.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbIndexSelector.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbIndexSelector.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbIndexSelector.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbIndexSelector.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbKeyCoercion.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbKeyCoercion.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbKeyCoercion.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbKeyCoercion.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryCompiler.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryCompiler.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryCompiler.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryCompiler.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryContextFactory.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryContextFactory.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryContextFactory.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryContextFactory.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryExecutor.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryExecutor.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryExecutor.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryExecutor.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryPlan.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryPlan.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryPlan.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryPlan.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryPlan{TRow}.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryPlan{TRow}.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryPlan{TRow}.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryPlan{TRow}.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryPreparer.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryPreparer.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryPreparer.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryPreparer.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryRootBinder.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryRootBinder.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryRootBinder.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryRootBinder.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryRootInliner.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryRootInliner.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryRootInliner.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryRootInliner.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryTranslator.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryTranslator.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryTranslator.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbQueryTranslator.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbRowsPlaceholder.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbRowsPlaceholder.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbRowsPlaceholder.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbRowsPlaceholder.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbRowsPlaceholderReplacer.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbRowsPlaceholderReplacer.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbRowsPlaceholderReplacer.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbRowsPlaceholderReplacer.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbTranslatedQuery.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbTranslatedQuery.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbTranslatedQuery.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Query/BlazeDbTranslatedQuery.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbConventionSetBuilder.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbConventionSetBuilder.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbConventionSetBuilder.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbConventionSetBuilder.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbDatabaseCreator.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbDatabaseCreator.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbDatabaseCreator.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbDatabaseCreator.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbEfCoreDatabase.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbEfCoreDatabase.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbEfCoreDatabase.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbEfCoreDatabase.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbEfTransaction.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbEfTransaction.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbEfTransaction.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbEfTransaction.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbSequenceComparer.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbSequenceComparer.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbSequenceComparer.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbSequenceComparer.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbTransactionManager.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbTransactionManager.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbTransactionManager.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbTransactionManager.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbTypeMappingSource.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbTypeMappingSource.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbTypeMappingSource.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.EntityFrameworkCore/Storage/BlazeDbTypeMappingSource.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Generators/AnalyzerReleases.Shipped.md b/src/Utilities/BlazeDb/Bit.BlazeDb.Generators/AnalyzerReleases.Shipped.md
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Generators/AnalyzerReleases.Shipped.md
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Generators/AnalyzerReleases.Shipped.md
diff --git a/src/BlazeDb/Bit.BlazeDb.Generators/AnalyzerReleases.Unshipped.md b/src/Utilities/BlazeDb/Bit.BlazeDb.Generators/AnalyzerReleases.Unshipped.md
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Generators/AnalyzerReleases.Unshipped.md
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Generators/AnalyzerReleases.Unshipped.md
diff --git a/src/BlazeDb/Bit.BlazeDb.Generators/Bit.BlazeDb.Generators.csproj b/src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Bit.BlazeDb.Generators.csproj
similarity index 97%
rename from src/BlazeDb/Bit.BlazeDb.Generators/Bit.BlazeDb.Generators.csproj
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Bit.BlazeDb.Generators.csproj
index 697b5c92c52..0f920b9bb9d 100644
--- a/src/BlazeDb/Bit.BlazeDb.Generators/Bit.BlazeDb.Generators.csproj
+++ b/src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Bit.BlazeDb.Generators.csproj
@@ -1,6 +1,6 @@
-
+ netstandard2.0
diff --git a/src/BlazeDb/Bit.BlazeDb.Generators/BlazeDbTableGenerator.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Generators/BlazeDbTableGenerator.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Generators/BlazeDbTableGenerator.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Generators/BlazeDbTableGenerator.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Generators/Diagnostics/BlazeDbDiagnosticInfo.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Diagnostics/BlazeDbDiagnosticInfo.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Generators/Diagnostics/BlazeDbDiagnosticInfo.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Diagnostics/BlazeDbDiagnosticInfo.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Generators/Diagnostics/BlazeDbDiagnostics.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Diagnostics/BlazeDbDiagnostics.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Generators/Diagnostics/BlazeDbDiagnostics.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Diagnostics/BlazeDbDiagnostics.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Generators/Emit/BlazeDbSourceEmitter.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Emit/BlazeDbSourceEmitter.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Generators/Emit/BlazeDbSourceEmitter.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Emit/BlazeDbSourceEmitter.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Generators/Emit/BlazeDbTypeMap.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Emit/BlazeDbTypeMap.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Generators/Emit/BlazeDbTypeMap.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Emit/BlazeDbTypeMap.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbCompoundIndexModel.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbCompoundIndexModel.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbCompoundIndexModel.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbCompoundIndexModel.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbGenerationResult.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbGenerationResult.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbGenerationResult.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbGenerationResult.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbPropCategory.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbPropCategory.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbPropCategory.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbPropCategory.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbPropModel.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbPropModel.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbPropModel.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbPropModel.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbScalarKind.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbScalarKind.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbScalarKind.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbScalarKind.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbTableModel.cs b/src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbTableModel.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbTableModel.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb.Generators/Model/BlazeDbTableModel.cs
diff --git a/src/BlazeDb/Bit.BlazeDb.slnx b/src/Utilities/BlazeDb/Bit.BlazeDb.slnx
similarity index 85%
rename from src/BlazeDb/Bit.BlazeDb.slnx
rename to src/Utilities/BlazeDb/Bit.BlazeDb.slnx
index 727837a0e32..1ebdb87cf35 100644
--- a/src/BlazeDb/Bit.BlazeDb.slnx
+++ b/src/Utilities/BlazeDb/Bit.BlazeDb.slnx
@@ -1,9 +1,9 @@
-
-
-
-
+
+
+
+
diff --git a/src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbCompoundIndexAttribute.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbCompoundIndexAttribute.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbCompoundIndexAttribute.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbCompoundIndexAttribute.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbCompoundOrderedIndexAttribute.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbCompoundOrderedIndexAttribute.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbCompoundOrderedIndexAttribute.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbCompoundOrderedIndexAttribute.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbFieldAttribute.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbFieldAttribute.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbFieldAttribute.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbFieldAttribute.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbIgnoreAttribute.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbIgnoreAttribute.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbIgnoreAttribute.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbIgnoreAttribute.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbIndexAttribute.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbIndexAttribute.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbIndexAttribute.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbIndexAttribute.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbKeyAttribute.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbKeyAttribute.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbKeyAttribute.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbKeyAttribute.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbOrderedIndexAttribute.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbOrderedIndexAttribute.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbOrderedIndexAttribute.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbOrderedIndexAttribute.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbTableAttribute.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbTableAttribute.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbTableAttribute.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Attributes/BlazeDbTableAttribute.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Bit.BlazeDb.csproj b/src/Utilities/BlazeDb/Bit.BlazeDb/Bit.BlazeDb.csproj
similarity index 97%
rename from src/BlazeDb/Bit.BlazeDb/Bit.BlazeDb.csproj
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Bit.BlazeDb.csproj
index 83b383371a4..8121d174c56 100644
--- a/src/BlazeDb/Bit.BlazeDb/Bit.BlazeDb.csproj
+++ b/src/Utilities/BlazeDb/Bit.BlazeDb/Bit.BlazeDb.csproj
@@ -1,6 +1,6 @@
-
+ net10.0;net9.0;net8.0
diff --git a/src/BlazeDb/Bit.BlazeDb/BlazeDbDatabase.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/BlazeDbDatabase.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/BlazeDbDatabase.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/BlazeDbDatabase.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/BlazeDbDatabaseOptions.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/BlazeDbDatabaseOptions.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/BlazeDbDatabaseOptions.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/BlazeDbDatabaseOptions.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbCorruptDatabaseException.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbCorruptDatabaseException.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbCorruptDatabaseException.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbCorruptDatabaseException.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbDatabaseLockedException.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbDatabaseLockedException.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbDatabaseLockedException.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbDatabaseLockedException.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbDuplicateKeyException.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbDuplicateKeyException.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbDuplicateKeyException.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbDuplicateKeyException.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbException.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbException.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbException.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbException.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbStaleRowException.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbStaleRowException.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbStaleRowException.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbStaleRowException.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbStorageQuotaExceededException.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbStorageQuotaExceededException.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbStorageQuotaExceededException.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbStorageQuotaExceededException.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbUniqueConstraintViolationException.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbUniqueConstraintViolationException.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbUniqueConstraintViolationException.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Exceptions/BlazeDbUniqueConstraintViolationException.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbHashIndexDefinition.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbHashIndexDefinition.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbHashIndexDefinition.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbHashIndexDefinition.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbHashIndexStore.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbHashIndexStore.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbHashIndexStore.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbHashIndexStore.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbIndexDefinition.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbIndexDefinition.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbIndexDefinition.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbIndexDefinition.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbOrderedIndexDefinition.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbOrderedIndexDefinition.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbOrderedIndexDefinition.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbOrderedIndexDefinition.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbOrderedIndexStore.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbOrderedIndexStore.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbOrderedIndexStore.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Indexing/BlazeDbOrderedIndexStore.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Indexing/IBlazeDbIndexStore.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Indexing/IBlazeDbIndexStore.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Indexing/IBlazeDbIndexStore.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Indexing/IBlazeDbIndexStore.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Querying/BlazeDbBound.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Querying/BlazeDbBound.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Querying/BlazeDbBound.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Querying/BlazeDbBound.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Querying/BlazeDbQuery.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Querying/BlazeDbQuery.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Querying/BlazeDbQuery.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Querying/BlazeDbQuery.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Serialization/BlazeDbBufferReader.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Serialization/BlazeDbBufferReader.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Serialization/BlazeDbBufferReader.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Serialization/BlazeDbBufferReader.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Serialization/BlazeDbBufferWriter.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Serialization/BlazeDbBufferWriter.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Serialization/BlazeDbBufferWriter.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Serialization/BlazeDbBufferWriter.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Serialization/BlazeDbWireType.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Serialization/BlazeDbWireType.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Serialization/BlazeDbWireType.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Serialization/BlazeDbWireType.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Storage/BlazeDbAesGcmCipher.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Storage/BlazeDbAesGcmCipher.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Storage/BlazeDbAesGcmCipher.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Storage/BlazeDbAesGcmCipher.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Storage/BlazeDbEncryptedStorage.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Storage/BlazeDbEncryptedStorage.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Storage/BlazeDbEncryptedStorage.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Storage/BlazeDbEncryptedStorage.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Storage/BlazeDbFileStorage.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Storage/BlazeDbFileStorage.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Storage/BlazeDbFileStorage.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Storage/BlazeDbFileStorage.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Storage/BlazeDbInMemoryStorage.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Storage/BlazeDbInMemoryStorage.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Storage/BlazeDbInMemoryStorage.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Storage/BlazeDbInMemoryStorage.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Storage/BlazeDbStorageQuota.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Storage/BlazeDbStorageQuota.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Storage/BlazeDbStorageQuota.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Storage/BlazeDbStorageQuota.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbAeadCipher.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbAeadCipher.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbAeadCipher.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbAeadCipher.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbEnumerableStorage.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbEnumerableStorage.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbEnumerableStorage.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbEnumerableStorage.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbQuotaAwareStorage.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbQuotaAwareStorage.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbQuotaAwareStorage.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbQuotaAwareStorage.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbStorage.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbStorage.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbStorage.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Storage/IBlazeDbStorage.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbKeyReader.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbKeyReader.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbKeyReader.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbKeyReader.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbKeyWriter.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbKeyWriter.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbKeyWriter.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbKeyWriter.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbOpaqueTable.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbOpaqueTable.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbOpaqueTable.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbOpaqueTable.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbRowReader.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbRowReader.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbRowReader.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbRowReader.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbRowWriter.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbRowWriter.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbRowWriter.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbRowWriter.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbTable.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbTable.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbTable.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbTable.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbTableDescriptor.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbTableDescriptor.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbTableDescriptor.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbTableDescriptor.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbTableDescriptor{TKey,TRow}.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbTableDescriptor{TKey,TRow}.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Tables/BlazeDbTableDescriptor{TKey,TRow}.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Tables/BlazeDbTableDescriptor{TKey,TRow}.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Tables/IBlazeDbTableInternal.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Tables/IBlazeDbTableInternal.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Tables/IBlazeDbTableInternal.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Tables/IBlazeDbTableInternal.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Transactions/BlazeDbTransaction.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Transactions/BlazeDbTransaction.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Transactions/BlazeDbTransaction.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Transactions/BlazeDbTransaction.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Transactions/BlazeDbWalOp.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Transactions/BlazeDbWalOp.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Transactions/BlazeDbWalOp.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Transactions/BlazeDbWalOp.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Transactions/IBlazeDbTxnOp.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Transactions/IBlazeDbTxnOp.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Transactions/IBlazeDbTxnOp.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Transactions/IBlazeDbTxnOp.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Wal/BlazeDbCrc32.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Wal/BlazeDbCrc32.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Wal/BlazeDbCrc32.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Wal/BlazeDbCrc32.cs
diff --git a/src/BlazeDb/Bit.BlazeDb/Wal/BlazeDbWalManager.cs b/src/Utilities/BlazeDb/Bit.BlazeDb/Wal/BlazeDbWalManager.cs
similarity index 100%
rename from src/BlazeDb/Bit.BlazeDb/Wal/BlazeDbWalManager.cs
rename to src/Utilities/BlazeDb/Bit.BlazeDb/Wal/BlazeDbWalManager.cs
diff --git a/src/BlazeDb/Demo/Client/Bit.BlazeDb.Demo.Client.csproj b/src/Utilities/BlazeDb/Demo/Client/Bit.BlazeDb.Demo.Client.csproj
similarity index 100%
rename from src/BlazeDb/Demo/Client/Bit.BlazeDb.Demo.Client.csproj
rename to src/Utilities/BlazeDb/Demo/Client/Bit.BlazeDb.Demo.Client.csproj
diff --git a/src/BlazeDb/Demo/Client/Components/AppInterop.cs b/src/Utilities/BlazeDb/Demo/Client/Components/AppInterop.cs
similarity index 100%
rename from src/BlazeDb/Demo/Client/Components/AppInterop.cs
rename to src/Utilities/BlazeDb/Demo/Client/Components/AppInterop.cs
diff --git a/src/BlazeDb/Demo/Client/Components/Callout.razor b/src/Utilities/BlazeDb/Demo/Client/Components/Callout.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Components/Callout.razor
rename to src/Utilities/BlazeDb/Demo/Client/Components/Callout.razor
diff --git a/src/BlazeDb/Demo/Client/Components/CodeBlock.razor b/src/Utilities/BlazeDb/Demo/Client/Components/CodeBlock.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Components/CodeBlock.razor
rename to src/Utilities/BlazeDb/Demo/Client/Components/CodeBlock.razor
diff --git a/src/BlazeDb/Demo/Client/Components/CodeHighlighter.cs b/src/Utilities/BlazeDb/Demo/Client/Components/CodeHighlighter.cs
similarity index 100%
rename from src/BlazeDb/Demo/Client/Components/CodeHighlighter.cs
rename to src/Utilities/BlazeDb/Demo/Client/Components/CodeHighlighter.cs
diff --git a/src/BlazeDb/Demo/Client/Components/Icon.razor b/src/Utilities/BlazeDb/Demo/Client/Components/Icon.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Components/Icon.razor
rename to src/Utilities/BlazeDb/Demo/Client/Components/Icon.razor
diff --git a/src/BlazeDb/Demo/Client/Components/PageHeader.razor b/src/Utilities/BlazeDb/Demo/Client/Components/PageHeader.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Components/PageHeader.razor
rename to src/Utilities/BlazeDb/Demo/Client/Components/PageHeader.razor
diff --git a/src/BlazeDb/Demo/Client/Components/Panel.razor b/src/Utilities/BlazeDb/Demo/Client/Components/Panel.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Components/Panel.razor
rename to src/Utilities/BlazeDb/Demo/Client/Components/Panel.razor
diff --git a/src/BlazeDb/Demo/Client/Components/ScenarioStep.cs b/src/Utilities/BlazeDb/Demo/Client/Components/ScenarioStep.cs
similarity index 100%
rename from src/BlazeDb/Demo/Client/Components/ScenarioStep.cs
rename to src/Utilities/BlazeDb/Demo/Client/Components/ScenarioStep.cs
diff --git a/src/BlazeDb/Demo/Client/Components/ScenarioSteps.razor b/src/Utilities/BlazeDb/Demo/Client/Components/ScenarioSteps.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Components/ScenarioSteps.razor
rename to src/Utilities/BlazeDb/Demo/Client/Components/ScenarioSteps.razor
diff --git a/src/BlazeDb/Demo/Client/Components/Section.razor b/src/Utilities/BlazeDb/Demo/Client/Components/Section.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Components/Section.razor
rename to src/Utilities/BlazeDb/Demo/Client/Components/Section.razor
diff --git a/src/BlazeDb/Demo/Client/Components/SiteMap.cs b/src/Utilities/BlazeDb/Demo/Client/Components/SiteMap.cs
similarity index 100%
rename from src/BlazeDb/Demo/Client/Components/SiteMap.cs
rename to src/Utilities/BlazeDb/Demo/Client/Components/SiteMap.cs
diff --git a/src/BlazeDb/Demo/Client/Components/StatTile.razor b/src/Utilities/BlazeDb/Demo/Client/Components/StatTile.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Components/StatTile.razor
rename to src/Utilities/BlazeDb/Demo/Client/Components/StatTile.razor
diff --git a/src/BlazeDb/Demo/Client/Components/ThemeToggle.razor b/src/Utilities/BlazeDb/Demo/Client/Components/ThemeToggle.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Components/ThemeToggle.razor
rename to src/Utilities/BlazeDb/Demo/Client/Components/ThemeToggle.razor
diff --git a/src/BlazeDb/Demo/Client/Data/DemoDbContext.cs b/src/Utilities/BlazeDb/Demo/Client/Data/DemoDbContext.cs
similarity index 100%
rename from src/BlazeDb/Demo/Client/Data/DemoDbContext.cs
rename to src/Utilities/BlazeDb/Demo/Client/Data/DemoDbContext.cs
diff --git a/src/BlazeDb/Demo/Client/Data/DemoDbService.cs b/src/Utilities/BlazeDb/Demo/Client/Data/DemoDbService.cs
similarity index 100%
rename from src/BlazeDb/Demo/Client/Data/DemoDbService.cs
rename to src/Utilities/BlazeDb/Demo/Client/Data/DemoDbService.cs
diff --git a/src/BlazeDb/Demo/Client/Data/DemoModels.cs b/src/Utilities/BlazeDb/Demo/Client/Data/DemoModels.cs
similarity index 100%
rename from src/BlazeDb/Demo/Client/Data/DemoModels.cs
rename to src/Utilities/BlazeDb/Demo/Client/Data/DemoModels.cs
diff --git a/src/BlazeDb/Demo/Client/Data/DemoSandbox.cs b/src/Utilities/BlazeDb/Demo/Client/Data/DemoSandbox.cs
similarity index 100%
rename from src/BlazeDb/Demo/Client/Data/DemoSandbox.cs
rename to src/Utilities/BlazeDb/Demo/Client/Data/DemoSandbox.cs
diff --git a/src/BlazeDb/Demo/Client/Data/InstrumentedStorage.cs b/src/Utilities/BlazeDb/Demo/Client/Data/InstrumentedStorage.cs
similarity index 100%
rename from src/BlazeDb/Demo/Client/Data/InstrumentedStorage.cs
rename to src/Utilities/BlazeDb/Demo/Client/Data/InstrumentedStorage.cs
diff --git a/src/BlazeDb/Demo/Client/DiagnosticsCatalog.cs b/src/Utilities/BlazeDb/Demo/Client/DiagnosticsCatalog.cs
similarity index 100%
rename from src/BlazeDb/Demo/Client/DiagnosticsCatalog.cs
rename to src/Utilities/BlazeDb/Demo/Client/DiagnosticsCatalog.cs
diff --git a/src/BlazeDb/Demo/Client/Extensions/IServiceCollectionExtensions.cs b/src/Utilities/BlazeDb/Demo/Client/Extensions/IServiceCollectionExtensions.cs
similarity index 100%
rename from src/BlazeDb/Demo/Client/Extensions/IServiceCollectionExtensions.cs
rename to src/Utilities/BlazeDb/Demo/Client/Extensions/IServiceCollectionExtensions.cs
diff --git a/src/BlazeDb/Demo/Client/Layout/MainLayout.razor b/src/Utilities/BlazeDb/Demo/Client/Layout/MainLayout.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Layout/MainLayout.razor
rename to src/Utilities/BlazeDb/Demo/Client/Layout/MainLayout.razor
diff --git a/src/BlazeDb/Demo/Client/Layout/NavMenu.razor b/src/Utilities/BlazeDb/Demo/Client/Layout/NavMenu.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Layout/NavMenu.razor
rename to src/Utilities/BlazeDb/Demo/Client/Layout/NavMenu.razor
diff --git a/src/BlazeDb/Demo/Client/Pages/Benchmarks.razor b/src/Utilities/BlazeDb/Demo/Client/Pages/Benchmarks.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Pages/Benchmarks.razor
rename to src/Utilities/BlazeDb/Demo/Client/Pages/Benchmarks.razor
diff --git a/src/BlazeDb/Demo/Client/Pages/Durability.razor b/src/Utilities/BlazeDb/Demo/Client/Pages/Durability.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Pages/Durability.razor
rename to src/Utilities/BlazeDb/Demo/Client/Pages/Durability.razor
diff --git a/src/BlazeDb/Demo/Client/Pages/EfCore.razor b/src/Utilities/BlazeDb/Demo/Client/Pages/EfCore.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Pages/EfCore.razor
rename to src/Utilities/BlazeDb/Demo/Client/Pages/EfCore.razor
diff --git a/src/BlazeDb/Demo/Client/Pages/Errors.razor b/src/Utilities/BlazeDb/Demo/Client/Pages/Errors.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Pages/Errors.razor
rename to src/Utilities/BlazeDb/Demo/Client/Pages/Errors.razor
diff --git a/src/BlazeDb/Demo/Client/Pages/Home.razor b/src/Utilities/BlazeDb/Demo/Client/Pages/Home.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Pages/Home.razor
rename to src/Utilities/BlazeDb/Demo/Client/Pages/Home.razor
diff --git a/src/BlazeDb/Demo/Client/Pages/Indexes.razor b/src/Utilities/BlazeDb/Demo/Client/Pages/Indexes.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Pages/Indexes.razor
rename to src/Utilities/BlazeDb/Demo/Client/Pages/Indexes.razor
diff --git a/src/BlazeDb/Demo/Client/Pages/McpServer.razor b/src/Utilities/BlazeDb/Demo/Client/Pages/McpServer.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Pages/McpServer.razor
rename to src/Utilities/BlazeDb/Demo/Client/Pages/McpServer.razor
diff --git a/src/BlazeDb/Demo/Client/Pages/NotFound.razor b/src/Utilities/BlazeDb/Demo/Client/Pages/NotFound.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Pages/NotFound.razor
rename to src/Utilities/BlazeDb/Demo/Client/Pages/NotFound.razor
diff --git a/src/BlazeDb/Demo/Client/Pages/Queries.razor b/src/Utilities/BlazeDb/Demo/Client/Pages/Queries.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Pages/Queries.razor
rename to src/Utilities/BlazeDb/Demo/Client/Pages/Queries.razor
diff --git a/src/BlazeDb/Demo/Client/Pages/Roadmap.razor b/src/Utilities/BlazeDb/Demo/Client/Pages/Roadmap.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Pages/Roadmap.razor
rename to src/Utilities/BlazeDb/Demo/Client/Pages/Roadmap.razor
diff --git a/src/BlazeDb/Demo/Client/Pages/Schema.razor b/src/Utilities/BlazeDb/Demo/Client/Pages/Schema.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Pages/Schema.razor
rename to src/Utilities/BlazeDb/Demo/Client/Pages/Schema.razor
diff --git a/src/BlazeDb/Demo/Client/Pages/StorageBackends.razor b/src/Utilities/BlazeDb/Demo/Client/Pages/StorageBackends.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Pages/StorageBackends.razor
rename to src/Utilities/BlazeDb/Demo/Client/Pages/StorageBackends.razor
diff --git a/src/BlazeDb/Demo/Client/Pages/Todos.razor b/src/Utilities/BlazeDb/Demo/Client/Pages/Todos.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Pages/Todos.razor
rename to src/Utilities/BlazeDb/Demo/Client/Pages/Todos.razor
diff --git a/src/BlazeDb/Demo/Client/Pages/Transactions.razor b/src/Utilities/BlazeDb/Demo/Client/Pages/Transactions.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Pages/Transactions.razor
rename to src/Utilities/BlazeDb/Demo/Client/Pages/Transactions.razor
diff --git a/src/BlazeDb/Demo/Client/Pages/WireFormat.razor b/src/Utilities/BlazeDb/Demo/Client/Pages/WireFormat.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Pages/WireFormat.razor
rename to src/Utilities/BlazeDb/Demo/Client/Pages/WireFormat.razor
diff --git a/src/BlazeDb/Demo/Client/Program.cs b/src/Utilities/BlazeDb/Demo/Client/Program.cs
similarity index 100%
rename from src/BlazeDb/Demo/Client/Program.cs
rename to src/Utilities/BlazeDb/Demo/Client/Program.cs
diff --git a/src/BlazeDb/Demo/Client/Routes.razor b/src/Utilities/BlazeDb/Demo/Client/Routes.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/Routes.razor
rename to src/Utilities/BlazeDb/Demo/Client/Routes.razor
diff --git a/src/BlazeDb/Demo/Client/_Imports.razor b/src/Utilities/BlazeDb/Demo/Client/_Imports.razor
similarity index 100%
rename from src/BlazeDb/Demo/Client/_Imports.razor
rename to src/Utilities/BlazeDb/Demo/Client/_Imports.razor
diff --git a/src/BlazeDb/Demo/Client/wwwroot/js/app.js b/src/Utilities/BlazeDb/Demo/Client/wwwroot/js/app.js
similarity index 100%
rename from src/BlazeDb/Demo/Client/wwwroot/js/app.js
rename to src/Utilities/BlazeDb/Demo/Client/wwwroot/js/app.js
diff --git a/src/BlazeDb/Demo/Server/Bit.BlazeDb.Demo.Server.csproj b/src/Utilities/BlazeDb/Demo/Server/Bit.BlazeDb.Demo.Server.csproj
similarity index 100%
rename from src/BlazeDb/Demo/Server/Bit.BlazeDb.Demo.Server.csproj
rename to src/Utilities/BlazeDb/Demo/Server/Bit.BlazeDb.Demo.Server.csproj
diff --git a/src/BlazeDb/Demo/Server/Components/App.razor b/src/Utilities/BlazeDb/Demo/Server/Components/App.razor
similarity index 100%
rename from src/BlazeDb/Demo/Server/Components/App.razor
rename to src/Utilities/BlazeDb/Demo/Server/Components/App.razor
diff --git a/src/BlazeDb/Demo/Server/Components/Pages/Error.razor b/src/Utilities/BlazeDb/Demo/Server/Components/Pages/Error.razor
similarity index 100%
rename from src/BlazeDb/Demo/Server/Components/Pages/Error.razor
rename to src/Utilities/BlazeDb/Demo/Server/Components/Pages/Error.razor
diff --git a/src/BlazeDb/Demo/Server/Components/_Imports.razor b/src/Utilities/BlazeDb/Demo/Server/Components/_Imports.razor
similarity index 100%
rename from src/BlazeDb/Demo/Server/Components/_Imports.razor
rename to src/Utilities/BlazeDb/Demo/Server/Components/_Imports.razor
diff --git a/src/BlazeDb/Demo/Server/Controllers/McpController.cs b/src/Utilities/BlazeDb/Demo/Server/Controllers/McpController.cs
similarity index 100%
rename from src/BlazeDb/Demo/Server/Controllers/McpController.cs
rename to src/Utilities/BlazeDb/Demo/Server/Controllers/McpController.cs
diff --git a/src/BlazeDb/Demo/Server/Controllers/McpPrompts.cs b/src/Utilities/BlazeDb/Demo/Server/Controllers/McpPrompts.cs
similarity index 100%
rename from src/BlazeDb/Demo/Server/Controllers/McpPrompts.cs
rename to src/Utilities/BlazeDb/Demo/Server/Controllers/McpPrompts.cs
diff --git a/src/BlazeDb/Demo/Server/Controllers/McpResources.cs b/src/Utilities/BlazeDb/Demo/Server/Controllers/McpResources.cs
similarity index 100%
rename from src/BlazeDb/Demo/Server/Controllers/McpResources.cs
rename to src/Utilities/BlazeDb/Demo/Server/Controllers/McpResources.cs
diff --git a/src/BlazeDb/Demo/Server/Dtos/BlazeDbMcpDtos.cs b/src/Utilities/BlazeDb/Demo/Server/Dtos/BlazeDbMcpDtos.cs
similarity index 100%
rename from src/BlazeDb/Demo/Server/Dtos/BlazeDbMcpDtos.cs
rename to src/Utilities/BlazeDb/Demo/Server/Dtos/BlazeDbMcpDtos.cs
diff --git a/src/BlazeDb/Demo/Server/Program.cs b/src/Utilities/BlazeDb/Demo/Server/Program.cs
similarity index 99%
rename from src/BlazeDb/Demo/Server/Program.cs
rename to src/Utilities/BlazeDb/Demo/Server/Program.cs
index a5691515db6..794bc3ba14c 100644
--- a/src/BlazeDb/Demo/Server/Program.cs
+++ b/src/Utilities/BlazeDb/Demo/Server/Program.cs
@@ -33,7 +33,7 @@
Title = "Bit.BlazeDb",
Version = BlazeDbServerInstructions.BlazeDbVersion,
Description = "Documentation, public API, setup guides, generator diagnostics and table inspection for Bit.BlazeDb, the memory-first embedded database for Blazor.",
- WebsiteUrl = "https://github.com/bitfoundation/bitplatform/tree/develop/src/BlazeDb"
+ WebsiteUrl = "https://github.com/bitfoundation/bitplatform/tree/develop/src/Utilities/BlazeDb"
};
// Returned from `initialize` and put in front of the model before it has called anything.
diff --git a/src/BlazeDb/Demo/Server/Properties/launchSettings.json b/src/Utilities/BlazeDb/Demo/Server/Properties/launchSettings.json
similarity index 100%
rename from src/BlazeDb/Demo/Server/Properties/launchSettings.json
rename to src/Utilities/BlazeDb/Demo/Server/Properties/launchSettings.json
diff --git a/src/BlazeDb/Demo/Server/Services/BlazeDbApiCatalog.cs b/src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbApiCatalog.cs
similarity index 100%
rename from src/BlazeDb/Demo/Server/Services/BlazeDbApiCatalog.cs
rename to src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbApiCatalog.cs
diff --git a/src/BlazeDb/Demo/Server/Services/BlazeDbCompletions.cs b/src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbCompletions.cs
similarity index 100%
rename from src/BlazeDb/Demo/Server/Services/BlazeDbCompletions.cs
rename to src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbCompletions.cs
diff --git a/src/BlazeDb/Demo/Server/Services/BlazeDbDiagnosticsReference.cs b/src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbDiagnosticsReference.cs
similarity index 100%
rename from src/BlazeDb/Demo/Server/Services/BlazeDbDiagnosticsReference.cs
rename to src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbDiagnosticsReference.cs
diff --git a/src/BlazeDb/Demo/Server/Services/BlazeDbSearchIndex.cs b/src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbSearchIndex.cs
similarity index 100%
rename from src/BlazeDb/Demo/Server/Services/BlazeDbSearchIndex.cs
rename to src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbSearchIndex.cs
diff --git a/src/BlazeDb/Demo/Server/Services/BlazeDbServerInstructions.cs b/src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbServerInstructions.cs
similarity index 100%
rename from src/BlazeDb/Demo/Server/Services/BlazeDbServerInstructions.cs
rename to src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbServerInstructions.cs
diff --git a/src/BlazeDb/Demo/Server/Services/BlazeDbSetupGuide.cs b/src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbSetupGuide.cs
similarity index 100%
rename from src/BlazeDb/Demo/Server/Services/BlazeDbSetupGuide.cs
rename to src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbSetupGuide.cs
diff --git a/src/BlazeDb/Demo/Server/Services/BlazeDbSourceCatalog.cs b/src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbSourceCatalog.cs
similarity index 100%
rename from src/BlazeDb/Demo/Server/Services/BlazeDbSourceCatalog.cs
rename to src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbSourceCatalog.cs
diff --git a/src/BlazeDb/Demo/Server/Services/BlazeDbTableInspector.cs b/src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbTableInspector.cs
similarity index 100%
rename from src/BlazeDb/Demo/Server/Services/BlazeDbTableInspector.cs
rename to src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbTableInspector.cs
diff --git a/src/BlazeDb/Demo/Server/Services/BlazeDbXmlDocs.cs b/src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbXmlDocs.cs
similarity index 100%
rename from src/BlazeDb/Demo/Server/Services/BlazeDbXmlDocs.cs
rename to src/Utilities/BlazeDb/Demo/Server/Services/BlazeDbXmlDocs.cs
diff --git a/src/BlazeDb/Demo/Server/appsettings.json b/src/Utilities/BlazeDb/Demo/Server/appsettings.json
similarity index 100%
rename from src/BlazeDb/Demo/Server/appsettings.json
rename to src/Utilities/BlazeDb/Demo/Server/appsettings.json
diff --git a/src/BlazeDb/Demo/Server/wwwroot/app.css b/src/Utilities/BlazeDb/Demo/Server/wwwroot/app.css
similarity index 100%
rename from src/BlazeDb/Demo/Server/wwwroot/app.css
rename to src/Utilities/BlazeDb/Demo/Server/wwwroot/app.css
diff --git a/src/BlazeDb/Demo/Server/wwwroot/favicon.svg b/src/Utilities/BlazeDb/Demo/Server/wwwroot/favicon.svg
similarity index 100%
rename from src/BlazeDb/Demo/Server/wwwroot/favicon.svg
rename to src/Utilities/BlazeDb/Demo/Server/wwwroot/favicon.svg
diff --git a/src/BlazeDb/README.md b/src/Utilities/BlazeDb/README.md
similarity index 100%
rename from src/BlazeDb/README.md
rename to src/Utilities/BlazeDb/README.md
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/BenchModels.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/BenchModels.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/BenchModels.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/BenchModels.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/Bit.BlazeDb.Benchmarks.csproj b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/Bit.BlazeDb.Benchmarks.csproj
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/Bit.BlazeDb.Benchmarks.csproj
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/Bit.BlazeDb.Benchmarks.csproj
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/EfCoreBenchmarks.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/EfCoreBenchmarks.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/EfCoreBenchmarks.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/EfCoreBenchmarks.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/Program.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/Program.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/Program.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/Program.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/README.md b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/README.md
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/README.md
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/README.md
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/ReadBenchmarks.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/ReadBenchmarks.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/ReadBenchmarks.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/ReadBenchmarks.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/WriteBenchmarks.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/WriteBenchmarks.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/WriteBenchmarks.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Benchmarks/WriteBenchmarks.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/AssemblySetup.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/AssemblySetup.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/AssemblySetup.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/AssemblySetup.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Bit.BlazeDb.Tests.E2E.csproj b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Bit.BlazeDb.Tests.E2E.csproj
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Bit.BlazeDb.Tests.E2E.csproj
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Bit.BlazeDb.Tests.E2E.csproj
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/BrowserModuleTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/BrowserModuleTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/BrowserModuleTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/BrowserModuleTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/DemoPageTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/DemoPageTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/DemoPageTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/DemoPageTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/BlazeDbTest.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/BlazeDbTest.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/BlazeDbTest.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/BlazeDbTest.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/ChildProcess.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/ChildProcess.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/ChildProcess.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/ChildProcess.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/DemoHost.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/DemoHost.cs
similarity index 94%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/DemoHost.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/DemoHost.cs
index 098ecca0208..39e7af6dad1 100644
--- a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/DemoHost.cs
+++ b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/DemoHost.cs
@@ -28,7 +28,7 @@ public static async Task StartAsync()
if (File.Exists(assembly) is false)
throw new FileNotFoundException(
$"The demo server has not been built in the {E2EEnvironment.Configuration} configuration. Build it first with " +
- $"'dotnet build src/BlazeDb/Demo/Server/Bit.BlazeDb.Demo.Server.csproj -c {E2EEnvironment.Configuration}'", assembly);
+ $"'dotnet build src/Utilities/BlazeDb/Demo/Server/Bit.BlazeDb.Demo.Server.csproj -c {E2EEnvironment.Configuration}'", assembly);
// localhost rather than 127.0.0.1: OPFS, Web Locks and WebCrypto exist only in a secure context, and a
// browser treats http://localhost as one but not every loopback address spelled as an IP.
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/E2EEnvironment.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/E2EEnvironment.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/E2EEnvironment.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/E2EEnvironment.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/PlaywrightSession.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/PlaywrightSession.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/PlaywrightSession.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/PlaywrightSession.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/RepoLayout.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/RepoLayout.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/RepoLayout.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Infrastructure/RepoLayout.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/PersistenceTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/PersistenceTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/PersistenceTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/PersistenceTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/README.md b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/README.md
similarity index 89%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/README.md
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/README.md
index cbf97ba7829..2eb42ed105c 100644
--- a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/README.md
+++ b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/README.md
@@ -28,7 +28,7 @@ until the demo database is open - `data-storage` on the shell turns from `Openin
## Running locally
-From `src/BlazeDb` (inside `src`, so `src/global.json` selects the Microsoft.Testing.Platform runner):
+From `src/Utilities/BlazeDb` (inside `src`, so `src/global.json` selects the Microsoft.Testing.Platform runner):
```bash
# The suite runs the demo server's build output: build it first, in the configuration the tests run in.
@@ -48,10 +48,10 @@ dotnet test --filter "FullyQualifiedName~survives_a_reload"
CI does the same in Release in `.github/workflows/bit.ci.BlazeDb.e2e.yml`, which only runs when started by hand (Actions > "bit platform CI - BlazeDb E2E" > Run workflow). The pull-request pipeline, `bit.ci.BlazeDb.yml`, runs the build, engine, EF Core provider and MCP tests only:
```bash
-dotnet build src/BlazeDb/Demo/Server/Bit.BlazeDb.Demo.Server.csproj -c Release
-dotnet build src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Bit.BlazeDb.Tests.E2E.csproj -c Release
-pwsh src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/bin/Release/net10.0/playwright.ps1 install --with-deps chromium
-cd src/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E && dotnet test -c Release --no-build --report-trx --report-trx-filename blazedb-e2e.trx
+dotnet build src/Utilities/BlazeDb/Demo/Server/Bit.BlazeDb.Demo.Server.csproj -c Release
+dotnet build src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/Bit.BlazeDb.Tests.E2E.csproj -c Release
+pwsh src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E/bin/Release/net10.0/playwright.ps1 install --with-deps chromium
+cd src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.E2E && dotnet test -c Release --no-build --report-trx --report-trx-filename blazedb-e2e.trx
```
Without PowerShell 7, the browser can be installed with the Node.js runtime Playwright ships:
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/Bit.BlazeDb.Tests.Mcp.csproj b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/Bit.BlazeDb.Tests.Mcp.csproj
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/Bit.BlazeDb.Tests.Mcp.csproj
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/Bit.BlazeDb.Tests.Mcp.csproj
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpCall.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpCall.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpCall.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpCall.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpInspectorTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpInspectorTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpInspectorTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpInspectorTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpOracleTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpOracleTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpOracleTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpOracleTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpResourcePromptTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpResourcePromptTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpResourcePromptTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpResourcePromptTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpSearchTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpSearchTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpSearchTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpSearchTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpSurfaceTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpSurfaceTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpSurfaceTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpSurfaceTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpTestHost.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpTestHost.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpTestHost.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpTestHost.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpToolTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpToolTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpToolTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/McpToolTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/Models/InspectedModels.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/Models/InspectedModels.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/Models/InspectedModels.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/Models/InspectedModels.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/README.md b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/README.md
similarity index 97%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/README.md
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/README.md
index a9a672119aa..8facf367d1e 100644
--- a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/README.md
+++ b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/README.md
@@ -4,7 +4,7 @@ Tests for the **MCP server** the BlazeDb demo hosts at `/mcp`
(`Demo/Server/Controllers/McpController.cs` and the services behind it).
```bash
-cd src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp
+cd src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp
dotnet test
```
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/ToolNames.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/ToolNames.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/ToolNames.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests.Mcp/ToolNames.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/Bit.BlazeDb.Tests.csproj b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/Bit.BlazeDb.Tests.csproj
similarity index 93%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/Bit.BlazeDb.Tests.csproj
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/Bit.BlazeDb.Tests.csproj
index d5ac4e81e60..583670bfcfd 100644
--- a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/Bit.BlazeDb.Tests.csproj
+++ b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/Bit.BlazeDb.Tests.csproj
@@ -13,7 +13,7 @@
true
- ..\..\..\AssemblyOriginatorKeyFile.snk
+ ..\..\..\..\AssemblyOriginatorKeyFile.snk
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/ChecksumTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/ChecksumTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/ChecksumTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/ChecksumTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/CommitFailureTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/CommitFailureTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/CommitFailureTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/CommitFailureTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/ConstraintTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/ConstraintTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/ConstraintTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/ConstraintTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/DurabilityTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/DurabilityTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/DurabilityTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/DurabilityTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/EncryptionTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EncryptionTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/EncryptionTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EncryptionTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/DbContextApiTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/DbContextApiTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/DbContextApiTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/DbContextApiTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/EfCoreFixture.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/EfCoreFixture.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/EfCoreFixture.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/EfCoreFixture.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/IndexExactnessTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/IndexExactnessTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/IndexExactnessTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/IndexExactnessTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/IndexSelectionTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/IndexSelectionTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/IndexSelectionTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/IndexSelectionTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/Model.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/Model.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/Model.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/Model.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/QueryTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/QueryTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/QueryTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/QueryTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/SaveChangesTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/SaveChangesTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/SaveChangesTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/SaveChangesTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/SharedStoreTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/SharedStoreTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/SharedStoreTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/EntityFrameworkCore/SharedStoreTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/GeneratedModels.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/GeneratedModels.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/GeneratedModels.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/GeneratedModels.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/GlobalUsings.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/GlobalUsings.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/GlobalUsings.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/GlobalUsings.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/InPlaceWriteTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/InPlaceWriteTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/InPlaceWriteTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/InPlaceWriteTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/QueryTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/QueryTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/QueryTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/QueryTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/QuotaTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/QuotaTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/QuotaTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/QuotaTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/ReplicaTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/ReplicaTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/ReplicaTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/ReplicaTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/SchemaEvolutionTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/SchemaEvolutionTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/SchemaEvolutionTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/SchemaEvolutionTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/SerializationTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/SerializationTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/SerializationTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/SerializationTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/SourceGeneratorTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/SourceGeneratorTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/SourceGeneratorTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/SourceGeneratorTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/StreamingQueryTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/StreamingQueryTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/StreamingQueryTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/StreamingQueryTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/TableCrudTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/TableCrudTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/TableCrudTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/TableCrudTests.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/TestModels.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/TestModels.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/TestModels.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/TestModels.cs
diff --git a/src/BlazeDb/Tests/Bit.BlazeDb.Tests/TransactionTests.cs b/src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/TransactionTests.cs
similarity index 100%
rename from src/BlazeDb/Tests/Bit.BlazeDb.Tests/TransactionTests.cs
rename to src/Utilities/BlazeDb/Tests/Bit.BlazeDb.Tests/TransactionTests.cs
diff --git a/src/Blex/Bit.Blex.Blazor/Bit.Blex.Blazor.csproj b/src/Utilities/Blex/Bit.Blex.Blazor/Bit.Blex.Blazor.csproj
similarity index 99%
rename from src/Blex/Bit.Blex.Blazor/Bit.Blex.Blazor.csproj
rename to src/Utilities/Blex/Bit.Blex.Blazor/Bit.Blex.Blazor.csproj
index bdd3940aa20..f58b8903dab 100644
--- a/src/Blex/Bit.Blex.Blazor/Bit.Blex.Blazor.csproj
+++ b/src/Utilities/Blex/Bit.Blex.Blazor/Bit.Blex.Blazor.csproj
@@ -1,6 +1,6 @@
-
+ net10.0;net9.0;net8.0
diff --git a/src/Blex/Bit.Blex.Blazor/BitBlexBlazor.cs b/src/Utilities/Blex/Bit.Blex.Blazor/BitBlexBlazor.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Blazor/BitBlexBlazor.cs
rename to src/Utilities/Blex/Bit.Blex.Blazor/BitBlexBlazor.cs
diff --git a/src/Blex/Bit.Blex.Blazor/BlexBrowserStorage.cs b/src/Utilities/Blex/Bit.Blex.Blazor/BlexBrowserStorage.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Blazor/BlexBrowserStorage.cs
rename to src/Utilities/Blex/Bit.Blex.Blazor/BlexBrowserStorage.cs
diff --git a/src/Blex/Bit.Blex.Blazor/BlexBrowserStorageKind.cs b/src/Utilities/Blex/Bit.Blex.Blazor/BlexBrowserStorageKind.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Blazor/BlexBrowserStorageKind.cs
rename to src/Utilities/Blex/Bit.Blex.Blazor/BlexBrowserStorageKind.cs
diff --git a/src/Blex/Bit.Blex.Blazor/BlexComponentBase.cs b/src/Utilities/Blex/Bit.Blex.Blazor/BlexComponentBase.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Blazor/BlexComponentBase.cs
rename to src/Utilities/Blex/Bit.Blex.Blazor/BlexComponentBase.cs
diff --git a/src/Blex/Bit.Blex.Blazor/BlexComponentStatePersistence.cs b/src/Utilities/Blex/Bit.Blex.Blazor/BlexComponentStatePersistence.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Blazor/BlexComponentStatePersistence.cs
rename to src/Utilities/Blex/Bit.Blex.Blazor/BlexComponentStatePersistence.cs
diff --git a/src/Blex/Bit.Blex.Blazor/BlexProvider.cs b/src/Utilities/Blex/Bit.Blex.Blazor/BlexProvider.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Blazor/BlexProvider.cs
rename to src/Utilities/Blex/Bit.Blex.Blazor/BlexProvider.cs
diff --git a/src/Blex/Bit.Blex.Blazor/BlexReduxDevToolsConnector.cs b/src/Utilities/Blex/Bit.Blex.Blazor/BlexReduxDevToolsConnector.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Blazor/BlexReduxDevToolsConnector.cs
rename to src/Utilities/Blex/Bit.Blex.Blazor/BlexReduxDevToolsConnector.cs
diff --git a/src/Blex/Bit.Blex.Blazor/Scripts/bit-blex-devtools.ts b/src/Utilities/Blex/Bit.Blex.Blazor/Scripts/bit-blex-devtools.ts
similarity index 100%
rename from src/Blex/Bit.Blex.Blazor/Scripts/bit-blex-devtools.ts
rename to src/Utilities/Blex/Bit.Blex.Blazor/Scripts/bit-blex-devtools.ts
diff --git a/src/Blex/Bit.Blex.Blazor/Scripts/bit-blex-storage.ts b/src/Utilities/Blex/Bit.Blex.Blazor/Scripts/bit-blex-storage.ts
similarity index 100%
rename from src/Blex/Bit.Blex.Blazor/Scripts/bit-blex-storage.ts
rename to src/Utilities/Blex/Bit.Blex.Blazor/Scripts/bit-blex-storage.ts
diff --git a/src/Blex/Bit.Blex.Blazor/package-lock.json b/src/Utilities/Blex/Bit.Blex.Blazor/package-lock.json
similarity index 100%
rename from src/Blex/Bit.Blex.Blazor/package-lock.json
rename to src/Utilities/Blex/Bit.Blex.Blazor/package-lock.json
diff --git a/src/Blex/Bit.Blex.Blazor/package.json b/src/Utilities/Blex/Bit.Blex.Blazor/package.json
similarity index 100%
rename from src/Blex/Bit.Blex.Blazor/package.json
rename to src/Utilities/Blex/Bit.Blex.Blazor/package.json
diff --git a/src/Blex/Bit.Blex.Blazor/tsconfig.json b/src/Utilities/Blex/Bit.Blex.Blazor/tsconfig.json
similarity index 100%
rename from src/Blex/Bit.Blex.Blazor/tsconfig.json
rename to src/Utilities/Blex/Bit.Blex.Blazor/tsconfig.json
diff --git a/src/Blex/Bit.Blex.Generators/AnalyzerReleases.Shipped.md b/src/Utilities/Blex/Bit.Blex.Generators/AnalyzerReleases.Shipped.md
similarity index 100%
rename from src/Blex/Bit.Blex.Generators/AnalyzerReleases.Shipped.md
rename to src/Utilities/Blex/Bit.Blex.Generators/AnalyzerReleases.Shipped.md
diff --git a/src/Blex/Bit.Blex.Generators/AnalyzerReleases.Unshipped.md b/src/Utilities/Blex/Bit.Blex.Generators/AnalyzerReleases.Unshipped.md
similarity index 100%
rename from src/Blex/Bit.Blex.Generators/AnalyzerReleases.Unshipped.md
rename to src/Utilities/Blex/Bit.Blex.Generators/AnalyzerReleases.Unshipped.md
diff --git a/src/Blex/Bit.Blex.Generators/Bit.Blex.Generators.csproj b/src/Utilities/Blex/Bit.Blex.Generators/Bit.Blex.Generators.csproj
similarity index 98%
rename from src/Blex/Bit.Blex.Generators/Bit.Blex.Generators.csproj
rename to src/Utilities/Blex/Bit.Blex.Generators/Bit.Blex.Generators.csproj
index b815714dde9..714a4d8c60c 100644
--- a/src/Blex/Bit.Blex.Generators/Bit.Blex.Generators.csproj
+++ b/src/Utilities/Blex/Bit.Blex.Generators/Bit.Blex.Generators.csproj
@@ -1,6 +1,6 @@
-
+ netstandard2.0
diff --git a/src/Blex/Bit.Blex.Generators/BlexActionModel.cs b/src/Utilities/Blex/Bit.Blex.Generators/BlexActionModel.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Generators/BlexActionModel.cs
rename to src/Utilities/Blex/Bit.Blex.Generators/BlexActionModel.cs
diff --git a/src/Blex/Bit.Blex.Generators/BlexComputedModel.cs b/src/Utilities/Blex/Bit.Blex.Generators/BlexComputedModel.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Generators/BlexComputedModel.cs
rename to src/Utilities/Blex/Bit.Blex.Generators/BlexComputedModel.cs
diff --git a/src/Blex/Bit.Blex.Generators/BlexDiagnosticInfo.cs b/src/Utilities/Blex/Bit.Blex.Generators/BlexDiagnosticInfo.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Generators/BlexDiagnosticInfo.cs
rename to src/Utilities/Blex/Bit.Blex.Generators/BlexDiagnosticInfo.cs
diff --git a/src/Blex/Bit.Blex.Generators/BlexEffectModel.cs b/src/Utilities/Blex/Bit.Blex.Generators/BlexEffectModel.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Generators/BlexEffectModel.cs
rename to src/Utilities/Blex/Bit.Blex.Generators/BlexEffectModel.cs
diff --git a/src/Blex/Bit.Blex.Generators/BlexEquatableArray.cs b/src/Utilities/Blex/Bit.Blex.Generators/BlexEquatableArray.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Generators/BlexEquatableArray.cs
rename to src/Utilities/Blex/Bit.Blex.Generators/BlexEquatableArray.cs
diff --git a/src/Blex/Bit.Blex.Generators/BlexGenerator.cs b/src/Utilities/Blex/Bit.Blex.Generators/BlexGenerator.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Generators/BlexGenerator.cs
rename to src/Utilities/Blex/Bit.Blex.Generators/BlexGenerator.cs
diff --git a/src/Blex/Bit.Blex.Generators/BlexLocationInfo.cs b/src/Utilities/Blex/Bit.Blex.Generators/BlexLocationInfo.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Generators/BlexLocationInfo.cs
rename to src/Utilities/Blex/Bit.Blex.Generators/BlexLocationInfo.cs
diff --git a/src/Blex/Bit.Blex.Generators/BlexParamModel.cs b/src/Utilities/Blex/Bit.Blex.Generators/BlexParamModel.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Generators/BlexParamModel.cs
rename to src/Utilities/Blex/Bit.Blex.Generators/BlexParamModel.cs
diff --git a/src/Blex/Bit.Blex.Generators/BlexStateModel.cs b/src/Utilities/Blex/Bit.Blex.Generators/BlexStateModel.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Generators/BlexStateModel.cs
rename to src/Utilities/Blex/Bit.Blex.Generators/BlexStateModel.cs
diff --git a/src/Blex/Bit.Blex.Generators/BlexStoreModel.cs b/src/Utilities/Blex/Bit.Blex.Generators/BlexStoreModel.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Generators/BlexStoreModel.cs
rename to src/Utilities/Blex/Bit.Blex.Generators/BlexStoreModel.cs
diff --git a/src/Blex/Bit.Blex.Generators/BlexTransformOutput.cs b/src/Utilities/Blex/Bit.Blex.Generators/BlexTransformOutput.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Generators/BlexTransformOutput.cs
rename to src/Utilities/Blex/Bit.Blex.Generators/BlexTransformOutput.cs
diff --git a/src/Blex/Bit.Blex.Generators/IsExternalInit.cs b/src/Utilities/Blex/Bit.Blex.Generators/IsExternalInit.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Generators/IsExternalInit.cs
rename to src/Utilities/Blex/Bit.Blex.Generators/IsExternalInit.cs
diff --git a/src/Blex/Bit.Blex.Maui/Bit.Blex.Maui.csproj b/src/Utilities/Blex/Bit.Blex.Maui/Bit.Blex.Maui.csproj
similarity index 97%
rename from src/Blex/Bit.Blex.Maui/Bit.Blex.Maui.csproj
rename to src/Utilities/Blex/Bit.Blex.Maui/Bit.Blex.Maui.csproj
index 187e3ba06da..28244ce04de 100644
--- a/src/Blex/Bit.Blex.Maui/Bit.Blex.Maui.csproj
+++ b/src/Utilities/Blex/Bit.Blex.Maui/Bit.Blex.Maui.csproj
@@ -1,6 +1,6 @@
-
+ net10.0;net9.0;net8.0
diff --git a/src/Blex/Bit.Blex.Maui/BitBlexMaui.cs b/src/Utilities/Blex/Bit.Blex.Maui/BitBlexMaui.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Maui/BitBlexMaui.cs
rename to src/Utilities/Blex/Bit.Blex.Maui/BitBlexMaui.cs
diff --git a/src/Blex/Bit.Blex.Maui/BlexMauiInitializer.cs b/src/Utilities/Blex/Bit.Blex.Maui/BlexMauiInitializer.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Maui/BlexMauiInitializer.cs
rename to src/Utilities/Blex/Bit.Blex.Maui/BlexMauiInitializer.cs
diff --git a/src/Blex/Bit.Blex.Maui/BlexPreferencesStorage.cs b/src/Utilities/Blex/Bit.Blex.Maui/BlexPreferencesStorage.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Maui/BlexPreferencesStorage.cs
rename to src/Utilities/Blex/Bit.Blex.Maui/BlexPreferencesStorage.cs
diff --git a/src/Blex/Bit.Blex.Testing/Bit.Blex.Testing.csproj b/src/Utilities/Blex/Bit.Blex.Testing/Bit.Blex.Testing.csproj
similarity index 94%
rename from src/Blex/Bit.Blex.Testing/Bit.Blex.Testing.csproj
rename to src/Utilities/Blex/Bit.Blex.Testing/Bit.Blex.Testing.csproj
index 3a89b9892b4..f94921f1411 100644
--- a/src/Blex/Bit.Blex.Testing/Bit.Blex.Testing.csproj
+++ b/src/Utilities/Blex/Bit.Blex.Testing/Bit.Blex.Testing.csproj
@@ -1,6 +1,6 @@
-
+ net10.0;net9.0;net8.0
diff --git a/src/Blex/Bit.Blex.Testing/BlexActionLog.cs b/src/Utilities/Blex/Bit.Blex.Testing/BlexActionLog.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Testing/BlexActionLog.cs
rename to src/Utilities/Blex/Bit.Blex.Testing/BlexActionLog.cs
diff --git a/src/Blex/Bit.Blex.Testing/BlexRecordedAction.cs b/src/Utilities/Blex/Bit.Blex.Testing/BlexRecordedAction.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Testing/BlexRecordedAction.cs
rename to src/Utilities/Blex/Bit.Blex.Testing/BlexRecordedAction.cs
diff --git a/src/Blex/Bit.Blex.Testing/BlexTestExtensions.cs b/src/Utilities/Blex/Bit.Blex.Testing/BlexTestExtensions.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Testing/BlexTestExtensions.cs
rename to src/Utilities/Blex/Bit.Blex.Testing/BlexTestExtensions.cs
diff --git a/src/Blex/Bit.Blex.Testing/BlexTestHarness.Factory.cs b/src/Utilities/Blex/Bit.Blex.Testing/BlexTestHarness.Factory.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Testing/BlexTestHarness.Factory.cs
rename to src/Utilities/Blex/Bit.Blex.Testing/BlexTestHarness.Factory.cs
diff --git a/src/Blex/Bit.Blex.Testing/BlexTestHarness.cs b/src/Utilities/Blex/Bit.Blex.Testing/BlexTestHarness.cs
similarity index 100%
rename from src/Blex/Bit.Blex.Testing/BlexTestHarness.cs
rename to src/Utilities/Blex/Bit.Blex.Testing/BlexTestHarness.cs
diff --git a/src/Blex/Bit.Blex.slnx b/src/Utilities/Blex/Bit.Blex.slnx
similarity index 90%
rename from src/Blex/Bit.Blex.slnx
rename to src/Utilities/Blex/Bit.Blex.slnx
index 3a815ccf8f9..ffc3f0d5f47 100644
--- a/src/Blex/Bit.Blex.slnx
+++ b/src/Utilities/Blex/Bit.Blex.slnx
@@ -1,9 +1,9 @@
-
-
-
-
+
+
+
+
diff --git a/src/Blex/Bit.Blex/Bit.Blex.csproj b/src/Utilities/Blex/Bit.Blex/Bit.Blex.csproj
similarity index 98%
rename from src/Blex/Bit.Blex/Bit.Blex.csproj
rename to src/Utilities/Blex/Bit.Blex/Bit.Blex.csproj
index 8c94c1e6355..5d062077c13 100644
--- a/src/Blex/Bit.Blex/Bit.Blex.csproj
+++ b/src/Utilities/Blex/Bit.Blex/Bit.Blex.csproj
@@ -1,6 +1,6 @@
-
+ net10.0;net9.0;net8.0
diff --git a/src/Blex/Bit.Blex/BitBlex.cs b/src/Utilities/Blex/Bit.Blex/BitBlex.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BitBlex.cs
rename to src/Utilities/Blex/Bit.Blex/BitBlex.cs
diff --git a/src/Blex/Bit.Blex/BlexActionArg.cs b/src/Utilities/Blex/Bit.Blex/BlexActionArg.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexActionArg.cs
rename to src/Utilities/Blex/Bit.Blex/BlexActionArg.cs
diff --git a/src/Blex/Bit.Blex/BlexActionAttribute.cs b/src/Utilities/Blex/Bit.Blex/BlexActionAttribute.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexActionAttribute.cs
rename to src/Utilities/Blex/Bit.Blex/BlexActionAttribute.cs
diff --git a/src/Blex/Bit.Blex/BlexActionContext.cs b/src/Utilities/Blex/Bit.Blex/BlexActionContext.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexActionContext.cs
rename to src/Utilities/Blex/Bit.Blex/BlexActionContext.cs
diff --git a/src/Blex/Bit.Blex/BlexActionErrorContext.cs b/src/Utilities/Blex/Bit.Blex/BlexActionErrorContext.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexActionErrorContext.cs
rename to src/Utilities/Blex/Bit.Blex/BlexActionErrorContext.cs
diff --git a/src/Blex/Bit.Blex/BlexComparers.cs b/src/Utilities/Blex/Bit.Blex/BlexComparers.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexComparers.cs
rename to src/Utilities/Blex/Bit.Blex/BlexComparers.cs
diff --git a/src/Blex/Bit.Blex/BlexComputedAttribute.cs b/src/Utilities/Blex/Bit.Blex/BlexComputedAttribute.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexComputedAttribute.cs
rename to src/Utilities/Blex/Bit.Blex/BlexComputedAttribute.cs
diff --git a/src/Blex/Bit.Blex/BlexDelegateMiddleware.cs b/src/Utilities/Blex/Bit.Blex/BlexDelegateMiddleware.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexDelegateMiddleware.cs
rename to src/Utilities/Blex/Bit.Blex/BlexDelegateMiddleware.cs
diff --git a/src/Blex/Bit.Blex/BlexEffectAttribute.cs b/src/Utilities/Blex/Bit.Blex/BlexEffectAttribute.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexEffectAttribute.cs
rename to src/Utilities/Blex/Bit.Blex/BlexEffectAttribute.cs
diff --git a/src/Blex/Bit.Blex/BlexEffectConcurrency.cs b/src/Utilities/Blex/Bit.Blex/BlexEffectConcurrency.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexEffectConcurrency.cs
rename to src/Utilities/Blex/Bit.Blex/BlexEffectConcurrency.cs
diff --git a/src/Blex/Bit.Blex/BlexEntityAdapter.cs b/src/Utilities/Blex/Bit.Blex/BlexEntityAdapter.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexEntityAdapter.cs
rename to src/Utilities/Blex/Bit.Blex/BlexEntityAdapter.cs
diff --git a/src/Blex/Bit.Blex/BlexEntityState.cs b/src/Utilities/Blex/Bit.Blex/BlexEntityState.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexEntityState.cs
rename to src/Utilities/Blex/Bit.Blex/BlexEntityState.cs
diff --git a/src/Blex/Bit.Blex/BlexError.cs b/src/Utilities/Blex/Bit.Blex/BlexError.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexError.cs
rename to src/Utilities/Blex/Bit.Blex/BlexError.cs
diff --git a/src/Blex/Bit.Blex/BlexFilterMiddleware.cs b/src/Utilities/Blex/Bit.Blex/BlexFilterMiddleware.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexFilterMiddleware.cs
rename to src/Utilities/Blex/Bit.Blex/BlexFilterMiddleware.cs
diff --git a/src/Blex/Bit.Blex/BlexHistory.cs b/src/Utilities/Blex/Bit.Blex/BlexHistory.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexHistory.cs
rename to src/Utilities/Blex/Bit.Blex/BlexHistory.cs
diff --git a/src/Blex/Bit.Blex/BlexJson.cs b/src/Utilities/Blex/Bit.Blex/BlexJson.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexJson.cs
rename to src/Utilities/Blex/Bit.Blex/BlexJson.cs
diff --git a/src/Blex/Bit.Blex/BlexManager.cs b/src/Utilities/Blex/Bit.Blex/BlexManager.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexManager.cs
rename to src/Utilities/Blex/Bit.Blex/BlexManager.cs
diff --git a/src/Blex/Bit.Blex/BlexOptions.cs b/src/Utilities/Blex/Bit.Blex/BlexOptions.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexOptions.cs
rename to src/Utilities/Blex/Bit.Blex/BlexOptions.cs
diff --git a/src/Blex/Bit.Blex/BlexPersistenceOptions.cs b/src/Utilities/Blex/Bit.Blex/BlexPersistenceOptions.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexPersistenceOptions.cs
rename to src/Utilities/Blex/Bit.Blex/BlexPersistenceOptions.cs
diff --git a/src/Blex/Bit.Blex/BlexPreActionContext.cs b/src/Utilities/Blex/Bit.Blex/BlexPreActionContext.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexPreActionContext.cs
rename to src/Utilities/Blex/Bit.Blex/BlexPreActionContext.cs
diff --git a/src/Blex/Bit.Blex/BlexSelector.cs b/src/Utilities/Blex/Bit.Blex/BlexSelector.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexSelector.cs
rename to src/Utilities/Blex/Bit.Blex/BlexSelector.cs
diff --git a/src/Blex/Bit.Blex/BlexStateAttribute.cs b/src/Utilities/Blex/Bit.Blex/BlexStateAttribute.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexStateAttribute.cs
rename to src/Utilities/Blex/Bit.Blex/BlexStateAttribute.cs
diff --git a/src/Blex/Bit.Blex/BlexStatePersistor.cs b/src/Utilities/Blex/Bit.Blex/BlexStatePersistor.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexStatePersistor.cs
rename to src/Utilities/Blex/Bit.Blex/BlexStatePersistor.cs
diff --git a/src/Blex/Bit.Blex/BlexStoreAttribute.cs b/src/Utilities/Blex/Bit.Blex/BlexStoreAttribute.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexStoreAttribute.cs
rename to src/Utilities/Blex/Bit.Blex/BlexStoreAttribute.cs
diff --git a/src/Blex/Bit.Blex/BlexStoreBase.cs b/src/Utilities/Blex/Bit.Blex/BlexStoreBase.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexStoreBase.cs
rename to src/Utilities/Blex/Bit.Blex/BlexStoreBase.cs
diff --git a/src/Blex/Bit.Blex/BlexStoreSubscriptionExtensions.cs b/src/Utilities/Blex/Bit.Blex/BlexStoreSubscriptionExtensions.cs
similarity index 100%
rename from src/Blex/Bit.Blex/BlexStoreSubscriptionExtensions.cs
rename to src/Utilities/Blex/Bit.Blex/BlexStoreSubscriptionExtensions.cs
diff --git a/src/Blex/Bit.Blex/IBlexDevTools.cs b/src/Utilities/Blex/Bit.Blex/IBlexDevTools.cs
similarity index 100%
rename from src/Blex/Bit.Blex/IBlexDevTools.cs
rename to src/Utilities/Blex/Bit.Blex/IBlexDevTools.cs
diff --git a/src/Blex/Bit.Blex/IBlexExternalStorageChange.cs b/src/Utilities/Blex/Bit.Blex/IBlexExternalStorageChange.cs
similarity index 100%
rename from src/Blex/Bit.Blex/IBlexExternalStorageChange.cs
rename to src/Utilities/Blex/Bit.Blex/IBlexExternalStorageChange.cs
diff --git a/src/Blex/Bit.Blex/IBlexMiddleware.cs b/src/Utilities/Blex/Bit.Blex/IBlexMiddleware.cs
similarity index 100%
rename from src/Blex/Bit.Blex/IBlexMiddleware.cs
rename to src/Utilities/Blex/Bit.Blex/IBlexMiddleware.cs
diff --git a/src/Blex/Bit.Blex/IBlexStorage.cs b/src/Utilities/Blex/Bit.Blex/IBlexStorage.cs
similarity index 100%
rename from src/Blex/Bit.Blex/IBlexStorage.cs
rename to src/Utilities/Blex/Bit.Blex/IBlexStorage.cs
diff --git a/src/Blex/Bit.Blex/IBlexStore.cs b/src/Utilities/Blex/Bit.Blex/IBlexStore.cs
similarity index 100%
rename from src/Blex/Bit.Blex/IBlexStore.cs
rename to src/Utilities/Blex/Bit.Blex/IBlexStore.cs
diff --git a/src/Blex/Bit.Blex/LockCompat.cs b/src/Utilities/Blex/Bit.Blex/LockCompat.cs
similarity index 100%
rename from src/Blex/Bit.Blex/LockCompat.cs
rename to src/Utilities/Blex/Bit.Blex/LockCompat.cs
diff --git a/src/Blex/Demo/Client/Bit.Blex.Demo.Client.csproj b/src/Utilities/Blex/Demo/Client/Bit.Blex.Demo.Client.csproj
similarity index 100%
rename from src/Blex/Demo/Client/Bit.Blex.Demo.Client.csproj
rename to src/Utilities/Blex/Demo/Client/Bit.Blex.Demo.Client.csproj
diff --git a/src/Blex/Demo/Client/Components/ApiTable.razor b/src/Utilities/Blex/Demo/Client/Components/ApiTable.razor
similarity index 100%
rename from src/Blex/Demo/Client/Components/ApiTable.razor
rename to src/Utilities/Blex/Demo/Client/Components/ApiTable.razor
diff --git a/src/Blex/Demo/Client/Components/Callout.razor b/src/Utilities/Blex/Demo/Client/Components/Callout.razor
similarity index 100%
rename from src/Blex/Demo/Client/Components/Callout.razor
rename to src/Utilities/Blex/Demo/Client/Components/Callout.razor
diff --git a/src/Blex/Demo/Client/Components/CodeBlock.razor b/src/Utilities/Blex/Demo/Client/Components/CodeBlock.razor
similarity index 100%
rename from src/Blex/Demo/Client/Components/CodeBlock.razor
rename to src/Utilities/Blex/Demo/Client/Components/CodeBlock.razor
diff --git a/src/Blex/Demo/Client/Components/CodeHighlighter.cs b/src/Utilities/Blex/Demo/Client/Components/CodeHighlighter.cs
similarity index 100%
rename from src/Blex/Demo/Client/Components/CodeHighlighter.cs
rename to src/Utilities/Blex/Demo/Client/Components/CodeHighlighter.cs
diff --git a/src/Blex/Demo/Client/Components/DemoCard.razor b/src/Utilities/Blex/Demo/Client/Components/DemoCard.razor
similarity index 100%
rename from src/Blex/Demo/Client/Components/DemoCard.razor
rename to src/Utilities/Blex/Demo/Client/Components/DemoCard.razor
diff --git a/src/Blex/Demo/Client/Components/DocPage.razor b/src/Utilities/Blex/Demo/Client/Components/DocPage.razor
similarity index 100%
rename from src/Blex/Demo/Client/Components/DocPage.razor
rename to src/Utilities/Blex/Demo/Client/Components/DocPage.razor
diff --git a/src/Blex/Demo/Client/Components/InspectorDock.razor b/src/Utilities/Blex/Demo/Client/Components/InspectorDock.razor
similarity index 100%
rename from src/Blex/Demo/Client/Components/InspectorDock.razor
rename to src/Utilities/Blex/Demo/Client/Components/InspectorDock.razor
diff --git a/src/Blex/Demo/Client/Components/SelectorWatcher.razor b/src/Utilities/Blex/Demo/Client/Components/SelectorWatcher.razor
similarity index 100%
rename from src/Blex/Demo/Client/Components/SelectorWatcher.razor
rename to src/Utilities/Blex/Demo/Client/Components/SelectorWatcher.razor
diff --git a/src/Blex/Demo/Client/Components/WholeStoreWatcher.razor b/src/Utilities/Blex/Demo/Client/Components/WholeStoreWatcher.razor
similarity index 100%
rename from src/Blex/Demo/Client/Components/WholeStoreWatcher.razor
rename to src/Utilities/Blex/Demo/Client/Components/WholeStoreWatcher.razor
diff --git a/src/Blex/Demo/Client/DiagnosticsCatalog.cs b/src/Utilities/Blex/Demo/Client/DiagnosticsCatalog.cs
similarity index 100%
rename from src/Blex/Demo/Client/DiagnosticsCatalog.cs
rename to src/Utilities/Blex/Demo/Client/DiagnosticsCatalog.cs
diff --git a/src/Blex/Demo/Client/DocsNav.cs b/src/Utilities/Blex/Demo/Client/DocsNav.cs
similarity index 100%
rename from src/Blex/Demo/Client/DocsNav.cs
rename to src/Utilities/Blex/Demo/Client/DocsNav.cs
diff --git a/src/Blex/Demo/Client/Extensions/IServiceCollectionExtensions.cs b/src/Utilities/Blex/Demo/Client/Extensions/IServiceCollectionExtensions.cs
similarity index 100%
rename from src/Blex/Demo/Client/Extensions/IServiceCollectionExtensions.cs
rename to src/Utilities/Blex/Demo/Client/Extensions/IServiceCollectionExtensions.cs
diff --git a/src/Blex/Demo/Client/Layout/DocsLayout.razor b/src/Utilities/Blex/Demo/Client/Layout/DocsLayout.razor
similarity index 96%
rename from src/Blex/Demo/Client/Layout/DocsLayout.razor
rename to src/Utilities/Blex/Demo/Client/Layout/DocsLayout.razor
index 2c4213e8a0a..97411ace3ea 100644
--- a/src/Blex/Demo/Client/Layout/DocsLayout.razor
+++ b/src/Utilities/Blex/Demo/Client/Layout/DocsLayout.razor
@@ -26,7 +26,7 @@
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Generators/DiagnosticTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Generators/DiagnosticTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Generators/DiagnosticTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Generators/DiagnosticTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Generators/EmissionTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Generators/EmissionTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Generators/EmissionTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Generators/EmissionTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Generators/GeneratorTestHelper.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Generators/GeneratorTestHelper.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Generators/GeneratorTestHelper.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Generators/GeneratorTestHelper.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/Bit.Blex.Tests.Harness.Hybrid.csproj b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/Bit.Blex.Tests.Harness.Hybrid.csproj
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/Bit.Blex.Tests.Harness.Hybrid.csproj
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/Bit.Blex.Tests.Harness.Hybrid.csproj
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/HarnessForm.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/HarnessForm.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/HarnessForm.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/HarnessForm.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/Program.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/Program.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/Program.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/Program.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/wwwroot/index.html b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/wwwroot/index.html
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/wwwroot/index.html
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Hybrid/wwwroot/index.html
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness.Web.Client/Bit.Blex.Tests.Harness.Web.Client.csproj b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web.Client/Bit.Blex.Tests.Harness.Web.Client.csproj
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness.Web.Client/Bit.Blex.Tests.Harness.Web.Client.csproj
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web.Client/Bit.Blex.Tests.Harness.Web.Client.csproj
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness.Web.Client/Program.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web.Client/Program.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness.Web.Client/Program.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web.Client/Program.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness.Web/Bit.Blex.Tests.Harness.Web.csproj b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web/Bit.Blex.Tests.Harness.Web.csproj
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness.Web/Bit.Blex.Tests.Harness.Web.csproj
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web/Bit.Blex.Tests.Harness.Web.csproj
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness.Web/Components/App.razor b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web/Components/App.razor
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness.Web/Components/App.razor
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web/Components/App.razor
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness.Web/Components/_Imports.razor b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web/Components/_Imports.razor
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness.Web/Components/_Imports.razor
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web/Components/_Imports.razor
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness.Web/HarnessRenderModes.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web/HarnessRenderModes.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness.Web/HarnessRenderModes.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web/HarnessRenderModes.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness.Web/Program.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web/Program.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness.Web/Program.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web/Program.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness.Web/Properties/launchSettings.json b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web/Properties/launchSettings.json
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness.Web/Properties/launchSettings.json
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness.Web/Properties/launchSettings.json
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness/Bit.Blex.Tests.Harness.csproj b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/Bit.Blex.Tests.Harness.csproj
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness/Bit.Blex.Tests.Harness.csproj
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/Bit.Blex.Tests.Harness.csproj
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness/HarnessApp.razor b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/HarnessApp.razor
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness/HarnessApp.razor
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/HarnessApp.razor
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness/HarnessRuntime.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/HarnessRuntime.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness/HarnessRuntime.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/HarnessRuntime.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness/HarnessServiceCollectionExtensions.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/HarnessServiceCollectionExtensions.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness/HarnessServiceCollectionExtensions.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/HarnessServiceCollectionExtensions.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness/HarnessStatus.razor b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/HarnessStatus.razor
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness/HarnessStatus.razor
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/HarnessStatus.razor
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness/Pages/EffectsPage.razor b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/Pages/EffectsPage.razor
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness/Pages/EffectsPage.razor
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/Pages/EffectsPage.razor
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness/Pages/HomePage.razor b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/Pages/HomePage.razor
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness/Pages/HomePage.razor
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/Pages/HomePage.razor
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness/Pages/NameWatcher.razor b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/Pages/NameWatcher.razor
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness/Pages/NameWatcher.razor
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/Pages/NameWatcher.razor
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness/Pages/SelectorPage.razor b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/Pages/SelectorPage.razor
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness/Pages/SelectorPage.razor
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/Pages/SelectorPage.razor
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness/Stores/HarnessStores.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/Stores/HarnessStores.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness/Stores/HarnessStores.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/Stores/HarnessStores.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness/_Imports.razor b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/_Imports.razor
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness/_Imports.razor
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/_Imports.razor
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Harness/wwwroot/harness.css b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/wwwroot/harness.css
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Harness/wwwroot/harness.css
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Harness/wwwroot/harness.css
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/Bit.Blex.Tests.Mcp.csproj b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/Bit.Blex.Tests.Mcp.csproj
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/Bit.Blex.Tests.Mcp.csproj
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/Bit.Blex.Tests.Mcp.csproj
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/HttpMirrorTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/HttpMirrorTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/HttpMirrorTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/HttpMirrorTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/McpApiToolTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpApiToolTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/McpApiToolTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpApiToolTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/McpCall.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpCall.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/McpCall.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpCall.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/McpCatalogConsistencyTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpCatalogConsistencyTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/McpCatalogConsistencyTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpCatalogConsistencyTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/McpCompletionTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpCompletionTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/McpCompletionTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpCompletionTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/McpDiagnosticsToolTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpDiagnosticsToolTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/McpDiagnosticsToolTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpDiagnosticsToolTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/McpDocumentationToolTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpDocumentationToolTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/McpDocumentationToolTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpDocumentationToolTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/McpHandshakeTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpHandshakeTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/McpHandshakeTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpHandshakeTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/McpInspectStoreTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpInspectStoreTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/McpInspectStoreTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpInspectStoreTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/McpPromptTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpPromptTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/McpPromptTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpPromptTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/McpResourceTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpResourceTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/McpResourceTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpResourceTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/McpSearchToolTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpSearchToolTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/McpSearchToolTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpSearchToolTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/McpTestHost.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpTestHost.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/McpTestHost.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpTestHost.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/McpToolSurfaceTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpToolSurfaceTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/McpToolSurfaceTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/McpToolSurfaceTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/README.md b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/README.md
similarity index 97%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/README.md
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/README.md
index 7d68d4dae8c..bacdaa19e7f 100644
--- a/src/Blex/Tests/Bit.Blex.Tests.Mcp/README.md
+++ b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/README.md
@@ -4,7 +4,7 @@ Tests for the **MCP server** the Blex demo hosts at `/mcp`
(`Demo/Server/Controllers/McpController.cs` and the services behind it).
```bash
-cd src/Blex/Tests/Bit.Blex.Tests.Mcp
+cd src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp
dotnet test
```
diff --git a/src/Blex/Tests/Bit.Blex.Tests.Mcp/ToolNames.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/ToolNames.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests.Mcp/ToolNames.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests.Mcp/ToolNames.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/ActionArgsTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/ActionArgsTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/ActionArgsTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/ActionArgsTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/ActionErrorTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/ActionErrorTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/ActionErrorTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/ActionErrorTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/BatchAndResetTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/BatchAndResetTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/BatchAndResetTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/BatchAndResetTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/Bit.Blex.Tests.csproj b/src/Utilities/Blex/Tests/Bit.Blex.Tests/Bit.Blex.Tests.csproj
similarity index 92%
rename from src/Blex/Tests/Bit.Blex.Tests/Bit.Blex.Tests.csproj
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/Bit.Blex.Tests.csproj
index 1c5cbe94bc7..56647eb3269 100644
--- a/src/Blex/Tests/Bit.Blex.Tests/Bit.Blex.Tests.csproj
+++ b/src/Utilities/Blex/Tests/Bit.Blex.Tests/Bit.Blex.Tests.csproj
@@ -13,7 +13,7 @@
truefalsetrue
- ..\..\..\AssemblyOriginatorKeyFile.snk
+ ..\..\..\..\AssemblyOriginatorKeyFile.snk
diff --git a/src/Blex/Tests/Bit.Blex.Tests/BlexJsonTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/BlexJsonTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/BlexJsonTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/BlexJsonTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/BrowserStorageTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/BrowserStorageTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/BrowserStorageTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/BrowserStorageTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/ComparerTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/ComparerTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/ComparerTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/ComparerTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/ConcurrentActionVetoTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/ConcurrentActionVetoTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/ConcurrentActionVetoTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/ConcurrentActionVetoTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/CrossStoreTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/CrossStoreTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/CrossStoreTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/CrossStoreTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/CrossTabSyncTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/CrossTabSyncTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/CrossTabSyncTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/CrossTabSyncTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/DevToolsConnectorTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/DevToolsConnectorTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/DevToolsConnectorTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/DevToolsConnectorTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/DevToolsControlTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/DevToolsControlTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/DevToolsControlTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/DevToolsControlTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/DevToolsMessageTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/DevToolsMessageTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/DevToolsMessageTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/DevToolsMessageTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/DuplicateStoreNameTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/DuplicateStoreNameTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/DuplicateStoreNameTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/DuplicateStoreNameTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/EffectConcurrencyTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/EffectConcurrencyTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/EffectConcurrencyTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/EffectConcurrencyTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/EffectDebounceTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/EffectDebounceTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/EffectDebounceTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/EffectDebounceTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/EffectTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/EffectTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/EffectTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/EffectTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/EffectVetoTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/EffectVetoTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/EffectVetoTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/EffectVetoTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/EntityAdapterSetTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/EntityAdapterSetTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/EntityAdapterSetTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/EntityAdapterSetTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/EntityNoOpTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/EntityNoOpTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/EntityNoOpTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/EntityNoOpTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/EntityStateTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/EntityStateTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/EntityStateTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/EntityStateTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/FakeJsInterop.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/FakeJsInterop.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/FakeJsInterop.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/FakeJsInterop.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/HarnessMultiStoreTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/HarnessMultiStoreTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/HarnessMultiStoreTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/HarnessMultiStoreTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/HistoryFilterTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/HistoryFilterTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/HistoryFilterTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/HistoryFilterTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/HistoryGroupByTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/HistoryGroupByTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/HistoryGroupByTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/HistoryGroupByTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/HistoryJumpTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/HistoryJumpTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/HistoryJumpTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/HistoryJumpTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/HistoryTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/HistoryTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/HistoryTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/HistoryTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/ManagerExtrasTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/ManagerExtrasTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/ManagerExtrasTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/ManagerExtrasTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/ManagerSelectorRestoreTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/ManagerSelectorRestoreTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/ManagerSelectorRestoreTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/ManagerSelectorRestoreTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/ManagerTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/ManagerTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/ManagerTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/ManagerTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/MauiIntegrationTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/MauiIntegrationTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/MauiIntegrationTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/MauiIntegrationTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/MiddlewareHookTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/MiddlewareHookTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/MiddlewareHookTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/MiddlewareHookTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/MiddlewareOrderTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/MiddlewareOrderTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/MiddlewareOrderTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/MiddlewareOrderTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/NotificationIsolationTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/NotificationIsolationTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/NotificationIsolationTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/NotificationIsolationTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/NullStateRestoreTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/NullStateRestoreTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/NullStateRestoreTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/NullStateRestoreTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/PersistenceAdvancedTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/PersistenceAdvancedTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/PersistenceAdvancedTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/PersistenceAdvancedTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/PersistenceHooksTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/PersistenceHooksTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/PersistenceHooksTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/PersistenceHooksTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/PersistenceHydrationTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/PersistenceHydrationTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/PersistenceHydrationTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/PersistenceHydrationTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/PersistenceTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/PersistenceTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/PersistenceTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/PersistenceTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/PipelineIsolationTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/PipelineIsolationTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/PipelineIsolationTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/PipelineIsolationTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/ResetAllTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/ResetAllTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/ResetAllTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/ResetAllTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/SanitizerTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/SanitizerTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/SanitizerTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/SanitizerTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/SelectorMemoTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/SelectorMemoTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/SelectorMemoTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/SelectorMemoTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/SelectorSubscriptionTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/SelectorSubscriptionTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/SelectorSubscriptionTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/SelectorSubscriptionTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/StoreBehaviorTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/StoreBehaviorTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/StoreBehaviorTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/StoreBehaviorTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/StoreDisposalTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/StoreDisposalTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/StoreDisposalTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/StoreDisposalTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/StoreInpcTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/StoreInpcTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/StoreInpcTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/StoreInpcTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/StoreRegistryTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/StoreRegistryTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/StoreRegistryTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/StoreRegistryTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/SubscriptionTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/SubscriptionTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/SubscriptionTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/SubscriptionTests.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/TestStores.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/TestStores.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/TestStores.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/TestStores.cs
diff --git a/src/Blex/Tests/Bit.Blex.Tests/TestingHarnessTests.cs b/src/Utilities/Blex/Tests/Bit.Blex.Tests/TestingHarnessTests.cs
similarity index 100%
rename from src/Blex/Tests/Bit.Blex.Tests/TestingHarnessTests.cs
rename to src/Utilities/Blex/Tests/Bit.Blex.Tests/TestingHarnessTests.cs
diff --git a/src/Blow/Bit.Blow.slnx b/src/Utilities/Blow/Bit.Blow.slnx
similarity index 77%
rename from src/Blow/Bit.Blow.slnx
rename to src/Utilities/Blow/Bit.Blow.slnx
index 0c855643c3e..d4a63fc0966 100644
--- a/src/Blow/Bit.Blow.slnx
+++ b/src/Utilities/Blow/Bit.Blow.slnx
@@ -1,9 +1,9 @@
-
-
-
-
+
+
+
+
diff --git a/src/Blow/Bit.Blow/Bit.Blow.csproj b/src/Utilities/Blow/Bit.Blow/Bit.Blow.csproj
similarity index 99%
rename from src/Blow/Bit.Blow/Bit.Blow.csproj
rename to src/Utilities/Blow/Bit.Blow/Bit.Blow.csproj
index 765158642ae..456adab4ae2 100644
--- a/src/Blow/Bit.Blow/Bit.Blow.csproj
+++ b/src/Utilities/Blow/Bit.Blow/Bit.Blow.csproj
@@ -1,6 +1,6 @@
-
+ net10.0;net9.0;net8.0
diff --git a/src/Blow/Bit.Blow/Clipboard/BlowClipboard.cs b/src/Utilities/Blow/Bit.Blow/Clipboard/BlowClipboard.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Clipboard/BlowClipboard.cs
rename to src/Utilities/Blow/Bit.Blow/Clipboard/BlowClipboard.cs
diff --git a/src/Blow/Bit.Blow/Components/BlowBackground.razor b/src/Utilities/Blow/Bit.Blow/Components/BlowBackground.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowBackground.razor
rename to src/Utilities/Blow/Bit.Blow/Components/BlowBackground.razor
diff --git a/src/Blow/Bit.Blow/Components/BlowBackground.razor.cs b/src/Utilities/Blow/Bit.Blow/Components/BlowBackground.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowBackground.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Components/BlowBackground.razor.cs
diff --git a/src/Blow/Bit.Blow/Components/BlowBaseEdge.razor b/src/Utilities/Blow/Bit.Blow/Components/BlowBaseEdge.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowBaseEdge.razor
rename to src/Utilities/Blow/Bit.Blow/Components/BlowBaseEdge.razor
diff --git a/src/Blow/Bit.Blow/Components/BlowBaseEdge.razor.cs b/src/Utilities/Blow/Bit.Blow/Components/BlowBaseEdge.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowBaseEdge.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Components/BlowBaseEdge.razor.cs
diff --git a/src/Blow/Bit.Blow/Components/BlowCanvas.razor b/src/Utilities/Blow/Bit.Blow/Components/BlowCanvas.razor
similarity index 99%
rename from src/Blow/Bit.Blow/Components/BlowCanvas.razor
rename to src/Utilities/Blow/Bit.Blow/Components/BlowCanvas.razor
index f4a29dad899..7f0af361966 100644
--- a/src/Blow/Bit.Blow/Components/BlowCanvas.razor
+++ b/src/Utilities/Blow/Bit.Blow/Components/BlowCanvas.razor
@@ -178,7 +178,7 @@
{
@* Pressing the link is not a press on the pane: it must not start a pan or clear the selection. *@
bit Blow
}
diff --git a/src/Blow/Bit.Blow/Components/BlowCanvas.razor.cs b/src/Utilities/Blow/Bit.Blow/Components/BlowCanvas.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowCanvas.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Components/BlowCanvas.razor.cs
diff --git a/src/Blow/Bit.Blow/Components/BlowControlButton.razor b/src/Utilities/Blow/Bit.Blow/Components/BlowControlButton.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowControlButton.razor
rename to src/Utilities/Blow/Bit.Blow/Components/BlowControlButton.razor
diff --git a/src/Blow/Bit.Blow/Components/BlowControlButton.razor.cs b/src/Utilities/Blow/Bit.Blow/Components/BlowControlButton.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowControlButton.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Components/BlowControlButton.razor.cs
diff --git a/src/Blow/Bit.Blow/Components/BlowControls.razor b/src/Utilities/Blow/Bit.Blow/Components/BlowControls.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowControls.razor
rename to src/Utilities/Blow/Bit.Blow/Components/BlowControls.razor
diff --git a/src/Blow/Bit.Blow/Components/BlowControls.razor.cs b/src/Utilities/Blow/Bit.Blow/Components/BlowControls.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowControls.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Components/BlowControls.razor.cs
diff --git a/src/Blow/Bit.Blow/Components/BlowDragHandle.razor b/src/Utilities/Blow/Bit.Blow/Components/BlowDragHandle.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowDragHandle.razor
rename to src/Utilities/Blow/Bit.Blow/Components/BlowDragHandle.razor
diff --git a/src/Blow/Bit.Blow/Components/BlowDragHandle.razor.cs b/src/Utilities/Blow/Bit.Blow/Components/BlowDragHandle.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowDragHandle.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Components/BlowDragHandle.razor.cs
diff --git a/src/Blow/Bit.Blow/Components/BlowEdgeText.razor b/src/Utilities/Blow/Bit.Blow/Components/BlowEdgeText.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowEdgeText.razor
rename to src/Utilities/Blow/Bit.Blow/Components/BlowEdgeText.razor
diff --git a/src/Blow/Bit.Blow/Components/BlowEdgeText.razor.cs b/src/Utilities/Blow/Bit.Blow/Components/BlowEdgeText.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowEdgeText.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Components/BlowEdgeText.razor.cs
diff --git a/src/Blow/Bit.Blow/Components/BlowEdgeToolbar.razor b/src/Utilities/Blow/Bit.Blow/Components/BlowEdgeToolbar.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowEdgeToolbar.razor
rename to src/Utilities/Blow/Bit.Blow/Components/BlowEdgeToolbar.razor
diff --git a/src/Blow/Bit.Blow/Components/BlowEdgeToolbar.razor.cs b/src/Utilities/Blow/Bit.Blow/Components/BlowEdgeToolbar.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowEdgeToolbar.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Components/BlowEdgeToolbar.razor.cs
diff --git a/src/Blow/Bit.Blow/Components/BlowHandle.razor b/src/Utilities/Blow/Bit.Blow/Components/BlowHandle.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowHandle.razor
rename to src/Utilities/Blow/Bit.Blow/Components/BlowHandle.razor
diff --git a/src/Blow/Bit.Blow/Components/BlowHandle.razor.cs b/src/Utilities/Blow/Bit.Blow/Components/BlowHandle.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowHandle.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Components/BlowHandle.razor.cs
diff --git a/src/Blow/Bit.Blow/Components/BlowMiniMap.razor b/src/Utilities/Blow/Bit.Blow/Components/BlowMiniMap.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowMiniMap.razor
rename to src/Utilities/Blow/Bit.Blow/Components/BlowMiniMap.razor
diff --git a/src/Blow/Bit.Blow/Components/BlowMiniMap.razor.cs b/src/Utilities/Blow/Bit.Blow/Components/BlowMiniMap.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowMiniMap.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Components/BlowMiniMap.razor.cs
diff --git a/src/Blow/Bit.Blow/Components/BlowNodeResizeControl.razor b/src/Utilities/Blow/Bit.Blow/Components/BlowNodeResizeControl.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowNodeResizeControl.razor
rename to src/Utilities/Blow/Bit.Blow/Components/BlowNodeResizeControl.razor
diff --git a/src/Blow/Bit.Blow/Components/BlowNodeResizeControl.razor.cs b/src/Utilities/Blow/Bit.Blow/Components/BlowNodeResizeControl.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowNodeResizeControl.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Components/BlowNodeResizeControl.razor.cs
diff --git a/src/Blow/Bit.Blow/Components/BlowNodeResizer.razor b/src/Utilities/Blow/Bit.Blow/Components/BlowNodeResizer.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowNodeResizer.razor
rename to src/Utilities/Blow/Bit.Blow/Components/BlowNodeResizer.razor
diff --git a/src/Blow/Bit.Blow/Components/BlowNodeResizer.razor.cs b/src/Utilities/Blow/Bit.Blow/Components/BlowNodeResizer.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowNodeResizer.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Components/BlowNodeResizer.razor.cs
diff --git a/src/Blow/Bit.Blow/Components/BlowNodeToolbar.razor b/src/Utilities/Blow/Bit.Blow/Components/BlowNodeToolbar.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowNodeToolbar.razor
rename to src/Utilities/Blow/Bit.Blow/Components/BlowNodeToolbar.razor
diff --git a/src/Blow/Bit.Blow/Components/BlowNodeToolbar.razor.cs b/src/Utilities/Blow/Bit.Blow/Components/BlowNodeToolbar.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowNodeToolbar.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Components/BlowNodeToolbar.razor.cs
diff --git a/src/Blow/Bit.Blow/Components/BlowPanel.razor b/src/Utilities/Blow/Bit.Blow/Components/BlowPanel.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowPanel.razor
rename to src/Utilities/Blow/Bit.Blow/Components/BlowPanel.razor
diff --git a/src/Blow/Bit.Blow/Components/BlowPanel.razor.cs b/src/Utilities/Blow/Bit.Blow/Components/BlowPanel.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowPanel.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Components/BlowPanel.razor.cs
diff --git a/src/Blow/Bit.Blow/Components/BlowViewportPortal.razor b/src/Utilities/Blow/Bit.Blow/Components/BlowViewportPortal.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowViewportPortal.razor
rename to src/Utilities/Blow/Bit.Blow/Components/BlowViewportPortal.razor
diff --git a/src/Blow/Bit.Blow/Components/BlowViewportPortal.razor.cs b/src/Utilities/Blow/Bit.Blow/Components/BlowViewportPortal.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Components/BlowViewportPortal.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Components/BlowViewportPortal.razor.cs
diff --git a/src/Blow/Bit.Blow/Geometry/BlowAlignment.cs b/src/Utilities/Blow/Bit.Blow/Geometry/BlowAlignment.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Geometry/BlowAlignment.cs
rename to src/Utilities/Blow/Bit.Blow/Geometry/BlowAlignment.cs
diff --git a/src/Blow/Bit.Blow/Geometry/BlowEdgePath.cs b/src/Utilities/Blow/Bit.Blow/Geometry/BlowEdgePath.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Geometry/BlowEdgePath.cs
rename to src/Utilities/Blow/Bit.Blow/Geometry/BlowEdgePath.cs
diff --git a/src/Blow/Bit.Blow/Geometry/BlowTextMetrics.cs b/src/Utilities/Blow/Bit.Blow/Geometry/BlowTextMetrics.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Geometry/BlowTextMetrics.cs
rename to src/Utilities/Blow/Bit.Blow/Geometry/BlowTextMetrics.cs
diff --git a/src/Blow/Bit.Blow/Graph/BlowGraphUtils.cs b/src/Utilities/Blow/Bit.Blow/Graph/BlowGraphUtils.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Graph/BlowGraphUtils.cs
rename to src/Utilities/Blow/Bit.Blow/Graph/BlowGraphUtils.cs
diff --git a/src/Blow/Bit.Blow/History/BlowHistory.cs b/src/Utilities/Blow/Bit.Blow/History/BlowHistory.cs
similarity index 100%
rename from src/Blow/Bit.Blow/History/BlowHistory.cs
rename to src/Utilities/Blow/Bit.Blow/History/BlowHistory.cs
diff --git a/src/Blow/Bit.Blow/History/BlowHistoryState.cs b/src/Utilities/Blow/Bit.Blow/History/BlowHistoryState.cs
similarity index 100%
rename from src/Blow/Bit.Blow/History/BlowHistoryState.cs
rename to src/Utilities/Blow/Bit.Blow/History/BlowHistoryState.cs
diff --git a/src/Blow/Bit.Blow/Internal/BlowDefaultNode.razor b/src/Utilities/Blow/Bit.Blow/Internal/BlowDefaultNode.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Internal/BlowDefaultNode.razor
rename to src/Utilities/Blow/Bit.Blow/Internal/BlowDefaultNode.razor
diff --git a/src/Blow/Bit.Blow/Internal/BlowDefaultNode.razor.cs b/src/Utilities/Blow/Bit.Blow/Internal/BlowDefaultNode.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Internal/BlowDefaultNode.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Internal/BlowDefaultNode.razor.cs
diff --git a/src/Blow/Bit.Blow/Internal/BlowEdgeRenderer.razor b/src/Utilities/Blow/Bit.Blow/Internal/BlowEdgeRenderer.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Internal/BlowEdgeRenderer.razor
rename to src/Utilities/Blow/Bit.Blow/Internal/BlowEdgeRenderer.razor
diff --git a/src/Blow/Bit.Blow/Internal/BlowEdgeRenderer.razor.cs b/src/Utilities/Blow/Bit.Blow/Internal/BlowEdgeRenderer.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Internal/BlowEdgeRenderer.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Internal/BlowEdgeRenderer.razor.cs
diff --git a/src/Blow/Bit.Blow/Internal/BlowNodeRenderer.razor b/src/Utilities/Blow/Bit.Blow/Internal/BlowNodeRenderer.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Internal/BlowNodeRenderer.razor
rename to src/Utilities/Blow/Bit.Blow/Internal/BlowNodeRenderer.razor
diff --git a/src/Blow/Bit.Blow/Internal/BlowNodeRenderer.razor.cs b/src/Utilities/Blow/Bit.Blow/Internal/BlowNodeRenderer.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Internal/BlowNodeRenderer.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Internal/BlowNodeRenderer.razor.cs
diff --git a/src/Blow/Bit.Blow/Internal/BlowPortalHost.razor b/src/Utilities/Blow/Bit.Blow/Internal/BlowPortalHost.razor
similarity index 100%
rename from src/Blow/Bit.Blow/Internal/BlowPortalHost.razor
rename to src/Utilities/Blow/Bit.Blow/Internal/BlowPortalHost.razor
diff --git a/src/Blow/Bit.Blow/Internal/BlowPortalHost.razor.cs b/src/Utilities/Blow/Bit.Blow/Internal/BlowPortalHost.razor.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Internal/BlowPortalHost.razor.cs
rename to src/Utilities/Blow/Bit.Blow/Internal/BlowPortalHost.razor.cs
diff --git a/src/Blow/Bit.Blow/Internal/BlowPortalSlot.cs b/src/Utilities/Blow/Bit.Blow/Internal/BlowPortalSlot.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Internal/BlowPortalSlot.cs
rename to src/Utilities/Blow/Bit.Blow/Internal/BlowPortalSlot.cs
diff --git a/src/Blow/Bit.Blow/Internal/IBlowContext.cs b/src/Utilities/Blow/Bit.Blow/Internal/IBlowContext.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Internal/IBlowContext.cs
rename to src/Utilities/Blow/Bit.Blow/Internal/IBlowContext.cs
diff --git a/src/Blow/Bit.Blow/Interop/BlowInterop.cs b/src/Utilities/Blow/Bit.Blow/Interop/BlowInterop.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Interop/BlowInterop.cs
rename to src/Utilities/Blow/Bit.Blow/Interop/BlowInterop.cs
diff --git a/src/Blow/Bit.Blow/Layout/BlowAlign.cs b/src/Utilities/Blow/Bit.Blow/Layout/BlowAlign.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Layout/BlowAlign.cs
rename to src/Utilities/Blow/Bit.Blow/Layout/BlowAlign.cs
diff --git a/src/Blow/Bit.Blow/Layout/BlowLayout.cs b/src/Utilities/Blow/Bit.Blow/Layout/BlowLayout.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Layout/BlowLayout.cs
rename to src/Utilities/Blow/Bit.Blow/Layout/BlowLayout.cs
diff --git a/src/Blow/Bit.Blow/Layout/BlowLayoutOptions.cs b/src/Utilities/Blow/Bit.Blow/Layout/BlowLayoutOptions.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Layout/BlowLayoutOptions.cs
rename to src/Utilities/Blow/Bit.Blow/Layout/BlowLayoutOptions.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowAlignmentGuide.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowAlignmentGuide.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowAlignmentGuide.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowAlignmentGuide.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowAriaLabels.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowAriaLabels.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowAriaLabels.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowAriaLabels.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowConnectionState.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowConnectionState.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowConnectionState.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowConnectionState.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowControlsOrientation.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowControlsOrientation.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowControlsOrientation.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowControlsOrientation.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowDefaultEdgeOptions.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowDefaultEdgeOptions.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowDefaultEdgeOptions.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowDefaultEdgeOptions.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowEdge.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowEdge.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowEdge.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowEdge.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowEdgeContext.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowEdgeContext.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowEdgeContext.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowEdgeContext.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowEdgePathOptions.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowEdgePathOptions.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowEdgePathOptions.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowEdgePathOptions.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowEnums.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowEnums.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowEnums.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowEnums.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowError.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowError.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowError.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowError.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowEvents.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowEvents.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowEvents.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowEvents.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowFitViewOptions.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowFitViewOptions.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowFitViewOptions.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowFitViewOptions.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowFragment.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowFragment.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowFragment.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowFragment.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowMarkerSpec.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowMarkerSpec.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowMarkerSpec.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowMarkerSpec.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowNode.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowNode.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowNode.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowNode.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowPanelPosition.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowPanelPosition.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowPanelPosition.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowPanelPosition.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowResizeDirection.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowResizeDirection.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowResizeDirection.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowResizeDirection.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowSelectionChange.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowSelectionChange.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowSelectionChange.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowSelectionChange.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowSnapshot.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowSnapshot.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowSnapshot.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowSnapshot.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowViewport.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowViewport.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowViewport.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowViewport.cs
diff --git a/src/Blow/Bit.Blow/Models/BlowXYPosition.cs b/src/Utilities/Blow/Bit.Blow/Models/BlowXYPosition.cs
similarity index 100%
rename from src/Blow/Bit.Blow/Models/BlowXYPosition.cs
rename to src/Utilities/Blow/Bit.Blow/Models/BlowXYPosition.cs
diff --git a/src/Blow/Bit.Blow/README.md b/src/Utilities/Blow/Bit.Blow/README.md
similarity index 98%
rename from src/Blow/Bit.Blow/README.md
rename to src/Utilities/Blow/Bit.Blow/README.md
index e56c0904501..22eb7c4f8c1 100644
--- a/src/Blow/Bit.Blow/README.md
+++ b/src/Utilities/Blow/Bit.Blow/README.md
@@ -84,5 +84,5 @@ the demo's working pages, and it can inspect a flow you hand it.
The full guide - nodes, handles and connections, edges, interaction, the viewport, layout and alignment, add-ons,
saving, undo and the clipboard, theming, keyboard and accessibility, localization, diagnostics, performance, hosting
models, architecture and a React Flow mapping - is in the
-[Blow README](https://github.com/bitfoundation/bitplatform/tree/develop/src/Blow). See it running at
+[Blow README](https://github.com/bitfoundation/bitplatform/tree/develop/src/Utilities/Blow). See it running at
[blow.bitplatform.dev](https://blow.bitplatform.dev).
diff --git a/src/Blow/Bit.Blow/Scripts/bit-blow.ts b/src/Utilities/Blow/Bit.Blow/Scripts/bit-blow.ts
similarity index 100%
rename from src/Blow/Bit.Blow/Scripts/bit-blow.ts
rename to src/Utilities/Blow/Bit.Blow/Scripts/bit-blow.ts
diff --git a/src/Blow/Bit.Blow/Styles/bit-blow.css b/src/Utilities/Blow/Bit.Blow/Styles/bit-blow.css
similarity index 100%
rename from src/Blow/Bit.Blow/Styles/bit-blow.css
rename to src/Utilities/Blow/Bit.Blow/Styles/bit-blow.css
diff --git a/src/Blow/Bit.Blow/_Imports.razor b/src/Utilities/Blow/Bit.Blow/_Imports.razor
similarity index 100%
rename from src/Blow/Bit.Blow/_Imports.razor
rename to src/Utilities/Blow/Bit.Blow/_Imports.razor
diff --git a/src/Blow/Bit.Blow/package-lock.json b/src/Utilities/Blow/Bit.Blow/package-lock.json
similarity index 100%
rename from src/Blow/Bit.Blow/package-lock.json
rename to src/Utilities/Blow/Bit.Blow/package-lock.json
diff --git a/src/Blow/Bit.Blow/package.json b/src/Utilities/Blow/Bit.Blow/package.json
similarity index 100%
rename from src/Blow/Bit.Blow/package.json
rename to src/Utilities/Blow/Bit.Blow/package.json
diff --git a/src/Blow/Bit.Blow/tsconfig.json b/src/Utilities/Blow/Bit.Blow/tsconfig.json
similarity index 100%
rename from src/Blow/Bit.Blow/tsconfig.json
rename to src/Utilities/Blow/Bit.Blow/tsconfig.json
diff --git a/src/Blow/Demo/Client/Bit.Blow.Demo.Client.csproj b/src/Utilities/Blow/Demo/Client/Bit.Blow.Demo.Client.csproj
similarity index 100%
rename from src/Blow/Demo/Client/Bit.Blow.Demo.Client.csproj
rename to src/Utilities/Blow/Demo/Client/Bit.Blow.Demo.Client.csproj
diff --git a/src/Blow/Demo/Client/Examples/DemoCode.razor b/src/Utilities/Blow/Demo/Client/Examples/DemoCode.razor
similarity index 100%
rename from src/Blow/Demo/Client/Examples/DemoCode.razor
rename to src/Utilities/Blow/Demo/Client/Examples/DemoCode.razor
diff --git a/src/Blow/Demo/Client/Examples/ExampleCatalog.cs b/src/Utilities/Blow/Demo/Client/Examples/ExampleCatalog.cs
similarity index 100%
rename from src/Blow/Demo/Client/Examples/ExampleCatalog.cs
rename to src/Utilities/Blow/Demo/Client/Examples/ExampleCatalog.cs
diff --git a/src/Blow/Demo/Client/Examples/ExampleScaffold.razor b/src/Utilities/Blow/Demo/Client/Examples/ExampleScaffold.razor
similarity index 100%
rename from src/Blow/Demo/Client/Examples/ExampleScaffold.razor
rename to src/Utilities/Blow/Demo/Client/Examples/ExampleScaffold.razor
diff --git a/src/Blow/Demo/Client/Extensions/IServiceCollectionExtensions.cs b/src/Utilities/Blow/Demo/Client/Extensions/IServiceCollectionExtensions.cs
similarity index 100%
rename from src/Blow/Demo/Client/Extensions/IServiceCollectionExtensions.cs
rename to src/Utilities/Blow/Demo/Client/Extensions/IServiceCollectionExtensions.cs
diff --git a/src/Blow/Demo/Client/Layout/ExamplesLayout.razor b/src/Utilities/Blow/Demo/Client/Layout/ExamplesLayout.razor
similarity index 97%
rename from src/Blow/Demo/Client/Layout/ExamplesLayout.razor
rename to src/Utilities/Blow/Demo/Client/Layout/ExamplesLayout.razor
index 95403ccbf11..e16db0f05ce 100644
--- a/src/Blow/Demo/Client/Layout/ExamplesLayout.razor
+++ b/src/Utilities/Blow/Demo/Client/Layout/ExamplesLayout.razor
@@ -41,7 +41,7 @@
← Back to demos
- GitHub
+ GitHub
diff --git a/src/Blow/Demo/Client/Layout/ExamplesLayout.razor.css b/src/Utilities/Blow/Demo/Client/Layout/ExamplesLayout.razor.css
similarity index 100%
rename from src/Blow/Demo/Client/Layout/ExamplesLayout.razor.css
rename to src/Utilities/Blow/Demo/Client/Layout/ExamplesLayout.razor.css
diff --git a/src/Blow/Demo/Client/Layout/MainLayout.razor b/src/Utilities/Blow/Demo/Client/Layout/MainLayout.razor
similarity index 90%
rename from src/Blow/Demo/Client/Layout/MainLayout.razor
rename to src/Utilities/Blow/Demo/Client/Layout/MainLayout.razor
index c2fa12e2762..51fef6b647e 100644
--- a/src/Blow/Demo/Client/Layout/MainLayout.razor
+++ b/src/Utilities/Blow/Demo/Client/Layout/MainLayout.razor
@@ -10,7 +10,7 @@
Examples
- GitHub
+ GitHubBlazor Docs
diff --git a/src/Blow/Demo/Client/Layout/MainLayout.razor.css b/src/Utilities/Blow/Demo/Client/Layout/MainLayout.razor.css
similarity index 100%
rename from src/Blow/Demo/Client/Layout/MainLayout.razor.css
rename to src/Utilities/Blow/Demo/Client/Layout/MainLayout.razor.css
diff --git a/src/Blow/Demo/Client/Layout/NavMenu.razor b/src/Utilities/Blow/Demo/Client/Layout/NavMenu.razor
similarity index 100%
rename from src/Blow/Demo/Client/Layout/NavMenu.razor
rename to src/Utilities/Blow/Demo/Client/Layout/NavMenu.razor
diff --git a/src/Blow/Demo/Client/Layout/NavMenu.razor.css b/src/Utilities/Blow/Demo/Client/Layout/NavMenu.razor.css
similarity index 100%
rename from src/Blow/Demo/Client/Layout/NavMenu.razor.css
rename to src/Utilities/Blow/Demo/Client/Layout/NavMenu.razor.css
diff --git a/src/Blow/Demo/Client/Pages/AddNodeOnDropDemo.razor b/src/Utilities/Blow/Demo/Client/Pages/AddNodeOnDropDemo.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/AddNodeOnDropDemo.razor
rename to src/Utilities/Blow/Demo/Client/Pages/AddNodeOnDropDemo.razor
diff --git a/src/Blow/Demo/Client/Pages/Advanced.razor b/src/Utilities/Blow/Demo/Client/Pages/Advanced.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Advanced.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Advanced.razor
diff --git a/src/Blow/Demo/Client/Pages/ConnectionLineDemo.razor b/src/Utilities/Blow/Demo/Client/Pages/ConnectionLineDemo.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/ConnectionLineDemo.razor
rename to src/Utilities/Blow/Demo/Client/Pages/ConnectionLineDemo.razor
diff --git a/src/Blow/Demo/Client/Pages/CustomEdges.razor b/src/Utilities/Blow/Demo/Client/Pages/CustomEdges.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/CustomEdges.razor
rename to src/Utilities/Blow/Demo/Client/Pages/CustomEdges.razor
diff --git a/src/Blow/Demo/Client/Pages/CustomNodes.razor b/src/Utilities/Blow/Demo/Client/Pages/CustomNodes.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/CustomNodes.razor
rename to src/Utilities/Blow/Demo/Client/Pages/CustomNodes.razor
diff --git a/src/Blow/Demo/Client/Pages/DragThresholdDemo.razor b/src/Utilities/Blow/Demo/Client/Pages/DragThresholdDemo.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/DragThresholdDemo.razor
rename to src/Utilities/Blow/Demo/Client/Pages/DragThresholdDemo.razor
diff --git a/src/Blow/Demo/Client/Pages/EdgeTypes.razor b/src/Utilities/Blow/Demo/Client/Pages/EdgeTypes.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/EdgeTypes.razor
rename to src/Utilities/Blow/Demo/Client/Pages/EdgeTypes.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/A11yExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/A11yExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/A11yExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/A11yExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/AddNodeOnEdgeDropExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/AddNodeOnEdgeDropExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/AddNodeOnEdgeDropExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/AddNodeOnEdgeDropExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/AlignDistributeExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/AlignDistributeExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/AlignDistributeExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/AlignDistributeExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/AlignmentGuidesExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/AlignmentGuidesExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/AlignmentGuidesExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/AlignmentGuidesExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/AutoPanExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/AutoPanExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/AutoPanExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/AutoPanExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/BackgroundsExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/BackgroundsExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/BackgroundsExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/BackgroundsExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/BasicExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/BasicExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/BasicExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/BasicExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/BrokenNodesExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/BrokenNodesExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/BrokenNodesExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/BrokenNodesExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/BuiltInUndoRedoExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/BuiltInUndoRedoExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/BuiltInUndoRedoExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/BuiltInUndoRedoExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/CancelConnectionExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/CancelConnectionExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/CancelConnectionExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/CancelConnectionExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/ClickDistanceExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/ClickDistanceExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/ClickDistanceExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/ClickDistanceExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/ColorModeExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/ColorModeExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/ColorModeExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/ColorModeExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/ConnectionModeExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/ConnectionModeExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/ConnectionModeExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/ConnectionModeExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/ConnectionRulesExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/ConnectionRulesExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/ConnectionRulesExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/ConnectionRulesExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/ControlledUncontrolledExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/ControlledUncontrolledExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/ControlledUncontrolledExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/ControlledUncontrolledExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/ControlledViewportExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/ControlledViewportExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/ControlledViewportExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/ControlledViewportExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/CopyPasteExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/CopyPasteExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/CopyPasteExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/CopyPasteExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/CustomConnectionLineExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/CustomConnectionLineExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/CustomConnectionLineExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/CustomConnectionLineExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/CustomEdgesExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/CustomEdgesExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/CustomEdgesExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/CustomEdgesExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/CustomMiniMapNodeExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/CustomMiniMapNodeExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/CustomMiniMapNodeExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/CustomMiniMapNodeExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/CustomNodeExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/CustomNodeExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/CustomNodeExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/CustomNodeExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/DefaultEdgeOverwriteExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/DefaultEdgeOverwriteExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/DefaultEdgeOverwriteExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/DefaultEdgeOverwriteExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/DefaultNodeOverwriteExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/DefaultNodeOverwriteExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/DefaultNodeOverwriteExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/DefaultNodeOverwriteExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/DefaultNodesExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/DefaultNodesExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/DefaultNodesExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/DefaultNodesExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/DeleteProtectionExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/DeleteProtectionExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/DeleteProtectionExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/DeleteProtectionExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/DevToolsExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/DevToolsExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/DevToolsExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/DevToolsExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/DiagnosticsExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/DiagnosticsExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/DiagnosticsExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/DiagnosticsExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/DragHandleExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/DragHandleExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/DragHandleExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/DragHandleExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/DragNDropExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/DragNDropExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/DragNDropExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/DragNDropExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/EasyConnectExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/EasyConnectExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/EasyConnectExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/EasyConnectExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/EdgeLabelStylingExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/EdgeLabelStylingExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/EdgeLabelStylingExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/EdgeLabelStylingExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/EdgeMarkersExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/EdgeMarkersExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/EdgeMarkersExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/EdgeMarkersExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/EdgePathOptionsExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/EdgePathOptionsExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/EdgePathOptionsExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/EdgePathOptionsExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/EdgeRendererExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/EdgeRendererExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/EdgeRendererExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/EdgeRendererExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/EdgeToolbarExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/EdgeToolbarExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/EdgeToolbarExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/EdgeToolbarExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/EdgeTypesExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/EdgeTypesExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/EdgeTypesExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/EdgeTypesExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/EdgesExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/EdgesExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/EdgesExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/EdgesExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/EditableNodeExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/EditableNodeExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/EditableNodeExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/EditableNodeExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/EmptyExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/EmptyExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/EmptyExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/EmptyExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/ExamplesIndex.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/ExamplesIndex.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/ExamplesIndex.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/ExamplesIndex.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/FloatingEdgesExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/FloatingEdgesExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/FloatingEdgesExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/FloatingEdgesExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/HandlePositionsExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/HandlePositionsExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/HandlePositionsExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/HandlePositionsExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/HandleRulesExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/HandleRulesExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/HandleRulesExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/HandleRulesExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/HiddenExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/HiddenExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/HiddenExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/HiddenExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/InteractionExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/InteractionExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/InteractionExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/InteractionExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/InteractionGuardsExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/InteractionGuardsExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/InteractionGuardsExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/InteractionGuardsExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/InteractiveMinimapExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/InteractiveMinimapExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/InteractiveMinimapExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/InteractiveMinimapExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/IntersectionExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/IntersectionExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/IntersectionExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/IntersectionExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/KeyBindingsExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/KeyBindingsExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/KeyBindingsExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/KeyBindingsExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/KeyboardA11yExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/KeyboardA11yExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/KeyboardA11yExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/KeyboardA11yExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/LayoutingExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/LayoutingExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/LayoutingExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/LayoutingExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/LocalizationExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/LocalizationExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/LocalizationExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/LocalizationExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/MovingHandlesExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/MovingHandlesExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/MovingHandlesExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/MovingHandlesExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/MultiFlowsExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/MultiFlowsExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/MultiFlowsExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/MultiFlowsExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/MultiSetNodesExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/MultiSetNodesExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/MultiSetNodesExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/MultiSetNodesExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/NodeExtentExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/NodeExtentExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/NodeExtentExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/NodeExtentExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/NodeResizerExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/NodeResizerExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/NodeResizerExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/NodeResizerExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/NodeToolbarExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/NodeToolbarExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/NodeToolbarExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/NodeToolbarExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/NodeTypeChangeExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/NodeTypeChangeExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/NodeTypeChangeExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/NodeTypeChangeExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/OverlayLayoutExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/OverlayLayoutExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/OverlayLayoutExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/OverlayLayoutExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/OverviewExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/OverviewExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/OverviewExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/OverviewExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/ProviderExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/ProviderExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/ProviderExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/ProviderExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/ReconnectEdgeExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/ReconnectEdgeExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/ReconnectEdgeExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/ReconnectEdgeExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/ReduxExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/ReduxExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/ReduxExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/ReduxExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/ResponsiveCanvasExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/ResponsiveCanvasExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/ResponsiveCanvasExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/ResponsiveCanvasExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/SaveRestoreExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/SaveRestoreExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/SaveRestoreExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/SaveRestoreExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/SelectionGesturesExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/SelectionGesturesExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/SelectionGesturesExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/SelectionGesturesExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/SelfLoopEdgesExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/SelfLoopEdgesExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/SelfLoopEdgesExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/SelfLoopEdgesExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/SetNodesBatchingExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/SetNodesBatchingExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/SetNodesBatchingExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/SetNodesBatchingExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/StressExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/StressExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/StressExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/StressExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/SubflowExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/SubflowExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/SubflowExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/SubflowExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/TouchDeviceExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/TouchDeviceExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/TouchDeviceExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/TouchDeviceExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/UndoRedoExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/UndoRedoExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/UndoRedoExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/UndoRedoExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/UpdateNodeExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/UpdateNodeExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/UpdateNodeExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/UpdateNodeExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/UseConnectionExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/UseConnectionExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/UseConnectionExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/UseConnectionExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/UseKeyPressExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/UseKeyPressExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/UseKeyPressExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/UseKeyPressExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/UseNodeConnectionsExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/UseNodeConnectionsExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/UseNodeConnectionsExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/UseNodeConnectionsExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/UseNodesDataExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/UseNodesDataExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/UseNodesDataExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/UseNodesDataExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/UseOnSelectionChangeExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/UseOnSelectionChangeExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/UseOnSelectionChangeExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/UseOnSelectionChangeExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/UseReactFlowExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/UseReactFlowExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/UseReactFlowExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/UseReactFlowExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/UseUpdateNodeInternalsExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/UseUpdateNodeInternalsExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/UseUpdateNodeInternalsExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/UseUpdateNodeInternalsExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/ValidationExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/ValidationExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/ValidationExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/ValidationExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/ViewportTransitionsExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/ViewportTransitionsExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/ViewportTransitionsExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/ViewportTransitionsExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/ZIndexModeExample.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/ZIndexModeExample.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/ZIndexModeExample.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/ZIndexModeExample.razor
diff --git a/src/Blow/Demo/Client/Pages/Examples/_Imports.razor b/src/Utilities/Blow/Demo/Client/Pages/Examples/_Imports.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Examples/_Imports.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Examples/_Imports.razor
diff --git a/src/Blow/Demo/Client/Pages/Extras.razor b/src/Utilities/Blow/Demo/Client/Pages/Extras.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Extras.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Extras.razor
diff --git a/src/Blow/Demo/Client/Pages/FloatingEdgesDemo.razor b/src/Utilities/Blow/Demo/Client/Pages/FloatingEdgesDemo.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/FloatingEdgesDemo.razor
rename to src/Utilities/Blow/Demo/Client/Pages/FloatingEdgesDemo.razor
diff --git a/src/Blow/Demo/Client/Pages/Home.razor b/src/Utilities/Blow/Demo/Client/Pages/Home.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Home.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Home.razor
diff --git a/src/Blow/Demo/Client/Pages/Interactions.razor b/src/Utilities/Blow/Demo/Client/Pages/Interactions.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/Interactions.razor
rename to src/Utilities/Blow/Demo/Client/Pages/Interactions.razor
diff --git a/src/Blow/Demo/Client/Pages/LabelsAndHandles.razor b/src/Utilities/Blow/Demo/Client/Pages/LabelsAndHandles.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/LabelsAndHandles.razor
rename to src/Utilities/Blow/Demo/Client/Pages/LabelsAndHandles.razor
diff --git a/src/Blow/Demo/Client/Pages/McpServer.razor b/src/Utilities/Blow/Demo/Client/Pages/McpServer.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/McpServer.razor
rename to src/Utilities/Blow/Demo/Client/Pages/McpServer.razor
diff --git a/src/Blow/Demo/Client/Pages/MiniMapDemo.razor b/src/Utilities/Blow/Demo/Client/Pages/MiniMapDemo.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/MiniMapDemo.razor
rename to src/Utilities/Blow/Demo/Client/Pages/MiniMapDemo.razor
diff --git a/src/Blow/Demo/Client/Pages/NotFound.razor b/src/Utilities/Blow/Demo/Client/Pages/NotFound.razor
similarity index 100%
rename from src/Blow/Demo/Client/Pages/NotFound.razor
rename to src/Utilities/Blow/Demo/Client/Pages/NotFound.razor
diff --git a/src/Blow/Demo/Client/Program.cs b/src/Utilities/Blow/Demo/Client/Program.cs
similarity index 100%
rename from src/Blow/Demo/Client/Program.cs
rename to src/Utilities/Blow/Demo/Client/Program.cs
diff --git a/src/Blow/Demo/Client/Routes.razor b/src/Utilities/Blow/Demo/Client/Routes.razor
similarity index 100%
rename from src/Blow/Demo/Client/Routes.razor
rename to src/Utilities/Blow/Demo/Client/Routes.razor
diff --git a/src/Blow/Demo/Client/_Imports.razor b/src/Utilities/Blow/Demo/Client/_Imports.razor
similarity index 100%
rename from src/Blow/Demo/Client/_Imports.razor
rename to src/Utilities/Blow/Demo/Client/_Imports.razor
diff --git a/src/Blow/Demo/Server/Bit.Blow.Demo.Server.csproj b/src/Utilities/Blow/Demo/Server/Bit.Blow.Demo.Server.csproj
similarity index 100%
rename from src/Blow/Demo/Server/Bit.Blow.Demo.Server.csproj
rename to src/Utilities/Blow/Demo/Server/Bit.Blow.Demo.Server.csproj
diff --git a/src/Blow/Demo/Server/Components/App.razor b/src/Utilities/Blow/Demo/Server/Components/App.razor
similarity index 100%
rename from src/Blow/Demo/Server/Components/App.razor
rename to src/Utilities/Blow/Demo/Server/Components/App.razor
diff --git a/src/Blow/Demo/Server/Components/Pages/Error.razor b/src/Utilities/Blow/Demo/Server/Components/Pages/Error.razor
similarity index 100%
rename from src/Blow/Demo/Server/Components/Pages/Error.razor
rename to src/Utilities/Blow/Demo/Server/Components/Pages/Error.razor
diff --git a/src/Blow/Demo/Server/Components/_Imports.razor b/src/Utilities/Blow/Demo/Server/Components/_Imports.razor
similarity index 100%
rename from src/Blow/Demo/Server/Components/_Imports.razor
rename to src/Utilities/Blow/Demo/Server/Components/_Imports.razor
diff --git a/src/Blow/Demo/Server/Controllers/McpController.cs b/src/Utilities/Blow/Demo/Server/Controllers/McpController.cs
similarity index 100%
rename from src/Blow/Demo/Server/Controllers/McpController.cs
rename to src/Utilities/Blow/Demo/Server/Controllers/McpController.cs
diff --git a/src/Blow/Demo/Server/Controllers/McpPrompts.cs b/src/Utilities/Blow/Demo/Server/Controllers/McpPrompts.cs
similarity index 100%
rename from src/Blow/Demo/Server/Controllers/McpPrompts.cs
rename to src/Utilities/Blow/Demo/Server/Controllers/McpPrompts.cs
diff --git a/src/Blow/Demo/Server/Controllers/McpResources.cs b/src/Utilities/Blow/Demo/Server/Controllers/McpResources.cs
similarity index 100%
rename from src/Blow/Demo/Server/Controllers/McpResources.cs
rename to src/Utilities/Blow/Demo/Server/Controllers/McpResources.cs
diff --git a/src/Blow/Demo/Server/Dtos/BlowMcpDtos.cs b/src/Utilities/Blow/Demo/Server/Dtos/BlowMcpDtos.cs
similarity index 100%
rename from src/Blow/Demo/Server/Dtos/BlowMcpDtos.cs
rename to src/Utilities/Blow/Demo/Server/Dtos/BlowMcpDtos.cs
diff --git a/src/Blow/Demo/Server/Program.cs b/src/Utilities/Blow/Demo/Server/Program.cs
similarity index 99%
rename from src/Blow/Demo/Server/Program.cs
rename to src/Utilities/Blow/Demo/Server/Program.cs
index c8b206dccb2..146ac66b45f 100644
--- a/src/Blow/Demo/Server/Program.cs
+++ b/src/Utilities/Blow/Demo/Server/Program.cs
@@ -33,7 +33,7 @@
Title = "Bit.Blow",
Version = BlowServerInstructions.BlowVersion,
Description = "Documentation, public API, theme, setup guides and flow inspection for the Bit.Blow node-based editor and diagram library for Blazor.",
- WebsiteUrl = "https://github.com/bitfoundation/bitplatform/tree/develop/src/Blow"
+ WebsiteUrl = "https://github.com/bitfoundation/bitplatform/tree/develop/src/Utilities/Blow"
};
// Returned from `initialize` and put in front of the model before it has called anything.
diff --git a/src/Blow/Demo/Server/Properties/launchSettings.json b/src/Utilities/Blow/Demo/Server/Properties/launchSettings.json
similarity index 100%
rename from src/Blow/Demo/Server/Properties/launchSettings.json
rename to src/Utilities/Blow/Demo/Server/Properties/launchSettings.json
diff --git a/src/Blow/Demo/Server/Services/BlowApiCatalog.cs b/src/Utilities/Blow/Demo/Server/Services/BlowApiCatalog.cs
similarity index 100%
rename from src/Blow/Demo/Server/Services/BlowApiCatalog.cs
rename to src/Utilities/Blow/Demo/Server/Services/BlowApiCatalog.cs
diff --git a/src/Blow/Demo/Server/Services/BlowCanvasHost.cs b/src/Utilities/Blow/Demo/Server/Services/BlowCanvasHost.cs
similarity index 100%
rename from src/Blow/Demo/Server/Services/BlowCanvasHost.cs
rename to src/Utilities/Blow/Demo/Server/Services/BlowCanvasHost.cs
diff --git a/src/Blow/Demo/Server/Services/BlowCompletions.cs b/src/Utilities/Blow/Demo/Server/Services/BlowCompletions.cs
similarity index 100%
rename from src/Blow/Demo/Server/Services/BlowCompletions.cs
rename to src/Utilities/Blow/Demo/Server/Services/BlowCompletions.cs
diff --git a/src/Blow/Demo/Server/Services/BlowFlowLab.cs b/src/Utilities/Blow/Demo/Server/Services/BlowFlowLab.cs
similarity index 100%
rename from src/Blow/Demo/Server/Services/BlowFlowLab.cs
rename to src/Utilities/Blow/Demo/Server/Services/BlowFlowLab.cs
diff --git a/src/Blow/Demo/Server/Services/BlowSearchIndex.cs b/src/Utilities/Blow/Demo/Server/Services/BlowSearchIndex.cs
similarity index 100%
rename from src/Blow/Demo/Server/Services/BlowSearchIndex.cs
rename to src/Utilities/Blow/Demo/Server/Services/BlowSearchIndex.cs
diff --git a/src/Blow/Demo/Server/Services/BlowServerInstructions.cs b/src/Utilities/Blow/Demo/Server/Services/BlowServerInstructions.cs
similarity index 100%
rename from src/Blow/Demo/Server/Services/BlowServerInstructions.cs
rename to src/Utilities/Blow/Demo/Server/Services/BlowServerInstructions.cs
diff --git a/src/Blow/Demo/Server/Services/BlowSetupGuide.cs b/src/Utilities/Blow/Demo/Server/Services/BlowSetupGuide.cs
similarity index 100%
rename from src/Blow/Demo/Server/Services/BlowSetupGuide.cs
rename to src/Utilities/Blow/Demo/Server/Services/BlowSetupGuide.cs
diff --git a/src/Blow/Demo/Server/Services/BlowSourceCatalog.cs b/src/Utilities/Blow/Demo/Server/Services/BlowSourceCatalog.cs
similarity index 100%
rename from src/Blow/Demo/Server/Services/BlowSourceCatalog.cs
rename to src/Utilities/Blow/Demo/Server/Services/BlowSourceCatalog.cs
diff --git a/src/Blow/Demo/Server/Services/BlowStylesheetClasses.cs b/src/Utilities/Blow/Demo/Server/Services/BlowStylesheetClasses.cs
similarity index 100%
rename from src/Blow/Demo/Server/Services/BlowStylesheetClasses.cs
rename to src/Utilities/Blow/Demo/Server/Services/BlowStylesheetClasses.cs
diff --git a/src/Blow/Demo/Server/Services/BlowThemeCatalog.cs b/src/Utilities/Blow/Demo/Server/Services/BlowThemeCatalog.cs
similarity index 100%
rename from src/Blow/Demo/Server/Services/BlowThemeCatalog.cs
rename to src/Utilities/Blow/Demo/Server/Services/BlowThemeCatalog.cs
diff --git a/src/Blow/Demo/Server/Services/BlowXmlDocs.cs b/src/Utilities/Blow/Demo/Server/Services/BlowXmlDocs.cs
similarity index 100%
rename from src/Blow/Demo/Server/Services/BlowXmlDocs.cs
rename to src/Utilities/Blow/Demo/Server/Services/BlowXmlDocs.cs
diff --git a/src/Blow/Demo/Server/appsettings.json b/src/Utilities/Blow/Demo/Server/appsettings.json
similarity index 100%
rename from src/Blow/Demo/Server/appsettings.json
rename to src/Utilities/Blow/Demo/Server/appsettings.json
diff --git a/src/Blow/Demo/Server/wwwroot/app.css b/src/Utilities/Blow/Demo/Server/wwwroot/app.css
similarity index 100%
rename from src/Blow/Demo/Server/wwwroot/app.css
rename to src/Utilities/Blow/Demo/Server/wwwroot/app.css
diff --git a/src/Blow/Demo/Server/wwwroot/favicon.png b/src/Utilities/Blow/Demo/Server/wwwroot/favicon.png
similarity index 100%
rename from src/Blow/Demo/Server/wwwroot/favicon.png
rename to src/Utilities/Blow/Demo/Server/wwwroot/favicon.png
diff --git a/src/Blow/README.md b/src/Utilities/Blow/README.md
similarity index 99%
rename from src/Blow/README.md
rename to src/Utilities/Blow/README.md
index 166bfd8dba3..3e118fae2b6 100644
--- a/src/Blow/README.md
+++ b/src/Utilities/Blow/README.md
@@ -117,7 +117,7 @@ page can show its own source.
To run it locally:
```bash
-dotnet run --project src/Blow/Demo/Server
+dotnet run --project src/Utilities/Blow/Demo/Server
```
## How it fits together
diff --git a/src/Blow/Tests/Bit.Blow.Tests.E2E/AssemblySetup.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/AssemblySetup.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.E2E/AssemblySetup.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/AssemblySetup.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.E2E/Bit.Blow.Tests.E2E.csproj b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Bit.Blow.Tests.E2E.csproj
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.E2E/Bit.Blow.Tests.E2E.csproj
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Bit.Blow.Tests.E2E.csproj
diff --git a/src/Blow/Tests/Bit.Blow.Tests.E2E/DemoPagesTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/DemoPagesTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.E2E/DemoPagesTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/DemoPagesTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.E2E/GestureTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/GestureTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.E2E/GestureTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/GestureTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.E2E/GuardTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/GuardTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.E2E/GuardTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/GuardTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/BlowTest.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/BlowTest.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/BlowTest.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/BlowTest.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/ChildProcess.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/ChildProcess.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/ChildProcess.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/ChildProcess.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/DemoHost.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/DemoHost.cs
similarity index 93%
rename from src/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/DemoHost.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/DemoHost.cs
index 7be107e61e6..3ad8eca5fb7 100644
--- a/src/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/DemoHost.cs
+++ b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/DemoHost.cs
@@ -27,7 +27,7 @@ public static async Task StartAsync()
if (File.Exists(assembly) is false)
throw new FileNotFoundException(
$"The demo server has not been built in the {E2EEnvironment.Configuration} configuration. Build it first with " +
- $"'dotnet build src/Blow/Demo/Server/Bit.Blow.Demo.Server.csproj -c {E2EEnvironment.Configuration}'", assembly);
+ $"'dotnet build src/Utilities/Blow/Demo/Server/Bit.Blow.Demo.Server.csproj -c {E2EEnvironment.Configuration}'", assembly);
var baseUrl = $"http://127.0.0.1:{ChildProcess.FreePort()}";
diff --git a/src/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/E2EEnvironment.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/E2EEnvironment.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/E2EEnvironment.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/E2EEnvironment.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/PlaywrightSession.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/PlaywrightSession.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/PlaywrightSession.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/PlaywrightSession.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/RepoLayout.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/RepoLayout.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/RepoLayout.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Infrastructure/RepoLayout.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.E2E/KeyboardTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/KeyboardTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.E2E/KeyboardTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/KeyboardTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.E2E/README.md b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/README.md
similarity index 93%
rename from src/Blow/Tests/Bit.Blow.Tests.E2E/README.md
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/README.md
index 492d8062d4c..00a90db9af6 100644
--- a/src/Blow/Tests/Bit.Blow.Tests.E2E/README.md
+++ b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/README.md
@@ -38,7 +38,7 @@ until every edge starts and ends on a handle, which only holds once the browser
## Running locally
-From `src/Blow` (inside `src`, so `src/global.json` selects the Microsoft.Testing.Platform runner):
+From `src/Utilities/Blow` (inside `src`, so `src/global.json` selects the Microsoft.Testing.Platform runner):
```bash
# The suite runs the demo server's build output: build it first, in the configuration the tests run in.
@@ -62,10 +62,10 @@ The workflow `.github/workflows/bit.ci.Blow.e2e.yml` does the same in Release. I
`bit.ci.Blow.yml`:
```bash
-dotnet build src/Blow/Demo/Server/Bit.Blow.Demo.Server.csproj -c Release
-dotnet build src/Blow/Tests/Bit.Blow.Tests.E2E/Bit.Blow.Tests.E2E.csproj -c Release
-pwsh src/Blow/Tests/Bit.Blow.Tests.E2E/bin/Release/net10.0/playwright.ps1 install --with-deps chromium
-cd src/Blow/Tests/Bit.Blow.Tests.E2E && dotnet test -c Release --no-build --report-trx --report-trx-filename blow-e2e.trx
+dotnet build src/Utilities/Blow/Demo/Server/Bit.Blow.Demo.Server.csproj -c Release
+dotnet build src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/Bit.Blow.Tests.E2E.csproj -c Release
+pwsh src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/bin/Release/net10.0/playwright.ps1 install --with-deps chromium
+cd src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E && dotnet test -c Release --no-build --report-trx --report-trx-filename blow-e2e.trx
```
Without PowerShell 7, the browser can be installed with Windows PowerShell
diff --git a/src/Blow/Tests/Bit.Blow.Tests.E2E/RenderingTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/RenderingTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.E2E/RenderingTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.E2E/RenderingTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.Mcp/Bit.Blow.Tests.Mcp.csproj b/src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/Bit.Blow.Tests.Mcp.csproj
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.Mcp/Bit.Blow.Tests.Mcp.csproj
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/Bit.Blow.Tests.Mcp.csproj
diff --git a/src/Blow/Tests/Bit.Blow.Tests.Mcp/McpCall.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpCall.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.Mcp/McpCall.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpCall.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.Mcp/McpFlowLabTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpFlowLabTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.Mcp/McpFlowLabTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpFlowLabTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.Mcp/McpOracleTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpOracleTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.Mcp/McpOracleTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpOracleTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.Mcp/McpResourcePromptTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpResourcePromptTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.Mcp/McpResourcePromptTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpResourcePromptTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.Mcp/McpSearchTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpSearchTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.Mcp/McpSearchTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpSearchTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.Mcp/McpSurfaceTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpSurfaceTests.cs
similarity index 99%
rename from src/Blow/Tests/Bit.Blow.Tests.Mcp/McpSurfaceTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpSurfaceTests.cs
index 212fac3cb3e..73e2c255490 100644
--- a/src/Blow/Tests/Bit.Blow.Tests.Mcp/McpSurfaceTests.cs
+++ b/src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpSurfaceTests.cs
@@ -58,7 +58,7 @@ public void The_server_introduces_itself_as_the_library_at_its_own_version()
Assert.AreEqual("bit-blow", info.Name);
Assert.AreEqual("Bit.Blow", info.Title);
Assert.AreEqual(BlowServerInstructions.BlowVersion, info.Version);
- Assert.AreEqual("https://github.com/bitfoundation/bitplatform/tree/develop/src/Blow", info.WebsiteUrl);
+ Assert.AreEqual("https://github.com/bitfoundation/bitplatform/tree/develop/src/Utilities/Blow", info.WebsiteUrl);
Assert.AreNotEqual("unknown", info.Version);
Assert.DoesNotContain("+", info.Version, "The build metadata should have been stripped from the version.");
}
diff --git a/src/Blow/Tests/Bit.Blow.Tests.Mcp/McpTestHost.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpTestHost.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.Mcp/McpTestHost.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpTestHost.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.Mcp/McpToolTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpToolTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.Mcp/McpToolTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/McpToolTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests.Mcp/ToolNames.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/ToolNames.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests.Mcp/ToolNames.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests.Mcp/ToolNames.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/AccessibilityTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/AccessibilityTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/AccessibilityTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/AccessibilityTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/Bit.Blow.Tests.csproj b/src/Utilities/Blow/Tests/Bit.Blow.Tests/Bit.Blow.Tests.csproj
similarity index 88%
rename from src/Blow/Tests/Bit.Blow.Tests/Bit.Blow.Tests.csproj
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/Bit.Blow.Tests.csproj
index adec5d1e3c7..748b2fb8791 100644
--- a/src/Blow/Tests/Bit.Blow.Tests/Bit.Blow.Tests.csproj
+++ b/src/Utilities/Blow/Tests/Bit.Blow.Tests/Bit.Blow.Tests.csproj
@@ -10,7 +10,7 @@
truefalsetrue
- ..\..\..\AssemblyOriginatorKeyFile.snk
+ ..\..\..\..\AssemblyOriginatorKeyFile.snk
diff --git a/src/Blow/Tests/Bit.Blow.Tests/BlowAlignTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/BlowAlignTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/BlowAlignTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/BlowAlignTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/BlowCanvasTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/BlowCanvasTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/BlowCanvasTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/BlowCanvasTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/BuiltInHistoryTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/BuiltInHistoryTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/BuiltInHistoryTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/BuiltInHistoryTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/CanvasApiTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/CanvasApiTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/CanvasApiTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/CanvasApiTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/CanvasBehaviourTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/CanvasBehaviourTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/CanvasBehaviourTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/CanvasBehaviourTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/ConstraintTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/ConstraintTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/ConstraintTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/ConstraintTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/CopyAndHandleStateTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/CopyAndHandleStateTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/CopyAndHandleStateTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/CopyAndHandleStateTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/EdgePathOptionsTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/EdgePathOptionsTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/EdgePathOptionsTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/EdgePathOptionsTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/EdgePathTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/EdgePathTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/EdgePathTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/EdgePathTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/ExpandParentTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/ExpandParentTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/ExpandParentTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/ExpandParentTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/GeometryFallbackTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/GeometryFallbackTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/GeometryFallbackTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/GeometryFallbackTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/GestureCancellationTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/GestureCancellationTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/GestureCancellationTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/GestureCancellationTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/GlobalUsings.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/GlobalUsings.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/GlobalUsings.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/GlobalUsings.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/GraphUtilsTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/GraphUtilsTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/GraphUtilsTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/GraphUtilsTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/HiddenNodeTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/HiddenNodeTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/HiddenNodeTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/HiddenNodeTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/HistoryAndClipboardTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/HistoryAndClipboardTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/HistoryAndClipboardTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/HistoryAndClipboardTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/InteractionTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/InteractionTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/InteractionTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/InteractionTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/LayoutTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/LayoutTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/LayoutTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/LayoutTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/MeasurementAndScrollTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/MeasurementAndScrollTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/MeasurementAndScrollTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/MeasurementAndScrollTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/PresentationTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/PresentationTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/PresentationTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/PresentationTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/ReviewRegressionTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/ReviewRegressionTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/ReviewRegressionTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/ReviewRegressionTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/SelectionAndViewportTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/SelectionAndViewportTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/SelectionAndViewportTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/SelectionAndViewportTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/SelfLoopTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/SelfLoopTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/SelfLoopTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/SelfLoopTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/StateTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/StateTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/StateTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/StateTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/ThemeTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/ThemeTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/ThemeTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/ThemeTests.cs
diff --git a/src/Blow/Tests/Bit.Blow.Tests/ViewportTests.cs b/src/Utilities/Blow/Tests/Bit.Blow.Tests/ViewportTests.cs
similarity index 100%
rename from src/Blow/Tests/Bit.Blow.Tests/ViewportTests.cs
rename to src/Utilities/Blow/Tests/Bit.Blow.Tests/ViewportTests.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Analysis/ImagePlaceholder.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Analysis/ImagePlaceholder.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Analysis/ImagePlaceholder.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Analysis/ImagePlaceholder.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Analysis/ImageStatistics.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Analysis/ImageStatistics.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Analysis/ImageStatistics.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Analysis/ImageStatistics.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Analysis/SmartCrop.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Analysis/SmartCrop.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Analysis/SmartCrop.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Analysis/SmartCrop.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Annotations/Annotation.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Annotations/Annotation.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Annotations/Annotation.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Annotations/Annotation.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Annotations/AnnotationTypes.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Annotations/AnnotationTypes.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Annotations/AnnotationTypes.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Annotations/AnnotationTypes.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Bit.Bmage.Core.csproj b/src/Utilities/Bmage/Bit.Bmage.Core/Bit.Bmage.Core.csproj
similarity index 98%
rename from src/Bmage/Bit.Bmage.Core/Bit.Bmage.Core.csproj
rename to src/Utilities/Bmage/Bit.Bmage.Core/Bit.Bmage.Core.csproj
index cc42aabf0c7..692a2ec3f9d 100644
--- a/src/Bmage/Bit.Bmage.Core/Bit.Bmage.Core.csproj
+++ b/src/Utilities/Bmage/Bit.Bmage.Core/Bit.Bmage.Core.csproj
@@ -1,6 +1,6 @@
-
+ net10.0;net9.0;net8.0
diff --git a/src/Bmage/Bit.Bmage.Core/Capabilities/ImageCapabilities.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Capabilities/ImageCapabilities.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Capabilities/ImageCapabilities.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Capabilities/ImageCapabilities.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Codecs/Bmp/BmpCodec.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Codecs/Bmp/BmpCodec.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Codecs/Bmp/BmpCodec.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Codecs/Bmp/BmpCodec.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Codecs/Crc32.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Codecs/Crc32.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Codecs/Crc32.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Codecs/Crc32.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Codecs/Gif/GifDecoder.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Codecs/Gif/GifDecoder.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Codecs/Gif/GifDecoder.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Codecs/Gif/GifDecoder.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Codecs/ICodecs.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Codecs/ICodecs.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Codecs/ICodecs.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Codecs/ICodecs.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Codecs/Jpeg/JpegDecoder.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Codecs/Jpeg/JpegDecoder.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Codecs/Jpeg/JpegDecoder.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Codecs/Jpeg/JpegDecoder.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Codecs/Jpeg/JpegEncoder.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Codecs/Jpeg/JpegEncoder.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Codecs/Jpeg/JpegEncoder.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Codecs/Jpeg/JpegEncoder.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Codecs/Png/PngDecoder.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Codecs/Png/PngDecoder.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Codecs/Png/PngDecoder.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Codecs/Png/PngDecoder.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Codecs/Png/PngEncoder.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Codecs/Png/PngEncoder.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Codecs/Png/PngEncoder.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Codecs/Png/PngEncoder.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Drawing/ImageCanvas.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Drawing/ImageCanvas.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Drawing/ImageCanvas.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Drawing/ImageCanvas.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Drawing/PathBuilder.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Drawing/PathBuilder.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Drawing/PathBuilder.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Drawing/PathBuilder.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Drawing/Rasterizer.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Drawing/Rasterizer.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Drawing/Rasterizer.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Drawing/Rasterizer.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Drawing/Stroker.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Drawing/Stroker.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Drawing/Stroker.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Drawing/Stroker.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Editing/EditHistory.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Editing/EditHistory.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Editing/EditHistory.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Editing/EditHistory.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Editing/ImageDocument.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Editing/ImageDocument.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Editing/ImageDocument.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Editing/ImageDocument.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Editing/ImageEditSession.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Editing/ImageEditSession.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Editing/ImageEditSession.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Editing/ImageEditSession.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Geometry/AspectRatio.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Geometry/AspectRatio.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Geometry/AspectRatio.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Geometry/AspectRatio.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Geometry/Orientation.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Geometry/Orientation.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Geometry/Orientation.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Geometry/Orientation.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Geometry/RectangleExtensions.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Geometry/RectangleExtensions.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Geometry/RectangleExtensions.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Geometry/RectangleExtensions.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Geometry/ResizeMode.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Geometry/ResizeMode.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Geometry/ResizeMode.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Geometry/ResizeMode.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Geometry/ResizePlan.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Geometry/ResizePlan.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Geometry/ResizePlan.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Geometry/ResizePlan.cs
diff --git a/src/Bmage/Bit.Bmage.Core/ImageBuffer.cs b/src/Utilities/Bmage/Bit.Bmage.Core/ImageBuffer.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/ImageBuffer.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/ImageBuffer.cs
diff --git a/src/Bmage/Bit.Bmage.Core/ImageFormat.cs b/src/Utilities/Bmage/Bit.Bmage.Core/ImageFormat.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/ImageFormat.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/ImageFormat.cs
diff --git a/src/Bmage/Bit.Bmage.Core/ImageLimits.cs b/src/Utilities/Bmage/Bit.Bmage.Core/ImageLimits.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/ImageLimits.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/ImageLimits.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Memory/IPixelAllocator.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Memory/IPixelAllocator.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Memory/IPixelAllocator.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Memory/IPixelAllocator.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Metadata/Containers.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Metadata/Containers.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Metadata/Containers.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Metadata/Containers.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Metadata/ExifData.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Metadata/ExifData.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Metadata/ExifData.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Metadata/ExifData.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Metadata/ExifReader.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Metadata/ExifReader.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Metadata/ExifReader.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Metadata/ExifReader.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Metadata/ImageMetadata.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Metadata/ImageMetadata.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Metadata/ImageMetadata.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Metadata/ImageMetadata.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Operations/Adjustments/Adjustments.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Operations/Adjustments/Adjustments.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Operations/Adjustments/Adjustments.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Operations/Adjustments/Adjustments.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Operations/ColorMatrix.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Operations/ColorMatrix.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Operations/ColorMatrix.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Operations/ColorMatrix.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Operations/CurveOperation.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Operations/CurveOperation.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Operations/CurveOperation.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Operations/CurveOperation.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Operations/Filters/Filters.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Operations/Filters/Filters.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Operations/Filters/Filters.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Operations/Filters/Filters.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Operations/IImageOperation.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Operations/IImageOperation.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Operations/IImageOperation.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Operations/IImageOperation.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Operations/OperationContext.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Operations/OperationContext.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Operations/OperationContext.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Operations/OperationContext.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Operations/PointOperation.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Operations/PointOperation.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Operations/PointOperation.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Operations/PointOperation.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Operations/Transforms/CropOperation.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Operations/Transforms/CropOperation.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Operations/Transforms/CropOperation.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Operations/Transforms/CropOperation.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Operations/Transforms/OrientationOperation.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Operations/Transforms/OrientationOperation.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Operations/Transforms/OrientationOperation.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Operations/Transforms/OrientationOperation.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Operations/Transforms/Resampler.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Operations/Transforms/Resampler.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Operations/Transforms/Resampler.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Operations/Transforms/Resampler.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Operations/Transforms/ResizeCropOperation.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Operations/Transforms/ResizeCropOperation.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Operations/Transforms/ResizeCropOperation.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Operations/Transforms/ResizeCropOperation.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Operations/Transforms/ResizeOperation.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Operations/Transforms/ResizeOperation.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Operations/Transforms/ResizeOperation.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Operations/Transforms/ResizeOperation.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Operations/Transforms/WarpOperations.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Operations/Transforms/WarpOperations.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Operations/Transforms/WarpOperations.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Operations/Transforms/WarpOperations.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Pipeline/ImagePipeline.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Pipeline/ImagePipeline.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Pipeline/ImagePipeline.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Pipeline/ImagePipeline.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Pipeline/ImageProcessor.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Pipeline/ImageProcessor.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Pipeline/ImageProcessor.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Pipeline/ImageProcessor.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Pipeline/PipelineOptimizer.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Pipeline/PipelineOptimizer.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Pipeline/PipelineOptimizer.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Pipeline/PipelineOptimizer.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Rgba32.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Rgba32.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Rgba32.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Rgba32.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Text/FontFile.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Text/FontFile.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Text/FontFile.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Text/FontFile.cs
diff --git a/src/Bmage/Bit.Bmage.Core/Text/FontTextRasterizer.cs b/src/Utilities/Bmage/Bit.Bmage.Core/Text/FontTextRasterizer.cs
similarity index 100%
rename from src/Bmage/Bit.Bmage.Core/Text/FontTextRasterizer.cs
rename to src/Utilities/Bmage/Bit.Bmage.Core/Text/FontTextRasterizer.cs
diff --git a/src/Bmage/Bit.Bmage.Demo/Client/Bit.Bmage.Demo.Client.csproj b/src/Utilities/Bmage/Bit.Bmage.Demo/Client/Bit.Bmage.Demo.Client.csproj
similarity index 95%
rename from src/Bmage/Bit.Bmage.Demo/Client/Bit.Bmage.Demo.Client.csproj
rename to src/Utilities/Bmage/Bit.Bmage.Demo/Client/Bit.Bmage.Demo.Client.csproj
index 49e96648c01..38260a80e08 100644
--- a/src/Bmage/Bit.Bmage.Demo/Client/Bit.Bmage.Demo.Client.csproj
+++ b/src/Utilities/Bmage/Bit.Bmage.Demo/Client/Bit.Bmage.Demo.Client.csproj
@@ -13,7 +13,7 @@
true
- ..\..\..\AssemblyOriginatorKeyFile.snk
+ ..\..\..\..\AssemblyOriginatorKeyFile.snk
diff --git a/src/Bmage/Tests/Bit.Bmage.Benchmarks/ImageBenchmarks.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Benchmarks/ImageBenchmarks.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Benchmarks/ImageBenchmarks.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Benchmarks/ImageBenchmarks.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.E2E/AdversarialBrowserTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/AdversarialBrowserTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.E2E/AdversarialBrowserTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/AdversarialBrowserTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.E2E/AssemblySetup.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/AssemblySetup.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.E2E/AssemblySetup.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/AssemblySetup.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.E2E/Bit.Bmage.Tests.E2E.csproj b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Bit.Bmage.Tests.E2E.csproj
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.E2E/Bit.Bmage.Tests.E2E.csproj
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Bit.Bmage.Tests.E2E.csproj
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.E2E/BrowserTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/BrowserTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.E2E/BrowserTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/BrowserTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.E2E/DemoRegressionTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/DemoRegressionTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.E2E/DemoRegressionTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/DemoRegressionTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/ChildProcess.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/ChildProcess.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/ChildProcess.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/ChildProcess.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/DemoBuild.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/DemoBuild.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/DemoBuild.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/DemoBuild.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/DemoHost.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/DemoHost.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/DemoHost.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/DemoHost.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/DemoTest.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/DemoTest.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/DemoTest.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/DemoTest.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/E2EEnvironment.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/E2EEnvironment.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/E2EEnvironment.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/E2EEnvironment.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/PlaywrightSession.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/PlaywrightSession.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/PlaywrightSession.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/PlaywrightSession.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/RepoLayout.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/RepoLayout.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/RepoLayout.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/RepoLayout.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/SampleImage.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/SampleImage.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/SampleImage.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/Infrastructure/SampleImage.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.E2E/README.md b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/README.md
similarity index 99%
rename from src/Bmage/Tests/Bit.Bmage.Tests.E2E/README.md
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/README.md
index 8cd6309ec7f..81e0b356e08 100644
--- a/src/Bmage/Tests/Bit.Bmage.Tests.E2E/README.md
+++ b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/README.md
@@ -1,6 +1,6 @@
# Bit.Bmage end-to-end tests
-MSTest + Microsoft.Playwright suite that drives the Bmage demo site (`src/Bmage/Bit.Bmage.Demo`) in a real
+MSTest + Microsoft.Playwright suite that drives the Bmage demo site (`src/Utilities/Bmage/Bit.Bmage.Demo`) in a real
Chromium. It covers what the unit tests in `Bit.Bmage.Tests` cannot: the `bit-bmage.js` browser bridge, the
browser's own codecs, canvas rendering, pointer and keyboard input on the editor, and the demo pages as a reader
uses them. Uses the **Microsoft.Testing.Platform** runner (mandated by the repo `global.json`) via
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Bit.Bmage.Tests.Mcp.csproj b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Bit.Bmage.Tests.Mcp.csproj
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Bit.Bmage.Tests.Mcp.csproj
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Bit.Bmage.Tests.Mcp.csproj
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Controllers/McpControllerTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Controllers/McpControllerTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Controllers/McpControllerTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Controllers/McpControllerTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Controllers/McpSurfaceTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Controllers/McpSurfaceTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Controllers/McpSurfaceTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Controllers/McpSurfaceTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/GlobalUsings.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/GlobalUsings.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/GlobalUsings.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/GlobalUsings.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Protocol/McpServerIntegrationTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Protocol/McpServerIntegrationTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Protocol/McpServerIntegrationTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Protocol/McpServerIntegrationTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/ApiCatalogTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/ApiCatalogTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/ApiCatalogTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/ApiCatalogTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/CodeReviewTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/CodeReviewTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/CodeReviewTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/CodeReviewTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/CompletionsTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/CompletionsTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/CompletionsTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/CompletionsTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/PipelineLabTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/PipelineLabTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/PipelineLabTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/PipelineLabTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/PipelineSpecTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/PipelineSpecTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/PipelineSpecTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/PipelineSpecTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/RecipeCatalogTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/RecipeCatalogTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/RecipeCatalogTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/RecipeCatalogTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/SearchIndexTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/SearchIndexTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/SearchIndexTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/SearchIndexTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/SetupGuideTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/SetupGuideTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/SetupGuideTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/SetupGuideTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/SourceCatalogTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/SourceCatalogTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/SourceCatalogTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/SourceCatalogTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/XmlDocsTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/XmlDocsTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/XmlDocsTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/Services/XmlDocsTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests.Mcp/TestInfra/BmageMcpServerFixture.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/TestInfra/BmageMcpServerFixture.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests.Mcp/TestInfra/BmageMcpServerFixture.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests.Mcp/TestInfra/BmageMcpServerFixture.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/AdversarialAnalysisTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AdversarialAnalysisTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/AdversarialAnalysisTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AdversarialAnalysisTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/AdversarialAnnotationTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AdversarialAnnotationTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/AdversarialAnnotationTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AdversarialAnnotationTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/AdversarialDrawingTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AdversarialDrawingTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/AdversarialDrawingTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AdversarialDrawingTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/AdversarialFilterTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AdversarialFilterTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/AdversarialFilterTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AdversarialFilterTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/AdversarialGeometryTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AdversarialGeometryTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/AdversarialGeometryTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AdversarialGeometryTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/AdversarialMetadataTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AdversarialMetadataTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/AdversarialMetadataTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AdversarialMetadataTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/AdversarialPipelineTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AdversarialPipelineTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/AdversarialPipelineTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AdversarialPipelineTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/AnalysisTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AnalysisTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/AnalysisTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/AnalysisTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/Assets/BmageTest.ttf b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/Assets/BmageTest.ttf
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/Assets/BmageTest.ttf
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/Assets/BmageTest.ttf
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/Assets/generate-test-font.py b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/Assets/generate-test-font.py
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/Assets/generate-test-font.py
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/Assets/generate-test-font.py
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/Bit.Bmage.Tests.csproj b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/Bit.Bmage.Tests.csproj
similarity index 90%
rename from src/Bmage/Tests/Bit.Bmage.Tests/Bit.Bmage.Tests.csproj
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/Bit.Bmage.Tests.csproj
index 02af64bb119..1cecd6ef0ac 100644
--- a/src/Bmage/Tests/Bit.Bmage.Tests/Bit.Bmage.Tests.csproj
+++ b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/Bit.Bmage.Tests.csproj
@@ -10,7 +10,7 @@
truefalsetrue
- ..\..\..\AssemblyOriginatorKeyFile.snk
+ ..\..\..\..\AssemblyOriginatorKeyFile.snk
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/Capture.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/Capture.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/Capture.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/Capture.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/CodecTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/CodecTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/CodecTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/CodecTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/DrawingTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/DrawingTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/DrawingTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/DrawingTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/GeometryTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/GeometryTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/GeometryTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/GeometryTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/GlobalUsings.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/GlobalUsings.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/GlobalUsings.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/GlobalUsings.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/MetadataTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/MetadataTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/MetadataTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/MetadataTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/OperationTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/OperationTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/OperationTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/OperationTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/PipelineTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/PipelineTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/PipelineTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/PipelineTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/ResamplingQualityTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/ResamplingQualityTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/ResamplingQualityTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/ResamplingQualityTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/ReviewRegressionTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/ReviewRegressionTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/ReviewRegressionTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/ReviewRegressionTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/ScenarioTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/ScenarioTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/ScenarioTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/ScenarioTests.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/TestImages.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/TestImages.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/TestImages.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/TestImages.cs
diff --git a/src/Bmage/Tests/Bit.Bmage.Tests/TextTests.cs b/src/Utilities/Bmage/Tests/Bit.Bmage.Tests/TextTests.cs
similarity index 100%
rename from src/Bmage/Tests/Bit.Bmage.Tests/TextTests.cs
rename to src/Utilities/Bmage/Tests/Bit.Bmage.Tests/TextTests.cs
diff --git a/src/Bmage/docs/architecture.md b/src/Utilities/Bmage/docs/architecture.md
similarity index 100%
rename from src/Bmage/docs/architecture.md
rename to src/Utilities/Bmage/docs/architecture.md
diff --git a/src/Bmage/docs/browser-support.md b/src/Utilities/Bmage/docs/browser-support.md
similarity index 100%
rename from src/Bmage/docs/browser-support.md
rename to src/Utilities/Bmage/docs/browser-support.md
diff --git a/src/Bmage/docs/editor.md b/src/Utilities/Bmage/docs/editor.md
similarity index 100%
rename from src/Bmage/docs/editor.md
rename to src/Utilities/Bmage/docs/editor.md
diff --git a/src/Bmage/docs/extending.md b/src/Utilities/Bmage/docs/extending.md
similarity index 100%
rename from src/Bmage/docs/extending.md
rename to src/Utilities/Bmage/docs/extending.md
diff --git a/src/Bmage/docs/formats.md b/src/Utilities/Bmage/docs/formats.md
similarity index 100%
rename from src/Bmage/docs/formats.md
rename to src/Utilities/Bmage/docs/formats.md
diff --git a/src/Bmage/docs/getting-started.md b/src/Utilities/Bmage/docs/getting-started.md
similarity index 100%
rename from src/Bmage/docs/getting-started.md
rename to src/Utilities/Bmage/docs/getting-started.md
diff --git a/src/Bmage/docs/headless.md b/src/Utilities/Bmage/docs/headless.md
similarity index 100%
rename from src/Bmage/docs/headless.md
rename to src/Utilities/Bmage/docs/headless.md
diff --git a/src/Bmage/docs/metadata-and-privacy.md b/src/Utilities/Bmage/docs/metadata-and-privacy.md
similarity index 100%
rename from src/Bmage/docs/metadata-and-privacy.md
rename to src/Utilities/Bmage/docs/metadata-and-privacy.md
diff --git a/src/Bmage/docs/performance.md b/src/Utilities/Bmage/docs/performance.md
similarity index 99%
rename from src/Bmage/docs/performance.md
rename to src/Utilities/Bmage/docs/performance.md
index 6740a69d3f2..f537a2fec48 100644
--- a/src/Bmage/docs/performance.md
+++ b/src/Utilities/Bmage/docs/performance.md
@@ -3,7 +3,7 @@
Every number here was measured with BenchmarkDotNet, not estimated. Reproduce them with:
```bash
-dotnet run --project src/Bmage/Tests/Bit.Bmage.Benchmarks -c Release -- --filter "*"
+dotnet run --project src/Utilities/Bmage/Tests/Bit.Bmage.Benchmarks -c Release -- --filter "*"
```
**Environment for the tables below:** .NET 10.0.11, x64 RyuJIT with AVX2, Windows 11, workstation GC. Short job:
diff --git a/src/Bmage/docs/pipelines.md b/src/Utilities/Bmage/docs/pipelines.md
similarity index 100%
rename from src/Bmage/docs/pipelines.md
rename to src/Utilities/Bmage/docs/pipelines.md
diff --git a/src/Bmage/docs/security.md b/src/Utilities/Bmage/docs/security.md
similarity index 100%
rename from src/Bmage/docs/security.md
rename to src/Utilities/Bmage/docs/security.md
diff --git a/src/Bmage/docs/troubleshooting.md b/src/Utilities/Bmage/docs/troubleshooting.md
similarity index 98%
rename from src/Bmage/docs/troubleshooting.md
rename to src/Utilities/Bmage/docs/troubleshooting.md
index d3255af3991..9ae77eb3d3f 100644
--- a/src/Bmage/docs/troubleshooting.md
+++ b/src/Utilities/Bmage/docs/troubleshooting.md
@@ -178,7 +178,7 @@ The fixture reports why. Common reasons: Playwright's browsers are not installed
or the demo application failed to start. Install a browser:
```bash
-pwsh src/Bmage/Tests/Bit.Bmage.Tests.E2E/bin/Debug/net10.0/playwright.ps1 install chromium
+pwsh src/Utilities/Bmage/Tests/Bit.Bmage.Tests.E2E/bin/Debug/net10.0/playwright.ps1 install chromium
```
The fixture also falls back to a system Chrome or Edge automatically.
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Bit.Bmotion.Demo.Client.csproj b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Bit.Bmotion.Demo.Client.csproj
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Bit.Bmotion.Demo.Client.csproj
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Bit.Bmotion.Demo.Client.csproj
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Extensions/IServiceCollectionExtensions.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Extensions/IServiceCollectionExtensions.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Extensions/IServiceCollectionExtensions.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Extensions/IServiceCollectionExtensions.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Layout/MainLayout.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Layout/MainLayout.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Layout/MainLayout.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Layout/MainLayout.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Accessibility.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Accessibility.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Accessibility.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Accessibility.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/AnimatePresencePage.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/AnimatePresencePage.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/AnimatePresencePage.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/AnimatePresencePage.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/BasicAnimations.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/BasicAnimations.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/BasicAnimations.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/BasicAnimations.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/ColorSpaces.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/ColorSpaces.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/ColorSpaces.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/ColorSpaces.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/CssProps.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/CssProps.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/CssProps.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/CssProps.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/DragPage.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/DragPage.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/DragPage.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/DragPage.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Easing.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Easing.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Easing.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Easing.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/ErrorPage.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/ErrorPage.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/ErrorPage.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/ErrorPage.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Gestures.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Gestures.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Gestures.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Gestures.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Home.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Home.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Home.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Home.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Keyframes.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Keyframes.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Keyframes.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Keyframes.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/LayoutPage.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/LayoutPage.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/LayoutPage.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/LayoutPage.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/McpServerPage.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/McpServerPage.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/McpServerPage.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/McpServerPage.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/MotionPath.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/MotionPath.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/MotionPath.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/MotionPath.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/NotFoundPage.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/NotFoundPage.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/NotFoundPage.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/NotFoundPage.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Programmatic.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Programmatic.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Programmatic.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Programmatic.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/ReorderPage.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/ReorderPage.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/ReorderPage.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/ReorderPage.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/ScrollAnimations.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/ScrollAnimations.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/ScrollAnimations.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/ScrollAnimations.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/SplitText.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/SplitText.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/SplitText.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/SplitText.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Springs.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Springs.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Springs.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Springs.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Variants.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Variants.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/Variants.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/Variants.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Pages/ViewTransitions.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/ViewTransitions.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Pages/ViewTransitions.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Pages/ViewTransitions.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Program.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Program.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Program.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Program.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Routes.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Routes.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Routes.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Routes.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Shared/AppFooter.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/AppFooter.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Shared/AppFooter.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/AppFooter.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Shared/AppHeader.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/AppHeader.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Shared/AppHeader.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/AppHeader.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Shared/AppNavPanel.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/AppNavPanel.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Shared/AppNavPanel.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/AppNavPanel.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Shared/CodeSnippet.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/CodeSnippet.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Shared/CodeSnippet.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/CodeSnippet.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Shared/CommandPalette.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/CommandPalette.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Shared/CommandPalette.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/CommandPalette.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Shared/DocBreadcrumb.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/DocBreadcrumb.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Shared/DocBreadcrumb.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/DocBreadcrumb.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Shared/DocPager.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/DocPager.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Shared/DocPager.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/DocPager.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Shared/Icon.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/Icon.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Shared/Icon.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/Icon.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Shared/Icons.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/Icons.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Shared/Icons.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/Icons.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Shared/NavItem.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/NavItem.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Shared/NavItem.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/NavItem.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Shared/NotFoundContent.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/NotFoundContent.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Shared/NotFoundContent.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/NotFoundContent.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Shared/SideRail.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/SideRail.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Shared/SideRail.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/SideRail.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/Shared/SyntaxHighlighter.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/SyntaxHighlighter.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/Shared/SyntaxHighlighter.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/Shared/SyntaxHighlighter.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Client/_Imports.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/_Imports.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Client/_Imports.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Client/_Imports.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Bit.Bmotion.Demo.Server.csproj b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Bit.Bmotion.Demo.Server.csproj
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Bit.Bmotion.Demo.Server.csproj
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Bit.Bmotion.Demo.Server.csproj
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Components/App.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Components/App.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Components/App.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Components/App.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Components/_Imports.razor b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Components/_Imports.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Components/_Imports.razor
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Components/_Imports.razor
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Controllers/McpController.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Controllers/McpController.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Controllers/McpController.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Controllers/McpController.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Controllers/McpPrompts.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Controllers/McpPrompts.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Controllers/McpPrompts.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Controllers/McpPrompts.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Controllers/McpResources.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Controllers/McpResources.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Controllers/McpResources.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Controllers/McpResources.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Dtos/BmotionMcpDtos.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Dtos/BmotionMcpDtos.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Dtos/BmotionMcpDtos.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Dtos/BmotionMcpDtos.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Program.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Program.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Program.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Program.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Properties/launchSettings.json b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Properties/launchSettings.json
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Properties/launchSettings.json
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Properties/launchSettings.json
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionApiCatalog.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionApiCatalog.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionApiCatalog.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionApiCatalog.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionCodeReview.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionCodeReview.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionCodeReview.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionCodeReview.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionEasingCatalog.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionEasingCatalog.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionEasingCatalog.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionEasingCatalog.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionMotionLab.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionMotionLab.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionMotionLab.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionMotionLab.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionPropertyCatalog.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionPropertyCatalog.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionPropertyCatalog.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionPropertyCatalog.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionRecipeCatalog.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionRecipeCatalog.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionRecipeCatalog.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionRecipeCatalog.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionSearchIndex.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionSearchIndex.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionSearchIndex.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionSearchIndex.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionSetupGuide.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionSetupGuide.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionSetupGuide.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionSetupGuide.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionSourceCatalog.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionSourceCatalog.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionSourceCatalog.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionSourceCatalog.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionTransitionSpec.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionTransitionSpec.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionTransitionSpec.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionTransitionSpec.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionXmlDocs.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionXmlDocs.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionXmlDocs.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/BmotionXmlDocs.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/Services/HeadlessBmotionInterop.cs b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/HeadlessBmotionInterop.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/Services/HeadlessBmotionInterop.cs
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/Services/HeadlessBmotionInterop.cs
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/appsettings.json b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/appsettings.json
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/appsettings.json
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/appsettings.json
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/css/app.css b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/css/app.css
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/css/app.css
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/css/app.css
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/css/motion-samples.css b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/css/motion-samples.css
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/css/motion-samples.css
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/css/motion-samples.css
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/css/theme.css b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/css/theme.css
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/css/theme.css
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/css/theme.css
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/favicon.ico b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/favicon.ico
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/favicon.ico
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/favicon.ico
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/icon-512.png b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/icon-512.png
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/icon-512.png
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/icon-512.png
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/bit-logo-dark.svg b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/bit-logo-dark.svg
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/bit-logo-dark.svg
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/bit-logo-dark.svg
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/bit-logo-light.svg b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/bit-logo-light.svg
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/bit-logo-light.svg
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/bit-logo-light.svg
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/github-icon.svg b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/github-icon.svg
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/github-icon.svg
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/github-icon.svg
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/linkedin-icon.svg b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/linkedin-icon.svg
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/linkedin-icon.svg
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/linkedin-icon.svg
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/location-icon.svg b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/location-icon.svg
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/location-icon.svg
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/location-icon.svg
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/tel-icon.svg b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/tel-icon.svg
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/tel-icon.svg
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/tel-icon.svg
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/twitter-icon.svg b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/twitter-icon.svg
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/twitter-icon.svg
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/twitter-icon.svg
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/youtube-icon.svg b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/youtube-icon.svg
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/youtube-icon.svg
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/footer/youtube-icon.svg
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/github-mark.svg b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/github-mark.svg
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/github-mark.svg
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/images/github-mark.svg
diff --git a/src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/js/demo.js b/src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/js/demo.js
similarity index 100%
rename from src/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/js/demo.js
rename to src/Utilities/Bmotion/Bit.Bmotion.Demo/Server/wwwroot/js/demo.js
diff --git a/src/Bmotion/Bit.Bmotion.slnx b/src/Utilities/Bmotion/Bit.Bmotion.slnx
similarity index 84%
rename from src/Bmotion/Bit.Bmotion.slnx
rename to src/Utilities/Bmotion/Bit.Bmotion.slnx
index a6104f6413c..d2cede5eba4 100644
--- a/src/Bmotion/Bit.Bmotion.slnx
+++ b/src/Utilities/Bmotion/Bit.Bmotion.slnx
@@ -1,9 +1,9 @@
-
-
-
-
+
+
+
+
diff --git a/src/Bmotion/Bit.Bmotion/Bit.Bmotion.csproj b/src/Utilities/Bmotion/Bit.Bmotion/Bit.Bmotion.csproj
similarity index 99%
rename from src/Bmotion/Bit.Bmotion/Bit.Bmotion.csproj
rename to src/Utilities/Bmotion/Bit.Bmotion/Bit.Bmotion.csproj
index 53f5e4c5398..d6f287c8740 100644
--- a/src/Bmotion/Bit.Bmotion/Bit.Bmotion.csproj
+++ b/src/Utilities/Bmotion/Bit.Bmotion/Bit.Bmotion.csproj
@@ -1,6 +1,6 @@
-
+ net10.0;net9.0;net8.0
diff --git a/src/Bmotion/Bit.Bmotion/BitBmotion.cs b/src/Utilities/Bmotion/Bit.Bmotion/BitBmotion.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/BitBmotion.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/BitBmotion.cs
diff --git a/src/Bmotion/Bit.Bmotion/BitBmotionOptions.cs b/src/Utilities/Bmotion/Bit.Bmotion/BitBmotionOptions.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/BitBmotionOptions.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/BitBmotionOptions.cs
diff --git a/src/Bmotion/Bit.Bmotion/BmotionCapabilities.cs b/src/Utilities/Bmotion/Bit.Bmotion/BmotionCapabilities.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/BmotionCapabilities.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/BmotionCapabilities.cs
diff --git a/src/Bmotion/Bit.Bmotion/Components/Bmotion.cs b/src/Utilities/Bmotion/Bit.Bmotion/Components/Bmotion.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Components/Bmotion.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Components/Bmotion.cs
diff --git a/src/Bmotion/Bit.Bmotion/Components/BmotionAnimatePresence.razor b/src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionAnimatePresence.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Components/BmotionAnimatePresence.razor
rename to src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionAnimatePresence.razor
diff --git a/src/Bmotion/Bit.Bmotion/Components/BmotionAnimatePresence.razor.cs b/src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionAnimatePresence.razor.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Components/BmotionAnimatePresence.razor.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionAnimatePresence.razor.cs
diff --git a/src/Bmotion/Bit.Bmotion/Components/BmotionChildContentRewriter.cs b/src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionChildContentRewriter.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Components/BmotionChildContentRewriter.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionChildContentRewriter.cs
diff --git a/src/Bmotion/Bit.Bmotion/Components/BmotionConfig.razor b/src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionConfig.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Components/BmotionConfig.razor
rename to src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionConfig.razor
diff --git a/src/Bmotion/Bit.Bmotion/Components/BmotionInspector.razor b/src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionInspector.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Components/BmotionInspector.razor
rename to src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionInspector.razor
diff --git a/src/Bmotion/Bit.Bmotion/Components/BmotionLayoutGroup.cs b/src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionLayoutGroup.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Components/BmotionLayoutGroup.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionLayoutGroup.cs
diff --git a/src/Bmotion/Bit.Bmotion/Components/BmotionPresenceGroup.cs b/src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionPresenceGroup.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Components/BmotionPresenceGroup.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionPresenceGroup.cs
diff --git a/src/Bmotion/Bit.Bmotion/Components/BmotionPresenceSwitch.cs b/src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionPresenceSwitch.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Components/BmotionPresenceSwitch.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionPresenceSwitch.cs
diff --git a/src/Bmotion/Bit.Bmotion/Components/BmotionReorderGroup.cs b/src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionReorderGroup.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Components/BmotionReorderGroup.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionReorderGroup.cs
diff --git a/src/Bmotion/Bit.Bmotion/Components/BmotionSplitText.cs b/src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionSplitText.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Components/BmotionSplitText.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionSplitText.cs
diff --git a/src/Bmotion/Bit.Bmotion/Components/BmotionTextSplitter.cs b/src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionTextSplitter.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Components/BmotionTextSplitter.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Components/BmotionTextSplitter.cs
diff --git a/src/Bmotion/Bit.Bmotion/Context/BmotionConfigContext.cs b/src/Utilities/Bmotion/Bit.Bmotion/Context/BmotionConfigContext.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Context/BmotionConfigContext.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Context/BmotionConfigContext.cs
diff --git a/src/Bmotion/Bit.Bmotion/Context/BmotionPresenceContext.cs b/src/Utilities/Bmotion/Bit.Bmotion/Context/BmotionPresenceContext.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Context/BmotionPresenceContext.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Context/BmotionPresenceContext.cs
diff --git a/src/Bmotion/Bit.Bmotion/Context/BmotionVariantContext.cs b/src/Utilities/Bmotion/Bit.Bmotion/Context/BmotionVariantContext.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Context/BmotionVariantContext.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Context/BmotionVariantContext.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmEaseFunctions.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmEaseFunctions.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmEaseFunctions.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmEaseFunctions.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionAnimationEngine.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionAnimationEngine.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionAnimationEngine.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionAnimationEngine.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionArcDriver.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionArcDriver.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionArcDriver.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionArcDriver.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionArcTargets.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionArcTargets.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionArcTargets.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionArcTargets.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionBrowserTiming.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionBrowserTiming.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionBrowserTiming.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionBrowserTiming.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionColorInterpolator.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionColorInterpolator.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionColorInterpolator.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionColorInterpolator.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionColorKeyframesDriver.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionColorKeyframesDriver.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionColorKeyframesDriver.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionColorKeyframesDriver.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionColorTweenDriver.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionColorTweenDriver.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionColorTweenDriver.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionColorTweenDriver.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionContinuations.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionContinuations.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionContinuations.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionContinuations.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionCssFormat.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionCssFormat.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionCssFormat.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionCssFormat.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionCssValidator.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionCssValidator.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionCssValidator.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionCssValidator.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionDiagnostics.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionDiagnostics.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionDiagnostics.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionDiagnostics.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionElementAnimationState.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionElementAnimationState.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionElementAnimationState.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionElementAnimationState.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionInertiaDriver.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionInertiaDriver.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionInertiaDriver.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionInertiaDriver.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionNumericKeyframesDriver.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionNumericKeyframesDriver.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionNumericKeyframesDriver.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionNumericKeyframesDriver.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionPrerenderCss.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionPrerenderCss.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionPrerenderCss.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionPrerenderCss.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionSequenceScheduler.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionSequenceScheduler.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionSequenceScheduler.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionSequenceScheduler.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionSpringDriver.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionSpringDriver.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionSpringDriver.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionSpringDriver.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionStringMixer.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionStringMixer.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionStringMixer.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionStringMixer.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionTransformComposer.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionTransformComposer.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionTransformComposer.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionTransformComposer.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionTweenDriver.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionTweenDriver.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionTweenDriver.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionTweenDriver.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/BmotionWaapiContinuationDriver.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionWaapiContinuationDriver.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/BmotionWaapiContinuationDriver.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/BmotionWaapiContinuationDriver.cs
diff --git a/src/Bmotion/Bit.Bmotion/Engine/IBmotionAnimationDriver.cs b/src/Utilities/Bmotion/Bit.Bmotion/Engine/IBmotionAnimationDriver.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Engine/IBmotionAnimationDriver.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Engine/IBmotionAnimationDriver.cs
diff --git a/src/Bmotion/Bit.Bmotion/Interop/BmotionBoundingRect.cs b/src/Utilities/Bmotion/Bit.Bmotion/Interop/BmotionBoundingRect.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Interop/BmotionBoundingRect.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Interop/BmotionBoundingRect.cs
diff --git a/src/Bmotion/Bit.Bmotion/Interop/BmotionInterop.cs b/src/Utilities/Bmotion/Bit.Bmotion/Interop/BmotionInterop.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Interop/BmotionInterop.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Interop/BmotionInterop.cs
diff --git a/src/Bmotion/Bit.Bmotion/Interop/BmotionXY.cs b/src/Utilities/Bmotion/Bit.Bmotion/Interop/BmotionXY.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Interop/BmotionXY.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Interop/BmotionXY.cs
diff --git a/src/Bmotion/Bit.Bmotion/Interop/IBmotionInterop.cs b/src/Utilities/Bmotion/Bit.Bmotion/Interop/IBmotionInterop.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Interop/IBmotionInterop.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Interop/IBmotionInterop.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/Bm.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/Bm.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/Bm.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/Bm.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmArc.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmArc.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmArc.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmArc.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmColorSpace.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmColorSpace.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmColorSpace.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmColorSpace.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmCssSafeMode.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmCssSafeMode.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmCssSafeMode.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmCssSafeMode.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmDrag.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmDrag.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmDrag.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmDrag.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmDragConstraints.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmDragConstraints.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmDragConstraints.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmDragConstraints.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmDragControls.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmDragControls.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmDragControls.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmDragControls.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmDragElastic.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmDragElastic.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmDragElastic.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmDragElastic.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmEase.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmEase.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmEase.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmEase.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmKeyframes.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmKeyframes.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmKeyframes.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmKeyframes.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmLayout.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmLayout.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmLayout.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmLayout.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmLayoutAnchor.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmLayoutAnchor.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmLayoutAnchor.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmLayoutAnchor.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmPanInfo.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmPanInfo.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmPanInfo.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmPanInfo.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmPoint.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmPoint.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmPoint.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmPoint.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmPrerenderMode.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmPrerenderMode.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmPrerenderMode.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmPrerenderMode.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmPresenceMode.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmPresenceMode.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmPresenceMode.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmPresenceMode.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmProps.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmProps.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmProps.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmProps.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmReducedMotionMode.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmReducedMotionMode.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmReducedMotionMode.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmReducedMotionMode.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmRepeat.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmRepeat.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmRepeat.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmRepeat.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmScrollInfo.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmScrollInfo.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmScrollInfo.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmScrollInfo.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmScrollOptions.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmScrollOptions.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmScrollOptions.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmScrollOptions.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmScrollTimeline.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmScrollTimeline.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmScrollTimeline.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmScrollTimeline.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmSequence.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmSequence.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmSequence.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmSequence.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmSplitBy.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmSplitBy.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmSplitBy.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmSplitBy.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmStagger.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmStagger.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmStagger.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmStagger.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmStepJump.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmStepJump.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmStepJump.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmStepJump.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmStringKeyframes.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmStringKeyframes.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmStringKeyframes.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmStringKeyframes.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmTarget.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmTarget.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmTarget.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmTarget.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmTransformTemplate.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmTransformTemplate.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmTransformTemplate.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmTransformTemplate.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmTransition.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmTransition.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmTransition.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmTransition.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmVariants.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmVariants.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmVariants.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmVariants.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmViewport.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmViewport.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmViewport.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmViewport.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmWhen.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmWhen.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmWhen.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmWhen.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmotionTransitionConfig.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmotionTransitionConfig.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmotionTransitionConfig.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmotionTransitionConfig.cs
diff --git a/src/Bmotion/Bit.Bmotion/Models/BmotionTransitionType.cs b/src/Utilities/Bmotion/Bit.Bmotion/Models/BmotionTransitionType.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Models/BmotionTransitionType.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Models/BmotionTransitionType.cs
diff --git a/src/Bmotion/Bit.Bmotion/README.md b/src/Utilities/Bmotion/Bit.Bmotion/README.md
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/README.md
rename to src/Utilities/Bmotion/Bit.Bmotion/README.md
diff --git a/src/Bmotion/Bit.Bmotion/Scripts/DotNet.d.ts b/src/Utilities/Bmotion/Bit.Bmotion/Scripts/DotNet.d.ts
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Scripts/DotNet.d.ts
rename to src/Utilities/Bmotion/Bit.Bmotion/Scripts/DotNet.d.ts
diff --git a/src/Bmotion/Bit.Bmotion/Scripts/bit-bmotion.ts b/src/Utilities/Bmotion/Bit.Bmotion/Scripts/bit-bmotion.ts
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Scripts/bit-bmotion.ts
rename to src/Utilities/Bmotion/Bit.Bmotion/Scripts/bit-bmotion.ts
diff --git a/src/Bmotion/Bit.Bmotion/Services/BmAnimationControls.cs b/src/Utilities/Bmotion/Bit.Bmotion/Services/BmAnimationControls.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Services/BmAnimationControls.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Services/BmAnimationControls.cs
diff --git a/src/Bmotion/Bit.Bmotion/Services/BmRangeMap.cs b/src/Utilities/Bmotion/Bit.Bmotion/Services/BmRangeMap.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Services/BmRangeMap.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Services/BmRangeMap.cs
diff --git a/src/Bmotion/Bit.Bmotion/Services/BmValue.cs b/src/Utilities/Bmotion/Bit.Bmotion/Services/BmValue.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Services/BmValue.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Services/BmValue.cs
diff --git a/src/Bmotion/Bit.Bmotion/Services/BmotionAnimateService.cs b/src/Utilities/Bmotion/Bit.Bmotion/Services/BmotionAnimateService.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Services/BmotionAnimateService.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Services/BmotionAnimateService.cs
diff --git a/src/Bmotion/Bit.Bmotion/Services/BmotionLayoutRegistry.cs b/src/Utilities/Bmotion/Bit.Bmotion/Services/BmotionLayoutRegistry.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Services/BmotionLayoutRegistry.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Services/BmotionLayoutRegistry.cs
diff --git a/src/Bmotion/Bit.Bmotion/Services/BmotionPrerenderState.cs b/src/Utilities/Bmotion/Bit.Bmotion/Services/BmotionPrerenderState.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Services/BmotionPrerenderState.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Services/BmotionPrerenderState.cs
diff --git a/src/Bmotion/Bit.Bmotion/Services/BmotionScrollTracker.cs b/src/Utilities/Bmotion/Bit.Bmotion/Services/BmotionScrollTracker.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Services/BmotionScrollTracker.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Services/BmotionScrollTracker.cs
diff --git a/src/Bmotion/Bit.Bmotion/Services/BmotionViewTransition.cs b/src/Utilities/Bmotion/Bit.Bmotion/Services/BmotionViewTransition.cs
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/Services/BmotionViewTransition.cs
rename to src/Utilities/Bmotion/Bit.Bmotion/Services/BmotionViewTransition.cs
diff --git a/src/Bmotion/Bit.Bmotion/_Imports.razor b/src/Utilities/Bmotion/Bit.Bmotion/_Imports.razor
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/_Imports.razor
rename to src/Utilities/Bmotion/Bit.Bmotion/_Imports.razor
diff --git a/src/Bmotion/Bit.Bmotion/package-lock.json b/src/Utilities/Bmotion/Bit.Bmotion/package-lock.json
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/package-lock.json
rename to src/Utilities/Bmotion/Bit.Bmotion/package-lock.json
diff --git a/src/Bmotion/Bit.Bmotion/package.json b/src/Utilities/Bmotion/Bit.Bmotion/package.json
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/package.json
rename to src/Utilities/Bmotion/Bit.Bmotion/package.json
diff --git a/src/Bmotion/Bit.Bmotion/tsconfig.json b/src/Utilities/Bmotion/Bit.Bmotion/tsconfig.json
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/tsconfig.json
rename to src/Utilities/Bmotion/Bit.Bmotion/tsconfig.json
diff --git a/src/Bmotion/Bit.Bmotion/wwwroot/bit-bmotion.css b/src/Utilities/Bmotion/Bit.Bmotion/wwwroot/bit-bmotion.css
similarity index 100%
rename from src/Bmotion/Bit.Bmotion/wwwroot/bit-bmotion.css
rename to src/Utilities/Bmotion/Bit.Bmotion/wwwroot/bit-bmotion.css
diff --git a/src/Bmotion/README.md b/src/Utilities/Bmotion/README.md
similarity index 100%
rename from src/Bmotion/README.md
rename to src/Utilities/Bmotion/README.md
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/AssemblySetup.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/AssemblySetup.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/AssemblySetup.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/AssemblySetup.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/BasicsTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/BasicsTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/BasicsTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/BasicsTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Bit.Bmotion.Tests.E2E.csproj b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Bit.Bmotion.Tests.E2E.csproj
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Bit.Bmotion.Tests.E2E.csproj
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Bit.Bmotion.Tests.E2E.csproj
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ConfigTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ConfigTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ConfigTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ConfigTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/DragTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/DragTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/DragTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/DragTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/GesturesTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/GesturesTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/GesturesTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/GesturesTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/GlobalUsings.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/GlobalUsings.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/GlobalUsings.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/GlobalUsings.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/InViewTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/InViewTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/InViewTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/InViewTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/BmotionPageTest.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/BmotionPageTest.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/BmotionPageTest.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/BmotionPageTest.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/BrowserLaunch.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/BrowserLaunch.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/BrowserLaunch.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/BrowserLaunch.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/ChildProcess.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/ChildProcess.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/ChildProcess.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/ChildProcess.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/E2EEnvironment.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/E2EEnvironment.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/E2EEnvironment.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/E2EEnvironment.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessBuild.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessBuild.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessBuild.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessBuild.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessHostKinds.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessHostKinds.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessHostKinds.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessHostKinds.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessProfile.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessProfile.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessProfile.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessProfile.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessTarget.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessTarget.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessTarget.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/HarnessTarget.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/MotionState.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/MotionState.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/MotionState.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/MotionState.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/PlaywrightSession.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/PlaywrightSession.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/PlaywrightSession.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/PlaywrightSession.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/RepoLayout.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/RepoLayout.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/RepoLayout.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/RepoLayout.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/WebHarnessHost.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/WebHarnessHost.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/WebHarnessHost.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/Infrastructure/WebHarnessHost.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/LayoutTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/LayoutTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/LayoutTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/LayoutTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/MiscTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/MiscTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/MiscTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/MiscTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/PrerenderTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/PrerenderTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/PrerenderTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/PrerenderTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/PresenceTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/PresenceTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/PresenceTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/PresenceTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ProgrammaticTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ProgrammaticTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ProgrammaticTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ProgrammaticTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/README.md b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/README.md
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/README.md
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/README.md
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ReorderTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ReorderTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ReorderTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ReorderTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ScrollTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ScrollTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ScrollTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/ScrollTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/SplitTextTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/SplitTextTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/SplitTextTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/SplitTextTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/VariantsTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/VariantsTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/VariantsTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/VariantsTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/testconfig.json b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/testconfig.json
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.E2E/testconfig.json
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.E2E/testconfig.json
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Bit.Bmotion.Tests.Harness.Web.Client.csproj b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Bit.Bmotion.Tests.Harness.Web.Client.csproj
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Bit.Bmotion.Tests.Harness.Web.Client.csproj
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Bit.Bmotion.Tests.Harness.Web.Client.csproj
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/HarnessOptions.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/HarnessOptions.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/HarnessOptions.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/HarnessOptions.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Basics.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Basics.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Basics.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Basics.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Config.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Config.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Config.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Config.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Drag.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Drag.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Drag.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Drag.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Gestures.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Gestures.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Gestures.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Gestures.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/InView.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/InView.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/InView.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/InView.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Index.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Index.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Index.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Index.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Layout.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Layout.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Layout.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Layout.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Misc.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Misc.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Misc.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Misc.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Prerender.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Prerender.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Prerender.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Prerender.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Presence.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Presence.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Presence.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Presence.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Programmatic.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Programmatic.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Programmatic.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Programmatic.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Reorder.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Reorder.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Reorder.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Reorder.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Scroll.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Scroll.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Scroll.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Scroll.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/SplitText.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/SplitText.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/SplitText.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/SplitText.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Strict.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Strict.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Strict.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Strict.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Variants.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Variants.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Variants.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/Variants.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/_Imports.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/_Imports.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/_Imports.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Pages/_Imports.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Program.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Program.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Program.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Program.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Routes.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Routes.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Routes.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Routes.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/DispatcherProbe.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/DispatcherProbe.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/DispatcherProbe.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/DispatcherProbe.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/EventLog.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/EventLog.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/EventLog.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/EventLog.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/HarnessHeader.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/HarnessHeader.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/HarnessHeader.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/HarnessHeader.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/HarnessPage.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/HarnessPage.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/HarnessPage.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/HarnessPage.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/Readout.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/Readout.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/Readout.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/Shared/Readout.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/_Imports.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/_Imports.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/_Imports.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/_Imports.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/wwwroot/harness.css b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/wwwroot/harness.css
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/wwwroot/harness.css
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web.Client/wwwroot/harness.css
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Bit.Bmotion.Tests.Harness.Web.csproj b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Bit.Bmotion.Tests.Harness.Web.csproj
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Bit.Bmotion.Tests.Harness.Web.csproj
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Bit.Bmotion.Tests.Harness.Web.csproj
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Components/App.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Components/App.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Components/App.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Components/App.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Components/_Imports.razor b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Components/_Imports.razor
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Components/_Imports.razor
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Components/_Imports.razor
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/HarnessRenderModes.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/HarnessRenderModes.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/HarnessRenderModes.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/HarnessRenderModes.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Program.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Program.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Program.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Program.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Properties/launchSettings.json b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Properties/launchSettings.json
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Properties/launchSettings.json
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Harness.Web/Properties/launchSettings.json
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Bit.Bmotion.Tests.Mcp.csproj b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Bit.Bmotion.Tests.Mcp.csproj
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Bit.Bmotion.Tests.Mcp.csproj
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Bit.Bmotion.Tests.Mcp.csproj
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Controllers/McpControllerTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Controllers/McpControllerTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Controllers/McpControllerTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Controllers/McpControllerTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Controllers/McpSurfaceTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Controllers/McpSurfaceTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Controllers/McpSurfaceTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Controllers/McpSurfaceTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/GlobalUsings.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/GlobalUsings.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/GlobalUsings.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/GlobalUsings.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Protocol/McpServerIntegrationTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Protocol/McpServerIntegrationTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Protocol/McpServerIntegrationTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Protocol/McpServerIntegrationTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/ApiCatalogTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/ApiCatalogTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/ApiCatalogTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/ApiCatalogTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/CodeReviewTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/CodeReviewTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/CodeReviewTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/CodeReviewTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/EasingCatalogTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/EasingCatalogTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/EasingCatalogTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/EasingCatalogTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/MotionLabTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/MotionLabTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/MotionLabTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/MotionLabTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/PropertyCatalogTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/PropertyCatalogTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/PropertyCatalogTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/PropertyCatalogTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/RecipeCatalogTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/RecipeCatalogTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/RecipeCatalogTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/RecipeCatalogTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/SearchIndexTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/SearchIndexTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/SearchIndexTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/SearchIndexTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/SetupGuideTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/SetupGuideTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/SetupGuideTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/SetupGuideTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/SourceCatalogTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/SourceCatalogTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/SourceCatalogTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/SourceCatalogTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/TransitionSpecTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/TransitionSpecTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/TransitionSpecTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/TransitionSpecTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/XmlDocsTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/XmlDocsTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/XmlDocsTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/Services/XmlDocsTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/TestInfra/BmotionMcpServerFixture.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/TestInfra/BmotionMcpServerFixture.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/TestInfra/BmotionMcpServerFixture.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests.Mcp/TestInfra/BmotionMcpServerFixture.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Bit.Bmotion.Tests.csproj b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Bit.Bmotion.Tests.csproj
similarity index 88%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Bit.Bmotion.Tests.csproj
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Bit.Bmotion.Tests.csproj
index 1024a62737b..63485c01fa1 100644
--- a/src/Bmotion/Tests/Bit.Bmotion.Tests/Bit.Bmotion.Tests.csproj
+++ b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Bit.Bmotion.Tests.csproj
@@ -10,7 +10,7 @@
truefalsetrue
- ..\..\..\AssemblyOriginatorKeyFile.snk
+ ..\..\..\..\AssemblyOriginatorKeyFile.snk
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/AnimatePresenceTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/AnimatePresenceTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/AnimatePresenceTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/AnimatePresenceTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/AsyncLifecycleTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/AsyncLifecycleTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/AsyncLifecycleTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/AsyncLifecycleTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/BmotionComponentTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/BmotionComponentTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/BmotionComponentTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/BmotionComponentTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/ChildContentRewriterTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/ChildContentRewriterTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/ChildContentRewriterTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/ChildContentRewriterTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/ConfigCascadeTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/ConfigCascadeTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/ConfigCascadeTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/ConfigCascadeTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/CssSafeModeTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/CssSafeModeTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/CssSafeModeTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/CssSafeModeTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/DragEdgesTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/DragEdgesTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/DragEdgesTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/DragEdgesTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/DxTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/DxTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/DxTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/DxTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/GestureCallbackTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/GestureCallbackTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/GestureCallbackTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/GestureCallbackTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/GestureLifecycleTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/GestureLifecycleTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/GestureLifecycleTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/GestureLifecycleTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/GestureRevertTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/GestureRevertTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/GestureRevertTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/GestureRevertTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/InitialFalseTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/InitialFalseTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/InitialFalseTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/InitialFalseTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/InspectorTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/InspectorTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/InspectorTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/InspectorTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/LayoutModeTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/LayoutModeTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/LayoutModeTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/LayoutModeTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/LayoutProjectionTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/LayoutProjectionTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/LayoutProjectionTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/LayoutProjectionTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/PrerenderTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/PrerenderTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/PrerenderTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/PrerenderTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/PresenceGroupTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/PresenceGroupTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/PresenceGroupTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/PresenceGroupTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/PresenceLifecycleTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/PresenceLifecycleTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/PresenceLifecycleTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/PresenceLifecycleTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/PresenceSwitchTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/PresenceSwitchTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/PresenceSwitchTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/PresenceSwitchTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/ReducedMotionTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/ReducedMotionTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/ReducedMotionTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/ReducedMotionTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/ReorderGroupTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/ReorderGroupTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/ReorderGroupTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/ReorderGroupTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/ReorderMeasurementTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/ReorderMeasurementTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/ReorderMeasurementTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/ReorderMeasurementTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/ScrollTimelineTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/ScrollTimelineTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/ScrollTimelineTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/ScrollTimelineTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/SplitTextOrchestrationTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/SplitTextOrchestrationTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/SplitTextOrchestrationTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/SplitTextOrchestrationTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/SplitTextTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/SplitTextTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/SplitTextTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/SplitTextTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/TransformTemplateTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/TransformTemplateTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/TransformTemplateTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/TransformTemplateTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/VariantChildLifecycleTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/VariantChildLifecycleTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/VariantChildLifecycleTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/VariantChildLifecycleTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/VariantInheritTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/VariantInheritTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/VariantInheritTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/VariantInheritTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/VariantOrchestrationTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/VariantOrchestrationTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/VariantOrchestrationTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/VariantOrchestrationTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Components/ViewportRootTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/ViewportRootTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Components/ViewportRootTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Components/ViewportRootTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Context/PresenceContextTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Context/PresenceContextTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Context/PresenceContextTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Context/PresenceContextTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Context/VariantContextTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Context/VariantContextTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Context/VariantContextTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Context/VariantContextTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ArcPathTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ArcPathTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ArcPathTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ArcPathTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/BmPropsCompositionGoldenTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/BmPropsCompositionGoldenTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/BmPropsCompositionGoldenTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/BmPropsCompositionGoldenTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/BrowserTimingTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/BrowserTimingTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/BrowserTimingTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/BrowserTimingTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/CapabilitiesTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/CapabilitiesTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/CapabilitiesTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/CapabilitiesTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ColorInterpolatorTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ColorInterpolatorTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ColorInterpolatorTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ColorInterpolatorTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ColorTweenDriverTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ColorTweenDriverTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ColorTweenDriverTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ColorTweenDriverTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ContinuationsTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ContinuationsTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ContinuationsTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ContinuationsTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/CssValidatorTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/CssValidatorTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/CssValidatorTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/CssValidatorTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/CultureInvarianceTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/CultureInvarianceTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/CultureInvarianceTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/CultureInvarianceTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/DiagnosticsTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/DiagnosticsTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/DiagnosticsTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/DiagnosticsTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EasingFunctionsTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EasingFunctionsTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EasingFunctionsTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EasingFunctionsTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EasingPresetsTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EasingPresetsTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EasingPresetsTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EasingPresetsTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EngineFlushTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EngineFlushTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EngineFlushTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EngineFlushTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EngineFrameTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EngineFrameTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EngineFrameTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/EngineFrameTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ForceInstantInertiaTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ForceInstantInertiaTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ForceInstantInertiaTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/ForceInstantInertiaTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/IndividualTransformTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/IndividualTransformTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/IndividualTransformTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/IndividualTransformTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/InertiaDriverTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/InertiaDriverTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/InertiaDriverTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/InertiaDriverTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/KeyframeOffloadTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/KeyframeOffloadTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/KeyframeOffloadTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/KeyframeOffloadTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/KeyframesDriverTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/KeyframesDriverTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/KeyframesDriverTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/KeyframesDriverTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/OklabColorTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/OklabColorTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/OklabColorTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/OklabColorTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/PathMorphTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/PathMorphTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/PathMorphTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/PathMorphTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/PlaybackRateOffloadTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/PlaybackRateOffloadTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/PlaybackRateOffloadTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/PlaybackRateOffloadTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/PrerenderCssTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/PrerenderCssTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/PrerenderCssTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/PrerenderCssTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/SequenceSchedulerTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/SequenceSchedulerTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/SequenceSchedulerTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/SequenceSchedulerTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/SpringDriverTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/SpringDriverTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/SpringDriverTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/SpringDriverTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/StringMixerTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/StringMixerTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/StringMixerTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/StringMixerTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/TransformComposerTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/TransformComposerTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/TransformComposerTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/TransformComposerTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/TweenDriverTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/TweenDriverTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/TweenDriverTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/TweenDriverTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/WaapiContinuationTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/WaapiContinuationTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Engine/WaapiContinuationTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Engine/WaapiContinuationTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/GlobalUsings.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/GlobalUsings.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/GlobalUsings.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/GlobalUsings.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Interop/BmotionInteropTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Interop/BmotionInteropTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Interop/BmotionInteropTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Interop/BmotionInteropTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Interop/InteropContractTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Interop/InteropContractTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Interop/InteropContractTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Interop/InteropContractTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Models/BmApiTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/BmApiTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Models/BmApiTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/BmApiTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Models/BmValueTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/BmValueTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Models/BmValueTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/BmValueTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Models/MotionPathTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/MotionPathTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Models/MotionPathTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/MotionPathTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Models/OrchestrationTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/OrchestrationTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Models/OrchestrationTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/OrchestrationTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Models/PerPropertyTransitionTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/PerPropertyTransitionTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Models/PerPropertyTransitionTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/PerPropertyTransitionTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Models/PropertySurfaceTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/PropertySurfaceTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Models/PropertySurfaceTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/PropertySurfaceTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Models/StaggerTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/StaggerTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Models/StaggerTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/StaggerTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Models/TransitionConfigTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/TransitionConfigTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Models/TransitionConfigTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/TransitionConfigTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Models/TransitionWithDelayTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/TransitionWithDelayTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Models/TransitionWithDelayTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/TransitionWithDelayTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Models/ValueUtilityTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/ValueUtilityTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Models/ValueUtilityTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Models/ValueUtilityTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Services/AnimateServiceStateTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Services/AnimateServiceStateTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Services/AnimateServiceStateTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Services/AnimateServiceStateTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Services/AnimateServiceTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Services/AnimateServiceTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Services/AnimateServiceTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Services/AnimateServiceTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Services/ScrollTrackerTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Services/ScrollTrackerTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Services/ScrollTrackerTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Services/ScrollTrackerTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Services/ServiceRegistrationTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Services/ServiceRegistrationTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Services/ServiceRegistrationTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Services/ServiceRegistrationTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/Services/ViewTransitionTests.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Services/ViewTransitionTests.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/Services/ViewTransitionTests.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/Services/ViewTransitionTests.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/BmotionTestContext.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/BmotionTestContext.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/BmotionTestContext.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/BmotionTestContext.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/FakeBmotionInterop.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/FakeBmotionInterop.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/FakeBmotionInterop.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/FakeBmotionInterop.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/ListLogger.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/ListLogger.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/ListLogger.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/ListLogger.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/ManualSynchronizationContext.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/ManualSynchronizationContext.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/ManualSynchronizationContext.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/ManualSynchronizationContext.cs
diff --git a/src/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/ToggleHost.cs b/src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/ToggleHost.cs
similarity index 100%
rename from src/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/ToggleHost.cs
rename to src/Utilities/Bmotion/Tests/Bit.Bmotion.Tests/TestInfra/ToggleHost.cs
diff --git a/src/Bmotion/Tests/bit-bmotion-js/.gitignore b/src/Utilities/Bmotion/Tests/bit-bmotion-js/.gitignore
similarity index 100%
rename from src/Bmotion/Tests/bit-bmotion-js/.gitignore
rename to src/Utilities/Bmotion/Tests/bit-bmotion-js/.gitignore
diff --git a/src/Bmotion/Tests/bit-bmotion-js/animation-range.test.js b/src/Utilities/Bmotion/Tests/bit-bmotion-js/animation-range.test.js
similarity index 100%
rename from src/Bmotion/Tests/bit-bmotion-js/animation-range.test.js
rename to src/Utilities/Bmotion/Tests/bit-bmotion-js/animation-range.test.js
diff --git a/src/Bmotion/Tests/bit-bmotion-js/drag-math.test.js b/src/Utilities/Bmotion/Tests/bit-bmotion-js/drag-math.test.js
similarity index 100%
rename from src/Bmotion/Tests/bit-bmotion-js/drag-math.test.js
rename to src/Utilities/Bmotion/Tests/bit-bmotion-js/drag-math.test.js
diff --git a/src/Bmotion/Tests/bit-bmotion-js/flip-correction.test.js b/src/Utilities/Bmotion/Tests/bit-bmotion-js/flip-correction.test.js
similarity index 100%
rename from src/Bmotion/Tests/bit-bmotion-js/flip-correction.test.js
rename to src/Utilities/Bmotion/Tests/bit-bmotion-js/flip-correction.test.js
diff --git a/src/Bmotion/Tests/bit-bmotion-js/package-lock.json b/src/Utilities/Bmotion/Tests/bit-bmotion-js/package-lock.json
similarity index 100%
rename from src/Bmotion/Tests/bit-bmotion-js/package-lock.json
rename to src/Utilities/Bmotion/Tests/bit-bmotion-js/package-lock.json
diff --git a/src/Bmotion/Tests/bit-bmotion-js/package.json b/src/Utilities/Bmotion/Tests/bit-bmotion-js/package.json
similarity index 100%
rename from src/Bmotion/Tests/bit-bmotion-js/package.json
rename to src/Utilities/Bmotion/Tests/bit-bmotion-js/package.json
diff --git a/src/Bmotion/Tests/bit-bmotion-js/view-fraction.test.js b/src/Utilities/Bmotion/Tests/bit-bmotion-js/view-fraction.test.js
similarity index 100%
rename from src/Bmotion/Tests/bit-bmotion-js/view-fraction.test.js
rename to src/Utilities/Bmotion/Tests/bit-bmotion-js/view-fraction.test.js
diff --git a/src/Bonboarding/Bit.Bonboarding.slnx b/src/Utilities/Bonboarding/Bit.Bonboarding.slnx
similarity index 77%
rename from src/Bonboarding/Bit.Bonboarding.slnx
rename to src/Utilities/Bonboarding/Bit.Bonboarding.slnx
index 1983f0f0cd4..e8d5ce26d12 100644
--- a/src/Bonboarding/Bit.Bonboarding.slnx
+++ b/src/Utilities/Bonboarding/Bit.Bonboarding.slnx
@@ -1,9 +1,9 @@
-
-
-
-
+
+
+
+
diff --git a/src/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingInterop.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingInterop.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingInterop.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingInterop.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingInteropCallbacks.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingInteropCallbacks.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingInteropCallbacks.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingInteropCallbacks.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingLocalizer.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingLocalizer.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingLocalizer.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingLocalizer.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingObserver.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingObserver.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingObserver.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingObserver.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingService.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingService.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingService.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingService.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingStore.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingStore.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingStore.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingStore.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingTourSession.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingTourSession.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingTourSession.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Abstractions/IBonboardingTourSession.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Bit.Bonboarding.csproj b/src/Utilities/Bonboarding/Bit.Bonboarding/Bit.Bonboarding.csproj
similarity index 99%
rename from src/Bonboarding/Bit.Bonboarding/Bit.Bonboarding.csproj
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Bit.Bonboarding.csproj
index 183614d62a3..40e78b12375 100644
--- a/src/Bonboarding/Bit.Bonboarding/Bit.Bonboarding.csproj
+++ b/src/Utilities/Bonboarding/Bit.Bonboarding/Bit.Bonboarding.csproj
@@ -1,6 +1,6 @@
-
+ net10.0;net9.0;net8.0
diff --git a/src/Bonboarding/Bit.Bonboarding/BitBonboarding.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/BitBonboarding.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/BitBonboarding.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/BitBonboarding.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Components/BonboardingPopoverContent.razor b/src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingPopoverContent.razor
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Components/BonboardingPopoverContent.razor
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingPopoverContent.razor
diff --git a/src/Bonboarding/Bit.Bonboarding/Components/BonboardingProgress.razor b/src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingProgress.razor
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Components/BonboardingProgress.razor
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingProgress.razor
diff --git a/src/Bonboarding/Bit.Bonboarding/Components/BonboardingRoot.razor b/src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingRoot.razor
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Components/BonboardingRoot.razor
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingRoot.razor
diff --git a/src/Bonboarding/Bit.Bonboarding/Components/BonboardingRoot.razor.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingRoot.razor.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Components/BonboardingRoot.razor.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingRoot.razor.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Components/BonboardingStep.razor b/src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingStep.razor
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Components/BonboardingStep.razor
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingStep.razor
diff --git a/src/Bonboarding/Bit.Bonboarding/Components/BonboardingStep.razor.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingStep.razor.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Components/BonboardingStep.razor.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingStep.razor.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Components/BonboardingTour.razor b/src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingTour.razor
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Components/BonboardingTour.razor
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingTour.razor
diff --git a/src/Bonboarding/Bit.Bonboarding/Components/BonboardingTour.razor.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingTour.razor.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Components/BonboardingTour.razor.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Components/BonboardingTour.razor.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Core/BonboardingHostRegistry.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Core/BonboardingHostRegistry.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Core/BonboardingHostRegistry.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Core/BonboardingHostRegistry.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Core/BonboardingOptionResolver.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Core/BonboardingOptionResolver.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Core/BonboardingOptionResolver.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Core/BonboardingOptionResolver.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Core/BonboardingRouteMatcher.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Core/BonboardingRouteMatcher.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Core/BonboardingRouteMatcher.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Core/BonboardingRouteMatcher.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Core/BonboardingService.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Core/BonboardingService.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Core/BonboardingService.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Core/BonboardingService.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Core/BonboardingTourSession.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Core/BonboardingTourSession.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Core/BonboardingTourSession.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Core/BonboardingTourSession.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Internal/BonboardingCss.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Internal/BonboardingCss.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Internal/BonboardingCss.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Internal/BonboardingCss.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Internal/BonboardingInteropFailure.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Internal/BonboardingInteropFailure.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Internal/BonboardingInteropFailure.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Internal/BonboardingInteropFailure.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Interop/BonboardingAdvanceTriggerDescriptor.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Interop/BonboardingAdvanceTriggerDescriptor.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Interop/BonboardingAdvanceTriggerDescriptor.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Interop/BonboardingAdvanceTriggerDescriptor.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Interop/BonboardingBrowserEnvironment.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Interop/BonboardingBrowserEnvironment.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Interop/BonboardingBrowserEnvironment.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Interop/BonboardingBrowserEnvironment.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Interop/BonboardingInterop.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Interop/BonboardingInterop.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Interop/BonboardingInterop.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Interop/BonboardingInterop.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Interop/BonboardingStepActivation.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Interop/BonboardingStepActivation.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Interop/BonboardingStepActivation.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Interop/BonboardingStepActivation.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Interop/BonboardingStepGeometry.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Interop/BonboardingStepGeometry.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Interop/BonboardingStepGeometry.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Interop/BonboardingStepGeometry.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Interop/BonboardingTargetDescriptor.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Interop/BonboardingTargetDescriptor.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Interop/BonboardingTargetDescriptor.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Interop/BonboardingTargetDescriptor.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Interop/BonboardingTargetKind.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Interop/BonboardingTargetKind.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Interop/BonboardingTargetKind.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Interop/BonboardingTargetKind.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Layout/BonboardingPlacementEngine.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Layout/BonboardingPlacementEngine.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Layout/BonboardingPlacementEngine.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Layout/BonboardingPlacementEngine.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Layout/BonboardingPlacementRequest.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Layout/BonboardingPlacementRequest.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Layout/BonboardingPlacementRequest.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Layout/BonboardingPlacementRequest.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Layout/BonboardingPlacementResult.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Layout/BonboardingPlacementResult.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Layout/BonboardingPlacementResult.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Layout/BonboardingPlacementResult.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Localization/BonboardingDefaultLocalizer.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Localization/BonboardingDefaultLocalizer.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Localization/BonboardingDefaultLocalizer.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Localization/BonboardingDefaultLocalizer.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingAdvanceTrigger.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingAdvanceTrigger.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingAdvanceTrigger.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingAdvanceTrigger.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingAutoStart.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingAutoStart.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingAutoStart.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingAutoStart.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingDefaults.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingDefaults.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingDefaults.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingDefaults.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingDirection.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingDirection.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingDirection.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingDirection.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingEffectiveStepOptions.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingEffectiveStepOptions.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingEffectiveStepOptions.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingEffectiveStepOptions.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingEvent.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingEvent.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingEvent.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingEvent.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingEventKind.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingEventKind.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingEventKind.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingEventKind.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingException.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingException.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingException.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingException.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingInteractionMode.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingInteractionMode.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingInteractionMode.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingInteractionMode.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingLabels.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingLabels.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingLabels.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingLabels.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingMissingTargetBehavior.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingMissingTargetBehavior.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingMissingTargetBehavior.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingMissingTargetBehavior.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingOptions.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingOptions.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingOptions.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingOptions.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingPlacement.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingPlacement.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingPlacement.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingPlacement.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingPlacementAlign.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingPlacementAlign.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingPlacementAlign.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingPlacementAlign.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingPlacementSide.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingPlacementSide.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingPlacementSide.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingPlacementSide.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingProgressStyle.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingProgressStyle.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingProgressStyle.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingProgressStyle.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingRecord.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingRecord.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingRecord.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingRecord.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingRect.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingRect.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingRect.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingRect.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingScrollMode.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingScrollMode.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingScrollMode.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingScrollMode.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingSize.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingSize.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingSize.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingSize.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingSpotlightShape.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingSpotlightShape.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingSpotlightShape.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingSpotlightShape.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingStartOptions.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStartOptions.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingStartOptions.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStartOptions.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepAction.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepAction.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepAction.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepAction.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepActionEffect.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepActionEffect.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepActionEffect.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepActionEffect.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepActionStyle.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepActionStyle.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepActionStyle.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepActionStyle.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepChangeReason.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepChangeReason.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepChangeReason.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepChangeReason.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepChangedEventArgs.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepChangedEventArgs.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepChangedEventArgs.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepChangedEventArgs.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepContext.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepContext.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepContext.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepContext.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepDefinition.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepDefinition.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepDefinition.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepDefinition.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepOptions.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepOptions.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepOptions.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepOptions.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepRenderContext.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepRenderContext.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepRenderContext.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepRenderContext.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepTarget.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepTarget.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingStepTarget.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingStepTarget.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingTheme.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTheme.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingTheme.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTheme.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingTourContext.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTourContext.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingTourContext.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTourContext.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingTourDefinition.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTourDefinition.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingTourDefinition.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTourDefinition.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingTourEndReason.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTourEndReason.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingTourEndReason.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTourEndReason.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingTourEndedEventArgs.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTourEndedEventArgs.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingTourEndedEventArgs.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTourEndedEventArgs.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingTourSessionChange.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTourSessionChange.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingTourSessionChange.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTourSessionChange.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingTourSessionChangedEventArgs.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTourSessionChangedEventArgs.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingTourSessionChangedEventArgs.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTourSessionChangedEventArgs.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Models/BonboardingTourStatus.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTourStatus.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Models/BonboardingTourStatus.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Models/BonboardingTourStatus.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/README.md b/src/Utilities/Bonboarding/Bit.Bonboarding/README.md
similarity index 98%
rename from src/Bonboarding/Bit.Bonboarding/README.md
rename to src/Utilities/Bonboarding/Bit.Bonboarding/README.md
index f6ad5e081c4..407bfce3cf6 100644
--- a/src/Bonboarding/Bit.Bonboarding/README.md
+++ b/src/Utilities/Bonboarding/Bit.Bonboarding/README.md
@@ -70,4 +70,4 @@ variables and its placement engine.
The full guide - targeting, branching, multi-page tours, persistence, theming, headless rendering,
localization and the API reference - is in the
-[Bonboarding README](https://github.com/bitfoundation/bitplatform/blob/develop/src/Bonboarding/README.md).
+[Bonboarding README](https://github.com/bitfoundation/bitplatform/blob/develop/src/Utilities/Bonboarding/README.md).
diff --git a/src/Bonboarding/Bit.Bonboarding/Scripts/bit-bonboarding.ts b/src/Utilities/Bonboarding/Bit.Bonboarding/Scripts/bit-bonboarding.ts
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Scripts/bit-bonboarding.ts
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Scripts/bit-bonboarding.ts
diff --git a/src/Bonboarding/Bit.Bonboarding/Storage/BonboardingBrowserStore.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Storage/BonboardingBrowserStore.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Storage/BonboardingBrowserStore.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Storage/BonboardingBrowserStore.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Storage/BonboardingInMemoryStore.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Storage/BonboardingInMemoryStore.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Storage/BonboardingInMemoryStore.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Storage/BonboardingInMemoryStore.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Storage/BonboardingJsonContext.cs b/src/Utilities/Bonboarding/Bit.Bonboarding/Storage/BonboardingJsonContext.cs
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Storage/BonboardingJsonContext.cs
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Storage/BonboardingJsonContext.cs
diff --git a/src/Bonboarding/Bit.Bonboarding/Styles/bit-bonboarding.css b/src/Utilities/Bonboarding/Bit.Bonboarding/Styles/bit-bonboarding.css
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/Styles/bit-bonboarding.css
rename to src/Utilities/Bonboarding/Bit.Bonboarding/Styles/bit-bonboarding.css
diff --git a/src/Bonboarding/Bit.Bonboarding/_Imports.razor b/src/Utilities/Bonboarding/Bit.Bonboarding/_Imports.razor
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/_Imports.razor
rename to src/Utilities/Bonboarding/Bit.Bonboarding/_Imports.razor
diff --git a/src/Bonboarding/Bit.Bonboarding/package-lock.json b/src/Utilities/Bonboarding/Bit.Bonboarding/package-lock.json
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/package-lock.json
rename to src/Utilities/Bonboarding/Bit.Bonboarding/package-lock.json
diff --git a/src/Bonboarding/Bit.Bonboarding/package.json b/src/Utilities/Bonboarding/Bit.Bonboarding/package.json
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/package.json
rename to src/Utilities/Bonboarding/Bit.Bonboarding/package.json
diff --git a/src/Bonboarding/Bit.Bonboarding/tsconfig.json b/src/Utilities/Bonboarding/Bit.Bonboarding/tsconfig.json
similarity index 100%
rename from src/Bonboarding/Bit.Bonboarding/tsconfig.json
rename to src/Utilities/Bonboarding/Bit.Bonboarding/tsconfig.json
diff --git a/src/Bonboarding/Demo/Client/Bit.Bonboarding.Demo.Client.csproj b/src/Utilities/Bonboarding/Demo/Client/Bit.Bonboarding.Demo.Client.csproj
similarity index 100%
rename from src/Bonboarding/Demo/Client/Bit.Bonboarding.Demo.Client.csproj
rename to src/Utilities/Bonboarding/Demo/Client/Bit.Bonboarding.Demo.Client.csproj
diff --git a/src/Bonboarding/Demo/Client/Extensions/IServiceCollectionExtensions.cs b/src/Utilities/Bonboarding/Demo/Client/Extensions/IServiceCollectionExtensions.cs
similarity index 100%
rename from src/Bonboarding/Demo/Client/Extensions/IServiceCollectionExtensions.cs
rename to src/Utilities/Bonboarding/Demo/Client/Extensions/IServiceCollectionExtensions.cs
diff --git a/src/Bonboarding/Demo/Client/Layout/MainLayout.razor b/src/Utilities/Bonboarding/Demo/Client/Layout/MainLayout.razor
similarity index 100%
rename from src/Bonboarding/Demo/Client/Layout/MainLayout.razor
rename to src/Utilities/Bonboarding/Demo/Client/Layout/MainLayout.razor
diff --git a/src/Bonboarding/Demo/Client/Layout/ReconnectModal.razor b/src/Utilities/Bonboarding/Demo/Client/Layout/ReconnectModal.razor
similarity index 100%
rename from src/Bonboarding/Demo/Client/Layout/ReconnectModal.razor
rename to src/Utilities/Bonboarding/Demo/Client/Layout/ReconnectModal.razor
diff --git a/src/Bonboarding/Demo/Client/Layout/ReconnectModal.razor.css b/src/Utilities/Bonboarding/Demo/Client/Layout/ReconnectModal.razor.css
similarity index 100%
rename from src/Bonboarding/Demo/Client/Layout/ReconnectModal.razor.css
rename to src/Utilities/Bonboarding/Demo/Client/Layout/ReconnectModal.razor.css
diff --git a/src/Bonboarding/Demo/Client/Layout/ReconnectModal.razor.js b/src/Utilities/Bonboarding/Demo/Client/Layout/ReconnectModal.razor.js
similarity index 100%
rename from src/Bonboarding/Demo/Client/Layout/ReconnectModal.razor.js
rename to src/Utilities/Bonboarding/Demo/Client/Layout/ReconnectModal.razor.js
diff --git a/src/Bonboarding/Demo/Client/Pages/Dynamic.razor b/src/Utilities/Bonboarding/Demo/Client/Pages/Dynamic.razor
similarity index 100%
rename from src/Bonboarding/Demo/Client/Pages/Dynamic.razor
rename to src/Utilities/Bonboarding/Demo/Client/Pages/Dynamic.razor
diff --git a/src/Bonboarding/Demo/Client/Pages/Events.razor b/src/Utilities/Bonboarding/Demo/Client/Pages/Events.razor
similarity index 100%
rename from src/Bonboarding/Demo/Client/Pages/Events.razor
rename to src/Utilities/Bonboarding/Demo/Client/Pages/Events.razor
diff --git a/src/Bonboarding/Demo/Client/Pages/Flows.razor b/src/Utilities/Bonboarding/Demo/Client/Pages/Flows.razor
similarity index 100%
rename from src/Bonboarding/Demo/Client/Pages/Flows.razor
rename to src/Utilities/Bonboarding/Demo/Client/Pages/Flows.razor
diff --git a/src/Bonboarding/Demo/Client/Pages/Headless.razor b/src/Utilities/Bonboarding/Demo/Client/Pages/Headless.razor
similarity index 100%
rename from src/Bonboarding/Demo/Client/Pages/Headless.razor
rename to src/Utilities/Bonboarding/Demo/Client/Pages/Headless.razor
diff --git a/src/Bonboarding/Demo/Client/Pages/Home.razor b/src/Utilities/Bonboarding/Demo/Client/Pages/Home.razor
similarity index 100%
rename from src/Bonboarding/Demo/Client/Pages/Home.razor
rename to src/Utilities/Bonboarding/Demo/Client/Pages/Home.razor
diff --git a/src/Bonboarding/Demo/Client/Pages/McpServer.razor b/src/Utilities/Bonboarding/Demo/Client/Pages/McpServer.razor
similarity index 100%
rename from src/Bonboarding/Demo/Client/Pages/McpServer.razor
rename to src/Utilities/Bonboarding/Demo/Client/Pages/McpServer.razor
diff --git a/src/Bonboarding/Demo/Client/Pages/NotFound.razor b/src/Utilities/Bonboarding/Demo/Client/Pages/NotFound.razor
similarity index 100%
rename from src/Bonboarding/Demo/Client/Pages/NotFound.razor
rename to src/Utilities/Bonboarding/Demo/Client/Pages/NotFound.razor
diff --git a/src/Bonboarding/Demo/Client/Pages/PlacementLab.razor b/src/Utilities/Bonboarding/Demo/Client/Pages/PlacementLab.razor
similarity index 100%
rename from src/Bonboarding/Demo/Client/Pages/PlacementLab.razor
rename to src/Utilities/Bonboarding/Demo/Client/Pages/PlacementLab.razor
diff --git a/src/Bonboarding/Demo/Client/Pages/Theming.razor b/src/Utilities/Bonboarding/Demo/Client/Pages/Theming.razor
similarity index 100%
rename from src/Bonboarding/Demo/Client/Pages/Theming.razor
rename to src/Utilities/Bonboarding/Demo/Client/Pages/Theming.razor
diff --git a/src/Bonboarding/Demo/Client/Pages/Workspace.razor b/src/Utilities/Bonboarding/Demo/Client/Pages/Workspace.razor
similarity index 100%
rename from src/Bonboarding/Demo/Client/Pages/Workspace.razor
rename to src/Utilities/Bonboarding/Demo/Client/Pages/Workspace.razor
diff --git a/src/Bonboarding/Demo/Client/Pages/WorkspaceSettings.razor b/src/Utilities/Bonboarding/Demo/Client/Pages/WorkspaceSettings.razor
similarity index 100%
rename from src/Bonboarding/Demo/Client/Pages/WorkspaceSettings.razor
rename to src/Utilities/Bonboarding/Demo/Client/Pages/WorkspaceSettings.razor
diff --git a/src/Bonboarding/Demo/Client/Program.cs b/src/Utilities/Bonboarding/Demo/Client/Program.cs
similarity index 100%
rename from src/Bonboarding/Demo/Client/Program.cs
rename to src/Utilities/Bonboarding/Demo/Client/Program.cs
diff --git a/src/Bonboarding/Demo/Client/Routes.razor b/src/Utilities/Bonboarding/Demo/Client/Routes.razor
similarity index 100%
rename from src/Bonboarding/Demo/Client/Routes.razor
rename to src/Utilities/Bonboarding/Demo/Client/Routes.razor
diff --git a/src/Bonboarding/Demo/Client/Shared/AppFooter.razor b/src/Utilities/Bonboarding/Demo/Client/Shared/AppFooter.razor
similarity index 97%
rename from src/Bonboarding/Demo/Client/Shared/AppFooter.razor
rename to src/Utilities/Bonboarding/Demo/Client/Shared/AppFooter.razor
index f6ede9d8db3..306731d877f 100644
--- a/src/Bonboarding/Demo/Client/Shared/AppFooter.razor
+++ b/src/Utilities/Bonboarding/Demo/Client/Shared/AppFooter.razor
@@ -27,7 +27,7 @@