Files
cc-1c-skills/tests/skills/cases/mxl-compile/drawings.json
T
Nick Shirokov 9285ed00cd feat(mxl-compile,mxl-decompile): рисунки и палитра картинок
Рисунок поверх сетки — картинка, фигура, надпись — теперь описывается в DSL
и возвращается из макета: два якоря «ячейка + смещение», тип, ссылка на
картинку, надпись, расшифровка, имя, порядок перекрытия.

Оформление рисунка разложено надвое: общее (заливка, шрифт, выравнивание)
берётся из именованного стиля, а линия и её стороны — собственные ключи
рисунка. У ячейки таких свойств не бывает: все 2 135 записей палитры с ними
принадлежат рисункам.

Палитра картинок: ссылка на библиотеку платформы, данные base64, пустая
запись «картинка не задана» (151 в корпусе) и координата пикселя прозрачного
цвета (tx/ty — проверено, это не размеры картинки).

Заодно: висячий пустой колонтитул в ps1-порте (пустой словарь в PowerShell
истинен, порты расходились на 3 макетах из 40) и проверка индекса формата
рисунка в mxl-validate.

Стенды Рисунки, Рисунки2, КартинкаВЯчейке проходят раундтрип байт в байт
в обоих портах; на 35 корпусных макетах с рисунками расхождение сократилось
у всех 35.
2026-08-15 20:07:12 +03:00

35 lines
1.6 KiB
JSON

{
"name": "Рисунки: типы, картинки, линия, стороны, расшифровка",
"input": {
"columns": 4,
"styles": {
"заливка": { "backColor": "web:LightYellow" }
},
"pictures": {
"стоп": { "ref": "v8ui:Стоп48" },
"точка": { "data": "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVR4nGP4z8DwHwAFAAH/q842iQAAAABJRU5ErkJggg==", "transparent": false }
},
"areas": [{ "rows": [["Бланк"]] }],
"drawings": [
{ "type": "Picture", "picture": "стоп", "name": "Знак",
"begin": { "row": 1, "col": 1, "dy": 0, "dx": 0 },
"end": { "row": 2, "col": 2, "dy": 20, "dx": 40 },
"pictureSize": "Proportionally" },
{ "type": "Picture", "picture": "точка", "detail": "ПараметрРасшифровки",
"begin": { "row": 3, "col": 1 },
"end": { "row": 3, "col": 2, "dy": 34, "dx": 115 } },
{ "type": "Rectangle", "style": "заливка",
"line": { "style": "Dashed", "width": 2 },
"sides": { "left": true, "top": true, "right": false, "bottom": false },
"begin": { "row": 5, "col": 1 }, "end": { "row": 6, "col": 3 } },
{ "type": "Ellipse", "line": "Solid",
"begin": { "row": 8, "col": 1 }, "end": { "row": 9, "col": 2 } },
{ "type": "Line", "zOrder": 9,
"begin": { "row": 11, "col": 1 }, "end": { "row": 11, "col": 4 } },
{ "type": "Text", "id": 42, "text": { "ru": "Подпись", "en": "Signature" },
"begin": { "row": 13, "col": 1 }, "end": { "row": 13, "col": 3, "dy": 12 } }
]
},
"params": { "outputPath": "Template.xml" }
}