30 open-source projects similar to williamngan/pts, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
This project is a mathematical visualization library and a collection of algorithmic art. It serves as a data visualization guide and an interactive visualizer, providing a set of implementations for rendering complex geometric shapes and mathematical concepts through code. The collection focuses on generating aesthetic patterns and precise graphic elements, including fractals, Bezier curves, and Lissajous patterns. It uses recursive functions and iterative algorithms to produce complex geometric structures and algorithmic art. The library covers a range of capabilities including interactive
p5.js is a JavaScript creative coding library and generative art framework. It serves as a web-based graphics engine and a high-level HTML5 Canvas wrapper designed to produce algorithmic imagery and responsive audio-visual experiences. The project provides a simplified sketching API for rendering 2D and 3D graphics directly in a web browser. It enables the creation of interactive animations, generative art, and digital experiences that respond to user input. The library covers a range of applications including interactive data visualization, browser-based multimedia art, and educational prog
Two.js is a multi-backend graphics engine and vector drawing library that provides a unified API for creating two-dimensional graphics and animations. It functions as a renderer-agnostic abstraction layer, allowing users to generate vector shapes and paths that can be rendered via SVG, Canvas2D, or WebGL. The engine includes a scene graph manager to organize objects into hierarchical groups, enabling the propagation of collective transformations and parent-child relationships. It also features a headless graphics renderer, providing a node-based implementation for generating 2D drawings in se
Nannou is a creative coding framework for Rust designed for building interactive visual and audio sketches. It provides a loop-based API with hardware-accelerated 2D and 3D rendering, serving as a toolkit for generative art production and multimedia installation design. The framework is distinguished by its comprehensive hardware communication interface, which bridges software with physical devices via MIDI, OSC, DMX, serial, and laser DAC protocols. It also includes specialized projection mapping tools for warping visual output to fit non-standard physical surfaces and a dedicated GPU shader
canvas-sketch is a JavaScript generative art framework and web-based creative coding environment. It provides a system for creating browser-based generative artwork using built-in tools for geometry and randomness. The framework functions as a high-resolution print exporter and pen plotter vector generator, allowing users to design with physical units and DPI settings for archival printing and robotic drawing machines. It also serves as a GPU shader integration tool for loading and executing shader files to achieve hardware-accelerated rendering. The project includes a development workflow f
This project is a geospatial data rendering engine and OpenStreetMap road network visualizer. It functions as a vector map visualization tool that imports geocoded area data and converts road layouts into visual layers for digital or physical output. The system enables the creation of generative map art and stylized images intended for physical production via pen-plotters or laser cutters. It allows for the manipulation of line widths and colors of city streets to produce custom visual representations of urban environments. The engine provides capabilities for urban road visualization, geogr
Spritejs is a graphics library and cross-platform 2D graphics engine designed for rendering geometric shapes and sprites across web, desktop, and mobile environments. It functions as a canvas-based sprite framework that manages elements using a document object model for positioning and styling. The project provides a web worker rendering engine that distributes graphic layers to offscreen canvases, preventing main thread blocking. It also includes a server-side graphics generator for producing visual elements and images in non-browser environments. The toolkit covers a broad range of graphic
vis is a JavaScript data visualization library used to render interactive networks, timelines, and graphs directly in the web browser. It functions as a relational data mapper and browser-based charting tool, turning complex structured data into dynamic visual patterns to expose entity relationships. The library provides specialized tools for force-directed network graphs, where relational data is represented as interactive nodes and edges. It also includes an interactive timeline component for plotting chronological events and time intervals on a scalable temporal axis. The project covers b
libigl is a C++ geometry processing library used for analyzing and manipulating 3D triangle and tetrahedral meshes. It functions as a numerical linear algebra suite and a mesh manipulation framework, integrating a geometric deformation engine to implement rigid and polyharmonic transformations. The project is distinguished by its header-only library design and its implementation of specialized deformation techniques, including rigid-as-possible and polyharmonic shape deformation. It also provides a visualization tool for rendering surfaces and scalar fields with interactive scene controls and
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
Victory is a React data visualization library and composable visualization toolkit used to build interactive charts and graphs. It functions as an SVG charting framework that renders scalable data visualizations designed to maintain consistency across different web browsers and operating systems. The project provides a collection of reusable UI primitives that combine to form complex interactive data layouts. This component-based approach allows for the construction of sophisticated graphs by composing modular visualization elements within React applications.
F2 is a cross-platform charting engine and grammar-based visualization tool designed to render interactive data visualizations. It functions as a declarative system that allows users to build complex charts by defining the relationships between data dimensions and visual encoding channels. The framework is specifically optimized for mobile data visualization, providing a toolkit for creating touch-optimized charts. It supports custom data visualization styling, enabling the use of personalized shapes and animations to define a unique visual identity. The engine provides a platform-agnostic r
This project is a declarative data visualization library that provides a composable suite of user interface components for rendering interactive charts. It functions as an SVG-based charting engine, allowing developers to construct complex visualizations by nesting modular building blocks such as axes, grids, legends, and data series within a unified layout. The library distinguishes itself through a highly responsive architecture that automatically reconciles layout changes and maps data domains to pixel coordinates using mathematical scale functions. It prioritizes performance through memoi
POV-Ray is a ray tracing rendering engine that transforms text-based scene descriptions into photorealistic three-dimensional images and animations. It parses plain-text files containing scene geometry, lighting, textures, and camera definitions into an internal computational data structure, then calculates precise mathematical ray-scene intersections against geometric primitives and triangle meshes. The engine incorporates advanced lighting and geometry capabilities, including bounding hierarchy optimization to skip collision checks against distant geometry, and constructive solid geometry f
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
This project is a high-level 3D graphics engine designed to render complex, hardware-accelerated environments within web browsers. It provides a comprehensive abstraction layer that manages scene graphs, cameras, and lighting, mapping high-level scene definitions onto low-level graphics APIs. By decoupling these definitions from specific hardware targets, the engine ensures consistent performance across diverse browsers and devices. The framework distinguishes itself through a robust architecture that includes a unified math library for high-frequency spatial calculations and a physically bas
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
Fabric.js is an object-oriented canvas library that provides an interactive framework for managing shapes, images, and text within an HTML5 canvas environment. It abstracts raw pixel-based drawing commands into a structured hierarchy of objects, enabling developers to manipulate, transform, and animate elements through a centralized event-driven system. The library distinguishes itself by offering comprehensive state serialization, allowing complex graphic compositions to be converted into JSON or SVG formats for persistent storage and reconstruction. It includes a built-in SVG parser that co
Konva is an object-oriented HTML5 canvas framework designed for building interactive 2D graphical applications. It provides a hierarchical scene graph that organizes shapes, images, and text into manageable nodes, groups, and layers. By mapping application state to canvas elements, the library enables developers to create complex visual interfaces using declarative patterns that synchronize with modern component-based frameworks. The library distinguishes itself through a robust event system that supports hit detection, bubbling, and direct manipulation of graphical objects, such as dragging,
EaselJS is a JavaScript library for creating interactive 2D graphics and animations using the HTML5 Canvas element. It functions as a 2D animation framework, a canvas scene graph manager, and an interaction wrapper for detecting and responding to mouse and touch events. The library features a rendering pipeline that utilizes WebGL to increase the drawing performance of bitmap and cached content. It organizes visual elements into a hierarchical display list, allowing nested groups of 2D graphics objects to be transformed and animated as single units. Its capabilities cover the rendering of ve
tsparticles is a JavaScript particle engine and canvas visual effects toolkit used to create animated particle systems, interactive backgrounds, and web animations. It functions as a web animation library that provides a set of compatible wrappers for integration into React, Vue, Angular, and Svelte applications. The engine includes pre-built animation patterns for celebratory effects, such as confetti explosions and fireworks. It allows for the creation of custom JavaScript visualizations through a plugin system that enables the development of specialized shapes and behaviors. The toolkit s
css-doodle is a web component for creative coding that renders live CSS-generated patterns and animations directly in the browser. It creates generative art and visual patterns by applying CSS rules to a grid of cells, using the browser's native layout engine for positioning and styling. The component encapsulates its pattern canvas and styling within a custom element's shadow DOM, isolating it from page styles and enabling reusable instances. The tool distinguishes itself by driving pattern configuration through CSS custom properties, allowing dynamic style changes and real-time updates with
Cinder is a C++ creative coding library and native graphics toolkit designed for developing professional interactive media and visual art. It serves as a cross-platform multimedia framework for generating high-performance generative digital art and real-time visual rendering. The framework provides a professional suite of tools for building hardware-integrated installations and cinematic visuals. It focuses on real-time graphics programming and the production of high-quality graphics for professional displays. The library includes a cross-platform abstraction layer and a modular architecture
This project is a linear algebra tutorial and educational resource focused on the mathematical foundations of machine learning. It serves as a technical guide and instructional material for understanding how matrix calculations and linear operations power predictive algorithms. The resource emphasizes the transition from basic arithmetic to the implementation of predictive models. It focuses on linear algebra visualization to demonstrate how matrix operations translate into the geometric transformations used in data science. The material covers the implementation of machine learning logic th
This project is a generative art engine designed to create large collections of unique images by layering assets with assigned rarity weights and blending modes. It functions as an art generator that produces unique image sets and corresponding JSON metadata files for use in blockchain-based digital collections. The engine features a trait rarity manager that controls the frequency of specific visual attributes through filename-based weighting. It also includes a pixel art converter that transforms generated image collections into pixelated versions using configurable downsampling ratios. Th
This project is a creative software framework and procedural graphics toolset designed for building custom graphics, sound, and user interface software. It functions as a development environment that provides integrated project and dependency management for creating technical multimedia productions. The system serves as a historical source archive, preserving the code and assets used in technical creative productions from 2001 to 2011. It includes a media production bundler to package source code and assets into single executable distributions for end users. The framework covers a broad rang
Leva is a React GUI control panel and real-time parameter editor used to monitor and tweak application state and variables without modifying code or reloading the page. It functions as a dynamic state debugger and extensible input library that provides a visual interface for fine-tuning numerical, boolean, and text values within a running web application. The project distinguishes itself through a plugin system that allows the creation of custom input components and specialized behaviors to support unique data types. It utilizes type-inference to automatically map data to the appropriate visu
Neovide is a cross-platform graphical frontend for the Neovim text editor. It provides a native windowed interface that preserves terminal-based functionality and keyboard-driven workflows while introducing a hardware-accelerated display layer. By utilizing GPU-accelerated rendering, the application ensures high-performance visual output across different desktop operating systems. The project distinguishes itself through an interpolated animation engine that provides fluid, frame-by-frame transitions for cursor movement and scrolling. It features an asynchronous input event loop to maintain i
This project provides a cross-platform messaging interface toolkit designed for building real-time chat applications and generative AI agents. It offers a collection of pre-built components that render consistent messaging experiences across mobile and web environments, handling the complexities of state management and data synchronization between the user interface and backend services. The library distinguishes itself through a highly modular architecture that allows developers to inject custom logic and UI overrides via builder functions. This approach enables the creation of tailored mess
This project is a curated collection of galleries and component libraries that demonstrate pure CSS visual effects, 3D transforms, animation patterns, and layout solutions. It serves as a visual catalog of interactive UI elements and graphics built exclusively with HTML and CSS. The collection distinguishes itself by implementing complex interactivity, such as state management and animation triggers, using only CSS pseudo-classes and keyframes without any JavaScript. It also features a system for generative art and algorithmic patterns, as well as spatial 3D constructions using perspective an