Skip to content

Add extensible radar product capabilities and provenance #180

Description

@danielway

Replace closed, Level-II-only product assumptions with one descriptor and identity contract consumed by acquisition, caching, selection, legends, and rendering.

Scope

  • Identify a product by source/family, product code, and schema/recipe version rather than an unversioned display string.
  • Describe geometry, angular coverage, units, value encoding/sentinels, elevation applicability, palette/legend, and supported view/analysis capabilities.
  • Include source and derivation provenance plus input identities in cache keys and invalidation.
  • Drive product availability in the selector from acquired/source capabilities.
  • Resolve the current Clutter Filter Power fallback by implementing its real identity or hiding it when unavailable.
  • Migrate existing Level II base moments without changing supported behavior or persisted data incorrectly.

Non-goals

  • Decoding Level III data or executing derived-product recipes.
  • Adding arbitrary user code.

Acceptance criteria

  • Existing Level II moments are represented by descriptors and retain acquisition, cache, selection, legend, and rendering behavior.
  • Unsupported products cannot be selected or silently interpreted as another product.
  • Cache identities distinguish source, schema/recipe version, geometry, and dependencies.
  • Rendering and UI capabilities are derived from descriptors rather than exhaustive product-name matches where practical.
  • Persisted selections migrate or fall back deterministically.
  • Descriptor, availability, cache-identity, migration, and unsupported-product decisions have pure tests.

Parent: #35; follows #168; blocks #166 and #167.

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