     // MARK: - Private API
 
     private var annotationWindowController: PUIAnnotationWindowController?
+
+    private var maxTimestampWidth: CGFloat = Metrics.timePreviewXOffset
 
     weak var viewDelegate: PUITimelineViewDelegate?
 


    private func updateTimePreview(with event: NSEvent) {
        let point = convert(event.locationInWindow, from: nil)
        guard point.x > Metrics.timePreviewXOffset, point.x < (bounds.width - Metrics.timePreviewXOffset) else {
            timePreviewLayer.animateInvisible()
            return
        }

    public var mediaDuration: Double = 0 {
        didSet {
            needsLayout = true

            let widestTimestampString = attributedString(for: mediaDuration, ofSize: Metrics.timePreviewTextSize)
            maxTimestampWidth = widestTimestampString.size().width + Metrics.timePreviewXOffset
        }
    }

