-
Notifications
You must be signed in to change notification settings - Fork 2
Home
A terminal user interface for creating and managing node networks with parameter controls and global variables. Text Loom provides a powerful environment for building and manipulating node-based workflows through a text interface.
- Node Network - Central workspace for creating and connecting nodes. Displays node states, connections, and hierarchies using visual indicators.
- Parameters - Right panel showing properties of selected nodes.
- Globals - Right Top panel. System-wide variables accessible across the network.
- Status Indicators - Visual symbols (◆,◇,▪,▫) showing node states throughout the processing lifecycle.
- Output Display - Shows formatted results from node evaluations with clear item separation.
- Status Window - Real-time system message monitoring, capturing stdout and stderr streams.
- File Management - Load and save network configurations with directory tree navigation.
- Help System - Context-sensitive command display that adapts to current mode.
- UI Layout - Modeline and status information showing current mode, file, and system state.
- Use ↑/↓ to move between nodes
- Press Enter to select a node
- Press Space to expand/collapse node (future functionality)
- Press 'a' to add a new node
- Press 'd' to delete selected node
- Press 'r' to rename selected node
- Press 'm' to change node path location
- Press 'p' to view node parameters in Parameters Window
The system supports two types of connection modes:
- Input Connection ('i'): Sets the selected node as input receiver. After pressing 'i', select another node to receive its output.
- Output Connection ('o'): Sets the selected node as output provider. After pressing 'o', select another node to send output to.
Press 'x' to delete a connection. After pressing 'x', select the source node of the connection to remove.
Press shift-c to cook (evaluate) a node. Node states are indicated by symbols:
- ◆ Cooked - Node has been evaluated
- ⠿ Cooking - Node is currently evaluating
- ▪ Uncooked - Node needs evaluation
- ▫ Unchanged - Node state hasn't changed
- ctrl+s: Quick save current network
- ctrl+d: Save network as
- ctrl+o: Open saved network
- ctrl+z: Undo last action
- ctrl+y: Redo last undone action
- ctrl+w: Clear entire network
- ctrl+l: Load different theme
- ctrl+q: Quit application
The parameter window displays and manages properties for selected nodes.
- j/k: Move between parameters
- Enter: Begin editing selected parameter
- Esc: Cancel parameter edit
- Tab: Move to next input field
- ctrl+x: Remove current parameter set from view
- ctrl+f: Clear all parameter sets from view
The globals window manages system-wide variables.
- j/k: Move between global variables
- Enter: Edit selected global value
- Input format: KEY:VALUE
- cut : Delete specific global variable
- cut all globals: Delete all global variables
- Press 'n' to create new global variable
- j/k: Browse files
- Enter: Select file
- q: Return to previous mode
- s: Save file
- S: Save file as
- ctrl+o: Open file
- ctrl+s: Quick save
- ctrl+d: Save as
- Ctrl+n: Node network mode
- Ctrl+p: Parameter mode
- Ctrl+g: Global mode
- Ctrl+f: File mode
- Ctrl+h: Help mode
- Ctrl+k: Keymap mode
The modeline appears at the bottom of the interface, displaying:
- Text Loom logo (📝🧵)
- Current mode [NODE/PARAMETER/GLOBAL/etc]
- Current file path
- Debug information
- Active keystrokes
The output window shows node evaluation results with standardized formatting:
---- ITEM #1 ----
[output content]
---- ITEM #2 ----
[output content]
Special states are displayed in italic:
- NO NODE SELECTED
- NO OUTPUT DATA
- EMPTY OUTPUT
The file browser provides a directory tree interface for saving and loading networks:
- Use arrow keys to navigate directories
- Press Enter to select a file or expand directory
- Press Escape to return to previous mode
- Shows an additional input field for direct path entry
- Current path is pre-populated
- Can either type path directly or select via tree navigation
- Enter confirms save operation
- Directly loads selected file when Enter is pressed
- Automatically returns to node view after loading
The help window uses an adaptive multi-column layout:
- Commands are organized by mode
- Display automatically adjusts columns based on window width
- Headers indicate current mode context
- Key bindings and their functions are aligned for readability
- Sections are color-coded for better visual separation
The status window provides real-time system monitoring capabilities:
- Captures all system stdout and stderr streams
- Displays system messages and errors in real-time
- Error messages appear in red for quick identification
- Auto-scrolls to latest content
- Maintains separate buffers for standard and error output
- Standard output: Normal system messages and logging
- Error output: Displayed in red for visibility
- System status updates
- Debug information
- Warning messages
The status window serves as a vital debugging tool, providing insight into system operations and error conditions during network execution.
Each mode's help content is contextually displayed based on the current active mode, with the header showing "Mode commands" for the active context.