From 80ecd3a919e8063ae6cc2592d2a09515001e6c83 Mon Sep 17 00:00:00 2001 From: revernomad17 Date: Wed, 8 Apr 2026 15:57:11 +0700 Subject: [PATCH] docs: document _find_folder three-level name matching in CLAUDE.md Co-Authored-By: Claude Sonnet 4.6 --- CLAUDE.md | 5 +++++ 1 file changed, 5 insertions(+) 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