# Реестр иллюстраций ПЗ Wallenc Правила: - Файл в `Report/images/` — **только** имя из таблицы. - Статус `ready` — файл на месте и подключён в `.typ`. - Статус `placeholder` — файл ещё не подготовлен (сейчас все иллюстрации `ready`). - Диаграммы PlantUML: `cd Report && bash scripts/render_puml.sh`. ## Соответствие «new images» → `images/` | Исходник в `new images/` | Целевой файл | |--------------------------|--------------| | `05.jpg` … `10.jpg`, `12.jpg`, `13.jpg` | `fig_05` … `fig_10`, `fig_12`, `fig_13` | | `27-domain-test.png` … `31-gradle-connected.png` | `fig_27` … `fig_31` | | `33-storage-screen.jpg` | `fig_33_storage_secrets_2fa.jpg` | | `34-2fa-screen.jpg` | `fig_34_2fa_single_token.jpg` | --- ## Полный реестр | № | Имя файла | Тип | Статус | Где в ПЗ | Примечание (содержание) | label | |---|-----------|-----|--------|----------|-------------------------|-------| | 01 | `fig_01_start_sync.png` | PlantUML | ready | гл. 3.3.3, 4.1.4 | Старт → Room → SyncWorker. **PUML** | fig-01 | | 02 | `fig_02_vault_lifecycle.png` | PlantUML | ready | гл. 3.3.3, 4.1.4 | Жизненный цикл **IStorage** (не vault). **PUML** | fig-02 | | 03 | `fig_03_navigation_hub.png` | PlantUML | ready | гл. 3.3.3, 4.1.4 | Main: LocalVault → storage; удалённые vault → VaultBrowser → storage. **PUML** | fig-03 | | 04 | `fig_04_domain_class.png` | PlantUML | ready | гл. 2.3.2, 4.2.1 | Классы `:domain`. **PUML** | fig-04 | | 05 | `fig_05_local_vaults.jpg` | Скриншот UI | ready | гл. 3.4, 5, прил. Б, В | Список storage (локальный vault) | fig-05 | | 06 | `fig_06_encrypt_dialog.jpg` | Скриншот UI | ready | гл. 3.4, 4.1.1, 5, прил. Б, В | Диалог включения шифрования | fig-06 | | 07 | `fig_07_open_close_dialog.jpg` | Скриншот UI | ready | гл. 3.4, 4.1.2, прил. Б, В | Открытие/закрытие storage | fig-07 | | 08 | `fig_08_rename_delete_dialog.jpg` | Скриншот UI | ready | гл. 3.4, 5, прил. Б, В | Переименование или удаление | fig-08 | | 09 | `fig_09_remote_vaults.jpg` | Скриншот UI | ready | гл. 3.4, 4.2.3, прил. Б, В | Удалённые vault | fig-09 | | 10 | `fig_10_yandex_oauth.jpg` | Скриншот UI | ready | гл. 1, 3.4, 4.2.3, прил. Б, В | OAuth Яндекс | fig-10 | | 11 | `fig_11_room_schema.png` | PlantUML | ready | гл. 2.3.2, 4.2.2, прил. В | Схема Room. **PUML** | fig-11 | | 12 | `fig_12_tasks_screen.jpg` | Скриншот UI | ready | гл. 5.2.3, прил. В | Экран задач | fig-12 | | 13 | `fig_13_tasks_notification.jpg` | Скриншот UI | ready | гл. 5.2.3, прил. В | Уведомление о задаче | fig-13 | | 14 | `fig_14_context_system.png` | PlantUML | ready | гл. 1.2.1, 2.1.4 | Контекстная диаграмма. **PUML** | fig-14 | | 15 | `fig_15_bpmn_vault.png` | PlantUML | ready | гл. 2.1.3 | BPMN жизненный цикл **storage** (шифрование storage, не vault). **PUML** | fig-15 | | 16 | `fig_16_dfd_level0.png` | PlantUML | ready | гл. 2.2 | DFD-0. **PUML** | fig-16 | | 17 | `fig_17_use_case.png` | PlantUML | ready | гл. 2.3.1 | Прецеденты. **PUML** | fig-17 | | 18 | `fig_18_deployment.png` | PlantUML | ready | гл. 2.3.3 | Развёртывание. **PUML** | fig-18 | | 19 | `fig_19_clean_architecture.png` | PlantUML | ready | гл. 2.3, 4.3 | Clean Architecture. **PUML** | fig-19 | | 20 | `fig_20_oauth_sequence.png` | PlantUML | ready | гл. 1.5.2, 4.2.3 | OAuth sequence. **PUML** | fig-20 | | 21 | `fig_21_encrypt_flow.png` | PlantUML | ready | гл. 4.1.1, 5.2.1 | Блок-схема шифрования. **PUML** | fig-21 | | 22 | `fig_22_cjm_vault.png` | PlantUML | ready | гл. 3.3.2 | CJM. **PUML** | fig-22 | | 23 | `fig_23_module_deps.png` | PlantUML | ready | гл. 4.3 | Зависимости Gradle. **PUML** | fig-23 | | 27 | `fig_27_gradle_domain_test.png` | Gradle | ready | гл. 5.2.1 | `:domain:test` SUCCESS | fig-27 | | 28 | `fig_28_gradle_usecases_test.png` | Gradle | ready | гл. 5.2.2 | `:usecases:test` SUCCESS | fig-28 | | 29 | `fig_29_gradle_ui_test.png` | Gradle | ready | гл. 5.2.3 | `:ui:test` SUCCESS | fig-29 | | 30 | `fig_30_gradle_test_summary.png` | Gradle | ready | гл. 5.4 | Сводка `test` | fig-30 | | 31 | `fig_31_gradle_connected_test.png` | Gradle | ready | гл. 5.3 | `connectedDebugAndroidTest` SUCCESS | fig-31 | | 32 | `fig_32_manual_test_checklist.png` | PlantUML Salt | ready | гл. 5.3 | Таблица-чек-лист T-7…T-12 (как @tbl-testres). **PUML** `fig_32_manual_test_checklist.puml` | fig-32 | | 33 | `fig_33_storage_secrets_2fa.jpg` | Скриншот UI | ready | гл. 1, 3.4, 5, прил. Б, В | Экран storage: вкладки/разделы секретов и 2FA | fig-33 | | 34 | `fig_34_2fa_single_token.jpg` | Скриншот UI | ready | гл. 1, 3.4, 5, прил. Б, В | Экран 2FA с одним TOTP-токеном | fig-34 | | 35 | `fig_35_sync_merge_algorithm.png` | PlantUML | ready | гл. 4 | Алгоритм согласования журналов синхронизации. **PUML** `fig_35_sync_merge_algorithm.puml` | fig-35 | | 36 | `fig_36_ml_on_device.png` | PlantUML | ready | гл. 6 | Контур on-device ML без выгрузки plaintext. **PUML** `fig_36_ml_on_device.puml` | fig-36 | ## Нумерация в PDF Номер «Рисунок N» — по порядку появления в тексте, не по номеру в имени файла. Пример: **Рисунок 3** в ПЗ — это `fig_15_bpmn_vault.png` (гл. 2), а не `fig_03_navigation_hub.png` (гл. 3, обычно ~рис. 6). ## fig_31 Один скрин `./gradlew connectedDebugAndroidTest` из корня репозитория, `BUILD SUCCESSFUL` (см. прежнее описание в истории реестра). ## Команды ```bash cd Report && bash scripts/render_puml.sh cd Report && python scripts/check_images.py typst compile --root .. "Пояснительная_записка_ПытковРЕ.typ" ```