Knowledge graph
Every pillar of the node library, and the media types that let them connect. An arc runs from one pillar to another when the first produces a value the second accepts — the same rule the editor applies when you drag a wire. Hover a pillar to isolate it. Node counts include any seams (nodes whose generated Rust compiles and then panics) and stand-ins (nodes that run a deterministic substitute for the model or device they are named after), and the neuroscience nodes the editor installs. The node reference marks the seams and the stand-ins.
Media types on ports: Any Any@{unit=$T} AudioBuffer@[time:?]@{unit=$T} AudioBuffer@[time:?]@{unit=1} AudioBuffer@[time:n]@{unit=$T} AudioBuffer@{unit=1} Capture ConnectivityMatrix DataFrame Detections DynamicImage DynamicImage@[y:?, x:?] DynamicImage@[y:h, x:w] Embedding FeatureRows Float@{unit=Hz} Frame Frame@[y:?, x:?] IcaMixing@[channel:?, component:?] IcaUnmixing@[component:?, channel:?] List List@{unit=$T} List@{values=text} Mask Mask@[y:h, x:w] Measurement Measurements Model Octets Record Runs Signal Signal@{unit=s} SpdMatrices Spectrum@{unit=$T^2/Hz} String T T@{unit=$T} Tensor Tensor@[frame:?, coeff:?]@{unit=1} Tensor@[frame:?, freq:?]@{unit=$T} Tensor@[frame:?, mel:?]@{unit=$T^2} Tensor@[keypoint:?, descriptor:32]@{unit=1} Tensor@{unit=$A.$B} Tensor@{unit=$A} Tensor@{unit=$B} Tensor@{unit=$T} Tensor@{unit=1} Tensor@{unit=flowrs:pixel} TestRun Timeseries Timeseries@[epoch:?, time:?, channel:?] Timeseries@[epoch:?, time:?, channel:?]@{unit=$T} Timeseries@[time:?, channel:?] Timeseries@[time:?, channel:?]@{unit=$T} Trigger Vec<Detection> Vec<f32> Vec<f32>@[frame:?]@{unit=Hz} Vec<f32>@[time:n]@{unit=$T} Vec<f32>@{unit=1} Vec<f64> Vec<f64>@[freq:?]@{unit=$T} Vec<f64>@[freq:?]@{unit=rad} Vec<f64>@[freq:n]@{unit=$T} Vec<f64>@[freq:n]@{unit=rad} Vec<f64>@[time:?] Vec<f64>@[time:?]@{unit=$A.$B} Vec<f64>@[time:?]@{unit=$B} Vec<f64>@[time:?]@{unit=$T} Vec<f64>@[time:?]@{unit=1} Vec<f64>@[time:n]@{unit=$A} Vec<f64>@[time:n]@{unit=$T} Vec<f64>@{unit=$T^2} Vec<f64>@{unit=$T} Vec<f64>@{unit=1} Vec<f64>@{unit=Hz} Vec<f64>@{unit=V} Vec<f64>@{unit=flowrs:LSB} Vec<f64>@{unit=m/s2} Vec<f64>@{unit=rad/s} Vec<f64>@{unit=s} Vec<f64>@{unit={dB}} Vec<f64>@{unit={power}} Vec<i64>@{unit={count}} Vec<u32>@[bin:256]@{unit={count}} Vec<u8> VideoStream@[frame:?] VideoStream@[frame:n] [f32; 3]@{unit=$A.$B} [f32; 3]@{unit=$A/$B} [f32; 3]@{unit=$A} [f32; 3]@{unit=$B} [f32; 3]@{unit=$T} [f32; 3]@{unit=1} bool f32@{unit=$T} f32@{unit=1} f32@{unit=Hz} f32@{unit=V} f32@{unit=rad} f64 f64@{unit=$A.$B} f64@{unit=$A/$B} f64@{unit=$A} f64@{unit=$B} f64@{unit=$T^2} f64@{unit=$T} f64@{unit=%} f64@{unit=1} f64@{unit=Cel} f64@{unit=Hz} f64@{unit=deg} f64@{unit=ms} f64@{unit=s} f64@{unit={count}} i32 i32@{unit=1} i32@{unit=By} i32@{unit=flowrs:pixel} i32@{unit={count}} i64@{unit=1} i64@{unit=ms, clock=utc} i64@{unit={count}} u16@{unit=flowrs:LSB} u32@{unit=1} u32@{unit=By} u32@{unit={count}} u8@{unit=1}
Pillars
| Pillar | Nodes | Produces | Accepts |
|---|---|---|---|
| neuro | 49 | ConnectivityMatrix, FeatureRows, IcaMixing@[channel:?, component:?], IcaUnmixing@[component:?, channel:?], List, List@{values=text}, SpdMatrices, Spectrum@{unit=$T^2/Hz}, String, Timeseries, Timeseries@[epoch:?, time:?, channel:?], Timeseries@[epoch:?, time:?, channel:?]@{unit=$T}, Timeseries@[time:?, channel:?], Timeseries@[time:?, channel:?]@{unit=$T}, Vec<f64>, Vec<f64>@{unit=$T^2}, Vec<f64>@{unit=$T}, Vec<f64>@{unit=1}, Vec<f64>@{unit=Hz}, Vec<f64>@{unit={dB}}, Vec<f64>@{unit={power}}, bool, f64, f64@{unit=$T^2}, f64@{unit=$T}, f64@{unit=Hz}, f64@{unit=s}, i32, i32@{unit={count}} | IcaMixing@[channel:?, component:?], IcaUnmixing@[component:?, channel:?], List, SpdMatrices, Timeseries, Timeseries@[epoch:?, time:?, channel:?], Timeseries@[epoch:?, time:?, channel:?]@{unit=$T}, Timeseries@[time:?, channel:?], Timeseries@[time:?, channel:?]@{unit=$T} |
| dsp | 24 | String, Vec<f64>@[freq:?]@{unit=$T}, Vec<f64>@[freq:?]@{unit=rad}, Vec<f64>@[time:?]@{unit=$A.$B}, Vec<f64>@[time:?]@{unit=$T}, Vec<f64>@[time:?]@{unit=1}, Vec<f64>@[time:n]@{unit=$T}, Vec<f64>@{unit=s}, f32@{unit=$T}, f64@{unit=Hz}, i64@{unit=1}, i64@{unit={count}} | Vec<f64>@[freq:n]@{unit=$T}, Vec<f64>@[freq:n]@{unit=rad}, Vec<f64>@[time:?]@{unit=$B}, Vec<f64>@[time:n]@{unit=$A}, Vec<f64>@[time:n]@{unit=$T}, Vec<f64>@{unit=$T}, Vec<u8>, bool, f32@{unit=Hz}, f32@{unit=rad}, f64@{unit=Hz} |
| image | 22 | DynamicImage@[y:?, x:?], DynamicImage@[y:h, x:w], Vec<u32>@[bin:256]@{unit={count}}, f32@{unit=1}, i32@{unit=flowrs:pixel} | DynamicImage@[y:?, x:?], DynamicImage@[y:h, x:w] |
| stats | 21 | Any, DataFrame, Vec<f64>, Vec<i64>@{unit={count}}, f64, f64@{unit=$T}, f64@{unit=1}, i64@{unit={count}} | DataFrame, Vec<f64>@{unit=$T} |
| data | 20 | DataFrame, String, Vec<f64>, f32@{unit=Hz}, f64, i32@{unit={count}}, i64@{unit=ms, clock=utc} | DataFrame |
| ml | 15 | Model, String, Tensor, Tensor@{unit=$A.$B}, Tensor@{unit=$T}, Tensor@{unit=1}, Vec<f32>, f64@{unit=1}, i32@{unit=1}, u32@{unit=By} | DataFrame, Model, Tensor, Tensor@{unit=$A.$B}, Tensor@{unit=$A}, Tensor@{unit=$B}, Tensor@{unit=$T}, Tensor@{unit=1}, Vec<f64>, Vec<u8> |
| audio | 14 | AudioBuffer@[time:?]@{unit=$T}, AudioBuffer@[time:?]@{unit=1}, AudioBuffer@[time:n]@{unit=$T}, Tensor@[frame:?, coeff:?]@{unit=1}, Tensor@[frame:?, freq:?]@{unit=$T}, Tensor@[frame:?, mel:?]@{unit=$T^2}, Vec<Detection>, Vec<f32>@[frame:?]@{unit=Hz}, Vec<f32>@[time:n]@{unit=$T} | AudioBuffer@[time:n]@{unit=$T} |
| embedded | 12 | Trigger, Vec<f64>@{unit=V}, Vec<u8>, bool, f32@{unit=V}, u16@{unit=flowrs:LSB}, u32@{unit={count}} | Trigger, Vec<u8>, bool, f32@{unit=1}, u8@{unit=1} |
| vision | 11 | DynamicImage@[y:h, x:w], Mask@[y:h, x:w], Tensor@[keypoint:?, descriptor:32]@{unit=1}, Tensor@{unit=1}, Tensor@{unit=flowrs:pixel}, Vec<Detection>, u32@{unit={count}} | DynamicImage, DynamicImage@[y:h, x:w], Frame, Mask@[y:h, x:w], Vec<Detection> |
| decode | 10 | Capture, String, Vec<f64>@{unit=1}, Vec<f64>@{unit=flowrs:LSB}, i32@{unit={count}} | Capture |
| gen | 10 | DynamicImage, Embedding, String, Tensor | AudioBuffer@{unit=1}, DynamicImage, Mask, String, Tensor |
| neural | 10 | Embedding, Mask, Model, Tensor, Tensor@{unit=1}, Vec<Detection>, u32@{unit=1} | DynamicImage, Model, String, Tensor, Tensor@{unit=$T}, Tensor@{unit=1}, Vec<Detection> |
| vec3 | 10 | [f32; 3]@{unit=$A.$B}, [f32; 3]@{unit=$A/$B}, [f32; 3]@{unit=$T}, [f32; 3]@{unit=1}, f64@{unit=$T} | [f32; 3]@{unit=$A}, [f32; 3]@{unit=$B}, [f32; 3]@{unit=$T}, [f32; 3]@{unit=1}, f64@{unit=$T} |
| video | 10 | Frame@[y:?, x:?], Vec<Detection>, VideoStream@[frame:?], VideoStream@[frame:n], f64@{unit=Hz} | DynamicImage@[y:?, x:?], Vec<Detection>, VideoStream@[frame:n] |
| math | 8 | f64@{unit=$A.$B}, f64@{unit=$A/$B}, f64@{unit=$T} | f64@{unit=$A}, f64@{unit=$B}, f64@{unit=$T} |
| record | 8 | Measurement, Measurements, Octets, Runs, String, TestRun, bool, f64@{unit=%}, f64@{unit=1}, i32@{unit=By}, i32@{unit={count}} | Measurement, Measurements, Octets, Runs, String, TestRun, f64 |
| cloud | 7 | Any, DataFrame, Detections, String, bool, f64, f64@{unit=1}, u32@{unit={count}} | String |
| logic | 7 | Any@{unit=$T}, T@{unit=$T}, bool | Any@{unit=$T}, T@{unit=$T}, Trigger, bool, f64@{unit=$T} |
| text | 7 | List@{values=text}, String, bool, i64@{unit={count}} | List@{values=text}, String |
| instrument | 6 | Octets, Record, Runs, Signal, String, bool, f64@{unit=%}, f64@{unit=1}, i32@{unit=By}, i32@{unit={count}} | String |
| list | 6 | List@{unit=$T}, T@{unit=$T}, i64@{unit={count}} | List@{unit=$T} |
| msg | 6 | List@{values=text}, Record, T | Record, T@{unit=$T} |
| flow | 5 | List@{unit=$T}, List@{values=text}, String, bool, f64@{unit=s} | Any@{unit=$T}, List@{values=text}, String, f64@{unit=ms}, f64@{unit={count}} |
| live | 4 | Float@{unit=Hz}, List@{values=text}, Signal, Signal@{unit=s}, String, Timeseries@[time:?, channel:?] | |
| mavlink | 4 | String, bool, f64 | Vec<f64>, bool, f64 |
| ai | 3 | String, Vec<Detection> | DynamicImage, String |
| io | 3 | String | Any@{unit=$T} |
| imu | 2 | Vec<f64>@{unit=m/s2}, Vec<f64>@{unit=rad/s}, f64@{unit=Cel}, f64@{unit=deg} | Vec<u8>, f64@{unit=deg} |
| ros | 2 | Any, String | Any |
| capture | 1 | Capture, List@{values=text}, String, f64@{unit=Hz}, f64@{unit=s}, i32@{unit={count}} | |
| clock | 1 | f64 | f64 |
| microphone | 1 | Vec<f32>@{unit=1} | |
| signal | 1 | f32@{unit=1} | |
| twin | 1 | String, Vec<f64>@[time:?], bool, f32@{unit=Hz} | |
| unit | 1 | f64 | f64 |