30 open-source projects similar to exyte/macaw, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Macaw alternative.
Leafer UI is a high-performance HTML5 canvas rendering engine and 2D vector graphics library. It utilizes a hierarchical scene tree to manage shapes, paths, and text, providing a toolkit for building interactive canvas applications and expansive infinite canvases. The engine is designed as a cross-platform canvas toolkit that decouples core logic from the drawing API, allowing it to run across web, mobile, server, and mini-program environments. It distinguishes itself by providing specialized tools for interactive graphic editor development, including hit detection, event bubbling, and transf
This project is a graphics library for React Native that provides a cross-platform vector rendering engine. It maps SVG XML elements to native graphics APIs, allowing for the creation of scalable shapes and custom illustrations that maintain visual consistency across mobile and web environments. The library functions as a mapper that converts standard SVG markup into declarative component structures. It enables the creation of interactive vector interfaces by providing components that can detect and respond to user touch events. Its capability surface includes drawing basic geometric primiti
ImageSharp is a .NET image processing library and manipulation framework used for decoding, encoding, and modifying digital images. It functions as a comprehensive toolkit for resizing, cropping, and applying pixel-level filters while managing color profiles and pixel data across various file formats. The project integrates a 2D vector graphics engine and a typography rendering engine to draw geometric shapes, paths, and complex stylized text onto images. It also includes a geometry boolean operation library for calculating intersections, unions, and differences between complex polygons and c
gg is a Go 2D graphics library and vector graphics engine designed for programmatic image generation. It provides a canvas rendering API to create custom 2D shapes, paths, and visual assets, which can be exported as PNG and JPG files. The toolkit enables the construction of complex geometry using Bezier curves and custom paths. It supports a variety of rendering operations, including filling and stroking paths, applying linear and radial gradients, and utilizing surface patterns. The library covers a broad range of capabilities, including text rendering with word wrapping and dimension measu
svg.js is a JavaScript library and toolkit for programmatically creating, modifying, and querying Scalable Vector Graphics in the browser. It functions as a programmable interface and DOM wrapper that allows developers to manipulate vector elements through a standardized API rather than writing raw XML. The library includes a dedicated animation framework for creating fluid motion and visual transitions. This is supported by tools for path morphing and the use of timelines and easing functions to animate vector graphics. The toolkit covers a broad range of capabilities, including geometric t
GSAP is a comprehensive JavaScript animation library designed for orchestrating complex motion sequences and interactive user interfaces. It provides a robust property-interpolation engine that calculates intermediate values for CSS styles, attributes, and numeric properties, enabling smooth visual transitions across web elements. The framework is built on a core architecture that manages animation lifecycles, timeline-based sequence orchestration, and virtual property interception to ensure precise control over motion. The library distinguishes itself through a modular, plugin-based extensib
Snap.svg is a JavaScript library for creating, manipulating, and animating scalable vector graphics directly in the web browser. It functions as a browser-based SVG generator and vector graphics manipulation tool, providing a framework to programmatically generate complex drawings and masks. The project serves as an animation engine for transitioning visual properties and attributes over time to create motion. It enables the development of dynamic SVG content, including the ability to animate viewboxes, matrices, and polygon points. Its capability surface covers geometric calculations and th
Skia is a high-performance 2D graphics rendering library used for drawing text, geometries, and images on digital surfaces. It functions as a hardware-accelerated graphics engine that offloads drawing operations to the GPU, a vector graphics processor for SVG and complex paths, and a typography engine for shaping and drawing characters with Unicode support. The project provides a cross-platform image codec for encoding and decoding standard image formats into raw pixel data across multiple operating systems. It also enables the development of user interfaces that maintain visual consistency a
AndroidNote is a technical knowledge base and reference resource for Android development. It provides comprehensive guidance on application architecture, custom view development, and advanced graphics programming. The project is distinguished by its depth in visual implementation, covering pseudo-3D perspective projections via virtual cameras and complex 2D rendering using Bézier curves and PorterDuff color blending. It also provides detailed methodologies for app modularization and the management of internal libraries through private Maven repositories and JitPack. The reference surface ext
PixiJS is a high-performance 2D rendering engine designed for building interactive visual content and browser-based games. It provides a hardware-accelerated graphics library that leverages WebGL and WebGPU backends to execute complex scenes, utilizing a hierarchical scene graph to manage object transformations and display order. The project distinguishes itself through a sophisticated architecture that decouples rendering logic from hardware APIs, allowing for consistent performance across diverse browser environments. It features a robust, asynchronous asset pipeline that handles loading, c
svg.js is a JavaScript library and vector graphics API that provides a programmatic interface for creating and modifying scalable vector graphics in the browser. It functions as a lightweight wrapper for the browser DOM to simplify the management of SVG elements and attributes. The project serves as both a manipulation library and an animation framework, enabling the development of dynamic user interfaces and web vector animations. It covers the creation of motion and visual transitions for vector graphics to produce fluid animations. The library's capabilities extend to vector graphic visua
node-canvas is a server-side 2D vector graphics and image processing library for Node.js. It provides a server-side implementation of the HTML5 Canvas API using the Cairo graphics library as its rendering engine to draw shapes, text, and paths. The library enables the programmatic generation of dynamic images and the creation of scalable vector graphics and PDF documents. It supports the registration of custom and system fonts for typography rendering and allows for the import of image assets via local paths, buffers, data URIs, and remote URLs. Capabilities include low-level pixel manipulat
Processing is a creative coding environment and Java graphics library designed for writing visual sketches that produce interactive 2D and 3D graphics and animations. It runs on the Java Virtual Machine, using an OpenGL-based hardware-accelerated rendering pipeline, and operates on a sketch-based execution model where programs run as continuous loops of setup and draw functions with event-driven input handling for keyboard, mouse, and window interactions. The environment distinguishes itself as a cross-platform sketch tool that runs visual programs unchanged on desktop, web, Android, and Rasp
Paper.js is an HTML5 Canvas vector graphics library and scripting framework used for creating and manipulating 2D shapes and paths. It functions as a vector animation framework and a headless vector graphics engine, allowing for the execution of graphics operations in both browser and server-side environments. The project features a dedicated SVG import and export engine to convert between native vector items and the SVG format. It includes a specialized boolean path operation toolkit for uniting, subtracting, and intersecting vector paths to create complex geometric shapes. The library cove
Pixel is a 2D game library and graphics engine for the Go programming language. It provides a hardware-accelerated renderer for drawing sprites, geometric shapes, and text, utilizing an optimized system of batching and transformation matrices. The project functions as a comprehensive toolkit for two-dimensional interactive applications, combining a graphics engine with a 2D vector math library for affine transformations and coordinate space projections. It includes a dedicated input manager that tracks keyboard presses and mouse movements using a polling-based system rather than asynchronous
JUCE is a comprehensive C++ audio framework and digital signal processing library used to build cross-platform audio applications, audio plug-ins, and high-performance user interfaces. It serves as a development kit for creating audio processors compatible with industry-standard plugin formats for digital audio workstations, as well as a tool for MIDI and Open Sound Control communication between musical hardware and software. The framework is distinguished by its ability to maintain a single codebase for native desktop and mobile applications across multiple operating systems. It provides a f
react-konva is a declarative React canvas graphics library and 2D vector graphics framework. It serves as a rendering engine and interactive canvas toolset that allows for the drawing and management of complex 2D shapes and graphics using a React component model. The library maps reactive component trees to an underlying object-oriented graphics scene graph, enabling the synchronization of visual states with application data. It provides specialized tools for building interactive graphical interfaces, including support for multi-touch gestures, drag-and-drop functionality, and real-time trans
Fyne is a cross-platform graphical user interface toolkit for the Go programming language. It provides a comprehensive framework for building native applications that run on desktop, mobile, and web environments from a single codebase. The toolkit centers on a canvas-based rendering engine and a device-independent layout engine, ensuring that visual elements maintain consistent dimensions and behavior across diverse operating systems and screen densities. The project distinguishes itself through a reactive data-binding system that automatically synchronizes application state with interface co
Remotion is a programmatic video framework that enables the creation of video content using component-based logic and standard web technologies. By leveraging a declarative animation engine, it allows developers to structure visual content as a hierarchy of reusable components, ensuring that animations and state updates remain consistent through deterministic frame execution. The framework distinguishes itself by utilizing a headless browser renderer that captures visual output frame-by-frame to generate high-quality video files. This architecture supports a cloud-native media pipeline, allow
Arwes is a sci-fi React UI framework and futuristic component library designed for building web interfaces with cyberpunk aesthetics. It provides a thematic web UI toolkit that combines stylized components with an SVG animation engine to create immersive visual identities. The project distinguishes itself through coordinated animation sequences that control the assembly and disassembly of interface elements. It integrates a sensory feedback system that maps user interaction events to synchronized audio clips and manages dynamic backgrounds to enhance the environmental atmosphere. The framewo
Flubber is an SVG path morphing library and shape transition engine designed to calculate smooth interpolations between complex vector shapes. It functions as a vector shape interpolator that generates intermediate path states between two sets of coordinates based on a progress value. The toolkit provides specialized capabilities for managing transitions between different shape quantities, including the ability to split a single shape into multiple pieces or merge multiple shapes into one. It also enables morphing between custom paths and geometric primitives, such as circles and rectangles,
Raphael is a JavaScript library for creating, manipulating, and animating scalable vector graphics. It provides a programmatic interface and a cross-browser renderer for drawing 2D vector graphics and complex shapes within a web browser. The project functions as an SVG animation framework and drawing API, allowing for the construction of diagrams, charts, and custom illustrations. It enables the creation of motion graphics through the transformation of vector elements using coordinate systems and easing functions. The library covers capabilities for scalable vector rendering, dynamic data vi
This project is a client-side library for rendering responsive, animated SVG progress indicators. It functions as a frontend UI component and vector animation library designed to visualize completion status through linear, circular, and radial shapes. The library is distinguished by its support for custom vector path geometries, allowing users to define specific SVG path data to create specialized shapes. It uses a vector-based rendering approach to ensure that indicators remain sharp across different screen resolutions. The tool covers a range of capabilities including both static and anima
Keyframes is a cross-platform animation library and playback engine designed to render Adobe After Effects shape animations as high-quality vector graphics on mobile devices. It functions as a vector animation player that executes complex path and shape animations using a JSON-based data format, removing the need for rasterized video files. The system enables the conversion of shape-based animations from After Effects into a portable schema for delivery across both Android and iOS platforms. This ensures visual consistency by utilizing a shared framework to render the same vector animation da
Open-iconic is a collection of visual assets provided as an SVG icon library, a webfont icon set, and a raster icon pack. It provides scalable vector graphics and fixed-pixel images in PNG and WebP formats to maintain visual identity across different screen resolutions and technical environments. The project includes an SVG sprite sheet to consolidate multiple vector icons into a single file, reducing network requests. It also supports the delivery of icons as webfonts, allowing symbols to be integrated and styled via CSS. The library covers cross-platform asset management, web SVG integrati
This project is a declarative animation library and high-performance engine designed for creating fluid, interactive vector motion graphics on the web. It provides a specialized framework for defining, rendering, and orchestrating complex visual sequences, including custom geometric shapes and dynamic property transitions. The library distinguishes itself through a robust particle system framework that generates explosive or organic visual effects by emitting multiple shapes with randomized trajectories and paths. It utilizes a master timeline controller to synchronize independent animation i
This project is a cross-platform animation engine and vector animation player designed to render complex motion graphics within web browsers. It functions as a declarative motion framework, allowing developers to decouple visual design from application logic by using structured data files to define sophisticated animations. The library distinguishes itself by offering multiple rendering paths, including native support for vector graphics through the browser document object model and raster-based drawing via canvas elements. It utilizes a dedicated property interpolation engine to calculate ke
Zdog is a JavaScript graphics library designed for rendering pseudo-three-dimensional geometric models within web browser environments. It functions as a lightweight engine that draws flat, vector-based shapes onto HTML5 canvas or SVG elements by utilizing a scene graph to manage object relationships and spatial transformations. The library distinguishes itself through a unique approach to volumetric modeling, where three-dimensional depth is simulated on flat shapes by dynamically adjusting stroke thickness. This technique allows for the creation of rounded, plump visual effects without the
Pixi.js is a high-performance 2D graphics engine used to render interactive animations, sprites, and visual effects in web browsers. It functions as a WebGL 2D rendering engine and HTML5 graphics library designed to produce high-performance two-dimensional visuals. The project operates as a 2D sprite framework and a web-based visual effects engine, providing tools to apply filters, blend modes, and masks to real-time graphics. It also serves as an interactive web canvas API for handling multi-touch and mouse input to build responsive graphical user interfaces. The framework covers a broad se
This project is a technical guide and implementation library for advanced visual effects and hardware-accelerated animations using the Core Animation framework on iOS. It provides a comprehensive reference for creating high-performance motion graphics, custom graphic rendering, and the construction of 3D engines using perspective transforms and Z-axis manipulation. The collection distinguishes itself through a deep focus on GPU rendering optimization and graphics performance. It covers advanced strategies to maintain high frame rates, such as reducing offscreen rendering via shadow path optim