Circuit Builder
The Circuit Builder is a 2D node-based graph editor that provides a high-level view of your neural circuits. It's your primary tool for organizing, connecting, and understanding the structure of your genome.
Overview
Circuit Builder displays cortical areas as colored boxes and their connections as lines. Each box represents a volume of neurons, and you can create, move, connect, and organize these boxes to build complex neural architectures.
Interface Elements
Cortical Area Nodes
Cortical areas appear as rectangular boxes with:
- Title: The name of the cortical area
- Color: Indicates the type (see Color Coding below)
- Ports: Connection points for linking to other areas
- Top port: Recursive connections (to itself)
- Left port: Incoming connections (inputs)
- Right port: Outgoing connections (outputs)
Color Coding
In Circuit Builder, cortical areas use color coding to quickly identify their type:
- Dark Gray: Input (IPU) - receives data from outside
![]()
- Orange: Output (OPU) - sends data to outside
![]()
- Blue: Custom - internal processing
![]()
- Dark Red: Memory - stores and recalls patterns
![]()
- Dark Blue: Core - special system areas
These colors help you quickly understand the flow of information through your neural architecture at a glance.
Brain Circuit Nodes
Sub-regions appear as larger boxes that can contain cortical areas and other sub-circuits. Double-click a circuit to navigate inside it and view its contents.
Connection Lines
Lines between nodes represent neural mappings:
- Click on a line to view or edit mapping properties
- Multiple lines between the same areas indicate different mapping types
- Line color and style indicate connection properties
Basic Operations
Creating Cortical Areas
Quick Method:
- Click Inputs, Circuits, or Outputs in the top toolbar
- Click the + button
- Configure the area properties
- Click Add
From Circuit Builder:
- Right-click empty space
- Select Create Cortical Area
- Choose the type and configure
Connecting Cortical Areas
Method 1: Drag Connection
- Click and drag from the output port (right side) of one area
- Drag to the input port (left side) of another area
- Release to open the Mapping Editor
Method 2: Quick Connect
- Right-click a cortical area
- Select Quick Connect from the menu
- Choose the destination area
- Configure the mapping
See Mapping Connections for more details.
Moving Objects
Single Object:
- Click and drag a cortical area or region to move it
- Position changes are automatically saved to FEAGI after a short delay
Multiple Objects:
- Select multiple objects (Ctrl + Click)
- Drag any selected object
- All selected objects move together
Precise Positioning:
- Right-click an object
- Select Relocate 2D
- Enter exact coordinates
Selecting Objects
- Single select: Click on an object
- Multi-select: Ctrl + Click to add/remove from selection
- Box select: Click and drag in empty space (if enabled)
- Clear selection: Click on empty space
Navigation
Pan (Move the View)
- Middle mouse drag: Click and hold middle mouse button while moving
- Shift + Left mouse drag: Hold Shift, then click and drag with left mouse
- Keyboard: Arrow keys to move in that direction
Zoom
- Mouse wheel: Scroll up to zoom in, down to zoom out
- Keyboard: Page Up/Down keys
- Zoom to fit: Right-click empty space, select "Fit All"
Focus on Object
- Select a cortical area or region
- Press F key
OR
- Click Inputs/Circuits/Outputs in top bar
- Select an area from the dropdown
- The view automatically focuses on it
Working with Regions
Viewing Region Contents
Method 1: Double-click
- Double-click a brain circuit node to open it
Method 2: Dropdown Menu
- Click Circuits in the top toolbar
- Select a circuit from the list
- A new tab opens showing that region's contents
Creating Regions
- Select cortical areas you want to group (optional)
- Right-click in Circuit Builder
- Select Create Region
- Enter a name and properties
- Click Create
Selected areas will automatically be added to the new region.
Moving Areas Between Regions
- Right-click a cortical area
- Select Add to Region
- Choose the destination region
- Confirm
See Brain Circuits for more details.
Circuit Builder Tabs
You can open multiple Circuit Builder tabs to view different regions simultaneously:
- Right-click a circuit node
- Select Open in New Tab (if available)
OR
- Use the Circuits dropdown in the top bar
- Each selection opens a new tab
Switch between tabs using the tab bar at the top of the Circuit Builder area.
Layout and Organization
Auto-Layout
Circuit Builder provides automatic layout algorithms (accessed via developer options):
- Column Layout: Arranges areas in vertical columns
- Row Layout: Arranges areas in horizontal rows
- Hierarchical Layout: Organizes based on connection flow
Manual Organization
For best results:
- Group by Function: Keep related cortical areas close together
- Flow Direction: Arrange inputs on the left, outputs on the right
- Use Regions: Group areas into logical regions
- Spacing: Leave room for connections to be visible
Context Menu (Right-Click)
Right-clicking in Circuit Builder provides different options based on what you click:
On a Cortical Area:
- Details - View/edit properties
- Quick Connect - Create connection
- Clone - Duplicate area
- Relocate 2D - Set position
- Move 3D - Position in 3D space
- Add to Region - Move to different region
- Reset - Clear neural state
- Delete - Remove area
On a Region:
- Details - View/edit properties
- Open 3D Tab - Open in Brain Monitor
- Clone - Duplicate entire region
- Add to Region - Nest in another region
- Delete - Remove region
On Empty Space:
- Create Cortical Area
- Create Region
- Fit All - Zoom to show everything
- Layout Options (if available)
See Quick Menu for complete details.
Advanced Features
Connection Visualization
- Hover over area: See all connections to/from that area highlighted
- Click connection line: View mapping properties
- Follow connections: Visual indicators show data flow direction
Recursive Connections
Some cortical areas can connect to themselves:
- Drag from the top port (recursive port)
- Connect back to the same area's input port
- Useful for feedback loops and temporal processing
Multi-Selection Operations
Select multiple areas to perform bulk operations:
- Move them together
- Delete multiple areas at once
- View combined properties
- Add all to a circuit at once
Keyboard Shortcuts
- Arrow Keys: Pan view
- Page Up/Down: Zoom in/out
- F: Focus on selected object
- Delete: Delete selected objects (with confirmation)
- Ctrl + C: Copy selected objects
- Ctrl + V: Paste objects
- Ctrl + Z: Undo last operation
- Ctrl + A: Select all in current view
Tips for Effective Circuit Building
- Start with I/O: Create your inputs and outputs first, then connect them
- Use Meaningful Names: Name areas based on their function
- Group Logically: Use regions to organize related functionality
- Watch the Connections: Too many connections can indicate complexity
- Test Incrementally: Build and test small circuits before expanding
- Use Colors: The color coding helps you quickly identify area types
- Keep it Clean: Regularly reorganize and clean up your circuit layout
- Document: Use region names and descriptions to document your architecture
Integration with Brain Monitor
Circuit Builder and Brain Monitor are tightly integrated:
- Selection Sync: Selecting in one view highlights in the other
- Focus Sync: Focusing on an area in one view focuses in the other
- Split View: View both simultaneously for best workflow
Use Split View to work with both views at once.
Common Workflows
Creating a Simple Circuit
- Create an input cortical area (IPU)
- Create a processing area (Custom)
- Create an output cortical area (OPU)
- Connect Input → Processing → Output
- Test with data flowing through FEAGI
Organizing Complex Circuits
- Identify functional groups (e.g., "Vision", "Motor", "Memory")
- Create regions for each group
- Move cortical areas into appropriate regions
- Create inter-region connections as needed
- Name and document each region
Refactoring Circuits
- Review current organization in Circuit Builder
- Identify areas that should be grouped
- Create or modify regions
- Move areas to new locations
- Verify connections remain intact
- Test neural activity
Troubleshooting
"Can't see my cortical areas"
- Use Fit All (right-click → Fit All) to zoom out
- Check if you're viewing the correct region
- Verify areas exist in FEAGI
"Connections won't create"
- Ensure you're dragging from output port to input port
- Verify both areas exist in FEAGI
- Check that areas are compatible for connection
"Objects move slowly or lag"
- This is normal - position updates are batched and sent to FEAGI
- Wait a few seconds for the update to complete
"Lost my place after double-clicking"
- Use the Circuits dropdown to navigate back
- Use browser-style back button (if available)
- Click parent circuit to go up one level
Related Topics
- Brain Circuits - Organizing circuits into hierarchies
- Cortical Areas - Creating and managing areas
- Mapping Connections - Connecting areas together
- Brain Monitor - 3D visualization companion
- Navigation Basics - Movement and camera controls
- Split View - Side-by-side workflow