Challenge Overview
For the Hercules client, we are going to be doing some work that involves a couple of their drawing technologies, name "pxCore" and "pxScene". The links below offer a lot more details on these particular technologies. pxscene is a graphics drawing library that has Javascript hooks exposed thorugh Node.js and v8. This challenge will look at a couple of existing demos that were restricted due to limitations in pxCore and will expand pxCore to support better text drawing abilities to enable better demos for pixi.js, as well as cleanup some existing bugs.
Pxscene
Pxscene is a platform independent drawing platform that will be used on a wide variety of embedded devices for the Hercules client. You can find more information here, and you can download the app to be used for testing: http://www.pxscene.org/
The code for pxCore / pxscene is available in Github here: https://github.com/topcoderinc/pxCore. Note: For this challenge, we will target the "_topcoder_graphics_and_text_updates" branch.
Code quality
Code quality is especially important. Past submissions haven't followed through on keep up with the code formatting and quality of the existing code, so that's something we want to focus on for this challenge. There are a couple lists of things that need to be addressed, and it's expected that the code quality will be a major requirement for reviewers to focus on.
Pixi.js
Pixi.js is a Javascript graphics library that has a lot of nice features and the ability to target either WebGL or Canvas2D. We've used it extensively for a project for the client here that may eventually be ported to work on pxscene.
Branch
For this challenge, we will target the "_topcoder_graphics_and_text_updates" branch of the pxCore fork linked above and commit hash 942a6ac6de0839c75cd80bee9842b0e1b400e986
Issues
These Github issues comprise the requirements for this challenge:
* https://github.com/topcoderinc/pxCore/issues/10 (more updates needed)
* https://github.com/topcoderinc/pxCore/issues/17 (more fixes needed)
* https://github.com/topcoderinc/pxCore/issues/27
* https://github.com/topcoderinc/pxCore/issues/28
* https://github.com/topcoderinc/pxCore/issues/29
* https://github.com/topcoderinc/pxCore/issues/30
* https://github.com/topcoderinc/pxCore/issues/31
* https://github.com/topcoderinc/pxCore/issues/33
* https://github.com/topcoderinc/pxCore/issues/34
Pxcore code:
Note that your pxCore changes should follow all code structure, naming, commenting, and code practices already seen in pxCore. Your code should be indistinguishable from the existing pxCore code and should be flexible and well encapsulated.
Codebase
A previous codebase is available in Git already. This challenge will provide Git patch files for the pixi.js and examples repositories to implement the requirements below. You should also provide a git patch against a the mentioned commit hash of pxCore / _topcoder_graphics_and_text_updates that implements the functionality needed above.
Existing code
The existing pixi.js code that targets pxscene can be found publicly in Github:
* https://github.com/topcoderinc/pxPixi
* https://github.com/topcoderinc/pxPixi-examples
Submission
For this challenge, please submit:
1. Patch files against the pxPixi and pxPixi-examples code in Github
2. Patch file against the commit of pxCore in Github that fixes the bugs mentioned above
2. Any updates needed to the examples (alpha-mask.js, etc...)
3. A video showing the examples being tested in pxscene
4. A README documenting any setup that needs to be done, and any limitations that your ran into while investigating. Make sure to indicate commit hashes in your documentation that can be used to apply the patch files
5. Deployment instructions for putting the examples on Heroku
Links
* Pixi.js
* Pxscene
* http://johnrobinsn.github.io/pxScene2d/docs/