#pragma once
// panel_input — input + detection seam of the bank panel: mouse/wheel/keyboard
// routing plus timer-driven passes (new-content auto-tag, tooltip hover-delay
// latch). REAPER-free as practical: TailSetting is the pure capture-side type.

#include "core/capture/tail_control.h"

namespace reasampler {

// Repaints if the bank changed since last paint (generation bump); cheap no-op
// otherwise. Also drives the auto-tag detector and tooltip hover latch each tick.
void bankPanelRefresh();

// Call on the exact tick persist's project-load signal drains, before reapplying the
// active mode. Re-arms the new-content detector so the just-loaded project's existing
// content is the baseline, not diffed against the prior project and mass-tagged.
void bankPanelNotifyProjectLoaded();

// Read by CAPTURE_ITEM/CAPTURE_TRACK to apply the panel's tail toggle to a
// CaptureRequest. Default None (exact bounds, byte-identical to no tail). Safe
// before the panel has ever opened.
capture::TailSetting bankPanelTailSetting();

}  // namespace reasampler
