{"id":15023211,"url":"https://github.com/seldom-se/seldom_map_nav","last_synced_at":"2025-04-12T17:06:48.353Z","repository":{"id":61058054,"uuid":"548008693","full_name":"Seldom-SE/seldom_map_nav","owner":"Seldom-SE","description":"Bevy plugin that does navmesh generation, pathfinding, and navigation for tilemaps. Navmesh generation is available without Bevy dependency.","archived":false,"fork":false,"pushed_at":"2024-07-10T00:19:13.000Z","size":70,"stargazers_count":44,"open_issues_count":0,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2024-10-30T05:34:27.254Z","etag":null,"topics":["bevy","bevy-engine","bevy-plugin","navmesh","pathfinding","rust","tilemap"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Seldom-SE.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-08T18:48:58.000Z","updated_at":"2024-10-08T08:56:32.000Z","dependencies_parsed_at":"2023-12-21T05:40:22.143Z","dependency_job_id":"1a513669-7864-48fb-b83e-b2809bbecf11","html_url":"https://github.com/Seldom-SE/seldom_map_nav","commit_stats":{"total_commits":17,"total_committers":3,"mean_commits":5.666666666666667,"dds":0.4117647058823529,"last_synced_commit":"a3450429d67d9885a202324cb9f876dcd9a59215"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seldom-SE%2Fseldom_map_nav","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seldom-SE%2Fseldom_map_nav/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seldom-SE%2Fseldom_map_nav/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Seldom-SE%2Fseldom_map_nav/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Seldom-SE","download_url":"https://codeload.github.com/Seldom-SE/seldom_map_nav/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248602312,"owners_count":21131615,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bevy","bevy-engine","bevy-plugin","navmesh","pathfinding","rust","tilemap"],"created_at":"2024-09-24T19:58:50.411Z","updated_at":"2025-04-12T17:06:48.328Z","avatar_url":"https://github.com/Seldom-SE.png","language":"Rust","readme":"# `seldom_map_nav`\n\n[![Crates.io](https://img.shields.io/crates/v/seldom_map_nav.svg)](https://crates.io/crates/seldom_map_nav)\n[![MIT/Apache 2.0](https://img.shields.io/badge/license-MIT%2FApache-blue.svg)](https://github.com/Seldom-SE/seldom_map_nav#license)\n[![Crates.io](https://img.shields.io/crates/d/seldom_map_nav.svg)](https://crates.io/crates/seldom_map_nav)\n\n`seldom_map_nav` is a Bevy plugin that does navmesh generation, pathfinding, and navigation for\ntilemaps. Navmesh generation is available without Bevy dependency. It is agnostic to the solution\nyou use for your tilemaps, but doesn't require much glue. It is also agnostic to your position type,\nas long as it implements `Position2` (ex. `Transform`). It's compatible with\n[`seldom_state`](https://github.com/Seldom-SE/seldom_state) with the `state` feature.\n\n## Features\n\n- Navmesh generation for finite, square tilemaps\n- Awareness of navigator physical size\n- Bevy plugin for pathfinding and navigation\n- Integration with `seldom_state`\n\n## Future Work\n\nThis crate is currently in maintenance mode, so I'm not currently adding new features.\n\n- [ ] Tiles that can be pathed over in certain situations, such as doors\n- [ ] Tiles that cannot be pathed over, but do not need clearance generated, such as holes\n\nThe generated paths are not always optimal, even with the greatest quality settings,\nbut I do not plan to fix this myself. If possible, I may switch dependencies to improve this,\nthough.\n\n## [`seldom_state`](https://github.com/Seldom-SE/seldom_state) Compatibility\n\nIf the `state` feature is enabled, it will trigger the `DoneTrigger` when it is done navigating (if\nit reaches the destination or cannot find a path).\nAlso, see related example: `cargo run --example state --features=\"state\"`\n\n## Usage\n\nAdd to your `Cargo.toml`\n\n```toml\n# Replace * with your desired version\n[dependencies]\nseldom_map_nav = \"*\"\n```\n\nTo generate navmeshes without Bevy integration, disable the `bevy` feature\nand use `Navmeshes::generate` or `seldom_map_nav::mesh::generate_navmesh`.\nSee the `no_bevy.rs` example.\n\nTo generate paths without using the built-in navigation, add the `MapNavPlugin` to your app,\nadd the `Navmeshes` component to your tilemap (or some other entity), and add\nthe `Pathfind` component to your navigating entity. To use the built-in navigation, also add\nthe `Nav` component to your navigating entity. See the `nav.rs` example. If you are having trouble\ngetting it to generate a path, enable the `log` feature, and it might tell you what's wrong.\n\nIf you need help, feel free to ping me\non [the Bevy Discord server](https://discord.com/invite/bevy) (`@Seldom`)! If any of the docs\nneed improvement, feel free to submit an issue or pr!\n\n## Compatibility\n\n| Bevy | `seldom_state` | `seldom_map_nav` |\n| ---- | -------------- | ---------------- |\n| 0.15 | 0.12           | 0.8              |\n| 0.14 | 0.11           | 0.7              |\n| 0.13 | 0.10           | 0.6              |\n| 0.11 | 0.7            | 0.5              |\n| 0.10 | 0.6            | 0.4              |\n| 0.10 | 0.5            | 0.3              |\n| 0.9  | 0.3            | 0.2              |\n| 0.8  | 0.2            | 0.1              |\n\n## License\n\n`seldom_map_nav` is dual-licensed under MIT and Apache 2.0 at your option.\n\n## Contributing\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion\nin the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above,\nwithout any additional terms or conditions.\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseldom-se%2Fseldom_map_nav","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fseldom-se%2Fseldom_map_nav","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fseldom-se%2Fseldom_map_nav/lists"}