# Інвентаризація програми Bibletime — 6 серпня 2026

Повна тритічна програма, англійські A4-буклети рівнів 0–4, завантажена й
розібрана машинно. Мета — щоб конвеєр спирався на перелік типів завдань, а не
на здогади з одного буклета.

Матеріал: `/Users/pavlokulakovskiy/projects/BibleTime/lessons/en` — **180 PDF,
190 МБ**. Адреси мають вигляд
`besweb.com/downloads/en/bibletime/Level<0–4>_<A|B|C><1–12>.pdf`.

Відтворити:

```bash
.venv/bin/python ua_build/inventory.py ~/projects/BibleTime/lessons/en \
    --json data/inventory_en.json
.venv/bin/python ua_build/inventory_types.py data/inventory_en.json \
    --unknown data/inventory_unknown.tsv
```

---

## Будова програми

5 рівнів × 3 серії (A, B, C) × 12 буклетів = **180 буклетів**. Буклет — це
місяць, чотири історії, одна на тиждень; серія — рік, рівень — три роки, уся
програма — 15 років. Разом **720 тижневих історій**.

| Рівень | Вік | Буклетів | Сторінок | Сторінок у буклеті |
|---|---|---|---|---|
| 0 | дошкільний | 36 | 144 | **4** |
| 1 | 5–7 | 36 | 288 | 8 |
| 2 | 8–10 | 36 | 288 | 8 |
| 3 | 11–13 | 36 | 288 | 8 |
| 4 | 14+ | 36 | 288 | 8 |
| | | **180** | **1296** | |

Сюжет на всіх рівнях той самий — щоб у класі можна було вести дітей різного
віку разом. Змінюється не тема, а глибина й механіка завдань.

### Чим рівні відрізняються технічно

Це головне, що ламатиме конвеєр, написаний під один рівень:

| | L0 | L1 | L2 | L3 | L4 |
|---|---|---|---|---|---|
| маркер завдання `Q:` | **немає** | **немає** | є | є (з табуляцією) | є |
| заголовок історії | `STORY n:` | `STORY n:` | `STORY n:` | `LESSON n:` | **немає** |
| блок `Adult Guidance` | є | є | немає | немає | немає |
| боксів балів на буклет | 4 | 14 | 20 | 36 | 36 |
| інструкцій на буклет | 7.5 | 22 | 31 | 40 | 39 |

У рівнях 0 і 1 завдання **не марковані взагалі** — це звичайні речення,
вплетені в текст історії («Colour the picture. Join the dots below…»).
Детектор, що шукає `Q:`, на цих рівнях не знайде нічого. Розпізнавати
доводиться за наказовим дієсловом на початку речення.

Дві пастки, на які ми вже наступили під час цієї інвентаризації:

* **`Q` — це ще й ім'я персонажа.** У рівні 1 репліки виглядають як
  «No, Q. The Bible tells us…». Маркером можна вважати лише `Q:` з
  двокрапкою на початку рядка;
* **`Adult Guidance` — вказівки дорослому, а не завдання.** 144 блоки, повні
  наказових дієслів («ask the children to…»). Без фільтра вони дають до
  чверті хибних «завдань» у рівні 0. Витяг тексту приклеює цей блок до вступу
  історії у 91 випадку зі 144, тож відкидати треба не блок, а хвіст після
  маркера.

Ще одна спільна деталь: **у кожному буклеті є поштовий бланк повернення** —
Name / Age / Address / Class / Marks / Total. Це 180 однакових наборів полів,
які конвеєр має ставити автоматично, а не як завдання.

---

## Типи завдань

5 048 інструкцій, згрупованих за **механікою виконання** — що дитина фізично
робить, бо саме це визначає тип поля форми.

| Тип | Поле | Разом | L0 | L1 | L2 | L3 | L4 | Буклетів | Що це |
|---|---|---|---|---|---|---|---|---|---|
| `write` | ✅ | 3067 | 60 | 330 | 601 | 968 | 1108 | 175 | написати в рамку або на лінійку |
| `art-paint` | ⚠️ | 240 | 80 | 94 | 58 | 6 | 2 | 109 | зафарбувати названий предмет на малюнку |
| `choose` | ✅ | 236 | 4 | 41 | 59 | 102 | 30 | 112 | обвести правильний варіант |
| `draw` | ❌ | 231 | 26 | 133 | 56 | 14 | 2 | 95 | намалювати |
| `look-up` | ⚠️ | 186 | 1 | 3 | 5 | 73 | 104 | 69 | знайти в Біблії |
| `cells` | ✅ | 178 | 0 | 32 | 80 | 35 | 31 | 97 | літери в клітинки (кросворд, пропущені літери) |
| `join-line` | ❌ | 153 | 65 | 44 | 28 | 12 | 4 | 95 | з'єднати лінією, по крапках |
| `yes-no` | ✅ | 135 | 0 | 11 | 35 | 55 | 34 | 89 | ТАК/НІ, ПРАВДА/НЕПРАВДА, ✓/✗ |
| `paint-words` | ✅ | 90 | 1 | 28 | 60 | 1 | 0 | 53 | розфарбувати контурний текст |
| `unjumble` | ✅ | 78 | 0 | 3 | 14 | 50 | 11 | 54 | переставити літери або слова |
| `art-circle` | ⚠️ | 63 | 15 | 10 | 12 | 21 | 5 | 52 | обвести предмет **на малюнку** |
| `wordsearch` | ✅ | 43 | 0 | 4 | 6 | 12 | 21 | 42 | філворд |
| `order` | ✅ | 39 | 0 | 11 | 9 | 8 | 11 | 35 | пронумерувати |
| `acrostic` | ❌ | 35 | 0 | 1 | 23 | 11 | 0 | 31 | перша літера кожного предмета |
| `cross-out` | ✅ | 31 | 0 | 1 | 10 | 13 | 7 | 29 | викреслити неправильні |
| `word-bank` | ✅ | 29 | 0 | 5 | 15 | 7 | 2 | 24 | вставити слова з банку слів |
| `art-label` | ⚠️ | 2 | 0 | 2 | 0 | 0 | 0 | 2 | підписати предмет на карті |
| `learn` | ❌ | 2 | 2 | 0 | 0 | 0 | 0 | 1 | вивчити напам'ять |
| `?` | — | 210 | 16 | 39 | 46 | 67 | 42 | 114 | не розпізнано |

**Придатність до полів форми:** 78 % робиться полем прямо, 10 % — з
застереженням (усе це малюнки й посилання на Біблію), 8 % на екрані не
виконується, 4 % не класифіковано.

Про останні 4 %: це **205 різних формулювань, кожне 1–3 рази** — довгий хвіст
одноразових фраз («Use RED to colour the sides and top of the door»), а не
пропущена механіка. Систематичних прогалин у переліку не лишилося.

**Обмеження методу.** Класифікація тут — за текстом інструкції, і це свідомо:
йдеться про перепис простору можливих завдань, а не про детектор. У самому
конвеєрі тип завдання й далі має визначати **геометрія** (§3.1 файла агента) —
на 120+ уроках словник посиплеться. Ще одна поправка: одиниця підрахунку —
речення-інструкція, а не оцінюване завдання; в одному завданні їх буває два
(«Colour the picture. Join the dots below…»). Оцінюваних завдань менше:
боксів балів усього 3 987, тобто близько 22 на буклет.

---

## Що з цього випливає для конвеєра

### 1. Малюнки — не виняток, а основна механіка молодших рівнів

Ми вважали клікабельні області разовою роботою заради 4 балів на стор. 16.
Насправді `art-paint` + `art-circle` + `art-label` — це **305 завдань у 130
буклетах**, тобто в кожному другому. У рівні 0 це **35 % усіх інструкцій**, і
разом із `draw` та `join-line` малюнок закриває там **дві третини** роботи.

Отже ратифікована конфігурація §3.2a — не побічна гілка, а те, від чого
залежить, чи буде рівень 0 узагалі придатний до електронної версії. І це
підсилює пункт 5 беклогу: без панелі Редактора 130 буклетів областей вручну не
обвести.

### 2. Колір задає інструкція, а не граф сусідства

Формулювання майже завжди називає колір: «Colour Joseph's robe **red**»,
«Colour John's clothes **brown**», «Use **RED** to colour the sides and top of
the door». Зараз кольори областей ми добираємо графом сусідства, щоб сусідні не
збіглися (§3.2a). Для цих завдань так не можна — колір має братися **з тексту
інструкції**, інакше дитина зафарбує правильно, а вийде не той колір.

Це не велика переробка (кольори й так задаються при збірці), але правило треба
змінити, і зміна стосується 240 завдань.

### 3. Складність зміщується з рівнем — і зміщується вдало

| | L0 | L1 | L2 | L3 | L4 |
|---|---|---|---|---|---|
| `write` (найлегше для форми) | 22 % | 42 % | 54 % | 67 % | 78 % |
| малюнок і лінії (найважче) | 69 % | 36 % | 14 % | 4 % | 1 % |

Рівні 3 і 4 конвеєр закриє майже повністю. Рівні 0 і 1 — найдорожчі: там мало
тексту, зате багато розмальовування, малювання й ліній. Порядок робіт напрошується
зверху вниз: 3 → 4 → 2 → 1 → 0.

### 4. Що досі не робиться на екрані

419 завдань: `draw` (231), `join-line` (153), `acrostic` (35). Це та сама
трійця, що в пункті 1 беклогу, тільки тепер із числами по всій програмі.
`join-line` — 65 із них у рівні 0, де це головна механіка «з'єднай по крапках».

Рішення продуктове й лишається відкритим: чекбокс «виконано», прибрати з
електронної версії, чи замінити механіку.

---

## Що лишилося спитати в замовника

1. **З якої мови перекладаємо.** Українська версія вже існує, але старим
   дизайном. Беремо англійський оригінал за джерело верстки, а стару
   українську — як чернетку тексту й глосарій? Це заощадило б переклад, але
   треба звірити, чи збігається набір буклетів.
2. **Чи всі 180.** Порядок робіт зверху вниз (3 → 4 → 2 → 1 → 0) дає результат
   раніше; чи є в замовника свій пріоритет за серіями або рівнями.
3. **Що робити з 419 невиконуваними завданнями** — пункт 1 беклогу, тепер із
   числами.
4. **Чи входять у роботу супутні матеріали:** плани уроків для вчителя,
   хронологічний плакат, набори картинок Visual Aids. Це окремі PDF з іншою
   версткою, і в обсяг вони поки не закладені.
5. **Персонажі B.E.S. & Friends** є лише в англійських A4. Чи лишаємо їх
   в українській версії, і чи перекладаємо імена (нагадування: `Q` — ім'я
   персонажа, і воно надруковане на футболці, тобто в растрі).
