Skip to content

Sandbox Mode Sidebar#3815

Draft
sauravbanna wants to merge 53 commits into
UBC-Thunderbots:masterfrom
sauravbanna:sauravbanna/sandbox_sidebar
Draft

Sandbox Mode Sidebar#3815
sauravbanna wants to merge 53 commits into
UBC-Thunderbots:masterfrom
sauravbanna:sauravbanna/sandbox_sidebar

Conversation

@sauravbanna

@sauravbanna sauravbanna commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Description

This PR adds in a new Thunderscope widget: a sidebar to surface controls for Sandbox Mode to the user.

Sandbox mode allows the user to edit robot positions + add and remove robots within sim. The aim is to make sim testing easier, with future goals to add in functionality for exporting to Pytest cases easily.

This PR also fixes some bugs with Sandbox Mode.

Main Changes

  • Added sidebar with controls to enable Sandbox Mode, undo / redo changes, and clear the field
  • Added Help instructions to Sidebar
  • Moved sim pause / play button to sidebar
  • Added sandbox mode enabled indicator to top toolbar

Screenshots

Sidebar closed
image

Sidebar open
image

Sandbox Mode enabled
image

Robots Edited
image

Testing Done

Manually tested mainly.

Robot Editing

  • Adding and removing robots works
  • Moving robots by dragging works
  • Editing robots when sim is paused renders them correctly

Controls

  • Undo / redo work
  • Clear field works, resets field to 1 robot at the center circle edge
  • Help / How to Use button shows dialog with instructions
  • Undoing and redoing clear field works
  • Sandbox mode enabled indicator works

Robot Assignment

  • When assigned goalie is removed, the next smallest robot ID becomes goalie
  • User is blocked from removing the last robots

Resolved Issues

Length Justification and Key Files to Review

The bug fixes can technically be broken up into a separate PR, but the main sidebar component being added + all the wiring into existing components is a lot of lines anyway

Review Checklist

It is the reviewers responsibility to also make sure every item here has been covered

  • Function & Class comments: All function definitions (usually in the .h file) should have a javadoc style comment at the start of them. For examples, see the functions defined in thunderbots/software/geom. Similarly, all classes should have an associated Javadoc comment explaining the purpose of the class.
  • Remove all commented out code
  • Remove extra print statements: for example, those just used for testing
  • Resolve all TODO's: All TODO (or similar) statements should either be completed or associated with a github issue

@sauravbanna sauravbanna marked this pull request as ready for review July 1, 2026 17:40
@sauravbanna sauravbanna marked this pull request as draft July 2, 2026 01:59
@sauravbanna sauravbanna mentioned this pull request Jul 2, 2026
4 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant