DataProcessing Implementation Plan
This is the step list from the original
DataProcessing design, cut out verbatim once the tool
was built (host/commandline/dataprocessing.cc, added 2026-08-27). The CLI,
ProcessingRun provenance, and the compass-calibrated and
compass-orientation processors exist; SensorViz support for augmented files
and the fixture tests do not. Do not quote this as current.
Refactoring Plan
- Keep the
magcalsolver in qtcalibrate for now. - Move or add UI-free conversion helpers in
sensoranalysisfor all calibration constants that must be shared by qtcalibrate, SensorViz, and DataProcessing. - Promote any remaining CompassTag orientation helpers from SensorViz into
sensoranalysiswhen they are algorithmic rather than presentational. - Keep SQLite read/write helpers outside
sensoranalysisso that library remains independent of database format and application policy. - Add DataProcessing as a host command-line application that links
sensoranalysis, SQLite, and the appropriate host common utilities. - Update SensorViz later to distinguish raw streams, materialized processed streams, and live display-derived streams.
Implementation Phases
- Create
dataprocessingCLI skeleton with argument parsing, input/output path validation, database copy, and--dry-run. - Add
ProcessingRuntable creation and provenance writing. - Implement CompassTag input discovery and validation.
- Implement
compass-calibrated. - Implement
compass-orientation. - Add tests against the CompassTag fixture and SQLite integrity checks.
- Document maintainer usage and processor configuration.
- Plan SensorViz augmented-file behavior after the output database contract is stable.