docs: remove studio-specific paths and references from README
Generalises the settings path, build command, console example and the read-only rationale; drops internal knowledge-base links and team roles. Co-Authored-By: Claude Code <noreply@anthropic.com>
This commit is contained in:
@@ -71,13 +71,13 @@ Asset Registry принципиально не видит:
|
|||||||
|
|
||||||
**Инструмент никогда не удаляет и не предлагает удалить.** Только отбор и выгрузка.
|
**Инструмент никогда не удаляет и не предлагает удалить.** Только отбор и выгрузка.
|
||||||
|
|
||||||
Смягчение: скан `Config/` и `Source/` по `\/Game([A-Za-z0-9_.\/]+)\b`. Без него `BP_FirstPersonGameMode`, `BP_MenuSystemGameInstance` и `RefinedMenuMap` помечались бы мусором — на них не ссылается ни один ассет, только `DefaultEngine.ini`.
|
Смягчение: скан `Config/` и `Source/` по `\/Game([A-Za-z0-9_.\/]+)\b`. Без него GameMode, GameInstance и стартовая карта помечались бы мусором — на них не ссылается ни один ассет, только `DefaultEngine.ini`.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Настройки
|
## Настройки
|
||||||
|
|
||||||
`Project Settings → 14Overmind → Asset Usage Audit`. Пишутся в `Config/DefaultEditor.ini` — файл Perforce-трекается, настройки видны команде.
|
`Project Settings → <Проект> → Asset Usage Audit`. Пишутся в `Config/DefaultEditor.ini` — файл под контролем версий, настройки общие для команды.
|
||||||
|
|
||||||
Состояние панели (выбранный уровень, типы, режим выгрузки, чекбокс зависимостей) хранится **отдельно** — в `Saved/Config/.../EditorPerProjectUserSettings.ini`, пер-юзерно и вне контроля версий. Сохраняется при закрытии вкладки; аварийное завершение редактора теряет изменения. Строка поиска намеренно не восстанавливается: панель, открывшаяся пустой из-за забытого фильтра, выглядит сломанной.
|
Состояние панели (выбранный уровень, типы, режим выгрузки, чекбокс зависимостей) хранится **отдельно** — в `Saved/Config/.../EditorPerProjectUserSettings.ini`, пер-юзерно и вне контроля версий. Сохраняется при закрытии вкладки; аварийное завершение редактора теряет изменения. Строка поиска намеренно не восстанавливается: панель, открывшаяся пустой из-за забытого фильтра, выглядит сломанной.
|
||||||
|
|
||||||
@@ -92,7 +92,7 @@ Asset Registry принципиально не видит:
|
|||||||
| `bMirrorFolderStructure` | `false` → плоская папка |
|
| `bMirrorFolderStructure` | `false` → плоская папка |
|
||||||
| `ExchangeFormatByClass` | пусто → встроенные умолчания |
|
| `ExchangeFormatByClass` | пусто → встроенные умолчания |
|
||||||
|
|
||||||
⚠️ `Content/MenuSystemPro` **намеренно не исключён**, хотя это покупной пак: он поставляет `BP_MenuSystemGameInstance`, который `DefaultEngine.ini` назначает GameInstance проекта.
|
⚠️ Покупной пак **не следует исключать вслепую**: он может поставлять класс, который `DefaultEngine.ini` назначает GameMode или GameInstance проекта. Проверяйте `ExcludedPackagePaths` против конфига.
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
@@ -100,7 +100,7 @@ Asset Registry принципиально не видит:
|
|||||||
|
|
||||||
```
|
```
|
||||||
AssetUsageAudit.OpenPanel
|
AssetUsageAudit.OpenPanel
|
||||||
AssetUsageAudit.Run [/Game/Space/Maps/WP_Main ...]
|
AssetUsageAudit.Run [/Game/Maps/YourLevel ...]
|
||||||
AssetUsageAudit.FindUnused
|
AssetUsageAudit.FindUnused
|
||||||
```
|
```
|
||||||
|
|
||||||
@@ -196,7 +196,7 @@ BOM обязателен: без него Excel ломает кириллицу.
|
|||||||
|
|
||||||
Побайтовое копирование, ничего не загружается. Уровень тянет за собой свои OFPA-пакеты — без них выгруженная карта откроется пустой.
|
Побайтовое копирование, ничего не загружается. Уровень тянет за собой свои OFPA-пакеты — без них выгруженная карта откроется пустой.
|
||||||
|
|
||||||
⚠️ **С источника снимается атрибут read-only.** Проект Perforce-primary, неоткрытые файлы на диске read-only, а Windows `CopyFile` переносит атрибут на копию. Без этого артист получал бы нередактируемую папку, а повторный прогон с политикой `Overwrite` падал бы на собственном предыдущем выводе. Флаг снимается с обеих сторон: перед перезаписью и после копирования.
|
⚠️ **С источника снимается атрибут read-only.** В проектах под VCS, которая держит невытянутые файлы read-only (Perforce и подобные), Windows `CopyFile` переносит атрибут на копию. Без этого артист получал бы нередактируемую папку, а повторный прогон с политикой `Overwrite` падал бы на собственном предыдущем выводе. Флаг снимается с обеих сторон: перед перезаписью и после копирования.
|
||||||
|
|
||||||
### Конвертация в обменные форматы
|
### Конвертация в обменные форматы
|
||||||
|
|
||||||
@@ -327,9 +327,9 @@ WP_Main → BP_FirstPersonGameMode → PDA_MenuSystemConfig → L_MainLevel →
|
|||||||
⚠️ Закрыть редактор — иначе линковка DLL упадёт.
|
⚠️ Закрыть редактор — иначе линковка DLL упадёт.
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
"C:/Program Files/Epic Games/UE_5.6/Engine/Build/BatchFiles/Build.bat" \
|
"<UE>/Engine/Build/BatchFiles/Build.bat" \
|
||||||
SpaceEditor Win64 Development \
|
<Project>Editor Win64 Development \
|
||||||
-project="D:\Work\NG\ng_MagentaDolphin_space\overmind\14Overmind.uproject" -waitmutex
|
-project="<abs path>/<Project>.uproject" -waitmutex
|
||||||
```
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -392,34 +392,23 @@ Reference Viewer сам по себе не источник истины: он
|
|||||||
- **UI после переделки в дерево руками не проверялся.** Компилируется, 121 автотест зелёный, но автотесты не трогают Slate: раскрытие уровней, третье состояние галочки на заголовке и сортировка внутри группы проверены только чтением кода.
|
- **UI после переделки в дерево руками не проверялся.** Компилируется, 121 автотест зелёный, но автотесты не трогают Slate: раскрытие уровней, третье состояние галочки на заголовке и сортировка внутри группы проверены только чтением кода.
|
||||||
- **Коммандлет не написан.** Упирается в дефект headless выше.
|
- **Коммандлет не написан.** Упирается в дефект headless выше.
|
||||||
- **Конвертация не прогонялась на большом объёме.** Тесты покрывают единицы ассетов; поведение GC и времени на тысячах — не замерено.
|
- **Конвертация не прогонялась на большом объёме.** Тесты покрывают единицы ассетов; поведение GC и времени на тысячах — не замерено.
|
||||||
- **Карта форматов узкая.** В дефолте только классы, для которых движок реально поставляет `UExporter`. Материалы, блюпринты и Niagara не конвертируются никуда — это ограничение движка, а не недоделка, но LA/3D нужно об этом сказать явно.
|
- **Карта форматов узкая.** В дефолте только классы, для которых движок реально поставляет `UExporter`. Материалы, блюпринты и Niagara не конвертируются никуда — это ограничение движка, а не недоделка, но пользователя нужно об этом предупредить явно.
|
||||||
- `BP_FirstPersonGameMode` даёт 29% строк `WP_Main` — нужен ли фильтр «исключить достижимое только через GameMode», решать LA/3D.
|
- GameMode может давать заметную долю строк отчёта по главной карте — нужен ли фильтр «исключить достижимое только через GameMode», решать по месту.
|
||||||
- FMOD в `Unknown` — скрывать по умолчанию или помечать, решать аудио-отделу.
|
- Ассеты сторонних аудио-плагинов попадают в `Unknown` — скрывать по умолчанию или помечать, решать по месту.
|
||||||
- Плагин лежит в git-части репозитория (`Plugins/**` вайтлистится в `.gitignore` и исключается в `.p4ignore`). Вынос в сабмодуль — после согласования.
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## Контроль версий
|
## Контроль версий
|
||||||
|
|
||||||
Плагин — **самостоятельный git-репозиторий** внутри `Plugins/`, как остальные 26 плагинов проекта. Удалённого сервера пока нет: репозиторий и выделенный remote ещё не согласованы.
|
Плагин — **самостоятельный git-репозиторий**. Артефакты сборки (`Binaries/`, `Intermediate/`) исключены локальным `.gitignore`: они пересобираются UBT из исходников и в коммит попадать не должны.
|
||||||
|
|
||||||
Из этого следуют две вещи:
|
При подключении к проекту как сабмодуль:
|
||||||
|
|
||||||
- в `.gitmodules` записи **нет** и быть не должно, пока нет URL. Запись без рабочего адреса уронит `git submodule update --init` в `SetupProject.bat` у всех, кто дёрнет проект;
|
|
||||||
- родительский репозиторий видит папку как `?? Plugins/AssetUsageAudit/`. Так и задумано: коммитить её содержимое в родителя нельзя, иначе при появлении сабмодуля будут две копии одних файлов.
|
|
||||||
|
|
||||||
**История живёт только на машине разработчика.** Как только появится remote:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git -C Plugins/AssetUsageAudit remote add origin <url>
|
|
||||||
git -C Plugins/AssetUsageAudit push -u origin master
|
|
||||||
git submodule add <url> Plugins/AssetUsageAudit
|
git submodule add <url> Plugins/AssetUsageAudit
|
||||||
```
|
```
|
||||||
|
|
||||||
Артефакты сборки (`Binaries/`, `Intermediate/` — 231 МБ) исключены локальным `.gitignore`. В Perforce плагин не попадает: `Plugins/**` исключён в `.p4ignore`.
|
|
||||||
|
|
||||||
## Связанное
|
## Связанное
|
||||||
|
|
||||||
- `.docs/architecture/asset-usage-audit.md` — заметка в базе знаний
|
- `Plugins/AssetsCleaner` — ищет неиспользуемые ассеты, но **не умеет привязку к уровням**
|
||||||
- `.docs/guides/build-and-run.md` — сборка и прогон тестов
|
|
||||||
- `Plugins/AssetsCleaner` — уже включён, ищет неиспользуемые ассеты, но **не умеет привязку к уровням**
|
|
||||||
|
|||||||
Reference in New Issue
Block a user