pyrobosim.web.app

Dash web application for viewing and driving a PyRoboSim world in a browser.

The controls mirror the Qt GUI: a robot selector and goal query, action buttons, and visibility toggles, with a live world view. The app assumes a single local user and a single server process, since the world model and refresh state live in server memory.

A single tick-driven “engine” callback refreshes the view. It rebuilds the full figure after discrete world changes, sends a lightweight dash.Patch of just the moving traces during smooth motion, and otherwise leaves the figure untouched, so idle ticks are nearly free.

Figure updates are not written to the graph directly: they go to the “figbuf” store, and a clientside callback forwards them to the graph only when no pan/zoom gesture is in progress, since a full figure update mid-gesture breaks Plotly’s pan/zoom handling. The gate lives client-side so that updates already in flight when a gesture starts are held as well.

Functions

create_app(world[, title])

Creates the interactive Dash application for a world.

run(world[, host, port, debug, title])

Builds and runs the interactive Dash web application for a world.

status_text(robot)

Builds the selected robot's status string (battery / location / holding).