Components of a Factory

Inputs and Outputs

Inputs and Outputs are a part of Factories and Nodes.
A Connection can be made between Sources and Targets, it is drawed as an arrow.
A Source is always an Input of a Factory of an Output of a Node.
A Target is always an Output of a Factory of an Input of a Node.
Every Source can have more than one Connections, a Target only can have one Connection.

Mandatory vs. Optional, Empty Content

Inputs and Outputs that has not a Value or Wave has "Empty Content". When a Input or Output is Optional, it can have Empty Content but a mandatory Input or Output cannot.
Mandatory Inputs and Outputs are drawed containing a point at the center:


Constant values

All Target objects (Node Inputs and Factory Outputs) that is not connected to Source Object, can have a Constant Value or Wave. For objects that are mandatory, it must have a Constant Value or Wave. Objects that have a Constant Value of Wave are drawed with an extra border:


Wave Inputs and Outputs

Wave Inputs and Outputs can Contain or refer to a Wave, or it has no Content.

Memory Mode

A Wave Source (Factory Input of Node Output) have also a Memory Mode.
If the Memory Mode is "None" the Wave is deleted when it is not needed anymore, this saves memory.
If the Memory Mode is "Save" the Wave is always saved, good for analysing after running the factory, this costs memory.

Objects that has Memory Mode "Save" has a square around it:


Value Inputs and Outputs

Value Inputs and Outputs can not contain Wave, but can contain Values such a numbers and strings.
An Input and Output has always a Type Domain, this tells which kind of Values an Input or Outpus can contain, such as numbers, time, strings.

Type Domains - Single Types

When a Input or Outpus has a "single" Type domain, it can only contain a certain given Type. For example when a Input has Type Domain "Time", it can only contain a Time such as "1.5 s", it cannot contain for example a String.
The following example is a Factory which has Inputs with non-discrete numeric Single Type Domains:

The following example is a Factory which has Inputs with discrete Single Type Domains:

The following example is a Factory which has Inputs with String(like) Single Type Domains:

Type Domains - Compound Types

When a Input or Outpus has a "compound" Type domain, it can contain multiple given Types. For example when a Input has Type Domain "All computable Values", it can contain for example Time, Factor, Fysical Length, because you can do mathematic functions such as "Add", it cannot contain for example a String, you cannot do mathematic functions with Strings.
The following example is a Factory which has Inputs with Compound Type Domains:

Values Domains

Dependent of the Type Domain, an Input or Output has also a Value Domain. For some Type Domains, for example Type domain "Message Kind", the Input or Output has no Value Domain.
Examples of a Value Domain for Type Domain "Time" are:

Nodes

Factories can make use of Nodes. A Node can be seen as a Blackbox Factory seen from the outside. A Node reads Content its own Inputs (if is has) and do some processing. After processing, the Outputs are filled with Content (or not). The following Factory has two nodes. De Node "Volume" is a Builtin Node to change the volume of the incoming Wave. The second Node refer to a Factory with name "Example Node Network" which must be loaded in the WaveThunder:


Last updated: 29-11-2025