Repository navigation
showtime 0.3.4
- Frame 0 of a page with CSS animations could show where the animation had got to in real time.
The stage paused CSS animations and Web Animations at the first seek, but by then they had been running
since page load, and transform/opacity animations run on the compositor: pausing them there left the
last real-time value on screen until the property changed again, so the first capture had an element a
few pixels along (the css-clock fixture's dot was 12 px out at t=0 on about half the runs, which the
nightly reported asframes differ when reached in another order or after a pause (0s)), and layers
that had been animated on the compositor rasterised differently depending on the frames seeked before
(the Windowsraster noiseverdict). In render modestage.jsnow holds every animation from the
start (animation-play-state: pausedin an adopted style sheet, andElement.animate()returns a
paused animation), so nothing runs before the first seek and a frame depends only on t;
data-st-freeelements are left alone as before. - A seeked
<video>could be captured before its new frame was on screen.seekOnewaited for
seekedand one frame, but the frame reaches the compositor afterseeked, so a slow machine captured
the previous frame: a black frame 0 in an adopted Python render (qafirst_frame_blackon macOS) and
"frames depend on seek order" incheckfor a captured video on Windows. The seek now also waits for
the frame to be presented (requestVideoFrameCallback), or 500 ms afterseekedif it never comes.
Includes everything in 0.3.3 (security fixes and the audio mirror); 0.3.3 was not published to npm or the MCP Registry, so this is the next version there after 0.3.2.
Checked: the full test tier of the affected tests on macOS (Apple Silicon and Intel), Windows and Ubuntu, and the end-to-end install-and-render test on four platforms.
Install or update: /plugin marketplace update showtime in Claude Code, npx -y @faviovazquez/showtime-mcp@0.3.4 for the MCP server, or the attached showtime-0.3.4.mcpb for Claude Desktop.