A Kotlin library for Jetpack Compose that provides customizable fling/scroll physics, ported from Android's OverScroller. It offers configurable deceleration, friction, gravity, spline curves, and presets, with snap, adaptive, and pager behaviors. The library is structured as a single artifact with a clean configuration builder pattern, and includes a sample app for demonstration. Physics calculations are isolated in well-tested modules (FlingCalculator, AndroidFlingSpline), and documentation diagrams are regenerable from a self-contained Python script that ports the same math. The codebase demonstrates strong engineering practices with unit tests, migration guides, and consistent Kotlin/Compose idioms.
LTMorphingLabel is a mature, well-crafted iOS/tvOS library that provides a UILabel subclass with animated text morphing effects. It supports seven distinct effects (scale, evaporate, fall, pixelate, sparkle, burn, anvil) implemented via a plugin-like extension system. The core animation engine uses CADisplayLink for frame-by-frame animation, character-level diffing (via an efficient string diff algorithm) to determine transition states, and custom Core Graphics drawing for each character. Particle effects (sparkle, burn, anvil) leverage CAEmitterLayer for real-time particle systems. The library also includes a SwiftUI wrapper (MorphingText) for iOS 13+. The codebase is clean, modular, and well-documented, with unit and UI tests. While it remains a solid solution for iOS animation, its minimum deployment target (iOS 9.0) and some legacy Swift patterns (e.g., dynamic method invocation, custom comparison operators) indicate a moderate degree of technical drift.
This repository provides a jQuery plugin for smooth scrolling to same-page anchor links. It is a client-side library that enhances navigation by animating scroll behavior instead of instant jumps. The core implementation is in `src/jquery.smooth-scroll.js`, which extends jQuery with `$.fn.smoothScroll()` (for click binding on links) and `$.smoothScroll()` (for programmatic scrolling). It supports configurable offset, direction, speed, easing, exclusion rules, delegate selectors, auto-focus, and callbacks. The architecture follows the classic jQuery plugin pattern with UMD distribution, making it consumable via AMD, CommonJS, or global script tags. The codebase includes a QUnit test suite (`test/tests.js`) and demos showcasing various features. While the plugin is functionally complete and well-documented, it relies on an aging jQuery ecosystem (1.7+) and legacy build tools (Grunt). The code is clean and the helper functions for scrollable detection and relative offset parsing are reusable, but the overall project is no longer actively maintained and reflects a pre-ES6 era of web development. It remains a solid reference for jQuery plugin patterns but is not recommended for new projects due to jQuery's declining relevance.