@awesome-flow/noise 0.3.0 → 0.5.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 +1403 -2079
- package/dist/abstract/index.d.cts +23 -25
- package/dist/abstract/index.d.ts +23 -25
- package/dist/abstract/index.js +1319 -1998
- package/dist/index-BungWYrh.d.cts +49 -0
- package/dist/index-DsQSjZC5.d.ts +49 -0
- package/dist/modules/index.cjs +0 -1
- package/dist/modules/index.js +0 -1
- package/dist/{node-props-CeZ8Oshz.d.ts → node-props-BbqbXDXn.d.cts} +2 -22
- package/dist/{node-props-hKW-_KOU.d.cts → node-props-BbqbXDXn.d.ts} +2 -22
- package/dist/nodes/generators/index.cjs +130 -381
- package/dist/nodes/generators/index.d.cts +2 -8
- package/dist/nodes/generators/index.d.ts +2 -8
- package/dist/nodes/generators/index.js +112 -361
- package/dist/nodes/groups/index.cjs +27 -18
- package/dist/nodes/groups/index.js +34 -20
- package/dist/nodes/index.cjs +1652 -989
- package/dist/nodes/index.d.cts +3 -5
- package/dist/nodes/index.d.ts +3 -5
- package/dist/nodes/index.js +1629 -965
- package/dist/nodes/modifiers/index.cjs +17 -120
- package/dist/nodes/modifiers/index.d.cts +2 -6
- package/dist/nodes/modifiers/index.d.ts +2 -6
- package/dist/nodes/modifiers/index.js +16 -125
- package/dist/nodes/output/index.cjs +1270 -90
- package/dist/nodes/output/index.js +1318 -93
- package/dist/nodes/selectors/index.cjs +1295 -59
- package/dist/nodes/selectors/index.d.cts +1 -3
- package/dist/nodes/selectors/index.d.ts +1 -3
- package/dist/nodes/selectors/index.js +1343 -66
- package/dist/nodes/transformers/index.cjs +67 -207
- package/dist/nodes/transformers/index.d.cts +3 -5
- package/dist/nodes/transformers/index.d.ts +3 -5
- package/dist/nodes/transformers/index.js +54 -194
- package/dist/templates/generators/index.cjs +838 -1279
- package/dist/templates/generators/index.d.cts +13 -50
- package/dist/templates/generators/index.d.ts +13 -50
- package/dist/templates/generators/index.js +840 -1281
- package/dist/templates/groups/index.cjs +836 -1273
- package/dist/templates/groups/index.d.cts +1 -5
- package/dist/templates/groups/index.d.ts +1 -5
- package/dist/templates/groups/index.js +839 -1278
- package/dist/templates/index.cjs +838 -1281
- package/dist/templates/index.d.cts +4 -7
- package/dist/templates/index.d.ts +4 -7
- package/dist/templates/index.js +840 -1282
- package/dist/templates/modifiers/index.cjs +840 -1279
- package/dist/templates/modifiers/index.d.cts +11 -38
- package/dist/templates/modifiers/index.d.ts +11 -38
- package/dist/templates/modifiers/index.js +842 -1282
- package/dist/templates/output/index.cjs +838 -1275
- package/dist/templates/output/index.d.cts +4 -14
- package/dist/templates/output/index.d.ts +4 -14
- package/dist/templates/output/index.js +841 -1280
- package/dist/templates/selectors/index.cjs +838 -1275
- package/dist/templates/selectors/index.d.cts +3 -9
- package/dist/templates/selectors/index.d.ts +3 -9
- package/dist/templates/selectors/index.js +841 -1280
- package/dist/templates/transformers/index.cjs +838 -1275
- package/dist/templates/transformers/index.d.cts +3 -36
- package/dist/templates/transformers/index.d.ts +3 -36
- package/dist/templates/transformers/index.js +841 -1280
- package/package.json +3 -3
- package/dist/abstract/index.cjs.map +0 -1
- package/dist/abstract/index.js.map +0 -1
- package/dist/handle-types-D-v5S53h.d.cts +0 -22
- package/dist/handle-types-D-v5S53h.d.ts +0 -22
- package/dist/layout/index.cjs +0 -164
- package/dist/layout/index.cjs.map +0 -1
- package/dist/layout/index.d.cts +0 -26
- package/dist/layout/index.d.ts +0 -26
- package/dist/layout/index.js +0 -136
- package/dist/layout/index.js.map +0 -1
- package/dist/modules/index.cjs.map +0 -1
- package/dist/modules/index.js.map +0 -1
- package/dist/nodes/generators/index.cjs.map +0 -1
- package/dist/nodes/generators/index.js.map +0 -1
- package/dist/nodes/groups/index.cjs.map +0 -1
- package/dist/nodes/groups/index.js.map +0 -1
- package/dist/nodes/index.cjs.map +0 -1
- package/dist/nodes/index.js.map +0 -1
- package/dist/nodes/modifiers/index.cjs.map +0 -1
- package/dist/nodes/modifiers/index.js.map +0 -1
- package/dist/nodes/output/index.cjs.map +0 -1
- package/dist/nodes/output/index.js.map +0 -1
- package/dist/nodes/selectors/index.cjs.map +0 -1
- package/dist/nodes/selectors/index.js.map +0 -1
- package/dist/nodes/transformers/index.cjs.map +0 -1
- package/dist/nodes/transformers/index.js.map +0 -1
- package/dist/properties-BxwtU6i9.d.cts +0 -9
- package/dist/properties-BxwtU6i9.d.ts +0 -9
- package/dist/templates/generators/index.cjs.map +0 -1
- package/dist/templates/generators/index.js.map +0 -1
- package/dist/templates/groups/index.cjs.map +0 -1
- package/dist/templates/groups/index.js.map +0 -1
- package/dist/templates/index.cjs.map +0 -1
- package/dist/templates/index.js.map +0 -1
- package/dist/templates/modifiers/index.cjs.map +0 -1
- package/dist/templates/modifiers/index.js.map +0 -1
- package/dist/templates/output/index.cjs.map +0 -1
- package/dist/templates/output/index.js.map +0 -1
- package/dist/templates/selectors/index.cjs.map +0 -1
- package/dist/templates/selectors/index.js.map +0 -1
- package/dist/templates/transformers/index.cjs.map +0 -1
- package/dist/templates/transformers/index.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/nodes/output/noise-logger-node.tsx","../../../src/nodes/output/noise-output-node.tsx","../../../src/nodes/output/noise-raw-texture-node.tsx","../../../src/nodes/output/positions-logger-node.tsx"],"sourcesContent":["import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useMemo } from 'react';\nimport { Divider, Stack, Text } from '@mantine/core';\nimport { BasicNodeData } from '@awesome-flow/core/abstract';\nimport { useIncomingComputedData } from '@awesome-flow/core/hooks';\nimport { ComputedNoiseData } from '../../abstract/node-props';\n\nfunction NoiseLoggerNode({ id, selected, data, type }: NodeProps<Node<BasicNodeData>>) {\n const incoming = useIncomingComputedData<ComputedNoiseData>(id);\n const noise = useMemo(() => incoming?.map((p) => p.noise).flat(), [incoming]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Text>Size: {noise?.length || 0}</Text>\n <Divider h={5} />\n <Stack>\n {noise?.map((v, i) => (\n <Text key={i}>\n {v.position?.x}:{v.position?.y}:{v.position?.z}: {v.value}\n </Text>\n ))}\n </Stack>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseLoggerNode;\n","import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useIncomingComputedData, useUpdateNodeComputedData } from '@awesome-flow/core/hooks';\nimport { Box, Group, LoadingOverlay, Stack } from '@mantine/core';\nimport { BasicNodeData } from '@awesome-flow/core/abstract';\nimport { useEffect, useState } from 'react';\nimport { NoiseHandleFlag } from '../../abstract/handle-types';\nimport {\n ComputedModuleData,\n ComputedNoiseData,\n ComputedPositionsData,\n PositionNoiseValue,\n} from '../../abstract/node-props';\n\nfunction NoiseOutputNode({ id, selected, data, type }: NodeProps<Node<BasicNodeData>>) {\n const [generating, setGenerating] = useState<boolean>(false);\n const updateComputedData = useUpdateNodeComputedData<ComputedNoiseData>();\n\n const incomingModules = useIncomingComputedData<ComputedModuleData>(id, NoiseHandleFlag.module);\n\n const incomingPositions = useIncomingComputedData<ComputedPositionsData>(\n id,\n NoiseHandleFlag.position\n );\n\n useEffect(() => {\n if (incomingPositions?.length && incomingModules?.length) {\n const { module } = incomingModules[0];\n\n if (module) {\n setGenerating(true);\n }\n }\n }, [incomingModules, incomingPositions]);\n\n useEffect(() => {\n if (incomingPositions?.length && incomingModules?.length) {\n const { module } = incomingModules[0];\n\n if (module && generating) {\n const noise: PositionNoiseValue[] = [];\n\n for (const input of incomingPositions) {\n for (const position of input.positions) {\n const value = module.getValue(position.x, position.y, position.z);\n\n noise.push({\n position,\n value,\n });\n }\n }\n\n console.log('SET COMPUTED DATA');\n updateComputedData(id, { noise, module });\n setGenerating(false);\n }\n }\n }, [generating]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Box pos=\"relative\">\n <LoadingOverlay\n visible={generating}\n zIndex={1000}\n overlayProps={{ radius: 'sm', blur: 2 }}\n />\n <Stack>\n <Group>Position Inputs: {incomingPositions?.length}</Group>\n <Group>Module Inputs: {incomingModules?.length}</Group>\n </Stack>\n </Box>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseOutputNode;\n","import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useEffect, useMemo, useState } from 'react';\nimport { useIncomingComputedData, useUpdateNodeComputedData } from '@awesome-flow/core/hooks';\nimport { Group, Stack } from '@mantine/core';\nimport { BasicNodeData } from '@awesome-flow/core/abstract';\nimport { ComputedNoiseData, ComputedNoiseTextureData } from '../../abstract/node-props';\n\nfunction NoiseRawTextureNode({ id, selected, data, type }: NodeProps<Node<BasicNodeData>>) {\n const updateComputedData = useUpdateNodeComputedData<ComputedNoiseTextureData>();\n\n const [dataLength, setDataLength] = useState(0);\n const [resolution, setResolution] = useState(0);\n\n const incoming = useIncomingComputedData<ComputedNoiseData>(id);\n const noise = useMemo(() => incoming?.map((p) => p.noise).flat(), [incoming]);\n\n useEffect(() => {\n if (noise?.length) {\n const size = Math.ceil(Math.sqrt(noise.length));\n\n const colors = noise.map((n) => [n.value * 255, n.value * 255, n.value * 255, 255]).flat();\n const dataArray = new Uint8Array(size * size * 4);\n dataArray.set(colors);\n\n setResolution(size);\n setDataLength(dataArray.length);\n\n updateComputedData(id, { textureData: dataArray, textureResolution: size });\n }\n }, [noise]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Stack>\n <Group>\n Resolution: {resolution}x{resolution}\n </Group>\n <Group>Input Length: {noise?.length || 0}</Group>\n <Group>\n Output Length ({resolution}*{resolution}*4): {dataLength}\n </Group>\n </Stack>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseRawTextureNode;\n","import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useMemo } from 'react';\nimport { Divider, Stack, Text } from '@mantine/core';\nimport { BasicNodeData } from '@awesome-flow/core/abstract';\nimport { useIncomingComputedData } from '@awesome-flow/core/hooks';\nimport { ComputedPositionsData } from '../../abstract/node-props';\n\nfunction PositionsLoggerNode({ id, selected, data, type }: NodeProps<Node<BasicNodeData>>) {\n const incoming = useIncomingComputedData<ComputedPositionsData>(id);\n\n const positions = useMemo(() => {\n return incoming?.map((p) => p.positions).flat();\n }, [incoming]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Text>Size: {positions?.length || 0}</Text>\n <Divider h={5} />\n <Stack>\n {positions?.map((v, i) => (\n <Text key={i}>\n {v.x}:{v.y}:{v.z}\n </Text>\n ))}\n </Stack>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default PositionsLoggerNode;\n"],"mappings":"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","names":["NodeContainer","NodeTrackConnections","useIncomingComputedData","Stack","jsx","jsxs","useIncomingComputedData","NodeContainer","Stack","NodeTrackConnections","NodeContainer","NodeTrackConnections","useEffect","useMemo","useState","useIncomingComputedData","useUpdateNodeComputedData","Group","Stack","jsx","jsxs","NodeContainer","NodeTrackConnections","useMemo","Divider","Stack","Text","useIncomingComputedData","jsx","jsxs"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/nodes/selectors/index.ts","../../../src/nodes/selectors/noise-blend-node.tsx","../../../src/nodes/selectors/noise-select-node.tsx"],"sourcesContent":["export { default as NoiseBlendNode } from './noise-blend-node';\nexport { default as NoiseSelectNode } from './noise-select-node';\n","import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useEffect } from 'react';\nimport { useIncomingComputedData, useUpdateNodeComputedData } from '@awesome-flow/core/hooks';\nimport { Blend } from 'libnoise-ts/module/selector';\nimport { BasicNodeData } from '@awesome-flow/core/abstract';\nimport { Group } from '@mantine/core';\nimport { ComputedModuleData } from '../../abstract/node-props';\n\nfunction NoiseBlendNode({ id, selected, data, type }: NodeProps<Node<BasicNodeData>>) {\n const incoming = useIncomingComputedData<ComputedModuleData>(id);\n const updateComputedData = useUpdateNodeComputedData<ComputedModuleData>();\n\n useEffect(() => {\n if (incoming?.length > 2) {\n const module = new Blend(incoming[0].module, incoming[1].module, incoming[2].module);\n updateComputedData(id, { module });\n }\n }, [id, incoming, updateComputedData]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Group>Modules: {incoming?.length}</Group>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseBlendNode;\n","import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useEffect, useState } from 'react';\nimport {\n useIncomingComputedData,\n useUpdateNodeComputedData,\n useUpdateNodeData,\n} from '@awesome-flow/core/hooks';\nimport { Select } from 'libnoise-ts/module/selector';\nimport { Group, NumberInput, Stack } from '@mantine/core';\nimport { ComputedModuleData, NodeSelectNoiseData } from '../../abstract/node-props';\n\nfunction NoiseSelectNode({ id, selected, data, type }: NodeProps<Node<NodeSelectNoiseData>>) {\n const [edgeFalloff, setEdgeFalloff] = useState(data.edgeFalloff);\n const [lowerBound, setLowerBound] = useState(data.lowerBound);\n const [upperBound, setUpperBound] = useState(data.upperBound);\n\n const incoming = useIncomingComputedData<ComputedModuleData>(id);\n\n const updateNodeData = useUpdateNodeData<NodeSelectNoiseData>();\n const updateComputedData = useUpdateNodeComputedData<ComputedModuleData>();\n\n useEffect(() => {\n if (incoming?.length > 2) {\n const module = new Select(\n incoming[0].module,\n incoming[1].module,\n incoming[2].module,\n edgeFalloff,\n lowerBound,\n upperBound\n );\n\n updateComputedData(id, { module });\n }\n\n updateNodeData(id, { edgeFalloff, lowerBound, upperBound });\n }, [incoming, edgeFalloff, lowerBound, upperBound, updateNodeData, id, updateComputedData]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Stack>\n <Group>\n Edge Falloff:\n <NumberInput\n size=\"xs\"\n w={100}\n value={edgeFalloff}\n onChange={(e) => setEdgeFalloff(Number(e))}\n step={0.1}\n />\n </Group>\n <Group>\n Lower Bound:\n <NumberInput\n size=\"xs\"\n w={100}\n value={lowerBound}\n onChange={(e) => setLowerBound(Number(e))}\n step={0.1}\n />\n </Group>\n <Group>\n Upper Bound:\n <NumberInput\n size=\"xs\"\n w={100}\n value={upperBound}\n onChange={(e) => setUpperBound(Number(e))}\n step={0.1}\n />\n </Group>\n <Group>Modules: {incoming?.length}</Group>\n </Stack>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseSelectNode;\n"],"mappings":"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","names":["module","import_layout","import_react","import_hooks","import_selector","import_core","import_jsx_runtime","module"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/nodes/selectors/noise-blend-node.tsx","../../../src/nodes/selectors/noise-select-node.tsx"],"sourcesContent":["import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useEffect } from 'react';\nimport { useIncomingComputedData, useUpdateNodeComputedData } from '@awesome-flow/core/hooks';\nimport { Blend } from 'libnoise-ts/module/selector';\nimport { BasicNodeData } from '@awesome-flow/core/abstract';\nimport { Group } from '@mantine/core';\nimport { ComputedModuleData } from '../../abstract/node-props';\n\nfunction NoiseBlendNode({ id, selected, data, type }: NodeProps<Node<BasicNodeData>>) {\n const incoming = useIncomingComputedData<ComputedModuleData>(id);\n const updateComputedData = useUpdateNodeComputedData<ComputedModuleData>();\n\n useEffect(() => {\n if (incoming?.length > 2) {\n const module = new Blend(incoming[0].module, incoming[1].module, incoming[2].module);\n updateComputedData(id, { module });\n }\n }, [id, incoming, updateComputedData]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Group>Modules: {incoming?.length}</Group>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseBlendNode;\n","import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useEffect, useState } from 'react';\nimport {\n useIncomingComputedData,\n useUpdateNodeComputedData,\n useUpdateNodeData,\n} from '@awesome-flow/core/hooks';\nimport { Select } from 'libnoise-ts/module/selector';\nimport { Group, NumberInput, Stack } from '@mantine/core';\nimport { ComputedModuleData, NodeSelectNoiseData } from '../../abstract/node-props';\n\nfunction NoiseSelectNode({ id, selected, data, type }: NodeProps<Node<NodeSelectNoiseData>>) {\n const [edgeFalloff, setEdgeFalloff] = useState(data.edgeFalloff);\n const [lowerBound, setLowerBound] = useState(data.lowerBound);\n const [upperBound, setUpperBound] = useState(data.upperBound);\n\n const incoming = useIncomingComputedData<ComputedModuleData>(id);\n\n const updateNodeData = useUpdateNodeData<NodeSelectNoiseData>();\n const updateComputedData = useUpdateNodeComputedData<ComputedModuleData>();\n\n useEffect(() => {\n if (incoming?.length > 2) {\n const module = new Select(\n incoming[0].module,\n incoming[1].module,\n incoming[2].module,\n edgeFalloff,\n lowerBound,\n upperBound\n );\n\n updateComputedData(id, { module });\n }\n\n updateNodeData(id, { edgeFalloff, lowerBound, upperBound });\n }, [incoming, edgeFalloff, lowerBound, upperBound, updateNodeData, id, updateComputedData]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Stack>\n <Group>\n Edge Falloff:\n <NumberInput\n size=\"xs\"\n w={100}\n value={edgeFalloff}\n onChange={(e) => setEdgeFalloff(Number(e))}\n step={0.1}\n />\n </Group>\n <Group>\n Lower Bound:\n <NumberInput\n size=\"xs\"\n w={100}\n value={lowerBound}\n onChange={(e) => setLowerBound(Number(e))}\n step={0.1}\n />\n </Group>\n <Group>\n Upper Bound:\n <NumberInput\n size=\"xs\"\n w={100}\n value={upperBound}\n onChange={(e) => setUpperBound(Number(e))}\n step={0.1}\n />\n </Group>\n <Group>Modules: {incoming?.length}</Group>\n </Stack>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseSelectNode;\n"],"mappings":"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","names":["NodeContainer","NodeTrackConnections","useEffect","useIncomingComputedData","useUpdateNodeComputedData","Group","jsx","jsxs"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/nodes/transformers/index.ts","../../../src/nodes/transformers/noise-displace-node.tsx","../../../src/nodes/transformers/noise-rotate-point-node.tsx","../../../src/nodes/transformers/noise-scale-point-node.tsx","../../../src/nodes/transformers/noise-translate-point-node.tsx","../../../src/nodes/transformers/noise-turbulence-node .tsx","../../../src/layout/node-property-variables.tsx","../../../src/layout/node-value-input.tsx","../../../src/layout/node-property-input.tsx"],"sourcesContent":["export { default as NoiseDisplaceNode } from './noise-displace-node';\nexport { default as NoiseRotatePointNode } from './noise-rotate-point-node';\nexport { default as NoiseScalePointNode } from './noise-scale-point-node';\nexport { default as NoiseTranslatePointNode } from './noise-translate-point-node';\nexport { default as NoiseTurbulenceNode } from './noise-turbulence-node ';\n","import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useEffect, useMemo } from 'react';\nimport { useIncomingHandleData, useUpdateNodeComputedData } from '@awesome-flow/core/hooks';\nimport { Displace } from 'libnoise-ts/module/transformer';\nimport { Badge, Stack } from '@mantine/core';\nimport { ComputedModuleData, NodeDisplaceNoiseData } from '../../abstract/node-props';\nimport { DisplacementModule } from '../../abstract/handle-types';\n\nfunction NoiseDisplaceNode({ id, selected, data, type }: NodeProps<Node<NodeDisplaceNoiseData>>) {\n const updateComputedData = useUpdateNodeComputedData<ComputedModuleData>();\n const incomingHandleData = useIncomingHandleData<ComputedModuleData>(id, data.handles);\n\n const { sourceModule, xModule, yModule, zModule } = useMemo(() => {\n return {\n sourceModule: incomingHandleData[DisplacementModule.sourceModule],\n xModule: incomingHandleData[DisplacementModule.xModule],\n yModule: incomingHandleData[DisplacementModule.yModule],\n zModule: incomingHandleData[DisplacementModule.zModule],\n };\n }, [incomingHandleData]);\n\n useEffect(() => {\n if (sourceModule && xModule && yModule && zModule) {\n const module = new Displace(\n sourceModule[0].module,\n xModule[0].module,\n yModule[0].module,\n zModule[0].module\n );\n\n updateComputedData(id, { module });\n }\n }, [id, updateComputedData, sourceModule, xModule, yModule, zModule]);\n\n const { sourceColor, xColor, yColor, zColor } = useMemo(() => {\n return {\n sourceColor: sourceModule ? 'green' : 'orange',\n xColor: xModule ? 'green' : 'orange',\n yColor: yModule ? 'green' : 'orange',\n zColor: zModule ? 'green' : 'orange',\n };\n }, [sourceModule, xModule, yModule, zModule]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Stack align=\"center\">\n <Badge color={sourceColor}>Source Module</Badge>\n <Badge color={xColor}>X Module</Badge>\n <Badge color={yColor}>Y Module</Badge>\n <Badge color={zColor}>Z Module</Badge>\n </Stack>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseDisplaceNode;\n","import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useEffect, useState } from 'react';\nimport {\n useIncomingComputedData,\n useUpdateNodeComputedData,\n useUpdateNodeData,\n} from '@awesome-flow/core/hooks';\nimport { Group, NumberInput, Stack } from '@mantine/core';\nimport { RotatePoint } from 'libnoise-ts/module/transformer';\nimport { ComputedModuleData, NodeRotatePointNoiseData } from '../../abstract/node-props';\n\nfunction NoiseRotatePointNode({\n id,\n selected,\n data,\n type,\n}: NodeProps<Node<NodeRotatePointNoiseData>>) {\n const [xAngle, setXAngle] = useState(data.xAngle);\n const [yAngle, setYAngle] = useState(data.yAngle);\n const [zAngle, setZAngle] = useState(data.zAngle);\n\n const incoming = useIncomingComputedData<ComputedModuleData>(id);\n\n const updateNodeData = useUpdateNodeData<NodeRotatePointNoiseData>();\n const updateComputedData = useUpdateNodeComputedData<ComputedModuleData>();\n\n useEffect(() => {\n if (incoming?.length) {\n const module = new RotatePoint(incoming[0].module, xAngle, yAngle, zAngle);\n updateComputedData(id, { module });\n }\n\n updateNodeData(id, { xAngle, yAngle, zAngle });\n }, [id, updateComputedData, updateNodeData, incoming, xAngle, yAngle, zAngle]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Stack>\n <Group>\n X Angle:\n <NumberInput\n size=\"xs\"\n w={100}\n value={xAngle}\n onChange={(e) => setXAngle(Number(e))}\n step={0.01}\n />\n </Group>\n <Group>\n Y Angle:\n <NumberInput\n size=\"xs\"\n w={100}\n value={yAngle}\n onChange={(e) => setYAngle(Number(e))}\n step={0.01}\n />\n </Group>\n <Group>\n Z Angle:\n <NumberInput\n size=\"xs\"\n w={100}\n value={zAngle}\n onChange={(e) => setZAngle(Number(e))}\n step={0.01}\n />\n </Group>\n </Stack>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseRotatePointNode;\n","import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useEffect, useState } from 'react';\nimport {\n useIncomingComputedData,\n useUpdateNodeComputedData,\n useUpdateNodeData,\n} from '@awesome-flow/core/hooks';\nimport { Group, NumberInput, Stack } from '@mantine/core';\nimport { ScalePoint } from 'libnoise-ts/module/transformer';\nimport { ComputedModuleData, NodeScalePointNoiseData } from '../../abstract/node-props';\n\nfunction NoiseScalePointNode({\n id,\n selected,\n data,\n type,\n}: NodeProps<Node<NodeScalePointNoiseData>>) {\n const [xScale, setXScale] = useState(data.xScale);\n const [yScale, setYScale] = useState(data.yScale);\n const [zScale, setZScale] = useState(data.zScale);\n\n const incoming = useIncomingComputedData<ComputedModuleData>(id);\n\n const updateNodeData = useUpdateNodeData<NodeScalePointNoiseData>();\n const updateComputedData = useUpdateNodeComputedData<ComputedModuleData>();\n\n useEffect(() => {\n if (incoming?.length) {\n const module = new ScalePoint(incoming[0].module, xScale, yScale, zScale);\n updateComputedData(id, { module });\n }\n\n updateNodeData(id, { xScale, yScale, zScale });\n }, [id, incoming, updateComputedData, updateNodeData, xScale, yScale, zScale]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Stack>\n <Group>\n X Scale:\n <NumberInput\n size=\"xs\"\n w={100}\n value={xScale}\n onChange={(e) => setXScale(Number(e))}\n step={0.01}\n />\n </Group>\n <Group>\n Y Scale:\n <NumberInput\n size=\"xs\"\n w={100}\n value={yScale}\n onChange={(e) => setYScale(Number(e))}\n step={0.01}\n />\n </Group>\n <Group>\n Z Scale:\n <NumberInput\n size=\"xs\"\n w={100}\n value={zScale}\n onChange={(e) => setZScale(Number(e))}\n step={0.01}\n />\n </Group>\n </Stack>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseScalePointNode;\n","import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useEffect, useState } from 'react';\nimport {\n useIncomingComputedData,\n useUpdateNodeComputedData,\n useUpdateNodeData,\n} from '@awesome-flow/core/hooks';\nimport { Group, NumberInput, Stack } from '@mantine/core';\nimport { TranslatePoint } from 'libnoise-ts/module/transformer';\nimport { ComputedModuleData, NodeTranslatePointNoiseData } from '../../abstract/node-props';\n\nfunction NoiseTranslatePointNode({\n id,\n selected,\n data,\n type,\n}: NodeProps<Node<NodeTranslatePointNoiseData>>) {\n const [translateX, setTranslateX] = useState(data.translateX);\n const [translateY, setTranslateY] = useState(data.translateY);\n const [translateZ, setTranslateZ] = useState(data.translateZ);\n\n const incoming = useIncomingComputedData<ComputedModuleData>(id);\n\n const updateNodeData = useUpdateNodeData<NodeTranslatePointNoiseData>();\n const updateComputedData = useUpdateNodeComputedData<ComputedModuleData>();\n\n useEffect(() => {\n if (incoming?.length) {\n const module = new TranslatePoint(incoming[0].module, translateX, translateY, translateZ);\n updateComputedData(id, { module });\n }\n\n updateNodeData(id, { translateX, translateY, translateZ });\n }, [id, incoming, translateX, translateY, translateZ, updateComputedData, updateNodeData]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Stack>\n <Group>\n Translate X:\n <NumberInput\n size=\"xs\"\n w={100}\n value={translateX}\n onChange={(e) => setTranslateX(Number(e))}\n step={1}\n />\n </Group>\n <Group>\n Translate Y:\n <NumberInput\n size=\"xs\"\n w={100}\n value={translateY}\n onChange={(e) => setTranslateY(Number(e))}\n step={1}\n />\n </Group>\n <Group>\n Translate Z:\n <NumberInput\n size=\"xs\"\n w={100}\n value={translateZ}\n onChange={(e) => setTranslateZ(Number(e))}\n step={1}\n />\n </Group>\n </Stack>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseTranslatePointNode;\n","import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useCallback, useEffect, useState } from 'react';\nimport { useIncomingComputedData, useUpdateNodeComputedData } from '@awesome-flow/core/hooks';\nimport { Turbulence } from 'libnoise-ts/module/transformer';\nimport { ComputedModuleData, NodeTurbulenceNoiseData } from '../../abstract/node-props';\nimport { PropertyValue } from '../../abstract/properties';\nimport NodePropertyVariables from '../../layout/node-property-variables';\n\nfunction NoiseTurbulenceNode({\n id,\n selected,\n data,\n type,\n}: NodeProps<Node<NodeTurbulenceNoiseData>>) {\n const [properties, setProperties] = useState(null);\n\n const incoming = useIncomingComputedData<ComputedModuleData>(id);\n const updateComputedData = useUpdateNodeComputedData<ComputedModuleData>();\n\n const onPropertiesChange = useCallback((props: Record<string, PropertyValue<number>>) => {\n setProperties(props);\n }, []);\n\n useEffect(() => {\n if (incoming?.length) {\n const module = new Turbulence(\n incoming[0].module,\n properties.frequency.value,\n properties.power.value,\n properties.roughness.value,\n properties.seed.value\n );\n updateComputedData(id, { module });\n }\n }, [id, incoming, properties, updateComputedData]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <NodePropertyVariables data={data} nodeId={id} onPropertiesChange={onPropertiesChange} />\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseTurbulenceNode;\n","import { useIncomingNodeData, useUpdateNodeData } from '@awesome-flow/core/hooks';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Group, Stack } from '@mantine/core';\nimport { getObjectKeys } from '@awesome-flow/core/utils';\nimport { nodeDataPropertyExcept } from '@awesome-flow/core/abstract';\nimport { NodeVariablePropertyData } from '../abstract/node-props';\nimport { PropertyValue, ValueType } from '../abstract/properties';\nimport NodePropertyInput from './node-property-input';\n\nexport type NodeTrackVariablesProps = {\n nodeId: string;\n data: Record<string, any>;\n except?: Set<string>;\n onPropertiesChange?: (properties: Record<string, PropertyValue>) => void;\n};\n\nfunction NodePropertyVariables({\n data,\n nodeId,\n onPropertiesChange,\n except = nodeDataPropertyExcept,\n}: Readonly<NodeTrackVariablesProps>) {\n const [properties, setProperties] = useState<Record<string, PropertyValue>>(() => {\n const keys = getObjectKeys(data, except);\n\n const dataProps = {};\n\n for (const key of keys) {\n dataProps[key] = {\n name: key,\n value: data[key],\n } satisfies PropertyValue;\n }\n\n return dataProps;\n });\n\n const updateNodeData = useUpdateNodeData();\n const incoming = useIncomingNodeData<NodeVariablePropertyData>(nodeId);\n\n const resetAllDisabled = useCallback(() => {\n const keys = Object.keys(properties);\n\n keys.forEach((k) => {\n properties[k].disabled = false;\n });\n\n setProperties(properties);\n }, []);\n\n const updatePropertyValue = useCallback((name: string, value: ValueType, disabled?: boolean) => {\n let property = properties[name];\n\n if (property) {\n property.value = value;\n } else {\n property = {\n name,\n value,\n };\n }\n\n property.disabled = disabled;\n\n setProperties({ ...properties, [name]: property });\n updateNodeData(nodeId, { [name]: value });\n }, []);\n\n useEffect(() => {\n resetAllDisabled();\n\n if (incoming?.length) {\n for (const connection of incoming) {\n if (connection.property && properties[connection.property.name] !== undefined) {\n updatePropertyValue(connection.property.name, connection.property.value, true);\n }\n }\n }\n }, [incoming]);\n\n useEffect(() => {\n if (onPropertiesChange) {\n onPropertiesChange(properties);\n }\n }, [onPropertiesChange, properties]);\n\n const nodes = useMemo(() => {\n return Object.keys(properties).map((key) => {\n const property = properties[key];\n\n return (\n <Group key={key}>\n {property.name}:<NodePropertyInput property={property} onChange={updatePropertyValue} />\n </Group>\n );\n });\n }, [properties, updatePropertyValue]);\n\n return <Stack>{nodes}</Stack>;\n}\n\nexport default NodePropertyVariables;\n","import { Input, NumberInput, Switch } from '@mantine/core';\nimport { ValueType } from '../abstract/properties';\n\nexport type NodeValueInputProps = {\n value: ValueType;\n disabled?: boolean;\n step?: number;\n onChange: (value: ValueType) => void;\n};\n\nfunction NodeValueInput({ value, disabled, step, onChange }: Readonly<NodeValueInputProps>) {\n if (value === undefined || value === null) {\n return <></>;\n }\n\n switch (typeof value) {\n case 'boolean': {\n return (\n <Switch\n checked={value}\n disabled={disabled}\n onChange={(e) => onChange(e.currentTarget.checked)}\n />\n );\n }\n\n case 'number': {\n return (\n <NumberInput value={value} disabled={disabled} step={step} onChange={(e) => onChange(e)} />\n );\n }\n\n case 'string': {\n return (\n <Input\n value={value}\n disabled={disabled}\n onChange={(e) => onChange(e.currentTarget.value)}\n />\n );\n }\n\n default:\n throw new Error(`Unknown input node for value of type: ${typeof value} (${value})`);\n }\n}\n\nexport default NodeValueInput;\n","import { ValueType, PropertyValue } from '../abstract/properties';\nimport NodeValueInput from './node-value-input';\n\nexport type NodePropertyInputProps = {\n property: PropertyValue;\n onChange: (name: string, value: ValueType) => void;\n};\n\nfunction NodePropertyInput({ property, onChange }: Readonly<NodePropertyInputProps>) {\n if (!property) {\n return <></>;\n }\n\n return (\n <NodeValueInput\n value={property.value}\n disabled={property.disabled}\n step={property.step}\n onChange={(value) => onChange(property.name, value)}\n />\n );\n}\n\nexport default NodePropertyInput;\n"],"mappings":"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","names":["module","import_layout","import_react","import_hooks","import_core","import_transformer","import_jsx_runtime","module","import_layout","import_react","import_hooks","import_core","import_transformer","import_jsx_runtime","module","import_layout","import_react","import_hooks","import_core","import_transformer","import_jsx_runtime","module","import_layout","import_react","import_hooks","import_transformer","import_hooks","import_react","import_core","import_core","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","import_jsx_runtime","module"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/nodes/transformers/noise-displace-node.tsx","../../../src/nodes/transformers/noise-rotate-point-node.tsx","../../../src/nodes/transformers/noise-scale-point-node.tsx","../../../src/nodes/transformers/noise-translate-point-node.tsx","../../../src/nodes/transformers/noise-turbulence-node .tsx","../../../src/layout/node-property-variables.tsx","../../../src/layout/node-value-input.tsx","../../../src/layout/node-property-input.tsx"],"sourcesContent":["import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useEffect, useMemo } from 'react';\nimport { useIncomingHandleData, useUpdateNodeComputedData } from '@awesome-flow/core/hooks';\nimport { Displace } from 'libnoise-ts/module/transformer';\nimport { Badge, Stack } from '@mantine/core';\nimport { ComputedModuleData, NodeDisplaceNoiseData } from '../../abstract/node-props';\nimport { DisplacementModule } from '../../abstract/handle-types';\n\nfunction NoiseDisplaceNode({ id, selected, data, type }: NodeProps<Node<NodeDisplaceNoiseData>>) {\n const updateComputedData = useUpdateNodeComputedData<ComputedModuleData>();\n const incomingHandleData = useIncomingHandleData<ComputedModuleData>(id, data.handles);\n\n const { sourceModule, xModule, yModule, zModule } = useMemo(() => {\n return {\n sourceModule: incomingHandleData[DisplacementModule.sourceModule],\n xModule: incomingHandleData[DisplacementModule.xModule],\n yModule: incomingHandleData[DisplacementModule.yModule],\n zModule: incomingHandleData[DisplacementModule.zModule],\n };\n }, [incomingHandleData]);\n\n useEffect(() => {\n if (sourceModule && xModule && yModule && zModule) {\n const module = new Displace(\n sourceModule[0].module,\n xModule[0].module,\n yModule[0].module,\n zModule[0].module\n );\n\n updateComputedData(id, { module });\n }\n }, [id, updateComputedData, sourceModule, xModule, yModule, zModule]);\n\n const { sourceColor, xColor, yColor, zColor } = useMemo(() => {\n return {\n sourceColor: sourceModule ? 'green' : 'orange',\n xColor: xModule ? 'green' : 'orange',\n yColor: yModule ? 'green' : 'orange',\n zColor: zModule ? 'green' : 'orange',\n };\n }, [sourceModule, xModule, yModule, zModule]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Stack align=\"center\">\n <Badge color={sourceColor}>Source Module</Badge>\n <Badge color={xColor}>X Module</Badge>\n <Badge color={yColor}>Y Module</Badge>\n <Badge color={zColor}>Z Module</Badge>\n </Stack>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseDisplaceNode;\n","import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useEffect, useState } from 'react';\nimport {\n useIncomingComputedData,\n useUpdateNodeComputedData,\n useUpdateNodeData,\n} from '@awesome-flow/core/hooks';\nimport { Group, NumberInput, Stack } from '@mantine/core';\nimport { RotatePoint } from 'libnoise-ts/module/transformer';\nimport { ComputedModuleData, NodeRotatePointNoiseData } from '../../abstract/node-props';\n\nfunction NoiseRotatePointNode({\n id,\n selected,\n data,\n type,\n}: NodeProps<Node<NodeRotatePointNoiseData>>) {\n const [xAngle, setXAngle] = useState(data.xAngle);\n const [yAngle, setYAngle] = useState(data.yAngle);\n const [zAngle, setZAngle] = useState(data.zAngle);\n\n const incoming = useIncomingComputedData<ComputedModuleData>(id);\n\n const updateNodeData = useUpdateNodeData<NodeRotatePointNoiseData>();\n const updateComputedData = useUpdateNodeComputedData<ComputedModuleData>();\n\n useEffect(() => {\n if (incoming?.length) {\n const module = new RotatePoint(incoming[0].module, xAngle, yAngle, zAngle);\n updateComputedData(id, { module });\n }\n\n updateNodeData(id, { xAngle, yAngle, zAngle });\n }, [id, updateComputedData, updateNodeData, incoming, xAngle, yAngle, zAngle]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Stack>\n <Group>\n X Angle:\n <NumberInput\n size=\"xs\"\n w={100}\n value={xAngle}\n onChange={(e) => setXAngle(Number(e))}\n step={0.01}\n />\n </Group>\n <Group>\n Y Angle:\n <NumberInput\n size=\"xs\"\n w={100}\n value={yAngle}\n onChange={(e) => setYAngle(Number(e))}\n step={0.01}\n />\n </Group>\n <Group>\n Z Angle:\n <NumberInput\n size=\"xs\"\n w={100}\n value={zAngle}\n onChange={(e) => setZAngle(Number(e))}\n step={0.01}\n />\n </Group>\n </Stack>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseRotatePointNode;\n","import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useEffect, useState } from 'react';\nimport {\n useIncomingComputedData,\n useUpdateNodeComputedData,\n useUpdateNodeData,\n} from '@awesome-flow/core/hooks';\nimport { Group, NumberInput, Stack } from '@mantine/core';\nimport { ScalePoint } from 'libnoise-ts/module/transformer';\nimport { ComputedModuleData, NodeScalePointNoiseData } from '../../abstract/node-props';\n\nfunction NoiseScalePointNode({\n id,\n selected,\n data,\n type,\n}: NodeProps<Node<NodeScalePointNoiseData>>) {\n const [xScale, setXScale] = useState(data.xScale);\n const [yScale, setYScale] = useState(data.yScale);\n const [zScale, setZScale] = useState(data.zScale);\n\n const incoming = useIncomingComputedData<ComputedModuleData>(id);\n\n const updateNodeData = useUpdateNodeData<NodeScalePointNoiseData>();\n const updateComputedData = useUpdateNodeComputedData<ComputedModuleData>();\n\n useEffect(() => {\n if (incoming?.length) {\n const module = new ScalePoint(incoming[0].module, xScale, yScale, zScale);\n updateComputedData(id, { module });\n }\n\n updateNodeData(id, { xScale, yScale, zScale });\n }, [id, incoming, updateComputedData, updateNodeData, xScale, yScale, zScale]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Stack>\n <Group>\n X Scale:\n <NumberInput\n size=\"xs\"\n w={100}\n value={xScale}\n onChange={(e) => setXScale(Number(e))}\n step={0.01}\n />\n </Group>\n <Group>\n Y Scale:\n <NumberInput\n size=\"xs\"\n w={100}\n value={yScale}\n onChange={(e) => setYScale(Number(e))}\n step={0.01}\n />\n </Group>\n <Group>\n Z Scale:\n <NumberInput\n size=\"xs\"\n w={100}\n value={zScale}\n onChange={(e) => setZScale(Number(e))}\n step={0.01}\n />\n </Group>\n </Stack>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseScalePointNode;\n","import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useEffect, useState } from 'react';\nimport {\n useIncomingComputedData,\n useUpdateNodeComputedData,\n useUpdateNodeData,\n} from '@awesome-flow/core/hooks';\nimport { Group, NumberInput, Stack } from '@mantine/core';\nimport { TranslatePoint } from 'libnoise-ts/module/transformer';\nimport { ComputedModuleData, NodeTranslatePointNoiseData } from '../../abstract/node-props';\n\nfunction NoiseTranslatePointNode({\n id,\n selected,\n data,\n type,\n}: NodeProps<Node<NodeTranslatePointNoiseData>>) {\n const [translateX, setTranslateX] = useState(data.translateX);\n const [translateY, setTranslateY] = useState(data.translateY);\n const [translateZ, setTranslateZ] = useState(data.translateZ);\n\n const incoming = useIncomingComputedData<ComputedModuleData>(id);\n\n const updateNodeData = useUpdateNodeData<NodeTranslatePointNoiseData>();\n const updateComputedData = useUpdateNodeComputedData<ComputedModuleData>();\n\n useEffect(() => {\n if (incoming?.length) {\n const module = new TranslatePoint(incoming[0].module, translateX, translateY, translateZ);\n updateComputedData(id, { module });\n }\n\n updateNodeData(id, { translateX, translateY, translateZ });\n }, [id, incoming, translateX, translateY, translateZ, updateComputedData, updateNodeData]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <Stack>\n <Group>\n Translate X:\n <NumberInput\n size=\"xs\"\n w={100}\n value={translateX}\n onChange={(e) => setTranslateX(Number(e))}\n step={1}\n />\n </Group>\n <Group>\n Translate Y:\n <NumberInput\n size=\"xs\"\n w={100}\n value={translateY}\n onChange={(e) => setTranslateY(Number(e))}\n step={1}\n />\n </Group>\n <Group>\n Translate Z:\n <NumberInput\n size=\"xs\"\n w={100}\n value={translateZ}\n onChange={(e) => setTranslateZ(Number(e))}\n step={1}\n />\n </Group>\n </Stack>\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseTranslatePointNode;\n","import { NodeContainer, NodeTrackConnections } from '@awesome-flow/core/layout';\nimport { Node, NodeProps } from '@xyflow/react';\nimport { useCallback, useEffect, useState } from 'react';\nimport { useIncomingComputedData, useUpdateNodeComputedData } from '@awesome-flow/core/hooks';\nimport { Turbulence } from 'libnoise-ts/module/transformer';\nimport { ComputedModuleData, NodeTurbulenceNoiseData } from '../../abstract/node-props';\nimport { PropertyValue } from '../../abstract/properties';\nimport NodePropertyVariables from '../../layout/node-property-variables';\n\nfunction NoiseTurbulenceNode({\n id,\n selected,\n data,\n type,\n}: NodeProps<Node<NodeTurbulenceNoiseData>>) {\n const [properties, setProperties] = useState(null);\n\n const incoming = useIncomingComputedData<ComputedModuleData>(id);\n const updateComputedData = useUpdateNodeComputedData<ComputedModuleData>();\n\n const onPropertiesChange = useCallback((props: Record<string, PropertyValue<number>>) => {\n setProperties(props);\n }, []);\n\n useEffect(() => {\n if (incoming?.length) {\n const module = new Turbulence(\n incoming[0].module,\n properties.frequency.value,\n properties.power.value,\n properties.roughness.value,\n properties.seed.value\n );\n updateComputedData(id, { module });\n }\n }, [id, incoming, properties, updateComputedData]);\n\n return (\n <NodeContainer id={id} selected={selected} data={data} type={type}>\n <NodePropertyVariables data={data} nodeId={id} onPropertiesChange={onPropertiesChange} />\n <NodeTrackConnections handles={data.handles} nodeId={id} type=\"target\" />\n </NodeContainer>\n );\n}\n\nexport default NoiseTurbulenceNode;\n","import { useIncomingNodeData, useUpdateNodeData } from '@awesome-flow/core/hooks';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\nimport { Group, Stack } from '@mantine/core';\nimport { getObjectKeys } from '@awesome-flow/core/utils';\nimport { nodeDataPropertyExcept } from '@awesome-flow/core/abstract';\nimport { NodeVariablePropertyData } from '../abstract/node-props';\nimport { PropertyValue, ValueType } from '../abstract/properties';\nimport NodePropertyInput from './node-property-input';\n\nexport type NodeTrackVariablesProps = {\n nodeId: string;\n data: Record<string, any>;\n except?: Set<string>;\n onPropertiesChange?: (properties: Record<string, PropertyValue>) => void;\n};\n\nfunction NodePropertyVariables({\n data,\n nodeId,\n onPropertiesChange,\n except = nodeDataPropertyExcept,\n}: Readonly<NodeTrackVariablesProps>) {\n const [properties, setProperties] = useState<Record<string, PropertyValue>>(() => {\n const keys = getObjectKeys(data, except);\n\n const dataProps = {};\n\n for (const key of keys) {\n dataProps[key] = {\n name: key,\n value: data[key],\n } satisfies PropertyValue;\n }\n\n return dataProps;\n });\n\n const updateNodeData = useUpdateNodeData();\n const incoming = useIncomingNodeData<NodeVariablePropertyData>(nodeId);\n\n const resetAllDisabled = useCallback(() => {\n const keys = Object.keys(properties);\n\n keys.forEach((k) => {\n properties[k].disabled = false;\n });\n\n setProperties(properties);\n }, []);\n\n const updatePropertyValue = useCallback((name: string, value: ValueType, disabled?: boolean) => {\n let property = properties[name];\n\n if (property) {\n property.value = value;\n } else {\n property = {\n name,\n value,\n };\n }\n\n property.disabled = disabled;\n\n setProperties({ ...properties, [name]: property });\n updateNodeData(nodeId, { [name]: value });\n }, []);\n\n useEffect(() => {\n resetAllDisabled();\n\n if (incoming?.length) {\n for (const connection of incoming) {\n if (connection.property && properties[connection.property.name] !== undefined) {\n updatePropertyValue(connection.property.name, connection.property.value, true);\n }\n }\n }\n }, [incoming]);\n\n useEffect(() => {\n if (onPropertiesChange) {\n onPropertiesChange(properties);\n }\n }, [onPropertiesChange, properties]);\n\n const nodes = useMemo(() => {\n return Object.keys(properties).map((key) => {\n const property = properties[key];\n\n return (\n <Group key={key}>\n {property.name}:<NodePropertyInput property={property} onChange={updatePropertyValue} />\n </Group>\n );\n });\n }, [properties, updatePropertyValue]);\n\n return <Stack>{nodes}</Stack>;\n}\n\nexport default NodePropertyVariables;\n","import { Input, NumberInput, Switch } from '@mantine/core';\nimport { ValueType } from '../abstract/properties';\n\nexport type NodeValueInputProps = {\n value: ValueType;\n disabled?: boolean;\n step?: number;\n onChange: (value: ValueType) => void;\n};\n\nfunction NodeValueInput({ value, disabled, step, onChange }: Readonly<NodeValueInputProps>) {\n if (value === undefined || value === null) {\n return <></>;\n }\n\n switch (typeof value) {\n case 'boolean': {\n return (\n <Switch\n checked={value}\n disabled={disabled}\n onChange={(e) => onChange(e.currentTarget.checked)}\n />\n );\n }\n\n case 'number': {\n return (\n <NumberInput value={value} disabled={disabled} step={step} onChange={(e) => onChange(e)} />\n );\n }\n\n case 'string': {\n return (\n <Input\n value={value}\n disabled={disabled}\n onChange={(e) => onChange(e.currentTarget.value)}\n />\n );\n }\n\n default:\n throw new Error(`Unknown input node for value of type: ${typeof value} (${value})`);\n }\n}\n\nexport default NodeValueInput;\n","import { ValueType, PropertyValue } from '../abstract/properties';\nimport NodeValueInput from './node-value-input';\n\nexport type NodePropertyInputProps = {\n property: PropertyValue;\n onChange: (name: string, value: ValueType) => void;\n};\n\nfunction NodePropertyInput({ property, onChange }: Readonly<NodePropertyInputProps>) {\n if (!property) {\n return <></>;\n }\n\n return (\n <NodeValueInput\n value={property.value}\n disabled={property.disabled}\n step={property.step}\n onChange={(value) => onChange(property.name, value)}\n />\n );\n}\n\nexport default NodePropertyInput;\n"],"mappings":"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","names":["NodeContainer","NodeTrackConnections","useEffect","useUpdateNodeComputedData","Stack","jsx","jsxs","NodeContainer","NodeTrackConnections","useEffect","useState","useIncomingComputedData","useUpdateNodeComputedData","useUpdateNodeData","Group","NumberInput","Stack","jsx","jsxs","NodeContainer","NodeTrackConnections","useEffect","useState","useIncomingComputedData","useUpdateNodeComputedData","useUpdateNodeData","Group","NumberInput","Stack","jsx","jsxs","NodeContainer","NodeTrackConnections","useCallback","useEffect","useState","useIncomingComputedData","useUpdateNodeComputedData","useUpdateNodeData","useEffect","useMemo","useState","Group","Stack","NumberInput","jsx","Fragment","jsx","jsx","jsxs","useState","useUpdateNodeData","useEffect","useMemo","Group","Stack","jsx","jsxs","useState","useIncomingComputedData","useUpdateNodeComputedData","useCallback","useEffect","NodeContainer","NodeTrackConnections"]}
|