mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-07 23:19:14 +00:00
docs(hygiene): ARCHITECTURE.md — карта, а не хроника (#680)
Волна 3 эпика #674. ARCHITECTURE.md 2330 → 653 строки: система координат прототипа 1489×1053, разделы Hidden Isometric Stage 2/4 (текущее — ISOMETRIC.md, история — ADR 122/570), хроники «Additions v1.28–v1.41» и «Audit follow-ups» сняты; подсистемы — короткое описание со ссылкой на канонический документ. Устаревшее исправлено по коду: дерево Layout (store.py, frontend_registration, весь список модулей), хранилища (config, layout, virtual_lights, trails), ленивые локали de и fr, таблица WS API (31 + 3 команды, #256-проекция, space/delete, files/cleanup без keep, контент через /api/houseplan/content), DevItem без несуществующих полей, отказ help/feedback по support_api. Всё ещё верное и не записанное в другом месте перенесено в канонические документы: DEVICE-PRESENTATION (заметки реализации, Action authority, черновик диалога), RADAR (карта реализации), VACUUM (владение кодом), CANVAS (icon_size, --hp-cell-visual-scale, барьер записи координат), FILTERING (#44, каталог), DECOR-EDITOR §7 (инварианты бэкенда ассетов), WALL-THICKNESS (§1 идентичность и нулевые стены, §2 кэши, §4 hover/туннели/острова, §6 удаление комнаты, §9 failed-core, §11 завершение цепочки и комната по грани), ISOMETRIC (isoPlaneMatrix, iso-overlays, створки, служебные атрибуты), LIGHT (Glow над заливкой #55, формула и screen-смешение), CONFIG-COMPATIBILITY (манифест схемы #33, Masonry-слоты #561, квадратный холст v1.48, устаревшие URL контента, layout/set #356), SCOPE (таблица владельцев при сборке файлов), WARM-REMOUNT §5 (холодная загрузка и визуальная непрерывность), UX-MODES (порядок стартового пространства), PDF-EXPORT (граница реализации), FURNITURE (adopt, BOOT_MAX_MS). Раздел TESTING «Backend quality gates (#42)» и строка DEVELOPMENT о bundle-freshness — из того же разбора, в предыдущем коммите. Issue: #680 User-Visible: no Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
This commit is contained in:
@@ -52,6 +52,15 @@ as the SEEDER of initial hidden flags.
|
||||
"Group", scene-like models, bridges, myheat children, and individual lamp
|
||||
devices in an area covered by a light group (when group folding is on).
|
||||
|
||||
The two inputs of that rule are visible settings, not hidden knobs (#44):
|
||||
`settings.group_lights` and `settings.exclude_integrations` are edited in the
|
||||
Devices catalog's **Discovery filters** section. One resolver,
|
||||
`effectiveExcludedIntegrations()` (`devices.ts`), feeds discovery, the
|
||||
materialisation seed and room climate on both cards; the section's preview diffs
|
||||
the real `seedHiddenBindings()` and `buildDevices()` outputs for current and
|
||||
draft settings, so no second copy of the filter logic exists. Both fields are
|
||||
`current` in the field registry (#33).
|
||||
|
||||
The seeder runs on the editing client (write permission required) whenever
|
||||
devices rebuild, and creates `hidden: true` stub markers for non-physical
|
||||
devices in BOUND areas that have NO marker. It is idempotent: marked devices
|
||||
@@ -89,6 +98,11 @@ the old behaviour until an editing client materialises it.
|
||||
`device-inbox.ts` projection. Exact bindings stay in one user-intent category
|
||||
(`on_plan`, `available`, `hidden`, `readd`); HA disabled/orphaned/unverified
|
||||
is an independent operational status and never silently moves a row.
|
||||
The binding picker and the catalog share the pure `bindingCandidates()`
|
||||
eligibility helper; filtering and paging run only after the full candidate
|
||||
snapshot, so large registries cannot hide later exact entities.
|
||||
`buildDeviceInbox()` combines runtime devices, markers, tombstones, HA binding
|
||||
statuses and `new_device_ids` without owning persistence or Lit state.
|
||||
- **Show hidden on plan** in that catalog is LOCAL, ephemeral state of the
|
||||
current editor session. A disabled ghost is grey and explicitly labelled;
|
||||
it cannot be dragged or shown until the binding is activated in HA. Its
|
||||
|
||||
Reference in New Issue
Block a user