@awesome-flow/noise 0.5.0 → 0.7.0
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/dist/abstract/index.cjs +701 -769
- package/dist/abstract/index.d.cts +6 -12
- package/dist/abstract/index.d.ts +6 -12
- package/dist/abstract/index.js +498 -568
- package/dist/{index-BungWYrh.d.cts → index-CfiOpOzX.d.cts} +1 -1
- package/dist/{index-DsQSjZC5.d.ts → index-mlK0X4O1.d.ts} +1 -1
- package/dist/modules/index.cjs +4 -30
- package/dist/modules/index.d.cts +2 -10
- package/dist/modules/index.d.ts +2 -10
- package/dist/modules/index.js +2 -17
- package/dist/{node-props-BbqbXDXn.d.cts → node-props-CAV2WNDN.d.cts} +3 -7
- package/dist/{node-props-BbqbXDXn.d.ts → node-props-CAV2WNDN.d.ts} +3 -7
- package/dist/nodes/generators/index.cjs +71 -114
- package/dist/nodes/generators/index.d.cts +3 -8
- package/dist/nodes/generators/index.d.ts +3 -8
- package/dist/nodes/generators/index.js +47 -79
- package/dist/nodes/index.cjs +642 -710
- package/dist/nodes/index.d.cts +3 -6
- package/dist/nodes/index.d.ts +3 -6
- package/dist/nodes/index.js +443 -512
- package/dist/nodes/modifiers/index.cjs +77 -89
- package/dist/nodes/modifiers/index.d.cts +2 -5
- package/dist/nodes/modifiers/index.d.ts +2 -5
- package/dist/nodes/modifiers/index.js +73 -85
- package/dist/nodes/output/index.cjs +239 -285
- package/dist/nodes/output/index.js +252 -290
- package/dist/nodes/selectors/index.cjs +230 -280
- package/dist/nodes/selectors/index.d.cts +2 -5
- package/dist/nodes/selectors/index.d.ts +2 -5
- package/dist/nodes/selectors/index.js +248 -290
- package/dist/nodes/transformers/index.cjs +10 -10
- package/dist/nodes/transformers/index.d.cts +2 -5
- package/dist/nodes/transformers/index.d.ts +2 -5
- package/dist/nodes/transformers/index.js +5 -5
- package/dist/templates/generators/index.cjs +201 -253
- package/dist/templates/generators/index.d.cts +3 -10
- package/dist/templates/generators/index.d.ts +3 -10
- package/dist/templates/generators/index.js +236 -279
- package/dist/templates/groups/index.cjs +201 -251
- package/dist/templates/groups/index.js +236 -278
- package/dist/templates/index.cjs +201 -253
- package/dist/templates/index.d.cts +4 -7
- package/dist/templates/index.d.ts +4 -7
- package/dist/templates/index.js +236 -279
- package/dist/templates/modifiers/index.cjs +201 -251
- package/dist/templates/modifiers/index.d.cts +2 -5
- package/dist/templates/modifiers/index.d.ts +2 -5
- package/dist/templates/modifiers/index.js +236 -278
- package/dist/templates/output/index.cjs +201 -251
- package/dist/templates/output/index.js +236 -278
- package/dist/templates/selectors/index.cjs +201 -251
- package/dist/templates/selectors/index.d.cts +2 -5
- package/dist/templates/selectors/index.d.ts +2 -5
- package/dist/templates/selectors/index.js +236 -278
- package/dist/templates/transformers/index.cjs +201 -251
- package/dist/templates/transformers/index.d.cts +3 -6
- package/dist/templates/transformers/index.d.ts +3 -6
- package/dist/templates/transformers/index.js +236 -278
- package/package.json +6 -4
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CustomNodeHandle, ITemplateFactory, NodeTemplate, BasicNodeData } from '@awesome-flow/core/abstract';
|
|
2
|
-
import { u as NodeRotatePointNoiseData, v as NodeScalePointNoiseData, w as NodeTranslatePointNoiseData, x as NodeTurbulenceNoiseData } from './node-props-
|
|
2
|
+
import { u as NodeRotatePointNoiseData, v as NodeScalePointNoiseData, w as NodeTranslatePointNoiseData, x as NodeTurbulenceNoiseData } from './node-props-CAV2WNDN.cjs';
|
|
3
3
|
|
|
4
4
|
declare enum NoiseHandleType {
|
|
5
5
|
texture = "texture",
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { CustomNodeHandle, ITemplateFactory, NodeTemplate, BasicNodeData } from '@awesome-flow/core/abstract';
|
|
2
|
-
import { u as NodeRotatePointNoiseData, v as NodeScalePointNoiseData, w as NodeTranslatePointNoiseData, x as NodeTurbulenceNoiseData } from './node-props-
|
|
2
|
+
import { u as NodeRotatePointNoiseData, v as NodeScalePointNoiseData, w as NodeTranslatePointNoiseData, x as NodeTurbulenceNoiseData } from './node-props-CAV2WNDN.js';
|
|
3
3
|
|
|
4
4
|
declare enum NoiseHandleType {
|
|
5
5
|
texture = "texture",
|
package/dist/modules/index.cjs
CHANGED
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
5
|
var __export = (target, all) => {
|
|
8
6
|
for (var name in all)
|
|
@@ -16,27 +14,18 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
14
|
}
|
|
17
15
|
return to;
|
|
18
16
|
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
18
|
|
|
29
19
|
// src/modules/index.ts
|
|
30
20
|
var modules_exports = {};
|
|
31
21
|
__export(modules_exports, {
|
|
32
|
-
NormalizeNoiseModule: () => NormalizeNoiseModule
|
|
33
|
-
SimplexModule: () => SimplexModule
|
|
22
|
+
NormalizeNoiseModule: () => NormalizeNoiseModule
|
|
34
23
|
});
|
|
35
24
|
module.exports = __toCommonJS(modules_exports);
|
|
36
25
|
|
|
37
26
|
// src/modules/normalize-noise-module.ts
|
|
38
|
-
var
|
|
39
|
-
var NormalizeNoiseModule = class extends
|
|
27
|
+
var import_libnoise_simplex_ts = require("libnoise-simplex-ts");
|
|
28
|
+
var NormalizeNoiseModule = class extends import_libnoise_simplex_ts.ModifierModule {
|
|
40
29
|
constructor(source, lowerBound, upperBound) {
|
|
41
30
|
super(source);
|
|
42
31
|
this.lowerBound = lowerBound;
|
|
@@ -49,22 +38,7 @@ var NormalizeNoiseModule = class extends import_modifier.default {
|
|
|
49
38
|
function normalize(value, min, max) {
|
|
50
39
|
return (value - min) / (max - min);
|
|
51
40
|
}
|
|
52
|
-
|
|
53
|
-
// src/modules/simplex-module.ts
|
|
54
|
-
var import_Module = __toESM(require("libnoise-ts/module/Module"), 1);
|
|
55
|
-
var import_simplex_noise = require("simplex-noise");
|
|
56
|
-
var SimplexModule = class extends import_Module.default {
|
|
57
|
-
noise;
|
|
58
|
-
constructor(random) {
|
|
59
|
-
super();
|
|
60
|
-
this.noise = (0, import_simplex_noise.createNoise3D)(random);
|
|
61
|
-
}
|
|
62
|
-
getValue(x, y, z) {
|
|
63
|
-
return this.noise(x, y, z);
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
41
|
// Annotate the CommonJS export names for ESM import in node:
|
|
67
42
|
0 && (module.exports = {
|
|
68
|
-
NormalizeNoiseModule
|
|
69
|
-
SimplexModule
|
|
43
|
+
NormalizeNoiseModule
|
|
70
44
|
});
|
package/dist/modules/index.d.cts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import Module from 'libnoise-ts
|
|
2
|
-
import ModifierModule from 'libnoise-ts/module/modifier';
|
|
3
|
-
import { RandomFn } from 'simplex-noise';
|
|
1
|
+
import { ModifierModule, Module } from 'libnoise-simplex-ts';
|
|
4
2
|
|
|
5
3
|
declare class NormalizeNoiseModule extends ModifierModule {
|
|
6
4
|
lowerBound: number;
|
|
@@ -9,10 +7,4 @@ declare class NormalizeNoiseModule extends ModifierModule {
|
|
|
9
7
|
getValue(x: number, y: number, z: number): number;
|
|
10
8
|
}
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
private noise;
|
|
14
|
-
constructor(random?: RandomFn);
|
|
15
|
-
getValue(x: number, y: number, z: number): number;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export { NormalizeNoiseModule, SimplexModule };
|
|
10
|
+
export { NormalizeNoiseModule };
|
package/dist/modules/index.d.ts
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
import Module from 'libnoise-ts
|
|
2
|
-
import ModifierModule from 'libnoise-ts/module/modifier';
|
|
3
|
-
import { RandomFn } from 'simplex-noise';
|
|
1
|
+
import { ModifierModule, Module } from 'libnoise-simplex-ts';
|
|
4
2
|
|
|
5
3
|
declare class NormalizeNoiseModule extends ModifierModule {
|
|
6
4
|
lowerBound: number;
|
|
@@ -9,10 +7,4 @@ declare class NormalizeNoiseModule extends ModifierModule {
|
|
|
9
7
|
getValue(x: number, y: number, z: number): number;
|
|
10
8
|
}
|
|
11
9
|
|
|
12
|
-
|
|
13
|
-
private noise;
|
|
14
|
-
constructor(random?: RandomFn);
|
|
15
|
-
getValue(x: number, y: number, z: number): number;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
export { NormalizeNoiseModule, SimplexModule };
|
|
10
|
+
export { NormalizeNoiseModule };
|
package/dist/modules/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// src/modules/normalize-noise-module.ts
|
|
2
|
-
import ModifierModule from "libnoise-ts
|
|
2
|
+
import { ModifierModule } from "libnoise-simplex-ts";
|
|
3
3
|
var NormalizeNoiseModule = class extends ModifierModule {
|
|
4
4
|
constructor(source, lowerBound, upperBound) {
|
|
5
5
|
super(source);
|
|
@@ -13,21 +13,6 @@ var NormalizeNoiseModule = class extends ModifierModule {
|
|
|
13
13
|
function normalize(value, min, max) {
|
|
14
14
|
return (value - min) / (max - min);
|
|
15
15
|
}
|
|
16
|
-
|
|
17
|
-
// src/modules/simplex-module.ts
|
|
18
|
-
import Module from "libnoise-ts/module/Module";
|
|
19
|
-
import { createNoise3D } from "simplex-noise";
|
|
20
|
-
var SimplexModule = class extends Module {
|
|
21
|
-
noise;
|
|
22
|
-
constructor(random) {
|
|
23
|
-
super();
|
|
24
|
-
this.noise = createNoise3D(random);
|
|
25
|
-
}
|
|
26
|
-
getValue(x, y, z) {
|
|
27
|
-
return this.noise(x, y, z);
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
16
|
export {
|
|
31
|
-
NormalizeNoiseModule
|
|
32
|
-
SimplexModule
|
|
17
|
+
NormalizeNoiseModule
|
|
33
18
|
};
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { BasicNodeData } from '@awesome-flow/core/abstract';
|
|
2
|
-
import GeneratorModule from 'libnoise-ts
|
|
3
|
-
import { Quality } from 'libnoise-ts/noisegen';
|
|
4
|
-
import Module from 'libnoise-ts/module/Module';
|
|
5
|
-
import { Add, Max, Min, Multiply, Power } from 'libnoise-ts/module/combiner';
|
|
2
|
+
import { Add, Max, Min, Multiply, Power, Module, GeneratorModule } from 'libnoise-simplex-ts';
|
|
6
3
|
|
|
7
4
|
declare enum NoiseCombineType {
|
|
8
5
|
add = "add",
|
|
@@ -44,7 +41,8 @@ type ComputedNoiseData = {
|
|
|
44
41
|
};
|
|
45
42
|
type ComputedNoiseTextureData = {
|
|
46
43
|
textureData: Uint8Array;
|
|
47
|
-
|
|
44
|
+
textureResolutionX: number;
|
|
45
|
+
textureResolutionY: number;
|
|
48
46
|
};
|
|
49
47
|
type NodePositionData = BasicNodeData & {
|
|
50
48
|
position: Position;
|
|
@@ -72,7 +70,6 @@ type NodeFBMNoiseData = BasicNodeData & {
|
|
|
72
70
|
persistence: number;
|
|
73
71
|
octaves: number;
|
|
74
72
|
seed: number;
|
|
75
|
-
quality?: Quality;
|
|
76
73
|
};
|
|
77
74
|
type NodeRidgedNoiseData = BasicNodeData & {
|
|
78
75
|
frequency: number;
|
|
@@ -81,7 +78,6 @@ type NodeRidgedNoiseData = BasicNodeData & {
|
|
|
81
78
|
offset: number;
|
|
82
79
|
gain: number;
|
|
83
80
|
seed: number;
|
|
84
|
-
quality?: Quality;
|
|
85
81
|
};
|
|
86
82
|
type NodeCylindersNoiseData = BasicNodeData & {
|
|
87
83
|
frequency: number;
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { BasicNodeData } from '@awesome-flow/core/abstract';
|
|
2
|
-
import GeneratorModule from 'libnoise-ts
|
|
3
|
-
import { Quality } from 'libnoise-ts/noisegen';
|
|
4
|
-
import Module from 'libnoise-ts/module/Module';
|
|
5
|
-
import { Add, Max, Min, Multiply, Power } from 'libnoise-ts/module/combiner';
|
|
2
|
+
import { Add, Max, Min, Multiply, Power, Module, GeneratorModule } from 'libnoise-simplex-ts';
|
|
6
3
|
|
|
7
4
|
declare enum NoiseCombineType {
|
|
8
5
|
add = "add",
|
|
@@ -44,7 +41,8 @@ type ComputedNoiseData = {
|
|
|
44
41
|
};
|
|
45
42
|
type ComputedNoiseTextureData = {
|
|
46
43
|
textureData: Uint8Array;
|
|
47
|
-
|
|
44
|
+
textureResolutionX: number;
|
|
45
|
+
textureResolutionY: number;
|
|
48
46
|
};
|
|
49
47
|
type NodePositionData = BasicNodeData & {
|
|
50
48
|
position: Position;
|
|
@@ -72,7 +70,6 @@ type NodeFBMNoiseData = BasicNodeData & {
|
|
|
72
70
|
persistence: number;
|
|
73
71
|
octaves: number;
|
|
74
72
|
seed: number;
|
|
75
|
-
quality?: Quality;
|
|
76
73
|
};
|
|
77
74
|
type NodeRidgedNoiseData = BasicNodeData & {
|
|
78
75
|
frequency: number;
|
|
@@ -81,7 +78,6 @@ type NodeRidgedNoiseData = BasicNodeData & {
|
|
|
81
78
|
offset: number;
|
|
82
79
|
gain: number;
|
|
83
80
|
seed: number;
|
|
84
|
-
quality?: Quality;
|
|
85
81
|
};
|
|
86
82
|
type NodeCylindersNoiseData = BasicNodeData & {
|
|
87
83
|
frequency: number;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
var __create = Object.create;
|
|
2
1
|
var __defProp = Object.defineProperty;
|
|
3
2
|
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
3
|
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
-
var __getProtoOf = Object.getPrototypeOf;
|
|
6
4
|
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
5
|
var __export = (target, all) => {
|
|
8
6
|
for (var name in all)
|
|
@@ -16,14 +14,6 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
14
|
}
|
|
17
15
|
return to;
|
|
18
16
|
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
17
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
18
|
|
|
29
19
|
// src/nodes/generators/index.ts
|
|
@@ -35,7 +25,6 @@ __export(generators_exports, {
|
|
|
35
25
|
NoiseCylindersNode: () => noise_cylinders_node_default,
|
|
36
26
|
NoisePerlinNode: () => noise_perlin_node_default,
|
|
37
27
|
NoiseRidgedMultiNode: () => noise_ridgedmulti_node_default,
|
|
38
|
-
NoiseSimplexNode: () => noise_simplex_node_default,
|
|
39
28
|
NoiseSpheresNode: () => noise_spheres_node_default,
|
|
40
29
|
NoiseVoronoiNode: () => noise_voronoi_node_default,
|
|
41
30
|
PositionConstNode: () => position_const_node_default,
|
|
@@ -46,13 +35,13 @@ module.exports = __toCommonJS(generators_exports);
|
|
|
46
35
|
// src/nodes/generators/noise-billow-node.tsx
|
|
47
36
|
var import_layout = require("@awesome-flow/core/layout");
|
|
48
37
|
var import_react = require("react");
|
|
49
|
-
var
|
|
38
|
+
var import_libnoise_simplex_ts = require("libnoise-simplex-ts");
|
|
50
39
|
var import_hooks = require("@awesome-flow/core/hooks");
|
|
51
40
|
var import_components = require("@awesome-flow/core/components");
|
|
52
41
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
53
42
|
function NoiseBillowNode({ id, selected, data, type }) {
|
|
54
43
|
const updateComputedData = (0, import_hooks.useUpdateNodeComputedData)();
|
|
55
|
-
const module2 = (0, import_react.useMemo)(() => new
|
|
44
|
+
const module2 = (0, import_react.useMemo)(() => new import_libnoise_simplex_ts.Billow(), []);
|
|
56
45
|
const onPropertiesChange = (0, import_react.useCallback)(
|
|
57
46
|
(properties) => {
|
|
58
47
|
Object.keys(properties).forEach((k) => {
|
|
@@ -72,12 +61,12 @@ var noise_billow_node_default = NoiseBillowNode;
|
|
|
72
61
|
// src/nodes/generators/noise-checkerboard-node.tsx
|
|
73
62
|
var import_layout2 = require("@awesome-flow/core/layout");
|
|
74
63
|
var import_react2 = require("react");
|
|
75
|
-
var
|
|
64
|
+
var import_libnoise_simplex_ts2 = require("libnoise-simplex-ts");
|
|
76
65
|
var import_hooks2 = require("@awesome-flow/core/hooks");
|
|
77
66
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
78
67
|
function NoiseCheckerboardNode({ id, selected, data, type }) {
|
|
79
68
|
const updateComputedData = (0, import_hooks2.useUpdateNodeComputedData)();
|
|
80
|
-
const module2 = (0, import_react2.useMemo)(() => new
|
|
69
|
+
const module2 = (0, import_react2.useMemo)(() => new import_libnoise_simplex_ts2.Checkerboard(), []);
|
|
81
70
|
(0, import_react2.useEffect)(() => {
|
|
82
71
|
updateComputedData(id, { module: module2 });
|
|
83
72
|
}, [id, module2, updateComputedData]);
|
|
@@ -90,7 +79,7 @@ var import_layout3 = require("@awesome-flow/core/layout");
|
|
|
90
79
|
var import_react3 = require("react");
|
|
91
80
|
var import_core = require("@mantine/core");
|
|
92
81
|
var import_hooks3 = require("@awesome-flow/core/hooks");
|
|
93
|
-
var
|
|
82
|
+
var import_libnoise_simplex_ts3 = require("libnoise-simplex-ts");
|
|
94
83
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
95
84
|
function NoiseConstNode({ id, selected, data, type }) {
|
|
96
85
|
const [min, setMin] = (0, import_react3.useState)(data.min);
|
|
@@ -98,7 +87,7 @@ function NoiseConstNode({ id, selected, data, type }) {
|
|
|
98
87
|
const [noise, setNoise] = (0, import_react3.useState)(data.noise);
|
|
99
88
|
const updateNodeData = (0, import_hooks3.useUpdateNodeData)();
|
|
100
89
|
const updateComputedData = (0, import_hooks3.useUpdateNodeComputedData)();
|
|
101
|
-
const module2 = (0, import_react3.useMemo)(() => new
|
|
90
|
+
const module2 = (0, import_react3.useMemo)(() => new import_libnoise_simplex_ts3.Const(), []);
|
|
102
91
|
(0, import_react3.useEffect)(() => {
|
|
103
92
|
module2.value = noise;
|
|
104
93
|
updateNodeData(id, { noise, min, max });
|
|
@@ -130,13 +119,13 @@ var noise_const_node_default = NoiseConstNode;
|
|
|
130
119
|
// src/nodes/generators/noise-cylinders-node.tsx
|
|
131
120
|
var import_layout4 = require("@awesome-flow/core/layout");
|
|
132
121
|
var import_react4 = require("react");
|
|
133
|
-
var
|
|
122
|
+
var import_libnoise_simplex_ts4 = require("libnoise-simplex-ts");
|
|
134
123
|
var import_hooks4 = require("@awesome-flow/core/hooks");
|
|
135
124
|
var import_components2 = require("@awesome-flow/core/components");
|
|
136
125
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
137
126
|
function NoiseCylindersNode({ id, selected, data, type }) {
|
|
138
127
|
const updateComputedData = (0, import_hooks4.useUpdateNodeComputedData)();
|
|
139
|
-
const module2 = (0, import_react4.useMemo)(() => new
|
|
128
|
+
const module2 = (0, import_react4.useMemo)(() => new import_libnoise_simplex_ts4.Cylinders(), []);
|
|
140
129
|
const onPropertiesChange = (0, import_react4.useCallback)(
|
|
141
130
|
(properties) => {
|
|
142
131
|
Object.keys(properties).forEach((k) => {
|
|
@@ -156,13 +145,13 @@ var noise_cylinders_node_default = NoiseCylindersNode;
|
|
|
156
145
|
// src/nodes/generators/noise-perlin-node.tsx
|
|
157
146
|
var import_layout5 = require("@awesome-flow/core/layout");
|
|
158
147
|
var import_react5 = require("react");
|
|
159
|
-
var
|
|
148
|
+
var import_libnoise_simplex_ts5 = require("libnoise-simplex-ts");
|
|
160
149
|
var import_hooks5 = require("@awesome-flow/core/hooks");
|
|
161
150
|
var import_components3 = require("@awesome-flow/core/components");
|
|
162
151
|
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
163
152
|
function NoisePerlinNode({ id, selected, data, type }) {
|
|
164
153
|
const updateComputedData = (0, import_hooks5.useUpdateNodeComputedData)();
|
|
165
|
-
const module2 = (0, import_react5.useMemo)(() => new
|
|
154
|
+
const module2 = (0, import_react5.useMemo)(() => new import_libnoise_simplex_ts5.Perlin(), []);
|
|
166
155
|
const onPropertiesChange = (0, import_react5.useCallback)(
|
|
167
156
|
(properties) => {
|
|
168
157
|
Object.keys(properties).forEach((k) => {
|
|
@@ -182,13 +171,13 @@ var noise_perlin_node_default = NoisePerlinNode;
|
|
|
182
171
|
// src/nodes/generators/noise-ridgedmulti-node.tsx
|
|
183
172
|
var import_layout6 = require("@awesome-flow/core/layout");
|
|
184
173
|
var import_react6 = require("react");
|
|
185
|
-
var
|
|
174
|
+
var import_libnoise_simplex_ts6 = require("libnoise-simplex-ts");
|
|
186
175
|
var import_hooks6 = require("@awesome-flow/core/hooks");
|
|
187
176
|
var import_components4 = require("@awesome-flow/core/components");
|
|
188
177
|
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
189
178
|
function NoiseRidgedMultiNode({ id, selected, data, type }) {
|
|
190
179
|
const updateComputedData = (0, import_hooks6.useUpdateNodeComputedData)();
|
|
191
|
-
const module2 = (0, import_react6.useMemo)(() => new
|
|
180
|
+
const module2 = (0, import_react6.useMemo)(() => new import_libnoise_simplex_ts6.RidgedMulti(), []);
|
|
192
181
|
const onPropertiesChange = (0, import_react6.useCallback)((properties) => {
|
|
193
182
|
Object.keys(properties).forEach((k) => module2[k] = properties[k].value);
|
|
194
183
|
updateComputedData(id, { module: module2 });
|
|
@@ -200,70 +189,39 @@ function NoiseRidgedMultiNode({ id, selected, data, type }) {
|
|
|
200
189
|
}
|
|
201
190
|
var noise_ridgedmulti_node_default = NoiseRidgedMultiNode;
|
|
202
191
|
|
|
203
|
-
// src/nodes/generators/noise-
|
|
192
|
+
// src/nodes/generators/noise-spheres-node.tsx
|
|
204
193
|
var import_layout7 = require("@awesome-flow/core/layout");
|
|
205
194
|
var import_react7 = require("react");
|
|
195
|
+
var import_libnoise_simplex_ts7 = require("libnoise-simplex-ts");
|
|
206
196
|
var import_hooks7 = require("@awesome-flow/core/hooks");
|
|
207
|
-
|
|
208
|
-
// src/modules/simplex-module.ts
|
|
209
|
-
var import_Module = __toESM(require("libnoise-ts/module/Module"), 1);
|
|
210
|
-
var import_simplex_noise = require("simplex-noise");
|
|
211
|
-
var SimplexModule = class extends import_Module.default {
|
|
212
|
-
noise;
|
|
213
|
-
constructor(random) {
|
|
214
|
-
super();
|
|
215
|
-
this.noise = (0, import_simplex_noise.createNoise3D)(random);
|
|
216
|
-
}
|
|
217
|
-
getValue(x, y, z) {
|
|
218
|
-
return this.noise(x, y, z);
|
|
219
|
-
}
|
|
220
|
-
};
|
|
221
|
-
|
|
222
|
-
// src/nodes/generators/noise-simplex-node.tsx
|
|
223
|
-
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
224
|
-
function NoiseSimplexNode({ id, selected, data, type }) {
|
|
225
|
-
const updateComputedData = (0, import_hooks7.useUpdateNodeComputedData)();
|
|
226
|
-
const module2 = (0, import_react7.useMemo)(() => new SimplexModule(), []);
|
|
227
|
-
(0, import_react7.useEffect)(() => {
|
|
228
|
-
updateComputedData(id, { module: module2 });
|
|
229
|
-
}, []);
|
|
230
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_layout7.NodeContainer, { id, selected, data, type });
|
|
231
|
-
}
|
|
232
|
-
var noise_simplex_node_default = NoiseSimplexNode;
|
|
233
|
-
|
|
234
|
-
// src/nodes/generators/noise-spheres-node.tsx
|
|
235
|
-
var import_layout8 = require("@awesome-flow/core/layout");
|
|
236
|
-
var import_react8 = require("react");
|
|
237
|
-
var import_generator7 = require("libnoise-ts/module/generator");
|
|
238
|
-
var import_hooks8 = require("@awesome-flow/core/hooks");
|
|
239
197
|
var import_components5 = require("@awesome-flow/core/components");
|
|
240
|
-
var
|
|
198
|
+
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
241
199
|
function NoiseSpheresNode({ id, selected, data, type }) {
|
|
242
|
-
const updateComputedData = (0,
|
|
243
|
-
const module2 = (0,
|
|
244
|
-
const onPropertiesChange = (0,
|
|
200
|
+
const updateComputedData = (0, import_hooks7.useUpdateNodeComputedData)();
|
|
201
|
+
const module2 = (0, import_react7.useMemo)(() => new import_libnoise_simplex_ts7.Spheres(), []);
|
|
202
|
+
const onPropertiesChange = (0, import_react7.useCallback)((properties) => {
|
|
245
203
|
Object.keys(properties).forEach((k) => module2[k] = properties[k].value);
|
|
246
204
|
updateComputedData(id, { module: module2 });
|
|
247
205
|
}, []);
|
|
248
|
-
return /* @__PURE__ */ (0,
|
|
249
|
-
/* @__PURE__ */ (0,
|
|
250
|
-
/* @__PURE__ */ (0,
|
|
206
|
+
return /* @__PURE__ */ (0, import_jsx_runtime7.jsxs)(import_layout7.NodeContainer, { id, selected, data, type, children: [
|
|
207
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_components5.NodePropertyVariables, { data, nodeId: id, onPropertiesChange }),
|
|
208
|
+
/* @__PURE__ */ (0, import_jsx_runtime7.jsx)(import_layout7.NodeTrackConnections, { handles: data.handles, nodeId: id, type: "target" })
|
|
251
209
|
] });
|
|
252
210
|
}
|
|
253
211
|
var noise_spheres_node_default = NoiseSpheresNode;
|
|
254
212
|
|
|
255
213
|
// src/nodes/generators/noise-voronoi-node.tsx
|
|
256
|
-
var
|
|
257
|
-
var
|
|
258
|
-
var
|
|
259
|
-
var
|
|
214
|
+
var import_layout8 = require("@awesome-flow/core/layout");
|
|
215
|
+
var import_react8 = require("react");
|
|
216
|
+
var import_libnoise_simplex_ts8 = require("libnoise-simplex-ts");
|
|
217
|
+
var import_hooks8 = require("@awesome-flow/core/hooks");
|
|
260
218
|
var import_components6 = require("@awesome-flow/core/components");
|
|
261
|
-
var
|
|
219
|
+
var import_jsx_runtime8 = require("react/jsx-runtime");
|
|
262
220
|
function NoiseVoronoiNode({ id, selected, data, type }) {
|
|
263
|
-
const updateComputedData = (0,
|
|
264
|
-
const onPropertiesChange = (0,
|
|
221
|
+
const updateComputedData = (0, import_hooks8.useUpdateNodeComputedData)();
|
|
222
|
+
const onPropertiesChange = (0, import_react8.useCallback)(
|
|
265
223
|
(properties) => {
|
|
266
|
-
const module2 = new
|
|
224
|
+
const module2 = new import_libnoise_simplex_ts8.Voronoi(
|
|
267
225
|
properties.frequency.value,
|
|
268
226
|
properties.displacement.value,
|
|
269
227
|
properties.distance.value,
|
|
@@ -273,27 +231,27 @@ function NoiseVoronoiNode({ id, selected, data, type }) {
|
|
|
273
231
|
},
|
|
274
232
|
[]
|
|
275
233
|
);
|
|
276
|
-
return /* @__PURE__ */ (0,
|
|
277
|
-
/* @__PURE__ */ (0,
|
|
278
|
-
/* @__PURE__ */ (0,
|
|
234
|
+
return /* @__PURE__ */ (0, import_jsx_runtime8.jsxs)(import_layout8.NodeContainer, { id, selected, data, type, children: [
|
|
235
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_components6.NodePropertyVariables, { data, nodeId: id, onPropertiesChange }),
|
|
236
|
+
/* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_layout8.NodeTrackConnections, { handles: data.handles, nodeId: id, type: "target" })
|
|
279
237
|
] });
|
|
280
238
|
}
|
|
281
239
|
var noise_voronoi_node_default = NoiseVoronoiNode;
|
|
282
240
|
|
|
283
241
|
// src/nodes/generators/position-const-node.tsx
|
|
284
|
-
var
|
|
285
|
-
var
|
|
242
|
+
var import_layout9 = require("@awesome-flow/core/layout");
|
|
243
|
+
var import_react9 = require("react");
|
|
286
244
|
var import_core2 = require("@mantine/core");
|
|
287
|
-
var
|
|
288
|
-
var
|
|
245
|
+
var import_hooks9 = require("@awesome-flow/core/hooks");
|
|
246
|
+
var import_jsx_runtime9 = require("react/jsx-runtime");
|
|
289
247
|
function PositionConstNode({ id, selected, data, type }) {
|
|
290
248
|
const position = data.position ?? { x: 0, y: 0, z: 0 };
|
|
291
|
-
const [x, setX] = (0,
|
|
292
|
-
const [y, setY] = (0,
|
|
293
|
-
const [z, setZ] = (0,
|
|
294
|
-
const updateNodeData = (0,
|
|
295
|
-
const updateComputedData = (0,
|
|
296
|
-
(0,
|
|
249
|
+
const [x, setX] = (0, import_react9.useState)(position.x);
|
|
250
|
+
const [y, setY] = (0, import_react9.useState)(position.y);
|
|
251
|
+
const [z, setZ] = (0, import_react9.useState)(position.z);
|
|
252
|
+
const updateNodeData = (0, import_hooks9.useUpdateNodeData)();
|
|
253
|
+
const updateComputedData = (0, import_hooks9.useUpdateNodeComputedData)();
|
|
254
|
+
(0, import_react9.useEffect)(() => {
|
|
297
255
|
const position2 = { x, y, z };
|
|
298
256
|
updateNodeData(id, {
|
|
299
257
|
position: position2
|
|
@@ -302,47 +260,47 @@ function PositionConstNode({ id, selected, data, type }) {
|
|
|
302
260
|
positions: [position2]
|
|
303
261
|
});
|
|
304
262
|
}, [x, y, z]);
|
|
305
|
-
return /* @__PURE__ */ (0,
|
|
306
|
-
/* @__PURE__ */ (0,
|
|
263
|
+
return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_layout9.NodeContainer, { id, selected, data, type, children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_core2.Stack, { children: [
|
|
264
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_core2.Group, { children: [
|
|
307
265
|
"x: ",
|
|
308
|
-
/* @__PURE__ */ (0,
|
|
266
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core2.NumberInput, { size: "xs", w: 100, value: x, onChange: (e) => setX(Number(e)) })
|
|
309
267
|
] }),
|
|
310
|
-
/* @__PURE__ */ (0,
|
|
268
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_core2.Group, { children: [
|
|
311
269
|
"y: ",
|
|
312
|
-
/* @__PURE__ */ (0,
|
|
270
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core2.NumberInput, { size: "xs", w: 100, value: y, onChange: (e) => setY(Number(e)) })
|
|
313
271
|
] }),
|
|
314
|
-
/* @__PURE__ */ (0,
|
|
272
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsxs)(import_core2.Group, { children: [
|
|
315
273
|
"z: ",
|
|
316
|
-
/* @__PURE__ */ (0,
|
|
274
|
+
/* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_core2.NumberInput, { size: "xs", w: 100, value: z, onChange: (e) => setZ(Number(e)) })
|
|
317
275
|
] })
|
|
318
276
|
] }) });
|
|
319
277
|
}
|
|
320
278
|
var position_const_node_default = PositionConstNode;
|
|
321
279
|
|
|
322
280
|
// src/nodes/generators/position-grid-node.tsx
|
|
323
|
-
var
|
|
324
|
-
var
|
|
281
|
+
var import_layout10 = require("@awesome-flow/core/layout");
|
|
282
|
+
var import_react10 = require("react");
|
|
325
283
|
var import_core3 = require("@mantine/core");
|
|
326
|
-
var
|
|
327
|
-
var
|
|
284
|
+
var import_hooks10 = require("@awesome-flow/core/hooks");
|
|
285
|
+
var import_jsx_runtime10 = require("react/jsx-runtime");
|
|
328
286
|
function PositionGridNode({ id, selected, data, type }) {
|
|
329
|
-
const [x, setX] = (0,
|
|
330
|
-
const [y, setY] = (0,
|
|
331
|
-
const [z, setZ] = (0,
|
|
332
|
-
const [radius, setRadius] = (0,
|
|
333
|
-
const updateNodeData = (0,
|
|
334
|
-
const updateComputedData = (0,
|
|
335
|
-
(0,
|
|
287
|
+
const [x, setX] = (0, import_react10.useState)(data.center?.x);
|
|
288
|
+
const [y, setY] = (0, import_react10.useState)(data.center?.y);
|
|
289
|
+
const [z, setZ] = (0, import_react10.useState)(data.center?.z);
|
|
290
|
+
const [radius, setRadius] = (0, import_react10.useState)(data.radius);
|
|
291
|
+
const updateNodeData = (0, import_hooks10.useUpdateNodeData)();
|
|
292
|
+
const updateComputedData = (0, import_hooks10.useUpdateNodeComputedData)();
|
|
293
|
+
(0, import_react10.useEffect)(() => {
|
|
336
294
|
updateNodeData(id, {
|
|
337
295
|
center: { x, y, z }
|
|
338
296
|
});
|
|
339
297
|
}, [x, y, z]);
|
|
340
|
-
(0,
|
|
298
|
+
(0, import_react10.useEffect)(() => {
|
|
341
299
|
updateNodeData(id, {
|
|
342
300
|
radius
|
|
343
301
|
});
|
|
344
302
|
}, [radius]);
|
|
345
|
-
(0,
|
|
303
|
+
(0, import_react10.useEffect)(() => {
|
|
346
304
|
const positions = [];
|
|
347
305
|
for (let i = -radius; i < radius; i++) {
|
|
348
306
|
for (let j = -radius; j < radius; j++) {
|
|
@@ -353,22 +311,22 @@ function PositionGridNode({ id, selected, data, type }) {
|
|
|
353
311
|
positions
|
|
354
312
|
});
|
|
355
313
|
}, [x, y, z, radius]);
|
|
356
|
-
return /* @__PURE__ */ (0,
|
|
357
|
-
/* @__PURE__ */ (0,
|
|
314
|
+
return /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_layout10.NodeContainer, { id, selected, data, type, children: /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core3.Stack, { children: [
|
|
315
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core3.Group, { children: [
|
|
358
316
|
"x: ",
|
|
359
|
-
/* @__PURE__ */ (0,
|
|
317
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core3.NumberInput, { size: "xs", w: 100, value: x, onChange: (e) => setX(Number(e)) })
|
|
360
318
|
] }),
|
|
361
|
-
/* @__PURE__ */ (0,
|
|
319
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core3.Group, { children: [
|
|
362
320
|
"y: ",
|
|
363
|
-
/* @__PURE__ */ (0,
|
|
321
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core3.NumberInput, { size: "xs", w: 100, value: y, onChange: (e) => setY(Number(e)) })
|
|
364
322
|
] }),
|
|
365
|
-
/* @__PURE__ */ (0,
|
|
323
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core3.Group, { children: [
|
|
366
324
|
"z: ",
|
|
367
|
-
/* @__PURE__ */ (0,
|
|
325
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core3.NumberInput, { size: "xs", w: 100, value: z, onChange: (e) => setZ(Number(e)) })
|
|
368
326
|
] }),
|
|
369
|
-
/* @__PURE__ */ (0,
|
|
327
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsxs)(import_core3.Group, { children: [
|
|
370
328
|
"r: ",
|
|
371
|
-
/* @__PURE__ */ (0,
|
|
329
|
+
/* @__PURE__ */ (0, import_jsx_runtime10.jsx)(import_core3.NumberInput, { size: "xs", w: 100, value: radius, onChange: (e) => setRadius(Number(e)) })
|
|
372
330
|
] })
|
|
373
331
|
] }) });
|
|
374
332
|
}
|
|
@@ -381,7 +339,6 @@ var position_grid_node_default = PositionGridNode;
|
|
|
381
339
|
NoiseCylindersNode,
|
|
382
340
|
NoisePerlinNode,
|
|
383
341
|
NoiseRidgedMultiNode,
|
|
384
|
-
NoiseSimplexNode,
|
|
385
342
|
NoiseSpheresNode,
|
|
386
343
|
NoiseVoronoiNode,
|
|
387
344
|
PositionConstNode,
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { NodeProps, Node } from '@xyflow/react';
|
|
3
|
-
import { N as NodePositionData, g as NodeGridData, f as NodeConstNoiseData, j as NodeFBMNoiseData, l as NodeCylindersNoiseData, k as NodeRidgedNoiseData, m as NodeSpheresNoiseData, n as NodeVoronoiNoiseData } from '../../node-props-
|
|
3
|
+
import { N as NodePositionData, g as NodeGridData, f as NodeConstNoiseData, j as NodeFBMNoiseData, l as NodeCylindersNoiseData, k as NodeRidgedNoiseData, m as NodeSpheresNoiseData, n as NodeVoronoiNoiseData } from '../../node-props-CAV2WNDN.cjs';
|
|
4
4
|
import { BasicNodeData } from '@awesome-flow/core/abstract';
|
|
5
|
-
import 'libnoise-ts
|
|
6
|
-
import 'libnoise-ts/noisegen';
|
|
7
|
-
import 'libnoise-ts/module/Module';
|
|
8
|
-
import 'libnoise-ts/module/combiner';
|
|
9
|
-
|
|
10
|
-
declare function NoiseSimplexNode({ id, selected, data, type }: NodeProps<Node<BasicNodeData>>): react_jsx_runtime.JSX.Element;
|
|
5
|
+
import 'libnoise-simplex-ts';
|
|
11
6
|
|
|
12
7
|
declare function PositionConstNode({ id, selected, data, type }: NodeProps<Node<NodePositionData>>): react_jsx_runtime.JSX.Element;
|
|
13
8
|
|
|
@@ -29,4 +24,4 @@ declare function NoiseSpheresNode({ id, selected, data, type }: NodeProps<Node<N
|
|
|
29
24
|
|
|
30
25
|
declare function NoiseVoronoiNode({ id, selected, data, type }: NodeProps<Node<NodeVoronoiNoiseData>>): react_jsx_runtime.JSX.Element;
|
|
31
26
|
|
|
32
|
-
export { NoiseBillowNode, NoiseCheckerboardNode, NoiseConstNode, NoiseCylindersNode, NoisePerlinNode, NoiseRidgedMultiNode,
|
|
27
|
+
export { NoiseBillowNode, NoiseCheckerboardNode, NoiseConstNode, NoiseCylindersNode, NoisePerlinNode, NoiseRidgedMultiNode, NoiseSpheresNode, NoiseVoronoiNode, PositionConstNode, PositionGridNode };
|
|
@@ -1,13 +1,8 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import { NodeProps, Node } from '@xyflow/react';
|
|
3
|
-
import { N as NodePositionData, g as NodeGridData, f as NodeConstNoiseData, j as NodeFBMNoiseData, l as NodeCylindersNoiseData, k as NodeRidgedNoiseData, m as NodeSpheresNoiseData, n as NodeVoronoiNoiseData } from '../../node-props-
|
|
3
|
+
import { N as NodePositionData, g as NodeGridData, f as NodeConstNoiseData, j as NodeFBMNoiseData, l as NodeCylindersNoiseData, k as NodeRidgedNoiseData, m as NodeSpheresNoiseData, n as NodeVoronoiNoiseData } from '../../node-props-CAV2WNDN.js';
|
|
4
4
|
import { BasicNodeData } from '@awesome-flow/core/abstract';
|
|
5
|
-
import 'libnoise-ts
|
|
6
|
-
import 'libnoise-ts/noisegen';
|
|
7
|
-
import 'libnoise-ts/module/Module';
|
|
8
|
-
import 'libnoise-ts/module/combiner';
|
|
9
|
-
|
|
10
|
-
declare function NoiseSimplexNode({ id, selected, data, type }: NodeProps<Node<BasicNodeData>>): react_jsx_runtime.JSX.Element;
|
|
5
|
+
import 'libnoise-simplex-ts';
|
|
11
6
|
|
|
12
7
|
declare function PositionConstNode({ id, selected, data, type }: NodeProps<Node<NodePositionData>>): react_jsx_runtime.JSX.Element;
|
|
13
8
|
|
|
@@ -29,4 +24,4 @@ declare function NoiseSpheresNode({ id, selected, data, type }: NodeProps<Node<N
|
|
|
29
24
|
|
|
30
25
|
declare function NoiseVoronoiNode({ id, selected, data, type }: NodeProps<Node<NodeVoronoiNoiseData>>): react_jsx_runtime.JSX.Element;
|
|
31
26
|
|
|
32
|
-
export { NoiseBillowNode, NoiseCheckerboardNode, NoiseConstNode, NoiseCylindersNode, NoisePerlinNode, NoiseRidgedMultiNode,
|
|
27
|
+
export { NoiseBillowNode, NoiseCheckerboardNode, NoiseConstNode, NoiseCylindersNode, NoisePerlinNode, NoiseRidgedMultiNode, NoiseSpheresNode, NoiseVoronoiNode, PositionConstNode, PositionGridNode };
|