merge: upstream rt-bishop main (18 commits) with conflict resolution
Merges rt-bishop/Look4Sat main (a42a5f1f, 18 commits: AMSAT status page,
customizable data sources, Doppler calculator, radar compass offset, per-sat
offset memory, localized date formats) into the fork's 30-commit audit
baseline.
Conflict resolution policy (user-directed):
- AMSAT feature (AmSatRepository, SatStatusScreen/ViewModel, SatStatus model):
upstream version, which the user judged better built. MainScreen routes
Screen.AmSat through SatStatusDestination().
- Localization: our values-zh/values-tr restored (upstream's merge dropped the
fork-only strings); new upstream strings (sat_group counts, compass offset,
frequency offset help) added in EN + ZH.
- fork-only features kept (CW decoder, Mutual/Roaming, WaveLog, APRS, Log tab,
custom TLE/transceiver source switches): ours.
- Both sides' additions merged where independent: radar compass offset fields
(Settings/SettingsRepo/RadarState), calculatorOffsetKHz action, wider linear
transponder detection, deduplicateTransponders + its tests, sunrise/sunset
tests merged with the moon hour-angle test.
- Sources kept as the fork's map structure (DatabaseRepo depends on it);
satelliteModes list re-added for SelectionRepo. getSatelliteTypesIds /
setSatelliteTypeIds re-added to ISettingsRepo+SettingsRepo; SharedDialog
re-added to Components; providePairedBluetoothDevices added to
IMainContainer/MainContainer.
- Icons renamed upstream (ic_satellites->ic_sputnik, ic_radar->ic_satellite)
applied to Navigation/MutualScreen.
Build verified: all modules compileReleaseKotlin + unit tests
(core:domain, core:data, feature:map, feature:roaming) green.