Skip to content

Title: Allow independent FFT line and fill colors in Theme Editor #4239

Description

@tw350

Request preparation

  • I used an AI assistant to help structure this request
  • I checked for existing issues covering the same feature

What would you like?

Summary
Currently the panadapter FFT trace's fill (the shaded area under/behind the spectrum line) appears to be derived from the same color as the line itself (e.g., via alpha blending), rather than being independently configurable. It'd be great to expose the fill as its own themeable color, separate from the line/stroke color.
Motivation

Lets users pick a bright/high-contrast line color for readability while choosing a more subdued or differently-hued fill for aesthetics or to reduce visual fatigue on long operating sessions.
Matches patterns in other SDR tools (e.g., gqrx exposes a line color + fill toggle, though even there the fill is alpha-derived rather than independently colored — this would be a step further).
Complements the recent ThemeManager token migration work and per-applet Theme Editor overrides already in place for other elements (LIVE chip, highlight/disabled states, etc.).

Proposed implementation
Add a new token, e.g. panadapter.fft.fillColor, alongside the existing line/stroke token.
In the GPU trace renderer, drive the fill pass from its own color/alpha uniform instead of deriving it from the stroke color.
Add a corresponding color picker in the Theme Editor UI, persisted the same way as other per-applet overrides.
Consider whether the 3D stacked-trace mode's floor→peak gradient should remain separate from this, or share the same fill token as a base color.

Scope
2D panadapter FFT trace primarily; 3D stacked-trace mode fill behavior could be addressed as a follow-up if it's architecturally distinct.

Metadata

Metadata

Assignees

No one assigned

    Labels

    GUIUser interfaceenhancementImprovement to existing featuremaintainer-reviewRequires maintainer review before any action is takenpriority: lowLow priorityspectrumPanadapter and waterfall

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions