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

copy_easing

Copies the easing function from one keyframe to others (all frames of a track/animation, or specific keyframe IDs).

Tool Overview & Agent Execution

copy_easing is an official Exode MCP tool that allows AI coding assistants like Claude Code, Cursor, and Windsurf to copies the easing function from one keyframe to others (all frames of a track/animation, or specific keyframe ids).. 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 copy_easing to configure the motion properties in my active .exode workspace"

Tool Parameters & Input Schema

ParameterTypeRequiredDescription
animationIdstringOptionalLimit target scope
fromKeyframeIdstringYesThe fromKeyframeId parameter for copy_easing.
pathstringYesThe path parameter for copy_easing.
toKeyframeIdsarrayOptionalThe toKeyframeIds parameter for copy_easing.
trackIdstringOptionalLimit target scope

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 copy_easing, then fine-tune timing, spring physics, and export ready-to-ship code in ExodeUI.