back to home

soufianekhiat / ImAnim

Animation Engine for Dear ImGui

649 stars
27 forks
3 issues
C++

AI Architecture Analysis

This repository is indexed by RepoMind. By analyzing soufianekhiat/ImAnim in our AI interface, you can instantly generate complete architecture diagrams, visualize control flows, and perform automated security audits across the entire codebase.

Our Agentic Context Augmented Generation (Agentic CAG) engine loads full source files into context on-demand, avoiding the fragmentation of traditional RAG systems. Ask questions about the architecture, dependencies, or specific features to see it in action.

Source files are only loaded when you start an analysis to optimize performance.

Embed this Badge

Showcase RepoMind's analysis directly in your repository's README.

[![Analyzed by RepoMind](https://img.shields.io/badge/Analyzed%20by-RepoMind-4F46E5?style=for-the-badge)](https://repomind.in/repo/soufianekhiat/ImAnim)
Preview:Analyzed by RepoMind

Repository Overview (README excerpt)

Crawler view

ImAnim **Animation Engine for Dear ImGui** ImAnim brings modern animation capabilities to ImGui applications. Write smooth UI animations with minimal code. Version 1.0.0 - First Official Release This is the first stable release of ImAnim, featuring a complete animation toolkit for Dear ImGui. Why ImAnim? • **Immediate-mode friendly** - Works naturally with ImGui's paradigm • **Zero dependencies** - Only requires Dear ImGui • **Large easing collection** - 30+ easing functions including spring physics • **Perceptual color blending** - OKLAB and OKLCH • **Responsive layouts** - Anchor-relative animations that survive window resizing Features at a Glance | Category | Capabilities | |----------|-------------| | **Tweens** | Float, Vec2, Vec4, Int, Color with crossfade/cut/queue policies | | **Clips** | Timeline keyframes, looping, callbacks, chaining, stagger, variations | | **Easing** | Quad to Bounce presets, cubic-bezier, steps, spring physics, per-axis | | **Paths** | Bezier curves, Catmull-Rom splines, path morphing, text along paths | | **Transforms** | Position, rotation, scale with rotation modes | | **Procedural** | Oscillators, shake, wiggle, Perlin/Simplex noise | | **Colors** | Gradients, style interpolation, OKLAB/OKLCH blending | | **Advanced** | Layering/blending, resolved tweens, drag feedback, scroll animation | | **Tools** | Debug inspector, profiler, save/load, memory management | Quick Integration **Step 1:** Copy and to your project. **Step 2:** Add two lines after : **Step 3:** Animate! Here's a hover effect: That's it. No build system changes, no external dependencies. Debug helper • Timeline for clips with tooltip helpers: • Support for delayed start: Building Examples Windows Open in Visual Studio 2022 and select a configuration: | Configuration | Backend | |---------------|---------| | | Win32 + DirectX11 | | | GLFW + OpenGL3 | | | SDL2 + OpenGL3 | | | ImPlatform abstraction | Debug configurations are also available for each backend. Linux / macOS Each backend has its own Makefile: Documentation Comprehensive guides for every ImAnim feature, organized by category. Each doc includes code examples and API references. Getting Started • Integration Guide - Add ImAnim to your project • Quick Start - Get running in 5 minutes Core Animation • Tweens - Immediate-mode animation • Clips - Timeline-based keyframe animation • Easing - All 30+ easing functions Motion & Paths • Motion Paths - Animate along curves • Path Morphing - Interpolate between paths • Text Along Paths - Curved text rendering • Transforms - 2D transform animation Effects • Stagger - Cascading element animations • Text Stagger - Per-character text effects • Oscillators - Continuous periodic motion • Shake & Wiggle - Feedback and organic motion • Noise - Perlin/Simplex procedural animation Colors & Styles • Gradients - Color gradient animation • Style Interpolation - Animated theme transitions • Per-Axis Easing - Different easing per component Advanced Features • Variations - Per-loop parameter changes • Layering - Blend multiple animations • Resolved Tweens - Dynamic target computation • Anchors - Resize-aware animation • Drag Feedback - Animated drag operations • Scroll Animation - Smooth scrolling Tools & Debug • Debug - Inspector and debugging tools • Advanced - Profiler, persistence, memory management Interactive Demo The file provides a comprehensive playground for exploring all ImAnim features. Call to display it. Demo Categories | Category | What You'll Find | |----------|-----------------| | **Easing & Tweens** | Easing gallery, custom bezier editor, spring physics, per-axis easing | | **Interactive Widgets** | Animated buttons, toggle switches, hover cards, progress indicators | | **Clip-Based Animations** | Timeline keyframes, looping, callbacks, chaining, layering system | | **Procedural Animations** | Oscillators, shake/wiggle effects, Perlin/Simplex noise | | **Motion Paths** | Bezier curves, Catmull-Rom splines, path morphing, text along paths | | **Advanced Interpolation** | Gradients, transforms, style interpolation, text stagger | | **Utilities** | ImDrawList animations, resize-aware helpers, scroll animation, drag feedback | | **Debug Tools** | Inspector, profiler, memory stats | | **Stress Test** | Performance benchmarks with thousands of concurrent animations | Use Cases The demo showcases practical UI patterns you can adapt: • **Animated Buttons** - Hover scaling, press feedback, icon animations • **Toggle Switches** - Smooth state transitions with easing • **Hover Cards** - Expand/collapse with spring physics • **List Stagger** - Cascading item reveal animations • **Grid Reveal** - Wave-based grid animations • **Dropping Cards** - Physics-inspired card animations • **Health Bars** - Color gradient health indicators • **Loading Indicators** - Pulsing rings, spinning elements • **Error Feedback** - Shake effects for invalid input • **Scroll Navigation** - Smooth scroll-to-section animations | Animated Tag | |:------------:| | | | Ripple Button | |:------------:| | | | "Wait" Button | |:------------:| | | | Data Visualization | |:------------:| | | | | Showcase Visual examples of ImAnim capabilities in action. Stagger Animations | List Stagger | Grid Stagger | Card Stagger | |:------------:|:------------:|:------------:| | | | | Easing & Curves | Easing Gallery | Custom Bezier | Wave Animations | |:-------------:|:-------------:|:---------------:| | | | | Colors & Transforms | Color Blending | Gradient | Transforms | |:-------------:|:--------:|:----------:| | | | | Paths & Text | Motion Path | Text Effects | Variations | |:-----------:|:------------:|:----------:| | | | | Procedural & Integration | Noise | ImGui Widgets | ImDrawList | |:-----:|:-------------:|:----------:| | | | | Additional Examples | Oscillator Waves | Transform Layers | |:----------------:|:----------------:| | | | Contributing Development is supported through Patre…