HTML 5 based Scratch project player
Find a file
2014-04-09 01:18:14 -07:00
img updates to add "ask" functionality 2014-03-08 00:46:59 -07:00
js Minor formatting and type casting adjustment to make codebase internally consistent 2014-04-09 01:17:50 -07:00
soundbank Initial commit. 2013-10-28 20:00:20 +00:00
test Tests should follow existing style conventions 2014-04-09 01:18:14 -07:00
.gitignore updates to add "ask" functionality 2014-03-08 00:46:59 -07:00
.jscsrc Add governance testing based on JSCS and consolidate test suite to makefile. Resolves GH-57 2014-04-09 01:17:04 -07:00
compare.css Updated theme to be more like the Flash player 2013-11-14 20:12:42 -05:00
compare.html updates to elevate my code to scratch standards 2014-03-10 21:04:56 -06:00
CONTRIBUTORS Only fair for me to add this. ;) 2013-10-30 15:59:54 +02:00
COPYING Initial commit. 2013-10-28 20:00:20 +00:00
copyright.txt Initial commit. 2013-10-28 20:00:20 +00:00
index.css Updated theme to be more like the Flash player 2013-11-14 20:12:42 -05:00
index.html bringing the Scratch html5 project under test 2014-03-07 10:47:06 -07:00
makefile Add governance testing based on JSCS and consolidate test suite to makefile. Resolves GH-57 2014-04-09 01:17:04 -07:00
package.json Add governance testing based on JSCS and consolidate test suite to makefile. Resolves GH-57 2014-04-09 01:17:04 -07:00
player.css updates to add "ask" functionality 2014-03-08 00:46:59 -07:00
proxy.php Initial commit. 2013-10-28 20:00:20 +00:00
README.md updates to elevate my code to scratch standards 2014-03-10 21:04:56 -06:00
TESTING.md Move instructions to a separate file 2013-10-30 22:45:50 +00:00
todo.txt some final touches to the doAsk/answer project 2014-03-10 10:16:31 -06:00
TRADEMARK_POLICY Add Scratch 2 characters. 2013-11-15 21:38:35 +00:00

Scratch HTML5 Player

This project aims to create a Scratch Player in HTML5. Scratch is currently implemented with Actionscript 3 and requires the Flash Player version 10.2. Since Flash does not run on iOS (iPads, iPods, etc) and newer Android devices, we would like to have an HTML5 version to display (but not edit) projects on mobile devices. Scratch projects played in the HTML5 player should look and behave as closely as possible to the way they look and behave when played by the Flash player. We will not be accepting pull requests for new features that don't already exist in the Flash based Scratch project player.

There are a few github issues created that represent some of the missing features. At this point, the HTML5 player is about 40% complete and can run some simple projects.

Unimplementable Features on iOS: Image effects for whirl, fisheye, mosaic, and pixelate. Sound and video input for loudness, video motion, and touching colors from the video.

More documentation will be added as time permits. Thanks for contributing, and Scratch On!

Contributions

Thank you for your interest in helping out with the Scratch HTML5 Player. @sclements is the maintainer of the project and reviews all code before pull requests are approved. Though we appreciate all attempts to contribute, there are some contraints that must be met before pull requests can be approved. Here are our top concerns for contributions: matching the behavior and interface of the Flash player, code cleanliness and organization, and robust well tested logic. CSS goes into player.css (not in the html or javascript). Please use compare.html to compare your work with the production Flash player.

Installation

Running the HTML5 player on your own website, or locally, you will need to have PHP so that the proxy.php file can be used to load assets from the same domain. This is done to be compatible with Javascript security models in today's browsers. To test the HTML5 player against the Flash player you can use the compare.html web page.

See the file TESTING.md for more details.

Unit Tests

The tests are written using Karma and there should be a 100% passing rate in order to commit any code to the project.

The expectation is to add a unit test for any code that you contribute to the project.

Install Node (NPM) (https://npmjs.org/)

Brew:

$ brew install npm

Mac Ports:

$ port install npm

In your local scratch directory

$ npm install

Local copy of jQuery

$ cd test/lib
$ curl http://code.jquery.com/jquery-1.11.0.min.js > jquery-1.11.0.min.js

To Run the tests

$ ./scripts/test.sh

To configure the unit tests

The karam.conf.js file is location in the config directory