feat: interactive parallax author transition with mid-swipe cancel
Replaces the two-phase opacity/slide author transition with an
interactive parallax effect driven by the live pan gesture.
- DragToDismiss: add onHorizontalDragStart/onSwipeDragging/onHorizontalDragCancel
callbacks; eliminate horizontalDragStartFired (redundant with direction
state machine)
- StoryViewer: render pending author face in ZStack during swipe; current
face slides at 1x, incoming at 0.65x for depth parallax
- Pending face shows correct story index (mirrors presentStories logic),
correct bar count, and bars at 0% for next story
- Timer progress reset to 0 on commit so next story bars never inherit
stale non-zero progress
- Task cancellation replaces generation counter for rapid-swipe safety
- Consolidate 5 @State vars into PendingAuthorTransition + FaceOffsets structs