mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-07 15:09:30 +00:00
fix: seven small honesty fixes from the 29.08 audit (#369)
(a) documented: deleting a vacuum marker erases its server trail at once and a re-added marker starts from scratch (VACUUM.md + both USER-GUIDEs). (b) smoothVacPath reports dropped non-finite segments — one console warn per call with the count — instead of hiding the whole trail silently on a broken calibration matrix. (c) room climate (#317) now reaches legacy markers whose exported config carries an ABSENT area key rather than an explicit null: `== null` where the placement is decided. (d) the armed furniture preview follows Shift without mouse movement — window keydown/keyup listeners live exactly as long as the palette is armed, detached at every palette teardown. (e) only the primary mouse button places decor/furniture: a right or middle click with an armed tool is a no-op, touch/pen untouched. (f) a device whose registry entities were ALL deliberately disabled by the user no longer glows as an alive controller — the #318 entityless-active rule now requires a genuinely empty roster. (g) furniture-pack author corrected to Sergey Matyunin (Сергей Матюнин) per the owner's decision — LICENSE.md, README.md, pack.json, docs/FURNITURE.md, the provenance check in generate-furniture-assets and its unit; the source archive bytes are unchanged and the README notes the romanisation fix. Proofs: units for (b)/(c)/(f) including the #318 regression pair; new smoke_furniture_polish for (d)/(e) with listener add/remove counters and both mouse buttons; five registry mutants, one per code change. Issue: #369 User-Visible: yes
This commit is contained in:
@@ -12,6 +12,13 @@
|
||||
on lines and shapes, while independent width/depth resizing still keeps
|
||||
horizontal, vertical and diagonal strokes equally thick
|
||||
([#361](https://github.com/Matysh/houseplan-card/issues/361)).
|
||||
- A batch of small honesty fixes from the audit: room climate now reaches
|
||||
legacy markers that never stored an explicit "no HA Area" value; a device
|
||||
whose entities were all deliberately disabled no longer glows as alive; the
|
||||
furniture preview follows Shift instantly; a right click with an armed tool
|
||||
no longer stamps objects; a dropped vacuum-trail segment (broken
|
||||
calibration) is reported in the console instead of vanishing silently
|
||||
([#369](https://github.com/Matysh/houseplan-card/issues/369)).
|
||||
|
||||
- Device markers in the Background editor are now passive, translucent
|
||||
landmarks: their core, ring, value capsule and badges no longer hover, open,
|
||||
|
||||
@@ -17,6 +17,13 @@
|
||||
физическая толщина у линий и фигур, а независимое изменение ширины и глубины
|
||||
предмета по-прежнему не искажает горизонтальные, вертикальные и диагональные
|
||||
штрихи ([#361](https://github.com/Matysh/houseplan-card/issues/361)).
|
||||
- Пакет мелких честных фиксов из аудита: климат комнаты добирается до
|
||||
легаси-маркеров без явного признака «нет HA Area»; устройство с полностью
|
||||
отключёнными сущностями больше не светится как живое; превью мебели
|
||||
реагирует на Shift мгновенно; правый клик с выбранным инструментом больше
|
||||
не ставит объекты; отброшенный сегмент следа пылесоса (битая калибровка)
|
||||
теперь виден в консоли, а не исчезает молча
|
||||
([#369](https://github.com/Matysh/houseplan-card/issues/369)).
|
||||
|
||||
- Маркеры устройств в редакторе подложки теперь служат только полупрозрачными
|
||||
ориентирами: ядро, кольцо, капсула значения и бейджи больше не реагируют на
|
||||
|
||||
+1
-1
@@ -38,7 +38,7 @@ The generator validates a deliberately small, inert SVG subset and produces:
|
||||
- `src/furniture-menu-art.generated.ts` for the lazy editor graph only.
|
||||
|
||||
Generated files are never edited manually. The 77 drawings were created by
|
||||
Sergey Matyushin (`Matysh`) and granted to the project under its MIT License in
|
||||
Sergey Matyunin (`Matysh`) and granted to the project under its MIT License in
|
||||
[issue #159](https://github.com/Matysh/houseplan-card/issues/159#issuecomment-5454085168).
|
||||
No separate attribution is required in the interface.
|
||||
|
||||
|
||||
+4
-2
@@ -740,8 +740,10 @@ of silently rebinding.
|
||||
|
||||
Multiple maps are represented as distinct sources/calibrations. A vacuum is
|
||||
shown only in the space whose saved mapping currently matches the active map;
|
||||
the dock remains in its configured space. See [VACUUM.md](VACUUM.md) for the
|
||||
source dialect and calibration contract.
|
||||
the dock remains in its configured space. Deleting a vacuum marker erases its
|
||||
server-side trail immediately; adding the marker again starts the trail from
|
||||
scratch. See [VACUUM.md](VACUUM.md) for the source dialect and calibration
|
||||
contract.
|
||||
|
||||
## 17. Kiosk
|
||||
|
||||
|
||||
@@ -864,7 +864,9 @@ binding tombstone не вырезает её из живого устройст
|
||||
проёма, остаётся отдельной рабочей связью и не восстанавливает удалённый маркер.
|
||||
Повторное добавление создаёт маркеру новую позицию и снова оживляет сохранённые
|
||||
текстовые переменные и controls, но не дублирует и не переписывает связь проёма.
|
||||
Позиция, вложения и след пылесоса при удалении маркера удаляются.
|
||||
Позиция, вложения и след пылесоса при удалении маркера удаляются —
|
||||
серверный след стирается сразу и при повторном добавлении маркера
|
||||
начинается заново.
|
||||
|
||||
### Скрытые устройства
|
||||
|
||||
|
||||
@@ -169,3 +169,11 @@ debounced persistence and live-update path as a later state event.
|
||||
|
||||
Commands, zones/no-go polygons, cleaning-history UI and Roomba string parsing
|
||||
are outside Stage 1.
|
||||
|
||||
## Deleting and restoring a vacuum marker (#369)
|
||||
|
||||
Deleting a vacuum marker erases its server-side trail immediately: the next
|
||||
`config/set` purges trails of removed markers (#335), so an undeleted (re-added
|
||||
or restored) vacuum starts its trail from scratch. This is deliberate — a
|
||||
tombstone that kept trails alive used to leak the store — but it means trail
|
||||
history does not survive marker deletion.
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 319 KiB After Width: | Height: | Size: 319 KiB |
@@ -3,7 +3,7 @@
|
||||
"fixture": "synthetic-only",
|
||||
"chromium": "151.0.7922.34",
|
||||
"oxipng": null,
|
||||
"sourceFingerprint": "d02374a4194e4601cb0a2047dc556f70b9fdf354894bdfeea9288d74c14742d8",
|
||||
"sourceFingerprint": "a5cdb130b30b7245243978d04cf6c7f55390b3d4be281451b382e2b692909aa7",
|
||||
"captureScriptSha256": "fe76c8e2e27501e9a377d7aa15dd6cba6a018d55c07deb602dbee097f0a0a5ba",
|
||||
"command": "npm run build && node demo/docs/capture.mjs",
|
||||
"scenarios": {
|
||||
@@ -15,7 +15,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "d02374a4194e4601cb0a2047dc556f70b9fdf354894bdfeea9288d74c14742d8",
|
||||
"sourceSha256": "a5cdb130b30b7245243978d04cf6c7f55390b3d4be281451b382e2b692909aa7",
|
||||
"imageSha256": "0ca982495a7749907c48ebbddfd089c54385a4347f79f64e94af2c5a8d5c03eb"
|
||||
},
|
||||
"view-touch": {
|
||||
@@ -26,7 +26,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "d02374a4194e4601cb0a2047dc556f70b9fdf354894bdfeea9288d74c14742d8",
|
||||
"sourceSha256": "a5cdb130b30b7245243978d04cf6c7f55390b3d4be281451b382e2b692909aa7",
|
||||
"imageSha256": "3be239a5a494f6776540a9c0049694ee6f9d2ba927c8bcb4b26ee5a69a228a7d"
|
||||
},
|
||||
"space-create": {
|
||||
@@ -37,7 +37,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "d02374a4194e4601cb0a2047dc556f70b9fdf354894bdfeea9288d74c14742d8",
|
||||
"sourceSha256": "a5cdb130b30b7245243978d04cf6c7f55390b3d4be281451b382e2b692909aa7",
|
||||
"imageSha256": "a55b463055a565892ca139014e314a8f63fb5301c87fff2e48d7e69210fe9b6c"
|
||||
},
|
||||
"room-contour-close": {
|
||||
@@ -48,7 +48,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "d02374a4194e4601cb0a2047dc556f70b9fdf354894bdfeea9288d74c14742d8",
|
||||
"sourceSha256": "a5cdb130b30b7245243978d04cf6c7f55390b3d4be281451b382e2b692909aa7",
|
||||
"imageSha256": "dfad9a27371cfa397a3fd8dce7005f42d24649743f5322105ee894067d3a9f16"
|
||||
},
|
||||
"plan-context-tray": {
|
||||
@@ -59,7 +59,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "d02374a4194e4601cb0a2047dc556f70b9fdf354894bdfeea9288d74c14742d8",
|
||||
"sourceSha256": "a5cdb130b30b7245243978d04cf6c7f55390b3d4be281451b382e2b692909aa7",
|
||||
"imageSha256": "b75f348c632296da5c2fc142d53df613f757e1516acac315be50f5b4557729cc"
|
||||
},
|
||||
"device-editor": {
|
||||
@@ -70,7 +70,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "d02374a4194e4601cb0a2047dc556f70b9fdf354894bdfeea9288d74c14742d8",
|
||||
"sourceSha256": "a5cdb130b30b7245243978d04cf6c7f55390b3d4be281451b382e2b692909aa7",
|
||||
"imageSha256": "8affadfce926fe2f6cf344c33f611c44fcbc79c1969f69c3a6935ff2e99c36c3"
|
||||
},
|
||||
"device-display-preview": {
|
||||
@@ -81,8 +81,8 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "d02374a4194e4601cb0a2047dc556f70b9fdf354894bdfeea9288d74c14742d8",
|
||||
"imageSha256": "6d323b6f641b2cc7db64252f70567348bd3f2551f82e61fd3a2b4674d244918e"
|
||||
"sourceSha256": "a5cdb130b30b7245243978d04cf6c7f55390b3d4be281451b382e2b692909aa7",
|
||||
"imageSha256": "6f628abe6b89d7c4b352e6d73ac0b126526f6fdba5927bb774c5b884e484ca19"
|
||||
},
|
||||
"background-editor": {
|
||||
"file": "07-background-editor.png",
|
||||
@@ -92,7 +92,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "d02374a4194e4601cb0a2047dc556f70b9fdf354894bdfeea9288d74c14742d8",
|
||||
"sourceSha256": "a5cdb130b30b7245243978d04cf6c7f55390b3d4be281451b382e2b692909aa7",
|
||||
"imageSha256": "a1d1a905f1410f73231d2ea5d1dfbd8ae79c2fe8b0a79cff87ebb977ac7a3103"
|
||||
},
|
||||
"room-card": {
|
||||
@@ -103,7 +103,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "d02374a4194e4601cb0a2047dc556f70b9fdf354894bdfeea9288d74c14742d8",
|
||||
"sourceSha256": "a5cdb130b30b7245243978d04cf6c7f55390b3d4be281451b382e2b692909aa7",
|
||||
"imageSha256": "48a5685039a5e0de2a28190d857b193c86e2e63606e3c7a8c40fc9d2b190da4e"
|
||||
},
|
||||
"device-info": {
|
||||
@@ -114,7 +114,7 @@
|
||||
},
|
||||
"theme": "dark",
|
||||
"language": "en",
|
||||
"sourceSha256": "d02374a4194e4601cb0a2047dc556f70b9fdf354894bdfeea9288d74c14742d8",
|
||||
"sourceSha256": "a5cdb130b30b7245243978d04cf6c7f55390b3d4be281451b382e2b692909aa7",
|
||||
"imageSha256": "29a342811aaedaebc54ba337792d60cb454a7cf4c3063b210f6c4bafe0a4d87b"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user