Adds the cnHeat-style horizontal 'Min RSSI' slider beside the opacity control. Pixels weaker than the threshold turn fully transparent, client-side, with no server round-trip — same compute output now powers an interactive 'where can I get -75 dBm or better' exploration. - Slider range -100..-40 dBm step 1; -100 disables filtering. - addCoverageLayer fetches each PNG into a hidden canvas and caches its ImageData. crossOrigin=anonymous keeps reads tainted-free. - Each pixel is classified by nearest palette colour (-50/-65/-75/ -85/-95 dBm centres matching Raster.write/3) and dropped if its dBm is below the threshold. Result re-encoded via toDataURL and swapped onto the L.imageOverlay via setUrl. - destroyed() revokes blob URLs and clears the filter cache to avoid leaks during LiveView nav. Bundle: coverage_hooks chunk 16 KB → 20 KB; main bundle unchanged at 1.2 MB. |
||
|---|---|---|
| .. | ||
| channels | ||
| components | ||
| controllers | ||
| graphql | ||
| helpers | ||
| live | ||
| plugs | ||
| changelog_parser.ex | ||
| endpoint.ex | ||
| gettext.ex | ||
| gettext_helpers.ex | ||
| graphql_socket.ex | ||
| permissions.ex | ||
| plug_exceptions.ex | ||
| remote_ip.ex | ||
| router.ex | ||
| scoped_resource.ex | ||
| telemetry.ex | ||
| telemetry_filter.ex | ||
| user_auth.ex | ||