@benev/math 0.3.0-3 → 0.3.0-4
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.
- package/package.json +1 -1
- package/s/index.ts +1 -2
- package/s/tools/noise.ts +5 -15
- package/s/tools/randy.ts +4 -4
- package/x/index.d.ts +1 -2
- package/x/index.js +1 -2
- package/x/index.js.map +1 -1
- package/x/tools/noise.d.ts +1 -8
- package/x/tools/noise.js +5 -16
- package/x/tools/noise.js.map +1 -1
- package/x/tools/randy.d.ts +2 -2
- package/x/tools/randy.js +4 -4
- package/x/tools/randy.js.map +1 -1
- package/s/tools/make-noise.ts +0 -13
- package/x/tools/make-noise.d.ts +0 -2
- package/x/tools/make-noise.js +0 -9
- package/x/tools/make-noise.js.map +0 -1
package/package.json
CHANGED
package/s/index.ts
CHANGED
|
@@ -7,9 +7,8 @@ export * from "./core/vec3.js"
|
|
|
7
7
|
export * from "./core/vec4.js"
|
|
8
8
|
|
|
9
9
|
export * from "./tools/angles.js"
|
|
10
|
-
export * from "./tools/noise.js"
|
|
11
10
|
export * from "./tools/randy.js"
|
|
12
|
-
export * from "./tools/
|
|
11
|
+
export * from "./tools/noise.js"
|
|
13
12
|
export * as spline from "./tools/spline.js"
|
|
14
13
|
|
|
15
14
|
export * from "./optimizers/hash-map.js"
|
package/s/tools/noise.ts
CHANGED
|
@@ -1,22 +1,12 @@
|
|
|
1
1
|
|
|
2
|
-
import {Randy, Random} from "./randy.js"
|
|
3
2
|
import {createNoise2D} from "simplex-noise"
|
|
3
|
+
import {Random} from "./randy.js"
|
|
4
4
|
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
const random = Randy.makeRandom(seed)
|
|
8
|
-
return new this(random)
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
#n2d: (x: number, y: number) => number
|
|
12
|
-
|
|
13
|
-
constructor(public readonly random: Random) {
|
|
14
|
-
this.#n2d = createNoise2D(random)
|
|
15
|
-
}
|
|
5
|
+
export function makeNoiseSampler(random: Random) {
|
|
6
|
+
const noise2d = createNoise2D(random)
|
|
16
7
|
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
const s = this.#n2d(x * scale, y * scale)
|
|
8
|
+
return (x: number, y = 0, scale = 1) => {
|
|
9
|
+
const s = noise2d(x * scale, y * scale)
|
|
20
10
|
return (s + 1) / 2
|
|
21
11
|
}
|
|
22
12
|
}
|
package/s/tools/randy.ts
CHANGED
|
@@ -5,17 +5,17 @@ export type Random = () => number
|
|
|
5
5
|
export class Randy {
|
|
6
6
|
random: Random
|
|
7
7
|
|
|
8
|
-
constructor(public readonly seed
|
|
9
|
-
this.random = Randy.
|
|
8
|
+
constructor(public readonly seed = Randy.seed()) {
|
|
9
|
+
this.random = Randy.random(seed)
|
|
10
10
|
}
|
|
11
11
|
|
|
12
12
|
/** obtain a random positive 32 bit integer. */
|
|
13
|
-
static
|
|
13
|
+
static seed() {
|
|
14
14
|
return Math.floor(Math.random() * 2147483647)
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
/** seed a pseudo-random number generator function that produces numbers between 0 and 1. */
|
|
18
|
-
static
|
|
18
|
+
static random(seed = Randy.seed()): Random {
|
|
19
19
|
seed = (seed ^ 0x6D2B79F5) + 0x1E35A7BD
|
|
20
20
|
seed = (Math.abs(seed | 0) % 2147483647) || 1
|
|
21
21
|
|
package/x/index.d.ts
CHANGED
|
@@ -5,9 +5,8 @@ export * from "./core/vec2.js";
|
|
|
5
5
|
export * from "./core/vec3.js";
|
|
6
6
|
export * from "./core/vec4.js";
|
|
7
7
|
export * from "./tools/angles.js";
|
|
8
|
-
export * from "./tools/noise.js";
|
|
9
8
|
export * from "./tools/randy.js";
|
|
10
|
-
export * from "./tools/
|
|
9
|
+
export * from "./tools/noise.js";
|
|
11
10
|
export * as spline from "./tools/spline.js";
|
|
12
11
|
export * from "./optimizers/hash-map.js";
|
|
13
12
|
export * from "./optimizers/hash-set.js";
|
package/x/index.js
CHANGED
|
@@ -5,9 +5,8 @@ export * from "./core/vec2.js";
|
|
|
5
5
|
export * from "./core/vec3.js";
|
|
6
6
|
export * from "./core/vec4.js";
|
|
7
7
|
export * from "./tools/angles.js";
|
|
8
|
-
export * from "./tools/noise.js";
|
|
9
8
|
export * from "./tools/randy.js";
|
|
10
|
-
export * from "./tools/
|
|
9
|
+
export * from "./tools/noise.js";
|
|
11
10
|
export * as spline from "./tools/spline.js";
|
|
12
11
|
export * from "./optimizers/hash-map.js";
|
|
13
12
|
export * from "./optimizers/hash-set.js";
|
package/x/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAE9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../s/index.ts"],"names":[],"mappings":"AACA,cAAc,oBAAoB,CAAA;AAClC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,kBAAkB,CAAA;AAChC,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,gBAAgB,CAAA;AAE9B,cAAc,mBAAmB,CAAA;AACjC,cAAc,kBAAkB,CAAA;AAChC,cAAc,kBAAkB,CAAA;AAChC,OAAO,KAAK,MAAM,MAAM,mBAAmB,CAAA;AAE3C,cAAc,0BAA0B,CAAA;AACxC,cAAc,0BAA0B,CAAA;AACxC,cAAc,qBAAqB,CAAA;AAEnC,cAAc,oBAAoB,CAAA;AAElC,cAAc,mBAAmB,CAAA"}
|
package/x/tools/noise.d.ts
CHANGED
|
@@ -1,9 +1,2 @@
|
|
|
1
1
|
import { Random } from "./randy.js";
|
|
2
|
-
export declare
|
|
3
|
-
#private;
|
|
4
|
-
readonly random: Random;
|
|
5
|
-
static seed(seed?: number): Noise;
|
|
6
|
-
constructor(random: Random);
|
|
7
|
-
/** sample the noise field, returning a number from 0 to 1. */
|
|
8
|
-
sample(x: number, y?: number, scale?: number): number;
|
|
9
|
-
}
|
|
2
|
+
export declare function makeNoiseSampler(random: Random): (x: number, y?: number, scale?: number) => number;
|
package/x/tools/noise.js
CHANGED
|
@@ -1,20 +1,9 @@
|
|
|
1
|
-
import { Randy } from "./randy.js";
|
|
2
1
|
import { createNoise2D } from "simplex-noise";
|
|
3
|
-
export
|
|
4
|
-
random;
|
|
5
|
-
|
|
6
|
-
const
|
|
7
|
-
return new this(random);
|
|
8
|
-
}
|
|
9
|
-
#n2d;
|
|
10
|
-
constructor(random) {
|
|
11
|
-
this.random = random;
|
|
12
|
-
this.#n2d = createNoise2D(random);
|
|
13
|
-
}
|
|
14
|
-
/** sample the noise field, returning a number from 0 to 1. */
|
|
15
|
-
sample(x, y = 0, scale = 1) {
|
|
16
|
-
const s = this.#n2d(x * scale, y * scale);
|
|
2
|
+
export function makeNoiseSampler(random) {
|
|
3
|
+
const noise2d = createNoise2D(random);
|
|
4
|
+
return (x, y = 0, scale = 1) => {
|
|
5
|
+
const s = noise2d(x * scale, y * scale);
|
|
17
6
|
return (s + 1) / 2;
|
|
18
|
-
}
|
|
7
|
+
};
|
|
19
8
|
}
|
|
20
9
|
//# sourceMappingURL=noise.js.map
|
package/x/tools/noise.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"noise.js","sourceRoot":"","sources":["../../s/tools/noise.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,
|
|
1
|
+
{"version":3,"file":"noise.js","sourceRoot":"","sources":["../../s/tools/noise.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAA;AAG3C,MAAM,UAAU,gBAAgB,CAAC,MAAc;IAC9C,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IAErC,OAAO,CAAC,CAAS,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE;QACtC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAA;QACvC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC,CAAA;AACF,CAAC"}
|
package/x/tools/randy.d.ts
CHANGED
|
@@ -5,9 +5,9 @@ export declare class Randy {
|
|
|
5
5
|
random: Random;
|
|
6
6
|
constructor(seed?: number);
|
|
7
7
|
/** obtain a random positive 32 bit integer. */
|
|
8
|
-
static
|
|
8
|
+
static seed(): number;
|
|
9
9
|
/** seed a pseudo-random number generator function that produces numbers between 0 and 1. */
|
|
10
|
-
static
|
|
10
|
+
static random(seed?: number): Random;
|
|
11
11
|
/** obtain a random positive integer. */
|
|
12
12
|
integer(): number;
|
|
13
13
|
/** return true or false, given a 0 to 1 probability fraction. */
|
package/x/tools/randy.js
CHANGED
|
@@ -2,16 +2,16 @@
|
|
|
2
2
|
export class Randy {
|
|
3
3
|
seed;
|
|
4
4
|
random;
|
|
5
|
-
constructor(seed = Randy.
|
|
5
|
+
constructor(seed = Randy.seed()) {
|
|
6
6
|
this.seed = seed;
|
|
7
|
-
this.random = Randy.
|
|
7
|
+
this.random = Randy.random(seed);
|
|
8
8
|
}
|
|
9
9
|
/** obtain a random positive 32 bit integer. */
|
|
10
|
-
static
|
|
10
|
+
static seed() {
|
|
11
11
|
return Math.floor(Math.random() * 2147483647);
|
|
12
12
|
}
|
|
13
13
|
/** seed a pseudo-random number generator function that produces numbers between 0 and 1. */
|
|
14
|
-
static
|
|
14
|
+
static random(seed = Randy.seed()) {
|
|
15
15
|
seed = (seed ^ 0x6D2B79F5) + 0x1E35A7BD;
|
|
16
16
|
seed = (Math.abs(seed | 0) % 2147483647) || 1;
|
|
17
17
|
function random() {
|
package/x/tools/randy.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"randy.js","sourceRoot":"","sources":["../../s/tools/randy.ts"],"names":[],"mappings":"AAGA,uDAAuD;AACvD,MAAM,OAAO,KAAK;IAGW;IAF5B,MAAM,CAAQ;IAEd,YAA4B,
|
|
1
|
+
{"version":3,"file":"randy.js","sourceRoot":"","sources":["../../s/tools/randy.ts"],"names":[],"mappings":"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"}
|
package/s/tools/make-noise.ts
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
import {createNoise2D} from "simplex-noise"
|
|
3
|
-
import {Random} from "./randy.js"
|
|
4
|
-
|
|
5
|
-
export function makeNoise(random: Random) {
|
|
6
|
-
const noise2d = createNoise2D(random)
|
|
7
|
-
|
|
8
|
-
return (x: number, y = 0, scale = 1) => {
|
|
9
|
-
const s = noise2d(x * scale, y * scale)
|
|
10
|
-
return (s + 1) / 2
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
|
package/x/tools/make-noise.d.ts
DELETED
package/x/tools/make-noise.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { createNoise2D } from "simplex-noise";
|
|
2
|
-
export function makeNoise(random) {
|
|
3
|
-
const noise2d = createNoise2D(random);
|
|
4
|
-
return (x, y = 0, scale = 1) => {
|
|
5
|
-
const s = noise2d(x * scale, y * scale);
|
|
6
|
-
return (s + 1) / 2;
|
|
7
|
-
};
|
|
8
|
-
}
|
|
9
|
-
//# sourceMappingURL=make-noise.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"make-noise.js","sourceRoot":"","sources":["../../s/tools/make-noise.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,aAAa,EAAC,MAAM,eAAe,CAAA;AAG3C,MAAM,UAAU,SAAS,CAAC,MAAc;IACvC,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,CAAA;IAErC,OAAO,CAAC,CAAS,EAAE,CAAC,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE;QACtC,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC,GAAG,KAAK,CAAC,CAAA;QACvC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAA;IACnB,CAAC,CAAA;AACF,CAAC"}
|