rewrite includes to not need so much -Ifoo

Current strategy: everything from the top

Things to look at first are the manual changes:

   - added tools/rewrite_includes.py
   - removed -Idirectives from BUILD.gn
   - various compile.sh simplifications
   - tweak tools/embed_resources.py
   - update gn/find_headers.py to write paths from the top
   - update gn/gn_to_bp.py SkUserConfig.h layout
     so that #include "include/config/SkUserConfig.h" always
     gets the header we want.

No-Presubmit: true
Change-Id: I73a4b181654e0e38d229bc456c0d0854bae3363e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/209706
Commit-Queue: Mike Klein <mtklein@google.com>
Reviewed-by: Hal Canary <halcanary@google.com>
Reviewed-by: Brian Osman <brianosman@google.com>
Reviewed-by: Florin Malita <fmalita@chromium.org>
diff --git a/modules/canvaskit/canvaskit_bindings.cpp b/modules/canvaskit/canvaskit_bindings.cpp
index 832e37e..2594859 100644
--- a/modules/canvaskit/canvaskit_bindings.cpp
+++ b/modules/canvaskit/canvaskit_bindings.cpp
@@ -5,59 +5,59 @@
  * found in the LICENSE file.
  */
 
-#include "SkBlendMode.h"
-#include "SkBlurTypes.h"
-#include "SkCanvas.h"
-#include "SkColor.h"
-#include "SkCornerPathEffect.h"
-#include "SkDashPathEffect.h"
-#include "SkData.h"
-#include "SkDiscretePathEffect.h"
-#include "SkEncodedImageFormat.h"
-#include "SkFilterQuality.h"
-#include "SkFont.h"
-#include "SkFontMgr.h"
-#include "SkFontMgrPriv.h"
-#include "SkFontTypes.h"
-#include "SkGradientShader.h"
-#include "SkImage.h"
-#include "SkImageInfo.h"
-#include "SkMakeUnique.h"
-#include "SkMaskFilter.h"
-#include "SkPaint.h"
-#include "SkParsePath.h"
-#include "SkPath.h"
-#include "SkPathEffect.h"
-#include "SkPathMeasure.h"
-#include "SkPathOps.h"
-#include "SkPicture.h"
-#include "SkPictureRecorder.h"
-#include "SkScalar.h"
-#include "SkShader.h"
-#include "SkShadowUtils.h"
-#include "SkShaper.h"
-#include "SkString.h"
-#include "SkStrokeRec.h"
-#include "SkSurface.h"
-#include "SkSurfaceProps.h"
-#include "SkTextBlob.h"
-#include "SkTrimPathEffect.h"
-#include "SkTypeface.h"
-#include "SkTypes.h"
-#include "SkVertices.h"
+#include "include/core/SkBlendMode.h"
+#include "include/core/SkBlurTypes.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkData.h"
+#include "include/core/SkEncodedImageFormat.h"
+#include "include/core/SkFilterQuality.h"
+#include "include/core/SkFont.h"
+#include "include/core/SkFontMgr.h"
+#include "include/core/SkFontTypes.h"
+#include "include/core/SkImage.h"
+#include "include/core/SkImageInfo.h"
+#include "include/core/SkMaskFilter.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkPathEffect.h"
+#include "include/core/SkPathMeasure.h"
+#include "include/core/SkPicture.h"
+#include "include/core/SkPictureRecorder.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkShader.h"
+#include "include/core/SkString.h"
+#include "include/core/SkStrokeRec.h"
+#include "include/core/SkSurface.h"
+#include "include/core/SkSurfaceProps.h"
+#include "include/core/SkTextBlob.h"
+#include "include/core/SkTypeface.h"
+#include "include/core/SkTypes.h"
+#include "include/core/SkVertices.h"
+#include "include/effects/SkCornerPathEffect.h"
+#include "include/effects/SkDashPathEffect.h"
+#include "include/effects/SkDiscretePathEffect.h"
+#include "include/effects/SkGradientShader.h"
+#include "include/effects/SkTrimPathEffect.h"
+#include "include/pathops/SkPathOps.h"
+#include "include/utils/SkParsePath.h"
+#include "include/utils/SkShadowUtils.h"
+#include "modules/skshaper/include/SkShaper.h"
+#include "src/core/SkFontMgrPriv.h"
+#include "src/core/SkMakeUnique.h"
 
 #include <iostream>
 #include <string>
 
-#include "WasmAliases.h"
+#include "modules/canvaskit/WasmAliases.h"
 #include <emscripten.h>
 #include <emscripten/bind.h>
 
 #if SK_SUPPORT_GPU
-#include "GrBackendSurface.h"
-#include "GrContext.h"
-#include "GrGLInterface.h"
-#include "GrGLTypes.h"
+#include "include/gpu/GrBackendSurface.h"
+#include "include/gpu/GrContext.h"
+#include "include/gpu/gl/GrGLInterface.h"
+#include "include/gpu/gl/GrGLTypes.h"
 
 #include <GL/gl.h>
 #include <emscripten/html5.h>
diff --git a/modules/canvaskit/compile.sh b/modules/canvaskit/compile.sh
index 74161bc..9c4e5b8 100755
--- a/modules/canvaskit/compile.sh
+++ b/modules/canvaskit/compile.sh
@@ -196,27 +196,9 @@
 # Emscripten will use LLD, which may relax this requirement.
 ${EMCXX} \
     $RELEASE_CONF \
-    -Iexperimental \
-    -Iinclude/c \
-    -Iinclude/codec \
-    -Iinclude/config \
-    -Iinclude/core \
-    -Iinclude/effects \
-    -Iinclude/gpu \
-    -Iinclude/gpu/gl \
-    -Iinclude/pathops \
-    -Iinclude/private \
-    -Iinclude/utils/ \
-    -Imodules/skottie/include \
-    -Imodules/skottie/utils \
-    -Imodules/sksg/include \
-    -Imodules/skshaper/include \
-    -Imodules/particles/include \
-    -Isrc/core/ \
-    -Isrc/utils/ \
+    -I. \
     -Ithird_party/icu \
     -Ithird_party/skcms \
-    -Itools \
     -DSK_DISABLE_READBUFFER \
     -DSK_DISABLE_AAA \
     $WASM_GPU \
diff --git a/modules/canvaskit/particles_bindings.cpp b/modules/canvaskit/particles_bindings.cpp
index df7fff6..034ffdd 100644
--- a/modules/canvaskit/particles_bindings.cpp
+++ b/modules/canvaskit/particles_bindings.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "SkCanvas.h"
-#include "SkTypes.h"
-#include "SkParticleAffector.h"
-#include "SkParticleDrawable.h"
-#include "SkParticleEffect.h"
-#include "SkParticleSerialization.h"
-#include "SkRandom.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkTypes.h"
+#include "include/utils/SkRandom.h"
+#include "modules/particles/include/SkParticleAffector.h"
+#include "modules/particles/include/SkParticleDrawable.h"
+#include "modules/particles/include/SkParticleEffect.h"
+#include "modules/particles/include/SkParticleSerialization.h"
 
 #include <string>
 
diff --git a/modules/canvaskit/skottie_bindings.cpp b/modules/canvaskit/skottie_bindings.cpp
index 3335b80..abdaf43 100644
--- a/modules/canvaskit/skottie_bindings.cpp
+++ b/modules/canvaskit/skottie_bindings.cpp
@@ -5,23 +5,23 @@
  * found in the LICENSE file.
  */
 
-#include "SkCanvas.h"
-#include "SkImage.h"
-#include "SkMakeUnique.h"
-#include "SkTypes.h"
-#include "SkString.h"
-#include "Skottie.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkImage.h"
+#include "include/core/SkString.h"
+#include "include/core/SkTypes.h"
+#include "modules/skottie/include/Skottie.h"
+#include "src/core/SkMakeUnique.h"
 
 #include <string>
 #include <vector>
 
 #include <emscripten.h>
 #include <emscripten/bind.h>
-#include "WasmAliases.h"
+#include "modules/canvaskit/WasmAliases.h"
 
 #if SK_INCLUDE_MANAGED_SKOTTIE
-#include "SkottieProperty.h"
-#include "SkottieUtils.h"
+#include "modules/skottie/include/SkottieProperty.h"
+#include "modules/skottie/utils/SkottieUtils.h"
 #endif // SK_INCLUDE_MANAGED_SKOTTIE
 
 using namespace emscripten;
diff --git a/modules/particles/include/SkCurve.h b/modules/particles/include/SkCurve.h
index b77bb2e..4db4615 100644
--- a/modules/particles/include/SkCurve.h
+++ b/modules/particles/include/SkCurve.h
@@ -8,10 +8,10 @@
 #ifndef SkCurve_DEFINED
 #define SkCurve_DEFINED
 
-#include "SkColor.h"
-#include "SkParticleData.h"
-#include "SkScalar.h"
-#include "SkTArray.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkScalar.h"
+#include "include/private/SkTArray.h"
+#include "modules/particles/include/SkParticleData.h"
 
 class SkFieldVisitor;
 
diff --git a/modules/particles/include/SkParticleAffector.h b/modules/particles/include/SkParticleAffector.h
index 634d555..be3d48f 100644
--- a/modules/particles/include/SkParticleAffector.h
+++ b/modules/particles/include/SkParticleAffector.h
@@ -8,10 +8,10 @@
 #ifndef SkParticleAffector_DEFINED
 #define SkParticleAffector_DEFINED
 
-#include "SkReflected.h"
+#include "modules/particles/include/SkReflected.h"
 
-#include "SkParticleData.h"
-#include "SkPoint.h"
+#include "include/core/SkPoint.h"
+#include "modules/particles/include/SkParticleData.h"
 
 struct SkColorCurve;
 struct SkCurve;
diff --git a/modules/particles/include/SkParticleData.h b/modules/particles/include/SkParticleData.h
index 906f811..1b2daef 100644
--- a/modules/particles/include/SkParticleData.h
+++ b/modules/particles/include/SkParticleData.h
@@ -8,11 +8,11 @@
 #ifndef SkParticleData_DEFINED
 #define SkParticleData_DEFINED
 
-#include "SkColor.h"
-#include "SkPoint.h"
-#include "SkRandom.h"
-#include "SkReflected.h"
-#include "SkRSXform.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRSXform.h"
+#include "include/utils/SkRandom.h"
+#include "modules/particles/include/SkReflected.h"
 
 /*
  *  Various structs used to communicate particle information among emitters, affectors, etc.
diff --git a/modules/particles/include/SkParticleDrawable.h b/modules/particles/include/SkParticleDrawable.h
index a47b24d..9c67884 100644
--- a/modules/particles/include/SkParticleDrawable.h
+++ b/modules/particles/include/SkParticleDrawable.h
@@ -8,7 +8,7 @@
 #ifndef SkParticleDrawable_DEFINED
 #define SkParticleDrawable_DEFINED
 
-#include "SkReflected.h"
+#include "modules/particles/include/SkReflected.h"
 
 class SkCanvas;
 struct SkParticleState;
diff --git a/modules/particles/include/SkParticleEffect.h b/modules/particles/include/SkParticleEffect.h
index 1af9c68..c4086d3 100644
--- a/modules/particles/include/SkParticleEffect.h
+++ b/modules/particles/include/SkParticleEffect.h
@@ -8,11 +8,11 @@
 #ifndef SkParticleEffect_DEFINED
 #define SkParticleEffect_DEFINED
 
-#include "SkAutoMalloc.h"
-#include "SkCurve.h"
-#include "SkRandom.h"
-#include "SkRefCnt.h"
-#include "SkTArray.h"
+#include "include/core/SkRefCnt.h"
+#include "include/private/SkTArray.h"
+#include "include/utils/SkRandom.h"
+#include "modules/particles/include/SkCurve.h"
+#include "src/core/SkAutoMalloc.h"
 
 class SkCanvas;
 class SkFieldVisitor;
diff --git a/modules/particles/include/SkParticleSerialization.h b/modules/particles/include/SkParticleSerialization.h
index dbcfe66..0cb057d 100644
--- a/modules/particles/include/SkParticleSerialization.h
+++ b/modules/particles/include/SkParticleSerialization.h
@@ -8,11 +8,11 @@
 #ifndef SkParticleSerialization_DEFINED
 #define SkParticleSerialization_DEFINED
 
-#include "SkReflected.h"
+#include "modules/particles/include/SkReflected.h"
 
-#include "SkJSON.h"
-#include "SkJSONWriter.h"
-#include "SkTArray.h"
+#include "include/private/SkTArray.h"
+#include "src/utils/SkJSON.h"
+#include "src/utils/SkJSONWriter.h"
 
 class SkToJsonVisitor : public SkFieldVisitor {
 public:
diff --git a/modules/particles/include/SkReflected.h b/modules/particles/include/SkReflected.h
index 1a0d43b..a4c3eb3 100644
--- a/modules/particles/include/SkReflected.h
+++ b/modules/particles/include/SkReflected.h
@@ -8,9 +8,9 @@
 #ifndef SkReflected_DEFINED
 #define SkReflected_DEFINED
 
-#include "SkColor.h"
-#include "SkRefCnt.h"
-#include "SkTArray.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkRefCnt.h"
+#include "include/private/SkTArray.h"
 
 #include <string.h>
 
diff --git a/modules/particles/src/SkCurve.cpp b/modules/particles/src/SkCurve.cpp
index 5dcfb60d..dbd754b 100644
--- a/modules/particles/src/SkCurve.cpp
+++ b/modules/particles/src/SkCurve.cpp
@@ -5,11 +5,11 @@
 * found in the LICENSE file.
 */
 
-#include "SkCurve.h"
+#include "modules/particles/include/SkCurve.h"
 
-#include "SkParticleData.h"
-#include "SkRandom.h"
-#include "SkReflected.h"
+#include "include/utils/SkRandom.h"
+#include "modules/particles/include/SkParticleData.h"
+#include "modules/particles/include/SkReflected.h"
 
 constexpr SkFieldVisitor::EnumStringMapping gCurveSegmentTypeMapping[] = {
     { kConstant_SegmentType, "Constant" },
diff --git a/modules/particles/src/SkParticleAffector.cpp b/modules/particles/src/SkParticleAffector.cpp
index 82ea43f..80094ff 100644
--- a/modules/particles/src/SkParticleAffector.cpp
+++ b/modules/particles/src/SkParticleAffector.cpp
@@ -5,15 +5,15 @@
 * found in the LICENSE file.
 */
 
-#include "SkParticleAffector.h"
+#include "modules/particles/include/SkParticleAffector.h"
 
-#include "SkContourMeasure.h"
-#include "SkCurve.h"
-#include "SkParsePath.h"
-#include "SkParticleData.h"
-#include "SkPath.h"
-#include "SkRandom.h"
-#include "SkTextUtils.h"
+#include "include/core/SkContourMeasure.h"
+#include "include/core/SkPath.h"
+#include "include/utils/SkParsePath.h"
+#include "include/utils/SkRandom.h"
+#include "include/utils/SkTextUtils.h"
+#include "modules/particles/include/SkCurve.h"
+#include "modules/particles/include/SkParticleData.h"
 
 
 void SkParticleAffector::apply(const SkParticleUpdateParams& params,
diff --git a/modules/particles/src/SkParticleDrawable.cpp b/modules/particles/src/SkParticleDrawable.cpp
index 9c31cc0..4f942b2 100644
--- a/modules/particles/src/SkParticleDrawable.cpp
+++ b/modules/particles/src/SkParticleDrawable.cpp
@@ -5,17 +5,17 @@
 * found in the LICENSE file.
 */
 
-#include "SkParticleDrawable.h"
+#include "modules/particles/include/SkParticleDrawable.h"
 
-#include "SkAutoMalloc.h"
-#include "SkCanvas.h"
-#include "SkImage.h"
-#include "SkPaint.h"
-#include "SkParticleData.h"
-#include "SkRect.h"
-#include "SkSurface.h"
-#include "SkString.h"
-#include "SkRSXform.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkImage.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkRSXform.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkString.h"
+#include "include/core/SkSurface.h"
+#include "modules/particles/include/SkParticleData.h"
+#include "src/core/SkAutoMalloc.h"
 
 static sk_sp<SkImage> make_circle_image(int radius) {
     auto surface = SkSurface::MakeRasterN32Premul(radius * 2, radius * 2);
diff --git a/modules/particles/src/SkParticleEffect.cpp b/modules/particles/src/SkParticleEffect.cpp
index 1cd0eab..1e79a5f 100644
--- a/modules/particles/src/SkParticleEffect.cpp
+++ b/modules/particles/src/SkParticleEffect.cpp
@@ -5,15 +5,15 @@
 * found in the LICENSE file.
 */
 
-#include "SkParticleEffect.h"
+#include "modules/particles/include/SkParticleEffect.h"
 
-#include "SkCanvas.h"
-#include "SkColorData.h"
-#include "SkPaint.h"
-#include "SkParticleAffector.h"
-#include "SkParticleDrawable.h"
-#include "SkReflected.h"
-#include "SkRSXform.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkRSXform.h"
+#include "include/private/SkColorData.h"
+#include "modules/particles/include/SkParticleAffector.h"
+#include "modules/particles/include/SkParticleDrawable.h"
+#include "modules/particles/include/SkReflected.h"
 
 void SkParticleEffectParams::visitFields(SkFieldVisitor* v) {
     v->visit("MaxCount", fMaxCount);
diff --git a/modules/particles/src/SkReflected.cpp b/modules/particles/src/SkReflected.cpp
index 938bb87..94e59ca 100644
--- a/modules/particles/src/SkReflected.cpp
+++ b/modules/particles/src/SkReflected.cpp
@@ -5,9 +5,9 @@
 * found in the LICENSE file.
 */
 
-#include "SkReflected.h"
+#include "modules/particles/include/SkReflected.h"
 
-#include "SkCurve.h"
+#include "modules/particles/include/SkCurve.h"
 
 SkSTArray<16, const SkReflected::Type*, true> SkReflected::gTypes;
 
diff --git a/modules/pathkit/compile.sh b/modules/pathkit/compile.sh
index 60b87d0..0f77cad 100755
--- a/modules/pathkit/compile.sh
+++ b/modules/pathkit/compile.sh
@@ -105,18 +105,7 @@
 echo "Generating WASM"
 
 ${EMCXX} $RELEASE_CONF -std=c++14 \
--Iinclude/config \
--Iinclude/core \
--Iinclude/effects \
--Iinclude/gpu \
--Iinclude/pathops \
--Iinclude/private \
--Iinclude/utils \
--Isrc/core \
--Isrc/gpu \
--Isrc/shaders \
--Isrc/opts \
--Isrc/utils \
+-I. \
 -Ithird_party/skcms \
 -std=c++14 \
 --bind \
diff --git a/modules/pathkit/pathkit_wasm_bindings.cpp b/modules/pathkit/pathkit_wasm_bindings.cpp
index 0837ee0..c47af69 100644
--- a/modules/pathkit/pathkit_wasm_bindings.cpp
+++ b/modules/pathkit/pathkit_wasm_bindings.cpp
@@ -5,20 +5,20 @@
  * found in the LICENSE file.
  */
 
-#include "SkCubicMap.h"
-#include "SkDashPathEffect.h"
-#include "SkFloatBits.h"
-#include "SkFloatingPoint.h"
-#include "SkMatrix.h"
-#include "SkPaint.h"
-#include "SkPaintDefaults.h"
-#include "SkParsePath.h"
-#include "SkPath.h"
-#include "SkPathOps.h"
-#include "SkRect.h"
-#include "SkString.h"
-#include "SkStrokeRec.h"
-#include "SkTrimPathEffect.h"
+#include "include/core/SkCubicMap.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkString.h"
+#include "include/core/SkStrokeRec.h"
+#include "include/effects/SkDashPathEffect.h"
+#include "include/effects/SkTrimPathEffect.h"
+#include "include/pathops/SkPathOps.h"
+#include "include/private/SkFloatBits.h"
+#include "include/private/SkFloatingPoint.h"
+#include "include/utils/SkParsePath.h"
+#include "src/core/SkPaintDefaults.h"
 
 #include <emscripten/emscripten.h>
 #include <emscripten/bind.h>
diff --git a/modules/skottie/fuzz/FuzzSkottieJSON.cpp b/modules/skottie/fuzz/FuzzSkottieJSON.cpp
index 6c93bce..33d26c4 100644
--- a/modules/skottie/fuzz/FuzzSkottieJSON.cpp
+++ b/modules/skottie/fuzz/FuzzSkottieJSON.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "SkData.h"
-#include "SkFontMgrPriv.h"
-#include "SkStream.h"
-#include "Skottie.h"
-#include "TestFontMgr.h"
+#include "include/core/SkData.h"
+#include "include/core/SkStream.h"
+#include "modules/skottie/include/Skottie.h"
+#include "src/core/SkFontMgrPriv.h"
+#include "tools/fonts/TestFontMgr.h"
 
 void FuzzSkottieJSON(sk_sp<SkData> bytes) {
     SkMemoryStream stream(bytes);
diff --git a/modules/skottie/gm/SkottieGM.cpp b/modules/skottie/gm/SkottieGM.cpp
index e63c39d..b65432c 100644
--- a/modules/skottie/gm/SkottieGM.cpp
+++ b/modules/skottie/gm/SkottieGM.cpp
@@ -5,15 +5,15 @@
  * found in the LICENSE file.
  */
 
-#include "AnimTimer.h"
-#include "Resources.h"
-#include "SkAnimCodecPlayer.h"
-#include "SkColor.h"
-#include "SkMakeUnique.h"
-#include "Skottie.h"
-#include "SkottieProperty.h"
-#include "SkottieUtils.h"
-#include "gm.h"
+#include "gm/gm.h"
+#include "include/core/SkColor.h"
+#include "include/utils/SkAnimCodecPlayer.h"
+#include "modules/skottie/include/Skottie.h"
+#include "modules/skottie/include/SkottieProperty.h"
+#include "modules/skottie/utils/SkottieUtils.h"
+#include "src/core/SkMakeUnique.h"
+#include "tools/Resources.h"
+#include "tools/timer/AnimTimer.h"
 
 #include <cmath>
 #include <vector>
diff --git a/modules/skottie/include/Skottie.h b/modules/skottie/include/Skottie.h
index dfd7381..cc29dc9 100644
--- a/modules/skottie/include/Skottie.h
+++ b/modules/skottie/include/Skottie.h
@@ -8,11 +8,11 @@
 #ifndef Skottie_DEFINED
 #define Skottie_DEFINED
 
-#include "SkFontMgr.h"
-#include "SkRefCnt.h"
-#include "SkSize.h"
-#include "SkString.h"
-#include "SkTypes.h"
+#include "include/core/SkFontMgr.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkSize.h"
+#include "include/core/SkString.h"
+#include "include/core/SkTypes.h"
 
 #include <memory>
 
diff --git a/modules/skottie/include/SkottieProperty.h b/modules/skottie/include/SkottieProperty.h
index a3dee71..90c257c 100644
--- a/modules/skottie/include/SkottieProperty.h
+++ b/modules/skottie/include/SkottieProperty.h
@@ -8,9 +8,9 @@
 #ifndef SkottieProperty_DEFINED
 #define SkottieProperty_DEFINED
 
-#include "SkColor.h"
-#include "SkPoint.h"
-#include "SkRefCnt.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRefCnt.h"
 
 #include <functional>
 
diff --git a/modules/skottie/src/Skottie.cpp b/modules/skottie/src/Skottie.cpp
index f9c6c8e..6fbde3e 100644
--- a/modules/skottie/src/Skottie.cpp
+++ b/modules/skottie/src/Skottie.cpp
@@ -5,31 +5,31 @@
  * found in the LICENSE file.
  */
 
-#include "Skottie.h"
+#include "modules/skottie/include/Skottie.h"
 
-#include "SkCanvas.h"
-#include "SkData.h"
-#include "SkFontMgr.h"
-#include "SkImage.h"
-#include "SkMakeUnique.h"
-#include "SkPaint.h"
-#include "SkPoint.h"
-#include "SkSGInvalidationController.h"
-#include "SkSGOpacityEffect.h"
-#include "SkSGPaint.h"
-#include "SkSGPath.h"
-#include "SkSGRenderEffect.h"
-#include "SkSGScene.h"
-#include "SkSGTransform.h"
-#include "SkStream.h"
-#include "SkTArray.h"
-#include "SkTo.h"
-#include "SkottieAdapter.h"
-#include "SkottieJson.h"
-#include "SkottiePriv.h"
-#include "SkottieProperty.h"
-#include "SkottieValue.h"
-#include "SkTraceEvent.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkData.h"
+#include "include/core/SkFontMgr.h"
+#include "include/core/SkImage.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkStream.h"
+#include "include/private/SkTArray.h"
+#include "include/private/SkTo.h"
+#include "modules/skottie/include/SkottieProperty.h"
+#include "modules/skottie/src/SkottieAdapter.h"
+#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
+#include "modules/skottie/src/SkottieValue.h"
+#include "modules/sksg/include/SkSGInvalidationController.h"
+#include "modules/sksg/include/SkSGOpacityEffect.h"
+#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/sksg/include/SkSGPath.h"
+#include "modules/sksg/include/SkSGRenderEffect.h"
+#include "modules/sksg/include/SkSGScene.h"
+#include "modules/sksg/include/SkSGTransform.h"
+#include "src/core/SkMakeUnique.h"
+#include "src/core/SkTraceEvent.h"
 
 #include <chrono>
 #include <cmath>
diff --git a/modules/skottie/src/SkottieAdapter.cpp b/modules/skottie/src/SkottieAdapter.cpp
index 3fdda99..aa24fb4 100644
--- a/modules/skottie/src/SkottieAdapter.cpp
+++ b/modules/skottie/src/SkottieAdapter.cpp
@@ -5,29 +5,29 @@
  * found in the LICENSE file.
  */
 
-#include "SkottieAdapter.h"
+#include "modules/skottie/src/SkottieAdapter.h"
 
-#include "Sk3D.h"
-#include "SkFont.h"
-#include "SkMatrix.h"
-#include "SkMatrix44.h"
-#include "SkPath.h"
-#include "SkRRect.h"
-#include "SkSGColorFilter.h"
-#include "SkSGDraw.h"
-#include "SkSGGradient.h"
-#include "SkSGGroup.h"
-#include "SkSGPaint.h"
-#include "SkSGPath.h"
-#include "SkSGRect.h"
-#include "SkSGRenderEffect.h"
-#include "SkSGText.h"
-#include "SkSGTransform.h"
-#include "SkSGTrimEffect.h"
-#include "SkTableColorFilter.h"
-#include "SkTo.h"
-#include "SkottieShaper.h"
-#include "SkottieValue.h"
+#include "include/core/SkFont.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkMatrix44.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkRRect.h"
+#include "include/effects/SkTableColorFilter.h"
+#include "include/private/SkTo.h"
+#include "include/utils/Sk3D.h"
+#include "modules/skottie/src/SkottieShaper.h"
+#include "modules/skottie/src/SkottieValue.h"
+#include "modules/sksg/include/SkSGColorFilter.h"
+#include "modules/sksg/include/SkSGDraw.h"
+#include "modules/sksg/include/SkSGGradient.h"
+#include "modules/sksg/include/SkSGGroup.h"
+#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/sksg/include/SkSGPath.h"
+#include "modules/sksg/include/SkSGRect.h"
+#include "modules/sksg/include/SkSGRenderEffect.h"
+#include "modules/sksg/include/SkSGText.h"
+#include "modules/sksg/include/SkSGTransform.h"
+#include "modules/sksg/include/SkSGTrimEffect.h"
 
 #include <cmath>
 #include <utility>
diff --git a/modules/skottie/src/SkottieAdapter.h b/modules/skottie/src/SkottieAdapter.h
index b5e0cb9..a1a047c 100644
--- a/modules/skottie/src/SkottieAdapter.h
+++ b/modules/skottie/src/SkottieAdapter.h
@@ -8,10 +8,10 @@
 #ifndef SkottieAdapter_DEFINED
 #define SkottieAdapter_DEFINED
 
-#include "SkPoint.h"
-#include "SkRefCnt.h"
-#include "SkSize.h"
-#include "SkottieValue.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkSize.h"
+#include "modules/skottie/src/SkottieValue.h"
 
 namespace sksg {
 
diff --git a/modules/skottie/src/SkottieAnimator.cpp b/modules/skottie/src/SkottieAnimator.cpp
index 189f421..52e9f65 100644
--- a/modules/skottie/src/SkottieAnimator.cpp
+++ b/modules/skottie/src/SkottieAnimator.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "SkCubicMap.h"
-#include "SkottieJson.h"
-#include "SkottiePriv.h"
-#include "SkottieValue.h"
-#include "SkSGScene.h"
-#include "SkString.h"
+#include "include/core/SkCubicMap.h"
+#include "include/core/SkString.h"
+#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
+#include "modules/skottie/src/SkottieValue.h"
+#include "modules/sksg/include/SkSGScene.h"
 
 #include <memory>
 #include <vector>
diff --git a/modules/skottie/src/SkottieJson.cpp b/modules/skottie/src/SkottieJson.cpp
index 7f1c3b6..089526b 100644
--- a/modules/skottie/src/SkottieJson.cpp
+++ b/modules/skottie/src/SkottieJson.cpp
@@ -5,15 +5,15 @@
  * found in the LICENSE file.
  */
 
-#include "SkottieJson.h"
+#include "modules/skottie/src/SkottieJson.h"
 
-#include "SkData.h"
-#include "SkScalar.h"
-#include "SkPath.h"
-#include "SkPoint.h"
-#include "SkStream.h"
-#include "SkString.h"
-#include "SkottieValue.h"
+#include "include/core/SkData.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkStream.h"
+#include "include/core/SkString.h"
+#include "modules/skottie/src/SkottieValue.h"
 #include <vector>
 
 namespace skottie {
diff --git a/modules/skottie/src/SkottieJson.h b/modules/skottie/src/SkottieJson.h
index 98ee25a..0844137 100644
--- a/modules/skottie/src/SkottieJson.h
+++ b/modules/skottie/src/SkottieJson.h
@@ -8,8 +8,8 @@
 #ifndef SkottieJson_DEFINED
 #define SkottieJson_DEFINED
 
-#include "SkJSON.h"
-#include "SkRefCnt.h"
+#include "include/core/SkRefCnt.h"
+#include "src/utils/SkJSON.h"
 
 class SkData;
 class SkStream;
diff --git a/modules/skottie/src/SkottieLayer.cpp b/modules/skottie/src/SkottieLayer.cpp
index 9e69979..832214a 100644
--- a/modules/skottie/src/SkottieLayer.cpp
+++ b/modules/skottie/src/SkottieLayer.cpp
@@ -5,28 +5,28 @@
  * found in the LICENSE file.
  */
 
-#include "SkottiePriv.h"
+#include "modules/skottie/src/SkottiePriv.h"
 
-#include "SkData.h"
-#include "SkFontMgr.h"
-#include "SkImage.h"
-#include "SkJSON.h"
-#include "SkMakeUnique.h"
-#include "SkottieAdapter.h"
-#include "SkottieJson.h"
-#include "SkottieValue.h"
-#include "SkParse.h"
-#include "SkSGClipEffect.h"
-#include "SkSGDraw.h"
-#include "SkSGGroup.h"
-#include "SkSGImage.h"
-#include "SkSGMaskEffect.h"
-#include "SkSGMerge.h"
-#include "SkSGOpacityEffect.h"
-#include "SkSGPaint.h"
-#include "SkSGPath.h"
-#include "SkSGRect.h"
-#include "SkSGTransform.h"
+#include "include/core/SkData.h"
+#include "include/core/SkFontMgr.h"
+#include "include/core/SkImage.h"
+#include "include/utils/SkParse.h"
+#include "modules/skottie/src/SkottieAdapter.h"
+#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottieValue.h"
+#include "modules/sksg/include/SkSGClipEffect.h"
+#include "modules/sksg/include/SkSGDraw.h"
+#include "modules/sksg/include/SkSGGroup.h"
+#include "modules/sksg/include/SkSGImage.h"
+#include "modules/sksg/include/SkSGMaskEffect.h"
+#include "modules/sksg/include/SkSGMerge.h"
+#include "modules/sksg/include/SkSGOpacityEffect.h"
+#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/sksg/include/SkSGPath.h"
+#include "modules/sksg/include/SkSGRect.h"
+#include "modules/sksg/include/SkSGTransform.h"
+#include "src/core/SkMakeUnique.h"
+#include "src/utils/SkJSON.h"
 
 #include <algorithm>
 #include <vector>
diff --git a/modules/skottie/src/SkottieLayerEffect.cpp b/modules/skottie/src/SkottieLayerEffect.cpp
index 5cc3a65..5f3e8f8 100644
--- a/modules/skottie/src/SkottieLayerEffect.cpp
+++ b/modules/skottie/src/SkottieLayerEffect.cpp
@@ -5,15 +5,15 @@
  * found in the LICENSE file.
  */
 
-#include "SkottiePriv.h"
+#include "modules/skottie/src/SkottiePriv.h"
 
-#include "SkJSON.h"
-#include "SkottieAdapter.h"
-#include "SkottieJson.h"
-#include "SkottieValue.h"
-#include "SkSGColorFilter.h"
-#include "SkSGPaint.h"
-#include "SkSGRenderEffect.h"
+#include "modules/skottie/src/SkottieAdapter.h"
+#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottieValue.h"
+#include "modules/sksg/include/SkSGColorFilter.h"
+#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/sksg/include/SkSGRenderEffect.h"
+#include "src/utils/SkJSON.h"
 
 namespace skottie {
 namespace internal {
diff --git a/modules/skottie/src/SkottiePrecompLayer.cpp b/modules/skottie/src/SkottiePrecompLayer.cpp
index f110c2d..7c6a8cb 100644
--- a/modules/skottie/src/SkottiePrecompLayer.cpp
+++ b/modules/skottie/src/SkottiePrecompLayer.cpp
@@ -5,15 +5,15 @@
  * found in the LICENSE file.
  */
 
-#include "SkottiePriv.h"
+#include "modules/skottie/src/SkottiePriv.h"
 
-#include "SkJSON.h"
-#include "SkottieJson.h"
-#include "SkottieValue.h"
-#include "SkMakeUnique.h"
-#include "SkSGRenderNode.h"
-#include "SkSGScene.h"
-#include "SkTLazy.h"
+#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottieValue.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
+#include "modules/sksg/include/SkSGScene.h"
+#include "src/core/SkMakeUnique.h"
+#include "src/core/SkTLazy.h"
+#include "src/utils/SkJSON.h"
 
 namespace skottie {
 namespace internal {
diff --git a/modules/skottie/src/SkottiePriv.h b/modules/skottie/src/SkottiePriv.h
index 979f694..f4f8be2 100644
--- a/modules/skottie/src/SkottiePriv.h
+++ b/modules/skottie/src/SkottiePriv.h
@@ -8,15 +8,15 @@
 #ifndef SkottiePriv_DEFINED
 #define SkottiePriv_DEFINED
 
-#include "Skottie.h"
+#include "modules/skottie/include/Skottie.h"
 
-#include "SkFontStyle.h"
-#include "SkottieProperty.h"
-#include "SkSGScene.h"
-#include "SkString.h"
-#include "SkTHash.h"
-#include "SkTypeface.h"
-#include "SkUTF.h"
+#include "include/core/SkFontStyle.h"
+#include "include/core/SkString.h"
+#include "include/core/SkTypeface.h"
+#include "include/private/SkTHash.h"
+#include "modules/skottie/include/SkottieProperty.h"
+#include "modules/sksg/include/SkSGScene.h"
+#include "src/utils/SkUTF.h"
 
 #include <functional>
 
diff --git a/modules/skottie/src/SkottieProperty.cpp b/modules/skottie/src/SkottieProperty.cpp
index c5d7ed4..e36fd82 100644
--- a/modules/skottie/src/SkottieProperty.cpp
+++ b/modules/skottie/src/SkottieProperty.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "SkottieProperty.h"
+#include "modules/skottie/include/SkottieProperty.h"
 
-#include "SkottieAdapter.h"
-#include "SkSGOpacityEffect.h"
-#include "SkSGPaint.h"
+#include "modules/skottie/src/SkottieAdapter.h"
+#include "modules/sksg/include/SkSGOpacityEffect.h"
+#include "modules/sksg/include/SkSGPaint.h"
 
 namespace skottie {
 
diff --git a/modules/skottie/src/SkottieShapeLayer.cpp b/modules/skottie/src/SkottieShapeLayer.cpp
index 63c6c8f..60d398c 100644
--- a/modules/skottie/src/SkottieShapeLayer.cpp
+++ b/modules/skottie/src/SkottieShapeLayer.cpp
@@ -5,25 +5,25 @@
  * found in the LICENSE file.
  */
 
-#include "SkottiePriv.h"
+#include "modules/skottie/src/SkottiePriv.h"
 
-#include "SkJSON.h"
-#include "SkottieAdapter.h"
-#include "SkottieJson.h"
-#include "SkottieValue.h"
-#include "SkPath.h"
-#include "SkSGDraw.h"
-#include "SkSGGeometryTransform.h"
-#include "SkSGGradient.h"
-#include "SkSGGroup.h"
-#include "SkSGMerge.h"
-#include "SkSGPaint.h"
-#include "SkSGPath.h"
-#include "SkSGRect.h"
-#include "SkSGRenderEffect.h"
-#include "SkSGRoundEffect.h"
-#include "SkSGTransform.h"
-#include "SkSGTrimEffect.h"
+#include "include/core/SkPath.h"
+#include "modules/skottie/src/SkottieAdapter.h"
+#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottieValue.h"
+#include "modules/sksg/include/SkSGDraw.h"
+#include "modules/sksg/include/SkSGGeometryTransform.h"
+#include "modules/sksg/include/SkSGGradient.h"
+#include "modules/sksg/include/SkSGGroup.h"
+#include "modules/sksg/include/SkSGMerge.h"
+#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/sksg/include/SkSGPath.h"
+#include "modules/sksg/include/SkSGRect.h"
+#include "modules/sksg/include/SkSGRenderEffect.h"
+#include "modules/sksg/include/SkSGRoundEffect.h"
+#include "modules/sksg/include/SkSGTransform.h"
+#include "modules/sksg/include/SkSGTrimEffect.h"
+#include "src/utils/SkJSON.h"
 
 #include <algorithm>
 #include <iterator>
diff --git a/modules/skottie/src/SkottieShaper.cpp b/modules/skottie/src/SkottieShaper.cpp
index d801455..1a33379 100644
--- a/modules/skottie/src/SkottieShaper.cpp
+++ b/modules/skottie/src/SkottieShaper.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "SkottieShaper.h"
+#include "modules/skottie/src/SkottieShaper.h"
 
-#include "SkFontMetrics.h"
-#include "SkShaper.h"
-#include "SkTextBlob.h"
-#include "SkTextBlobPriv.h"
-#include "SkUTF.h"
+#include "include/core/SkFontMetrics.h"
+#include "include/core/SkTextBlob.h"
+#include "modules/skshaper/include/SkShaper.h"
+#include "src/core/SkTextBlobPriv.h"
+#include "src/utils/SkUTF.h"
 
 namespace skottie {
 namespace {
diff --git a/modules/skottie/src/SkottieShaper.h b/modules/skottie/src/SkottieShaper.h
index 816141d..1c94260 100644
--- a/modules/skottie/src/SkottieShaper.h
+++ b/modules/skottie/src/SkottieShaper.h
@@ -8,8 +8,8 @@
 #ifndef SkottieShaper_DEFINED
 #define SkottieShaper_DEFINED
 
-#include "SkPoint.h"
-#include "SkTextUtils.h"
+#include "include/core/SkPoint.h"
+#include "include/utils/SkTextUtils.h"
 
 class SkTextBlob;
 
diff --git a/modules/skottie/src/SkottieTest.cpp b/modules/skottie/src/SkottieTest.cpp
index 34a4073..61eaea6 100644
--- a/modules/skottie/src/SkottieTest.cpp
+++ b/modules/skottie/src/SkottieTest.cpp
@@ -5,15 +5,15 @@
  * found in the LICENSE file.
  */
 
-#include "SkMatrix.h"
-#include "Skottie.h"
-#include "SkottieProperty.h"
-#include "SkottieShaper.h"
-#include "SkStream.h"
-#include "SkTextBlob.h"
-#include "SkTypeface.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkStream.h"
+#include "include/core/SkTextBlob.h"
+#include "include/core/SkTypeface.h"
+#include "modules/skottie/include/Skottie.h"
+#include "modules/skottie/include/SkottieProperty.h"
+#include "modules/skottie/src/SkottieShaper.h"
 
-#include "Test.h"
+#include "tests/Test.h"
 
 #include <cmath>
 #include <tuple>
diff --git a/modules/skottie/src/SkottieTextLayer.cpp b/modules/skottie/src/SkottieTextLayer.cpp
index b617b31..0e2cde1 100644
--- a/modules/skottie/src/SkottieTextLayer.cpp
+++ b/modules/skottie/src/SkottieTextLayer.cpp
@@ -5,19 +5,19 @@
  * found in the LICENSE file.
  */
 
-#include "SkottiePriv.h"
+#include "modules/skottie/src/SkottiePriv.h"
 
-#include "SkData.h"
-#include "SkFontMgr.h"
-#include "SkMakeUnique.h"
-#include "SkottieAdapter.h"
-#include "SkottieJson.h"
-#include "SkottieValue.h"
-#include "SkSGDraw.h"
-#include "SkSGGroup.h"
-#include "SkSGPaint.h"
-#include "SkSGText.h"
-#include "SkTypes.h"
+#include "include/core/SkData.h"
+#include "include/core/SkFontMgr.h"
+#include "include/core/SkTypes.h"
+#include "modules/skottie/src/SkottieAdapter.h"
+#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottieValue.h"
+#include "modules/sksg/include/SkSGDraw.h"
+#include "modules/sksg/include/SkSGGroup.h"
+#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/sksg/include/SkSGText.h"
+#include "src/core/SkMakeUnique.h"
 
 #include <string.h>
 
diff --git a/modules/skottie/src/SkottieTool.cpp b/modules/skottie/src/SkottieTool.cpp
index 44c724a..c84a613 100644
--- a/modules/skottie/src/SkottieTool.cpp
+++ b/modules/skottie/src/SkottieTool.cpp
@@ -5,17 +5,17 @@
  * found in the LICENSE file.
  */
 
-#include "CommandLineFlags.h"
-#include "SkCanvas.h"
-#include "SkGraphics.h"
-#include "SkMakeUnique.h"
-#include "SkOSFile.h"
-#include "SkOSPath.h"
-#include "SkPictureRecorder.h"
-#include "SkStream.h"
-#include "SkSurface.h"
-#include "Skottie.h"
-#include "SkottieUtils.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkGraphics.h"
+#include "include/core/SkPictureRecorder.h"
+#include "include/core/SkStream.h"
+#include "include/core/SkSurface.h"
+#include "modules/skottie/include/Skottie.h"
+#include "modules/skottie/utils/SkottieUtils.h"
+#include "src/core/SkMakeUnique.h"
+#include "src/core/SkOSFile.h"
+#include "src/utils/SkOSPath.h"
+#include "tools/flags/CommandLineFlags.h"
 
 #include <vector>
 
diff --git a/modules/skottie/src/SkottieValue.cpp b/modules/skottie/src/SkottieValue.cpp
index edba830..a78d5f8 100644
--- a/modules/skottie/src/SkottieValue.cpp
+++ b/modules/skottie/src/SkottieValue.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "SkottieValue.h"
+#include "modules/skottie/src/SkottieValue.h"
 
-#include "SkColor.h"
-#include "SkottieJson.h"
-#include "SkottiePriv.h"
-#include "SkNx.h"
-#include "SkPoint.h"
-#include "SkSize.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkSize.h"
+#include "include/private/SkNx.h"
+#include "modules/skottie/src/SkottieJson.h"
+#include "modules/skottie/src/SkottiePriv.h"
 
 namespace  skottie {
 
diff --git a/modules/skottie/src/SkottieValue.h b/modules/skottie/src/SkottieValue.h
index 7779dda..bf5c576 100644
--- a/modules/skottie/src/SkottieValue.h
+++ b/modules/skottie/src/SkottieValue.h
@@ -8,14 +8,14 @@
 #ifndef SkottieValue_DEFINED
 #define SkottieValue_DEFINED
 
-#include "SkColor.h"
-#include "SkottieShaper.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkScalar.h"
-#include "SkString.h"
-#include "SkTextUtils.h"
-#include "SkTypeface.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkString.h"
+#include "include/core/SkTypeface.h"
+#include "include/utils/SkTextUtils.h"
+#include "modules/skottie/src/SkottieShaper.h"
 
 #include <vector>
 
diff --git a/modules/skottie/utils/SkottieUtils.cpp b/modules/skottie/utils/SkottieUtils.cpp
index b6857dd..191d834 100644
--- a/modules/skottie/utils/SkottieUtils.cpp
+++ b/modules/skottie/utils/SkottieUtils.cpp
@@ -5,15 +5,15 @@
  * found in the LICENSE file.
  */
 
-#include "SkottieUtils.h"
+#include "modules/skottie/utils/SkottieUtils.h"
 
-#include "SkAnimCodecPlayer.h"
-#include "SkData.h"
-#include "SkCodec.h"
-#include "SkImage.h"
-#include "SkMakeUnique.h"
-#include "SkOSFile.h"
-#include "SkOSPath.h"
+#include "include/codec/SkCodec.h"
+#include "include/core/SkData.h"
+#include "include/core/SkImage.h"
+#include "include/utils/SkAnimCodecPlayer.h"
+#include "src/core/SkMakeUnique.h"
+#include "src/core/SkOSFile.h"
+#include "src/utils/SkOSPath.h"
 
 #include <cmath>
 
diff --git a/modules/skottie/utils/SkottieUtils.h b/modules/skottie/utils/SkottieUtils.h
index fe7d2b8..0783888 100644
--- a/modules/skottie/utils/SkottieUtils.h
+++ b/modules/skottie/utils/SkottieUtils.h
@@ -8,11 +8,11 @@
 #ifndef SkottieUtils_DEFINED
 #define SkottieUtils_DEFINED
 
-#include "SkColor.h"
-#include "Skottie.h"
-#include "SkottieProperty.h"
-#include "SkString.h"
-#include "SkTHash.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkString.h"
+#include "include/private/SkTHash.h"
+#include "modules/skottie/include/Skottie.h"
+#include "modules/skottie/include/SkottieProperty.h"
 
 #include <memory>
 #include <string>
diff --git a/modules/sksg/include/SkSGClipEffect.h b/modules/sksg/include/SkSGClipEffect.h
index 309127f..6614c6a 100644
--- a/modules/sksg/include/SkSGClipEffect.h
+++ b/modules/sksg/include/SkSGClipEffect.h
@@ -8,7 +8,7 @@
 #ifndef SkSGClipEffect_DEFINED
 #define SkSGClipEffect_DEFINED
 
-#include "SkSGEffectNode.h"
+#include "modules/sksg/include/SkSGEffectNode.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/include/SkSGColorFilter.h b/modules/sksg/include/SkSGColorFilter.h
index 7c02958..a108821 100644
--- a/modules/sksg/include/SkSGColorFilter.h
+++ b/modules/sksg/include/SkSGColorFilter.h
@@ -8,9 +8,9 @@
 #ifndef SkSGColorFilter_DEFINED
 #define SkSGColorFilter_DEFINED
 
-#include "SkSGEffectNode.h"
+#include "modules/sksg/include/SkSGEffectNode.h"
 
-#include "SkBlendMode.h"
+#include "include/core/SkBlendMode.h"
 
 #include <vector>
 
diff --git a/modules/sksg/include/SkSGDraw.h b/modules/sksg/include/SkSGDraw.h
index d7d0959..0889ebf 100644
--- a/modules/sksg/include/SkSGDraw.h
+++ b/modules/sksg/include/SkSGDraw.h
@@ -8,9 +8,9 @@
 #ifndef SkSGDraw_DEFINED
 #define SkSGDraw_DEFINED
 
-#include "SkSGGeometryNode.h"
-#include "SkSGPaint.h"
-#include "SkSGRenderNode.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/include/SkSGEffectNode.h b/modules/sksg/include/SkSGEffectNode.h
index 1fe9468..005a99c 100644
--- a/modules/sksg/include/SkSGEffectNode.h
+++ b/modules/sksg/include/SkSGEffectNode.h
@@ -8,7 +8,7 @@
 #ifndef SkSGEffectNode_DEFINED
 #define SkSGEffectNode_DEFINED
 
-#include "SkSGRenderNode.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/include/SkSGGeometryNode.h b/modules/sksg/include/SkSGGeometryNode.h
index 66be09d..d9d4e8dd 100644
--- a/modules/sksg/include/SkSGGeometryNode.h
+++ b/modules/sksg/include/SkSGGeometryNode.h
@@ -8,7 +8,7 @@
 #ifndef SkSGGeometryNode_DEFINED
 #define SkSGGeometryNode_DEFINED
 
-#include "SkSGNode.h"
+#include "modules/sksg/include/SkSGNode.h"
 
 class SkCanvas;
 class SkPaint;
diff --git a/modules/sksg/include/SkSGGeometryTransform.h b/modules/sksg/include/SkSGGeometryTransform.h
index f9907ed..400ab8a 100644
--- a/modules/sksg/include/SkSGGeometryTransform.h
+++ b/modules/sksg/include/SkSGGeometryTransform.h
@@ -8,9 +8,9 @@
 #ifndef SkSGGeometryTransform_DEFINED
 #define SkSGGeometryTransform_DEFINED
 
-#include "SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
 
-#include "SkPath.h"
+#include "include/core/SkPath.h"
 
 class SkMatrix;
 
diff --git a/modules/sksg/include/SkSGGradient.h b/modules/sksg/include/SkSGGradient.h
index c58b77d..78b7227 100644
--- a/modules/sksg/include/SkSGGradient.h
+++ b/modules/sksg/include/SkSGGradient.h
@@ -8,12 +8,12 @@
 #ifndef SkSGGradient_DEFINED
 #define SkSGGradient_DEFINED
 
-#include "SkSGRenderEffect.h"
+#include "modules/sksg/include/SkSGRenderEffect.h"
 
-#include "SkColor.h"
-#include "SkPoint.h"
-#include "SkScalar.h"
-#include "SkShader.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkShader.h"
 
 #include <vector>
 
diff --git a/modules/sksg/include/SkSGGroup.h b/modules/sksg/include/SkSGGroup.h
index ccb9cf8..ba5c47b 100644
--- a/modules/sksg/include/SkSGGroup.h
+++ b/modules/sksg/include/SkSGGroup.h
@@ -8,7 +8,7 @@
 #ifndef SkSGGroup_DEFINED
 #define SkSGGroup_DEFINED
 
-#include "SkSGRenderNode.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
 
 #include <vector>
 
diff --git a/modules/sksg/include/SkSGImage.h b/modules/sksg/include/SkSGImage.h
index 75868c7..178662a 100644
--- a/modules/sksg/include/SkSGImage.h
+++ b/modules/sksg/include/SkSGImage.h
@@ -8,9 +8,9 @@
 #ifndef SkSGImage_DEFINED
 #define SkSGImage_DEFINED
 
-#include "SkSGRenderNode.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
 
-#include "SkFilterQuality.h"
+#include "include/core/SkFilterQuality.h"
 
 class SkImage;
 
diff --git a/modules/sksg/include/SkSGInvalidationController.h b/modules/sksg/include/SkSGInvalidationController.h
index d6f7bd3..dc9fb90 100644
--- a/modules/sksg/include/SkSGInvalidationController.h
+++ b/modules/sksg/include/SkSGInvalidationController.h
@@ -8,9 +8,9 @@
 #ifndef SkSGInvalidationController_DEFINED
 #define SkSGInvalidationController_DEFINED
 
-#include "SkMatrix.h"
-#include "SkTDArray.h"
-#include "SkTypes.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkTypes.h"
+#include "include/private/SkTDArray.h"
 
 struct SkRect;
 
diff --git a/modules/sksg/include/SkSGMaskEffect.h b/modules/sksg/include/SkSGMaskEffect.h
index 9837d0e..4b3b2f4 100644
--- a/modules/sksg/include/SkSGMaskEffect.h
+++ b/modules/sksg/include/SkSGMaskEffect.h
@@ -8,7 +8,7 @@
 #ifndef SkSGMaskEffect_DEFINED
 #define SkSGMaskEffect_DEFINED
 
-#include "SkSGEffectNode.h"
+#include "modules/sksg/include/SkSGEffectNode.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/include/SkSGMerge.h b/modules/sksg/include/SkSGMerge.h
index b37530a..9599360 100644
--- a/modules/sksg/include/SkSGMerge.h
+++ b/modules/sksg/include/SkSGMerge.h
@@ -8,9 +8,9 @@
 #ifndef SkSGMerge_DEFINED
 #define SkSGMerge_DEFINED
 
-#include "SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
 
-#include "SkPath.h"
+#include "include/core/SkPath.h"
 
 #include <vector>
 
diff --git a/modules/sksg/include/SkSGNode.h b/modules/sksg/include/SkSGNode.h
index 68bcbab..7fb3dce 100644
--- a/modules/sksg/include/SkSGNode.h
+++ b/modules/sksg/include/SkSGNode.h
@@ -8,8 +8,8 @@
 #ifndef SkSGNode_DEFINED
 #define SkSGNode_DEFINED
 
-#include "SkRect.h"
-#include "SkRefCnt.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
 
 #include <vector>
 
diff --git a/modules/sksg/include/SkSGOpacityEffect.h b/modules/sksg/include/SkSGOpacityEffect.h
index 8e1105c..126ed3f 100644
--- a/modules/sksg/include/SkSGOpacityEffect.h
+++ b/modules/sksg/include/SkSGOpacityEffect.h
@@ -8,7 +8,7 @@
 #ifndef SkSGOpacityEffect_DEFINED
 #define SkSGOpacityEffect_DEFINED
 
-#include "SkSGEffectNode.h"
+#include "modules/sksg/include/SkSGEffectNode.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/include/SkSGPaint.h b/modules/sksg/include/SkSGPaint.h
index 52dd7b4..59c0de5 100644
--- a/modules/sksg/include/SkSGPaint.h
+++ b/modules/sksg/include/SkSGPaint.h
@@ -8,10 +8,10 @@
 #ifndef SkSGPaint_DEFINED
 #define SkSGPaint_DEFINED
 
-#include "SkSGNode.h"
+#include "modules/sksg/include/SkSGNode.h"
 
-#include "SkColor.h"
-#include "SkPaint.h"
+#include "include/core/SkColor.h"
+#include "include/core/SkPaint.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/include/SkSGPath.h b/modules/sksg/include/SkSGPath.h
index 55d16fa..1135fb9 100644
--- a/modules/sksg/include/SkSGPath.h
+++ b/modules/sksg/include/SkSGPath.h
@@ -8,9 +8,9 @@
 #ifndef SkSGPath_DEFINED
 #define SkSGPath_DEFINED
 
-#include "SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
 
-#include "SkPath.h"
+#include "include/core/SkPath.h"
 
 class SkCanvas;
 class SkPaint;
diff --git a/modules/sksg/include/SkSGPlane.h b/modules/sksg/include/SkSGPlane.h
index f8338a1..994ed6b 100644
--- a/modules/sksg/include/SkSGPlane.h
+++ b/modules/sksg/include/SkSGPlane.h
@@ -8,7 +8,7 @@
 #ifndef SkSGPlane_DEFINED
 #define SkSGPlane_DEFINED
 
-#include "SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
 
 class SkCanvas;
 class SkPaint;
diff --git a/modules/sksg/include/SkSGRect.h b/modules/sksg/include/SkSGRect.h
index a4666b4..29456a0 100644
--- a/modules/sksg/include/SkSGRect.h
+++ b/modules/sksg/include/SkSGRect.h
@@ -8,11 +8,11 @@
 #ifndef SkSGRect_DEFINED
 #define SkSGRect_DEFINED
 
-#include "SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
 
-#include "SkPath.h"
-#include "SkRect.h"
-#include "SkRRect.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkRRect.h"
+#include "include/core/SkRect.h"
 
 class SkCanvas;
 class SkPaint;
diff --git a/modules/sksg/include/SkSGRenderEffect.h b/modules/sksg/include/SkSGRenderEffect.h
index 3d9a830..b401361 100644
--- a/modules/sksg/include/SkSGRenderEffect.h
+++ b/modules/sksg/include/SkSGRenderEffect.h
@@ -8,11 +8,11 @@
 #ifndef SkSGRenderEffect_DEFINED
 #define SkSGRenderEffect_DEFINED
 
-#include "SkSGEffectNode.h"
+#include "modules/sksg/include/SkSGEffectNode.h"
 
-#include "SkBlendMode.h"
-#include "SkBlurImageFilter.h"
-#include "SkColor.h"
+#include "include/core/SkBlendMode.h"
+#include "include/core/SkColor.h"
+#include "include/effects/SkBlurImageFilter.h"
 
 #include <memory>
 #include <vector>
diff --git a/modules/sksg/include/SkSGRenderNode.h b/modules/sksg/include/SkSGRenderNode.h
index b76ea9d..7703075 100644
--- a/modules/sksg/include/SkSGRenderNode.h
+++ b/modules/sksg/include/SkSGRenderNode.h
@@ -8,11 +8,11 @@
 #ifndef SkSGRenderNode_DEFINED
 #define SkSGRenderNode_DEFINED
 
-#include "SkSGNode.h"
+#include "modules/sksg/include/SkSGNode.h"
 
-#include "SkBlendMode.h"
-#include "SkColorFilter.h"
-#include "SkShader.h"
+#include "include/core/SkBlendMode.h"
+#include "include/core/SkColorFilter.h"
+#include "include/core/SkShader.h"
 
 class SkCanvas;
 class SkImageFilter;
diff --git a/modules/sksg/include/SkSGRoundEffect.h b/modules/sksg/include/SkSGRoundEffect.h
index 4787a8c..20a02d0 100644
--- a/modules/sksg/include/SkSGRoundEffect.h
+++ b/modules/sksg/include/SkSGRoundEffect.h
@@ -8,9 +8,9 @@
 #ifndef SkSGRoundEffect_DEFINED
 #define SkSGRoundEffect_DEFINED
 
-#include "SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
 
-#include "SkPath.h"
+#include "include/core/SkPath.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/include/SkSGScene.h b/modules/sksg/include/SkSGScene.h
index 9261cf4..19d5f87 100644
--- a/modules/sksg/include/SkSGScene.h
+++ b/modules/sksg/include/SkSGScene.h
@@ -8,8 +8,8 @@
 #ifndef SkSGScene_DEFINED
 #define SkSGScene_DEFINED
 
-#include "SkRefCnt.h"
-#include "SkTypes.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkTypes.h"
 
 #include <memory>
 #include <vector>
diff --git a/modules/sksg/include/SkSGText.h b/modules/sksg/include/SkSGText.h
index e2cf788..ebe7835 100644
--- a/modules/sksg/include/SkSGText.h
+++ b/modules/sksg/include/SkSGText.h
@@ -8,13 +8,13 @@
 #ifndef SkSGText_DEFINED
 #define SkSGText_DEFINED
 
-#include "SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
 
-#include "SkFont.h"
-#include "SkPoint.h"
-#include "SkString.h"
-#include "SkTextBlob.h"
-#include "SkTextUtils.h"
+#include "include/core/SkFont.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkString.h"
+#include "include/core/SkTextBlob.h"
+#include "include/utils/SkTextUtils.h"
 
 class SkCanvas;
 class SkPaint;
diff --git a/modules/sksg/include/SkSGTransform.h b/modules/sksg/include/SkSGTransform.h
index d8408da..0d68da7 100644
--- a/modules/sksg/include/SkSGTransform.h
+++ b/modules/sksg/include/SkSGTransform.h
@@ -8,10 +8,10 @@
 #ifndef SkSGTransform_DEFINED
 #define SkSGTransform_DEFINED
 
-#include "SkSGEffectNode.h"
+#include "modules/sksg/include/SkSGEffectNode.h"
 
-#include "SkMatrix.h"
-#include "SkMatrix44.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkMatrix44.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/include/SkSGTrimEffect.h b/modules/sksg/include/SkSGTrimEffect.h
index ea2fd253..804f028 100644
--- a/modules/sksg/include/SkSGTrimEffect.h
+++ b/modules/sksg/include/SkSGTrimEffect.h
@@ -8,10 +8,10 @@
 #ifndef SkSGTrimEffect_DEFINED
 #define SkSGTrimEffect_DEFINED
 
-#include "SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
 
-#include "SkPath.h"
-#include "SkTrimPathEffect.h"
+#include "include/core/SkPath.h"
+#include "include/effects/SkTrimPathEffect.h"
 
 class SkCanvas;
 class SkPaint;
diff --git a/modules/sksg/samples/SampleSVGPong.cpp b/modules/sksg/samples/SampleSVGPong.cpp
index bb2ba1a..034d433 100644
--- a/modules/sksg/samples/SampleSVGPong.cpp
+++ b/modules/sksg/samples/SampleSVGPong.cpp
@@ -5,18 +5,18 @@
  * found in the LICENSE file.
  */
 
-#include "AnimTimer.h"
-#include "Sample.h"
-#include "SkRRect.h"
-#include "SkRandom.h"
+#include "include/core/SkRRect.h"
+#include "include/utils/SkRandom.h"
+#include "samplecode/Sample.h"
+#include "tools/timer/AnimTimer.h"
 
-#include "SkSGDraw.h"
-#include "SkSGGroup.h"
-#include "SkSGPaint.h"
-#include "SkSGPath.h"
-#include "SkSGRect.h"
-#include "SkSGScene.h"
-#include "SkSGTransform.h"
+#include "modules/sksg/include/SkSGDraw.h"
+#include "modules/sksg/include/SkSGGroup.h"
+#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/sksg/include/SkSGPath.h"
+#include "modules/sksg/include/SkSGRect.h"
+#include "modules/sksg/include/SkSGScene.h"
+#include "modules/sksg/include/SkSGTransform.h"
 
 namespace {
 
diff --git a/modules/sksg/src/SkSGClipEffect.cpp b/modules/sksg/src/SkSGClipEffect.cpp
index 4969e3b..8e98d5c 100644
--- a/modules/sksg/src/SkSGClipEffect.cpp
+++ b/modules/sksg/src/SkSGClipEffect.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGClipEffect.h"
+#include "modules/sksg/include/SkSGClipEffect.h"
 
-#include "SkCanvas.h"
-#include "SkPath.h"
-#include "SkSGGeometryNode.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPath.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGColorFilter.cpp b/modules/sksg/src/SkSGColorFilter.cpp
index f247f05..939484d 100644
--- a/modules/sksg/src/SkSGColorFilter.cpp
+++ b/modules/sksg/src/SkSGColorFilter.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGColorFilter.h"
+#include "modules/sksg/include/SkSGColorFilter.h"
 
-#include "SkColorData.h"
-#include "SkColorFilter.h"
-#include "SkSGPaint.h"
-#include "SkTableColorFilter.h"
+#include "include/core/SkColorFilter.h"
+#include "include/effects/SkTableColorFilter.h"
+#include "include/private/SkColorData.h"
+#include "modules/sksg/include/SkSGPaint.h"
 
 #include <cmath>
 
diff --git a/modules/sksg/src/SkSGDraw.cpp b/modules/sksg/src/SkSGDraw.cpp
index 797b58a..373d4b1 100644
--- a/modules/sksg/src/SkSGDraw.cpp
+++ b/modules/sksg/src/SkSGDraw.cpp
@@ -5,14 +5,14 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGDraw.h"
+#include "modules/sksg/include/SkSGDraw.h"
 
-#include "SkCanvas.h"
-#include "SkPath.h"
-#include "SkSGGeometryNode.h"
-#include "SkSGInvalidationController.h"
-#include "SkSGPaint.h"
-#include "SkTLazy.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPath.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGInvalidationController.h"
+#include "modules/sksg/include/SkSGPaint.h"
+#include "src/core/SkTLazy.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGEffectNode.cpp b/modules/sksg/src/SkSGEffectNode.cpp
index 8ea2eea..a17c705 100644
--- a/modules/sksg/src/SkSGEffectNode.cpp
+++ b/modules/sksg/src/SkSGEffectNode.cpp
@@ -5,7 +5,7 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGEffectNode.h"
+#include "modules/sksg/include/SkSGEffectNode.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGGeometryNode.cpp b/modules/sksg/src/SkSGGeometryNode.cpp
index 78ef6e6..653866e 100644
--- a/modules/sksg/src/SkSGGeometryNode.cpp
+++ b/modules/sksg/src/SkSGGeometryNode.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGGeometryNode.h"
+#include "modules/sksg/include/SkSGGeometryNode.h"
 
-#include "SkPath.h"
+#include "include/core/SkPath.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGGeometryTransform.cpp b/modules/sksg/src/SkSGGeometryTransform.cpp
index 224d46b..d0ff83e 100644
--- a/modules/sksg/src/SkSGGeometryTransform.cpp
+++ b/modules/sksg/src/SkSGGeometryTransform.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGGeometryTransform.h"
+#include "modules/sksg/include/SkSGGeometryTransform.h"
 
-#include "SkCanvas.h"
-#include "SkSGTransform.h"
-#include "SkSGTransformPriv.h"
+#include "include/core/SkCanvas.h"
+#include "modules/sksg/include/SkSGTransform.h"
+#include "modules/sksg/src/SkSGTransformPriv.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGGradient.cpp b/modules/sksg/src/SkSGGradient.cpp
index d2575e0..4834a9d 100644
--- a/modules/sksg/src/SkSGGradient.cpp
+++ b/modules/sksg/src/SkSGGradient.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGGradient.h"
+#include "modules/sksg/include/SkSGGradient.h"
 
-#include "SkGradientShader.h"
-#include "SkPaint.h"
+#include "include/core/SkPaint.h"
+#include "include/effects/SkGradientShader.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGGroup.cpp b/modules/sksg/src/SkSGGroup.cpp
index 27e4622..2732279 100644
--- a/modules/sksg/src/SkSGGroup.cpp
+++ b/modules/sksg/src/SkSGGroup.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGGroup.h"
+#include "modules/sksg/include/SkSGGroup.h"
 
-#include "SkCanvas.h"
+#include "include/core/SkCanvas.h"
 
 #include <algorithm>
 
diff --git a/modules/sksg/src/SkSGImage.cpp b/modules/sksg/src/SkSGImage.cpp
index 768f920..0b5e86b 100644
--- a/modules/sksg/src/SkSGImage.cpp
+++ b/modules/sksg/src/SkSGImage.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGImage.h"
+#include "modules/sksg/include/SkSGImage.h"
 
-#include "SkCanvas.h"
-#include "SkImage.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkImage.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGInvalidationController.cpp b/modules/sksg/src/SkSGInvalidationController.cpp
index df711ab..d53a9c8 100644
--- a/modules/sksg/src/SkSGInvalidationController.cpp
+++ b/modules/sksg/src/SkSGInvalidationController.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGInvalidationController.h"
+#include "modules/sksg/include/SkSGInvalidationController.h"
 
-#include "SkRect.h"
-#include "SkTLazy.h"
+#include "include/core/SkRect.h"
+#include "src/core/SkTLazy.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGMaskEffect.cpp b/modules/sksg/src/SkSGMaskEffect.cpp
index 0bcddcd..ce5bdf5 100644
--- a/modules/sksg/src/SkSGMaskEffect.cpp
+++ b/modules/sksg/src/SkSGMaskEffect.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGMaskEffect.h"
+#include "modules/sksg/include/SkSGMaskEffect.h"
 
-#include "SkCanvas.h"
+#include "include/core/SkCanvas.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGMerge.cpp b/modules/sksg/src/SkSGMerge.cpp
index a882647..69cd6f2 100644
--- a/modules/sksg/src/SkSGMerge.cpp
+++ b/modules/sksg/src/SkSGMerge.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGMerge.h"
+#include "modules/sksg/include/SkSGMerge.h"
 
-#include "SkCanvas.h"
-#include "SkPathOps.h"
+#include "include/core/SkCanvas.h"
+#include "include/pathops/SkPathOps.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGNode.cpp b/modules/sksg/src/SkSGNode.cpp
index 1d4f63d..eeacabf 100644
--- a/modules/sksg/src/SkSGNode.cpp
+++ b/modules/sksg/src/SkSGNode.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "SkRectPriv.h"
-#include "SkSGNode.h"
-#include "SkSGInvalidationController.h"
+#include "modules/sksg/include/SkSGInvalidationController.h"
+#include "modules/sksg/include/SkSGNode.h"
+#include "src/core/SkRectPriv.h"
 
 #include <algorithm>
 
diff --git a/modules/sksg/src/SkSGOpacityEffect.cpp b/modules/sksg/src/SkSGOpacityEffect.cpp
index d6abfa2..bb1f94d 100644
--- a/modules/sksg/src/SkSGOpacityEffect.cpp
+++ b/modules/sksg/src/SkSGOpacityEffect.cpp
@@ -5,7 +5,7 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGOpacityEffect.h"
+#include "modules/sksg/include/SkSGOpacityEffect.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGPaint.cpp b/modules/sksg/src/SkSGPaint.cpp
index 16e0657..9b69f56 100644
--- a/modules/sksg/src/SkSGPaint.cpp
+++ b/modules/sksg/src/SkSGPaint.cpp
@@ -5,9 +5,9 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGPaint.h"
+#include "modules/sksg/include/SkSGPaint.h"
 
-#include "SkSGRenderEffect.h"
+#include "modules/sksg/include/SkSGRenderEffect.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGPath.cpp b/modules/sksg/src/SkSGPath.cpp
index 3b63182..9895ee6 100644
--- a/modules/sksg/src/SkSGPath.cpp
+++ b/modules/sksg/src/SkSGPath.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGPath.h"
+#include "modules/sksg/include/SkSGPath.h"
 
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkRectPriv.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "src/core/SkRectPriv.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGPlane.cpp b/modules/sksg/src/SkSGPlane.cpp
index 989f40c..122ee53 100644
--- a/modules/sksg/src/SkSGPlane.cpp
+++ b/modules/sksg/src/SkSGPlane.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGPlane.h"
+#include "modules/sksg/include/SkSGPlane.h"
 
-#include "SkCanvas.h"
-#include "SkPath.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPath.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGRect.cpp b/modules/sksg/src/SkSGRect.cpp
index 091751b..e5acd65 100644
--- a/modules/sksg/src/SkSGRect.cpp
+++ b/modules/sksg/src/SkSGRect.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGRect.h"
+#include "modules/sksg/include/SkSGRect.h"
 
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkPath.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGRenderEffect.cpp b/modules/sksg/src/SkSGRenderEffect.cpp
index 7765b2e..6310ed2 100644
--- a/modules/sksg/src/SkSGRenderEffect.cpp
+++ b/modules/sksg/src/SkSGRenderEffect.cpp
@@ -5,12 +5,12 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGRenderEffect.h"
+#include "modules/sksg/include/SkSGRenderEffect.h"
 
-#include "SkCanvas.h"
-#include "SkDropShadowImageFilter.h"
-#include "SkMakeUnique.h"
-#include "SkShader.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkShader.h"
+#include "include/effects/SkDropShadowImageFilter.h"
+#include "src/core/SkMakeUnique.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGRenderNode.cpp b/modules/sksg/src/SkSGRenderNode.cpp
index 961966b..532c237 100644
--- a/modules/sksg/src/SkSGRenderNode.cpp
+++ b/modules/sksg/src/SkSGRenderNode.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGRenderNode.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
 
-#include "SkCanvas.h"
-#include "SkImageFilter.h"
-#include "SkPaint.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkImageFilter.h"
+#include "include/core/SkPaint.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGRoundEffect.cpp b/modules/sksg/src/SkSGRoundEffect.cpp
index 14b8e1d..ba5db05 100644
--- a/modules/sksg/src/SkSGRoundEffect.cpp
+++ b/modules/sksg/src/SkSGRoundEffect.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGRoundEffect.h"
+#include "modules/sksg/include/SkSGRoundEffect.h"
 
-#include "SkCanvas.h"
-#include "SkCornerPathEffect.h"
-#include "SkStrokeRec.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkStrokeRec.h"
+#include "include/effects/SkCornerPathEffect.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGScene.cpp b/modules/sksg/src/SkSGScene.cpp
index 7d27bb2..0d56821 100644
--- a/modules/sksg/src/SkSGScene.cpp
+++ b/modules/sksg/src/SkSGScene.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGScene.h"
+#include "modules/sksg/include/SkSGScene.h"
 
-#include "SkCanvas.h"
-#include "SkMatrix.h"
-#include "SkPaint.h"
-#include "SkSGInvalidationController.h"
-#include "SkSGRenderNode.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkMatrix.h"
+#include "include/core/SkPaint.h"
+#include "modules/sksg/include/SkSGInvalidationController.h"
+#include "modules/sksg/include/SkSGRenderNode.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGText.cpp b/modules/sksg/src/SkSGText.cpp
index 6e1959e..2147640 100644
--- a/modules/sksg/src/SkSGText.cpp
+++ b/modules/sksg/src/SkSGText.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGText.h"
+#include "modules/sksg/include/SkSGText.h"
 
-#include "SkCanvas.h"
-#include "SkPaint.h"
-#include "SkPath.h"
-#include "SkTArray.h"
-#include "SkTypeface.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPath.h"
+#include "include/core/SkTypeface.h"
+#include "include/private/SkTArray.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGTransform.cpp b/modules/sksg/src/SkSGTransform.cpp
index fff1ba4..7440d7c 100644
--- a/modules/sksg/src/SkSGTransform.cpp
+++ b/modules/sksg/src/SkSGTransform.cpp
@@ -5,10 +5,10 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGTransform.h"
+#include "modules/sksg/include/SkSGTransform.h"
 
-#include "SkCanvas.h"
-#include "SkSGTransformPriv.h"
+#include "include/core/SkCanvas.h"
+#include "modules/sksg/src/SkSGTransformPriv.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGTransformPriv.h b/modules/sksg/src/SkSGTransformPriv.h
index 20441c1..d0c9818 100644
--- a/modules/sksg/src/SkSGTransformPriv.h
+++ b/modules/sksg/src/SkSGTransformPriv.h
@@ -8,7 +8,7 @@
 #ifndef SkSGTransformPriv_DEFINED
 #define SkSGTransformPriv_DEFINED
 
-#include "SkSGTransform.h"
+#include "modules/sksg/include/SkSGTransform.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/src/SkSGTrimEffect.cpp b/modules/sksg/src/SkSGTrimEffect.cpp
index 53f8f28..4c63b0c 100644
--- a/modules/sksg/src/SkSGTrimEffect.cpp
+++ b/modules/sksg/src/SkSGTrimEffect.cpp
@@ -5,11 +5,11 @@
  * found in the LICENSE file.
  */
 
-#include "SkSGTrimEffect.h"
+#include "modules/sksg/include/SkSGTrimEffect.h"
 
-#include "SkCanvas.h"
-#include "SkStrokeRec.h"
-#include "SkTrimPathEffect.h"
+#include "include/core/SkCanvas.h"
+#include "include/core/SkStrokeRec.h"
+#include "include/effects/SkTrimPathEffect.h"
 
 namespace sksg {
 
diff --git a/modules/sksg/tests/SGTest.cpp b/modules/sksg/tests/SGTest.cpp
index e3ecfdb..84928e6 100644
--- a/modules/sksg/tests/SGTest.cpp
+++ b/modules/sksg/tests/SGTest.cpp
@@ -5,22 +5,22 @@
  * found in the LICENSE file.
  */
 
-#include "SkTypes.h"
+#include "include/core/SkTypes.h"
 
 #if !defined(SK_BUILD_FOR_GOOGLE3)
 
-#include "SkRect.h"
-#include "SkRectPriv.h"
-#include "SkSGDraw.h"
-#include "SkSGGroup.h"
-#include "SkSGInvalidationController.h"
-#include "SkSGPaint.h"
-#include "SkSGRect.h"
-#include "SkSGRenderEffect.h"
-#include "SkSGTransform.h"
-#include "SkTo.h"
+#include "include/core/SkRect.h"
+#include "include/private/SkTo.h"
+#include "modules/sksg/include/SkSGDraw.h"
+#include "modules/sksg/include/SkSGGroup.h"
+#include "modules/sksg/include/SkSGInvalidationController.h"
+#include "modules/sksg/include/SkSGPaint.h"
+#include "modules/sksg/include/SkSGRect.h"
+#include "modules/sksg/include/SkSGRenderEffect.h"
+#include "modules/sksg/include/SkSGTransform.h"
+#include "src/core/SkRectPriv.h"
 
-#include "Test.h"
+#include "tests/Test.h"
 
 #include <vector>
 
diff --git a/modules/skshaper/include/SkShaper.h b/modules/skshaper/include/SkShaper.h
index b42ec04..a0507a2 100644
--- a/modules/skshaper/include/SkShaper.h
+++ b/modules/skshaper/include/SkShaper.h
@@ -8,11 +8,11 @@
 #ifndef SkShaper_DEFINED
 #define SkShaper_DEFINED
 
-#include "SkPoint.h"
-#include "SkRefCnt.h"
-#include "SkScalar.h"
-#include "SkTextBlob.h"
-#include "SkTypes.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkTextBlob.h"
+#include "include/core/SkTypes.h"
 
 #include <memory>
 
diff --git a/modules/skshaper/src/SkShaper.cpp b/modules/skshaper/src/SkShaper.cpp
index 26f1001..a089ee7 100644
--- a/modules/skshaper/src/SkShaper.cpp
+++ b/modules/skshaper/src/SkShaper.cpp
@@ -5,16 +5,16 @@
  * found in the LICENSE file.
  */
 
-#include "SkFont.h"
-#include "SkFontMetrics.h"
-#include "SkFontMgr.h"
-#include "SkMakeUnique.h"
-#include "SkShaper.h"
-#include "SkString.h"
-#include "SkTFitsIn.h"
-#include "SkTextBlobPriv.h"
-#include "SkTypeface.h"
-#include "SkUTF.h"
+#include "include/core/SkFont.h"
+#include "include/core/SkFontMetrics.h"
+#include "include/core/SkFontMgr.h"
+#include "include/core/SkString.h"
+#include "include/core/SkTypeface.h"
+#include "include/private/SkTFitsIn.h"
+#include "modules/skshaper/include/SkShaper.h"
+#include "src/core/SkMakeUnique.h"
+#include "src/core/SkTextBlobPriv.h"
+#include "src/utils/SkUTF.h"
 
 #include <limits.h>
 #include <string.h>
diff --git a/modules/skshaper/src/SkShaper_harfbuzz.cpp b/modules/skshaper/src/SkShaper_harfbuzz.cpp
index ae30461..9423732 100644
--- a/modules/skshaper/src/SkShaper_harfbuzz.cpp
+++ b/modules/skshaper/src/SkShaper_harfbuzz.cpp
@@ -5,29 +5,29 @@
  * found in the LICENSE file.
  */
 
-#include "SkBitmaskEnum.h"
-#include "SkFont.h"
-#include "SkFontArguments.h"
-#include "SkFontMetrics.h"
-#include "SkFontMgr.h"
-#include "SkFontTypes.h"
-#include "SkMakeUnique.h"
-#include "SkMalloc.h"
-#include "SkPaint.h"
-#include "SkPoint.h"
-#include "SkRect.h"
-#include "SkRefCnt.h"
-#include "SkScalar.h"
-#include "SkShaper.h"
-#include "SkStream.h"
-#include "SkTArray.h"
-#include "SkTDPQueue.h"
-#include "SkTFitsIn.h"
-#include "SkTemplates.h"
-#include "SkTo.h"
-#include "SkTypeface.h"
-#include "SkTypes.h"
-#include "SkUTF.h"
+#include "include/core/SkFont.h"
+#include "include/core/SkFontArguments.h"
+#include "include/core/SkFontMetrics.h"
+#include "include/core/SkFontMgr.h"
+#include "include/core/SkFontTypes.h"
+#include "include/core/SkPaint.h"
+#include "include/core/SkPoint.h"
+#include "include/core/SkRect.h"
+#include "include/core/SkRefCnt.h"
+#include "include/core/SkScalar.h"
+#include "include/core/SkStream.h"
+#include "include/core/SkTypeface.h"
+#include "include/core/SkTypes.h"
+#include "include/private/SkBitmaskEnum.h"
+#include "include/private/SkMalloc.h"
+#include "include/private/SkTArray.h"
+#include "include/private/SkTFitsIn.h"
+#include "include/private/SkTemplates.h"
+#include "include/private/SkTo.h"
+#include "modules/skshaper/include/SkShaper.h"
+#include "src/core/SkMakeUnique.h"
+#include "src/core/SkTDPQueue.h"
+#include "src/utils/SkUTF.h"
 
 #include <hb.h>
 #include <hb-icu.h>
diff --git a/modules/skshaper/src/SkShaper_primitive.cpp b/modules/skshaper/src/SkShaper_primitive.cpp
index 30b7c7a..5f1e95d 100644
--- a/modules/skshaper/src/SkShaper_primitive.cpp
+++ b/modules/skshaper/src/SkShaper_primitive.cpp
@@ -5,13 +5,13 @@
  * found in the LICENSE file.
  */
 
-#include "SkFontMetrics.h"
-#include "SkMakeUnique.h"
-#include "SkShaper.h"
-#include "SkStream.h"
-#include "SkTo.h"
-#include "SkTypeface.h"
-#include "SkUTF.h"
+#include "include/core/SkFontMetrics.h"
+#include "include/core/SkStream.h"
+#include "include/core/SkTypeface.h"
+#include "include/private/SkTo.h"
+#include "modules/skshaper/include/SkShaper.h"
+#include "src/core/SkMakeUnique.h"
+#include "src/utils/SkUTF.h"
 
 class SkShaperPrimitive : public SkShaper {
 public: