         self.deltaPosition = 0
         self.velocity = CGPoint.zero
         self.acceleration = acceleration
-        self.finishDistanceRate = finishDistanceRate
         self.ease = ease
         self.canFinish = false
     }

            contentEndFrame = self.contentClosedFrame
            detailBeginFrame = self.detailClosedFrame
            detailEndFrame = self.detailClosedFrame
            self.targetState = .closed
        }
        if contentBeginFrame != contentEndFrame || detailBeginFrame != detailEndFrame {
            let detailDelta = detailBeginFrame.topPoint.distance(to: detailEndFrame.topPoint)
            self.deltaPosition = self.ease.lerp(positionDelta, from: 0, to: detailDelta)
            let progress = max(0, min(self.deltaPosition / detailDelta, 1))
            self.contentViewController?.view.frame = contentBeginFrame.lerp(contentEndFrame, progress: progress)
            self.detailViewController?.view.frame = detailBeginFrame.lerp(detailEndFrame, progress: progress)
            self.canFinish = self.deltaPosition > (detailDelta * self.finishDistanceRate)
        }
    }
    

    public var deltaPosition: CGFloat
    public var velocity: CGPoint
    public var acceleration: CGFloat
    public var ease: IQAnimationEase
    public var canFinish: Bool
    
