flow = "render" [[input]] name = "filename" type = "string" [[input]] name = "size" type = "array/number" [[input]] name = "bounds" type = "array/array/number" [[input]] name = "pixel" type = "array/number" # Workaround # Convert a pixel coordinates ot a point in the imaginary space [[process]] alias = "p2p" source = "pixel_to_point/pixel_to_point" [[connection]] from = "input/bounds" to = "p2p/bounds" # Loop back the bounds for each pixel [[connection]] from = "p2p/bounds" to = "p2p/bounds" [[connection]] from = "input/size" to = "p2p/size" # Loop back the size for each pixel [[connection]] from = "p2p/size" to = "p2p/size" [[connection]] from = "input/pixel" to = "p2p/pixel" # function to render a pixel in the imaginary space to a value [[process]] alias = "p2v" source = "escapes/escapes" # Output of p2p is a [pixel, point] pair -> pass it to render [[connection]] from = "p2p" to = "p2v/pixel_point" # An image buffer to accumulate the results [[process]] source = "context://image/image_buffer" [[connection]] from = "input/filename" to = "image_buffer/filename" # Loopback the filename for use in each pixel [[connection]] from = "image_buffer/filename" to = "image_buffer/filename" [[connection]] from = "input/size" to = "image_buffer/size" # Loopback the size for reuse in next pixel [[connection]] from = "image_buffer/size" to = "image_buffer/size" # send each pixel from [pixel, value] pair from p2v to the image buffer [[connection]] from = "p2v/0" to = "image_buffer/pixel" # send each value from [pixel, value] pair from p2v to the image buffer [[connection]] from = "p2v/1" to = "image_buffer/value"