Commit graph

4 commits

Author SHA1 Message Date
98aab767d0
chore(rust): drop easily-inlined deps (anyhow, bytes, byteorder, num_cpus)
- anyhow: unused
- bytes: only a reqwest return-type annotation
- byteorder: replaced with std's from_le_bytes + try_into
- num_cpus: replaced with std:🧵:available_parallelism (stable 1.59)

No behavior change; 133 tests + clippy green.
2026-04-24 12:13:25 -05:00
a5f76896d0
chore(rust): bump reqwest 0.13, axum 0.8, prometheus 0.14, png 0.18
- reqwest 0.12 → 0.13: rustls-tls feature renamed to rustls
- png 0.17 → 0.18: output_buffer_size() returns Option<usize>
- axum 0.7 → 0.8, prometheus 0.13 → 0.14, rayon 1.10 → 1.12: no code changes
- drop unused bincode dep; the .bincode golden fixture is raw binary
  parsed via byteorder, not the bincode crate
2026-04-24 12:10:18 -05:00
ed2563f4f8
style(rust): apply cargo fmt across prop_grid_rs 2026-04-20 13:20:22 -05:00
afbdbbc26d
feat(prop-grid-rs): port NexradClient.fetch_frame to Rust
Port of the subset of Microwaveprop.Weather.NexradClient used by
f00's chain step: 5-min-rounded IEM n0q PNG fetch, palette-indexed
decode via the png crate, and per-POI max_reflectivity_dbz extraction
from a 25-pixel half-box (matches Elixir's DEFAULT_BOX_HALF).

The palette↔dBZ math and (lat, lon)↔pixel projection are bit-for-bit
copies of the Elixir formulas. 6 pure-math unit tests cover pixel
mapping, box clipping, and timestamp rounding. Network-live golden
fixture deferred until the full Stream A wiring lands.
2026-04-19 17:47:04 -05:00