Challenge Overview
The client is currently implemented in Javascript, runs in a web browser, and uses http://www.pixijs.com/ for WebGL and Canvas rendering. The code has gone through many, many iterations over a number of years and we recently brought it up to date with changes to the code structure and packaging.
This challenge will:
* Fix some bugs noted in the last challenge review
* Investigate performance issues and implement profiling tools to help with future performance work
Code
Access to the code will be covered by information in the forum. Note that this challenge will cover the "Refactor" branch in Gitlab. Don't use "master".Bugs
These bugs must be fixed in your submission:
* https://gitlab.com/Hercules-XREReceiver/pixi-xre-receiver/issues/255
* https://gitlab.com/Hercules-XREReceiver/pixi-xre-receiver/issues/256
* https://gitlab.com/Hercules-XREReceiver/pixi-xre-receiver/issues/257
* https://gitlab.com/Hercules-XREReceiver/pixi-xre-receiver/issues/258
* https://gitlab.com/Hercules-XREReceiver/pixi-xre-receiver/issues/259
* https://gitlab.com/Hercules-XREReceiver/pixi-xre-receiver/issues/260
* https://gitlab.com/Hercules-XREReceiver/pixi-xre-receiver/issues/261
* https://gitlab.com/Hercules-XREReceiver/pixi-xre-receiver/issues/262
Latest code:
Please target commit hash b97d3daf643a369bb78a1ddda7a85d2d9b1c31b9 in the "Refactor" branch in Git.
Performance:
For this challenge, we need competitors to document the best way to profile the code, with step by step instructions for hooking up a profiler / debugger to properly capture performance information.
In addition, please document and identify the top 5 areas of CPU usage when running the XRE receiver in pxscene.
Deployment
Currently, the code is just deployed to Heroku by pushing the latest updates from Git. Heroku handles all the webpack and other packaging steps. This needs to remain in place. All configuration is done through environmental variables set on Heroku. Samples will be provided in the forum.
Reviewers should also test the Heroku deploy fully.
Submission
Your submission must include a patch file against the Git repository and the Refactor branch commit hash b97d3daf643a369bb78a1ddda7a85d2d9b1c31b9. Details on getting access to the Git repo can be found in the forum.Your deployment guide must cover how to properly apply the patch.