skia2/modules/pathkit
Kevin Lubick c13cd6479d Reland "Build CanvasKit using GN/Ninja"
This is a reland of ecac712bec

Changes (best viewed comparing PS1 to latest)
 - Use emsdk 3.1.3 which includes important bug fixes
 - Remove unnecessary steps in compile.sh
 - Fix use of various gn args.
 - Avoid conflicts with Flutter's GN symbols
 - Add/update docs
 - Make activate-emsdk script compatible with our infra.

Original change's description:
> Build CanvasKit using GN/Ninja
>
> Build with
>
> ./bin/gn gen out/wasm_debug '--args=target_cpu="wasm"'
>
> or
>
> ./bin/gn gen out/wasm_release '--args=target_cpu="wasm" is_debug=false'
>
> Change-Id: Ib74586bf8397d57064a3899eaa6da76f9bce9049
> Reviewed-on: https://skia-review.googlesource.com/c/skia/+/502036
> Reviewed-by: Kevin Lubick <kjlubick@google.com>
> Reviewed-by: Ben Wagner <bungeman@google.com>

Change-Id: I601712a8953c2799fa029e782e097905b95e6b59
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/507717
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Kevin Lubick <kjlubick@google.com>
2022-02-15 16:31:10 +00:00
..
npm-asmjs [pathkit] Publish 1.0.0 2022-02-04 13:11:08 +00:00
npm-wasm [pathkit] Publish 1.0.0 2022-02-04 13:11:08 +00:00
perf Added CanvasKit.MakeImageFromCanvasImageSource which is useful as an alternative to 2020-06-15 19:35:09 +00:00
tests Add more paragraph bindings to CanvasKit 2020-10-04 12:56:57 +00:00
.gitignore [pathkit] Publish 1.0.0 2022-02-04 13:11:08 +00:00
chaining.js
CHANGELOG.md [pathkit] Publish 1.0.0 2022-02-04 13:11:08 +00:00
compile.sh Reland "Build CanvasKit using GN/Ninja" 2022-02-15 16:31:10 +00:00
externs.js
helper.js
karma.bench.conf.js
karma.conf.js Reland "[pathkit] Reorganize to be more like CanvasKit" 2022-02-04 13:10:43 +00:00
Makefile [pathkit] Publish 1.0.0 2022-02-04 13:11:08 +00:00
package-lock.json Bump karma from 5.2.3 to 6.3.14 in /modules/pathkit 2022-02-13 15:18:03 +00:00
package.json Bump karma from 5.2.3 to 6.3.14 in /modules/pathkit 2022-02-13 15:18:03 +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 Reland "[pathkit] Reorganize to be more like CanvasKit" 2022-02-04 13:10:43 +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 the release version for both asmjs and WASM
# These binaries will be placed in the proper places of npm-*/bin
make npm

# In each npm- subdirectory, run:
npm version minor (or patch or major)
npm login --registry https://wombat-dressing-room.appspot.com
npm publish