{"id":20944368,"url":"https://github.com/amoshnin/r-pathfinding.algorithms.visualizer","last_synced_at":"2025-03-13T04:16:25.751Z","repository":{"id":106313641,"uuid":"400731243","full_name":"amoshnin/R-Pathfinding.Algorithms.Visualizer","owner":"amoshnin","description":"⚡️ Visualization tool for various pathfinding and recursive division maze-generation algorithms. List: (A* Search, Depth-First Search, Breadth-First Search, Greedy Best-First Search)","archived":false,"fork":false,"pushed_at":"2021-10-23T09:03:23.000Z","size":4140,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-19T21:37:22.171Z","etag":null,"topics":["algorithm","computer-science","pathfinding-algorithm","pathfinding-visualizer","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/amoshnin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2021-08-28T07:30:20.000Z","updated_at":"2021-11-24T16:45:17.000Z","dependencies_parsed_at":"2023-09-25T20:10:19.197Z","dependency_job_id":null,"html_url":"https://github.com/amoshnin/R-Pathfinding.Algorithms.Visualizer","commit_stats":null,"previous_names":["amoshnin/r-pathfinding.algorithms.visualizer"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amoshnin%2FR-Pathfinding.Algorithms.Visualizer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amoshnin%2FR-Pathfinding.Algorithms.Visualizer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amoshnin%2FR-Pathfinding.Algorithms.Visualizer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/amoshnin%2FR-Pathfinding.Algorithms.Visualizer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/amoshnin","download_url":"https://codeload.github.com/amoshnin/R-Pathfinding.Algorithms.Visualizer/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243335417,"owners_count":20274904,"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":["algorithm","computer-science","pathfinding-algorithm","pathfinding-visualizer","typescript"],"created_at":"2024-11-18T23:40:42.310Z","updated_at":"2025-03-13T04:16:25.727Z","avatar_url":"https://github.com/amoshnin.png","language":"TypeScript","readme":"\u003ch1 align=\"center\"\u003ePath Finding Visualizer\u003c/h1\u003e\n\n- Live at - [Link](https://artem711.github.io/R-Pathfinding.Algorithms.Visualizer/)\n- This project is live visualiztion of the famous path finding algorithms. Built using TypeScript, React.\n- Inspiration is taken from [Clement Mihailescu](https://github.com/clementmihailescu)\n\u003cbr/\u003e\n\n\u003ch2 align=\"center\"\u003eAlgorithms Included\u003c/h2\u003e\n\u003cli\u003eA\\* Search\u003c/li\u003e\n\u003cli\u003eDepth-First Search\u003c/li\u003e\n\u003cli\u003eBreadth-First Search\u003c/li\u003e\n\u003cli\u003eGreedy Best-First Search\u003c/li\u003e\n\n\u003ch2 align=\"center\"\u003eFeatures\u003c/h2\u003e\n\n## Concepts\n\nEach grid item represents a node in a implicit graph.\n\n- Each triangle is adjacent to other 3 triangles.\n- Each square is adjacent to other 4 squares.\n\n## Features\n\n- [x] 2D grid types\n\n  - [x] Triangle Grid\n  - [x] Square Grid\n  - [ ] Hexagon Grid\n\n- [x] Search algorithms\n\n  - [x] A\\* Search\n  - [x] Depth-First Search\n  - [x] Breadth-First Search\n  - [x] Greedy Best-First Search\n  - [ ] Dijktra's Algorithm\n  - [ ] xxx\n\n- [x] Pattern generation algorithms\n\n  - [x] Perfect mazes (Recursive backtracking)\n  - [x] Basic random\n\n- [x] View, pause or continue the visualization\n- [x] Immediate response to delay change during visualization\n- [x] Draw your own wall nodes with mouse\n- [x] Persist form inputs on local storage\n- [ ] Drag and drop the source and target nodes\n- [ ] Folding animation on changing the node state\n\n## Usage instructions\n\n### Selecting an Algorithm and Running the Visualizer\n\nThe Algorithms dropdown menu in the navbar allows you to choose a path algorithm.\nThe green node in the graph represents the algorithm's starting node, while the red node represents the algorithm's ending node.\nBy clicking and dragging the starting and ending nodes, you can change their positions.\nUntil the \"Clear Board\" button is pressed, any changes to the starting and ending node's placements will remain in effect.\nAfter you've chosen an algorithm, use the \"Visualize It!\" button to see it in action. As a result, the color of nodes on the graph\nwill change in the order in which they are visited. When you approach the final node, the shortest path will be highlighted in yellow.\nFor the most part, buttons will be disabled during the animation process.\n\n### Weighted Graphs and Non-Weighted Graphs\n\nFor algorithms designed for weighted graphs, the app will produce edge weights automatically.\nThese edge weights are displayed in the center of each node and represent the distance to that node from its neighbors.\nNeighbors in this app are nodes that are directly adjacent to the current node in the four main directions: up, down, left, and right.\nIf these weights aren't required by the algorithm, none will be generated, and a \"0\" will be displayed.\n\n### Building Walls\n\nTo remove some nodes from the graph, you can construct walls.\nSimply click on a node in the graph, and it will turn black, indicating that it has become a wall.\nYou may make larger barriers by clicking, holding, and dragging your mouse.\nExisting walls can be turned back into normal nodes by clicking or dragging your cursor over them.\nAny barriers erected will stand the test of time, regardless of algorithm updates, weight adjustments, or visuals.\nYou must use the \"Clear Board\" option to eliminate walls.\n\n### Generating Mazes\n\nPerfect mazes (recursive backtracking) and basic random are the two maze algorithms currently in use.\nFor each node, the random walls technique generates a random number in the range [0, 1].\nThe node is turned into a wall based on this number.\n\n### Changing Speed\n\nThis setting adjusts the animation speed of the app.\nThere are three settings: \"Slow\", \"Average\", and \"Fast.\"\nThe default setting is \"Fast.\"\n\n\u003cbr\u003e\n\n## Installation guide\n\nIn the root directory, you can run:\n\n```bash\n# To install all dependencies of the project.\n\u003e yarn install\n\u003e npm install\n\n# To run the app on http://localhost:3000.\n\u003e yarn start\n\u003e npm run start\n\n# To run the unit tests\n\u003e yarn test:unit\n\u003e npm run test:unit\n\n# To build the bundled app for production on the `build` folder.\n\u003e yarn build\n\u003e npm run build\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famoshnin%2Fr-pathfinding.algorithms.visualizer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Famoshnin%2Fr-pathfinding.algorithms.visualizer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Famoshnin%2Fr-pathfinding.algorithms.visualizer/lists"}