Skip to main content

Animation Engine — functions

127 public functions. 127 are 🔌 pluggable (function_exists()-guarded, so a theme/child can override them).

FunctionSummary
fw_model_allowed_mimesReturns the allowed glTF model MIME map (glb, gltf) for the model-upload bypass.
sc_getReturns a value from the shortcode atts array by path via fw_akg, falling back to a default.
sc_get_gsap_fieldsReturns the GSAP "Scroll Motion" fields appended to the Animations tab.
sc_get_hscroll_fieldsBuilds the horizontal-scroll module option fields, including per-style preview tiles and shared controls.
sc_get_motion_sequence_fieldsThe Motion Sequence control (Section only). An INLINE multi-picker keyed motion_sequence, picker id mode (Off / On) — one row until switched on, matching the engine's other controls.
sc_get_scroll_loop_fieldsThe Scroll Loop control appended to the Animations tab.
sc_get_scrollytelling_fieldsAnimation Engine — Scrollytelling module: options declaration.
sc_get_sticky_stack_fieldsThe Sticky Card Stack control (Section only). A popover image-picker multi-picker keyed sticky_stack, picker id mode, so it stays compact like the other engine controls.
sc_gsap_flagPer-request flag: "at least one GSAP-animated shortcode has rendered". Gates the wp_footer enqueue so zero GSAP bytes ship on un-animated pages.
sc_gsap_usedRecords which GSAP effects rendered on this request, so wp_footer can load the heavier per-effect plugins (e.g. SplitText) ONLY when they're used.
sc_model_viewer_renderRenders the model-viewer shortcode, resolving the 3D model source from a media pick or pasted URL.
sc_scroll_loop_flagPer-request flag: "at least one loop section rendered". Gates the wp_footer enqueue so zero loop bytes ship on pages without a loop group.
sc_scroll_loop_snap_usedPer-request flag: "at least one loop section requested snapping". Gates loading the separate Lenis Snap build.
sc_seq_framesResolve the ordered list of frame URLs from either source.
sc_svg_draw_colorReturns a color option field (compact styling-tab picker or a plain color-picker fallback) for the SVG Draw options.
sc_svg_draw_presetBuilt-in stroke presets — single-colour outline art that draws cleanly.
sc_svg_draw_renderRenders the SVG Draw shortcode from its atts, loading the SVG from preset, code, or a path-validated upload.
sc_svg_draw_sanitizeSanitise user-supplied SVG markup before it is echoed inline.
sc_svg_morph_colorReturns a color option field (compact styling-tab picker or a plain color-picker fallback) for the SVG Morph options.
sc_svg_morph_extract_pathExtract the PRIMARY morphable path d from SVG markup: the longest <path> (a heuristic for the main outline), or a basic shape (circle / rect / polygon / polyline) converted to a path. Only a validated numeric d is ever returned — never the raw markup — so this is safe to echo. Complex multi-part art collapses to its largest single outline (morphing needs one shape).
sc_svg_morph_points_to_pathCurated morph SETS — an ordered sequence of shape keys the element cycles through. Chosen because each pair reads well as a morph. loopback closes the cycle (…→ last → first) for a seamless loop.
sc_svg_morph_renderRenders the SVG Morph shortcode from its atts, collecting and sanitizing each shape's path and timing.
sc_svg_morph_shapesBuilt-in morph shapes — single closed paths in a 0–100 box. The runtime samples each into N points, so any of these can morph into any other. Keep each a SINGLE subpath (one M … Z): the sampler walks a continuous outline, so a multi-subpath shape would tear.
sc_webgl_object_renderRenders the WebGL Object shortcode, resolving the style preset, image URL, and HEX colors for the Three.js config.
upw_ae_group_tilesGroup a FLAT image-picker choices map into categories for the searchable "tabs" layout used by every module effect picker. The flat list stays the source of truth (a module just adds a new tile to it); categorisation is a thin map over it.
upw_anim_asset_verVersion + filemtime cache-buster for a file that exists (else the bare version).
upw_anim_diagnose_postWalks a post's page-builder tree and reports which animation-engine fields are active on each element.
upw_anim_diagnostics_render_pageRenders the animation diagnostics admin page, handling the per-post reset action.
upw_anim_engine_settingRead a global Animation Engine setting (theme-scoped). Modules use this to honour the engine's global policy (e.g. reduced motion, disable-on-mobile).
upw_anim_engine_settings_sectionThe "Animations" nav section: a box → group of global engine options, plus a per-module area. Returns the section keyed animation_engine_container.
upw_anim_field_defspicker id + off value per animation field, from the live field definitions. Cached per request.
upw_anim_pb_keyThe page-builder option key (for fw_get_db_post_option / fw_set_db_post_option).
upw_anim_raf_handleRegister + enqueue the shared frame scheduler (static/js/upw-raf.js) once per request and return its handle, so modules whose JS uses window.upwAnimRaf can depend on it. One rAF loop drives every subscribed animation and pauses while the tab is hidden.
upw_anim_register_assetsDeclare a module's on-demand asset layout (call once, at module load).
upw_anim_reset_postReset EVERY element's animation values to their off/none default. Returns count of atts reset.
upw_anim_sliderA slider option field: value + min/max/step, plus an optional description.
upw_anim_use_assetRecord that $module used $style on this request → its partial(s) get enqueued.
upw_anim_used_stylesThe distinct styles a module emitted this request (for tests / conditionals).
upw_bg_color_fieldBuilds a background-effect color-picker field, delegating to the shared color helper when available.
upw_bg_containersShortcode tags that get the Background Effect option.
upw_bg_css_colorResolve a preset/custom color to a CSS string (var() for presets, live-linked).
upw_bg_effectsReturns the list of available background effect ids.
upw_bg_enabledAnimation Engine — Animated Backgrounds module: helpers.
upw_bg_hexResolve a preset/custom color to a real hex (canvas can't use var()).
upw_color_fieldBuild a color option using the shortcodes Styling-tab preset selector (predefined-colors-color-picker-compact) instead of a raw color-picker, so element colors stay tied to the theme palette. Falls back to a plain color-picker if the helper isn't available (engine without shortcodes).
upw_color_shift_enabledGlobal master switch — the single choke point (defaults to enabled, like every other module).
upw_color_shift_flagTracks (and optionally sets) whether the Scroll Color Shift feature was used on the current request.
upw_confetti_enabledAnimation Engine — Confetti module.
upw_confetti_palettesValid palette keys (shared by the select + the wrapper-filter validation).
upw_confetti_style_groupsGroup label => ordered style keys — organises the picker into tabs.
upw_confetti_stylesFlat key => label of EVERY style — the source of truth for validation + the one runtime.
upw_cs_resolve_colorAnimation Engine — Scroll Color Shift module (Section-level).
upw_cursor_font_propsA typography-v2 value → JS style props, and enqueue its Google font if one is chosen. Shared by the Word Trail and Contextual Label styles.
upw_cursor_settingRead a Cursor setting from the theme-scoped animation_cursor bucket.
upw_cursor_stylesstyle-id => label. Single source of truth for the picker + validation.
upw_effects_recursive_unsetRecursively removes every occurrence of a given key from a nested array, by reference.
upw_flip_card_enabledReturns whether the Flip Card module is enabled in Theme Settings (defaults to enabled).
upw_flip_card_flagStatic used-flag for Flip Card; sets it when passed true and returns whether the module was used on the page.
upw_flip_card_optionsThe shared settings group revealed under every flip style.
upw_flip_card_stylesAnimation Engine — 3D Flip Card module: helpers.
upw_flip_resolve_colorResolve a color value (compact-color array or legacy string) to a CSS color.
upw_get_color_shift_fieldsThe Scroll Color Shift control (a compact popover multi-picker).
upw_gsap_critical_cssPrints the tiny in-head critical CSS that hides .upw-g-pending GSAP entrance elements to prevent FOUC.
upw_gsap_effectsCanonical Scroll-Motion effect list — the SINGLE source of truth for the effect KEYS + labels. The picker tiles (settings.php) and the render-time allow-list (render.php) both derive from this, so those two can never drift again (the drift is what shipped the data-upw-g-each stagger bug). The tile SVG slug is the key with _ -> -. NOTE: the JS BUILDERS map (upw-gsap.js) implements each key and must carry the SAME keys (it can't share a PHP literal) — keep it in step. custom (the code snippet) is handled separately (own tile + gated runtime), so it is NOT listed here.
upw_gsap_snippets_gateEmits the window.upwSnippetsOK flag in the footer only when the singular's author and last editor both have unfiltered_html.
upw_hover_apply_instancesApplies hover effect instances onto a wrapper's attr array, adding classes, data-hover-* attrs, CSS vars, and asset records.
upw_hover_collection_item_attrBuilds the hover-effect attr array for a single collection item, or empty if hover is disabled or has no instances.
upw_hover_colorResolve a preset-or-custom color value (from upw_color_field) to a CSS color string: a preset → var(--color-{slug}) (live-linked to Theme Settings); a custom color → its hex; a legacy plain string → passed through.
upw_hover_effectsThe valid hover-effect ids — single source of truth for emit + wrapper checks.
upw_hover_enabledGlobal master switch (Theme Settings → Animations → Interactions).
upw_hover_instancesCollect every hover instance saved on an element — the base interaction plus any interaction__N slots (multi-instance). Returns a list of [ 'effect' => key, 'settings' => array ] for the active ones only, so a user can combine several hover effects (Lift + Ripple, …) on one element.
upw_hover_scopeHover target scope for an element: 'each' (per-item, only the hovered card reacts) or 'whole'. Defaults to 'each' so collections light up per card. Meaningful only on collection elements.
upw_hscroll_enabledReturns whether the Horizontal Scroll module is enabled in Theme Settings (defaults to enabled).
upw_hscroll_stylesThe valid horizontal-scroll style keys (shared by the wrapper filter + needs-wrapper).
upw_marquee_enabledAnimation Engine — Marquee module: helpers.
upw_marquee_flagStatic used-flag for Marquee; sets it when passed true and returns whether the module was used on the page.
upw_model_content_okCheap content sanity-check before we override WordPress's finfo veto — so the bypass only ever applies to a file that really is a glTF model, not anything that merely ends in .glb/.gltf. - .glb → binary glTF; the first 4 bytes are the magic "glTF" (0x676C5446). - .gltf → a JSON document; the first non-whitespace byte must be "{".
upw_motion_path_all_modesReturns all motion-path mode keys — the shape preset keys plus 'custom'.
upw_motion_path_enabledAnimation Engine — Motion Path module: helpers.
upw_motion_path_presetsThe built-in path shapes. Each d lives in a normalized 0..100 × 0..100 box; the runtime scales it to the element's chosen Path size (px) and moves the element RELATIVE to its first point, so it starts at its natural layout position and travels the shape from there.
upw_motion_path_shape_keysReturns the keys of the built-in motion-path shape presets.
upw_motion_sequence_enabledReturns whether the Motion Sequence module is enabled in Theme Settings (defaults to enabled).
upw_mq_sliderBuilds a marquee slider option field by delegating to the shared upw_anim_slider builder.
upw_parallax_enabledAnimation Engine — Parallax module: helpers.
upw_parallax_flagStatic used-flag for Parallax; sets it when passed true and returns whether the module was used on the page.
upw_perf_noteShared "only loads when used" reassurance, surfaced on the animation pickers so users see — at the point of choice — that the engine won't bloat their pages. Kept HONEST: the runtime is enqueued per-PAGE (not per-effect — one file carries a category's effects, and shared libraries like GSAP load for any effect), so the accurate promise is "loads only on pages that use it", not "only the selected one".
upw_phys_sliderBuilds a physics slider option field by delegating to the shared upw_anim_slider builder.
upw_phys_triggerReturns a select option field for the physics trigger (hover or click/tap), with the given default.
upw_physics_effectsValid physics-effect ids — single source of truth for emit + wrapper checks.
upw_physics_enabledAnimation Engine — Physics module: helpers.
upw_preloader_enabledReturns whether the site preloader is enabled in its settings.
upw_preloader_innerThe animator markup for a preloader style (built into the overlay).
upw_preloader_settingsResolve + cache the preloader settings for this request.
upw_preloader_style_optRead a per-style option for the CURRENT style from the preloader_style multi-picker reveal. Future preloader styles that ship their own options (declared in the style's choices reveal group) read them through this — e.g. upw_preloader_style_opt( 'count', 5 ).
upw_preloader_stylesAnimation Engine — Preloader module: helpers.
upw_prlx_sliderBuilds a parallax slider option field by delegating to the shared upw_anim_slider builder.
upw_prlx_switchReturns a parallax on/off switch option field with the given label, description, and default.
upw_pt_enabledReturns whether page transitions are enabled and not in the admin.
upw_pt_resolveRead the transition multi-picker into a normalized [ type, dir, count, total ].
upw_pt_settingAnimation Engine — Page Transitions module: helpers.
upw_pt_typesReturns the list of valid page-transition type keys.
upw_scroll_enabledReturns whether the Scroll Motion module is enabled in Theme Settings (defaults to enabled).
upw_scroll_loop_enabledReturns whether the Infinite Scroll Loop module is enabled in Theme Settings (defaults to enabled).
upw_scroll_reveal_enabledAnimation Engine — Scroll Reveal module: helpers.
upw_scroll_text_highlight_enabledAnimation Engine — Scroll Text Highlight module.
upw_scroll_var_enabledReturns whether the Scroll Variable module is enabled in Theme Settings (defaults to enabled).
upw_scroll_var_optionsThe revealed options behind the tile (shared by the single on mode).
upw_scroll_var_sanitize_nameSanitize a user string into a valid CSS custom-property name, forcing a leading --.
upw_scrollprog_enabledAnimation Engine — Scroll Progress module.
upw_scrollytelling_directionalStyles that expose a Direction sub-option (up / down / left / right).
upw_scrollytelling_enabledAnimation Engine — Scrollytelling module: helpers.
upw_scrollytelling_style_keysReturns the keys of the available scrollytelling styles.
upw_scrollytelling_stylesThe valid style keys (label registry) — shared by the picker + the wrapper filter.
upw_skf_enabledGlobal master switch (defaults to enabled, like every other module).
upw_skf_flagStatic used-flag for Scroll Keyframes; sets it when passed true and returns whether the module was used on the page.
upw_smoothscroll_enabledReturns whether smooth scrolling is enabled in Theme Settings (defaults to off).
upw_sp_colorReturns a compact color option field for the scroll-progress bar, defaulting to the given hex.
upw_sth_resolve_colorResolve a compact-color value (array or legacy string) to a CSS color.
upw_sth_stylesReturns the map of scroll-text-highlight style keys to their translated labels.
upw_sticky_stack_enabledReturns whether the Sticky Card Stack module is enabled in Theme Settings (defaults to enabled).
upw_sticky_stack_stylesThe valid style keys (shared by the wrapper filter + needs-wrapper).
upw_text_colorResolve a preset-or-custom color to a CSS string (reuses the hover resolver).
upw_text_color_fieldA palette-preset color field, reusing the hover module's helper when present.
upw_text_effectsThe valid text-effect ids — single source of truth for emit + wrapper checks.
upw_text_enabledGlobal master switch (Theme Settings → Animations → Text).
upw_text_trigger_listNormalise a multi-select trigger value (array of view/load/click/hover, or a legacy scalar, or empty) into a space-separated list for data-text-trigger. Shared by every one-shot effect whose trigger is the multi image-picker (reveal family, scramble, typewriter, countup, splitflap, matrix). Defaults to 'view'.
upw_viewport_units_enabledAnimation Engine — Viewport Units module.

fw_model_allowed_mimes

🔌 pluggable

fw_model_allowed_mimes()

Returns the allowed glTF model MIME map (glb, gltf) for the model-upload bypass.

Source: framework/extensions/animation-engine/includes/glb-upload.php:23

sc_get

🔌 pluggable

sc_get( $path, $atts, $default = '' )

Returns a value from the shortcode atts array by path via fw_akg, falling back to a default.

Source: framework/extensions/animation-engine/shortcodes/gallery-3d/views/view.php:18

sc_get_gsap_fields

🔌 pluggable

sc_get_gsap_fields()

Returns the GSAP "Scroll Motion" fields appended to the Animations tab.

Saved value shape (multi-picker, picker id = effect):

[ 'effect' => 'reveal', 'reveal' => [ <sub-option values> ] ]

Only the selected effect's sub-array carries data; switching effects never loses the others' values (standard multi-picker behaviour).

Source: framework/extensions/animation-engine/modules/scroll-motion/includes/scroll-motion-settings.php:25

sc_get_hscroll_fields

🔌 pluggable

sc_get_hscroll_fields()

Builds the horizontal-scroll module option fields, including per-style preview tiles and shared controls.

Source: framework/extensions/animation-engine/modules/horizontal-scroll/horizontal-scroll.php:41

sc_get_motion_sequence_fields

🔌 pluggable

sc_get_motion_sequence_fields()

The Motion Sequence control (Section only). An INLINE multi-picker keyed motion_sequence, picker id mode (Off / On) — one row until switched on, matching the engine's other controls.

Source: framework/extensions/animation-engine/modules/motion-sequence/motion-sequence.php:38

sc_get_scroll_loop_fields

🔌 pluggable

sc_get_scroll_loop_fields()

The Scroll Loop control appended to the Animations tab.

A popover image-picker multi-picker (keyed scroll_loop, picker id mode) so it stays compact in the tab like the other engine controls (Scroll Motion, Page Transitions, Hover) rather than laying its fields out inline.

Saved value shape:

[ 'mode' => 'off'|'loop',
'loop' => [ 'snap' => 'yes'|'no', 'snap_duration' => 0.8, 'run_on_mobile' => 'yes'|'no' ] ]

Source: framework/extensions/animation-engine/modules/scroll-loop/includes/scroll-loop-helpers.php:26

sc_get_scrollytelling_fields

🔌 pluggable

sc_get_scrollytelling_fields()

Animation Engine — Scrollytelling module: options declaration.

Builds the Section-only "Scrollytelling" multi-picker (a popover image-picker keyed scrollytelling, picker id mode), mirroring the Sticky Card Stack control. One shared options group is revealed under every style; a single intensity knob drives whatever that style does. Injected into the Section's Animations tab by scrollytelling-render.php.

Source: framework/extensions/animation-engine/modules/scrollytelling/includes/scrollytelling-settings.php:15

sc_get_sticky_stack_fields

🔌 pluggable

sc_get_sticky_stack_fields()

The Sticky Card Stack control (Section only). A popover image-picker multi-picker keyed sticky_stack, picker id mode, so it stays compact like the other engine controls.

Source: framework/extensions/animation-engine/modules/sticky-stack/sticky-stack.php:38

sc_gsap_flag

🔌 pluggable

sc_gsap_flag( $set = false )

Per-request flag: "at least one GSAP-animated shortcode has rendered". Gates the wp_footer enqueue so zero GSAP bytes ship on un-animated pages.

Source: framework/extensions/animation-engine/modules/scroll-motion/includes/scroll-motion-helpers.php:20

sc_gsap_used

🔌 pluggable

sc_gsap_used( $effect = null )

Records which GSAP effects rendered on this request, so wp_footer can load the heavier per-effect plugins (e.g. SplitText) ONLY when they're used.

Source: framework/extensions/animation-engine/modules/scroll-motion/includes/scroll-motion-helpers.php:33

sc_model_viewer_render

🔌 pluggable

sc_model_viewer_render( $atts )

Renders the model-viewer shortcode, resolving the 3D model source from a media pick or pasted URL.

Source: framework/extensions/animation-engine/shortcodes/model-viewer/views/view.php:21

sc_scroll_loop_flag

🔌 pluggable

sc_scroll_loop_flag( $set = false )

Per-request flag: "at least one loop section rendered". Gates the wp_footer enqueue so zero loop bytes ship on pages without a loop group.

Source: framework/extensions/animation-engine/modules/scroll-loop/includes/scroll-loop-helpers.php:111

sc_scroll_loop_snap_used

🔌 pluggable

sc_scroll_loop_snap_used( $set = false )

Per-request flag: "at least one loop section requested snapping". Gates loading the separate Lenis Snap build.

Source: framework/extensions/animation-engine/modules/scroll-loop/includes/scroll-loop-helpers.php:125

sc_seq_frames

🔌 pluggable

sc_seq_frames( $atts )

Resolve the ordered list of frame URLs from either source.

Source: framework/extensions/animation-engine/shortcodes/image-sequence/views/view.php:19

sc_svg_draw_color

🔌 pluggable

sc_svg_draw_color( $label, $kind, $default_hex, $desc = '' )

Returns a color option field (compact styling-tab picker or a plain color-picker fallback) for the SVG Draw options.

Source: framework/extensions/animation-engine/shortcodes/svg-draw/options.php:8

sc_svg_draw_preset

🔌 pluggable

sc_svg_draw_preset( $id )

Built-in stroke presets — single-colour outline art that draws cleanly.

Source: framework/extensions/animation-engine/shortcodes/svg-draw/views/view.php:58

sc_svg_draw_render

🔌 pluggable

sc_svg_draw_render( $atts )

Renders the SVG Draw shortcode from its atts, loading the SVG from preset, code, or a path-validated upload.

Source: framework/extensions/animation-engine/shortcodes/svg-draw/views/view.php:75

sc_svg_draw_sanitize

🔌 pluggable

sc_svg_draw_sanitize( $svg )

Sanitise user-supplied SVG markup before it is echoed inline.

Two-tier: authors who can post raw HTML (unfiltered_html) keep full control — they can already inject arbitrary markup site-wide, so gating them adds nothing. Everyone else (Author / Contributor) is run through a hardened allow-strip that removes every script-capable / remote-ref element AND all on* event handlers — crucially catching the <svg/onload=…> slash-separator form that a naïve \son… strip misses, plus scripted/data: URLs on any remaining ref attribute.

Source: framework/extensions/animation-engine/shortcodes/svg-draw/views/view.php:27

sc_svg_morph_color

🔌 pluggable

sc_svg_morph_color( $label, $kind, $default_hex, $desc = '' )

Returns a color option field (compact styling-tab picker or a plain color-picker fallback) for the SVG Morph options.

Source: framework/extensions/animation-engine/shortcodes/svg-morph/options.php:8

sc_svg_morph_extract_path

🔌 pluggable

sc_svg_morph_extract_path( $svg )

Extract the PRIMARY morphable path d from SVG markup: the longest <path> (a heuristic for the main outline), or a basic shape (circle / rect / polygon / polyline) converted to a path. Only a validated numeric d is ever returned — never the raw markup — so this is safe to echo. Complex multi-part art collapses to its largest single outline (morphing needs one shape).

Source: framework/extensions/animation-engine/shortcodes/svg-morph/views/view.php:63

sc_svg_morph_points_to_path

🔌 pluggable

sc_svg_morph_points_to_path( $pts, $close )

Curated morph SETS — an ordered sequence of shape keys the element cycles through. Chosen because each pair reads well as a morph. loopback closes the cycle (…→ last → first) for a seamless loop.

Source: framework/extensions/animation-engine/shortcodes/svg-morph/views/view.php:46

sc_svg_morph_render

🔌 pluggable

sc_svg_morph_render( $atts )

Renders the SVG Morph shortcode from its atts, collecting and sanitizing each shape's path and timing.

Source: framework/extensions/animation-engine/shortcodes/svg-morph/views/view.php:100

sc_svg_morph_shapes

🔌 pluggable

sc_svg_morph_shapes()

Built-in morph shapes — single closed paths in a 0–100 box. The runtime samples each into N points, so any of these can morph into any other. Keep each a SINGLE subpath (one M … Z): the sampler walks a continuous outline, so a multi-subpath shape would tear.

Source: framework/extensions/animation-engine/shortcodes/svg-morph/views/view.php:23

sc_webgl_object_render

🔌 pluggable

sc_webgl_object_render( $atts )

Renders the WebGL Object shortcode, resolving the style preset, image URL, and HEX colors for the Three.js config.

Source: framework/extensions/animation-engine/shortcodes/webgl-object/views/view.php:21

upw_ae_group_tiles

🔌 pluggable

upw_ae_group_tiles( $flat, $cats, $drop = array() )

Group a FLAT image-picker choices map into categories for the searchable "tabs" layout used by every module effect picker. The flat list stays the source of truth (a module just adds a new tile to it); categorisation is a thin map over it.

Any id not named in $cats (and not dropped) is appended to a final "More" group, so a newly-added effect is surfaced rather than silently lost.

ParameterTypeDescription
$flatarrayOrdered map of id => tile (as built by a module's tile helper).
$catsarrayOrdered map of group_key => array( 'label' => .., 'ids' => array( id, .. ) ).
$droparrayChoice ids to omit entirely (e.g. a redundant 'none' tile).

Returns array Grouped choices ( group_key => array( 'label' => .., 'choices' => array( id => tile ) ) ).

Source: framework/extensions/animation-engine/includes/theme-settings.php:50

upw_anim_asset_ver

🔌 pluggable

upw_anim_asset_ver( $ver, $abs )

Version + filemtime cache-buster for a file that exists (else the bare version).

Source: framework/extensions/animation-engine/includes/asset-loader.php:120

upw_anim_diagnose_post

🔌 pluggable

upw_anim_diagnose_post( $post_id )

Walks a post's page-builder tree and reports which animation-engine fields are active on each element.

Returns array { key: string|null, elements: [ { type, active: [ 'fid'=>value, … ], count } ], total_active, all_on_signature: bool }

Source: framework/extensions/animation-engine/includes/animation-diagnostics.php:60

upw_anim_diagnostics_render_page

🔌 pluggable

upw_anim_diagnostics_render_page()

Renders the animation diagnostics admin page, handling the per-post reset action.

Source: framework/extensions/animation-engine/includes/animation-diagnostics.php:145

upw_anim_engine_setting

🔌 pluggable

upw_anim_engine_setting( $key, $default = '' )

Read a global Animation Engine setting (theme-scoped). Modules use this to honour the engine's global policy (e.g. reduced motion, disable-on-mobile).

ParameterTypeDescription
$keystringLeaf id inside the animation_engine multi (e.g. 'respect_reduced_motion').
$defaultmixedReturned when unset.

Returns mixed

Source: framework/extensions/animation-engine/includes/theme-settings.php:200

upw_anim_engine_settings_section

🔌 pluggable

upw_anim_engine_settings_section()

The "Animations" nav section: a box → group of global engine options, plus a per-module area. Returns the section keyed animation_engine_container.

Source: framework/extensions/animation-engine/includes/theme-settings.php:86

upw_anim_field_defs

🔌 pluggable

upw_anim_field_defs()

picker id + off value per animation field, from the live field definitions. Cached per request.

Source: framework/extensions/animation-engine/includes/animation-diagnostics.php:20

upw_anim_pb_key

🔌 pluggable

upw_anim_pb_key()

The page-builder option key (for fw_get_db_post_option / fw_set_db_post_option).

Source: framework/extensions/animation-engine/includes/animation-diagnostics.php:43

upw_anim_raf_handle

🔌 pluggable

upw_anim_raf_handle()

Register + enqueue the shared frame scheduler (static/js/upw-raf.js) once per request and return its handle, so modules whose JS uses window.upwAnimRaf can depend on it. One rAF loop drives every subscribed animation and pauses while the tab is hidden.

Source: framework/extensions/animation-engine/includes/asset-loader.php:83

upw_anim_register_assets

🔌 pluggable

upw_anim_register_assets( $module, $args )

Declare a module's on-demand asset layout (call once, at module load).

Source: framework/extensions/animation-engine/includes/asset-loader.php:48

upw_anim_reset_post

🔌 pluggable

upw_anim_reset_post( $post_id )

Reset EVERY element's animation values to their off/none default. Returns count of atts reset.

Source: framework/extensions/animation-engine/includes/animation-diagnostics.php:98

upw_anim_slider

🔌 pluggable

upw_anim_slider( $label, $val, $min, $max, $step, $desc = '' )

A slider option field: value + min/max/step, plus an optional description.

Returns array Unyson option definition.

Source: framework/extensions/animation-engine/includes/module-helpers.php:20

upw_anim_use_asset

🔌 pluggable

upw_anim_use_asset( $module, $style )

Record that $module used $style on this request → its partial(s) get enqueued.

Source: framework/extensions/animation-engine/includes/asset-loader.php:101

upw_anim_used_styles

🔌 pluggable

upw_anim_used_styles( $module )

The distinct styles a module emitted this request (for tests / conditionals).

Source: framework/extensions/animation-engine/includes/asset-loader.php:112

upw_bg_color_field

🔌 pluggable

upw_bg_color_field( $label, $kind, $default_hex, $desc = '' )

Builds a background-effect color-picker field, delegating to the shared color helper when available.

Source: framework/extensions/animation-engine/modules/backgrounds/includes/backgrounds-helpers.php:48

upw_bg_containers

🔌 pluggable

upw_bg_containers()

Shortcode tags that get the Background Effect option.

Source: framework/extensions/animation-engine/modules/backgrounds/includes/backgrounds-helpers.php:41

upw_bg_css_color

🔌 pluggable

upw_bg_css_color( $val, $fallback )

Resolve a preset/custom color to a CSS string (var() for presets, live-linked).

Source: framework/extensions/animation-engine/modules/backgrounds/includes/backgrounds-helpers.php:60

upw_bg_effects

🔌 pluggable

upw_bg_effects()

Returns the list of available background effect ids.

Source: framework/extensions/animation-engine/modules/backgrounds/includes/backgrounds-helpers.php:26

upw_bg_enabled

🔌 pluggable

upw_bg_enabled()

Animation Engine — Animated Backgrounds module: helpers.

Setting reader, the enable flag / used flag, the effect + container registries, and the color field / color-resolver helpers. Loaded first by backgrounds.php (the settings + render parts depend on these). All wrapped in function_exists guards.

Source: framework/extensions/animation-engine/modules/backgrounds/includes/backgrounds-helpers.php:14

upw_bg_hex

🔌 pluggable

upw_bg_hex( $val, $fallback )

Resolve a preset/custom color to a real hex (canvas can't use var()).

Source: framework/extensions/animation-engine/modules/backgrounds/includes/backgrounds-helpers.php:71

upw_color_field

🔌 pluggable

upw_color_field( $label, $kind = 'bg', $default_hex = '', $desc = '' )

Build a color option using the shortcodes Styling-tab preset selector (predefined-colors-color-picker-compact) instead of a raw color-picker, so element colors stay tied to the theme palette. Falls back to a plain color-picker if the helper isn't available (engine without shortcodes).

Source: framework/extensions/animation-engine/modules/hover/includes/hover-helpers.php:47

upw_color_shift_enabled

🔌 pluggable

upw_color_shift_enabled()

Global master switch — the single choke point (defaults to enabled, like every other module).

Source: framework/extensions/animation-engine/modules/scroll-color-shift/scroll-color-shift.php:35

upw_color_shift_flag

🔌 pluggable

upw_color_shift_flag( $set = false )

Tracks (and optionally sets) whether the Scroll Color Shift feature was used on the current request.

Source: framework/extensions/animation-engine/modules/scroll-color-shift/scroll-color-shift.php:47

upw_confetti_enabled

🔌 pluggable

upw_confetti_enabled()

Animation Engine — Confetti module.

Fires a celebratory particle burst from an element on a trigger (scroll-into-view, click, page load or hover) — confetti, stars, fireworks, streamers, hearts or snow. Per-element (attaches from the Animations tab). One shared full-viewport <canvas> renders every burst; pure Canvas 2D, no library. Honours "reduce motion" (no burst) and loads only on pages that use it.

Saved value shape (multi-picker, picker id style): [ 'style' => 'none'|'<style>', '<style>' => [ trigger, count, spread, power, duration, palette, replay ] ]

Source: framework/extensions/animation-engine/modules/confetti/confetti.php:18

upw_confetti_palettes

🔌 pluggable

upw_confetti_palettes()

Valid palette keys (shared by the select + the wrapper-filter validation).

Source: framework/extensions/animation-engine/modules/confetti/confetti.php:80

upw_confetti_style_groups

🔌 pluggable

upw_confetti_style_groups()

Group label => ordered style keys — organises the picker into tabs.

Source: framework/extensions/animation-engine/modules/confetti/confetti.php:68

upw_confetti_styles

🔌 pluggable

upw_confetti_styles()

Flat key => label of EVERY style — the source of truth for validation + the one runtime.

Source: framework/extensions/animation-engine/modules/confetti/confetti.php:30

upw_cs_resolve_color

🔌 pluggable

upw_cs_resolve_color( $val )

Animation Engine — Scroll Color Shift module (Section-level).

Give each Section a target background (and optional text) colour; as the visitor scrolls, the PAGE background smoothly morphs from one section's colour to the next — the agency-site "scroll colour shift". Section-only (injected into the Section's Animations tab, like Scroll Loop / Sticky Stack). One passive, rAF-throttled scroll check picks the section crossing the viewport middle and transitions body colours. No library. Loads only on pages that use it.

Saved value shape (multi-picker, picker id mode): [ 'mode' => 'off'|'shift', 'shift' => [ bg_color, text_color, duration ] ]

Best on full-bleed, transparent sections (so the morphing page colour shows through).

Source: framework/extensions/animation-engine/modules/scroll-color-shift/scroll-color-shift.php:21

upw_cursor_font_props

🔌 pluggable

upw_cursor_font_props( $wf )

A typography-v2 value → JS style props, and enqueue its Google font if one is chosen. Shared by the Word Trail and Contextual Label styles.

Source: framework/extensions/animation-engine/modules/cursor/includes/cursor-helpers.php:83

upw_cursor_setting

🔌 pluggable

upw_cursor_setting( $key, $default = '' )

Read a Cursor setting from the theme-scoped animation_cursor bucket.

Source: framework/extensions/animation-engine/modules/cursor/includes/cursor-helpers.php:15

upw_cursor_styles

🔌 pluggable

upw_cursor_styles()

style-id => label. Single source of truth for the picker + validation.

Source: framework/extensions/animation-engine/modules/cursor/includes/cursor-helpers.php:29

upw_effects_recursive_unset

🔌 pluggable

upw_effects_recursive_unset( &$arr, $key )

Recursively removes every occurrence of a given key from a nested array, by reference.

Source: framework/extensions/animation-engine/includes/effects-control.php:51

upw_flip_card_enabled

🔌 pluggable

upw_flip_card_enabled()

Returns whether the Flip Card module is enabled in Theme Settings (defaults to enabled).

Source: framework/extensions/animation-engine/modules/flip-card/includes/flip-card-helpers.php:30

upw_flip_card_flag

🔌 pluggable

upw_flip_card_flag( $set = false )

Static used-flag for Flip Card; sets it when passed true and returns whether the module was used on the page.

Source: framework/extensions/animation-engine/modules/flip-card/includes/flip-card-helpers.php:42

upw_flip_card_options

🔌 pluggable

upw_flip_card_options()

The shared settings group revealed under every flip style.

Source: framework/extensions/animation-engine/modules/flip-card/includes/flip-card-helpers.php:67

upw_flip_card_styles

🔌 pluggable

upw_flip_card_styles()

Animation Engine — 3D Flip Card module: helpers.

The setting reader (upw_flip_card_enabled), the used-on-this-page flag (upw_flip_card_flag), the flip-style registry (upw_flip_card_styles), the color resolver (upw_flip_resolve_color), and the shared back-face options group (upw_flip_card_options). Loaded first — the settings + render parts depend on it.

Source: framework/extensions/animation-engine/modules/flip-card/includes/flip-card-helpers.php:15

upw_flip_resolve_color

🔌 pluggable

upw_flip_resolve_color( $val )

Resolve a color value (compact-color array or legacy string) to a CSS color.

Source: framework/extensions/animation-engine/modules/flip-card/includes/flip-card-helpers.php:53

upw_get_color_shift_fields

🔌 pluggable

upw_get_color_shift_fields()

The Scroll Color Shift control (a compact popover multi-picker).

Source: framework/extensions/animation-engine/modules/scroll-color-shift/scroll-color-shift.php:58

upw_gsap_critical_css

🔌 pluggable

upw_gsap_critical_css()

Prints the tiny in-head critical CSS that hides .upw-g-pending GSAP entrance elements to prevent FOUC.

Source: framework/extensions/animation-engine/modules/scroll-motion/includes/scroll-motion-render.php:58

upw_gsap_effects

🔌 pluggable

upw_gsap_effects()

Canonical Scroll-Motion effect list — the SINGLE source of truth for the effect KEYS + labels. The picker tiles (settings.php) and the render-time allow-list (render.php) both derive from this, so those two can never drift again (the drift is what shipped the data-upw-g-each stagger bug). The tile SVG slug is the key with _ -> -. NOTE: the JS BUILDERS map (upw-gsap.js) implements each key and must carry the SAME keys (it can't share a PHP literal) — keep it in step. custom (the code snippet) is handled separately (own tile + gated runtime), so it is NOT listed here.

Returns array&lt;string,string&gt; key => translated label, in tile order.

Source: framework/extensions/animation-engine/modules/scroll-motion/includes/scroll-motion-helpers.php:51

upw_gsap_snippets_gate

🔌 pluggable

upw_gsap_snippets_gate()

Emits the window.upwSnippetsOK flag in the footer only when the singular's author and last editor both have unfiltered_html.

Source: framework/extensions/animation-engine/modules/scroll-motion/includes/scroll-motion-render.php:29

upw_hover_apply_instances

🔌 pluggable

upw_hover_apply_instances( $attr, $instances )

Applies hover effect instances onto a wrapper's attr array, adding classes, data-hover-* attrs, CSS vars, and asset records.

Source: framework/extensions/animation-engine/modules/hover/includes/hover-render.php:25

upw_hover_collection_item_attr

🔌 pluggable

upw_hover_collection_item_attr( $atts )

Builds the hover-effect attr array for a single collection item, or empty if hover is disabled or has no instances.

Source: framework/extensions/animation-engine/modules/hover/includes/hover-render.php:365

upw_hover_color

🔌 pluggable

upw_hover_color( $val )

Resolve a preset-or-custom color value (from upw_color_field) to a CSS color string: a preset → var(--color-{slug}) (live-linked to Theme Settings); a custom color → its hex; a legacy plain string → passed through.

Source: framework/extensions/animation-engine/modules/hover/includes/hover-helpers.php:70

upw_hover_effects

🔌 pluggable

upw_hover_effects()

The valid hover-effect ids — single source of truth for emit + wrapper checks.

Source: framework/extensions/animation-engine/modules/hover/includes/hover-helpers.php:28

upw_hover_enabled

🔌 pluggable

upw_hover_enabled()

Global master switch (Theme Settings → Animations → Interactions).

Source: framework/extensions/animation-engine/modules/hover/includes/hover-helpers.php:16

upw_hover_instances

🔌 pluggable

upw_hover_instances( $atts )

Collect every hover instance saved on an element — the base interaction plus any interaction__N slots (multi-instance). Returns a list of [ 'effect' => key, 'settings' => array ] for the active ones only, so a user can combine several hover effects (Lift + Ripple, …) on one element.

Source: framework/extensions/animation-engine/modules/hover/includes/hover-helpers.php:98

upw_hover_scope

🔌 pluggable

upw_hover_scope( $atts )

Hover target scope for an element: 'each' (per-item, only the hovered card reacts) or 'whole'. Defaults to 'each' so collections light up per card. Meaningful only on collection elements.

ParameterTypeDescription
$attsarray

Returns string 'each'|'whole'

Source: framework/extensions/animation-engine/modules/hover/includes/hover-render.php:354

upw_hscroll_enabled

🔌 pluggable

upw_hscroll_enabled()

Returns whether the Horizontal Scroll module is enabled in Theme Settings (defaults to enabled).

Source: framework/extensions/animation-engine/modules/horizontal-scroll/horizontal-scroll.php:22

upw_hscroll_styles

🔌 pluggable

upw_hscroll_styles()

The valid horizontal-scroll style keys (shared by the wrapper filter + needs-wrapper).

Source: framework/extensions/animation-engine/modules/horizontal-scroll/horizontal-scroll.php:34

upw_marquee_enabled

🔌 pluggable

upw_marquee_enabled()

Animation Engine — Marquee module: helpers.

The enabled-state reader, the per-page "used" flag, and the slider field factory. Loaded first by marquee.php (the settings + render parts depend on these). All wrapped in function_exists guards for partial-upgrade double-load safety.

Source: framework/extensions/animation-engine/modules/marquee/includes/marquee-helpers.php:14

upw_marquee_flag

🔌 pluggable

upw_marquee_flag( $set = false )

Static used-flag for Marquee; sets it when passed true and returns whether the module was used on the page.

Source: framework/extensions/animation-engine/modules/marquee/includes/marquee-helpers.php:26

upw_model_content_ok

🔌 pluggable

upw_model_content_ok( $ext, $file )

Cheap content sanity-check before we override WordPress's finfo veto — so the bypass only ever applies to a file that really is a glTF model, not anything that merely ends in .glb/.gltf. - .glb → binary glTF; the first 4 bytes are the magic "glTF" (0x676C5446). - .gltf → a JSON document; the first non-whitespace byte must be "{".

Source: framework/extensions/animation-engine/includes/glb-upload.php:38

upw_motion_path_all_modes

🔌 pluggable

upw_motion_path_all_modes()

Returns all motion-path mode keys — the shape preset keys plus 'custom'.

Source: framework/extensions/animation-engine/modules/motion-path/includes/motion-path-helpers.php:97

upw_motion_path_enabled

🔌 pluggable

upw_motion_path_enabled()

Animation Engine — Motion Path module: helpers.

The global master-switch reader, the per-request used-flag path, and the preset path library (each entry is a normalized SVG d in a 0..100 box + a viewBox). Loaded first by motion-path.php — the settings + render parts depend on these. All function_exists-guarded.

Source: framework/extensions/animation-engine/modules/motion-path/includes/motion-path-helpers.php:14

upw_motion_path_presets

🔌 pluggable

upw_motion_path_presets()

The built-in path shapes. Each d lives in a normalized 0..100 × 0..100 box; the runtime scales it to the element's chosen Path size (px) and moves the element RELATIVE to its first point, so it starts at its natural layout position and travels the shape from there.

Returns array&lt;string,array&#123;label:string,d:string&#125;&gt;

Source: framework/extensions/animation-engine/modules/motion-path/includes/motion-path-helpers.php:32

upw_motion_path_shape_keys

🔌 pluggable

upw_motion_path_shape_keys()

Returns the keys of the built-in motion-path shape presets.

Source: framework/extensions/animation-engine/modules/motion-path/includes/motion-path-helpers.php:90

upw_motion_sequence_enabled

🔌 pluggable

upw_motion_sequence_enabled()

Returns whether the Motion Sequence module is enabled in Theme Settings (defaults to enabled).

Source: framework/extensions/animation-engine/modules/motion-sequence/motion-sequence.php:23

upw_mq_slider

🔌 pluggable

upw_mq_slider( $label, $val, $min, $max, $step, $desc = '' )

Builds a marquee slider option field by delegating to the shared upw_anim_slider builder.

Source: framework/extensions/animation-engine/modules/marquee/includes/marquee-helpers.php:37

upw_parallax_enabled

🔌 pluggable

upw_parallax_enabled()

Animation Engine — Parallax module: helpers.

The enable reader, the per-page usage flag, and the slider / switch field builders shared by the settings and render parts. Loaded first by parallax.php (the settings + render parts depend on these). All wrapped in function_exists guards.

Source: framework/extensions/animation-engine/modules/parallax/includes/parallax-helpers.php:14

upw_parallax_flag

🔌 pluggable

upw_parallax_flag( $set = false )

Static used-flag for Parallax; sets it when passed true and returns whether the module was used on the page.

Source: framework/extensions/animation-engine/modules/parallax/includes/parallax-helpers.php:26

upw_perf_note

🔌 pluggable

upw_perf_note( $scope = 'page' )

Shared "only loads when used" reassurance, surfaced on the animation pickers so users see — at the point of choice — that the engine won't bloat their pages. Kept HONEST: the runtime is enqueued per-PAGE (not per-effect — one file carries a category's effects, and shared libraries like GSAP load for any effect), so the accurate promise is "loads only on pages that use it", not "only the selected one".

ParameterTypeDescription
$scopestring'page' (per-element effects) | 'site' (site-wide, e.g. cursor)

Source: framework/extensions/animation-engine/includes/theme-settings.php:29

upw_phys_slider

🔌 pluggable

upw_phys_slider( $label, $val, $min, $max, $step, $desc = '' )

Builds a physics slider option field by delegating to the shared upw_anim_slider builder.

Source: framework/extensions/animation-engine/modules/physics/includes/physics-helpers.php:40

upw_phys_trigger

🔌 pluggable

upw_phys_trigger( $default = 'hover' )

Returns a select option field for the physics trigger (hover or click/tap), with the given default.

Source: framework/extensions/animation-engine/modules/physics/includes/physics-helpers.php:46

upw_physics_effects

🔌 pluggable

upw_physics_effects()

Valid physics-effect ids — single source of truth for emit + wrapper checks.

Source: framework/extensions/animation-engine/modules/physics/includes/physics-helpers.php:27

upw_physics_enabled

🔌 pluggable

upw_physics_enabled()

Animation Engine — Physics module: helpers.

The setting reader (upw_physics_enabled), the effect-id registry (upw_physics_effects) — the single source of truth for emit + wrapper checks — and the small option-builders (upw_phys_slider / upw_phys_trigger) that keep the choices array readable. Loaded FIRST; the settings + render parts depend on these.

Source: framework/extensions/animation-engine/modules/physics/includes/physics-helpers.php:15

upw_preloader_enabled

🔌 pluggable

upw_preloader_enabled()

Returns whether the site preloader is enabled in its settings.

Source: framework/extensions/animation-engine/modules/preloader/includes/preloader-helpers.php:105

upw_preloader_inner

🔌 pluggable

upw_preloader_inner( $style, $has_logo )

The animator markup for a preloader style (built into the overlay).

Source: framework/extensions/animation-engine/modules/preloader/includes/preloader-helpers.php:38

upw_preloader_settings

🔌 pluggable

upw_preloader_settings()

Resolve + cache the preloader settings for this request.

Source: framework/extensions/animation-engine/modules/preloader/includes/preloader-helpers.php:63

upw_preloader_style_opt

🔌 pluggable

upw_preloader_style_opt( $key, $default = null )

Read a per-style option for the CURRENT style from the preloader_style multi-picker reveal. Future preloader styles that ship their own options (declared in the style's choices reveal group) read them through this — e.g. upw_preloader_style_opt( 'count', 5 ).

Source: framework/extensions/animation-engine/modules/preloader/includes/preloader-helpers.php:117

upw_preloader_styles

🔌 pluggable

upw_preloader_styles()

Animation Engine — Preloader module: helpers.

The style registry, the per-style animator markup, the request-cached settings reader, the enabled flag and the per-style option reader. Loaded first by preloader.php (the settings + render parts depend on these). All wrapped in function_exists guards.

Source: framework/extensions/animation-engine/modules/preloader/includes/preloader-helpers.php:14

upw_prlx_slider

🔌 pluggable

upw_prlx_slider( $label, $val, $min, $max, $step, $desc = '' )

Builds a parallax slider option field by delegating to the shared upw_anim_slider builder.

Source: framework/extensions/animation-engine/modules/parallax/includes/parallax-helpers.php:37

upw_prlx_switch

🔌 pluggable

upw_prlx_switch( $label, $desc = '', $default_yes = false )

Returns a parallax on/off switch option field with the given label, description, and default.

Source: framework/extensions/animation-engine/modules/parallax/includes/parallax-helpers.php:43

upw_pt_enabled

🔌 pluggable

upw_pt_enabled()

Returns whether page transitions are enabled and not in the admin.

Source: framework/extensions/animation-engine/modules/page-transitions/includes/page-transitions-helpers.php:29

upw_pt_resolve

🔌 pluggable

upw_pt_resolve()

Read the transition multi-picker into a normalized [ type, dir, count, total ].

Source: framework/extensions/animation-engine/modules/page-transitions/includes/page-transitions-helpers.php:47

upw_pt_setting

🔌 pluggable

upw_pt_setting( $key, $default = '' )

Animation Engine — Page Transitions module: helpers.

Setting reader, the transition-type registry, and the multi-picker resolver (single source of truth for the picker + the runtime's normalized [ type, dir, count, total ]). Loaded first by page-transitions.php (the settings + enqueue parts depend on these). All wrapped in function_exists guards.

Source: framework/extensions/animation-engine/modules/page-transitions/includes/page-transitions-helpers.php:15

upw_pt_types

🔌 pluggable

upw_pt_types()

Returns the list of valid page-transition type keys.

Source: framework/extensions/animation-engine/modules/page-transitions/includes/page-transitions-helpers.php:36

upw_scroll_enabled

🔌 pluggable

upw_scroll_enabled()

Returns whether the Scroll Motion module is enabled in Theme Settings (defaults to enabled).

Source: framework/extensions/animation-engine/includes/effects-control.php:26

upw_scroll_loop_enabled

🔌 pluggable

upw_scroll_loop_enabled()

Returns whether the Infinite Scroll Loop module is enabled in Theme Settings (defaults to enabled).

Source: framework/extensions/animation-engine/includes/effects-control.php:39

upw_scroll_reveal_enabled

🔌 pluggable

upw_scroll_reveal_enabled()

Animation Engine — Scroll Reveal module: helpers.

The global master-switch reader and the per-request used-flag (gates the footer enqueue). Loaded first by scroll-reveal.php — the settings + render parts depend on these. All wrapped in function_exists guards.

Source: framework/extensions/animation-engine/modules/scroll-reveal/includes/scroll-reveal-helpers.php:14

upw_scroll_text_highlight_enabled

🔌 pluggable

upw_scroll_text_highlight_enabled()

Animation Engine — Scroll Text Highlight module.

Reveals an element's words one-by-one as it scrolls through the viewport (the "scrollytelling" read): each word goes from muted to full as the reader scrolls past it. Four styles — fill (colour), fade (opacity), blur (blur→sharp) and marker (highlighter sweep). Per-element (attaches from the Animations tab). The runtime splits the text into word/char spans and scrubs an .is-on class from a passive, rAF-throttled scroll check — no library. Assets load only on pages that use it. Global on/off: Theme Settings → Animations → Effects.

Saved value shape (multi-picker, picker id mode): [ 'mode' => 'off'|'<style>', '<style>' => [ split, active_color, duration, once ] ]

Source: framework/extensions/animation-engine/modules/scroll-text-highlight/scroll-text-highlight.php:20

upw_scroll_var_enabled

🔌 pluggable

upw_scroll_var_enabled()

Returns whether the Scroll Variable module is enabled in Theme Settings (defaults to enabled).

Source: framework/extensions/animation-engine/modules/scroll-var/scroll-var.php:23

upw_scroll_var_options

🔌 pluggable

upw_scroll_var_options()

The revealed options behind the tile (shared by the single on mode).

Source: framework/extensions/animation-engine/modules/scroll-var/scroll-var.php:48

upw_scroll_var_sanitize_name

🔌 pluggable

upw_scroll_var_sanitize_name( $name )

Sanitize a user string into a valid CSS custom-property name, forcing a leading --.

Source: framework/extensions/animation-engine/modules/scroll-var/scroll-var.php:35

upw_scrollprog_enabled

🔌 pluggable

upw_scrollprog_enabled()

Animation Engine — Scroll Progress module.

A site-wide reading-progress indicator with 16 styles — bars (solid/gradient/glow/segmented/ pill/labelled/under-nav/liquid), a side edge bar, corner ring / ring-with-number / gauge / battery, a %-counter or reading-time chip, and section scroll-spy dots. Tiny self-contained JS/CSS, enqueued site-wide only when enabled. Configured in Theme Settings → Animations → Scroll Progress (its own tab — a page-level indicator, not a per-element effect).

Source: framework/extensions/animation-engine/modules/scroll-progress/scroll-progress.php:16

upw_scrollytelling_directional

🔌 pluggable

upw_scrollytelling_directional()

Styles that expose a Direction sub-option (up / down / left / right).

Source: framework/extensions/animation-engine/modules/scrollytelling/includes/scrollytelling-helpers.php:68

upw_scrollytelling_enabled

🔌 pluggable

upw_scrollytelling_enabled()

Animation Engine — Scrollytelling module: helpers.

Global master-switch reader, per-request used-flag, and the style registry (single source of truth for the picker + the wrapper checks). Loaded first by scrollytelling.php. All wrapped in function_exists guards.

Source: framework/extensions/animation-engine/modules/scrollytelling/includes/scrollytelling-helpers.php:14

upw_scrollytelling_style_keys

🔌 pluggable

upw_scrollytelling_style_keys()

Returns the keys of the available scrollytelling styles.

Source: framework/extensions/animation-engine/modules/scrollytelling/includes/scrollytelling-helpers.php:75

upw_scrollytelling_styles

🔌 pluggable

upw_scrollytelling_styles()

The valid style keys (label registry) — shared by the picker + the wrapper filter.

Source: framework/extensions/animation-engine/modules/scrollytelling/includes/scrollytelling-helpers.php:26

upw_skf_enabled

🔌 pluggable

upw_skf_enabled()

Global master switch (defaults to enabled, like every other module).

Source: framework/extensions/animation-engine/modules/scroll-keyframes/scroll-keyframes.php:28

upw_skf_flag

🔌 pluggable

upw_skf_flag( $set = false )

Static used-flag for Scroll Keyframes; sets it when passed true and returns whether the module was used on the page.

Source: framework/extensions/animation-engine/modules/scroll-keyframes/scroll-keyframes.php:40

upw_smoothscroll_enabled

🔌 pluggable

upw_smoothscroll_enabled()

Returns whether smooth scrolling is enabled in Theme Settings (defaults to off).

Source: framework/extensions/animation-engine/modules/smooth-scroll/smooth-scroll.php:22

upw_sp_color

🔌 pluggable

upw_sp_color( $default_hex, $label = null )

Returns a compact color option field for the scroll-progress bar, defaulting to the given hex.

Source: framework/extensions/animation-engine/modules/scroll-progress/scroll-progress.php:27

upw_sth_resolve_color

🔌 pluggable

upw_sth_resolve_color( $val )

Resolve a compact-color value (array or legacy string) to a CSS color.

Source: framework/extensions/animation-engine/modules/scroll-text-highlight/scroll-text-highlight.php:60

upw_sth_styles

🔌 pluggable

upw_sth_styles()

Returns the map of scroll-text-highlight style keys to their translated labels.

Source: framework/extensions/animation-engine/modules/scroll-text-highlight/scroll-text-highlight.php:32

upw_sticky_stack_enabled

🔌 pluggable

upw_sticky_stack_enabled()

Returns whether the Sticky Card Stack module is enabled in Theme Settings (defaults to enabled).

Source: framework/extensions/animation-engine/modules/sticky-stack/sticky-stack.php:23

upw_sticky_stack_styles

🔌 pluggable

upw_sticky_stack_styles()

The valid style keys (shared by the wrapper filter + needs-wrapper).

Source: framework/extensions/animation-engine/modules/sticky-stack/sticky-stack.php:122

upw_text_color

🔌 pluggable

upw_text_color( $val, $fallback = '' )

Resolve a preset-or-custom color to a CSS string (reuses the hover resolver).

Source: framework/extensions/animation-engine/modules/text-effects/includes/text-effects-helpers.php:57

upw_text_color_field

🔌 pluggable

upw_text_color_field( $label, $kind = 'text', $default_hex = '', $desc = '' )

A palette-preset color field, reusing the hover module's helper when present.

Source: framework/extensions/animation-engine/modules/text-effects/includes/text-effects-helpers.php:45

upw_text_effects

🔌 pluggable

upw_text_effects()

The valid text-effect ids — single source of truth for emit + wrapper checks.

Source: framework/extensions/animation-engine/modules/text-effects/includes/text-effects-helpers.php:28

upw_text_enabled

🔌 pluggable

upw_text_enabled()

Global master switch (Theme Settings → Animations → Text).

Source: framework/extensions/animation-engine/modules/text-effects/includes/text-effects-helpers.php:16

upw_text_trigger_list

🔌 pluggable

upw_text_trigger_list( $raw )

Normalise a multi-select trigger value (array of view/load/click/hover, or a legacy scalar, or empty) into a space-separated list for data-text-trigger. Shared by every one-shot effect whose trigger is the multi image-picker (reveal family, scramble, typewriter, countup, splitflap, matrix). Defaults to 'view'.

Source: framework/extensions/animation-engine/modules/text-effects/includes/text-effects-render.php:24

upw_viewport_units_enabled

🔌 pluggable

upw_viewport_units_enabled()

Animation Engine — Viewport Units module.

Publishes STABLE viewport-unit CSS custom properties site-wide on document.documentElement: --vh = innerHeight/100 (px) and --vw = innerWidth/100 (px). Updated on resize + orientationchange only (never on scroll), so mobile viewport units don't jump when the address bar shows/hides. Use them in custom CSS as calc(var(--vh) * 100) for a jump-free 100vh, or var(--vw) for fluid sizing. Tiny dependency-free JS, enqueued site-wide only when enabled. Configured in Theme Settings → Animations → Viewport Units.

Source: framework/extensions/animation-engine/modules/viewport-units/viewport-units.php:18

← Back to Functions overview