@awesome-flow/noise 0.9.4 → 0.10.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 +7 -11
- package/dist/abstract/index.d.cts +4 -141
- package/dist/abstract/index.d.mts +4 -0
- package/dist/abstract/index.mjs +3 -0
- package/dist/abstract-3knbwDkz.cjs +1768 -0
- package/dist/abstract-3knbwDkz.cjs.map +1 -0
- package/dist/{abstract-Dhf_tSuO.js → abstract-DNmiw2MC.mjs} +562 -234
- package/dist/abstract-DNmiw2MC.mjs.map +1 -0
- package/dist/generators-BF_0y3pd.cjs +337 -0
- package/dist/generators-BF_0y3pd.cjs.map +1 -0
- package/dist/{generators-BzkwG_6g.js → generators-DSwgPqW2.mjs} +35 -110
- package/dist/generators-DSwgPqW2.mjs.map +1 -0
- package/dist/groups-BiuJL0DE.mjs +13 -0
- package/dist/groups-BiuJL0DE.mjs.map +1 -0
- package/dist/groups-DF2FTSBC.cjs +18 -0
- package/dist/groups-DF2FTSBC.cjs.map +1 -0
- package/dist/index-B09XEo3I.d.cts +496 -0
- package/dist/index-B09XEo3I.d.cts.map +1 -0
- package/dist/index-BGF1mgi8.d.mts +98 -0
- package/dist/index-BGF1mgi8.d.mts.map +1 -0
- package/dist/{modules/index.d.ts → index-BbHM1kxc.d.cts} +2 -5
- package/dist/index-BbHM1kxc.d.cts.map +1 -0
- package/dist/index-BgWB8f25.d.cts +53 -0
- package/dist/index-BgWB8f25.d.cts.map +1 -0
- package/dist/index-BhJiS2YS.d.mts +496 -0
- package/dist/index-BhJiS2YS.d.mts.map +1 -0
- package/dist/index-BwLhWefF.d.cts +43 -0
- package/dist/index-BwLhWefF.d.cts.map +1 -0
- package/dist/index-Bxg8IB-v.d.cts +26 -0
- package/dist/index-Bxg8IB-v.d.cts.map +1 -0
- package/dist/index-C0hF9uhX.d.mts +12 -0
- package/dist/index-C0hF9uhX.d.mts.map +1 -0
- package/dist/{index-Dun4VhYj.d.ts → index-CBvjQM3o.d.cts} +5 -4
- package/dist/index-CBvjQM3o.d.cts.map +1 -0
- package/dist/index-CDJdO0Cl.d.mts +11 -0
- package/dist/index-CDJdO0Cl.d.mts.map +1 -0
- package/dist/index-CiHIo5l6.d.cts +89 -0
- package/dist/index-CiHIo5l6.d.cts.map +1 -0
- package/dist/index-CkAu8Jje.d.mts +43 -0
- package/dist/index-CkAu8Jje.d.mts.map +1 -0
- package/dist/index-DQ5-4LVA.d.mts +26 -0
- package/dist/index-DQ5-4LVA.d.mts.map +1 -0
- package/dist/index-NvNXQIOG.d.mts +89 -0
- package/dist/index-NvNXQIOG.d.mts.map +1 -0
- package/dist/index-Rk69VHHb.d.cts +98 -0
- package/dist/index-Rk69VHHb.d.cts.map +1 -0
- package/dist/index-aAcFA6x8.d.mts +53 -0
- package/dist/index-aAcFA6x8.d.mts.map +1 -0
- package/dist/modifiers-BLV074OG.cjs +406 -0
- package/dist/modifiers-BLV074OG.cjs.map +1 -0
- package/dist/{modifiers-MSA4z6Gq.js → modifiers-I7YC0m3o.mjs} +72 -198
- package/dist/modifiers-I7YC0m3o.mjs.map +1 -0
- package/dist/module-group-template-CE4b0J24.d.cts +42 -0
- package/dist/module-group-template-CE4b0J24.d.cts.map +1 -0
- package/dist/module-group-template-D5doDEoa.d.mts +42 -0
- package/dist/module-group-template-D5doDEoa.d.mts.map +1 -0
- package/dist/modules/index.cjs +20 -2
- package/dist/modules/index.cjs.map +1 -0
- package/dist/modules/index.d.cts +2 -15
- package/dist/modules/index.d.mts +2 -0
- package/dist/{normalize-noise-module-CTxqByn9.js → modules/index.mjs} +1 -1
- package/dist/modules/index.mjs.map +1 -0
- package/dist/{node-props-76LXd76e.d.ts → node-props-CoXzPLD6.d.cts} +15 -13
- package/dist/node-props-CoXzPLD6.d.cts.map +1 -0
- package/dist/{node-props-D-fSg180.d.cts → node-props-GcUBDDY0.d.mts} +15 -13
- package/dist/node-props-GcUBDDY0.d.mts.map +1 -0
- package/dist/nodes/generators/index.cjs +2 -1
- package/dist/nodes/generators/index.d.cts +2 -3
- package/dist/nodes/generators/index.d.mts +2 -0
- package/dist/nodes/generators/{index.js → index.mjs} +1 -1
- package/dist/nodes/groups/index.cjs +2 -1
- package/dist/nodes/groups/index.d.cts +2 -2
- package/dist/nodes/groups/index.d.mts +2 -0
- package/dist/nodes/groups/index.mjs +3 -0
- package/dist/nodes/index.cjs +10 -9
- package/dist/nodes/index.d.cts +7 -9
- package/dist/nodes/index.d.mts +7 -0
- package/dist/nodes/index.mjs +8 -0
- package/dist/nodes/modifiers/index.cjs +2 -2
- package/dist/nodes/modifiers/index.d.cts +2 -3
- package/dist/nodes/modifiers/index.d.mts +2 -0
- package/dist/nodes/modifiers/index.mjs +3 -0
- package/dist/nodes/output/index.cjs +3 -7
- package/dist/nodes/output/index.d.cts +2 -2
- package/dist/nodes/output/index.d.mts +2 -0
- package/dist/nodes/output/index.mjs +3 -0
- package/dist/nodes/selectors/index.cjs +4 -8
- package/dist/nodes/selectors/index.d.cts +2 -3
- package/dist/nodes/selectors/index.d.mts +2 -0
- package/dist/nodes/selectors/index.mjs +3 -0
- package/dist/nodes/transformers/index.cjs +2 -1
- package/dist/nodes/transformers/index.d.cts +2 -3
- package/dist/nodes/transformers/index.d.mts +2 -0
- package/dist/nodes/transformers/index.mjs +3 -0
- package/dist/position-grid-template-Da_-z-NN.d.cts +79 -0
- package/dist/position-grid-template-Da_-z-NN.d.cts.map +1 -0
- package/dist/position-grid-template-FY_7BJcV.d.mts +79 -0
- package/dist/position-grid-template-FY_7BJcV.d.mts.map +1 -0
- package/dist/selectors-35pwVJ7Z.cjs +92 -0
- package/dist/selectors-35pwVJ7Z.cjs.map +1 -0
- package/dist/selectors-BHPJTidb.mjs +81 -0
- package/dist/selectors-BHPJTidb.mjs.map +1 -0
- package/dist/templates/generators/index.cjs +2 -7
- package/dist/templates/generators/index.d.cts +2 -4
- package/dist/templates/generators/index.d.mts +2 -0
- package/dist/templates/generators/index.mjs +3 -0
- package/dist/templates/groups/index.cjs +2 -7
- package/dist/templates/groups/index.d.cts +2 -3
- package/dist/templates/groups/index.d.mts +2 -0
- package/dist/templates/groups/index.mjs +3 -0
- package/dist/templates/index.cjs +9 -13
- package/dist/templates/index.d.cts +4 -14
- package/dist/templates/index.d.mts +4 -0
- package/dist/templates/index.mjs +9 -0
- package/dist/templates/modifiers/index.cjs +2 -7
- package/dist/templates/modifiers/index.d.cts +2 -4
- package/dist/templates/modifiers/index.d.mts +2 -0
- package/dist/templates/modifiers/index.mjs +3 -0
- package/dist/templates/output/index.cjs +3 -8
- package/dist/templates/output/index.d.cts +2 -3
- package/dist/templates/output/index.d.mts +2 -0
- package/dist/templates/output/index.mjs +3 -0
- package/dist/templates/selectors/index.cjs +2 -7
- package/dist/templates/selectors/index.d.cts +2 -4
- package/dist/templates/selectors/index.d.mts +2 -0
- package/dist/templates/selectors/index.mjs +3 -0
- package/dist/templates/transformers/index.cjs +2 -7
- package/dist/templates/transformers/index.d.cts +2 -4
- package/dist/templates/transformers/index.d.mts +2 -0
- package/dist/templates/transformers/index.mjs +3 -0
- package/dist/{transformers-Cpxm1ER8.js → transformers-D9B9IjR_.mjs} +11 -90
- package/dist/transformers-D9B9IjR_.mjs.map +1 -0
- package/dist/transformers-D9SfPky8.cjs +226 -0
- package/dist/transformers-D9SfPky8.cjs.map +1 -0
- package/package.json +26 -24
- package/dist/abstract/index.d.cts.map +0 -1
- package/dist/abstract/index.d.ts +0 -141
- package/dist/abstract/index.d.ts.map +0 -1
- package/dist/abstract/index.js +0 -8
- package/dist/abstract-Db8fFoLp.cjs +0 -1423
- package/dist/abstract-Db8fFoLp.cjs.map +0 -1
- package/dist/abstract-Dhf_tSuO.js.map +0 -1
- package/dist/chunk-CUT6urMc.cjs +0 -30
- package/dist/generators-BzkwG_6g.js.map +0 -1
- package/dist/generators-CEKtVh81.cjs +0 -0
- package/dist/generators-D3RjZdMN.cjs +0 -413
- package/dist/generators-D3RjZdMN.cjs.map +0 -1
- package/dist/generators-DUbGjGwn.js +0 -0
- package/dist/groups-7QhtZ7S3.js +0 -0
- package/dist/groups-BIS2AF5M.cjs +0 -32
- package/dist/groups-BIS2AF5M.cjs.map +0 -1
- package/dist/groups-CH_lk8Aw.js +0 -26
- package/dist/groups-CH_lk8Aw.js.map +0 -1
- package/dist/groups-_x04PMtP.cjs +0 -0
- package/dist/index-B5F3AfVc.d.ts +0 -1
- package/dist/index-B9liqMk7.d.cts +0 -106
- package/dist/index-B9liqMk7.d.cts.map +0 -1
- package/dist/index-BLREDRDJ.d.cts +0 -1
- package/dist/index-BQGb02a-.d.cts +0 -1
- package/dist/index-Be7jjS77.d.ts +0 -1
- package/dist/index-C2UIRuQU.d.ts +0 -56
- package/dist/index-C2UIRuQU.d.ts.map +0 -1
- package/dist/index-C7p7kRl6.d.ts +0 -106
- package/dist/index-C7p7kRl6.d.ts.map +0 -1
- package/dist/index-CLcwj8U0.d.ts +0 -1
- package/dist/index-CUPkUUOR.d.ts +0 -1
- package/dist/index-CdUm_2Oy.d.cts +0 -45
- package/dist/index-CdUm_2Oy.d.cts.map +0 -1
- package/dist/index-CnGot0Ls.d.ts +0 -26
- package/dist/index-CnGot0Ls.d.ts.map +0 -1
- package/dist/index-CtCMUyZA.d.cts +0 -1
- package/dist/index-DAwMsCZ3.d.ts +0 -1
- package/dist/index-DHPGVj1Q.d.cts +0 -56
- package/dist/index-DHPGVj1Q.d.cts.map +0 -1
- package/dist/index-DOvrmvAP.d.cts +0 -1
- package/dist/index-Dh6J9gb5.d.cts +0 -1
- package/dist/index-Dpmi5zcN.d.cts +0 -1
- package/dist/index-DsrVbQfJ.d.cts +0 -26
- package/dist/index-DsrVbQfJ.d.cts.map +0 -1
- package/dist/index-Dun4VhYj.d.ts.map +0 -1
- package/dist/index-Dyw_KDIi.d.ts +0 -45
- package/dist/index-Dyw_KDIi.d.ts.map +0 -1
- package/dist/index-I2m6W13H.d.ts +0 -1
- package/dist/index-QAtBiMxG.d.cts +0 -1
- package/dist/index-XpRnF8C9.d.cts +0 -98
- package/dist/index-XpRnF8C9.d.cts.map +0 -1
- package/dist/index-b3KxQSTX.d.ts +0 -98
- package/dist/index-b3KxQSTX.d.ts.map +0 -1
- package/dist/index-kr8Wk7v5.d.ts +0 -1
- package/dist/index-uyclP-_e.d.cts +0 -10
- package/dist/index-uyclP-_e.d.cts.map +0 -1
- package/dist/modifiers-BFuezug6.js +0 -0
- package/dist/modifiers-BPTSn-15.cjs +0 -0
- package/dist/modifiers-DU7AkD-K.cjs +0 -545
- package/dist/modifiers-DU7AkD-K.cjs.map +0 -1
- package/dist/modifiers-MSA4z6Gq.js.map +0 -1
- package/dist/module-group-template-evi7UU-G.d.ts +0 -12
- package/dist/module-group-template-evi7UU-G.d.ts.map +0 -1
- package/dist/module-group-template-hN1W1MZD.d.cts +0 -12
- package/dist/module-group-template-hN1W1MZD.d.cts.map +0 -1
- package/dist/modules/index.d.cts.map +0 -1
- package/dist/modules/index.d.ts.map +0 -1
- package/dist/modules/index.js +0 -3
- package/dist/node-props-76LXd76e.d.ts.map +0 -1
- package/dist/node-props-D-fSg180.d.cts.map +0 -1
- package/dist/nodes/generators/index.d.ts +0 -3
- package/dist/nodes/groups/index.d.ts +0 -2
- package/dist/nodes/groups/index.js +0 -3
- package/dist/nodes/index.d.ts +0 -9
- package/dist/nodes/index.js +0 -8
- package/dist/nodes/modifiers/index.d.ts +0 -3
- package/dist/nodes/modifiers/index.js +0 -4
- package/dist/nodes/output/index.d.ts +0 -2
- package/dist/nodes/output/index.js +0 -8
- package/dist/nodes/selectors/index.d.ts +0 -3
- package/dist/nodes/selectors/index.js +0 -8
- package/dist/nodes/transformers/index.d.ts +0 -3
- package/dist/nodes/transformers/index.js +0 -3
- package/dist/noise-select-template-BIc5lJ3B.d.ts +0 -20
- package/dist/noise-select-template-BIc5lJ3B.d.ts.map +0 -1
- package/dist/noise-select-template-DCaVwZ3-.d.cts +0 -20
- package/dist/noise-select-template-DCaVwZ3-.d.cts.map +0 -1
- package/dist/noise-terrace-template-0WFJalF_.d.cts +0 -69
- package/dist/noise-terrace-template-0WFJalF_.d.cts.map +0 -1
- package/dist/noise-terrace-template-li40jZuF.d.ts +0 -69
- package/dist/noise-terrace-template-li40jZuF.d.ts.map +0 -1
- package/dist/noise-turbulence-template-BhxPzE9y.d.ts +0 -68
- package/dist/noise-turbulence-template-BhxPzE9y.d.ts.map +0 -1
- package/dist/noise-turbulence-template-D1wvZo6-.d.cts +0 -68
- package/dist/noise-turbulence-template-D1wvZo6-.d.cts.map +0 -1
- package/dist/normalize-noise-module-CTxqByn9.js.map +0 -1
- package/dist/normalize-noise-module-U3fMmZRj.cjs +0 -26
- package/dist/normalize-noise-module-U3fMmZRj.cjs.map +0 -1
- package/dist/output-CsgQ-PfN.js +0 -0
- package/dist/output-DhHW36T8.cjs +0 -0
- package/dist/position-grid-template-B7YMhe83.d.cts +0 -76
- package/dist/position-grid-template-B7YMhe83.d.cts.map +0 -1
- package/dist/position-grid-template-QuIcXmat.d.ts +0 -76
- package/dist/position-grid-template-QuIcXmat.d.ts.map +0 -1
- package/dist/position-logger-template-Bj6c2m8v.d.ts +0 -33
- package/dist/position-logger-template-Bj6c2m8v.d.ts.map +0 -1
- package/dist/position-logger-template-DmcBLwwL.d.cts +0 -33
- package/dist/position-logger-template-DmcBLwwL.d.cts.map +0 -1
- package/dist/selectors-DOtoPc8O.cjs +0 -0
- package/dist/selectors-DPitHA56.js +0 -0
- package/dist/templates/generators/index.d.ts +0 -4
- package/dist/templates/generators/index.js +0 -9
- package/dist/templates/groups/index.d.ts +0 -3
- package/dist/templates/groups/index.js +0 -9
- package/dist/templates/index.d.ts +0 -14
- package/dist/templates/index.js +0 -14
- package/dist/templates/modifiers/index.d.ts +0 -4
- package/dist/templates/modifiers/index.js +0 -9
- package/dist/templates/output/index.d.ts +0 -3
- package/dist/templates/output/index.js +0 -9
- package/dist/templates/selectors/index.d.ts +0 -4
- package/dist/templates/selectors/index.js +0 -9
- package/dist/templates/transformers/index.d.ts +0 -4
- package/dist/templates/transformers/index.js +0 -9
- package/dist/transformers-C-NV_u9j.cjs +0 -324
- package/dist/transformers-C-NV_u9j.cjs.map +0 -1
- package/dist/transformers-CbfR4wDy.js +0 -0
- package/dist/transformers-Cpxm1ER8.js.map +0 -1
- package/dist/transformers-iRDXBonP.cjs +0 -0
|
@@ -1,9 +1,7 @@
|
|
|
1
|
-
import { NormalizeNoiseModule } from "./normalize-noise-module-CTxqByn9.js";
|
|
2
|
-
import { useIncomingComputedData, useUpdateNodeComputedData, useUpdateNodeData } from "@awesome-flow/core/hooks";
|
|
3
1
|
import { NodeCombobox, NodeContainer } from "@awesome-flow/core/layout";
|
|
4
|
-
import { Abs, Add, Clamp, Curve, Exponent, Invert, Max, Min, Multiply, Power, ScaleBias, Terrace, Tuple } from "libnoise-simplex-ts";
|
|
5
2
|
import { memo, useCallback, useEffect, useMemo, useState } from "react";
|
|
6
3
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
4
|
+
import { useUpdateNodeData } from "@awesome-flow/core/hooks";
|
|
7
5
|
import { ActionIcon, Button, Group, NumberInput, Space, Stack } from "@mantine/core";
|
|
8
6
|
import { IconAsterisk, IconChevronLeft, IconChevronRight, IconChevronUp, IconPlus, IconX } from "@tabler/icons-react";
|
|
9
7
|
import { NodeState } from "@awesome-flow/core/abstract";
|
|
@@ -12,18 +10,6 @@ import { randomId } from "@mantine/hooks";
|
|
|
12
10
|
|
|
13
11
|
//#region src/nodes/modifiers/noise-abs-node.tsx
|
|
14
12
|
function NoiseAbsNode({ id, selected, data, type }) {
|
|
15
|
-
const incoming = useIncomingComputedData(id);
|
|
16
|
-
const updateComputedData = useUpdateNodeComputedData();
|
|
17
|
-
useEffect(() => {
|
|
18
|
-
if (incoming?.length > 0) {
|
|
19
|
-
const module = new Abs(incoming[0].module);
|
|
20
|
-
updateComputedData(id, { module });
|
|
21
|
-
}
|
|
22
|
-
}, [
|
|
23
|
-
incoming,
|
|
24
|
-
id,
|
|
25
|
-
updateComputedData
|
|
26
|
-
]);
|
|
27
13
|
return /* @__PURE__ */ jsx(NodeContainer, {
|
|
28
14
|
id,
|
|
29
15
|
selected,
|
|
@@ -31,31 +17,23 @@ function NoiseAbsNode({ id, selected, data, type }) {
|
|
|
31
17
|
type
|
|
32
18
|
});
|
|
33
19
|
}
|
|
34
|
-
var noise_abs_node_default = NoiseAbsNode;
|
|
20
|
+
var noise_abs_node_default = memo(NoiseAbsNode);
|
|
35
21
|
|
|
36
22
|
//#endregion
|
|
37
23
|
//#region src/nodes/modifiers/noise-clamp-node.tsx
|
|
38
24
|
function NoiseClampNode({ id, selected, data, type }) {
|
|
39
25
|
const [lowerBound, setLowerBound] = useState(data.lowerBound);
|
|
40
26
|
const [upperBound, setUpperBound] = useState(data.upperBound);
|
|
41
|
-
const incoming = useIncomingComputedData(id);
|
|
42
27
|
const updateNodeData = useUpdateNodeData();
|
|
43
|
-
const updateComputedData = useUpdateNodeComputedData();
|
|
44
28
|
useEffect(() => {
|
|
45
|
-
if (incoming?.length) {
|
|
46
|
-
const module = new Clamp(incoming[0].module, lowerBound, upperBound);
|
|
47
|
-
updateComputedData(id, { module });
|
|
48
|
-
}
|
|
49
29
|
updateNodeData(id, {
|
|
50
30
|
lowerBound,
|
|
51
31
|
upperBound
|
|
52
32
|
});
|
|
53
33
|
}, [
|
|
54
|
-
incoming,
|
|
55
34
|
lowerBound,
|
|
56
35
|
upperBound,
|
|
57
36
|
id,
|
|
58
|
-
updateComputedData,
|
|
59
37
|
updateNodeData
|
|
60
38
|
]);
|
|
61
39
|
return /* @__PURE__ */ jsx(NodeContainer, {
|
|
@@ -78,25 +56,7 @@ function NoiseClampNode({ id, selected, data, type }) {
|
|
|
78
56
|
})] }) })
|
|
79
57
|
});
|
|
80
58
|
}
|
|
81
|
-
var noise_clamp_node_default = NoiseClampNode;
|
|
82
|
-
|
|
83
|
-
//#endregion
|
|
84
|
-
//#region src/abstract/operations.ts
|
|
85
|
-
let NoiseCombineType = /* @__PURE__ */ function(NoiseCombineType$1) {
|
|
86
|
-
NoiseCombineType$1["add"] = "add";
|
|
87
|
-
NoiseCombineType$1["max"] = "max";
|
|
88
|
-
NoiseCombineType$1["min"] = "min";
|
|
89
|
-
NoiseCombineType$1["multiply"] = "multiply";
|
|
90
|
-
NoiseCombineType$1["power"] = "power";
|
|
91
|
-
return NoiseCombineType$1;
|
|
92
|
-
}({});
|
|
93
|
-
const noiseCombineModuleMap = {
|
|
94
|
-
[NoiseCombineType.add]: Add,
|
|
95
|
-
[NoiseCombineType.max]: Max,
|
|
96
|
-
[NoiseCombineType.min]: Min,
|
|
97
|
-
[NoiseCombineType.multiply]: Multiply,
|
|
98
|
-
[NoiseCombineType.power]: Power
|
|
99
|
-
};
|
|
59
|
+
var noise_clamp_node_default = memo(NoiseClampNode);
|
|
100
60
|
|
|
101
61
|
//#endregion
|
|
102
62
|
//#region src/nodes/modifiers/noise-combine-node.tsx
|
|
@@ -109,20 +69,6 @@ const options = {
|
|
|
109
69
|
};
|
|
110
70
|
function NoiseCombineNode({ id, selected, data, type }) {
|
|
111
71
|
const updateNodeData = useUpdateNodeData();
|
|
112
|
-
const updateComputedData = useUpdateNodeComputedData();
|
|
113
|
-
const incoming = useIncomingComputedData(id);
|
|
114
|
-
useEffect(() => {
|
|
115
|
-
const ModuleFactory = noiseCombineModuleMap[data.operation];
|
|
116
|
-
if (incoming?.length > 1) {
|
|
117
|
-
const module = new ModuleFactory(incoming[0].module, incoming[1].module);
|
|
118
|
-
updateComputedData(id, { module });
|
|
119
|
-
}
|
|
120
|
-
}, [
|
|
121
|
-
data.operation,
|
|
122
|
-
incoming,
|
|
123
|
-
id,
|
|
124
|
-
updateComputedData
|
|
125
|
-
]);
|
|
126
72
|
const onChange = useCallback((operation) => {
|
|
127
73
|
updateNodeData(id, { operation });
|
|
128
74
|
}, [id, updateNodeData]);
|
|
@@ -139,15 +85,12 @@ function NoiseCombineNode({ id, selected, data, type }) {
|
|
|
139
85
|
})
|
|
140
86
|
});
|
|
141
87
|
}
|
|
142
|
-
var noise_combine_node_default = NoiseCombineNode;
|
|
88
|
+
var noise_combine_node_default = memo(NoiseCombineNode);
|
|
143
89
|
|
|
144
90
|
//#endregion
|
|
145
91
|
//#region src/nodes/modifiers/noise-curve-node.tsx
|
|
146
92
|
function NoiseCurveNode({ id, selected, data, type }) {
|
|
147
|
-
const incoming = useIncomingComputedData(id);
|
|
148
93
|
const updateNodeData = useUpdateNodeData();
|
|
149
|
-
const updateComputedData = useUpdateNodeComputedData();
|
|
150
|
-
const [values, setValues] = useState([]);
|
|
151
94
|
const initialValues = useMemo(() => {
|
|
152
95
|
return data.points?.length ? data.points.map((v) => ({
|
|
153
96
|
input: v.input,
|
|
@@ -164,77 +107,65 @@ function NoiseCurveNode({ id, selected, data, type }) {
|
|
|
164
107
|
key: randomId()
|
|
165
108
|
}));
|
|
166
109
|
}, [data.points]);
|
|
110
|
+
const [values, setValues] = useState(initialValues);
|
|
167
111
|
const form = useForm({
|
|
168
112
|
mode: "uncontrolled",
|
|
169
113
|
initialValues: { points: initialValues },
|
|
170
114
|
validateInputOnChange: [`points.${FORM_INDEX}.input`],
|
|
171
115
|
clearInputErrorOnChange: true,
|
|
172
|
-
validate: { points: { input: (value, values
|
|
116
|
+
validate: { points: { input: (value, values) => {
|
|
173
117
|
const counts = {};
|
|
174
|
-
values
|
|
118
|
+
values.points.forEach((x) => {
|
|
175
119
|
counts[x.input] = (counts[x.input] || 0) + 1;
|
|
176
120
|
});
|
|
177
121
|
return counts[value] > 1;
|
|
178
122
|
} } },
|
|
179
|
-
onValuesChange: useCallback((values
|
|
123
|
+
onValuesChange: useCallback((values) => {
|
|
180
124
|
form.validate();
|
|
181
125
|
if (form.isValid()) {
|
|
182
|
-
|
|
126
|
+
setValues(values.points);
|
|
127
|
+
updateNodeData(id, { points: values.points.map((v) => ({
|
|
183
128
|
input: v.input,
|
|
184
129
|
output: v.output
|
|
185
|
-
}));
|
|
186
|
-
setValues(points);
|
|
187
|
-
updateNodeData(id, { points });
|
|
130
|
+
})) });
|
|
188
131
|
}
|
|
189
132
|
}, [id, updateNodeData])
|
|
190
133
|
});
|
|
191
|
-
useEffect(() => {
|
|
192
|
-
if (incoming?.length && values?.length >= 4) {
|
|
193
|
-
const module = new Curve(incoming[0].module, values.map((p) => new Tuple(p.input, p.output)));
|
|
194
|
-
updateComputedData(id, { module });
|
|
195
|
-
}
|
|
196
|
-
}, [
|
|
197
|
-
id,
|
|
198
|
-
values,
|
|
199
|
-
incoming,
|
|
200
|
-
updateComputedData
|
|
201
|
-
]);
|
|
202
|
-
const fields = useMemo(() => values.map((item, index) => /* @__PURE__ */ jsxs(Group, {
|
|
203
|
-
mt: "xs",
|
|
204
|
-
children: [
|
|
205
|
-
/* @__PURE__ */ jsx(NumberInput, {
|
|
206
|
-
size: "xs",
|
|
207
|
-
w: 100,
|
|
208
|
-
placeholder: "Input Value",
|
|
209
|
-
...form.getInputProps(`points.${index}.input`),
|
|
210
|
-
step: .1
|
|
211
|
-
}, form.key(`points.${index}.input`)),
|
|
212
|
-
/* @__PURE__ */ jsx(NumberInput, {
|
|
213
|
-
size: "xs",
|
|
214
|
-
w: 100,
|
|
215
|
-
placeholder: "Output Value",
|
|
216
|
-
...form.getInputProps(`points.${index}.output`),
|
|
217
|
-
step: .1
|
|
218
|
-
}, form.key(`points.${index}.output`)),
|
|
219
|
-
data.state === NodeState.edit && values.length > 4 && /* @__PURE__ */ jsx(ActionIcon, {
|
|
220
|
-
color: "red",
|
|
221
|
-
variant: "outline",
|
|
222
|
-
size: "sm",
|
|
223
|
-
onClick: () => form.removeListItem("points", index),
|
|
224
|
-
children: /* @__PURE__ */ jsx(IconX, { size: "1rem" })
|
|
225
|
-
})
|
|
226
|
-
]
|
|
227
|
-
}, item.key)), [
|
|
228
|
-
data.state,
|
|
229
|
-
values,
|
|
230
|
-
form
|
|
231
|
-
]);
|
|
232
134
|
return /* @__PURE__ */ jsxs(NodeContainer, {
|
|
233
135
|
id,
|
|
234
136
|
selected,
|
|
235
137
|
type,
|
|
236
138
|
data,
|
|
237
|
-
children: [
|
|
139
|
+
children: [useMemo(() => values.map((item, index) => /* @__PURE__ */ jsxs(Group, {
|
|
140
|
+
mt: "xs",
|
|
141
|
+
children: [
|
|
142
|
+
/* @__PURE__ */ jsx(NumberInput, {
|
|
143
|
+
size: "xs",
|
|
144
|
+
w: 100,
|
|
145
|
+
placeholder: "Input Value",
|
|
146
|
+
...form.getInputProps(`points.${index}.input`),
|
|
147
|
+
step: .1
|
|
148
|
+
}, form.key(`points.${index}.input`)),
|
|
149
|
+
/* @__PURE__ */ jsx(NumberInput, {
|
|
150
|
+
size: "xs",
|
|
151
|
+
w: 100,
|
|
152
|
+
placeholder: "Output Value",
|
|
153
|
+
...form.getInputProps(`points.${index}.output`),
|
|
154
|
+
step: .1
|
|
155
|
+
}, form.key(`points.${index}.output`)),
|
|
156
|
+
data.state === NodeState.edit && values.length > 4 && /* @__PURE__ */ jsx(ActionIcon, {
|
|
157
|
+
color: "red",
|
|
158
|
+
variant: "outline",
|
|
159
|
+
size: "sm",
|
|
160
|
+
onClick: () => form.removeListItem("points", index),
|
|
161
|
+
children: /* @__PURE__ */ jsx(IconX, { size: "1rem" })
|
|
162
|
+
})
|
|
163
|
+
]
|
|
164
|
+
}, item.key)), [
|
|
165
|
+
data.state,
|
|
166
|
+
values,
|
|
167
|
+
form
|
|
168
|
+
]), data.state === NodeState.edit && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Space, { h: 10 }), /* @__PURE__ */ jsx(Button, {
|
|
238
169
|
variant: "outline",
|
|
239
170
|
size: "xs",
|
|
240
171
|
fullWidth: true,
|
|
@@ -247,26 +178,18 @@ function NoiseCurveNode({ id, selected, data, type }) {
|
|
|
247
178
|
})] })]
|
|
248
179
|
});
|
|
249
180
|
}
|
|
250
|
-
var noise_curve_node_default = NoiseCurveNode;
|
|
181
|
+
var noise_curve_node_default = memo(NoiseCurveNode);
|
|
251
182
|
|
|
252
183
|
//#endregion
|
|
253
184
|
//#region src/nodes/modifiers/noise-exponent-node.tsx
|
|
254
185
|
function NoiseExponentNode({ id, selected, data, type }) {
|
|
255
186
|
const [exponent, setExponent] = useState(data.exponent);
|
|
256
|
-
const incoming = useIncomingComputedData(id);
|
|
257
187
|
const updateNodeData = useUpdateNodeData();
|
|
258
|
-
const updateComputedData = useUpdateNodeComputedData();
|
|
259
188
|
useEffect(() => {
|
|
260
|
-
if (incoming?.length > 0) {
|
|
261
|
-
const module = new Exponent(incoming[0].module, exponent);
|
|
262
|
-
updateComputedData(id, { module });
|
|
263
|
-
}
|
|
264
189
|
updateNodeData(id, { exponent });
|
|
265
190
|
}, [
|
|
266
191
|
id,
|
|
267
|
-
incoming,
|
|
268
192
|
exponent,
|
|
269
|
-
updateComputedData,
|
|
270
193
|
updateNodeData
|
|
271
194
|
]);
|
|
272
195
|
return /* @__PURE__ */ jsx(NodeContainer, {
|
|
@@ -282,23 +205,11 @@ function NoiseExponentNode({ id, selected, data, type }) {
|
|
|
282
205
|
})] }) })
|
|
283
206
|
});
|
|
284
207
|
}
|
|
285
|
-
var noise_exponent_node_default = NoiseExponentNode;
|
|
208
|
+
var noise_exponent_node_default = memo(NoiseExponentNode);
|
|
286
209
|
|
|
287
210
|
//#endregion
|
|
288
211
|
//#region src/nodes/modifiers/noise-invert-node.tsx
|
|
289
212
|
function NoiseInvertNode({ id, selected, data, type }) {
|
|
290
|
-
const incoming = useIncomingComputedData(id);
|
|
291
|
-
const updateComputedData = useUpdateNodeComputedData();
|
|
292
|
-
useEffect(() => {
|
|
293
|
-
if (incoming?.length > 0) {
|
|
294
|
-
const module = new Invert(incoming[0].module);
|
|
295
|
-
updateComputedData(id, { module });
|
|
296
|
-
}
|
|
297
|
-
}, [
|
|
298
|
-
id,
|
|
299
|
-
incoming,
|
|
300
|
-
updateComputedData
|
|
301
|
-
]);
|
|
302
213
|
return /* @__PURE__ */ jsx(NodeContainer, {
|
|
303
214
|
id,
|
|
304
215
|
selected,
|
|
@@ -306,32 +217,23 @@ function NoiseInvertNode({ id, selected, data, type }) {
|
|
|
306
217
|
type
|
|
307
218
|
});
|
|
308
219
|
}
|
|
309
|
-
var noise_invert_node_default = NoiseInvertNode;
|
|
220
|
+
var noise_invert_node_default = memo(NoiseInvertNode);
|
|
310
221
|
|
|
311
222
|
//#endregion
|
|
312
223
|
//#region src/nodes/modifiers/noise-normalize-node.tsx
|
|
313
224
|
function NoiseNormalizeNode({ id, selected, data, type }) {
|
|
314
225
|
const [intervalStart, setIntervalStart] = useState(data.intervalStart);
|
|
315
226
|
const [intervalEnd, setIntervalEnd] = useState(data.intervalEnd);
|
|
316
|
-
const incoming = useIncomingComputedData(id);
|
|
317
227
|
const updateNodeData = useUpdateNodeData();
|
|
318
|
-
const updateComputedData = useUpdateNodeComputedData();
|
|
319
228
|
useEffect(() => {
|
|
320
|
-
if (incoming?.length) {
|
|
321
|
-
const source = incoming[0].module;
|
|
322
|
-
const module = new NormalizeNoiseModule(source, intervalStart, intervalEnd);
|
|
323
|
-
updateComputedData(id, { module });
|
|
324
|
-
}
|
|
325
229
|
updateNodeData(id, {
|
|
326
230
|
intervalStart,
|
|
327
231
|
intervalEnd
|
|
328
232
|
});
|
|
329
233
|
}, [
|
|
330
234
|
id,
|
|
331
|
-
incoming,
|
|
332
235
|
intervalStart,
|
|
333
236
|
intervalEnd,
|
|
334
|
-
updateComputedData,
|
|
335
237
|
updateNodeData
|
|
336
238
|
]);
|
|
337
239
|
return /* @__PURE__ */ jsx(NodeContainer, {
|
|
@@ -352,31 +254,23 @@ function NoiseNormalizeNode({ id, selected, data, type }) {
|
|
|
352
254
|
})] }) })
|
|
353
255
|
});
|
|
354
256
|
}
|
|
355
|
-
var noise_normalize_node_default = NoiseNormalizeNode;
|
|
257
|
+
var noise_normalize_node_default = memo(NoiseNormalizeNode);
|
|
356
258
|
|
|
357
259
|
//#endregion
|
|
358
260
|
//#region src/nodes/modifiers/noise-scale-bias-node.tsx
|
|
359
261
|
function NoiseScaleBiasNode({ id, selected, data, type }) {
|
|
360
262
|
const [scale, setScale] = useState(data.scale);
|
|
361
263
|
const [bias, setBias] = useState(data.bias);
|
|
362
|
-
const incoming = useIncomingComputedData(id);
|
|
363
264
|
const updateNodeData = useUpdateNodeData();
|
|
364
|
-
const updateComputedData = useUpdateNodeComputedData();
|
|
365
265
|
useEffect(() => {
|
|
366
|
-
if (incoming?.length > 0) {
|
|
367
|
-
const module = new ScaleBias(incoming[0].module, scale, bias);
|
|
368
|
-
updateComputedData(id, { module });
|
|
369
|
-
}
|
|
370
266
|
updateNodeData(id, {
|
|
371
267
|
scale,
|
|
372
268
|
bias
|
|
373
269
|
});
|
|
374
270
|
}, [
|
|
375
271
|
id,
|
|
376
|
-
incoming,
|
|
377
272
|
scale,
|
|
378
273
|
bias,
|
|
379
|
-
updateComputedData,
|
|
380
274
|
updateNodeData
|
|
381
275
|
]);
|
|
382
276
|
return /* @__PURE__ */ jsx(NodeContainer, {
|
|
@@ -404,63 +298,43 @@ var noise_scale_bias_node_default = memo(NoiseScaleBiasNode);
|
|
|
404
298
|
//#endregion
|
|
405
299
|
//#region src/nodes/modifiers/noise-terrace-node.tsx
|
|
406
300
|
function NoiseTerraceNode({ id, selected, data, type }) {
|
|
407
|
-
const incoming = useIncomingComputedData(id);
|
|
408
301
|
const updateNodeData = useUpdateNodeData();
|
|
409
|
-
const updateComputedData = useUpdateNodeComputedData();
|
|
410
|
-
const [values, setValues] = useState([]);
|
|
411
|
-
const initialValues = useMemo(() => data.points?.length ? data.points.map((v) => ({
|
|
412
|
-
value: v,
|
|
413
|
-
key: randomId()
|
|
414
|
-
})) : [1, 2].map(() => ({
|
|
415
|
-
value: 0,
|
|
416
|
-
key: randomId()
|
|
417
|
-
})), [data.points]);
|
|
418
302
|
const form = useForm({
|
|
419
303
|
mode: "uncontrolled",
|
|
420
|
-
initialValues: { points:
|
|
304
|
+
initialValues: { points: useMemo(() => data.points?.length ? data.points.map((v) => ({
|
|
305
|
+
value: v,
|
|
306
|
+
key: randomId()
|
|
307
|
+
})) : [1, 2].map(() => ({
|
|
308
|
+
value: 0,
|
|
309
|
+
key: randomId()
|
|
310
|
+
})), [data.points]) },
|
|
421
311
|
validateInputOnChange: [`points.${FORM_INDEX}.input`],
|
|
422
312
|
clearInputErrorOnChange: true
|
|
423
313
|
});
|
|
424
|
-
form.watch("points", (values
|
|
425
|
-
if (form.isValid()) {
|
|
426
|
-
const points = values$1.value.map((v) => v.value);
|
|
427
|
-
setValues(points);
|
|
428
|
-
updateNodeData(id, { points });
|
|
429
|
-
}
|
|
314
|
+
form.watch("points", (values) => {
|
|
315
|
+
if (form.isValid()) updateNodeData(id, { points: values.value.map((v) => v.value) });
|
|
430
316
|
form.validate();
|
|
431
317
|
});
|
|
432
|
-
useEffect(() => {
|
|
433
|
-
if (incoming?.length && values?.length >= 2) {
|
|
434
|
-
const module = new Terrace(incoming[0].module, values);
|
|
435
|
-
updateComputedData(id, { module });
|
|
436
|
-
}
|
|
437
|
-
}, [
|
|
438
|
-
id,
|
|
439
|
-
values,
|
|
440
|
-
incoming,
|
|
441
|
-
updateComputedData
|
|
442
|
-
]);
|
|
443
|
-
const fields = useMemo(() => form.values.points.map((_, index) => /* @__PURE__ */ jsxs(Group, {
|
|
444
|
-
mt: "xs",
|
|
445
|
-
children: [/* @__PURE__ */ jsx(NumberInput, {
|
|
446
|
-
size: "xs",
|
|
447
|
-
placeholder: "Input Value",
|
|
448
|
-
...form.getInputProps(`points.${index}.value`),
|
|
449
|
-
step: .1
|
|
450
|
-
}, form.key(`points.${index}.value`)), data.state === NodeState.edit && form.values.points.length > 2 && /* @__PURE__ */ jsx(ActionIcon, {
|
|
451
|
-
color: "red",
|
|
452
|
-
variant: "outline",
|
|
453
|
-
size: "sm",
|
|
454
|
-
onClick: () => form.removeListItem("points", index),
|
|
455
|
-
children: /* @__PURE__ */ jsx(IconX, { size: "1rem" })
|
|
456
|
-
})]
|
|
457
|
-
}, index)), [form, data.state]);
|
|
458
318
|
return /* @__PURE__ */ jsx(Fragment, { children: /* @__PURE__ */ jsxs(NodeContainer, {
|
|
459
319
|
id,
|
|
460
320
|
selected,
|
|
461
321
|
type,
|
|
462
322
|
data,
|
|
463
|
-
children: [
|
|
323
|
+
children: [useMemo(() => form.values.points.map((_, index) => /* @__PURE__ */ jsxs(Group, {
|
|
324
|
+
mt: "xs",
|
|
325
|
+
children: [/* @__PURE__ */ jsx(NumberInput, {
|
|
326
|
+
size: "xs",
|
|
327
|
+
placeholder: "Input Value",
|
|
328
|
+
...form.getInputProps(`points.${index}.value`),
|
|
329
|
+
step: .1
|
|
330
|
+
}, form.key(`points.${index}.value`)), data.state === NodeState.edit && form.values.points.length > 2 && /* @__PURE__ */ jsx(ActionIcon, {
|
|
331
|
+
color: "red",
|
|
332
|
+
variant: "outline",
|
|
333
|
+
size: "sm",
|
|
334
|
+
onClick: () => form.removeListItem("points", index),
|
|
335
|
+
children: /* @__PURE__ */ jsx(IconX, { size: "1rem" })
|
|
336
|
+
})]
|
|
337
|
+
}, index)), [form, data.state]), data.state === NodeState.edit && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(Space, { h: 10 }), /* @__PURE__ */ jsx(Button, {
|
|
464
338
|
variant: "outline",
|
|
465
339
|
size: "xs",
|
|
466
340
|
fullWidth: true,
|
|
@@ -472,8 +346,8 @@ function NoiseTerraceNode({ id, selected, data, type }) {
|
|
|
472
346
|
})] })]
|
|
473
347
|
}) });
|
|
474
348
|
}
|
|
475
|
-
var noise_terrace_node_default = NoiseTerraceNode;
|
|
349
|
+
var noise_terrace_node_default = memo(NoiseTerraceNode);
|
|
476
350
|
|
|
477
351
|
//#endregion
|
|
478
|
-
export {
|
|
479
|
-
//# sourceMappingURL=modifiers-
|
|
352
|
+
export { noise_exponent_node_default as a, noise_clamp_node_default as c, noise_invert_node_default as i, noise_abs_node_default as l, noise_scale_bias_node_default as n, noise_curve_node_default as o, noise_normalize_node_default as r, noise_combine_node_default as s, noise_terrace_node_default as t };
|
|
353
|
+
//# sourceMappingURL=modifiers-I7YC0m3o.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"modifiers-I7YC0m3o.mjs","names":[],"sources":["../src/nodes/modifiers/noise-abs-node.tsx","../src/nodes/modifiers/noise-clamp-node.tsx","../src/nodes/modifiers/noise-combine-node.tsx","../src/nodes/modifiers/noise-curve-node.tsx","../src/nodes/modifiers/noise-exponent-node.tsx","../src/nodes/modifiers/noise-invert-node.tsx","../src/nodes/modifiers/noise-normalize-node.tsx","../src/nodes/modifiers/noise-scale-bias-node.tsx","../src/nodes/modifiers/noise-terrace-node.tsx"],"sourcesContent":["import { BasicNodeData } from '@awesome-flow/core/abstract';\r\nimport { NodeContainer } from '@awesome-flow/core/layout';\r\nimport { Node, NodeProps } from '@xyflow/react';\r\nimport { memo } from 'react';\r\n\r\nfunction NoiseAbsNode({ id, selected, data, type }: NodeProps<Node<BasicNodeData>>) {\r\n return <NodeContainer id={id} selected={selected} data={data} type={type} />;\r\n}\r\n\r\nexport default memo(NoiseAbsNode);\r\n","import { useUpdateNodeData } from '@awesome-flow/core/hooks';\r\nimport { NodeContainer } from '@awesome-flow/core/layout';\r\nimport { Group, NumberInput, Stack } from '@mantine/core';\r\nimport { Node, NodeProps } from '@xyflow/react';\r\nimport { memo, useEffect, useState } from 'react';\r\nimport { NodeClampNoiseData } from '../../abstract/node-props';\r\n\r\nfunction NoiseClampNode({ id, selected, data, type }: NodeProps<Node<NodeClampNoiseData>>) {\r\n const [lowerBound, setLowerBound] = useState(data.lowerBound);\r\n const [upperBound, setUpperBound] = useState(data.upperBound);\r\n\r\n const updateNodeData = useUpdateNodeData<NodeClampNoiseData>();\r\n\r\n useEffect(() => {\r\n updateNodeData(id, { lowerBound, upperBound });\r\n }, [lowerBound, upperBound, id, updateNodeData]);\r\n\r\n return (\r\n <NodeContainer id={id} selected={selected} data={data} type={type}>\r\n <Stack>\r\n <Group>\r\n <NumberInput size=\"xs\" w={100} value={lowerBound} onChange={(e) => setLowerBound(Number(e))} step={0.1} />\r\n <NumberInput size=\"xs\" w={100} value={upperBound} onChange={(e) => setUpperBound(Number(e))} step={0.1} />\r\n </Group>\r\n </Stack>\r\n </NodeContainer>\r\n );\r\n}\r\n\r\nexport default memo(NoiseClampNode);\r\n","import { useUpdateNodeData } from '@awesome-flow/core/hooks';\r\nimport { NodeCombobox, NodeContainer } from '@awesome-flow/core/layout';\r\nimport { IconAsterisk, IconChevronLeft, IconChevronRight, IconChevronUp, IconPlus } from '@tabler/icons-react';\r\nimport { Node, NodeProps } from '@xyflow/react';\r\nimport { memo, ReactNode, useCallback } from 'react';\r\nimport { NodeCombineNoiseData } from '../../abstract/node-props';\r\nimport { NoiseCombineType } from '../../abstract/operations';\r\n\r\nconst options: Record<NoiseCombineType, ReactNode | string> = {\r\n add: <IconPlus />,\r\n min: <IconChevronLeft />,\r\n max: <IconChevronRight />,\r\n multiply: <IconAsterisk />,\r\n power: <IconChevronUp />\r\n};\r\n\r\nfunction NoiseCombineNode({ id, selected, data, type }: NodeProps<Node<NodeCombineNoiseData>>) {\r\n const updateNodeData = useUpdateNodeData<NodeCombineNoiseData>();\r\n\r\n const onChange = useCallback(\r\n (operation: NoiseCombineType) => {\r\n updateNodeData(id, { operation });\r\n },\r\n [id, updateNodeData]\r\n );\r\n\r\n return (\r\n <NodeContainer id={id} selected={selected} data={data} type={type}>\r\n <NodeCombobox options={options} selected={data.operation} onChange={onChange} width={150} />\r\n </NodeContainer>\r\n );\r\n}\r\n\r\nexport default memo(NoiseCombineNode);\r\n","import { NodeState } from '@awesome-flow/core/abstract';\r\nimport { useUpdateNodeData } from '@awesome-flow/core/hooks';\r\nimport { NodeContainer } from '@awesome-flow/core/layout';\r\nimport { ActionIcon, Button, Group, NumberInput, Space } from '@mantine/core';\r\nimport { FORM_INDEX, useForm } from '@mantine/form';\r\nimport { randomId } from '@mantine/hooks';\r\nimport { IconX } from '@tabler/icons-react';\r\nimport { Node, NodeProps } from '@xyflow/react';\r\nimport { memo, useCallback, useMemo, useState } from 'react';\r\nimport { ControlPoint, NodeCurveNoiseData } from '../../abstract/node-props';\r\n\r\nfunction NoiseCurveNode({ id, selected, data, type }: NodeProps<Node<NodeCurveNoiseData>>) {\r\n const updateNodeData = useUpdateNodeData<NodeCurveNoiseData>();\r\n\r\n const initialValues = useMemo(() => {\r\n return data.points?.length\r\n ? data.points.map((v) => ({ input: v.input, output: v.output, key: randomId() }))\r\n : [1, 2, 3, 4].map(() => ({ input: 0, output: 0, key: randomId() }));\r\n }, [data.points]);\r\n\r\n const [values, setValues] = useState(initialValues);\r\n\r\n const form = useForm<{ points: (ControlPoint & { key: string })[] }>({\r\n mode: 'uncontrolled',\r\n initialValues: {\r\n points: initialValues\r\n },\r\n validateInputOnChange: [`points.${FORM_INDEX}.input`],\r\n clearInputErrorOnChange: true,\r\n validate: {\r\n points: {\r\n input: (value, values) => {\r\n const counts: Record<number, number> = {};\r\n\r\n values.points.forEach((x) => {\r\n counts[x.input] = (counts[x.input] || 0) + 1;\r\n });\r\n\r\n return counts[value] > 1;\r\n }\r\n }\r\n },\r\n onValuesChange: useCallback(\r\n (values) => {\r\n form.validate();\r\n\r\n if (form.isValid()) {\r\n setValues(values.points);\r\n updateNodeData(id, { points: values.points.map((v) => ({ input: v.input, output: v.output })) });\r\n }\r\n },\r\n // eslint-disable-next-line react-compiler/react-compiler\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n [id, updateNodeData]\r\n )\r\n });\r\n\r\n const fields = useMemo(\r\n () =>\r\n values.map((item, index) => (\r\n <Group mt=\"xs\" key={item.key}>\r\n <NumberInput\r\n size=\"xs\"\r\n w={100}\r\n placeholder=\"Input Value\"\r\n key={form.key(`points.${index}.input`)}\r\n {...form.getInputProps(`points.${index}.input`)}\r\n step={0.1}\r\n />\r\n <NumberInput\r\n size=\"xs\"\r\n w={100}\r\n placeholder=\"Output Value\"\r\n key={form.key(`points.${index}.output`)}\r\n {...form.getInputProps(`points.${index}.output`)}\r\n step={0.1}\r\n />\r\n {data.state === NodeState.edit && values.length > 4 && (\r\n <ActionIcon color=\"red\" variant=\"outline\" size=\"sm\" onClick={() => form.removeListItem('points', index)}>\r\n <IconX size=\"1rem\" />\r\n </ActionIcon>\r\n )}\r\n </Group>\r\n )),\r\n [data.state, values, form]\r\n );\r\n\r\n return (\r\n <NodeContainer id={id} selected={selected} type={type} data={data}>\r\n {fields}\r\n {data.state === NodeState.edit && (\r\n <>\r\n <Space h={10} />\r\n <Button\r\n variant=\"outline\"\r\n size=\"xs\"\r\n fullWidth\r\n onClick={() => form.insertListItem('points', { input: 0, output: 0, key: randomId() })}\r\n >\r\n Add control point\r\n </Button>\r\n </>\r\n )}\r\n </NodeContainer>\r\n );\r\n}\r\n\r\nexport default memo(NoiseCurveNode);\r\n","import { useUpdateNodeData } from '@awesome-flow/core/hooks';\r\nimport { NodeContainer } from '@awesome-flow/core/layout';\r\nimport { Group, NumberInput, Stack } from '@mantine/core';\r\nimport { Node, NodeProps } from '@xyflow/react';\r\nimport { memo, useEffect, useState } from 'react';\r\nimport { NodeExponentNoiseData } from '../../abstract/node-props';\r\n\r\nfunction NoiseExponentNode({ id, selected, data, type }: NodeProps<Node<NodeExponentNoiseData>>) {\r\n const [exponent, setExponent] = useState(data.exponent);\r\n\r\n const updateNodeData = useUpdateNodeData<NodeExponentNoiseData>();\r\n\r\n useEffect(() => {\r\n updateNodeData(id, { exponent });\r\n }, [id, exponent, updateNodeData]);\r\n\r\n return (\r\n <NodeContainer id={id} selected={selected} data={data} type={type}>\r\n <Stack>\r\n <Group>\r\n Exponent:\r\n <NumberInput\r\n size=\"xs\"\r\n value={exponent}\r\n onChange={(e) => setExponent(Number(e))}\r\n step={0.1}\r\n // min={1}\r\n />\r\n </Group>\r\n </Stack>\r\n </NodeContainer>\r\n );\r\n}\r\n\r\nexport default memo(NoiseExponentNode);\r\n","import { BasicNodeData } from '@awesome-flow/core/abstract';\r\nimport { NodeContainer } from '@awesome-flow/core/layout';\r\nimport { Node, NodeProps } from '@xyflow/react';\r\nimport { memo } from 'react';\r\n\r\nfunction NoiseInvertNode({ id, selected, data, type }: NodeProps<Node<BasicNodeData>>) {\r\n return <NodeContainer id={id} selected={selected} data={data} type={type} />;\r\n}\r\n\r\nexport default memo(NoiseInvertNode);\r\n","import { useUpdateNodeData } from '@awesome-flow/core/hooks';\r\nimport { NodeContainer } from '@awesome-flow/core/layout';\r\nimport { Group, NumberInput, Stack } from '@mantine/core';\r\nimport { Node, NodeProps } from '@xyflow/react';\r\nimport { memo, useEffect, useState } from 'react';\r\nimport { NodeNormalizeNoiseData } from '../../abstract/node-props';\r\n\r\nfunction NoiseNormalizeNode({ id, selected, data, type }: NodeProps<Node<NodeNormalizeNoiseData>>) {\r\n const [intervalStart, setIntervalStart] = useState(data.intervalStart);\r\n const [intervalEnd, setIntervalEnd] = useState(data.intervalEnd);\r\n\r\n const updateNodeData = useUpdateNodeData<NodeNormalizeNoiseData>();\r\n\r\n useEffect(() => {\r\n updateNodeData(id, { intervalStart, intervalEnd });\r\n }, [id, intervalStart, intervalEnd, updateNodeData]);\r\n\r\n return (\r\n <NodeContainer id={id} selected={selected} data={data} type={type}>\r\n <Stack>\r\n <Group>\r\n <NumberInput size=\"xs\" w={100} value={intervalStart} onChange={(e) => setIntervalStart(Number(e))} />\r\n <NumberInput size=\"xs\" w={100} value={intervalEnd} onChange={(e) => setIntervalEnd(Number(e))} />\r\n </Group>\r\n </Stack>\r\n </NodeContainer>\r\n );\r\n}\r\n\r\nexport default memo(NoiseNormalizeNode);\r\n","import { useUpdateNodeData } from '@awesome-flow/core/hooks';\r\nimport { NodeContainer } from '@awesome-flow/core/layout';\r\nimport { Group, NumberInput, Stack } from '@mantine/core';\r\nimport { Node, NodeProps } from '@xyflow/react';\r\nimport { memo, useEffect, useState } from 'react';\r\nimport { NodeScaleBiasNoiseData } from '../../abstract/node-props';\r\n\r\nfunction NoiseScaleBiasNode({ id, selected, data, type }: NodeProps<Node<NodeScaleBiasNoiseData>>) {\r\n const [scale, setScale] = useState(data.scale);\r\n const [bias, setBias] = useState(data.bias);\r\n\r\n const updateNodeData = useUpdateNodeData<NodeScaleBiasNoiseData>();\r\n\r\n useEffect(() => {\r\n updateNodeData(id, { scale, bias });\r\n }, [id, scale, bias, updateNodeData]);\r\n\r\n return (\r\n <NodeContainer id={id} selected={selected} data={data} type={type}>\r\n <Stack>\r\n <Group>\r\n Scale:\r\n <NumberInput size=\"xs\" w={100} value={scale} onChange={(e) => setScale(Number(e))} step={0.1} />\r\n </Group>\r\n <Group>\r\n Bias:\r\n <NumberInput size=\"xs\" w={100} value={bias} onChange={(e) => setBias(Number(e))} step={0.1} />\r\n </Group>\r\n </Stack>\r\n </NodeContainer>\r\n );\r\n}\r\n\r\nexport default memo(NoiseScaleBiasNode);\r\n","import { NodeState } from '@awesome-flow/core/abstract';\r\nimport { useUpdateNodeData } from '@awesome-flow/core/hooks';\r\nimport { NodeContainer } from '@awesome-flow/core/layout';\r\nimport { ActionIcon, Button, Group, NumberInput, Space } from '@mantine/core';\r\nimport { FORM_INDEX, useForm } from '@mantine/form';\r\nimport { randomId } from '@mantine/hooks';\r\nimport { IconX } from '@tabler/icons-react';\r\nimport { Node, NodeProps } from '@xyflow/react';\r\nimport { memo, useMemo } from 'react';\r\nimport { NodeTerraceNoiseData } from '../../abstract/node-props';\r\n\r\nfunction NoiseTerraceNode({ id, selected, data, type }: NodeProps<Node<NodeTerraceNoiseData>>) {\r\n const updateNodeData = useUpdateNodeData<NodeTerraceNoiseData>();\r\n\r\n const initialValues = useMemo(\r\n () =>\r\n data.points?.length\r\n ? data.points.map((v) => ({ value: v, key: randomId() }))\r\n : [1, 2].map(() => ({ value: 0, key: randomId() })),\r\n [data.points]\r\n );\r\n\r\n const form = useForm<{ points: { value: number; key: string }[] }>({\r\n mode: 'uncontrolled',\r\n initialValues: {\r\n points: initialValues\r\n },\r\n validateInputOnChange: [`points.${FORM_INDEX}.input`],\r\n clearInputErrorOnChange: true\r\n });\r\n\r\n form.watch('points', (values) => {\r\n if (form.isValid()) {\r\n const points = values.value.map((v) => v.value);\r\n updateNodeData(id, { points });\r\n }\r\n\r\n form.validate();\r\n });\r\n\r\n const fields = useMemo(\r\n () =>\r\n form.values.points.map((_, index) => (\r\n <Group mt=\"xs\" key={index}>\r\n <NumberInput\r\n size=\"xs\"\r\n placeholder=\"Input Value\"\r\n key={form.key(`points.${index}.value`)}\r\n {...form.getInputProps(`points.${index}.value`)}\r\n step={0.1}\r\n />\r\n {data.state === NodeState.edit && form.values.points.length > 2 && (\r\n <ActionIcon color=\"red\" variant=\"outline\" size=\"sm\" onClick={() => form.removeListItem('points', index)}>\r\n <IconX size=\"1rem\" />\r\n </ActionIcon>\r\n )}\r\n </Group>\r\n )),\r\n [form, data.state]\r\n );\r\n\r\n return (\r\n <>\r\n <NodeContainer id={id} selected={selected} type={type} data={data}>\r\n {fields}\r\n {data.state === NodeState.edit && (\r\n <>\r\n <Space h={10} />\r\n <Button\r\n variant=\"outline\"\r\n size=\"xs\"\r\n fullWidth\r\n onClick={() => form.insertListItem('points', { value: 0, key: randomId() })}\r\n >\r\n Add control point\r\n </Button>\r\n </>\r\n )}\r\n </NodeContainer>\r\n </>\r\n );\r\n}\r\n\r\nexport default memo(NoiseTerraceNode);\r\n"],"mappings":"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"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { BasicNodeData, CustomNodeHandle, ITemplateFactory, NodeTemplate } from "@awesome-flow/core/abstract";
|
|
2
|
+
import { IPipeline } from "@awesome-ecs/abstract/pipelines";
|
|
3
|
+
import { NodeContext as NodeContext$1 } from "@awesome-flow/core/abstract/pipelines";
|
|
4
|
+
import { ComputedModuleData, NoiseModuleContext } from "@awesome-flow/noise/abstract";
|
|
5
|
+
|
|
6
|
+
//#region src/abstract/handle-types.d.ts
|
|
7
|
+
declare enum NoiseHandleType {
|
|
8
|
+
textureData = "texture-data",
|
|
9
|
+
noise = "noise",
|
|
10
|
+
position = "position",
|
|
11
|
+
module = "module"
|
|
12
|
+
}
|
|
13
|
+
declare enum DisplacementHandle {
|
|
14
|
+
sourceModule = "source",
|
|
15
|
+
xModule = "x-module",
|
|
16
|
+
yModule = "y-module",
|
|
17
|
+
zModule = "z-module",
|
|
18
|
+
output = "output"
|
|
19
|
+
}
|
|
20
|
+
declare enum NoiseSourceControlHandle {
|
|
21
|
+
source = "source",
|
|
22
|
+
control = "control",
|
|
23
|
+
output = "output"
|
|
24
|
+
}
|
|
25
|
+
type DisplacementModuleHandle = CustomNodeHandle & {
|
|
26
|
+
dataId: DisplacementHandle;
|
|
27
|
+
};
|
|
28
|
+
type NoiseSourceControlModuleHandle = CustomNodeHandle & {
|
|
29
|
+
dataId: NoiseSourceControlHandle;
|
|
30
|
+
};
|
|
31
|
+
//#endregion
|
|
32
|
+
//#region src/templates/groups/module-group-template.d.ts
|
|
33
|
+
type ModuleGroupNodeContext = NodeContext$1<BasicNodeData, ComputedModuleData, {
|
|
34
|
+
[NoiseHandleType.module]: NoiseModuleContext;
|
|
35
|
+
}>;
|
|
36
|
+
declare class ModuleGroupNodeTemplateFactory implements ITemplateFactory {
|
|
37
|
+
readonly template: NodeTemplate<BasicNodeData>;
|
|
38
|
+
readonly pipeline?: IPipeline<ModuleGroupNodeContext>;
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
export { NoiseHandleType as a, DisplacementModuleHandle as i, ModuleGroupNodeTemplateFactory as n, NoiseSourceControlHandle as o, DisplacementHandle as r, NoiseSourceControlModuleHandle as s, ModuleGroupNodeContext as t };
|
|
42
|
+
//# sourceMappingURL=module-group-template-CE4b0J24.d.cts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-group-template-CE4b0J24.d.cts","names":[],"sources":["../src/abstract/handle-types.ts","../src/templates/groups/module-group-template.ts"],"mappings":";;;;;;aAEY,eAAA;EACV,WAAA;EACA,KAAA;EACA,QAAA;EACA,MAAA;AAAA;AAAA,aAGU,kBAAA;EACV,YAAA;EACA,OAAA;EACA,OAAA;EACA,OAAA;EACA,MAAA;AAAA;AAAA,aAGU,wBAAA;EACV,MAAA;EACA,OAAA;EACA,MAAA;AAAA;AAAA,KAGU,wBAAA,GAA2B,gBAAA;EACrC,MAAA,EAAQ,kBAAA;AAAA;AAAA,KAGE,8BAAA,GAAiC,gBAAA;EAC3C,MAAA,EAAQ,wBAAA;AAAA;;;KClBE,sBAAA,GAAyB,aAAA,CACnC,aAAA,EACA,kBAAA;EAAA,CACG,eAAA,CAAgB,MAAA,GAAS,kBAAA;AAAA;AAAA,cAGjB,8BAAA,YAA0C,gBAAA;EAAA,SAC5C,QAAA,EAAU,YAAA,CAAa,aAAA;EAAA,SAgCvB,QAAA,GAAW,SAAA,CAAU,sBAAA;AAAA"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { BasicNodeData, CustomNodeHandle, ITemplateFactory, NodeTemplate } from "@awesome-flow/core/abstract";
|
|
2
|
+
import { IPipeline } from "@awesome-ecs/abstract/pipelines";
|
|
3
|
+
import { NodeContext as NodeContext$1 } from "@awesome-flow/core/abstract/pipelines";
|
|
4
|
+
import { ComputedModuleData, NoiseModuleContext } from "@awesome-flow/noise/abstract";
|
|
5
|
+
|
|
6
|
+
//#region src/abstract/handle-types.d.ts
|
|
7
|
+
declare enum NoiseHandleType {
|
|
8
|
+
textureData = "texture-data",
|
|
9
|
+
noise = "noise",
|
|
10
|
+
position = "position",
|
|
11
|
+
module = "module"
|
|
12
|
+
}
|
|
13
|
+
declare enum DisplacementHandle {
|
|
14
|
+
sourceModule = "source",
|
|
15
|
+
xModule = "x-module",
|
|
16
|
+
yModule = "y-module",
|
|
17
|
+
zModule = "z-module",
|
|
18
|
+
output = "output"
|
|
19
|
+
}
|
|
20
|
+
declare enum NoiseSourceControlHandle {
|
|
21
|
+
source = "source",
|
|
22
|
+
control = "control",
|
|
23
|
+
output = "output"
|
|
24
|
+
}
|
|
25
|
+
type DisplacementModuleHandle = CustomNodeHandle & {
|
|
26
|
+
dataId: DisplacementHandle;
|
|
27
|
+
};
|
|
28
|
+
type NoiseSourceControlModuleHandle = CustomNodeHandle & {
|
|
29
|
+
dataId: NoiseSourceControlHandle;
|
|
30
|
+
};
|
|
31
|
+
//#endregion
|
|
32
|
+
//#region src/templates/groups/module-group-template.d.ts
|
|
33
|
+
type ModuleGroupNodeContext = NodeContext$1<BasicNodeData, ComputedModuleData, {
|
|
34
|
+
[NoiseHandleType.module]: NoiseModuleContext;
|
|
35
|
+
}>;
|
|
36
|
+
declare class ModuleGroupNodeTemplateFactory implements ITemplateFactory {
|
|
37
|
+
readonly template: NodeTemplate<BasicNodeData>;
|
|
38
|
+
readonly pipeline?: IPipeline<ModuleGroupNodeContext>;
|
|
39
|
+
}
|
|
40
|
+
//#endregion
|
|
41
|
+
export { NoiseHandleType as a, DisplacementModuleHandle as i, ModuleGroupNodeTemplateFactory as n, NoiseSourceControlHandle as o, DisplacementHandle as r, NoiseSourceControlModuleHandle as s, ModuleGroupNodeContext as t };
|
|
42
|
+
//# sourceMappingURL=module-group-template-D5doDEoa.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-group-template-D5doDEoa.d.mts","names":[],"sources":["../src/abstract/handle-types.ts","../src/templates/groups/module-group-template.ts"],"mappings":";;;;;;aAEY,eAAA;EACV,WAAA;EACA,KAAA;EACA,QAAA;EACA,MAAA;AAAA;AAAA,aAGU,kBAAA;EACV,YAAA;EACA,OAAA;EACA,OAAA;EACA,OAAA;EACA,MAAA;AAAA;AAAA,aAGU,wBAAA;EACV,MAAA;EACA,OAAA;EACA,MAAA;AAAA;AAAA,KAGU,wBAAA,GAA2B,gBAAA;EACrC,MAAA,EAAQ,kBAAA;AAAA;AAAA,KAGE,8BAAA,GAAiC,gBAAA;EAC3C,MAAA,EAAQ,wBAAA;AAAA;;;KClBE,sBAAA,GAAyB,aAAA,CACnC,aAAA,EACA,kBAAA;EAAA,CACG,eAAA,CAAgB,MAAA,GAAS,kBAAA;AAAA;AAAA,cAGjB,8BAAA,YAA0C,gBAAA;EAAA,SAC5C,QAAA,EAAU,YAAA,CAAa,aAAA;EAAA,SAgCvB,QAAA,GAAW,SAAA,CAAU,sBAAA;AAAA"}
|
package/dist/modules/index.cjs
CHANGED
|
@@ -1,3 +1,21 @@
|
|
|
1
|
-
|
|
1
|
+
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
2
|
+
let libnoise_simplex_ts = require("libnoise-simplex-ts");
|
|
2
3
|
|
|
3
|
-
|
|
4
|
+
//#region src/modules/normalize-noise-module.ts
|
|
5
|
+
var NormalizeNoiseModule = class extends libnoise_simplex_ts.ModifierModule {
|
|
6
|
+
constructor(source, lowerBound, upperBound) {
|
|
7
|
+
super(source);
|
|
8
|
+
this.lowerBound = lowerBound;
|
|
9
|
+
this.upperBound = upperBound;
|
|
10
|
+
}
|
|
11
|
+
getValue(x, y, z) {
|
|
12
|
+
return normalize(this.sourceModule.getValue(x, y, z), this.lowerBound, this.upperBound);
|
|
13
|
+
}
|
|
14
|
+
};
|
|
15
|
+
function normalize(value, min, max) {
|
|
16
|
+
return (value - min) / (max - min);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
//#endregion
|
|
20
|
+
exports.NormalizeNoiseModule = NormalizeNoiseModule;
|
|
21
|
+
//# sourceMappingURL=index.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["ModifierModule"],"sources":["../../src/modules/normalize-noise-module.ts"],"sourcesContent":["import { ModifierModule, Module } from 'libnoise-simplex-ts';\n\nexport class NormalizeNoiseModule extends ModifierModule {\n constructor(\n source: Module,\n public lowerBound: number,\n public upperBound: number\n ) {\n super(source);\n }\n\n getValue(x: number, y: number, z: number): number {\n return normalize(this.sourceModule.getValue(x, y, z), this.lowerBound, this.upperBound);\n }\n}\n\nfunction normalize(value: number, min: number, max: number) {\n return (value - min) / (max - min);\n}\n"],"mappings":";;;;AAEA,IAAa,uBAAb,cAA0CA,mCAAe;CACvD,YACE,QACA,AAAO,YACP,AAAO,YACP;AACA,QAAM,OAAO;EAHN;EACA;;CAKT,SAAS,GAAW,GAAW,GAAmB;AAChD,SAAO,UAAU,KAAK,aAAa,SAAS,GAAG,GAAG,EAAE,EAAE,KAAK,YAAY,KAAK,WAAW;;;AAI3F,SAAS,UAAU,OAAe,KAAa,KAAa;AAC1D,SAAQ,QAAQ,QAAQ,MAAM"}
|
package/dist/modules/index.d.cts
CHANGED
|
@@ -1,15 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
//#region src/modules/normalize-noise-module.d.ts
|
|
4
|
-
declare class NormalizeNoiseModule extends ModifierModule {
|
|
5
|
-
lowerBound: number;
|
|
6
|
-
upperBound: number;
|
|
7
|
-
constructor(source: Module, lowerBound: number, upperBound: number);
|
|
8
|
-
getValue(x: number, y: number, z: number): number;
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
//#endregion
|
|
12
|
-
//# sourceMappingURL=normalize-noise-module.d.ts.map
|
|
13
|
-
|
|
14
|
-
export { NormalizeNoiseModule };
|
|
15
|
-
//# sourceMappingURL=index.d.cts.map
|
|
1
|
+
import { t as NormalizeNoiseModule } from "../index-BbHM1kxc.cjs";
|
|
2
|
+
export { NormalizeNoiseModule };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","names":[],"sources":["../../src/modules/normalize-noise-module.ts"],"sourcesContent":["import { ModifierModule, Module } from 'libnoise-simplex-ts';\n\nexport class NormalizeNoiseModule extends ModifierModule {\n constructor(\n source: Module,\n public lowerBound: number,\n public upperBound: number\n ) {\n super(source);\n }\n\n getValue(x: number, y: number, z: number): number {\n return normalize(this.sourceModule.getValue(x, y, z), this.lowerBound, this.upperBound);\n }\n}\n\nfunction normalize(value: number, min: number, max: number) {\n return (value - min) / (max - min);\n}\n"],"mappings":";;;AAEA,IAAa,uBAAb,cAA0C,eAAe;CACvD,YACE,QACA,AAAO,YACP,AAAO,YACP;AACA,QAAM,OAAO;EAHN;EACA;;CAKT,SAAS,GAAW,GAAW,GAAmB;AAChD,SAAO,UAAU,KAAK,aAAa,SAAS,GAAG,GAAG,EAAE,EAAE,KAAK,YAAY,KAAK,WAAW;;;AAI3F,SAAS,UAAU,OAAe,KAAa,KAAa;AAC1D,SAAQ,QAAQ,QAAQ,MAAM"}
|