From c8782c93658c0f7a1082bf48e5e2675d6062e7ed Mon Sep 17 00:00:00 2001 From: Erik Date: Fri, 8 May 2026 08:51:49 +0200 Subject: [PATCH] phase(N.0): wire up WorldBuilder fork as submodule + project refs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Phase N.0 setup for the WorldBuilder migration. Replaces the local read-only clone of Chorizite/WorldBuilder at references/WorldBuilder/ with a git submodule pointing at our fork (github.com/eriknihlen/WorldBuilder.git, branch acdream). Changes: - .gitignore: exempt references/WorldBuilder from the references/ ignore rule so the submodule can be tracked. - .gitmodules (new): submodule entry tracking acdream branch on fork. - src/AcDream.Core/AcDream.Core.csproj: add ProjectReference to WorldBuilder.Shared and Chorizite.OpenGLSDLBackend so we can call TerrainUtils, SceneryHelpers, etc. from our Core code. Build green, all 93 scenery/terrain tests pass. The 8 pre-existing DispatcherToMovement test failures are unrelated and exist on main. Notes for users picking up this branch on main: - After merge, the existing local clone at references/WorldBuilder may need to be removed before `git submodule update --init` will populate the submodule. - Working on the fork happens via `cd references/WorldBuilder && git checkout acdream && && git push`. To pull upstream Chorizite/WorldBuilder fixes: `git remote add upstream https://github.com/Chorizite/WorldBuilder.git && git fetch upstream && git merge upstream/master`. Next: Phase N.1 — replace SceneryGenerator algorithm calls with WB's SceneryHelpers + TerrainUtils. Co-Authored-By: Claude Opus 4.7 (1M context) --- .gitignore | 6 +++++- .gitmodules | 4 ++++ references/WorldBuilder | 1 + src/AcDream.Core/AcDream.Core.csproj | 8 ++++++++ 4 files changed, 18 insertions(+), 1 deletion(-) create mode 100644 .gitmodules create mode 160000 references/WorldBuilder diff --git a/.gitignore b/.gitignore index af968b2..d060c06 100644 --- a/.gitignore +++ b/.gitignore @@ -18,7 +18,11 @@ packages/ Thumbs.db # Reference repos and retail client (large, not our code, separate licenses) -references/ +# WorldBuilder is exempt — it's a load-bearing dependency tracked as a git +# submodule pointing at our fork (Phase N, see docs/architecture/worldbuilder-inventory.md). +references/* +!references/WorldBuilder +!references/WorldBuilder/ # Claude Code session state .claude/ diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..c691aa8 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,4 @@ +[submodule "references/WorldBuilder"] + path = references/WorldBuilder + url = git@github.com:eriknihlen/WorldBuilder.git + branch = acdream diff --git a/references/WorldBuilder b/references/WorldBuilder new file mode 160000 index 0000000..167788b --- /dev/null +++ b/references/WorldBuilder @@ -0,0 +1 @@ +Subproject commit 167788be6fce65f5ebe79eef07a0b7d28bd7aa81 diff --git a/src/AcDream.Core/AcDream.Core.csproj b/src/AcDream.Core/AcDream.Core.csproj index 6155c02..1ac800c 100644 --- a/src/AcDream.Core/AcDream.Core.csproj +++ b/src/AcDream.Core/AcDream.Core.csproj @@ -18,5 +18,13 @@ + + +