Перейти до змісту

Карта екранів: яке питання ставить кожен

Застосунок складено з екранів, кожен з яких відповідає рівно на одне питання. Плутати їх дорого не тому, що це неохайно, а тому, що «немає» в них означає різне — і на чужому «немає» закривають напрям, якого ніхто не перевіряв.

екран питання «немає» означає
🐾 Дослідження де я стою й куди воно рухається «у цьому просторі ще нічого немає» — і тоді екран стає онбордингом
🎯 Рід чиє прізвище шукаємо і в яких написаннях «рід ще не названо» — нормальний стан свіжої установки, а не поламка
🔎 Каталоги де це є в чужих довідниках «немає в тих каталогах, куди ми змогли зазирнути»
🗺 Газетир де документи мого СЕЛА «немає у встановлених довідниках»
🏛 Описи фондів що взагалі існує в архіві «в архіві не існує»
📚 Бібліотека що я маю на руках «ще не завантажено»
📥 Приймальня що лежить на диску нічим «неописаного матеріалу немає»
📜 Прогони чим і наскільки прочитано «цю справу ще не читали машиною»
🖼 Аркуші що це за папери «у цій теці нема чого показати»
📄 Гортач що саме прочитала машина «цієї сторінки в прогоні немає»
🔎 Пошук де в прочитаному моє прізвище залежить від сховища — див. канали пошуку
👁 Облік що я вже бачив оком «цього аркуша ще не переглядали»

🐾 Дослідження — два екрани під одним іменем

Головна відповідає на різні питання залежно від того, чи в просторі щось є, і це не косметика:

  • простір порожній (реєстру немає або в ньому жодної справи) — три двері: «у мене є скани», «не знаю, де шукати», «перевірити цю машину». Людині, яка щойно поставила застосунок, потрібні входи, а не таблиця нулів.
  • простір наповнений — дашборд: плитки-показники зі спарклайном і приростом за тиждень, поступ читання й пошуку смугами, розбір канону (факти за типом і за десятиліттями подій, прізвища, факти без цитати), прогони за рушіями й моделями, розрізи матеріалу за архівами й повітами, крива росту в часі, стан черги, профіль дослідження. Двері лишаються внизу як швидкі дії.

Кожен блок гейтиться секцією: при вимкненому «Читанні» блок прогонів зникає, а не показує нулі — нуль прочитаних сторінок там, де читання вимкнено, означав би «нічого не прочитано» замість «питання не стояло».

Час у дашборді — це ДВІ різні осі

Плутати їх дорого, тому вони й намальовані по-різному:

  • сходинки («У часі») — дні, коли ми про щось дізнались. Джерело — data/derived/history.jsonl (core.history), і він записує спостереження, а не кожну зміну: дірка в лінії — це дні без спостережень. Ліва частина кривої — пунктир: вона відновлена з міток на диску (мети прогонів, дати заміток ока, git-історія канону), тобто реконструкція, а не замір.
  • стовпчики («Факти за десятиліттями подій») — роки самих подій у каноні. Це відповідь на «який період роду вже описано», і до темпу роботи вона стосунку не має.

🎯 Рід — єдине, чого застосунок не може вгадати

Прізвище, парадигма й написання по орфографіях приходять від ЛЮДИНИ. Вивести їх нема з чого: рос. «Лищин» → укр. «Ліщин» міняє першу «и», але не «и» в закінченні, і позиція залежить від історії слова, а не від правила. Вгадана основа мовчки викидає половину написань із пошуку — і нуль після цього виглядає як відповідь.

⚠ Чого профіль НЕ робить: не підставляє чуже прізвище замість вашого. q у пошуку обов'язкове, дефолтного прізвища в пакеті немає ніде. Ціна відсутнього профілю тихіша: усі написання доводиться пригадувати самому, а рушій калічить саме середину слова.

🔴 Форма знає п'ять полів, файл — одинадцять. Конфузери, зниження рангу, рецепт синтетики й якорі калібруються замірами на власному матеріалі, тож живуть текстом під «весь файл». І тому ж форма відмовляється правити профіль, у якому вона зачепила б щось поза цими п'ятьма полями або коментарі поруч із ними: у коментарях там і лежать заміри, а дамп їх не переносить — файл лишився б валідним, і втрата була б тихою.

Три реєстри й один ключ

Три з цих екранів — реєстри, і всі три тримаються на одному ключі архів/фонд/справа (наприклад DAHMO/315/8433):

🏛 Описи фондів     що існує в архіві      12 822 справи ф.315
        │                                   рядок опису
        │ ⬇ узяти                           ↓
📚 Бібліотека       що є на диску           94 із них у нас
        │                                   тека справи
        │ 🖋 читати                         ↓
📜 Прогони          що прочитано машиною    два голоси, 412 сторінок

Ключ спільний, а сховища роздільні — і це рішення, а не недогляд. Реєстр опису не вливається в реєстр справ: 29 634 рядки без жодного кадру зіпсували б там кожен знаменник, і «прочитано 5%» стосувалося б книг, яких ніхто не бачив.

Приймальня стоїть збоку від цієї трійки: у ній матеріал без шифри, тобто без ключа. Поки тека не описана, вона невидима для бібліотеки, а отже й для всього далі — прогін по ній не прив'яжеться до справи. Саме тому єдина дія там — «описати».

Наскрізний шлях

Кожен крок веде кнопкою; жоден не вимагає набирати шифру руками.

  1. 🗺 Газетир — «де метрики Липовенького». Картка села перелічує справи по всіх фондах архіву й позначає ті, що вже на диску.
  2. 🏛 Описи фондів — «а що ще є в цьому фонді». У рядку: ⬇ узяти в роботу, 📚 показати в бібліотеці.
  3. 📚 Бібліотека — «що я маю». У рядку: 🖼 аркуші, 🖋 читати, 📜 прогони, 🔎 шукати в межах справи, 🏛 назад в опис.
  4. 🖋 Читання — прогін рушієм. План (скільки кадрів, яке письмо, яка модель) показується до запуску: справа читається годинами.
  5. 📜 Прогони — «чим і наскільки прочитано». Окремим блоком — прогони без справи, з кнопкою прив'язати.
  6. 📄 Гортач — текст поруч зі сканом, рамка рядка, другий голос.
  7. 🔎 ПошукРозбір👁 Облік: кандидат, кроп, вердикт ока.

Пошук по прочитаному коштує по-різному

що шукаємо скільки триває як іде
у межах однієї справи частка секунди синхронно, відповідь одразу
по всьому прочитаному хвилини роботою в черзі, з поступом і кнопкою спинити

Різниця не в тому, ЩО робиться, а скільки. Щоб друге взагалі стало можливим, прочитане індексується: по файлу на прогін у data/derived/decode_index/. Індекс — похідне, його можна видалити будь-коли.

🔴 Пошук чеше лише зібране, і каже, скільки лишилось поза ним. «Не знайшлось у 876 прогонах із 1159» і «не знайшлось у 1159» — різні відповіді, і за другою закривають напрям, якого не перевіряли. Стан індексу видно на екрані пошуку до запиту, а не застереженням після нього.

Індекс щойно дочитаної справи збирається сам: бюджет — два десятки прогонів, рівно стільки, скільки з'являється після звичайного читання. Решта — кнопкою «Зібрати індекс» або nysh op search.index.

Що робити, коли екран порожній

Порожній екран у Нишпорці завжди каже, чого саме бракує і чим це ставиться. Три найчастіші випадки:

  • Описи фондів порожні — реєстр опису не зібраний, а не фондів немає. Збирання є на самому екрані (🧾) або командою nysh registry collect, потім nysh registry mergeдва кроки, і другий не необов'язковий: обхід кладе свій файл окремо, а реєстр з'являється аж після злиття.
  • Каталоги нічого не знаходять — подивіться на таблицю джерел під полем пошуку. Джерело, що вміє шукати й не має каталогу, названо там поіменно разом із командою, якою це лікується.
  • Бібліотека порожня, а справи на диску є — реєстр не збирали (nysh cases build), або теки лежать без шифри й видимі в Приймальні.

Частини застосунку

Екрани згруповані в секції, і секцію можна вимкнути цілком (⚙ → «Частини застосунку»). Вимкнена секція зникає з шапки, а її дії відмовляють і в браузері, і в командному рядку, і в агента — напівстан («кнопки немає, але команда працює») читається як несправність.

секція екрани навіщо вимикати
Основа Дослідження · Приймальня · Завести справу · Роботи не можна: без неї немає застосунку
Матеріали Каталоги · Газетир · Описи фондів · Бібліотека · Аркуші якщо працюєте лише з готовим декодом
Читання Читання · Прогони · Гортач якщо рушіїв на машині немає (економить ~2.5 ГБ)
Дослідження Пошук · Розбір · Око · Експорт якщо прізвища ще не шукаєте

Готові набори — catalog, amateur, researcher, lab; вибираються в майстрі першого запуску й міняються будь-коли.