Text

A string, which an expression can build out of anything else in the patch.

Text rs
out
Type name
signal:Text
Plane
signal
Tags
generatortext
Language
rust
Tier
native
Bundle
signal
Source
node-bundles/signal/Text.rs
Availability
available

Slots

SlotDirectionType
outoutputSTRING

Parameters

text

NameTypeDefaultRangeDoc
valuestring""The text to emit; in expression mode it is an f-string over the rest of the patch.

common

NameTypeDefaultRangeDoc
autotriggerbooltrueRun on the node's own schedule, instead of waiting for an input frame. Turn this on for sources; leave it off for transforms driven by their input.
max_frequencyfloat00 … 100Rate cap for this node, read through `frequency_mode`. 0 means uncapped — the node runs as often as the scheduler and its inputs allow.
frequency_modestringupdates_per_secondupdates_per_second | seconds_per_updateHow to read `max_frequency`: as a rate in Hz (updates per second), or as a period in seconds between updates — convenient for very slow nodes.

Source

The current source of this node, as it stands in the goofi repository at node-bundles/signal/Text.rs.

node-bundles/signal/Text.rs
//! Text — a string. With `value` in expression mode it is a full f-string over `nd()`, so a
//! number from anywhere in the patch becomes text here, with a Python format spec.

use goofi_core::{Data, Meta, SlotType};
use goofi_signal_sdk::{Inputs, Manifest, Node, NodeCtx, NodeResult, OutputDecl, Outputs, ParamDecl, Params, ParamSpec, Tag};

#[derive(Default)]
struct Text;

impl Node for Text {
    fn process(
        &mut self,
        _inp: &Inputs<'_>,
        out: &mut Outputs<'_>,
        _c: &mut NodeCtx,
        p: &Params<'_>,
    ) -> NodeResult {
        let value = p.str("text", "value").unwrap_or("");
        out.set("out", Data::string(value, Meta::new()));
        Ok(())
    }
}

static PARAMS: &[ParamDecl] = &[ParamDecl {
    group: "text",
    name: "value",
    spec: ParamSpec::Str { default: "", options: &[], refresh: false },
    expression: None,
    doc: Some("The text to emit; in expression mode it is an f-string over the rest of the patch."),
}];
static OUTPUTS: &[OutputDecl] = &[OutputDecl { name: "out", kind: SlotType::String }];

static MANIFEST: Manifest = Manifest {
    tags: &[Tag::Generator, Tag::Text],
    doc: "A string, which an expression can build out of anything else in the patch.",
    inputs: &[],
    outputs: OUTPUTS,
    params: PARAMS,
    producer: true,
};

goofi_signal_sdk::export!(Text, MANIFEST);

← All nodes

This reference describes goofi 3.1.0(537cd394), generated from a running instance on 2026-09-06.