{"record":{"id":"95181007fedec19e","repo":"remotion-dev/remotion","slug":"the-current-composition-is-a-still-and-has-no-time","errorCode":null,"errorMessage":"The current composition is a still and has no timeline zoom.","messagePattern":"The current composition is a still and has no timeline zoom\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"warning","filePath":"packages/studio/src/components/WebMcp.tsx","lineNumber":1670,"sourceCode":"\t\t\t\t\tannotations: {readOnlyHint: false},\n\t\t\t\t\texecute: ({zoom}) => {\n\t\t\t\t\t\tif (\n\t\t\t\t\t\t\ttypeof zoom !== 'number' ||\n\t\t\t\t\t\t\t!Number.isFinite(zoom) ||\n\t\t\t\t\t\t\tzoom < 0 ||\n\t\t\t\t\t\t\tzoom > 1\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\tthrow new Error('zoom must be a finite number between 0 and 1.');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst compositionId = currentCompositionRef.current;\n\t\t\t\t\t\tif (compositionId === null) {\n\t\t\t\t\t\t\tthrow new Error('No composition is currently selected.');\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst durationInFrames = getCurrentDuration();\n\t\t\t\t\t\tif (durationInFrames <= 1) {\n\t\t\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t\t\t'The current composition is a still and has no timeline zoom.',\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t}\n\n\t\t\t\t\t\tconst timelineViewportWidth =\n\t\t\t\t\t\t\tscrollableRef.current?.clientWidth ?? 0;\n\t\t\t\t\t\tconst minZoom = getTimelineMinZoom({\n\t\t\t\t\t\t\tdurationInFrames,\n\t\t\t\t\t\t\ttimelineViewportWidth,\n\t\t\t\t\t\t});\n\t\t\t\t\t\tconst timelineZoom = clampTimelineZoom({\n\t\t\t\t\t\t\tzoom: normalizedToTimelineZoom({\n\t\t\t\t\t\t\t\tnormalized: zoom,\n\t\t\t\t\t\t\t\tminZoom,\n\t\t\t\t\t\t\t}),\n\t\t\t\t\t\t\tdurationInFrames,\n\t\t\t\t\t\t\ttimelineViewportWidth,\n\t\t\t\t\t\t});","sourceCodeStart":1652,"sourceCodeEnd":1688,"githubUrl":"https://github.com/remotion-dev/remotion/blob/b2f4e34732f3c6c222ea029413e22dc402218cd7/packages/studio/src/components/WebMcp.tsx#L1652-L1688","documentation":"The timeline zoom tool refuses to operate on stills: a composition with durationInFrames <= 1 has a single frame and therefore no timeline zoom.","triggerScenarios":"Calling set-timeline-zoom while a Still is selected.","commonSituations":"Automation assuming a video composition when the user has a Still open.","solutions":["Switch to an animated composition before adjusting timeline zoom","Skip zoom operations for stills"],"exampleFix":null,"handlingStrategy":"type-guard","validationCode":"const {durationInFrames} = await getCompositionTool();\nif (durationInFrames <= 1) skipZoom();","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Skip timeline operations for stills"],"tags":["mcp","timeline-zoom","still"],"backgroundTag":"invalid-operation-for-media-type","analyzedSha":"b2f4e34732f3c6c222ea029413e22dc402218cd7","analyzedAt":"2026-08-28T15:39:09.316Z","contentChangedAt":"2026-08-28T15:39:09.316Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}