Pins & Input/Output
What are Pins?
Pins are the connection points on nodes where data enters and exits. They are the interface through which nodes communicate with each other in your workflow.
Pin Types
Input Pins
- Location: On the left side of a node
- Purpose: Receive data from other nodes
- Visual: Usually displayed as circles or squares on the left edge
- Label: Each input pin has a name describing what data it expects
Output Pins
- Location: On the right side of a node
- Purpose: Send data to other nodes
- Visual: Usually displayed as circles or squares on the right edge
- Label: Each output pin has a name describing what data it produces
Data Types
Pins are associated with specific data types. Connections can only be made between pins that support compatible types.
Common Data Types
Number/Numeric- Integer: Whole numbers (e.g., 1, 42, -5)
- Float: Decimal numbers (e.g., 3.14, 2.5, -0.001)
- Icon: Usually shows "#" or a number symbol
- Text data (e.g., "Hello", "World", "GearMaster")
- Icon: Usually shows "T" or quotation marks
- True or False values
- Used for conditional logic and switches
- Icon: Usually shows a checkmark or T/F
- A collection of values in sequence
- Example: [1, 2, 3, 4, 5]
- Icon: Usually shows bracketes [] or multiple items
- Complex data with multiple properties
- Example: {name: "John", age: 30}
- Icon: Usually shows curly braces {} or a structured symbol
- Flexible type that can accept any data type
- Useful for versatile nodes that work with multiple types
- Icon: Usually shows a "*" or generic symbol
Pin Type Compatibility
Matching Types
The simplest connections are between matching types:
- Number → Number (always compatible)
- Text → Text (always compatible)
- Boolean → Boolean (always compatible)
Type Conversion
Some connections allow automatic type conversion:
- Number → Text (converted to string representation)
- Boolean → Number (True = 1, False = 0)
- Array → Any (flexible type accepts arrays)
Incompatible Types
These connections are NOT allowed and will show red:
- Cannot force Text into a Number pin expecting numeric operations
- Cannot connect Boolean directly to Text without conversion nodes
Optional vs Required Pins
Required Input Pins
- Must have a connection or value before execution
- Node cannot execute without them
- Usually marked with a solid indicator
Optional Input Pins
- Do not require a connection
- Node can execute without them
- Often have default values
- Usually marked with a dashed or empty indicator
Multiple Connections
Multiple Inputs to One Pin
Not Typically Allowed: An input pin usually accepts only one connection. Connecting multiple output pins to a single input pin is not permitted.
One Output to Multiple Inputs
Always Allowed: A single output pin can send data to many input pins. The same data is distributed to multiple nodes.
- One node computes a result
- That result feeds into multiple display or processing nodes
- All connected nodes receive the same output value
Pin Tooltips and Help
Hover your mouse over a pin to see helpful information:
- Pin Name: The name of the input or output
- Data Type: What type of data it handles
- Description: Explanation of what this pin does
- Requirements: Whether it's optional or required
Working with Pins
Connecting to a Pin
- Identify the output pin on the source node
- Click and drag from that pin
- Hover over the target input pin
- The target pin highlights if it's compatible
- Release to create the connection
Disconnecting a Pin
- Right-click on a connection near the pin
- Select "Disconnect" from the menu
- Or select the connection and press Delete
Pin Validation
Before execution, GearMaster checks all pins:
- Green: Pin is valid and ready
- Yellow: Pin has a warning (e.g., type mismatch that will auto-convert)
- Red: Pin has an error (e.g., required pin is not connected)
Advanced Pin Features
Dynamic Pins
Some nodes can create new pins dynamically. You might see a "+" button near pins which allows adding more inputs or outputs.
Grouped Pins
Related pins might be grouped together in the node interface for better organization.
Pin Arrays
Some pins can accept variable numbers of values (arrays), allowing flexible data handling.
Troubleshooting Pin Issues
| Problem | Cause | Solution |
|---|---|---|
| Cannot connect pins (pin shows red) | Data types are incompatible | Check pin data types, use conversion node if needed |
| Node won't execute with a connection | Wrong data type received | Verify output type matches input expectation |
| Pin shows yellow warning | Type will auto-convert (may lose data) | Review if conversion is desired, use explicit converter if not |
| Required pin shown as invalid (red) | Pin is not connected | Connect a compatible output to this pin |