Visualization Controls
Once the visualizer is running, you can interact with the simulation using the following controls:
Camera
- Rotate: Left-click + drag OR
Ctrl(CMDon Mac) + Arrow keys - Pan: Right-click + drag OR Arrow keys
- Zoom: Scroll wheel
- Track Body: Automatically follow a specific body (via the "Camera Options" menu)
- Split Screen: Compare two batches side-by-side (via the "Camera Options" menu, requires ≥2 batches)
- Field of View: Adjust camera FOV (via the "Camera Options" menu)
- Copy View Link: Click the "Copy view link" button (in the "Camera Options" menu) to copy a URL that encodes the current camera, playback time, focused batch, and visualization toggles -- opening it restores that view.
Timeline
- Step Forward/Backward:
Alt+ Arrow Right / Arrow Left - Seek (and Pause): Click on the timeline bar
- Play/Pause:
Spaceor Click the Play button - Record:
Ror Click the Record button (select WEBM, MP4 -- if your browser supports recording it -- or PNG sequence via the dropdown). Recording seeks to the start, plays exactly one loop, then automatically stops and downloads the file. - Screenshot:
Sor Click the camera button next to Record to save the current frame as a PNG. - Playback Speed: Adjust speed (0.1x to 5x) via the dropdown next to the timeline
Batch Selection
- Move Selection:
Shift+ Arrow keys
Visualization Options
B: Toggle Body Visualization Mode (Mesh / Wireframe / Points)A: Toggle Axes VisibilityG: Toggle Trajectory TrailsI: Toggle Smooth Interpolation (on by default; interpolates position/orientation between recorded states during playback and scrubbing instead of snapping to the nearest frame)C: Toggle Contact PointsV: Toggle Linear VelocityW: Toggle Angular VelocityF: Toggle Linear ForceT: Toggle TorqueP: Toggle Terrain Data Probe (interactive tooltip on hover)
You can also customize terrain colors, colormaps, and toggle surface/wireframe/normals from the "Terrain Options" menu.
Point Cloud and Terrain Similarity Coloring
Point-cloud bodies and terrain cells can each carry an optional per-point/per-cell
feature embedding (see create_pointcloud(embedding=) / create_terrain(embedding_map=)
in the JSON format). When present, clicking a point (with
"Point Color Mode" already set to "similarity" in the Body Options panel) or a terrain
cell (with "Data Probe" off and terrain "features" color mode already selected)
recolors the whole cloud/grid by cosine similarity to the clicked location — computed
entirely client-side, no backend round-trip. A colormap legend (coolwarm, [-1, 1])
appears alongside the existing terrain legend to read values off the result. Clicking
without the matching mode active is an ordinary object selection and has no other effect.
Trajectory Trails
Toggling trails (G, or "Show Trails" in the Body Options panel) draws each body's
path from the start of the simulation up to the current playback time, one line per
batch in that batch's color. Useful for comparing the overall shape of two
trajectories (e.g. real vs. simulated) at a glance instead of scrubbing frame by frame.
Analysis Panel
Scalars and Error Metrics share one collapsible panel at the top-center of the screen. When both are available, a mode switcher lets you flip between them; if only one is available (e.g. a single-batch scene has no Error Metrics), that one is shown directly without the switcher.
- Scalars: one tab per scalar defined in the model, each plotting its value over
time for every batch (colored per batch, click a line to focus that batch). An
"Export CSV" button on the active tab downloads its full series as
timeplus one column per batch, named after each batch's current display name. - Error Metrics: shown once a scene has 2 or more batches. Pick a body and two
batches ("Batch A" / "Batch B") to compare — e.g. the real and simulated batches
produced by merging multiple files
— and it computes, over the full timeline, the Euclidean position error and the
quaternion angle (orientation) error between the two batches for that body. A live
readout shows the current-frame values, and the chart plots both error curves over
time with a marker at the current playback position. The "Per-axis" toggle swaps the
combined position error curve for the signed X/Y/Z error components (Batch A minus
Batch B), useful for spotting a directional bias instead of just overall magnitude.
Below the readout, a compact stats block summarizes the full timeline: position
RMSE, the max position error (and when it occurs), the final-frame drift, and the
orientation RMSE and max angle error. An "Export CSV" button downloads the current
selection's per-frame series (
time,pos_error,err_x,err_y,err_z,angle_error_deg).
Batch Legend
When a scene has 2 or more batches, a toggleable "Batches" legend appears in the bottom-right corner, listing each batch's color, index, and name. Click a row to focus that batch, or click a name to rename it in place — renames persist next to the input file(s), so they survive a reload or server restart.
Scene Info
When the scene JSON includes a model.metadata object, a read-only "Scene Info" panel
appears in the GUI listing each key/value pair — e.g. the engine, checkpoint path, git
commit, or CLI args a run was produced with — so a scene saved months ago is still
self-describing. simview info <file> prints the same fields on the command line.