The week/day tap detector captured the hour height when pointerInput was installed, and pointerInput only restarts when its keys change — so after a pinch or a Settings hour-height change, taps were mapped against the old spacing and created events at the wrong hour. Read the height (and the callback) through rememberUpdatedState instead, and move the offset-to-minute arithmetic into a tested tappedMinuteOfDay.