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