5.1 KiB
5.1 KiB
ours-1.6 — наш оверлей поверх апстрима 1.6.0
Ветка ours-1.6 = тег v1.6.0 (cdb1063, released 1.6.0 lineage) + наш патч,
ранее живший в 1.5.1 (/opt/data/autocad-mcp-build/patch/, прод-контейнер :30015).
Перенос сделан трёхсторонним слиянием с ветвью ours-1.5 (v1.5.1 + оверлей),
а не копированием файлов: 30 конфликтов разрешены по смыслу. Копирование файлов
оверлея 1.5.1 поверх 1.6.0 затирало бы новые модули 1.6.0 — этот путь исключён.
Дельта к 1.5.1: 10 изменённых + 2 новых файла, +3207 / −152 строк.
Что перенесено (наше)
| Область | Что именно |
|---|---|
| Инструменты | titleblock_apply_gost_form3, file_put, file_get, drawing_open_base64, drawing_save_base64, entity_create_attdef, block_get_attdefs, textstyle_ensure, text_apply_style, text_style_report, dimstyle_ensure, layout_set_paper |
Параметр layout |
адресация в пространство листа — 36 инструментов, включая геометрию (entity_create_line/polyline/circle/arc), block_insert, block_create_from_entities, dimension_*; в COM — _activate_layout() |
inline_font |
ГОСТ-шрифт ISOCPEUR прямо в MTEXT/таблицы — 5 инструментов |
| ГОСТ-стиль | стиль по умолчанию GOST_A при drawing_new / drawing_open |
| Атрибуты | ATTDEF → ATTRIB: block_insert вставляет именованный блок (не *U), block_set_attributes достраивает отсутствующие ATTRIB из определений |
| Отчётность | filled / unknown_tags / created_tags, штамп стиля на ATTRIB |
page_size (layout — страница равна формату листа 1:1, extents — по содержимому), настоящий текстовый слой (pdf.fonttype=42), текст через видовые экраны, предупреждения о мелких надписях |
|
| Новые файлы | engineering/gost_titleblock.py (ГОСТ Р 21.1101-2013, форма 3), _fonts/isocpeur.ttf |
Что уступили апстриму (дубли удалены)
drawing_export_pdf: рамка листа считается_paper_frame()из 1.6.0 (масштаб, plot area, поворот, поля) вместо нашего_layout_paper_mm(); наш текстовый слой иpage_sizeналожены сверху.- Размерные стили:
_current_dimstyle_name()из 1.6.0; наш_current_dimstyle()оставлен — им пользуется отчёт о стилях. - Таблицы (ezdxf и COM): объединённая строка-заголовок, «span», масштабируемый
отступ ячеек и
SetCellTextHeight()из 1.6.0 + нашиinline_font/ style. block_insert: структура вставки и многострочные ATTRIB из 1.6.0 + наша отчётность.- Экспорт DWG/xref/image_attach/профили и группы
arch(12),pid(9),mech(6),sheet,understand— сохранены целиком, 1.6.0 ничего не потерял.
Три структурные правки после слияния
Найдены pyflakes и аудитом дерева (git сшил код механически):
com_backend: наша подписьdrawing_export_pdfпопала в телоxref_attachи дублировала метод — вставка убрана,text_layer/page_sizeперенесены в настоящую COM-функцию;_space_nameв ezdxf-бэкенде был занят дважды — наш переименован в_reply_space_name(иначе затенял хелпер апстрима);entity_create_text: ключ"style"вdxfattribsстоял дважды — оставлен наш (разрешённыйresolved_style).
Итого pyflakes: 8 предупреждений — столько же, сколько в чистом 1.6.0, новых нет.
Проверка
Образ autocad-mcp:1.6.0-ours, контейнер autocad-mcp-160ours, порт 30041
(:30015 — прод, :30040 — чистый апстрим 1.6.0; оба не тронуты).
tools_inventory.py 30041→ 254 инструмента (апстрим даёт 242), все наши доработки на месте,layoutу 36,inline_fontу 5;mcp_acceptance_test.py --base-url http://10.26.5.108:30041/mcp→ 15/15 PASS;- живой вызов 1.6.0-новинки
drawing_understand→ ok (entities, units, extents, clusters, rooms, blocks, layouts, title_block); - прод
:30015→ 161 инструмент, не тронут.