[feat](trx-client): capability-gated UI controls and filter panel (UC-05..07)

Add /set_bandwidth and /set_fir_taps HTTP endpoints to api.rs.

Add applyCapabilities(caps) function to app.js that shows/hides:
- PTT button and TX meters: capabilities.tx
- TX limit row: capabilities.tx_limit
- VFO row: capabilities.vfo_switch
- Signal meter row: capabilities.signal_meter
- Filters panel: capabilities.filter_controls

Called from render() whenever capabilities are present; runs on both
initial /status response and every SSE event.

Add a Filters panel to index.html with bandwidth slider (1..500 kHz)
and FIR taps select (16/32/64/128/256); hidden by default, revealed by
applyCapabilities when filter_controls is set. Each control dispatches
to the corresponding HTTP endpoint on change.

Sync filter state from update.filter in render() to keep slider/select
in sync with server-side DSP state.

Fix missing struct fields in test helpers across remote_client.rs,
trx-frontend-http-json/server.rs, trx-frontend-rigctl/server.rs, and
trx-core controller tests (handlers.rs, machine.rs).

Update aidocs/UI-CAPS.md: all tasks UC-01..UC-09 marked [x].

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Stan Grams <sjg@haxx.space>
This commit is contained in:
2026-02-25 20:25:11 +01:00
parent 3b98c8b7b5
commit 66163c7e7d
21 changed files with 216 additions and 9 deletions
Submodule .claude/worktrees/agent-a0253fe3 added at 060454780f
Submodule .claude/worktrees/agent-a119dfd0 added at 0008d62c87
Submodule .claude/worktrees/agent-a13360c6 added at 060454780f
Submodule .claude/worktrees/agent-a3ef51e0 added at 5666533bdb
Submodule .claude/worktrees/agent-a523ee45 added at bdd9a48207
Submodule .claude/worktrees/agent-a7709b41 added at 80afb928ae
Submodule .claude/worktrees/agent-a86b2c7d added at 060454780f
Submodule .claude/worktrees/agent-aac0b592 added at 060454780f
Submodule .claude/worktrees/agent-ab8ff016 added at 060454780f
Submodule .claude/worktrees/agent-ac624bc4 added at b9005acffd
Submodule .claude/worktrees/agent-ac96f835 added at 060454780f
Submodule .claude/worktrees/agent-ae42db96 added at 80afb928ae
Submodule .claude/worktrees/agent-aebe7ef5 added at 060454780f