condor-for-games 0.4.0

Rust pathfinding library for grids, polygonal scenes, navmeshes, and replanning.
Documentation
//! Algorithm taxonomy re-exported from owner crates, grouped by search contract.
//!
//! # Facade role
//!
//! Implementations live in owner crates (`condor-pathfinding-grid`,
//! `condor-pathfinding-navmesh`). This module is a **documentation and path
//! taxonomy** on the public facade: feature-gated re-exports only, no local
//! solver bodies. Prefer crate-root imports for application code; use this
//! module when browsing rustdoc by lane.
//!
//! # Choose a lane
//!
//! - **Static grid** ([`crate::Pathfinder`]): [`astar`],
//!   [`dijkstra`], [`bfs`],
//!   [`bidirectional_bfs`],
//!   [`jump_point_search`],
//!   [`rectangular_symmetry_reduction`];
//!   shared cardinal-JPS helpers in [`jps_cardinal`]
//! - **Any-angle** ([`crate::AnyAnglePathfinder`]):
//!   [`theta_star`], [`lazy_theta_star`],
//!   [`anya`]
//! - **Navmesh** ([`crate::NavmeshPathfinder`]): [`channel_search`],
//!   [`ta_star`]; prepared [`tra_star`] builders
//! - **Preprocessed grid**: [`hpastar`], [`subgoal_graph`], [`jps_plus`]
//! - **Dynamic replanning** ([`crate::GridReplanner`]):
//!   [`lifelong_planning_astar`],
//!   [`d_star_lite`]
//! - **Interpolated replanning** ([`crate::InterpolatedGridReplanner`]):
//!   [`field_d_star`]
//!
//! # Cost model
//!
//! Per-cell `traversal_cost` applies to grid [`crate::Pathfinder`] solvers except
//! [`bfs`] and [`bidirectional_bfs`], which count
//! unit hops. [`hpastar`] rejects non-uniform weights at preprocess.
//! JPS and RSR sum `traversal_cost` along cardinal segments but prune with Manhattan geometry.
//! Any-angle and navmesh lanes use Euclidean segment length.
//!
//! # Consumer imports
//!
//! Endorsed solvers are re-exported at the crate root, for example
//! `use condor::{AStar, Grid, Pathfinder};`. [`crate::SolverPortfolio`] maps
//! problem models to the current recommended public entrypoints.

#[cfg(feature = "navmesh")]
pub use condor_navmesh::algorithms::channel_search;
#[cfg(feature = "navmesh")]
pub use condor_navmesh::algorithms::ta_star;
#[cfg(feature = "navmesh")]
pub use condor_navmesh::algorithms::tra_star;

#[cfg(feature = "grid")]
pub use condor_grid::algorithms::anya;
#[cfg(feature = "grid")]
pub use condor_grid::algorithms::astar;
#[cfg(feature = "grid")]
pub use condor_grid::algorithms::bfs;
#[cfg(feature = "grid")]
pub use condor_grid::algorithms::bidirectional_bfs;
#[cfg(feature = "grid")]
pub use condor_grid::algorithms::d_star_lite;
#[cfg(feature = "grid")]
pub use condor_grid::algorithms::dijkstra;
#[cfg(feature = "grid")]
pub use condor_grid::algorithms::field_d_star;
#[cfg(feature = "grid")]
pub use condor_grid::algorithms::hpa_star as hpastar;
#[cfg(feature = "grid")]
pub use condor_grid::algorithms::jps_cardinal;
#[cfg(feature = "grid")]
pub use condor_grid::algorithms::jps_plus;
#[cfg(feature = "grid")]
pub use condor_grid::algorithms::jump_point_search;
#[cfg(feature = "grid")]
pub use condor_grid::algorithms::lazy_theta_star;
#[cfg(feature = "grid")]
pub use condor_grid::algorithms::lifelong_planning_astar;
#[cfg(feature = "grid")]
pub use condor_grid::algorithms::rectangular_symmetry_reduction;
#[cfg(feature = "grid")]
pub use condor_grid::algorithms::subgoal_graph;
#[cfg(feature = "grid")]
pub use condor_grid::algorithms::theta_star;