From e10421d18ed342e2e603d546fe3fb41c55aed37a Mon Sep 17 00:00:00 2001 From: Nick Shirokov Date: Mon, 17 Aug 2026 13:01:50 +0300 Subject: [PATCH] =?UTF-8?q?docs(mxl-compile):=20=D0=B2=D1=8B=D0=BF=D1=80?= =?UTF-8?q?=D0=B0=D0=B2=D0=B8=D1=82=D1=8C=20=D0=BF=D1=80=D0=B8=D0=BC=D0=B5?= =?UTF-8?q?=D1=80=D1=8B=20=D0=BA=D0=B0=D1=81=D0=BA=D0=B0=D0=B4=D0=B0=20?= =?UTF-8?q?=D0=BF=D0=BE=20=D0=BF=D1=80=D0=BE=D0=B2=D0=B5=D1=80=D0=BA=D0=B5?= =?UTF-8?q?=20=D0=BA=D0=BE=D0=BC=D0=BF=D0=B8=D0=BB=D1=8F=D1=82=D0=BE=D1=80?= =?UTF-8?q?=D0=BE=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Прогнал каждый json-блок инструкций и спецификации через компилятор и валидатор, фрагменты достраивая до минимального макета. Нашлось: - пример колоночных раскладок показывал области с "rows": [] — макет с именованными областями поверх нуля строк, валидатор на нём ругается; - шапка таблицы в примере SKILL.md была записана пятью объектами с col там, где хватает позиционного списка строк. Оба поправлены; раундтрип примера подтверждает, что форма каноническая — декомпилятор возвращает её же. --- .claude/skills/mxl-compile/SKILL.md | 8 +++----- .claude/skills/mxl-compile/reference/layout.md | 5 +++-- docs/mxl-dsl-spec.md | 5 +++-- 3 files changed, 9 insertions(+), 9 deletions(-) diff --git a/.claude/skills/mxl-compile/SKILL.md b/.claude/skills/mxl-compile/SKILL.md index d8f4e4a0..cad11986 100644 --- a/.claude/skills/mxl-compile/SKILL.md +++ b/.claude/skills/mxl-compile/SKILL.md @@ -75,10 +75,7 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/mxl-compile.ps1" -J {} ]}, { "name": "ШапкаТаблицы", "rows": [ - { "rowStyle": "шапка", "cells": [ - { "col": 1, "text": "№" }, { "col": 2, "text": "Номенклатура" }, - { "col": 3, "text": "Количество" }, { "col": 4, "text": "Цена" }, { "col": 5, "text": "Сумма" } - ]} + { "rowStyle": "шапка", "cells": ["№", "Номенклатура", "Количество", "Цена", "Сумма"] } ]}, { "name": "Строка", "rows": [ { "rowStyle": "клетка", "cells": [ @@ -96,7 +93,8 @@ powershell.exe -NoProfile -File "${CLAUDE_SKILL_DIR}/scripts/mxl-compile.ps1" -J } ``` -Список ячеек в области «Итого» записан позиционно: позиция берётся из порядка, `col` не нужен. +Шапка таблицы и итог записаны позиционно — позиция берётся из порядка, `col` не нужен; +строка таблицы записана ячейками с `col`, потому что у них разные стили и расшифровка. ## Структура DSL diff --git a/.claude/skills/mxl-compile/reference/layout.md b/.claude/skills/mxl-compile/reference/layout.md index 587b8f88..dc6a79a8 100644 --- a/.claude/skills/mxl-compile/reference/layout.md +++ b/.claude/skills/mxl-compile/reference/layout.md @@ -42,8 +42,9 @@ "таблица": { "columns": 52, "columnWidths": { "1": 7, "2-52": 24 } } }, "areas": [ - { "name": "Шапка", "rows": [ ] }, - { "name": "ТабличнаяЧасть", "columnSet": "таблица", "rows": [ ] } + { "name": "Шапка", "rows": [["Отчёт о продажах"]] }, + { "name": "ТабличнаяЧасть", "columnSet": "таблица", + "rows": [["№", "Номенклатура"]] } ] } ``` diff --git a/docs/mxl-dsl-spec.md b/docs/mxl-dsl-spec.md index 71d6cd18..1bf08d16 100644 --- a/docs/mxl-dsl-spec.md +++ b/docs/mxl-dsl-spec.md @@ -577,8 +577,9 @@ "таблица": { "columns": 52, "columnWidths": { "1": 7, "2-52": 24 } } }, "areas": [ - { "name": "Шапка", "rows": [ ] }, - { "name": "ТабличнаяЧасть", "columnSet": "таблица", "rows": [ ] } + { "name": "Шапка", "rows": [["Отчёт о продажах"]] }, + { "name": "ТабличнаяЧасть", "columnSet": "таблица", + "rows": [["№", "Номенклатура"]] } ] } ```