{"id":32354097,"url":"https://github.com/selimanac/defold-graph-pathfinder","last_synced_at":"2026-04-24T10:04:01.205Z","repository":{"id":320202976,"uuid":"1079420145","full_name":"selimanac/defold-graph-pathfinder","owner":"selimanac","description":"Find your way back home!","archived":false,"fork":false,"pushed_at":"2026-03-15T13:51:04.000Z","size":13561,"stargazers_count":27,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-16T03:06:02.166Z","etag":null,"topics":["astar-algorithm","defold-library","defold-module","pathfinding"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/selimanac.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE.md","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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"github":"selimanac"}},"created_at":"2025-10-19T19:11:52.000Z","updated_at":"2026-03-11T05:42:23.000Z","dependencies_parsed_at":"2026-01-08T15:12:26.190Z","dependency_job_id":null,"html_url":"https://github.com/selimanac/defold-graph-pathfinder","commit_stats":null,"previous_names":["selimanac/defold-graph-pathfinder"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/selimanac/defold-graph-pathfinder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selimanac%2Fdefold-graph-pathfinder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selimanac%2Fdefold-graph-pathfinder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selimanac%2Fdefold-graph-pathfinder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selimanac%2Fdefold-graph-pathfinder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/selimanac","download_url":"https://codeload.github.com/selimanac/defold-graph-pathfinder/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/selimanac%2Fdefold-graph-pathfinder/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32218290,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T09:47:08.147Z","status":"ssl_error","status_checked_at":"2026-04-24T09:46:41.165Z","response_time":64,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["astar-algorithm","defold-library","defold-module","pathfinding"],"created_at":"2025-10-24T10:43:09.077Z","updated_at":"2026-04-24T10:04:01.192Z","avatar_url":"https://github.com/selimanac.png","language":"C++","funding_links":["https://github.com/sponsors/selimanac","https://github.com/sponsors/selimanac)*"],"categories":["Libraries"],"sub_categories":["Programming Language"],"readme":"![Defold Graph Pathfinder](/.github/gp.png?raw=true)\n\n# A* Graph Pathfinding Defold Native Extension\n\nA high-performance A* pathfinding library written in C++11, designed for real-time games and simulations with hundreds to thousands of moving objects. Built with a focus on performance, using flat array data structures and advanced caching mechanisms.\n\n\n\n## Discussions \u0026 Release Notes\n\nhttps://github.com/selimanac/defold-graph-pathfinder/discussions  \n\n## Documentation\n\nFor detailed function descriptions and usage examples:  \n\n- [Path API Reference](./API.md)\n- [Navmesh API Reference](./NAVMESH_API.md)\n\n## Graph Pathfinder Editor\n\nA visual editor for creating and editing navigation graphs for the Defold Graph Pathfinder extension.  \n\nhttps://github.com/selimanac/defold-graph-pathfinder-editor\n\n![Defold Graph Pathfinder](https://raw.githubusercontent.com/selimanac/defold-graph-pathfinder-editor/refs/heads/main/.github/editor.jpg)\n\n## Installation\n\nYou can use this extension in your own project by adding it as a [Defold library dependency](https://defold.com/manuals/libraries/#setting-up-library-dependencies).  \nOpen your `game.project` file, select `Project`, and add a stable version from the [releases](https://github.com/selimanac/defold-graph-pathfinder/releases) page to the `Dependencies` field.\n\n## Examples\n\n- Tiny City: https://github.com/selimanac/defold-tiny-city\n\n## Status\n\nThis library consists of three parts:\n\n### Pathfinder\n\nThe core library. Responsible for managing nodes, edges, and performing pathfinding.\n\n✅ Projected Pathfinding  \n✅ Static Navmesh Pathfinding  \n✅ Min-Heap Priority Queue  \n✅ Path Caching  \n✅ Distance Caching  \n\n\n### Path Smoothing\n\nResponsible for existing path smoothing.  \nCurrently available smoothing options:  \n\n✅ Quadratic Bézier  \n✅ Adaptive Bézier  \n✅ Catmull–Rom  \n✅ Cubic Bézier  \n✅ Circular Arc\n\n### Navigation\n\nResponsible for enabling agents to navigate along the path.\n\n🚧 **Path Following** - WIP  \n🚧 **Dynamic Nodes for Agents**  \n🚧 **Path Invalidation for Agents**  \n🚧 **Group Assignment for Agents**  \n🚧 **Group Formation Patterns**  \n❌ **Collision Avoidance** — Not planned, maybe in the future\n\n\n\n## Supported Platforms\n\n- **Desktop**: Linux (x86_64, arm64), macOS (x86_64, arm64), Windows (x86_64)\n- **Mobile**: iOS (arm64, x86_64), Android (armv7, arm64)\n- **Web**: JavaScript, WebAssembly (via Emscripten)\n\nx86-win32 is not supported.\n\n## Technical Features\n\n- **High Performance**: Optimized for real-time pathfinding with hundreds to thousands of moving objects  \n- **A* Algorithm **: Classic A* with heuristics for optimal and efficient pathfinding  \n- **Flat Array Architecture**: Cache-friendly memory layout using `dmArray\u003cT\u003e` from the Defold SDK  \n- **Path Caching**: LRU cache with version-based invalidation for frequently reused paths  \n- **Projected Pathfinding**: Supports pathfinding from arbitrary positions, not limited to graph nodes  \n- **Spatial Index for Large Graphs**: Grid-based spatial indexing for 10-100× speedup in large graphs (\u003e500 nodes)  \n- **Dynamic Graph Updates**: Add or remove nodes and edges at runtime with automatic cache invalidation  \n- **Min-Heap Priority Queue**: Custom implementation with zero-copy memory pooling and bulk operations  \n- **Distance Caching**: Spatial hashing for fast approximate distance lookups  \n- **No STL Containers**: Uses `dmArray\u003cT\u003e` and `dmHashTable\u003cT\u003e` for all data structures  \n- **Memory Pre-allocation**: All arrays are pre-allocated at initialization; pathfinding uses only pre-allocated memory  \n- **No Exceptions**: Uses explicit error codes instead of C++ exceptions\n\n\n---\n\n\n### License Summary (not legally binding)\n\n- ✅ Free for personal, educational, and **completely free** games or apps.  \n- 💲 Commercial use (any monetized game/app) requires  **at least a one-time payment of $10 USD (monthly sponsorships are also welcome) via [GitHub Sponsors](https://github.com/sponsors/selimanac)**.  \n- 📩 Free releases are welcome to share project info (name, genre, date, links).  \n- 🔒 The Software is **closed-source**; source access may be granted **upon request**.\n\nSo basically, if your released project is completely free and non-monetized, no payment or permission is required.\n\nSee  [License](./LICENSE.md)\n\n---\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fselimanac%2Fdefold-graph-pathfinder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fselimanac%2Fdefold-graph-pathfinder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fselimanac%2Fdefold-graph-pathfinder/lists"}