v0.2.3-beta
Pre-release
Pre-release
Release v0.2.3-beta
This pre-release includes critical performance improvements, coordinate edge-case robustness fixes, and configuration editor enhancements identified during the recent code review.
🚀 Key Improvements & Optimizations
-
IANA Timezone Lookup Caching (Performance)
- Replaced the
$O(N)$ linear scans through the polygon boundary dataset (which run on every 1Hz render tick) with a coordinate-keyedianaTzCacheinsideGeoClockCard. - Keys are based on 4-decimal coordinates (providing highly accurate
$\sim 11$ -meter resolution). - Reduces CPU usage dramatically, particularly on wall-mounted low-power tablets.
- The cache is automatically cleared on configuration updates and initial data loads.
- Replaced the
-
Longitude Normalization (Robustness)
- Integrated standard longitude wrapping (
-180to180degrees) into thefindIanaZoneForLatLonutility insidetimezones-iana.ts. - Prevents point-in-polygon lookups from failing when tracked entities or Home Assistant zone sensors report out-of-bounds coordinates (e.g.
185or-190). - Covered with robust unit tests in
test/timezones-iana.test.ts.
- Integrated standard longitude wrapping (
-
Editor Color Alpha Preservation (Visual Editor Quality)
- Implemented a smart alpha channel parser and formatting helper (
hexToRgb,applyAlpha) inside the card configuration editor. - Opening and saving settings through the visual editor no longer strips alpha transparency. It intelligently parses previous configurations (including
#rrggbbaa,#rgba, standardrgba(), and modern space-separatedrgba()) and merges existing alpha channels when selecting new colors using the 6-digit visual color picker. - Cleaned up and removed the unused private
strFieldhelper to maintain a warning-free compilation.
- Implemented a smart alpha channel parser and formatting helper (
📝 Release Note Standards Guideline
To ensure maximum transparency, future releases will consistently include detailed descriptive logs outlining performance impacts, architectural adjustments, and stability gains rather than raw autogenerated logs alone.