mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
feat: junction nodes — detector, fans over the approved chamfer, scene set (#302)
Вторая половина переработки узлов поверх ядра из прошлого коммита: - `junctionContractHoles` — объективный инвариант «тело ⊇ полосы ∪ веера в фасадной границе» как экспортная чистая функция; самопроверка на заведомо дырявой фикстуре входит в юниты. Первая формулировка детектора из ТЗ («окружено кладкой с ≥5 из 8 сторон») уточнена в §8.4 по факту измерения: она ложно флагует легитимный пол комнаты в острых внутренних углах. - `junctionNodeBound` — «гладкая» фасадная граница (конверт с обычными углами) экспортирована: ею клиппуются куски узла и ею же пользуются тесты. - юниты #302: веера/рефлекс/короткий толстый саппорт/детектор/репро end-to-end; хелпер тестов старого контракта переведён на strip-safe семантику по саппортам и фасадной границе. - смок `smoke_junction_holes`: контрактные пробы считаются в node из той же фикстуры и проверяются в браузере по реальному `d`-пути карточки. - сет из 16 golden-сцен стыков крупным планом (звёзды лучей: T/X/Y/острые/ почти коллинеарные/виртуальные/колонна/черновик) + сцена-репро владельца; билдер сцен и `zoomCenter` в harness. Контракт сцены `multiwall-junction-bevel-view-dark` инвертирован по решению владельца: проба в перекрытии полос обязана быть ЗАПОЛНЕНА (strip-safe), а не пустой. - семь мутантов §14, включая слепоту детектора и невозврат саппортов. - фикстура #197: площадь кладки выросла на 0.2 юнита² — слайвер вееров вдоль хорд фаски; константа обновлена с комментарием. Эталоны новых сцен идут отдельным коммитом с положенными трейлерами. Issue: #302 User-Visible: yes
This commit is contained in:
+154
@@ -0,0 +1,154 @@
|
||||
{
|
||||
"cell_cm": 30,
|
||||
"rooms": [
|
||||
{
|
||||
"id": "rmrwhxasn",
|
||||
"poly": [
|
||||
[
|
||||
0.23333333333333334,
|
||||
0.029166666666666667
|
||||
],
|
||||
[
|
||||
0.525,
|
||||
0.029166666666666667
|
||||
],
|
||||
[
|
||||
0.525,
|
||||
0.7666666666666667
|
||||
],
|
||||
[
|
||||
0.23333333333333334,
|
||||
0.7666666666666667
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "rmt4w8xzu-0",
|
||||
"poly": [
|
||||
[
|
||||
0.30833333333333335,
|
||||
0.2375
|
||||
],
|
||||
[
|
||||
0.32916666666666666,
|
||||
0.14166666666666666
|
||||
],
|
||||
[
|
||||
0.37916666666666665,
|
||||
0.19166666666666668
|
||||
],
|
||||
[
|
||||
0.37916666666666665,
|
||||
0.2375
|
||||
]
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": "rmt4w9f2r-0",
|
||||
"poly": [
|
||||
[
|
||||
0.37916666666666665,
|
||||
0.19166666666666668
|
||||
],
|
||||
[
|
||||
0.32916666666666666,
|
||||
0.14166666666666666
|
||||
],
|
||||
[
|
||||
0.4083333333333333,
|
||||
0.1
|
||||
],
|
||||
[
|
||||
0.43333333333333335,
|
||||
0.15833333333333333
|
||||
]
|
||||
]
|
||||
}
|
||||
],
|
||||
"walls": [
|
||||
{
|
||||
"key": "0.320833,0.191667@1.7850",
|
||||
"cm": 50,
|
||||
"a": [
|
||||
0.30833333333333335,
|
||||
0.2375
|
||||
],
|
||||
"b": [
|
||||
0.32916666666666666,
|
||||
0.14166666666666666
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "0.370833,0.120833@2.6572",
|
||||
"cm": 50,
|
||||
"a": [
|
||||
0.32916666666666666,
|
||||
0.14166666666666666
|
||||
],
|
||||
"b": [
|
||||
0.4083333333333333,
|
||||
0.1
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "0.345833,0.237500@0.0000",
|
||||
"cm": 15,
|
||||
"a": [
|
||||
0.37916666666666665,
|
||||
0.2375
|
||||
],
|
||||
"b": [
|
||||
0.30833333333333335,
|
||||
0.2375
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "0.354167,0.166667@0.7856",
|
||||
"cm": 70,
|
||||
"a": [
|
||||
0.32916666666666666,
|
||||
0.14166666666666666
|
||||
],
|
||||
"b": [
|
||||
0.37916666666666665,
|
||||
0.19166666666666668
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "0.408333,0.175000@2.5900",
|
||||
"cm": 50,
|
||||
"a": [
|
||||
0.43333333333333335,
|
||||
0.15833333333333333
|
||||
],
|
||||
"b": [
|
||||
0.37916666666666665,
|
||||
0.19166666666666668
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "0.420833,0.129167@1.1661",
|
||||
"cm": 50,
|
||||
"a": [
|
||||
0.4083333333333333,
|
||||
0.1
|
||||
],
|
||||
"b": [
|
||||
0.43333333333333335,
|
||||
0.15833333333333333
|
||||
]
|
||||
},
|
||||
{
|
||||
"key": "0.379167,0.216667@1.5706",
|
||||
"cm": 25,
|
||||
"a": [
|
||||
0.37916666666666665,
|
||||
0.19166666666666668
|
||||
],
|
||||
"b": [
|
||||
0.37916666666666665,
|
||||
0.2375
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user