| Skia Debugger | 
 | ========================== | 
 |  | 
 | A web-based tool for viewing and inspecting SKP and MSKP files (recorded SkPictures) | 
 |  | 
 | The debugger consists of one-page app that uses a build of CanvasKit with extra bindings. | 
 | The wasm module draws the SKP file being inspected to the canvas in the center of the page. | 
 | Source for this wasm module is in the Skia repository at //modules/canvaskit/debugger_bindings.cpp | 
 |  | 
 | Running locally | 
 | --------------- | 
 |  | 
 | Run the following to run the debugger instance locally using the version built from ToT. | 
 | Talk to the Skia Infra team if you have permission issues that need to be sorted out. | 
 |  | 
 | ``` | 
 | make run-local-instance | 
 | ``` | 
 |  | 
 | To run debugger locally with a custom build of debugger, run the following in the Skia repo. | 
 | ``` | 
 | make -C modules/canvaskit with_debugger | 
 | ``` | 
 | This should copy the canvaskit.js, canvaskit.wasm, and canvaskit.d.ts to | 
 | `//debugger-app/wasm_libs/local_build`, assuming you have the `SKIA_INFRA_ROOT` environment | 
 | variable set. Then, you can run (in this repo) | 
 | ``` | 
 | make run-with-custom | 
 | ``` | 
 | Do not check in those files that were copied. | 
 |  | 
 | The application can now be loaded at http://localhost:8000/ | 
 |  | 
 | The port can be changed via an environment variable, e.g. | 
 | ``` | 
 | DEBUGGER_LOCAL_PORT=:8123 make run-with-custom | 
 | ``` | 
 |  | 
 | Production deployment | 
 | --------------------- | 
 |  | 
 | There is a task_driver that will deploy this application at ToT configured in | 
 | `infra/bots/task_drivers/push_apps_from_skia_wasm_images/push_apps_from_skia_wasm_images.go` | 
 | It runs `make bazel_release_ci` to use the freshly built WASM/JS files to build the container. | 
 |  | 
 | In production, the app is served from go/debugger-app/main.go. | 
 | See https://skia-review.googlesource.com/c/buildbot/+/334818 for the initial deployment. |