skia2/experimental/pathkit
Kevin Lubick f14a3c059f [PathKit] Add asm.js build and test jobs
Consolidates the karma files into one for docker/asmjs/wasm and all
combinations.

The asm.js build seems to have some small imprecisions that we didn't
see as much as with WASM, probably due to JS limitations/differences
to c++'s floats.

To address these, I've marked some (5) tests in PathOps* as flaky
because they fail on Release, Debug or Test versions of the asm.js build.

Other then that, asm.js seems basically identical to the WASM.

WASM is much smaller, 416k vs 877k and seems to load faster (not
measured).

Note to reviewers:
example.html was copied from npm-wasm version, so doesn't need
further review.

Bug: skia:8216
Change-Id: Ib92b90fa6c598de85a0be319d46b25693ae5aaa4
Reviewed-on: https://skia-review.googlesource.com/148396
Reviewed-by: Stephan Altmueller <stephana@google.com>
2018-08-22 17:19:10 +00:00
..
npm-asmjs [PathKit] Add asm.js build and test jobs 2018-08-22 17:19:10 +00:00
npm-wasm [PathKit] Add asm.js build and test jobs 2018-08-22 17:19:10 +00:00
tests [PathKit] Add asm.js build and test jobs 2018-08-22 17:19:10 +00:00
.gitignore Productionize PathKit 2018-08-02 16:31:23 +00:00
chaining.js [PathKit] Rework API to avoid extra copies unless explicitly called for. 2018-08-17 18:30:32 +00:00
compile.sh [PathKit] Add asm.js build and test jobs 2018-08-22 17:19:10 +00:00
externs.js [PathKit] Rework API to avoid extra copies unless explicitly called for. 2018-08-17 18:30:32 +00:00
helper.js [PathKit] Add PathOps Op and Simplify tests imported from the C++ tests. 2018-08-09 18:13:48 +00:00
karma.conf.js [PathKit] Add asm.js build and test jobs 2018-08-22 17:19:10 +00:00
Makefile [PathKit] Add asm.js build and test jobs 2018-08-22 17:19:10 +00:00
package.json [PathKit] Add asm.js build and test jobs 2018-08-22 17:19:10 +00:00
pathkit_wasm_bindings.cpp [PathKit] Add more correctness tests to gold 2018-08-18 02:05:10 +00:00
README.md Productionize PathKit 2018-08-02 16:31:23 +00:00
serve.py Productionize PathKit 2018-08-02 16:31:23 +00:00

PathKit WASM API

This library lets you use Skia's feature-rich PathOps API in the browser.

Compiling the source

Download the Enscriptem SDK.

Set the EMSDK environment variable to the directory you installed it to.

Run ./experimental/pathkit/compile.sh to compile a production, WASM build to $SKIA_HOME/out/pathkit. Add "--help" for more options.