@tsparticles/simplex-noise 4.0.0-alpha.2 → 4.0.0-alpha.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,15 @@
1
1
  import { shuffleSeed } from "../utils.js";
2
2
  export class SimplexNoise2D {
3
+ _NORM_2D;
4
+ _SQUISH_2D;
5
+ _STRETCH_2D;
6
+ _base2D;
7
+ _gradients2D;
8
+ _lookup;
9
+ _lookupPairs2D;
10
+ _p2D;
11
+ _perm;
12
+ _perm2D;
3
13
  constructor() {
4
14
  this._NORM_2D = 1.0 / 47.0;
5
15
  this._SQUISH_2D = (Math.sqrt(2 + 1) - 1) / 2;
@@ -83,8 +93,7 @@ export class SimplexNoise2D {
83
93
  this._perm2D = new Uint8Array(256);
84
94
  }
85
95
  noise(x, y) {
86
- const { _gradients2D, _NORM_2D, _SQUISH_2D, _STRETCH_2D, _lookup, _perm, _perm2D } = this;
87
- const stretchOffset = (x + y) * _STRETCH_2D, xs = x + stretchOffset, ys = y + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), squishOffset = (xsb + ysb) * _SQUISH_2D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), xins = xs - xsb, yins = ys - ysb, inSum = xins + yins, hash = (xins - yins + 1) | (inSum << 1) | ((inSum + yins) << 2) | ((inSum + xins) << 4);
96
+ const { _gradients2D, _NORM_2D, _SQUISH_2D, _STRETCH_2D, _lookup, _perm, _perm2D } = this, stretchOffset = (x + y) * _STRETCH_2D, xs = x + stretchOffset, ys = y + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), squishOffset = (xsb + ysb) * _SQUISH_2D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), xins = xs - xsb, yins = ys - ysb, inSum = xins + yins, hash = (xins - yins + 1) | (inSum << 1) | ((inSum + yins) << 2) | ((inSum + xins) << 4);
88
97
  let value = 0;
89
98
  for (let c = _lookup[hash]; c !== undefined; c = c.next) {
90
99
  const dx = dx0 + c.dx, dy = dy0 + c.dy, attn = 2 - dx * dx - dy * dy;
@@ -96,8 +105,7 @@ export class SimplexNoise2D {
96
105
  return value * _NORM_2D;
97
106
  }
98
107
  seed(clientSeed) {
99
- const { _p2D, _base2D, _lookupPairs2D } = this;
100
- const contributions = [];
108
+ const { _p2D, _base2D, _lookupPairs2D } = this, contributions = [];
101
109
  for (let i = 0; i < _p2D.length; i += 4) {
102
110
  const baseSet = _base2D[_p2D[i]];
103
111
  let previous = null, current = null;
@@ -1,5 +1,15 @@
1
1
  import { shuffleSeed } from "../utils.js";
2
2
  export class SimplexNoise3D {
3
+ _NORM_3D;
4
+ _SQUISH_3D;
5
+ _STRETCH_3D;
6
+ _base3D;
7
+ _gradients3D;
8
+ _lookup;
9
+ _lookupPairs3D;
10
+ _p3D;
11
+ _perm;
12
+ _perm3D;
3
13
  constructor() {
4
14
  this._NORM_3D = 1.0 / 103.0;
5
15
  this._SQUISH_3D = (Math.sqrt(3 + 1) - 1) / 3;
@@ -1,5 +1,15 @@
1
1
  import { shuffleSeed } from "../utils.js";
2
2
  export class SimplexNoise4D {
3
+ _NORM_4D;
4
+ _SQUISH_4D;
5
+ _STRETCH_4D;
6
+ _base4D;
7
+ _gradients4D;
8
+ _lookup;
9
+ _lookupPairs4D;
10
+ _p4D;
11
+ _perm;
12
+ _perm4D;
3
13
  constructor() {
4
14
  this._NORM_4D = 1.0 / 30.0;
5
15
  this._SQUISH_4D = (Math.sqrt(4 + 1) - 1) * 0.25;
@@ -2779,8 +2789,7 @@ export class SimplexNoise4D {
2779
2789
  ];
2780
2790
  }
2781
2791
  noise(x, y, z, w) {
2782
- const { _perm, _perm4D, _lookup, _STRETCH_4D, _SQUISH_4D, _gradients4D, _NORM_4D } = this;
2783
- const stretchOffset = (x + y + z + w) * _STRETCH_4D, xs = x + stretchOffset, ys = y + stretchOffset, zs = z + stretchOffset, ws = w + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), zsb = Math.floor(zs), wsb = Math.floor(ws), squishOffset = (xsb + ysb + zsb + wsb) * _SQUISH_4D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), dz0 = z - (zsb + squishOffset), dw0 = w - (wsb + squishOffset), xins = xs - xsb, yins = ys - ysb, zins = zs - zsb, wins = ws - wsb, inSum = xins + yins + zins + wins, hash = (zins - wins + 1) |
2792
+ const { _perm, _perm4D, _lookup, _STRETCH_4D, _SQUISH_4D, _gradients4D, _NORM_4D } = this, stretchOffset = (x + y + z + w) * _STRETCH_4D, xs = x + stretchOffset, ys = y + stretchOffset, zs = z + stretchOffset, ws = w + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), zsb = Math.floor(zs), wsb = Math.floor(ws), squishOffset = (xsb + ysb + zsb + wsb) * _SQUISH_4D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), dz0 = z - (zsb + squishOffset), dw0 = w - (wsb + squishOffset), xins = xs - xsb, yins = ys - ysb, zins = zs - zsb, wins = ws - wsb, inSum = xins + yins + zins + wins, hash = (zins - wins + 1) |
2784
2793
  ((yins - zins + 1) << 1) |
2785
2794
  ((yins - wins + 1) << 2) |
2786
2795
  ((xins - yins + 1) << 3) |
@@ -2805,8 +2814,7 @@ export class SimplexNoise4D {
2805
2814
  return value * _NORM_4D;
2806
2815
  }
2807
2816
  seed(clientSeed) {
2808
- const { _p4D, _base4D, _lookupPairs4D } = this;
2809
- const contributions = [];
2817
+ const { _p4D, _base4D, _lookupPairs4D } = this, contributions = [];
2810
2818
  for (let i = 0; i < _p4D.length; i += 16) {
2811
2819
  const baseSet = _base4D[_p4D[i]];
2812
2820
  let previous = null, current = null;
@@ -2,6 +2,9 @@ import { SimplexNoise2D } from "./Classes/SimplexNoise2D.js";
2
2
  import { SimplexNoise3D } from "./Classes/SimplexNoise3D.js";
3
3
  import { SimplexNoise4D } from "./Classes/SimplexNoise4D.js";
4
4
  export class SimplexNoise {
5
+ noise2d;
6
+ noise3d;
7
+ noise4d;
5
8
  constructor() {
6
9
  this.noise2d = new SimplexNoise2D();
7
10
  this.noise3d = new SimplexNoise3D();
@@ -1,5 +1,15 @@
1
1
  import { shuffleSeed } from "../utils.js";
2
2
  export class SimplexNoise2D {
3
+ _NORM_2D;
4
+ _SQUISH_2D;
5
+ _STRETCH_2D;
6
+ _base2D;
7
+ _gradients2D;
8
+ _lookup;
9
+ _lookupPairs2D;
10
+ _p2D;
11
+ _perm;
12
+ _perm2D;
3
13
  constructor() {
4
14
  this._NORM_2D = 1.0 / 47.0;
5
15
  this._SQUISH_2D = (Math.sqrt(2 + 1) - 1) / 2;
@@ -83,8 +93,7 @@ export class SimplexNoise2D {
83
93
  this._perm2D = new Uint8Array(256);
84
94
  }
85
95
  noise(x, y) {
86
- const { _gradients2D, _NORM_2D, _SQUISH_2D, _STRETCH_2D, _lookup, _perm, _perm2D } = this;
87
- const stretchOffset = (x + y) * _STRETCH_2D, xs = x + stretchOffset, ys = y + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), squishOffset = (xsb + ysb) * _SQUISH_2D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), xins = xs - xsb, yins = ys - ysb, inSum = xins + yins, hash = (xins - yins + 1) | (inSum << 1) | ((inSum + yins) << 2) | ((inSum + xins) << 4);
96
+ const { _gradients2D, _NORM_2D, _SQUISH_2D, _STRETCH_2D, _lookup, _perm, _perm2D } = this, stretchOffset = (x + y) * _STRETCH_2D, xs = x + stretchOffset, ys = y + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), squishOffset = (xsb + ysb) * _SQUISH_2D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), xins = xs - xsb, yins = ys - ysb, inSum = xins + yins, hash = (xins - yins + 1) | (inSum << 1) | ((inSum + yins) << 2) | ((inSum + xins) << 4);
88
97
  let value = 0;
89
98
  for (let c = _lookup[hash]; c !== undefined; c = c.next) {
90
99
  const dx = dx0 + c.dx, dy = dy0 + c.dy, attn = 2 - dx * dx - dy * dy;
@@ -96,8 +105,7 @@ export class SimplexNoise2D {
96
105
  return value * _NORM_2D;
97
106
  }
98
107
  seed(clientSeed) {
99
- const { _p2D, _base2D, _lookupPairs2D } = this;
100
- const contributions = [];
108
+ const { _p2D, _base2D, _lookupPairs2D } = this, contributions = [];
101
109
  for (let i = 0; i < _p2D.length; i += 4) {
102
110
  const baseSet = _base2D[_p2D[i]];
103
111
  let previous = null, current = null;
@@ -1,5 +1,15 @@
1
1
  import { shuffleSeed } from "../utils.js";
2
2
  export class SimplexNoise3D {
3
+ _NORM_3D;
4
+ _SQUISH_3D;
5
+ _STRETCH_3D;
6
+ _base3D;
7
+ _gradients3D;
8
+ _lookup;
9
+ _lookupPairs3D;
10
+ _p3D;
11
+ _perm;
12
+ _perm3D;
3
13
  constructor() {
4
14
  this._NORM_3D = 1.0 / 103.0;
5
15
  this._SQUISH_3D = (Math.sqrt(3 + 1) - 1) / 3;
@@ -1,5 +1,15 @@
1
1
  import { shuffleSeed } from "../utils.js";
2
2
  export class SimplexNoise4D {
3
+ _NORM_4D;
4
+ _SQUISH_4D;
5
+ _STRETCH_4D;
6
+ _base4D;
7
+ _gradients4D;
8
+ _lookup;
9
+ _lookupPairs4D;
10
+ _p4D;
11
+ _perm;
12
+ _perm4D;
3
13
  constructor() {
4
14
  this._NORM_4D = 1.0 / 30.0;
5
15
  this._SQUISH_4D = (Math.sqrt(4 + 1) - 1) * 0.25;
@@ -2779,8 +2789,7 @@ export class SimplexNoise4D {
2779
2789
  ];
2780
2790
  }
2781
2791
  noise(x, y, z, w) {
2782
- const { _perm, _perm4D, _lookup, _STRETCH_4D, _SQUISH_4D, _gradients4D, _NORM_4D } = this;
2783
- const stretchOffset = (x + y + z + w) * _STRETCH_4D, xs = x + stretchOffset, ys = y + stretchOffset, zs = z + stretchOffset, ws = w + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), zsb = Math.floor(zs), wsb = Math.floor(ws), squishOffset = (xsb + ysb + zsb + wsb) * _SQUISH_4D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), dz0 = z - (zsb + squishOffset), dw0 = w - (wsb + squishOffset), xins = xs - xsb, yins = ys - ysb, zins = zs - zsb, wins = ws - wsb, inSum = xins + yins + zins + wins, hash = (zins - wins + 1) |
2792
+ const { _perm, _perm4D, _lookup, _STRETCH_4D, _SQUISH_4D, _gradients4D, _NORM_4D } = this, stretchOffset = (x + y + z + w) * _STRETCH_4D, xs = x + stretchOffset, ys = y + stretchOffset, zs = z + stretchOffset, ws = w + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), zsb = Math.floor(zs), wsb = Math.floor(ws), squishOffset = (xsb + ysb + zsb + wsb) * _SQUISH_4D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), dz0 = z - (zsb + squishOffset), dw0 = w - (wsb + squishOffset), xins = xs - xsb, yins = ys - ysb, zins = zs - zsb, wins = ws - wsb, inSum = xins + yins + zins + wins, hash = (zins - wins + 1) |
2784
2793
  ((yins - zins + 1) << 1) |
2785
2794
  ((yins - wins + 1) << 2) |
2786
2795
  ((xins - yins + 1) << 3) |
@@ -2805,8 +2814,7 @@ export class SimplexNoise4D {
2805
2814
  return value * _NORM_4D;
2806
2815
  }
2807
2816
  seed(clientSeed) {
2808
- const { _p4D, _base4D, _lookupPairs4D } = this;
2809
- const contributions = [];
2817
+ const { _p4D, _base4D, _lookupPairs4D } = this, contributions = [];
2810
2818
  for (let i = 0; i < _p4D.length; i += 16) {
2811
2819
  const baseSet = _base4D[_p4D[i]];
2812
2820
  let previous = null, current = null;
@@ -2,6 +2,9 @@ import { SimplexNoise2D } from "./Classes/SimplexNoise2D.js";
2
2
  import { SimplexNoise3D } from "./Classes/SimplexNoise3D.js";
3
3
  import { SimplexNoise4D } from "./Classes/SimplexNoise4D.js";
4
4
  export class SimplexNoise {
5
+ noise2d;
6
+ noise3d;
7
+ noise4d;
5
8
  constructor() {
6
9
  this.noise2d = new SimplexNoise2D();
7
10
  this.noise3d = new SimplexNoise3D();
@@ -1,5 +1,15 @@
1
1
  import { shuffleSeed } from "../utils.js";
2
2
  export class SimplexNoise2D {
3
+ _NORM_2D;
4
+ _SQUISH_2D;
5
+ _STRETCH_2D;
6
+ _base2D;
7
+ _gradients2D;
8
+ _lookup;
9
+ _lookupPairs2D;
10
+ _p2D;
11
+ _perm;
12
+ _perm2D;
3
13
  constructor() {
4
14
  this._NORM_2D = 1.0 / 47.0;
5
15
  this._SQUISH_2D = (Math.sqrt(2 + 1) - 1) / 2;
@@ -83,8 +93,7 @@ export class SimplexNoise2D {
83
93
  this._perm2D = new Uint8Array(256);
84
94
  }
85
95
  noise(x, y) {
86
- const { _gradients2D, _NORM_2D, _SQUISH_2D, _STRETCH_2D, _lookup, _perm, _perm2D } = this;
87
- const stretchOffset = (x + y) * _STRETCH_2D, xs = x + stretchOffset, ys = y + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), squishOffset = (xsb + ysb) * _SQUISH_2D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), xins = xs - xsb, yins = ys - ysb, inSum = xins + yins, hash = (xins - yins + 1) | (inSum << 1) | ((inSum + yins) << 2) | ((inSum + xins) << 4);
96
+ const { _gradients2D, _NORM_2D, _SQUISH_2D, _STRETCH_2D, _lookup, _perm, _perm2D } = this, stretchOffset = (x + y) * _STRETCH_2D, xs = x + stretchOffset, ys = y + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), squishOffset = (xsb + ysb) * _SQUISH_2D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), xins = xs - xsb, yins = ys - ysb, inSum = xins + yins, hash = (xins - yins + 1) | (inSum << 1) | ((inSum + yins) << 2) | ((inSum + xins) << 4);
88
97
  let value = 0;
89
98
  for (let c = _lookup[hash]; c !== undefined; c = c.next) {
90
99
  const dx = dx0 + c.dx, dy = dy0 + c.dy, attn = 2 - dx * dx - dy * dy;
@@ -96,8 +105,7 @@ export class SimplexNoise2D {
96
105
  return value * _NORM_2D;
97
106
  }
98
107
  seed(clientSeed) {
99
- const { _p2D, _base2D, _lookupPairs2D } = this;
100
- const contributions = [];
108
+ const { _p2D, _base2D, _lookupPairs2D } = this, contributions = [];
101
109
  for (let i = 0; i < _p2D.length; i += 4) {
102
110
  const baseSet = _base2D[_p2D[i]];
103
111
  let previous = null, current = null;
@@ -1,5 +1,15 @@
1
1
  import { shuffleSeed } from "../utils.js";
2
2
  export class SimplexNoise3D {
3
+ _NORM_3D;
4
+ _SQUISH_3D;
5
+ _STRETCH_3D;
6
+ _base3D;
7
+ _gradients3D;
8
+ _lookup;
9
+ _lookupPairs3D;
10
+ _p3D;
11
+ _perm;
12
+ _perm3D;
3
13
  constructor() {
4
14
  this._NORM_3D = 1.0 / 103.0;
5
15
  this._SQUISH_3D = (Math.sqrt(3 + 1) - 1) / 3;
@@ -1,5 +1,15 @@
1
1
  import { shuffleSeed } from "../utils.js";
2
2
  export class SimplexNoise4D {
3
+ _NORM_4D;
4
+ _SQUISH_4D;
5
+ _STRETCH_4D;
6
+ _base4D;
7
+ _gradients4D;
8
+ _lookup;
9
+ _lookupPairs4D;
10
+ _p4D;
11
+ _perm;
12
+ _perm4D;
3
13
  constructor() {
4
14
  this._NORM_4D = 1.0 / 30.0;
5
15
  this._SQUISH_4D = (Math.sqrt(4 + 1) - 1) * 0.25;
@@ -2779,8 +2789,7 @@ export class SimplexNoise4D {
2779
2789
  ];
2780
2790
  }
2781
2791
  noise(x, y, z, w) {
2782
- const { _perm, _perm4D, _lookup, _STRETCH_4D, _SQUISH_4D, _gradients4D, _NORM_4D } = this;
2783
- const stretchOffset = (x + y + z + w) * _STRETCH_4D, xs = x + stretchOffset, ys = y + stretchOffset, zs = z + stretchOffset, ws = w + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), zsb = Math.floor(zs), wsb = Math.floor(ws), squishOffset = (xsb + ysb + zsb + wsb) * _SQUISH_4D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), dz0 = z - (zsb + squishOffset), dw0 = w - (wsb + squishOffset), xins = xs - xsb, yins = ys - ysb, zins = zs - zsb, wins = ws - wsb, inSum = xins + yins + zins + wins, hash = (zins - wins + 1) |
2792
+ const { _perm, _perm4D, _lookup, _STRETCH_4D, _SQUISH_4D, _gradients4D, _NORM_4D } = this, stretchOffset = (x + y + z + w) * _STRETCH_4D, xs = x + stretchOffset, ys = y + stretchOffset, zs = z + stretchOffset, ws = w + stretchOffset, xsb = Math.floor(xs), ysb = Math.floor(ys), zsb = Math.floor(zs), wsb = Math.floor(ws), squishOffset = (xsb + ysb + zsb + wsb) * _SQUISH_4D, dx0 = x - (xsb + squishOffset), dy0 = y - (ysb + squishOffset), dz0 = z - (zsb + squishOffset), dw0 = w - (wsb + squishOffset), xins = xs - xsb, yins = ys - ysb, zins = zs - zsb, wins = ws - wsb, inSum = xins + yins + zins + wins, hash = (zins - wins + 1) |
2784
2793
  ((yins - zins + 1) << 1) |
2785
2794
  ((yins - wins + 1) << 2) |
2786
2795
  ((xins - yins + 1) << 3) |
@@ -2805,8 +2814,7 @@ export class SimplexNoise4D {
2805
2814
  return value * _NORM_4D;
2806
2815
  }
2807
2816
  seed(clientSeed) {
2808
- const { _p4D, _base4D, _lookupPairs4D } = this;
2809
- const contributions = [];
2817
+ const { _p4D, _base4D, _lookupPairs4D } = this, contributions = [];
2810
2818
  for (let i = 0; i < _p4D.length; i += 16) {
2811
2819
  const baseSet = _base4D[_p4D[i]];
2812
2820
  let previous = null, current = null;
@@ -2,6 +2,9 @@ import { SimplexNoise2D } from "./Classes/SimplexNoise2D.js";
2
2
  import { SimplexNoise3D } from "./Classes/SimplexNoise3D.js";
3
3
  import { SimplexNoise4D } from "./Classes/SimplexNoise4D.js";
4
4
  export class SimplexNoise {
5
+ noise2d;
6
+ noise3d;
7
+ noise4d;
5
8
  constructor() {
6
9
  this.noise2d = new SimplexNoise2D();
7
10
  this.noise3d = new SimplexNoise3D();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsparticles/simplex-noise",
3
- "version": "4.0.0-alpha.2",
3
+ "version": "4.0.0-alpha.20",
4
4
  "description": "tsParticles simplex noise library",
5
5
  "homepage": "https://particles.js.org",
6
6
  "repository": {