awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
qiao avatar

qiao/PathFinding.js

0
View on GitHub↗
8,701 stars·1,361 forks·JavaScript·32 viewsqiao.github.io/PathFinding.js/visual↗

PathFinding.js

PathFinding.js is a grid-based pathfinding library that implements multiple search algorithms for computing optimal routes on 2D maps. It provides implementations of A*, Dijkstra, Breadth-First Search, and Jump Point Search, each designed to find the shortest path between two points on a grid while avoiding obstacles.

The library is built around a pluggable architecture where each pathfinding strategy shares a common interface, allowing algorithms to be selected at runtime without modifying core logic. It includes a configurable diagonal movement rule engine that controls diagonal traversal based on adjacent obstacle counts, and supports heuristic-driven search to balance optimality and performance. Jump Point Search optimization is available for uniform-cost grids, pruning symmetric paths to reduce node expansions in open areas.

The system represents the search space as a 2D grid of walkable and blocked cells, with support for defining obstacles at individual coordinates or across entire matrices. It offers algorithm selection from multiple strategies, diagonal movement control with configurable rules, movement restriction to cardinal directions only, and grid cloning to preserve original maps after pathfinding operations. Node pooling is used to reuse objects across searches, reducing memory allocation overhead in repeated calls.

Features

  • Grid Pathfinding - A library that computes shortest routes on 2D grids using multiple search algorithms like A* and Dijkstra.
  • Jump Point Search Pathfinding - Accelerates pathfinding on uniform-cost grids by skipping large open areas with Jump Point Search.
  • Obstacle Definitions - Allows marking cells as blocked or walkable to define the navigable space for pathfinding.
  • Grid-Based State Representations - Represents the search space as a 2D grid of walkable and blocked cells for pathfinding.
  • Pathfinding Algorithm Selection - Allows selection from multiple pathfinding strategies including A*, Dijkstra, Breadth-First, and Jump Point Search.
  • Grid Pathfinding - Implements Breadth-First Search for finding shortest paths on unweighted grid maps.
  • Dijkstra Implementations - Implements Dijkstra's algorithm for finding shortest paths on weighted or unweighted grids.
  • Diagonal Movement Rules - Controls diagonal movement based on configurable rules evaluating adjacent obstacle counts.
  • Grid Obstacle Definitions - Provides the core mechanism for defining navigable space by marking grid cells as obstacles.
  • Heuristic Graph Search Algorithms - Uses cost-plus-heuristic evaluation functions to guide node expansion in pathfinding algorithms.
  • Jump Point Search Optimizations - Implements Jump Point Search to prune symmetric paths and reduce node expansions on uniform-cost grids.
  • A-Star Search - Implements the A* search algorithm for finding optimal paths on grid-based maps.
  • Pathfinding Algorithms - Implements Dijkstra's algorithm for finding shortest paths by exploring cells in order of increasing distance.
  • Jump Point Search Pathfinding - Speeds up A* by skipping large open areas on uniform-cost grids using Jump Point Search.
  • Cardinal - Disables diagonal traversal so the pathfinder only moves in cardinal directions on the grid.
  • Plugin-Based Architectures - Implements a pluggable architecture where each pathfinding strategy is a swappable module sharing a common interface.
  • Grid Diagonal Movement Rules - Provides a configurable diagonal movement rule engine that controls traversal based on adjacent obstacle counts.

Star history

Star history chart for qiao/pathfinding.jsStar history chart for qiao/pathfinding.js

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with PathFinding.js

These projects share indexed features with PathFinding.js. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • zhm-real/pathplanningzhm-real avatar

    zhm-real/PathPlanning

    9,294View on GitHub↗

    PathPlanning is a library of animated path planning algorithms that includes implementations of A-star, Dijkstra, RRT, and spline-based trajectory generation for both 2D and 3D environments. The project provides a collection of motion planning algorithms that demonstrate how robots can find collision-free paths through continuous spaces, with each algorithm rendered as a step-by-step visual animation to show how the search or tree grows over time. The library covers three main categories of path planning: sampling-based methods like RRT, RRT-star, and BIT-star that grow trees by randomly samp

    Pythonanytime-dstaranytime-repairing-astarastar
    View on GitHub↗9,294
  • shomali11/go-interviewshomali11 avatar

    shomali11/go-interview

    4,691View on GitHub↗

    This project is a Go algorithm implementation library designed for technical interview preparation. It provides a collection of common data structures and algorithmic solutions to help practice for software engineering coding assessments. The library includes a custom data structure collection featuring linked lists, stacks, queues, trees, and hash maps. It also implements specific algorithmic solutions, such as A* pathfinding for calculating the shortest path between nodes and a real-time stream processor for computing moving averages and running medians from continuous data inputs.

    Goanswergogolang
    View on GitHub↗4,691
  • albertlauncher/albertalbertlauncher avatar

    albertlauncher/albert

    7,945View on GitHub↗

    Albert is a keyboard launcher that opens files, applications, and runs commands by typing search queries into a search bar. It functions as a keyboard-driven workflow tool, enabling users to navigate their file system, launch installed applications, and execute shell commands without touching a mouse. The launcher processes user input through a plugin-based modular architecture, where functionality is extended by dynamically loaded C++ and Python plugins. Queries are dispatched to all enabled handlers in parallel, with results merged and ranked by a combination of match quality and historical

    C++albertalbertlauncherapplication-launcher
    View on GitHub↗7,945
  • ckeditor/ckeditor4ckeditor avatar

    ckeditor/ckeditor4

    5,817View on GitHub↗

    CKEditor 4 is a browser-based WYSIWYG rich text editor that enables users to create and format HTML content directly in the browser. It operates on a plugin-based architecture with a configurable toolbar system, DOM-based content editing, and an event-driven lifecycle, all delivered through a CDN-based distribution model. The editor supports skin-based theming and includes a legacy plugin compatibility layer for backward compatibility. The editor distinguishes itself as a cross-platform framework that integrates natively with Angular, React, Vue, Electron, Android, and iOS environments. It of

    Rich Text Formatckeditorckeditor4contenteditable
    View on GitHub↗5,817
Compare all 30 related projects→

Frequently asked questions

What does qiao/pathfinding.js do?

PathFinding.js is a grid-based pathfinding library that implements multiple search algorithms for computing optimal routes on 2D maps. It provides implementations of A*, Dijkstra, Breadth-First Search, and Jump Point Search, each designed to find the shortest path between two points on a grid while avoiding obstacles.

What are the main features of qiao/pathfinding.js?

The main features of qiao/pathfinding.js are: Grid Pathfinding, Jump Point Search Pathfinding, Obstacle Definitions, Grid-Based State Representations, Pathfinding Algorithm Selection, Dijkstra Implementations, Diagonal Movement Rules, Grid Obstacle Definitions.

Which projects share features with qiao/pathfinding.js?

Projects with overlapping indexed features include: zhm-real/pathplanning — PathPlanning is a library of animated path planning algorithms that includes implementations of A-star, Dijkstra, RRT,… shomali11/go-interview — This project is a Go algorithm implementation library designed for technical interview preparation. It provides a… albertlauncher/albert — Albert is a keyboard launcher that opens files, applications, and runs commands by typing search queries into a search… ckeditor/ckeditor4 — CKEditor 4 is a browser-based WYSIWYG rich text editor that enables users to create and format HTML content directly… 1186258278/openclawchinesetranslation — OpenClawChineseTranslation is a framework for building conversational assistants that functions as a cross-platform… aimacode/aima-python — This project is a Python collection of algorithms and data structures that implement the concepts from the Artificial…