diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 90d71cb..6e1827e 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -23,8 +23,8 @@ jobs:
shell: pwsh
run: ./scripts/Verify-SolutionStructure.ps1
- name: Restore
- run: dotnet restore ChessRealms.ChessEngine.slnx --locked-mode
+ run: dotnet restore ChessRealms.Engine.slnx --locked-mode
- name: Release build
- run: dotnet build ChessRealms.ChessEngine.slnx --configuration Release --no-restore
+ run: dotnet build ChessRealms.Engine.slnx --configuration Release --no-restore
- name: Fast tests
- run: dotnet test ChessRealms.ChessEngine.slnx --configuration Release --no-build --filter "TestCategory!=Deep"
+ run: dotnet test ChessRealms.Engine.slnx --configuration Release --no-build --filter "TestCategory!=Deep"
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index 6d6032e..5d81475 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -10,10 +10,10 @@ Run these commands from the repository root:
```sh
pwsh -NoProfile -File scripts/Verify-SolutionStructure.ps1
-dotnet sln ChessRealms.ChessEngine.slnx list
-dotnet restore ChessRealms.ChessEngine.slnx --locked-mode
-dotnet build ChessRealms.ChessEngine.slnx -c Release --no-restore
-dotnet test ChessRealms.ChessEngine.slnx -c Release --no-build --filter "TestCategory!=Deep"
+dotnet sln ChessRealms.Engine.slnx list
+dotnet restore ChessRealms.Engine.slnx --locked-mode
+dotnet build ChessRealms.Engine.slnx -c Release --no-restore
+dotnet test ChessRealms.Engine.slnx -c Release --no-build --filter "TestCategory!=Deep"
git diff --check
```
@@ -30,7 +30,7 @@ local results; do not infer a CI, Linux, or Visual Studio pass from them.
## Repository and solution structure
-- `ChessRealms.ChessEngine.slnx`: the root solution in XML `.slnx` format.
+- `ChessRealms.Engine.slnx`: the root solution in XML `.slnx` format.
- `src/`: six projects (engine, tests, console, perft runner, benchmarks, and
magic-number search). Each project stays in its own physical directory.
- `docs/`: API documentation, support boundaries, and historical validation records.
@@ -76,7 +76,7 @@ the root and do not need entries in `docs`.
## Namespaces and project names
`ChessRealms` is the organization prefix, matching the configured GitHub origin
-`ChessRealms/ChessEngine`. `ChessRealms.ChessEngine` identifies the library;
+`ChessRealms/Engine`. `ChessRealms.Engine` identifies the library;
suffixes such as `.Tests`, `.Console`, `.Perft`, and `.Benchmark` identify related
projects by purpose. `ChessRealms.MagicBruteforce` is a supporting tool under the
same organization. This follows the
diff --git a/ChessRealms.ChessEngine.slnx b/ChessRealms.ChessEngine.slnx
deleted file mode 100644
index bdeeae2..0000000
--- a/ChessRealms.ChessEngine.slnx
+++ /dev/null
@@ -1,19 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/ChessRealms.Engine.slnx b/ChessRealms.Engine.slnx
new file mode 100644
index 0000000..1f8c61f
--- /dev/null
+++ b/ChessRealms.Engine.slnx
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/README.md b/README.md
index 935675e..402aa99 100644
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# ChessEngine
+# Engine
Chess engine with bitboard representation. The core library has no external package
dependencies. All six projects target .NET 10.
@@ -15,9 +15,9 @@ Run from the repository root:
```sh
dotnet --version
pwsh -NoProfile -File scripts/Verify-SolutionStructure.ps1
-dotnet restore ChessRealms.ChessEngine.slnx --locked-mode
-dotnet build ChessRealms.ChessEngine.slnx --configuration Release --no-restore
-dotnet test ChessRealms.ChessEngine.slnx --configuration Release --no-build --filter "TestCategory!=Deep"
+dotnet restore ChessRealms.Engine.slnx --locked-mode
+dotnet build ChessRealms.Engine.slnx --configuration Release --no-restore
+dotnet test ChessRealms.Engine.slnx --configuration Release --no-build --filter "TestCategory!=Deep"
```
For the ordinary developer loop, run `dotnet test` from the repository root.
@@ -29,7 +29,7 @@ The existing filters and NUnit `Explicit` behavior are unchanged.
Committed `packages.lock.json` files pin direct and transitive package versions
and content hashes. CI uses `--locked-mode` to reject dependency drift. When
intentionally updating packages, run
-`dotnet restore ChessRealms.ChessEngine.slnx --force-evaluate`, review the
+`dotnet restore ChessRealms.Engine.slnx --force-evaluate`, review the
lock-file changes, and repeat the checks above. When updating the SDK, update
`global.json` and this README together, then regenerate/review the lock files with
that SDK. Restore requires access to NuGet.org or a cache containing the locked packages.
@@ -46,7 +46,7 @@ that SDK. Restore requires access to NuGet.org or a cache containing the locked
opt-in for cost, not failing tests being suppressed. Select them explicitly:
```sh
-dotnet test ChessRealms.ChessEngine.slnx --configuration Release --no-build --filter "TestCategory=Deep"
+dotnet test ChessRealms.Engine.slnx --configuration Release --no-build --filter "TestCategory=Deep"
```
Run both test commands after the Release build, which compiles all tests. Tests,
@@ -61,7 +61,7 @@ that either GitHub Actions job has passed.
Optional coverage check using the existing VSTest collector:
```sh
-dotnet test ChessRealms.ChessEngine.slnx -c Release --no-build --filter "TestCategory!=Deep" --collect:"XPlat Code Coverage"
+dotnet test ChessRealms.Engine.slnx -c Release --no-build --filter "TestCategory!=Deep" --collect:"XPlat Code Coverage"
```
### Tool smoke checks
@@ -69,10 +69,10 @@ dotnet test ChessRealms.ChessEngine.slnx -c Release --no-build --filter "TestCat
After the Release build, run from the repository root:
```sh
-dotnet run --project src/ChessRealms.ChessEngine.Perft -c Release --no-build
+dotnet run --project src/ChessRealms.Engine.Perft -c Release --no-build
dotnet run --project src/ChessRealms.MagicBruteforce -c Release --no-build --no-launch-profile -- 42 1
-dotnet run --project src/ChessRealms.ChessEngine.Benchmark -c Release --no-build -- --job Dry --inProcess --filter "*StartPos_Depth_6*" --wakeLock None
-dotnet run --project src/ChessRealms.ChessEngine.Console -c Release --no-build
+dotnet run --project src/ChessRealms.Engine.Benchmark -c Release --no-build -- --job Dry --inProcess --filter "*StartPos_Depth_6*" --wakeLock None
+dotnet run --project src/ChessRealms.Engine.Console -c Release --no-build
```
Perft runs the initial position at depth 6: expect **119,060,324 nodes**.
@@ -139,7 +139,7 @@ See [the complete API guide](docs/game-rules-api.md) for contracts, FEN validati
FIDE draw rules, compatibility changes and exact dead-position detection limits.
```csharp
-using ChessRealms.ChessEngine;
+using ChessRealms.Engine;
var game = new ChessGame();
var moves = game.GetLegalMoves(); // read-only snapshot, initially 20
diff --git a/docs/dotnet-10-migration.md b/docs/dotnet-10-migration.md
index b9c3e23..a62a67c 100644
--- a/docs/dotnet-10-migration.md
+++ b/docs/dotnet-10-migration.md
@@ -1,7 +1,7 @@
# .NET 10 migration
> Repository organization note: the solution now lives at the repository root
-> as `ChessRealms.ChessEngine.slnx`.
+> as `ChessRealms.Engine.slnx`.
> Commands and results below preserve the paths used at the time of validation.
> See [CONTRIBUTING.md](../CONTRIBUTING.md) for current commands.
diff --git a/docs/game-rules-api.md b/docs/game-rules-api.md
index 2c0b661..eb27d3b 100644
--- a/docs/game-rules-api.md
+++ b/docs/game-rules-api.md
@@ -22,7 +22,7 @@ is rejected when promotion is required. There is no implicit queen. A suffix on
an ordinary move, e.g. `e2e4q`, is also rejected by the game.
```csharp
-using ChessRealms.ChessEngine;
+using ChessRealms.Engine;
var game = new ChessGame();
var legalMoves = game.GetLegalMoves(); // read-only snapshot, initially 20
@@ -121,7 +121,7 @@ not a history/outcome serialization format.
## FEN import and export
```csharp
-using ChessRealms.ChessEngine.Parsing;
+using ChessRealms.Engine.Parsing;
if (ChessGame.TryCreateFromFen("7k/P7/8/8/8/8/8/7K w - - 0 1", out var promotionGame))
{
diff --git a/docs/game-rules-validation.md b/docs/game-rules-validation.md
index 32ce7d5..af0856d 100644
--- a/docs/game-rules-validation.md
+++ b/docs/game-rules-validation.md
@@ -1,7 +1,7 @@
# Game-rules validation — 2026-09-10
> Repository organization note: the solution now lives at the repository root
-> as `ChessRealms.ChessEngine.slnx`.
+> as `ChessRealms.Engine.slnx`.
> Commands and results below preserve the paths used at the time of validation.
> See [CONTRIBUTING.md](../CONTRIBUTING.md) for current commands.
@@ -14,10 +14,10 @@ Local environment: Windows, .NET SDK **10.0.401**, Release configuration.
| Check | Result |
| --- | --- |
-| `dotnet restore src/ChessRealms.ChessEngine.sln --locked-mode` | Passed; no lock-file changes |
-| `dotnet build src/ChessRealms.ChessEngine.sln -c Release --no-restore` | Passed; all six projects, 0 warnings, 0 errors |
-| `dotnet test src/ChessRealms.ChessEngine.sln -c Release --no-build --filter "TestCategory!=Deep"` | 1010 passed, 0 failed, 0 skipped |
-| `dotnet test src/ChessRealms.ChessEngine.sln -c Release --no-build --filter "TestCategory=Deep"` | 16 passed, 0 failed, 0 skipped; 29 seconds |
+| `dotnet restore src/ChessRealms.Engine.sln --locked-mode` | Passed; no lock-file changes |
+| `dotnet build src/ChessRealms.Engine.sln -c Release --no-restore` | Passed; all six projects, 0 warnings, 0 errors |
+| `dotnet test src/ChessRealms.Engine.sln -c Release --no-build --filter "TestCategory!=Deep"` | 1010 passed, 0 failed, 0 skipped |
+| `dotnet test src/ChessRealms.Engine.sln -c Release --no-build --filter "TestCategory=Deep"` | 16 passed, 0 failed, 0 skipped; 29 seconds |
| Console scripted smoke | Passed: legal moves, invalid draw claim, Fool's Mate, explicit Black winner, terminal rejection, undo, exact FEN |
| `git diff --check` | Passed |
diff --git a/scripts/Verify-SolutionStructure.ps1 b/scripts/Verify-SolutionStructure.ps1
index 7b12047..bff22de 100644
--- a/scripts/Verify-SolutionStructure.ps1
+++ b/scripts/Verify-SolutionStructure.ps1
@@ -1,215 +1,89 @@
-#requires -Version 7.0
-<#
-Checks the SLNX solution against tracked and untracked, nonignored repository files.
-Run with: pwsh -NoProfile -File scripts/Verify-SolutionStructure.ps1
-No files are changed. Git must be available on PATH.
-#>
+$ErrorActionPreference = "Stop"
-Set-StrictMode -Version Latest
-$ErrorActionPreference = 'Stop'
-$repositoryRoot = [IO.Path]::GetFullPath((Join-Path $PSScriptRoot '..'))
-$solutionPath = Join-Path $repositoryRoot 'ChessRealms.ChessEngine.slnx'
-$issues = [Collections.Generic.List[string]]::new()
+$repositoryRoot = Split-Path -Parent $PSScriptRoot
+$solutionPath = Join-Path $repositoryRoot "ChessRealms.Engine.slnx"
-function Normalize-RelativePath([string] $Path) {
- # Normalize separators only: spelling and hierarchy must remain exact.
- return $Path.Replace('\', '/')
-}
-
-function Get-ParentPath([string] $Path) {
- $separator = $Path.LastIndexOf('/')
- if ($separator -lt 0) { return '' }
- return $Path.Substring(0, $separator)
-}
+[xml]$solution = Get-Content $solutionPath -Raw
-function Get-PhysicalPath([string] $Path) {
- if ($Path -match '^[/\\]|^[A-Za-z]:' -or
- @($Path.Split('/') | Where-Object { $_ -in @('', '.', '..') }).Count -gt 0) {
- $issues.Add("Invalid repository-relative path: '$Path'.")
- return $null
+$itemGroups = @(
+ @{
+ DisplayName = "documentation"
+ Path = "docs"
+ Include = { param($file) $file.Extension -eq ".md" }
+ },
+ @{
+ DisplayName = "scripts"
+ Path = "scripts"
+ Include = { param($file) $true }
}
+)
- # Test-Path alone cannot detect casing errors on a case-insensitive volume.
- $current = $repositoryRoot
- $parts = [Collections.Generic.List[string]]::new()
- foreach ($part in $Path.Split('/')) {
- if (-not [IO.Directory]::Exists($current)) { return $null }
- $entries = @([IO.Directory]::EnumerateFileSystemEntries($current))
- $entry = @($entries | Where-Object { [IO.Path]::GetFileName($_) -ceq $part })
- if ($entry.Count -eq 0) {
- $entry = @($entries | Where-Object { [IO.Path]::GetFileName($_) -ieq $part })
- }
- if ($entry.Count -ne 1) { return $null }
- $current = $entry[0]
- $parts.Add([IO.Path]::GetFileName($current))
- }
- if (-not [IO.File]::Exists($current)) { return $null }
- return $parts -join '/'
-}
+$failures = [System.Collections.Generic.List[string]]::new()
-function Add-FolderAncestors([string] $Path) {
- while ($Path) {
- [void] $expectedFolders.Add($Path)
- $Path = Get-ParentPath $Path
- }
-}
+foreach ($itemGroup in $itemGroups) {
+ $groupPath = $itemGroup.Path
+ $groupRoot = Join-Path $repositoryRoot $groupPath
+ $include = $itemGroup.Include
+ $solutionNodes = @(
+ $solution.SelectNodes("//File[starts-with(@Path, '$groupPath/')]")
+ )
+ $solutionPaths = @(
+ $solutionNodes |
+ ForEach-Object { $_.Path.Replace('\', '/') } |
+ Sort-Object -Unique
+ )
+ $fileSystemPaths = @(
+ Get-ChildItem $groupRoot -Recurse -File |
+ Where-Object { & $include $_ } |
+ ForEach-Object {
+ [System.IO.Path]::GetRelativePath($repositoryRoot, $_.FullName).Replace('\', '/')
+ } |
+ Sort-Object -Unique
+ )
-function Compare-References($Expected, $Actual, [string] $Kind) {
- $seen = [Collections.Generic.HashSet[string]]::new([StringComparer]::OrdinalIgnoreCase)
- foreach ($reference in $Actual) {
- $path = $reference.Path
- if (-not $seen.Add($path)) { $issues.Add("Duplicate ${Kind}: '$path'.") }
- if (-not $Expected.ContainsKey($path)) {
- $caseMatch = @($Expected.Keys | Where-Object { $_ -ieq $path })
- if ($caseMatch.Count -gt 0) {
- $issues.Add("Case mismatch in ${Kind}: '$path'; expected '$($caseMatch -join "', '")'.")
- } else {
- $issues.Add("Extra ${Kind}: '$path'.")
+ $missingFromSolution = @(
+ $fileSystemPaths | Where-Object { $_ -notin $solutionPaths }
+ )
+ $missingFromFileSystem = @(
+ $solutionPaths | Where-Object { $_ -notin $fileSystemPaths }
+ )
+ $incorrectFolders = @(
+ $solutionNodes | ForEach-Object {
+ $relativePath = $_.Path.Replace('\', '/')
+ $directory = [System.IO.Path]::GetDirectoryName($relativePath).Replace('\', '/')
+ $expectedFolder = "/$directory/"
+ $actualFolder = $_.ParentNode.GetAttribute("Name")
+
+ if ($actualFolder -ne $expectedFolder) {
+ "$relativePath (expected $expectedFolder, found $actualFolder)"
}
- } elseif ($reference.Folder -cne $Expected[$path]) {
- $issues.Add("Misplaced ${Kind}: '$path' is in '$($reference.Folder)'; expected '$($Expected[$path])'.")
- }
- $physicalPath = Get-PhysicalPath $path
- if ($null -eq $physicalPath) {
- $issues.Add("Nonexistent file for ${Kind}: '$path'.")
- } elseif ($physicalPath -cne $path) {
- $issues.Add("Physical path case mismatch: '$path'; on disk '$physicalPath'.")
- }
- }
- foreach ($path in $Expected.Keys) {
- if (@($Actual | Where-Object { $_.Path -ceq $path }).Count -eq 0) {
- $issues.Add("Missing ${Kind}: '$path' in '$($Expected[$path])'.")
}
- }
-}
+ )
-try {
- if ([IO.File]::Exists((Join-Path $repositoryRoot 'ChessRealms.ChessEngine.sln'))) {
- $issues.Add('Legacy .sln remains beside .slnx; keep a single root solution for CLI discovery.')
+ if ($missingFromSolution.Count -gt 0) {
+ $failures.Add(
+ "$($itemGroup.DisplayName) files missing from ChessRealms.Engine.slnx:`n- " +
+ ($missingFromSolution -join "`n- ")
+ )
}
- # NUL-delimited output preserves spaces, Unicode and Git's otherwise quoted names.
- $git = [Diagnostics.ProcessStartInfo]::new('git')
- $git.WorkingDirectory = $repositoryRoot
- $git.UseShellExecute = $false
- $git.RedirectStandardOutput = $true
- $git.StandardOutputEncoding = [Text.UTF8Encoding]::new($false)
- foreach ($argument in @('ls-files', '--cached', '--others', '--exclude-standard', '-z')) {
- $git.ArgumentList.Add($argument)
- }
- $process = [Diagnostics.Process]::Start($git)
- $output = $process.StandardOutput.ReadToEnd()
- $process.WaitForExit()
- $gitExitCode = $process.ExitCode
- $process.Dispose()
- if ($gitExitCode -ne 0) { throw "git ls-files failed (exit $gitExitCode). Run inside a Git checkout." }
- $expectedItems = [Collections.Generic.Dictionary[string, string]]::new([StringComparer]::Ordinal)
- $expectedProjects = [Collections.Generic.Dictionary[string, string]]::new([StringComparer]::Ordinal)
- $expectedFolders = [Collections.Generic.HashSet[string]]::new([StringComparer]::Ordinal)
- $gitPaths = [Collections.Generic.HashSet[string]]::new([StringComparer]::Ordinal)
- foreach ($gitPath in $output.Split([char]0, [StringSplitOptions]::RemoveEmptyEntries)) {
- if (-not $gitPaths.Add($gitPath)) { continue }
- if ($gitPath -notmatch '^(docs|scripts)/' -and $gitPath -notmatch '^src/.*\.csproj$') { continue }
- $path = Get-PhysicalPath $gitPath
- if ($null -eq $path) {
- $issues.Add("Repository file is missing on disk: '$gitPath' (still listed by Git).")
- $path = $gitPath
- } elseif ($path -cne $gitPath) {
- $issues.Add("Git path case mismatch: '$gitPath'; on disk '$path'. Record case-only renames in Git.")
- }
- if ($path -cmatch '^(docs|scripts)/') {
- $parent = Get-ParentPath $path
- $expectedItems[$path] = $parent
- } elseif ($path -cmatch '^src/' -and $path -imatch '\.csproj$') {
- # A project represents its own directory. Mirror only grouping directories
- # above it: src/group/Project/Project.csproj belongs to src/group.
- $directory = Get-ParentPath $path
- $parent = if ($directory -ceq 'src') { 'src' } else { Get-ParentPath $directory }
- $expectedProjects[$path] = $parent
- } else {
- $issues.Add("Repository root folder case mismatch: '$path'; use docs, scripts or src.")
- continue
- }
- Add-FolderAncestors $parent
- }
-
- # SLNX represents nested folders by absolute names such as /docs/guides/.
- # XML Folder elements are siblings, and their Project/File children are direct.
- $settings = [Xml.XmlReaderSettings]::new()
- $settings.DtdProcessing = [Xml.DtdProcessing]::Prohibit
- $settings.XmlResolver = $null
- $reader = [Xml.XmlReader]::Create($solutionPath, $settings)
- $document = [Xml.XmlDocument]::new()
- $document.XmlResolver = $null
- try { $document.Load($reader) } finally { $reader.Dispose() }
- if ($document.DocumentElement.LocalName -cne 'Solution' -or $document.DocumentElement.NamespaceURI) {
- throw 'Expected an SLNX root without an XML namespace.'
+ if ($missingFromFileSystem.Count -gt 0) {
+ $failures.Add(
+ "ChessRealms.Engine.slnx references missing $($itemGroup.DisplayName) files:`n- " +
+ ($missingFromFileSystem -join "`n- ")
+ )
}
- $items = [Collections.Generic.List[object]]::new()
- $projectReferences = [Collections.Generic.List[object]]::new()
- $actualFolders = [Collections.Generic.HashSet[string]]::new([StringComparer]::Ordinal)
- $declaredFolders = [Collections.Generic.HashSet[string]]::new([StringComparer]::OrdinalIgnoreCase)
- $ids = [Collections.Generic.HashSet[guid]]::new()
- foreach ($node in $document.SelectNodes('//*')) {
- if ($node.HasAttribute('Id')) {
- $id = [guid]::Empty
- if (-not [guid]::TryParse($node.GetAttribute('Id'), [ref] $id) -or $id -eq [guid]::Empty) {
- $issues.Add("Invalid solution item GUID: '$($node.GetAttribute('Id'))'.")
- } elseif (-not $ids.Add($id)) {
- $issues.Add("Duplicate project/folder GUID: $id.")
- }
- }
- if ($node.LocalName -in @('Folder', 'Project', 'File') -and
- ($node.LocalName -cnotin @('Folder', 'Project', 'File') -or $node.NamespaceURI)) {
- $issues.Add("Invalid SLNX element name: '$($node.LocalName)'.")
- }
+ if ($incorrectFolders.Count -gt 0) {
+ $failures.Add(
+ "$($itemGroup.DisplayName) files placed in incorrect solution folders:`n- " +
+ ($incorrectFolders -join "`n- ")
+ )
}
- foreach ($folder in $document.SelectNodes('//Folder')) {
- if ($folder.ParentNode -ne $document.DocumentElement) {
- $issues.Add('Folder elements must be direct children of Solution; use full names such as /docs/guides/.')
- }
- $name = Normalize-RelativePath $folder.GetAttribute('Name')
- if ($name -notmatch '^/[^/]+(?:/[^/]+)*/$' -or
- @($name.Trim('/').Split('/') | Where-Object { $_ -in @('.', '..') }).Count -gt 0) {
- $issues.Add("Invalid solution folder path: '$name'. Expected /folder/ or /folder/subfolder/.")
- }
- $path = $name.Trim('/')
- if (-not $declaredFolders.Add($path)) { $issues.Add("Duplicate solution folder: '$path'.") }
- # SLNX permits implicit ancestors: /docs/guides/ also creates /docs/.
- while ($path) {
- [void] $actualFolders.Add($path)
- $path = Get-ParentPath $path
- }
- }
- foreach ($node in $document.SelectNodes('//File | //Project')) {
- $parent = $node.ParentNode
- $folder = ''
- if ($parent.LocalName -ceq 'Folder') {
- $folder = (Normalize-RelativePath $parent.GetAttribute('Name')).Trim('/')
- } elseif ($node.LocalName -ceq 'File' -or $parent -ne $document.DocumentElement) {
- $issues.Add("Invalid placement of SLNX $($node.LocalName) element: '$($node.GetAttribute('Path'))'.")
- }
- $path = Normalize-RelativePath $node.GetAttribute('Path')
- $reference = [pscustomobject]@{ Path = $path; Folder = $folder }
- if ($node.LocalName -ceq 'File') { $items.Add($reference) } else { $projectReferences.Add($reference) }
- }
- foreach ($path in $actualFolders) {
- if (-not $expectedFolders.Contains($path)) { $issues.Add("Extra or incorrectly cased solution folder: '$path'.") }
- }
- foreach ($path in $expectedFolders) {
- if (-not $actualFolders.Contains($path)) { $issues.Add("Missing solution folder: '$path'.") }
- }
- Compare-References $expectedItems $items 'solution item'
- Compare-References $expectedProjects $projectReferences 'project reference'
-} catch {
- $issues.Add("Verification failed: $($_.Exception.Message)")
}
-if ($issues.Count -gt 0) {
- Write-Output "Solution structure check failed ($($issues.Count) discrepancies):"
- foreach ($issue in $issues | Sort-Object -Unique) { Write-Output " - $issue" }
- exit 1
+if ($failures.Count -gt 0) {
+ Write-Error ($failures -join "`n`n")
}
-Write-Output "Solution structure verified: $($expectedProjects.Count) projects, $($expectedItems.Count) solution items, $($expectedFolders.Count) folders."
-exit 0
+
+Write-Host "Solution items match the docs and scripts filesystem structure."
diff --git a/src/ChessRealms.ChessEngine.Benchmark/ChessRealms.ChessEngine.Benchmark.csproj b/src/ChessRealms.Engine.Benchmark/ChessRealms.Engine.Benchmark.csproj
similarity index 79%
rename from src/ChessRealms.ChessEngine.Benchmark/ChessRealms.ChessEngine.Benchmark.csproj
rename to src/ChessRealms.Engine.Benchmark/ChessRealms.Engine.Benchmark.csproj
index def56d3..e6da81c 100644
--- a/src/ChessRealms.ChessEngine.Benchmark/ChessRealms.ChessEngine.Benchmark.csproj
+++ b/src/ChessRealms.Engine.Benchmark/ChessRealms.Engine.Benchmark.csproj
@@ -21,8 +21,8 @@
-
-
+
+
diff --git a/src/ChessRealms.ChessEngine.Benchmark/PerftBenchmarks.cs b/src/ChessRealms.Engine.Benchmark/PerftBenchmarks.cs
similarity index 67%
rename from src/ChessRealms.ChessEngine.Benchmark/PerftBenchmarks.cs
rename to src/ChessRealms.Engine.Benchmark/PerftBenchmarks.cs
index 6cb3481..6ce263b 100644
--- a/src/ChessRealms.ChessEngine.Benchmark/PerftBenchmarks.cs
+++ b/src/ChessRealms.Engine.Benchmark/PerftBenchmarks.cs
@@ -1,10 +1,10 @@
-using BenchmarkDotNet.Attributes;
-using ChessRealms.ChessEngine.Core.Attacks;
-using ChessRealms.ChessEngine.Core.Types;
-using ChessRealms.ChessEngine.Parsing;
+using BenchmarkDotNet.Attributes;
+using ChessRealms.Engine.Core.Attacks;
+using ChessRealms.Engine.Core.Types;
+using ChessRealms.Engine.Parsing;
using System.Runtime.CompilerServices;
-namespace ChessRealms.ChessEngine.Benchmark;
+namespace ChessRealms.Engine.Benchmark;
public class PerftBenchmarks
{
diff --git a/src/ChessRealms.ChessEngine.Benchmark/Program.cs b/src/ChessRealms.Engine.Benchmark/Program.cs
similarity index 87%
rename from src/ChessRealms.ChessEngine.Benchmark/Program.cs
rename to src/ChessRealms.Engine.Benchmark/Program.cs
index 8076f4e..48fef9f 100644
--- a/src/ChessRealms.ChessEngine.Benchmark/Program.cs
+++ b/src/ChessRealms.Engine.Benchmark/Program.cs
@@ -1,8 +1,8 @@
-using BenchmarkDotNet.Configs;
+using BenchmarkDotNet.Configs;
using BenchmarkDotNet.Jobs;
using BenchmarkDotNet.Running;
using BenchmarkDotNet.Toolchains.InProcess.Emit;
-using ChessRealms.ChessEngine.Benchmark;
+using ChessRealms.Engine.Benchmark;
Console.WriteLine("Hello, Benckmarks!");
Console.WriteLine();
diff --git a/src/ChessRealms.ChessEngine.Benchmark/packages.lock.json b/src/ChessRealms.Engine.Benchmark/packages.lock.json
similarity index 98%
rename from src/ChessRealms.ChessEngine.Benchmark/packages.lock.json
rename to src/ChessRealms.Engine.Benchmark/packages.lock.json
index db7d648..f316940 100644
--- a/src/ChessRealms.ChessEngine.Benchmark/packages.lock.json
+++ b/src/ChessRealms.Engine.Benchmark/packages.lock.json
@@ -166,15 +166,15 @@
"resolved": "4.7.0",
"contentHash": "VybpaOQQhqE6siHppMktjfGBw1GCwvCqiufqmP8F1nj7fTUNtW35LOEt3UZTEsECfo+ELAl/9o9nJx3U91i7vA=="
},
- "chessrealms.chessengine": {
+ "chessrealms.engine": {
"type": "Project"
},
- "chessrealms.chessengine.perft": {
+ "chessrealms.engine.perft": {
"type": "Project",
"dependencies": {
- "ChessRealms.ChessEngine": "[1.0.0, )"
+ "ChessRealms.Engine": "[1.0.0, )"
}
}
}
}
-}
+}
\ No newline at end of file
diff --git a/src/ChessRealms.ChessEngine.Console/ChessRealms.ChessEngine.Console.csproj b/src/ChessRealms.Engine.Console/ChessRealms.Engine.Console.csproj
similarity index 74%
rename from src/ChessRealms.ChessEngine.Console/ChessRealms.ChessEngine.Console.csproj
rename to src/ChessRealms.Engine.Console/ChessRealms.Engine.Console.csproj
index 85cf8de..224983d 100644
--- a/src/ChessRealms.ChessEngine.Console/ChessRealms.ChessEngine.Console.csproj
+++ b/src/ChessRealms.Engine.Console/ChessRealms.Engine.Console.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/src/ChessRealms.ChessEngine.Console/Program.cs b/src/ChessRealms.Engine.Console/Program.cs
similarity index 96%
rename from src/ChessRealms.ChessEngine.Console/Program.cs
rename to src/ChessRealms.Engine.Console/Program.cs
index 7c5c867..e0fa756 100644
--- a/src/ChessRealms.ChessEngine.Console/Program.cs
+++ b/src/ChessRealms.Engine.Console/Program.cs
@@ -1,6 +1,6 @@
-using ChessRealms.ChessEngine;
-using ChessRealms.ChessEngine.Common;
-using ChessRealms.ChessEngine.Core.Math;
+using ChessRealms.Engine;
+using ChessRealms.Engine.Common;
+using ChessRealms.Engine.Core.Math;
MoveResult lastMoveResult = MoveResult.None;
ChessGame chessGame = new();
diff --git a/src/ChessRealms.ChessEngine.Console/packages.lock.json b/src/ChessRealms.Engine.Console/packages.lock.json
similarity index 72%
rename from src/ChessRealms.ChessEngine.Console/packages.lock.json
rename to src/ChessRealms.Engine.Console/packages.lock.json
index 3e128ec..eb97abc 100644
--- a/src/ChessRealms.ChessEngine.Console/packages.lock.json
+++ b/src/ChessRealms.Engine.Console/packages.lock.json
@@ -2,9 +2,9 @@
"version": 1,
"dependencies": {
"net10.0": {
- "chessrealms.chessengine": {
+ "chessrealms.engine": {
"type": "Project"
}
}
}
-}
+}
\ No newline at end of file
diff --git a/src/ChessRealms.ChessEngine.Perft/ChessRealms.ChessEngine.Perft.csproj b/src/ChessRealms.Engine.Perft/ChessRealms.Engine.Perft.csproj
similarity index 77%
rename from src/ChessRealms.ChessEngine.Perft/ChessRealms.ChessEngine.Perft.csproj
rename to src/ChessRealms.Engine.Perft/ChessRealms.Engine.Perft.csproj
index 80e4d12..f73f6e2 100644
--- a/src/ChessRealms.ChessEngine.Perft/ChessRealms.ChessEngine.Perft.csproj
+++ b/src/ChessRealms.Engine.Perft/ChessRealms.Engine.Perft.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/src/ChessRealms.ChessEngine.Perft/PerftDriver.cs b/src/ChessRealms.Engine.Perft/PerftDriver.cs
similarity index 96%
rename from src/ChessRealms.ChessEngine.Perft/PerftDriver.cs
rename to src/ChessRealms.Engine.Perft/PerftDriver.cs
index bada5a8..511f765 100644
--- a/src/ChessRealms.ChessEngine.Perft/PerftDriver.cs
+++ b/src/ChessRealms.Engine.Perft/PerftDriver.cs
@@ -1,6 +1,6 @@
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Core.Movements;
-using ChessRealms.ChessEngine.Core.Types;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Core.Movements;
+using ChessRealms.Engine.Core.Types;
using System.Text;
namespace Perft
diff --git a/src/ChessRealms.ChessEngine.Perft/Program.cs b/src/ChessRealms.Engine.Perft/Program.cs
similarity index 86%
rename from src/ChessRealms.ChessEngine.Perft/Program.cs
rename to src/ChessRealms.Engine.Perft/Program.cs
index 4852322..372b6a3 100644
--- a/src/ChessRealms.ChessEngine.Perft/Program.cs
+++ b/src/ChessRealms.Engine.Perft/Program.cs
@@ -1,6 +1,6 @@
-using ChessRealms.ChessEngine.Core.Attacks;
-using ChessRealms.ChessEngine.Core.Types;
-using ChessRealms.ChessEngine.Parsing;
+using ChessRealms.Engine.Core.Attacks;
+using ChessRealms.Engine.Core.Types;
+using ChessRealms.Engine.Parsing;
using System.Diagnostics;
string fen = "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR w KQkq - 0 1";
diff --git a/src/ChessRealms.ChessEngine.Perft/packages.lock.json b/src/ChessRealms.Engine.Perft/packages.lock.json
similarity index 72%
rename from src/ChessRealms.ChessEngine.Perft/packages.lock.json
rename to src/ChessRealms.Engine.Perft/packages.lock.json
index 3e128ec..eb97abc 100644
--- a/src/ChessRealms.ChessEngine.Perft/packages.lock.json
+++ b/src/ChessRealms.Engine.Perft/packages.lock.json
@@ -2,9 +2,9 @@
"version": 1,
"dependencies": {
"net10.0": {
- "chessrealms.chessengine": {
+ "chessrealms.engine": {
"type": "Project"
}
}
}
-}
+}
\ No newline at end of file
diff --git a/src/ChessRealms.ChessEngine.Tests/ChessGameTests.cs b/src/ChessRealms.Engine.Tests/ChessGameTests.cs
similarity index 98%
rename from src/ChessRealms.ChessEngine.Tests/ChessGameTests.cs
rename to src/ChessRealms.Engine.Tests/ChessGameTests.cs
index a320ed2..cef1dca 100644
--- a/src/ChessRealms.ChessEngine.Tests/ChessGameTests.cs
+++ b/src/ChessRealms.Engine.Tests/ChessGameTests.cs
@@ -1,6 +1,6 @@
-using ChessRealms.ChessEngine.Parsing;
+using ChessRealms.Engine.Parsing;
-namespace ChessRealms.ChessEngine.Tests;
+namespace ChessRealms.Engine.Tests;
internal class ChessGameTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/ChessRealms.ChessEngine.Tests.csproj b/src/ChessRealms.Engine.Tests/ChessRealms.Engine.Tests.csproj
similarity index 80%
rename from src/ChessRealms.ChessEngine.Tests/ChessRealms.ChessEngine.Tests.csproj
rename to src/ChessRealms.Engine.Tests/ChessRealms.Engine.Tests.csproj
index f7b6ae1..f8482f8 100644
--- a/src/ChessRealms.ChessEngine.Tests/ChessRealms.ChessEngine.Tests.csproj
+++ b/src/ChessRealms.Engine.Tests/ChessRealms.Engine.Tests.csproj
@@ -19,8 +19,8 @@
-
-
+
+
diff --git a/src/ChessRealms.ChessEngine.Tests/CompleteGameRulesTests.cs b/src/ChessRealms.Engine.Tests/CompleteGameRulesTests.cs
similarity index 99%
rename from src/ChessRealms.ChessEngine.Tests/CompleteGameRulesTests.cs
rename to src/ChessRealms.Engine.Tests/CompleteGameRulesTests.cs
index d1ca4fa..80a5a9f 100644
--- a/src/ChessRealms.ChessEngine.Tests/CompleteGameRulesTests.cs
+++ b/src/ChessRealms.Engine.Tests/CompleteGameRulesTests.cs
@@ -1,10 +1,10 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Types;
-using ChessRealms.ChessEngine.Core.Movements;
-using ChessRealms.ChessEngine.Parsing;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Types;
+using ChessRealms.Engine.Core.Movements;
+using ChessRealms.Engine.Parsing;
using System.Numerics;
-namespace ChessRealms.ChessEngine.Tests;
+namespace ChessRealms.Engine.Tests;
internal class CompleteGameRulesTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/BishopAttackMaskTests.cs b/src/ChessRealms.Engine.Tests/Core/Attacks/BishopAttackMaskTests.cs
similarity index 74%
rename from src/ChessRealms.ChessEngine.Tests/Core/Attacks/BishopAttackMaskTests.cs
rename to src/ChessRealms.Engine.Tests/Core/Attacks/BishopAttackMaskTests.cs
index c1d71ea..fe7ecd5 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/BishopAttackMaskTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/Attacks/BishopAttackMaskTests.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Attacks;
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Tests.Extensions;
+using ChessRealms.Engine.Core.Attacks;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Tests.Extensions;
-namespace ChessRealms.ChessEngine.Tests.Core.Attacks;
+namespace ChessRealms.Engine.Tests.Core.Attacks;
[TestFixture]
internal class BishopAttackMaskTests
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/BishopSliderAttackLookupTests.cs b/src/ChessRealms.Engine.Tests/Core/Attacks/BishopSliderAttackLookupTests.cs
similarity index 94%
rename from src/ChessRealms.ChessEngine.Tests/Core/Attacks/BishopSliderAttackLookupTests.cs
rename to src/ChessRealms.Engine.Tests/Core/Attacks/BishopSliderAttackLookupTests.cs
index 646a6cf..4579fa9 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/BishopSliderAttackLookupTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/Attacks/BishopSliderAttackLookupTests.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Attacks;
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Tests.Extensions;
+using ChessRealms.Engine.Core.Attacks;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Tests.Extensions;
-namespace ChessRealms.ChessEngine.Tests.Core.Attacks;
+namespace ChessRealms.Engine.Tests.Core.Attacks;
internal class BishopSliderAttackLookupTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/BishopSliderAttackOnTheFlyTests.cs b/src/ChessRealms.Engine.Tests/Core/Attacks/BishopSliderAttackOnTheFlyTests.cs
similarity index 95%
rename from src/ChessRealms.ChessEngine.Tests/Core/Attacks/BishopSliderAttackOnTheFlyTests.cs
rename to src/ChessRealms.Engine.Tests/Core/Attacks/BishopSliderAttackOnTheFlyTests.cs
index def14ed..a253f24 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/BishopSliderAttackOnTheFlyTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/Attacks/BishopSliderAttackOnTheFlyTests.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Attacks;
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Tests.Extensions;
+using ChessRealms.Engine.Core.Attacks;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Tests.Extensions;
-namespace ChessRealms.ChessEngine.Tests.Core.Attacks;
+namespace ChessRealms.Engine.Tests.Core.Attacks;
internal class BishopSliderAttackOnTheFlyTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/KingAttackMaskTests.cs b/src/ChessRealms.Engine.Tests/Core/Attacks/KingAttackMaskTests.cs
similarity index 91%
rename from src/ChessRealms.ChessEngine.Tests/Core/Attacks/KingAttackMaskTests.cs
rename to src/ChessRealms.Engine.Tests/Core/Attacks/KingAttackMaskTests.cs
index 058e6e9..f8ce9fa 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/KingAttackMaskTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/Attacks/KingAttackMaskTests.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Attacks;
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Tests.Extensions;
+using ChessRealms.Engine.Core.Attacks;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Tests.Extensions;
-namespace ChessRealms.ChessEngine.Tests.Core.Attacks;
+namespace ChessRealms.Engine.Tests.Core.Attacks;
internal class KingAttackMaskTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/KinghtAttackMaskTests.cs b/src/ChessRealms.Engine.Tests/Core/Attacks/KinghtAttackMaskTests.cs
similarity index 90%
rename from src/ChessRealms.ChessEngine.Tests/Core/Attacks/KinghtAttackMaskTests.cs
rename to src/ChessRealms.Engine.Tests/Core/Attacks/KinghtAttackMaskTests.cs
index b8f73a2..408c71e 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/KinghtAttackMaskTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/Attacks/KinghtAttackMaskTests.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Attacks;
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Tests.Extensions;
+using ChessRealms.Engine.Core.Attacks;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Tests.Extensions;
-namespace ChessRealms.ChessEngine.Tests.Core.Attacks;
+namespace ChessRealms.Engine.Tests.Core.Attacks;
internal class KinghtAttackMaskTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/PawnAttackMaskTests.cs b/src/ChessRealms.Engine.Tests/Core/Attacks/PawnAttackMaskTests.cs
similarity index 91%
rename from src/ChessRealms.ChessEngine.Tests/Core/Attacks/PawnAttackMaskTests.cs
rename to src/ChessRealms.Engine.Tests/Core/Attacks/PawnAttackMaskTests.cs
index a89b3b0..0679ab2 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/PawnAttackMaskTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/Attacks/PawnAttackMaskTests.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Attacks;
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Tests.Extensions;
+using ChessRealms.Engine.Core.Attacks;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Tests.Extensions;
-namespace ChessRealms.ChessEngine.Tests.Core.Attacks;
+namespace ChessRealms.Engine.Tests.Core.Attacks;
internal class PawnAttackMaskTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/RookAttackMaskTests.cs b/src/ChessRealms.Engine.Tests/Core/Attacks/RookAttackMaskTests.cs
similarity index 85%
rename from src/ChessRealms.ChessEngine.Tests/Core/Attacks/RookAttackMaskTests.cs
rename to src/ChessRealms.Engine.Tests/Core/Attacks/RookAttackMaskTests.cs
index 11aaca1..fac2a94 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/RookAttackMaskTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/Attacks/RookAttackMaskTests.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Attacks;
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Tests.Extensions;
+using ChessRealms.Engine.Core.Attacks;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Tests.Extensions;
-namespace ChessRealms.ChessEngine.Tests.Core.Attacks;
+namespace ChessRealms.Engine.Tests.Core.Attacks;
internal class RookAttackMaskTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/RookSliderAttackLookupTests.cs b/src/ChessRealms.Engine.Tests/Core/Attacks/RookSliderAttackLookupTests.cs
similarity index 93%
rename from src/ChessRealms.ChessEngine.Tests/Core/Attacks/RookSliderAttackLookupTests.cs
rename to src/ChessRealms.Engine.Tests/Core/Attacks/RookSliderAttackLookupTests.cs
index 0254ddb..05870b9 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/RookSliderAttackLookupTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/Attacks/RookSliderAttackLookupTests.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Attacks;
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Tests.Extensions;
+using ChessRealms.Engine.Core.Attacks;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Tests.Extensions;
-namespace ChessRealms.ChessEngine.Tests.Core.Attacks;
+namespace ChessRealms.Engine.Tests.Core.Attacks;
internal class RookSliderAttackLookupTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/RookSliderAttackOnTheFlyTests.cs b/src/ChessRealms.Engine.Tests/Core/Attacks/RookSliderAttackOnTheFlyTests.cs
similarity index 93%
rename from src/ChessRealms.ChessEngine.Tests/Core/Attacks/RookSliderAttackOnTheFlyTests.cs
rename to src/ChessRealms.Engine.Tests/Core/Attacks/RookSliderAttackOnTheFlyTests.cs
index fc335a4..cb048f1 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/Attacks/RookSliderAttackOnTheFlyTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/Attacks/RookSliderAttackOnTheFlyTests.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Attacks;
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Tests.Extensions;
+using ChessRealms.Engine.Core.Attacks;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Tests.Extensions;
-namespace ChessRealms.ChessEngine.Tests.Core.Attacks;
+namespace ChessRealms.Engine.Tests.Core.Attacks;
internal class RookSliderAttackOnTheFlyTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/Extensions/SquareIndexExtensions.cs b/src/ChessRealms.Engine.Tests/Core/Extensions/SquareIndexExtensions.cs
similarity index 71%
rename from src/ChessRealms.ChessEngine.Tests/Core/Extensions/SquareIndexExtensions.cs
rename to src/ChessRealms.Engine.Tests/Core/Extensions/SquareIndexExtensions.cs
index e9773e6..d1ba46f 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/Extensions/SquareIndexExtensions.cs
+++ b/src/ChessRealms.Engine.Tests/Core/Extensions/SquareIndexExtensions.cs
@@ -1,6 +1,6 @@
-using ChessRealms.ChessEngine.Core.Math;
+using ChessRealms.Engine.Core.Math;
-namespace ChessRealms.ChessEngine.Tests.Extensions;
+namespace ChessRealms.Engine.Tests.Extensions;
internal static class SquareIndexExtensions
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/Math/BinaryMoveEncodingTests.cs b/src/ChessRealms.Engine.Tests/Core/Math/BinaryMoveEncodingTests.cs
similarity index 91%
rename from src/ChessRealms.ChessEngine.Tests/Core/Math/BinaryMoveEncodingTests.cs
rename to src/ChessRealms.Engine.Tests/Core/Math/BinaryMoveEncodingTests.cs
index 0a74136..64c4e9c 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/Math/BinaryMoveEncodingTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/Math/BinaryMoveEncodingTests.cs
@@ -1,7 +1,7 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
-namespace ChessRealms.ChessEngine.Tests.Core.Math;
+namespace ChessRealms.Engine.Tests.Core.Math;
internal class BinaryMoveEncodingTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/MoveDriverTests/ApplyEnpassant.cs b/src/ChessRealms.Engine.Tests/Core/MoveDriverTests/ApplyEnpassant.cs
similarity index 92%
rename from src/ChessRealms.ChessEngine.Tests/Core/MoveDriverTests/ApplyEnpassant.cs
rename to src/ChessRealms.Engine.Tests/Core/MoveDriverTests/ApplyEnpassant.cs
index 0028e68..3d72477 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/MoveDriverTests/ApplyEnpassant.cs
+++ b/src/ChessRealms.Engine.Tests/Core/MoveDriverTests/ApplyEnpassant.cs
@@ -1,10 +1,10 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Core.Movements;
-using ChessRealms.ChessEngine.Core.Types;
-using ChessRealms.ChessEngine.Parsing;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Core.Movements;
+using ChessRealms.Engine.Core.Types;
+using ChessRealms.Engine.Parsing;
-namespace ChessRealms.ChessEngine.Tests.Core.MoveDriverTests;
+namespace ChessRealms.Engine.Tests.Core.MoveDriverTests;
internal class ApplyEnpassant
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/MoveGeneration/AllMovesTests.cs b/src/ChessRealms.Engine.Tests/Core/MoveGeneration/AllMovesTests.cs
similarity index 70%
rename from src/ChessRealms.ChessEngine.Tests/Core/MoveGeneration/AllMovesTests.cs
rename to src/ChessRealms.Engine.Tests/Core/MoveGeneration/AllMovesTests.cs
index 8895c41..6861171 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/MoveGeneration/AllMovesTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/MoveGeneration/AllMovesTests.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Movements;
-using ChessRealms.ChessEngine.Core.Types;
-using ChessRealms.ChessEngine.Parsing;
+using ChessRealms.Engine.Core.Movements;
+using ChessRealms.Engine.Core.Types;
+using ChessRealms.Engine.Parsing;
-namespace ChessRealms.ChessEngine.Tests.Core.MoveGeneration;
+namespace ChessRealms.Engine.Tests.Core.MoveGeneration;
internal unsafe class AllMovesTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/MoveGeneration/Knight/KnightMovesTests.cs b/src/ChessRealms.Engine.Tests/Core/MoveGeneration/Knight/KnightMovesTests.cs
similarity index 90%
rename from src/ChessRealms.ChessEngine.Tests/Core/MoveGeneration/Knight/KnightMovesTests.cs
rename to src/ChessRealms.Engine.Tests/Core/MoveGeneration/Knight/KnightMovesTests.cs
index 0287ffc..81cb0c1 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/MoveGeneration/Knight/KnightMovesTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/MoveGeneration/Knight/KnightMovesTests.cs
@@ -1,11 +1,11 @@
-using ChessRealms.ChessEngine.Core.Attacks;
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Core.Movements;
-using ChessRealms.ChessEngine.Core.Types;
-using ChessRealms.ChessEngine.Parsing;
+using ChessRealms.Engine.Core.Attacks;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Core.Movements;
+using ChessRealms.Engine.Core.Types;
+using ChessRealms.Engine.Parsing;
-namespace ChessRealms.ChessEngine.Tests.Core.MoveGeneration.Knight;
+namespace ChessRealms.Engine.Tests.Core.MoveGeneration.Knight;
internal unsafe class KnightMovesTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/MoveGeneration/Pawn/EnpassantMoveTests.cs b/src/ChessRealms.Engine.Tests/Core/MoveGeneration/Pawn/EnpassantMoveTests.cs
similarity index 91%
rename from src/ChessRealms.ChessEngine.Tests/Core/MoveGeneration/Pawn/EnpassantMoveTests.cs
rename to src/ChessRealms.Engine.Tests/Core/MoveGeneration/Pawn/EnpassantMoveTests.cs
index 3f331ab..7e96583 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/MoveGeneration/Pawn/EnpassantMoveTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/MoveGeneration/Pawn/EnpassantMoveTests.cs
@@ -1,10 +1,10 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Core.Movements;
-using ChessRealms.ChessEngine.Core.Types;
-using ChessRealms.ChessEngine.Parsing;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Core.Movements;
+using ChessRealms.Engine.Core.Types;
+using ChessRealms.Engine.Parsing;
-namespace ChessRealms.ChessEngine.Tests.Core.MoveGeneration.Pawn;
+namespace ChessRealms.Engine.Tests.Core.MoveGeneration.Pawn;
internal unsafe class EnpassantMoveTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/MoveGeneration/Pawn/PromoteMoveTests.cs b/src/ChessRealms.Engine.Tests/Core/MoveGeneration/Pawn/PromoteMoveTests.cs
similarity index 93%
rename from src/ChessRealms.ChessEngine.Tests/Core/MoveGeneration/Pawn/PromoteMoveTests.cs
rename to src/ChessRealms.Engine.Tests/Core/MoveGeneration/Pawn/PromoteMoveTests.cs
index 7a844a0..420f7e7 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/MoveGeneration/Pawn/PromoteMoveTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/MoveGeneration/Pawn/PromoteMoveTests.cs
@@ -1,10 +1,10 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Core.Movements;
-using ChessRealms.ChessEngine.Core.Types;
-using ChessRealms.ChessEngine.Parsing;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Core.Movements;
+using ChessRealms.Engine.Core.Types;
+using ChessRealms.Engine.Parsing;
-namespace ChessRealms.ChessEngine.Tests.Core.MoveGeneration.Pawn;
+namespace ChessRealms.Engine.Tests.Core.MoveGeneration.Pawn;
internal unsafe class PromoteMoveTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/MoveGeneration/Pawn/QuietMoveTests.cs b/src/ChessRealms.Engine.Tests/Core/MoveGeneration/Pawn/QuietMoveTests.cs
similarity index 84%
rename from src/ChessRealms.ChessEngine.Tests/Core/MoveGeneration/Pawn/QuietMoveTests.cs
rename to src/ChessRealms.Engine.Tests/Core/MoveGeneration/Pawn/QuietMoveTests.cs
index 60a9f11..a16d37d 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/MoveGeneration/Pawn/QuietMoveTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/MoveGeneration/Pawn/QuietMoveTests.cs
@@ -1,10 +1,10 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Core.Movements;
-using ChessRealms.ChessEngine.Core.Types;
-using ChessRealms.ChessEngine.Parsing;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Core.Movements;
+using ChessRealms.Engine.Core.Types;
+using ChessRealms.Engine.Parsing;
-namespace ChessRealms.ChessEngine.Tests.Core.MoveGeneration.Pawn;
+namespace ChessRealms.Engine.Tests.Core.MoveGeneration.Pawn;
internal unsafe class QuietMoveTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Core/PositionManagement/SetPieceTests.cs b/src/ChessRealms.Engine.Tests/Core/PositionManagement/SetPieceTests.cs
similarity index 97%
rename from src/ChessRealms.ChessEngine.Tests/Core/PositionManagement/SetPieceTests.cs
rename to src/ChessRealms.Engine.Tests/Core/PositionManagement/SetPieceTests.cs
index f06f57e..2115224 100644
--- a/src/ChessRealms.ChessEngine.Tests/Core/PositionManagement/SetPieceTests.cs
+++ b/src/ChessRealms.Engine.Tests/Core/PositionManagement/SetPieceTests.cs
@@ -1,7 +1,7 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Types;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Types;
-namespace ChessRealms.ChessEngine.Tests.Core.PositionManagement;
+namespace ChessRealms.Engine.Tests.Core.PositionManagement;
internal class SetPieceTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Parsing/AlgebraicNotationTests.cs b/src/ChessRealms.Engine.Tests/Parsing/AlgebraicNotationTests.cs
similarity index 91%
rename from src/ChessRealms.ChessEngine.Tests/Parsing/AlgebraicNotationTests.cs
rename to src/ChessRealms.Engine.Tests/Parsing/AlgebraicNotationTests.cs
index 66252c2..1a84881 100644
--- a/src/ChessRealms.ChessEngine.Tests/Parsing/AlgebraicNotationTests.cs
+++ b/src/ChessRealms.Engine.Tests/Parsing/AlgebraicNotationTests.cs
@@ -1,7 +1,7 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Parsing;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Parsing;
-namespace ChessRealms.ChessEngine.Tests.Parsing;
+namespace ChessRealms.Engine.Tests.Parsing;
internal class AlgebraicNotationTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Parsing/StrictFenTests.cs b/src/ChessRealms.Engine.Tests/Parsing/StrictFenTests.cs
similarity index 96%
rename from src/ChessRealms.ChessEngine.Tests/Parsing/StrictFenTests.cs
rename to src/ChessRealms.Engine.Tests/Parsing/StrictFenTests.cs
index 1a28642..3ad740e 100644
--- a/src/ChessRealms.ChessEngine.Tests/Parsing/StrictFenTests.cs
+++ b/src/ChessRealms.Engine.Tests/Parsing/StrictFenTests.cs
@@ -1,9 +1,9 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Types;
-using ChessRealms.ChessEngine.Core.Movements;
-using ChessRealms.ChessEngine.Parsing;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Types;
+using ChessRealms.Engine.Core.Movements;
+using ChessRealms.Engine.Parsing;
-namespace ChessRealms.ChessEngine.Tests.Parsing;
+namespace ChessRealms.Engine.Tests.Parsing;
internal class StrictFenTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/Perft/PerftTests.cs b/src/ChessRealms.Engine.Tests/Perft/PerftTests.cs
similarity index 97%
rename from src/ChessRealms.ChessEngine.Tests/Perft/PerftTests.cs
rename to src/ChessRealms.Engine.Tests/Perft/PerftTests.cs
index 9b36e95..787b5e4 100644
--- a/src/ChessRealms.ChessEngine.Tests/Perft/PerftTests.cs
+++ b/src/ChessRealms.Engine.Tests/Perft/PerftTests.cs
@@ -1,7 +1,7 @@
-using ChessRealms.ChessEngine.Parsing;
+using ChessRealms.Engine.Parsing;
using Perft;
-namespace ChessRealms.ChessEngine.Tests.Perft;
+namespace ChessRealms.Engine.Tests.Perft;
internal class PerftTests
{
diff --git a/src/ChessRealms.ChessEngine.Tests/packages.lock.json b/src/ChessRealms.Engine.Tests/packages.lock.json
similarity index 96%
rename from src/ChessRealms.ChessEngine.Tests/packages.lock.json
rename to src/ChessRealms.Engine.Tests/packages.lock.json
index 56a9dbb..8c923ac 100644
--- a/src/ChessRealms.ChessEngine.Tests/packages.lock.json
+++ b/src/ChessRealms.Engine.Tests/packages.lock.json
@@ -76,15 +76,15 @@
"resolved": "13.0.3",
"contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ=="
},
- "chessrealms.chessengine": {
+ "chessrealms.engine": {
"type": "Project"
},
- "chessrealms.chessengine.perft": {
+ "chessrealms.engine.perft": {
"type": "Project",
"dependencies": {
- "ChessRealms.ChessEngine": "[1.0.0, )"
+ "ChessRealms.Engine": "[1.0.0, )"
}
}
}
}
-}
+}
\ No newline at end of file
diff --git a/src/ChessRealms.ChessEngine/AlgebraicMove.cs b/src/ChessRealms.Engine/AlgebraicMove.cs
similarity index 87%
rename from src/ChessRealms.ChessEngine/AlgebraicMove.cs
rename to src/ChessRealms.Engine/AlgebraicMove.cs
index d6135df..b6e0f75 100644
--- a/src/ChessRealms.ChessEngine/AlgebraicMove.cs
+++ b/src/ChessRealms.Engine/AlgebraicMove.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Parsing;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Parsing;
-namespace ChessRealms.ChessEngine;
+namespace ChessRealms.Engine;
/// A coordinate move. Promotion must be explicit; no implicit queen promotion.
public readonly record struct AlgebraicMove(Square Src, Square Trg, PieceValue Promotion = PieceValue.None)
diff --git a/src/ChessRealms.ChessEngine/ChessGame.cs b/src/ChessRealms.Engine/ChessGame.cs
similarity index 97%
rename from src/ChessRealms.ChessEngine/ChessGame.cs
rename to src/ChessRealms.Engine/ChessGame.cs
index 171a762..719e8a6 100644
--- a/src/ChessRealms.ChessEngine/ChessGame.cs
+++ b/src/ChessRealms.Engine/ChessGame.cs
@@ -1,11 +1,11 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Core.Movements;
-using ChessRealms.ChessEngine.Core.Types;
-using ChessRealms.ChessEngine.Parsing;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Core.Movements;
+using ChessRealms.Engine.Core.Types;
+using ChessRealms.Engine.Parsing;
using System.Numerics;
-namespace ChessRealms.ChessEngine;
+namespace ChessRealms.Engine;
/// A mutable game with exclusive history ownership. Use Clone for independent analysis.
public sealed class ChessGame
diff --git a/src/ChessRealms.ChessEngine/ChessPiece.cs b/src/ChessRealms.Engine/ChessPiece.cs
similarity index 90%
rename from src/ChessRealms.ChessEngine/ChessPiece.cs
rename to src/ChessRealms.Engine/ChessPiece.cs
index caa3b92..fa33b07 100644
--- a/src/ChessRealms.ChessEngine/ChessPiece.cs
+++ b/src/ChessRealms.Engine/ChessPiece.cs
@@ -1,4 +1,4 @@
-namespace ChessRealms.ChessEngine;
+namespace ChessRealms.Engine;
public readonly struct ChessPiece(PieceColor color, PieceValue piece)
{
diff --git a/src/ChessRealms.ChessEngine/ChessRealms.ChessEngine.csproj b/src/ChessRealms.Engine/ChessRealms.Engine.csproj
similarity index 63%
rename from src/ChessRealms.ChessEngine/ChessRealms.ChessEngine.csproj
rename to src/ChessRealms.Engine/ChessRealms.Engine.csproj
index de182cf..8b9955e 100644
--- a/src/ChessRealms.ChessEngine/ChessRealms.ChessEngine.csproj
+++ b/src/ChessRealms.Engine/ChessRealms.Engine.csproj
@@ -8,9 +8,9 @@
-
-
-
+
+
+
diff --git a/src/ChessRealms.ChessEngine/Common/PieceCharsets.cs b/src/ChessRealms.Engine/Common/PieceCharsets.cs
similarity index 87%
rename from src/ChessRealms.ChessEngine/Common/PieceCharsets.cs
rename to src/ChessRealms.Engine/Common/PieceCharsets.cs
index 542406c..0f4cf0f 100644
--- a/src/ChessRealms.ChessEngine/Common/PieceCharsets.cs
+++ b/src/ChessRealms.Engine/Common/PieceCharsets.cs
@@ -1,4 +1,4 @@
-namespace ChessRealms.ChessEngine.Common;
+namespace ChessRealms.Engine.Common;
public static class PieceCharsets
{
diff --git a/src/ChessRealms.ChessEngine/Common/UnsafeArrays.cs b/src/ChessRealms.Engine/Common/UnsafeArrays.cs
similarity index 85%
rename from src/ChessRealms.ChessEngine/Common/UnsafeArrays.cs
rename to src/ChessRealms.Engine/Common/UnsafeArrays.cs
index 2cd12ae..1422a1c 100644
--- a/src/ChessRealms.ChessEngine/Common/UnsafeArrays.cs
+++ b/src/ChessRealms.Engine/Common/UnsafeArrays.cs
@@ -1,4 +1,4 @@
-namespace ChessRealms.ChessEngine.Common;
+namespace ChessRealms.Engine.Common;
public static unsafe class UnsafeArrays
{
diff --git a/src/ChessRealms.ChessEngine/Core/Attacks/AttackLookups.cs b/src/ChessRealms.Engine/Core/Attacks/AttackLookups.cs
similarity index 84%
rename from src/ChessRealms.ChessEngine/Core/Attacks/AttackLookups.cs
rename to src/ChessRealms.Engine/Core/Attacks/AttackLookups.cs
index 29f5e9c..4c89deb 100644
--- a/src/ChessRealms.ChessEngine/Core/Attacks/AttackLookups.cs
+++ b/src/ChessRealms.Engine/Core/Attacks/AttackLookups.cs
@@ -1,4 +1,4 @@
-namespace ChessRealms.ChessEngine.Core.Attacks;
+namespace ChessRealms.Engine.Core.Attacks;
internal static class AttackLookups
{
diff --git a/src/ChessRealms.ChessEngine/Core/Attacks/BishopAttacks.cs b/src/ChessRealms.Engine/Core/Attacks/BishopAttacks.cs
similarity index 98%
rename from src/ChessRealms.ChessEngine/Core/Attacks/BishopAttacks.cs
rename to src/ChessRealms.Engine/Core/Attacks/BishopAttacks.cs
index da63d78..d103115 100644
--- a/src/ChessRealms.ChessEngine/Core/Attacks/BishopAttacks.cs
+++ b/src/ChessRealms.Engine/Core/Attacks/BishopAttacks.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Debugs;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Debugs;
using System.Runtime.InteropServices;
-namespace ChessRealms.ChessEngine.Core.Attacks;
+namespace ChessRealms.Engine.Core.Attacks;
internal static unsafe class BishopAttacks
{
diff --git a/src/ChessRealms.ChessEngine/Core/Attacks/KingAttacks.cs b/src/ChessRealms.Engine/Core/Attacks/KingAttacks.cs
similarity index 89%
rename from src/ChessRealms.ChessEngine/Core/Attacks/KingAttacks.cs
rename to src/ChessRealms.Engine/Core/Attacks/KingAttacks.cs
index 94a178b..e8fae77 100644
--- a/src/ChessRealms.ChessEngine/Core/Attacks/KingAttacks.cs
+++ b/src/ChessRealms.Engine/Core/Attacks/KingAttacks.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
using System.Runtime.InteropServices;
-namespace ChessRealms.ChessEngine.Core.Attacks;
+namespace ChessRealms.Engine.Core.Attacks;
internal static unsafe class KingAttacks
{
diff --git a/src/ChessRealms.ChessEngine/Core/Attacks/KnightAttacks.cs b/src/ChessRealms.Engine/Core/Attacks/KnightAttacks.cs
similarity index 90%
rename from src/ChessRealms.ChessEngine/Core/Attacks/KnightAttacks.cs
rename to src/ChessRealms.Engine/Core/Attacks/KnightAttacks.cs
index 8503769..1fc46cf 100644
--- a/src/ChessRealms.ChessEngine/Core/Attacks/KnightAttacks.cs
+++ b/src/ChessRealms.Engine/Core/Attacks/KnightAttacks.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
using System.Runtime.InteropServices;
-namespace ChessRealms.ChessEngine.Core.Attacks;
+namespace ChessRealms.Engine.Core.Attacks;
internal static unsafe class KnightAttacks
{
diff --git a/src/ChessRealms.ChessEngine/Core/Attacks/Occupancy.cs b/src/ChessRealms.Engine/Core/Attacks/Occupancy.cs
similarity index 92%
rename from src/ChessRealms.ChessEngine/Core/Attacks/Occupancy.cs
rename to src/ChessRealms.Engine/Core/Attacks/Occupancy.cs
index e6e94c2..4961fb5 100644
--- a/src/ChessRealms.ChessEngine/Core/Attacks/Occupancy.cs
+++ b/src/ChessRealms.Engine/Core/Attacks/Occupancy.cs
@@ -1,7 +1,7 @@
-using ChessRealms.ChessEngine.Core.Math;
+using ChessRealms.Engine.Core.Math;
using System.Runtime.CompilerServices;
-namespace ChessRealms.ChessEngine.Core.Attacks;
+namespace ChessRealms.Engine.Core.Attacks;
internal static class Occupancy
{
diff --git a/src/ChessRealms.ChessEngine/Core/Attacks/PawnAttacks.cs b/src/ChessRealms.Engine/Core/Attacks/PawnAttacks.cs
similarity index 90%
rename from src/ChessRealms.ChessEngine/Core/Attacks/PawnAttacks.cs
rename to src/ChessRealms.Engine/Core/Attacks/PawnAttacks.cs
index edeb35c..dc72c5a 100644
--- a/src/ChessRealms.ChessEngine/Core/Attacks/PawnAttacks.cs
+++ b/src/ChessRealms.Engine/Core/Attacks/PawnAttacks.cs
@@ -1,10 +1,10 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Debugs;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Debugs;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
-namespace ChessRealms.ChessEngine.Core.Attacks;
+namespace ChessRealms.Engine.Core.Attacks;
internal static unsafe class PawnAttacks
{
diff --git a/src/ChessRealms.ChessEngine/Core/Attacks/QueenAttacks.cs b/src/ChessRealms.Engine/Core/Attacks/QueenAttacks.cs
similarity index 91%
rename from src/ChessRealms.ChessEngine/Core/Attacks/QueenAttacks.cs
rename to src/ChessRealms.Engine/Core/Attacks/QueenAttacks.cs
index 34be7d7..33b8a07 100644
--- a/src/ChessRealms.ChessEngine/Core/Attacks/QueenAttacks.cs
+++ b/src/ChessRealms.Engine/Core/Attacks/QueenAttacks.cs
@@ -1,4 +1,4 @@
-namespace ChessRealms.ChessEngine.Core.Attacks;
+namespace ChessRealms.Engine.Core.Attacks;
internal static class QueenAttacks
{
diff --git a/src/ChessRealms.ChessEngine/Core/Attacks/RookAttacks.cs b/src/ChessRealms.Engine/Core/Attacks/RookAttacks.cs
similarity index 98%
rename from src/ChessRealms.ChessEngine/Core/Attacks/RookAttacks.cs
rename to src/ChessRealms.Engine/Core/Attacks/RookAttacks.cs
index 9813978..689413c 100644
--- a/src/ChessRealms.ChessEngine/Core/Attacks/RookAttacks.cs
+++ b/src/ChessRealms.Engine/Core/Attacks/RookAttacks.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Debugs;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Debugs;
using System.Runtime.InteropServices;
-namespace ChessRealms.ChessEngine.Core.Attacks;
+namespace ChessRealms.Engine.Core.Attacks;
internal static unsafe class RookAttacks
{
diff --git a/src/ChessRealms.ChessEngine/Core/Constants/DefaultChessConstants.cs b/src/ChessRealms.Engine/Core/Constants/DefaultChessConstants.cs
similarity index 98%
rename from src/ChessRealms.ChessEngine/Core/Constants/DefaultChessConstants.cs
rename to src/ChessRealms.Engine/Core/Constants/DefaultChessConstants.cs
index b7251d5..0bee079 100644
--- a/src/ChessRealms.ChessEngine/Core/Constants/DefaultChessConstants.cs
+++ b/src/ChessRealms.Engine/Core/Constants/DefaultChessConstants.cs
@@ -1,6 +1,6 @@
-using System.Runtime.CompilerServices;
+using System.Runtime.CompilerServices;
-namespace ChessRealms.ChessEngine.Core.Constants;
+namespace ChessRealms.Engine.Core.Constants;
public static class Colors
{
diff --git a/src/ChessRealms.ChessEngine/Core/Constants/SquareMapping.cs b/src/ChessRealms.Engine/Core/Constants/SquareMapping.cs
similarity index 95%
rename from src/ChessRealms.ChessEngine/Core/Constants/SquareMapping.cs
rename to src/ChessRealms.Engine/Core/Constants/SquareMapping.cs
index b1bf086..9fdb684 100644
--- a/src/ChessRealms.ChessEngine/Core/Constants/SquareMapping.cs
+++ b/src/ChessRealms.Engine/Core/Constants/SquareMapping.cs
@@ -1,4 +1,4 @@
-namespace ChessRealms.ChessEngine.Core.Constants;
+namespace ChessRealms.Engine.Core.Constants;
///
/// Little-Endian File-Rank Mapping Constants.
diff --git a/src/ChessRealms.ChessEngine/Core/Extensions/CommonTypesExtensions.cs b/src/ChessRealms.Engine/Core/Extensions/CommonTypesExtensions.cs
similarity index 78%
rename from src/ChessRealms.ChessEngine/Core/Extensions/CommonTypesExtensions.cs
rename to src/ChessRealms.Engine/Core/Extensions/CommonTypesExtensions.cs
index fee297e..b10fc95 100644
--- a/src/ChessRealms.ChessEngine/Core/Extensions/CommonTypesExtensions.cs
+++ b/src/ChessRealms.Engine/Core/Extensions/CommonTypesExtensions.cs
@@ -1,6 +1,6 @@
-using System.Runtime.CompilerServices;
+using System.Runtime.CompilerServices;
-namespace ChessRealms.ChessEngine.Core.Extensions;
+namespace ChessRealms.Engine.Core.Extensions;
internal static class CommonTypesExtensions
{
diff --git a/src/ChessRealms.ChessEngine/Core/Math/BinaryMoveOps.cs b/src/ChessRealms.Engine/Core/Math/BinaryMoveOps.cs
similarity index 97%
rename from src/ChessRealms.ChessEngine/Core/Math/BinaryMoveOps.cs
rename to src/ChessRealms.Engine/Core/Math/BinaryMoveOps.cs
index 555685d..b7f6eb7 100644
--- a/src/ChessRealms.ChessEngine/Core/Math/BinaryMoveOps.cs
+++ b/src/ChessRealms.Engine/Core/Math/BinaryMoveOps.cs
@@ -1,7 +1,7 @@
-using ChessRealms.ChessEngine.Core.Constants;
+using ChessRealms.Engine.Core.Constants;
using System.Runtime.CompilerServices;
-namespace ChessRealms.ChessEngine.Core.Math;
+namespace ChessRealms.Engine.Core.Math;
internal static class BinaryMoveOps
{
diff --git a/src/ChessRealms.ChessEngine/Core/Math/BitboardOps.cs b/src/ChessRealms.Engine/Core/Math/BitboardOps.cs
similarity index 95%
rename from src/ChessRealms.ChessEngine/Core/Math/BitboardOps.cs
rename to src/ChessRealms.Engine/Core/Math/BitboardOps.cs
index 8410a4b..863717b 100644
--- a/src/ChessRealms.ChessEngine/Core/Math/BitboardOps.cs
+++ b/src/ChessRealms.Engine/Core/Math/BitboardOps.cs
@@ -1,8 +1,8 @@
-using System.Diagnostics;
+using System.Diagnostics;
using System.Numerics;
using System.Runtime.CompilerServices;
-namespace ChessRealms.ChessEngine.Core.Math;
+namespace ChessRealms.Engine.Core.Math;
public static class BitboardOps
{
diff --git a/src/ChessRealms.ChessEngine/Core/Math/SquareOps.cs b/src/ChessRealms.Engine/Core/Math/SquareOps.cs
similarity index 95%
rename from src/ChessRealms.ChessEngine/Core/Math/SquareOps.cs
rename to src/ChessRealms.Engine/Core/Math/SquareOps.cs
index 80d796a..7e467df 100644
--- a/src/ChessRealms.ChessEngine/Core/Math/SquareOps.cs
+++ b/src/ChessRealms.Engine/Core/Math/SquareOps.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Debugs;
+using ChessRealms.Engine.Debugs;
using System.Diagnostics;
using System.Runtime.CompilerServices;
-namespace ChessRealms.ChessEngine.Core.Math;
+namespace ChessRealms.Engine.Core.Math;
public static class SquareOps
{
diff --git a/src/ChessRealms.ChessEngine/Core/Movements/CastlingMovement.cs b/src/ChessRealms.Engine/Core/Movements/CastlingMovement.cs
similarity index 95%
rename from src/ChessRealms.ChessEngine/Core/Movements/CastlingMovement.cs
rename to src/ChessRealms.Engine/Core/Movements/CastlingMovement.cs
index 16bebdb..8265842 100644
--- a/src/ChessRealms.ChessEngine/Core/Movements/CastlingMovement.cs
+++ b/src/ChessRealms.Engine/Core/Movements/CastlingMovement.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Core.Types;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Core.Types;
-namespace ChessRealms.ChessEngine.Core.Movements;
+namespace ChessRealms.Engine.Core.Movements;
internal static class CastlingMovement
{
diff --git a/src/ChessRealms.ChessEngine/Core/Movements/LeapingMovement.cs b/src/ChessRealms.Engine/Core/Movements/LeapingMovement.cs
similarity index 89%
rename from src/ChessRealms.ChessEngine/Core/Movements/LeapingMovement.cs
rename to src/ChessRealms.Engine/Core/Movements/LeapingMovement.cs
index 8f7e935..60a2a5f 100644
--- a/src/ChessRealms.ChessEngine/Core/Movements/LeapingMovement.cs
+++ b/src/ChessRealms.Engine/Core/Movements/LeapingMovement.cs
@@ -1,10 +1,10 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Core.Types;
-using ChessRealms.ChessEngine.Debugs;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Core.Types;
+using ChessRealms.Engine.Debugs;
using System.Diagnostics;
-namespace ChessRealms.ChessEngine.Core.Movements;
+namespace ChessRealms.Engine.Core.Movements;
internal unsafe static class LeapingMovement
{
diff --git a/src/ChessRealms.ChessEngine/Core/Movements/MoveDriver.cs b/src/ChessRealms.Engine/Core/Movements/MoveDriver.cs
similarity index 94%
rename from src/ChessRealms.ChessEngine/Core/Movements/MoveDriver.cs
rename to src/ChessRealms.Engine/Core/Movements/MoveDriver.cs
index 576b722..029252f 100644
--- a/src/ChessRealms.ChessEngine/Core/Movements/MoveDriver.cs
+++ b/src/ChessRealms.Engine/Core/Movements/MoveDriver.cs
@@ -1,10 +1,10 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Extensions;
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Core.Types;
-using ChessRealms.ChessEngine.Debugs;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Extensions;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Core.Types;
+using ChessRealms.Engine.Debugs;
-namespace ChessRealms.ChessEngine.Core.Movements;
+namespace ChessRealms.Engine.Core.Movements;
internal static class MoveDriver
{
diff --git a/src/ChessRealms.ChessEngine/Core/Movements/MoveGen.cs b/src/ChessRealms.Engine/Core/Movements/MoveGen.cs
similarity index 88%
rename from src/ChessRealms.ChessEngine/Core/Movements/MoveGen.cs
rename to src/ChessRealms.Engine/Core/Movements/MoveGen.cs
index b87dde4..dca04f3 100644
--- a/src/ChessRealms.ChessEngine/Core/Movements/MoveGen.cs
+++ b/src/ChessRealms.Engine/Core/Movements/MoveGen.cs
@@ -1,8 +1,8 @@
-using ChessRealms.ChessEngine.Core.Attacks;
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Types;
+using ChessRealms.Engine.Core.Attacks;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Types;
-namespace ChessRealms.ChessEngine.Core.Movements;
+namespace ChessRealms.Engine.Core.Movements;
internal static unsafe class MoveGen
{
diff --git a/src/ChessRealms.ChessEngine/Core/Movements/PawnMovement.cs b/src/ChessRealms.Engine/Core/Movements/PawnMovement.cs
similarity index 94%
rename from src/ChessRealms.ChessEngine/Core/Movements/PawnMovement.cs
rename to src/ChessRealms.Engine/Core/Movements/PawnMovement.cs
index 177f47c..6abebf3 100644
--- a/src/ChessRealms.ChessEngine/Core/Movements/PawnMovement.cs
+++ b/src/ChessRealms.Engine/Core/Movements/PawnMovement.cs
@@ -1,13 +1,13 @@
-using ChessRealms.ChessEngine.Core.Attacks;
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Extensions;
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Core.Types;
-using ChessRealms.ChessEngine.Debugs;
+using ChessRealms.Engine.Core.Attacks;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Extensions;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Core.Types;
+using ChessRealms.Engine.Debugs;
using System.Diagnostics;
using System.Runtime.CompilerServices;
-namespace ChessRealms.ChessEngine.Core.Movements;
+namespace ChessRealms.Engine.Core.Movements;
internal static class PawnMovement
{
diff --git a/src/ChessRealms.ChessEngine/Core/Movements/SlidingMovement.cs b/src/ChessRealms.Engine/Core/Movements/SlidingMovement.cs
similarity index 89%
rename from src/ChessRealms.ChessEngine/Core/Movements/SlidingMovement.cs
rename to src/ChessRealms.Engine/Core/Movements/SlidingMovement.cs
index 99cfd89..098b5b0 100644
--- a/src/ChessRealms.ChessEngine/Core/Movements/SlidingMovement.cs
+++ b/src/ChessRealms.Engine/Core/Movements/SlidingMovement.cs
@@ -1,10 +1,10 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Core.Types;
-using ChessRealms.ChessEngine.Debugs;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Core.Types;
+using ChessRealms.Engine.Debugs;
using System.Diagnostics;
-namespace ChessRealms.ChessEngine.Core.Movements;
+namespace ChessRealms.Engine.Core.Movements;
internal unsafe static class SlidingMovement
{
diff --git a/src/ChessRealms.ChessEngine/Core/Types/Piece.cs b/src/ChessRealms.Engine/Core/Types/Piece.cs
similarity index 82%
rename from src/ChessRealms.ChessEngine/Core/Types/Piece.cs
rename to src/ChessRealms.Engine/Core/Types/Piece.cs
index 3b62091..da3f90f 100644
--- a/src/ChessRealms.ChessEngine/Core/Types/Piece.cs
+++ b/src/ChessRealms.Engine/Core/Types/Piece.cs
@@ -1,7 +1,7 @@
-using ChessRealms.ChessEngine.Core.Constants;
+using ChessRealms.Engine.Core.Constants;
using System.Runtime.CompilerServices;
-namespace ChessRealms.ChessEngine.Core.Types;
+namespace ChessRealms.Engine.Core.Types;
public readonly struct Piece(int piece, int color)
{
diff --git a/src/ChessRealms.ChessEngine/Core/Types/Position.cs b/src/ChessRealms.Engine/Core/Types/Position.cs
similarity index 98%
rename from src/ChessRealms.ChessEngine/Core/Types/Position.cs
rename to src/ChessRealms.Engine/Core/Types/Position.cs
index 84befb4..eb7de8f 100644
--- a/src/ChessRealms.ChessEngine/Core/Types/Position.cs
+++ b/src/ChessRealms.Engine/Core/Types/Position.cs
@@ -1,13 +1,13 @@
-using ChessRealms.ChessEngine.Core.Attacks;
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Extensions;
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Debugs;
+using ChessRealms.Engine.Core.Attacks;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Extensions;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Debugs;
using System.Diagnostics;
using System.Runtime.CompilerServices;
using System.Numerics;
-namespace ChessRealms.ChessEngine.Core.Types;
+namespace ChessRealms.Engine.Core.Types;
/// A value snapshot. Assignment copies bitboards; its BigInteger counters are immutable.
diff --git a/src/ChessRealms.ChessEngine/Core/Types/PositionValidation.cs b/src/ChessRealms.Engine/Core/Types/PositionValidation.cs
similarity index 97%
rename from src/ChessRealms.ChessEngine/Core/Types/PositionValidation.cs
rename to src/ChessRealms.Engine/Core/Types/PositionValidation.cs
index cab6e6b..8b674c1 100644
--- a/src/ChessRealms.ChessEngine/Core/Types/PositionValidation.cs
+++ b/src/ChessRealms.Engine/Core/Types/PositionValidation.cs
@@ -1,7 +1,7 @@
-using ChessRealms.ChessEngine.Core.Constants;
+using ChessRealms.Engine.Core.Constants;
using System.Numerics;
-namespace ChessRealms.ChessEngine.Core.Types;
+namespace ChessRealms.Engine.Core.Types;
/// Local standard-chess invariants, without proving historical reachability.
internal static class PositionValidation
diff --git a/src/ChessRealms.ChessEngine/Debugs/Asserts/CommonChessAsserts.cs b/src/ChessRealms.Engine/Debugs/Asserts/CommonChessAsserts.cs
similarity index 94%
rename from src/ChessRealms.ChessEngine/Debugs/Asserts/CommonChessAsserts.cs
rename to src/ChessRealms.Engine/Debugs/Asserts/CommonChessAsserts.cs
index 95ce429..90106eb 100644
--- a/src/ChessRealms.ChessEngine/Debugs/Asserts/CommonChessAsserts.cs
+++ b/src/ChessRealms.Engine/Debugs/Asserts/CommonChessAsserts.cs
@@ -1,7 +1,7 @@
-using ChessRealms.ChessEngine.Core.Constants;
+using ChessRealms.Engine.Core.Constants;
using System.Diagnostics;
-namespace ChessRealms.ChessEngine.Debugs;
+namespace ChessRealms.Engine.Debugs;
internal static partial class DebugHelper
{
diff --git a/src/ChessRealms.ChessEngine/Debugs/DebugHelper.cs b/src/ChessRealms.Engine/Debugs/DebugHelper.cs
similarity index 88%
rename from src/ChessRealms.ChessEngine/Debugs/DebugHelper.cs
rename to src/ChessRealms.Engine/Debugs/DebugHelper.cs
index 5351a8a..9c919ca 100644
--- a/src/ChessRealms.ChessEngine/Debugs/DebugHelper.cs
+++ b/src/ChessRealms.Engine/Debugs/DebugHelper.cs
@@ -1,9 +1,9 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Extensions;
-using ChessRealms.ChessEngine.Core.Math;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Extensions;
+using ChessRealms.Engine.Core.Math;
using System.Text;
-namespace ChessRealms.ChessEngine.Debugs;
+namespace ChessRealms.Engine.Debugs;
internal static partial class DebugHelper
{
diff --git a/src/ChessRealms.ChessEngine/FinishReason.cs b/src/ChessRealms.Engine/FinishReason.cs
similarity index 83%
rename from src/ChessRealms.ChessEngine/FinishReason.cs
rename to src/ChessRealms.Engine/FinishReason.cs
index f70a269..4e4067d 100644
--- a/src/ChessRealms.ChessEngine/FinishReason.cs
+++ b/src/ChessRealms.Engine/FinishReason.cs
@@ -1,4 +1,4 @@
-namespace ChessRealms.ChessEngine;
+namespace ChessRealms.Engine;
public enum FinishReason
{
diff --git a/src/ChessRealms.ChessEngine/GameOutcome.cs b/src/ChessRealms.Engine/GameOutcome.cs
similarity index 93%
rename from src/ChessRealms.ChessEngine/GameOutcome.cs
rename to src/ChessRealms.Engine/GameOutcome.cs
index c1fd98f..93d6358 100644
--- a/src/ChessRealms.ChessEngine/GameOutcome.cs
+++ b/src/ChessRealms.Engine/GameOutcome.cs
@@ -1,4 +1,4 @@
-namespace ChessRealms.ChessEngine;
+namespace ChessRealms.Engine;
public enum GameState { Active, Check, Finished }
public enum GameResult { Ongoing, WhiteWin, BlackWin, Draw }
diff --git a/src/ChessRealms.ChessEngine/MoveResult.cs b/src/ChessRealms.Engine/MoveResult.cs
similarity index 77%
rename from src/ChessRealms.ChessEngine/MoveResult.cs
rename to src/ChessRealms.Engine/MoveResult.cs
index 5d2771f..eeb76d8 100644
--- a/src/ChessRealms.ChessEngine/MoveResult.cs
+++ b/src/ChessRealms.Engine/MoveResult.cs
@@ -1,4 +1,4 @@
-namespace ChessRealms.ChessEngine;
+namespace ChessRealms.Engine;
[Flags]
public enum MoveResult
diff --git a/src/ChessRealms.ChessEngine/Parsing/AlgebraicNotation.cs b/src/ChessRealms.Engine/Parsing/AlgebraicNotation.cs
similarity index 92%
rename from src/ChessRealms.ChessEngine/Parsing/AlgebraicNotation.cs
rename to src/ChessRealms.Engine/Parsing/AlgebraicNotation.cs
index ae6d1d3..5672991 100644
--- a/src/ChessRealms.ChessEngine/Parsing/AlgebraicNotation.cs
+++ b/src/ChessRealms.Engine/Parsing/AlgebraicNotation.cs
@@ -1,7 +1,7 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
-namespace ChessRealms.ChessEngine.Parsing;
+namespace ChessRealms.Engine.Parsing;
public static class AlgebraicNotation
{
diff --git a/src/ChessRealms.ChessEngine/Parsing/FenStrings.cs b/src/ChessRealms.Engine/Parsing/FenStrings.cs
similarity index 96%
rename from src/ChessRealms.ChessEngine/Parsing/FenStrings.cs
rename to src/ChessRealms.Engine/Parsing/FenStrings.cs
index 8f837d3..a57aa53 100644
--- a/src/ChessRealms.ChessEngine/Parsing/FenStrings.cs
+++ b/src/ChessRealms.Engine/Parsing/FenStrings.cs
@@ -1,11 +1,11 @@
-using ChessRealms.ChessEngine.Core.Constants;
-using ChessRealms.ChessEngine.Core.Math;
-using ChessRealms.ChessEngine.Core.Types;
+using ChessRealms.Engine.Core.Constants;
+using ChessRealms.Engine.Core.Math;
+using ChessRealms.Engine.Core.Types;
using System.Globalization;
using System.Numerics;
using System.Text;
-namespace ChessRealms.ChessEngine.Parsing;
+namespace ChessRealms.Engine.Parsing;
public static class FenStrings
{
diff --git a/src/ChessRealms.ChessEngine/PieceColor.cs b/src/ChessRealms.Engine/PieceColor.cs
similarity index 82%
rename from src/ChessRealms.ChessEngine/PieceColor.cs
rename to src/ChessRealms.Engine/PieceColor.cs
index 4038ffb..ed0b9bf 100644
--- a/src/ChessRealms.ChessEngine/PieceColor.cs
+++ b/src/ChessRealms.Engine/PieceColor.cs
@@ -1,7 +1,7 @@
-using ChessRealms.ChessEngine.Core.Constants;
+using ChessRealms.Engine.Core.Constants;
using System.Runtime.CompilerServices;
-namespace ChessRealms.ChessEngine;
+namespace ChessRealms.Engine;
public enum PieceColor
{
diff --git a/src/ChessRealms.ChessEngine/PieceValue.cs b/src/ChessRealms.Engine/PieceValue.cs
similarity index 71%
rename from src/ChessRealms.ChessEngine/PieceValue.cs
rename to src/ChessRealms.Engine/PieceValue.cs
index 9ec0f98..2c78ff8 100644
--- a/src/ChessRealms.ChessEngine/PieceValue.cs
+++ b/src/ChessRealms.Engine/PieceValue.cs
@@ -1,6 +1,6 @@
-using ChessRealms.ChessEngine.Core.Constants;
+using ChessRealms.Engine.Core.Constants;
-namespace ChessRealms.ChessEngine;
+namespace ChessRealms.Engine;
public enum PieceValue
{
diff --git a/src/ChessRealms.ChessEngine/Square.cs b/src/ChessRealms.Engine/Square.cs
similarity index 85%
rename from src/ChessRealms.ChessEngine/Square.cs
rename to src/ChessRealms.Engine/Square.cs
index 50ae50e..1a1cec7 100644
--- a/src/ChessRealms.ChessEngine/Square.cs
+++ b/src/ChessRealms.Engine/Square.cs
@@ -1,4 +1,4 @@
-namespace ChessRealms.ChessEngine;
+namespace ChessRealms.Engine;
public readonly struct Square(int value)
{
diff --git a/src/ChessRealms.ChessEngine/packages.lock.json b/src/ChessRealms.Engine/packages.lock.json
similarity index 100%
rename from src/ChessRealms.ChessEngine/packages.lock.json
rename to src/ChessRealms.Engine/packages.lock.json
diff --git a/src/ChessRealms.MagicBruteforce/ChessRealms.MagicBruteforce.csproj b/src/ChessRealms.MagicBruteforce/ChessRealms.MagicBruteforce.csproj
index 85cf8de..224983d 100644
--- a/src/ChessRealms.MagicBruteforce/ChessRealms.MagicBruteforce.csproj
+++ b/src/ChessRealms.MagicBruteforce/ChessRealms.MagicBruteforce.csproj
@@ -8,7 +8,7 @@
-
+
diff --git a/src/ChessRealms.MagicBruteforce/Magic.cs b/src/ChessRealms.MagicBruteforce/Magic.cs
index 8a4aeb5..c344e6b 100644
--- a/src/ChessRealms.MagicBruteforce/Magic.cs
+++ b/src/ChessRealms.MagicBruteforce/Magic.cs
@@ -1,4 +1,4 @@
-using ChessRealms.ChessEngine.Core.Attacks;
+using ChessRealms.Engine.Core.Attacks;
using System.Numerics;
namespace ChessRealms.MagicBruteforce;
diff --git a/src/ChessRealms.MagicBruteforce/packages.lock.json b/src/ChessRealms.MagicBruteforce/packages.lock.json
index 3e128ec..eb97abc 100644
--- a/src/ChessRealms.MagicBruteforce/packages.lock.json
+++ b/src/ChessRealms.MagicBruteforce/packages.lock.json
@@ -2,9 +2,9 @@
"version": 1,
"dependencies": {
"net10.0": {
- "chessrealms.chessengine": {
+ "chessrealms.engine": {
"type": "Project"
}
}
}
-}
+}
\ No newline at end of file