Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Addition of new backend Emscripten pathfinding algorithm and new datastore generation #41

Open
wants to merge 58 commits into
base: master
Choose a base branch
from

Conversation

paill
Copy link

@paill paill commented May 12, 2016

  • Using Emscripten, we wrote a C++ pathfinding algorithm using Dijkstra's that runs much more efficiently than the existing recursive algorithm.
  • For our new algorithm, we use a different datastore object which we have outlined the JSdocs documentation.
  • We've included a new option for the wayfinding plugin so users can stick with the current backend or use the new emscripten backend. The option is emscriptenBackend and is a boolean that is defaulted to true.
  • emscripten.pathfinding.js & priority-queue.min.js are ignored by the linter as they are minified files.
  • priority-queue.min.js was not written by us and is from another repo. The new datastore generation code uses it to find connections.
  • Gruntfile.js has been updated to include new tasks for the Emscripten compilation and for packaging.
  • A Makefile has been included for the Emscripten C++ to JS compilation.
  • We updated the README.md with the steps we took to get everything installed and working. We encountered some issues with installing Node modules that we have made note of in the README along with the solutions we found (if any).

Paul Salessi and others added 30 commits April 21, 2016 15:19
This should hopefully make integrating easier
Plugin now alerts if an error occurs during pathfinding

Next step is updating the path animation
Can't test on CSIF, so pushing to test on VM
…ath issues

Also caused issues with unit testing
karma-phantomjs-launcher needs to be at least version 1.0.0 as there is a bug in PhantomJS that was fixed in version 2. Version 1 of the karma launcher uses version 2 of PhantomJS

Updated README to include note about missing grunt package
TODO: Update documentation for the rest of the code.
Updated Gruntfile to ignore datastore.js & priority-queue.min.js for
jshint
Updated datastore.js to work with camel case names
Added source C++ files for pathfinding.js and a Makefile
Fixed error in pathfinding.cpp that skipped doors
Moved all C++ code (rapidjson included) to src/

dist/ now holds the production ready JS files
…if needed"

This reverts commit 3684d43.

Conflicts:
	Gruntfile.js
@paill
Copy link
Author

paill commented May 12, 2016

@cthielen @mazarf Here is the pull request.

@cthielen
Copy link
Contributor

+1

cthielen and others added 21 commits May 19, 2016 12:19
Addition of new backend Emscripten pathfinding algorithm and new datastore generation
Merge branch 'master' into untested
The linter verifies various portions of any SVGs passed in, to be used with the Wayfinding plugin. Read the README for more information.
Remove an error detected by the linter.
Add SVG linter. Update included test files.
@jraller jraller mentioned this pull request Dec 4, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants