mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
docs: spec #329 revision 3 — AC7 proves the per-surface refusal channels
Issue: #329 User-Visible: no
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# Issue #329 — ограничения стыков стен и честная острая вершина
|
||||
|
||||
Статус: ревизия 2 (r1: M1 — каналы отказа по поверхностям, M2 — AC5 разделён, L1 — пороги абсолютные). Решения владельца (чат, 2026-08-27, зафиксированы в issue):
|
||||
Статус: ревизия 3 (r1: M1/M2/L1; r2: M1 — AC7 доказывает каналы §2). Решения владельца (чат, 2026-08-27, зафиксированы в issue):
|
||||
пять ограничений приняты; проверки действуют на записи, легаси читается как
|
||||
есть; для остаточных острых вершин легаси-планов рендер закрывает остриё
|
||||
честной фаской вместо «трезубца».
|
||||
@@ -98,7 +98,9 @@ margin): правила П1–П5 применяются к элементам,
|
||||
- `custom_components/houseplan/validation.py` — дельта-правила §5;
|
||||
`tests_backend` — кейсы принятия унаследованного и отказа нового.
|
||||
- Тесты фронта: юниты на каждую формулу П1–П5 (границы: 14.9°/15°, 6/7 стен,
|
||||
19/20 см, 4/5 см, пустой/непустой просвет), мутанты в гейте на П1 и §4.
|
||||
19/20 см, 4/5 см, пустой/непустой просвет), мутанты в гейте на П1 и §4;
|
||||
смоки каналов отказа: текст объяснения ручки Resize и текст тоста
|
||||
«Толщины» (AC7a/AC7b).
|
||||
- Смок: репро-фикстура #329 — новая попытка нарисовать «шпиль» отклоняется;
|
||||
легаси-конфиг рендерится по §4.
|
||||
- Golden: новая сцена `sharp-apex-legacy-dark` по фикстуре issue (рендер §4);
|
||||
@@ -137,8 +139,14 @@ margin): правила П1–П5 применяются к элементам,
|
||||
- **AC6 (§4).** Легаси-фикстура issue рендерится без «трезубца»: одна фаска,
|
||||
ноль V-вырезов; golden-сцена + пиксельная проверка смоком (нет разрывов
|
||||
тела выше фаски).
|
||||
- **AC7.** Resize/«Толщина», приводящие к нарушению любого из П1–П5, — отказ
|
||||
fail-closed, план байт-неизменен.
|
||||
- **AC7a (Resize, канал §2).** Resize, приводящий к нарушению любого из
|
||||
П1–П5, упирается в последнюю допустимую позицию; при отсутствии
|
||||
безопасного шага ручка приглушена, и её объяснение (hover/focus/нажатие)
|
||||
называет нарушенное правило. План байт-неизменен; тост не показывается.
|
||||
Смок проверяет и байт-неизменность, и текст объяснения ручки.
|
||||
- **AC7b («Толщина», канал §2).** Значение толщины, нарушающее П3/П5, не
|
||||
применяется; показывается тост с названием правила (образец отказа нуля
|
||||
#313). План байт-неизменен. Смок проверяет текст тоста.
|
||||
- **AC8.** Миграция/импорт/restore фикстуры с нарушениями проходят.
|
||||
- **AC9 (§5).** Бэкенд: эхо-запись унаследованного нарушения проходит;
|
||||
запись, добавляющая новое нарушение, отклоняется стабильным кодом.
|
||||
|
||||
Reference in New Issue
Block a user