All skills
dylantarre avatar

/technical-constraints

@747c656

Use when animation is limited by browser support, platform capabilities, or technical requirements

Use this Skill: https://skilld.dev/gh/dylantarre/animation-principles/technical-constraints

This session only. Nothing lands on disk.

SKILL.md

≈30 tokens always: the name and description. ≈631 when used: this file.

Technical Constraints

Work within platform limitations while preserving animation intent.

Problem Indicators

  • Animation doesn't work on target browsers
  • Mobile devices can't handle animation
  • Framework limitations block implementation
  • File size constraints (Lottie, sprites)
  • Email/constrained environment needs

Diagnosis by Principle

Straight Ahead vs Pose-to-Pose

Issue: Runtime calculations too expensive Fix: Pre-calculate animations. Use CSS keyframes (pose-to-pose) over JS frame-by-frame (straight ahead).

Solid Drawing

Issue: Complex shapes cause rendering issues Fix: Simplify geometry. Use CSS shapes over SVG paths. Reduce polygon counts in 3D.

Timing

Issue: Consistent timing across devices Fix: Use relative units. Test on slowest target device. Consider requestAnimationFrame for JS.

Secondary Action

Issue: Budget only allows essential animation Fix: Prioritize primary actions. Cut secondary animations first when constrained.

Staging

Issue: Limited screen real estate Fix: Animate in place. Use transforms that don't affect layout. Consider reduce-motion as default on constrained platforms.

Quick Fixes

  1. Use CSS over JavaScript - Better browser optimization
  2. Progressive enhancement - Core function works without animation
  3. Feature detection - Check capability before animating
  4. Fallback states - Static alternative for unsupported browsers
  5. Lazy load animation libraries - Don't block initial render

Troubleshooting Checklist

  • List target browsers/devices
  • Check caniuse.com for feature support
  • Test on oldest supported browser
  • Measure animation impact on bundle size
  • Verify fallback experience is acceptable
  • Test with animation disabled
  • Check framework animation capabilities
  • Consider server-rendered alternatives (GIF, video)

Code Pattern

// Feature detection
const supportsAnimation =
  'animate' in Element.prototype &&
  CSS.supports('transform', 'translateZ(0)');

if (supportsAnimation) {
  element.animate(keyframes, options);
} else {
  element.classList.add('final-state');
}

// Progressive enhancement
@supports (animation: name) {
  .element {
    animation: fadeIn 200ms ease-out;
  }
}

Platform-Specific Tips

  • Email: Use GIF or static images
  • iOS Safari: Test -webkit- prefixes
  • Older Android: Reduce animation complexity
  • Low-end devices: Use prefers-reduced-motion as proxy

Source: SKILL.md on GitHub

No alerts15d5 checks · Risk SAFE
  • Gen Agent Trust Hub15d

    This skill is a technical reference guide for animation constraints in web development, containing only documentation and non-executable code snippets for educational purposes.

  • Socket15d

    No alerts

  • Snyk15d

    Risk: LOW · No issues

  • Runlayer7mo

    1 file scanned · No issues

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 747c656. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 months ago.

Dormantupdated 9 months ago

README badge

README badge for dylantarre/animation-principles/technical-constraints