1pub mod arrow_tile;
19pub mod budget;
20pub mod compression;
21pub mod curve;
22pub mod directory;
23pub mod directory_page;
24pub mod error;
25pub mod geometry;
26pub mod metadata;
27pub mod ordering_sim;
28pub mod pack;
29pub mod projection;
30pub mod tile;
31pub mod timestamp;
32pub mod types;
33
34pub use pack::{verify_packed_objects, Manifest, PackWriter, PackedReader};
37pub use directory::TileEntry;
38pub use directory_page::{
39 decode_paged_directory, encode_paged_directory, verify_paged_structure, PageDescriptor,
40 PagedRoot, DEFAULT_PAGE_ENTRIES,
41};
42pub use curve::BlobOrdering;
43pub use ordering_sim::{
44 evaluate as evaluate_orderings, measured_ordering, OrderingCost, QueryCost, SimOptions,
45 TileSample, CANDIDATES, DEFAULT_COALESCE_GAP_BYTES,
46};
47pub use error::{Error, Result};
48pub use tile::TileId;
49pub use timestamp::{
50 normalize_timestamp_to_ms, reject_negative_timestamp, scale_timestamp_to_ms, TimestampUnit,
51};
52pub use types::{BoundingBox, TimeRange};
53
54#[cfg(test)]
55mod tests {
56 use super::*;
57
58 #[test]
59 fn test_tile_id_ordering() {
60 let t1 = TileId::new(10, 512, 384, 1609459200000);
61 let t2 = TileId::new(10, 512, 384, 1609545600000);
62 assert!(t1 < t2);
63 }
64}