Skip to main content
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →
Animation & Physics · MCP Tool

add_motion_path

Makes an object travel along a Path shape: samples the curve (bezier handles, scale, rotation) at constant speed and bakes transform.x/y keyframes (plus rotation with orient), like the editor's Trajectory Studio. The object and the path must share a parent.

Tool Overview & Agent Execution

add_motion_path is an official Exode MCP tool that allows AI coding assistants like Claude Code, Cursor, and Windsurf to makes an object travel along a path shape: samples the curve (bezier handles, scale, rotation) at constant speed and bakes transform.x/y keyframes (plus rotation with orient), like the editor's trajectory studio. the object and the path must share a parent.. It directly inspects and modifies local .exode JSON files with precision without manual UI tweaking.

Example Prompt for Claude Code & Cursor

Give this instruction to your AI coding agent to execute this tool on your active .exode workspace:

prompt
"Use add_motion_path to configure the motion properties in my active .exode workspace"

Tool Parameters & Input Schema

ParameterTypeRequiredDescription
animationIdstringYesAnimation to write into (created and wired to play on load if missing)
durationnumberOptionalSeconds (default 2)
easingstringOptionalProgress along the path (default easeInOutSine)
objectIdstringYesThe objectId parameter for add_motion_path.
orientbooleanOptionalRotate the object to follow the path direction
pathstringYesThe path parameter for add_motion_path.
pathObjectIdstringYesA Path object (geometry.points)
reversebooleanOptionalThe reverse parameter for add_motion_path.
rotationOffsetnumberOptionalDegrees added when orienting
samplesnumberOptionalKeyframes to bake (default 30 per second)
startTimenumberOptionalSeconds (default 0)

More Animation & Physics Tools

add_animation
RECOMMENDED PRIMARY MOTION PRIMITIVE: Adds an animation object with multi-track keyframes. Preferred over heavy effects for 60fps performance and zero filter memory bloat.
add_code_animation
Adds procedural motion to a normal object: `function animate(t, o, params, ctx)` runs every frame; set o.x/o.y/o.rotation/o.skewX/o.skewY (added), o.scale/o.scaleX/o.scaleY/o.opacity (multiplied), o.text, o.color. Offsets apply to the object's static transform and override its keyframed transform, so to combine with keyframes put the keyframes on a parent Frame (not a Group, which re-centres on its moving child). Use for orbits, wobble, noise drift, counters and seamless loops while the object stays editable.
add_custom_effect
Attaches drawing code to an object: `function render(ctx, env)` runs every frame and paints into the object's box (origin at its centre; env has width, height, time, params, inputs, pointer). Use for generative motion: particles, flow fields, metaballs, procedural type, 3D projection, textures. Put full-bleed pieces on an artboard-sized Rectangle. Code is syntax-checked and linted for minifier and determinism problems. See get_motion_skill { topic: 'effect-code' }.
add_effect
Adds a visual effect to an object (blur, backdropBlur, glow, dropShadow, innerShadow, etc.). ⚠️ PERFORMANCE & MEMORY NOTICE: Visual effects cause heavy GPU/canvas rasterization filter passes and high memory consumption during animation. NEVER use effects as a substitute for motion, states, or interactions. Always build dynamic behaviors using (1) Animations (animate_properties, create_timeline), (2) State Variables (add_input, bind_variable), and (3) Project / Interaction Rules (add_object_interaction, setup_project_rules). Use add_effect sparingly for subtle static aesthetic styling only.

Build & Review Motion Visually

Let Claude or Cursor run add_motion_path, then fine-tune timing, spring physics, and export ready-to-ship code in ExodeUI.