Problem
interpolate_path and interpolate_reciprocal_path do not correctly handle transform metadata attached to waypoints.
When users pass waypoints that require basis/coordinate transforms, interpolation is performed as if all points were already in the same frame, which can produce incorrect k-path segments.
Why this matters
- Generates physically inconsistent interpolation paths in transformed coordinate systems.
- Produces incorrect downstream band/path sampling results.
- Makes behavior inconsistent with user expectations when transform-aware waypoints are provided.
Steps to reproduce
- Create waypoints where at least one waypoint includes a non-identity transform (or is defined in a different basis/frame).
- Call
interpolate_path(...) with these waypoints and inspect interpolated segments.
- Repeat with
interpolate_reciprocal_path(...).
- Compare results against manually transformed/interpolated reference points.
Expected behavior
Both interpolation APIs should apply waypoint transforms consistently before (or during) interpolation so all segments are generated in the correct coordinate frame.
Actual behavior
Transforms on waypoints are effectively ignored or not propagated correctly, resulting in incorrect interpolated coordinates/segments.
Scope
- Affected APIs:
interpolate_path
interpolate_reciprocal_path
Problem
interpolate_pathandinterpolate_reciprocal_pathdo not correctly handle transform metadata attached to waypoints.When users pass waypoints that require basis/coordinate transforms, interpolation is performed as if all points were already in the same frame, which can produce incorrect k-path segments.
Why this matters
Steps to reproduce
interpolate_path(...)with these waypoints and inspect interpolated segments.interpolate_reciprocal_path(...).Expected behavior
Both interpolation APIs should apply waypoint transforms consistently before (or during) interpolation so all segments are generated in the correct coordinate frame.
Actual behavior
Transforms on waypoints are effectively ignored or not propagated correctly, resulting in incorrect interpolated coordinates/segments.
Scope
interpolate_pathinterpolate_reciprocal_path