Files
houseplan-card/docs/specs
2026-08-21 19:41:37 +03:00
..
2026-08-09 21:51:33 +03:00
2026-08-09 21:51:33 +03:00
2026-08-09 21:51:33 +03:00
2026-08-09 21:51:33 +03:00
2026-08-09 21:51:33 +03:00

Спецификации задач

Актуально на 2026-08-19.

GitHub Issues и GitHub Projects (v2) остаются единственным каноническим backlog проекта. Этот каталог содержит развёрнутые ТЗ: каждое ТЗ ссылается на issue, а issue — на соответствующий файл. Статус, приоритет и факт завершения меняются только в GitHub.

Статусы ТЗ:

  • готово к реализации — продуктовые решения зафиксированы, остаётся техническая работа;
  • черновик решения — в ТЗ дана рекомендация, но перед реализацией требуется принять отмеченные продуктовые решения;
  • в реализации — работа уже ведётся в рамках текущего этапа;
  • реализовано — ТЗ сохранено как проверяемый acceptance contract.

Обязательные release-артефакты номерного ТЗ

Если задача меняет пользовательское поведение, её ТЗ обязано явно перечислить:

  • записи в docs/CHANGELOG.md и docs/CHANGELOG.ru.md;
  • затронутую пользовательскую документацию;
  • требуемые screenshots/golden и способ их review, если меняется визуал;
  • release/performance/security artifacts, если они входят в acceptance gate.

Отсутствие этого раздела не означает, что документация необязательна. Для чистого refactoring ТЗ должно прямо зафиксировать отсутствие пользовательских изменений и перечислить технические доказательства безопасного поведения.

P1

Issue ТЗ
#6 Vacuum XCME path segments 006-vacuum-xcme-path.md
#7 Valetudo room outlines 007-vacuum-valetudo-room-outlines.md
#8 Vacuum support docs and XCME hint 008-vacuum-support-docs-xcme-hint.md
#27 External vacuum source picker 027-vacuum-external-source-picker.md
#28 Room View card 028-room-view-card.md
#29 Device inbox lifecycle 029-device-inbox-lifecycle.md
#30 Dialog information architecture 030-dialog-information-architecture.md
#31 View accessibility 031-view-accessibility.md
#32 Unified danger confirmation 032-unified-danger-confirmation.md
#33 Config schema lifecycle 033-config-schema-lifecycle.md
#34 Frontend decomposition 034-frontend-decomposition.md
#35 Current UX documentation 035-current-ux-docs.md
#50 Экспорт и импорт конфигурации 050-config-export-import.md
#58 Vacuum integration coverage — Stage 1 058-vacuum-stage1.md
#89 Опциональный объёмный 2.5D/изометрический вид 089-isometric-view.md
#89 Этап 1: объёмный вид за флагом Labs 089-isometric-view-stage1.md
#98 Единая система пульсаций и активностей устройства 098-device-pulse-system.md
#131 Полный первый кадр View у read-only-пользователя 131-readonly-cold-start.md
#138 Автозамыкание комнаты по существующей стене 138-adjacent-room-autoclose.md
#146 Четырёхфазный фон «Следует за Солнцем» 146-four-phase-sun-background.md
#156 Регрессии Full Performance перед v1.64.0 stable 156-full-performance-regressions.md
#164 Активный цикл стиральной машины должен быть жёлтым 164-washer-active-cycle.md
#166 Солнечные лучи зеркально учитывают направление севера 166-sun-north-rotation.md
#167 Экспорт «только планировка» 167-plan-only-export.md
#170 HA-устройство не привязывается к комнате без HA-зоны 170-room-without-area.md
#179 Новый визуальный язык маркеров устройств 179-device-icons-redesign.md
#210 Фиксированное пространство экземпляра карточки 210-fixed-floor-card.md
#211 Визуальное соответствие маркеров дизайн-пакету #179 211-device-icons-visual-parity.md
#217 Внешняя рамка Text-маркера должна быть капсулой 217-text-shell-outline.md
#218 Floating-point шум комнаты не гасит Glow пространства 218-glow-floor-geometry.md
#219 Единая палитра замков и glyph на оранжевых подложках 219-lock-orange-palette.md
#205 Продолжение следа после короткой остановки пылесоса 205-vacuum-trail-resume-grace.md
#220 Порядок пространств перетаскиванием вкладок 220-space-tab-reorder.md
#229 Сращивание коллинеарных отрезков стен 229-merge-collinear-partitions.md
#226 Entity-marker не дублируется родительским HA-устройством 226-entity-parent-dedup.md
#223 Optimize канонизирует координаты без floating-point шума 223-optimize-coordinate-canonicalization.md

P2

Issue ТЗ
#10 Roomba live position 010-vacuum-roomba-live-position.md
#11 Vacuum source health 011-vacuum-source-health.md
#12 Room cleaning highlight 012-vacuum-room-cleaning-highlight.md
#13 Golden open context tray 013-golden-open-context-tray.md
#19 Additive Glow blending 019-glow-additive-blending.md
#20 Glow through open doors 020-glow-open-door-spill.md
#21 Safe color CSS variables 021-color-css-injection.md
#36 Room Glow override 036-room-glow-override.md
#37 Room scale system 037-room-scale-system.md
#38 Icon rule builder 038-icon-rule-builder.md
#39 Large backdrops 039-large-backdrops.md
#40 Floors/Areas onboarding 040-floor-area-onboarding.md
#41 Keyboard object editing 041-keyboard-object-editing.md
#42 Backend engineering quality 042-backend-engineering-quality.md
#43 Private support report 043-private-support-report.md
#44 Filtering/grouping policy 044-filter-grouping-policy.md
#51 Custom decor images 051-custom-decor-images.md
#52 Dimensions in View 052-view-dimensions.md
#54 Zigbee topology overlay 054-zigbee-topology-overlay.md
#55 Independent Glow overlay 055-independent-glow-overlay.md
#56 Static room color 056-static-room-color.md
#68 Подсказки к настройкам 068-help-affordance.md
#75 + #76 Единый поток размещения проёмов 075-076-opening-placement-flow.md
#84 Источник «Всегда» без сущности HA + #88 ведущая сущность 084-passive-forced-light-sources.md
#90 Управляемый бейдж со значением 090-device-value-badge.md
#94 Универсальное действие «Переключить состояние» 094-universal-state-toggle.md
#101 Плавный переход View ↔ редакторы 101-view-editor-transition.md
#107 Переключение виртуального источника света «Всегда» 107-virtual-light-toggle.md
#113 Optional-контракт SpaceModel 113-optional-space-model.md
#117 Registry-less entity у проёма 117-registryless-opening-entity.md
#122 Изометрический режим Stage 2: скрытый режим и визуальная полировка 122-isometric-stage2.md
#123 Split из вершины не меняет наружную геометрию стен 123-corner-split-wall.md
#132 Проёмы в независимых стенах (+ bug #185) 132-partition-openings.md
#137 Узлы и линии привязки в редакторе Плана 137-plan-snap-overlay.md
#141 Бесшовные стыки перегородок и открытых контуров 141-wall-junctions.md
#157 Тип проёма «Открытый проём» 157-open-passage.md
#150 Точная геометрия коллинеарного перепада толщины 150-wall-thickness-transition.md
#172 Нулевой Split-разделитель не получает ложную толщину 172-zero-divider-taper.md
#173 Единый инструмент рисования стен и предложение комнаты по замыканию 173-unified-wall-tool.md
#174 Связанный виртуальный источник следует реальному контроллеру 174-linked-virtual-light-controller.md
#178 Выбор сущности для действия «Переключить состояние» 178-toggle-entity.md
#197 Один junction-патч не гасит кладку всего плана 197-junction-patch-fail-dark.md
#204 Честные defaults границ и имён при создании пространства 204-space-create-display-defaults.md
#201 Наследование толщины для атомарного участка стены 201-atomic-thickness-lookup.md
#203 Выключение названий скрывает все подписи комнат 203-hide-room-names.md
#186 Безопасный остаток стены у торцов партиционного проёма 186-partition-opening-jamb-margin.md

P3

Issue ТЗ
#198 Optimize очищает изолированный микро-интервал толщины 198-optimize-micro-interval.md
#103 Состояния в Toggle confirmation 103-toggle-confirmation-state.md
#200 Одинаковая геометрия подписи комнаты в View и Plan editor 200-room-label-parity.md

P3

Issue ТЗ
#57 Единый выбор цвета и прозрачности 057-color-opacity-picker.md
#180 Единый picker во всех местах выбора цвета 180-all-color-call-sites.md

Правило актуализации

При изменении продуктового решения сначала обновляется соответствующее issue, затем ТЗ. Реализация не считается завершённой только по наличию кода: нужны выполненные acceptance criteria, предусмотренная ТЗ проверка и актуальный статус Project v2.