Teleop Codebase Organization
Directory Structure
Section titled “Directory Structure”Summary
Section titled “Summary”note: not all directories included below
teleoperation├── basestation_gui│ ├── backend| | ├── managers| | ├── routes| | └── ws│ └── frontend| ├── public| | └── urdf| └── src| ├── components| | ├── ControllerDataTable| | └── three| ├── composables| ├── router| ├── stores| ├── types| ├── utils| └── views└── camera_client ├── include └── srcBasestation GUI
Section titled “Basestation GUI”basestation_gui contains all the code for the Base Station.
Backend
Section titled “Backend”Contains code for the server.
managers contains classes that handle functionality requiring a consistent state.
routes contains functions that handle HTTP requests.
ws contains WebSocket definitions.
Frontend
Section titled “Frontend”Contains code for the frontend.
public contains graphical assets for the frontend. urdf contains .urdf and .glb models.
src contains all the code for the frontend.
componentscontains Vue components.threecontains 3D rover display code.
composablescontains reusable logic.routermanages paths to views.storescontains code that handles Pinia stores.typescontains custom variable types.utilscontains various APIs.viewscontains main pages.
Camera Client
Section titled “Camera Client”Contains code for the camera client. Split into header (include) and source (src) files.
Lockfile Tracking
Section titled “Lockfile Tracking”Teleop does not track bun.lock. Lockfile conflicts are frequent across branches, and package.json should contain critical information regarding dependency and version control. Further granulated control of dependencies are not needed, and therefore the lockfile should not be tracked.