A TypeScript/JavaScript library for visualization and creative-coding with lightweight geometry and canvas utilities.
Pts is a TypeScript/JavaScript library for visualization and creative-coding that provides a modular toolkit for working with geometry, space, and canvas rendering. It solves the problem of complex boilerplate in interactive graphics by offering lightweight, intuitive APIs for points, lines, shapes, and animations. Developers use it to create data visualizations, generative art, and interactive experiences with minimal setup.
Frontend developers, creative coders, and designers who want to build interactive graphics, data visualizations, or generative art projects using HTML5 Canvas. It's suitable for both learning and production use.
Developers choose Pts for its clean, modular design that reduces canvas boilerplate while maintaining performance. Its TypeScript support and lightweight footprint (~30kb gzipped) make it a practical alternative to heavier graphics libraries.
A library for visualization and creative-coding
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Minified size is ~100kb (30kb gzipped), making it efficient for web projects with reduced load times and bandwidth, as noted in the README.
Allows importing only specific modules like Pt or Line, enabling tree-shaking to keep bundle sizes small, as highlighted in the modular design feature.
Built with TypeScript, offering full type definitions for enhanced IDE support and error checking, improving developer experience.
Provides classes for Point, Line, and other primitives with clean methods for manipulation, simplifying graphics calculations and reducing boilerplate.
Pts does not support 3D rendering or WebGL, making it unsuitable for projects requiring three-dimensional visualizations or advanced graphics.
Compared to libraries like D3.js or p5.js, Pts has a smaller community and fewer third-party resources, which can limit support and plugin availability.
Using Pts with modern frameworks like React requires additional setup, as indicated by separate example repos, adding complexity to development.