(node: BlueprintNode, context: unknown)
| 138 | |
| 139 | export class SampleFBMExecutor implements INodeExecutor { |
| 140 | execute(node: BlueprintNode, context: unknown): ExecutionResult { |
| 141 | const ctx = context as ProcGenContext; |
| 142 | const x = ctx.evaluateInput(node.id, 'x', 0) as number; |
| 143 | const y = ctx.evaluateInput(node.id, 'y', 0) as number; |
| 144 | const seed = ctx.evaluateInput(node.id, 'seed', 0) as number; |
| 145 | const octaves = ctx.evaluateInput(node.id, 'octaves', 6) as number; |
| 146 | const frequency = ctx.evaluateInput(node.id, 'frequency', 1) as number; |
| 147 | const persistence = ctx.evaluateInput(node.id, 'persistence', 0.5) as number; |
| 148 | |
| 149 | const noise = getPerlinNoise(seed); |
| 150 | const fbm = new FBM(noise, { octaves, frequency, persistence }); |
| 151 | const value = fbm.noise2D(x, y); |
| 152 | |
| 153 | return { outputs: { value } }; |
| 154 | } |
| 155 | } |
| 156 | |
| 157 | // ============================================================================= |
nothing calls this directly
no test coverage detected