Keep diagnostic captions and the matching pointer tooltip readable, including late overlay paint, camera/resize changes and narrow-card fallback. Preserve focus, touch and device actions. Add pure placement and real-mouse witnesses. Issue: #802 User-Visible: yes
6.8 KiB
Project status
The current state for a resuming session: a generated snapshot, the current cycle and the standing decisions that explain it. Rules are not here — the process is
PROCESS.md, release mechanics aredocs/DEVELOPMENT.md› Release, and task scope and status live in GitHub Issues and their labels. The snapshot below is generated — never edit it by hand; the prose sections after it are edited by hand, a row in the same commit as the change it describes (PROCESS.md§2.6).
Snapshot
Everything computable from the tree and git; regenerate, never edit by hand (#634). Workflow status is not here — it lives only in issue labels.
| Item | State |
|---|---|
| Generated | 2026-10-05 — rerun node scripts/status-snapshot.mjs for the current tree |
| Version | 1.80.0-beta.3 in all 7 version sources (scripts/release-contract.mjs) |
| Latest stable tag | v1.79.0 |
| Latest prerelease tag | v1.80.0-beta.2 |
| Tests | Node unit 3611 · pure backend 423 · HA-harness backend 330 · browser smokes 296 (npm run inventory) |
Current cycle and standing decisions
| Item | State |
|---|---|
| Current local cycle | v1.80.0-beta.3 candidate — #800 background Zigbee2MQTT scans passed owner-authorized independent local review and are merged into dev. Full exact-SHA Validate and artifact verification precede publication. main remains on stable v1.79.0. |
| Branches | main carries stable releases only; pre-release tags point at dev. Work lands on dev, which is equal to or ahead of main, never behind. |
| Zigbee routes | #798 replaces inferred neighbour trees with integration-reported end-parent and active coordinator next-hop evidence. Unknown/conflicting routes are not guessed; stale/partial snapshots remain labelled. Solid arrows have a separate 0–255 palette; ordinary device LQI colours are unchanged. |
| Zigbee caption layout | #802 adds remote destination names and keeps the matching pointer tooltip clear of diagnostic text; only an unplaceable tooltip yields in a small card. Focus/touch/actions and provider transport remain unchanged. |
| Zigbee scan lifecycle | #800 replaces #799's 10-minute total budget with integration-owned background jobs: closing the browser does not stop waiting; after 10 minutes an exact-job cancel becomes available. MQTT setup/publish caps and the retained-info check remain bounded. Tests cover 15-minute success, cross-client restore, cancel races, stale-cache retention and reload on a live HA connection. |
| LED regression acceptance | #788 covers mixed face/free and fractional-coordinate joins, winding-safe field unions, retained endpoints/acute vertices and circle–wall transition events. The actual owner export is exercised locally; public fixtures are synthetic. Pixel oracles, not just SVG counts, protect the visible falloff. |
| LED core colour | #790 makes the on core follow the resolved light colour with or without Glow. Off, unavailable and non-live static strips keep their neutral presentation; geometry and field brightness are unchanged. |
| LED performance work | #789 batches source entry, reuses render-local barriers and temporarily paints 24 of 48 retained gradient bands during actual zoom; full quality returns after 160 ms of scale inactivity. Emitters, clips and idle pixels are unchanged. Exact-SHA 50×50 acceptance includes restoration and quick restart; implementation alone does not certify the camera budget. |
| Warm remount | Delayed editor restoration preserves the original View camera, reserves pending chrome space, and yields synchronously to mode/space navigation (#762). Header/stage dimensions are published as one settled pair. Canonical: docs/WARM-REMOUNT.md. |
| 2.5D View | Public since #649: the installation-wide General settings switch settings.volumetric_view (Display). Flat stays the default and byte-for-byte unchanged; editors and houseplan-space-card stay Flat. Canonical: docs/ISOMETRIC.md. |
| Input support | Owner's rule since 2026-08-08: View and kiosk are fully supported and release-blocking on touch; the three editors are desktop-first, touch editing is best effort. Canonical: docs/TOUCH-SUPPORT.md. |
| Localization | UI in en/ru/de/fr (src/i18n/*.json); German and French load lazily through the registry introduced by #62. |
| HACS and community | In the HACS default catalog since 2026-08-25 (hacs/default#9004): install is a plain HACS search, houseplan.zip is attached to stable tags. Support channel — Telegram chat https://t.me/ha_houseplan; GitHub Issues stay for bugs and features. |
| Furniture | Top-view category/variant palette (#159, #593) from the MIT pack assets/furniture/houseplan-0.4.1 (#606); plan art is lazy (#474), saved geometry and default dimensions never change with the pack. |
| Vacuums | Live puck, server-side trails and fit calibration are shipped; Roomba is not covered. Canonical: docs/VACUUM.md. |
| Demo stand | https://demo.houseplan.tech — public, login demo/demo, resets to a synthetic home every hour. https://dev.houseplan.tech — closed, auto-deploys the head of dev. The demo home and what the stand cannot show: demo/stand/README.md. |
| Privacy | Real-house plan sources and screenshots are gone from the tree; public images are generated from synthetic fixtures (docs/images/screenshots.json). Old images persist in git history and release archives — history is deliberately not rewritten, because that would break release tags and HACS installs. |
The feature surface and early milestones are described by the changelog and the
user guide; the former parallel list is archived in
legacy/docs/STATUS-FEATURES.md.
Where the rest lives
- Scope and personas —
docs/SCOPE.md; process, statuses and gates —PROCESS.md(role digests indocs/process/). - Release mechanics, CI proof semantics and publication —
docs/DEVELOPMENT.md› Release. - Local toolchain (Windows, WSL, the five-minute contour) —
docs/DEVELOPMENT.md. - Tests —
docs/TESTING.md: Node unit, pure backend, HA-harness backend (CI or WSL only; it uses repository-pinned Python plus pytest-homeassistant-custom-component) and browser smokes. Counts and runtime pins are never copied into prose:npm run inventory,npm run toolchain:check.
How to resume work in a fresh session
- Read by role, as
AGENTS.md› Read this first lists it. - Clone
https://github.com/Matysh/houseplan-cardand runnpm ci— it installs the hooks (git config core.hooksPath→.githooks). - Start a task from its packet:
node scripts/task-packet.mjs --issue NN. - The task's local gate is
npm run gate:small; nothing is copied to a Home Assistant instance by hand (PROCESS.md§12).