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

create_spring_animation

RECOMMENDED PHYSICS MOTION: Creates natural physics-based spring animations on transform properties (stiffness, damping, mass) without raster effect overhead.

Tool Overview & Agent Execution

create_spring_animation is an official Exode MCP tool that allows AI coding assistants like Claude Code, Cursor, and Windsurf to recommended physics motion: creates natural physics-based spring animations on transform properties (stiffness, damping, mass) without raster effect overhead.. 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
"Create a spring animation on button-hero with stiffness 220 and damping 18 in screens/login.exode"

Tool Parameters & Input Schema

ParameterTypeRequiredDescription
dampingnumberOptionalDamping ratio (default: 26)
durationnumberOptionalMax duration in seconds (default: 1)
massnumberOptionalObject mass (default: 1)
namestringOptionalThe name parameter for create_spring_animation.
pathstringYesThe path parameter for create_spring_animation.
stiffnessnumberOptionalSpring stiffness (default: 170)
velocitynumberOptionalInitial velocity (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 create_spring_animation, then fine-tune timing, spring physics, and export ready-to-ship code in ExodeUI.