skia2/modules/pathkit
Kevin Lubick 157577b866 [canvaskit,pathkit] Update to emsdk 2.0
There was a break that was solved by adding -lGL to our link
steps. I discovered a few extra flags to aid in debugging builds
and I've left those in (they aren't too noisy IMO).

This changes the base dockerfile to use the official emscripten one.

Code size delta for full build is +5 kb

For future reference, emsdk decides which "library JS" files to
pull in using a83ba99d60/tools/building.py (L1553)
Those JS files live in src (e.g. a83ba99d60/src/library_html5_webgl.js (L222))
and define functions that the C++ code can call.

I'd like to follow-up on what -lEGL is doing.

Also, since the new image no longer has depot_tools, we need
to make docker/skia-wasm-release/Dockerfile install it.

Change-Id: I5a38e61e5080e9c4cb1e0a7e031509bcb107ff86
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/311726
Reviewed-by: Nathaniel Nifong <nifong@google.com>
2020-08-20 14:55:50 +00:00
..
npm-asmjs [canvaskit] Update to 0.17.1 2020-07-21 14:48:20 +00:00
npm-wasm [canvaskit] Update to 0.17.1 2020-07-21 14:48:20 +00:00
perf Added CanvasKit.MakeImageFromCanvasImageSource which is useful as an alternative to 2020-06-15 19:35:09 +00:00
tests Upgrade CanvasKit emscripten to version 1.39.16. 2020-05-21 14:18:48 +00:00
.gitignore [PathKit] Move from experimental to modules 2018-08-31 14:18:16 +00:00
chaining.js [canvaskit] Expand canvas2d API 2018-11-20 18:39:43 +00:00
CHANGELOG.md [canvaskit,pathkit] Update to emsdk 2.0 2020-08-20 14:55:50 +00:00
compile.sh ignore SK_DISABLE_READBUFFER 2020-06-09 16:16:57 +00:00
externs.js Add Perf jobs for PathKit 2018-10-12 19:50:04 +00:00
helper.js Add Perf jobs for PathKit 2018-10-12 19:50:04 +00:00
karma.bench.conf.js [canvaskit] Try some things to reduce GPU test flakiness 2019-11-21 20:56:42 +00:00
karma.conf.js [canvaskit] Try some things to reduce GPU test flakiness 2019-11-21 20:56:42 +00:00
Makefile [canvaskit] Update to build with emscripten 1.38.47 2019-10-09 15:08:10 +00:00
package.json Add Correctness tests for CanvasKit 2018-10-16 14:32:28 +00:00
pathkit_wasm_bindings.cpp Revert "Convert pathkit's usage of SkPath::Iter to SkPatPriv::RangeIter" 2020-05-15 21:48:13 +00:00
README.md [PathKit] Remove experimental- from package names 2018-08-31 15:11:04 +00:00
serve.py [PathKit] Move from experimental to modules 2018-08-31 14:18:16 +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 ./compile.sh to compile a production, WASM build to $SKIA_HOME/out/pathkit. Add "--help" for more options.

Deploying to npm

# Build all 3 versions (release, test, debug) for both asmjs and WASM
# These binaries will be placed in the proper places of npm-*/bin
# This takes 5-10 minutes.
make npm

# Update the package.json files of both npm-asmjs and npm-wasm
make update-patch  # or update-minor or update-major

# Publish both repos
make publish