fb937e795b
The Demand Calculator used max(now, start) as the effective planner start, which caused asymmetric counting when the current time fell between morning and evening doses. For example, at 15:00 a medication with 07:00+20:00 intakes over 3 days showed 5 pills (2+3) instead of 6 (3+3) because the morning dose on the start day was skipped while the evening was counted. Changes: - Use the user-selected start date directly instead of max(now, start) - Optimize calculateUsageInRange to skip ahead to the relevant range instead of iterating from the original blister start date - Add regression tests for asymmetric counting and blister-before-range