Transcript Incremental Projection
Nucleic-Session: 0FFD007B-0696-4517-9429-129C7B0FD5AC Co-authored-by: Nucleic <[email protected]>
This commit is contained in:
@@ -664,7 +664,12 @@ struct TranscriptList: View {
|
|||||||
// they scroll away, which lets new content land off-screen below instead of dragging
|
// they scroll away, which lets new content land off-screen below instead of dragging
|
||||||
// the viewport, and restore `.bottom` once they're back at the end.
|
// the viewport, and restore `.bottom` once they're back at the end.
|
||||||
.defaultScrollAnchor(isScrolledToBottom ? .bottom : nil)
|
.defaultScrollAnchor(isScrolledToBottom ? .bottom : nil)
|
||||||
.onScrollPhaseChange { _, newPhase in scrollPhase = newPhase }
|
.onScrollPhaseChange { _, newPhase in
|
||||||
|
scrollPhase = newPhase
|
||||||
|
// A real grab (drag displacement, not a mere touch-down) takes over from an
|
||||||
|
// in-flight programmatic jump: the user may scroll away again immediately.
|
||||||
|
if newPhase == .interacting { jumpingToBottom = false }
|
||||||
|
}
|
||||||
// Track the live scroll position straight from the scroll view's geometry: how much
|
// Track the live scroll position straight from the scroll view's geometry: how much
|
||||||
// content still sits below the viewport bottom. Parked within the follow threshold
|
// content still sits below the viewport bottom. Parked within the follow threshold
|
||||||
// means live output keeps following; a *user* scroll past the (wider) unfollow
|
// means live output keeps following; a *user* scroll past the (wider) unfollow
|
||||||
|
|||||||
Reference in New Issue
Block a user