From ce66b03586caa2b58bfe4b88f113e9f5431932ab Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Sat, 15 Aug 2026 20:17:26 +0300 Subject: [PATCH] =?UTF-8?q?docs(mxl-compile):=20=D0=BF=D1=80=D0=BE=D0=B7?= =?UTF-8?q?=D1=80=D0=B0=D1=87=D0=BD=D0=BE=D1=81=D1=82=D1=8C=20=D0=BA=D0=B0?= =?UTF-8?q?=D1=80=D1=82=D0=B8=D0=BD=D0=BA=D0=B8=20=E2=80=94=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=B4=D1=82=D0=B2=D0=B5=D1=80=D0=B6=D0=B4=D0=B5=D0=BD=D0=BE=20?= =?UTF-8?q?=D0=BD=D0=B0=20=D1=81=D1=82=D0=B5=D0=BD=D0=B4=D0=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Одна и та же картинка 25×30 вставлена в стенд дважды: без флажка «прозрачный фон» платформа пишет t="false", с флажком — tx="24" ty="29", то есть координату правого нижнего пикселя. Два способа записи исключают друг друга. Стенд с обоими случаями положен в фикстуры. --- .../skills/mxl-compile/reference/dsl-spec.md | 6 ++-- docs/1c-spreadsheet-spec.md | 10 +++++-- docs/mxl-dsl-spec.md | 6 ++-- .../fixtures/platform-roundtrip/Рисунки2.xml | 30 +++++++++++++++++++ 4 files changed, 45 insertions(+), 7 deletions(-) diff --git a/.claude/skills/mxl-compile/reference/dsl-spec.md b/.claude/skills/mxl-compile/reference/dsl-spec.md index d4bbef9a..c178e44a 100644 --- a/.claude/skills/mxl-compile/reference/dsl-spec.md +++ b/.claude/skills/mxl-compile/reference/dsl-spec.md @@ -421,8 +421,10 @@ Запись в `pictures` — либо ссылка на библиотеку картинок платформы (`ref`), либо сами данные в base64 (`data`). Пустая запись `{}` — картинка не задана, такое в макетах встречается. -С данными сочетаются `transparent` (прозрачность включена) и `transparentPixel` -(`{ "x": …, "y": … }` — координата пикселя, чей цвет считается прозрачным). +С данными сочетаются `transparent` и `transparentPixel` — два способа записать прозрачность, +исключающие друг друга: `transparent: false` — прозрачного фона нет, +`transparentPixel: { "x": …, "y": … }` — прозрачным считается цвет пикселя с этими координатами +(Конфигуратор по флажку «прозрачный фон» берёт правый нижний пиксель картинки). Одну запись `pictures` могут использовать несколько рисунков — данные в макете не дублируются. diff --git a/docs/1c-spreadsheet-spec.md b/docs/1c-spreadsheet-spec.md index ef59ba2c..7481b629 100644 --- a/docs/1c-spreadsheet-spec.md +++ b/docs/1c-spreadsheet-spec.md @@ -735,10 +735,14 @@ AARnQUlBAACxjwv8YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAA | данные без атрибутов | 9 896 | картинка хранится в макете | | `` | 151 | картинка не задана; ровно по одной такой записи на макет | | `ref="v8ui:Имя"` | 83 | ссылка на библиотеку картинок платформы | -| `tx`, `ty` при данных | 9 | координата пикселя внутри картинки (проверено: это НЕ её размеры — у `tx=97 ty=83` сама картинка 368×117) | +| `tx`, `ty` при данных | 9 | координата пикселя, чей цвет считается прозрачным | -Атрибут `t` (прозрачность) в корпусе не встречается, но платформа его пишет: `t="false"` -появляется у картинки, вставленной в ячейку. +Прозрачность записана двумя способами, и они исключают друг друга. Снятый флажок «прозрачный +фон» даёт `t="false"`, поставленный — координату пикселя в `tx`/`ty` без атрибута `t`. Проверено +на стенде: одна и та же картинка 25×30 вставлена дважды, без флажка `t="false"`, с флажком +`tx="24" ty="29"` — правый нижний пиксель. Координата именно пиксельная, а не размер картинки: +в корпусе встречается `tx="97" ty="83"` при картинке 368×117, то есть Конфигуратор углом +не ограничен. ## Рисунки diff --git a/docs/mxl-dsl-spec.md b/docs/mxl-dsl-spec.md index f309e88b..227f3cbc 100644 --- a/docs/mxl-dsl-spec.md +++ b/docs/mxl-dsl-spec.md @@ -429,8 +429,10 @@ Запись в `pictures` — либо ссылка на библиотеку картинок платформы (`ref`), либо сами данные в base64 (`data`). Пустая запись `{}` — картинка не задана, такое в макетах встречается. -С данными сочетаются `transparent` (прозрачность включена) и `transparentPixel` -(`{ "x": …, "y": … }` — координата пикселя, чей цвет считается прозрачным). +С данными сочетаются `transparent` и `transparentPixel` — два способа записать прозрачность, +исключающие друг друга: `transparent: false` — прозрачного фона нет, +`transparentPixel: { "x": …, "y": … }` — прозрачным считается цвет пикселя с этими координатами +(Конфигуратор по флажку «прозрачный фон» берёт правый нижний пиксель картинки). Одну запись `pictures` могут использовать несколько рисунков — данные в макете не дублируются. diff --git a/tests/skills/cases/mxl-compile/fixtures/platform-roundtrip/Рисунки2.xml b/tests/skills/cases/mxl-compile/fixtures/platform-roundtrip/Рисунки2.xml index e65de409..d3bd6831 100644 --- a/tests/skills/cases/mxl-compile/fixtures/platform-roundtrip/Рисунки2.xml +++ b/tests/skills/cases/mxl-compile/fixtures/platform-roundtrip/Рисунки2.xml @@ -213,6 +213,23 @@ Stretch 11 + + Picture + 12 + 0 + 26 + 0 + 27 + 36 + 2 + 0 + 2 + 139 + false + RealSize + 12 + 3 + true 8 31 @@ -281,4 +298,17 @@ jIGLGp2zcPefXf1FVPI5GqhCLKfPnm/jMWAIezcVXQzqShQKZlpre6ISffseDQmq X4/PVKhMiAm7iOi/9zZUtsTHNXkYt701rubgu4WMNEa6Ey9JXzzRCDq1aEIWw56R eChaPMsURcc41UkqlySJS5IA8AW5c2KJOTY6eAAAAABJRU5ErkJggg== + + 2 + iVBORw0KGgoAAAANSUhEUgAAABkAAAAeCAYAAADZ7LXbAAABjElEQVRIie3UoU8C +URzA8S/uCBogSDBggADh3LzABakWA8W/QAOOCdNRLBT/BSbzAmeQYLYQLEQlPAKM +YxMDBthwYwQJlGM7g07GPHfIvE03funt7X6/z37vd+95LMuycDlW3AaWyBJZIi4i +QsuR04SbSB3RGDJsCOruIQpyBIjIKL+F1LUsqUyOa2M8ZZQgQWVKjA2ds1SKrG4s +hvjW15AmQ6qFc/QPyB9SUUP+d0Bo5Ao1Rkj4NgO2NTzzPvXt+h21SgsSB8Sey1TZ +IRGqUSqDvBtjT4l+mzs38hmGTqZQY4JE7OSSoy3nlB8NftwVCGTkVZB8ChEERnfs +mOfYifnywI1+i+iN8G4nyadVeO3QIUzYDw8XWUotE19QZf/4kLjNWBw7qWglqr0R +XvkDAGiVKbfel/HTPEnZy6hXpXRVsS9iOcXg0bpv9me2msW0lS42Z/b6zXvrcWBf +QnLqhED0yxE0niZMaADTqW9sxdmwLSAWufFtTBMwTdpzfa8u8AsvEH/3qV8i/x95 +A0x239DYKjuDAAAAAElFTkSuQmCC + \ No newline at end of file