diff --git a/CLAUDE.md b/CLAUDE.md index 9300baf..f46ed65 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -101,6 +101,11 @@ Pass 2 builds `ok_disk_names` — the set of disk names that already match the s - `logs.py` — real-time log viewer fed from the stdout/stderr queue - `settings.py` — in-app editor for `config.json` (server URL, paths, credentials) +**`_find_folder` (mods.py) — three-level name matching:** The mods view resolves a mod's local folder by mod name from `comparison.json`, which may differ from the server-canonical folder name used by the fetcher. Lookup order: +1. Exact: `@{mod_name}` +2. Case-insensitive: `@CBA_A3` matches `CBA_A3` +3. Normalized (`_normalize_name`): strips all non-alphanumeric — handles punctuation/spacing differences, e.g. `@US GEAr- Units (IFA3)` matches `US GEAr: Units (IFA3)` (both → `usgearunitsifa3`) + **`selection.json`** — GUI selection state file, tracked in git. Persists which mods/groups are selected between GUI sessions. Written by the GUI; safe to delete (GUI recreates it on next save). ## Python Version Compatibility