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
File diff suppressed because it is too large Load Diff
+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
```
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 377 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 573 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 46 KiB

+17
View File
@@ -0,0 +1,17 @@
order saved_as original bytes
001 001_image1.png image1.png 1344
002 002_image2.png image2.png 393
003 003_image3.png image3.png 2911
004 004_image4.jpeg image4.jpeg 2026
005 005_image5.png image5.png 377
006 006_image6.jpeg image6.jpeg 1533
007 007_image7.jpeg image7.jpeg 2777
008 008_image8.jpeg image8.jpeg 35280
009 009_image9.png image9.png 573
010 010_image10.png image10.png 1316
011 011_image11.png image11.png 1705
012 012_image12.jpeg image12.jpeg 3659
013 013_image13.png image13.png 260
014 014_image14.png image14.png 379
015 015_image15.png image15.png 53601
016 016_image16.png image16.png 46921
1 order saved_as original bytes
2 001 001_image1.png image1.png 1344
3 002 002_image2.png image2.png 393
4 003 003_image3.png image3.png 2911
5 004 004_image4.jpeg image4.jpeg 2026
6 005 005_image5.png image5.png 377
7 006 006_image6.jpeg image6.jpeg 1533
8 007 007_image7.jpeg image7.jpeg 2777
9 008 008_image8.jpeg image8.jpeg 35280
10 009 009_image9.png image9.png 573
11 010 010_image10.png image10.png 1316
12 011 011_image11.png image11.png 1705
13 012 012_image12.jpeg image12.jpeg 3659
14 013 013_image13.png image13.png 260
15 014 014_image14.png image14.png 379
16 015 015_image15.png image15.png 53601
17 016 016_image16.png image16.png 46921
+2180
View File
File diff suppressed because it is too large Load Diff