Advanced Search
Search Results
45 total results found
Cargo.toml — Key Dependencies
CratePurposetauriDesktop app framework, with protocol-asset and devtools featurestokio (full)Async runtime for all network and I/O tasksprostProtobuf encode/decodegstreamer / gstreamer-appVideo pipelinewarpMJPEG HTTP servergilrsGamepad/controller inputreqwest ...
state.svelte.js — Global State
state.svelte.js is the single source of truth for shared reactive state that needs to be accessible across multiple components and routes. Currently it manages the three camera objects. Camera objects Three camera state objects are exported as Svelte 5 $state ...
types.ts — Types
Shared TypeScript types used across the frontend. Sample — represents a single science sample collected by the rover. Contains location name, coordinates, before/after image paths, measurement, weight, and a set of boolean _check flags tracking which fields ha...
routes/+layout.svelte — Navigation Bar
The layout wraps every page in the application. It renders the persistent navigation bar at the top and then the current page's content via {@render children()}. Navigation bar The navbar contains the following controls, always visible regardless of which rout...
routes/ — Pages
/ — Dashboard (Home) File: routes/+page.svelte The main operator screen. A CSS grid layout combining six components into a single view. Components: Double_Video, Map, NavigationPlan, TaskCompletion, IMU, Model (3D scene). /navigation — Navigation File: routes...
Overview
What is the base station? The Base Station is the ground control application used to monitor and control the rover during operation. It runs on an operator's laptop and provides a unified interface for live video feeds, navigation, task management, rover arm c...
video.svelte + double_video.svelte — Video Components
video.svelte TODO: still being developed, going to change The basic single-camera display component. Accepts a camera object from state.svelte.js and renders it as an <img> tag pointing at the MJPEG stream URL. Supports two optional modes passed as the mode pr...
imu.svelte — IMU
Displays live inertial measurement unit data received from the imu-update Tauri event. Data displayed Accelerometer — X/Y/Z values in m/s² with a live scrolling sparkline chart showing the last 60 samples per axis. Each axis has a distinct colour (red, purple,...
map.svelte — Map
TODO: We still don't have the map format, function is subject to change Displays a static map that the operator imports. The map is stored in the maps/ app data directory and loaded using Tauri's asset protocol (convertFileSrc). Map selection flow On mount, th...
navigation_plan.svelte — Navigation Plan
A drag-and-drop ordered list of navigation waypoints using svelte-dnd-action. Reads from and writes to the waypoints, startPoint, and endPoint stores in stores/map.ts. The list always starts with a fixed Starting Point card and ends with a fixed End Point card...
task_completion.svelte — Task Completion
Displays the history of completed tasks read from the tasks/ app data directory. On mount it lists all task files and deserialises each JSON file into a Task object. Task list Each task is shown as a card with its name, number, completion time, and finish time...
sampling_locations.svelte + SampleField.svelte — Sampling Locations
The main data collection interface for the Science task. Manages a list of Sample objects stored in the samples Svelte store. Sample card Each sample in the list is rendered as a card with an editable location name field and a set of SampleField sub-components...
model_scene.svelte + model_viewer.svelte + model_debug.ts — 3D Model Viewer
These three files together form the 3D model display system used on the dashboard. model_scene.svelte The outer container and lifecycle manager. Handles: delayed initialisation (100ms timer to ensure the DOM is ready before the WebGL canvas is created), WebGL ...
maintenance_tasks.svelte — Maintenance Panel
TODO: WIP
probes.svelte — Probes
Displays the list of probes from the probes store. Currently each probe renders as a basic card. A "Pick up probe" button opens an overlay showing all three camera feeds in pick mode, using the same pattern as the pick-up overlay in sampling_locations.svelte. ...
interest_locations.svelte — Interest Locations
TODO: A placeholder component that renders a "Locations of Interest" heading. Intended to display GPS-tagged points of interest identified during the probing task. Not yet implemented.
costmap.svelte — Costmap
TODO: A placeholder component that renders a "Costmap" heading. Intended to display the rover's navigation cost map (obstacle/traversability grid) received from the rover. Not yet implemented.
Prerequistites
MacOS installation steps were not tested, proceed at your own risk! Rust Install Rust via rustup — the official Rust toolchain installer. All platforms: go to https://rustup.rs and follow the instructions, or run: curl --proto '=https' --tlsv1.2 -sSf https://s...