You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{Feature} Core - Replace EmgData with NeuralBandBatch for Meta Neural Band sensor stream
Summary:
Refactors the reader-side sensor type for the Meta Neural Band batch stream
(EMG + IMU accel + gyro) from `EmgData` into a new `NeuralBandBatch` type
family. The new API delivers pre-decoded per-sub-sample structs
(`NeuralBandEmgSample` / `NeuralBandAccelSample` / `NeuralBandGyroSample`)
with reader-synthesized device-timeline timestamps, eliminating (1) the
"one type for three semantically different things" confusion, (2) the raw
`packed_channel_data` exposure that no consumer benefits from, (3) the
silent shape-mismatch bug when malformed packets were skipped, and (4) the
misleading `samples_per_batch` field name.
Timestamp synthesis derives a batch-wide sub-sample period from wire packet
cadence (before decode skipping) and back-fills per-sub-sample timestamps
anchored at each wire packet's LAST-sub-sample time (the rebase convention).
Runtime log-warn guards catch firmware convention drift, non-monotonic
timestamps, single-packet-batch degradation, and post-rebase invariant
violations without throwing.
Wire schema and writer are unchanged; existing VRS recordings are read
without modification. `SensorDataType::Emg` is renamed to
`SensorDataType::NeuralBandBatch` (breaking); all in-tree consumers are
updated in this diff. Static label parity between the reader's
`NeuralBandBatchMetadata.h` and the writer's `EmgImuBatchLayout.h` is
verified (all 18 DataLayout labels match byte-for-byte). A new backward-
compat regression test
(`NeuralBandBatchPlayerTest.BackwardCompat_ReadsSyntheticGen2FixtureViaFullPipeline`)
exercises the full reader pipeline against a synthesized VRS fixture that
uses the production wire flavor tag and label.
Reproducibility:
`buck2 build` and `buck2 test` pass across:
- fbsource//arvr/projects/ariane/aria_research_kit/projectaria_tools/core/...
- fbsource//arvr/projects/oatmeal/client_sdk/...
- fbsource//arvr/projects/surreal/vrs_health_check/gen2_lib/...
Reviewed By: ryanfrawley
Differential Revision: D113434161
fbshipit-source-id: c720ef5acf55c97413d230a19e7f4e96e7536ef7
0 commit comments