Skip to content

Decouple streak pairs from the mains overlay; harmonics 0 disables mains#30

Merged
jacobson30-bot merged 1 commit into
mainfrom
streak-pair-independence
Jun 11, 2026
Merged

Decouple streak pairs from the mains overlay; harmonics 0 disables mains#30
jacobson30-bot merged 1 commit into
mainfrom
streak-pair-independence

Conversation

@jacobson30-bot

Copy link
Copy Markdown
Contributor

Summary

Follow-up to #28 from field use: custom streak pairs were only visible/draggable while "Show mains-pickup overlay" was on, and harmonics couldn't go below 1 — so applying a streak pair always dragged at least one mains notch along. The two are physically distinct signals (electrical pickup vs scan-parameter noise) and are now fully independent:

  • "Show streak pairs" checkbox gates the custom lines on the FFT independently of the mains overlay; auto-enabled when a pair is added; hidden pairs don't capture pan clicks.
  • Harmonics 0 = no mains notches — honoured in the kernel (predict_mains_fft_positions returns [] for an explicit 0 instead of clamping to 1), so streak-pair-only removals work with a known scan speed and replay identically from provenance. Status reports "Mains notches disabled (harmonics = 0)".

Test plan

  • Kernel: harmonics-0 prediction contract; custom-streak-only apply leaves the mains fundamental column untouched while notching the user's streak.
  • GUI: pairs visible without the overlay (custom colour only), hidden pairs transparent to clicks, harmonics-0 apply path carries harmonics=0 + the pair.
  • Full suite green locally: 2376 passed, 3 skipped.

🤖 Generated with Claude Code

Field feedback on the just-shipped streak pairs: they were only drawn (and
therefore only draggable) while "Show mains-pickup overlay" was on, and the
harmonics spin bottomed out at 1 — so using a custom pair forced at least
one mains notch into the removal. Mains pickup (electrical noise) and
custom streaks (scan-parameter noise, e.g. tip speed) are physically
distinct signals; neither should require the other.

- "Show streak pairs" checkbox next to the pair controls gates the custom
  lines independently of the mains overlay; adding a pair switches it on
  automatically. Hidden pairs no longer capture pan clicks.
- The harmonics spin allows 0, and predict_mains_fft_positions returns no
  predictions for an explicit 0 (previously clamped to 1, silently forcing
  the fundamental in) — so a custom pair can be applied alone even when the
  scan speed is known, and the same params replay identically from
  provenance. Status line reports "Mains notches disabled (harmonics = 0)".

Kernel + GUI tests: harmonics=0 prediction contract, custom-streak-only
apply leaving the mains fundamental untouched, pair visibility without the
overlay, hidden-pair click transparency, and the harmonics-0 apply path.

Co-Authored-By: Claude Fable 5 <[email protected]>
@jacobson30-bot jacobson30-bot merged commit a1736ab into main Jun 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant