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. pxCore is a C++ graphics library that is used on a wide variety of embedded devices that the client distributes. pxscene is a wrapper application around pxCore that exposes the drawing APIs to Javascript through Node and V8.
The client is concerned that Node and V8 are too "heavy" for their low-powered embedded devices. They would like to investigate other wrappers to pxCore that still expose Javascript but are lighter-weight than what Node currently is.
Note that this requirement is encapsulated in this ticket, and comprises the bulk of the challenge: https://github.com/topcoderinc/pxCore/issues/81
Existing code
Pxscene is a platform independent drawing platform / app 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:
Build instructions can be found here: https://github.com/pxscene/pxCore/blob/master/examples/pxScene2d/README.md
Step-by-step instructions to build the existing duktape integration on Ubuntu 16.04 can be found here:
https://github.com/topcoderinc/pxCore/blob/duktape_proof_of_concept/step-by-step-duktape-linux-build.md���
For this challenge, we will target the duktape_proof_of_concept branch of pxCore here:
https://github.com/topcoderinc/pxCore/tree/duktape_proof_of_concept���
For this challenge, please submit:
1. Patch files against the fork in Github (commit hash 613c2b771bc192540514b2362bb976834d1f9eca or later) that can run the existing / modified browser.js new examples
2. A video showing the examples being tested in pxscene with the duktape integration
3. An updated README that covers how to build both the duktape engine and the node engine.
The client is concerned that Node and V8 are too "heavy" for their low-powered embedded devices. They would like to investigate other wrappers to pxCore that still expose Javascript but are lighter-weight than what Node currently is.
Requirements
We have recently done work to support duktape as a Javascript engine for pxScene. This work has shown it is a viable option, and the client would like to formalise the proof of concept into their codebase, ensuring that we can build either the Node version or the duktape version of the app at compile time.Note that this requirement is encapsulated in this ticket, and comprises the bulk of the challenge: https://github.com/topcoderinc/pxCore/issues/81
Existing code
The existing code can be found in Github here: https://github.com/topcoderinc/pxCore/tree/duktape_proof_of_concept
Make sure you use the duktape_proof_of_concept branch.
Requirements
These Github tickets comprise the requirements:https://github.com/topcoderinc/pxCore/issues/81
https://github.com/topcoderinc/pxCore/issues/74
https://github.com/topcoderinc/pxCore/issues/76
https://github.com/topcoderinc/pxCore/issues/77
https://github.com/topcoderinc/pxCore/issues/78
https://github.com/topcoderinc/pxCore/issues/79
https://github.com/topcoderinc/pxCore/issues/80
https://github.com/topcoderinc/pxCore/issues/82
https://github.com/topcoderinc/pxCore/issues/83
Pxscene
Pxscene is a platform independent drawing platform / app 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:
Build instructions can be found here: https://github.com/pxscene/pxCore/blob/master/examples/pxScene2d/README.md
Step-by-step instructions to build the existing duktape integration on Ubuntu 16.04 can be found here:
https://github.com/topcoderinc/pxCore/blob/duktape_proof_of_concept/step-by-step-duktape-linux-build.md���
Branch
For this challenge, we will target the duktape_proof_of_concept branch of pxCore here:
https://github.com/topcoderinc/pxCore/tree/duktape_proof_of_concept���
Code structure:
Note that your 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. *This is important to the client, so please ensure that your formatting is consistent.*Submission
For this challenge, please submit:
1. Patch files against the fork in Github (commit hash 613c2b771bc192540514b2362bb976834d1f9eca or later) that can run the existing / modified browser.js new examples
2. A video showing the examples being tested in pxscene with the duktape integration
3. An updated README that covers how to build both the duktape engine and the node engine.