1#![forbid(unsafe_code)]
2pub use condor_core::{BudgetExhausted, BudgetWatch, SearchBudget};
105
106#[cfg(any(feature = "grid", feature = "navmesh"))]
108pub mod algorithms;
109#[cfg(feature = "grid")]
111pub mod any_angle;
112#[cfg(feature = "polygonal")]
114pub use condor_geometry::continuous;
115#[cfg(feature = "polygonal")]
117pub mod error;
118#[cfg(feature = "grid")]
120pub use condor_grid::flow_field;
121#[cfg(feature = "grid")]
123pub use condor_grid::grid;
124#[cfg(feature = "grid")]
126pub use condor_grid::hierarchical;
127#[cfg(feature = "grid")]
129pub mod mapf;
130#[cfg(feature = "navmesh")]
132pub mod navmesh;
133#[cfg(feature = "grid")]
135pub use condor_grid::path;
136#[cfg(feature = "grid")]
138pub use condor_grid::point;
139#[cfg(feature = "polyanya")]
141pub mod polyanya;
142#[cfg(feature = "polygonal")]
144pub mod polygonal;
145#[cfg(feature = "grid")]
147pub use condor_grid::prepared_any_angle;
148#[cfg(feature = "grid")]
150pub use condor_grid::preprocessed_grid;
151#[cfg(feature = "grid")]
153pub mod replanning;
154#[cfg(feature = "polygonal")]
156pub use condor_geometry::shortest_path_map;
157#[cfg(feature = "grid")]
159pub use condor_grid::search;
160pub mod solver_portfolio;
162#[cfg(feature = "polygonal")]
164pub use condor_geometry::topological_fracture_search;
165#[cfg(feature = "polygonal")]
167pub use condor_geometry::visibility_graph;
168
169#[cfg(feature = "grid")]
170pub use algorithms::anya::{Anya, AnyaDiagnostics, AnyaInspection};
171#[cfg(feature = "grid")]
172pub use algorithms::astar::AStar;
173#[cfg(feature = "grid")]
174pub use algorithms::bfs::Bfs;
175#[cfg(feature = "grid")]
176pub use algorithms::bidirectional_bfs::BidirectionalBfs;
177#[cfg(feature = "navmesh")]
178pub use algorithms::channel_search::ChannelSearch;
179#[cfg(feature = "grid")]
180pub use algorithms::d_star_lite::DStarLite;
181#[cfg(feature = "grid")]
182pub use algorithms::dijkstra::Dijkstra;
183#[cfg(feature = "grid")]
184pub use algorithms::field_d_star::FieldDStar;
185#[cfg(feature = "grid")]
186pub use algorithms::hpastar::{HPAStarBuilder, PreparedHPAStar};
187#[cfg(feature = "grid")]
188pub use algorithms::jps_plus::{JpsPlusBuilder, PreparedJpsPlus};
189#[cfg(feature = "grid")]
190pub use algorithms::jump_point_search::JumpPointSearch;
191#[cfg(feature = "grid")]
192pub use algorithms::lazy_theta_star::LazyThetaStar;
193#[cfg(feature = "grid")]
194pub use algorithms::lifelong_planning_astar::LifelongPlanningAStar;
195#[cfg(feature = "grid")]
196pub use algorithms::rectangular_symmetry_reduction::RectangularSymmetryReduction;
197#[cfg(feature = "grid")]
198pub use algorithms::subgoal_graph::{PreparedSubgoalGraph, SubgoalGraphBuilder};
199#[cfg(feature = "navmesh")]
200pub use algorithms::ta_star::TAStar;
201#[cfg(feature = "grid")]
202pub use algorithms::theta_star::ThetaStar;
203#[cfg(feature = "navmesh")]
204pub use algorithms::tra_star::{
205 PreparedTRAStar, PreparedTRAStarPortalTransitionCache,
206 PreparedTRAStarWaypointDatabaseAdaptiveLru, PreparedTRAStarWaypointDatabaseCostAwareEviction,
207 PreparedTRAStarWaypointDatabaseFixedAdmissionThreshold,
208 PreparedTRAStarWaypointDatabaseFixedDemotionRule,
209 PreparedTRAStarWaypointDatabaseFixedPromotionRule, PreparedTRAStarWaypointDatabaseLazyQuery,
210 PreparedTRAStarWaypointDatabasePolicyProfile, PreparedTRAStarWaypointDatabaseStatic,
211 PreparedTRAStarWaypointDatabaseTwoTierLru, TRAStarBuilder, TRAStarPortalTransitionCacheBuilder,
212 TRAStarWaypointDatabaseAdaptiveLruBuilder, TRAStarWaypointDatabaseCostAwareEvictionBuilder,
213 TRAStarWaypointDatabaseFixedAdmissionThresholdBuilder,
214 TRAStarWaypointDatabaseFixedDemotionRuleBuilder,
215 TRAStarWaypointDatabaseFixedPromotionRuleBuilder, TRAStarWaypointDatabaseLazyQueryBuilder,
216 TRAStarWaypointDatabasePolicyProfile, TRAStarWaypointDatabasePolicyProfileBuilder,
217 TRAStarWaypointDatabaseStaticBuilder, TRAStarWaypointDatabaseTwoTierLruBuilder,
218};
219#[cfg(feature = "grid")]
220pub use any_angle::{
221 AnyAnglePath, AnyAnglePathBuildError, AnyAnglePathfinder, AnyAngleSearchError,
222 AnyAngleSearchRequest, AnyAngleSearchResult, AnyAngleSearchStats,
223};
224#[cfg(feature = "grid")]
225pub use condor_grid::flow_field::{
226 FlowDirection, FlowFieldBuildError, FlowFieldBuilder, PreparedFlowField,
227};
228#[cfg(feature = "grid")]
229pub use condor_grid::mapf::*;
230#[cfg(feature = "grid")]
231pub use condor_grid::replanning::*;
232#[cfg(feature = "polygonal")]
233pub use continuous::{
234 PolygonPath, PolygonPathBuildError, PolygonPathfinder, PolygonSearchError, PolygonSearchResult,
235 PolygonSearchStats,
236};
237#[cfg(feature = "polygonal")]
238pub use error::{
239 ArtifactContractError, ArtifactContractKind, ArtifactContractLocation, ArtifactDataError,
240 ArtifactLoadError,
241};
242#[cfg(feature = "grid")]
243pub use grid::{Cell, Grid, GridBuildError, GridBuilder, GridEditError, GridStorage};
244#[cfg(feature = "grid")]
245pub use hierarchical::{
246 HierarchicalGridBuildError, HierarchicalGridBuilder, PreparedHierarchicalGrid,
247};
248#[cfg(feature = "navmesh")]
249pub use navmesh::{
250 DynamicNavmeshPortalKey, DynamicNavmeshState, DynamicNavmeshUpdate,
251 DynamicPreparedNavmeshQuery, DynamicPreparedNavmeshQueryMetadata,
252 DynamicPreparedNavmeshQueryResult, DynamicPreparedNavmeshRebuildStatus, Navmesh, NavmeshCell,
253 NavmeshPath, NavmeshPathfinder, NavmeshPortal, NavmeshQuery, NavmeshQueryResult,
254 NavmeshSearchError, NavmeshSearchResult, NavmeshSearchStats, PreparedNavmesh,
255 PreparedNavmeshBuildError, PreparedNavmeshBuilder, StaticPreparedNavmesh,
256 StaticPreparedNavmeshBuilder,
257};
258#[cfg(feature = "grid")]
259pub use path::{Path, PathBuildError};
260#[cfg(feature = "grid")]
261pub use point::Point;
262#[cfg(feature = "polyanya")]
263pub use polyanya::Polyanya;
264#[cfg(feature = "polygonal")]
265pub use polygonal::{
266 NoPathProof, Point2, Polygon, PolygonEndpoint, PolygonScene, PolygonScenePack,
267 PolygonScenePackKind, PolygonSearchRequest, PolygonValidationError, SeparationAxis,
268 WorldBounds, load_polygon_scene_pack, load_polygon_scene_stress_pack,
269};
270#[cfg(feature = "grid")]
271pub use prepared_any_angle::{
272 PREPARED_ANY_ANGLE_CSR_U32_INDEX_LIMIT, PREPARED_ANY_ANGLE_DEFAULT_BENCHMARK_NODE_BUDGET,
273 PREPARED_ANY_ANGLE_DIRECTED_EDGE_BUDGET, PREPARED_ANY_ANGLE_NODE_BUDGET,
274 PREPARED_ANY_ANGLE_RETAINED_BYTES_BUDGET, PreparedAnyAngleBenchmarkAdmission,
275 PreparedAnyAngleBuildDiagnostics, PreparedAnyAngleGrid, PreparedAnyAngleGridBuildError,
276 PreparedAnyAngleGridBuilder, PreparedAnyAngleQueryDiagnostics,
277};
278#[cfg(feature = "grid")]
279pub use preprocessed_grid::{
280 PreparedGridSearch, PreprocessedGridBuildError, PreprocessedGridBuilder,
281 PreprocessedGridMetadata, StaticPreparedGrid, StaticPreparedGridBuilder,
282};
283#[cfg(feature = "grid")]
284pub use search::{
285 GridSearchError, Pathfinder, SearchOutcome, SearchPathCost, SearchRequest, SearchResult,
286 SearchStats, SearchVisitStats,
287};
288#[cfg(feature = "polygonal")]
290pub use shortest_path_map::{
291 ContinuousShortestPathMap, PolygonShortestPathMap, PolygonShortestPathMapBuildError,
292 PolygonShortestPathMapBuilder, PreparedContinuousShortestPathMap,
293};
294#[doc(inline)]
295pub use solver_portfolio::{
296 SolverPortfolio, SolverPortfolioRecommendation, SolverRecommendationStatus, SolverSurface,
297 SolverUseCase,
298};
299#[cfg(feature = "polygonal")]
300pub use topological_fracture_search::{TfsDiagnostics, TfsInspection, TopologicalFractureSearch};
301#[cfg(feature = "polygonal")]
302pub use visibility_graph::VisibilityGraph;