- Dirty-flag render: dataVersion counter in RealtimeChartState, skip Canvas draw
when no new data since last frame (zero GPU work when sensor idle)
- targetFps=30 default in ChartConfig (pass null for max display refresh rate)
- iOS targets: iosX64, iosArm64, iosSimulatorArm64 + Platform.ios.kt actual
- KDoc: RealtimeChart params, dataVersion, ChartConfig.targetFps, LodMode entries,
AxisLabelMode entries
- README: fixed Maven coords, added LoD/AxisLabels/Material3 sections, updated
feature list and performance notes
- Tests: RealtimeChartStateTest (17 tests, dataVersion + signal lifecycle)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- TieredBuffer: replace MEAN binning with MIN_MAX (min+max per bin).
Mathematically composable: MIN(bin_mins)=global_MIN, MAX(bin_maxes)=global_MAX.
Eliminates tier-boundary visual artifacts. TIER1/TIER2 capacity doubled (2 samples/bin).
- LodMode: remove MEAN. Only MIN_MAX and LTTB remain.
MEAN introduced values never present in raw signal — disinformation for sensor data.
- ChartConfig: default lodMode changed to MIN_MAX.
- Version: 0.4.1-SNAPSHOT → 0.5.0-SNAPSHOT
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>