mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
Вторая половина переработки узлов поверх ядра из прошлого коммита: - `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
154 lines
2.1 KiB
JSON
154 lines
2.1 KiB
JSON
{
|
|
"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
|
|
]
|
|
}
|
|
]
|
|
} |