* 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 <>
* webview displays in gps map with wry, happy 4th, boom boom
* gps-map is webview with html
* Add initial setup for `base-map` package
- Include `.gitignore` for package-specific files and logs.
- Implement a basic interactive Mapbox map with Chakra UI layout.
- Add token storage and retrieval mechanism using `js-cookie`.
- Initialize `bun.lock` with dependencies.
* "Replace static GPS map with dynamically built base-map package integration and update related paths and scripts"
* fix wasm32 builds
---------
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.
- Standardize text formatting and color usage across instrument clusters and gauges.
- Add new `BACKGROUND_COLOR_TRANSPARENT` definition in theme constants.
- Minor cleanup and adjustments for consistency in UI layouts.
* 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 <>
* 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 <>