Pingpong plays a move forward, then back, so the loop doesn’t jump to the start.
Use this to:
- Bounce an object without a second set of keys
- Keep a loop feeling continuous
- Flip facing on the return when something should lead the path
Enable Pingpong
- Select the layer and open the property you already animated.
- On that row, open the repeater menu and choose Pingpong.
- Drag the start and end handles to mark the part that should loop.
- Drag the tile-until handle to set how long the back-and-forth runs.
Keys outside that span stay on the timeline but don’t play while Pingpong is on. Set the menu back to none to turn it off. Your original keys stay.
Tip: Pingpong lives on the property row, not in the play controls. The timeline still plays 0–100% as usual.
Pingpong or Pingpong Travel
Pingpong reverses the move. If the layer is set to face along a path, it keeps that facing on the way back.
Pingpong Travel also reverses the move, and turns the layer around at the turnaround so it keeps facing the direction it’s going. Use this for arrows, vehicles, or anything that should lead the path.
Cycle and Offset are the other repeater modes. See repeaters.
Script console and WebMCP
The same steps run in Edit → Scripting and through WebMCP. Agents run a script with pureanim_run_script or window.pureanim.run().
WebMCP tools:
pureanim_get_statepureanim_list_commandspureanim_run_scriptpureanim_set_time
api.setRepeaterMode({ layer, mode, prop });
api.setRepeaterSegment({ layer, start, end, tileUntil, prop });
api.setRepeaterTileUntil({ layer, tileUntil, prop });
api.clearRepeater({ layer, prop });
api.getRepeater({ layer, prop });
mode can be "none", "cycle", "pingpong", "pingpong-travel", or "offset". Omit prop to set the whole layer. Edit the original span, not the generated copies.
Full command reference: scripting.md. Agent loop: agents.md.