diff --git a/README.md b/README.md index 1f14c30..1da83f2 100644 --- a/README.md +++ b/README.md @@ -43,7 +43,42 @@ tools/ built development binary output - `compare-topdata` - `convert-topdata` -During development, sibling repositories can point at `../sow-tools/tools/sow-toolkit`. For pinned releases, each consumer repo can instead carry its own copy at `tools/sow-toolkit`. +During development, sibling repositories can point at `../sow-tools/tools/sow-toolkit` +or `../sow-tools/tools/sow-toolkit.exe`. For pinned releases, each consumer repo can +instead carry its own copy in its local `tools/` directory. + +## Cross-Repository Behavior + +The current ownership split is: + +- `sow-tools` + - owns the shared CLI and build logic + - owns module build, extract, compare, and HAK manifest application logic + - owns topdata validation, build, compare, conversion, and packaging logic +- `sow-module` + - owns canonical module source under `src/` + - owns canonical topdata authored data under `topdata/` + - owns the user-facing module and topdata wrapper commands +- `sow-assets` + - owns canonical binary asset source under `assets/` + - owns generated HAK manifests and parts manifests under `staging/` + - owns the user-facing asset wrapper commands + +Consumer wrapper resolution is intentionally aligned: + +1. Prefer a pinned local binary in `tools/` +2. Else prefer a sibling `../sow-tools` checkout for local source development +3. Else install the latest published `sow-tools` release artifact + +NWScript compilation behavior is also aligned: + +1. Prefer `SOW_NWN_SCRIPT_COMPILER` when explicitly set +2. Else prefer a local compiler in `tools/script-compiler/` or `tools/` +3. Else use a system-installed `nwn_script_comp` from `PATH` + +When the compiler runs, the toolkit prepares `NWN_HOME` / `NWN_USER_DIRECTORY` +automatically and tries to detect `NWN_ROOT` from common Steam locations, including +custom Steam library folders, before an explicit override is required. ## Release Automation