Hyperparameters

Parameter management for optimization and automatic differentiation

Overview#

The Hyperparameters panel provides a centralized interface for managing parameters used in optimization workflows. It supports automatic differentiation marking, allowing parameters to be optimized through gradient-based methods.

Panel Location#

The Hyperparameters panel appears as a left sidebar in the Node Editor. It can be toggled on/off from the Node Editor toolbar.

Parameter Types#

TypeDescriptionExample
FloatSingle floating point value0.001, 1.5
Vector22D vector[0.0, 1.0]
Vector33D vector[0.0, 1.0, 2.0]
Vector44D vector[0.0, 1.0, 2.0, 1.0]
ColorRGBA color[1.0, 0.0, 0.0, 1.0]
BoolBoolean valuetrue, false

Adding Parameters#

  1. Click [+ Add Parameter] button
  2. Select parameter type from dropdown
  3. Enter parameter name
  4. Set initial value
  5. Toggle differentiable if needed (∂ button)

Differentiable Toggle#

The button marks a parameter as differentiable:

  • Enabled (blue): Parameter will be included in gradient computation
  • Disabled (gray): Parameter is treated as constant

When a parameter is marked differentiable:

  • Blue dashed animated border on the parameter
  • Blue dashed animated edges in Node Editor
  • Animation flows backward (indicating gradient direction)

Using Parameters in Node Editor#

Drag to Canvas#

Drag a parameter from the panel onto the Node Editor canvas:

  1. Parameter node appears at drop location
  2. Output port shows the parameter value
  3. Connect to other nodes for computation

Node Connection Example#

┌─────────────────┐
│ learning_rate   │
│    Float: 0.001 │──→ [Multiply] ──→ [Update]
└─────────────────┘

Editing Parameters#

Inline Editing#

  • Double-click name to rename
  • Click value to edit
  • Press Enter to confirm, Escape to cancel

Deleting Parameters#

  • Right-click → Delete
  • Or select and press Delete key
  • Connected nodes are updated automatically

Sync Behavior#

ActionSync Timing
Value change300ms debounce
Name changeImmediate
Differentiable toggleImmediate
Add/DeleteImmediate

Port Colors#

Parameter nodes follow the standard port color scheme:

TypeColor
FloatLight gray
Vector2Green
Vector3Yellow
Vector4Pink
BoolPurple
ColorGradient

Example: Optimization Setup#

Scene Optimization#

Hyperparameters:
├── tx_position (Vec3) [∂]  → Transmitter position
├── tx_power (Float) [∂]    → Transmitter power
├── frequency (Float) [ ]   → Fixed frequency
└── target_snr (Float) [ ]  → Target SNR (constant)
 
Node Graph:
tx_position → [Transmitter] → [Channel] → [SNR] → [Loss]
tx_power ──────────┘                              ↑
target_snr ──────────────────────────────────────┘

Material Optimization#

Hyperparameters:
├── roughness (Float) [∂]
├── metalness (Float) [∂]
└── color (Color) [∂]
 
Connect to Material component for real-time preview

Integration with Backend#

Parameters are synced with the backend for optimization:

# Backend receives parameter values and differentiable flags
# Gradient-based optimization can use marked parameters
 
# Parameters marked with ∂ are automatically tracked
# During optimization, gradients flow through connected nodes