awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
qiao avatar

qiao/PathFinding.js

0
View on GitHub↗
8,701 estrellas·1,361 forks·JavaScript·3 vistasqiao.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.

Historial de estrellas

Gráfico del historial de estrellas de qiao/pathfinding.jsGráfico del historial de estrellas de qiao/pathfinding.js

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Preguntas frecuentes

¿Qué hace qiao/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.

¿Cuáles son las características principales de qiao/pathfinding.js?

Las características principales de qiao/pathfinding.js son: Grid Pathfinding, Jump Point Search Pathfinding, Obstacle Definitions, Grid-Based State Representations, Pathfinding Algorithm Selection, Dijkstra Implementations, Diagonal Movement Rules, Grid Obstacle Definitions.

¿Qué alternativas de código abierto existen para qiao/pathfinding.js?

Las alternativas de código abierto para qiao/pathfinding.js incluyen: 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…

Alternativas open-source a PathFinding.js

Proyectos open-source similares, clasificados según cuántas características comparten con PathFinding.js.
  • zhm-real/pathplanningAvatar de zhm-real

    zhm-real/PathPlanning

    9,294Ver en 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
    Ver en GitHub↗9,294
  • shomali11/go-interviewAvatar de shomali11

    shomali11/go-interview

    4,691Ver en 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
    Ver en GitHub↗4,691
  • albertlauncher/albertAvatar de albertlauncher

    albertlauncher/albert

    7,945Ver en 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
    Ver en GitHub↗7,945
  • ckeditor/ckeditor4Avatar de ckeditor

    ckeditor/ckeditor4

    5,817Ver en 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
    Ver en GitHub↗5,817
Ver las 30 alternativas a PathFinding.js→