skia2/modules/pathkit
Kevin Lubick d1285b131b Upgrade CanvasKit emscripten to version 1.39.16.
Changes are largely mechanical.  Non-mechanical changes to support newer
versions of emscripten are enumerated below, in format ${EMSCRIPTEN_VERSION}:
${RELEVANT_CHANGE}.

- 1.39.9: TOTAL_MEMORY has been renamed INITIAL_MEMORY.
- 1.39.12: passing of linker flags to wasm-ld has changed in a way that requires
  supplying `--no-entry` to avoid error message "wasm-ld: error: entry symbol
  not defined (pass --no-entry to suppress): main".
- 1.39.16: The factory function created by using `MODULARIZE` build option now
  returns a Promise instead of the module instance.  As such, the ready.js
  workaround is removed.  Note this is a breaking API change for CanvasKit,
  which now uses just `then()` and not `ready().then()`.
- 1.38.33: `emsdk install` hasn't required the `-64bit` suffix on version names
  since `1.38.33`, so we remove them.  E.g. `emsdk install sdk-1.39.6-64bit`
  simply becomes `emsdk install sdk-1.39.16`.

cf. https://github.com/emscripten-core/emscripten/blob/master/ChangeLog.md

Bug: NONE
Change-Id: Iabec4bd5ad7db2e0715ad42c2e4cf7d67b192b4c
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/291182
Reviewed-by: Kevin Lubick <kjlubick@google.com>
2020-05-21 14:18:48 +00:00
..
npm-asmjs Upgrade CanvasKit emscripten to version 1.39.16. 2020-05-21 14:18:48 +00:00
npm-wasm Upgrade CanvasKit emscripten to version 1.39.16. 2020-05-21 14:18:48 +00:00
perf [canvaskit] Roll chrome version for testing 2019-10-18 17:37:52 +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 Upgrade CanvasKit emscripten to version 1.39.16. 2020-05-21 14:18:48 +00:00
compile.sh Upgrade CanvasKit emscripten to version 1.39.16. 2020-05-21 14:18:48 +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