Initial commit

This commit is contained in:
2026-07-29 15:00:45 +03:00
commit ad5e4e7d33
21 changed files with 5792 additions and 0 deletions
+87
View File
@@ -0,0 +1,87 @@
# Извлечённое содержимое `Myasko_Energative.docx`
Источник: `../Myasko_Energative.docx` (508 944 байт), экспорт чата с ИИ по проекту
аддона «Энергатив» для Minecraft-мода HBM's Nuclear Tech.
## Что где
| Путь | Что это |
|---|---|
| `Myasko_Energative.md` | **Основной файл.** Markdown со восстановленной структурой: таблицы, ASCII-диаграммы, код, списки, заголовки, ссылки. 3508 строк. |
| `text.txt` | Плоский дамп: один абзац документа = одна строка, без форматирования. 2153 абзаца, 307 563 символа. Нужен для diff'ов и поиска. |
| `images/` | 16 изображений, извлечённых без перекодирования (байт-в-байт как в docx). |
| `images/index.tsv` | Соответствие: порядок в тексте → имя файла → исходное имя в архиве → размер. |
## Что было в документе (и как это попало в Markdown)
| В docx | В `.md` |
|---|---|
| 3 таблицы Word (6×3, 7×5, 9×6) | GFM-таблицы; многоабзацные ячейки склеены через `<br>` |
| 12 преформатированных блоков | fenced-блоки: 8 ASCII-диаграмм + 4 листинга (`json`, `java`) |
| 813 элементов списков (`numbering.xml`) | `-` / `1.`, вложенность по `w:ilvl` |
| 2820 полужирных / 193 курсивных прогона | `**` / `*` |
| 409 абзацев целиком полужирных | `###` (или `####`, если оканчивается на `:`) |
| 31 гиперссылка (сноски `[1, 2]`) | `[1](url)` |
| 38 формул LaTeX `\(...\)` | `$...$` |
| 66 реплик пользователя | `## 👤 …` + текст запроса цитатой |
| 2 блока веб-источников | цитата `> **Источники: N сайтов**` |
| 16 картинок | `![NNN](images/NNN_name.ext)` |
### ASCII-диаграммы
Их 8 — это именно то, что в чате выглядело как схемы. Например цикл синтеза
энергативов (`Myasko_Energative.md`, ~строка 2025) и слоёная структура защитного
костюма (~строка 3443). Внутри fenced-блока отступы сохранены посимвольно,
выравнивание не поехало. **Векторных диаграмм (SmartArt, DrawingML charts) в документе нет** — в
`word/media/` только растр, и все 16 файлов извлечены.
## Точность преобразования
Сверка по словам между `text.txt` и `.md`: расхождение −969 токенов, которое
раскладывается ровно на осознанно выброшенный служебный мусор экспорта:
| Выброшено | Токенов |
|---|---|
| 34 дублирующих повтора реплики пользователя (экспорт печатает текст запроса дважды подряд) | 947 |
| 4 × `Используйте код с осторожностью.` (подпись под листингами) | 16 |
| 4 метки языка перед листингами (`json`, `java`) — стали info-string у ``` | 4 |
| 2 × `Показать все` (кнопка под блоком источников) | 4 |
| **Добавлено:** 2 × слово «Источники» в заголовке блока цитат | −2 |
Итог 971 − 2 = 969. Непреднамеренных потерь текста нет.
Оговорка: экспорт повторяет реплику пользователя только в первой половине
документа (34 раза из 66). В остальных случаях текст запроса есть лишь в самой
строке-маркере, поэтому конвертер всегда берёт его оттуда — иначе 32 запроса
потерялись бы.
## Формат `text.txt`
Позиции картинок помечены встроенным маркером:
```
[[image: 008 (image8.jpeg)]]
```
Номер соответствует префиксу файла в `images/`. Два изображения переиспользуются
в документе несколько раз (`image5.png` — 3 раза, `image14.png` — 2 раза), поэтому
маркеров больше, чем файлов.
## Содержательные vs. служебные картинки
Из 16 файлов реальный контент несут три (остальное — иконки и favicon'ы блока
«источники» из веб-поиска, 260–3700 байт):
- `008_image8.jpeg` — скриншот ракеты Н-1 в натуральную величину, Minecraft 1.18.2
- `015_image15.png` — жёлтый круглый предупреждающий знак с тессерактом
- `016_image16.png` — тот же знак, красный треугольный вариант
## Как воспроизвести
```bash
python _tools/extract_docx.py Myasko_Energative.docx extracted
```
```bash
python _tools/docx_to_md.py Myasko_Energative.docx extracted/Myasko_Energative.md --img-dir images
```