This document defines the input assumptions externalized by the public wrapper.
The central idea is to separate:
- what must already hold at the input boundary
- what belongs to the volumetric backend
The wrapper makes these assumptions explicit so they can be configured, checked, and audited before integration.
Each point cloud must be pairable with a usable pose sample.
If no admissible pose is available, the observation should not be forwarded to the backend.
The cloud and pose must be interpreted under a consistent frame model.
This may require:
- identity backend pose mode
- direct odometry use
- odometry plus a static sensor extrinsic
Each cloud must be paired with a pose sample whose timestamp is sufficiently close for the intended mapping regime.
The wrapper enforces this through configurable skew thresholds and pairing rules.
The cloud stream must remain usable for backend integration.
At minimum, that includes:
- valid timestamps
- non-empty observations
- ordered processing under the selected replay or runtime regime
- pose normalization boundary
- cloud-pose pairing
- skew gating
- frame/extrinsic-aware backend pose construction
- wrapper-side auditability
The backend should not be responsible for:
- guessing frame semantics
- inferring missing extrinsics
- deciding whether the pose-cloud pairing is admissible
- recovering from invalid upstream pose interpretation
When the contract is satisfied, backend behavior can be compared under a declared input regime.
When the contract is violated, the resulting failures become attributable at the wrapper boundary rather than being interpreted only as backend behavior.