- Prevent AIS stream from starting immediately; start upon user interaction.
- Add `ais_stream_started` state for WebSocket management.
- Extend `useRealAISProvider` with `userLocationLoaded` and `mapFocused` to control stream.
- Update frontend components to handle geolocation and map focus.
- Exclude test files from compilation
Introduce WebSocket integration for AIS services
- Added WebSocket-based `useRealAISProvider` React hook for real-time AIS vessel data.
- Created various tests including unit, integration, and browser tests to validate WebSocket functionality.
- Added `ws` dependency to enable WebSocket communication.
- Implemented vessel data mapping and bounding box handling for dynamic updates.
* Add GPS service and nautical base city data
- Implement `GpsService` with methods for position updates and enabling/disabling GPS.
- Introduce test data for nautical base cities with key attributes like population, coordinates, and images.
- Update dependencies in `bun.lock` with required packages such as `geojson`.
* give map a custom style
* shift towards rust exclusivity
* `build.rs` streamlines map build. Added an axum server with the map assets embedded.
* update readmes
* base-map api retrieves geolocation from the navigator of the browser
* make map standalone wry that pulls assets from the server to simulate behavior in bevy
* wip wasm
* wasm build fixed
* fix path ref to assets
---------
Co-authored-by: geoffsee <>
- Introduced a new crate, `datalink-provider`, to support real AIS data sources (serial, TCP/UDP, file replay).
- Integrated it into the workspace and used it in the `AIS` system, replacing the simulation datalink.
- Updated dependencies and lock file.
* configure workspaces
* Modularize domain logic by creating a new `models` crate.
* Moved `LoadingPlugin` and `MenuPlugin` from `core` to a new `ui` module. Updated imports accordingly.
* add theme for instruments
* trunk serve works, remove audio and textures
* remove loading indicator and assets
* rename models to systems
* seperate systems and components from models
* Refactor instrument cluster to leverage reusable composition utilities.
---------
Co-authored-by: geoffsee <>