mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-04 05:41:34 +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 — ограничения стыков стен и честная острая вершина
|
# 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;
|
- `custom_components/houseplan/validation.py` — дельта-правила §5;
|
||||||
`tests_backend` — кейсы принятия унаследованного и отказа нового.
|
`tests_backend` — кейсы принятия унаследованного и отказа нового.
|
||||||
- Тесты фронта: юниты на каждую формулу П1–П5 (границы: 14.9°/15°, 6/7 стен,
|
- Тесты фронта: юниты на каждую формулу П1–П5 (границы: 14.9°/15°, 6/7 стен,
|
||||||
19/20 см, 4/5 см, пустой/непустой просвет), мутанты в гейте на П1 и §4.
|
19/20 см, 4/5 см, пустой/непустой просвет), мутанты в гейте на П1 и §4;
|
||||||
|
смоки каналов отказа: текст объяснения ручки Resize и текст тоста
|
||||||
|
«Толщины» (AC7a/AC7b).
|
||||||
- Смок: репро-фикстура #329 — новая попытка нарисовать «шпиль» отклоняется;
|
- Смок: репро-фикстура #329 — новая попытка нарисовать «шпиль» отклоняется;
|
||||||
легаси-конфиг рендерится по §4.
|
легаси-конфиг рендерится по §4.
|
||||||
- Golden: новая сцена `sharp-apex-legacy-dark` по фикстуре issue (рендер §4);
|
- Golden: новая сцена `sharp-apex-legacy-dark` по фикстуре issue (рендер §4);
|
||||||
@@ -137,8 +139,14 @@ margin): правила П1–П5 применяются к элементам,
|
|||||||
- **AC6 (§4).** Легаси-фикстура issue рендерится без «трезубца»: одна фаска,
|
- **AC6 (§4).** Легаси-фикстура issue рендерится без «трезубца»: одна фаска,
|
||||||
ноль V-вырезов; golden-сцена + пиксельная проверка смоком (нет разрывов
|
ноль V-вырезов; golden-сцена + пиксельная проверка смоком (нет разрывов
|
||||||
тела выше фаски).
|
тела выше фаски).
|
||||||
- **AC7.** Resize/«Толщина», приводящие к нарушению любого из П1–П5, — отказ
|
- **AC7a (Resize, канал §2).** Resize, приводящий к нарушению любого из
|
||||||
fail-closed, план байт-неизменен.
|
П1–П5, упирается в последнюю допустимую позицию; при отсутствии
|
||||||
|
безопасного шага ручка приглушена, и её объяснение (hover/focus/нажатие)
|
||||||
|
называет нарушенное правило. План байт-неизменен; тост не показывается.
|
||||||
|
Смок проверяет и байт-неизменность, и текст объяснения ручки.
|
||||||
|
- **AC7b («Толщина», канал §2).** Значение толщины, нарушающее П3/П5, не
|
||||||
|
применяется; показывается тост с названием правила (образец отказа нуля
|
||||||
|
#313). План байт-неизменен. Смок проверяет текст тоста.
|
||||||
- **AC8.** Миграция/импорт/restore фикстуры с нарушениями проходят.
|
- **AC8.** Миграция/импорт/restore фикстуры с нарушениями проходят.
|
||||||
- **AC9 (§5).** Бэкенд: эхо-запись унаследованного нарушения проходит;
|
- **AC9 (§5).** Бэкенд: эхо-запись унаследованного нарушения проходит;
|
||||||
запись, добавляющая новое нарушение, отклоняется стабильным кодом.
|
запись, добавляющая новое нарушение, отклоняется стабильным кодом.
|
||||||
|
|||||||
Reference in New Issue
Block a user