mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-06 14:39:22 +00:00
fix(led): сгладить торцы поля свечения (#786)
Issue: #786 User-Visible: yes
This commit is contained in:
@@ -2,6 +2,10 @@
|
||||
|
||||
## Unreleased
|
||||
|
||||
- Fixed LED-strip Glow end caps so free ends stay smoothly round at high zoom
|
||||
instead of exposing polygon facets depending on nearby walls
|
||||
([#786](https://github.com/Matysh/houseplan-card/issues/786)).
|
||||
|
||||
## v1.79.0-beta.5 — 2026-10-03
|
||||
|
||||
- Fixed Glow for LED strips with mixed geometry: long free segments no longer
|
||||
|
||||
@@ -8,6 +8,11 @@
|
||||
|
||||
## Не выпущено
|
||||
|
||||
- Исправлены торцы Glow у LED-лент: свободные концы остаются
|
||||
плавно круглыми при сильном приближении и больше не показывают грани
|
||||
многоугольника в зависимости от соседних стен
|
||||
([#786](https://github.com/Matysh/houseplan-card/issues/786)).
|
||||
|
||||
## v1.79.0-beta.5 — 2026-10-03
|
||||
|
||||
- Исправлено свечение LED-лент со смешанной геометрией: длинные свободные
|
||||
|
||||
+4
-2
@@ -429,8 +429,10 @@ only the geometry differs:
|
||||
radius; each piece is clipped to the visibility fans of its own emitters
|
||||
(the shared `visibilityPolygon` over the same barrier scene as pools; the
|
||||
fans are separate paths of one clipPath, no boolean pass per piece), and the
|
||||
whole field layer is clipped once to the floor. A piece with no occluder
|
||||
within the radius needs no fan at all. Windows, columns,
|
||||
whole field layer is clipped once to the floor. An unobstructed emitter uses
|
||||
an exact SVG disc; a blocked fan keeps hard obstacle edges and exact circular
|
||||
arcs between them, so free ends cannot expose angular-sweep facets. Windows,
|
||||
columns,
|
||||
thick walls and Solid zero walls block; doors/gates pass by their actual
|
||||
opening; Dashed zero walls are transparent. Emitters on a thick face sit
|
||||
`epsilonGeom` (0.001 cm) outward into free floor; a part buried in a body
|
||||
|
||||
@@ -43,7 +43,7 @@ behaviours, not of positions.
|
||||
| On with Glow: white core + coloured field; without Glow: core in the source colour, no field | `ledStripView` + `resolveGlowAppearance` | smoke `smoke_led_strip_glow.mjs` |
|
||||
| Glow is the space/room switch, independent of `fill_mode` | `glowFor(room)` | `lighting-led-strip-glow-dark` uses `fill_mode: none` |
|
||||
| Per-piece offset: t/2 on a thick face into free floor, 0 on free floor and zero walls; continuous transition | `visibleStripPath` | unit `test/led-strip-geometry.test.mjs` (AC8) |
|
||||
| Field 30 cm by default, own `glow_radius_cm` wins; round free ends; no seams, bands, missing free runs or doubled brightness at corners/closure | `ledFrame`, one continuous path through the filled visibility fans in `led-strip-field` | unit `test/led-strip-runtime.test.mjs`; golden `led-strip-long-zigzag-glow-light`; reference pair |
|
||||
| Field 30 cm by default, own `glow_radius_cm` wins; round free ends; no seams, bands, missing free runs or doubled brightness at corners/closure | `ledFrame`, one continuous path through exact circular free fans and obstacle-clipped visibility fans in `led-strip-field` | unit `test/led-strip-runtime.test.mjs`; golden `led-strip-long-zigzag-glow-light`, `led-strip-endcaps-zoom-light`; reference pair |
|
||||
| Shared `glowAlpha` / `GLOW_FALLOFF` / `GLOW_FADE_MS` | field bands from `falloffAt` | unit `test/led-strip-runtime.test.mjs` |
|
||||
| Field under icons, badges and labels; icons not tinted | glow layer below the device layer | reference pair (designer tinting deliberately not reproduced) |
|
||||
|
||||
|
||||
Reference in New Issue
Block a user