From 7a5df7d011ff615cab46ab208241d7a3cde44c8d Mon Sep 17 00:00:00 2001 From: wasrusgen Date: Wed, 13 May 2026 18:00:43 +0300 Subject: [PATCH] =?UTF-8?q?checklist:=205=20SVG-=D1=8D=D1=81=D0=BA=D0=B8?= =?UTF-8?q?=D0=B7=D0=BE=D0=B2=20=D0=B2=20=D1=81=D1=82=D0=B8=D0=BB=D0=B5=20?= =?UTF-8?q?Editorial=20Calm?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit По аналогии с пиктограммами категорий техники добавил инструктивные рисунки к чек-листу замера. Walnut stroke + cream fill + лёгкая тень. 1. topview — вид сверху, комната с пронумерованными стенами + компас. 2. clockwise — стрелка по часовой стрелке с точкой «старт». 3. openings — фронт стены с дверью / окном / балконом + размеры (ширина, высота, низ подоконника). 4. comms — стена с точками R1 / Sw1 / Wc1, двумя размерами на каждую (горизонталь до угла-базы + вертикаль до пола), указанная БАЗА: ПУ. 5. levels — разрез помещения с нулевым полом (волнистая стяжка), плитой +88, потолком и коробом справа, размеры H1/H2. Реализация: - Новый файл miniapp/assets/zamer-picts.js — экспортирует ZAMER_PICTS. - renderMarkdown в measurements.js поддерживает директиву «@pict:KEY» на отдельной строке → подставляет SVG. - Эскизы вставлены в ЧЕКЛИСТ_ЗАМЕРА.md в соответствующие разделы (1, 4, 6, 8). По часовой стрелке — после § 1. - CSS .cl-pict — рамка пунктиром + цент., max-height 220. Cache bust v=20260513x. --- miniapp/assets/measurements.js | 12 ++ miniapp/assets/podbor.css | 16 +++ miniapp/assets/zamer-checklist.md | 17 ++- miniapp/assets/zamer-picts.js | 210 ++++++++++++++++++++++++++++++ miniapp/index.html | 21 +-- 5 files changed, 264 insertions(+), 12 deletions(-) create mode 100644 miniapp/assets/zamer-picts.js diff --git a/miniapp/assets/measurements.js b/miniapp/assets/measurements.js index 1115589..01058c4 100644 --- a/miniapp/assets/measurements.js +++ b/miniapp/assets/measurements.js @@ -532,6 +532,18 @@ const Measurements = (function () { for (const raw of lines) { const line = raw.trimEnd(); + // Директива @pict:KEY — вставляем SVG-эскиз из ZAMER_PICTS + const pictMatch = line.match(/^@pict:([a-z_]+)$/i); + if (pictMatch) { + closeList(); + closeTable(); + const key = pictMatch[1].toLowerCase(); + const svg = (window.ZAMER_PICTS || {})[key]; + if (svg) { + out.push(`
${svg}
`); + } + continue; + } // Таблица if (line.includes("|") && line.match(/^\s*\|/)) { if (!inTable) { closeList(); inTable = true; } diff --git a/miniapp/assets/podbor.css b/miniapp/assets/podbor.css index 8df8c39..50bec77 100644 --- a/miniapp/assets/podbor.css +++ b/miniapp/assets/podbor.css @@ -2275,6 +2275,22 @@ text-align: right; } .checklist-md hr { margin: 18px 0; border: none; border-top: 1px dashed rgba(107, 74, 43, 0.25); } +/* Эскизы-пиктограммы в чек-листе */ +.checklist-md .cl-pict { + margin: 14px auto; + max-width: 320px; + background: rgba(107, 74, 43, 0.04); + border: 1px dashed rgba(107, 74, 43, 0.25); + border-radius: 12px; + padding: 14px 16px; + text-align: center; +} +.checklist-md .cl-pict .zp-svg { + width: 100%; + height: auto; + max-height: 220px; + display: block; +} .checklist-md code { background: rgba(107, 74, 43, 0.08); padding: 1px 5px; border-radius: 3px; font-family: var(--font-mono, "JetBrains Mono", monospace); font-size: 12.5px; } .checklist-md strong { color: var(--ink, #1F1A14); } .checklist-md .cl-table { width: 100%; border-collapse: collapse; margin: 8px 0; font-size: 12.5px; } diff --git a/miniapp/assets/zamer-checklist.md b/miniapp/assets/zamer-checklist.md index 6d5b404..4a66a3b 100644 --- a/miniapp/assets/zamer-checklist.md +++ b/miniapp/assets/zamer-checklist.md @@ -4,11 +4,16 @@ --- -## 1. Перед началом +## 1. Перед началом — вид сверху и порядок + +@pict:topview - [ ] Завести папку `ЗАМЕРЫ/<номер> <адрес> - <кв>/` (как 157, 158…). - [ ] Снимать каждую стену **отдельно**, кадр должен охватывать стену целиком, от пола до потолка. - [ ] Имя файла фото = номер стены: `_w1.jpg`, `_w2.jpg`, … (либо переименовать после съёмки). +- [ ] Стены нумеруются **по часовой стрелке** от первого угла. + +@pict:clockwise --- @@ -70,6 +75,8 @@ ## 4. Размеры на каждой точке — два числа +@pict:comms + - [ ] **Горизонталь** до угла-базы: число + (по желанию) буква базы, например `1087→ПУ`. - [ ] **Вертикаль** до пола или потолка: `617↑пол` или `1919↓потолок`. @@ -89,6 +96,8 @@ ## 6. Проёмы (двери / окна / балкон) +@pict:openings + - [ ] Обвести проём прямоугольником с диагональю. - [ ] Подписать код: `ДВ1`, `ОК1`, `БК1`. - [ ] Размеры: @@ -106,12 +115,16 @@ --- -## 8. Общая информация (один раз на квартиру) +## 8. Общая информация (один раз на квартиру) — перепады и нулевой пол + +@pict:levels - [ ] Номер замера. - [ ] Адрес, корпус, квартира. - [ ] Дата замера. - [ ] Толщина стяжки / нулевой пол (например, `0,000 = +88 мм над плитой`, стяжка 98 мм). +- [ ] Зафиксировать **перепады пола** (волнистость стяжки) — если есть существенные, отметить в углах помещения отдельными размерами. +- [ ] Зафиксировать **перепады потолка** — балки, короба, понижения. Подписать H1/H2/... в нужных зонах. - [ ] План комнаты со стрелками-направлениями: какая стена 1/2/3/4 (особенно когда несколько помещений). - [ ] Если стены смежные — отметить общий угол: «ПУ стены 2 = ЛУ стены 3». diff --git a/miniapp/assets/zamer-picts.js b/miniapp/assets/zamer-picts.js new file mode 100644 index 0000000..46f6549 --- /dev/null +++ b/miniapp/assets/zamer-picts.js @@ -0,0 +1,210 @@ +/* ============================================================ + Эскизы для чек-листа замера. Стиль — Editorial Calm: + walnut #6B4A2B stroke, paper #FBF7F0 fill, лёгкая тень. + Render: вставляются в markdown через директиву `@pict:KEY` на отдельной строке. + ============================================================ */ + +const ZAMER_PICTS = { + + // 1. Вид сверху — план комнаты с пронумерованными стенами + topview: ` + + + + + + + + + + + + + Стена 1 + Стена 2 + Стена 3 + Стена 4 + + + 1 + + 2 + + 3 + + 4 + + + + + С + +`.trim(), + + // 2. По часовой стрелке — план + изогнутая стрелка + clockwise: ` + + + + + + + + + + + + + + + + старт + + 1 → + 2 ↓ + ← 3 + ↑ 4 +`.trim(), + + // 3. Проёмы — фронтальный вид стены с дверью + окном + балконом + openings: ` + + + + + + + + + + + + + ДВ1 + + + + + ОК1 + + + + БК1 + + + + + ширина + + + + + высота + + + + + ↓пол + + +`.trim(), + + // 4. Замер коммуникаций — стена с точками R1, Sw1, Wc1 и двумя размерами на точку + comms: ` + + + + + + + + + + БАЗА: ПУ + + + + + + + + + + R1 + + + + + + → ПУ + + + + + ↑пол + + + + + + + + Sw1 + + + + + + + + + Wc1 + +`.trim(), + + // 5. Перепады пола и потолка — разрез + levels: ` + + + + + + + + + + + + + + + + + + 0,000 (нулевой пол) + +88 над плитой + + + + + + потолок + короб + + + + + + H1 + + + + + H2 +`.trim(), +}; + +// Экспорт для использования в renderMarkdown +if (typeof window !== "undefined") window.ZAMER_PICTS = ZAMER_PICTS; diff --git a/miniapp/index.html b/miniapp/index.html index 09b1d6f..6ec506e 100644 --- a/miniapp/index.html +++ b/miniapp/index.html @@ -12,8 +12,8 @@ - - + + @@ -31,13 +31,14 @@
Сделано с душой!
- - - - - - - - + + + + + + + + +