precise_compass 0.1.0
precise_compass: ^0.1.0 copied to clipboard
Honest, high-accuracy Flutter compass: continuous heading accuracy in degrees, confidence scoring, sensor fusion, and reliable calibration detection.
Changelog #
All notable changes to this project are documented here. The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
0.1.0 #
Initial release of precise_compass, a ground-up rework of the
flutter_compass_v2 fork focused on honest, continuous heading accuracy.
Added #
PreciseCompassfacade:heading,headingStream({config}),capabilities().CompassReadingwith continuousaccuracyDegrees, a normalizedCompassAccuracybucket, a0..1confidencescore, debouncedshouldCalibrate,calibrationStatus,source,magneticFieldMagnitude, and optionalpitch/roll.- Keystone accuracy from Android
TYPE_ROTATION_VECTOR.values[4]and iOSCLHeading.headingAccuracy, with a documented OS-status fallback. - Magnetic-interference detection from field magnitude (configurable plausible band, default 25–65 µT).
- Confidence model gated by source quality and field health (see
ARCHITECTURE.md). - Calibration hysteresis state machine (no flicker, no cold-start false positive).
- Angular-wraparound-safe low-pass smoothing.
- Sensor-fusion modes:
rotationVector,geomagnetic, manual complementaryfusion, andautoselection from device capabilities. CompassCapabilitiesprobe (sensors present, true-heading support, recommended mode).- Configurable
SensorRate,HeadingReference, smoothing, and iOS calibration HUD suppression. - Full-orientation heading on Android (display-rotation remap) and iOS (interface-orientation adjustment).
- Native Android plugin rewritten clean-room (MIT); structured, versioned event payload.
- iOS plugin with
locationManagerShouldDisplayHeadingCalibrationHUD control and CoreMotion pitch/roll. - Pure-Dart domain core with ≥90% line coverage; mocked platform-channel tests; fixture-based regression tests; example app.
Changed #
- Package renamed from
flutter_compass_v2toprecise_compass; Android plugin relocated tocom.precisecompass.precise_compass.
Removed #
- GPL-licensed Android helper sources inherited by the fork were deleted and reimplemented from scratch to keep the package MIT-clean.
