diff --git a/apps/web/src/constants/timeline-constants.tsx b/apps/web/src/constants/timeline-constants.tsx index d7e72c45..83fecc83 100644 --- a/apps/web/src/constants/timeline-constants.tsx +++ b/apps/web/src/constants/timeline-constants.tsx @@ -40,6 +40,7 @@ export const TIMELINE_CONSTANTS = { ZOOM_MIN: 0.1, ZOOM_MAX: 50, ZOOM_STEP: 0.1, + ZOOM_OUT_FACTOR: 4, } as const; export const TRACK_ICONS: Record = { diff --git a/apps/web/src/lib/timeline/zoom-utils.ts b/apps/web/src/lib/timeline/zoom-utils.ts index 4c9d723a..01eb8cb1 100644 --- a/apps/web/src/lib/timeline/zoom-utils.ts +++ b/apps/web/src/lib/timeline/zoom-utils.ts @@ -14,9 +14,7 @@ export function getTimelineZoomMin({ const zoomToFit = safeContainerWidth / (paddedDuration * TIMELINE_CONSTANTS.PIXELS_PER_SECOND); + const minZoom = zoomToFit / TIMELINE_CONSTANTS.ZOOM_OUT_FACTOR; - return Math.min( - TIMELINE_CONSTANTS.ZOOM_MAX, - Math.max(TIMELINE_CONSTANTS.ZOOM_MIN, zoomToFit), - ); + return Math.min(TIMELINE_CONSTANTS.ZOOM_MAX, minZoom); }