What problem does it solve? Creating animated GIFs that fit Slack's strict file size limits (2MB for messages, 64KB for emoji) requires tedious manual tuning of frames, colors, and dimensions, which this toolkit automates with built-in validators and animation primitives. ## Core Features & Use Cases - Slack Constraint Validators: Check file size, dimensions, and overall Slack-readiness for both message GIFs and emoji GIFs before uploading. - Composable Animation Primitives: Generate motion effects like shake, bounce, spin, pulse, fade, zoom, explode, wiggle, slide, flip, morph, and kaleidoscope from reusable Python functions. - Helper Utilities: Assemble and optimize GIFs with GIFBuilder, render outlined text, apply professional color palettes, add particle effects, and use easing functions for smooth motion. - Use Case: When a teammate asks for a custom emoji reaction GIF, generate a 128x128 pulsing emoji animation with 12 frames and 40 colors, then validate it stays under the 64KB limit before uploading to Slack. ## Quick Start Create a Slack emoji GIF of a bouncing soccer ball and validate that it meets the 64KB emoji size limit.