Skip to content

Land #53 and #54 on main: namespaces + flattened layout - #55

Merged
ResurrectedTrader merged 3 commits into
mainfrom
namespaces-and-layout
Sep 26, 2026
Merged

ResurrectedTrader merged 3 commits into
mainfrom
namespaces-and-layout

Conversation

@ResurrectedTrader

Copy link
Copy Markdown
Owner

Lands #53 and #54 on main.

Both were squash-merged into their stacked base branches (#53 into fold-navigation-services, #54 into consistent-namespaces) after #52 had already been merged into main, so their changes never reached main. This PR carries the same reviewed commits, cherry-picked onto main:

The resulting tree is byte-identical to consistent-namespaces as merged (git diff origin/consistent-namespaces HEAD is empty), so nothing here is unreviewed.

🤖 Generated with Claude Code

ResurrectedTrader and others added 3 commits September 26, 2026 20:50
Apply the namespace rule from CLAUDE.md across the whole tree:

- utils: d2bs::profiling -> d2bs::utils::profiling, d2bs::thread_utils ->
  d2bs::utils::threads, DeferGuard into d2bs::utils.
- core: d2bs::config (core's) -> d2bs::core::config; detour, http, input,
  proxy, speedhack under d2bs::core.
- lod114d: imports, hooks, asm_thunks and the console host under
  d2bs::lod114d; game/ stays d2bs::game. The imports/extras headers no
  longer inject aliases into d2bs::game - the game/ files that use them
  declare their own using-declarations.
- runtime: d2bs::api -> d2bs::runtime::api; events (previously split
  between bare d2bs and a nested events namespace) -> d2bs::runtime::events;
  the script types -> d2bs::runtime::script; the generated .txt schema
  (TxtTables.h and its generator) moves from d2bs::game into
  d2bs::runtime::api::globals beside TxtLookup.
- The contract keeps d2bs::game / d2bs::config.

References are qualified minimally from the enclosing namespace. No
behaviour change: the extracted JS API surface (api.json) is identical.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
A Profiling.cpp comment still named thread_utils, and the tests'
GameLoopCollaborators fake defined runtime::events / runtime::script
members by qualified name from inside d2bs instead of opening their
namespaces.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
With navigation and services folded into it, runtime is the only frontend,
so the frontends/ grouping directory only added depth:

- src/frontends/runtime -> src/runtime
- src/glue -> src/dlls (the injectable DLL projects)
- tests/frontends/runtime -> tests/runtime

Paths only: project references and include directories, the solution,
CI cache keys, .gitignore, extract_api.py / gen_txt_tables.py, the tests'
.clang-tidy header filter, the fixture search path, and the docs.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@ResurrectedTrader
ResurrectedTrader merged commit ffabc0f into main Sep 26, 2026
1 check passed
@ResurrectedTrader
ResurrectedTrader deleted the namespaces-and-layout branch September 27, 2026 22:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant