v3.0.0
MeteoCSS Card v3.0.0
Shadow layer
The main addition in this release is a real-time shadow engine driven by a depth map image.
A WebGL shader reads a greyscale depth map and computes per-pixel shadow opacity based on the current sun/moon position, producing dynamic, physically coherent shadows that move as the day progresses.
Configuration
Add shadow to your layer stack and provide a depth map image:
layers:
- shadow
- moon
- sun
- foreground
shadow:
depthmap: /local/shadow/my_depthmap.png
ambient: 0.2 # minimum light level (0 = pitch black, 1 = no shadow)
intensity: 0.7 # shadow strength multiplier
blur: 3 # softness in pixels (0 = hard edge)
bias: 0.003 # depth bias to avoid self-shadowing artefacts
step: 0.002 # ray-march step sizeDepth map format
- Greyscale PNG (white = close to camera, black = far)
- Any resolution — the shader samples it in UV space
depthmapis required, the layer is skipped with a warning if absent- WebGL is required; the layer is silently skipped on unsupported browsers
Tuning guide
| Goal | ambient |
intensity |
|---|---|---|
| Soft, subtle | 0.4–0.5 |
0.7 |
| Balanced | 0.3 |
0.8–0.85 |
| Marked shadows | 0.2 |
0.9 |
| Keep v2 behaviour | 0.5 |
1.0 |
Other changes
- HACS compatibility —
zip_release: trueinhacs.json, card file moved todist/,getStubConfig()added for the card picker UI - Mobile rendering fix — sun and moon position now driven by
transform: translate()instead ofleft/top, eliminating layout thrashing;contain: paintadded to the layer container to prevent GPU layer bleed on mobile - CI — release pipeline refactored as an orchestrator (
pipeline.yml) callingauto-tagandreleaseas reusableworkflow_callcomponents
Full Changelog: v2.0.3...v3.0.0