Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/I2Djs/I2Djs
Integrated-2D is a Javascript 2D rendering framework for SVG, Canvas, and WebGL contexts. I2Djs provides the same API for all rendering contexts.
https://github.com/I2Djs/I2Djs
animation canvas i2djs integrated-2d pixel shaders shape svg visualization webgl
Last synced: 3 months ago
JSON representation
Integrated-2D is a Javascript 2D rendering framework for SVG, Canvas, and WebGL contexts. I2Djs provides the same API for all rendering contexts.
- Host: GitHub
- URL: https://github.com/I2Djs/I2Djs
- Owner: I2Djs
- License: bsd-3-clause
- Created: 2017-10-30T18:45:06.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2024-06-29T19:26:40.000Z (5 months ago)
- Last Synced: 2024-06-30T12:18:41.455Z (5 months ago)
- Topics: animation, canvas, i2djs, integrated-2d, pixel, shaders, shape, svg, visualization, webgl
- Language: JavaScript
- Homepage:
- Size: 81.8 MB
- Stars: 77
- Watchers: 5
- Forks: 4
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Integrated-2D js [![npm](https://img.shields.io/npm/v/i2djs.svg)](https://www.npmjs.com/package/i2djs)
### I2dJs - SVG | Canvas | WebGL | PDF
Integrated-2D - is an Open source Javascript framework for rendering 2D graphics on SVG, Canvas, WebGL and PDF contexts. I2D's simple syntax and semantics lets you combine the power of Vector graphics and Bitmap to achieve complex visualizations easily.
I2Djs provides same Application Programming Interface to create and animate elements across different graphic rendering contexts by leveraging their underlying capabilities. Developers can make use of I2D's multi-layered contextual approach with capabilities from more than one context seamlessly for creating powerful composite visualizations under a single roof.
I2D also provides a unique data-driven approach, **join-actions**, for DOM manipulation based on data binding.
## Documentation
## Installing
If npm
```
npm install i2djs --save
```I2Djs provides source code bundles for ES6 and CJS modules.
- [i2D.cjs](https://raw.githubusercontent.com/I2djs/I2D/master/dist/i2d.cjs) CommonJS bundle
- [i2D.esm.js](https://raw.githubusercontent.com/I2djs/I2D/master/dist/i2d.esm.js) ES6 bundle
- [i2D.esm.min.js](https://raw.githubusercontent.com/I2djs/I2D/master/dist/i2d.esm.min.js) ES6 bundleIn ES6, use below syntax to import modules.
Import all modules into namespace
```
import * as i2d from 'i2djs'
```Importing individual modules:
```
import {canvasLayer} from 'i2djs'
import {svgLayer} from 'i2djs'
import {webglLayer} from 'i2djs'
import {pdfLayer} from 'i2djs'
```## Resources
- [API reference](https://nswamy14.gitbook.io/i2djs-v5)
- [I2Djs Medium Article](https://medium.com/@narayanaswamy14/i2djs-integrated-2d-js-328549ef642)## Animation Example
## PDF Example
## Examples (SVG + Canvas + WebGL + PDF)
[Codepen Examples](https://codepen.io/search/pens?q=i2djs)
### Basic Shapes
### Scale
| SVG | Canvas | WebGl |
| ------------------------------------------------------------------------------ | ---------------------------------------------------------------------------------- | --------------------------------------------------------------------------------- |
| [5000 Particles ](https://i2djs.github.io/I2Djs/examples/svg/distortion2.html) | [30000 Particles ](https://i2djs.github.io/I2Djs/examples/canvas/distortion2.html) | [100000 Particles ](https://i2djs.github.io/I2Djs/examples/webGL/distortion.html) |### Support & Compatibility
I2D offers both ESM and CommonJS packages, allowing for seamless integration into the desired environment as required.
It is compatible with all modern browsers with latest versions.### Development Setup
```bash
# install deps
npm install# Watch on src file changes and update dist files
npm run dev# build dist files
rollup -c rollup.config.js#Lint files
npm run lint
---or---
npm run lint-fix
```