diff --git a/base/iox/imagex/testdata/test.bmp b/base/iox/imagex/testdata/test.bmp
new file mode 100644
index 0000000000..5587b40a4b
Binary files /dev/null and b/base/iox/imagex/testdata/test.bmp differ
diff --git a/base/iox/imagex/testdata/test.gif b/base/iox/imagex/testdata/test.gif
new file mode 100644
index 0000000000..19d1f73eb0
Binary files /dev/null and b/base/iox/imagex/testdata/test.gif differ
diff --git a/base/iox/imagex/testdata/test.jpg b/base/iox/imagex/testdata/test.jpg
new file mode 100644
index 0000000000..7b2b794a08
Binary files /dev/null and b/base/iox/imagex/testdata/test.jpg differ
diff --git a/base/iox/imagex/testdata/test.png b/base/iox/imagex/testdata/test.png
new file mode 100644
index 0000000000..b1ad243b64
Binary files /dev/null and b/base/iox/imagex/testdata/test.png differ
diff --git a/base/iox/imagex/testdata/test.tif b/base/iox/imagex/testdata/test.tif
new file mode 100644
index 0000000000..3b5469dcd9
Binary files /dev/null and b/base/iox/imagex/testdata/test.tif differ
diff --git a/cli/testdata/testwrite.toml b/cli/testdata/testwrite.toml
new file mode 100644
index 0000000000..2403938c7b
--- /dev/null
+++ b/cli/testdata/testwrite.toml
@@ -0,0 +1,36 @@
+Includes = [
+ 'testinc.toml',
+ 'testinc3.toml',
+ 'testinc2.toml'
+]
+GUI = true
+GPU = true
+Debug = false
+ParamSet = ''
+ParamFile = ''
+ParamDocFile = ''
+Tag = 'testing'
+Note = 'something else'
+Run = 0
+Runs = 8
+Epochs = 500
+NTrials = 32
+NData = 12
+SaveWts = false
+EpochLog = false
+RunLog = false
+TrialLog = false
+TestEpochLog = false
+TestTrialLog = false
+NetData = false
+Enum = 'TestValue2'
+Slice = []
+StrSlice = []
+
+[PatParams]
+ NPats = 14
+ Sparseness = 0.22
+
+[Network]
+ '#VSPatchPrjn:Prjn.Learn.LRate' = '0.01'
+ '.PFCLayer:Layer.Inhib.Layer.Gi' = '2.4'
diff --git a/cmd/setup.go b/cmd/setup.go
index 5c48cb7ef7..c2108e437d 100644
--- a/cmd/setup.go
+++ b/cmd/setup.go
@@ -147,27 +147,27 @@ func (ld *linuxDistro) String() string {
// based on https://docs.fyne.io/started.
var linuxDistros = []*linuxDistro{
{name: "Debian/Ubuntu", sudo: true, tool: "apt", command: []string{"install"}, packages: []string{
- "gcc", "libgl1-mesa-dev", "libegl1-mesa-dev", "mesa-vulkan-drivers", "xorg-dev",
+ "gcc", "libgl1-mesa-dev", "libegl1-mesa-dev", "mesa-vulkan-drivers", "xorg-dev", "libwayland-dev",
}},
{name: "Fedora", sudo: true, tool: "dnf", command: []string{"install"}, packages: []string{
- "gcc", "libX11-devel", "libXcursor-devel", "libXrandr-devel", "libXinerama-devel", "mesa-libGL-devel", "libXi-devel", "libXxf86vm-devel", "mesa-vulkan-drivers",
+ "gcc", "libX11-devel", "libXcursor-devel", "libXrandr-devel", "libXinerama-devel", "mesa-libGL-devel", "libXi-devel", "libXxf86vm-devel", "mesa-vulkan-drivers", "wayland-devel",
}},
{name: "Arch", sudo: true, tool: "pacman", command: []string{"-S"}, packages: []string{
- "xorg-server-devel", "libxcursor", "libxrandr", "libxinerama", "libxi", "vulkan-swrast",
+ "xorg-server-devel", "libxcursor", "libxrandr", "libxinerama", "libxi", "vulkan-swrast", "wayland",
}},
{name: "Solus", sudo: true, tool: "eopkg", command: []string{"it", "-c"}, packages: []string{
- "system.devel", "mesalib-devel", "libxrandr-devel", "libxcursor-devel", "libxi-devel", "libxinerama-devel", "vulkan",
+ "system.devel", "mesalib-devel", "libxrandr-devel", "libxcursor-devel", "libxi-devel", "libxinerama-devel", "vulkan", "wayland-devel",
}},
{name: "openSUSE", sudo: true, tool: "zypper", command: []string{"install"}, packages: []string{
- "gcc", "libXcursor-devel", "libXrandr-devel", "Mesa-libGL-devel", "libXi-devel", "libXinerama-devel", "libXxf86vm-devel", "libvulkan1",
+ "gcc", "libXcursor-devel", "libXrandr-devel", "Mesa-libGL-devel", "libXi-devel", "libXinerama-devel", "libXxf86vm-devel", "libvulkan1", "wayland-devel",
}},
{name: "Void", sudo: true, tool: "xbps-install", command: []string{"-S"}, packages: []string{
- "base-devel", "xorg-server-devel", "libXrandr-devel", "libXcursor-devel", "libXinerama-devel", "vulkan-loader",
+ "base-devel", "xorg-server-devel", "libXrandr-devel", "libXcursor-devel", "libXinerama-devel", "vulkan-loader", "wayland-devel",
}},
{name: "Alpine", sudo: true, tool: "apk", command: []string{"add"}, packages: []string{
- "gcc", "libxcursor-dev", "libxrandr-dev", "libxinerama-dev", "libxi-dev", "linux-headers", "mesa-dev", "vulkan-loader",
+ "gcc", "libxcursor-dev", "libxrandr-dev", "libxinerama-dev", "libxi-dev", "linux-headers", "mesa-dev", "vulkan-loader", "wayland-dev",
}},
{name: "NixOS", sudo: false, tool: "nix-shell", command: []string{"-p"}, packages: []string{
- "libGL", "pkg-config", "xorg.libX11.dev", "xorg.libXcursor", "xorg.libXi", "xorg.libXinerama", "xorg.libXrandr", "xorg.libXxf86vm", "mesa.drivers", "vulkan-loader",
+ "libGL", "pkg-config", "xorg.libX11.dev", "xorg.libXcursor", "xorg.libXi", "xorg.libXinerama", "xorg.libXrandr", "xorg.libXxf86vm", "mesa.drivers", "vulkan-loader", "wayland",
}},
}
diff --git a/cmd/setup_test.go b/cmd/setup_test.go
index cedb7fa0f7..59cd193606 100644
--- a/cmd/setup_test.go
+++ b/cmd/setup_test.go
@@ -11,14 +11,14 @@ import (
"github.com/stretchr/testify/assert"
)
-const expectedlinuxDistroString = `Debian/Ubuntu: sudo apt install gcc libgl1-mesa-dev libegl1-mesa-dev mesa-vulkan-drivers xorg-dev
-Fedora: sudo dnf install gcc libX11-devel libXcursor-devel libXrandr-devel libXinerama-devel mesa-libGL-devel libXi-devel libXxf86vm-devel mesa-vulkan-drivers
-Arch: sudo pacman -S xorg-server-devel libxcursor libxrandr libxinerama libxi vulkan-swrast
-Solus: sudo eopkg it -c system.devel mesalib-devel libxrandr-devel libxcursor-devel libxi-devel libxinerama-devel vulkan
-openSUSE: sudo zypper install gcc libXcursor-devel libXrandr-devel Mesa-libGL-devel libXi-devel libXinerama-devel libXxf86vm-devel libvulkan1
-Void: sudo xbps-install -S base-devel xorg-server-devel libXrandr-devel libXcursor-devel libXinerama-devel vulkan-loader
-Alpine: sudo apk add gcc libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev linux-headers mesa-dev vulkan-loader
-NixOS: nix-shell -p libGL pkg-config xorg.libX11.dev xorg.libXcursor xorg.libXi xorg.libXinerama xorg.libXrandr xorg.libXxf86vm mesa.drivers vulkan-loader
+const expectedlinuxDistroString = `Debian/Ubuntu: sudo apt install gcc libgl1-mesa-dev libegl1-mesa-dev mesa-vulkan-drivers xorg-dev libwayland-dev
+Fedora: sudo dnf install gcc libX11-devel libXcursor-devel libXrandr-devel libXinerama-devel mesa-libGL-devel libXi-devel libXxf86vm-devel mesa-vulkan-drivers wayland-devel
+Arch: sudo pacman -S xorg-server-devel libxcursor libxrandr libxinerama libxi vulkan-swrast wayland
+Solus: sudo eopkg it -c system.devel mesalib-devel libxrandr-devel libxcursor-devel libxi-devel libxinerama-devel vulkan wayland-devel
+openSUSE: sudo zypper install gcc libXcursor-devel libXrandr-devel Mesa-libGL-devel libXi-devel libXinerama-devel libXxf86vm-devel libvulkan1 wayland-devel
+Void: sudo xbps-install -S base-devel xorg-server-devel libXrandr-devel libXcursor-devel libXinerama-devel vulkan-loader wayland-devel
+Alpine: sudo apk add gcc libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev linux-headers mesa-dev vulkan-loader wayland-dev
+NixOS: nix-shell -p libGL pkg-config xorg.libX11.dev xorg.libXcursor xorg.libXi xorg.libXinerama xorg.libXrandr xorg.libXxf86vm mesa.drivers vulkan-loader wayland
`
func TestLinuxDistroString(t *testing.T) {
diff --git a/colors/colormap/testdata/colormaps.png b/colors/colormap/testdata/colormaps.png
new file mode 100644
index 0000000000..9267d8c3a7
Binary files /dev/null and b/colors/colormap/testdata/colormaps.png differ
diff --git a/colors/gradient/testdata/linear-user-space.png b/colors/gradient/testdata/linear-user-space.png
new file mode 100644
index 0000000000..1b0632a268
Binary files /dev/null and b/colors/gradient/testdata/linear-user-space.png differ
diff --git a/colors/gradient/testdata/linear.png b/colors/gradient/testdata/linear.png
new file mode 100644
index 0000000000..8c9ee2e307
Binary files /dev/null and b/colors/gradient/testdata/linear.png differ
diff --git a/colors/gradient/testdata/radial-rot-user-space.png b/colors/gradient/testdata/radial-rot-user-space.png
new file mode 100644
index 0000000000..51ef76e83d
Binary files /dev/null and b/colors/gradient/testdata/radial-rot-user-space.png differ
diff --git a/colors/gradient/testdata/radial-rot.png b/colors/gradient/testdata/radial-rot.png
new file mode 100644
index 0000000000..152a36676b
Binary files /dev/null and b/colors/gradient/testdata/radial-rot.png differ
diff --git a/colors/gradient/testdata/radial-user-space.png b/colors/gradient/testdata/radial-user-space.png
new file mode 100644
index 0000000000..ef5327ff44
Binary files /dev/null and b/colors/gradient/testdata/radial-user-space.png differ
diff --git a/colors/gradient/testdata/radial.png b/colors/gradient/testdata/radial.png
new file mode 100644
index 0000000000..152a36676b
Binary files /dev/null and b/colors/gradient/testdata/radial.png differ
diff --git a/colors/testdata/alpha_blend_10.png b/colors/testdata/alpha_blend_10.png
new file mode 100644
index 0000000000..12398655e1
Binary files /dev/null and b/colors/testdata/alpha_blend_10.png differ
diff --git a/colors/testdata/alpha_blend_50.png b/colors/testdata/alpha_blend_50.png
new file mode 100644
index 0000000000..29a8319c32
Binary files /dev/null and b/colors/testdata/alpha_blend_50.png differ
diff --git a/colors/testdata/alpha_blend_90.png b/colors/testdata/alpha_blend_90.png
new file mode 100644
index 0000000000..90a904ff7b
Binary files /dev/null and b/colors/testdata/alpha_blend_90.png differ
diff --git a/colors/testdata/spaceddark.png b/colors/testdata/spaceddark.png
new file mode 100644
index 0000000000..f188734371
Binary files /dev/null and b/colors/testdata/spaceddark.png differ
diff --git a/colors/testdata/spacedlight.png b/colors/testdata/spacedlight.png
new file mode 100644
index 0000000000..94d7a8d7b7
Binary files /dev/null and b/colors/testdata/spacedlight.png differ
diff --git a/content/testdata/set-source.png b/content/testdata/set-source.png
new file mode 100644
index 0000000000..3861f219e6
Binary files /dev/null and b/content/testdata/set-source.png differ
diff --git a/core/testdata/app/scene-init.png b/core/testdata/app/scene-init.png
new file mode 100644
index 0000000000..281a3fa78e
Binary files /dev/null and b/core/testdata/app/scene-init.png differ
diff --git a/core/testdata/bind/basic.png b/core/testdata/bind/basic.png
new file mode 100644
index 0000000000..c7c668882d
Binary files /dev/null and b/core/testdata/bind/basic.png differ
diff --git a/core/testdata/bind/change.png b/core/testdata/bind/change.png
new file mode 100644
index 0000000000..cd0b783f9f
Binary files /dev/null and b/core/testdata/bind/change.png differ
diff --git a/core/testdata/bind/meter.png b/core/testdata/bind/meter.png
new file mode 100644
index 0000000000..422a043a11
Binary files /dev/null and b/core/testdata/bind/meter.png differ
diff --git a/core/testdata/bind/slider.png b/core/testdata/bind/slider.png
new file mode 100644
index 0000000000..63456595e3
Binary files /dev/null and b/core/testdata/bind/slider.png differ
diff --git a/core/testdata/bind/spinner.png b/core/testdata/bind/spinner.png
new file mode 100644
index 0000000000..2cb89d3498
Binary files /dev/null and b/core/testdata/bind/spinner.png differ
diff --git a/core/testdata/bind/text.png b/core/testdata/bind/text.png
new file mode 100644
index 0000000000..b3879f462e
Binary files /dev/null and b/core/testdata/bind/text.png differ
diff --git a/core/testdata/bind/update.png b/core/testdata/bind/update.png
new file mode 100644
index 0000000000..b970db24fd
Binary files /dev/null and b/core/testdata/bind/update.png differ
diff --git a/core/testdata/bind/validator-invalid.png b/core/testdata/bind/validator-invalid.png
new file mode 100644
index 0000000000..e21023d2c1
Binary files /dev/null and b/core/testdata/bind/validator-invalid.png differ
diff --git a/core/testdata/bind/validator-valid.png b/core/testdata/bind/validator-valid.png
new file mode 100644
index 0000000000..749927478a
Binary files /dev/null and b/core/testdata/bind/validator-valid.png differ
diff --git a/core/testdata/button/font-size.png b/core/testdata/button/font-size.png
new file mode 100644
index 0000000000..7fbbe17836
Binary files /dev/null and b/core/testdata/button/font-size.png differ
diff --git a/core/testdata/button/icon.png b/core/testdata/button/icon.png
new file mode 100644
index 0000000000..75d8f455f7
Binary files /dev/null and b/core/testdata/button/icon.png differ
diff --git a/core/testdata/button/menu-click.png b/core/testdata/button/menu-click.png
new file mode 100644
index 0000000000..f7ef32c601
Binary files /dev/null and b/core/testdata/button/menu-click.png differ
diff --git a/core/testdata/button/menu.png b/core/testdata/button/menu.png
new file mode 100644
index 0000000000..23f2dcfef9
Binary files /dev/null and b/core/testdata/button/menu.png differ
diff --git a/core/testdata/button/shortcut-menu.png b/core/testdata/button/shortcut-menu.png
new file mode 100644
index 0000000000..bf96197616
Binary files /dev/null and b/core/testdata/button/shortcut-menu.png differ
diff --git a/core/testdata/button/text-icon.png b/core/testdata/button/text-icon.png
new file mode 100644
index 0000000000..cbb69e369c
Binary files /dev/null and b/core/testdata/button/text-icon.png differ
diff --git a/core/testdata/button/text.png b/core/testdata/button/text.png
new file mode 100644
index 0000000000..b832211260
Binary files /dev/null and b/core/testdata/button/text.png differ
diff --git a/core/testdata/button/type-action.png b/core/testdata/button/type-action.png
new file mode 100644
index 0000000000..c4c2fe2a53
Binary files /dev/null and b/core/testdata/button/type-action.png differ
diff --git a/core/testdata/button/type-elevated.png b/core/testdata/button/type-elevated.png
new file mode 100644
index 0000000000..4b2fe25901
Binary files /dev/null and b/core/testdata/button/type-elevated.png differ
diff --git a/core/testdata/button/type-filled.png b/core/testdata/button/type-filled.png
new file mode 100644
index 0000000000..39138e0e10
Binary files /dev/null and b/core/testdata/button/type-filled.png differ
diff --git a/core/testdata/button/type-menu.png b/core/testdata/button/type-menu.png
new file mode 100644
index 0000000000..cbe97afd9b
Binary files /dev/null and b/core/testdata/button/type-menu.png differ
diff --git a/core/testdata/button/type-outlined.png b/core/testdata/button/type-outlined.png
new file mode 100644
index 0000000000..e5f543b51d
Binary files /dev/null and b/core/testdata/button/type-outlined.png differ
diff --git a/core/testdata/button/type-text.png b/core/testdata/button/type-text.png
new file mode 100644
index 0000000000..c24714fcce
Binary files /dev/null and b/core/testdata/button/type-text.png differ
diff --git a/core/testdata/button/type-tonal.png b/core/testdata/button/type-tonal.png
new file mode 100644
index 0000000000..9a5077ba9d
Binary files /dev/null and b/core/testdata/button/type-tonal.png differ
diff --git a/core/testdata/canvas/basic.png b/core/testdata/canvas/basic.png
new file mode 100644
index 0000000000..1570cecb78
Binary files /dev/null and b/core/testdata/canvas/basic.png differ
diff --git a/core/testdata/chooser/allow-new-click.png b/core/testdata/chooser/allow-new-click.png
new file mode 100644
index 0000000000..1ca649cece
Binary files /dev/null and b/core/testdata/chooser/allow-new-click.png differ
diff --git a/core/testdata/chooser/basic.png b/core/testdata/chooser/basic.png
new file mode 100644
index 0000000000..fe264e7050
Binary files /dev/null and b/core/testdata/chooser/basic.png differ
diff --git a/core/testdata/chooser/change.png b/core/testdata/chooser/change.png
new file mode 100644
index 0000000000..5d5b03c4b6
Binary files /dev/null and b/core/testdata/chooser/change.png differ
diff --git a/core/testdata/chooser/click.png b/core/testdata/chooser/click.png
new file mode 100644
index 0000000000..ac77794254
Binary files /dev/null and b/core/testdata/chooser/click.png differ
diff --git a/core/testdata/chooser/current-value.png b/core/testdata/chooser/current-value.png
new file mode 100644
index 0000000000..d5b7572a7b
Binary files /dev/null and b/core/testdata/chooser/current-value.png differ
diff --git a/core/testdata/chooser/editable-click.png b/core/testdata/chooser/editable-click.png
new file mode 100644
index 0000000000..41e5b889dc
Binary files /dev/null and b/core/testdata/chooser/editable-click.png differ
diff --git a/core/testdata/chooser/editable.png b/core/testdata/chooser/editable.png
new file mode 100644
index 0000000000..a3f7cddd14
Binary files /dev/null and b/core/testdata/chooser/editable.png differ
diff --git a/core/testdata/chooser/icon.png b/core/testdata/chooser/icon.png
new file mode 100644
index 0000000000..62dae7c998
Binary files /dev/null and b/core/testdata/chooser/icon.png differ
diff --git a/core/testdata/chooser/items.png b/core/testdata/chooser/items.png
new file mode 100644
index 0000000000..f6c8f6ec56
Binary files /dev/null and b/core/testdata/chooser/items.png differ
diff --git a/core/testdata/chooser/outlined.png b/core/testdata/chooser/outlined.png
new file mode 100644
index 0000000000..ebee94c064
Binary files /dev/null and b/core/testdata/chooser/outlined.png differ
diff --git a/core/testdata/chooser/placeholder.png b/core/testdata/chooser/placeholder.png
new file mode 100644
index 0000000000..1fab6df7a8
Binary files /dev/null and b/core/testdata/chooser/placeholder.png differ
diff --git a/core/testdata/duration-input/basic.png b/core/testdata/duration-input/basic.png
new file mode 100644
index 0000000000..47ad3ac535
Binary files /dev/null and b/core/testdata/duration-input/basic.png differ
diff --git a/core/testdata/duration-input/read-only.png b/core/testdata/duration-input/read-only.png
new file mode 100644
index 0000000000..7b4fd06d0f
Binary files /dev/null and b/core/testdata/duration-input/read-only.png differ
diff --git a/core/testdata/events/event-manager.png b/core/testdata/events/event-manager.png
new file mode 100644
index 0000000000..cda886e174
Binary files /dev/null and b/core/testdata/events/event-manager.png differ
diff --git a/core/testdata/events/system-events.png b/core/testdata/events/system-events.png
new file mode 100644
index 0000000000..1a0673032e
Binary files /dev/null and b/core/testdata/events/system-events.png differ
diff --git a/core/testdata/form/addfields.png b/core/testdata/form/addfields.png
new file mode 100644
index 0000000000..2a2c560c2c
Binary files /dev/null and b/core/testdata/form/addfields.png differ
diff --git a/core/testdata/form/change.png b/core/testdata/form/change.png
new file mode 100644
index 0000000000..d9e13d6287
Binary files /dev/null and b/core/testdata/form/change.png differ
diff --git a/core/testdata/form/field-value.png b/core/testdata/form/field-value.png
new file mode 100644
index 0000000000..b80d60457a
Binary files /dev/null and b/core/testdata/form/field-value.png differ
diff --git a/core/testdata/form/inline.png b/core/testdata/form/inline.png
new file mode 100644
index 0000000000..8e141c76b6
Binary files /dev/null and b/core/testdata/form/inline.png differ
diff --git a/core/testdata/form/read-only.png b/core/testdata/form/read-only.png
new file mode 100644
index 0000000000..2a15080d69
Binary files /dev/null and b/core/testdata/form/read-only.png differ
diff --git a/core/testdata/form/style.png b/core/testdata/form/style.png
new file mode 100644
index 0000000000..9d5e1faf6c
Binary files /dev/null and b/core/testdata/form/style.png differ
diff --git a/core/testdata/frame/background.png b/core/testdata/frame/background.png
new file mode 100644
index 0000000000..0ecf8b166a
Binary files /dev/null and b/core/testdata/frame/background.png differ
diff --git a/core/testdata/frame/basic.png b/core/testdata/frame/basic.png
new file mode 100644
index 0000000000..c37e410eff
Binary files /dev/null and b/core/testdata/frame/basic.png differ
diff --git a/core/testdata/frame/border-radius.png b/core/testdata/frame/border-radius.png
new file mode 100644
index 0000000000..b44efbca2f
Binary files /dev/null and b/core/testdata/frame/border-radius.png differ
diff --git a/core/testdata/frame/border.png b/core/testdata/frame/border.png
new file mode 100644
index 0000000000..8bd5bc4672
Binary files /dev/null and b/core/testdata/frame/border.png differ
diff --git a/core/testdata/frame/gradient.png b/core/testdata/frame/gradient.png
new file mode 100644
index 0000000000..b112264430
Binary files /dev/null and b/core/testdata/frame/gradient.png differ
diff --git a/core/testdata/frame/no-grow.png b/core/testdata/frame/no-grow.png
new file mode 100644
index 0000000000..8bd5bc4672
Binary files /dev/null and b/core/testdata/frame/no-grow.png differ
diff --git a/core/testdata/frame/scroll-margin-padding.png b/core/testdata/frame/scroll-margin-padding.png
new file mode 100644
index 0000000000..5bc7963c80
Binary files /dev/null and b/core/testdata/frame/scroll-margin-padding.png differ
diff --git a/core/testdata/frame/scroll-margin.png b/core/testdata/frame/scroll-margin.png
new file mode 100644
index 0000000000..4aa204d065
Binary files /dev/null and b/core/testdata/frame/scroll-margin.png differ
diff --git a/core/testdata/frame/scroll-no-margin.png b/core/testdata/frame/scroll-no-margin.png
new file mode 100644
index 0000000000..6686d6cb09
Binary files /dev/null and b/core/testdata/frame/scroll-no-margin.png differ
diff --git a/core/testdata/func-button/args.png b/core/testdata/func-button/args.png
new file mode 100644
index 0000000000..1a78b65cbb
Binary files /dev/null and b/core/testdata/func-button/args.png differ
diff --git a/core/testdata/icon/basic.png b/core/testdata/icon/basic.png
new file mode 100644
index 0000000000..677959dc34
Binary files /dev/null and b/core/testdata/icon/basic.png differ
diff --git a/core/testdata/icon/filled.png b/core/testdata/icon/filled.png
new file mode 100644
index 0000000000..a150c0b365
Binary files /dev/null and b/core/testdata/icon/filled.png differ
diff --git a/core/testdata/image/basic.png b/core/testdata/image/basic.png
new file mode 100644
index 0000000000..19f8477b0a
Binary files /dev/null and b/core/testdata/image/basic.png differ
diff --git a/core/testdata/image/cropped.png b/core/testdata/image/cropped.png
new file mode 100644
index 0000000000..5d3ca96a3d
Binary files /dev/null and b/core/testdata/image/cropped.png differ
diff --git a/core/testdata/image/direct.png b/core/testdata/image/direct.png
new file mode 100644
index 0000000000..6fce7e03c5
Binary files /dev/null and b/core/testdata/image/direct.png differ
diff --git a/core/testdata/image/scrolled.png b/core/testdata/image/scrolled.png
new file mode 100644
index 0000000000..5d3ca96a3d
Binary files /dev/null and b/core/testdata/image/scrolled.png differ
diff --git a/core/testdata/image/size.png b/core/testdata/image/size.png
new file mode 100644
index 0000000000..cdf1f01a60
Binary files /dev/null and b/core/testdata/image/size.png differ
diff --git a/core/testdata/inline-list/basic.png b/core/testdata/inline-list/basic.png
new file mode 100644
index 0000000000..3bef1a5f0a
Binary files /dev/null and b/core/testdata/inline-list/basic.png differ
diff --git a/core/testdata/inline-list/update.png b/core/testdata/inline-list/update.png
new file mode 100644
index 0000000000..bbda4b9a77
Binary files /dev/null and b/core/testdata/inline-list/update.png differ
diff --git a/core/testdata/keyed-list/any.png b/core/testdata/keyed-list/any.png
new file mode 100644
index 0000000000..02775973ec
Binary files /dev/null and b/core/testdata/keyed-list/any.png differ
diff --git a/core/testdata/keyed-list/basic.png b/core/testdata/keyed-list/basic.png
new file mode 100644
index 0000000000..50d1a808f2
Binary files /dev/null and b/core/testdata/keyed-list/basic.png differ
diff --git a/core/testdata/keyed-list/change-key.png b/core/testdata/keyed-list/change-key.png
new file mode 100644
index 0000000000..6c9175b91b
Binary files /dev/null and b/core/testdata/keyed-list/change-key.png differ
diff --git a/core/testdata/keyed-list/change.png b/core/testdata/keyed-list/change.png
new file mode 100644
index 0000000000..3c4e5a09dc
Binary files /dev/null and b/core/testdata/keyed-list/change.png differ
diff --git a/core/testdata/keyed-list/inline.png b/core/testdata/keyed-list/inline.png
new file mode 100644
index 0000000000..1822674ecc
Binary files /dev/null and b/core/testdata/keyed-list/inline.png differ
diff --git a/core/testdata/keyed-list/read-only.png b/core/testdata/keyed-list/read-only.png
new file mode 100644
index 0000000000..21fcf5cf6d
Binary files /dev/null and b/core/testdata/keyed-list/read-only.png differ
diff --git a/core/testdata/layout/custom-button.png b/core/testdata/layout/custom-button.png
new file mode 100644
index 0000000000..18007f3008
Binary files /dev/null and b/core/testdata/layout/custom-button.png differ
diff --git a/core/testdata/layout/custom.png b/core/testdata/layout/custom.png
new file mode 100644
index 0000000000..9acc2e7f60
Binary files /dev/null and b/core/testdata/layout/custom.png differ
diff --git a/core/testdata/layout/frames_align_contentwrap-false-dir-column-align-center.png b/core/testdata/layout/frames_align_contentwrap-false-dir-column-align-center.png
new file mode 100644
index 0000000000..bbc5cdc3cd
Binary files /dev/null and b/core/testdata/layout/frames_align_contentwrap-false-dir-column-align-center.png differ
diff --git a/core/testdata/layout/frames_align_contentwrap-false-dir-column-align-end.png b/core/testdata/layout/frames_align_contentwrap-false-dir-column-align-end.png
new file mode 100644
index 0000000000..2c5c91c3db
Binary files /dev/null and b/core/testdata/layout/frames_align_contentwrap-false-dir-column-align-end.png differ
diff --git a/core/testdata/layout/frames_align_contentwrap-false-dir-column-align-start.png b/core/testdata/layout/frames_align_contentwrap-false-dir-column-align-start.png
new file mode 100644
index 0000000000..08960d5f6e
Binary files /dev/null and b/core/testdata/layout/frames_align_contentwrap-false-dir-column-align-start.png differ
diff --git a/core/testdata/layout/frames_align_contentwrap-false-dir-row-align-center.png b/core/testdata/layout/frames_align_contentwrap-false-dir-row-align-center.png
new file mode 100644
index 0000000000..6f22849e0a
Binary files /dev/null and b/core/testdata/layout/frames_align_contentwrap-false-dir-row-align-center.png differ
diff --git a/core/testdata/layout/frames_align_contentwrap-false-dir-row-align-end.png b/core/testdata/layout/frames_align_contentwrap-false-dir-row-align-end.png
new file mode 100644
index 0000000000..01dbcde47a
Binary files /dev/null and b/core/testdata/layout/frames_align_contentwrap-false-dir-row-align-end.png differ
diff --git a/core/testdata/layout/frames_align_contentwrap-false-dir-row-align-start.png b/core/testdata/layout/frames_align_contentwrap-false-dir-row-align-start.png
new file mode 100644
index 0000000000..7a9f7ffe4b
Binary files /dev/null and b/core/testdata/layout/frames_align_contentwrap-false-dir-row-align-start.png differ
diff --git a/core/testdata/layout/frames_align_contentwrap-true-dir-column-align-center.png b/core/testdata/layout/frames_align_contentwrap-true-dir-column-align-center.png
new file mode 100644
index 0000000000..79a0cb5712
Binary files /dev/null and b/core/testdata/layout/frames_align_contentwrap-true-dir-column-align-center.png differ
diff --git a/core/testdata/layout/frames_align_contentwrap-true-dir-column-align-end.png b/core/testdata/layout/frames_align_contentwrap-true-dir-column-align-end.png
new file mode 100644
index 0000000000..b18d08d0dc
Binary files /dev/null and b/core/testdata/layout/frames_align_contentwrap-true-dir-column-align-end.png differ
diff --git a/core/testdata/layout/frames_align_contentwrap-true-dir-column-align-start.png b/core/testdata/layout/frames_align_contentwrap-true-dir-column-align-start.png
new file mode 100644
index 0000000000..beceed745d
Binary files /dev/null and b/core/testdata/layout/frames_align_contentwrap-true-dir-column-align-start.png differ
diff --git a/core/testdata/layout/frames_align_contentwrap-true-dir-row-align-center.png b/core/testdata/layout/frames_align_contentwrap-true-dir-row-align-center.png
new file mode 100644
index 0000000000..2bbfa8e6c8
Binary files /dev/null and b/core/testdata/layout/frames_align_contentwrap-true-dir-row-align-center.png differ
diff --git a/core/testdata/layout/frames_align_contentwrap-true-dir-row-align-end.png b/core/testdata/layout/frames_align_contentwrap-true-dir-row-align-end.png
new file mode 100644
index 0000000000..c992ef8f17
Binary files /dev/null and b/core/testdata/layout/frames_align_contentwrap-true-dir-row-align-end.png differ
diff --git a/core/testdata/layout/frames_align_contentwrap-true-dir-row-align-start.png b/core/testdata/layout/frames_align_contentwrap-true-dir-row-align-start.png
new file mode 100644
index 0000000000..a46d799f1b
Binary files /dev/null and b/core/testdata/layout/frames_align_contentwrap-true-dir-row-align-start.png differ
diff --git a/core/testdata/layout/frames_align_itemswrap_false_dir_column_align_center.png b/core/testdata/layout/frames_align_itemswrap_false_dir_column_align_center.png
new file mode 100644
index 0000000000..b5c1fe3b7d
Binary files /dev/null and b/core/testdata/layout/frames_align_itemswrap_false_dir_column_align_center.png differ
diff --git a/core/testdata/layout/frames_align_itemswrap_false_dir_column_align_end.png b/core/testdata/layout/frames_align_itemswrap_false_dir_column_align_end.png
new file mode 100644
index 0000000000..95cb305c49
Binary files /dev/null and b/core/testdata/layout/frames_align_itemswrap_false_dir_column_align_end.png differ
diff --git a/core/testdata/layout/frames_align_itemswrap_false_dir_column_align_start.png b/core/testdata/layout/frames_align_itemswrap_false_dir_column_align_start.png
new file mode 100644
index 0000000000..e9babb862e
Binary files /dev/null and b/core/testdata/layout/frames_align_itemswrap_false_dir_column_align_start.png differ
diff --git a/core/testdata/layout/frames_align_itemswrap_false_dir_row_align_center.png b/core/testdata/layout/frames_align_itemswrap_false_dir_row_align_center.png
new file mode 100644
index 0000000000..95965fae11
Binary files /dev/null and b/core/testdata/layout/frames_align_itemswrap_false_dir_row_align_center.png differ
diff --git a/core/testdata/layout/frames_align_itemswrap_false_dir_row_align_end.png b/core/testdata/layout/frames_align_itemswrap_false_dir_row_align_end.png
new file mode 100644
index 0000000000..3c41780753
Binary files /dev/null and b/core/testdata/layout/frames_align_itemswrap_false_dir_row_align_end.png differ
diff --git a/core/testdata/layout/frames_align_itemswrap_false_dir_row_align_start.png b/core/testdata/layout/frames_align_itemswrap_false_dir_row_align_start.png
new file mode 100644
index 0000000000..6123476722
Binary files /dev/null and b/core/testdata/layout/frames_align_itemswrap_false_dir_row_align_start.png differ
diff --git a/core/testdata/layout/frames_align_itemswrap_true_dir_column_align_center.png b/core/testdata/layout/frames_align_itemswrap_true_dir_column_align_center.png
new file mode 100644
index 0000000000..cbcc593bcd
Binary files /dev/null and b/core/testdata/layout/frames_align_itemswrap_true_dir_column_align_center.png differ
diff --git a/core/testdata/layout/frames_align_itemswrap_true_dir_column_align_end.png b/core/testdata/layout/frames_align_itemswrap_true_dir_column_align_end.png
new file mode 100644
index 0000000000..477f348976
Binary files /dev/null and b/core/testdata/layout/frames_align_itemswrap_true_dir_column_align_end.png differ
diff --git a/core/testdata/layout/frames_align_itemswrap_true_dir_column_align_start.png b/core/testdata/layout/frames_align_itemswrap_true_dir_column_align_start.png
new file mode 100644
index 0000000000..beceed745d
Binary files /dev/null and b/core/testdata/layout/frames_align_itemswrap_true_dir_column_align_start.png differ
diff --git a/core/testdata/layout/frames_align_itemswrap_true_dir_row_align_center.png b/core/testdata/layout/frames_align_itemswrap_true_dir_row_align_center.png
new file mode 100644
index 0000000000..ab4ca13721
Binary files /dev/null and b/core/testdata/layout/frames_align_itemswrap_true_dir_row_align_center.png differ
diff --git a/core/testdata/layout/frames_align_itemswrap_true_dir_row_align_end.png b/core/testdata/layout/frames_align_itemswrap_true_dir_row_align_end.png
new file mode 100644
index 0000000000..749ba1cb3c
Binary files /dev/null and b/core/testdata/layout/frames_align_itemswrap_true_dir_row_align_end.png differ
diff --git a/core/testdata/layout/frames_align_itemswrap_true_dir_row_align_start.png b/core/testdata/layout/frames_align_itemswrap_true_dir_row_align_start.png
new file mode 100644
index 0000000000..a46d799f1b
Binary files /dev/null and b/core/testdata/layout/frames_align_itemswrap_true_dir_row_align_start.png differ
diff --git a/core/testdata/layout/frames_align_selfalign_center.png b/core/testdata/layout/frames_align_selfalign_center.png
new file mode 100644
index 0000000000..6f863e32c9
Binary files /dev/null and b/core/testdata/layout/frames_align_selfalign_center.png differ
diff --git a/core/testdata/layout/frames_align_selfalign_end.png b/core/testdata/layout/frames_align_selfalign_end.png
new file mode 100644
index 0000000000..39223e0173
Binary files /dev/null and b/core/testdata/layout/frames_align_selfalign_end.png differ
diff --git a/core/testdata/layout/frames_align_selfalign_start.png b/core/testdata/layout/frames_align_selfalign_start.png
new file mode 100644
index 0000000000..9f2a5a9051
Binary files /dev/null and b/core/testdata/layout/frames_align_selfalign_start.png differ
diff --git a/core/testdata/layout/frames_justify_contentwrap_false_dir_column_align_center.png b/core/testdata/layout/frames_justify_contentwrap_false_dir_column_align_center.png
new file mode 100644
index 0000000000..130e1f0051
Binary files /dev/null and b/core/testdata/layout/frames_justify_contentwrap_false_dir_column_align_center.png differ
diff --git a/core/testdata/layout/frames_justify_contentwrap_false_dir_column_align_end.png b/core/testdata/layout/frames_justify_contentwrap_false_dir_column_align_end.png
new file mode 100644
index 0000000000..eb05328597
Binary files /dev/null and b/core/testdata/layout/frames_justify_contentwrap_false_dir_column_align_end.png differ
diff --git a/core/testdata/layout/frames_justify_contentwrap_false_dir_column_align_start.png b/core/testdata/layout/frames_justify_contentwrap_false_dir_column_align_start.png
new file mode 100644
index 0000000000..a7f468712c
Binary files /dev/null and b/core/testdata/layout/frames_justify_contentwrap_false_dir_column_align_start.png differ
diff --git a/core/testdata/layout/frames_justify_contentwrap_false_dir_row_align_center.png b/core/testdata/layout/frames_justify_contentwrap_false_dir_row_align_center.png
new file mode 100644
index 0000000000..f7c60780e6
Binary files /dev/null and b/core/testdata/layout/frames_justify_contentwrap_false_dir_row_align_center.png differ
diff --git a/core/testdata/layout/frames_justify_contentwrap_false_dir_row_align_end.png b/core/testdata/layout/frames_justify_contentwrap_false_dir_row_align_end.png
new file mode 100644
index 0000000000..90e151e6f4
Binary files /dev/null and b/core/testdata/layout/frames_justify_contentwrap_false_dir_row_align_end.png differ
diff --git a/core/testdata/layout/frames_justify_contentwrap_false_dir_row_align_start.png b/core/testdata/layout/frames_justify_contentwrap_false_dir_row_align_start.png
new file mode 100644
index 0000000000..2fead03490
Binary files /dev/null and b/core/testdata/layout/frames_justify_contentwrap_false_dir_row_align_start.png differ
diff --git a/core/testdata/layout/frames_justify_contentwrap_true_dir_column_align_center.png b/core/testdata/layout/frames_justify_contentwrap_true_dir_column_align_center.png
new file mode 100644
index 0000000000..79df01364e
Binary files /dev/null and b/core/testdata/layout/frames_justify_contentwrap_true_dir_column_align_center.png differ
diff --git a/core/testdata/layout/frames_justify_contentwrap_true_dir_column_align_end.png b/core/testdata/layout/frames_justify_contentwrap_true_dir_column_align_end.png
new file mode 100644
index 0000000000..592fa65f64
Binary files /dev/null and b/core/testdata/layout/frames_justify_contentwrap_true_dir_column_align_end.png differ
diff --git a/core/testdata/layout/frames_justify_contentwrap_true_dir_column_align_start.png b/core/testdata/layout/frames_justify_contentwrap_true_dir_column_align_start.png
new file mode 100644
index 0000000000..a486bd886a
Binary files /dev/null and b/core/testdata/layout/frames_justify_contentwrap_true_dir_column_align_start.png differ
diff --git a/core/testdata/layout/frames_justify_contentwrap_true_dir_row_align_center.png b/core/testdata/layout/frames_justify_contentwrap_true_dir_row_align_center.png
new file mode 100644
index 0000000000..1a1b00fdf1
Binary files /dev/null and b/core/testdata/layout/frames_justify_contentwrap_true_dir_row_align_center.png differ
diff --git a/core/testdata/layout/frames_justify_contentwrap_true_dir_row_align_end.png b/core/testdata/layout/frames_justify_contentwrap_true_dir_row_align_end.png
new file mode 100644
index 0000000000..26f8517d74
Binary files /dev/null and b/core/testdata/layout/frames_justify_contentwrap_true_dir_row_align_end.png differ
diff --git a/core/testdata/layout/frames_justify_contentwrap_true_dir_row_align_start.png b/core/testdata/layout/frames_justify_contentwrap_true_dir_row_align_start.png
new file mode 100644
index 0000000000..f7c8a7d0a6
Binary files /dev/null and b/core/testdata/layout/frames_justify_contentwrap_true_dir_row_align_start.png differ
diff --git a/core/testdata/layout/frames_justify_itemsalign_center.png b/core/testdata/layout/frames_justify_itemsalign_center.png
new file mode 100644
index 0000000000..8127acce4d
Binary files /dev/null and b/core/testdata/layout/frames_justify_itemsalign_center.png differ
diff --git a/core/testdata/layout/frames_justify_itemsalign_end.png b/core/testdata/layout/frames_justify_itemsalign_end.png
new file mode 100644
index 0000000000..dc2ac06355
Binary files /dev/null and b/core/testdata/layout/frames_justify_itemsalign_end.png differ
diff --git a/core/testdata/layout/frames_justify_itemsalign_start.png b/core/testdata/layout/frames_justify_itemsalign_start.png
new file mode 100644
index 0000000000..69cfc6f639
Binary files /dev/null and b/core/testdata/layout/frames_justify_itemsalign_start.png differ
diff --git a/core/testdata/layout/frames_justify_selfalign_center.png b/core/testdata/layout/frames_justify_selfalign_center.png
new file mode 100644
index 0000000000..b85bb6562a
Binary files /dev/null and b/core/testdata/layout/frames_justify_selfalign_center.png differ
diff --git a/core/testdata/layout/frames_justify_selfalign_end.png b/core/testdata/layout/frames_justify_selfalign_end.png
new file mode 100644
index 0000000000..662952f45e
Binary files /dev/null and b/core/testdata/layout/frames_justify_selfalign_end.png differ
diff --git a/core/testdata/layout/frames_justify_selfalign_start.png b/core/testdata/layout/frames_justify_selfalign_start.png
new file mode 100644
index 0000000000..3380da41a9
Binary files /dev/null and b/core/testdata/layout/frames_justify_selfalign_start.png differ
diff --git a/core/testdata/layout/maxgrow/all.png b/core/testdata/layout/maxgrow/all.png
new file mode 100644
index 0000000000..6a57e79d59
Binary files /dev/null and b/core/testdata/layout/maxgrow/all.png differ
diff --git a/core/testdata/layout/maxgrow/first.png b/core/testdata/layout/maxgrow/first.png
new file mode 100644
index 0000000000..d8d861cce2
Binary files /dev/null and b/core/testdata/layout/maxgrow/first.png differ
diff --git a/core/testdata/layout/maxgrow/none.png b/core/testdata/layout/maxgrow/none.png
new file mode 100644
index 0000000000..0a19d32e24
Binary files /dev/null and b/core/testdata/layout/maxgrow/none.png differ
diff --git a/core/testdata/layout/maxgrow/two.png b/core/testdata/layout/maxgrow/two.png
new file mode 100644
index 0000000000..37cd85c0eb
Binary files /dev/null and b/core/testdata/layout/maxgrow/two.png differ
diff --git a/core/testdata/layout/parent-relative-splits.png b/core/testdata/layout/parent-relative-splits.png
new file mode 100644
index 0000000000..7fc557b46b
Binary files /dev/null and b/core/testdata/layout/parent-relative-splits.png differ
diff --git a/core/testdata/layout/parent-relative.png b/core/testdata/layout/parent-relative.png
new file mode 100644
index 0000000000..55ffed9e65
Binary files /dev/null and b/core/testdata/layout/parent-relative.png differ
diff --git a/core/testdata/layout/scroll/label.png b/core/testdata/layout/scroll/label.png
new file mode 100644
index 0000000000..aa820ffa29
Binary files /dev/null and b/core/testdata/layout/scroll/label.png differ
diff --git a/core/testdata/list/basic.png b/core/testdata/list/basic.png
new file mode 100644
index 0000000000..1fe91852c5
Binary files /dev/null and b/core/testdata/list/basic.png differ
diff --git a/core/testdata/list/read-only.png b/core/testdata/list/read-only.png
new file mode 100644
index 0000000000..9831a2dbc0
Binary files /dev/null and b/core/testdata/list/read-only.png differ
diff --git a/core/testdata/list/scroll.png b/core/testdata/list/scroll.png
new file mode 100644
index 0000000000..4cc1b1d84c
Binary files /dev/null and b/core/testdata/list/scroll.png differ
diff --git a/core/testdata/list/strings.png b/core/testdata/list/strings.png
new file mode 100644
index 0000000000..f414cbeb0b
Binary files /dev/null and b/core/testdata/list/strings.png differ
diff --git a/core/testdata/meter/basic.png b/core/testdata/meter/basic.png
new file mode 100644
index 0000000000..b7516ae379
Binary files /dev/null and b/core/testdata/meter/basic.png differ
diff --git a/core/testdata/meter/bounds.png b/core/testdata/meter/bounds.png
new file mode 100644
index 0000000000..76c712a8fc
Binary files /dev/null and b/core/testdata/meter/bounds.png differ
diff --git a/core/testdata/meter/circle-text.png b/core/testdata/meter/circle-text.png
new file mode 100644
index 0000000000..9d7c3c7ee8
Binary files /dev/null and b/core/testdata/meter/circle-text.png differ
diff --git a/core/testdata/meter/circle.png b/core/testdata/meter/circle.png
new file mode 100644
index 0000000000..8f51448997
Binary files /dev/null and b/core/testdata/meter/circle.png differ
diff --git a/core/testdata/meter/column.png b/core/testdata/meter/column.png
new file mode 100644
index 0000000000..7762487e75
Binary files /dev/null and b/core/testdata/meter/column.png differ
diff --git a/core/testdata/meter/semicircle-text.png b/core/testdata/meter/semicircle-text.png
new file mode 100644
index 0000000000..c054592a48
Binary files /dev/null and b/core/testdata/meter/semicircle-text.png differ
diff --git a/core/testdata/meter/semicircle.png b/core/testdata/meter/semicircle.png
new file mode 100644
index 0000000000..c9c519d69f
Binary files /dev/null and b/core/testdata/meter/semicircle.png differ
diff --git a/core/testdata/meter/value.png b/core/testdata/meter/value.png
new file mode 100644
index 0000000000..b208da38d1
Binary files /dev/null and b/core/testdata/meter/value.png differ
diff --git a/core/testdata/render/border-leak.png b/core/testdata/render/border-leak.png
new file mode 100644
index 0000000000..fa7be48b16
Binary files /dev/null and b/core/testdata/render/border-leak.png differ
diff --git a/core/testdata/render/button-alignment.png b/core/testdata/render/button-alignment.png
new file mode 100644
index 0000000000..c58fc952c8
Binary files /dev/null and b/core/testdata/render/button-alignment.png differ
diff --git a/core/testdata/render/element-cut-off.png b/core/testdata/render/element-cut-off.png
new file mode 100644
index 0000000000..e7bc63f83c
Binary files /dev/null and b/core/testdata/render/element-cut-off.png differ
diff --git a/core/testdata/render/frame-alignment-center.png b/core/testdata/render/frame-alignment-center.png
new file mode 100644
index 0000000000..e5f6b5c424
Binary files /dev/null and b/core/testdata/render/frame-alignment-center.png differ
diff --git a/core/testdata/render/frame-alignment.png b/core/testdata/render/frame-alignment.png
new file mode 100644
index 0000000000..0b4087228a
Binary files /dev/null and b/core/testdata/render/frame-alignment.png differ
diff --git a/core/testdata/render/grid-centered-frame.png b/core/testdata/render/grid-centered-frame.png
new file mode 100644
index 0000000000..036ed88f10
Binary files /dev/null and b/core/testdata/render/grid-centered-frame.png differ
diff --git a/core/testdata/render/one-side-border.png b/core/testdata/render/one-side-border.png
new file mode 100644
index 0000000000..fc3acba7d5
Binary files /dev/null and b/core/testdata/render/one-side-border.png differ
diff --git a/core/testdata/render/overflow-auto-defined-max.png b/core/testdata/render/overflow-auto-defined-max.png
new file mode 100644
index 0000000000..8b7caae712
Binary files /dev/null and b/core/testdata/render/overflow-auto-defined-max.png differ
diff --git a/core/testdata/render/parent-border-radius-horizontal-toolbar.png b/core/testdata/render/parent-border-radius-horizontal-toolbar.png
new file mode 100644
index 0000000000..910bc79bef
Binary files /dev/null and b/core/testdata/render/parent-border-radius-horizontal-toolbar.png differ
diff --git a/core/testdata/render/parent-border-radius-vertical-toolbar.png b/core/testdata/render/parent-border-radius-vertical-toolbar.png
new file mode 100644
index 0000000000..ff3bad6171
Binary files /dev/null and b/core/testdata/render/parent-border-radius-vertical-toolbar.png differ
diff --git a/core/testdata/render/parent-border-radius.png b/core/testdata/render/parent-border-radius.png
new file mode 100644
index 0000000000..fbf4da941c
Binary files /dev/null and b/core/testdata/render/parent-border-radius.png differ
diff --git a/core/testdata/render/parent-gradient.png b/core/testdata/render/parent-gradient.png
new file mode 100644
index 0000000000..87e2293f53
Binary files /dev/null and b/core/testdata/render/parent-gradient.png differ
diff --git a/core/testdata/slider/arrow-keys.png b/core/testdata/slider/arrow-keys.png
new file mode 100644
index 0000000000..afcf92ace6
Binary files /dev/null and b/core/testdata/slider/arrow-keys.png differ
diff --git a/core/testdata/slider/basic.png b/core/testdata/slider/basic.png
new file mode 100644
index 0000000000..aaeaa7afa4
Binary files /dev/null and b/core/testdata/slider/basic.png differ
diff --git a/core/testdata/slider/bounds.png b/core/testdata/slider/bounds.png
new file mode 100644
index 0000000000..4f42a14a3e
Binary files /dev/null and b/core/testdata/slider/bounds.png differ
diff --git a/core/testdata/slider/change-click.png b/core/testdata/slider/change-click.png
new file mode 100644
index 0000000000..30b32f046d
Binary files /dev/null and b/core/testdata/slider/change-click.png differ
diff --git a/core/testdata/slider/enforce-step.png b/core/testdata/slider/enforce-step.png
new file mode 100644
index 0000000000..0c377f0b88
Binary files /dev/null and b/core/testdata/slider/enforce-step.png differ
diff --git a/core/testdata/slider/icon.png b/core/testdata/slider/icon.png
new file mode 100644
index 0000000000..2a83c8d8bb
Binary files /dev/null and b/core/testdata/slider/icon.png differ
diff --git a/core/testdata/slider/start.png b/core/testdata/slider/start.png
new file mode 100644
index 0000000000..86f55adafb
Binary files /dev/null and b/core/testdata/slider/start.png differ
diff --git a/core/testdata/slider/step.png b/core/testdata/slider/step.png
new file mode 100644
index 0000000000..cf40ad3d4a
Binary files /dev/null and b/core/testdata/slider/step.png differ
diff --git a/core/testdata/slider/value.png b/core/testdata/slider/value.png
new file mode 100644
index 0000000000..afcf92ace6
Binary files /dev/null and b/core/testdata/slider/value.png differ
diff --git a/core/testdata/snackbar/button-icon.png b/core/testdata/snackbar/button-icon.png
new file mode 100644
index 0000000000..88485b4ec5
Binary files /dev/null and b/core/testdata/snackbar/button-icon.png differ
diff --git a/core/testdata/snackbar/button.png b/core/testdata/snackbar/button.png
new file mode 100644
index 0000000000..ddb6e43c16
Binary files /dev/null and b/core/testdata/snackbar/button.png differ
diff --git a/core/testdata/snackbar/error-label.png b/core/testdata/snackbar/error-label.png
new file mode 100644
index 0000000000..a3b0add15b
Binary files /dev/null and b/core/testdata/snackbar/error-label.png differ
diff --git a/core/testdata/snackbar/error.png b/core/testdata/snackbar/error.png
new file mode 100644
index 0000000000..7a6d414200
Binary files /dev/null and b/core/testdata/snackbar/error.png differ
diff --git a/core/testdata/snackbar/icon.png b/core/testdata/snackbar/icon.png
new file mode 100644
index 0000000000..16c62a71d2
Binary files /dev/null and b/core/testdata/snackbar/icon.png differ
diff --git a/core/testdata/snackbar/message.png b/core/testdata/snackbar/message.png
new file mode 100644
index 0000000000..13968c6fce
Binary files /dev/null and b/core/testdata/snackbar/message.png differ
diff --git a/core/testdata/snackbar/no-error.png b/core/testdata/snackbar/no-error.png
new file mode 100644
index 0000000000..0aaa26b348
Binary files /dev/null and b/core/testdata/snackbar/no-error.png differ
diff --git a/core/testdata/snackbar/text.png b/core/testdata/snackbar/text.png
new file mode 100644
index 0000000000..f7410679ca
Binary files /dev/null and b/core/testdata/snackbar/text.png differ
diff --git a/core/testdata/spinner/arrow-keys.png b/core/testdata/spinner/arrow-keys.png
new file mode 100644
index 0000000000..b4ab24f78b
Binary files /dev/null and b/core/testdata/spinner/arrow-keys.png differ
diff --git a/core/testdata/spinner/basic.png b/core/testdata/spinner/basic.png
new file mode 100644
index 0000000000..f6f7d3df01
Binary files /dev/null and b/core/testdata/spinner/basic.png differ
diff --git a/core/testdata/spinner/bounds.png b/core/testdata/spinner/bounds.png
new file mode 100644
index 0000000000..b569832d26
Binary files /dev/null and b/core/testdata/spinner/bounds.png differ
diff --git a/core/testdata/spinner/buttons.png b/core/testdata/spinner/buttons.png
new file mode 100644
index 0000000000..936c7f234a
Binary files /dev/null and b/core/testdata/spinner/buttons.png differ
diff --git a/core/testdata/spinner/change-arrow-key.png b/core/testdata/spinner/change-arrow-key.png
new file mode 100644
index 0000000000..679b73f489
Binary files /dev/null and b/core/testdata/spinner/change-arrow-key.png differ
diff --git a/core/testdata/spinner/change-button.png b/core/testdata/spinner/change-button.png
new file mode 100644
index 0000000000..936c7f234a
Binary files /dev/null and b/core/testdata/spinner/change-button.png differ
diff --git a/core/testdata/spinner/change-number-key.png b/core/testdata/spinner/change-number-key.png
new file mode 100644
index 0000000000..13d39bc25f
Binary files /dev/null and b/core/testdata/spinner/change-number-key.png differ
diff --git a/core/testdata/spinner/enforce-step.png b/core/testdata/spinner/enforce-step.png
new file mode 100644
index 0000000000..f4c764f2f8
Binary files /dev/null and b/core/testdata/spinner/enforce-step.png differ
diff --git a/core/testdata/spinner/format.png b/core/testdata/spinner/format.png
new file mode 100644
index 0000000000..090c255a97
Binary files /dev/null and b/core/testdata/spinner/format.png differ
diff --git a/core/testdata/spinner/outlined.png b/core/testdata/spinner/outlined.png
new file mode 100644
index 0000000000..c48d78e97d
Binary files /dev/null and b/core/testdata/spinner/outlined.png differ
diff --git a/core/testdata/spinner/step.png b/core/testdata/spinner/step.png
new file mode 100644
index 0000000000..2bee131b73
Binary files /dev/null and b/core/testdata/spinner/step.png differ
diff --git a/core/testdata/spinner/value.png b/core/testdata/spinner/value.png
new file mode 100644
index 0000000000..11d8852880
Binary files /dev/null and b/core/testdata/spinner/value.png differ
diff --git a/core/testdata/splits/column-2-row.png b/core/testdata/splits/column-2-row.png
new file mode 100644
index 0000000000..c16d453850
Binary files /dev/null and b/core/testdata/splits/column-2-row.png differ
diff --git a/core/testdata/splits/column-2.png b/core/testdata/splits/column-2.png
new file mode 100644
index 0000000000..dfd32f370f
Binary files /dev/null and b/core/testdata/splits/column-2.png differ
diff --git a/core/testdata/splits/column-4.png b/core/testdata/splits/column-4.png
new file mode 100644
index 0000000000..18c4859154
Binary files /dev/null and b/core/testdata/splits/column-4.png differ
diff --git a/core/testdata/splits/mixed-vertical.png b/core/testdata/splits/mixed-vertical.png
new file mode 100644
index 0000000000..edcdd521f2
Binary files /dev/null and b/core/testdata/splits/mixed-vertical.png differ
diff --git a/core/testdata/splits/row-2-column.png b/core/testdata/splits/row-2-column.png
new file mode 100644
index 0000000000..208c966258
Binary files /dev/null and b/core/testdata/splits/row-2-column.png differ
diff --git a/core/testdata/splits/row-2-set.png b/core/testdata/splits/row-2-set.png
new file mode 100644
index 0000000000..10cd59ae92
Binary files /dev/null and b/core/testdata/splits/row-2-set.png differ
diff --git a/core/testdata/splits/row-2.png b/core/testdata/splits/row-2.png
new file mode 100644
index 0000000000..9c25166349
Binary files /dev/null and b/core/testdata/splits/row-2.png differ
diff --git a/core/testdata/splits/row-4.png b/core/testdata/splits/row-4.png
new file mode 100644
index 0000000000..e84dd25b5b
Binary files /dev/null and b/core/testdata/splits/row-4.png differ
diff --git a/core/testdata/splits/tiles-column-span-first.png b/core/testdata/splits/tiles-column-span-first.png
new file mode 100644
index 0000000000..67a5a3eb2d
Binary files /dev/null and b/core/testdata/splits/tiles-column-span-first.png differ
diff --git a/core/testdata/splits/tiles-column-span-second.png b/core/testdata/splits/tiles-column-span-second.png
new file mode 100644
index 0000000000..ca4cd4ef67
Binary files /dev/null and b/core/testdata/splits/tiles-column-span-second.png differ
diff --git a/core/testdata/splits/tiles-row-span-first-set.png b/core/testdata/splits/tiles-row-span-first-set.png
new file mode 100644
index 0000000000..29cb21a9f0
Binary files /dev/null and b/core/testdata/splits/tiles-row-span-first-set.png differ
diff --git a/core/testdata/splits/tiles-row-span-first.png b/core/testdata/splits/tiles-row-span-first.png
new file mode 100644
index 0000000000..948fe53eed
Binary files /dev/null and b/core/testdata/splits/tiles-row-span-first.png differ
diff --git a/core/testdata/splits/tiles-row-span-plus.png b/core/testdata/splits/tiles-row-span-plus.png
new file mode 100644
index 0000000000..32569fd8ef
Binary files /dev/null and b/core/testdata/splits/tiles-row-span-plus.png differ
diff --git a/core/testdata/splits/tiles-row-span-second-set.png b/core/testdata/splits/tiles-row-span-second-set.png
new file mode 100644
index 0000000000..0eb4dc0cf6
Binary files /dev/null and b/core/testdata/splits/tiles-row-span-second-set.png differ
diff --git a/core/testdata/splits/tiles-row-span-second.png b/core/testdata/splits/tiles-row-span-second.png
new file mode 100644
index 0000000000..d532cb0693
Binary files /dev/null and b/core/testdata/splits/tiles-row-span-second.png differ
diff --git a/core/testdata/splits/tiles-row-split-span-split-set.png b/core/testdata/splits/tiles-row-split-span-split-set.png
new file mode 100644
index 0000000000..85de32b4a3
Binary files /dev/null and b/core/testdata/splits/tiles-row-split-span-split-set.png differ
diff --git a/core/testdata/splits/tiles-row-split-span-split.png b/core/testdata/splits/tiles-row-split-span-split.png
new file mode 100644
index 0000000000..cff963fabb
Binary files /dev/null and b/core/testdata/splits/tiles-row-split-span-split.png differ
diff --git a/core/testdata/style/parent-background-color/gray-hovered-post.png b/core/testdata/style/parent-background-color/gray-hovered-post.png
new file mode 100644
index 0000000000..06182655fd
Binary files /dev/null and b/core/testdata/style/parent-background-color/gray-hovered-post.png differ
diff --git a/core/testdata/style/parent-background-color/gray-hovered-pre.png b/core/testdata/style/parent-background-color/gray-hovered-pre.png
new file mode 100644
index 0000000000..06182655fd
Binary files /dev/null and b/core/testdata/style/parent-background-color/gray-hovered-pre.png differ
diff --git a/core/testdata/style/parent-background-color/gray.png b/core/testdata/style/parent-background-color/gray.png
new file mode 100644
index 0000000000..5e6e46a190
Binary files /dev/null and b/core/testdata/style/parent-background-color/gray.png differ
diff --git a/core/testdata/style/parent-background-color/white-hovered-post.png b/core/testdata/style/parent-background-color/white-hovered-post.png
new file mode 100644
index 0000000000..ceebb001d4
Binary files /dev/null and b/core/testdata/style/parent-background-color/white-hovered-post.png differ
diff --git a/core/testdata/style/parent-background-color/white-hovered-pre.png b/core/testdata/style/parent-background-color/white-hovered-pre.png
new file mode 100644
index 0000000000..ceebb001d4
Binary files /dev/null and b/core/testdata/style/parent-background-color/white-hovered-pre.png differ
diff --git a/core/testdata/style/parent-background-color/white.png b/core/testdata/style/parent-background-color/white.png
new file mode 100644
index 0000000000..cd6e9af517
Binary files /dev/null and b/core/testdata/style/parent-background-color/white.png differ
diff --git a/core/testdata/style/parent-units.png b/core/testdata/style/parent-units.png
new file mode 100644
index 0000000000..31cdfb4ea2
Binary files /dev/null and b/core/testdata/style/parent-units.png differ
diff --git a/core/testdata/svg/basic.png b/core/testdata/svg/basic.png
new file mode 100644
index 0000000000..d8d63a8726
Binary files /dev/null and b/core/testdata/svg/basic.png differ
diff --git a/core/testdata/svg/size.png b/core/testdata/svg/size.png
new file mode 100644
index 0000000000..10e8e177f3
Binary files /dev/null and b/core/testdata/svg/size.png differ
diff --git a/core/testdata/svg/string.png b/core/testdata/svg/string.png
new file mode 100644
index 0000000000..ee3a35111f
Binary files /dev/null and b/core/testdata/svg/string.png differ
diff --git a/core/testdata/svg/zoom.png b/core/testdata/svg/zoom.png
new file mode 100644
index 0000000000..08506af2e3
Binary files /dev/null and b/core/testdata/svg/zoom.png differ
diff --git a/core/testdata/switch/basic.png b/core/testdata/switch/basic.png
new file mode 100644
index 0000000000..b4ac066114
Binary files /dev/null and b/core/testdata/switch/basic.png differ
diff --git a/core/testdata/switch/change.png b/core/testdata/switch/change.png
new file mode 100644
index 0000000000..41e05611c5
Binary files /dev/null and b/core/testdata/switch/change.png differ
diff --git a/core/testdata/switch/checkbox.png b/core/testdata/switch/checkbox.png
new file mode 100644
index 0000000000..60d367e1e6
Binary files /dev/null and b/core/testdata/switch/checkbox.png differ
diff --git a/core/testdata/switch/chip-checked.png b/core/testdata/switch/chip-checked.png
new file mode 100644
index 0000000000..09b76ca370
Binary files /dev/null and b/core/testdata/switch/chip-checked.png differ
diff --git a/core/testdata/switch/chip.png b/core/testdata/switch/chip.png
new file mode 100644
index 0000000000..31f9eafff6
Binary files /dev/null and b/core/testdata/switch/chip.png differ
diff --git a/core/testdata/switch/radio-button.png b/core/testdata/switch/radio-button.png
new file mode 100644
index 0000000000..9f110d17ff
Binary files /dev/null and b/core/testdata/switch/radio-button.png differ
diff --git a/core/testdata/switch/text.png b/core/testdata/switch/text.png
new file mode 100644
index 0000000000..39cc24ebe8
Binary files /dev/null and b/core/testdata/switch/text.png differ
diff --git a/core/testdata/switches/basic.png b/core/testdata/switches/basic.png
new file mode 100644
index 0000000000..e7d21adf19
Binary files /dev/null and b/core/testdata/switches/basic.png differ
diff --git a/core/testdata/switches/change.png b/core/testdata/switches/change.png
new file mode 100644
index 0000000000..1763a5e9af
Binary files /dev/null and b/core/testdata/switches/change.png differ
diff --git a/core/testdata/switches/checkboxes.png b/core/testdata/switches/checkboxes.png
new file mode 100644
index 0000000000..1d315a7241
Binary files /dev/null and b/core/testdata/switches/checkboxes.png differ
diff --git a/core/testdata/switches/chips.png b/core/testdata/switches/chips.png
new file mode 100644
index 0000000000..fe54cdbfce
Binary files /dev/null and b/core/testdata/switches/chips.png differ
diff --git a/core/testdata/switches/items.png b/core/testdata/switches/items.png
new file mode 100644
index 0000000000..e7d21adf19
Binary files /dev/null and b/core/testdata/switches/items.png differ
diff --git a/core/testdata/switches/mutex.png b/core/testdata/switches/mutex.png
new file mode 100644
index 0000000000..f63373ff2a
Binary files /dev/null and b/core/testdata/switches/mutex.png differ
diff --git a/core/testdata/switches/radio-buttons.png b/core/testdata/switches/radio-buttons.png
new file mode 100644
index 0000000000..833b7da17c
Binary files /dev/null and b/core/testdata/switches/radio-buttons.png differ
diff --git a/core/testdata/switches/segmented-buttons.png b/core/testdata/switches/segmented-buttons.png
new file mode 100644
index 0000000000..3e6f29a5ff
Binary files /dev/null and b/core/testdata/switches/segmented-buttons.png differ
diff --git a/core/testdata/table/basic.png b/core/testdata/table/basic.png
new file mode 100644
index 0000000000..97052906a4
Binary files /dev/null and b/core/testdata/table/basic.png differ
diff --git a/core/testdata/table/read-only.png b/core/testdata/table/read-only.png
new file mode 100644
index 0000000000..04e840d93a
Binary files /dev/null and b/core/testdata/table/read-only.png differ
diff --git a/core/testdata/tabs/basic.png b/core/testdata/tabs/basic.png
new file mode 100644
index 0000000000..0b6dd555de
Binary files /dev/null and b/core/testdata/tabs/basic.png differ
diff --git a/core/testdata/tabs/click.png b/core/testdata/tabs/click.png
new file mode 100644
index 0000000000..6e1dc96baf
Binary files /dev/null and b/core/testdata/tabs/click.png differ
diff --git a/core/testdata/tabs/functional.png b/core/testdata/tabs/functional.png
new file mode 100644
index 0000000000..1b3587be71
Binary files /dev/null and b/core/testdata/tabs/functional.png differ
diff --git a/core/testdata/tabs/icons.png b/core/testdata/tabs/icons.png
new file mode 100644
index 0000000000..22636e5d68
Binary files /dev/null and b/core/testdata/tabs/icons.png differ
diff --git a/core/testdata/tabs/many.png b/core/testdata/tabs/many.png
new file mode 100644
index 0000000000..98153c4cb1
Binary files /dev/null and b/core/testdata/tabs/many.png differ
diff --git a/core/testdata/tabs/navigation.png b/core/testdata/tabs/navigation.png
new file mode 100644
index 0000000000..31ceb70fcb
Binary files /dev/null and b/core/testdata/tabs/navigation.png differ
diff --git a/core/testdata/tabs/new-click.png b/core/testdata/tabs/new-click.png
new file mode 100644
index 0000000000..391af4fc6a
Binary files /dev/null and b/core/testdata/tabs/new-click.png differ
diff --git a/core/testdata/tabs/new.png b/core/testdata/tabs/new.png
new file mode 100644
index 0000000000..aa6e175074
Binary files /dev/null and b/core/testdata/tabs/new.png differ
diff --git a/core/testdata/tabs/widgets.png b/core/testdata/tabs/widgets.png
new file mode 100644
index 0000000000..c8bebe276d
Binary files /dev/null and b/core/testdata/tabs/widgets.png differ
diff --git a/core/testdata/text-field/basic.png b/core/testdata/text-field/basic.png
new file mode 100644
index 0000000000..fe8f5c8e45
Binary files /dev/null and b/core/testdata/text-field/basic.png differ
diff --git a/core/testdata/text-field/change.png b/core/testdata/text-field/change.png
new file mode 100644
index 0000000000..6f73c8dfdd
Binary files /dev/null and b/core/testdata/text-field/change.png differ
diff --git a/core/testdata/text-field/clear-click.png b/core/testdata/text-field/clear-click.png
new file mode 100644
index 0000000000..eeee68aef2
Binary files /dev/null and b/core/testdata/text-field/clear-click.png differ
diff --git a/core/testdata/text-field/clear.png b/core/testdata/text-field/clear.png
new file mode 100644
index 0000000000..198fb08d3e
Binary files /dev/null and b/core/testdata/text-field/clear.png differ
diff --git a/core/testdata/text-field/icons.png b/core/testdata/text-field/icons.png
new file mode 100644
index 0000000000..46ee0ee637
Binary files /dev/null and b/core/testdata/text-field/icons.png differ
diff --git a/core/testdata/text-field/input.png b/core/testdata/text-field/input.png
new file mode 100644
index 0000000000..6f73c8dfdd
Binary files /dev/null and b/core/testdata/text-field/input.png differ
diff --git a/core/testdata/text-field/outlined.png b/core/testdata/text-field/outlined.png
new file mode 100644
index 0000000000..8483981d50
Binary files /dev/null and b/core/testdata/text-field/outlined.png differ
diff --git a/core/testdata/text-field/overflow.png b/core/testdata/text-field/overflow.png
new file mode 100644
index 0000000000..85f61dc95d
Binary files /dev/null and b/core/testdata/text-field/overflow.png differ
diff --git a/core/testdata/text-field/password-click.png b/core/testdata/text-field/password-click.png
new file mode 100644
index 0000000000..bcbed60596
Binary files /dev/null and b/core/testdata/text-field/password-click.png differ
diff --git a/core/testdata/text-field/password.png b/core/testdata/text-field/password.png
new file mode 100644
index 0000000000..729231038b
Binary files /dev/null and b/core/testdata/text-field/password.png differ
diff --git a/core/testdata/text-field/placeholder.png b/core/testdata/text-field/placeholder.png
new file mode 100644
index 0000000000..456caf63f1
Binary files /dev/null and b/core/testdata/text-field/placeholder.png differ
diff --git a/core/testdata/text-field/text.png b/core/testdata/text-field/text.png
new file mode 100644
index 0000000000..02b1e17c95
Binary files /dev/null and b/core/testdata/text-field/text.png differ
diff --git a/core/testdata/text-field/validator-invalid.png b/core/testdata/text-field/validator-invalid.png
new file mode 100644
index 0000000000..5f70065e1c
Binary files /dev/null and b/core/testdata/text-field/validator-invalid.png differ
diff --git a/core/testdata/text-field/validator-valid.png b/core/testdata/text-field/validator-valid.png
new file mode 100644
index 0000000000..11068b2d29
Binary files /dev/null and b/core/testdata/text-field/validator-valid.png differ
diff --git a/core/testdata/text/decoration/line-through-italic.png b/core/testdata/text/decoration/line-through-italic.png
new file mode 100644
index 0000000000..563ccc84de
Binary files /dev/null and b/core/testdata/text/decoration/line-through-italic.png differ
diff --git a/core/testdata/text/decoration/line-through-normal.png b/core/testdata/text/decoration/line-through-normal.png
new file mode 100644
index 0000000000..040b392e7f
Binary files /dev/null and b/core/testdata/text/decoration/line-through-normal.png differ
diff --git a/core/testdata/text/decoration/overline-italic.png b/core/testdata/text/decoration/overline-italic.png
new file mode 100644
index 0000000000..8c9a490533
Binary files /dev/null and b/core/testdata/text/decoration/overline-italic.png differ
diff --git a/core/testdata/text/decoration/overline-normal.png b/core/testdata/text/decoration/overline-normal.png
new file mode 100644
index 0000000000..c0423ceccc
Binary files /dev/null and b/core/testdata/text/decoration/overline-normal.png differ
diff --git a/core/testdata/text/decoration/underline-italic.png b/core/testdata/text/decoration/underline-italic.png
new file mode 100644
index 0000000000..6518ba3502
Binary files /dev/null and b/core/testdata/text/decoration/underline-italic.png differ
diff --git a/core/testdata/text/decoration/underline-normal.png b/core/testdata/text/decoration/underline-normal.png
new file mode 100644
index 0000000000..e92f92ce5e
Binary files /dev/null and b/core/testdata/text/decoration/underline-normal.png differ
diff --git a/core/testdata/text/link.png b/core/testdata/text/link.png
new file mode 100644
index 0000000000..911920000b
Binary files /dev/null and b/core/testdata/text/link.png differ
diff --git a/core/testdata/text/rem.png b/core/testdata/text/rem.png
new file mode 100644
index 0000000000..403b48c7bd
Binary files /dev/null and b/core/testdata/text/rem.png differ
diff --git a/core/testdata/text/type/body-large.png b/core/testdata/text/type/body-large.png
new file mode 100644
index 0000000000..49640833c9
Binary files /dev/null and b/core/testdata/text/type/body-large.png differ
diff --git a/core/testdata/text/type/body-medium.png b/core/testdata/text/type/body-medium.png
new file mode 100644
index 0000000000..0d28669d2e
Binary files /dev/null and b/core/testdata/text/type/body-medium.png differ
diff --git a/core/testdata/text/type/body-small.png b/core/testdata/text/type/body-small.png
new file mode 100644
index 0000000000..1042922001
Binary files /dev/null and b/core/testdata/text/type/body-small.png differ
diff --git a/core/testdata/text/type/display-large.png b/core/testdata/text/type/display-large.png
new file mode 100644
index 0000000000..0585e13f1f
Binary files /dev/null and b/core/testdata/text/type/display-large.png differ
diff --git a/core/testdata/text/type/display-medium.png b/core/testdata/text/type/display-medium.png
new file mode 100644
index 0000000000..01e9502738
Binary files /dev/null and b/core/testdata/text/type/display-medium.png differ
diff --git a/core/testdata/text/type/display-small.png b/core/testdata/text/type/display-small.png
new file mode 100644
index 0000000000..135a96bb5b
Binary files /dev/null and b/core/testdata/text/type/display-small.png differ
diff --git a/core/testdata/text/type/headline-large.png b/core/testdata/text/type/headline-large.png
new file mode 100644
index 0000000000..2657354c55
Binary files /dev/null and b/core/testdata/text/type/headline-large.png differ
diff --git a/core/testdata/text/type/headline-medium.png b/core/testdata/text/type/headline-medium.png
new file mode 100644
index 0000000000..4188d821a8
Binary files /dev/null and b/core/testdata/text/type/headline-medium.png differ
diff --git a/core/testdata/text/type/headline-small.png b/core/testdata/text/type/headline-small.png
new file mode 100644
index 0000000000..c3e025a094
Binary files /dev/null and b/core/testdata/text/type/headline-small.png differ
diff --git a/core/testdata/text/type/label-large.png b/core/testdata/text/type/label-large.png
new file mode 100644
index 0000000000..79e62c4eba
Binary files /dev/null and b/core/testdata/text/type/label-large.png differ
diff --git a/core/testdata/text/type/label-medium.png b/core/testdata/text/type/label-medium.png
new file mode 100644
index 0000000000..bef664d8af
Binary files /dev/null and b/core/testdata/text/type/label-medium.png differ
diff --git a/core/testdata/text/type/label-small.png b/core/testdata/text/type/label-small.png
new file mode 100644
index 0000000000..6822a530ee
Binary files /dev/null and b/core/testdata/text/type/label-small.png differ
diff --git a/core/testdata/text/type/supporting.png b/core/testdata/text/type/supporting.png
new file mode 100644
index 0000000000..22b713a371
Binary files /dev/null and b/core/testdata/text/type/supporting.png differ
diff --git a/core/testdata/text/type/title-large.png b/core/testdata/text/type/title-large.png
new file mode 100644
index 0000000000..d3a24ba64a
Binary files /dev/null and b/core/testdata/text/type/title-large.png differ
diff --git a/core/testdata/text/type/title-medium.png b/core/testdata/text/type/title-medium.png
new file mode 100644
index 0000000000..3ae2f33b76
Binary files /dev/null and b/core/testdata/text/type/title-medium.png differ
diff --git a/core/testdata/text/type/title-small.png b/core/testdata/text/type/title-small.png
new file mode 100644
index 0000000000..79e62c4eba
Binary files /dev/null and b/core/testdata/text/type/title-small.png differ
diff --git a/core/testdata/time-input/basic.png b/core/testdata/time-input/basic.png
new file mode 100644
index 0000000000..e0aa8c8aad
Binary files /dev/null and b/core/testdata/time-input/basic.png differ
diff --git a/core/testdata/time-input/date.png b/core/testdata/time-input/date.png
new file mode 100644
index 0000000000..80858b5e26
Binary files /dev/null and b/core/testdata/time-input/date.png differ
diff --git a/core/testdata/time-input/time.png b/core/testdata/time-input/time.png
new file mode 100644
index 0000000000..90a24bf524
Binary files /dev/null and b/core/testdata/time-input/time.png differ
diff --git a/core/testdata/tree/basic.png b/core/testdata/tree/basic.png
new file mode 100644
index 0000000000..b76f9c1587
Binary files /dev/null and b/core/testdata/tree/basic.png differ
diff --git a/core/testdata/tree/read-only.png b/core/testdata/tree/read-only.png
new file mode 100644
index 0000000000..b76f9c1587
Binary files /dev/null and b/core/testdata/tree/read-only.png differ
diff --git a/core/testdata/valuer/bitflag.png b/core/testdata/valuer/bitflag.png
new file mode 100644
index 0000000000..9c658af278
Binary files /dev/null and b/core/testdata/valuer/bitflag.png differ
diff --git a/core/testdata/valuer/bool.png b/core/testdata/valuer/bool.png
new file mode 100644
index 0000000000..41e05611c5
Binary files /dev/null and b/core/testdata/valuer/bool.png differ
diff --git a/core/testdata/valuer/byte-slice.png b/core/testdata/valuer/byte-slice.png
new file mode 100644
index 0000000000..ff7482b07a
Binary files /dev/null and b/core/testdata/valuer/byte-slice.png differ
diff --git a/core/testdata/valuer/checkbox.png b/core/testdata/valuer/checkbox.png
new file mode 100644
index 0000000000..b624b42f0e
Binary files /dev/null and b/core/testdata/valuer/checkbox.png differ
diff --git a/core/testdata/valuer/color.png b/core/testdata/valuer/color.png
new file mode 100644
index 0000000000..f40ce7bbfe
Binary files /dev/null and b/core/testdata/valuer/color.png differ
diff --git a/core/testdata/valuer/colormap.png b/core/testdata/valuer/colormap.png
new file mode 100644
index 0000000000..471d5011a3
Binary files /dev/null and b/core/testdata/valuer/colormap.png differ
diff --git a/core/testdata/valuer/enum.png b/core/testdata/valuer/enum.png
new file mode 100644
index 0000000000..5abab80729
Binary files /dev/null and b/core/testdata/valuer/enum.png differ
diff --git a/core/testdata/valuer/file.png b/core/testdata/valuer/file.png
new file mode 100644
index 0000000000..7cddfb6451
Binary files /dev/null and b/core/testdata/valuer/file.png differ
diff --git a/core/testdata/valuer/float.png b/core/testdata/valuer/float.png
new file mode 100644
index 0000000000..d0ab130e47
Binary files /dev/null and b/core/testdata/valuer/float.png differ
diff --git a/core/testdata/valuer/font.png b/core/testdata/valuer/font.png
new file mode 100644
index 0000000000..2714e6bf2e
Binary files /dev/null and b/core/testdata/valuer/font.png differ
diff --git a/core/testdata/valuer/func.png b/core/testdata/valuer/func.png
new file mode 100644
index 0000000000..fde3c3665c
Binary files /dev/null and b/core/testdata/valuer/func.png differ
diff --git a/core/testdata/valuer/icon.png b/core/testdata/valuer/icon.png
new file mode 100644
index 0000000000..221177d1a5
Binary files /dev/null and b/core/testdata/valuer/icon.png differ
diff --git a/core/testdata/valuer/int.png b/core/testdata/valuer/int.png
new file mode 100644
index 0000000000..ac15b3ab12
Binary files /dev/null and b/core/testdata/valuer/int.png differ
diff --git a/core/testdata/valuer/keychord.png b/core/testdata/valuer/keychord.png
new file mode 100644
index 0000000000..b9031a3869
Binary files /dev/null and b/core/testdata/valuer/keychord.png differ
diff --git a/core/testdata/valuer/keymap.png b/core/testdata/valuer/keymap.png
new file mode 100644
index 0000000000..a8a72e1fd6
Binary files /dev/null and b/core/testdata/valuer/keymap.png differ
diff --git a/core/testdata/valuer/map-inline.png b/core/testdata/valuer/map-inline.png
new file mode 100644
index 0000000000..ccbfd00baf
Binary files /dev/null and b/core/testdata/valuer/map-inline.png differ
diff --git a/core/testdata/valuer/map.png b/core/testdata/valuer/map.png
new file mode 100644
index 0000000000..a59430f0ad
Binary files /dev/null and b/core/testdata/valuer/map.png differ
diff --git a/core/testdata/valuer/nil.png b/core/testdata/valuer/nil.png
new file mode 100644
index 0000000000..151edc1cc9
Binary files /dev/null and b/core/testdata/valuer/nil.png differ
diff --git a/core/testdata/valuer/option.png b/core/testdata/valuer/option.png
new file mode 100644
index 0000000000..9f04920801
Binary files /dev/null and b/core/testdata/valuer/option.png differ
diff --git a/core/testdata/valuer/rune-slice.png b/core/testdata/valuer/rune-slice.png
new file mode 100644
index 0000000000..e6bc6f421c
Binary files /dev/null and b/core/testdata/valuer/rune-slice.png differ
diff --git a/core/testdata/valuer/slice-inline.png b/core/testdata/valuer/slice-inline.png
new file mode 100644
index 0000000000..3bef1a5f0a
Binary files /dev/null and b/core/testdata/valuer/slice-inline.png differ
diff --git a/core/testdata/valuer/slice.png b/core/testdata/valuer/slice.png
new file mode 100644
index 0000000000..6342c06d0b
Binary files /dev/null and b/core/testdata/valuer/slice.png differ
diff --git a/core/testdata/valuer/slider.png b/core/testdata/valuer/slider.png
new file mode 100644
index 0000000000..1c05b990d0
Binary files /dev/null and b/core/testdata/valuer/slider.png differ
diff --git a/core/testdata/valuer/struct-inline.png b/core/testdata/valuer/struct-inline.png
new file mode 100644
index 0000000000..8e141c76b6
Binary files /dev/null and b/core/testdata/valuer/struct-inline.png differ
diff --git a/core/testdata/valuer/struct.png b/core/testdata/valuer/struct.png
new file mode 100644
index 0000000000..a6b0042f2e
Binary files /dev/null and b/core/testdata/valuer/struct.png differ
diff --git a/core/testdata/valuer/table.png b/core/testdata/valuer/table.png
new file mode 100644
index 0000000000..8371621c5d
Binary files /dev/null and b/core/testdata/valuer/table.png differ
diff --git a/core/testdata/valuer/tree-nil.png b/core/testdata/valuer/tree-nil.png
new file mode 100644
index 0000000000..681ac383fa
Binary files /dev/null and b/core/testdata/valuer/tree-nil.png differ
diff --git a/core/testdata/valuer/tree.png b/core/testdata/valuer/tree.png
new file mode 100644
index 0000000000..2f1171d659
Binary files /dev/null and b/core/testdata/valuer/tree.png differ
diff --git a/core/testdata/valuer/type.png b/core/testdata/valuer/type.png
new file mode 100644
index 0000000000..0f019adcbc
Binary files /dev/null and b/core/testdata/valuer/type.png differ
diff --git a/cursors/cursorimg/testdata/cursors.png b/cursors/cursorimg/testdata/cursors.png
new file mode 100644
index 0000000000..3f778f39db
Binary files /dev/null and b/cursors/cursorimg/testdata/cursors.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/alias.png b/cursors/cursorimg/testdata/hotspot/alias.png
new file mode 100644
index 0000000000..cbe701c03b
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/alias.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/arrow.png b/cursors/cursorimg/testdata/hotspot/arrow.png
new file mode 100644
index 0000000000..7d401d2fcc
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/arrow.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/cell.png b/cursors/cursorimg/testdata/hotspot/cell.png
new file mode 100644
index 0000000000..2537e920d1
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/cell.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/context-menu.png b/cursors/cursorimg/testdata/hotspot/context-menu.png
new file mode 100644
index 0000000000..15848c2dd2
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/context-menu.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/copy.png b/cursors/cursorimg/testdata/hotspot/copy.png
new file mode 100644
index 0000000000..643625aaec
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/copy.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/crosshair.png b/cursors/cursorimg/testdata/hotspot/crosshair.png
new file mode 100644
index 0000000000..4143d4459f
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/crosshair.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/grab.png b/cursors/cursorimg/testdata/hotspot/grab.png
new file mode 100644
index 0000000000..a8170a412f
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/grab.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/grabbing.png b/cursors/cursorimg/testdata/hotspot/grabbing.png
new file mode 100644
index 0000000000..89fac088c0
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/grabbing.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/help.png b/cursors/cursorimg/testdata/hotspot/help.png
new file mode 100644
index 0000000000..958c9dc8f5
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/help.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/move.png b/cursors/cursorimg/testdata/hotspot/move.png
new file mode 100644
index 0000000000..350ba857ee
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/move.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/not-allowed.png b/cursors/cursorimg/testdata/hotspot/not-allowed.png
new file mode 100644
index 0000000000..3f4a583913
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/not-allowed.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/pointer.png b/cursors/cursorimg/testdata/hotspot/pointer.png
new file mode 100644
index 0000000000..08007f67d6
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/pointer.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/poof.png b/cursors/cursorimg/testdata/hotspot/poof.png
new file mode 100644
index 0000000000..20502c300b
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/poof.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/progress.png b/cursors/cursorimg/testdata/hotspot/progress.png
new file mode 100644
index 0000000000..db8bc372fb
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/progress.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-col.png b/cursors/cursorimg/testdata/hotspot/resize-col.png
new file mode 100644
index 0000000000..991440d2b8
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-col.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-down.png b/cursors/cursorimg/testdata/hotspot/resize-down.png
new file mode 100644
index 0000000000..e846fbf49d
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-down.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-e.png b/cursors/cursorimg/testdata/hotspot/resize-e.png
new file mode 100644
index 0000000000..35a7d883b4
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-e.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-ew.png b/cursors/cursorimg/testdata/hotspot/resize-ew.png
new file mode 100644
index 0000000000..c213024d6b
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-ew.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-left.png b/cursors/cursorimg/testdata/hotspot/resize-left.png
new file mode 100644
index 0000000000..36f6390dc0
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-left.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-n.png b/cursors/cursorimg/testdata/hotspot/resize-n.png
new file mode 100644
index 0000000000..30b284bddd
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-n.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-ne.png b/cursors/cursorimg/testdata/hotspot/resize-ne.png
new file mode 100644
index 0000000000..fef8f2ec87
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-ne.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-nesw.png b/cursors/cursorimg/testdata/hotspot/resize-nesw.png
new file mode 100644
index 0000000000..9d31353766
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-nesw.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-ns.png b/cursors/cursorimg/testdata/hotspot/resize-ns.png
new file mode 100644
index 0000000000..a5132b5aa5
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-ns.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-nw.png b/cursors/cursorimg/testdata/hotspot/resize-nw.png
new file mode 100644
index 0000000000..34024a89c1
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-nw.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-nwse.png b/cursors/cursorimg/testdata/hotspot/resize-nwse.png
new file mode 100644
index 0000000000..40e177fa72
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-nwse.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-right.png b/cursors/cursorimg/testdata/hotspot/resize-right.png
new file mode 100644
index 0000000000..efa6700952
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-right.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-row.png b/cursors/cursorimg/testdata/hotspot/resize-row.png
new file mode 100644
index 0000000000..f98a20fc85
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-row.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-s.png b/cursors/cursorimg/testdata/hotspot/resize-s.png
new file mode 100644
index 0000000000..786ccf0035
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-s.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-se.png b/cursors/cursorimg/testdata/hotspot/resize-se.png
new file mode 100644
index 0000000000..3d6cdfc836
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-se.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-sw.png b/cursors/cursorimg/testdata/hotspot/resize-sw.png
new file mode 100644
index 0000000000..72aa26ff60
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-sw.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-up.png b/cursors/cursorimg/testdata/hotspot/resize-up.png
new file mode 100644
index 0000000000..8fb307ad34
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-up.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/resize-w.png b/cursors/cursorimg/testdata/hotspot/resize-w.png
new file mode 100644
index 0000000000..eb872d3670
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/resize-w.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/screenshot-selection.png b/cursors/cursorimg/testdata/hotspot/screenshot-selection.png
new file mode 100644
index 0000000000..2854b36aff
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/screenshot-selection.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/screenshot-window.png b/cursors/cursorimg/testdata/hotspot/screenshot-window.png
new file mode 100644
index 0000000000..6326337145
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/screenshot-window.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/text.png b/cursors/cursorimg/testdata/hotspot/text.png
new file mode 100644
index 0000000000..4fdc58e0b2
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/text.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/vertical-text.png b/cursors/cursorimg/testdata/hotspot/vertical-text.png
new file mode 100644
index 0000000000..4e92994e65
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/vertical-text.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/wait.png b/cursors/cursorimg/testdata/hotspot/wait.png
new file mode 100644
index 0000000000..ef6dbeb108
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/wait.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/zoom-in.png b/cursors/cursorimg/testdata/hotspot/zoom-in.png
new file mode 100644
index 0000000000..2bd41e900c
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/zoom-in.png differ
diff --git a/cursors/cursorimg/testdata/hotspot/zoom-out.png b/cursors/cursorimg/testdata/hotspot/zoom-out.png
new file mode 100644
index 0000000000..248ee0850a
Binary files /dev/null and b/cursors/cursorimg/testdata/hotspot/zoom-out.png differ
diff --git a/docs/content/install.md b/docs/content/install.md
index 4f84a4121f..3822ae6a02 100644
--- a/docs/content/install.md
+++ b/docs/content/install.md
@@ -32,14 +32,14 @@ If you want to install manually instead, the commands for each distro are listed
{collapsed="true" title="Linux install commands"}
```sh
-Debian/Ubuntu: sudo apt install gcc libgl1-mesa-dev libegl1-mesa-dev mesa-vulkan-drivers xorg-dev
-Fedora: sudo dnf install gcc libX11-devel libXcursor-devel libXrandr-devel libXinerama-devel mesa-libGL-devel libXi-devel libXxf86vm-devel mesa-vulkan-drivers
-Arch: sudo pacman -S xorg-server-devel libxcursor libxrandr libxinerama libxi vulkan-swrast
-Solus: sudo eopkg it -c system.devel mesalib-devel libxrandr-devel libxcursor-devel libxi-devel libxinerama-devel vulkan
-openSUSE: sudo zypper install gcc libXcursor-devel libXrandr-devel Mesa-libGL-devel libXi-devel libXinerama-devel libXxf86vm-devel libvulkan1
-Void: sudo xbps-install -S base-devel xorg-server-devel libXrandr-devel libXcursor-devel libXinerama-devel vulkan-loader
-Alpine: sudo apk add gcc libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev linux-headers mesa-dev vulkan-loader
-NixOS: nix-shell -p libGL pkg-config xorg.libX11.dev xorg.libXcursor xorg.libXi xorg.libXinerama xorg.libXrandr xorg.libXxf86vm mesa.drivers vulkan-loader
+Debian/Ubuntu: sudo apt install gcc libgl1-mesa-dev libegl1-mesa-dev mesa-vulkan-drivers xorg-dev libwayland-dev
+Fedora: sudo dnf install gcc libX11-devel libXcursor-devel libXrandr-devel libXinerama-devel mesa-libGL-devel libXi-devel libXxf86vm-devel mesa-vulkan-drivers wayland-devel
+Arch: sudo pacman -S xorg-server-devel libxcursor libxrandr libxinerama libxi vulkan-swrast wayland
+Solus: sudo eopkg it -c system.devel mesalib-devel libxrandr-devel libxcursor-devel libxi-devel libxinerama-devel vulkan wayland-devel
+openSUSE: sudo zypper install gcc libXcursor-devel libXrandr-devel Mesa-libGL-devel libXi-devel libXinerama-devel libXxf86vm-devel libvulkan1 wayland-devel
+Void: sudo xbps-install -S base-devel xorg-server-devel libXrandr-devel libXcursor-devel libXinerama-devel vulkan-loader wayland-devel
+Alpine: sudo apk add gcc libxcursor-dev libxrandr-dev libxinerama-dev libxi-dev linux-headers mesa-dev vulkan-loader wayland-dev
+NixOS: nix-shell -p libGL pkg-config xorg.libX11.dev xorg.libXcursor xorg.libXi xorg.libXinerama xorg.libXrandr xorg.libXxf86vm mesa.drivers vulkan-loader wayland
```
## Demo
diff --git a/enums/enumgen/testdata/enumgen.go b/enums/enumgen/testdata/enumgen.go
index 0a2a5045a5..8ecb4988c3 100644
--- a/enums/enumgen/testdata/enumgen.go
+++ b/enums/enumgen/testdata/enumgen.go
@@ -1,4 +1,4 @@
-// Code generated by "enumgen.test -test.testlogfile=/var/folders/x1/r8shprmj7j71zbw3qvgl9dqc0000gq/T/go-build3512055401/b710/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true"; DO NOT EDIT.
+// Code generated by "enumgen.test -test.testlogfile=/var/folders/cs/tykpmkdn3p3_v0zymybv38w80000gn/T/go-build593652124/b757/testlog.txt -test.paniconexit0 -test.timeout=10m0s"; DO NOT EDIT.
package testdata
diff --git a/filetree/testdata/basic.png b/filetree/testdata/basic.png
new file mode 100644
index 0000000000..15a3c54f55
Binary files /dev/null and b/filetree/testdata/basic.png differ
diff --git a/htmlcore/testdata/html/button.png b/htmlcore/testdata/html/button.png
new file mode 100644
index 0000000000..fbecc052cf
Binary files /dev/null and b/htmlcore/testdata/html/button.png differ
diff --git a/htmlcore/testdata/html/h1.png b/htmlcore/testdata/html/h1.png
new file mode 100644
index 0000000000..1ddcfb8f14
Binary files /dev/null and b/htmlcore/testdata/html/h1.png differ
diff --git a/htmlcore/testdata/html/h2.png b/htmlcore/testdata/html/h2.png
new file mode 100644
index 0000000000..f0d8f7c979
Binary files /dev/null and b/htmlcore/testdata/html/h2.png differ
diff --git a/htmlcore/testdata/html/h3.png b/htmlcore/testdata/html/h3.png
new file mode 100644
index 0000000000..ad04ce9c55
Binary files /dev/null and b/htmlcore/testdata/html/h3.png differ
diff --git a/htmlcore/testdata/html/h4.png b/htmlcore/testdata/html/h4.png
new file mode 100644
index 0000000000..494317a25c
Binary files /dev/null and b/htmlcore/testdata/html/h4.png differ
diff --git a/htmlcore/testdata/html/h5.png b/htmlcore/testdata/html/h5.png
new file mode 100644
index 0000000000..d43b03e6ae
Binary files /dev/null and b/htmlcore/testdata/html/h5.png differ
diff --git a/htmlcore/testdata/html/h6.png b/htmlcore/testdata/html/h6.png
new file mode 100644
index 0000000000..847e9add42
Binary files /dev/null and b/htmlcore/testdata/html/h6.png differ
diff --git a/htmlcore/testdata/html/input.png b/htmlcore/testdata/html/input.png
new file mode 100644
index 0000000000..1e2d7fdb85
Binary files /dev/null and b/htmlcore/testdata/html/input.png differ
diff --git a/htmlcore/testdata/html/ol.png b/htmlcore/testdata/html/ol.png
new file mode 100644
index 0000000000..ab72e9c571
Binary files /dev/null and b/htmlcore/testdata/html/ol.png differ
diff --git a/htmlcore/testdata/html/p.png b/htmlcore/testdata/html/p.png
new file mode 100644
index 0000000000..042eeba445
Binary files /dev/null and b/htmlcore/testdata/html/p.png differ
diff --git a/htmlcore/testdata/html/ul.png b/htmlcore/testdata/html/ul.png
new file mode 100644
index 0000000000..c45960097e
Binary files /dev/null and b/htmlcore/testdata/html/ul.png differ
diff --git a/htmlcore/testdata/md/button-in-heading-bug.png b/htmlcore/testdata/md/button-in-heading-bug.png
new file mode 100644
index 0000000000..37b84f4a32
Binary files /dev/null and b/htmlcore/testdata/md/button-in-heading-bug.png differ
diff --git a/htmlcore/testdata/md/code.png b/htmlcore/testdata/md/code.png
new file mode 100644
index 0000000000..b0d3d1b513
Binary files /dev/null and b/htmlcore/testdata/md/code.png differ
diff --git a/htmlcore/testdata/md/double-button-bug.png b/htmlcore/testdata/md/double-button-bug.png
new file mode 100644
index 0000000000..2d1272092d
Binary files /dev/null and b/htmlcore/testdata/md/double-button-bug.png differ
diff --git a/htmlcore/testdata/md/extra-newline-bug.png b/htmlcore/testdata/md/extra-newline-bug.png
new file mode 100644
index 0000000000..6afaafc7dd
Binary files /dev/null and b/htmlcore/testdata/md/extra-newline-bug.png differ
diff --git a/htmlcore/testdata/md/h1.png b/htmlcore/testdata/md/h1.png
new file mode 100644
index 0000000000..1ddcfb8f14
Binary files /dev/null and b/htmlcore/testdata/md/h1.png differ
diff --git a/htmlcore/testdata/md/h2.png b/htmlcore/testdata/md/h2.png
new file mode 100644
index 0000000000..f0d8f7c979
Binary files /dev/null and b/htmlcore/testdata/md/h2.png differ
diff --git a/htmlcore/testdata/md/p.png b/htmlcore/testdata/md/p.png
new file mode 100644
index 0000000000..042eeba445
Binary files /dev/null and b/htmlcore/testdata/md/p.png differ
diff --git a/keymap/testdata/keymaps.md b/keymap/testdata/keymaps.md
new file mode 100644
index 0000000000..1bf93a364c
--- /dev/null
+++ b/keymap/testdata/keymaps.md
@@ -0,0 +1,264 @@
+### By function
+
+| Function | `MacStandard` | `MacEmacs` | `LinuxEmacs` | `LinuxStandard` | `WindowsStandard` | `ChromeStd` |
+| ---------------------------- | ------------- | ---------- | ------------ | --------------- | ----------------- | ----------- |
+| MoveUp | | | | | | |
+| MoveDown | | | | | | |
+| MoveRight | | | | | | |
+| MoveLeft | | | | | | |
+| PageUp | | | | | | |
+| PageDown | | | | | | |
+| Home | | | | | | |
+| End | | | | | | |
+| DocHome | | | | | | |
+| DocEnd | | | | | | |
+| WordRight | | | | | | |
+| WordLeft | | | | | | |
+| FocusNext | | | | | | |
+| FocusPrev | | | | | | |
+| Enter | | | | | | |
+| Accept | | | | | | |
+| CancelSelect | | | | | | |
+| SelectMode | | | | | | |
+| SelectAll | | | | | | |
+| Abort | | | | | | |
+| Copy | | | | | | |
+| Cut | | | | | | |
+| Paste | | | | | | |
+| PasteHist | | | | | | |
+| Backspace | | | | | | |
+| BackspaceWord | | | | | | |
+| Delete | | | | | | |
+| DeleteWord | | | | | | |
+| Kill | | | | | | |
+| Duplicate | | | | | | |
+| Transpose | | | | | | |
+| TransposeWord | | | | | | |
+| Undo | | | | | | |
+| Redo | | | | | | |
+| Insert | | | | | | |
+| InsertAfter | | | | | | |
+| ZoomOut | | | | | | |
+| ZoomIn | | | | | | |
+| Refresh | | | | | | |
+| Recenter | | | | | | |
+| Complete | | | | | | |
+| Lookup | | | | | | |
+| Search | | | | | | |
+| Find | | | | | | |
+| Replace | | | | | | |
+| Jump | | | | | | |
+| HistPrev | | | | | | |
+| HistNext | | | | | | |
+| Menu | | | | | | |
+| WinFocusNext | | | | | | |
+| WinClose | | | | | | |
+| WinSnapshot | | | | | | |
+| New | | | | | | |
+| NewAlt1 | | | | | | |
+| NewAlt2 | | | | | | |
+| Open | | | | | | |
+| OpenAlt1 | | | | | | |
+| OpenAlt2 | | | | | | |
+| Save | | | | | | |
+| SaveAs | | | | | | |
+| SaveAlt | | | | | | |
+| CloseAlt1 | | | | | | |
+| CloseAlt2 | | | | | | |
+| MultiA | | | | | | |
+| MultiB | | | | | | |
+
+
+### No Modifiers
+
+| Key | `MacStandard` | `MacEmacs` | `LinuxEmacs` | `LinuxStandard` | `WindowsStandard` | `ChromeStd` |
+| ---------------------------- | ------------- | ---------- | ------------ | --------------- | ----------------- | ----------- |
+| ReturnEnter | Enter | Enter | Enter | Enter | Enter | Enter |
+| Escape | Abort | Abort | Abort | Abort | Abort | Abort |
+| Backspace | Backspace | Backspace | Backspace | Backspace | Backspace | Backspace |
+| Tab | FocusNext | FocusNext | FocusNext | FocusNext | FocusNext | FocusNext |
+| F5 | Refresh | Refresh | Refresh | Refresh | Refresh | Refresh |
+| F10 | Menu | Menu | Menu | Menu | Menu | Menu |
+| Home | Home | Home | Home | Home | Home | Home |
+| PageUp | PageUp | PageUp | PageUp | PageUp | PageUp | PageUp |
+| Delete | Delete | Delete | Delete | Delete | Delete | Delete |
+| End | End | End | End | End | End | End |
+| PageDown | PageDown | PageDown | PageDown | PageDown | PageDown | PageDown |
+| RightArrow | MoveRight | MoveRight | MoveRight | MoveRight | MoveRight | MoveRight |
+| LeftArrow | MoveLeft | MoveLeft | MoveLeft | MoveLeft | MoveLeft | MoveLeft |
+| DownArrow | MoveDown | MoveDown | MoveDown | MoveDown | MoveDown | MoveDown |
+| UpArrow | MoveUp | MoveUp | MoveUp | MoveUp | MoveUp | MoveUp |
+| KeypadEnter | Enter | Enter | Enter | Enter | Enter | Enter |
+
+
+### Shift
+
+| Key | `MacStandard` | `MacEmacs` | `LinuxEmacs` | `LinuxStandard` | `WindowsStandard` | `ChromeStd` |
+| ---------------------------- | ------------- | ---------- | ------------ | --------------- | ----------------- | ----------- |
+| Shift+Tab | FocusPrev | FocusPrev | FocusPrev | FocusPrev | FocusPrev | FocusPrev |
+
+
+### Control
+
+| Key | `MacStandard` | `MacEmacs` | `LinuxEmacs` | `LinuxStandard` | `WindowsStandard` | `ChromeStd` |
+| ---------------------------- | ------------- | ---------- | ------------ | --------------- | ----------------- | ----------- |
+| Control+A | Home | Home | Home | SelectAll | SelectAll | SelectAll |
+| Control+B | MoveLeft | MoveLeft | MoveLeft | MultiA | MultiA | MultiA |
+| Control+C | MultiA | MultiA | MultiA | Copy | Copy | Copy |
+| Control+D | Delete | Delete | Delete | | | |
+| Control+E | End | End | End | MultiB | MultiB | MultiB |
+| Control+F | MoveRight | MoveRight | MoveRight | Find | Find | Find |
+| Control+G | CancelSelect | CancelSelect | CancelSelect | CancelSelect | CancelSelect | CancelSelect |
+| Control+H | | DocHome | | Replace | Replace | Replace |
+| Control+I | Insert | Insert | Insert | | | |
+| Control+J | Jump | Jump | Jump | Jump | Jump | Jump |
+| Control+K | Kill | Kill | Kill | Kill | Kill | Kill |
+| Control+L | Recenter | Recenter | Recenter | Recenter | Recenter | Recenter |
+| Control+M | Menu | Menu | Menu | Menu | Menu | Menu |
+| Control+N | MoveDown | MoveDown | MoveDown | New | New | New |
+| Control+O | InsertAfter | InsertAfter | InsertAfter | Open | Open | Open |
+| Control+P | MoveUp | MoveUp | MoveUp | | | |
+| Control+R | | Replace | Replace | Replace | Replace | Replace |
+| Control+S | Search | Search | Search | Save | Save | Save |
+| Control+T | Transpose | Transpose | Transpose | Transpose | Transpose | Transpose |
+| Control+U | PageUp | PageUp | PageUp | | | |
+| Control+V | Paste | PageDown | PageDown | Paste | Paste | Paste |
+| Control+W | Cut | Cut | Cut | WinClose | WinClose | WinClose |
+| Control+X | MultiB | MultiB | MultiB | Cut | Cut | Cut |
+| Control+Y | Paste | Paste | Paste | Redo | Redo | Redo |
+| Control+Z | Undo | Undo | Undo | Undo | Undo | Undo |
+| Control+ReturnEnter | Accept | Accept | Accept | Accept | Accept | Accept |
+| Control+Backspace | BackspaceWord | BackspaceWord | BackspaceWord | BackspaceWord | BackspaceWord | BackspaceWord |
+| Control+Spacebar | SelectMode | SelectMode | SelectMode | SelectMode | SelectMode | SelectMode |
+| Control+Home | DocHome | DocHome | DocHome | DocHome | DocHome | DocHome |
+| Control+Delete | DeleteWord | DeleteWord | DeleteWord | DeleteWord | DeleteWord | DeleteWord |
+| Control+End | DocEnd | DocEnd | DocEnd | DocEnd | DocEnd | DocEnd |
+| Control+RightArrow | WordRight | WordRight | WordRight | WordRight | WordRight | WordRight |
+| Control+LeftArrow | WordLeft | WordLeft | WordLeft | WordLeft | WordLeft | WordLeft |
+| Control+DownArrow | PageDown | PageDown | PageDown | PageDown | PageDown | PageDown |
+| Control+UpArrow | PageUp | PageUp | PageUp | PageUp | PageUp | PageUp |
+
+
+### Control+Shift
+
+| Key | `MacStandard` | `MacEmacs` | `LinuxEmacs` | `LinuxStandard` | `WindowsStandard` | `ChromeStd` |
+| ---------------------------- | ------------- | ---------- | ------------ | --------------- | ----------------- | ----------- |
+| Control+Shift+A | | | | CancelSelect | CancelSelect | CancelSelect |
+| Control+Shift+G | WinSnapshot | WinSnapshot | WinSnapshot | WinSnapshot | WinSnapshot | WinSnapshot |
+| Control+Shift+N | | | | NewAlt1 | NewAlt1 | NewAlt1 |
+| Control+Shift+O | | | | OpenAlt1 | OpenAlt1 | OpenAlt1 |
+| Control+Shift+S | | | | SaveAs | SaveAs | SaveAs |
+| Control+Shift+V | | | | PasteHist | PasteHist | PasteHist |
+| Control+Shift+W | | | WinClose | CloseAlt1 | CloseAlt1 | CloseAlt1 |
+| Control+Shift+Y | | PasteHist | PasteHist | | | |
+| Control+Shift+Z | Redo | Redo | Redo | Redo | Redo | Redo |
+
+
+### Meta
+
+| Key | `MacStandard` | `MacEmacs` | `LinuxEmacs` | `LinuxStandard` | `WindowsStandard` | `ChromeStd` |
+| ---------------------------- | ------------- | ---------- | ------------ | --------------- | ----------------- | ----------- |
+| Meta+A | SelectAll | SelectAll | | | | |
+| Meta+C | Copy | Copy | | | | |
+| Meta+F | Find | Find | | | | |
+| Meta+H | DocHome | DocHome | | | | |
+| Meta+L | DocEnd | DocEnd | | | | |
+| Meta+N | New | New | | | | |
+| Meta+O | Open | Open | | | | |
+| Meta+R | Replace | Replace | | | | |
+| Meta+S | Save | Save | | | | |
+| Meta+V | Paste | Paste | | | | |
+| Meta+W | WinClose | WinClose | | | | |
+| Meta+X | Cut | Cut | | | | |
+| Meta+Z | Undo | Undo | | | | |
+| Meta+ReturnEnter | Accept | Accept | | | | |
+| Meta+Backspace | BackspaceWord | BackspaceWord | | | | |
+| Meta+Home | DocHome | DocHome | | | | |
+| Meta+End | DocEnd | DocEnd | | | | |
+| Meta+RightArrow | End | End | | | | |
+| Meta+LeftArrow | Home | Home | | | | |
+| Meta+DownArrow | MoveDown | MoveDown | | | | |
+| Meta+UpArrow | MoveUp | MoveUp | | | | |
+
+
+### Meta+Shift
+
+| Key | `MacStandard` | `MacEmacs` | `LinuxEmacs` | `LinuxStandard` | `WindowsStandard` | `ChromeStd` |
+| ---------------------------- | ------------- | ---------- | ------------ | --------------- | ----------------- | ----------- |
+| Meta+Shift+N | NewAlt1 | NewAlt1 | | | | |
+| Meta+Shift+O | OpenAlt1 | OpenAlt1 | | | | |
+| Meta+Shift+S | SaveAs | SaveAs | | | | |
+| Meta+Shift+V | PasteHist | PasteHist | | | | |
+| Meta+Shift+W | CloseAlt1 | CloseAlt1 | | | | |
+| Meta+Shift+Z | Redo | Redo | | | | |
+
+
+### Alt
+
+| Key | `MacStandard` | `MacEmacs` | `LinuxEmacs` | `LinuxStandard` | `WindowsStandard` | `ChromeStd` |
+| ---------------------------- | ------------- | ---------- | ------------ | --------------- | ----------------- | ----------- |
+| Alt+A | | | SelectAll | | | |
+| Alt+B | | WordLeft | | | | |
+| Alt+C | Copy | Copy | Copy | | | |
+| Alt+D | Duplicate | Duplicate | Duplicate | Duplicate | Duplicate | Duplicate |
+| Alt+F | | WordRight | Find | | | |
+| Alt+H | | | DocHome | | | |
+| Alt+L | | | DocEnd | | | |
+| Alt+N | | | New | | | |
+| Alt+O | | | Open | | | |
+| Alt+S | | | Save | Search | Search | Search |
+| Alt+T | TransposeWord | TransposeWord | TransposeWord | TransposeWord | TransposeWord | TransposeWord |
+| Alt+V | PageDown | PageDown | Paste | | | |
+| Alt+W | | | Copy | | | |
+| Alt+X | | | Cut | | | |
+| Alt+Backspace | BackspaceWord | BackspaceWord | BackspaceWord | BackspaceWord | BackspaceWord | BackspaceWord |
+| Alt+F6 | | | WinFocusNext | WinFocusNext | WinFocusNext | WinFocusNext |
+| Alt+Home | DocHome | DocHome | DocHome | DocHome | DocHome | DocHome |
+| Alt+Delete | DeleteWord | DeleteWord | DeleteWord | DeleteWord | DeleteWord | DeleteWord |
+| Alt+End | DocEnd | DocEnd | DocEnd | DocEnd | DocEnd | DocEnd |
+| Alt+RightArrow | WordRight | WordRight | End | End | End | End |
+| Alt+LeftArrow | WordLeft | WordLeft | Home | Home | Home | Home |
+| Alt+DownArrow | | | MoveDown | | | |
+| Alt+UpArrow | | | MoveUp | | | |
+
+
+### Alt+Shift
+
+| Key | `MacStandard` | `MacEmacs` | `LinuxEmacs` | `LinuxStandard` | `WindowsStandard` | `ChromeStd` |
+| ---------------------------- | ------------- | ---------- | ------------ | --------------- | ----------------- | ----------- |
+| Alt+Shift+N | | | NewAlt1 | | | |
+| Alt+Shift+O | | | OpenAlt1 | OpenAlt2 | OpenAlt2 | OpenAlt2 |
+| Alt+Shift+S | | | SaveAs | | | |
+| Alt+Shift+V | | | PasteHist | | | |
+| Alt+Shift+W | | | CloseAlt1 | | | |
+
+
+### Control+Alt
+
+| Key | `MacStandard` | `MacEmacs` | `LinuxEmacs` | `LinuxStandard` | `WindowsStandard` | `ChromeStd` |
+| ---------------------------- | ------------- | ---------- | ------------ | --------------- | ----------------- | ----------- |
+| Control+Alt+A | | DocHome | DocHome | | | |
+| Control+Alt+B | | | MoveLeft | | | |
+| Control+Alt+E | | DocEnd | DocEnd | | | |
+| Control+Alt+F | | | MoveRight | | | |
+| Control+Alt+G | WinSnapshot | WinSnapshot | WinSnapshot | WinSnapshot | WinSnapshot | WinSnapshot |
+| Control+Alt+I | | | | Insert | Insert | Insert |
+| Control+Alt+N | | | MoveDown | NewAlt2 | NewAlt2 | NewAlt2 |
+| Control+Alt+O | | | OpenAlt2 | InsertAfter | InsertAfter | InsertAfter |
+| Control+Alt+P | | | MoveUp | | | |
+| Control+Alt+S | | | SaveAlt | SaveAlt | SaveAlt | SaveAlt |
+| Control+Alt+U | | | PageUp | | | |
+| Control+Alt+V | | | PageDown | | | |
+| Control+Alt+W | | | CloseAlt2 | CloseAlt2 | CloseAlt2 | CloseAlt2 |
+
+
+### Meta+Alt
+
+| Key | `MacStandard` | `MacEmacs` | `LinuxEmacs` | `LinuxStandard` | `WindowsStandard` | `ChromeStd` |
+| ---------------------------- | ------------- | ---------- | ------------ | --------------- | ----------------- | ----------- |
+| Meta+Alt+N | NewAlt2 | NewAlt2 | | | | |
+| Meta+Alt+O | OpenAlt2 | OpenAlt2 | | | | |
+| Meta+Alt+S | SaveAlt | SaveAlt | | | | |
+| Meta+Alt+W | CloseAlt2 | CloseAlt2 | | | | |
+
+
diff --git a/paint/pdf/testdata/gradient-linear.pdf b/paint/pdf/testdata/gradient-linear.pdf
new file mode 100644
index 0000000000..a104004b61
Binary files /dev/null and b/paint/pdf/testdata/gradient-linear.pdf differ
diff --git a/paint/pdf/testdata/gradient-radial.pdf b/paint/pdf/testdata/gradient-radial.pdf
new file mode 100644
index 0000000000..b4c881a096
Binary files /dev/null and b/paint/pdf/testdata/gradient-radial.pdf differ
diff --git a/paint/pdf/testdata/layers.pdf b/paint/pdf/testdata/layers.pdf
new file mode 100644
index 0000000000..d2c574ba3b
Binary files /dev/null and b/paint/pdf/testdata/layers.pdf differ
diff --git a/paint/pdf/testdata/links.pdf b/paint/pdf/testdata/links.pdf
new file mode 100644
index 0000000000..53eb35b4ba
Binary files /dev/null and b/paint/pdf/testdata/links.pdf differ
diff --git a/paint/pdf/testdata/math-display.pdf b/paint/pdf/testdata/math-display.pdf
new file mode 100644
index 0000000000..3cbb67dcfb
Binary files /dev/null and b/paint/pdf/testdata/math-display.pdf differ
diff --git a/paint/pdf/testdata/math-inline.pdf b/paint/pdf/testdata/math-inline.pdf
new file mode 100644
index 0000000000..7937ed48a4
Binary files /dev/null and b/paint/pdf/testdata/math-inline.pdf differ
diff --git a/paint/pdf/testdata/outline.pdf b/paint/pdf/testdata/outline.pdf
new file mode 100644
index 0000000000..830db7c739
Binary files /dev/null and b/paint/pdf/testdata/outline.pdf differ
diff --git a/paint/pdf/testdata/path.pdf b/paint/pdf/testdata/path.pdf
new file mode 100644
index 0000000000..eaf0e5f585
Binary files /dev/null and b/paint/pdf/testdata/path.pdf differ
diff --git a/paint/pdf/testdata/text.pdf b/paint/pdf/testdata/text.pdf
new file mode 100644
index 0000000000..d15bde6688
Binary files /dev/null and b/paint/pdf/testdata/text.pdf differ
diff --git a/paint/renderers/rasterx/testdata/grad.png b/paint/renderers/rasterx/testdata/grad.png
new file mode 100644
index 0000000000..e099178e36
Binary files /dev/null and b/paint/renderers/rasterx/testdata/grad.png differ
diff --git a/paint/renderers/rasterx/testdata/roundRect.png b/paint/renderers/rasterx/testdata/roundRect.png
new file mode 100644
index 0000000000..ee0aab3d62
Binary files /dev/null and b/paint/renderers/rasterx/testdata/roundRect.png differ
diff --git a/paint/renderers/rasterx/testdata/shapeD0.png b/paint/renderers/rasterx/testdata/shapeD0.png
new file mode 100644
index 0000000000..10e8919a7d
Binary files /dev/null and b/paint/renderers/rasterx/testdata/shapeD0.png differ
diff --git a/paint/renderers/rasterx/testdata/shapeD1.png b/paint/renderers/rasterx/testdata/shapeD1.png
new file mode 100644
index 0000000000..83ff04a977
Binary files /dev/null and b/paint/renderers/rasterx/testdata/shapeD1.png differ
diff --git a/paint/renderers/rasterx/testdata/shapeD2.png b/paint/renderers/rasterx/testdata/shapeD2.png
new file mode 100644
index 0000000000..f16bc44aea
Binary files /dev/null and b/paint/renderers/rasterx/testdata/shapeD2.png differ
diff --git a/paint/renderers/rasterx/testdata/shapeD3.png b/paint/renderers/rasterx/testdata/shapeD3.png
new file mode 100644
index 0000000000..439ab81388
Binary files /dev/null and b/paint/renderers/rasterx/testdata/shapeD3.png differ
diff --git a/paint/renderers/rasterx/testdata/shapeD4.png b/paint/renderers/rasterx/testdata/shapeD4.png
new file mode 100644
index 0000000000..a00727c568
Binary files /dev/null and b/paint/renderers/rasterx/testdata/shapeD4.png differ
diff --git a/paint/renderers/rasterx/testdata/shapeD5.png b/paint/renderers/rasterx/testdata/shapeD5.png
new file mode 100644
index 0000000000..a00727c568
Binary files /dev/null and b/paint/renderers/rasterx/testdata/shapeD5.png differ
diff --git a/paint/renderers/rasterx/testdata/shapeD6.png b/paint/renderers/rasterx/testdata/shapeD6.png
new file mode 100644
index 0000000000..b5846a5d55
Binary files /dev/null and b/paint/renderers/rasterx/testdata/shapeD6.png differ
diff --git a/paint/renderers/rasterx/testdata/shapeF.png b/paint/renderers/rasterx/testdata/shapeF.png
new file mode 100644
index 0000000000..ef8915ad39
Binary files /dev/null and b/paint/renderers/rasterx/testdata/shapeF.png differ
diff --git a/paint/renderers/rasterx/testdata/shapeS1.png b/paint/renderers/rasterx/testdata/shapeS1.png
new file mode 100644
index 0000000000..f3d439beb8
Binary files /dev/null and b/paint/renderers/rasterx/testdata/shapeS1.png differ
diff --git a/paint/renderers/rasterx/testdata/shapeS2.png b/paint/renderers/rasterx/testdata/shapeS2.png
new file mode 100644
index 0000000000..f3d439beb8
Binary files /dev/null and b/paint/renderers/rasterx/testdata/shapeS2.png differ
diff --git a/paint/renderers/rasterx/testdata/shapeS3.png b/paint/renderers/rasterx/testdata/shapeS3.png
new file mode 100644
index 0000000000..b5846a5d55
Binary files /dev/null and b/paint/renderers/rasterx/testdata/shapeS3.png differ
diff --git a/paint/renderers/rasterx/testdata/shapeT1.png b/paint/renderers/rasterx/testdata/shapeT1.png
new file mode 100644
index 0000000000..925a7f6a62
Binary files /dev/null and b/paint/renderers/rasterx/testdata/shapeT1.png differ
diff --git a/paint/renderers/rasterx/testdata/shapeT2.png b/paint/renderers/rasterx/testdata/shapeT2.png
new file mode 100644
index 0000000000..925a7f6a62
Binary files /dev/null and b/paint/renderers/rasterx/testdata/shapeT2.png differ
diff --git a/paint/renderers/rasterx/testdata/shapeT3.png b/paint/renderers/rasterx/testdata/shapeT3.png
new file mode 100644
index 0000000000..925a7f6a62
Binary files /dev/null and b/paint/renderers/rasterx/testdata/shapeT3.png differ
diff --git a/paint/renderers/rasterx/testdata/tmf.png b/paint/renderers/rasterx/testdata/tmf.png
new file mode 100644
index 0000000000..10e817f5ac
Binary files /dev/null and b/paint/renderers/rasterx/testdata/tmf.png differ
diff --git a/paint/testdata/actual-background-color.png b/paint/testdata/actual-background-color.png
new file mode 100644
index 0000000000..139381e822
Binary files /dev/null and b/paint/testdata/actual-background-color.png differ
diff --git a/paint/testdata/background-color.png b/paint/testdata/background-color.png
new file mode 100644
index 0000000000..fad613c0af
Binary files /dev/null and b/paint/testdata/background-color.png differ
diff --git a/paint/testdata/background-image.png b/paint/testdata/background-image.png
new file mode 100644
index 0000000000..7812d032f1
Binary files /dev/null and b/paint/testdata/background-image.png differ
diff --git a/paint/testdata/blur-box.png b/paint/testdata/blur-box.png
new file mode 100644
index 0000000000..06c79223a8
Binary files /dev/null and b/paint/testdata/blur-box.png differ
diff --git a/paint/testdata/border-styles/dashed.png b/paint/testdata/border-styles/dashed.png
new file mode 100644
index 0000000000..51afaed685
Binary files /dev/null and b/paint/testdata/border-styles/dashed.png differ
diff --git a/paint/testdata/border-styles/dotted.png b/paint/testdata/border-styles/dotted.png
new file mode 100644
index 0000000000..aed75f95e2
Binary files /dev/null and b/paint/testdata/border-styles/dotted.png differ
diff --git a/paint/testdata/border-styles/double.png b/paint/testdata/border-styles/double.png
new file mode 100644
index 0000000000..e132eccece
Binary files /dev/null and b/paint/testdata/border-styles/double.png differ
diff --git a/paint/testdata/border-styles/groove.png b/paint/testdata/border-styles/groove.png
new file mode 100644
index 0000000000..e132eccece
Binary files /dev/null and b/paint/testdata/border-styles/groove.png differ
diff --git a/paint/testdata/border-styles/inset.png b/paint/testdata/border-styles/inset.png
new file mode 100644
index 0000000000..e132eccece
Binary files /dev/null and b/paint/testdata/border-styles/inset.png differ
diff --git a/paint/testdata/border-styles/none.png b/paint/testdata/border-styles/none.png
new file mode 100644
index 0000000000..cdd0f5442b
Binary files /dev/null and b/paint/testdata/border-styles/none.png differ
diff --git a/paint/testdata/border-styles/outset.png b/paint/testdata/border-styles/outset.png
new file mode 100644
index 0000000000..e132eccece
Binary files /dev/null and b/paint/testdata/border-styles/outset.png differ
diff --git a/paint/testdata/border-styles/ridge.png b/paint/testdata/border-styles/ridge.png
new file mode 100644
index 0000000000..e132eccece
Binary files /dev/null and b/paint/testdata/border-styles/ridge.png differ
diff --git a/paint/testdata/border-styles/solid.png b/paint/testdata/border-styles/solid.png
new file mode 100644
index 0000000000..e132eccece
Binary files /dev/null and b/paint/testdata/border-styles/solid.png differ
diff --git a/paint/testdata/boxmodel.png b/paint/testdata/boxmodel.png
new file mode 100644
index 0000000000..bd04fa4c80
Binary files /dev/null and b/paint/testdata/boxmodel.png differ
diff --git a/paint/testdata/boxshadow.png b/paint/testdata/boxshadow.png
new file mode 100644
index 0000000000..a359e8c088
Binary files /dev/null and b/paint/testdata/boxshadow.png differ
diff --git a/paint/testdata/circle.png b/paint/testdata/circle.png
new file mode 100644
index 0000000000..aa5ef4ff5d
Binary files /dev/null and b/paint/testdata/circle.png differ
diff --git a/paint/testdata/circular-arc.png b/paint/testdata/circular-arc.png
new file mode 100644
index 0000000000..da1dd85ed0
Binary files /dev/null and b/paint/testdata/circular-arc.png differ
diff --git a/paint/testdata/clear-path.png b/paint/testdata/clear-path.png
new file mode 100644
index 0000000000..a3c4f67456
Binary files /dev/null and b/paint/testdata/clear-path.png differ
diff --git a/paint/testdata/clip-bounds.png b/paint/testdata/clip-bounds.png
new file mode 100644
index 0000000000..6049de2aaf
Binary files /dev/null and b/paint/testdata/clip-bounds.png differ
diff --git a/paint/testdata/close-path.png b/paint/testdata/close-path.png
new file mode 100644
index 0000000000..48665df3ab
Binary files /dev/null and b/paint/testdata/close-path.png differ
diff --git a/paint/testdata/cubic-to.png b/paint/testdata/cubic-to.png
new file mode 100644
index 0000000000..2dd0bb3b4d
Binary files /dev/null and b/paint/testdata/cubic-to.png differ
diff --git a/paint/testdata/ellipse.png b/paint/testdata/ellipse.png
new file mode 100644
index 0000000000..2d983894c0
Binary files /dev/null and b/paint/testdata/ellipse.png differ
diff --git a/paint/testdata/elliptical-arc.png b/paint/testdata/elliptical-arc.png
new file mode 100644
index 0000000000..1f02fc4def
Binary files /dev/null and b/paint/testdata/elliptical-arc.png differ
diff --git a/paint/testdata/fill-box-color.png b/paint/testdata/fill-box-color.png
new file mode 100644
index 0000000000..dbdca2b639
Binary files /dev/null and b/paint/testdata/fill-box-color.png differ
diff --git a/paint/testdata/fill-box-linear-gradient-black-white.png b/paint/testdata/fill-box-linear-gradient-black-white.png
new file mode 100644
index 0000000000..9087fdd5e0
Binary files /dev/null and b/paint/testdata/fill-box-linear-gradient-black-white.png differ
diff --git a/paint/testdata/fill-box-linear-gradient-red-green.png b/paint/testdata/fill-box-linear-gradient-red-green.png
new file mode 100644
index 0000000000..0f62399663
Binary files /dev/null and b/paint/testdata/fill-box-linear-gradient-red-green.png differ
diff --git a/paint/testdata/fill-box-linear-gradient-red-yellow-green.png b/paint/testdata/fill-box-linear-gradient-red-yellow-green.png
new file mode 100644
index 0000000000..30929113a6
Binary files /dev/null and b/paint/testdata/fill-box-linear-gradient-red-yellow-green.png differ
diff --git a/paint/testdata/fill-box-radial-gradient.png b/paint/testdata/fill-box-radial-gradient.png
new file mode 100644
index 0000000000..b9dca2e079
Binary files /dev/null and b/paint/testdata/fill-box-radial-gradient.png differ
diff --git a/paint/testdata/fill-box-solid.png b/paint/testdata/fill-box-solid.png
new file mode 100644
index 0000000000..413fc7aabc
Binary files /dev/null and b/paint/testdata/fill-box-solid.png differ
diff --git a/paint/testdata/fill-stroke-clear-fill.png b/paint/testdata/fill-stroke-clear-fill.png
new file mode 100644
index 0000000000..4e996cb05d
Binary files /dev/null and b/paint/testdata/fill-stroke-clear-fill.png differ
diff --git a/paint/testdata/fill-stroke-clear-stroke.png b/paint/testdata/fill-stroke-clear-stroke.png
new file mode 100644
index 0000000000..8f1a39d498
Binary files /dev/null and b/paint/testdata/fill-stroke-clear-stroke.png differ
diff --git a/paint/testdata/fill.png b/paint/testdata/fill.png
new file mode 100644
index 0000000000..4e996cb05d
Binary files /dev/null and b/paint/testdata/fill.png differ
diff --git a/paint/testdata/line-to.png b/paint/testdata/line-to.png
new file mode 100644
index 0000000000..55655b8882
Binary files /dev/null and b/paint/testdata/line-to.png differ
diff --git a/paint/testdata/object-fit.png b/paint/testdata/object-fit.png
new file mode 100644
index 0000000000..d9eaaadb25
Binary files /dev/null and b/paint/testdata/object-fit.png differ
diff --git a/paint/testdata/pdf/actual-background-color.pdf b/paint/testdata/pdf/actual-background-color.pdf
new file mode 100644
index 0000000000..a3162e2468
Binary files /dev/null and b/paint/testdata/pdf/actual-background-color.pdf differ
diff --git a/paint/testdata/pdf/background-color.pdf b/paint/testdata/pdf/background-color.pdf
new file mode 100644
index 0000000000..9d97547f25
Binary files /dev/null and b/paint/testdata/pdf/background-color.pdf differ
diff --git a/paint/testdata/pdf/background-image.pdf b/paint/testdata/pdf/background-image.pdf
new file mode 100644
index 0000000000..bf03be9d78
Binary files /dev/null and b/paint/testdata/pdf/background-image.pdf differ
diff --git a/paint/testdata/pdf/blur-box.pdf b/paint/testdata/pdf/blur-box.pdf
new file mode 100644
index 0000000000..85f35d4d3e
Binary files /dev/null and b/paint/testdata/pdf/blur-box.pdf differ
diff --git a/paint/testdata/pdf/border-styles/dashed.pdf b/paint/testdata/pdf/border-styles/dashed.pdf
new file mode 100644
index 0000000000..751c97d91e
Binary files /dev/null and b/paint/testdata/pdf/border-styles/dashed.pdf differ
diff --git a/paint/testdata/pdf/border-styles/dotted.pdf b/paint/testdata/pdf/border-styles/dotted.pdf
new file mode 100644
index 0000000000..cd815842e1
Binary files /dev/null and b/paint/testdata/pdf/border-styles/dotted.pdf differ
diff --git a/paint/testdata/pdf/border-styles/double.pdf b/paint/testdata/pdf/border-styles/double.pdf
new file mode 100644
index 0000000000..35a2d96337
Binary files /dev/null and b/paint/testdata/pdf/border-styles/double.pdf differ
diff --git a/paint/testdata/pdf/border-styles/groove.pdf b/paint/testdata/pdf/border-styles/groove.pdf
new file mode 100644
index 0000000000..35a2d96337
Binary files /dev/null and b/paint/testdata/pdf/border-styles/groove.pdf differ
diff --git a/paint/testdata/pdf/border-styles/inset.pdf b/paint/testdata/pdf/border-styles/inset.pdf
new file mode 100644
index 0000000000..35a2d96337
Binary files /dev/null and b/paint/testdata/pdf/border-styles/inset.pdf differ
diff --git a/paint/testdata/pdf/border-styles/none.pdf b/paint/testdata/pdf/border-styles/none.pdf
new file mode 100644
index 0000000000..ad4f965880
Binary files /dev/null and b/paint/testdata/pdf/border-styles/none.pdf differ
diff --git a/paint/testdata/pdf/border-styles/outset.pdf b/paint/testdata/pdf/border-styles/outset.pdf
new file mode 100644
index 0000000000..35a2d96337
Binary files /dev/null and b/paint/testdata/pdf/border-styles/outset.pdf differ
diff --git a/paint/testdata/pdf/border-styles/ridge.pdf b/paint/testdata/pdf/border-styles/ridge.pdf
new file mode 100644
index 0000000000..35a2d96337
Binary files /dev/null and b/paint/testdata/pdf/border-styles/ridge.pdf differ
diff --git a/paint/testdata/pdf/border-styles/solid.pdf b/paint/testdata/pdf/border-styles/solid.pdf
new file mode 100644
index 0000000000..35a2d96337
Binary files /dev/null and b/paint/testdata/pdf/border-styles/solid.pdf differ
diff --git a/paint/testdata/pdf/boxmodel.pdf b/paint/testdata/pdf/boxmodel.pdf
new file mode 100644
index 0000000000..77f53e9265
Binary files /dev/null and b/paint/testdata/pdf/boxmodel.pdf differ
diff --git a/paint/testdata/pdf/boxshadow.pdf b/paint/testdata/pdf/boxshadow.pdf
new file mode 100644
index 0000000000..86dd6ab9f3
Binary files /dev/null and b/paint/testdata/pdf/boxshadow.pdf differ
diff --git a/paint/testdata/pdf/circle.pdf b/paint/testdata/pdf/circle.pdf
new file mode 100644
index 0000000000..f6bbb957fb
Binary files /dev/null and b/paint/testdata/pdf/circle.pdf differ
diff --git a/paint/testdata/pdf/circular-arc.pdf b/paint/testdata/pdf/circular-arc.pdf
new file mode 100644
index 0000000000..cbf5cd8948
Binary files /dev/null and b/paint/testdata/pdf/circular-arc.pdf differ
diff --git a/paint/testdata/pdf/clear-path.pdf b/paint/testdata/pdf/clear-path.pdf
new file mode 100644
index 0000000000..2a1870de14
Binary files /dev/null and b/paint/testdata/pdf/clear-path.pdf differ
diff --git a/paint/testdata/pdf/clip-bounds.pdf b/paint/testdata/pdf/clip-bounds.pdf
new file mode 100644
index 0000000000..dda79a23a6
Binary files /dev/null and b/paint/testdata/pdf/clip-bounds.pdf differ
diff --git a/paint/testdata/pdf/close-path.pdf b/paint/testdata/pdf/close-path.pdf
new file mode 100644
index 0000000000..8c4f1c0b5c
Binary files /dev/null and b/paint/testdata/pdf/close-path.pdf differ
diff --git a/paint/testdata/pdf/cubic-to.pdf b/paint/testdata/pdf/cubic-to.pdf
new file mode 100644
index 0000000000..9c35f03875
Binary files /dev/null and b/paint/testdata/pdf/cubic-to.pdf differ
diff --git a/paint/testdata/pdf/ellipse.pdf b/paint/testdata/pdf/ellipse.pdf
new file mode 100644
index 0000000000..78f1632b6b
Binary files /dev/null and b/paint/testdata/pdf/ellipse.pdf differ
diff --git a/paint/testdata/pdf/elliptical-arc.pdf b/paint/testdata/pdf/elliptical-arc.pdf
new file mode 100644
index 0000000000..05010c72fc
Binary files /dev/null and b/paint/testdata/pdf/elliptical-arc.pdf differ
diff --git a/paint/testdata/pdf/fill-box-color.pdf b/paint/testdata/pdf/fill-box-color.pdf
new file mode 100644
index 0000000000..d29304b92e
Binary files /dev/null and b/paint/testdata/pdf/fill-box-color.pdf differ
diff --git a/paint/testdata/pdf/fill-box-linear-gradient-black-white.pdf b/paint/testdata/pdf/fill-box-linear-gradient-black-white.pdf
new file mode 100644
index 0000000000..3c1fd705f5
Binary files /dev/null and b/paint/testdata/pdf/fill-box-linear-gradient-black-white.pdf differ
diff --git a/paint/testdata/pdf/fill-box-linear-gradient-red-green.pdf b/paint/testdata/pdf/fill-box-linear-gradient-red-green.pdf
new file mode 100644
index 0000000000..3c1fd705f5
Binary files /dev/null and b/paint/testdata/pdf/fill-box-linear-gradient-red-green.pdf differ
diff --git a/paint/testdata/pdf/fill-box-linear-gradient-red-yellow-green.pdf b/paint/testdata/pdf/fill-box-linear-gradient-red-yellow-green.pdf
new file mode 100644
index 0000000000..3c1fd705f5
Binary files /dev/null and b/paint/testdata/pdf/fill-box-linear-gradient-red-yellow-green.pdf differ
diff --git a/paint/testdata/pdf/fill-box-radial-gradient.pdf b/paint/testdata/pdf/fill-box-radial-gradient.pdf
new file mode 100644
index 0000000000..3c1fd705f5
Binary files /dev/null and b/paint/testdata/pdf/fill-box-radial-gradient.pdf differ
diff --git a/paint/testdata/pdf/fill-box-solid.pdf b/paint/testdata/pdf/fill-box-solid.pdf
new file mode 100644
index 0000000000..f0bf8ece2b
Binary files /dev/null and b/paint/testdata/pdf/fill-box-solid.pdf differ
diff --git a/paint/testdata/pdf/fill-stroke-clear-fill.pdf b/paint/testdata/pdf/fill-stroke-clear-fill.pdf
new file mode 100644
index 0000000000..51aa8126b4
Binary files /dev/null and b/paint/testdata/pdf/fill-stroke-clear-fill.pdf differ
diff --git a/paint/testdata/pdf/fill-stroke-clear-stroke.pdf b/paint/testdata/pdf/fill-stroke-clear-stroke.pdf
new file mode 100644
index 0000000000..074eff65b3
Binary files /dev/null and b/paint/testdata/pdf/fill-stroke-clear-stroke.pdf differ
diff --git a/paint/testdata/pdf/fill.pdf b/paint/testdata/pdf/fill.pdf
new file mode 100644
index 0000000000..51aa8126b4
Binary files /dev/null and b/paint/testdata/pdf/fill.pdf differ
diff --git a/paint/testdata/pdf/line-to.pdf b/paint/testdata/pdf/line-to.pdf
new file mode 100644
index 0000000000..fe74598a62
Binary files /dev/null and b/paint/testdata/pdf/line-to.pdf differ
diff --git a/paint/testdata/pdf/object-fit.pdf b/paint/testdata/pdf/object-fit.pdf
new file mode 100644
index 0000000000..296564221c
Binary files /dev/null and b/paint/testdata/pdf/object-fit.pdf differ
diff --git a/paint/testdata/pdf/quadratic-to.pdf b/paint/testdata/pdf/quadratic-to.pdf
new file mode 100644
index 0000000000..814cfc221d
Binary files /dev/null and b/paint/testdata/pdf/quadratic-to.pdf differ
diff --git a/paint/testdata/pdf/render.pdf b/paint/testdata/pdf/render.pdf
new file mode 100644
index 0000000000..2a7dfb38af
Binary files /dev/null and b/paint/testdata/pdf/render.pdf differ
diff --git a/paint/testdata/pdf/rounded-rect-sides-0s.pdf b/paint/testdata/pdf/rounded-rect-sides-0s.pdf
new file mode 100644
index 0000000000..a90c0293d1
Binary files /dev/null and b/paint/testdata/pdf/rounded-rect-sides-0s.pdf differ
diff --git a/paint/testdata/pdf/rounded-rect-sides.pdf b/paint/testdata/pdf/rounded-rect-sides.pdf
new file mode 100644
index 0000000000..64372b9b82
Binary files /dev/null and b/paint/testdata/pdf/rounded-rect-sides.pdf differ
diff --git a/paint/testdata/pdf/rounded-rect.pdf b/paint/testdata/pdf/rounded-rect.pdf
new file mode 100644
index 0000000000..b124d3e3ca
Binary files /dev/null and b/paint/testdata/pdf/rounded-rect.pdf differ
diff --git a/paint/testdata/pdf/shadow1sm-op1.pdf b/paint/testdata/pdf/shadow1sm-op1.pdf
new file mode 100644
index 0000000000..b3e47f6a49
Binary files /dev/null and b/paint/testdata/pdf/shadow1sm-op1.pdf differ
diff --git a/paint/testdata/pdf/shadow1sm-op12.pdf b/paint/testdata/pdf/shadow1sm-op12.pdf
new file mode 100644
index 0000000000..db668a48d0
Binary files /dev/null and b/paint/testdata/pdf/shadow1sm-op12.pdf differ
diff --git a/paint/testdata/pdf/shadow5big-op1.pdf b/paint/testdata/pdf/shadow5big-op1.pdf
new file mode 100644
index 0000000000..03b44a37f0
Binary files /dev/null and b/paint/testdata/pdf/shadow5big-op1.pdf differ
diff --git a/paint/testdata/pdf/shadow5big-op12.pdf b/paint/testdata/pdf/shadow5big-op12.pdf
new file mode 100644
index 0000000000..31990a573b
Binary files /dev/null and b/paint/testdata/pdf/shadow5big-op12.pdf differ
diff --git a/paint/testdata/pdf/shadow5big-op1off36.pdf b/paint/testdata/pdf/shadow5big-op1off36.pdf
new file mode 100644
index 0000000000..095e75200f
Binary files /dev/null and b/paint/testdata/pdf/shadow5big-op1off36.pdf differ
diff --git a/paint/testdata/pdf/stroke.pdf b/paint/testdata/pdf/stroke.pdf
new file mode 100644
index 0000000000..074eff65b3
Binary files /dev/null and b/paint/testdata/pdf/stroke.pdf differ
diff --git a/paint/testdata/pdf/text/ascii-cursive.pdf b/paint/testdata/pdf/text/ascii-cursive.pdf
new file mode 100644
index 0000000000..ebe2188c92
Binary files /dev/null and b/paint/testdata/pdf/text/ascii-cursive.pdf differ
diff --git a/paint/testdata/pdf/text/ascii-custom.pdf b/paint/testdata/pdf/text/ascii-custom.pdf
new file mode 100644
index 0000000000..89755c97c7
Binary files /dev/null and b/paint/testdata/pdf/text/ascii-custom.pdf differ
diff --git a/paint/testdata/pdf/text/ascii-emoji.pdf b/paint/testdata/pdf/text/ascii-emoji.pdf
new file mode 100644
index 0000000000..327df9a509
Binary files /dev/null and b/paint/testdata/pdf/text/ascii-emoji.pdf differ
diff --git a/paint/testdata/pdf/text/ascii-fangsong.pdf b/paint/testdata/pdf/text/ascii-fangsong.pdf
new file mode 100644
index 0000000000..7a611c0333
Binary files /dev/null and b/paint/testdata/pdf/text/ascii-fangsong.pdf differ
diff --git a/paint/testdata/pdf/text/ascii-fantasy.pdf b/paint/testdata/pdf/text/ascii-fantasy.pdf
new file mode 100644
index 0000000000..c1595d147e
Binary files /dev/null and b/paint/testdata/pdf/text/ascii-fantasy.pdf differ
diff --git a/paint/testdata/pdf/text/ascii-math.pdf b/paint/testdata/pdf/text/ascii-math.pdf
new file mode 100644
index 0000000000..0dc17d33df
Binary files /dev/null and b/paint/testdata/pdf/text/ascii-math.pdf differ
diff --git a/paint/testdata/pdf/text/ascii-monospace.pdf b/paint/testdata/pdf/text/ascii-monospace.pdf
new file mode 100644
index 0000000000..5171872ec4
Binary files /dev/null and b/paint/testdata/pdf/text/ascii-monospace.pdf differ
diff --git a/paint/testdata/pdf/text/ascii-sans-serif.pdf b/paint/testdata/pdf/text/ascii-sans-serif.pdf
new file mode 100644
index 0000000000..7a611c0333
Binary files /dev/null and b/paint/testdata/pdf/text/ascii-sans-serif.pdf differ
diff --git a/paint/testdata/pdf/text/ascii-serif.pdf b/paint/testdata/pdf/text/ascii-serif.pdf
new file mode 100644
index 0000000000..a17452934c
Binary files /dev/null and b/paint/testdata/pdf/text/ascii-serif.pdf differ
diff --git a/paint/testdata/pdf/text/colors.pdf b/paint/testdata/pdf/text/colors.pdf
new file mode 100644
index 0000000000..07585835de
Binary files /dev/null and b/paint/testdata/pdf/text/colors.pdf differ
diff --git a/paint/testdata/pdf/text/lines.pdf b/paint/testdata/pdf/text/lines.pdf
new file mode 100644
index 0000000000..5ba7775da9
Binary files /dev/null and b/paint/testdata/pdf/text/lines.pdf differ
diff --git a/paint/testdata/pdf/text/markup.pdf b/paint/testdata/pdf/text/markup.pdf
new file mode 100644
index 0000000000..0c29269d05
Binary files /dev/null and b/paint/testdata/pdf/text/markup.pdf differ
diff --git a/paint/testdata/quadratic-to.png b/paint/testdata/quadratic-to.png
new file mode 100644
index 0000000000..517aa1d64b
Binary files /dev/null and b/paint/testdata/quadratic-to.png differ
diff --git a/paint/testdata/render.png b/paint/testdata/render.png
new file mode 100644
index 0000000000..d2fcac0791
Binary files /dev/null and b/paint/testdata/render.png differ
diff --git a/paint/testdata/rounded-rect-sides-0s.png b/paint/testdata/rounded-rect-sides-0s.png
new file mode 100644
index 0000000000..e550af2769
Binary files /dev/null and b/paint/testdata/rounded-rect-sides-0s.png differ
diff --git a/paint/testdata/rounded-rect-sides.png b/paint/testdata/rounded-rect-sides.png
new file mode 100644
index 0000000000..37ae66d4cf
Binary files /dev/null and b/paint/testdata/rounded-rect-sides.png differ
diff --git a/paint/testdata/rounded-rect.png b/paint/testdata/rounded-rect.png
new file mode 100644
index 0000000000..064fc891c4
Binary files /dev/null and b/paint/testdata/rounded-rect.png differ
diff --git a/paint/testdata/shadow1sm-op1.png b/paint/testdata/shadow1sm-op1.png
new file mode 100644
index 0000000000..5564c0e844
Binary files /dev/null and b/paint/testdata/shadow1sm-op1.png differ
diff --git a/paint/testdata/shadow1sm-op12.png b/paint/testdata/shadow1sm-op12.png
new file mode 100644
index 0000000000..ad0c293027
Binary files /dev/null and b/paint/testdata/shadow1sm-op12.png differ
diff --git a/paint/testdata/shadow5big-op1.png b/paint/testdata/shadow5big-op1.png
new file mode 100644
index 0000000000..f57871fe8b
Binary files /dev/null and b/paint/testdata/shadow5big-op1.png differ
diff --git a/paint/testdata/shadow5big-op12.png b/paint/testdata/shadow5big-op12.png
new file mode 100644
index 0000000000..e27d1f856c
Binary files /dev/null and b/paint/testdata/shadow5big-op12.png differ
diff --git a/paint/testdata/shadow5big-op1off36.png b/paint/testdata/shadow5big-op1off36.png
new file mode 100644
index 0000000000..78e05a1a1a
Binary files /dev/null and b/paint/testdata/shadow5big-op1off36.png differ
diff --git a/paint/testdata/stroke.png b/paint/testdata/stroke.png
new file mode 100644
index 0000000000..8f1a39d498
Binary files /dev/null and b/paint/testdata/stroke.png differ
diff --git a/paint/testdata/svg/actual-background-color.svg b/paint/testdata/svg/actual-background-color.svg
new file mode 100644
index 0000000000..ae5df53d48
--- /dev/null
+++ b/paint/testdata/svg/actual-background-color.svg
@@ -0,0 +1,80 @@
+
diff --git a/paint/testdata/svg/background-color.svg b/paint/testdata/svg/background-color.svg
new file mode 100644
index 0000000000..046d1a389e
--- /dev/null
+++ b/paint/testdata/svg/background-color.svg
@@ -0,0 +1,26 @@
+
diff --git a/paint/testdata/svg/background-image.svg b/paint/testdata/svg/background-image.svg
new file mode 100644
index 0000000000..cf25e3d938
--- /dev/null
+++ b/paint/testdata/svg/background-image.svg
@@ -0,0 +1,378 @@
+
diff --git a/paint/testdata/svg/blur-box.svg b/paint/testdata/svg/blur-box.svg
new file mode 100644
index 0000000000..8bbc83a489
--- /dev/null
+++ b/paint/testdata/svg/blur-box.svg
@@ -0,0 +1,22 @@
+
diff --git a/paint/testdata/svg/border-styles/dashed.svg b/paint/testdata/svg/border-styles/dashed.svg
new file mode 100644
index 0000000000..6c50eda577
--- /dev/null
+++ b/paint/testdata/svg/border-styles/dashed.svg
@@ -0,0 +1,23 @@
+
diff --git a/paint/testdata/svg/border-styles/dotted.svg b/paint/testdata/svg/border-styles/dotted.svg
new file mode 100644
index 0000000000..c804792d1d
--- /dev/null
+++ b/paint/testdata/svg/border-styles/dotted.svg
@@ -0,0 +1,23 @@
+
diff --git a/paint/testdata/svg/border-styles/double.svg b/paint/testdata/svg/border-styles/double.svg
new file mode 100644
index 0000000000..6c50eda577
--- /dev/null
+++ b/paint/testdata/svg/border-styles/double.svg
@@ -0,0 +1,23 @@
+
diff --git a/paint/testdata/svg/border-styles/groove.svg b/paint/testdata/svg/border-styles/groove.svg
new file mode 100644
index 0000000000..96da65f92e
--- /dev/null
+++ b/paint/testdata/svg/border-styles/groove.svg
@@ -0,0 +1,23 @@
+
diff --git a/paint/testdata/svg/border-styles/inset.svg b/paint/testdata/svg/border-styles/inset.svg
new file mode 100644
index 0000000000..96da65f92e
--- /dev/null
+++ b/paint/testdata/svg/border-styles/inset.svg
@@ -0,0 +1,23 @@
+
diff --git a/paint/testdata/svg/border-styles/none.svg b/paint/testdata/svg/border-styles/none.svg
new file mode 100644
index 0000000000..6ef517f79b
--- /dev/null
+++ b/paint/testdata/svg/border-styles/none.svg
@@ -0,0 +1,23 @@
+
diff --git a/paint/testdata/svg/border-styles/outset.svg b/paint/testdata/svg/border-styles/outset.svg
new file mode 100644
index 0000000000..6c50eda577
--- /dev/null
+++ b/paint/testdata/svg/border-styles/outset.svg
@@ -0,0 +1,23 @@
+
diff --git a/paint/testdata/svg/border-styles/ridge.svg b/paint/testdata/svg/border-styles/ridge.svg
new file mode 100644
index 0000000000..6c50eda577
--- /dev/null
+++ b/paint/testdata/svg/border-styles/ridge.svg
@@ -0,0 +1,23 @@
+
diff --git a/paint/testdata/svg/border-styles/solid.svg b/paint/testdata/svg/border-styles/solid.svg
new file mode 100644
index 0000000000..6c50eda577
--- /dev/null
+++ b/paint/testdata/svg/border-styles/solid.svg
@@ -0,0 +1,23 @@
+
diff --git a/paint/testdata/svg/boxmodel.svg b/paint/testdata/svg/boxmodel.svg
new file mode 100644
index 0000000000..a9b4a1333c
--- /dev/null
+++ b/paint/testdata/svg/boxmodel.svg
@@ -0,0 +1,23 @@
+
diff --git a/paint/testdata/svg/boxshadow.svg b/paint/testdata/svg/boxshadow.svg
new file mode 100644
index 0000000000..0f78ca0ac1
--- /dev/null
+++ b/paint/testdata/svg/boxshadow.svg
@@ -0,0 +1,87 @@
+
diff --git a/paint/testdata/svg/circle.svg b/paint/testdata/svg/circle.svg
new file mode 100644
index 0000000000..10a349aef7
--- /dev/null
+++ b/paint/testdata/svg/circle.svg
@@ -0,0 +1,19 @@
+
diff --git a/paint/testdata/svg/circular-arc.svg b/paint/testdata/svg/circular-arc.svg
new file mode 100644
index 0000000000..04c81f3d77
--- /dev/null
+++ b/paint/testdata/svg/circular-arc.svg
@@ -0,0 +1,19 @@
+
diff --git a/paint/testdata/svg/clear-path.svg b/paint/testdata/svg/clear-path.svg
new file mode 100644
index 0000000000..00eecd4127
--- /dev/null
+++ b/paint/testdata/svg/clear-path.svg
@@ -0,0 +1,26 @@
+
diff --git a/paint/testdata/svg/clip-bounds.svg b/paint/testdata/svg/clip-bounds.svg
new file mode 100644
index 0000000000..021acc4e7c
--- /dev/null
+++ b/paint/testdata/svg/clip-bounds.svg
@@ -0,0 +1,26 @@
+
diff --git a/paint/testdata/svg/close-path.svg b/paint/testdata/svg/close-path.svg
new file mode 100644
index 0000000000..166e89c811
--- /dev/null
+++ b/paint/testdata/svg/close-path.svg
@@ -0,0 +1,19 @@
+
diff --git a/paint/testdata/svg/cubic-to.svg b/paint/testdata/svg/cubic-to.svg
new file mode 100644
index 0000000000..271b0afa77
--- /dev/null
+++ b/paint/testdata/svg/cubic-to.svg
@@ -0,0 +1,19 @@
+
diff --git a/paint/testdata/svg/ellipse.svg b/paint/testdata/svg/ellipse.svg
new file mode 100644
index 0000000000..a8c5f67d92
--- /dev/null
+++ b/paint/testdata/svg/ellipse.svg
@@ -0,0 +1,19 @@
+
diff --git a/paint/testdata/svg/elliptical-arc.svg b/paint/testdata/svg/elliptical-arc.svg
new file mode 100644
index 0000000000..59315841b7
--- /dev/null
+++ b/paint/testdata/svg/elliptical-arc.svg
@@ -0,0 +1,19 @@
+
diff --git a/paint/testdata/svg/fill-box-color.svg b/paint/testdata/svg/fill-box-color.svg
new file mode 100644
index 0000000000..5c1f8fce68
--- /dev/null
+++ b/paint/testdata/svg/fill-box-color.svg
@@ -0,0 +1,15 @@
+
diff --git a/paint/testdata/svg/fill-box-linear-gradient-black-white.svg b/paint/testdata/svg/fill-box-linear-gradient-black-white.svg
new file mode 100644
index 0000000000..2b69b40f9e
--- /dev/null
+++ b/paint/testdata/svg/fill-box-linear-gradient-black-white.svg
@@ -0,0 +1,7 @@
+
diff --git a/paint/testdata/svg/fill-box-linear-gradient-red-green.svg b/paint/testdata/svg/fill-box-linear-gradient-red-green.svg
new file mode 100644
index 0000000000..2b69b40f9e
--- /dev/null
+++ b/paint/testdata/svg/fill-box-linear-gradient-red-green.svg
@@ -0,0 +1,7 @@
+
diff --git a/paint/testdata/svg/fill-box-linear-gradient-red-yellow-green.svg b/paint/testdata/svg/fill-box-linear-gradient-red-yellow-green.svg
new file mode 100644
index 0000000000..2b69b40f9e
--- /dev/null
+++ b/paint/testdata/svg/fill-box-linear-gradient-red-yellow-green.svg
@@ -0,0 +1,7 @@
+
diff --git a/paint/testdata/svg/fill-box-radial-gradient.svg b/paint/testdata/svg/fill-box-radial-gradient.svg
new file mode 100644
index 0000000000..2b69b40f9e
--- /dev/null
+++ b/paint/testdata/svg/fill-box-radial-gradient.svg
@@ -0,0 +1,7 @@
+
diff --git a/paint/testdata/svg/fill-box-solid.svg b/paint/testdata/svg/fill-box-solid.svg
new file mode 100644
index 0000000000..a47a0f32e0
--- /dev/null
+++ b/paint/testdata/svg/fill-box-solid.svg
@@ -0,0 +1,15 @@
+
diff --git a/paint/testdata/svg/fill-stroke-clear-fill.svg b/paint/testdata/svg/fill-stroke-clear-fill.svg
new file mode 100644
index 0000000000..82e694e8b6
--- /dev/null
+++ b/paint/testdata/svg/fill-stroke-clear-fill.svg
@@ -0,0 +1,12 @@
+
diff --git a/paint/testdata/svg/fill-stroke-clear-stroke.svg b/paint/testdata/svg/fill-stroke-clear-stroke.svg
new file mode 100644
index 0000000000..6cafd21e56
--- /dev/null
+++ b/paint/testdata/svg/fill-stroke-clear-stroke.svg
@@ -0,0 +1,12 @@
+
diff --git a/paint/testdata/svg/fill.svg b/paint/testdata/svg/fill.svg
new file mode 100644
index 0000000000..31b671dcf2
--- /dev/null
+++ b/paint/testdata/svg/fill.svg
@@ -0,0 +1,12 @@
+
diff --git a/paint/testdata/svg/line-to.svg b/paint/testdata/svg/line-to.svg
new file mode 100644
index 0000000000..be7f2735eb
--- /dev/null
+++ b/paint/testdata/svg/line-to.svg
@@ -0,0 +1,19 @@
+
diff --git a/paint/testdata/svg/object-fit.svg b/paint/testdata/svg/object-fit.svg
new file mode 100644
index 0000000000..82faa444f9
--- /dev/null
+++ b/paint/testdata/svg/object-fit.svg
@@ -0,0 +1,239 @@
+
diff --git a/paint/testdata/svg/quadratic-to.svg b/paint/testdata/svg/quadratic-to.svg
new file mode 100644
index 0000000000..0d0c49dd8d
--- /dev/null
+++ b/paint/testdata/svg/quadratic-to.svg
@@ -0,0 +1,19 @@
+
diff --git a/paint/testdata/svg/render.svg b/paint/testdata/svg/render.svg
new file mode 100644
index 0000000000..1a9e6b8399
--- /dev/null
+++ b/paint/testdata/svg/render.svg
@@ -0,0 +1,89 @@
+
diff --git a/paint/testdata/svg/rounded-rect-sides-0s.svg b/paint/testdata/svg/rounded-rect-sides-0s.svg
new file mode 100644
index 0000000000..197d5584be
--- /dev/null
+++ b/paint/testdata/svg/rounded-rect-sides-0s.svg
@@ -0,0 +1,19 @@
+
diff --git a/paint/testdata/svg/rounded-rect-sides.svg b/paint/testdata/svg/rounded-rect-sides.svg
new file mode 100644
index 0000000000..bf0afc6638
--- /dev/null
+++ b/paint/testdata/svg/rounded-rect-sides.svg
@@ -0,0 +1,19 @@
+
diff --git a/paint/testdata/svg/rounded-rect.svg b/paint/testdata/svg/rounded-rect.svg
new file mode 100644
index 0000000000..5ce392652f
--- /dev/null
+++ b/paint/testdata/svg/rounded-rect.svg
@@ -0,0 +1,19 @@
+
diff --git a/paint/testdata/svg/shadow1sm-op1.svg b/paint/testdata/svg/shadow1sm-op1.svg
new file mode 100644
index 0000000000..b34039b833
--- /dev/null
+++ b/paint/testdata/svg/shadow1sm-op1.svg
@@ -0,0 +1,39 @@
+
diff --git a/paint/testdata/svg/shadow1sm-op12.svg b/paint/testdata/svg/shadow1sm-op12.svg
new file mode 100644
index 0000000000..44cc194145
--- /dev/null
+++ b/paint/testdata/svg/shadow1sm-op12.svg
@@ -0,0 +1,39 @@
+
diff --git a/paint/testdata/svg/shadow5big-op1.svg b/paint/testdata/svg/shadow5big-op1.svg
new file mode 100644
index 0000000000..2999fdd883
--- /dev/null
+++ b/paint/testdata/svg/shadow5big-op1.svg
@@ -0,0 +1,151 @@
+
diff --git a/paint/testdata/svg/shadow5big-op12.svg b/paint/testdata/svg/shadow5big-op12.svg
new file mode 100644
index 0000000000..06851dcd18
--- /dev/null
+++ b/paint/testdata/svg/shadow5big-op12.svg
@@ -0,0 +1,151 @@
+
diff --git a/paint/testdata/svg/shadow5big-op1off36.svg b/paint/testdata/svg/shadow5big-op1off36.svg
new file mode 100644
index 0000000000..bd40af4299
--- /dev/null
+++ b/paint/testdata/svg/shadow5big-op1off36.svg
@@ -0,0 +1,151 @@
+
diff --git a/paint/testdata/svg/stroke.svg b/paint/testdata/svg/stroke.svg
new file mode 100644
index 0000000000..6cafd21e56
--- /dev/null
+++ b/paint/testdata/svg/stroke.svg
@@ -0,0 +1,12 @@
+
diff --git a/paint/testdata/svg/text/ascii-cursive.svg b/paint/testdata/svg/text/ascii-cursive.svg
new file mode 100644
index 0000000000..faa8aac2e8
--- /dev/null
+++ b/paint/testdata/svg/text/ascii-cursive.svg
@@ -0,0 +1,57 @@
+
diff --git a/paint/testdata/svg/text/ascii-custom.svg b/paint/testdata/svg/text/ascii-custom.svg
new file mode 100644
index 0000000000..20bba04521
--- /dev/null
+++ b/paint/testdata/svg/text/ascii-custom.svg
@@ -0,0 +1,47 @@
+
diff --git a/paint/testdata/svg/text/ascii-emoji.svg b/paint/testdata/svg/text/ascii-emoji.svg
new file mode 100644
index 0000000000..de1a84f934
--- /dev/null
+++ b/paint/testdata/svg/text/ascii-emoji.svg
@@ -0,0 +1,82 @@
+
diff --git a/paint/testdata/svg/text/ascii-fangsong.svg b/paint/testdata/svg/text/ascii-fangsong.svg
new file mode 100644
index 0000000000..d66b4f5bde
--- /dev/null
+++ b/paint/testdata/svg/text/ascii-fangsong.svg
@@ -0,0 +1,47 @@
+
diff --git a/paint/testdata/svg/text/ascii-fantasy.svg b/paint/testdata/svg/text/ascii-fantasy.svg
new file mode 100644
index 0000000000..6826b62773
--- /dev/null
+++ b/paint/testdata/svg/text/ascii-fantasy.svg
@@ -0,0 +1,47 @@
+
diff --git a/paint/testdata/svg/text/ascii-math.svg b/paint/testdata/svg/text/ascii-math.svg
new file mode 100644
index 0000000000..541aedef9d
--- /dev/null
+++ b/paint/testdata/svg/text/ascii-math.svg
@@ -0,0 +1,47 @@
+
diff --git a/paint/testdata/svg/text/ascii-monospace.svg b/paint/testdata/svg/text/ascii-monospace.svg
new file mode 100644
index 0000000000..2eb9f9dcdc
--- /dev/null
+++ b/paint/testdata/svg/text/ascii-monospace.svg
@@ -0,0 +1,47 @@
+
diff --git a/paint/testdata/svg/text/ascii-sans-serif.svg b/paint/testdata/svg/text/ascii-sans-serif.svg
new file mode 100644
index 0000000000..c4217afe18
--- /dev/null
+++ b/paint/testdata/svg/text/ascii-sans-serif.svg
@@ -0,0 +1,47 @@
+
diff --git a/paint/testdata/svg/text/ascii-serif.svg b/paint/testdata/svg/text/ascii-serif.svg
new file mode 100644
index 0000000000..44287a4b10
--- /dev/null
+++ b/paint/testdata/svg/text/ascii-serif.svg
@@ -0,0 +1,47 @@
+
diff --git a/paint/testdata/svg/text/colors.svg b/paint/testdata/svg/text/colors.svg
new file mode 100644
index 0000000000..3da86de245
--- /dev/null
+++ b/paint/testdata/svg/text/colors.svg
@@ -0,0 +1,48 @@
+
diff --git a/paint/testdata/svg/text/lines.svg b/paint/testdata/svg/text/lines.svg
new file mode 100644
index 0000000000..7b28decb44
--- /dev/null
+++ b/paint/testdata/svg/text/lines.svg
@@ -0,0 +1,48 @@
+
diff --git a/paint/testdata/svg/text/markup.svg b/paint/testdata/svg/text/markup.svg
new file mode 100644
index 0000000000..03b1214c88
--- /dev/null
+++ b/paint/testdata/svg/text/markup.svg
@@ -0,0 +1,90 @@
+
diff --git a/paint/testdata/text/ascii-cursive.png b/paint/testdata/text/ascii-cursive.png
new file mode 100644
index 0000000000..05dd37fbd2
Binary files /dev/null and b/paint/testdata/text/ascii-cursive.png differ
diff --git a/paint/testdata/text/ascii-custom.png b/paint/testdata/text/ascii-custom.png
new file mode 100644
index 0000000000..f2f76aad08
Binary files /dev/null and b/paint/testdata/text/ascii-custom.png differ
diff --git a/paint/testdata/text/ascii-emoji.png b/paint/testdata/text/ascii-emoji.png
new file mode 100644
index 0000000000..d3324cc19e
Binary files /dev/null and b/paint/testdata/text/ascii-emoji.png differ
diff --git a/paint/testdata/text/ascii-fangsong.png b/paint/testdata/text/ascii-fangsong.png
new file mode 100644
index 0000000000..f2f76aad08
Binary files /dev/null and b/paint/testdata/text/ascii-fangsong.png differ
diff --git a/paint/testdata/text/ascii-fantasy.png b/paint/testdata/text/ascii-fantasy.png
new file mode 100644
index 0000000000..24460df0cd
Binary files /dev/null and b/paint/testdata/text/ascii-fantasy.png differ
diff --git a/paint/testdata/text/ascii-math.png b/paint/testdata/text/ascii-math.png
new file mode 100644
index 0000000000..27a3b8c7f6
Binary files /dev/null and b/paint/testdata/text/ascii-math.png differ
diff --git a/paint/testdata/text/ascii-monospace.png b/paint/testdata/text/ascii-monospace.png
new file mode 100644
index 0000000000..7d6e976fad
Binary files /dev/null and b/paint/testdata/text/ascii-monospace.png differ
diff --git a/paint/testdata/text/ascii-sans-serif.png b/paint/testdata/text/ascii-sans-serif.png
new file mode 100644
index 0000000000..f2f76aad08
Binary files /dev/null and b/paint/testdata/text/ascii-sans-serif.png differ
diff --git a/paint/testdata/text/ascii-serif.png b/paint/testdata/text/ascii-serif.png
new file mode 100644
index 0000000000..337defb7df
Binary files /dev/null and b/paint/testdata/text/ascii-serif.png differ
diff --git a/paint/testdata/text/colors.png b/paint/testdata/text/colors.png
new file mode 100644
index 0000000000..860f41bb2f
Binary files /dev/null and b/paint/testdata/text/colors.png differ
diff --git a/paint/testdata/text/lines.png b/paint/testdata/text/lines.png
new file mode 100644
index 0000000000..5d516418ba
Binary files /dev/null and b/paint/testdata/text/lines.png differ
diff --git a/paint/testdata/text/markup.png b/paint/testdata/text/markup.png
new file mode 100644
index 0000000000..2f48cf59a4
Binary files /dev/null and b/paint/testdata/text/markup.png differ
diff --git a/svg/testdata/logo-black.png b/svg/testdata/logo-black.png
new file mode 100644
index 0000000000..b4a8887987
Binary files /dev/null and b/svg/testdata/logo-black.png differ
diff --git a/svg/testdata/logo-white.png b/svg/testdata/logo-white.png
new file mode 100644
index 0000000000..7c4d4595cf
Binary files /dev/null and b/svg/testdata/logo-white.png differ
diff --git a/svg/testdata/logo.svg b/svg/testdata/logo.svg
new file mode 100644
index 0000000000..69d1f58015
--- /dev/null
+++ b/svg/testdata/logo.svg
@@ -0,0 +1,15 @@
+
diff --git a/svg/testdata/pdf/emoji-bad/emoji_u1f44d.pdf b/svg/testdata/pdf/emoji-bad/emoji_u1f44d.pdf
new file mode 100644
index 0000000000..58c4288faf
Binary files /dev/null and b/svg/testdata/pdf/emoji-bad/emoji_u1f44d.pdf differ
diff --git a/svg/testdata/pdf/emoji-bad/emoji_u1f64c.pdf b/svg/testdata/pdf/emoji-bad/emoji_u1f64c.pdf
new file mode 100644
index 0000000000..df8b04bdff
Binary files /dev/null and b/svg/testdata/pdf/emoji-bad/emoji_u1f64c.pdf differ
diff --git a/svg/testdata/pdf/svg/TestShapes.pdf b/svg/testdata/pdf/svg/TestShapes.pdf
new file mode 100644
index 0000000000..31e12a59b1
Binary files /dev/null and b/svg/testdata/pdf/svg/TestShapes.pdf differ
diff --git a/svg/testdata/pdf/svg/TestShapes2.pdf b/svg/testdata/pdf/svg/TestShapes2.pdf
new file mode 100644
index 0000000000..d27b96b5f5
Binary files /dev/null and b/svg/testdata/pdf/svg/TestShapes2.pdf differ
diff --git a/svg/testdata/pdf/svg/TestShapes3.pdf b/svg/testdata/pdf/svg/TestShapes3.pdf
new file mode 100644
index 0000000000..2c8878d2af
Binary files /dev/null and b/svg/testdata/pdf/svg/TestShapes3.pdf differ
diff --git a/svg/testdata/pdf/svg/TestShapes4.pdf b/svg/testdata/pdf/svg/TestShapes4.pdf
new file mode 100644
index 0000000000..42704abe93
Binary files /dev/null and b/svg/testdata/pdf/svg/TestShapes4.pdf differ
diff --git a/svg/testdata/pdf/svg/TestShapes5.pdf b/svg/testdata/pdf/svg/TestShapes5.pdf
new file mode 100644
index 0000000000..bf286a18e1
Binary files /dev/null and b/svg/testdata/pdf/svg/TestShapes5.pdf differ
diff --git a/svg/testdata/pdf/svg/TestShapes6.pdf b/svg/testdata/pdf/svg/TestShapes6.pdf
new file mode 100644
index 0000000000..506ff5d79d
Binary files /dev/null and b/svg/testdata/pdf/svg/TestShapes6.pdf differ
diff --git a/svg/testdata/pdf/svg/TestShapes6opacity.pdf b/svg/testdata/pdf/svg/TestShapes6opacity.pdf
new file mode 100644
index 0000000000..fc73c1438f
Binary files /dev/null and b/svg/testdata/pdf/svg/TestShapes6opacity.pdf differ
diff --git a/svg/testdata/pdf/svg/accessories-text-editor.pdf b/svg/testdata/pdf/svg/accessories-text-editor.pdf
new file mode 100644
index 0000000000..7717e8dfcc
Binary files /dev/null and b/svg/testdata/pdf/svg/accessories-text-editor.pdf differ
diff --git a/svg/testdata/pdf/svg/acrobat.pdf b/svg/testdata/pdf/svg/acrobat.pdf
new file mode 100644
index 0000000000..40891fc800
Binary files /dev/null and b/svg/testdata/pdf/svg/acrobat.pdf differ
diff --git a/svg/testdata/pdf/svg/adjusthsl.pdf b/svg/testdata/pdf/svg/adjusthsl.pdf
new file mode 100644
index 0000000000..541ddb0910
Binary files /dev/null and b/svg/testdata/pdf/svg/adjusthsl.pdf differ
diff --git a/svg/testdata/pdf/svg/application-pdf.pdf b/svg/testdata/pdf/svg/application-pdf.pdf
new file mode 100644
index 0000000000..7407c4fb29
Binary files /dev/null and b/svg/testdata/pdf/svg/application-pdf.pdf differ
diff --git a/svg/testdata/pdf/svg/application-x-deb.pdf b/svg/testdata/pdf/svg/application-x-deb.pdf
new file mode 100644
index 0000000000..9f4ee83b29
Binary files /dev/null and b/svg/testdata/pdf/svg/application-x-deb.pdf differ
diff --git a/svg/testdata/pdf/svg/application-x-jar.pdf b/svg/testdata/pdf/svg/application-x-jar.pdf
new file mode 100644
index 0000000000..081e13204f
Binary files /dev/null and b/svg/testdata/pdf/svg/application-x-jar.pdf differ
diff --git a/svg/testdata/pdf/svg/drink-beer.pdf b/svg/testdata/pdf/svg/drink-beer.pdf
new file mode 100644
index 0000000000..12b039b400
Binary files /dev/null and b/svg/testdata/pdf/svg/drink-beer.pdf differ
diff --git a/svg/testdata/pdf/svg/drink-martini.pdf b/svg/testdata/pdf/svg/drink-martini.pdf
new file mode 100644
index 0000000000..db16c768ba
Binary files /dev/null and b/svg/testdata/pdf/svg/drink-martini.pdf differ
diff --git a/svg/testdata/pdf/svg/face-clown.pdf b/svg/testdata/pdf/svg/face-clown.pdf
new file mode 100644
index 0000000000..91605492f4
Binary files /dev/null and b/svg/testdata/pdf/svg/face-clown.pdf differ
diff --git a/svg/testdata/pdf/svg/face-pirate.pdf b/svg/testdata/pdf/svg/face-pirate.pdf
new file mode 100644
index 0000000000..232c1dab08
Binary files /dev/null and b/svg/testdata/pdf/svg/face-pirate.pdf differ
diff --git a/svg/testdata/pdf/svg/face-plain.pdf b/svg/testdata/pdf/svg/face-plain.pdf
new file mode 100644
index 0000000000..6b230fe563
Binary files /dev/null and b/svg/testdata/pdf/svg/face-plain.pdf differ
diff --git a/svg/testdata/pdf/svg/face-yawn.pdf b/svg/testdata/pdf/svg/face-yawn.pdf
new file mode 100644
index 0000000000..244ae7ba40
Binary files /dev/null and b/svg/testdata/pdf/svg/face-yawn.pdf differ
diff --git a/svg/testdata/pdf/svg/fig_bp_compute_delta.pdf b/svg/testdata/pdf/svg/fig_bp_compute_delta.pdf
new file mode 100644
index 0000000000..4ee190e930
Binary files /dev/null and b/svg/testdata/pdf/svg/fig_bp_compute_delta.pdf differ
diff --git a/svg/testdata/pdf/svg/fig_cortex_lobes.pdf b/svg/testdata/pdf/svg/fig_cortex_lobes.pdf
new file mode 100644
index 0000000000..924702b00f
Binary files /dev/null and b/svg/testdata/pdf/svg/fig_cortex_lobes.pdf differ
diff --git a/svg/testdata/pdf/svg/fig_cortex_lobes_v2.pdf b/svg/testdata/pdf/svg/fig_cortex_lobes_v2.pdf
new file mode 100644
index 0000000000..83f82c1734
Binary files /dev/null and b/svg/testdata/pdf/svg/fig_cortex_lobes_v2.pdf differ
diff --git a/svg/testdata/pdf/svg/fig_cortical_layers_in_hid_out.pdf b/svg/testdata/pdf/svg/fig_cortical_layers_in_hid_out.pdf
new file mode 100644
index 0000000000..1f3dac81fb
Binary files /dev/null and b/svg/testdata/pdf/svg/fig_cortical_layers_in_hid_out.pdf differ
diff --git a/svg/testdata/pdf/svg/fig_deepleabra_wwi_train_lcurve.pdf b/svg/testdata/pdf/svg/fig_deepleabra_wwi_train_lcurve.pdf
new file mode 100644
index 0000000000..08b26db713
Binary files /dev/null and b/svg/testdata/pdf/svg/fig_deepleabra_wwi_train_lcurve.pdf differ
diff --git a/svg/testdata/pdf/svg/fig_mnt2out.pdf b/svg/testdata/pdf/svg/fig_mnt2out.pdf
new file mode 100644
index 0000000000..670617ff72
Binary files /dev/null and b/svg/testdata/pdf/svg/fig_mnt2out.pdf differ
diff --git a/svg/testdata/pdf/svg/fig_necker_cube.pdf b/svg/testdata/pdf/svg/fig_necker_cube.pdf
new file mode 100644
index 0000000000..1ea98d4554
Binary files /dev/null and b/svg/testdata/pdf/svg/fig_necker_cube.pdf differ
diff --git a/svg/testdata/pdf/svg/fig_neuron_as_detect.pdf b/svg/testdata/pdf/svg/fig_neuron_as_detect.pdf
new file mode 100644
index 0000000000..2b936ef1a3
Binary files /dev/null and b/svg/testdata/pdf/svg/fig_neuron_as_detect.pdf differ
diff --git a/svg/testdata/pdf/svg/fig_post_cortex_srn_phase_dynamics.pdf b/svg/testdata/pdf/svg/fig_post_cortex_srn_phase_dynamics.pdf
new file mode 100644
index 0000000000..7ab4381202
Binary files /dev/null and b/svg/testdata/pdf/svg/fig_post_cortex_srn_phase_dynamics.pdf differ
diff --git a/svg/testdata/pdf/svg/fig_srn_time_predict.pdf b/svg/testdata/pdf/svg/fig_srn_time_predict.pdf
new file mode 100644
index 0000000000..390e017539
Binary files /dev/null and b/svg/testdata/pdf/svg/fig_srn_time_predict.pdf differ
diff --git a/svg/testdata/pdf/svg/fig_synapse.pdf b/svg/testdata/pdf/svg/fig_synapse.pdf
new file mode 100644
index 0000000000..eb9fd30bc5
Binary files /dev/null and b/svg/testdata/pdf/svg/fig_synapse.pdf differ
diff --git a/svg/testdata/pdf/svg/fig_vm_as_tug_of_war.pdf b/svg/testdata/pdf/svg/fig_vm_as_tug_of_war.pdf
new file mode 100644
index 0000000000..3c22faf6e9
Binary files /dev/null and b/svg/testdata/pdf/svg/fig_vm_as_tug_of_war.pdf differ
diff --git a/svg/testdata/pdf/svg/gradient_radial.pdf b/svg/testdata/pdf/svg/gradient_radial.pdf
new file mode 100644
index 0000000000..cca5698a10
Binary files /dev/null and b/svg/testdata/pdf/svg/gradient_radial.pdf differ
diff --git a/svg/testdata/pdf/svg/graphvis.pdf b/svg/testdata/pdf/svg/graphvis.pdf
new file mode 100644
index 0000000000..ae1ea5f3dd
Binary files /dev/null and b/svg/testdata/pdf/svg/graphvis.pdf differ
diff --git a/svg/testdata/pdf/svg/image-x-psd.pdf b/svg/testdata/pdf/svg/image-x-psd.pdf
new file mode 100644
index 0000000000..43725e6e5f
Binary files /dev/null and b/svg/testdata/pdf/svg/image-x-psd.pdf differ
diff --git a/svg/testdata/pdf/svg/marker1.pdf b/svg/testdata/pdf/svg/marker1.pdf
new file mode 100644
index 0000000000..34cc95530d
Binary files /dev/null and b/svg/testdata/pdf/svg/marker1.pdf differ
diff --git a/svg/testdata/pdf/svg/message-news.pdf b/svg/testdata/pdf/svg/message-news.pdf
new file mode 100644
index 0000000000..59c7d91701
Binary files /dev/null and b/svg/testdata/pdf/svg/message-news.pdf differ
diff --git a/svg/testdata/pdf/svg/rect.pdf b/svg/testdata/pdf/svg/rect.pdf
new file mode 100644
index 0000000000..0e76ab1a45
Binary files /dev/null and b/svg/testdata/pdf/svg/rect.pdf differ
diff --git a/svg/testdata/pdf/svg/rect_trans.pdf b/svg/testdata/pdf/svg/rect_trans.pdf
new file mode 100644
index 0000000000..31a1fdc942
Binary files /dev/null and b/svg/testdata/pdf/svg/rect_trans.pdf differ
diff --git a/svg/testdata/pdf/svg/test.pdf b/svg/testdata/pdf/svg/test.pdf
new file mode 100644
index 0000000000..6bc7265cb2
Binary files /dev/null and b/svg/testdata/pdf/svg/test.pdf differ
diff --git a/svg/testdata/pdf/svg/test2.pdf b/svg/testdata/pdf/svg/test2.pdf
new file mode 100644
index 0000000000..d2b16e3110
Binary files /dev/null and b/svg/testdata/pdf/svg/test2.pdf differ
diff --git a/svg/testdata/pdf/svg/text-test.pdf b/svg/testdata/pdf/svg/text-test.pdf
new file mode 100644
index 0000000000..5c05c57d58
Binary files /dev/null and b/svg/testdata/pdf/svg/text-test.pdf differ
diff --git a/svg/testdata/pdf/svg/text-x-java.pdf b/svg/testdata/pdf/svg/text-x-java.pdf
new file mode 100644
index 0000000000..ab5fe23ea4
Binary files /dev/null and b/svg/testdata/pdf/svg/text-x-java.pdf differ
diff --git a/svg/testdata/pdf/svg/text-x-rpm-spec.pdf b/svg/testdata/pdf/svg/text-x-rpm-spec.pdf
new file mode 100644
index 0000000000..95f2c2ede4
Binary files /dev/null and b/svg/testdata/pdf/svg/text-x-rpm-spec.pdf differ
diff --git a/svg/testdata/pdf/svg/unit-line-widths.pdf b/svg/testdata/pdf/svg/unit-line-widths.pdf
new file mode 100644
index 0000000000..9a9db28bf9
Binary files /dev/null and b/svg/testdata/pdf/svg/unit-line-widths.pdf differ
diff --git a/svg/testdata/pdf/svg/virtualbox-hdd.pdf b/svg/testdata/pdf/svg/virtualbox-hdd.pdf
new file mode 100644
index 0000000000..502087f914
Binary files /dev/null and b/svg/testdata/pdf/svg/virtualbox-hdd.pdf differ
diff --git a/svg/testdata/pdf/svg/zoom-in.pdf b/svg/testdata/pdf/svg/zoom-in.pdf
new file mode 100644
index 0000000000..34bbdcfead
Binary files /dev/null and b/svg/testdata/pdf/svg/zoom-in.pdf differ
diff --git a/svg/testdata/png/emoji-bad/emoji_u1f44d.png b/svg/testdata/png/emoji-bad/emoji_u1f44d.png
new file mode 100644
index 0000000000..6f3c9cba3d
Binary files /dev/null and b/svg/testdata/png/emoji-bad/emoji_u1f44d.png differ
diff --git a/svg/testdata/png/emoji-bad/emoji_u1f64c.png b/svg/testdata/png/emoji-bad/emoji_u1f64c.png
new file mode 100644
index 0000000000..a54ad176f4
Binary files /dev/null and b/svg/testdata/png/emoji-bad/emoji_u1f64c.png differ
diff --git a/svg/testdata/png/svg/TestShapes.png b/svg/testdata/png/svg/TestShapes.png
new file mode 100644
index 0000000000..c46263be09
Binary files /dev/null and b/svg/testdata/png/svg/TestShapes.png differ
diff --git a/svg/testdata/png/svg/TestShapes2.png b/svg/testdata/png/svg/TestShapes2.png
new file mode 100644
index 0000000000..ff517c5a3b
Binary files /dev/null and b/svg/testdata/png/svg/TestShapes2.png differ
diff --git a/svg/testdata/png/svg/TestShapes3.png b/svg/testdata/png/svg/TestShapes3.png
new file mode 100644
index 0000000000..7af7953fbe
Binary files /dev/null and b/svg/testdata/png/svg/TestShapes3.png differ
diff --git a/svg/testdata/png/svg/TestShapes4.png b/svg/testdata/png/svg/TestShapes4.png
new file mode 100644
index 0000000000..b979fbf679
Binary files /dev/null and b/svg/testdata/png/svg/TestShapes4.png differ
diff --git a/svg/testdata/png/svg/TestShapes5.png b/svg/testdata/png/svg/TestShapes5.png
new file mode 100644
index 0000000000..d7d2e0d23b
Binary files /dev/null and b/svg/testdata/png/svg/TestShapes5.png differ
diff --git a/svg/testdata/png/svg/TestShapes6.png b/svg/testdata/png/svg/TestShapes6.png
new file mode 100644
index 0000000000..729ad8c33b
Binary files /dev/null and b/svg/testdata/png/svg/TestShapes6.png differ
diff --git a/svg/testdata/png/svg/TestShapes6opacity.png b/svg/testdata/png/svg/TestShapes6opacity.png
new file mode 100644
index 0000000000..608bec2d52
Binary files /dev/null and b/svg/testdata/png/svg/TestShapes6opacity.png differ
diff --git a/svg/testdata/png/svg/accessories-text-editor.png b/svg/testdata/png/svg/accessories-text-editor.png
new file mode 100644
index 0000000000..b55ef5ea76
Binary files /dev/null and b/svg/testdata/png/svg/accessories-text-editor.png differ
diff --git a/svg/testdata/png/svg/acrobat.png b/svg/testdata/png/svg/acrobat.png
new file mode 100644
index 0000000000..0b7c246ec6
Binary files /dev/null and b/svg/testdata/png/svg/acrobat.png differ
diff --git a/svg/testdata/png/svg/adjusthsl.png b/svg/testdata/png/svg/adjusthsl.png
new file mode 100644
index 0000000000..a05123e709
Binary files /dev/null and b/svg/testdata/png/svg/adjusthsl.png differ
diff --git a/svg/testdata/png/svg/application-pdf.png b/svg/testdata/png/svg/application-pdf.png
new file mode 100644
index 0000000000..900b9e3ad3
Binary files /dev/null and b/svg/testdata/png/svg/application-pdf.png differ
diff --git a/svg/testdata/png/svg/application-x-deb.png b/svg/testdata/png/svg/application-x-deb.png
new file mode 100644
index 0000000000..f063bc5e89
Binary files /dev/null and b/svg/testdata/png/svg/application-x-deb.png differ
diff --git a/svg/testdata/png/svg/application-x-jar.png b/svg/testdata/png/svg/application-x-jar.png
new file mode 100644
index 0000000000..f370eb2ac1
Binary files /dev/null and b/svg/testdata/png/svg/application-x-jar.png differ
diff --git a/svg/testdata/png/svg/drink-beer.png b/svg/testdata/png/svg/drink-beer.png
new file mode 100644
index 0000000000..05297a3084
Binary files /dev/null and b/svg/testdata/png/svg/drink-beer.png differ
diff --git a/svg/testdata/png/svg/drink-martini.png b/svg/testdata/png/svg/drink-martini.png
new file mode 100644
index 0000000000..a753f12768
Binary files /dev/null and b/svg/testdata/png/svg/drink-martini.png differ
diff --git a/svg/testdata/png/svg/face-clown.png b/svg/testdata/png/svg/face-clown.png
new file mode 100644
index 0000000000..dfb661a180
Binary files /dev/null and b/svg/testdata/png/svg/face-clown.png differ
diff --git a/svg/testdata/png/svg/face-pirate.png b/svg/testdata/png/svg/face-pirate.png
new file mode 100644
index 0000000000..bea9b89ea9
Binary files /dev/null and b/svg/testdata/png/svg/face-pirate.png differ
diff --git a/svg/testdata/png/svg/face-plain.png b/svg/testdata/png/svg/face-plain.png
new file mode 100644
index 0000000000..e5b6743287
Binary files /dev/null and b/svg/testdata/png/svg/face-plain.png differ
diff --git a/svg/testdata/png/svg/face-yawn.png b/svg/testdata/png/svg/face-yawn.png
new file mode 100644
index 0000000000..06e5bd315d
Binary files /dev/null and b/svg/testdata/png/svg/face-yawn.png differ
diff --git a/svg/testdata/png/svg/fig_bp_compute_delta.png b/svg/testdata/png/svg/fig_bp_compute_delta.png
new file mode 100644
index 0000000000..6abcd5388e
Binary files /dev/null and b/svg/testdata/png/svg/fig_bp_compute_delta.png differ
diff --git a/svg/testdata/png/svg/fig_cortex_lobes.png b/svg/testdata/png/svg/fig_cortex_lobes.png
new file mode 100644
index 0000000000..898c1edf91
Binary files /dev/null and b/svg/testdata/png/svg/fig_cortex_lobes.png differ
diff --git a/svg/testdata/png/svg/fig_cortex_lobes_v2.png b/svg/testdata/png/svg/fig_cortex_lobes_v2.png
new file mode 100644
index 0000000000..90870dd7ac
Binary files /dev/null and b/svg/testdata/png/svg/fig_cortex_lobes_v2.png differ
diff --git a/svg/testdata/png/svg/fig_cortical_layers_in_hid_out.png b/svg/testdata/png/svg/fig_cortical_layers_in_hid_out.png
new file mode 100644
index 0000000000..9686ad29ba
Binary files /dev/null and b/svg/testdata/png/svg/fig_cortical_layers_in_hid_out.png differ
diff --git a/svg/testdata/png/svg/fig_deepleabra_wwi_train_lcurve.png b/svg/testdata/png/svg/fig_deepleabra_wwi_train_lcurve.png
new file mode 100644
index 0000000000..816b55a9b5
Binary files /dev/null and b/svg/testdata/png/svg/fig_deepleabra_wwi_train_lcurve.png differ
diff --git a/svg/testdata/png/svg/fig_mnt2out.png b/svg/testdata/png/svg/fig_mnt2out.png
new file mode 100644
index 0000000000..85d75635d1
Binary files /dev/null and b/svg/testdata/png/svg/fig_mnt2out.png differ
diff --git a/svg/testdata/png/svg/fig_necker_cube.png b/svg/testdata/png/svg/fig_necker_cube.png
new file mode 100644
index 0000000000..3b7f9c27f2
Binary files /dev/null and b/svg/testdata/png/svg/fig_necker_cube.png differ
diff --git a/svg/testdata/png/svg/fig_neuron_as_detect.png b/svg/testdata/png/svg/fig_neuron_as_detect.png
new file mode 100644
index 0000000000..a2218ac372
Binary files /dev/null and b/svg/testdata/png/svg/fig_neuron_as_detect.png differ
diff --git a/svg/testdata/png/svg/fig_post_cortex_srn_phase_dynamics.png b/svg/testdata/png/svg/fig_post_cortex_srn_phase_dynamics.png
new file mode 100644
index 0000000000..b97509c1ce
Binary files /dev/null and b/svg/testdata/png/svg/fig_post_cortex_srn_phase_dynamics.png differ
diff --git a/svg/testdata/png/svg/fig_srn_time_predict.png b/svg/testdata/png/svg/fig_srn_time_predict.png
new file mode 100644
index 0000000000..9082bd551c
Binary files /dev/null and b/svg/testdata/png/svg/fig_srn_time_predict.png differ
diff --git a/svg/testdata/png/svg/fig_synapse.png b/svg/testdata/png/svg/fig_synapse.png
new file mode 100644
index 0000000000..7d5af4d11c
Binary files /dev/null and b/svg/testdata/png/svg/fig_synapse.png differ
diff --git a/svg/testdata/png/svg/fig_vm_as_tug_of_war.png b/svg/testdata/png/svg/fig_vm_as_tug_of_war.png
new file mode 100644
index 0000000000..8ece2d1afd
Binary files /dev/null and b/svg/testdata/png/svg/fig_vm_as_tug_of_war.png differ
diff --git a/svg/testdata/png/svg/gradient_radial.png b/svg/testdata/png/svg/gradient_radial.png
new file mode 100644
index 0000000000..7548ca0dd7
Binary files /dev/null and b/svg/testdata/png/svg/gradient_radial.png differ
diff --git a/svg/testdata/png/svg/graphvis.png b/svg/testdata/png/svg/graphvis.png
new file mode 100644
index 0000000000..5a779cc1bf
Binary files /dev/null and b/svg/testdata/png/svg/graphvis.png differ
diff --git a/svg/testdata/png/svg/image-x-psd.png b/svg/testdata/png/svg/image-x-psd.png
new file mode 100644
index 0000000000..a855316773
Binary files /dev/null and b/svg/testdata/png/svg/image-x-psd.png differ
diff --git a/svg/testdata/png/svg/marker1.png b/svg/testdata/png/svg/marker1.png
new file mode 100644
index 0000000000..89c61cf3b2
Binary files /dev/null and b/svg/testdata/png/svg/marker1.png differ
diff --git a/svg/testdata/png/svg/message-news.png b/svg/testdata/png/svg/message-news.png
new file mode 100644
index 0000000000..8fccc70940
Binary files /dev/null and b/svg/testdata/png/svg/message-news.png differ
diff --git a/svg/testdata/png/svg/rect.png b/svg/testdata/png/svg/rect.png
new file mode 100644
index 0000000000..1bd6590b93
Binary files /dev/null and b/svg/testdata/png/svg/rect.png differ
diff --git a/svg/testdata/png/svg/rect_trans.png b/svg/testdata/png/svg/rect_trans.png
new file mode 100644
index 0000000000..f424848263
Binary files /dev/null and b/svg/testdata/png/svg/rect_trans.png differ
diff --git a/svg/testdata/png/svg/test.png b/svg/testdata/png/svg/test.png
new file mode 100644
index 0000000000..c9dce7911a
Binary files /dev/null and b/svg/testdata/png/svg/test.png differ
diff --git a/svg/testdata/png/svg/test2.png b/svg/testdata/png/svg/test2.png
new file mode 100644
index 0000000000..ec44115f59
Binary files /dev/null and b/svg/testdata/png/svg/test2.png differ
diff --git a/svg/testdata/png/svg/text-test.png b/svg/testdata/png/svg/text-test.png
new file mode 100644
index 0000000000..89c4a73a2e
Binary files /dev/null and b/svg/testdata/png/svg/text-test.png differ
diff --git a/svg/testdata/png/svg/text-x-java.png b/svg/testdata/png/svg/text-x-java.png
new file mode 100644
index 0000000000..2ddfdf2633
Binary files /dev/null and b/svg/testdata/png/svg/text-x-java.png differ
diff --git a/svg/testdata/png/svg/text-x-rpm-spec.png b/svg/testdata/png/svg/text-x-rpm-spec.png
new file mode 100644
index 0000000000..a1703615e5
Binary files /dev/null and b/svg/testdata/png/svg/text-x-rpm-spec.png differ
diff --git a/svg/testdata/png/svg/unit-line-widths.png b/svg/testdata/png/svg/unit-line-widths.png
new file mode 100644
index 0000000000..a76a0ba494
Binary files /dev/null and b/svg/testdata/png/svg/unit-line-widths.png differ
diff --git a/svg/testdata/png/svg/virtualbox-hdd.png b/svg/testdata/png/svg/virtualbox-hdd.png
new file mode 100644
index 0000000000..68d4e326d4
Binary files /dev/null and b/svg/testdata/png/svg/virtualbox-hdd.png differ
diff --git a/svg/testdata/png/svg/zoom-in.png b/svg/testdata/png/svg/zoom-in.png
new file mode 100644
index 0000000000..76ff994426
Binary files /dev/null and b/svg/testdata/png/svg/zoom-in.png differ
diff --git a/svg/testdata/png/viewbox/fig_necker_cube_none.png b/svg/testdata/png/viewbox/fig_necker_cube_none.png
new file mode 100644
index 0000000000..ea6235b2e9
Binary files /dev/null and b/svg/testdata/png/viewbox/fig_necker_cube_none.png differ
diff --git a/svg/testdata/png/viewbox/fig_necker_cube_xMaxYMax slice.png b/svg/testdata/png/viewbox/fig_necker_cube_xMaxYMax slice.png
new file mode 100644
index 0000000000..de00b40b36
Binary files /dev/null and b/svg/testdata/png/viewbox/fig_necker_cube_xMaxYMax slice.png differ
diff --git a/svg/testdata/png/viewbox/fig_necker_cube_xMaxYMax.png b/svg/testdata/png/viewbox/fig_necker_cube_xMaxYMax.png
new file mode 100644
index 0000000000..78ed9c1f57
Binary files /dev/null and b/svg/testdata/png/viewbox/fig_necker_cube_xMaxYMax.png differ
diff --git a/svg/testdata/png/viewbox/fig_necker_cube_xMidYMid.png b/svg/testdata/png/viewbox/fig_necker_cube_xMidYMid.png
new file mode 100644
index 0000000000..26efa354e1
Binary files /dev/null and b/svg/testdata/png/viewbox/fig_necker_cube_xMidYMid.png differ
diff --git a/svg/testdata/png/viewbox/fig_necker_cube_xMinYMin.png b/svg/testdata/png/viewbox/fig_necker_cube_xMinYMin.png
new file mode 100644
index 0000000000..a90ce7d088
Binary files /dev/null and b/svg/testdata/png/viewbox/fig_necker_cube_xMinYMin.png differ
diff --git a/text/csl/testdata/save.json b/text/csl/testdata/save.json
new file mode 100644
index 0000000000..db4abacd93
--- /dev/null
+++ b/text/csl/testdata/save.json
@@ -0,0 +1 @@
+[{"type":"webpage","id":"23","citation-key":"23","language":"en","accessed":{"date-parts":[["2023",12,18]]},"available-date":{},"event-date":{},"issued":{"date-parts":[["2023",5,8]]},"original-date":{},"submitted":{},"container-title":"MacPaw","title":"AirDrop is not working on your Mac? Here are 12 fixes","title-short":"AirDrop is not working on your Mac?","URL":"https://macpaw.com/how-to/airdrop-not-working-mac"},{"type":"report","id":"AakerlundHemmingsen95","citation-key":"AakerlundHemmingsen95","author":[{"family":"Aakerlund","given":"L. P."},{"family":"Hemmingsen","given":"R. P."}],"accessed":{},"available-date":{},"event-date":{},"issued":{"literal":"6/29/95 1995"},"original-date":{},"submitted":{},"genre":"Discription of the Project","publisher":"Bispebjerg Hosp., Dept. of Psychiatry","title":"Neural network models and schizophrenia"},{"type":"article-journal","id":"AaltoBruckLaineEtAl05","citation-key":"AaltoBruckLaineEtAl05","author":[{"family":"Aalto","given":"Sargo"},{"family":"Brück","given":"Anna"},{"family":"Laine","given":"Matti"},{"family":"Någren","given":"Kjell"},{"family":"Rinne","given":"Juha O."}],"accessed":{},"available-date":{},"event-date":{},"issued":{"date-parts":[["2005",3]]},"original-date":{},"submitted":{},"container-title":"The Journal of neuroscience : the official journal of the Society for Neuroscience","issue":"10","page":"2471–2477","title":"Frontal and temporal dopamine release during working memory and attention tasks in healthy humans: a positron emission tomography study using the high-affinity dopamine D2 receptor ligand [11C]FLB 457.","URL":"http://www.ncbi.nlm.nih.gov/pubmed/15758155","volume":"25"},{"type":"post-weblog","id":"Aaronson14","citation-key":"Aaronson14","language":"en-US","author":[{"family":"Aaronson","given":"Scott"}],"accessed":{"date-parts":[["2021",9,16]]},"available-date":{},"event-date":{},"issued":{"date-parts":[["2014"]]},"original-date":{},"submitted":{},"title":"Shtetl-Optimized » Blog Archive » Giulio Tononi and Me: A Phi-nal Exchange","title-short":"Shtetl-Optimized » Blog Archive » Giulio Tononi and Me","URL":"https://www.scottaaronson.com/blog/?p=1823"},{"type":"chapter","id":"Abbott92","citation-key":"Abbott92","author":[{"family":"Abbott","given":"L. F."}],"editor":[{"family":"Benhar","given":"O."},{"family":"Bosio","given":"C."}],"accessed":{},"available-date":{},"event-date":{},"issued":{"date-parts":[["1992",12]]},"original-date":{},"submitted":{},"container-title":"Neural Networks: From biology to high-energy physics","event-place":"Pisa.","publisher":"ETS, Editrice","publisher-place":"Pisa.","title":"Firing rate models for neural populations"},{"type":"paper-conference","id":"AbbottGriffiths11","citation-key":"AbbottGriffiths11","author":[{"family":"Abbott","given":"Joshua T."},{"family":"Griffiths","given":"Thomas L."}],"accessed":{},"available-date":{},"event-date":{},"issued":{"date-parts":[["2011"]]},"original-date":{},"submitted":{},"container-title":"CogSci 2011 Proceedings","title":"Exploring the influence of particle filter parameters on order effects in causal learning"},{"type":"book","id":"AbbottSejnowski99","citation-key":"AbbottSejnowski99","editor":[{"family":"Abbott","given":"L."},{"family":"Sejnowski","given":"T. J."}],"accessed":{},"available-date":{},"event-date":{},"issued":{"date-parts":[["1999",1]]},"original-date":{},"submitted":{},"event-place":"Cambridge, MA","publisher":"MIT Press","publisher-place":"Cambridge, MA","title":"Neural Codes and Distributed Representations."},{"type":"article","id":"AbramsonKrausWhiteEtAl22","citation-key":"AbramsonKrausWhiteEtAl22","language":"en","author":[{"family":"Abramson","given":"Shai"},{"family":"Kraus","given":"Benjamin J."},{"family":"White","given":"John A."},{"family":"Hasselmo","given":"Michael E."},{"family":"Morris","given":"Genela"},{"family":"Derdikman","given":"Dori"}],"accessed":{"date-parts":[["2022",10,25]]},"available-date":{},"event-date":{},"issued":{"date-parts":[["2022",10,24]]},"original-date":{},"submitted":{},"DOI":"10.1101/2022.10.23.513401","page":"2022.10.23.513401","publisher":"bioRxiv","section":"New Results","source":"bioRxiv","title":"Time or distance: predictive coding of Hippocampal cells","title-short":"Time or distance","URL":"https://www.biorxiv.org/content/10.1101/2022.10.23.513401v1"},{"type":"document","id":"Alexandre15","citation-key":"Alexandre15","language":"en","author":[{"family":"Alexandre","given":"Frédéric"}],"accessed":{"date-parts":[["2020",8,31]]},"available-date":{},"event-date":{},"issued":{"date-parts":[["2015",12,18]]},"original-date":{},"submitted":{},"source":"hal.inria.fr","title":"A behavioral framework for a systemic view of brain modeling","URL":"https://hal.inria.fr/hal-01246653"},{"type":"thesis","id":"Anderson86","citation-key":"Anderson86","author":[{"family":"Anderson","given":"C. W."}],"accessed":{},"available-date":{},"event-date":{},"issued":{"date-parts":[["1986",12]]},"original-date":{},"submitted":{},"genre":"dissertation","publisher":"U. of Massachusetts","title":"Learning and problem solving with multilayer connectionist systems"},{"type":"software","id":"ChampelyEkstromDalgaardEtAl20","citation-key":"ChampelyEkstromDalgaardEtAl20","author":[{"family":"Champely","given":"Stephane"},{"family":"Ekstrom","given":"Claus"},{"family":"Dalgaard","given":"Peter"},{"family":"Gill","given":"Jeffrey"},{"family":"Weibelzahl","given":"Stephan"},{"family":"Anandkumar","given":"Aditya"},{"family":"Ford","given":"Clay"},{"family":"Volcic","given":"Robert"},{"family":"Rosario","given":"Helios De"}],"accessed":{"date-parts":[["2020",10,13]]},"available-date":{},"event-date":{},"issued":{"date-parts":[["2020",3,17]]},"original-date":{},"submitted":{},"source":"R-Packages","title":"pwr: Basic Functions for Power Analysis","title-short":"pwr","URL":"https://CRAN.R-project.org/package=pwr","version":"1.3-0"},{"type":"speech","id":"FosterHosangadiBowman23","citation-key":"FosterHosangadiBowman23","author":[{"family":"Foster","given":"Rachel"},{"family":"Hosangadi","given":"Aditi"},{"family":"Bowman","given":"Lindsay C."},{"family":"Chevalier","given":"Nicolas"},{"family":"Munakata","given":"Yuko"}],"accessed":{},"available-date":{},"event-date":{},"issued":{"date-parts":[["2023",9]]},"original-date":{},"submitted":{},"event-title":"Flux International Congress on Integrative Developmental Cognitive Neuroscience","title":"Coordination of proactive and reactive control processes across development"},{"type":"manuscript","id":"FosterSweeneyKimEtAl22","citation-key":"FosterSweeneyKimEtAl22","author":[{"family":"Foster","given":"Rachel"},{"family":"Sweeney","given":"Lucia"},{"family":"Kim","given":"Ji-Soo"},{"family":"Gomez","given":"Rebecca"},{"family":"Munakata","given":"Yuko"}],"accessed":{},"available-date":{},"event-date":{},"issued":{"date-parts":[["2022"]]},"original-date":{},"submitted":{},"title":"Proactive control is inversely related to statistical learning in childhood"},{"type":"dataset","id":"GrahamNosekHaidtEtAl11","citation-key":"GrahamNosekHaidtEtAl11","language":"en","author":[{"family":"Graham","given":"Jesse"},{"family":"Nosek","given":"Brian A."},{"family":"Haidt","given":"Jonathan"},{"family":"Iyer","given":"Ravi"},{"family":"Spassena","given":"Koleva"},{"family":"Ditto","given":"Peter H."}],"accessed":{"date-parts":[["2022",8,27]]},"available-date":{},"event-date":{},"issued":{"date-parts":[["2011",10,10]]},"original-date":{},"submitted":{},"DOI":"10.1037/t05651-000","publisher":"American Psychological Association","source":"DOI.org (Crossref)","title":"Moral Foundations Questionnaire","URL":"http://doi.apa.org/getdoi.cfm?doi=10.1037/t05651-000"},{"type":"entry-encyclopedia","id":"GuyerHorstmann21","citation-key":"GuyerHorstmann21","author":[{"family":"Guyer","given":"Paul"},{"family":"Horstmann","given":"Rolf-Peter"}],"editor":[{"family":"Zalta","given":"Edward N."}],"accessed":{},"available-date":{},"event-date":{},"issued":{"date-parts":[["2021"]]},"original-date":{},"submitted":{},"container-title":"The Stanford Encyclopedia of Philosophy","edition":"Spring 2021 Edition","title":"Idealism","URL":"https://plato.stanford.edu/archives/spr2021/entries/idealism/"},{"type":"article-newspaper","id":"Krugman20","citation-key":"Krugman20","author":[{"family":"Krugman","given":"Paul"}],"accessed":{},"available-date":{},"event-date":{},"issued":{"date-parts":[["2020",6]]},"original-date":{},"submitted":{},"container-title":"The New York Times","title":"America Fails the Marshmallow Test","URL":"https://www.nytimes.com/2020/06/09/opinion/coronavirus-reopening-marshmallow-test.html"},{"type":"article-magazine","id":"Smolin19","citation-key":"Smolin19","language":"English","author":[{"family":"Smolin","given":"Lee"}],"accessed":{"date-parts":[["2021",5,17]]},"available-date":{},"event-date":{},"issued":{"date-parts":[["2019",8,24],["2019",8,30]]},"original-date":{},"submitted":{},"container-title":"New Scientist","event-place":"London, United Kingdom","ISSN":"02624079","issue":"3244","number-of-pages":"35","page":"35","publisher":"New Scientist","publisher-place":"London, United Kingdom","section":"Features Cover story","source":"ProQuest","title":"Beyond weird","URL":"http://www.proquest.com/docview/2285076316/E8F90EF6800B4CF1PQ/1","volume":"243"}]
diff --git a/text/paginate/testdata/text-only.pdf b/text/paginate/testdata/text-only.pdf
new file mode 100644
index 0000000000..14f2e6fe8f
Binary files /dev/null and b/text/paginate/testdata/text-only.pdf differ
diff --git a/text/shaped/testdata/basic.png b/text/shaped/testdata/basic.png
new file mode 100644
index 0000000000..45b869aa01
Binary files /dev/null and b/text/shaped/testdata/basic.png differ
diff --git a/text/shaped/testdata/colors.png b/text/shaped/testdata/colors.png
new file mode 100644
index 0000000000..6adb2462ed
Binary files /dev/null and b/text/shaped/testdata/colors.png differ
diff --git a/text/shaped/testdata/emoji.png b/text/shaped/testdata/emoji.png
new file mode 100644
index 0000000000..7f118bb516
Binary files /dev/null and b/text/shaped/testdata/emoji.png differ
diff --git a/text/shaped/testdata/fontmapper.png b/text/shaped/testdata/fontmapper.png
new file mode 100644
index 0000000000..d7f5228d37
Binary files /dev/null and b/text/shaped/testdata/fontmapper.png differ
diff --git a/text/shaped/testdata/hebrew.png b/text/shaped/testdata/hebrew.png
new file mode 100644
index 0000000000..4f53e34855
Binary files /dev/null and b/text/shaped/testdata/hebrew.png differ
diff --git a/text/shaped/testdata/linecentering.png b/text/shaped/testdata/linecentering.png
new file mode 100644
index 0000000000..70cd57d558
Binary files /dev/null and b/text/shaped/testdata/linecentering.png differ
diff --git a/text/shaped/testdata/linefeed.png b/text/shaped/testdata/linefeed.png
new file mode 100644
index 0000000000..07b6ca5640
Binary files /dev/null and b/text/shaped/testdata/linefeed.png differ
diff --git a/text/shaped/testdata/link.png b/text/shaped/testdata/link.png
new file mode 100644
index 0000000000..28b4cb8116
Binary files /dev/null and b/text/shaped/testdata/link.png differ
diff --git a/text/shaped/testdata/math-display-frac.png b/text/shaped/testdata/math-display-frac.png
new file mode 100644
index 0000000000..8e09af0e1f
Binary files /dev/null and b/text/shaped/testdata/math-display-frac.png differ
diff --git a/text/shaped/testdata/math-display-simple.png b/text/shaped/testdata/math-display-simple.png
new file mode 100644
index 0000000000..7b4da409b6
Binary files /dev/null and b/text/shaped/testdata/math-display-simple.png differ
diff --git a/text/shaped/testdata/math-inline-frac.png b/text/shaped/testdata/math-inline-frac.png
new file mode 100644
index 0000000000..9eae5d17fa
Binary files /dev/null and b/text/shaped/testdata/math-inline-frac.png differ
diff --git a/text/shaped/testdata/math-inline-simple.png b/text/shaped/testdata/math-inline-simple.png
new file mode 100644
index 0000000000..3ae4c0b873
Binary files /dev/null and b/text/shaped/testdata/math-inline-simple.png differ
diff --git a/text/shaped/testdata/nihongo_ltr.png b/text/shaped/testdata/nihongo_ltr.png
new file mode 100644
index 0000000000..d7ce7ff09d
Binary files /dev/null and b/text/shaped/testdata/nihongo_ltr.png differ
diff --git a/text/shaped/testdata/nihongo_ttb.png b/text/shaped/testdata/nihongo_ttb.png
new file mode 100644
index 0000000000..3d4298d293
Binary files /dev/null and b/text/shaped/testdata/nihongo_ttb.png differ
diff --git a/text/shaped/testdata/space-pos.png b/text/shaped/testdata/space-pos.png
new file mode 100644
index 0000000000..112dfd93e4
Binary files /dev/null and b/text/shaped/testdata/space-pos.png differ
diff --git a/text/shaped/testdata/whitespacepre.png b/text/shaped/testdata/whitespacepre.png
new file mode 100644
index 0000000000..92c411b840
Binary files /dev/null and b/text/shaped/testdata/whitespacepre.png differ
diff --git a/text/tex/testdata/braces-all.png b/text/tex/testdata/braces-all.png
new file mode 100644
index 0000000000..d801c29b33
Binary files /dev/null and b/text/tex/testdata/braces-all.png differ
diff --git a/text/tex/testdata/brackets-all.png b/text/tex/testdata/brackets-all.png
new file mode 100644
index 0000000000..f24b207499
Binary files /dev/null and b/text/tex/testdata/brackets-all.png differ
diff --git a/text/tex/testdata/frac-disp.png b/text/tex/testdata/frac-disp.png
new file mode 100644
index 0000000000..02f71711a6
Binary files /dev/null and b/text/tex/testdata/frac-disp.png differ
diff --git a/text/tex/testdata/frac-text.png b/text/tex/testdata/frac-text.png
new file mode 100644
index 0000000000..29a0e44631
Binary files /dev/null and b/text/tex/testdata/frac-text.png differ
diff --git a/text/tex/testdata/int-disp.png b/text/tex/testdata/int-disp.png
new file mode 100644
index 0000000000..f3c908a8e4
Binary files /dev/null and b/text/tex/testdata/int-disp.png differ
diff --git a/text/tex/testdata/int-text.png b/text/tex/testdata/int-text.png
new file mode 100644
index 0000000000..32ae96cde3
Binary files /dev/null and b/text/tex/testdata/int-text.png differ
diff --git a/text/tex/testdata/lb-sum-disp.png b/text/tex/testdata/lb-sum-disp.png
new file mode 100644
index 0000000000..4da86d8def
Binary files /dev/null and b/text/tex/testdata/lb-sum-disp.png differ
diff --git a/text/tex/testdata/lb-sum-text.png b/text/tex/testdata/lb-sum-text.png
new file mode 100644
index 0000000000..1d90d4e9f5
Binary files /dev/null and b/text/tex/testdata/lb-sum-text.png differ
diff --git a/text/tex/testdata/ops-disp.png b/text/tex/testdata/ops-disp.png
new file mode 100644
index 0000000000..b096ffc96c
Binary files /dev/null and b/text/tex/testdata/ops-disp.png differ
diff --git a/text/tex/testdata/ops-text.png b/text/tex/testdata/ops-text.png
new file mode 100644
index 0000000000..0e9a435c47
Binary files /dev/null and b/text/tex/testdata/ops-text.png differ
diff --git a/text/tex/testdata/ops2-disp.png b/text/tex/testdata/ops2-disp.png
new file mode 100644
index 0000000000..0f92ad4222
Binary files /dev/null and b/text/tex/testdata/ops2-disp.png differ
diff --git a/text/tex/testdata/ops2-text.png b/text/tex/testdata/ops2-text.png
new file mode 100644
index 0000000000..a5c0523ed4
Binary files /dev/null and b/text/tex/testdata/ops2-text.png differ
diff --git a/text/tex/testdata/parens-all.png b/text/tex/testdata/parens-all.png
new file mode 100644
index 0000000000..0f99657ea7
Binary files /dev/null and b/text/tex/testdata/parens-all.png differ
diff --git a/text/tex/testdata/partial-text.png b/text/tex/testdata/partial-text.png
new file mode 100644
index 0000000000..32d837a499
Binary files /dev/null and b/text/tex/testdata/partial-text.png differ
diff --git a/text/tex/testdata/sqrt-all.png b/text/tex/testdata/sqrt-all.png
new file mode 100644
index 0000000000..4350be12c1
Binary files /dev/null and b/text/tex/testdata/sqrt-all.png differ
diff --git a/text/tex/testdata/sum-disp.png b/text/tex/testdata/sum-disp.png
new file mode 100644
index 0000000000..c511bf4abd
Binary files /dev/null and b/text/tex/testdata/sum-disp.png differ
diff --git a/text/tex/testdata/sum-text.png b/text/tex/testdata/sum-text.png
new file mode 100644
index 0000000000..2718aeb1a1
Binary files /dev/null and b/text/tex/testdata/sum-text.png differ
diff --git a/text/textcore/testdata/basic.png b/text/textcore/testdata/basic.png
new file mode 100644
index 0000000000..276b280fa4
Binary files /dev/null and b/text/textcore/testdata/basic.png differ
diff --git a/text/textcore/testdata/layout.png b/text/textcore/testdata/layout.png
new file mode 100644
index 0000000000..197141927c
Binary files /dev/null and b/text/textcore/testdata/layout.png differ
diff --git a/text/textcore/testdata/multi.png b/text/textcore/testdata/multi.png
new file mode 100644
index 0000000000..c8d947201a
Binary files /dev/null and b/text/textcore/testdata/multi.png differ
diff --git a/text/textcore/testdata/open-fs.png b/text/textcore/testdata/open-fs.png
new file mode 100644
index 0000000000..3015a928a5
Binary files /dev/null and b/text/textcore/testdata/open-fs.png differ
diff --git a/text/textcore/testdata/open.png b/text/textcore/testdata/open.png
new file mode 100644
index 0000000000..5f4ae44578
Binary files /dev/null and b/text/textcore/testdata/open.png differ
diff --git a/text/textcore/testdata/set-lang.png b/text/textcore/testdata/set-lang.png
new file mode 100644
index 0000000000..d47435bd55
Binary files /dev/null and b/text/textcore/testdata/set-lang.png differ
diff --git a/text/textcore/testdata/set-text.png b/text/textcore/testdata/set-text.png
new file mode 100644
index 0000000000..88c42b068b
Binary files /dev/null and b/text/textcore/testdata/set-text.png differ
diff --git a/text/textcore/testdata/tabs1.png b/text/textcore/testdata/tabs1.png
new file mode 100644
index 0000000000..dc444d11c8
Binary files /dev/null and b/text/textcore/testdata/tabs1.png differ
diff --git a/types/typegen/testdata/typegen.go b/types/typegen/testdata/typegen.go
index d3ad41e6a4..ca31677af1 100644
--- a/types/typegen/testdata/typegen.go
+++ b/types/typegen/testdata/typegen.go
@@ -1,4 +1,4 @@
-// Code generated by "typegen.test -test.testlogfile=/var/folders/x1/r8shprmj7j71zbw3qvgl9dqc0000gq/T/go-build3512055401/b1004/testlog.txt -test.paniconexit0 -test.timeout=10m0s -test.v=true"; DO NOT EDIT.
+// Code generated by "typegen.test -test.testlogfile=/var/folders/cs/tykpmkdn3p3_v0zymybv38w80000gn/T/go-build593652124/b959/testlog.txt -test.paniconexit0 -test.timeout=10m0s"; DO NOT EDIT.
package testdata
diff --git a/xyz/testdata/scene.png b/xyz/testdata/scene.png
new file mode 100644
index 0000000000..8a367f492f
Binary files /dev/null and b/xyz/testdata/scene.png differ