| # 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 are two Louhi flows that work to build this application. |
| `debugger-app-base` runs `//debugger-app:debugger_container-base` which creates |
| the application Docker image (minus CanvasKit). `debugger-app` runs |
| `//infra/debugger-app:debugger_container` (in the Skia repo), which injects |
| CanvasKit to create the final Docker image. Both of these flows are defined |
| in |
| [templates/config.yml](https://louhi-config-internal.googlesource.com/skia-infra/+/refs/heads/master/templates/config.yml). |