diff --git a/docs/reviews/INDEX.md b/docs/reviews/INDEX.md index e558bf86..06dc8df9 100644 --- a/docs/reviews/INDEX.md +++ b/docs/reviews/INDEX.md @@ -1,6 +1,6 @@ # Индекс ревью -Генерируется `node scripts/reviews-index.mjs` (#635) — не редактировать руками. Документов: 286, issue: 142. Вердикт: 🟢 зелёный · 🟡 жёлтый · 🔴 красный · ⚪ не распознан (свободная форма старых документов). H/M — число High/Medium по строке вердикта или заголовкам находок. Файлы — пути, названные в находках; ищите по имени файла: `grep form-kit INDEX.md`. +Генерируется `node scripts/reviews-index.mjs` (#635) — не редактировать руками. Документов: 287, issue: 142. Вердикт: 🟢 зелёный · 🟡 жёлтый · 🔴 красный · ⚪ не распознан (свободная форма старых документов). H/M — число High/Medium по строке вердикта или заголовкам находок. Файлы — пути, названные в находках; ищите по имени файла: `grep form-kit INDEX.md`. | Issue | Документ | Этап · раунд | Вердикт | H | M | Находки | Файлы | |---|---|---|---|---:|---:|---|---| @@ -9,6 +9,7 @@ | #781 | [CODE-REVIEW-781-r1.md](CODE-REVIEW-781-r1.md) | code · r1 | 🟢 зелёный | 0 | 0 | утверждение на уровне решения по-прежнему не различает границу | `test/process-pending-round.test.mjs` | | #780 | [SPEC-REVIEW-780-r1.md](SPEC-REVIEW-780-r1.md) | spec · r1 | 🟡 жёлтый | 0 | 5 | · Medium — в редакторе устройств нет «существующего контекстного лотка» и модели выделения; · Medium — поведение бэкенда на висящую ссылку не определено и ломает сохранение «старо…; · Medium — запрет поднимать бюджеты исполним только ленивой загрузкой, а ТЗ её не требует; · Medium — смещение от грани не определено для стен нулевой толщины и смешанных лент; · Medium — AC17 не проверяем: нет порогов; · Low — D назван «диаметром устройства пространства», а такой величины нет | `validation.py` `scripts/bundle-budget.mjs` `types.ts` `houseplan-card.ts` | | #780 | [SPEC-REVIEW-780-r2.md](SPEC-REVIEW-780-r2.md) | spec · r2 | 🟢 зелёный | 0 | 0 | — | — | +| #780 | [CODE-REVIEW-780-r1.md](CODE-REVIEW-780-r1.md) | code · r1 | 🔴 красный | 1 | 6 | обычное сохранение старым клиентом без led_strips безвозвратно удаляет все формы лент; активная лента удаляет не только обычный значок, но и подпись/бейдж устройства; явный room_id не имеет приоритета при выборе room-specific Glow; смена пространства завершает незаконченный контур в новом пространстве; скрытая/выключенная HA-сущность всё равно загружает View runtime лент; performance-профиль не доказывает обязательные camera/lifecycle условия AC17 | `custom_components/houseplan/websocket_api.py` `custom_components/houseplan/validation.py` `tests_backend/test_led_strips.py` `src/houseplan-card.ts` `src/led-strip-runtime.ts` `src/led-strip-editor.ts` `src/led-strip-gate.ts` `demo/benchmark_led_strips.mjs` | | #775 | [CODE-REVIEW-775-r1.md](CODE-REVIEW-775-r1.md) | code · r1 | 🟢 зелёный | 0 | 0 | — | — | | #772 | [CODE-REVIEW-772-r1.md](CODE-REVIEW-772-r1.md) | code · r1 | 🟢 зелёный | 0 | 0 | — | — | | #765 | [CODE-REVIEW-765-r1.md](CODE-REVIEW-765-r1.md) | code · r1 | 🟢 зелёный | 0 | 0 | завершающий авторский разделитель теряется при повторной записи якорей | `scripts/review-doc-guard.mjs` | diff --git a/scripts/monolith-baseline.json b/scripts/monolith-baseline.json index a0a4bc4c..3c789cd6 100644 --- a/scripts/monolith-baseline.json +++ b/scripts/monolith-baseline.json @@ -4,5 +4,5 @@ "hostRefs": 5057, "portPrivates": 103, "harnessPrivates": 100, - "bundleBytes": 2667879 + "bundleBytes": 2670566 } diff --git a/src/houseplan-card.ts b/src/houseplan-card.ts index ae2261ab..bfbc8594 100755 --- a/src/houseplan-card.ts +++ b/src/houseplan-card.ts @@ -11807,16 +11807,6 @@ export class HouseplanCard extends LitElement { ${pucks}`; } - /** #780 r1 M1: the value badge of a strip, passive, at its anchor (`_pos`). */ - private _ledBadge(d: DevItem, view: { x: number; y: number; w: number; h: number }, iso?: IsoOverlayPlacement) { - const presentation = this._devicePresentation(d, false); - const face = presentation.haDisabled ? nothing : renderDeviceShadowFace(presentation); - if (face === nothing) return nothing; - const pos = this._pos(d), point = iso?.visualScene ?? [pos.x, pos.y]; - return html``; - } - private _renderDevice( d: DevItem, view: { x: number; y: number; w: number; h: number }, @@ -11903,6 +11893,16 @@ export class HouseplanCard extends LitElement { `; } + /** #780 r1 M1: the value badge of a strip, passive, at its anchor (`_pos`). */ + private _ledBadge(d: DevItem, view: { x: number; y: number; w: number; h: number }, iso?: IsoOverlayPlacement) { + const presentation = this._devicePresentation(d, false); + const face = presentation.haDisabled ? nothing : renderDeviceShadowFace(presentation); + if (face === nothing) return nothing; + const pos = this._pos(d), point = iso?.visualScene ?? [pos.x, pos.y]; + return html``; + } + /** * The dock says out loud that the moving robot is drawn nowhere (#162). *