VOLT
Modules

Canvas

The 3D workspace where frames are inspected, analysis pipelines are built, and results are read back into the scene.

The canvas is where trajectory work actually happens. It opens at /canvas/<trajectoryId> and combines four things that used to be separate screens: the 3D scene, the frame timeline, the analysis pipeline editor, and the results tree.

It replaces the older "trajectory viewer with tabs" layout. There is no separate analysis tab — analyses are pipeline stages submitted from here.

The scene

The renderer draws atoms, the simulation-cell wireframe, and any 3D artifact produced by an analysis. It is a dedicated Three.js engine tuned for large frames: geometry is uploaded as packed attribute buffers and spatially ordered so that large structures stay interactive rather than being rebuilt per frame.

The Objects panel lists what is currently in the scene and toggles individual layers. Selection and hover work against the scene directly, and the status bar reports counts for what is visible versus what was filtered out.

Timeline and playback

The timeline scrubs and plays through timesteps. It also doubles as a progress display: each tick carries the job activity for that frame, so a running analysis is visible as it advances rather than only when it finishes.

Ticks are scoped to the selected analysis when one is selected. With nothing selected they summarize every analysis touching that frame, which is why the same frame can look busy in one context and idle in another.

A frame picker and a selected-timesteps field control which frames a pipeline run will cover — you can analyze one frame, a subset, or the whole trajectory.

The pipeline editor

The pipeline is an ordered list of stages applied to the structure. Stages can be reordered, disabled without being deleted, and edited in place.

StageEffect
AnalysisRuns a plugin workflow; this is what produces results
Slice PlaneCuts the structure with a plane, so later stages see only what survives
Expression SelectKeeps or removes atoms by a property expression
Color CodingMaps a property to a gradient

Color coding and expression select preview live in the scene as you edit them, before anything is submitted. Submitting the pipeline sends the ordered analysis, slice, and expression stages to the cluster as one run; color coding stays local, because it changes what you see rather than what is computed.

If every stage in a submission matches an earlier run, nothing is recomputed and the canvas says so explicitly.

Results

The right sidebar is the result tree, grouped by pipeline run with the newest first. Each run expands into its stages, and each analysis stage expands into its exposures — the exposure is the thing you select to load into the scene.

Supporting surfaces around it:

  • an execution overlay while a run is in flight,
  • a frame log for per-frame diagnostics,
  • a results viewer for tabular listings, with download,
  • and exposure settings for how a loaded artifact is drawn.

Panels, menus, and the command palette

Rendering and view controls are grouped into popovers: render settings, camera, screenshot, and performance. The camera menu carries preset views and a reset; the screenshot menu renders the current scene to an image.

The command palette is the fastest route to most of this — plugins, panels, and view actions are all reachable from it without leaving the keyboard. Keyboard shortcuts cover playback, undo and redo, screenshots, and escaping the current interaction; the palette lists what is currently bound.

A short discovery tour points out the pipeline and result tree the first time a trajectory is opened.

Collaboration

A canvas is a shared space. Teammates viewing the same trajectory appear as presence in the workspace, cursors are broadcast, and view state is synchronized as patches so people can follow along. Dragging a model is streamed live rather than jumping on release.

The workspace variant of the route (/canvas/<trajectoryId>/workspace/<ownerId>) opens someone else's session rather than your own.

Public and shared canvases

The canvas routes accept unauthenticated visitors, which is how public trajectory sharing works. A public canvas is viewer-only: it renders the scene and its artifacts but grants no team write access.

A public canvas has no pipeline-runs endpoint, so its results appear as one flat ungrouped list rather than grouped by run. Nothing is missing — only the grouping.

Local GLB viewer

/canvas/glb opens the same scene shell against a local .glb file with no trajectory behind it. It is useful for checking an exported artifact without uploading anything.

  • Trajectories for uploading and organizing the data the canvas opens,
  • Analysis & Jobs for the run and stage model behind the pipeline,
  • Plugins for what an individual analysis stage can do,
  • and Volt AI, which can drive the canvas — playback, camera, layers, color coding, and pipelines — through tool calls.

On this page