Here is a list of several ways you can use POINTS, with a CDN which is plain html and js and the one I recommend the most, or you can use npm and also bun. There's also the quick setup that is composed of all you need in a single html file, also available to download in here.
The examples_tutorial folder has a directory per type of installation (cdn, npm, bun):
cdn (importmap) code: examples_tutorial/cdn/
Note: "points" is the required and main library. The others are helper libraries for shaders but not required.
<script type="importmap">
{
"imports": {
"points": "https://cdn.jsdelivr.net/npm/@absulit/points/build/points.min.js",
"points/animation": "https://cdn.jsdelivr.net/npm/@absulit/points/build/core/animation.min.js",
"points/audio": "https://cdn.jsdelivr.net/npm/@absulit/points/build/core/audio.min.js",
"points/color": "https://cdn.jsdelivr.net/npm/@absulit/points/build/core/color.min.js",
"points/debug": "https://cdn.jsdelivr.net/npm/@absulit/points/build/core/debug.min.js",
"points/effects": "https://cdn.jsdelivr.net/npm/@absulit/points/build/core/effects.min.js",
"points/image": "https://cdn.jsdelivr.net/npm/@absulit/points/build/core/image.min.js",
"points/math": "https://cdn.jsdelivr.net/npm/@absulit/points/build/core/math.min.js",
"points/noise2d": "https://cdn.jsdelivr.net/npm/@absulit/points/build/core/noise2d.min.js",
"points/classicnoise2d": "https://cdn.jsdelivr.net/npm/@absulit/points/build/core/classicnoise2d.min.js",
"points/classicnoise3d": "https://cdn.jsdelivr.net/npm/@absulit/points/build/core/classicnoise3d.min.js",
"points/random": "https://cdn.jsdelivr.net/npm/@absulit/points/build/core/random.min.js",
"points/sdf": "https://cdn.jsdelivr.net/npm/@absulit/points/build/core/sdf.min.js"
}
}
</script>Note: if you copy the example directory you can just run
npm installandnpm start
-
create
index.htmlandmain.jsAdd main as module in
index.html
<script type="module" src="main.js"></script>- Install
points
npm init
# select only one of the following two
npm i @absulit/points # npm package
npx jsr add @absulit/points # or jsr package
- Add in
package.json(so parcel can recognize the paths)
{
"alias": {
"points": "@absulit/points/build/points.min.js",
"points/animation": "@absulit/points/build/core/animation.min.js",
"points/audio": "@absulit/points/build/core/audio.min.js",
"points/color": "@absulit/points/build/core/color.min.js",
"points/debug": "@absulit/points/build/core/debug.min.js",
"points/effects": "@absulit/points/build/core/effects.min.js",
"points/image": "@absulit/points/build/core/image.min.js",
"points/math": "@absulit/points/build/core/math.min.js",
"points/noise2d": "@absulit/points/build/core/noise2d.min.js",
"points/classicnoise2d": "@absulit/points/build/core/classicnoise2d.min.js",
"points/classicnoise3d": "@absulit/points/build/core/classicnoise3d.min.js",
"points/random": "@absulit/points/build/core/random.min.js",
"points/sdf": "@absulit/points/build/core/sdf.min.js"
}
}- Add/Create
jsconfig.json(for intellisense)
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"points": ["node_modules/@absulit/points/build/points.js"],
"points/animation": ["node_modules/@absulit/points/build/core/animation"],
"points/audio": ["node_modules/@absulit/points/build/core/audio"],
"points/color": ["node_modules/@absulit/points/build/core/color"],
"points/debug": ["node_modules/@absulit/points/build/core/debug"],
"points/effects": ["node_modules/@absulit/points/build/core/effects"],
"points/image": ["node_modules/@absulit/points/build/core/image"],
"points/math": ["node_modules/@absulit/points/build/core/math"],
"points/noise2d": ["node_modules/@absulit/points/build/core/noise2d"],
"points/classicnoise2d": ["node_modules/@absulit/points/build/core/classicnoise2d"],
"points/classicnoise3d": ["node_modules/@absulit/points/build/core/classicnoise3d"],
"points/random": ["node_modules/@absulit/points/build/core/random"],
"points/sdf": ["node_modules/@absulit/points/build/core/sdf"]
}
}
}-
Reload Windowin vscode to reloadjsconfig.json- Press
Ctrl + Shift + P> Developer: Reload Window
- Press
-
Install parcel (or any live server that is able to recognize importmaps or path aliases)
npm install --save-dev parcel- Run live server
npx parcel index.htmlNote: if an error shows up after running
parcel, delete this line"main": "main.js",from package.json
Note: if you copy the example directory you can just run
bun installandbun start
-
create
index.htmlandmain.jsAdd main as module in
index.html
<script type="module" src="main.js"></script>- Install
points
bun init #select blank
# select only one of the following two
bun i @absulit/points # npm package or
bun x jsr add @absulit/points # jsr package- Add to
tsconfig.json(for intellisense)
{
"compilerOptions": {
"baseUrl": ".",
"paths": {
"points": ["node_modules/@absulit/points/build/points.js"],
"points/animation": ["node_modules/@absulit/points/build/core/animation"],
"points/audio": ["node_modules/@absulit/points/build/core/audio"],
"points/color": ["node_modules/@absulit/points/build/core/color"],
"points/debug": ["node_modules/@absulit/points/build/core/debug"],
"points/effects": ["node_modules/@absulit/points/build/core/effects"],
"points/image": ["node_modules/@absulit/points/build/core/image"],
"points/math": ["node_modules/@absulit/points/build/core/math"],
"points/noise2d": ["node_modules/@absulit/points/build/core/noise2d"],
"points/classicnoise2d": ["node_modules/@absulit/points/build/core/classicnoise2d"],
"points/classicnoise3d": ["node_modules/@absulit/points/build/core/classicnoise3d"],
"points/random": ["node_modules/@absulit/points/build/core/random"],
"points/sdf": ["node_modules/@absulit/points/build/core/sdf"]
}
}
}- Run server
bun index.html