このツールのロジック(要点)
1) 追い足し判定:直前ミルクから < 45分 のミルクは同一エピソード扱い(追い足し)。
2) ギャップ→量の分布学習:エピソード間ギャップを 60分刻みで {0–59,60–119,...,480+} にビン分け。各ビンの Q50/Q75 を**最近データほど重く**(半減期7日)学習。
3) 期待飲量カーブ f(t):0–45分は「追い足し代表値」(Q50/Q75)に抑えて緩やかに立ち上げ、その後は 60分刻み分位を**単調増加**にして区分線形で接続(480分以降は最後の学習値を保持)。
4) 提案量:現在の期待 f(t_now) に寝起き補正 b(自動/手動, +10/+20mL)を加えた後、**0.9×**して10mL丸め。吐き戻しありの場合は満量側を縮小。
5) 満量(上限):日上限 = min(R×体重, 960)。1回上限 = 日上限 / 予定回数。直近2h吐き戻し→≤100, 直近12h→≤120 でクリップ。
6) 目安時刻:同一の探索上限 tLimit = max(300,480, g_now+360) を使い、
solve t for 0.9×(f(t)+b) ≥ {標準, 満量(capdisp)}. 解が無ければ「未達(~ 0.9×f(tLimit) mL)」と表示。
7) 号泣は学習に使わない(信頼性が低いため)。吐き戻しは「吐く」および「メモ: 吐き戻し」を検出して満量側の安全弁にのみ反映。