# Untreated disease course. See model-spec.md Section 5.

#' Baseline disease drive: starts at the patient's TRAb-proportional
#' severity and burns out toward 0 with time constant tau_burnout (classic
#' biphasic active -> inactive natural history).
disease_drive <- function(t, trab_baseline, tau_burnout) {
  trab_baseline * exp(-t / tau_burnout)
}

#' Combine baseline drive with drug effects into the effective drive that
#' feeds fibroblast activation. w_igf1r/w_tshr reflect TSHR/IGF-1R
#' transactivation (blocking either receptor removes most of the shared
#' signal, not just an independent additive share).
effective_drive <- function(drive, occ_igf1r, occ_tshr, trab_clearance_effect,
                             w_igf1r, w_tshr) {
  drive * (1 - w_igf1r * occ_igf1r) * (1 - w_tshr * occ_tshr) * (1 - trab_clearance_effect)
}
