Scope
Audit acquisition, decoding, probing, analysis, projection, and rendering for assumptions that a sweep starts at 0 degrees or covers a uniform full rotation. Introduce explicit angular coverage that supports both full rotations with arbitrary first radial and partial sectors, including sectors crossing 360/0 degrees.
Behavior
- Preserve actual radial azimuths and distinguish chronological first radial from sorted/render order.
- Missing sectors remain missing; they are not stretched, interpolated across, or treated as below-threshold data.
- 2D and Globe surface rendering support compatible partial sectors.
- Volume rendering and analysis tools declare and enforce their coverage requirements; unsupported partial inputs are disabled with clear capability state rather than miscomputed.
Non-goals
- Adding Level III decoding or new product identities.
- Inferring data in unobserved sectors.
Acceptance criteria
- Full rotations beginning at a non-zero azimuth decode, cache, probe, composite, and render correctly across wraparound.
- Partial sectors, including a 350-to-30-degree sector, preserve gaps and render only observed coverage in supported paths.
- Spacing and neighbor decisions use actual azimuths rather than
360 / radial_count.
- Timeline/sweep metadata retain chronological start and coverage accurately.
- Unsupported analysis/view combinations are capability-gated with actionable UI state.
- Fixtures cover non-zero full rotation, wraparound sector, non-wrap sector, nonuniform spacing, and gaps; existing full rotations remain unchanged.
Parent: #35; blocks #180.
Scope
Audit acquisition, decoding, probing, analysis, projection, and rendering for assumptions that a sweep starts at 0 degrees or covers a uniform full rotation. Introduce explicit angular coverage that supports both full rotations with arbitrary first radial and partial sectors, including sectors crossing 360/0 degrees.
Behavior
Non-goals
Acceptance criteria
360 / radial_count.Parent: #35; blocks #180.