- consolidate Haversine: CoordinateUtils delegates to GeoUtils; InfoLive.haversine/4 reuses it (m -> km) - AprsSymbol: collapse 3 sprite-info builders onto build_sprite_info/2 and add a sprite_info @type - DataBuilder: 3 weather unit converters share convert_unit/4 with explicit clauses for "N/A", numeric, and binary inputs - mobile_channel: do_callsign_match/2 uses pattern-match clauses for wildcard handling instead of nested if - info_live: replace nested case in position_changed? with multi-clause coords_changed?/1; format_timestamp_for_display pipelines into a guarded build_timestamp_display/1 - api_docs_live: collapse chained single-key assigns into keyword-list assign/2 calls - add strict @spec coverage on all touched helpers; tighten new specs to match dialyzer success typing (no contract_supertype warnings) |
||
|---|---|---|
| .. | ||
| components.ex | ||
| data_builder.ex | ||
| display_manager.ex | ||
| historical_loader.ex | ||
| index.ex | ||
| navigation.ex | ||
| packet_batcher.ex | ||
| packet_processor.ex | ||
| packet_utils.ex | ||
| popup_component.ex | ||
| rf_path.ex | ||
| url_params.ex | ||