A tour of the user interface

The window shows the rendered scene with three panels on top: the Overview, the Graph editor and the Inspector.

Graph editor

The graph editor has two tabs.

Authoring graph

The graph you edit. Right-click the canvas to add a node, right-click a node or link for its menu, and drag from pin to pin to connect. Pins are typed (Gaussians on the CPU, Gaussians on the GPU, Camera, Image, Tensor) and invalid links are refused with a reason.

Compiled graph

A read-only view of the element graph Klartraum actually compiled, for the live graph or the last run. It is found by walking ComputeGraphElement::getInputs(), the same traversal ComputeGraph::compileFrom() uses, so every buffer, compute pass, barrier, render pass and ONNX layer is shown. Elements are laid out in layers, coloured by category and linked back to the node they were built for. With GPU profiling on, each element shows its mean GPU time.

Where things run

Not everything in a graph runs on the GPU or belongs to Klartraum’s compute graph, and the editor shows which is which:

  • A badge under each node’s title says where it runs (GPU, CPU, CPU->GPU for uploads, GPU->CPU for readbacks) and what it is made of: elements of the Klartraum graph, a Klartraum function the studio calls on the CPU, or studio code.

  • A blue ring marks nodes that become elements of the live Klartraum compute graph, a green ring those in the Run graph. Nodes without a ring prepare data on the CPU or read results back.

  • Gaussians stay CPU data (grey links) until an Upload Gaussians node puts them into GPU buffers (orange links).

  • In the compiled graph, elements the studio adds on its own (layout transitions, Present’s resample into the swapchain, conversions for Preview and Writer inputs, the Run root) are outlined and labelled added by studio.

Validation

The graph is validated as you edit it. The checks cover missing inputs and files, Run reading the window’s swapchain images (render into an Offscreen Target for that), tensor shapes propagated through ONNX models, unsupported ONNX operators, and tensors that are not images feeding a Preview. Errors are listed in the Inspector.

Applying changes

Camera parameters apply immediately. Numbers, Time, Sine and Make Transform values apply without rebuilding the graph. Any other change rebuilds the pipelines.

Controls

Where

Action

Scene

left drag orbits, mouse wheel zooms

Graph (both tabs)

scroll or two-finger swipe zooms, right-drag pans, F or Fit shows everything

Authoring graph

right-click the canvas to add a node, right-click a node or link for its menu

drag from pin to pin to connect

Del / Backspace deletes the selection, Arrange re-lays out the graph

Inspector

edit the selected node’s parameters; errors are listed there

Compiled graph

select an element to see its inputs, consumers and timing; Hide buffers declutters

Run

F5, the Run buttons, or Graph → Run on every change

Menu

File → New from Example / Open / Save (Ctrl+O, Ctrl+S); Graph → run, auto-apply, arrange