Skip to content

GSAP Integration

New in EMCP Tools Pro 3.16.0. The opt-in GSAP Integration module bundles GSAP 3.15.0 core and the complete 24-plugin distribution locally. It registers stable WordPress script handles for themes, plugins, Elementor pages, Gutenberg, and admin interfaces without loading GSAP from a CDN.

Open EMCP Tools → Modules, enable GSAP Integration, save, then open Show Settings on its module card.

Core loads in every selected context. All 24 optional plugins are selected initially and can be switched off individually.

ContextDefaultUse it for
Site frontendOnPublic pages, templates, and theme/plugin animations.
WordPress adminOffA deliberately animated plugin administration screen.
Block editorOffGutenberg editor-only behavior.
Elementor editorOffElementor preview/editor lifecycle behavior.

Enable only the contexts where animation code actually runs. Registering handles does not enqueue them globally; the selected contexts control automatic enqueueing.

GSAP core is registered as emcp-gsap. Optional plugin handles use the catalog ID, for example:

  • emcp-gsap-scroll-trigger
  • emcp-gsap-split-text
  • emcp-gsap-motion-path

CSSPlugin, AttrPlugin, EndArrayPlugin, ModifiersPlugin, RoundPropsPlugin, and SnapPlugin are included in core and do not have separate switches or files.

Theme and plugin code can declare the handles as normal WordPress dependencies:

wp_enqueue_script(
'site-hero-animation',
get_stylesheet_directory_uri() . '/assets/js/hero-animation.js',
array( 'emcp-gsap', 'emcp-gsap-scroll-trigger' ),
'1.0.0',
array( 'in_footer' => true, 'strategy' => 'defer' )
);

Every handle is registered when the active module boots. The emcp_tools_gsap_registered action fires after registration, and PHP integrations can call EMCP_Tools_GSAP_Assets::enqueue_plugin( 'scroll-trigger' ) to request one catalog plugin and its dependencies.

Plugin IDBrowser globalDependency or prerequisite
css-ruleCSSRulePluginNone
custom-bounceCustomBouncecustom-ease
custom-easeCustomEaseNone
custom-wiggleCustomWigglecustom-ease
draggableDraggableAdd inertia for momentum
draw-svgDrawSVGPluginNone
easelEaselPluginCreateJS/EaselJS is not bundled
ease-packEasePackNone
flipFlipNone
gs-dev-toolsGSDevToolsDevelopment helper
inertiaInertiaPluginNone
morph-svgMorphSVGPluginNone
motion-path-helperMotionPathHelpermotion-path; development helper
motion-pathMotionPathPluginNone
observerObserverNone
physics-2dPhysics2DPluginNone
physics-propsPhysicsPropsPluginNone
pixiPixiPluginPixiJS is not bundled
scramble-textScrambleTextPluginNone
scroll-smootherScrollSmootherscroll-trigger and the required wrapper markup
scroll-toScrollToPluginNone
scroll-triggerScrollTriggerNone
split-textSplitTextNone
textTextPluginNone

EMCP resolves plugin-to-plugin dependencies automatically. PixiPlugin and EaselPlugin are bundled, but their unrelated rendering engines are not.

In browser code, register every optional plugin before first use:

gsap.registerPlugin(ScrollTrigger, SplitText);

The module registers two dispatcher tools while it is active and licensed:

ToolOperationPurpose
gsap-readget-statusRead the module state, bundled version, selected contexts and plugin IDs, plus core registration/enqueue state.
gsap-readlist-pluginsList all 24 plugins with handles, globals, dependencies, external prerequisites, selected state, and request-local runtime state.
gsap-writeupdate-settingsReplace the supplied contexts or plugins list. Omitted settings stay unchanged.
gsap-writeset-pluginEnable or disable one catalog plugin. Dependencies are adjusted automatically.

gsap-read requires edit_posts; gsap-write requires manage_options. Write access can also be disabled from EMCP Tools → Tools.

// Discover what this installed version supports.
gsap-read({})
gsap-read({ operation: "get-status", arguments: {} })
gsap-read({ operation: "list-plugins", arguments: {} })
// Enable ScrollTrigger and load selected scripts in Elementor's editor too.
gsap-write({
operation: "set-plugin",
arguments: { plugin: "scroll-trigger", enabled: true }
})
gsap-write({
operation: "update-settings",
arguments: { contexts: ["frontend", "elementor-editor"] }
})

update-settings replaces each list it receives, so read the current status and merge deliberately. Disabling a dependency also disables selected plugins that require it.

For page-specific animation, target a stable Elementor element ID or CSS class and scope selectors to that page section. Wait for DOM ready, retain the returned GSAP context or match-media instance, and revert it before Elementor re-renders the element in preview.

Use gsap.matchMedia() for responsive behavior and prefers-reduced-motion. Reduced-motion handling must leave content readable and interactive rather than stranded at an invisible animation start state.

Before delivery, verify the real target page in a browser: confirm the expected local emcp-gsap* files loaded, required plugin globals exist, selectors match only intended elements, animation works in both directions where applicable, and no second GSAP copy is supplied by a theme, plugin, or CDN.

Pro includes the singular emcp-gsap Agent Skill. It combines the official GreenSock playbooks for tweens, timelines, ScrollTrigger, plugins, utilities, lifecycle, and performance with EMCP’s MCP dispatcher workflow, WordPress handles, Elementor cleanup patterns, accessibility requirements, and real-browser verification.

The skill is available through runtime list-skills / get-skill discovery and both downloads on the EMCP Tools → Skills screen:

  • The standard bundle contains emcp-gsap/SKILL.md.
  • The Claude Desktop bundle contains emcp-gsap.zip with the skill at the package root.