Skip to content

Latest commit

 

History

History
76 lines (48 loc) · 1.88 KB

File metadata and controls

76 lines (48 loc) · 1.88 KB

Input Contract

Purpose

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.

Contract Dimensions

1. Pose availability

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.

2. Frame interpretation

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

3. Timing admissibility

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.

4. Observation admissibility

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

What Belongs To The Wrapper

  • pose normalization boundary
  • cloud-pose pairing
  • skew gating
  • frame/extrinsic-aware backend pose construction
  • wrapper-side auditability

What Does Not Belong To The Backend

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

Consequence

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.