Skip to main content

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

Input Icon

  • Orange: Output (OPU) - sends data to outside

Output Icon

  • Blue: Custom - internal processing

Interconnected Icon

  • Dark Red: Memory - stores and recalls patterns

Memory Icon

  • 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:

  1. On the root scene top bar, hover Inputs, Outputs, or Circuits, then click +
  2. On a Circuit Builder tab bar, hover Circuits, Interconnect Areas, or Memory Areas, then click +. A tab on the main circuit also shows Inputs and Outputs.
  3. Circuits + opens Add Circuit. Classifier is an integrated circuit: a gold IC chip hangs off the top-right corner of its image. See Integrated Circuits. Logic AND and Logic OR are genomes or connectomes on that same window.
  4. Configure the area and confirm

From Circuit Builder:

  1. Right-click empty space
  2. Select Create Cortical Area
  3. Choose the type and configure

Connecting Cortical Areas​

Method 1: Drag Connection

  1. Click and drag from the output port (right side) of one area
  2. Drag to the input port (left side) of another area
  3. Release to open the Mapping Editor

Method 2: Quick Connect

  1. Right-click a cortical area
  2. Select Quick Connect from the menu
  3. Choose the destination area
  4. 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:

  1. Select multiple objects (Ctrl + Click)
  2. Drag any selected object
  3. All selected objects move together

Precise Positioning:

  1. Right-click an object
  2. Select Relocate 2D
  3. 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

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​

  1. Select a cortical area or region
  2. Press F key

OR

  1. Hover Circuits, Inputs, or Outputs on the root scene top bar, or Circuits, Interconnect Areas, or Memory Areas on the tab bar
  2. Select an entry from the list
  3. The current view focuses on it

Working with Regions​

Viewing Region Contents​

Method 1: Double-click

  • Double-click a brain circuit node to open it

Method 2: Circuits list

  • Hover Circuits on the top bar
  • Select a circuit from the list
  • The current view focuses on that circuit. This does not open a new tab.

Creating Regions​

  1. Select cortical areas you want to group (optional)
  2. Right-click in Circuit Builder
  3. Select Create Region
  4. Enter a name and properties
  5. Click Create

Selected areas will automatically be added to the new region.

Moving Areas Between Regions​

  1. Right-click a cortical area
  2. Select Add to Region
  3. Choose the destination region
  4. Confirm

See Brain Circuits for more details.

Circuit Builder Tabs​

You can open multiple Circuit Builder tabs to view different regions simultaneously:

  1. Right-click a circuit node
  2. Select Open 3D Tab

Hover Circuits and select an entry when you only need the current view to focus on it. That selection does not open 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:

  1. Group by Function: Keep related cortical areas close together
  2. Flow Direction: Arrange inputs on the left, outputs on the right
  3. Use Regions: Group areas into logical regions
  4. 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:

  1. Drag from the top port (recursive port)
  2. Connect back to the same area's input port
  3. Useful for feedback loops and temporal processing

Multi-Selection Operations​

Select multiple areas to perform bulk operations:

  • Move them together. That move is one Ctrl+Z step
  • Delete multiple areas at once. That delete is one Ctrl+Z step
  • View combined properties
  • Add all to a circuit at once
  • In the 3D quick menu, Arrange aligns or distributes areas that share one circuit. See Navigation Basics

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 (Cmd + Z on macOS): Undo the last saved move or area delete
  • Shift + Ctrl + Z (Shift + Cmd + Z): Redo that step
  • Ctrl + A: Select all in current view

Tips for Effective Circuit Building​

  1. Start with I/O: Create your inputs and outputs first, then connect them
  2. Use Meaningful Names: Name areas based on their function
  3. Group Logically: Use regions to organize related functionality
  4. Watch the Connections: Too many connections can indicate complexity
  5. Test Incrementally: Build and test small circuits before expanding
  6. Use Colors: The color coding helps you quickly identify area types
  7. Keep it Clean: Regularly reorganize and clean up your circuit layout
  8. 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 (including Brain Monitor Shift + Left Drag box select)
  • 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​

  1. Create an input cortical area (IPU)
  2. Create a processing area (Custom)
  3. Create an output cortical area (OPU)
  4. Connect Input → Processing → Output
  5. Test with data flowing through FEAGI

Organizing Complex Circuits​

  1. Identify functional groups (e.g., "Vision", "Motor", "Memory")
  2. Create regions for each group
  3. Move cortical areas into appropriate regions
  4. Create inter-region connections as needed
  5. Name and document each region

Refactoring Circuits​

  1. Review current organization in Circuit Builder
  2. Identify areas that should be grouped
  3. Create or modify regions
  4. Move areas to new locations
  5. Verify connections remain intact
  6. 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"

  • Hover Circuits and select the parent circuit to focus it in the current view
  • Use browser-style back button (if available)
  • Click parent circuit to go up one level

Back to Overview