diff --git a/gpx-rs/src/action/action.rs b/gpx-rs/src/action/action.rs deleted file mode 100644 index 595a3b54a..000000000 --- a/gpx-rs/src/action/action.rs +++ /dev/null @@ -1,5 +0,0 @@ -use crate::state::StackEntry; - -pub trait Action { - fn apply(entry: &mut StackEntry) -> Result<(), &'static str>; -} diff --git a/gpx-rs/src/action/file.rs b/gpx-rs/src/action/file.rs deleted file mode 100644 index ea14c4947..000000000 --- a/gpx-rs/src/action/file.rs +++ /dev/null @@ -1 +0,0 @@ -use crate::action::Action; diff --git a/gpx-rs/src/action/mod.rs b/gpx-rs/src/action/mod.rs deleted file mode 100644 index ff9d46028..000000000 --- a/gpx-rs/src/action/mod.rs +++ /dev/null @@ -1,5 +0,0 @@ -mod action; -mod file; - -pub use action::*; -pub use file::*; diff --git a/gpx-rs/src/buffer/coordinates.rs b/gpx-rs/src/buffer/coordinates.rs deleted file mode 100644 index 25282d4fa..000000000 --- a/gpx-rs/src/buffer/coordinates.rs +++ /dev/null @@ -1,4 +0,0 @@ -pub struct CoordinatesBuffer { - pub lng: Vec, - pub lat: Vec, -} diff --git a/gpx-rs/src/buffer/mod.rs b/gpx-rs/src/buffer/mod.rs deleted file mode 100644 index 88a55c55a..000000000 --- a/gpx-rs/src/buffer/mod.rs +++ /dev/null @@ -1,5 +0,0 @@ -mod coordinates; -mod statistics; - -pub use coordinates::*; -pub use statistics::*; diff --git a/gpx-rs/src/algorithm/mod.rs b/gpx-rs/src/core/algorithm/mod.rs similarity index 100% rename from gpx-rs/src/algorithm/mod.rs rename to gpx-rs/src/core/algorithm/mod.rs diff --git a/gpx-rs/src/algorithm/simplify.rs b/gpx-rs/src/core/algorithm/simplify.rs similarity index 95% rename from gpx-rs/src/algorithm/simplify.rs rename to gpx-rs/src/core/algorithm/simplify.rs index e9b95421e..e55f74638 100644 --- a/gpx-rs/src/algorithm/simplify.rs +++ b/gpx-rs/src/core/algorithm/simplify.rs @@ -1,6 +1,6 @@ use crate::{ - gpx::{TrackSegment, TrackSegmentIndex}, - utils::crossarc, + core::gpx::{TrackSegment, TrackSegmentIndex}, + core::utils::crossarc, }; pub fn ramer_douglas_peucker( diff --git a/gpx-rs/src/algorithm/smooth.rs b/gpx-rs/src/core/algorithm/smooth.rs similarity index 100% rename from gpx-rs/src/algorithm/smooth.rs rename to gpx-rs/src/core/algorithm/smooth.rs diff --git a/gpx-rs/src/gpx/chunk.rs b/gpx-rs/src/core/gpx/chunk.rs similarity index 96% rename from gpx-rs/src/gpx/chunk.rs rename to gpx-rs/src/core/gpx/chunk.rs index 7d624ad09..52952f5f8 100644 --- a/gpx-rs/src/gpx/chunk.rs +++ b/gpx-rs/src/core/gpx/chunk.rs @@ -1,6 +1,6 @@ use uuid::Uuid; -use crate::gpx::{Trackpoint, Waypoint}; +use crate::{Trackpoint, Waypoint}; static MAX_TRKPT_CHUNK_SIZE: usize = 4096; diff --git a/gpx-rs/src/gpx/common.rs b/gpx-rs/src/core/gpx/common.rs similarity index 100% rename from gpx-rs/src/gpx/common.rs rename to gpx-rs/src/core/gpx/common.rs diff --git a/gpx-rs/src/gpx/file.rs b/gpx-rs/src/core/gpx/file.rs similarity index 94% rename from gpx-rs/src/gpx/file.rs rename to gpx-rs/src/core/gpx/file.rs index 8ccfcd8ef..1a035bb06 100644 --- a/gpx-rs/src/gpx/file.rs +++ b/gpx-rs/src/core/gpx/file.rs @@ -2,7 +2,7 @@ use std::rc::Rc; use uuid::Uuid; -use crate::gpx::{Link, Track, WaypointChunk}; +use crate::{Link, Track, WaypointChunk}; #[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] pub struct FileId(pub Uuid); diff --git a/gpx-rs/src/gpx/mod.rs b/gpx-rs/src/core/gpx/mod.rs similarity index 100% rename from gpx-rs/src/gpx/mod.rs rename to gpx-rs/src/core/gpx/mod.rs diff --git a/gpx-rs/src/gpx/segment.rs b/gpx-rs/src/core/gpx/segment.rs similarity index 98% rename from gpx-rs/src/gpx/segment.rs rename to gpx-rs/src/core/gpx/segment.rs index 4b3768391..de5d68989 100644 --- a/gpx-rs/src/gpx/segment.rs +++ b/gpx-rs/src/core/gpx/segment.rs @@ -2,7 +2,7 @@ use std::{ops::Index, rc::Rc}; use uuid::Uuid; -use crate::gpx::{Trackpoint, TrackpointChunk}; +use crate::{Trackpoint, TrackpointChunk}; #[derive(Debug, PartialEq, Eq, Hash)] pub struct TrackSegmentId(Uuid); @@ -174,8 +174,6 @@ impl<'a> Iterator for TrackSegmentIterator<'a> { #[cfg(test)] mod tests { - use crate::gpx::TrackpointChunk; - use super::*; fn create_track_segment(nb_chunks: usize) -> TrackSegment { diff --git a/gpx-rs/src/gpx/track.rs b/gpx-rs/src/core/gpx/track.rs similarity index 94% rename from gpx-rs/src/gpx/track.rs rename to gpx-rs/src/core/gpx/track.rs index 00f5f0a8f..2b015ce4d 100644 --- a/gpx-rs/src/gpx/track.rs +++ b/gpx-rs/src/core/gpx/track.rs @@ -1,6 +1,6 @@ use uuid::Uuid; -use crate::gpx::{Link, TrackSegment}; +use crate::{Link, TrackSegment}; #[derive(Debug, PartialEq, Eq, Hash)] pub struct TrackId(Uuid); diff --git a/gpx-rs/src/gpx/trackpoint.rs b/gpx-rs/src/core/gpx/trackpoint.rs similarity index 92% rename from gpx-rs/src/gpx/trackpoint.rs rename to gpx-rs/src/core/gpx/trackpoint.rs index d08800dff..32ee7a23a 100644 --- a/gpx-rs/src/gpx/trackpoint.rs +++ b/gpx-rs/src/core/gpx/trackpoint.rs @@ -1,4 +1,4 @@ -use crate::gpx::LngLat; +use crate::LngLat; #[derive(Debug, Default)] pub struct Trackpoint { diff --git a/gpx-rs/src/gpx/waypoint.rs b/gpx-rs/src/core/gpx/waypoint.rs similarity index 93% rename from gpx-rs/src/gpx/waypoint.rs rename to gpx-rs/src/core/gpx/waypoint.rs index 88b5ae335..f83b39ed7 100644 --- a/gpx-rs/src/gpx/waypoint.rs +++ b/gpx-rs/src/core/gpx/waypoint.rs @@ -1,6 +1,6 @@ use uuid::Uuid; -use crate::gpx::{Link, LngLat}; +use crate::{Link, LngLat}; #[derive(Debug, PartialEq, Eq)] pub struct WaypointId(Uuid); diff --git a/gpx-rs/src/io/mod.rs b/gpx-rs/src/core/io/mod.rs similarity index 100% rename from gpx-rs/src/io/mod.rs rename to gpx-rs/src/core/io/mod.rs diff --git a/gpx-rs/src/io/parse.rs b/gpx-rs/src/core/io/parse.rs similarity index 99% rename from gpx-rs/src/io/parse.rs rename to gpx-rs/src/core/io/parse.rs index 3f45f33ee..f3850f96d 100644 --- a/gpx-rs/src/io/parse.rs +++ b/gpx-rs/src/core/io/parse.rs @@ -1,6 +1,6 @@ use std::rc::Rc; -use crate::gpx::{ +use crate::{ Author, File, Link, LngLat, Track, TrackSegment, Trackpoint, TrackpointChunk, Waypoint, WaypointChunk, }; diff --git a/gpx-rs/src/core/mod.rs b/gpx-rs/src/core/mod.rs new file mode 100644 index 000000000..1e058e91f --- /dev/null +++ b/gpx-rs/src/core/mod.rs @@ -0,0 +1,11 @@ +mod algorithm; +pub(crate) mod gpx; +mod io; +pub(crate) mod statistics; +mod utils; + +pub use algorithm::*; +pub use gpx::*; +pub use io::*; +pub use statistics::*; +pub use utils::*; diff --git a/gpx-rs/src/statistics/mod.rs b/gpx-rs/src/core/statistics/mod.rs similarity index 70% rename from gpx-rs/src/statistics/mod.rs rename to gpx-rs/src/core/statistics/mod.rs index 0e9972d24..41e187567 100644 --- a/gpx-rs/src/statistics/mod.rs +++ b/gpx-rs/src/core/statistics/mod.rs @@ -1,7 +1,5 @@ -mod cache; mod statistics; mod utils; -pub use cache::*; pub use statistics::*; pub use utils::*; diff --git a/gpx-rs/src/statistics/statistics.rs b/gpx-rs/src/core/statistics/statistics.rs similarity index 97% rename from gpx-rs/src/statistics/statistics.rs rename to gpx-rs/src/core/statistics/statistics.rs index 6d2eb5f8a..2f734a2fd 100644 --- a/gpx-rs/src/statistics/statistics.rs +++ b/gpx-rs/src/core/statistics/statistics.rs @@ -1,9 +1,6 @@ use crate::{ - algorithm::ramer_douglas_peucker, - for_each_window, - gpx::{LngLat, LngLatBounds, TrackSegment, TrackSegmentIndex, Trackpoint}, - statistics::sum_options, - utils::{distance, slope, speed, time_diff}, + LngLat, LngLatBounds, TrackSegment, TrackSegmentIndex, Trackpoint, distance, for_each_window, + ramer_douglas_peucker, slope, speed, sum_options, time_diff, }; #[derive(Default, Debug)] @@ -290,7 +287,7 @@ pub struct SlopeSegment { mod tests { use std::{fs::File, io::Read}; - use crate::io::parse; + use crate::parse; use super::*; diff --git a/gpx-rs/src/statistics/utils.rs b/gpx-rs/src/core/statistics/utils.rs similarity index 100% rename from gpx-rs/src/statistics/utils.rs rename to gpx-rs/src/core/statistics/utils.rs diff --git a/gpx-rs/src/utils.rs b/gpx-rs/src/core/utils.rs similarity index 99% rename from gpx-rs/src/utils.rs rename to gpx-rs/src/core/utils.rs index 1fd5fe8a9..8673d827f 100644 --- a/gpx-rs/src/utils.rs +++ b/gpx-rs/src/core/utils.rs @@ -1,6 +1,6 @@ use std::f64::consts::PI; -use crate::gpx::LngLat; +use crate::LngLat; static TO_RADIANS: f64 = PI / 180.0; static EARTH_RADIUS: f64 = 6371.0088; diff --git a/gpx-rs/src/engine/derived/mod.rs b/gpx-rs/src/engine/derived/mod.rs new file mode 100644 index 000000000..d4df4a7d3 --- /dev/null +++ b/gpx-rs/src/engine/derived/mod.rs @@ -0,0 +1,5 @@ +mod statistics_buffer; +mod statistics_cache; + +pub use statistics_buffer::*; +pub use statistics_cache::*; diff --git a/gpx-rs/src/buffer/statistics.rs b/gpx-rs/src/engine/derived/statistics_buffer.rs similarity index 97% rename from gpx-rs/src/buffer/statistics.rs rename to gpx-rs/src/engine/derived/statistics_buffer.rs index 09c12528e..59536d33a 100644 --- a/gpx-rs/src/buffer/statistics.rs +++ b/gpx-rs/src/engine/derived/statistics_buffer.rs @@ -1,4 +1,4 @@ -use crate::statistics::{GlobalStatistics, Statistics, sum_options}; +use crate::{GlobalStatistics, Statistics, sum_options}; #[derive(Debug, Default)] pub struct StatisticsBuffer { diff --git a/gpx-rs/src/statistics/cache.rs b/gpx-rs/src/engine/derived/statistics_cache.rs similarity index 95% rename from gpx-rs/src/statistics/cache.rs rename to gpx-rs/src/engine/derived/statistics_cache.rs index adfcb7078..c5ba7c2b5 100644 --- a/gpx-rs/src/statistics/cache.rs +++ b/gpx-rs/src/engine/derived/statistics_cache.rs @@ -3,12 +3,7 @@ use std::{ rc::Rc, }; -use crate::{ - gpx::{File, Track, TrackSegment, TrackSegmentRevisionId}, - selection::Selection, - state::StackEntry, - statistics::Statistics, -}; +use crate::{File, Selection, StackEntry, Statistics, Track, TrackSegment, TrackSegmentRevisionId}; #[derive(Debug, Default)] pub struct StatisticsCache { diff --git a/gpx-rs/src/engine.rs b/gpx-rs/src/engine/engine.rs similarity index 95% rename from gpx-rs/src/engine.rs rename to gpx-rs/src/engine/engine.rs index dc26b5e75..24f74461a 100644 --- a/gpx-rs/src/engine.rs +++ b/gpx-rs/src/engine/engine.rs @@ -6,14 +6,7 @@ use js_sys::{Float64Array, Function, Int32Array}; use uuid::Uuid; use wasm_bindgen::prelude::*; -use crate::{ - buffer::StatisticsBuffer, - gpx::{File, FileId}, - io::parse, - selection::Selection, - state::{Stack, StackEntry}, - statistics::StatisticsCache, -}; +use crate::{File, FileId, Selection, Stack, StackEntry, StatisticsBuffer, StatisticsCache, parse}; extern crate console_error_panic_hook; diff --git a/gpx-rs/src/engine/mod.rs b/gpx-rs/src/engine/mod.rs new file mode 100644 index 000000000..cad4b73ca --- /dev/null +++ b/gpx-rs/src/engine/mod.rs @@ -0,0 +1,9 @@ +mod derived; +mod engine; +mod selection; +mod state; + +pub use derived::*; +pub use engine::*; +pub use selection::*; +pub use state::*; diff --git a/gpx-rs/src/selection.rs b/gpx-rs/src/engine/selection.rs similarity index 93% rename from gpx-rs/src/selection.rs rename to gpx-rs/src/engine/selection.rs index ef93e74f7..e555f6826 100644 --- a/gpx-rs/src/selection.rs +++ b/gpx-rs/src/engine/selection.rs @@ -1,6 +1,6 @@ use std::collections::HashSet; -use crate::gpx::{FileId, TrackId, TrackSegmentId, WaypointId}; +use crate::{FileId, TrackId, TrackSegmentId, WaypointId}; #[derive(Debug)] pub struct FileSelection { diff --git a/gpx-rs/src/state/mod.rs b/gpx-rs/src/engine/state/mod.rs similarity index 100% rename from gpx-rs/src/state/mod.rs rename to gpx-rs/src/engine/state/mod.rs diff --git a/gpx-rs/src/state/stack.rs b/gpx-rs/src/engine/state/stack.rs similarity index 99% rename from gpx-rs/src/state/stack.rs rename to gpx-rs/src/engine/state/stack.rs index e70c121d7..b9db13534 100644 --- a/gpx-rs/src/state/stack.rs +++ b/gpx-rs/src/engine/state/stack.rs @@ -3,7 +3,7 @@ use std::{ rc::Rc, }; -use crate::gpx::{File, FileId}; +use crate::{File, FileId}; #[derive(Debug, Default)] pub struct Stack { diff --git a/gpx-rs/src/lib.rs b/gpx-rs/src/lib.rs index cd49cadf8..d6ea07f75 100644 --- a/gpx-rs/src/lib.rs +++ b/gpx-rs/src/lib.rs @@ -1,12 +1,5 @@ -mod action; -mod algorithm; -mod buffer; +mod core; mod engine; -mod gpx; -mod io; -mod selection; -mod state; -mod statistics; -mod utils; +pub use core::*; pub use engine::*;