18 Repos
Libraries that simulate physical properties like mass, damping, and stiffness to drive realistic motion.
Distinguishing note: Distinct from general animation: focuses specifically on physics-based motion simulation rather than keyframe-based transitions.
Explore 18 awesome GitHub repositories matching user interface & experience · Physics Engines. Refine with filters or upvote what's useful.
Motion is a high-performance animation library that provides a unified, declarative architecture for managing visual transitions and motion states across web interfaces. By utilizing a lightweight engine, it allows developers to define complex animations through component properties rather than manual DOM manipulation, ensuring consistent behavior across various component-based frameworks and vanilla JavaScript environments. The library distinguishes itself through a sophisticated physics-based motion engine that simulates natural movement using mass, damping, and stiffness parameters. It inc
The animation library calculates movement using mass, damping, and stiffness parameters to produce natural, fluid, and realistic interface interactions.
react-spring is a declarative animation framework for React that drives visual transitions through state-driven declarations. It functions as a motion engine where animations are defined as target values pursued by a physics engine based on application state. The library utilizes a spring physics engine to calculate natural movements by simulating mass, tension, and friction instead of relying on fixed durations. To maintain high frame rates, it updates DOM elements directly via references to bypass the standard React render cycle. The framework covers physics-based motion and state-driven t
Includes a physics engine that calculates natural motion by simulating physical properties like mass and damping.
React-spring is a physics-based animation library designed to create fluid, natural motion for user interface elements and three-dimensional objects. It functions as a declarative motion framework that maps state changes to animated property values, utilizing spring physics—defined by mass, tension, and friction—rather than traditional time-based easing functions to calculate transitions. The library distinguishes itself through a rendering-agnostic architecture that decouples animation logic from specific UI frameworks, allowing for consistent application across web interfaces, 3D scenes, an
Calculates animation frames by solving differential equations for mass, tension, and friction to simulate natural motion.
SmartRefreshLayout is a pull-to-refresh framework and gesture interaction library for Android. It provides a scroll view wrapper that integrates interactive refresh headers and loading footers into mobile user interfaces, coordinating synchronized scrolling and touch events. The project features a pluggable architecture for custom refresh indicators and secondary refresh mechanisms. It utilizes damping-based gesture translation and overscroll rebound mechanisms to manage the tactile feel of drag resistance and physics-based animations. The library covers a broad range of interaction logic, i
Provides fine-grained control over drag rates, rebound durations, and bounce effects for a natural scrolling feel.
react-motion is a physics-driven animation toolkit and library for React applications. It provides a system for creating fluid user interface transitions by simulating natural spring movement to move elements toward destination values using stiffness and damping parameters. The framework manages the visual entry and exit of components as they mount and unmount within the document structure. It coordinates complex motion patterns, including staggered animations and fluid transitions for items being added, removed, or reordered within dynamic lists. The library covers a broad range of animatio
Provides a physics engine that simulates mass, damping, and stiffness to drive realistic UI motion.
Velocity is a JavaScript animation library used to create high-performance CSS and SVG animations. It functions as a CSS property interpolator and a spring physics engine, enabling the creation of smooth visual transitions and organic movement for web elements. The project provides a programmatic interface for modifying vector attributes and 3D transformations through its SVG animation framework. It further distinguishes itself as an animation sequence orchestrator, allowing for the chaining of movements and the staggering of start times across multiple elements using promises. The library c
Simulates physical properties like damping and stiffness to drive organic, physics-based motion.
Lenis is a lightweight JavaScript library designed to provide fluid, momentum-based scrolling experiences for web interfaces. It functions as a frontend utility that decouples visual scroll position from the browser's native state, allowing for custom easing and duration while preserving standard browser accessibility, search functionality, and layout measurement tools. The library distinguishes itself by normalizing input from mouse wheels and touch gestures into a unified stream, ensuring consistent physics across different devices. It operates by intercepting native scroll events and apply
Provides a decoupled physics engine that calculates momentum and friction for fluid scrolling experiences.
iscroll is a JavaScript smooth scrolling library and web interaction framework. It provides a 2D web panning controller and a CSS transform zoom engine to manage inertial scrolling, panning, and zooming for web elements across different devices. The project enables the implementation of custom scrollbar interfaces and navigation maps that track the current viewport position. It supports the creation of interactive web carousels with element snapping, web parallax effects, and content scaling via pinch-to-zoom or mouse-wheel inputs. The library covers a broad range of interaction capabilities
Calculates momentum and friction to provide natural deceleration after a user flick gesture.
Cytoscape.js is a JavaScript library designed for rendering interactive node-link diagrams and analyzing complex network structures directly within a web browser. It functions as a comprehensive framework for building responsive graph interfaces, providing the tools necessary to visualize relational datasets and manage hierarchical data models. The library distinguishes itself through a modular architecture that supports custom layout algorithms and rendering styles, allowing for the integration of physics-based engines to organize complex network structures automatically. It utilizes an even
Simulates physical attraction and repulsion forces to automatically organize complex network structures.
This project is a macOS input remapper and mouse customizer designed to assign custom actions and system-wide gestures to mouse button presses and movements. It functions as a mouse gesture manager and scroll enhancer, enabling the emulation of multi-finger trackpad motions and providing omnidirectional precision scrolling. The utility distinguishes itself by allowing independent scroll direction settings for a mouse without altering global trackpad configurations. It further implements a momentum-based algorithm to replace discrete scroll steps with smooth, fluid movement. The software cove
Implements a momentum-based algorithm to replace discrete scroll steps with fluid, inertial movement.
Locomotive Scroll is a JavaScript library and toolkit for managing DOM scroll interactions, featuring a smooth scroll motion controller and a parallax scrolling engine. It provides a system for implementing fluid scrolling and tracking element visibility within the viewport. The library creates depth and motion by moving elements at different speeds relative to the scroll position. It includes a viewport visibility tracker used to initiate visual transitions and animations when specific elements enter the browser viewport. The toolkit covers programmatic scroll control, dynamic element regis
Ships a dedicated engine to create depth and motion by varying element scroll speeds.
This repository is a comprehensive collection of functional 2D and 3D demo projects and implementation samples for the Godot Game Engine. It serves as an interactive tutorial and reference library, providing a working codebase to demonstrate how to apply engine features in real-world scenarios. The collection focuses on practical implementation guides, covering a wide array of technical capabilities from basic engine fundamentals to advanced rendering and scripting techniques. It allows users to study the application of node-based composition, asset pipelines, and game logic through direct ex
Applies differential movement speeds to background textures relative to camera movement to simulate depth.
RESideMenu is an iOS side menu component and user interface framework element used to implement the side-drawer navigation pattern on Apple mobile devices. It provides a sliding side panel that organizes top-level application sections and navigation links. The component specifically implements a parallax navigation menu, which shifts content layers at different speeds to create a sense of depth during transitions. This allows for the creation of a sliding menu that moves content visually when controllers are opened from either side of the screen. The system manages the interface through gest
Utilizes a parallax engine to apply differential movement speeds, creating depth in the sliding menu interface.
elevator.js is a lightweight JavaScript library that adds a playful, elevator-themed scroll-to-top button to a webpage. When clicked, it smoothly animates the page back to the top while playing a looping elevator music track in the background, masking the transition and adding a whimsical touch to the user experience. The library goes beyond a simple scroll-to-top button by offering configurable scroll duration, the ability to scroll to any specified DOM element with optional vertical padding, and callback hooks that fire user-defined functions at the start and end of the animation. This allo
Plays background music during a scroll animation to create a more engaging and thematic user interaction.
Rebound ist ein Java-Motion-Framework und eine Physik-Engine, die entwickelt wurde, um natürliche physikalische Bewegungen in Benutzeroberflächen-Animationen zu erzeugen. Es fungiert als Federphysik-Bibliothek, die Kräfte und Schwingungen modelliert, um flüssige Interface-Übergänge zu steuern. Das Framework implementiert interaktives Motion-Design durch die Simulation realer Federdynamiken und physikalischer Kräfte anstelle von linearen Übergängen. Dies ermöglicht die Erstellung organischer Bewegungen innerhalb von Java-Anwendungen. Die Engine handhabt physikbasierte Animationen durch federbasierte Simulationen, wobei diskrete Zeitschritt-Integration und frame-unabhängige Update-Schleifen zum Einsatz kommen. Sie nutzt parametergesteuerte Dynamiken, wie Steifigkeits- und Dämpfungsverhältnisse, sowie zustandsbasierte Bewegungsinterpolation, um die Position von UI-Elementen zu bestimmen.
Implements a physics engine that simulates mass, damping, and stiffness to drive realistic interface transitions.
Scroller ist eine JavaScript-Bibliothek zur Implementierung von Pan-and-Zoom-Interaktionen auf HTML-Elementen und Canvas-Rendering-Oberflächen. Sie fungiert als Viewport-Zustandsmanager und kinetische Scrolling-Engine, die Touch- und Mauszeiger-Ereignisse in skalierte Offsets für flüssige Navigation übersetzt. Die Bibliothek bietet ein kinetisches Bewegungssystem, das Abbremsung und Kanten-Bouncing simuliert. Sie enthält spezifische Mechanismen für Pull-to-Refresh-Trigger und unterstützt punktrelatives Zoom-Skalieren, um den Fokuspunkt auf dem Cursor des Nutzers zu halten. Das System bietet eine Reihe von Bewegungssteuerungen, einschließlich achsengebundener Drag-Verhaltensweisen und Grid-Snapping-Ausrichtung. Es verwaltet den Viewport-Maßstab durch konfigurierbare minimale und maximale Zoom-Limits und berechnet Koordinatenübergänge unabhängig von der Rendering-Ebene. Die Integration in das DOM erfolgt über Datenattribute zur automatischen Initialisierung der Scrolling- und Zoom-Logik.
Provides a kinetic engine that calculates momentum and friction for smooth, physics-based scrolling.
Murder is an entity component system game engine designed for 2D game development. It provides a core framework for managing game objects through an ECS architecture and includes a dedicated 2D game editor for asset management and real-time property configuration. The engine features a specialized 2D rendering pipeline supporting pixel art, sprite slicing, and parallax effects. It includes a hierarchical A* pathfinding system for agent navigation and a comprehensive asset management system for serializing and loading game resources. The project covers a broad range of capabilities, including
Adjusts entity movement speeds relative to the camera to simulate spatial depth.
Motion-vue is a declarative animation library for Vue that provides a framework for building fluid, high-performance user interface motion. It enables developers to define complex animation states and transitions using code-based variants and spring-driven physics, ensuring that visual updates remain synchronized with component lifecycles and application state. The library distinguishes itself through a layout projection engine that tracks element coordinates to animate transitions between layout states, and a gesture-driven input pipeline that maps pointer and scroll interactions to animatio
Calculates motion trajectories using spring physics to simulate natural movement in user interfaces.