Documentation
Motion Images
A slide with declarative motion on it, a key photo, and exports for video, Apple Live Photo and Android Motion Photo.
A Motion Image is a still picture with a little life in it. Framulus has two kinds, and they are different things with different storage. A Framulus Motion Image is one of your slides with motion on it: a real composition, still fully editable, that renders into a picture, a video, an Apple Live Photo or an Android Motion Photo. An imported Motion Image is media from outside: a video file whose first frame becomes a still, kept in Assets and reusable like any other picture.
A Framulus Motion Image is a slide
Nothing is flattened and nothing is rasterised. The slide stays a tree of elements with their own text, styles, components, masters, variables and effects; what is added is a small, declarative motion configuration that the renderer reads.
- Duration
- How long the clip runs. One to fifteen seconds.
- Key photo
- The moment the still is. Not necessarily the beginning.
- Camera
- An optional move over the whole composition.
- Element motion
- Per element: a move, a delay, a duration, and an amount where one makes sense.
There is no timeline, no keyframe editor and no scripting. A motion is a name from a fixed list and three numbers, which is why it can be previewed and exported with nothing to interpret.
Convert a slide
Deselect everything so the Inspector shows the slide, then choose Convert to Motion Image. The slide is unchanged: every element is where it was, save and reload work, duplicating the slide duplicates its motion, and the conversion is one press of undo. Remove motion takes it off again and leaves an ordinary slide.
Choose what moves
Select an element and pick a move under Motion. Select several and set them together.
- None
- Still. This is every element until you say otherwise.
- Fade
- Appears from nothing and stays.
- Rise
- Arrives from below and settles.
- Slide
- Arrives from the left and settles.
- Scale
- Grows very slightly into place.
- Drift
- Moves sideways across the clip and returns.
- Float
- Rises and falls gently, twice.
- Subtle zoom
- Grows a little across the clip and returns.
Fade, Rise, Slide and Scale arrive once and hold, so the end of the clip is the composition at rest. Drift, Float and Subtle zoom run for the whole clip and start and end at rest, so a clip can be watched twice without a jump. Each shows a delay and a duration, and a distance or amount where the move has one: a fade has neither, so neither is offered.
Set the key photo
This is the idea the whole feature is built around, and it is the same one a Live Photo uses.
motion before
|
KEY PHOTO
|
motion afterThe key photo is a moment, in seconds, anywhere inside the clip. It defaults to the middle. It is what the canvas shows when nothing is playing, it is what a PNG, a JPG or a PDF of the slide contains, and it is the frame the video is marked as freezing on. Change it and every one of those changes together.
Camera motion
Separate from element motion, and they work together: a heading can Rise while the whole composition slowly zooms.
- None
- The composition holds still. Elements can still move.
- Zoom in
- Pushes slowly towards the centre.
- Zoom out
- Starts close and settles back to the whole slide.
- Pan
- Travels from one side to the other.
- Drift
- A diagonal move with a slight push in.
Every camera move is small, and the view it takes is always the slide's own shape and always inside the slide, so no move can show an empty edge or letterbox a slide.
Preview it
Preview motion plays the real composition on the canvas from the beginning: real elements, real type, real images, no screenshot. Hold plays it for as long as you hold the button, the way pressing a Live Photo does, and settles back on the key photo when you let go. The Motion badge above the slide does the same thing.
Playback changes nothing. No element moves in the document, nothing enters the undo history, and editing carries on as normal the moment it stops. Change a motion and press play again to see it.
Getting it out
Open Export on a Motion Image slide and there are four outputs. All of them come from one render of the slide, frame by frame, through the same stage an ordinary export uses, so the picture inside a Live Photo, the picture inside a Motion Photo and the picture a PNG export gives you are the same drawing.
- Image
- PNG, JPG or PDF of the composition at the key photo. Unchanged from any other slide.
- Video
- The whole clip as an MP4, at the slide's own size.
- Apple Live Photo
- A matched JPG and MOV, in a zip, with a short note on importing them.
- Android Motion Photo
- One JPG with the clip inside it, in Google's Motion Photo format.
Frames are rendered at exact timestamps rather than recorded in real time, so the same slide produces the same clip on a fast laptop and a slow phone. Encoding uses your browser's own H.264 encoder. An output your browser cannot produce says so in a sentence instead of doing nothing.
Apple Live Photo, and what a website cannot do
A genuine Live Photo is a still and a movie that carry the same content identifier, with the movie marking which of its moments the still is. Framulus produces exactly that pair: a JPG carrying the identifier in its Apple maker note, and a QuickTime movie carrying the same identifier and a still-image-time marker at your key photo.
These files have not been validated on an iPhone. They are built to Apple's documented format and their structure is checked automatically, which is not the same as a device accepting them.
Android Motion Photo
One JPEG file with the MP4 packed onto the end of it and an XMP packet describing the container, which is Google's current Motion Photo format. The presentation timestamp it records is your key photo. Anything that does not read Motion Photos sees an ordinary picture, which is the point of the format.
Imported Motion Images
Separate from all of the above, and stored separately. In the Assets panel, choose Import motion and pick an MP4, MOV or WebM.
- Framulus takes the still out of the clip in your browser and uploads it as an ordinary image.
- The clip uploads second and is attached to that still.
- Place it like any other picture.
It arrives as an Image element. The still is what everything draws: thumbnails, exports, the print view. The clip plays only on the canvas, and only when you ask for it with Play motion in the Inspector. Save clip hands back the stored file. Nothing is transcoded.
To use one as an ordinary picture, choose Place the still only on its tile in Assets, or Detach the clip from this element in the Inspector. Both reuse the picture that is already in the project: no second upload and no second file. Remove motion in Assets deletes the clip from the project entirely and keeps the picture, and is refused while any slide still uses it.
Limits
- The moves are a fixed list. There is no timeline, no keyframe editor, no trimming and no audio.
- A Motion Image is one slide. There is no video of a whole deck.
- Video, Live Photo and Motion Photo need WebCodecs. Browsers without it can still export the image.
- Rendering a clip takes a moment per frame, because each frame is a real render of the slide rather than a copy of a bitmap.
- A slide with an image from a site that refuses cross-origin reads cannot be rendered, and says so, exactly as an export would.
- The Apple package has not been tested on a device. See above.
- An imported Motion Image is one clip and one still. Replacing either means importing it again.
- An AI agent connected over MCP can read a slide's motion but has no tool for making a Motion Image or recording a clip.