Modules
Terminal-based dashboard for Beam Bots robots.
Main TUI application using the ExRatatui.App reducer runtime.
Argument-edit popup for the commands panel.
Commands panel — displays available robot commands with execution state.
Event detail popup — overlay showing the full payload of the selected event as a syntax-highlighted Elixir term.
Events panel — displays a scrollable list of recent robot messages with formatted timestamps, color-coded paths, message types, and summaries.
Force disarm confirmation popup.
Help popup — overlay showing all available keyboard shortcuts.
Joint control panel — displays joint positions with type, units, and visual position bars.
Parameters panel — displays robot parameters grouped by path.
Safety panel — displays safety state, runtime state, and control hints.
Status bar — single-line bar at the bottom of the dashboard.
Top-level tab bar — shows Control Panel and Visualization, highlighting the
active tab. Pure function — takes the active tab atom, returns a widget struct.
Title bar — single-line branded header at the top of the dashboard.
Visualization tab — renders the live robot in 3D via ExRatatui.Widgets.Viewport3D.
Behaviour a consumer implements to teach the dashboard how to render a
payload on a PubSub path the consumer owns — without bb_tui knowing anything
about that payload's shape or struct.
Routing layer for BB.* calls used by the TUI.
Thin wrapper around :rpc.call/4 and Node.spawn_link/2.
State struct and pure update functions for the BB TUI dashboard.
Command palette and inline argument-edit state, split out of BB.TUI.State.
Event-log display state, split out of BB.TUI.State.
Joint positions and selection, split out of BB.TUI.State.
Parameter browser state, split out of BB.TUI.State.
Latest electrical telemetry, split out of BB.TUI.State.
Robot safety status, split out of BB.TUI.State.
High-rate sensor handling, split out of BB.TUI.State.
View chrome state, split out of BB.TUI.State.
Visualization-tab state: the orbit camera and render mode for the 3D robot view.
Color, style, and rich-text constants for the BB TUI dashboard.
Builds an ExRatatui.ThreeD.Scene from a BB.Robot topology and live joint
positions, running forward kinematics.
Dev supervision tree for local mix/iex sessions.
Dev-only command handler that sleeps for a couple of seconds before
succeeding. Useful for eyeballing the executing-command throbber and
the events panel's command.started/command.succeeded pair without
a real long-running operation.
Dev-only command that publishes one of each newly-surfaced diagnostic message so they appear in the Events panel
No-op command handler for dev/UI testing. Echoes the goal map back as
the result, and returns the state machine to the robot's initial
operational state so the runtime doesn't park in :executing
forever. Use only from the dev tree.
Development-only BB.Bridge implementation that exposes a small set
of pretend remote parameters with in-memory writes.
Dev/UI command handler that drives a single joint by publishing a
synthetic JointState sensor message on [:sensor, :simulated].
Dev-only command that emits a short battery + power telemetry sweep on
[:sensor, :battery_bus], draining a simulated pack from ~95% to ~10%
over ~2s so the status bar's battery readout shifts green → yellow → red.
Dev-only command that emits a high-rate burst of synthetic JointState
sensor messages on [:sensor, :simulated], sweeping a joint through a
sine motion for ~2s at ~100Hz.
A simulated WidowX-200 style robot arm for development.
Dev-only command handler that always fails. Useful for eyeballing the
Events panel's failure rendering and the Commands panel's
{:error, _} result formatting without driving a real fault.
Mix Tasks
Starts the terminal dashboard for a Beam Bots robot.
Installs BB.TUI into a project