Skip to content

Remove assumptions that radar sweeps start at zero degrees #168

Description

@danielway

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    Status
    Ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions